diff --git a/webapp/src/components/viewHeader/viewHeaderActionsMenu.tsx b/webapp/src/components/viewHeader/viewHeaderActionsMenu.tsx index 242dfa3dc..742dc691c 100644 --- a/webapp/src/components/viewHeader/viewHeaderActionsMenu.tsx +++ b/webapp/src/components/viewHeader/viewHeaderActionsMenu.tsx @@ -12,6 +12,7 @@ import IconButton from '../../widgets/buttons/iconButton' import OptionsIcon from '../../widgets/icons/options' import Menu from '../../widgets/menu' import MenuWrapper from '../../widgets/menuWrapper' +import {Utils} from '../../utils' import ModalWrapper from '../modalWrapper' import {sendFlashMessage} from '../flashMessages' @@ -84,6 +85,7 @@ function onExportCsvTrigger(board: Board, activeView: BoardView, cards: Card[], }) sendFlashMessage({content: exportCompleteMessage, severity: 'normal'}) } catch (e) { + Utils.logError(`ExportCSV ERROR: ${e}`) const exportFailedMessage = intl.formatMessage({ id: 'ViewHeader.export-failed', defaultMessage: 'Export failed!', diff --git a/webapp/src/properties/types.tsx b/webapp/src/properties/types.tsx index 79885d784..d3f1e3fb5 100644 --- a/webapp/src/properties/types.tsx +++ b/webapp/src/properties/types.tsx @@ -58,7 +58,12 @@ export abstract class PropertyType { exportValue = (value: string | string[] | undefined, card: Card, template: IPropertyTemplate, intl: IntlShape): string => { const displayValue = this.displayValue(value, card, template, intl) - return `"${encodeText(displayValue as string)}"` + if (typeof displayValue === 'string') { + return `"${encodeText(displayValue)}"` + } else if (Array.isArray(displayValue)) { + return `"${encodeText((displayValue as string[]).join('|'))}"` + } + return '' } valueClassName = (readonly: boolean): string => {