@reltio/remotes 1.4.1469 → 1.4.1471
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/3947.js +1 -1
- package/3947.js.map +1 -1
- package/5709.js +1 -1
- package/5709.js.map +1 -1
- package/6057.js +1 -1
- package/6057.js.map +1 -1
- package/package.json +1 -1
package/5709.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"5709.js","mappings":"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","sources":["webpack://@reltio/remotes/../components/src/components/BasicTableView/BasicTable/BasicTable.js","webpack://@reltio/remotes/../components/src/components/BasicTableView/BasicTable/HOCs/withFilterAtBottom.js","webpack://@reltio/remotes/../components/src/components/BasicTableView/BasicTable/cell-value-renderers/styles.js","webpack://@reltio/remotes/../components/src/components/BasicTableView/BasicTable/cell-value-renderers/BlobRenderer.js","webpack://@reltio/remotes/../components/src/components/BasicTableView/BasicTable/cell-value-renderers/DefaultCellValueRenderer.js","webpack://@reltio/remotes/../components/src/components/BasicTableView/BasicTable/contexts/RowCollapseContext.js","webpack://@reltio/remotes/../components/src/components/BasicTableView/BasicTable/contexts/TableContext.js","webpack://@reltio/remotes/../components/src/components/BasicTableView/ColumnFilter/FilterChip/styles.js","webpack://@reltio/remotes/../components/src/components/BasicTableView/ColumnFilter/FilterChip/FilterChip.js","webpack://@reltio/remotes/../components/src/components/editors/FilterEditor/FilterEditor.js","webpack://@reltio/remotes/../components/src/components/BasicTableView/ColumnFilter/ColumnFilter.js","webpack://@reltio/remotes/../components/src/components/BasicTableView/BasicTable/HOCs/withFilter.js","webpack://@reltio/remotes/../components/src/components/BasicTableView/BasicTable/helpers/nestedHelpers.js","webpack://@reltio/remotes/../components/src/components/BasicTableView/BasicTable/helpers/dataHelpers.js","webpack://@reltio/remotes/../components/src/components/BasicTableView/BasicTable/helpers/defaultGetRowCellHeight.js","webpack://@reltio/remotes/../components/src/components/BasicTableView/BasicTable/helpers/defaultRenderRowCell.js","webpack://@reltio/remotes/../components/src/components/BasicTableView/BasicTable/hooks/useCollapsibleTableRows.js","webpack://@reltio/remotes/../components/src/components/BasicTableView/ColumnFilter/helpers.js","webpack://@reltio/remotes/../components/src/components/BasicTableView/ColumnFilter/styles.js","webpack://@reltio/remotes/../components/src/components/DateRangePicker/styles.ts","webpack://@reltio/remotes/../components/src/components/DateRangePicker/DateRangePicker.tsx","webpack://@reltio/remotes/../components/src/components/commonReactSelectComponents/DropdownIndicatorWithIconButton.js","webpack://@reltio/remotes/../components/src/components/editors/DateRangeEditor/helpers.ts","webpack://@reltio/remotes/../components/src/components/editors/DateRangeEditor/styles.js","webpack://@reltio/remotes/../components/src/components/editors/DateRangeEditor/DateRangeEditor.tsx","webpack://@reltio/remotes/../components/src/components/editors/RangeDataTypeValueEditor/styles.js","webpack://@reltio/remotes/../components/src/components/editors/RangeDataTypeValueEditor/RangeDataTypeValueEditor.js","webpack://@reltio/remotes/../components/src/components/editors/FilterEditor/FilterValueEditor.js"],"sourcesContent":["import React, {useMemo, forwardRef} from 'react';\nimport PropTypes from 'prop-types';\n\nimport Table from 'react-components/dist/Table/Table';\nimport defaultGetRowCellHeight from './helpers/defaultGetRowCellHeight';\nimport defaultRenderRowCell from './helpers/defaultRenderRowCell';\nimport {COLUMN_FILTER_HEIGHT} from '../ColumnFilter/styles';\nimport {ColumnDataType, ColumnFilterType, SortingType} from '../../../constants/prop-types';\nimport {getTableHeadData} from './helpers/dataHelpers';\nimport {TableContext} from './contexts/TableContext';\nimport {RowCollapseContext} from './contexts/RowCollapseContext';\nimport {prop} from 'ramda';\nimport useCollapsibleTableRows from './hooks/useCollapsibleTableRows';\n\nconst BasicTable = forwardRef(\n (\n {\n columnsData,\n rowsData,\n context,\n sorting,\n onSort,\n renderRowCell = defaultRenderRowCell,\n getRowCellHeight = defaultGetRowCellHeight,\n filters,\n onFilter,\n headRowHeight,\n maxRowValuesCount = Infinity,\n autosizing,\n maxHeight,\n ...otherProps\n },\n ref\n ) => {\n const tableHeadData = useMemo(() => getTableHeadData(columnsData, filters, onFilter), [\n columnsData,\n filters,\n onFilter\n ]);\n const {tableRowsData, collapseContextValue} = useCollapsibleTableRows({\n rowsData,\n columnsData,\n renderRowCell,\n getRowCellHeight,\n maxRowValuesCount\n });\n\n return (\n <RowCollapseContext.Provider value={collapseContextValue}>\n <TableContext.Provider value={context}>\n <Table\n autosizing={autosizing}\n maxHeight={maxHeight}\n defaultRowHeight={48}\n {...otherProps}\n fixHead={tableRowsData.length > 0}\n headData={tableHeadData}\n rowsData={tableRowsData}\n sortField={prop('field', sorting)}\n sortOrder={prop('order', sorting)}\n onSort={onSort}\n headRowHeight={filters ? headRowHeight + COLUMN_FILTER_HEIGHT : headRowHeight}\n ref={ref}\n />\n </TableContext.Provider>\n </RowCollapseContext.Provider>\n );\n }\n);\n\nexport const BasicTableType = {\n columnsData: PropTypes.arrayOf(ColumnDataType).isRequired,\n rowsData: PropTypes.arrayOf(PropTypes.object).isRequired,\n context: PropTypes.object,\n sorting: SortingType,\n onSort: PropTypes.func,\n filters: PropTypes.objectOf(ColumnFilterType),\n onFilter: PropTypes.func,\n renderRowCell: PropTypes.func,\n getRowCellHeight: PropTypes.func,\n headRowHeight: PropTypes.number,\n maxRowValuesCount: PropTypes.number,\n defaultColumnWidth: PropTypes.number,\n defaultColumnMinWidth: PropTypes.number,\n classes: PropTypes.shape({\n highlightRow: PropTypes.string,\n cellBorder: PropTypes.string,\n dragColumnBody: PropTypes.string,\n dragColumnHead: PropTypes.string,\n draggableHeadCell: PropTypes.string,\n cellWrapper: PropTypes.string,\n cellContentWrapper: PropTypes.string,\n hoveredRowRightContentContainer: PropTypes.string,\n hoveredRowRightContentWrapper: PropTypes.string\n })\n};\n\nBasicTable.propTypes = BasicTableType;\n\nBasicTable.displayName = 'BasicTable';\n\nexport default BasicTable;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nconst withFilterAtBottom = (HeadCellRenderer) => {\n const HeadCellRendererWithFilterAtBottom = ({columnFilter, ...otherProps}) => {\n return (\n <div style={{display: 'flex', flexDirection: 'column', height: '100%'}}>\n <div style={{display: 'flex', flex: 1}}>\n <HeadCellRenderer {...otherProps} />\n </div>\n {columnFilter}\n </div>\n );\n };\n HeadCellRendererWithFilterAtBottom.propTypes = {\n columnFilter: PropTypes.node\n };\n\n return HeadCellRendererWithFilterAtBottom;\n};\n\nexport default withFilterAtBottom;\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const BLOB_HEIGHT = 100;\n\nexport const useStyles = makeStyles({\n defaultWrapper: {\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n padding: '15px 25px 0 25px'\n },\n blobWrapper: {\n position: 'relative',\n overflowY: 'auto',\n overflowX: 'hidden',\n whiteSpace: 'pre',\n maxHeight: `${BLOB_HEIGHT}px`,\n boxSizing: 'border-box',\n padding: '15px 25px 0 25px'\n }\n});\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport {useStyles} from './styles';\n\nconst stopPropagation = (event) => {\n event.stopPropagation();\n};\n\nconst BlobRenderer = ({value}) => {\n const styles = useStyles();\n return (\n <div className={styles.blobWrapper} onScroll={stopPropagation}>\n {value}\n </div>\n );\n};\n\nBlobRenderer.propTypes = {\n value: PropTypes.node\n};\n\nexport default BlobRenderer;\n","import BlobRenderer from './BlobRenderer';\nimport DataTypeValue from '../../../DataTypeValue/DataTypeValue';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport {DataTypes} from '@reltio/mdm-sdk';\nimport {useStyles} from './styles';\nimport ExpandedValueTooltip from '../../../ExpandedValueTooltip/ExpandedValueTooltip';\n\nconst DefaultCellValueRenderer = (props) => {\n const styles = useStyles();\n const {\n value,\n columnData: {dataTypeDefinition}\n } = props;\n switch (dataTypeDefinition.type) {\n case DataTypes.TYPE_BLOB:\n return <BlobRenderer {...props} />;\n default: {\n const dataTypeValue = <DataTypeValue value={value} dataTypeDefinition={dataTypeDefinition} />;\n return (\n <ExpandedValueTooltip value={dataTypeValue}>\n <div className={styles.defaultWrapper}>{dataTypeValue}</div>\n </ExpandedValueTooltip>\n );\n }\n }\n};\n\nDefaultCellValueRenderer.propTypes = {\n value: PropTypes.any,\n columnData: PropTypes.shape({\n dataTypeDefinition: PropTypes.object\n })\n};\n\nexport default DefaultCellValueRenderer;\n","import React from 'react';\n\nexport const RowCollapseContext = React.createContext(null);\n\nRowCollapseContext.displayName = 'RowCollapseContext';\n","import React from 'react';\n\nexport const TableContext = React.createContext(null);\n\nTableContext.displayName = 'TableContext';\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const COLUMN_FILTER_HEIGHT = 40;\n\nexport const useStyles = makeStyles({\n 'filter-chip': {\n flex: 1,\n maxWidth: '100%',\n overflow: 'hidden',\n justifyContent: 'flex-start',\n marginRight: '-8px',\n '&, &:focus': {\n backgroundColor: 'rgba(0,0,0,0)'\n }\n },\n 'filter-chip__label': {\n color: 'rgba(0,0,0,0.87)',\n flex: 1,\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis'\n },\n 'filter-chip__option-label': {\n color: 'rgba(0,0,0,0.54)'\n }\n});\n","import {Chip as Chip} from '@material-ui/core';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport mdm from '@reltio/mdm-module';\nimport {\n checkIfOptionHasValues,\n FilterValueType,\n formatDataTypeValue,\n getFilterValueLabel,\n mapFilterValue\n} from '@reltio/mdm-sdk';\nimport {useSelector} from 'react-redux';\nimport {useStyles} from './styles';\nimport ExpandedValueTooltip from '../../../ExpandedValueTooltip/ExpandedValueTooltip';\n\nconst FilterChip = ({filterOption, filterValue, onDelete, dataTypeDefinition}) => {\n const canFilterAcceptValues = checkIfOptionHasValues(filterOption.value);\n const optionLabel = filterOption.label + (canFilterAcceptValues ? ': ' : '');\n const styles = useStyles();\n const attributePresentations = useSelector(mdm.selectors.getAttributePresentations);\n const dateMask = useSelector(mdm.selectors.getDateMask);\n const dateTimeMask = useSelector(mdm.selectors.getDateTimeMask);\n const formatValue = formatDataTypeValue({attributePresentations, dataTypeDefinition, dateMask, dateTimeMask});\n const convertedValue = mapFilterValue(formatValue, filterValue);\n const filterLabel = canFilterAcceptValues ? getFilterValueLabel(filterOption.value, convertedValue) : '';\n return (\n <Chip\n label={\n <ExpandedValueTooltip value={optionLabel + filterLabel}>\n <div className={styles['filter-chip__label']}>\n <span className={styles['filter-chip__option-label']}>{optionLabel}</span>\n {filterLabel}\n </div>\n </ExpandedValueTooltip>\n }\n classes={{\n root: styles['filter-chip'],\n label: styles['filter-chip__label']\n }}\n onDelete={onDelete}\n />\n );\n};\n\nFilterChip.propTypes = {\n filterValue: FilterValueType,\n filterOption: PropTypes.shape({\n value: PropTypes.string,\n label: PropTypes.string\n }),\n onDelete: PropTypes.func,\n dataTypeDefinition: PropTypes.object\n};\n\nexport default FilterChip;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport {__, assoc, pipe} from 'ramda';\nimport {checkIfOptionHasValues, FilterType} from '@reltio/mdm-sdk';\nimport DropDownEditor from '../DropDownEditor/DropDownEditor';\nimport FilterValueEditor from './FilterValueEditor';\nimport {commonTextFieldProps, useSelectStyles} from '../constants';\n\nconst FilterEditor = ({value, onChange, filterOptions, dataTypeDefinition, classes, valueEditorProps}) => {\n const styles = useSelectStyles();\n const [firstOption] = filterOptions;\n const filterOption = value.filter || firstOption.value;\n const filter = {...value, filter: filterOption};\n const canFilterAcceptValues = checkIfOptionHasValues(filterOption);\n return (\n <>\n <DropDownEditor\n TextFieldProps={commonTextFieldProps}\n className={classes.option}\n value={filterOption}\n entries={filterOptions}\n onChange={pipe(assoc('filter', __, filter), assoc('values', []), onChange)}\n classes={{root: styles.root, icon: styles.icon}}\n />\n {canFilterAcceptValues && (\n <FilterValueEditor\n filter={filter}\n onChange={pipe(assoc('values', __, filter), onChange)}\n dataTypeDefinition={dataTypeDefinition}\n {...valueEditorProps}\n />\n )}\n </>\n );\n};\n\nFilterEditor.propTypes = {\n value: FilterType,\n onChange: PropTypes.func,\n filterOptions: PropTypes.arrayOf(\n PropTypes.shape({\n value: PropTypes.string,\n label: PropTypes.string\n })\n ),\n dataTypeDefinition: PropTypes.object,\n classes: PropTypes.object,\n valueEditorProps: PropTypes.object\n};\n\nexport default FilterEditor;\n","import ArrowDropDownIcon from '@material-ui/icons/ArrowDropDown';\nimport FilterChip from './FilterChip/FilterChip';\nimport FilterEditor from '../../editors/FilterEditor/FilterEditor';\nimport {IconButton as IconButton} from '@material-ui/core';\nimport {Popover as Popover} from '@material-ui/core';\nimport PropTypes from 'prop-types';\nimport React, {useRef, useState} from 'react';\nimport {ColumnFilterType} from '../../../constants';\nimport {defaultTo, pipe, pluck, prop, propEq} from 'ramda';\nimport {useStyles} from './styles';\nimport {\n getDataTypeDefinitionForFilterValue,\n getFilterOptionLabel,\n getFilterOptionsForDataTypeDefinition,\n Maybe,\n validateFilter\n} from '@reltio/mdm-sdk';\nimport {columnFilterToMdmFilter, mdmFilterToColumnFilter} from './helpers';\n\nconst ColumnFilter = ({columnId, dataTypeDefinition, filter, filterOptionsData, onFilter}) => {\n const styles = useStyles();\n\n const [anchorEl, setAnchorEl] = useState(null);\n const openFilterPopup = (event) => setAnchorEl(event.currentTarget);\n const closeFilterPopup = () => setAnchorEl(null);\n\n const [columnFilter, setColumnFilter] = useState(filter);\n const initColumnFilter = () => setColumnFilter(filter);\n\n const containerRef = useRef(null);\n const mdmFilter = columnFilterToMdmFilter({id: columnId, dataTypeDefinition}, columnFilter);\n const applyFilterChange = (newFilter) => {\n if (newFilter !== filter) {\n onFilter({columnId, filter: newFilter});\n }\n };\n const clearFilter = () => applyFilterChange();\n const applyChangesAndClose = () => {\n const isValidFilter = validateFilter(mdmFilter);\n isValidFilter ? applyFilterChange(columnFilter) : clearFilter();\n closeFilterPopup();\n };\n\n const handleValueEditorKeyPress = (event) => {\n if (event.key !== 'Enter') return;\n\n event.stopPropagation();\n event.preventDefault();\n applyChangesAndClose();\n };\n\n const getFilterOptionData = (filterOption) =>\n filterOptionsData && filterOptionsData.find(propEq('value', filterOption));\n\n const getFilterLabel = (filterOption) =>\n pipe(getFilterOptionData, prop('label'), defaultTo(getFilterOptionLabel(filterOption)))(filterOption);\n\n const getFilterDataTypeDefinition = (filterOption) =>\n pipe(\n getFilterOptionData,\n prop('dataTypeDefinition'),\n defaultTo(getDataTypeDefinitionForFilterValue(dataTypeDefinition, filterOption))\n )(filterOption);\n\n const filterOptions = Maybe.fromNull(filterOptionsData)\n .map(pluck('value'))\n .orSome(getFilterOptionsForDataTypeDefinition(dataTypeDefinition))\n .map((value) => ({\n value,\n label: getFilterLabel(value)\n }));\n\n return (\n <div ref={containerRef} className={styles.columnFilter}>\n {filter && (\n <FilterChip\n filterValue={filter.value}\n filterOption={filterOptions.find(propEq('value', filter.filter))}\n onDelete={clearFilter}\n dataTypeDefinition={getFilterDataTypeDefinition(filter.filter)}\n />\n )}\n <IconButton className={styles.dropDownButton} onClick={openFilterPopup} disableFocusRipple>\n <ArrowDropDownIcon />\n </IconButton>\n <Popover\n PaperProps={{\n style: {\n width: `${containerRef.current ? containerRef.current.getBoundingClientRect().width : 0}px`\n }\n }}\n open={!!anchorEl}\n anchorEl={anchorEl}\n anchorOrigin={{\n vertical: 'bottom',\n horizontal: 'right'\n }}\n transformOrigin={{\n vertical: 'top',\n horizontal: 'right'\n }}\n classes={{paper: styles.filterMenu}}\n onEnter={initColumnFilter}\n onClose={applyChangesAndClose}\n >\n <FilterEditor\n classes={{option: styles['filter-editor__option']}}\n value={mdmFilter}\n onChange={pipe(mdmFilterToColumnFilter, setColumnFilter)}\n filterOptions={filterOptions}\n dataTypeDefinition={getFilterDataTypeDefinition(mdmFilter.filter)}\n valueEditorProps={{\n TextFieldProps: {\n onKeyPress: handleValueEditorKeyPress\n },\n fullWidth: true\n }}\n />\n </Popover>\n </div>\n );\n};\n\nColumnFilter.propTypes = {\n columnId: PropTypes.string,\n dataTypeDefinition: PropTypes.object,\n filter: ColumnFilterType,\n onFilter: PropTypes.func,\n filterOptionsData: PropTypes.arrayOf(\n PropTypes.shape({\n value: PropTypes.string,\n label: PropTypes.string,\n dataTypeDefinition: PropTypes.object\n })\n )\n};\n\nexport default ColumnFilter;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport ColumnFilter from '../../ColumnFilter/ColumnFilter';\nimport {useStyles as useColumnFilterStyles} from '../../ColumnFilter/styles';\n\nconst withFilter = ({filter, onFilter, filterable, filterOptions, dataTypeDefinition}) => (HeadCellRenderer) => {\n const HeadCellRendererWithFilter = (props) => {\n const {\n headCellData: {id: columnId}\n } = props;\n const styles = useColumnFilterStyles();\n const columnFilter = filterable ? (\n <ColumnFilter\n columnId={columnId}\n dataTypeDefinition={dataTypeDefinition}\n filter={filter}\n filterOptionsData={filterOptions}\n onFilter={onFilter}\n />\n ) : (\n <div className={styles.columnFilter} />\n );\n return <HeadCellRenderer {...props} columnFilter={columnFilter} />;\n };\n HeadCellRendererWithFilter.propTypes = {\n headCellData: PropTypes.shape({\n id: PropTypes.string\n })\n };\n return HeadCellRendererWithFilter;\n};\n\nexport default withFilter;\n","import {\n __,\n addIndex,\n always,\n assoc,\n chain,\n curry,\n dropLast,\n groupBy,\n join,\n keys,\n length,\n omit,\n pickBy,\n pipe,\n propOr,\n reduce,\n split,\n sortBy,\n identity,\n sum,\n toPairs,\n unless,\n unnest,\n values,\n zip\n} from 'ramda';\n\nconst TOTAL_ROW_SPAN_KEY = 'total';\nconst NESTED_KEY_DELIMITER = '.';\n\nconst getSiblingSubRowsKeyBySubRowKey = pipe(split(NESTED_KEY_DELIMITER), dropLast(1), join(NESTED_KEY_DELIMITER));\n\nconst getParentRowKeyBySiblingsSubRowsKey = pipe(\n split(NESTED_KEY_DELIMITER),\n dropLast(1),\n join(NESTED_KEY_DELIMITER),\n unless(length, always(TOTAL_ROW_SPAN_KEY))\n);\n\nconst getParentRowKeyBySubRowKey = pipe(getSiblingSubRowsKeyBySubRowKey, getParentRowKeyBySiblingsSubRowsKey);\n\nconst countParentSpanByAllSubRows = (rowSpanData, siblingSubRowsKey) =>\n pipe(\n pickBy((_val, key) => getSiblingSubRowsKeyBySubRowKey(key) === siblingSubRowsKey),\n values,\n sum\n )(rowSpanData);\n\nconst calcParentRowSpan = (rowSpanData, subRowKey) => {\n const parentKey = getParentRowKeyBySubRowKey(subRowKey);\n const currentParentSpan = propOr(0, parentKey, rowSpanData);\n const actualParentSpan = countParentSpanByAllSubRows(rowSpanData, getSiblingSubRowsKeyBySubRowKey(subRowKey));\n\n if (actualParentSpan > currentParentSpan) {\n const nextRowSpanData = assoc(parentKey, actualParentSpan, rowSpanData);\n return parentKey === TOTAL_ROW_SPAN_KEY ? nextRowSpanData : calcParentRowSpan(nextRowSpanData, parentKey);\n } else {\n return rowSpanData;\n }\n};\n\nconst addNestedKey = (rowSpanData, nestedKey) => calcParentRowSpan({...rowSpanData, [nestedKey]: 1}, nestedKey);\n\nconst validateParentRowSpan = (rowSpanData, [siblingSubRowsKey, subRowsKeys]) => {\n const parentKey = getParentRowKeyBySiblingsSubRowsKey(siblingSubRowsKey);\n const currentParentSpan = propOr(0, parentKey, rowSpanData);\n const actualParentSpan = countParentSpanByAllSubRows(rowSpanData, siblingSubRowsKey);\n const spanDiff = currentParentSpan - actualParentSpan;\n\n if (spanDiff > 0) {\n const lowestSubRowKey = `${siblingSubRowsKey}${NESTED_KEY_DELIMITER}${subRowsKeys.length - 1}`;\n const lowestSubRowSpan = rowSpanData[lowestSubRowKey];\n return assoc(lowestSubRowKey, lowestSubRowSpan + spanDiff, rowSpanData);\n } else {\n return rowSpanData;\n }\n};\n\nconst validateRowSpanData = (rowSpanData) =>\n pipe(\n omit([TOTAL_ROW_SPAN_KEY]),\n keys,\n sortBy(identity),\n groupBy(getSiblingSubRowsKeyBySubRowKey),\n toPairs,\n reduce(validateParentRowSpan, rowSpanData)\n )(rowSpanData);\n\nconst calcRowSpansForNestedKeys = pipe(reduce(addNestedKey, {}), validateRowSpanData);\n\nconst chainWithIndex = addIndex(chain);\nconst flattenNestedColumnValues = (values, indexPath = []) => {\n const [head] = values;\n return Array.isArray(head)\n ? chainWithIndex((value, index) => flattenNestedColumnValues(value, [...indexPath, index]), values)\n : {indexPath, values};\n};\n\nconst getNestedKeyForNestedColumnCell = curry((columnNestedPath, cell) =>\n pipe(zip(__, cell.indexPath), unnest, join(NESTED_KEY_DELIMITER))(columnNestedPath)\n);\n\nexport {\n calcRowSpansForNestedKeys,\n validateRowSpanData,\n TOTAL_ROW_SPAN_KEY,\n flattenNestedColumnValues,\n getSiblingSubRowsKeyBySubRowKey,\n getParentRowKeyBySiblingsSubRowsKey,\n getNestedKeyForNestedColumnCell\n};\n","import DefaultCellValueRenderer from '../cell-value-renderers/DefaultCellValueRenderer';\nimport withFilter from '../HOCs/withFilter';\nimport {\n calcRowSpansForNestedKeys,\n flattenNestedColumnValues,\n getNestedKeyForNestedColumnCell,\n TOTAL_ROW_SPAN_KEY\n} from './nestedHelpers';\nimport {\n add,\n always,\n assoc,\n chain,\n evolve,\n isEmpty,\n isNil,\n map,\n mapObjIndexed,\n max,\n objOf,\n pipe,\n pluck,\n prop,\n propEq,\n propOr,\n reduce,\n reject,\n slice,\n uniq,\n unless,\n values\n} from 'ramda';\nimport {wrapInArrayIfNeeded} from '@reltio/mdm-sdk';\nimport DefaultHeadCellRenderer from 'react-components/dist/Table/DefaultHeadCellRenderer/DefaultHeadCellRenderer';\nimport withFilterAtBottom from '../HOCs/withFilterAtBottom';\n\nconst applyCellRendererToColumnCells = (columnsData, renderRowCell, rowIndex, rowValue) => (cells, columnId) => {\n const columnIndex = columnsData.findIndex(propEq('id', columnId));\n const columnData = columnsData[columnIndex];\n const {rowCellValueRenderer: CellValueRenderer = DefaultCellValueRenderer} = columnsData[columnIndex];\n return cells.map((cell, cellIndex) => ({\n ...cell,\n values: renderRowCell({\n columnIndex,\n columnData,\n rowIndex,\n rowValue,\n cellIndex,\n cell,\n CellValueRenderer\n })\n }));\n};\n\nconst applyCellRenderer = pipe(applyCellRendererToColumnCells, mapObjIndexed);\n\nconst calcHeightForColumnCells = (columnsData, getRowCellHeight, rowIndex, rowValue) => (cells, columnId) => {\n const columnIndex = columnsData.findIndex(propEq('id', columnId));\n const columnData = columnsData[columnIndex];\n return cells.map((cell, cellIndex) => ({\n ...cell,\n height: getRowCellHeight({columnIndex, columnData, rowIndex, rowValue, cellIndex, cell})\n }));\n};\n\nconst calcHeights = (columnsData, getRowCellHeight, rowIndex, rowValue) => (rowData) =>\n getRowCellHeight\n ? mapObjIndexed(calcHeightForColumnCells(columnsData, getRowCellHeight, rowIndex, rowValue), rowData)\n : rowData;\n\nconst addRowSpansToColumnCells = (rowSpansData) =>\n map((cell) => ({...cell, rowSpan: rowSpansData[cell.nestedKey || TOTAL_ROW_SPAN_KEY]}));\n\nconst getNestedKeysFromRowCells = pipe(chain(pluck('nestedKey')), reject(isNil), uniq);\n\nconst calcRowSpansData = pipe(values, getNestedKeysFromRowCells, calcRowSpansForNestedKeys);\n\nconst calcRowSpans = (rowData) => {\n const rowSpansData = calcRowSpansData(rowData);\n return isEmpty(rowSpansData) ? rowData : map(addRowSpansToColumnCells(rowSpansData), rowData);\n};\n\nconst calcNestedKeys = (columnNestedPath) =>\n map((cell) => ({\n ...cell,\n nestedKey: getNestedKeyForNestedColumnCell(columnNestedPath, cell)\n }));\n\nconst parseNestedColumnValues = (columnNestedPath, nestedValues) =>\n pipe(flattenNestedColumnValues, calcNestedKeys(columnNestedPath))(nestedValues);\n\nconst getCellValues = (columnNestedPath, columnValues) =>\n columnNestedPath && !isEmpty(columnValues)\n ? parseNestedColumnValues(columnNestedPath, columnValues)\n : [{values: wrapInArrayIfNeeded(columnValues)}];\n\nconst buildRowValues = (rowValue) =>\n reduce((acc, {id, nestedPath}) => assoc(id, getCellValues(nestedPath, rowValue[id]), acc), {});\n\nconst applyValuesCountConstraint = (maxValuesCount) =>\n unless(\n () => maxValuesCount === Infinity,\n map(\n pipe(\n reject(({indexPath}) => indexPath && indexPath.some((index) => index > maxValuesCount - 1)),\n map(\n evolve({\n values: slice(0, maxValuesCount)\n })\n )\n )\n )\n );\n\nconst getTableRowsData = (\n rowValues,\n columnsData,\n renderRowCell,\n getRowCellHeight,\n getRowMaxValuesCount = always(Infinity)\n) =>\n rowValues.map(\n pipe(\n (rowValue, rowIndex) =>\n pipe(\n buildRowValues(rowValue),\n applyValuesCountConstraint(getRowMaxValuesCount(rowIndex)),\n calcRowSpans,\n calcHeights(columnsData, getRowCellHeight, rowIndex, rowValue),\n applyCellRenderer(columnsData, renderRowCell, rowIndex, rowValue)\n )(columnsData),\n objOf('data')\n )\n );\n\nconst getTableHeadData = (columnsData, filters, onFilter) =>\n columnsData.map(\n ({\n id,\n label,\n description,\n sortable,\n filterable = true,\n resizable,\n draggable,\n autoResize = true,\n initialWidth,\n minWidth,\n dataTypeDefinition,\n filterOptions,\n headCellRenderer = withFilterAtBottom(DefaultHeadCellRenderer)\n }) => ({\n id,\n label,\n description,\n sortable,\n resizable,\n draggable,\n initialWidth,\n minWidth,\n autoResize,\n renderer: unless(\n () => isNil(filters),\n withFilter({\n dataTypeDefinition,\n filterable,\n filter: prop(id, filters),\n filterOptions,\n onFilter\n })\n )(headCellRenderer)\n })\n );\n\nconst calcMaxValuesCount = reduce((maxCount, cellValues) => {\n const maxSubNestedValuesCount = pipe(chain(propOr([], 'indexPath')), map(add(1)), reduce(max, 0))(cellValues);\n const maxPlainValuesCount = pipe(pluck('values'), pluck('length'), reduce(max, 0))(cellValues);\n return Math.max(maxCount, maxSubNestedValuesCount, maxPlainValuesCount);\n}, 0);\n\nconst getMaxRowValuesCount = (columnsData, rowValue) => {\n return pipe(buildRowValues(rowValue, Infinity), values, calcMaxValuesCount)(columnsData);\n};\n\nexport {getTableRowsData, getTableHeadData, getMaxRowValuesCount};\n","import {DataTypes} from '@reltio/mdm-sdk';\n\nconst BLOB_HEIGHT = 100;\nconst IMAGE_HEIGHT = 64;\nconst PADDING = 15;\n\nconst defaultGetRowCellHeight = ({columnData, cell}) => {\n const valuesCount = cell.values.length;\n switch (columnData?.dataTypeDefinition?.type) {\n case DataTypes.TYPE_BLOB:\n return BLOB_HEIGHT * valuesCount;\n case DataTypes.TYPE_IMAGE:\n return (PADDING + IMAGE_HEIGHT) * valuesCount + PADDING;\n default:\n return 33 * Math.max(valuesCount, 1) + PADDING;\n }\n};\n\nexport default defaultGetRowCellHeight;\n","import React from 'react';\n\nconst defaultRenderRowCell = ({cell, CellValueRenderer, ...otherProps}) =>\n cell.values.map((value, index) => <CellValueRenderer key={index} value={value} {...otherProps} />);\n\nexport default defaultRenderRowCell;\n","import {useCallback, useMemo, useState} from 'react';\n\nimport {equals, filter, remove} from 'ramda';\nimport {getTableRowsData, getMaxRowValuesCount} from '../helpers/dataHelpers';\nimport {useDidUpdateEffect, usePrevious} from '../../../../hooks';\n\nconst useCollapsibleTableRows = ({rowsData, columnsData, renderRowCell, getRowCellHeight, maxRowValuesCount}) => {\n const [expandedIndexes, setExpandedIndexes] = useState([]);\n\n const getRowMaxValuesCount = useCallback(\n (rowIndex) => {\n return expandedIndexes.includes(rowIndex) ? Infinity : maxRowValuesCount;\n },\n [expandedIndexes, maxRowValuesCount]\n );\n\n const tableRowsData = useMemo(\n () => getTableRowsData(rowsData, columnsData, renderRowCell, getRowCellHeight, getRowMaxValuesCount),\n [rowsData, columnsData, renderRowCell, getRowCellHeight, getRowMaxValuesCount]\n );\n\n const toggleRowCollapse = useCallback((rowIndex) => {\n setExpandedIndexes((expandedIndexes) => {\n const index = expandedIndexes.findIndex(equals(rowIndex));\n return index === -1 ? expandedIndexes.concat(rowIndex) : remove(index, 1, expandedIndexes);\n });\n }, []);\n\n const getIsRowCollapsible = useCallback(\n (rowValue) => {\n return getMaxRowValuesCount(columnsData, rowValue) > maxRowValuesCount;\n },\n [maxRowValuesCount, columnsData]\n );\n\n const getIsRowCollapsed = useCallback(\n (rowIndex) => {\n return !expandedIndexes.includes(rowIndex);\n },\n [expandedIndexes]\n );\n\n const collapseContextValue = useMemo(\n () => ({\n toggleRowCollapse,\n getIsRowCollapsible,\n getIsRowCollapsed\n }),\n [toggleRowCollapse, getIsRowCollapsible, getIsRowCollapsed]\n );\n\n const prevRowsData = usePrevious(rowsData);\n useDidUpdateEffect(() => {\n if (expandedIndexes.length > 0) {\n setExpandedIndexes(\n filter((index) => {\n const rowValue = rowsData[index] || {};\n const prevRowValue = prevRowsData[index] || {};\n return rowValue.rawValue === prevRowValue.rawValue && getIsRowCollapsible(rowValue);\n })\n );\n }\n }, [rowsData]);\n\n return {tableRowsData, collapseContextValue};\n};\n\nexport default useCollapsibleTableRows;\n","import {buildFilterQueryString, Maybe} from '@reltio/mdm-sdk';\nimport {propEq} from 'ramda';\n\nconst columnFilterToMdmFilter = (columnData, columnFilter = {}) => ({\n fieldName: columnData.id,\n filter: columnFilter.filter,\n values: [columnFilter.value],\n type: columnData.dataTypeDefinition.type\n});\n\nconst mdmFilterToColumnFilter = ({filter, values}) => ({filter, value: values[0]});\n\nconst buildColumnsFilter = (columnsData, filters) =>\n Maybe.fromNull(filters)\n .map((filters) =>\n Object.entries(filters).map(([columnId, columnFilter]) => {\n const columnData = columnsData.find(propEq('id', columnId));\n return columnFilterToMdmFilter(columnData, columnFilter);\n })\n )\n .map(buildFilterQueryString())\n .orSome('');\n\nexport {buildColumnsFilter, columnFilterToMdmFilter, mdmFilterToColumnFilter};\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const COLUMN_FILTER_HEIGHT = 40;\n\nexport const useStyles = makeStyles({\n columnFilter: {\n backgroundColor: 'rgba(0,0,0,0.03)',\n display: 'flex',\n height: `${COLUMN_FILTER_HEIGHT}px`,\n alignItems: 'center'\n },\n dropDownButton: {\n marginLeft: 'auto',\n padding: '6px'\n },\n filterMenu: {\n marginTop: '3px',\n borderRadius: '2px',\n padding: '15px 20px',\n boxSizing: 'border-box',\n display: 'flex',\n flexDirection: 'column',\n minWidth: '454px'\n },\n 'filter-editor__option': {\n fontSize: '13px',\n color: 'rgba(0,0,0,0.54)'\n }\n});\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles((theme) => ({\n container: {\n display: 'flex',\n flexDirection: 'column',\n minHeight: '182px'\n },\n header: {\n display: 'flex',\n paddingLeft: '10px',\n backgroundColor: '#FFFFFF'\n },\n title: {\n marginLeft: '10px',\n color: theme.palette.text.primary,\n fontSize: '20px',\n fontWeight: 500,\n letterSpacing: '0.25px',\n lineHeight: '24px'\n },\n dateRangeContainer: {\n display: 'flex',\n flexGrow: 1,\n whiteSpace: 'nowrap',\n cursor: 'default',\n paddingTop: '8px'\n },\n dateInput: {\n margin: '0 7px'\n },\n actionButtons: {\n display: 'flex',\n justifyContent: 'flex-end',\n height: '48px',\n margin: '0px 8px'\n },\n button: {\n width: '96px'\n }\n}));\n","import React, {forwardRef, useRef, useState} from 'react';\nimport i18n from 'ui-i18n';\nimport {nanoid} from 'nanoid';\nimport {pathOr} from 'ramda';\nimport ArrowBack from '@material-ui/icons/ArrowBack';\nimport {Button as Button} from '@material-ui/core';\nimport {Toolbar as Toolbar} from '@material-ui/core';\nimport {Typography as Typography} from '@material-ui/core';\nimport SmallIconButton from '../SmallIconButton/SmallIconButton';\nimport {DataTypes} from '@reltio/mdm-sdk';\nimport TimestampEditor from '../editors/TimestampEditor/TimestampEditor';\nimport DateEditor from '../editors/DateEditor/DateEditor';\n\nimport {useStyles} from './styles';\n\nconst START_DATE = 0;\nconst END_DATE = 1;\n\nconst getDate = (values: Values, index: number) => pathOr(null, [index], values);\n\ntype Values = [Date, Date];\ntype Props = {\n onCancel: () => void;\n onApply: ([startDate, endDate]: Values) => void;\n values?: Values;\n type?: string;\n minDate?: Date;\n maxDate?: Date;\n};\n\nconst DateRangePicker = forwardRef<HTMLDivElement, Props>(\n ({onCancel, onApply, values, type, minDate, maxDate}: Props, ref) => {\n const styles = useStyles();\n\n const editorFromId = useRef(nanoid());\n const editorToId = useRef(nanoid());\n\n const [startDate, setStartDate] = useState<Date>(null);\n const [endDate, setEndDate] = useState<Date>(null);\n\n React.useEffect(() => {\n setStartDate(getDate(values, START_DATE));\n setEndDate(getDate(values, END_DATE));\n }, [values]);\n\n const ComponentEditor = type === DataTypes.TYPE_TIMESTAMP ? TimestampEditor : DateEditor;\n\n const headerTitle =\n type === DataTypes.TYPE_TIMESTAMP ? i18n.text('Pick date and time') : i18n.text('Pick date');\n\n const selectStartDateHandler = (value: Date) => {\n setStartDate(value);\n };\n\n const selectEndDateHandler = (value: Date) => {\n setEndDate(value);\n };\n\n const onUpdate = () => {\n if (startDate && endDate && startDate > endDate) {\n onApply([endDate, startDate]);\n } else {\n onApply([startDate, endDate]);\n }\n };\n\n const onTabStopPropagation = (e) => e.key === 'Tab' && e.stopPropagation();\n\n return (\n <div className={styles.container} ref={ref} onKeyDown={onTabStopPropagation}>\n <Toolbar disableGutters={true} classes={{root: styles.header}}>\n <SmallIconButton size=\"L\" icon={ArrowBack} onClick={onCancel} />\n <Typography className={styles.title}>{headerTitle}</Typography>\n </Toolbar>\n <div className={styles.dateRangeContainer}>\n <ComponentEditor\n id={editorFromId.current}\n label={'From'}\n variant=\"filled\"\n value={startDate}\n onChange={selectStartDateHandler}\n className={styles.dateInput}\n margin=\"dense\"\n minDate={minDate}\n maxDate={maxDate}\n />\n <ComponentEditor\n id={editorToId.current}\n label={'To'}\n variant=\"filled\"\n value={endDate}\n onChange={selectEndDateHandler}\n className={styles.dateInput}\n margin=\"dense\"\n minDate={minDate}\n maxDate={maxDate}\n />\n </div>\n <div className={styles.actionButtons}>\n <Button color=\"primary\" onClick={onUpdate} className={styles.button}>\n {i18n.text('Update')}\n </Button>\n </div>\n </div>\n );\n }\n);\n\nDateRangePicker.displayName = 'DateRangePicker';\n\nexport default DateRangePicker;\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport classnames from 'classnames';\nimport {useArrowIndicatorStyles} from './arrowIndicatorStyles';\nimport ArrowDropDownIcon from '@material-ui/icons/ArrowDropDown';\nimport SmallIconButton from '../SmallIconButton/SmallIconButton';\n\nconst DropdownIndicatorWithIconButton = (props) => {\n const {\n selectProps: {classes, menuIsOpen},\n innerProps\n } = props;\n\n const styles = useArrowIndicatorStyles();\n\n return (\n <SmallIconButton\n {...innerProps}\n icon={ArrowDropDownIcon}\n className={classes.dropdownIndicator}\n size=\"L\"\n iconClassName={classnames({[styles.expanded]: menuIsOpen})}\n />\n );\n};\n\nDropdownIndicatorWithIconButton.propTypes = {\n innerProps: PropTypes.object.isRequired,\n selectProps: PropTypes.shape({\n classes: PropTypes.shape({\n dropdownIndicator: PropTypes.string\n }).isRequired,\n menuIsOpen: PropTypes.bool.isRequired\n }).isRequired\n};\n\nexport default DropdownIndicatorWithIconButton;\n","import {always, cond, curry, defaultTo, is, isNil, map, pipe, propEq} from 'ramda';\nimport {DataTypeDefinition, DatePeriod, formatDataTypeValue, getDateRangeByValue, isEmptyValue} from '@reltio/mdm-sdk';\n\nexport type Option = {\n value: string;\n label: string;\n};\n\nexport type Values = DatePeriod | string;\n\nconst formatValue = (value: Date, dataTypeDefinition: DataTypeDefinition, placeholder: string) =>\n isNil(value) ? `${placeholder}` : `${formatDataTypeValue({dataTypeDefinition}, value)}`;\n\nconst getEditorValue = curry(\n (placeholder: string, dataTypeDefinition: DataTypeDefinition, value: Values, options: Option[]) =>\n cond([\n [isEmptyValue, always({value: '', label: ''})],\n [\n is(Array),\n (value) => ({\n value,\n label: value.map((value) => formatValue(value, dataTypeDefinition, placeholder)).join(' \\u2014 ')\n })\n ],\n [is(String), (value) => options.find(propEq('value', value))]\n ])(value)\n);\n\nconst convertValuesToDate = pipe(\n getDateRangeByValue,\n defaultTo([]),\n map((value) => value && new Date(value))\n);\n\nexport {getEditorValue, convertValuesToDate};\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles((theme) => ({\n dropdownIndicator: {\n transition: 'transform .15s ease',\n cursor: 'pointer',\n color: 'rgba(0, 0, 0, 0.54)'\n },\n paper: {\n minWidth: '112px'\n },\n menuItem: {\n minHeight: '32px'\n },\n menuText: {\n color: theme.palette.text.primary,\n fontSize: '13px',\n lineHeight: '15px',\n letterSpacing: 0\n },\n underline: {\n '&:after': {\n transform: 'scaleX(1)'\n }\n },\n inputLabel: {\n color: theme.palette.primary.main\n },\n adornedEnd: {\n paddingRight: 4\n },\n inputRoot: {\n fontSize: '14px',\n letterSpacing: 0,\n lineHeight: '16px'\n }\n}));\n","import React, {useCallback, useMemo, useRef, useState} from 'react';\nimport classnames from 'classnames';\nimport moment from 'moment';\nimport i18n from 'ui-i18n';\nimport {identity, isNil, prop} from 'ramda';\nimport {DataTypes, DataTypeDefinition, AllDateRangeValues, getRangeOptionLabel} from '@reltio/mdm-sdk';\nimport TextField, {TextFieldProps} from '@material-ui/core/TextField';\nimport {MenuItem as MenuItem} from '@material-ui/core';\nimport {Typography as Typography} from '@material-ui/core';\nimport Menu, {MenuProps} from '@material-ui/core/Menu';\n\nimport {getEditorValue, convertValuesToDate, Option, Values} from './helpers';\nimport DropdownIndicatorWithIconButton from '../../commonReactSelectComponents/DropdownIndicatorWithIconButton';\nimport DateRangePicker from '../../DateRangePicker/DateRangePicker';\n\nimport {useStyles} from './styles';\n\nconst localeFormat = moment.localeData().longDateFormat('L');\n\nexport type DateRangeEditorProps = {\n label?: string;\n values?: Values;\n options?: Option[];\n getValuesDateRange?: (value: Values) => [Date, Date];\n onChange?: (value: Values) => void;\n dataTypeDefinition?: DataTypeDefinition;\n MenuProps?: Partial<MenuProps>;\n TextFieldProps?: TextFieldProps;\n DateRangePickerProps?: {\n minDate?: Date;\n maxDate?: Date;\n };\n className?: string;\n classes?: {\n dropdownIndicator?: string;\n root?: string;\n };\n};\n\nconst DateRangeEditor = ({\n label,\n values,\n options,\n getValuesDateRange = convertValuesToDate,\n onChange = identity,\n dataTypeDefinition = {\n type: DataTypes.TYPE_DATE\n },\n DateRangePickerProps,\n TextFieldProps,\n MenuProps,\n ...otherProps\n}: DateRangeEditorProps) => {\n const {classes} = otherProps;\n const placeholder = localeFormat + (dataTypeDefinition.type === DataTypes.TYPE_TIMESTAMP ? ' HH:MM' : '');\n\n const rangeOptions = useMemo(\n () =>\n options ||\n Object.values(AllDateRangeValues).map((option) => ({value: option, label: getRangeOptionLabel(option)})),\n [options]\n );\n\n const inputRef = useRef(null);\n const [open, setOpen] = useState(false);\n const [customValue, setCustomValue] = useState<[Date, Date]>();\n const styles = useStyles();\n\n const onItemClick = (value) => {\n if (value === AllDateRangeValues.PICK_DATE) {\n setCustomValue(value);\n } else {\n setOpen(false);\n setCustomValue(null);\n onChange(value);\n }\n };\n\n const handleToggle = useCallback(() => setOpen((open) => !open), []);\n\n const onCancel = () => {\n setCustomValue(null);\n setOpen(false);\n };\n\n return (\n <>\n <TextField\n {...TextFieldProps}\n {...otherProps}\n label={label}\n value={\n TextFieldProps?.value ||\n getEditorValue(placeholder, dataTypeDefinition, customValue || values, rangeOptions)?.label\n }\n onClick={handleToggle}\n variant=\"filled\"\n margin=\"dense\"\n ref={inputRef}\n InputProps={{\n endAdornment: (\n <DropdownIndicatorWithIconButton\n selectProps={{\n classes: {\n dropdownIndicator: classnames(styles.dropdownIndicator, classes?.dropdownIndicator)\n },\n menuIsOpen: open\n }}\n innerProps={{}}\n />\n ),\n classes: {\n root: styles.inputRoot,\n underline: classnames({[styles.underline]: open}),\n adornedEnd: styles.adornedEnd\n },\n disableUnderline: isNil(values),\n readOnly: true,\n ...TextFieldProps?.InputProps\n }}\n InputLabelProps={{\n classes: {\n root: open ? styles.inputLabel : undefined\n },\n shrink: !isNil(label)\n }}\n placeholder={i18n.text(`${placeholder} \\u2014 ${placeholder}`)}\n />\n <Menu\n variant=\"menu\"\n open={open}\n autoFocus={false}\n classes={{paper: styles.paper}}\n anchorEl={inputRef.current}\n onClose={onCancel}\n anchorOrigin={{\n vertical: 'bottom',\n horizontal: 'left'\n }}\n transformOrigin={{\n vertical: 'top',\n horizontal: 'left'\n }}\n elevation={2}\n getContentAnchorEl={null}\n MenuListProps={{\n autoFocusItem: open,\n style: {\n width: customValue ? '100%' : prop('clientWidth', inputRef.current)\n }\n }}\n {...MenuProps}\n >\n {customValue ? (\n <DateRangePicker\n values={getValuesDateRange(values)}\n onCancel={onCancel}\n onApply={onItemClick}\n type={dataTypeDefinition.type}\n {...DateRangePickerProps}\n />\n ) : (\n rangeOptions.map((option) => (\n <MenuItem\n key={option.value}\n value={option.value}\n onClick={() => onItemClick(option.value)}\n className={styles.menuItem}\n >\n <Typography classes={{root: styles.menuText}}>{option.label}</Typography>\n </MenuItem>\n ))\n )}\n </Menu>\n </>\n );\n};\n\nexport default DateRangeEditor;\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles({\n 'range-editor': {\n width: '100%'\n },\n 'range-editor__control': {\n marginTop: '10px',\n paddingTop: '15px',\n '& > label + *': {\n marginTop: 0\n }\n },\n 'range-inline-editor': {\n display: 'flex',\n alignItems: 'center',\n flexGrow: 1\n },\n 'range-editor__dash': {\n padding: '0 5px'\n }\n});\n","import React, {useRef} from 'react';\nimport PropTypes from 'prop-types';\nimport {nanoid} from 'nanoid';\nimport {FormControl as FormControl} from '@material-ui/core';\nimport {InputLabel as InputLabel} from '@material-ui/core';\nimport DataTypeValueEditor from '../DataTypeValueEditor/DataTypeValueEditor';\nimport {__, pipe, update} from 'ramda';\nimport {useStyles} from './styles';\nimport i18n from 'ui-i18n';\n\nconst RangeDataTypeValueEditor = ({value = new Array(2), onChange, orientation = 'vertical', ...otherProps}) => {\n const styles = useStyles();\n const rangeEditorFromId = useRef(nanoid());\n const rangeEditorToId = useRef(nanoid());\n\n const fromEditor = (\n <DataTypeValueEditor\n id={rangeEditorFromId.current}\n value={value[0]}\n onChange={pipe(update(0, __, value), onChange)}\n {...otherProps}\n />\n );\n\n const toEditor = (\n <DataTypeValueEditor\n id={rangeEditorToId.current}\n value={value[1]}\n onChange={pipe(update(1, __, value), onChange)}\n {...otherProps}\n />\n );\n\n if (orientation === 'horizontal') {\n return (\n <div className={styles['range-inline-editor']}>\n {fromEditor}\n <div className={styles['range-editor__dash']}>{'—'}</div>\n {toEditor}\n </div>\n );\n } else {\n return (\n <div className={styles['range-editor']}>\n <FormControl fullWidth={true} className={styles['range-editor__control']}>\n <InputLabel htmlFor={rangeEditorFromId.current} shrink={true}>\n {i18n.text('From')}\n </InputLabel>\n {fromEditor}\n </FormControl>\n <FormControl fullWidth={true} className={styles['range-editor__control']}>\n <InputLabel htmlFor={rangeEditorToId.current} shrink={true}>\n {i18n.text('To')}\n </InputLabel>\n {toEditor}\n </FormControl>\n </div>\n );\n }\n};\n\nRangeDataTypeValueEditor.propTypes = {\n value: PropTypes.arrayOf(PropTypes.any),\n onChange: PropTypes.func,\n fieldName: PropTypes.string,\n orientation: PropTypes.oneOf(['horizontal', 'vertical']),\n dataTypeDefinition: PropTypes.object,\n classes: PropTypes.object\n};\n\nexport default RangeDataTypeValueEditor;\n","import DataTypeValueEditor from '../DataTypeValueEditor/DataTypeValueEditor';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport i18n from 'ui-i18n';\nimport {\n DataTypes,\n FilterType,\n isDateRangeFilterOption,\n isDateRangeValue,\n isMultiValueOption,\n isRangeFilterOption,\n mapFilterValue,\n wrapInArray\n} from '@reltio/mdm-sdk';\nimport {pipe} from 'ramda';\nimport RangeDataTypeValueEditor from '../RangeDataTypeValueEditor/RangeDataTypeValueEditor';\nimport DateRangeEditor from '../DateRangeEditor/DateRangeEditor';\nimport {utils} from '@reltio/mdm-sdk';\n\nconst toEditorValue = (dataType) => (value) => {\n switch (dataType) {\n case DataTypes.TYPE_DATE:\n return isDateRangeValue(value) ? value : utils.dates.toLocalDate(value);\n case DataTypes.TYPE_LOCAL_DATE:\n case DataTypes.TYPE_TIMESTAMP:\n case DataTypes.TYPE_ACTIVENESS_DATE:\n return isDateRangeValue(value) ? value : new Date(value);\n default:\n return value;\n }\n};\n\nconst fromEditorValue = (dataType) => (value) => {\n switch (dataType) {\n case DataTypes.TYPE_DATE:\n return isDateRangeValue(value) ? value : Date.UTC(value.getFullYear(), value.getMonth(), value.getDate());\n case DataTypes.TYPE_LOCAL_DATE:\n case DataTypes.TYPE_ACTIVENESS_DATE:\n case DataTypes.TYPE_TIMESTAMP:\n return isDateRangeValue(value) ? value : value.valueOf();\n default:\n return value;\n }\n};\n\nconst FilterValueEditor = ({\n filter: {values = [], fieldName, filter},\n onChange,\n dataTypeDefinition,\n orientation,\n TextFieldProps,\n ...otherProps\n}) => {\n const {type: dataType} = dataTypeDefinition;\n\n const value = mapFilterValue(toEditorValue(dataType))(values[0]);\n const handleChange = pipe(mapFilterValue(fromEditorValue(dataType)), wrapInArray, onChange);\n\n if (isDateRangeFilterOption(filter)) {\n return (\n <DateRangeEditor\n {...otherProps}\n values={value}\n onChange={handleChange}\n dataTypeDefinition={dataTypeDefinition}\n label={i18n.text('Date Range')}\n />\n );\n } else if (isRangeFilterOption(filter)) {\n return (\n <RangeDataTypeValueEditor\n {...otherProps}\n value={value}\n onChange={handleChange}\n fieldName={fieldName}\n dataTypeDefinition={dataTypeDefinition}\n orientation={orientation}\n TextFieldProps={TextFieldProps}\n />\n );\n } else {\n const multipleProp = isMultiValueOption(filter) ? {multiple: true} : {};\n return (\n <DataTypeValueEditor\n {...otherProps}\n {...multipleProp}\n fieldName={fieldName}\n value={value}\n onChange={handleChange}\n dataTypeDefinition={dataTypeDefinition}\n TextFieldProps={TextFieldProps}\n />\n );\n }\n};\n\nFilterValueEditor.propTypes = {\n filter: FilterType,\n orientation: PropTypes.oneOf(['horizontal', 'vertical']),\n onChange: PropTypes.func,\n dataTypeDefinition: PropTypes.object,\n classes: PropTypes.object,\n TextFieldProps: PropTypes.object\n};\n\nexport default FilterValueEditor;\n"],"names":["BasicTable","forwardRef","ref","columnsData","rowsData","context","sorting","onSort","renderRowCell","defaultRenderRowCell","getRowCellHeight","defaultGetRowCellHeight","filters","onFilter","headRowHeight","maxRowValuesCount","Infinity","autosizing","maxHeight","otherProps","tableHeadData","useMemo","getTableHeadData","tableRowsData","collapseContextValue","useCollapsibleTableRows","value","defaultRowHeight","fixHead","length","headData","sortField","prop","sortOrder","COLUMN_FILTER_HEIGHT","BasicTableType","PropTypes","ColumnDataType","isRequired","SortingType","ColumnFilterType","defaultColumnWidth","defaultColumnMinWidth","classes","highlightRow","cellBorder","dragColumnBody","dragColumnHead","draggableHeadCell","cellWrapper","cellContentWrapper","hoveredRowRightContentContainer","hoveredRowRightContentWrapper","propTypes","displayName","HeadCellRenderer","HeadCellRendererWithFilterAtBottom","columnFilter","style","display","flexDirection","height","flex","useStyles","makeStyles","defaultWrapper","whiteSpace","overflow","textOverflow","padding","blobWrapper","position","overflowY","overflowX","boxSizing","stopPropagation","event","BlobRenderer","styles","className","onScroll","DefaultCellValueRenderer","props","columnData","dataTypeDefinition","type","DataTypes","dataTypeValue","DataTypeValue","ExpandedValueTooltip","RowCollapseContext","React","TableContext","maxWidth","justifyContent","marginRight","backgroundColor","color","FilterChip","filterOption","filterValue","onDelete","canFilterAcceptValues","checkIfOptionHasValues","optionLabel","label","attributePresentations","useSelector","mdm","dateMask","dateTimeMask","formatValue","formatDataTypeValue","convertedValue","mapFilterValue","filterLabel","getFilterValueLabel","Chip","root","FilterValueType","FilterEditor","onChange","filterOptions","valueEditorProps","useSelectStyles","firstOption","filter","DropDownEditor","TextFieldProps","commonTextFieldProps","option","entries","pipe","assoc","__","icon","FilterValueEditor","FilterType","ColumnFilter","columnId","filterOptionsData","anchorEl","setAnchorEl","useState","setColumnFilter","containerRef","useRef","mdmFilter","columnFilterToMdmFilter","id","applyFilterChange","newFilter","clearFilter","applyChangesAndClose","validateFilter","getFilterOptionData","find","propEq","getFilterDataTypeDefinition","defaultTo","getDataTypeDefinitionForFilterValue","Maybe","map","pluck","orSome","getFilterOptionsForDataTypeDefinition","getFilterOptionLabel","IconButton","dropDownButton","onClick","currentTarget","disableFocusRipple","ArrowDropDown","Popover","PaperProps","width","current","getBoundingClientRect","open","anchorOrigin","vertical","horizontal","transformOrigin","paper","filterMenu","onEnter","onClose","mdmFilterToColumnFilter","onKeyPress","key","preventDefault","fullWidth","filterable","HeadCellRendererWithFilter","headCellData","useColumnFilterStyles","TOTAL_ROW_SPAN_KEY","NESTED_KEY_DELIMITER","getSiblingSubRowsKeyBySubRowKey","split","dropLast","join","getParentRowKeyBySiblingsSubRowsKey","unless","always","getParentRowKeyBySubRowKey","countParentSpanByAllSubRows","rowSpanData","siblingSubRowsKey","pickBy","_val","values","sum","calcParentRowSpan","subRowKey","parentKey","currentParentSpan","propOr","actualParentSpan","nextRowSpanData","validateParentRowSpan","subRowsKeys","spanDiff","lowestSubRowKey","lowestSubRowSpan","calcRowSpansForNestedKeys","reduce","nestedKey","omit","keys","sortBy","identity","groupBy","toPairs","chainWithIndex","addIndex","chain","flattenNestedColumnValues","indexPath","head","Array","isArray","index","getNestedKeyForNestedColumnCell","curry","columnNestedPath","cell","zip","unnest","applyCellRenderer","rowIndex","rowValue","cells","columnIndex","findIndex","rowCellValueRenderer","CellValueRenderer","cellIndex","mapObjIndexed","calcHeights","rowData","calcHeightForColumnCells","getNestedKeysFromRowCells","reject","isNil","uniq","calcRowSpansData","calcRowSpans","rowSpansData","isEmpty","rowSpan","addRowSpansToColumnCells","buildRowValues","acc","nestedPath","columnValues","nestedValues","calcNestedKeys","parseNestedColumnValues","wrapInArrayIfNeeded","applyValuesCountConstraint","maxValuesCount","some","evolve","slice","getTableRowsData","rowValues","getRowMaxValuesCount","objOf","description","sortable","resizable","draggable","autoResize","initialWidth","minWidth","headCellRenderer","withFilterAtBottom","DefaultHeadCellRenderer","renderer","withFilter","calcMaxValuesCount","maxCount","cellValues","maxSubNestedValuesCount","add","max","maxPlainValuesCount","Math","getMaxRowValuesCount","valuesCount","expandedIndexes","setExpandedIndexes","useCallback","includes","toggleRowCollapse","equals","concat","remove","getIsRowCollapsible","getIsRowCollapsed","prevRowsData","usePrevious","useDidUpdateEffect","prevRowValue","rawValue","fieldName","buildColumnsFilter","Object","buildFilterQueryString","alignItems","marginLeft","marginTop","borderRadius","fontSize","theme","container","minHeight","header","paddingLeft","title","palette","text","primary","fontWeight","letterSpacing","lineHeight","dateRangeContainer","flexGrow","cursor","paddingTop","dateInput","margin","actionButtons","button","getDate","pathOr","DateRangePicker","onCancel","onApply","minDate","maxDate","editorFromId","nanoid","editorToId","startDate","setStartDate","endDate","setEndDate","ComponentEditor","TimestampEditor","DateEditor","headerTitle","i18n","onKeyDown","e","Toolbar","disableGutters","SmallIconButton","size","ArrowBack","Typography","variant","Button","DropdownIndicatorWithIconButton","selectProps","menuIsOpen","innerProps","useArrowIndicatorStyles","ArrowDropDownIcon","dropdownIndicator","iconClassName","classnames","expanded","getEditorValue","placeholder","options","cond","isEmptyValue","is","String","convertValuesToDate","getDateRangeByValue","Date","transition","menuItem","menuText","underline","transform","inputLabel","main","adornedEnd","paddingRight","inputRoot","localeFormat","moment","longDateFormat","getValuesDateRange","DateRangePickerProps","MenuProps","rangeOptions","AllDateRangeValues","getRangeOptionLabel","inputRef","setOpen","customValue","setCustomValue","onItemClick","handleToggle","TextField","InputProps","endAdornment","disableUnderline","readOnly","InputLabelProps","undefined","shrink","Menu","autoFocus","elevation","getContentAnchorEl","MenuListProps","autoFocusItem","MenuItem","RangeDataTypeValueEditor","orientation","rangeEditorFromId","rangeEditorToId","fromEditor","DataTypeValueEditor","update","toEditor","FormControl","InputLabel","htmlFor","dataType","isDateRangeValue","utils","toEditorValue","handleChange","UTC","getFullYear","getMonth","valueOf","fromEditorValue","wrapInArray","isDateRangeFilterOption","DateRangeEditor","isRangeFilterOption","multipleProp","isMultiValueOption","multiple"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"5709.js","mappings":"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","sources":["webpack://@reltio/remotes/../components/src/components/BasicTableView/BasicTable/BasicTable.js","webpack://@reltio/remotes/../components/src/components/BasicTableView/BasicTable/HOCs/withFilterAtBottom.js","webpack://@reltio/remotes/../components/src/components/BasicTableView/BasicTable/cell-value-renderers/styles.js","webpack://@reltio/remotes/../components/src/components/BasicTableView/BasicTable/cell-value-renderers/BlobRenderer.js","webpack://@reltio/remotes/../components/src/components/BasicTableView/BasicTable/cell-value-renderers/DefaultCellValueRenderer.js","webpack://@reltio/remotes/../components/src/components/BasicTableView/BasicTable/contexts/RowCollapseContext.js","webpack://@reltio/remotes/../components/src/components/BasicTableView/BasicTable/contexts/TableContext.js","webpack://@reltio/remotes/../components/src/components/BasicTableView/ColumnFilter/FilterChip/styles.js","webpack://@reltio/remotes/../components/src/components/BasicTableView/ColumnFilter/FilterChip/FilterChip.js","webpack://@reltio/remotes/../components/src/components/editors/FilterEditor/FilterEditor.js","webpack://@reltio/remotes/../components/src/components/BasicTableView/ColumnFilter/ColumnFilter.js","webpack://@reltio/remotes/../components/src/components/BasicTableView/BasicTable/HOCs/withFilter.js","webpack://@reltio/remotes/../components/src/components/BasicTableView/BasicTable/helpers/nestedHelpers.js","webpack://@reltio/remotes/../components/src/components/BasicTableView/BasicTable/helpers/dataHelpers.js","webpack://@reltio/remotes/../components/src/components/BasicTableView/BasicTable/helpers/defaultGetRowCellHeight.js","webpack://@reltio/remotes/../components/src/components/BasicTableView/BasicTable/helpers/defaultRenderRowCell.js","webpack://@reltio/remotes/../components/src/components/BasicTableView/BasicTable/hooks/useCollapsibleTableRows.js","webpack://@reltio/remotes/../components/src/components/BasicTableView/ColumnFilter/helpers.js","webpack://@reltio/remotes/../components/src/components/BasicTableView/ColumnFilter/styles.js","webpack://@reltio/remotes/../components/src/components/DateRangePicker/styles.ts","webpack://@reltio/remotes/../components/src/components/DateRangePicker/DateRangePicker.tsx","webpack://@reltio/remotes/../components/src/components/commonReactSelectComponents/DropdownIndicatorWithIconButton.js","webpack://@reltio/remotes/../components/src/components/editors/DateRangeEditor/helpers.ts","webpack://@reltio/remotes/../components/src/components/editors/DateRangeEditor/styles.js","webpack://@reltio/remotes/../components/src/components/editors/DateRangeEditor/DateRangeEditor.tsx","webpack://@reltio/remotes/../components/src/components/editors/RangeDataTypeValueEditor/styles.js","webpack://@reltio/remotes/../components/src/components/editors/RangeDataTypeValueEditor/RangeDataTypeValueEditor.js","webpack://@reltio/remotes/../components/src/components/editors/FilterEditor/FilterValueEditor.js"],"sourcesContent":["import React, {useMemo, forwardRef} from 'react';\nimport PropTypes from 'prop-types';\n\nimport Table from 'react-components/dist/Table/Table';\nimport defaultGetRowCellHeight from './helpers/defaultGetRowCellHeight';\nimport defaultRenderRowCell from './helpers/defaultRenderRowCell';\nimport {COLUMN_FILTER_HEIGHT} from '../ColumnFilter/styles';\nimport {ColumnDataType, ColumnFilterType, SortingType} from '../../../constants/prop-types';\nimport {getTableHeadData} from './helpers/dataHelpers';\nimport {TableContext} from './contexts/TableContext';\nimport {RowCollapseContext} from './contexts/RowCollapseContext';\nimport {prop} from 'ramda';\nimport useCollapsibleTableRows from './hooks/useCollapsibleTableRows';\n\nconst BasicTable = forwardRef(\n (\n {\n columnsData,\n rowsData,\n context,\n sorting,\n onSort,\n renderRowCell = defaultRenderRowCell,\n getRowCellHeight = defaultGetRowCellHeight,\n filters,\n onFilter,\n headRowHeight,\n maxRowValuesCount = Infinity,\n autosizing,\n maxHeight,\n ...otherProps\n },\n ref\n ) => {\n const tableHeadData = useMemo(\n () => getTableHeadData(columnsData, filters, onFilter),\n [columnsData, filters, onFilter]\n );\n\n const {tableRowsData, collapseContextValue} = useCollapsibleTableRows({\n rowsData,\n columnsData,\n renderRowCell,\n getRowCellHeight,\n maxRowValuesCount\n });\n\n if (!tableHeadData.length) {\n return null;\n }\n\n return (\n <RowCollapseContext.Provider value={collapseContextValue}>\n <TableContext.Provider value={context}>\n <Table\n autosizing={autosizing}\n maxHeight={maxHeight}\n defaultRowHeight={48}\n {...otherProps}\n fixHead={tableRowsData.length > 0}\n headData={tableHeadData}\n rowsData={tableRowsData}\n sortField={prop('field', sorting)}\n sortOrder={prop('order', sorting)}\n onSort={onSort}\n headRowHeight={filters ? headRowHeight + COLUMN_FILTER_HEIGHT : headRowHeight}\n ref={ref}\n />\n </TableContext.Provider>\n </RowCollapseContext.Provider>\n );\n }\n);\n\nexport const BasicTableType = {\n columnsData: PropTypes.arrayOf(ColumnDataType).isRequired,\n rowsData: PropTypes.arrayOf(PropTypes.object).isRequired,\n context: PropTypes.object,\n sorting: SortingType,\n onSort: PropTypes.func,\n filters: PropTypes.objectOf(ColumnFilterType),\n onFilter: PropTypes.func,\n renderRowCell: PropTypes.func,\n getRowCellHeight: PropTypes.func,\n headRowHeight: PropTypes.number,\n maxRowValuesCount: PropTypes.number,\n defaultColumnWidth: PropTypes.number,\n defaultColumnMinWidth: PropTypes.number,\n classes: PropTypes.shape({\n highlightRow: PropTypes.string,\n cellBorder: PropTypes.string,\n dragColumnBody: PropTypes.string,\n dragColumnHead: PropTypes.string,\n draggableHeadCell: PropTypes.string,\n cellWrapper: PropTypes.string,\n cellContentWrapper: PropTypes.string,\n hoveredRowRightContentContainer: PropTypes.string,\n hoveredRowRightContentWrapper: PropTypes.string\n })\n};\n\nBasicTable.propTypes = BasicTableType;\n\nBasicTable.displayName = 'BasicTable';\n\nexport default BasicTable;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nconst withFilterAtBottom = (HeadCellRenderer) => {\n const HeadCellRendererWithFilterAtBottom = ({columnFilter, ...otherProps}) => {\n return (\n <div style={{display: 'flex', flexDirection: 'column', height: '100%'}}>\n <div style={{display: 'flex', flex: 1}}>\n <HeadCellRenderer {...otherProps} />\n </div>\n {columnFilter}\n </div>\n );\n };\n HeadCellRendererWithFilterAtBottom.propTypes = {\n columnFilter: PropTypes.node\n };\n\n return HeadCellRendererWithFilterAtBottom;\n};\n\nexport default withFilterAtBottom;\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const BLOB_HEIGHT = 100;\n\nexport const useStyles = makeStyles({\n defaultWrapper: {\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n padding: '15px 25px 0 25px'\n },\n blobWrapper: {\n position: 'relative',\n overflowY: 'auto',\n overflowX: 'hidden',\n whiteSpace: 'pre',\n maxHeight: `${BLOB_HEIGHT}px`,\n boxSizing: 'border-box',\n padding: '15px 25px 0 25px'\n }\n});\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport {useStyles} from './styles';\n\nconst stopPropagation = (event) => {\n event.stopPropagation();\n};\n\nconst BlobRenderer = ({value}) => {\n const styles = useStyles();\n return (\n <div className={styles.blobWrapper} onScroll={stopPropagation}>\n {value}\n </div>\n );\n};\n\nBlobRenderer.propTypes = {\n value: PropTypes.node\n};\n\nexport default BlobRenderer;\n","import BlobRenderer from './BlobRenderer';\nimport DataTypeValue from '../../../DataTypeValue/DataTypeValue';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport {DataTypes} from '@reltio/mdm-sdk';\nimport {useStyles} from './styles';\nimport ExpandedValueTooltip from '../../../ExpandedValueTooltip/ExpandedValueTooltip';\n\nconst DefaultCellValueRenderer = (props) => {\n const styles = useStyles();\n const {\n value,\n columnData: {dataTypeDefinition}\n } = props;\n switch (dataTypeDefinition.type) {\n case DataTypes.TYPE_BLOB:\n return <BlobRenderer {...props} />;\n default: {\n const dataTypeValue = <DataTypeValue value={value} dataTypeDefinition={dataTypeDefinition} />;\n return (\n <ExpandedValueTooltip value={dataTypeValue}>\n <div className={styles.defaultWrapper}>{dataTypeValue}</div>\n </ExpandedValueTooltip>\n );\n }\n }\n};\n\nDefaultCellValueRenderer.propTypes = {\n value: PropTypes.any,\n columnData: PropTypes.shape({\n dataTypeDefinition: PropTypes.object\n })\n};\n\nexport default DefaultCellValueRenderer;\n","import React from 'react';\n\nexport const RowCollapseContext = React.createContext(null);\n\nRowCollapseContext.displayName = 'RowCollapseContext';\n","import React from 'react';\n\nexport const TableContext = React.createContext(null);\n\nTableContext.displayName = 'TableContext';\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const COLUMN_FILTER_HEIGHT = 40;\n\nexport const useStyles = makeStyles({\n 'filter-chip': {\n flex: 1,\n maxWidth: '100%',\n overflow: 'hidden',\n justifyContent: 'flex-start',\n marginRight: '-8px',\n '&, &:focus': {\n backgroundColor: 'rgba(0,0,0,0)'\n }\n },\n 'filter-chip__label': {\n color: 'rgba(0,0,0,0.87)',\n flex: 1,\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis'\n },\n 'filter-chip__option-label': {\n color: 'rgba(0,0,0,0.54)'\n }\n});\n","import {Chip as Chip} from '@material-ui/core';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport mdm from '@reltio/mdm-module';\nimport {\n checkIfOptionHasValues,\n FilterValueType,\n formatDataTypeValue,\n getFilterValueLabel,\n mapFilterValue\n} from '@reltio/mdm-sdk';\nimport {useSelector} from 'react-redux';\nimport {useStyles} from './styles';\nimport ExpandedValueTooltip from '../../../ExpandedValueTooltip/ExpandedValueTooltip';\n\nconst FilterChip = ({filterOption, filterValue, onDelete, dataTypeDefinition}) => {\n const canFilterAcceptValues = checkIfOptionHasValues(filterOption.value);\n const optionLabel = filterOption.label + (canFilterAcceptValues ? ': ' : '');\n const styles = useStyles();\n const attributePresentations = useSelector(mdm.selectors.getAttributePresentations);\n const dateMask = useSelector(mdm.selectors.getDateMask);\n const dateTimeMask = useSelector(mdm.selectors.getDateTimeMask);\n const formatValue = formatDataTypeValue({attributePresentations, dataTypeDefinition, dateMask, dateTimeMask});\n const convertedValue = mapFilterValue(formatValue, filterValue);\n const filterLabel = canFilterAcceptValues ? getFilterValueLabel(filterOption.value, convertedValue) : '';\n return (\n <Chip\n label={\n <ExpandedValueTooltip value={optionLabel + filterLabel}>\n <div className={styles['filter-chip__label']}>\n <span className={styles['filter-chip__option-label']}>{optionLabel}</span>\n {filterLabel}\n </div>\n </ExpandedValueTooltip>\n }\n classes={{\n root: styles['filter-chip'],\n label: styles['filter-chip__label']\n }}\n onDelete={onDelete}\n />\n );\n};\n\nFilterChip.propTypes = {\n filterValue: FilterValueType,\n filterOption: PropTypes.shape({\n value: PropTypes.string,\n label: PropTypes.string\n }),\n onDelete: PropTypes.func,\n dataTypeDefinition: PropTypes.object\n};\n\nexport default FilterChip;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport {__, assoc, pipe} from 'ramda';\nimport {checkIfOptionHasValues, FilterType} from '@reltio/mdm-sdk';\nimport DropDownEditor from '../DropDownEditor/DropDownEditor';\nimport FilterValueEditor from './FilterValueEditor';\nimport {commonTextFieldProps, useSelectStyles} from '../constants';\n\nconst FilterEditor = ({value, onChange, filterOptions, dataTypeDefinition, classes, valueEditorProps}) => {\n const styles = useSelectStyles();\n const [firstOption] = filterOptions;\n const filterOption = value.filter || firstOption.value;\n const filter = {...value, filter: filterOption};\n const canFilterAcceptValues = checkIfOptionHasValues(filterOption);\n return (\n <>\n <DropDownEditor\n TextFieldProps={commonTextFieldProps}\n className={classes.option}\n value={filterOption}\n entries={filterOptions}\n onChange={pipe(assoc('filter', __, filter), assoc('values', []), onChange)}\n classes={{root: styles.root, icon: styles.icon}}\n />\n {canFilterAcceptValues && (\n <FilterValueEditor\n filter={filter}\n onChange={pipe(assoc('values', __, filter), onChange)}\n dataTypeDefinition={dataTypeDefinition}\n {...valueEditorProps}\n />\n )}\n </>\n );\n};\n\nFilterEditor.propTypes = {\n value: FilterType,\n onChange: PropTypes.func,\n filterOptions: PropTypes.arrayOf(\n PropTypes.shape({\n value: PropTypes.string,\n label: PropTypes.string\n })\n ),\n dataTypeDefinition: PropTypes.object,\n classes: PropTypes.object,\n valueEditorProps: PropTypes.object\n};\n\nexport default FilterEditor;\n","import ArrowDropDownIcon from '@material-ui/icons/ArrowDropDown';\nimport FilterChip from './FilterChip/FilterChip';\nimport FilterEditor from '../../editors/FilterEditor/FilterEditor';\nimport {IconButton as IconButton} from '@material-ui/core';\nimport {Popover as Popover} from '@material-ui/core';\nimport PropTypes from 'prop-types';\nimport React, {useRef, useState} from 'react';\nimport {ColumnFilterType} from '../../../constants';\nimport {defaultTo, pipe, pluck, prop, propEq} from 'ramda';\nimport {useStyles} from './styles';\nimport {\n getDataTypeDefinitionForFilterValue,\n getFilterOptionLabel,\n getFilterOptionsForDataTypeDefinition,\n Maybe,\n validateFilter\n} from '@reltio/mdm-sdk';\nimport {columnFilterToMdmFilter, mdmFilterToColumnFilter} from './helpers';\n\nconst ColumnFilter = ({columnId, dataTypeDefinition, filter, filterOptionsData, onFilter}) => {\n const styles = useStyles();\n\n const [anchorEl, setAnchorEl] = useState(null);\n const openFilterPopup = (event) => setAnchorEl(event.currentTarget);\n const closeFilterPopup = () => setAnchorEl(null);\n\n const [columnFilter, setColumnFilter] = useState(filter);\n const initColumnFilter = () => setColumnFilter(filter);\n\n const containerRef = useRef(null);\n const mdmFilter = columnFilterToMdmFilter({id: columnId, dataTypeDefinition}, columnFilter);\n const applyFilterChange = (newFilter) => {\n if (newFilter !== filter) {\n onFilter({columnId, filter: newFilter});\n }\n };\n const clearFilter = () => applyFilterChange();\n const applyChangesAndClose = () => {\n const isValidFilter = validateFilter(mdmFilter);\n isValidFilter ? applyFilterChange(columnFilter) : clearFilter();\n closeFilterPopup();\n };\n\n const handleValueEditorKeyPress = (event) => {\n if (event.key !== 'Enter') return;\n\n event.stopPropagation();\n event.preventDefault();\n applyChangesAndClose();\n };\n\n const getFilterOptionData = (filterOption) =>\n filterOptionsData && filterOptionsData.find(propEq('value', filterOption));\n\n const getFilterLabel = (filterOption) =>\n pipe(getFilterOptionData, prop('label'), defaultTo(getFilterOptionLabel(filterOption)))(filterOption);\n\n const getFilterDataTypeDefinition = (filterOption) =>\n pipe(\n getFilterOptionData,\n prop('dataTypeDefinition'),\n defaultTo(getDataTypeDefinitionForFilterValue(dataTypeDefinition, filterOption))\n )(filterOption);\n\n const filterOptions = Maybe.fromNull(filterOptionsData)\n .map(pluck('value'))\n .orSome(getFilterOptionsForDataTypeDefinition(dataTypeDefinition))\n .map((value) => ({\n value,\n label: getFilterLabel(value)\n }));\n\n return (\n <div ref={containerRef} className={styles.columnFilter}>\n {filter && (\n <FilterChip\n filterValue={filter.value}\n filterOption={filterOptions.find(propEq('value', filter.filter))}\n onDelete={clearFilter}\n dataTypeDefinition={getFilterDataTypeDefinition(filter.filter)}\n />\n )}\n <IconButton className={styles.dropDownButton} onClick={openFilterPopup} disableFocusRipple>\n <ArrowDropDownIcon />\n </IconButton>\n <Popover\n PaperProps={{\n style: {\n width: `${containerRef.current ? containerRef.current.getBoundingClientRect().width : 0}px`\n }\n }}\n open={!!anchorEl}\n anchorEl={anchorEl}\n anchorOrigin={{\n vertical: 'bottom',\n horizontal: 'right'\n }}\n transformOrigin={{\n vertical: 'top',\n horizontal: 'right'\n }}\n classes={{paper: styles.filterMenu}}\n onEnter={initColumnFilter}\n onClose={applyChangesAndClose}\n >\n <FilterEditor\n classes={{option: styles['filter-editor__option']}}\n value={mdmFilter}\n onChange={pipe(mdmFilterToColumnFilter, setColumnFilter)}\n filterOptions={filterOptions}\n dataTypeDefinition={getFilterDataTypeDefinition(mdmFilter.filter)}\n valueEditorProps={{\n TextFieldProps: {\n onKeyPress: handleValueEditorKeyPress\n },\n fullWidth: true\n }}\n />\n </Popover>\n </div>\n );\n};\n\nColumnFilter.propTypes = {\n columnId: PropTypes.string,\n dataTypeDefinition: PropTypes.object,\n filter: ColumnFilterType,\n onFilter: PropTypes.func,\n filterOptionsData: PropTypes.arrayOf(\n PropTypes.shape({\n value: PropTypes.string,\n label: PropTypes.string,\n dataTypeDefinition: PropTypes.object\n })\n )\n};\n\nexport default ColumnFilter;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport ColumnFilter from '../../ColumnFilter/ColumnFilter';\nimport {useStyles as useColumnFilterStyles} from '../../ColumnFilter/styles';\n\nconst withFilter = ({filter, onFilter, filterable, filterOptions, dataTypeDefinition}) => (HeadCellRenderer) => {\n const HeadCellRendererWithFilter = (props) => {\n const {\n headCellData: {id: columnId}\n } = props;\n const styles = useColumnFilterStyles();\n const columnFilter = filterable ? (\n <ColumnFilter\n columnId={columnId}\n dataTypeDefinition={dataTypeDefinition}\n filter={filter}\n filterOptionsData={filterOptions}\n onFilter={onFilter}\n />\n ) : (\n <div className={styles.columnFilter} />\n );\n return <HeadCellRenderer {...props} columnFilter={columnFilter} />;\n };\n HeadCellRendererWithFilter.propTypes = {\n headCellData: PropTypes.shape({\n id: PropTypes.string\n })\n };\n return HeadCellRendererWithFilter;\n};\n\nexport default withFilter;\n","import {\n __,\n addIndex,\n always,\n assoc,\n chain,\n curry,\n dropLast,\n groupBy,\n join,\n keys,\n length,\n omit,\n pickBy,\n pipe,\n propOr,\n reduce,\n split,\n sortBy,\n identity,\n sum,\n toPairs,\n unless,\n unnest,\n values,\n zip\n} from 'ramda';\n\nconst TOTAL_ROW_SPAN_KEY = 'total';\nconst NESTED_KEY_DELIMITER = '.';\n\nconst getSiblingSubRowsKeyBySubRowKey = pipe(split(NESTED_KEY_DELIMITER), dropLast(1), join(NESTED_KEY_DELIMITER));\n\nconst getParentRowKeyBySiblingsSubRowsKey = pipe(\n split(NESTED_KEY_DELIMITER),\n dropLast(1),\n join(NESTED_KEY_DELIMITER),\n unless(length, always(TOTAL_ROW_SPAN_KEY))\n);\n\nconst getParentRowKeyBySubRowKey = pipe(getSiblingSubRowsKeyBySubRowKey, getParentRowKeyBySiblingsSubRowsKey);\n\nconst countParentSpanByAllSubRows = (rowSpanData, siblingSubRowsKey) =>\n pipe(\n pickBy((_val, key) => getSiblingSubRowsKeyBySubRowKey(key) === siblingSubRowsKey),\n values,\n sum\n )(rowSpanData);\n\nconst calcParentRowSpan = (rowSpanData, subRowKey) => {\n const parentKey = getParentRowKeyBySubRowKey(subRowKey);\n const currentParentSpan = propOr(0, parentKey, rowSpanData);\n const actualParentSpan = countParentSpanByAllSubRows(rowSpanData, getSiblingSubRowsKeyBySubRowKey(subRowKey));\n\n if (actualParentSpan > currentParentSpan) {\n const nextRowSpanData = assoc(parentKey, actualParentSpan, rowSpanData);\n return parentKey === TOTAL_ROW_SPAN_KEY ? nextRowSpanData : calcParentRowSpan(nextRowSpanData, parentKey);\n } else {\n return rowSpanData;\n }\n};\n\nconst addNestedKey = (rowSpanData, nestedKey) => calcParentRowSpan({...rowSpanData, [nestedKey]: 1}, nestedKey);\n\nconst validateParentRowSpan = (rowSpanData, [siblingSubRowsKey, subRowsKeys]) => {\n const parentKey = getParentRowKeyBySiblingsSubRowsKey(siblingSubRowsKey);\n const currentParentSpan = propOr(0, parentKey, rowSpanData);\n const actualParentSpan = countParentSpanByAllSubRows(rowSpanData, siblingSubRowsKey);\n const spanDiff = currentParentSpan - actualParentSpan;\n\n if (spanDiff > 0) {\n const lowestSubRowKey = `${siblingSubRowsKey}${NESTED_KEY_DELIMITER}${subRowsKeys.length - 1}`;\n const lowestSubRowSpan = rowSpanData[lowestSubRowKey];\n return assoc(lowestSubRowKey, lowestSubRowSpan + spanDiff, rowSpanData);\n } else {\n return rowSpanData;\n }\n};\n\nconst validateRowSpanData = (rowSpanData) =>\n pipe(\n omit([TOTAL_ROW_SPAN_KEY]),\n keys,\n sortBy(identity),\n groupBy(getSiblingSubRowsKeyBySubRowKey),\n toPairs,\n reduce(validateParentRowSpan, rowSpanData)\n )(rowSpanData);\n\nconst calcRowSpansForNestedKeys = pipe(reduce(addNestedKey, {}), validateRowSpanData);\n\nconst chainWithIndex = addIndex(chain);\nconst flattenNestedColumnValues = (values, indexPath = []) => {\n const [head] = values;\n return Array.isArray(head)\n ? chainWithIndex((value, index) => flattenNestedColumnValues(value, [...indexPath, index]), values)\n : {indexPath, values};\n};\n\nconst getNestedKeyForNestedColumnCell = curry((columnNestedPath, cell) =>\n pipe(zip(__, cell.indexPath), unnest, join(NESTED_KEY_DELIMITER))(columnNestedPath)\n);\n\nexport {\n calcRowSpansForNestedKeys,\n validateRowSpanData,\n TOTAL_ROW_SPAN_KEY,\n flattenNestedColumnValues,\n getSiblingSubRowsKeyBySubRowKey,\n getParentRowKeyBySiblingsSubRowsKey,\n getNestedKeyForNestedColumnCell\n};\n","import DefaultCellValueRenderer from '../cell-value-renderers/DefaultCellValueRenderer';\nimport withFilter from '../HOCs/withFilter';\nimport {\n calcRowSpansForNestedKeys,\n flattenNestedColumnValues,\n getNestedKeyForNestedColumnCell,\n TOTAL_ROW_SPAN_KEY\n} from './nestedHelpers';\nimport {\n add,\n always,\n assoc,\n chain,\n evolve,\n isEmpty,\n isNil,\n map,\n mapObjIndexed,\n max,\n objOf,\n pipe,\n pluck,\n prop,\n propEq,\n propOr,\n reduce,\n reject,\n slice,\n uniq,\n unless,\n values\n} from 'ramda';\nimport {wrapInArrayIfNeeded} from '@reltio/mdm-sdk';\nimport DefaultHeadCellRenderer from 'react-components/dist/Table/DefaultHeadCellRenderer/DefaultHeadCellRenderer';\nimport withFilterAtBottom from '../HOCs/withFilterAtBottom';\n\nconst applyCellRendererToColumnCells = (columnsData, renderRowCell, rowIndex, rowValue) => (cells, columnId) => {\n const columnIndex = columnsData.findIndex(propEq('id', columnId));\n const columnData = columnsData[columnIndex];\n const {rowCellValueRenderer: CellValueRenderer = DefaultCellValueRenderer} = columnsData[columnIndex];\n return cells.map((cell, cellIndex) => ({\n ...cell,\n values: renderRowCell({\n columnIndex,\n columnData,\n rowIndex,\n rowValue,\n cellIndex,\n cell,\n CellValueRenderer\n })\n }));\n};\n\nconst applyCellRenderer = pipe(applyCellRendererToColumnCells, mapObjIndexed);\n\nconst calcHeightForColumnCells = (columnsData, getRowCellHeight, rowIndex, rowValue) => (cells, columnId) => {\n const columnIndex = columnsData.findIndex(propEq('id', columnId));\n const columnData = columnsData[columnIndex];\n return cells.map((cell, cellIndex) => ({\n ...cell,\n height: getRowCellHeight({columnIndex, columnData, rowIndex, rowValue, cellIndex, cell})\n }));\n};\n\nconst calcHeights = (columnsData, getRowCellHeight, rowIndex, rowValue) => (rowData) =>\n getRowCellHeight\n ? mapObjIndexed(calcHeightForColumnCells(columnsData, getRowCellHeight, rowIndex, rowValue), rowData)\n : rowData;\n\nconst addRowSpansToColumnCells = (rowSpansData) =>\n map((cell) => ({...cell, rowSpan: rowSpansData[cell.nestedKey || TOTAL_ROW_SPAN_KEY]}));\n\nconst getNestedKeysFromRowCells = pipe(chain(pluck('nestedKey')), reject(isNil), uniq);\n\nconst calcRowSpansData = pipe(values, getNestedKeysFromRowCells, calcRowSpansForNestedKeys);\n\nconst calcRowSpans = (rowData) => {\n const rowSpansData = calcRowSpansData(rowData);\n return isEmpty(rowSpansData) ? rowData : map(addRowSpansToColumnCells(rowSpansData), rowData);\n};\n\nconst calcNestedKeys = (columnNestedPath) =>\n map((cell) => ({\n ...cell,\n nestedKey: getNestedKeyForNestedColumnCell(columnNestedPath, cell)\n }));\n\nconst parseNestedColumnValues = (columnNestedPath, nestedValues) =>\n pipe(flattenNestedColumnValues, calcNestedKeys(columnNestedPath))(nestedValues);\n\nconst getCellValues = (columnNestedPath, columnValues) =>\n columnNestedPath && !isEmpty(columnValues)\n ? parseNestedColumnValues(columnNestedPath, columnValues)\n : [{values: wrapInArrayIfNeeded(columnValues)}];\n\nconst buildRowValues = (rowValue) =>\n reduce((acc, {id, nestedPath}) => assoc(id, getCellValues(nestedPath, rowValue[id]), acc), {});\n\nconst applyValuesCountConstraint = (maxValuesCount) =>\n unless(\n () => maxValuesCount === Infinity,\n map(\n pipe(\n reject(({indexPath}) => indexPath && indexPath.some((index) => index > maxValuesCount - 1)),\n map(\n evolve({\n values: slice(0, maxValuesCount)\n })\n )\n )\n )\n );\n\nconst getTableRowsData = (\n rowValues,\n columnsData,\n renderRowCell,\n getRowCellHeight,\n getRowMaxValuesCount = always(Infinity)\n) =>\n rowValues.map(\n pipe(\n (rowValue, rowIndex) =>\n pipe(\n buildRowValues(rowValue),\n applyValuesCountConstraint(getRowMaxValuesCount(rowIndex)),\n calcRowSpans,\n calcHeights(columnsData, getRowCellHeight, rowIndex, rowValue),\n applyCellRenderer(columnsData, renderRowCell, rowIndex, rowValue)\n )(columnsData),\n objOf('data')\n )\n );\n\nconst getTableHeadData = (columnsData, filters, onFilter) =>\n columnsData.map(\n ({\n id,\n label,\n description,\n sortable,\n filterable = true,\n resizable,\n draggable,\n autoResize = true,\n initialWidth,\n minWidth,\n dataTypeDefinition,\n filterOptions,\n headCellRenderer = withFilterAtBottom(DefaultHeadCellRenderer)\n }) => ({\n id,\n label,\n description,\n sortable,\n resizable,\n draggable,\n initialWidth,\n minWidth,\n autoResize,\n renderer: unless(\n () => isNil(filters),\n withFilter({\n dataTypeDefinition,\n filterable,\n filter: prop(id, filters),\n filterOptions,\n onFilter\n })\n )(headCellRenderer)\n })\n );\n\nconst calcMaxValuesCount = reduce((maxCount, cellValues) => {\n const maxSubNestedValuesCount = pipe(chain(propOr([], 'indexPath')), map(add(1)), reduce(max, 0))(cellValues);\n const maxPlainValuesCount = pipe(pluck('values'), pluck('length'), reduce(max, 0))(cellValues);\n return Math.max(maxCount, maxSubNestedValuesCount, maxPlainValuesCount);\n}, 0);\n\nconst getMaxRowValuesCount = (columnsData, rowValue) => {\n return pipe(buildRowValues(rowValue, Infinity), values, calcMaxValuesCount)(columnsData);\n};\n\nexport {getTableRowsData, getTableHeadData, getMaxRowValuesCount};\n","import {DataTypes} from '@reltio/mdm-sdk';\n\nconst BLOB_HEIGHT = 100;\nconst IMAGE_HEIGHT = 64;\nconst PADDING = 15;\n\nconst defaultGetRowCellHeight = ({columnData, cell}) => {\n const valuesCount = cell.values.length;\n switch (columnData?.dataTypeDefinition?.type) {\n case DataTypes.TYPE_BLOB:\n return BLOB_HEIGHT * valuesCount;\n case DataTypes.TYPE_IMAGE:\n return (PADDING + IMAGE_HEIGHT) * valuesCount + PADDING;\n default:\n return 33 * Math.max(valuesCount, 1) + PADDING;\n }\n};\n\nexport default defaultGetRowCellHeight;\n","import React from 'react';\n\nconst defaultRenderRowCell = ({cell, CellValueRenderer, ...otherProps}) =>\n cell.values.map((value, index) => <CellValueRenderer key={index} value={value} {...otherProps} />);\n\nexport default defaultRenderRowCell;\n","import {useCallback, useMemo, useState} from 'react';\n\nimport {equals, filter, remove} from 'ramda';\nimport {getTableRowsData, getMaxRowValuesCount} from '../helpers/dataHelpers';\nimport {useDidUpdateEffect, usePrevious} from '../../../../hooks';\n\nconst useCollapsibleTableRows = ({rowsData, columnsData, renderRowCell, getRowCellHeight, maxRowValuesCount}) => {\n const [expandedIndexes, setExpandedIndexes] = useState([]);\n\n const getRowMaxValuesCount = useCallback(\n (rowIndex) => {\n return expandedIndexes.includes(rowIndex) ? Infinity : maxRowValuesCount;\n },\n [expandedIndexes, maxRowValuesCount]\n );\n\n const tableRowsData = useMemo(\n () => getTableRowsData(rowsData, columnsData, renderRowCell, getRowCellHeight, getRowMaxValuesCount),\n [rowsData, columnsData, renderRowCell, getRowCellHeight, getRowMaxValuesCount]\n );\n\n const toggleRowCollapse = useCallback((rowIndex) => {\n setExpandedIndexes((expandedIndexes) => {\n const index = expandedIndexes.findIndex(equals(rowIndex));\n return index === -1 ? expandedIndexes.concat(rowIndex) : remove(index, 1, expandedIndexes);\n });\n }, []);\n\n const getIsRowCollapsible = useCallback(\n (rowValue) => {\n return getMaxRowValuesCount(columnsData, rowValue) > maxRowValuesCount;\n },\n [maxRowValuesCount, columnsData]\n );\n\n const getIsRowCollapsed = useCallback(\n (rowIndex) => {\n return !expandedIndexes.includes(rowIndex);\n },\n [expandedIndexes]\n );\n\n const collapseContextValue = useMemo(\n () => ({\n toggleRowCollapse,\n getIsRowCollapsible,\n getIsRowCollapsed\n }),\n [toggleRowCollapse, getIsRowCollapsible, getIsRowCollapsed]\n );\n\n const prevRowsData = usePrevious(rowsData);\n useDidUpdateEffect(() => {\n if (expandedIndexes.length > 0) {\n setExpandedIndexes(\n filter((index) => {\n const rowValue = rowsData[index] || {};\n const prevRowValue = prevRowsData[index] || {};\n return rowValue.rawValue === prevRowValue.rawValue && getIsRowCollapsible(rowValue);\n })\n );\n }\n }, [rowsData]);\n\n return {tableRowsData, collapseContextValue};\n};\n\nexport default useCollapsibleTableRows;\n","import {buildFilterQueryString, Maybe} from '@reltio/mdm-sdk';\nimport {propEq} from 'ramda';\n\nconst columnFilterToMdmFilter = (columnData, columnFilter = {}) => ({\n fieldName: columnData.id,\n filter: columnFilter.filter,\n values: [columnFilter.value],\n type: columnData.dataTypeDefinition.type\n});\n\nconst mdmFilterToColumnFilter = ({filter, values}) => ({filter, value: values[0]});\n\nconst buildColumnsFilter = (columnsData, filters) =>\n Maybe.fromNull(filters)\n .map((filters) =>\n Object.entries(filters).map(([columnId, columnFilter]) => {\n const columnData = columnsData.find(propEq('id', columnId));\n return columnFilterToMdmFilter(columnData, columnFilter);\n })\n )\n .map(buildFilterQueryString())\n .orSome('');\n\nexport {buildColumnsFilter, columnFilterToMdmFilter, mdmFilterToColumnFilter};\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const COLUMN_FILTER_HEIGHT = 40;\n\nexport const useStyles = makeStyles({\n columnFilter: {\n backgroundColor: 'rgba(0,0,0,0.03)',\n display: 'flex',\n height: `${COLUMN_FILTER_HEIGHT}px`,\n alignItems: 'center'\n },\n dropDownButton: {\n marginLeft: 'auto',\n padding: '6px'\n },\n filterMenu: {\n marginTop: '3px',\n borderRadius: '2px',\n padding: '15px 20px',\n boxSizing: 'border-box',\n display: 'flex',\n flexDirection: 'column',\n minWidth: '454px'\n },\n 'filter-editor__option': {\n fontSize: '13px',\n color: 'rgba(0,0,0,0.54)'\n }\n});\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles((theme) => ({\n container: {\n display: 'flex',\n flexDirection: 'column',\n minHeight: '182px'\n },\n header: {\n display: 'flex',\n paddingLeft: '10px',\n backgroundColor: '#FFFFFF'\n },\n title: {\n marginLeft: '10px',\n color: theme.palette.text.primary,\n fontSize: '20px',\n fontWeight: 500,\n letterSpacing: '0.25px',\n lineHeight: '24px'\n },\n dateRangeContainer: {\n display: 'flex',\n flexGrow: 1,\n whiteSpace: 'nowrap',\n cursor: 'default',\n paddingTop: '8px'\n },\n dateInput: {\n margin: '0 7px'\n },\n actionButtons: {\n display: 'flex',\n justifyContent: 'flex-end',\n height: '48px',\n margin: '0px 8px'\n },\n button: {\n width: '96px'\n }\n}));\n","import React, {forwardRef, useRef, useState} from 'react';\nimport i18n from 'ui-i18n';\nimport {nanoid} from 'nanoid';\nimport {pathOr} from 'ramda';\nimport ArrowBack from '@material-ui/icons/ArrowBack';\nimport {Button as Button} from '@material-ui/core';\nimport {Toolbar as Toolbar} from '@material-ui/core';\nimport {Typography as Typography} from '@material-ui/core';\nimport SmallIconButton from '../SmallIconButton/SmallIconButton';\nimport {DataTypes} from '@reltio/mdm-sdk';\nimport TimestampEditor from '../editors/TimestampEditor/TimestampEditor';\nimport DateEditor from '../editors/DateEditor/DateEditor';\n\nimport {useStyles} from './styles';\n\nconst START_DATE = 0;\nconst END_DATE = 1;\n\nconst getDate = (values: Values, index: number) => pathOr(null, [index], values);\n\ntype Values = [Date, Date];\ntype Props = {\n onCancel: () => void;\n onApply: ([startDate, endDate]: Values) => void;\n values?: Values;\n type?: string;\n minDate?: Date;\n maxDate?: Date;\n};\n\nconst DateRangePicker = forwardRef<HTMLDivElement, Props>(\n ({onCancel, onApply, values, type, minDate, maxDate}: Props, ref) => {\n const styles = useStyles();\n\n const editorFromId = useRef(nanoid());\n const editorToId = useRef(nanoid());\n\n const [startDate, setStartDate] = useState<Date>(null);\n const [endDate, setEndDate] = useState<Date>(null);\n\n React.useEffect(() => {\n setStartDate(getDate(values, START_DATE));\n setEndDate(getDate(values, END_DATE));\n }, [values]);\n\n const ComponentEditor = type === DataTypes.TYPE_TIMESTAMP ? TimestampEditor : DateEditor;\n\n const headerTitle =\n type === DataTypes.TYPE_TIMESTAMP ? i18n.text('Pick date and time') : i18n.text('Pick date');\n\n const selectStartDateHandler = (value: Date) => {\n setStartDate(value);\n };\n\n const selectEndDateHandler = (value: Date) => {\n setEndDate(value);\n };\n\n const onUpdate = () => {\n if (startDate && endDate && startDate > endDate) {\n onApply([endDate, startDate]);\n } else {\n onApply([startDate, endDate]);\n }\n };\n\n const onTabStopPropagation = (e) => e.key === 'Tab' && e.stopPropagation();\n\n return (\n <div className={styles.container} ref={ref} onKeyDown={onTabStopPropagation}>\n <Toolbar disableGutters={true} classes={{root: styles.header}}>\n <SmallIconButton size=\"L\" icon={ArrowBack} onClick={onCancel} />\n <Typography className={styles.title}>{headerTitle}</Typography>\n </Toolbar>\n <div className={styles.dateRangeContainer}>\n <ComponentEditor\n id={editorFromId.current}\n label={'From'}\n variant=\"filled\"\n value={startDate}\n onChange={selectStartDateHandler}\n className={styles.dateInput}\n margin=\"dense\"\n minDate={minDate}\n maxDate={maxDate}\n />\n <ComponentEditor\n id={editorToId.current}\n label={'To'}\n variant=\"filled\"\n value={endDate}\n onChange={selectEndDateHandler}\n className={styles.dateInput}\n margin=\"dense\"\n minDate={minDate}\n maxDate={maxDate}\n />\n </div>\n <div className={styles.actionButtons}>\n <Button color=\"primary\" onClick={onUpdate} className={styles.button}>\n {i18n.text('Update')}\n </Button>\n </div>\n </div>\n );\n }\n);\n\nDateRangePicker.displayName = 'DateRangePicker';\n\nexport default DateRangePicker;\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport classnames from 'classnames';\nimport {useArrowIndicatorStyles} from './arrowIndicatorStyles';\nimport ArrowDropDownIcon from '@material-ui/icons/ArrowDropDown';\nimport SmallIconButton from '../SmallIconButton/SmallIconButton';\n\nconst DropdownIndicatorWithIconButton = (props) => {\n const {\n selectProps: {classes, menuIsOpen},\n innerProps\n } = props;\n\n const styles = useArrowIndicatorStyles();\n\n return (\n <SmallIconButton\n {...innerProps}\n icon={ArrowDropDownIcon}\n className={classes.dropdownIndicator}\n size=\"L\"\n iconClassName={classnames({[styles.expanded]: menuIsOpen})}\n />\n );\n};\n\nDropdownIndicatorWithIconButton.propTypes = {\n innerProps: PropTypes.object.isRequired,\n selectProps: PropTypes.shape({\n classes: PropTypes.shape({\n dropdownIndicator: PropTypes.string\n }).isRequired,\n menuIsOpen: PropTypes.bool.isRequired\n }).isRequired\n};\n\nexport default DropdownIndicatorWithIconButton;\n","import {always, cond, curry, defaultTo, is, isNil, map, pipe, propEq} from 'ramda';\nimport {DataTypeDefinition, DatePeriod, formatDataTypeValue, getDateRangeByValue, isEmptyValue} from '@reltio/mdm-sdk';\n\nexport type Option = {\n value: string;\n label: string;\n};\n\nexport type Values = DatePeriod | string;\n\nconst formatValue = (value: Date, dataTypeDefinition: DataTypeDefinition, placeholder: string) =>\n isNil(value) ? `${placeholder}` : `${formatDataTypeValue({dataTypeDefinition}, value)}`;\n\nconst getEditorValue = curry(\n (placeholder: string, dataTypeDefinition: DataTypeDefinition, value: Values, options: Option[]) =>\n cond([\n [isEmptyValue, always({value: '', label: ''})],\n [\n is(Array),\n (value) => ({\n value,\n label: value.map((value) => formatValue(value, dataTypeDefinition, placeholder)).join(' \\u2014 ')\n })\n ],\n [is(String), (value) => options.find(propEq('value', value))]\n ])(value)\n);\n\nconst convertValuesToDate = pipe(\n getDateRangeByValue,\n defaultTo([]),\n map((value) => value && new Date(value))\n);\n\nexport {getEditorValue, convertValuesToDate};\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles((theme) => ({\n dropdownIndicator: {\n transition: 'transform .15s ease',\n cursor: 'pointer',\n color: 'rgba(0, 0, 0, 0.54)'\n },\n paper: {\n minWidth: '112px'\n },\n menuItem: {\n minHeight: '32px'\n },\n menuText: {\n color: theme.palette.text.primary,\n fontSize: '13px',\n lineHeight: '15px',\n letterSpacing: 0\n },\n underline: {\n '&:after': {\n transform: 'scaleX(1)'\n }\n },\n inputLabel: {\n color: theme.palette.primary.main\n },\n adornedEnd: {\n paddingRight: 4\n },\n inputRoot: {\n fontSize: '14px',\n letterSpacing: 0,\n lineHeight: '16px'\n }\n}));\n","import React, {useCallback, useMemo, useRef, useState} from 'react';\nimport classnames from 'classnames';\nimport moment from 'moment';\nimport i18n from 'ui-i18n';\nimport {identity, isNil, prop} from 'ramda';\nimport {DataTypes, DataTypeDefinition, AllDateRangeValues, getRangeOptionLabel} from '@reltio/mdm-sdk';\nimport TextField, {TextFieldProps} from '@material-ui/core/TextField';\nimport {MenuItem as MenuItem} from '@material-ui/core';\nimport {Typography as Typography} from '@material-ui/core';\nimport Menu, {MenuProps} from '@material-ui/core/Menu';\n\nimport {getEditorValue, convertValuesToDate, Option, Values} from './helpers';\nimport DropdownIndicatorWithIconButton from '../../commonReactSelectComponents/DropdownIndicatorWithIconButton';\nimport DateRangePicker from '../../DateRangePicker/DateRangePicker';\n\nimport {useStyles} from './styles';\n\nconst localeFormat = moment.localeData().longDateFormat('L');\n\nexport type DateRangeEditorProps = {\n label?: string;\n values?: Values;\n options?: Option[];\n getValuesDateRange?: (value: Values) => [Date, Date];\n onChange?: (value: Values) => void;\n dataTypeDefinition?: DataTypeDefinition;\n MenuProps?: Partial<MenuProps>;\n TextFieldProps?: TextFieldProps;\n DateRangePickerProps?: {\n minDate?: Date;\n maxDate?: Date;\n };\n className?: string;\n classes?: {\n dropdownIndicator?: string;\n root?: string;\n };\n};\n\nconst DateRangeEditor = ({\n label,\n values,\n options,\n getValuesDateRange = convertValuesToDate,\n onChange = identity,\n dataTypeDefinition = {\n type: DataTypes.TYPE_DATE\n },\n DateRangePickerProps,\n TextFieldProps,\n MenuProps,\n ...otherProps\n}: DateRangeEditorProps) => {\n const {classes} = otherProps;\n const placeholder = localeFormat + (dataTypeDefinition.type === DataTypes.TYPE_TIMESTAMP ? ' HH:MM' : '');\n\n const rangeOptions = useMemo(\n () =>\n options ||\n Object.values(AllDateRangeValues).map((option) => ({value: option, label: getRangeOptionLabel(option)})),\n [options]\n );\n\n const inputRef = useRef(null);\n const [open, setOpen] = useState(false);\n const [customValue, setCustomValue] = useState<[Date, Date]>();\n const styles = useStyles();\n\n const onItemClick = (value) => {\n if (value === AllDateRangeValues.PICK_DATE) {\n setCustomValue(value);\n } else {\n setOpen(false);\n setCustomValue(null);\n onChange(value);\n }\n };\n\n const handleToggle = useCallback(() => setOpen((open) => !open), []);\n\n const onCancel = () => {\n setCustomValue(null);\n setOpen(false);\n };\n\n return (\n <>\n <TextField\n {...TextFieldProps}\n {...otherProps}\n label={label}\n value={\n TextFieldProps?.value ||\n getEditorValue(placeholder, dataTypeDefinition, customValue || values, rangeOptions)?.label\n }\n onClick={handleToggle}\n variant=\"filled\"\n margin=\"dense\"\n ref={inputRef}\n InputProps={{\n endAdornment: (\n <DropdownIndicatorWithIconButton\n selectProps={{\n classes: {\n dropdownIndicator: classnames(styles.dropdownIndicator, classes?.dropdownIndicator)\n },\n menuIsOpen: open\n }}\n innerProps={{}}\n />\n ),\n classes: {\n root: styles.inputRoot,\n underline: classnames({[styles.underline]: open}),\n adornedEnd: styles.adornedEnd\n },\n disableUnderline: isNil(values),\n readOnly: true,\n ...TextFieldProps?.InputProps\n }}\n InputLabelProps={{\n classes: {\n root: open ? styles.inputLabel : undefined\n },\n shrink: !isNil(label)\n }}\n placeholder={i18n.text(`${placeholder} \\u2014 ${placeholder}`)}\n />\n <Menu\n variant=\"menu\"\n open={open}\n autoFocus={false}\n classes={{paper: styles.paper}}\n anchorEl={inputRef.current}\n onClose={onCancel}\n anchorOrigin={{\n vertical: 'bottom',\n horizontal: 'left'\n }}\n transformOrigin={{\n vertical: 'top',\n horizontal: 'left'\n }}\n elevation={2}\n getContentAnchorEl={null}\n MenuListProps={{\n autoFocusItem: open,\n style: {\n width: customValue ? '100%' : prop('clientWidth', inputRef.current)\n }\n }}\n {...MenuProps}\n >\n {customValue ? (\n <DateRangePicker\n values={getValuesDateRange(values)}\n onCancel={onCancel}\n onApply={onItemClick}\n type={dataTypeDefinition.type}\n {...DateRangePickerProps}\n />\n ) : (\n rangeOptions.map((option) => (\n <MenuItem\n key={option.value}\n value={option.value}\n onClick={() => onItemClick(option.value)}\n className={styles.menuItem}\n >\n <Typography classes={{root: styles.menuText}}>{option.label}</Typography>\n </MenuItem>\n ))\n )}\n </Menu>\n </>\n );\n};\n\nexport default DateRangeEditor;\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles({\n 'range-editor': {\n width: '100%'\n },\n 'range-editor__control': {\n marginTop: '10px',\n paddingTop: '15px',\n '& > label + *': {\n marginTop: 0\n }\n },\n 'range-inline-editor': {\n display: 'flex',\n alignItems: 'center',\n flexGrow: 1\n },\n 'range-editor__dash': {\n padding: '0 5px'\n }\n});\n","import React, {useRef} from 'react';\nimport PropTypes from 'prop-types';\nimport {nanoid} from 'nanoid';\nimport {FormControl as FormControl} from '@material-ui/core';\nimport {InputLabel as InputLabel} from '@material-ui/core';\nimport DataTypeValueEditor from '../DataTypeValueEditor/DataTypeValueEditor';\nimport {__, pipe, update} from 'ramda';\nimport {useStyles} from './styles';\nimport i18n from 'ui-i18n';\n\nconst RangeDataTypeValueEditor = ({value = new Array(2), onChange, orientation = 'vertical', ...otherProps}) => {\n const styles = useStyles();\n const rangeEditorFromId = useRef(nanoid());\n const rangeEditorToId = useRef(nanoid());\n\n const fromEditor = (\n <DataTypeValueEditor\n id={rangeEditorFromId.current}\n value={value[0]}\n onChange={pipe(update(0, __, value), onChange)}\n {...otherProps}\n />\n );\n\n const toEditor = (\n <DataTypeValueEditor\n id={rangeEditorToId.current}\n value={value[1]}\n onChange={pipe(update(1, __, value), onChange)}\n {...otherProps}\n />\n );\n\n if (orientation === 'horizontal') {\n return (\n <div className={styles['range-inline-editor']}>\n {fromEditor}\n <div className={styles['range-editor__dash']}>{'—'}</div>\n {toEditor}\n </div>\n );\n } else {\n return (\n <div className={styles['range-editor']}>\n <FormControl fullWidth={true} className={styles['range-editor__control']}>\n <InputLabel htmlFor={rangeEditorFromId.current} shrink={true}>\n {i18n.text('From')}\n </InputLabel>\n {fromEditor}\n </FormControl>\n <FormControl fullWidth={true} className={styles['range-editor__control']}>\n <InputLabel htmlFor={rangeEditorToId.current} shrink={true}>\n {i18n.text('To')}\n </InputLabel>\n {toEditor}\n </FormControl>\n </div>\n );\n }\n};\n\nRangeDataTypeValueEditor.propTypes = {\n value: PropTypes.arrayOf(PropTypes.any),\n onChange: PropTypes.func,\n fieldName: PropTypes.string,\n orientation: PropTypes.oneOf(['horizontal', 'vertical']),\n dataTypeDefinition: PropTypes.object,\n classes: PropTypes.object\n};\n\nexport default RangeDataTypeValueEditor;\n","import DataTypeValueEditor from '../DataTypeValueEditor/DataTypeValueEditor';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport i18n from 'ui-i18n';\nimport {\n DataTypes,\n FilterType,\n isDateRangeFilterOption,\n isDateRangeValue,\n isMultiValueOption,\n isRangeFilterOption,\n mapFilterValue,\n wrapInArray\n} from '@reltio/mdm-sdk';\nimport {pipe} from 'ramda';\nimport RangeDataTypeValueEditor from '../RangeDataTypeValueEditor/RangeDataTypeValueEditor';\nimport DateRangeEditor from '../DateRangeEditor/DateRangeEditor';\nimport {utils} from '@reltio/mdm-sdk';\n\nconst toEditorValue = (dataType) => (value) => {\n switch (dataType) {\n case DataTypes.TYPE_DATE:\n return isDateRangeValue(value) ? value : utils.dates.toLocalDate(value);\n case DataTypes.TYPE_LOCAL_DATE:\n case DataTypes.TYPE_TIMESTAMP:\n case DataTypes.TYPE_ACTIVENESS_DATE:\n return isDateRangeValue(value) ? value : new Date(value);\n default:\n return value;\n }\n};\n\nconst fromEditorValue = (dataType) => (value) => {\n switch (dataType) {\n case DataTypes.TYPE_DATE:\n return isDateRangeValue(value) ? value : Date.UTC(value.getFullYear(), value.getMonth(), value.getDate());\n case DataTypes.TYPE_LOCAL_DATE:\n case DataTypes.TYPE_ACTIVENESS_DATE:\n case DataTypes.TYPE_TIMESTAMP:\n return isDateRangeValue(value) ? value : value.valueOf();\n default:\n return value;\n }\n};\n\nconst FilterValueEditor = ({\n filter: {values = [], fieldName, filter},\n onChange,\n dataTypeDefinition,\n orientation,\n TextFieldProps,\n ...otherProps\n}) => {\n const {type: dataType} = dataTypeDefinition;\n\n const value = mapFilterValue(toEditorValue(dataType))(values[0]);\n const handleChange = pipe(mapFilterValue(fromEditorValue(dataType)), wrapInArray, onChange);\n\n if (isDateRangeFilterOption(filter)) {\n return (\n <DateRangeEditor\n {...otherProps}\n values={value}\n onChange={handleChange}\n dataTypeDefinition={dataTypeDefinition}\n label={i18n.text('Date Range')}\n />\n );\n } else if (isRangeFilterOption(filter)) {\n return (\n <RangeDataTypeValueEditor\n {...otherProps}\n value={value}\n onChange={handleChange}\n fieldName={fieldName}\n dataTypeDefinition={dataTypeDefinition}\n orientation={orientation}\n TextFieldProps={TextFieldProps}\n />\n );\n } else {\n const multipleProp = isMultiValueOption(filter) ? {multiple: true} : {};\n return (\n <DataTypeValueEditor\n {...otherProps}\n {...multipleProp}\n fieldName={fieldName}\n value={value}\n onChange={handleChange}\n dataTypeDefinition={dataTypeDefinition}\n TextFieldProps={TextFieldProps}\n />\n );\n }\n};\n\nFilterValueEditor.propTypes = {\n filter: FilterType,\n orientation: PropTypes.oneOf(['horizontal', 'vertical']),\n onChange: PropTypes.func,\n dataTypeDefinition: PropTypes.object,\n classes: PropTypes.object,\n TextFieldProps: PropTypes.object\n};\n\nexport default FilterValueEditor;\n"],"names":["BasicTable","forwardRef","ref","columnsData","rowsData","context","sorting","onSort","renderRowCell","defaultRenderRowCell","getRowCellHeight","defaultGetRowCellHeight","filters","onFilter","headRowHeight","maxRowValuesCount","Infinity","autosizing","maxHeight","otherProps","tableHeadData","useMemo","getTableHeadData","tableRowsData","collapseContextValue","useCollapsibleTableRows","length","value","defaultRowHeight","fixHead","headData","sortField","prop","sortOrder","COLUMN_FILTER_HEIGHT","BasicTableType","PropTypes","ColumnDataType","isRequired","SortingType","ColumnFilterType","defaultColumnWidth","defaultColumnMinWidth","classes","highlightRow","cellBorder","dragColumnBody","dragColumnHead","draggableHeadCell","cellWrapper","cellContentWrapper","hoveredRowRightContentContainer","hoveredRowRightContentWrapper","propTypes","displayName","HeadCellRenderer","HeadCellRendererWithFilterAtBottom","columnFilter","style","display","flexDirection","height","flex","useStyles","makeStyles","defaultWrapper","whiteSpace","overflow","textOverflow","padding","blobWrapper","position","overflowY","overflowX","boxSizing","stopPropagation","event","BlobRenderer","styles","className","onScroll","DefaultCellValueRenderer","props","columnData","dataTypeDefinition","type","DataTypes","dataTypeValue","DataTypeValue","ExpandedValueTooltip","RowCollapseContext","React","TableContext","maxWidth","justifyContent","marginRight","backgroundColor","color","FilterChip","filterOption","filterValue","onDelete","canFilterAcceptValues","checkIfOptionHasValues","optionLabel","label","attributePresentations","useSelector","mdm","dateMask","dateTimeMask","formatValue","formatDataTypeValue","convertedValue","mapFilterValue","filterLabel","getFilterValueLabel","Chip","root","FilterValueType","FilterEditor","onChange","filterOptions","valueEditorProps","useSelectStyles","firstOption","filter","DropDownEditor","TextFieldProps","commonTextFieldProps","option","entries","pipe","assoc","__","icon","FilterValueEditor","FilterType","ColumnFilter","columnId","filterOptionsData","anchorEl","setAnchorEl","useState","setColumnFilter","containerRef","useRef","mdmFilter","columnFilterToMdmFilter","id","applyFilterChange","newFilter","clearFilter","applyChangesAndClose","validateFilter","getFilterOptionData","find","propEq","getFilterDataTypeDefinition","defaultTo","getDataTypeDefinitionForFilterValue","Maybe","map","pluck","orSome","getFilterOptionsForDataTypeDefinition","getFilterOptionLabel","IconButton","dropDownButton","onClick","currentTarget","disableFocusRipple","ArrowDropDown","Popover","PaperProps","width","current","getBoundingClientRect","open","anchorOrigin","vertical","horizontal","transformOrigin","paper","filterMenu","onEnter","onClose","mdmFilterToColumnFilter","onKeyPress","key","preventDefault","fullWidth","filterable","HeadCellRendererWithFilter","headCellData","useColumnFilterStyles","TOTAL_ROW_SPAN_KEY","NESTED_KEY_DELIMITER","getSiblingSubRowsKeyBySubRowKey","split","dropLast","join","getParentRowKeyBySiblingsSubRowsKey","unless","always","getParentRowKeyBySubRowKey","countParentSpanByAllSubRows","rowSpanData","siblingSubRowsKey","pickBy","_val","values","sum","calcParentRowSpan","subRowKey","parentKey","currentParentSpan","propOr","actualParentSpan","nextRowSpanData","validateParentRowSpan","subRowsKeys","spanDiff","lowestSubRowKey","lowestSubRowSpan","calcRowSpansForNestedKeys","reduce","nestedKey","omit","keys","sortBy","identity","groupBy","toPairs","chainWithIndex","addIndex","chain","flattenNestedColumnValues","indexPath","head","Array","isArray","index","getNestedKeyForNestedColumnCell","curry","columnNestedPath","cell","zip","unnest","applyCellRenderer","rowIndex","rowValue","cells","columnIndex","findIndex","rowCellValueRenderer","CellValueRenderer","cellIndex","mapObjIndexed","calcHeights","rowData","calcHeightForColumnCells","getNestedKeysFromRowCells","reject","isNil","uniq","calcRowSpansData","calcRowSpans","rowSpansData","isEmpty","rowSpan","addRowSpansToColumnCells","buildRowValues","acc","nestedPath","columnValues","nestedValues","calcNestedKeys","parseNestedColumnValues","wrapInArrayIfNeeded","applyValuesCountConstraint","maxValuesCount","some","evolve","slice","getTableRowsData","rowValues","getRowMaxValuesCount","objOf","description","sortable","resizable","draggable","autoResize","initialWidth","minWidth","headCellRenderer","withFilterAtBottom","DefaultHeadCellRenderer","renderer","withFilter","calcMaxValuesCount","maxCount","cellValues","maxSubNestedValuesCount","add","max","maxPlainValuesCount","Math","getMaxRowValuesCount","valuesCount","expandedIndexes","setExpandedIndexes","useCallback","includes","toggleRowCollapse","equals","concat","remove","getIsRowCollapsible","getIsRowCollapsed","prevRowsData","usePrevious","useDidUpdateEffect","prevRowValue","rawValue","fieldName","buildColumnsFilter","Object","buildFilterQueryString","alignItems","marginLeft","marginTop","borderRadius","fontSize","theme","container","minHeight","header","paddingLeft","title","palette","text","primary","fontWeight","letterSpacing","lineHeight","dateRangeContainer","flexGrow","cursor","paddingTop","dateInput","margin","actionButtons","button","getDate","pathOr","DateRangePicker","onCancel","onApply","minDate","maxDate","editorFromId","nanoid","editorToId","startDate","setStartDate","endDate","setEndDate","ComponentEditor","TimestampEditor","DateEditor","headerTitle","i18n","onKeyDown","e","Toolbar","disableGutters","SmallIconButton","size","ArrowBack","Typography","variant","Button","DropdownIndicatorWithIconButton","selectProps","menuIsOpen","innerProps","useArrowIndicatorStyles","ArrowDropDownIcon","dropdownIndicator","iconClassName","classnames","expanded","getEditorValue","placeholder","options","cond","isEmptyValue","is","String","convertValuesToDate","getDateRangeByValue","Date","transition","menuItem","menuText","underline","transform","inputLabel","main","adornedEnd","paddingRight","inputRoot","localeFormat","moment","longDateFormat","getValuesDateRange","DateRangePickerProps","MenuProps","rangeOptions","AllDateRangeValues","getRangeOptionLabel","inputRef","setOpen","customValue","setCustomValue","onItemClick","handleToggle","TextField","InputProps","endAdornment","disableUnderline","readOnly","InputLabelProps","undefined","shrink","Menu","autoFocus","elevation","getContentAnchorEl","MenuListProps","autoFocusItem","MenuItem","RangeDataTypeValueEditor","orientation","rangeEditorFromId","rangeEditorToId","fromEditor","DataTypeValueEditor","update","toEditor","FormControl","InputLabel","htmlFor","dataType","isDateRangeValue","utils","toEditorValue","handleChange","UTC","getFullYear","getMonth","valueOf","fromEditorValue","wrapInArray","isDateRangeFilterOption","DateRangeEditor","isRangeFilterOption","multipleProp","isMultiValueOption","multiple"],"sourceRoot":""}
|