@reltio/remotes 1.4.1571 → 1.4.1573
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/3094.js +1 -1
- package/3094.js.map +1 -1
- package/4112.js +2 -0
- package/4112.js.map +1 -0
- package/4183.js +1 -1
- package/4469.js +1 -1
- package/4469.js.map +1 -1
- package/4701.js +1 -1
- package/4748.js +1 -1
- package/4748.js.map +1 -1
- package/4957.js +2 -0
- package/4957.js.map +1 -0
- package/5622.js +2 -0
- package/5622.js.map +1 -0
- package/5709.js +1 -1
- package/5709.js.map +1 -1
- package/6051.js +1 -1
- package/6051.js.map +1 -1
- package/6297.js +2 -0
- package/6297.js.map +1 -0
- package/769.js +1 -1
- package/769.js.map +1 -1
- package/9911.js +2 -0
- package/9911.js.map +1 -0
- package/package.json +1 -1
- package/remoteEntry.js +1 -1
- package/remoteEntry.js.map +1 -1
- package/4120.js +0 -2
- package/4120.js.map +0 -1
- package/5232.js +0 -2
- package/5232.js.map +0 -1
- package/545.js +0 -2
- package/545.js.map +0 -1
- package/5953.js +0 -2
- package/5953.js.map +0 -1
- package/9260.js +0 -2
- package/9260.js.map +0 -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.ts","webpack://@reltio/remotes/../components/src/components/BasicTableView/ColumnFilter/helpers.ts","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 case DataTypes.TYPE_REFERENCE:\n return 48 * Math.max(valuesCount, 1);\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';\nimport {ColumnData, ElementsRowsData, GetRowCellHeight, RenderRowCell, RowValue, TableRowsData} from '../../types';\n\ntype Props = {\n rowsData: ElementsRowsData;\n columnsData: ColumnData[];\n renderRowCell: RenderRowCell;\n getRowCellHeight: GetRowCellHeight;\n maxRowValuesCount: number;\n};\n\nconst useCollapsibleTableRows = ({\n rowsData,\n columnsData,\n renderRowCell,\n getRowCellHeight,\n maxRowValuesCount\n}: Props) => {\n const [expandedIndexes, setExpandedIndexes] = useState<Array<number>>([]);\n\n const getRowMaxValuesCount = useCallback(\n (rowIndex) => {\n return expandedIndexes.includes(rowIndex) ? Infinity : maxRowValuesCount;\n },\n [expandedIndexes, maxRowValuesCount]\n );\n\n const tableRowsData: TableRowsData = useMemo(\n () => getTableRowsData(rowsData, columnsData, renderRowCell, getRowCellHeight, getRowMaxValuesCount),\n [rowsData, columnsData, renderRowCell, getRowCellHeight, getRowMaxValuesCount]\n );\n\n const toggleRowCollapse = useCallback((rowIndex: number) => {\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: Record<string, unknown>) => {\n return getMaxRowValuesCount(columnsData, rowValue) > maxRowValuesCount;\n },\n [maxRowValuesCount, columnsData]\n );\n\n const getIsRowCollapsed = useCallback(\n (rowIndex: number) => {\n return !expandedIndexes.includes(rowIndex);\n },\n [expandedIndexes]\n );\n\n const collapseContextValue = useMemo(\n () => ({\n maxRowValuesCount,\n toggleRowCollapse,\n getIsRowCollapsible,\n getIsRowCollapsed\n }),\n [maxRowValuesCount, 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] ?? ({} as RowValue);\n const prevRowValue = prevRowsData[index] ?? ({} as RowValue);\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';\nimport {ColumnData, ColumnFilter} from '../types';\n\nconst columnFilterToMdmFilter = (\n columnData: ColumnData,\n columnFilter: ColumnFilter = {} as unknown as ColumnFilter\n) => ({\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: ColumnData[], filters?: Record<string, ColumnFilter>): string =>\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<string>(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 utils,\n wrapInArray\n} from '@reltio/mdm-sdk';\nimport {pipe} from 'ramda';\nimport RangeDataTypeValueEditor from '../RangeDataTypeValueEditor/RangeDataTypeValueEditor';\nimport DateRangeEditor from '../DateRangeEditor/DateRangeEditor';\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":""}
|
|
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.ts","webpack://@reltio/remotes/../components/src/components/BasicTableView/ColumnFilter/helpers.ts","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, useCallback} 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 getIdFromRowValue,\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 getIdFromRowValue\n });\n\n const {toggleRowCollapse, getIsRowCollapsed} = collapseContextValue;\n\n const onStartDragRow = useCallback(() => {\n setTimeout(() => {\n tableRowsData.forEach((_, index) => {\n if (!getIsRowCollapsed(index)) {\n toggleRowCollapse(index);\n }\n });\n }, 0);\n }, [getIsRowCollapsed, toggleRowCollapse, tableRowsData]);\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 onStartDragRow={onStartDragRow}\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 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 defaultGetIdFromRowValue = (_, rowIndex) => rowIndex;\n\nconst getTableRowsData = (\n rowValues,\n columnsData,\n renderRowCell,\n getRowCellHeight,\n getRowMaxValuesCount = always(Infinity),\n getIdFromRowValue = defaultGetIdFromRowValue\n) =>\n rowValues.map((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 (val) => ({data: val, id: getIdFromRowValue(rowValue, rowIndex)})\n )(columnsData)\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 case DataTypes.TYPE_REFERENCE:\n return 48 * Math.max(valuesCount, 1);\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';\nimport {ColumnData, ElementsRowsData, GetRowCellHeight, RenderRowCell, RowValue, TableRowsData, RowId} from '../../types';\n\ntype Props = {\n rowsData: ElementsRowsData;\n columnsData: ColumnData[];\n renderRowCell: RenderRowCell;\n getRowCellHeight: GetRowCellHeight;\n maxRowValuesCount: number;\n getIdFromRowValue?: (rowValue: RowValue, rowIndex: number) => RowId;\n};\n\nconst useCollapsibleTableRows = ({\n rowsData,\n columnsData,\n renderRowCell,\n getRowCellHeight,\n maxRowValuesCount,\n getIdFromRowValue\n}: Props) => {\n const [expandedIndexes, setExpandedIndexes] = useState<Array<number>>([]);\n\n const getRowMaxValuesCount = useCallback(\n (rowIndex) => {\n return expandedIndexes.includes(rowIndex) ? Infinity : maxRowValuesCount;\n },\n [expandedIndexes, maxRowValuesCount]\n );\n\n const tableRowsData: TableRowsData = useMemo(\n () => getTableRowsData(rowsData, columnsData, renderRowCell, getRowCellHeight, getRowMaxValuesCount, getIdFromRowValue),\n [rowsData, columnsData, renderRowCell, getRowCellHeight, getRowMaxValuesCount, getIdFromRowValue]\n );\n\n const toggleRowCollapse = useCallback((rowIndex: number) => {\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: Record<string, unknown>) => {\n return getMaxRowValuesCount(columnsData, rowValue) > maxRowValuesCount;\n },\n [maxRowValuesCount, columnsData]\n );\n\n const getIsRowCollapsed = useCallback(\n (rowIndex: number) => {\n return !expandedIndexes.includes(rowIndex);\n },\n [expandedIndexes]\n );\n\n const collapseContextValue = useMemo(\n () => ({\n maxRowValuesCount,\n toggleRowCollapse,\n getIsRowCollapsible,\n getIsRowCollapsed\n }),\n [maxRowValuesCount, 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] ?? ({} as RowValue);\n const prevRowValue = prevRowsData[index] ?? ({} as RowValue);\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';\nimport {ColumnData, ColumnFilter} from '../types';\n\nconst columnFilterToMdmFilter = (\n columnData: ColumnData,\n columnFilter: ColumnFilter = {} as unknown as ColumnFilter\n) => ({\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: ColumnData[], filters?: Record<string, ColumnFilter>): string =>\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<string>(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 utils,\n wrapInArray\n} from '@reltio/mdm-sdk';\nimport {pipe} from 'ramda';\nimport RangeDataTypeValueEditor from '../RangeDataTypeValueEditor/RangeDataTypeValueEditor';\nimport DateRangeEditor from '../DateRangeEditor/DateRangeEditor';\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","getIdFromRowValue","otherProps","tableHeadData","useMemo","getTableHeadData","tableRowsData","collapseContextValue","useCollapsibleTableRows","toggleRowCollapse","getIsRowCollapsed","onStartDragRow","useCallback","setTimeout","forEach","_","index","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","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","defaultGetIdFromRowValue","getTableRowsData","rowValues","getRowMaxValuesCount","val","data","description","sortable","resizable","draggable","autoResize","initialWidth","minWidth","headCellRenderer","withFilterAtBottom","DefaultHeadCellRenderer","renderer","withFilter","calcMaxValuesCount","maxCount","cellValues","maxSubNestedValuesCount","add","max","maxPlainValuesCount","Math","getMaxRowValuesCount","valuesCount","expandedIndexes","setExpandedIndexes","includes","equals","concat","remove","getIsRowCollapsible","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":""}
|