@reltio/remotes 1.4.1572 → 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/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/4469.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"4469.js","mappings":"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","sources":["webpack://@reltio/remotes/../../node_modules/@date-io/moment/build/index.esm.js","webpack://@reltio/remotes/../components/src/components/BasicTableView/BasicTable/hooks/useDynamicRowCellHeight.js","webpack://@reltio/remotes/../components/src/icons/Table.tsx","webpack://@reltio/remotes/../components/src/components/BasicTableView/BasicTableHeader/ColumnsSettings/ColumnsSettings.js","webpack://@reltio/remotes/../components/src/components/BasicTableView/BasicTableHeader/ColumnsSettings/styles.js","webpack://@reltio/remotes/../components/src/components/BasicTableView/BasicTableHeader/ColumnsSettings/ColumnListItem.js","webpack://@reltio/remotes/../components/src/components/BasicTableView/BasicTableHeader/ColumnsSettings/ColumnsSettingsPopup.tsx","webpack://@reltio/remotes/../components/src/components/BasicTableView/BasicTableHeader/ColumnsSettings/columnHelpers.js","webpack://@reltio/remotes/../components/src/icons/Filter.tsx","webpack://@reltio/remotes/../components/src/components/BasicTableView/BasicTableHeader/FilterButton/styles.js","webpack://@reltio/remotes/../components/src/components/BasicTableView/BasicTableHeader/FilterButton/FilterButton.js","webpack://@reltio/remotes/../components/src/components/BasicTableView/BasicTablePagination/styles.js","webpack://@reltio/remotes/../components/src/components/BasicTableView/BasicTablePagination/BasicTablePagination.js","webpack://@reltio/remotes/../components/src/components/BasicTableView/RowCellAutoSizer/RowCellAutoSizer.tsx","webpack://@reltio/remotes/../components/src/components/BasicTableView/viewState/basicTableViewState.js","webpack://@reltio/remotes/../components/src/components/BasicView/styles.js","webpack://@reltio/remotes/../components/src/components/BasicView/BasicView.tsx","webpack://@reltio/remotes/../components/src/components/HideOnShrink/HideOnShrink.js","webpack://@reltio/remotes/../components/src/components/SelectorWithOnlyOptionAutoSelect/styles.js","webpack://@reltio/remotes/../components/src/components/SelectorWithOnlyOptionAutoSelect/SelectorWithOnlyOptionAutoSelect.js","webpack://@reltio/remotes/../components/src/components/Spacer/Spacer.js","webpack://@reltio/remotes/../components/src/components/VerticalDivider/VerticalDivider.js","webpack://@reltio/remotes/../components/src/components/ViewMoreToggle/styles.js","webpack://@reltio/remotes/../components/src/components/ViewMoreToggle/ViewMoreToggle.js","webpack://@reltio/remotes/../components/src/hooks/useActions.ts","webpack://@reltio/remotes/../components/src/hooks/useSavedStateForEntityType.ts","webpack://@reltio/remotes/../interactions/src/InteractionsTableView/helpers/filtersHelpers.ts","webpack://@reltio/remotes/../interactions/src/InteractionsTableView/helpers/tableHelpers.ts","webpack://@reltio/remotes/../interactions/src/InteractionsTableView/InteractionsTable/cell-renderers/styles.js","webpack://@reltio/remotes/../interactions/src/InteractionsTableView/InteractionsTable/cell-renderers/RowCellRenderer.js","webpack://@reltio/remotes/../interactions/src/InteractionsTableView/InteractionsTable/cell-renderers/HeadCellRenderer.js","webpack://@reltio/remotes/../interactions/src/InteractionsTableView/InteractionsTable/cell-renderers/ActorsRenderer.js","webpack://@reltio/remotes/../interactions/src/InteractionsTableView/InteractionsTable/cell-renderers/DefaultCellValueRenderer.js","webpack://@reltio/remotes/../interactions/src/InteractionsTableView/InteractionsTable/cell-renderers/BlobRenderer.js","webpack://@reltio/remotes/../interactions/src/InteractionsTableView/InteractionsTable/cell-renderers/LinkRenderer.js","webpack://@reltio/remotes/../interactions/src/InteractionsTableView/InteractionsTable/cell-renderers/AttributesRenderer.js","webpack://@reltio/remotes/../interactions/src/InteractionsTableView/InteractionsTable/helpers/dataHelpers.ts","webpack://@reltio/remotes/../interactions/src/InteractionsTableView/InteractionsTable/styles.ts","webpack://@reltio/remotes/../interactions/src/InteractionsTableView/InteractionsTable/InteractionsTable.tsx","webpack://@reltio/remotes/../interactions/src/InteractionsTableView/InteractionsTableHeader/styles.js","webpack://@reltio/remotes/../interactions/src/InteractionsTableView/InteractionsTableHeader/InteractionTypeSelector/InteractionTypeSelector.js","webpack://@reltio/remotes/../interactions/src/InteractionsTableView/InteractionsTableHeader/InteractionsTableHeader.js","webpack://@reltio/remotes/../interactions/src/InteractionsTableView/stateReducer.ts","webpack://@reltio/remotes/../interactions/src/InteractionsTableView/styles.ts","webpack://@reltio/remotes/../interactions/src/InteractionsTableView/index.tsx","webpack://@reltio/remotes/../interactions/src/InteractionsTableView/hooks/useInteractions.ts","webpack://@reltio/remotes/../interactions/src/index.tsx","webpack://@reltio/remotes/./src/interactions.ts"],"sourcesContent":["import defaultMoment from 'moment';\n\nvar MomentUtils = /** @class */ (function () {\n function MomentUtils(_a) {\n var _b = _a === void 0 ? {} : _a, locale = _b.locale, instance = _b.instance, moment = _b.moment;\n this.yearFormat = \"YYYY\";\n this.yearMonthFormat = \"MMMM YYYY\";\n this.dateTime12hFormat = \"MMMM Do hh:mm a\";\n this.dateTime24hFormat = \"MMMM Do HH:mm\";\n this.time12hFormat = \"hh:mm A\";\n this.time24hFormat = \"HH:mm\";\n this.dateFormat = \"MMMM Do\";\n this.moment = instance || moment || defaultMoment;\n this.locale = locale;\n }\n MomentUtils.prototype.parse = function (value, format) {\n if (value === \"\") {\n return null;\n }\n return this.moment(value, format, true);\n };\n MomentUtils.prototype.date = function (value) {\n if (value === null) {\n return null;\n }\n var moment = this.moment(value);\n moment.locale(this.locale);\n return moment;\n };\n MomentUtils.prototype.isValid = function (value) {\n return this.moment(value).isValid();\n };\n MomentUtils.prototype.isNull = function (date) {\n return date === null;\n };\n MomentUtils.prototype.getDiff = function (date, comparing) {\n return date.diff(comparing);\n };\n MomentUtils.prototype.isAfter = function (date, value) {\n return date.isAfter(value);\n };\n MomentUtils.prototype.isBefore = function (date, value) {\n return date.isBefore(value);\n };\n MomentUtils.prototype.isAfterDay = function (date, value) {\n return date.isAfter(value, \"day\");\n };\n MomentUtils.prototype.isBeforeDay = function (date, value) {\n return date.isBefore(value, \"day\");\n };\n MomentUtils.prototype.isBeforeYear = function (date, value) {\n return date.isBefore(value, \"year\");\n };\n MomentUtils.prototype.isAfterYear = function (date, value) {\n return date.isAfter(value, \"year\");\n };\n MomentUtils.prototype.startOfDay = function (date) {\n return date.clone().startOf(\"day\");\n };\n MomentUtils.prototype.endOfDay = function (date) {\n return date.clone().endOf(\"day\");\n };\n MomentUtils.prototype.format = function (date, formatString) {\n date.locale(this.locale);\n return date.format(formatString);\n };\n MomentUtils.prototype.formatNumber = function (numberToFormat) {\n return numberToFormat;\n };\n MomentUtils.prototype.getHours = function (date) {\n return date.get(\"hours\");\n };\n MomentUtils.prototype.addDays = function (date, count) {\n return count < 0\n ? date.clone().subtract(Math.abs(count), \"days\")\n : date.clone().add(count, \"days\");\n };\n MomentUtils.prototype.setHours = function (date, count) {\n return date.clone().hours(count);\n };\n MomentUtils.prototype.getMinutes = function (date) {\n return date.get(\"minutes\");\n };\n MomentUtils.prototype.setMinutes = function (date, count) {\n return date.clone().minutes(count);\n };\n MomentUtils.prototype.getSeconds = function (date) {\n return date.get(\"seconds\");\n };\n MomentUtils.prototype.setSeconds = function (date, count) {\n return date.clone().seconds(count);\n };\n MomentUtils.prototype.getMonth = function (date) {\n return date.get(\"month\");\n };\n MomentUtils.prototype.isSameDay = function (date, comparing) {\n return date.isSame(comparing, \"day\");\n };\n MomentUtils.prototype.isSameMonth = function (date, comparing) {\n return date.isSame(comparing, \"month\");\n };\n MomentUtils.prototype.isSameYear = function (date, comparing) {\n return date.isSame(comparing, \"year\");\n };\n MomentUtils.prototype.isSameHour = function (date, comparing) {\n return date.isSame(comparing, \"hour\");\n };\n MomentUtils.prototype.setMonth = function (date, count) {\n return date.clone().month(count);\n };\n MomentUtils.prototype.getMeridiemText = function (ampm) {\n return ampm === \"am\" ? \"AM\" : \"PM\";\n };\n MomentUtils.prototype.startOfMonth = function (date) {\n return date.clone().startOf(\"month\");\n };\n MomentUtils.prototype.endOfMonth = function (date) {\n return date.clone().endOf(\"month\");\n };\n MomentUtils.prototype.getNextMonth = function (date) {\n return date.clone().add(1, \"month\");\n };\n MomentUtils.prototype.getPreviousMonth = function (date) {\n return date.clone().subtract(1, \"month\");\n };\n MomentUtils.prototype.getMonthArray = function (date) {\n var firstMonth = date.clone().startOf(\"year\");\n var monthArray = [firstMonth];\n while (monthArray.length < 12) {\n var prevMonth = monthArray[monthArray.length - 1];\n monthArray.push(this.getNextMonth(prevMonth));\n }\n return monthArray;\n };\n MomentUtils.prototype.getYear = function (date) {\n return date.get(\"year\");\n };\n MomentUtils.prototype.setYear = function (date, year) {\n return date.clone().set(\"year\", year);\n };\n MomentUtils.prototype.mergeDateAndTime = function (date, time) {\n return this.setMinutes(this.setHours(date, this.getHours(time)), this.getMinutes(time));\n };\n MomentUtils.prototype.getWeekdays = function () {\n return this.moment.weekdaysShort(true);\n };\n MomentUtils.prototype.isEqual = function (value, comparing) {\n if (value === null && comparing === null) {\n return true;\n }\n return this.moment(value).isSame(comparing);\n };\n MomentUtils.prototype.getWeekArray = function (date) {\n var start = date\n .clone()\n .startOf(\"month\")\n .startOf(\"week\");\n var end = date\n .clone()\n .endOf(\"month\")\n .endOf(\"week\");\n var count = 0;\n var current = start;\n var nestedWeeks = [];\n while (current.isBefore(end)) {\n var weekNumber = Math.floor(count / 7);\n nestedWeeks[weekNumber] = nestedWeeks[weekNumber] || [];\n nestedWeeks[weekNumber].push(current);\n current = current.clone().add(1, \"day\");\n count += 1;\n }\n return nestedWeeks;\n };\n MomentUtils.prototype.getYearRange = function (start, end) {\n var startDate = this.moment(start).startOf(\"year\");\n var endDate = this.moment(end).endOf(\"year\");\n var years = [];\n var current = startDate;\n while (current.isBefore(endDate)) {\n years.push(current);\n current = current.clone().add(1, \"year\");\n }\n return years;\n };\n // displaying methods\n MomentUtils.prototype.getCalendarHeaderText = function (date) {\n return this.format(date, this.yearMonthFormat);\n };\n MomentUtils.prototype.getYearText = function (date) {\n return this.format(date, \"YYYY\");\n };\n MomentUtils.prototype.getDatePickerHeaderText = function (date) {\n return this.format(date, \"ddd, MMM D\");\n };\n MomentUtils.prototype.getDateTimePickerHeaderText = function (date) {\n return this.format(date, \"MMM D\");\n };\n MomentUtils.prototype.getMonthText = function (date) {\n return this.format(date, \"MMMM\");\n };\n MomentUtils.prototype.getDayText = function (date) {\n return this.format(date, \"D\");\n };\n MomentUtils.prototype.getHourText = function (date, ampm) {\n return this.format(date, ampm ? \"hh\" : \"HH\");\n };\n MomentUtils.prototype.getMinuteText = function (date) {\n return this.format(date, \"mm\");\n };\n MomentUtils.prototype.getSecondText = function (date) {\n return this.format(date, \"ss\");\n };\n return MomentUtils;\n}());\n\nexport default MomentUtils;\n","import {useCallback, useRef, useState} from 'react';\nimport {__, curry, identity, pipe, prop, useWith, equals} from 'ramda';\nimport {debounce} from '@reltio/mdm-sdk';\n\nconst getRowCellKey = ({rowIndex, columnData: {id}, cellIndex}) => `${id}[${rowIndex}][${cellIndex}]`;\n\nconst useDynamicRowCellHeight = () => {\n const [rowCellHeightsMap, setRowCellHeightsMap] = useState({});\n const rowCellHeightsMapCache = useRef({});\n const batchHeightUpdate = (key, value) => {\n rowCellHeightsMapCache.current[key] = value;\n };\n const flushHeightUpdates = useCallback(\n debounce(() => {\n setRowCellHeightsMap((prev) => {\n const next = {...rowCellHeightsMapCache.current};\n return equals(prev, next) ? prev : next;\n });\n }),\n []\n );\n const clearHeightsCache = useCallback(() => {\n rowCellHeightsMapCache.current = {};\n }, []);\n\n const getDynamicRowCellHeight = useCallback(pipe(getRowCellKey, prop(__, rowCellHeightsMap)), [rowCellHeightsMap]);\n\n const changeRowCellHeight = useCallback(\n curry(useWith(pipe(batchHeightUpdate, flushHeightUpdates), [getRowCellKey, identity])),\n []\n );\n\n return {getDynamicRowCellHeight, changeRowCellHeight, clearHeightsCache};\n};\n\nexport default useDynamicRowCellHeight;\n","import React from 'react';\n\nconst SvgTable: React.FC<React.SVGProps<SVGSVGElement>> = (props) => {\n return (\n <svg width={20} height={18} viewBox=\"0 0 20 18\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path\n d=\"M16 7.24V6h-4v1.24a8.417 8.417 0 00-2 .768V6H6v6h.29a8.497 8.497 0 00-.15.358l-.29.733.29.733.07.176H2c-1.1 0-2-.9-2-2V2C0 .9.9 0 2 0h14c1.1 0 2 .9 2 2v6.008a8.417 8.417 0 00-2-.768zM4 12V6H2v6h2zm0-8V2H2v2h2zm6 0V2H6v2h4zm6 0V2h-4v2h4zm-2 5a6.451 6.451 0 00-6 4.09 6.451 6.451 0 006 4.092 6.451 6.451 0 006-4.091A6.451 6.451 0 0014 9zm0 6.818a2.728 2.728 0 010-5.454 2.728 2.728 0 010 5.454zm0-4.363c-.905 0-1.636.73-1.636 1.636 0 .905.73 1.636 1.636 1.636.905 0 1.636-.73 1.636-1.636 0-.906-.73-1.636-1.636-1.636z\"\n fill=\"#000\"\n fillRule=\"nonzero\"\n stroke=\"none\"\n strokeWidth={1}\n opacity={0.54}\n />\n </svg>\n );\n};\n\nexport default SvgTable;\n","import React, {useCallback, useState} from 'react';\nimport PropTypes from 'prop-types';\nimport {ColumnsDataType} from '../../../../constants';\nimport TableIcon from '../../../../icons/Table';\nimport {SmallIconButtonWithTooltip} from '../../../SmallIconButton';\nimport {pipe, uniq, pluck, difference, concat} from 'ramda';\n\nimport {ColumnsSettingsPopup} from './ColumnsSettingsPopup';\n\nimport i18n from 'ui-i18n';\nimport {getChildColumns, isColumnSelected} from './columnHelpers';\n\nconst ColumnsSettings = ({columnsData, selectedColumns, onChangeColumns, title, tooltipTitle}) => {\n const [anchorEl, setAnchorEl] = useState(null);\n const openPopup = (event) => setAnchorEl(event.currentTarget);\n const closePopup = () => setAnchorEl(null);\n const handleColumnClick = useCallback(\n (column) => {\n const changedColumns = pipe(getChildColumns, pluck('id'))(column);\n const wasSelected = isColumnSelected(selectedColumns, column);\n onChangeColumns(\n wasSelected\n ? difference(selectedColumns, changedColumns)\n : uniq(concat(selectedColumns, changedColumns))\n );\n },\n [selectedColumns, onChangeColumns]\n );\n return (\n <>\n <SmallIconButtonWithTooltip\n tooltipTitle={tooltipTitle || i18n.text('Show/hide columns')}\n size=\"L\"\n icon={TableIcon}\n onClick={openPopup}\n />\n <ColumnsSettingsPopup\n onColumnClick={handleColumnClick}\n anchorEl={anchorEl}\n columnsData={columnsData}\n onClose={closePopup}\n title={title}\n selectedColumns={selectedColumns}\n />\n </>\n );\n};\n\nColumnsSettings.propTypes = {\n columnsData: ColumnsDataType,\n selectedColumns: PropTypes.arrayOf(PropTypes.string),\n onChangeColumns: PropTypes.func,\n title: PropTypes.string,\n tooltipTitle: PropTypes.string\n};\n\nexport default ColumnsSettings;\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles({\n popup: {\n minWidth: '200px'\n },\n groupItem: {\n backgroundColor: 'rgba(0,0,0,0.04)'\n }\n});\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport AttributeListItem from '../../../AttributeListItem/AttributeListItem';\nimport Highlighter from '../../../Highlighter/Highlighter';\n\nimport classnames from 'classnames';\nimport {useStyles} from './styles';\n\nconst ColumnListItem = ({item, onClick, checked, level, style, isFocused, isGroupItem, hideCheckBox}) => {\n const styles = useStyles();\n return (\n <AttributeListItem\n hideCheckBox={hideCheckBox}\n key={item.id}\n onClick={onClick}\n checked={checked}\n level={level}\n data={item}\n label={<Highlighter text={item.label} highlight={item.filterText} />}\n labelInText={item.label}\n style={style}\n isFocused={isFocused}\n hideIcon={isGroupItem}\n className={classnames({[styles.groupItem]: isGroupItem})}\n />\n );\n};\n\nColumnListItem.propTypes = {\n item: PropTypes.shape({\n label: PropTypes.string,\n filterText: PropTypes.string\n }),\n level: PropTypes.number,\n onClick: PropTypes.func,\n checked: PropTypes.bool,\n style: PropTypes.object,\n isGroupItem: PropTypes.bool,\n isFocused: PropTypes.bool,\n hideCheckBox: PropTypes.bool\n};\n\nexport default ColumnListItem;\n","import React, {useState, useMemo, useCallback} from 'react';\nimport i18n from 'ui-i18n';\nimport {pipe} from 'ramda';\n\nimport {getMaxItemWidth, DataTypeDefinition} from '@reltio/mdm-sdk';\n\nimport VirtualGroupedList from '../../../VirtualGroupedList/VirtualGroupedList';\nimport SelectionPopup from '../../../SelectionPopup/SelectionPopup';\nimport {buildColumnItems, isColumnSelected, isGroupColumn} from './columnHelpers';\nimport {flattenGroupedItemsData} from '../../../VirtualGroupedList/helpers';\nimport {useKeyboardNavigation} from '../../../SelectionPopup/helpers';\nimport ColumnListItem from './ColumnListItem';\n\nimport {useStyles} from './styles';\nimport {ListItemProps} from '@material-ui/core/ListItem';\n\ntype Column = {\n id: string;\n label: string;\n};\n\ntype GroupedColumnData =\n | {\n id: string;\n label: string;\n columns: Column[];\n }\n | Column;\n\ntype GroupedColumnList = {\n id: string;\n groupId: string;\n label: string;\n attrType: DataTypeDefinition;\n};\n\ntype Props = {\n anchorEl: HTMLElement;\n onClose: () => void;\n title?: string;\n columnsData: GroupedColumnData[];\n onColumnClick: (column: {id: string}) => void;\n selectedColumns: string[];\n hideCheckBox?: boolean;\n};\n\nconst ITEM_HEIGHT = 32;\nconst MAX_LIST_CONTAINER_HEIGHT = 300;\nconst DEFAULT_MIN_CONTAINER_WIDTH = 308;\nconst CONTAINER_HEADER_HEIGHT = 108;\nconst MIN_CONTAINER_HEIGHT = 140;\n\nexport const ColumnsSettingsPopup = ({\n anchorEl,\n onClose,\n title,\n columnsData,\n onColumnClick,\n selectedColumns,\n hideCheckBox\n}: Props) => {\n const styles = useStyles();\n const [filterText, setFilterText] = useState('');\n const clearFilter = () => setFilterText('');\n const groupedItems = useMemo(() => buildColumnItems(columnsData, filterText), [columnsData, filterText]);\n\n const items = useMemo(() => flattenGroupedItemsData(groupedItems), [groupedItems]);\n const containerWidth: number = getMaxItemWidth('label')(groupedItems) || DEFAULT_MIN_CONTAINER_WIDTH;\n\n const handleSearchOnEnter = useCallback(\n ({item}: {item: {id: string}; groupData: {item: {id: string}}}) => onColumnClick(item),\n [onColumnClick]\n );\n\n const {focusIndex, handleKeyDown} = useKeyboardNavigation({\n items,\n open: true,\n onSelectFocusedItem: handleSearchOnEnter,\n selectedItems: selectedColumns,\n onClose\n });\n const handleClose = useCallback(pipe(onClose, clearFilter), [onClose]);\n\n const renderColumnItem = (\n style: ListItemProps['style'],\n {item, level = 0}: {item: GroupedColumnList; level?: number},\n index: number\n ) => {\n return (\n <ColumnListItem\n hideCheckBox={hideCheckBox}\n style={style}\n item={item}\n level={level}\n isFocused={focusIndex === index}\n checked={isColumnSelected(selectedColumns, item)}\n isGroupItem={isGroupColumn(item)}\n onClick={hideCheckBox ? pipe(onColumnClick, handleClose) : onColumnClick}\n />\n );\n };\n\n const listHeight = Math.min(MAX_LIST_CONTAINER_HEIGHT, ITEM_HEIGHT * items.length);\n const containerHeight = Math.max(MIN_CONTAINER_HEIGHT, listHeight + CONTAINER_HEADER_HEIGHT);\n\n return (\n <SelectionPopup\n className={styles.popup}\n open={!!anchorEl}\n anchorEl={anchorEl}\n onClose={handleClose}\n onSearch={setFilterText}\n title={title || i18n.text('Show/hide columns')}\n containerWidth={containerWidth}\n containerHeight={containerHeight}\n searchInputOnKeyDown={handleKeyDown}\n >\n <VirtualGroupedList\n fixedTitle={false}\n height={listHeight}\n renderItem={renderColumnItem}\n items={items}\n getItemSize={() => ITEM_HEIGHT}\n focusIndex={focusIndex}\n />\n </SelectionPopup>\n );\n};\n","import {assoc, chain, curry, either, filter, has, pipe, propOr, reduce, when} from 'ramda';\nimport {utils} from '@reltio/mdm-sdk';\n\nconst isGroupColumn = (column) => column.id === column.groupId;\nconst isParentToColumn = curry(\n ({id, groupId}, parent) => parent.groupId === groupId && (id === parent.id || id.startsWith(`${parent.id}.`))\n);\nconst isGroupToColumn = curry(({groupId}, group) => groupId === group.id);\nconst isHideableColumn = propOr(true, 'hideable');\n\nconst getColumnRoot = (columns, column) => columns.find(either(isGroupToColumn(column), isParentToColumn(column)));\n\nconst addColumn = (columns, column) => {\n const root = getColumnRoot(columns, column);\n if (root) {\n root.children = addColumn(root.children || [], column);\n return columns;\n } else {\n return columns.concat(column);\n }\n};\n\nconst filterColumnsByLabel = curry(\n (filterText, column) =>\n utils.strings.search(column.label, filterText) || (column.children || []).some(filterColumnsByLabel(filterText))\n);\n\nconst buildColumnsTrees = reduce(\n (acc, columnData) =>\n addColumn(acc, {\n id: columnData.id,\n groupId: columnData.groupId,\n label: columnData.label,\n attrType: columnData.dataTypeDefinition\n }),\n []\n);\n\nconst buildFilteredColumnItems = curry((filterText, columns, level = 0) =>\n pipe(\n filter(filterColumnsByLabel(filterText)),\n chain((column) => {\n const item = {\n item: {...column, filterText},\n level\n };\n const childrenItems = column.children\n ? buildFilteredColumnItems(filterText, column.children, level + 1)\n : [];\n return [item, ...childrenItems];\n })\n )(columns)\n);\n\nconst isGroupedColumnsData = has('columns');\nconst flattenGroupedColumnsData = ({id, label, columns}) => [\n {id, groupId: id, label},\n ...columns.map(assoc('groupId', id))\n];\n\nconst buildColumnItems = (columnsData, filterText) => {\n return pipe(\n chain(when(isGroupedColumnsData, flattenGroupedColumnsData)),\n filter(either(isGroupColumn, isHideableColumn)),\n buildColumnsTrees,\n buildFilteredColumnItems(filterText)\n )(columnsData);\n};\n\nconst getChildColumns = (column) => (column.children ? chain(getChildColumns, column.children) : [column]);\n\nconst isColumnSelected = (selectedColumns, column) => {\n const childColumns = getChildColumns(column);\n const isColumnSelected = (column) => selectedColumns.includes(column.id);\n return isGroupColumn(column) ? childColumns.every(isColumnSelected) : childColumns.some(isColumnSelected);\n};\n\nexport {buildColumnItems, getChildColumns, isGroupColumn, isColumnSelected};\n","import React from 'react';\n\nconst SvgFilter: React.FC<React.SVGProps<SVGSVGElement>> = (props) => {\n return (\n <svg width={18} height={18} viewBox=\"0 0 18 18\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path d=\"M18 2V0H0v2l7 8v8l4-2v-6z\" fill=\"currentColor\" fillRule=\"nonzero\" stroke=\"none\" strokeWidth={1} />\n </svg>\n );\n};\n\nexport default SvgFilter;\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles((theme) => ({\n 'filterIcon--enabled': {\n color: theme.palette.primary.main\n },\n closeIcon: {\n position: 'absolute',\n right: '3px',\n bottom: '3px',\n transform: 'scale(0.5)'\n },\n button: {\n padding: '11px'\n }\n}));\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport i18n from 'ui-i18n';\nimport {IconButton as IconButton} from '@material-ui/core';\nimport CloseIcon from '@material-ui/icons/Close';\nimport {Tooltip as Tooltip} from '@material-ui/core';\nimport FilterIcon from '../../../../icons/Filter';\nimport {useStyles} from './styles';\n\nconst FilterButton = ({enabled, onClick}) => {\n const styles = useStyles();\n\n return (\n <Tooltip title={enabled ? i18n.text('Clear all filters') : i18n.text('Filter')}>\n <IconButton onClick={onClick} classes={{root: styles.button}}>\n {enabled ? (\n <>\n <FilterIcon className={styles['filterIcon--enabled']} />\n <CloseIcon color=\"primary\" className={styles.closeIcon} />\n </>\n ) : (\n <FilterIcon />\n )}\n </IconButton>\n </Tooltip>\n );\n};\n\nFilterButton.propTypes = {\n enabled: PropTypes.bool,\n onClick: PropTypes.func\n};\n\nexport default FilterButton;\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles({\n pagination: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'flex-end',\n height: '56px',\n borderTop: '1px solid rgba(0,0,0,0.12)',\n boxShadow: 'none'\n },\n caption: {\n color: 'rgba(0,0,0,0.6)',\n fontSize: '12px',\n lineHeight: '16px'\n },\n selectRoot: {\n marginLeft: '5px',\n marginRight: '36px'\n },\n select: {\n color: 'rgba(0,0,0,0.6)',\n fontSize: '12px',\n lineHeight: '16px',\n textAlign: 'right'\n },\n actions: {\n marginLeft: '32px'\n }\n});\n","import PropTypes from 'prop-types';\nimport React, {useCallback} from 'react';\nimport classnames from 'classnames';\nimport {TablePagination as TablePagination} from '@material-ui/core';\nimport i18n from 'ui-i18n';\nimport {getValue} from '../../../core/utils';\nimport {nthArg, pipe, pathOr, identity} from 'ramda';\nimport {useStyles} from './styles';\n\nconst BasicTablePagination = ({\n classes = {},\n count,\n rowsPerPageOptions,\n page,\n onChangePage,\n rowsPerPage,\n onChangeRowsPerPage,\n basicTableRef,\n labelRowsPerPage\n}) => {\n const labelDisplayedRows = ({from, to, count}) =>\n i18n.text('${fromRow}-${toRow} of ${countRows}', {\n fromRow: i18n.number(from, '0,0'),\n toRow: i18n.number(to, '0,0'),\n countRows: i18n.number(count, '0,0')\n });\n const styles = useStyles();\n const resetScrollbarPosition = useCallback(() => {\n pathOr(identity, ['current', 'resetScrollbarPosition'], basicTableRef)();\n }, [basicTableRef]);\n const handleChangePage = useCallback(\n (value) => {\n onChangePage(value);\n resetScrollbarPosition();\n },\n [onChangePage, resetScrollbarPosition]\n );\n const handleChangeRowsPerPage = useCallback(\n (value) => {\n onChangePage(0);\n onChangeRowsPerPage(value);\n resetScrollbarPosition();\n },\n [onChangePage, onChangeRowsPerPage, resetScrollbarPosition]\n );\n return (\n <TablePagination\n classes={{\n ...classes,\n root: classnames(styles.pagination, classes.root),\n select: classnames(styles.select, classes.select),\n caption: styles.caption,\n selectRoot: styles.selectRoot,\n actions: styles.actions\n }}\n component=\"div\"\n labelRowsPerPage={labelRowsPerPage || i18n.text('Rows per page:')}\n labelDisplayedRows={labelDisplayedRows}\n count={count}\n rowsPerPageOptions={rowsPerPageOptions}\n page={page}\n onChangePage={pipe(nthArg(1), handleChangePage)}\n rowsPerPage={rowsPerPage}\n onChangeRowsPerPage={pipe(getValue, handleChangeRowsPerPage)}\n />\n );\n};\n\nBasicTablePagination.propTypes = {\n classes: PropTypes.object,\n rowsPerPageOptions: PropTypes.arrayOf(PropTypes.number),\n count: PropTypes.number,\n page: PropTypes.number,\n onChangePage: PropTypes.func,\n rowsPerPage: PropTypes.number,\n onChangeRowsPerPage: PropTypes.func,\n basicTableRef: PropTypes.shape({current: PropTypes.object}),\n labelRowsPerPage: PropTypes.string\n};\n\nexport default React.memo(BasicTablePagination);\n","import React, {ReactNode, useRef} from 'react';\n\nimport ReactResizeDetector from 'react-resize-detector';\nimport {useDidUpdateEffect} from '../../../hooks';\nimport {ColumnData, RenderRowCellProps} from '../types';\n\ntype OnChangeHeightProps = {\n rowIndex: number;\n cellIndex: number;\n columnData: ColumnData;\n};\n\ntype Props = {\n onChangeHeight: (props: OnChangeHeightProps) => (size: number) => void;\n children: ReactNode;\n} & RenderRowCellProps;\n\nconst RowCellAutoSizer = ({onChangeHeight, children: cell, ...cellProps}: Props) => {\n const cellRef = useRef<HTMLDivElement>();\n const {rowValue, rowIndex, columnData, cellIndex} = cellProps;\n const changeCellHeight = onChangeHeight({rowIndex, cellIndex, columnData});\n\n const adjustCellHeight = () => cellRef.current && changeCellHeight(cellRef.current.clientHeight);\n\n useDidUpdateEffect(adjustCellHeight, [rowValue.rawValue]);\n\n return (\n <div ref={cellRef}>\n <ReactResizeDetector handleHeight onResize={adjustCellHeight} />\n {cell}\n </div>\n );\n};\n\nexport default RowCellAutoSizer;\n","import {always, assoc, difference, dissoc, evolve, keys, path, when} from 'ramda';\nimport {createStandardAction, toggleSortOrder} from '../../../core';\n\nconst CHANGE_COLUMNS = 'CHANGE_COLUMNS';\nconst TOGGLE_FILTERS = 'TOGGLE_FILTERS';\nconst CHANGE_FILTER = 'CHANGE_FILTER';\nconst TOGGLE_SORT = 'TOGGLE_SORT';\nconst CHANGE_PAGE = 'CHANGE_PAGE';\nconst CHANGE_ROWS_PER_PAGE = 'CHANGE_ROWS_PER_PAGE';\n\nexport const actions = {\n changeColumns: createStandardAction(CHANGE_COLUMNS),\n toggleFilters: createStandardAction(TOGGLE_FILTERS),\n changeFilter: createStandardAction(CHANGE_FILTER),\n toggleSort: createStandardAction(TOGGLE_SORT),\n changePage: createStandardAction(CHANGE_PAGE),\n changeRowsPerPage: createStandardAction(CHANGE_ROWS_PER_PAGE)\n};\n\nexport const changeVisibleColumns = (state, nextVisibleColumns) => {\n const removedColumns = difference(state.visibleColumns, nextVisibleColumns);\n const isRemovedColumn = (columnId) => removedColumns.includes(columnId);\n return evolve(\n {\n visibleColumns: always(nextVisibleColumns),\n sorting: when(\n (sorting = {}) => isRemovedColumn(sorting.field),\n () => {\n const [nextSortField] = nextVisibleColumns;\n return {field: nextSortField, order: 'asc'};\n }\n ),\n filters: (filters) =>\n keys(filters).reduce(\n (acc, columnId) => (isRemovedColumn(columnId) ? dissoc(columnId, acc) : acc),\n filters\n )\n },\n state\n );\n};\n\nexport const reducer = (state, action) => {\n switch (action.type) {\n case CHANGE_COLUMNS: {\n const columnIds = action.payload;\n return changeVisibleColumns(state, columnIds);\n }\n case TOGGLE_FILTERS: {\n const enableFilters = !state.filters;\n return {\n ...state,\n filters: enableFilters ? {} : null,\n page: enableFilters ? state.page : 0\n };\n }\n case CHANGE_FILTER: {\n const {columnId, filter} = action.payload;\n return evolve({filters: filter ? assoc(columnId, filter) : dissoc(columnId), page: always(0)}, state);\n }\n case TOGGLE_SORT: {\n const nextSortField = action.payload;\n const prevSortField = path(['sorting', 'field'], state);\n const prevSortOrder = path(['sorting', 'order'], state);\n return {\n ...state,\n sorting: {\n field: nextSortField,\n order: toggleSortOrder(nextSortField === prevSortField ? prevSortOrder : null)\n },\n page: 0\n };\n }\n case CHANGE_PAGE:\n return {...state, page: action.payload};\n case CHANGE_ROWS_PER_PAGE:\n return {...state, rowsPerPage: action.payload};\n default:\n return state;\n }\n};\n\nexport default {\n reducer,\n actions,\n changeVisibleColumns\n};\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles((theme) => ({\n 'basic-view__paper': {\n display: 'flex',\n flexDirection: 'column',\n ...theme.basicView\n }\n}));\n","import Paper, {PaperProps} from '@material-ui/core/Paper';\nimport PropTypes from 'prop-types';\nimport React, {forwardRef, Ref} from 'react';\nimport {useStyles} from './styles';\n\nconst BasicView = forwardRef<Ref<typeof Paper>, PaperProps>(({children, className, ...otherProps}, ref) => {\n const styles = useStyles();\n return (\n <Paper ref={ref} className={className} classes={{root: styles['basic-view__paper']}} {...otherProps}>\n {children}\n </Paper>\n );\n});\n\nBasicView.displayName = 'BasicView';\n\nBasicView.propTypes = {\n children: PropTypes.node,\n className: PropTypes.string\n};\n\nexport default BasicView;\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport ReactResizeDetector from 'react-resize-detector';\n\nconst EmptyStub = () => <div style={{display: 'none'}} />;\n\nconst HideOnShrink = ({widthToHide, children}) => (\n <ReactResizeDetector\n handleWidth={true}\n render={({width}) => (width > widthToHide ? <>{children}</> : <EmptyStub />)}\n />\n);\n\nHideOnShrink.propTypes = {\n children: PropTypes.node,\n widthToHide: PropTypes.number.isRequired\n};\n\nexport default HideOnShrink;\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles({\n onlyValue: {\n color: 'rgba(0,0,0,.6)',\n fontSize: '13px',\n fontWeight: 'normal',\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis',\n overflow: 'hidden'\n },\n select: {\n fontSize: '13px',\n color: 'rgba(0,0,0,.6)',\n paddingLeft: '15px',\n '&&': {\n paddingRight: '35px'\n }\n },\n selectMenu: {\n '& li': {\n fontSize: '13px',\n height: '32px'\n }\n },\n textField: {\n maxWidth: '100%'\n }\n});\n","import React, {useEffect} from 'react';\nimport PropTypes from 'prop-types';\n\nimport {Typography as Typography} from '@material-ui/core';\nimport {useStyles} from './styles';\nimport DropDownEditor from '../editors/DropDownEditor/DropDownEditor';\n\nconst SelectorWithOnlyOptionAutoSelect = ({value, onChange, options, classes = {}, emptyLabel}) => {\n const styles = useStyles();\n\n const [firstOption, ...moreOptions] = options;\n const hasOnlyOneOptionToSelect = moreOptions.length === 0;\n\n useEffect(() => {\n if (hasOnlyOneOptionToSelect && value !== firstOption.value) {\n onChange(firstOption.value);\n }\n }, [firstOption.value]); // eslint-disable-line\n\n const displayEmpty = !!emptyLabel;\n\n return (\n <div className={classes.root}>\n {hasOnlyOneOptionToSelect ? (\n <Typography className={classes.onlyValue || styles.onlyValue} variant={'h6'}>\n {firstOption.label}\n </Typography>\n ) : (\n <DropDownEditor\n displayEmpty={displayEmpty}\n disableUnderline={true}\n classes={{\n select: classes.select || styles.select\n }}\n TextFieldProps={{\n classes: {\n root: classes.textField || styles.textField\n }\n }}\n MenuProps={{\n classes: {\n list: classes.selectMenu || styles.selectMenu\n }\n }}\n value={value || ''}\n entries={displayEmpty ? [{value: '', label: emptyLabel}, ...options] : options}\n onChange={(value) => onChange(value || null)}\n />\n )}\n </div>\n );\n};\n\nSelectorWithOnlyOptionAutoSelect.propTypes = {\n value: PropTypes.string,\n onChange: PropTypes.func,\n options: PropTypes.arrayOf(\n PropTypes.shape({\n value: PropTypes.string,\n label: PropTypes.string\n })\n ),\n classes: PropTypes.shape({\n root: PropTypes.string,\n onlyValue: PropTypes.string,\n select: PropTypes.string,\n selectMenu: PropTypes.string,\n textField: PropTypes.string\n }),\n emptyLabel: PropTypes.string\n};\n\nexport default SelectorWithOnlyOptionAutoSelect;\n","import React from 'react';\n\nconst Spacer = () => <div style={{flex: 1}} />;\n\nexport default Spacer;\n","import PropTypes from 'prop-types';\nimport React from 'react';\n\nconst VerticalDivider = ({height, margin}) => (\n <div\n style={{\n width: '1px',\n height: `${height}px`,\n borderLeft: '1px solid rgba(0,0,0,0.38)',\n margin: `0 ${margin}px`,\n flexShrink: '0'\n }}\n />\n);\n\nVerticalDivider.propTypes = {\n height: PropTypes.number,\n margin: PropTypes.number\n};\n\nexport default VerticalDivider;\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles(() => ({\n viewMoreLessLink: {\n display: 'flex',\n alignItems: 'center',\n cursor: 'pointer'\n },\n\n arrow: {\n marginRight: '8px',\n marginLeft: '-2px',\n transform: 'rotate(0deg)',\n transition: 'transform 0.35s ease'\n },\n\n rotated: {\n transform: 'rotate(-180deg)'\n }\n}));\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport {Link as Link} from '@material-ui/core';\nimport ArrowDropDownIcon from '@material-ui/icons/ArrowDropDown';\nimport {useStyles} from './styles';\nimport classnames from 'classnames';\nimport i18n from 'ui-i18n';\n\nconst ViewMoreToggle = ({active, onClick, className}) => {\n const styles = useStyles();\n return (\n <Link className={classnames(styles.viewMoreLessLink, className)} onClick={onClick} underline=\"none\">\n <ArrowDropDownIcon className={classnames(styles.arrow, {[styles.rotated]: active})} />\n {active ? i18n.text('View less') : i18n.text('View more')}\n </Link>\n );\n};\n\nViewMoreToggle.propTypes = {\n active: PropTypes.bool,\n onClick: PropTypes.func,\n className: PropTypes.string\n};\n\nexport default ViewMoreToggle;\n","import {useMemo} from 'react';\nimport {pipe} from 'ramda';\n\ntype UseActions = ({\n actions,\n dispatch\n}: {\n actions: {\n [key: string]: <T>(payload: T) => {type: string; payload: T};\n };\n dispatch: <T>({type, payload}: {type: string; payload: T}) => void;\n}) => {\n [key in keyof typeof actions]: <T>(payload: T) => void;\n};\n\nexport const useActions: UseActions = ({actions, dispatch}) =>\n useMemo(\n () =>\n Object.entries(actions).reduce((acc, [actionName, actionCreator]) => {\n return {...acc, [actionName]: pipe(actionCreator, dispatch)};\n }, {}),\n [dispatch, actions]\n );\n","import {useCallback, useEffect, useState} from 'react';\nimport {useDidUpdateEffect} from './useDidUpdateEffect';\n\ntype SavedState<T> = {\n [entityType: string]: T;\n};\n\ntype Props<T> = {\n getSavedState: () => Promise<SavedState<T>>;\n saveState: (state: SavedState<T>) => void;\n entityTypeUri?: string;\n};\n\nexport const useSavedStateForEntityType = <T>({getSavedState, saveState, entityTypeUri}: Props<T>) => {\n const [savedState, setSavedState] = useState<SavedState<T>>({});\n const [changedState, setChangedState] = useState<SavedState<T>>(null);\n const [isLoaded, setIsLoaded] = useState(false);\n\n const saveChangesLocallyForPrevEntityType = () => {\n if (changedState) {\n setSavedState({...savedState, ...changedState});\n setChangedState(null);\n }\n };\n useDidUpdateEffect(saveChangesLocallyForPrevEntityType, [entityTypeUri]);\n\n const updateSavedState = useCallback(\n (stateToSave: T) => {\n if (!entityTypeUri) return;\n const changedState = {\n [entityTypeUri]: stateToSave\n };\n setChangedState(changedState);\n saveState({...savedState, ...changedState});\n },\n [entityTypeUri, saveState, savedState]\n );\n\n useEffect(() => {\n getSavedState()\n .then((savedState) => {\n setSavedState(savedState || {});\n })\n .then((_) => setIsLoaded(true))\n .catch((_) => setIsLoaded(true));\n }, []); // eslint-disable-line\n\n return {isLoaded: isLoaded && !!entityTypeUri, savedState: savedState[entityTypeUri], updateSavedState};\n};\n","import {FilterBuilder, Maybe} from '@reltio/mdm-sdk';\nimport {buildColumnsFilter, ColumnData, ColumnFilter} from '@reltio/components';\n\nconst createInteractionTypeFilter = (value) => `equals(type,'${value}')`;\n\nconst buildInteractionsFilter = (\n currentInteractionType: string,\n filters: Record<string, ColumnFilter>,\n columnsData: ColumnData[]\n) => {\n const currentTypeClause = Maybe.fromNull(currentInteractionType).map(createInteractionTypeFilter).orSome('');\n\n const filtersClause = buildColumnsFilter(columnsData, filters);\n\n return new FilterBuilder().addClause(currentTypeClause).addClause(filtersClause).build();\n};\n\nexport {buildInteractionsFilter};\n","import {\n attributeUriToSearchUri,\n DataTypes,\n FilterOptions,\n getAttrDataTypeDefinition,\n getInteractionAttributesFromMetadata,\n getInteractionType,\n InteractionType,\n makeCompositeFilterOption\n} from '@reltio/mdm-sdk';\nimport {adjust, assoc, chain, concat, map, pipe, pluck, prop, propEq, reject, subtract, uniqBy} from 'ramda';\nimport i18n from 'ui-i18n';\n\nconst ROWS_PER_PAGE_OPTIONS = [10, 25, 50, 100];\nconst getRowsPerPageOptions = (defaultRowsPerPage: number) =>\n ROWS_PER_PAGE_OPTIONS.filter((option) => option !== defaultRowsPerPage)\n .concat(defaultRowsPerPage)\n .sort(subtract);\n\nconst INTERACTION_TYPE_COLUMN_ID = 'type';\nconst ACTORS_COLUMN_ID = 'members';\nconst ATTRIBUTES_COLUMN_ID = 'attributes';\n\nconst MAX_ATTRIBUTES_TO_SHOW = 7;\n\nconst DEFAULT_COLUMNS_DATA = [\n {\n id: 'timestamp',\n label: 'Date',\n dataTypeDefinition: {\n type: DataTypes.TYPE_TIMESTAMP\n },\n hideable: false\n },\n {\n id: INTERACTION_TYPE_COLUMN_ID,\n label: 'Interaction type',\n sortable: false,\n filterOptions: [{value: FilterOptions.EQUALS}, {value: FilterOptions.NOT_EQUALS}]\n },\n {\n id: ACTORS_COLUMN_ID,\n label: 'Actors',\n sortable: false,\n dataTypeDefinition: {\n type: DataTypes.TYPE_STRING\n }\n },\n {\n id: ATTRIBUTES_COLUMN_ID,\n label: 'Attributes',\n sortable: false,\n filterable: false,\n maxAttrsToShow: MAX_ATTRIBUTES_TO_SHOW\n }\n];\n\nconst DEFAULT_COLUMNS = pluck('id', DEFAULT_COLUMNS_DATA);\nconst ALL_TYPES_COLUMNS = [INTERACTION_TYPE_COLUMN_ID, ATTRIBUTES_COLUMN_ID];\n\nconst getColumnsDataFromInteractionAttributes = pipe(\n map((attr) => ({\n id: attributeUriToSearchUri(attr.uri),\n label: attr.label,\n dataTypeDefinition: getAttrDataTypeDefinition(attr)\n })),\n uniqBy(prop('id'))\n);\n\nconst getInteractionColumnDataType = (interactionTypes) => ({\n type: DataTypes.TYPE_SELECT,\n options: interactionTypes.map(({uri, label}) => ({value: uri, label}))\n});\n\nconst getActorTypesOptions = pipe(\n chain(({memberTypes}) => memberTypes.map(({name, label}) => ({label, value: name}))),\n uniqBy(prop('value'))\n);\n\nconst getActorsColumnFilterOptions = (interactionTypes: Array<InteractionType>) => {\n const typeFilterDataType = {\n type: DataTypes.TYPE_SELECT,\n options: getActorTypesOptions(interactionTypes)\n };\n const makeTypeOption = makeCompositeFilterOption('types');\n return [\n {value: FilterOptions.EQUALS},\n {value: FilterOptions.NOT_EQUALS},\n {value: FilterOptions.HAS_ALL},\n {value: FilterOptions.IN_FILE},\n {value: FilterOptions.NOT_IN_FILE},\n {\n value: makeTypeOption(FilterOptions.EQUALS),\n label: i18n.text('type equals'),\n dataTypeDefinition: typeFilterDataType\n },\n {\n value: makeTypeOption(FilterOptions.NOT_EQUALS),\n label: i18n.text('type not'),\n dataTypeDefinition: typeFilterDataType\n },\n {\n value: makeTypeOption(FilterOptions.HAS_ALL),\n label: i18n.text('type has all'),\n dataTypeDefinition: typeFilterDataType\n },\n {\n value: makeTypeOption(FilterOptions.IN_FILE),\n label: i18n.text('type in file')\n },\n {\n value: makeTypeOption(FilterOptions.NOT_IN_FILE),\n label: i18n.text('type not in file')\n }\n ];\n};\n\nconst updateColumnData = (columnId, updateFn) => (columnsData) =>\n adjust(columnsData.findIndex(propEq('id', columnId)), updateFn, columnsData);\n\nconst updateInteractionTypeColumn = (interactionTypes) =>\n updateColumnData(\n INTERACTION_TYPE_COLUMN_ID,\n assoc('dataTypeDefinition', getInteractionColumnDataType(interactionTypes))\n );\n\nconst updateActorsColumn = (interactionTypes) =>\n updateColumnData(ACTORS_COLUMN_ID, assoc('filterOptions', getActorsColumnFilterOptions(interactionTypes)));\n\nconst updateAttributesColumn = (attributes) => updateColumnData(ATTRIBUTES_COLUMN_ID, assoc('attrsToShow', attributes));\n\nconst getColumnsData = (metadata, config, interactionTypes, currentInteractionType) => {\n return currentInteractionType\n ? pipe(\n getInteractionAttributesFromMetadata,\n getColumnsDataFromInteractionAttributes,\n concat(DEFAULT_COLUMNS_DATA),\n reject(({id}) => ALL_TYPES_COLUMNS.includes(id)),\n updateActorsColumn([getInteractionType(metadata, currentInteractionType)])\n )(metadata, currentInteractionType)\n : pipe(\n updateAttributesColumn(config.attributes),\n updateInteractionTypeColumn(interactionTypes),\n updateActorsColumn(metadata.interactionTypes || [])\n )(DEFAULT_COLUMNS_DATA);\n};\n\nexport {\n getRowsPerPageOptions,\n DEFAULT_COLUMNS,\n getColumnsData,\n INTERACTION_TYPE_COLUMN_ID,\n ACTORS_COLUMN_ID,\n ATTRIBUTES_COLUMN_ID,\n ALL_TYPES_COLUMNS,\n MAX_ATTRIBUTES_TO_SHOW\n};\n","import {makeStyles} from '@material-ui/core/styles';\n\nconst defaultWrapperStyles = {\n padding: '15px 25px 0 25px',\n '&:last-child': {\n paddingBottom: '15px'\n }\n};\n\nexport const useStyles = makeStyles((theme) => ({\n headCell: {\n display: 'flex',\n alignItems: 'center',\n height: '100%',\n fontSize: '12px'\n },\n rowCell: {\n fontSize: '13px',\n overflow: 'hidden',\n overflowWrap: 'break-word',\n wordWrap: 'break-word' // for IE\n },\n 'row-cell--sorted': {\n color: 'rgba(0,0,0,0.87)'\n },\n actorsWrapper: {\n paddingRight: '25px',\n paddingLeft: '15px',\n '&:last-child': {\n paddingBottom: '15px'\n }\n },\n memberWrapper: {\n display: 'flex',\n paddingTop: '15px',\n boxSizing: 'border-box',\n position: 'relative'\n },\n entityLabel: {\n fontSize: '15px',\n display: 'inline-block',\n overflowX: 'hidden',\n margin: '-2px 0 -1px 45px'\n },\n entityAvatar: {\n transform: 'scale(0.5)',\n position: 'absolute',\n left: 0,\n top: '2px'\n },\n defaultWrapper: defaultWrapperStyles,\n blobWrapper: {\n ...defaultWrapperStyles,\n whiteSpace: 'pre-wrap'\n },\n link: {\n cursor: 'pointer',\n color: theme.palette.primary.main\n },\n attributesWrapper: {\n padding: '15px 25px 10px 25px',\n color: 'rgba(0,0,0,0.87)'\n },\n viewMore: {\n marginLeft: '-5px'\n }\n}));\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport classnames from 'classnames';\nimport {useStyles} from './styles';\n\nconst RowCellRenderer = ({cell, CellValueRenderer, isSorted, ...otherProps}) => {\n const styles = useStyles();\n return (\n <div\n className={classnames(\n {\n [styles['row-cell--sorted']]: isSorted\n },\n styles.rowCell\n )}\n >\n {cell.values.map((value, index) => (\n <CellValueRenderer key={index} value={value} {...otherProps} />\n ))}\n </div>\n );\n};\n\nRowCellRenderer.propTypes = {\n rowValue: PropTypes.object,\n cell: PropTypes.object,\n CellValueRenderer: PropTypes.elementType,\n isSorted: PropTypes.bool\n};\n\nexport default RowCellRenderer;\n","import React from 'react';\n\nimport DefaultHeadCellRenderer from 'react-components/dist/Table/DefaultHeadCellRenderer/DefaultHeadCellRenderer';\nimport {withFilterAtBottom} from '@reltio/components';\nimport {useStyles} from './styles';\n\nconst HeadCellRenderer = (props) => {\n const styles = useStyles();\n return (\n <div className={styles.headCell}>\n <DefaultHeadCellRenderer {...props} />\n </div>\n );\n};\n\nexport default withFilterAtBottom(HeadCellRenderer);\n","import PropTypes from 'prop-types';\nimport React, {useContext} from 'react';\nimport mdm, {ui} from '@reltio/mdm-module';\nimport {chain, pipe, prop, uniqBy, values} from 'ramda';\nimport {useDispatch, useSelector} from 'react-redux';\nimport {useStyles} from './styles';\nimport {EntityTypeType, getEntityType, getLabel} from '@reltio/mdm-sdk';\nimport {EntityTypeIcon, ViewIdContext} from '@reltio/components';\nimport classnames from 'classnames';\n\nconst MemberItem = ({entityType, label, onClick}) => {\n const styles = useStyles();\n const labelCaption = getLabel(label);\n return (\n <div className={styles.memberWrapper}>\n <EntityTypeIcon className={styles.entityAvatar} entityType={entityType} />\n <span className={classnames(styles.entityLabel, styles.link)} onClick={onClick}>\n {labelCaption}\n </span>\n </div>\n );\n};\nMemberItem.propTypes = {\n entityType: EntityTypeType,\n label: PropTypes.string,\n onClick: PropTypes.func\n};\n\nconst getActorsMembers = pipe(values, chain(prop('members')), uniqBy(prop('objectURI')));\n\nconst ActorsRenderer = ({value}) => {\n const styles = useStyles();\n const members = getActorsMembers(value);\n const dispatch = useDispatch();\n const viewId = useContext(ViewIdContext);\n const metadata = useSelector(mdm.selectors.getMetadata);\n const openEntityWithUri = (uri) => dispatch(ui.actions.openEntity({uri, viewId}));\n\n return (\n <div className={styles.actorsWrapper}>\n {members.map(({objectURI, type, label}) => (\n <MemberItem\n key={objectURI}\n entityType={getEntityType(metadata, type)}\n label={label}\n onClick={() => openEntityWithUri(objectURI)}\n />\n ))}\n </div>\n );\n};\n\nActorsRenderer.propTypes = {\n value: PropTypes.object\n};\n\nexport default ActorsRenderer;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport {useStyles} from './styles';\nimport {DataTypeValue} from '@reltio/components';\n\nconst DefaultCellValueRenderer = ({value, columnData: {dataTypeDefinition}}) => {\n const styles = useStyles();\n return (\n <div className={styles.defaultWrapper}>\n <DataTypeValue value={value} dataTypeDefinition={dataTypeDefinition} />\n </div>\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';\nimport PropTypes from 'prop-types';\nimport {useStyles} from './styles';\n\nconst BlobRender = ({value}) => {\n const styles = useStyles();\n return <div className={styles.blobWrapper}>{value}</div>;\n};\n\nBlobRender.propTypes = {\n value: PropTypes.any\n};\n\nexport default BlobRender;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport {useStyles} from './styles';\nimport {Link as Link} from '@material-ui/core';\n\nconst LinkRenderer = ({value}) => {\n const styles = useStyles();\n return (\n <div className={styles.defaultWrapper}>\n <Link className={styles.link} href={value} target=\"_blank\" underline=\"none\">\n {value}\n </Link>\n </div>\n );\n};\n\nLinkRenderer.propTypes = {\n value: PropTypes.any\n};\n\nexport default LinkRenderer;\n","import React, {useMemo, useState} from 'react';\nimport PropTypes from 'prop-types';\nimport {useSelector} from 'react-redux';\n\nimport {ReadOnlyAttributesList, ViewMoreToggle} from '@reltio/components';\nimport {useStyles} from './styles';\nimport mdmModule from '@reltio/mdm-module';\nimport {getInteractionType} from '@reltio/mdm-sdk';\nimport {pick, propEq} from 'ramda';\n\nconst AttributesRenderer = ({value, rowValue, columnData}) => {\n const styles = useStyles();\n\n const metadata = useSelector(mdmModule.selectors.getMetadata);\n const interaction = rowValue.rawValue;\n const attrTypes = useMemo(() => {\n const interactionType = getInteractionType(metadata, interaction.type);\n return interactionType.attributes;\n }, [interaction, metadata]);\n\n const [expanded, setExpanded] = useState(false);\n const toggleExpanded = () => setExpanded((expanded) => !expanded);\n\n const attributes = value;\n const attrNames = Object.keys(attributes);\n\n const visibleCountLimit = columnData.maxAttrsToShow;\n const hasExtraValuesToShow = attrNames.length > visibleCountLimit;\n const attrNamesToShow = expanded ? attrNames : attrNames.slice(0, visibleCountLimit);\n\n const attrsToShow = pick(attrNamesToShow, attributes);\n const attrTypesToShow = attrNamesToShow.map((name) => attrTypes.find(propEq('name', name)));\n\n return (\n <div className={styles.attributesWrapper}>\n <ReadOnlyAttributesList entity={{attributes: attrsToShow}} attrTypes={attrTypesToShow} drawLines={false} />\n {hasExtraValuesToShow && (\n <ViewMoreToggle active={expanded} onClick={toggleExpanded} className={styles.viewMore} />\n )}\n </div>\n );\n};\n\nAttributesRenderer.propTypes = {\n value: PropTypes.object,\n rowValue: PropTypes.object,\n columnData: PropTypes.object\n};\n\nexport default AttributesRenderer;\n","import HeadCellRenderer from '../cell-renderers/HeadCellRenderer';\nimport ActorsRenderer from '../cell-renderers/ActorsRenderer';\nimport DefaultCellValueRenderer from '../cell-renderers/DefaultCellValueRenderer';\nimport {ColumnData, defaultGetRowCellHeight} from '@reltio/components';\nimport {assoc, cond, length, map, path, pathEq, pickBy, pipe, prop, reduce, slice, split, T, values} from 'ramda';\nimport {\n DataTypes,\n getActorsForInteraction,\n getAttributeValuesByPath,\n Interaction,\n makeAttrTypeUri,\n Metadata\n} from '@reltio/mdm-sdk';\nimport {ACTORS_COLUMN_ID, ATTRIBUTES_COLUMN_ID, INTERACTION_TYPE_COLUMN_ID} from '../../helpers/tableHelpers';\nimport BlobRender from '../cell-renderers/BlobRenderer';\nimport LinkRenderer from '../cell-renderers/LinkRenderer';\nimport AttributesRenderer from '../cell-renderers/AttributesRenderer';\n\nconst getInteractionAttributeValues = (attrPath, interaction) =>\n pipe(path(['attributes']), getAttributeValuesByPath(attrPath))(interaction);\n\nconst getAttrPathFromColumnId = pipe(split('.'), slice(1, Infinity));\n\nconst getRowValueByColumn = (columnData: ColumnData, interaction: Interaction, metadata: Metadata) => {\n switch (columnData.id) {\n case ACTORS_COLUMN_ID:\n return getActorsForInteraction(metadata, interaction);\n case 'timestamp':\n return interaction.timestamp;\n case INTERACTION_TYPE_COLUMN_ID:\n return interaction.type;\n case ATTRIBUTES_COLUMN_ID: {\n const urisToShow = path(['attrsToShow', interaction.type], columnData);\n const isAttrToShow = (values, name) => urisToShow.includes(makeAttrTypeUri(interaction.type, name));\n return urisToShow ? pickBy(isAttrToShow, interaction.attributes) : interaction.attributes;\n }\n default: {\n const attrPath = getAttrPathFromColumnId(columnData.id);\n return getInteractionAttributeValues(attrPath, interaction);\n }\n }\n};\n\nconst getBasicTableRowsData = (interactions: Interaction[], columnsData: ColumnData, metadata: Metadata) =>\n interactions.map((interaction) =>\n pipe(\n reduce(\n (acc, columnData) => assoc(columnData.id, getRowValueByColumn(columnData, interaction, metadata), acc),\n {}\n ),\n assoc('rawValue', interaction)\n )(columnsData)\n );\n\nconst getNestedPathByColumnId = (columnId) => {\n if (columnId.startsWith('attributes.')) {\n const attrPath = getAttrPathFromColumnId(columnId);\n return attrPath.length > 1 ? attrPath.slice(0, -1) : null;\n } else {\n return null;\n }\n};\n\nconst getCellValueRenderer = (columnData) => {\n if (columnData.id === ACTORS_COLUMN_ID) {\n return ActorsRenderer;\n }\n if (columnData.id === ATTRIBUTES_COLUMN_ID) {\n return AttributesRenderer;\n }\n switch (columnData.dataTypeDefinition.type) {\n case DataTypes.TYPE_URL:\n case DataTypes.TYPE_BLOG_URL:\n case DataTypes.TYPE_IMAGE_URL:\n case DataTypes.TYPE_EMAIL:\n return LinkRenderer;\n case DataTypes.TYPE_BLOB:\n return BlobRender;\n default:\n return DefaultCellValueRenderer;\n }\n};\n\nconst getColumnDataByColumnId = (columnData) => ({\n sortable: true,\n ...columnData,\n resizable: true,\n nestedPath: getNestedPathByColumnId(columnData.id),\n headCellRenderer: HeadCellRenderer,\n rowCellValueRenderer: getCellValueRenderer(columnData)\n});\n\nconst getBasicTableColumnsData = map(getColumnDataByColumnId);\n\nconst getMembersCount = pipe(prop('members'), length);\nconst getMemberCellHeight = pipe(\n map(getMembersCount),\n values,\n reduce((acc, count) => acc + count * 33, 15)\n);\n\nconst calculateMembersCellHeight = pipe(\n path(['cell', 'values']),\n reduce((acc, actors) => acc + getMemberCellHeight(actors), 0)\n);\n\nconst calculateAttributesCellHeight = ({columnData, cell}) => {\n const attributesCount = pipe(path(['values', 0]), values, length)(cell);\n return attributesCount > columnData.maxAttrsToShow\n ? columnData.maxAttrsToShow * 26 + 49\n : attributesCount * 26 + 25;\n};\n\nconst getStaticRowCellHeight = cond([\n [pathEq(['columnData', 'id'], ACTORS_COLUMN_ID), calculateMembersCellHeight],\n [pathEq(['columnData', 'id'], ATTRIBUTES_COLUMN_ID), calculateAttributesCellHeight],\n [T, defaultGetRowCellHeight]\n]);\n\nexport {getBasicTableRowsData, getBasicTableColumnsData, getStaticRowCellHeight};\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles({\n tableContainer: {\n flex: 1,\n display: 'flex',\n fontFamily: 'Roboto',\n color: 'rgba(0,0,0,0.54)'\n },\n\n '@global div[role=tooltip]': {\n fontFamily: 'Roboto, Helvetica, Arial, sans-serif'\n },\n\n '@global div[role=presentation]': {\n fontFamily: 'Roboto, Helvetica, Arial, sans-serif'\n },\n 'row-cell__buttons-container': {\n position: 'absolute'\n },\n 'row-cell__buttons-wrapper': {\n display: 'flex',\n paddingLeft: '10px',\n '& > button': {\n marginLeft: '-10px',\n transform: 'scale(0.9)'\n }\n }\n});\n","import React, {ForwardedRef, useCallback, useLayoutEffect, useMemo} from 'react';\nimport RowCellRenderer from './cell-renderers/RowCellRenderer';\nimport {BasicTable, ColumnData, ColumnFilter, RowCellAutoSizer} from '@reltio/components';\nimport {getBasicTableColumnsData, getBasicTableRowsData, getStaticRowCellHeight} from './helpers/dataHelpers';\nimport {Interaction, Metadata, SortingField} from '@reltio/mdm-sdk';\nimport {useDynamicRowCellHeight} from '@reltio/components';\nimport {either} from 'ramda';\n\nimport {useStyles} from './styles';\n\ntype Props = {\n columnsData: ColumnData;\n interactions: Interaction[];\n metadata: Metadata;\n sorting: SortingField;\n onSort: (field: string) => void;\n filters?: Record<string, ColumnFilter>;\n onFilter: (event: {columnId: string; filter: ColumnFilter}) => void;\n basicTableRef: ForwardedRef<unknown>;\n};\nconst InteractionsTable = ({\n columnsData,\n interactions,\n metadata,\n sorting,\n onSort,\n filters,\n onFilter,\n basicTableRef\n}: Props) => {\n const tableRowsData = useMemo(\n () => getBasicTableRowsData(interactions, columnsData, metadata),\n [interactions, columnsData, metadata]\n );\n const tableColumnsData = useMemo(() => getBasicTableColumnsData(columnsData), [columnsData]);\n\n const styles = useStyles();\n\n const {getDynamicRowCellHeight, changeRowCellHeight, clearHeightsCache} = useDynamicRowCellHeight();\n\n useLayoutEffect(clearHeightsCache, [interactions]);\n\n const renderRowCell = useCallback(\n (props) => (\n <RowCellAutoSizer onChangeHeight={changeRowCellHeight} {...props}>\n <RowCellRenderer\n {...props}\n isSorted={\n !!sorting && sorting.field === props.columnData.id /* eslint-disable-line react/prop-types */\n }\n />\n </RowCellAutoSizer>\n ),\n [sorting, changeRowCellHeight]\n );\n\n const getRowCellHeight = useCallback(either(getDynamicRowCellHeight, getStaticRowCellHeight), [\n getDynamicRowCellHeight,\n getStaticRowCellHeight\n ]);\n\n return (\n <div className={styles.tableContainer}>\n <BasicTable\n columnsData={tableColumnsData}\n rowsData={tableRowsData}\n sorting={sorting}\n onSort={onSort}\n filters={filters}\n onFilter={onFilter}\n hoverStateEnabled={true}\n defaultColumnWidth={250}\n defaultColumnMinWidth={200}\n getRowCellHeight={getRowCellHeight}\n headRowHeight={56}\n renderRowCell={renderRowCell}\n classes={{\n hoveredRowRightContentWrapper: styles['row-cell__buttons-wrapper'],\n hoveredRowRightContentContainer: styles['row-cell__buttons-container']\n }}\n ref={basicTableRef}\n />\n </div>\n );\n};\n\nexport default InteractionsTable;\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles({\n header: {\n '& > button': {\n margin: '0 -2px'\n },\n paddingRight: '15px'\n },\n totalCaption: {\n lineHeight: 'inherit',\n fontSize: '14px',\n color: 'rgba(0,0,0,0.6)',\n flexShrink: 0,\n marginRight: '5px'\n },\n interactionTypeSelector: {\n margin: '3px 10px 0 30px',\n overflow: 'hidden'\n }\n});\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport {InteractionTypeType} from '@reltio/mdm-sdk';\nimport i18n from 'ui-i18n';\nimport {SelectorWithOnlyOptionAutoSelect} from '@reltio/components';\n\nconst InteractionTypeSelector = ({value, onChange, interactionTypes, className}) => {\n return (\n <SelectorWithOnlyOptionAutoSelect\n classes={{\n root: className\n }}\n value={value}\n onChange={onChange}\n options={interactionTypes.map(({label, uri}) => ({label, value: uri}))}\n emptyLabel={i18n.text('All interaction types')}\n />\n );\n};\n\nInteractionTypeSelector.propTypes = {\n value: PropTypes.string,\n onChange: PropTypes.func,\n interactionTypes: PropTypes.arrayOf(InteractionTypeType),\n className: PropTypes.string\n};\n\nexport default InteractionTypeSelector;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport {Typography as Typography} from '@material-ui/core';\nimport i18n from 'ui-i18n';\nimport {\n BasicViewHeader,\n ColumnsDataType,\n ColumnsSettings,\n FilterButton,\n HideOnShrink,\n Spacer,\n VerticalDivider\n} from '@reltio/components';\nimport {useStyles} from './styles';\nimport InteractionTypeSelector from './InteractionTypeSelector/InteractionTypeSelector';\nimport {InteractionTypeType} from '@reltio/mdm-sdk';\n\nconst InteractionsTableHeader = ({\n title,\n total,\n filtersEnabled,\n onToggleFilters,\n columnsData,\n selectedColumns,\n onChangeColumns,\n interactionTypes,\n currentInteractionType,\n onInteractionTypeChange\n}) => {\n const styles = useStyles();\n\n return (\n <BasicViewHeader title={title} classes={{root: styles.header, title: styles.title}}>\n {interactionTypes.length > 0 && (\n <InteractionTypeSelector\n className={styles.interactionTypeSelector}\n value={currentInteractionType}\n onChange={onInteractionTypeChange}\n interactionTypes={interactionTypes}\n />\n )}\n <HideOnShrink widthToHide={500}>\n <VerticalDivider height={28} margin={20} />\n <Typography className={styles.totalCaption} variant=\"caption\">\n {total > 1\n ? i18n.text('${count} interactions', {count: total})\n : i18n.text('${count} interaction', {count: total})}\n </Typography>\n </HideOnShrink>\n <Spacer />\n <FilterButton enabled={filtersEnabled} onClick={onToggleFilters} />\n <VerticalDivider height={28} margin={4} />\n <ColumnsSettings\n columnsData={columnsData}\n selectedColumns={selectedColumns}\n onChangeColumns={onChangeColumns}\n />\n </BasicViewHeader>\n );\n};\n\nInteractionsTableHeader.propTypes = {\n title: PropTypes.string,\n total: PropTypes.number,\n columnsData: ColumnsDataType,\n selectedColumns: PropTypes.arrayOf(PropTypes.string),\n onChangeColumns: PropTypes.func,\n filtersEnabled: PropTypes.bool,\n onToggleFilters: PropTypes.func,\n interactionTypes: PropTypes.arrayOf(InteractionTypeType),\n currentInteractionType: PropTypes.string,\n onInteractionTypeChange: PropTypes.func\n};\n\nexport default InteractionsTableHeader;\n","import {\n always,\n assoc,\n concat,\n dissoc,\n either,\n evolve,\n ifElse,\n intersection,\n path,\n pick,\n pipe,\n prop,\n propOr,\n when,\n without,\n unless,\n isNil,\n filter\n} from 'ramda';\nimport {ACTORS_COLUMN_ID, ALL_TYPES_COLUMNS, DEFAULT_COLUMNS} from './helpers/tableHelpers';\nimport {basicTableViewState, createStandardAction, Sorting} from '@reltio/components';\nimport {SearchFilter, validateFilterValue} from '@reltio/mdm-sdk';\nimport {InteractionsSavedState} from './types';\n\nconst CHANGE_INTERACTION_TYPE = 'CHANGE_INTERACTION_TYPE';\nconst APPLY_SAVED_STATE = 'APPLY_SAVED_STATE';\nconst SAVE_CURRENT_STATE = 'SAVE_CURRENT_STATE';\n\nconst actions = {\n ...basicTableViewState.actions,\n changeInteractionType: createStandardAction(CHANGE_INTERACTION_TYPE),\n applySavedState: createStandardAction(APPLY_SAVED_STATE),\n saveCurrentState: createStandardAction(SAVE_CURRENT_STATE)\n};\n\nconst resetActorsColumnFilters = evolve({\n filters: when(prop(ACTORS_COLUMN_ID), dissoc(ACTORS_COLUMN_ID))\n});\n\nconst resetPageNumber = assoc('page', 0);\n\nconst getDefaultVisibleColumnsForCurrentInteractionType = (state) =>\n pipe(\n prop('visibleColumns'),\n ifElse(always(state.currentInteractionType), without(ALL_TYPES_COLUMNS), concat(ALL_TYPES_COLUMNS)),\n intersection(DEFAULT_COLUMNS)\n )(state);\n\nconst getSavedVisibleColumnsForCurrentInteractionType = (state) =>\n path(['visibleColumnsForInteractionTypes', `${state.currentInteractionType}`], state);\n\nconst changeVisibleColumnsForCurrentInteractionType = (state) => {\n const nextVisibleColumns = either(\n getSavedVisibleColumnsForCurrentInteractionType,\n getDefaultVisibleColumnsForCurrentInteractionType\n )(state);\n return basicTableViewState.changeVisibleColumns(state, nextVisibleColumns);\n};\n\nconst getVisibleColumnsFromSavedState = either(getSavedVisibleColumnsForCurrentInteractionType, prop('visibleColumns'));\nconst getFiltersFromSavedState = pipe(\n propOr(null, 'filters'),\n unless(\n isNil,\n filter(({filter, value}) => validateFilterValue(filter, value))\n )\n);\n\nconst saveVisibleColumnsForCurrentInteractionType = (state) => {\n const {currentInteractionType, visibleColumns} = state;\n return evolve(\n {\n visibleColumnsForInteractionTypes: assoc(`${currentInteractionType}`, visibleColumns)\n },\n state\n );\n};\n\nconst getStateToSave = pipe(\n saveVisibleColumnsForCurrentInteractionType,\n pick(['currentInteractionType', 'visibleColumnsForInteractionTypes', 'filters', 'sorting'])\n);\n\ntype InitialState = {\n currentInteractionType?: string;\n filters: SearchFilter[];\n visibleColumns: string[];\n sorting: Sorting;\n page: number;\n rowsPerPage: number;\n saveToState?: InteractionsSavedState;\n entityTypeOfAppliedSavedState?: string;\n visibleColumnsForInteractionTypes: Record<string, string[]>;\n};\n\nconst reducer = (state: InitialState, action) => {\n switch (action.type) {\n case CHANGE_INTERACTION_TYPE: {\n const nextInteractionType = action.payload;\n return pipe(\n saveVisibleColumnsForCurrentInteractionType,\n assoc('currentInteractionType', nextInteractionType),\n changeVisibleColumnsForCurrentInteractionType,\n resetActorsColumnFilters,\n resetPageNumber\n )(state);\n }\n case APPLY_SAVED_STATE: {\n const {savedState, entityType} = action.payload;\n const visibleColumns = savedState ? getVisibleColumnsFromSavedState(savedState) : state.visibleColumns;\n const filters = savedState ? getFiltersFromSavedState(savedState) : state.filters;\n return {\n ...state,\n ...savedState,\n filters,\n visibleColumns,\n entityTypeOfAppliedSavedState: entityType\n };\n }\n case SAVE_CURRENT_STATE: {\n return {\n ...state,\n stateToSave: getStateToSave(state)\n };\n }\n default:\n return basicTableViewState.reducer(state, action);\n }\n};\n\nexport {reducer as default, actions};\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles((_) => ({\n basicView: {\n position: 'absolute',\n top: 0,\n bottom: 0,\n left: 0,\n right: 0,\n boxShadow: 'none'\n },\n tableView: {\n position: 'relative',\n flex: 1,\n display: 'flex',\n flexDirection: 'column'\n }\n}));\n","import React, {useCallback, useEffect, useMemo, useReducer, useRef} from 'react';\nimport {useSelector} from 'react-redux';\n\nimport {\n BasicTablePagination,\n BasicView,\n LinearLoadIndicator,\n useActions,\n useDidUpdateEffect,\n useSavedStateForEntityType\n} from '@reltio/components';\nimport mdmModule from '@reltio/mdm-module';\nimport {\n Entity,\n getInteractionType,\n getInteractionTypesForEntityType,\n InteractionsPerspectiveConfig,\n Metadata\n} from '@reltio/mdm-sdk';\nimport {pipe, propEq} from 'ramda';\nimport {buildInteractionsFilter} from './helpers/filtersHelpers';\nimport {DEFAULT_COLUMNS, getColumnsData, getRowsPerPageOptions} from './helpers/tableHelpers';\nimport useInteractions from './hooks/useInteractions';\nimport InteractionsTable from './InteractionsTable/InteractionsTable';\nimport InteractionsTableHeader from './InteractionsTableHeader/InteractionsTableHeader';\nimport reducer, {actions} from './stateReducer';\nimport {InteractionsSavedState} from './types';\n\nimport {useStyles} from './styles';\n\nconst DEFAULT_ROWS_PER_PAGE = 15;\nconst DEFAULT_SORT_ORDER = 'desc';\nconst [DEFAULT_SORT_FIELD] = DEFAULT_COLUMNS;\n\ntype Props = {\n config: InteractionsPerspectiveConfig;\n saveState: (state: Record<string, InteractionsSavedState>) => void;\n getSavedState: () => Promise<Record<string, InteractionsSavedState>>;\n};\nconst InteractionsTableView = ({config, getSavedState, saveState}: Props) => {\n const entity: Entity = useSelector(mdmModule.selectors.getEntity);\n const metadata: Metadata = useSelector(mdmModule.selectors.getMetadata);\n const styles = useStyles();\n\n const initialState = {\n currentInteractionType: null,\n filters: null,\n visibleColumns: DEFAULT_COLUMNS,\n sorting: {\n order: config.sortOrder || DEFAULT_SORT_ORDER,\n field: config.sortColumn || DEFAULT_SORT_FIELD\n },\n page: 0,\n rowsPerPage: config.max || DEFAULT_ROWS_PER_PAGE,\n stateToSave: null,\n entityTypeOfAppliedSavedState: null,\n visibleColumnsForInteractionTypes: {}\n };\n\n const [state, dispatch] = useReducer(reducer, initialState);\n const {\n visibleColumns,\n filters,\n sorting,\n page,\n rowsPerPage,\n currentInteractionType,\n stateToSave,\n entityTypeOfAppliedSavedState\n } = state;\n const {\n applySavedState,\n saveCurrentState,\n toggleFilters,\n toggleSort,\n changeFilter,\n changeColumns,\n changeInteractionType,\n changePage,\n changeRowsPerPage\n } = useActions({actions, dispatch});\n\n const {uri: entityUri, type: entityType} = entity || {};\n\n const isSavedStateApplied = entityTypeOfAppliedSavedState === entityType;\n\n const {\n isLoaded: isSavedStateLoaded,\n savedState,\n updateSavedState\n } = useSavedStateForEntityType<InteractionsSavedState>({\n entityTypeUri: entityType,\n getSavedState,\n saveState\n });\n\n useEffect(() => {\n if (isSavedStateLoaded) {\n const interactionTypes = getInteractionTypesForEntityType(metadata, entityType);\n const currentInteractionType = savedState?.currentInteractionType;\n const isInteractionTypeExist =\n !currentInteractionType || getInteractionType({interactionTypes}, currentInteractionType);\n const savedStateToApply = isInteractionTypeExist ? savedState : null;\n applySavedState({savedState: savedStateToApply, entityType});\n }\n }, [isSavedStateLoaded, entityType, metadata]); // eslint-disable-line\n\n useDidUpdateEffect(() => {\n if (isSavedStateApplied) {\n updateSavedState(stateToSave);\n }\n }, [stateToSave]); // eslint-disable-line\n\n const resetPage = () => {\n changePage(0);\n };\n useDidUpdateEffect(resetPage, [entityUri]);\n\n const interactionTypes = useMemo(\n () => getInteractionTypesForEntityType(metadata, entityType),\n [entityType, metadata]\n );\n\n const allColumnsData = useMemo(\n () => getColumnsData(metadata, config, interactionTypes, currentInteractionType),\n [metadata, config, interactionTypes, currentInteractionType]\n );\n\n const visibleColumnsData = useMemo(\n () => visibleColumns.map((id) => allColumnsData.find(propEq('id', id))),\n [visibleColumns, allColumnsData]\n );\n\n const filter = useMemo(\n () => buildInteractionsFilter(currentInteractionType, filters, visibleColumnsData),\n [currentInteractionType, filters] //eslint-disable-line\n );\n\n const {\n isLoading: isInteractionsLoading,\n interactions,\n total\n } = useInteractions({\n enabled: !!entityUri && isSavedStateApplied,\n entityUri,\n filter,\n sorting,\n rowsPerPage,\n page\n });\n\n const rowsPerPageOptions = useMemo(() => getRowsPerPageOptions(initialState.rowsPerPage), []); // eslint-disable-line\n\n const isLoading = !isSavedStateApplied || isInteractionsLoading;\n\n const handleFilterChange = useCallback(pipe(changeFilter, saveCurrentState), [changeFilter, saveCurrentState]);\n\n const basicTableRef = useRef(null);\n\n return (\n <BasicView className={styles.basicView}>\n <InteractionsTableHeader\n title={config.caption}\n total={total}\n columnsData={allColumnsData}\n selectedColumns={visibleColumns}\n onChangeColumns={pipe(changeColumns, saveCurrentState)}\n filtersEnabled={!!filters}\n onToggleFilters={pipe(toggleFilters, saveCurrentState)}\n interactionTypes={interactionTypes}\n currentInteractionType={currentInteractionType}\n onInteractionTypeChange={pipe(changeInteractionType, saveCurrentState)}\n />\n <div className={styles.tableView}>\n <InteractionsTable\n columnsData={visibleColumnsData}\n interactions={interactions}\n metadata={metadata}\n filters={filters}\n onFilter={handleFilterChange}\n sorting={sorting}\n onSort={pipe(toggleSort, saveCurrentState)}\n basicTableRef={basicTableRef}\n />\n <BasicTablePagination\n count={total}\n rowsPerPageOptions={rowsPerPageOptions}\n rowsPerPage={rowsPerPage}\n onChangeRowsPerPage={changeRowsPerPage}\n page={page}\n onChangePage={changePage}\n basicTableRef={basicTableRef}\n />\n {isLoading && <LinearLoadIndicator />}\n </div>\n </BasicView>\n );\n};\n\nexport default InteractionsTableView;\n","import {useState, useEffect} from 'react';\nimport {getInteractions} from '@reltio/mdm-sdk';\nimport {Sorting, useSafePromise} from '@reltio/components';\n\ntype Props = {\n entityUri: string;\n sorting: Sorting;\n page: number;\n rowsPerPage: number;\n filter: string;\n enabled: boolean;\n};\n\nconst useInteractions = ({entityUri, filter, sorting, page, rowsPerPage, enabled}: Props) => {\n const [isLoading, setIsLoading] = useState(false);\n const [total, setTotal] = useState(0);\n const [interactions, setInteractions] = useState([]);\n const safePromise = useSafePromise();\n\n useEffect(() => {\n if (enabled) {\n setIsLoading(true);\n safePromise(\n getInteractions({\n entityUri: entityUri,\n offset: page * rowsPerPage,\n max: rowsPerPage,\n filter,\n sort: sorting.field,\n order: sorting.order\n })\n )\n .then(({totalFetched, interactions = []}) => {\n setTotal(totalFetched);\n setInteractions(interactions);\n })\n .then((_) => setIsLoading(false))\n .catch((_) => setIsLoading(false));\n }\n }, [entityUri, filter, sorting.field, sorting.order, page, rowsPerPage, enabled]); // eslint-disable-line\n\n return {isLoading, interactions, total};\n};\n\nexport default useInteractions;\n","import React, {useCallback} from 'react';\nimport MomentUtils from '@date-io/moment';\nimport {createGenerateClassName, StylesProvider} from '@material-ui/core/styles';\nimport ReactResizeDetector from 'react-resize-detector';\nimport {Store} from 'redux';\nimport {MuiPickersUtilsProvider} from '@material-ui/pickers';\nimport {ErrorPopup, ViewIdContext} from '@reltio/components';\nimport {InteractionsPerspectiveConfig, promisifyCallback} from '@reltio/mdm-sdk';\nimport {identity} from 'ramda';\nimport {Provider} from 'react-redux';\nimport InteractionsTableView from './InteractionsTableView';\nimport {InteractionsSavedState} from './InteractionsTableView/types';\n\nconst generateClassName = createGenerateClassName({\n productionPrefix: 'interactionTable',\n disableGlobal: true\n});\n\ntype Props = {\n config: InteractionsPerspectiveConfig;\n store: Store<unknown>;\n onResize?: (width: number, height: number) => void;\n saveState: (state: Record<string, InteractionsSavedState>) => void;\n getSavedState: () => Record<string, InteractionsSavedState>;\n};\n\nconst InteractionsView = ({config, store, onResize = identity, saveState, getSavedState}: Props) => {\n const getSavedStatePromisified: () => Promise<Record<string, InteractionsSavedState>> = useCallback(\n promisifyCallback(getSavedState),\n [getSavedState]\n );\n\n return (\n <Provider store={store}>\n <ViewIdContext.Provider value={config.id}>\n <StylesProvider generateClassName={generateClassName}>\n <MuiPickersUtilsProvider utils={MomentUtils}>\n <ReactResizeDetector\n handleHeight\n onResize={(width, height) => onResize(Math.floor(width), Math.floor(height))}\n />\n {config && (\n <InteractionsTableView\n config={config}\n saveState={saveState}\n getSavedState={getSavedStatePromisified}\n />\n )}\n <ErrorPopup />\n </MuiPickersUtilsProvider>\n </StylesProvider>\n </ViewIdContext.Provider>\n </Provider>\n );\n};\n\nexport default InteractionsView;\n","import {InteractionsView} from '@reltio/interactions';\n\nexport default InteractionsView;\n"],"names":["MomentUtils","_a","_b","locale","instance","moment","this","yearFormat","yearMonthFormat","dateTime12hFormat","dateTime24hFormat","time12hFormat","time24hFormat","dateFormat","prototype","parse","value","format","date","isValid","isNull","getDiff","comparing","diff","isAfter","isBefore","isAfterDay","isBeforeDay","isBeforeYear","isAfterYear","startOfDay","clone","startOf","endOfDay","endOf","formatString","formatNumber","numberToFormat","getHours","get","addDays","count","subtract","Math","abs","add","setHours","hours","getMinutes","setMinutes","minutes","getSeconds","setSeconds","seconds","getMonth","isSameDay","isSame","isSameMonth","isSameYear","isSameHour","setMonth","month","getMeridiemText","ampm","startOfMonth","endOfMonth","getNextMonth","getPreviousMonth","getMonthArray","monthArray","length","prevMonth","push","getYear","setYear","year","set","mergeDateAndTime","time","getWeekdays","weekdaysShort","isEqual","getWeekArray","start","end","current","nestedWeeks","weekNumber","floor","getYearRange","startDate","endDate","years","getCalendarHeaderText","getYearText","getDatePickerHeaderText","getDateTimePickerHeaderText","getMonthText","getDayText","getHourText","getMinuteText","getSecondText","getRowCellKey","rowIndex","columnData","id","cellIndex","rowCellHeightsMap","setRowCellHeightsMap","useState","rowCellHeightsMapCache","useRef","flushHeightUpdates","useCallback","debounce","prev","next","equals","clearHeightsCache","getDynamicRowCellHeight","pipe","prop","__","changeRowCellHeight","curry","useWith","key","identity","props","width","height","viewBox","xmlns","d","fill","fillRule","stroke","strokeWidth","opacity","ColumnsSettings","columnsData","selectedColumns","onChangeColumns","title","tooltipTitle","anchorEl","setAnchorEl","handleColumnClick","column","changedColumns","getChildColumns","pluck","wasSelected","isColumnSelected","difference","uniq","concat","SmallIconButton","i18n","size","icon","TableIcon","onClick","event","currentTarget","ColumnsSettingsPopup","onColumnClick","onClose","propTypes","ColumnsDataType","PropTypes","useStyles","makeStyles","popup","minWidth","groupItem","backgroundColor","ColumnListItem","item","checked","level","style","isFocused","isGroupItem","hideCheckBox","styles","AttributeListItem","data","label","Highlighter","text","highlight","filterText","labelInText","hideIcon","className","classnames","setFilterText","groupedItems","useMemo","buildColumnItems","items","flattenGroupedItemsData","containerWidth","getMaxItemWidth","handleSearchOnEnter","focusIndex","handleKeyDown","useKeyboardNavigation","open","onSelectFocusedItem","selectedItems","handleClose","listHeight","min","containerHeight","max","SelectionPopup","onSearch","searchInputOnKeyDown","VirtualGroupedList","fixedTitle","renderItem","index","isGroupColumn","getItemSize","groupId","isParentToColumn","parent","startsWith","isGroupToColumn","group","isHideableColumn","propOr","addColumn","columns","root","find","either","getColumnRoot","children","filterColumnsByLabel","utils","some","buildColumnsTrees","reduce","acc","attrType","dataTypeDefinition","buildFilteredColumnItems","filter","chain","isGroupedColumnsData","has","flattenGroupedColumnsData","map","assoc","when","childColumns","includes","every","theme","color","palette","primary","main","closeIcon","position","right","bottom","transform","button","padding","FilterButton","enabled","Tooltip","IconButton","classes","Filter","Close","pagination","display","alignItems","justifyContent","borderTop","boxShadow","caption","fontSize","lineHeight","selectRoot","marginLeft","marginRight","select","textAlign","actions","BasicTablePagination","rowsPerPageOptions","page","onChangePage","rowsPerPage","onChangeRowsPerPage","basicTableRef","labelRowsPerPage","resetScrollbarPosition","pathOr","handleChangePage","handleChangeRowsPerPage","TablePagination","component","labelDisplayedRows","from","to","fromRow","toRow","countRows","nthArg","getValue","React","onChangeHeight","cell","cellProps","cellRef","rowValue","changeCellHeight","adjustCellHeight","clientHeight","useDidUpdateEffect","rawValue","ref","handleHeight","onResize","CHANGE_COLUMNS","TOGGLE_FILTERS","CHANGE_FILTER","TOGGLE_SORT","CHANGE_PAGE","CHANGE_ROWS_PER_PAGE","changeColumns","createStandardAction","toggleFilters","changeFilter","toggleSort","changePage","changeRowsPerPage","changeVisibleColumns","state","nextVisibleColumns","removedColumns","visibleColumns","isRemovedColumn","columnId","evolve","always","sorting","field","nextSortField","order","filters","keys","dissoc","reducer","action","type","columnIds","payload","enableFilters","prevSortField","path","prevSortOrder","toggleSortOrder","flexDirection","basicView","BasicView","forwardRef","otherProps","Paper","displayName","EmptyStub","HideOnShrink","widthToHide","handleWidth","render","onlyValue","fontWeight","whiteSpace","textOverflow","overflow","paddingLeft","paddingRight","selectMenu","textField","maxWidth","SelectorWithOnlyOptionAutoSelect","onChange","options","emptyLabel","firstOption","moreOptions","hasOnlyOneOptionToSelect","useEffect","displayEmpty","Typography","variant","DropDownEditor","disableUnderline","TextFieldProps","MenuProps","list","entries","flex","VerticalDivider","margin","borderLeft","flexShrink","viewMoreLessLink","cursor","arrow","transition","rotated","ViewMoreToggle","active","Link","underline","ArrowDropDown","useActions","dispatch","Object","actionName","actionCreator","useSavedStateForEntityType","getSavedState","saveState","entityTypeUri","savedState","setSavedState","changedState","setChangedState","isLoaded","setIsLoaded","updateSavedState","stateToSave","then","_","catch","createInteractionTypeFilter","ROWS_PER_PAGE_OPTIONS","INTERACTION_TYPE_COLUMN_ID","ACTORS_COLUMN_ID","ATTRIBUTES_COLUMN_ID","DEFAULT_COLUMNS_DATA","DataTypes","hideable","sortable","filterOptions","FilterOptions","filterable","maxAttrsToShow","DEFAULT_COLUMNS","ALL_TYPES_COLUMNS","getColumnsDataFromInteractionAttributes","attr","attributeUriToSearchUri","uri","getAttrDataTypeDefinition","uniqBy","getActorTypesOptions","memberTypes","name","updateColumnData","updateFn","adjust","findIndex","propEq","updateActorsColumn","interactionTypes","typeFilterDataType","makeTypeOption","makeCompositeFilterOption","getActorsColumnFilterOptions","getColumnsData","metadata","config","currentInteractionType","getInteractionAttributesFromMetadata","reject","getInteractionType","attributes","getInteractionColumnDataType","updateInteractionTypeColumn","defaultWrapperStyles","paddingBottom","headCell","rowCell","overflowWrap","wordWrap","actorsWrapper","memberWrapper","paddingTop","boxSizing","entityLabel","overflowX","entityAvatar","left","top","defaultWrapper","blobWrapper","link","attributesWrapper","viewMore","RowCellRenderer","CellValueRenderer","isSorted","values","withFilterAtBottom","DefaultHeadCellRenderer","MemberItem","entityType","labelCaption","getLabel","EntityTypeIcon","EntityTypeType","getActorsMembers","ActorsRenderer","members","useDispatch","viewId","useContext","ViewIdContext","useSelector","mdm","objectURI","getEntityType","openEntityWithUri","ui","DefaultCellValueRenderer","DataTypeValue","BlobRender","LinkRenderer","href","target","AttributesRenderer","mdmModule","interaction","attrTypes","expanded","setExpanded","attrNames","visibleCountLimit","hasExtraValuesToShow","attrNamesToShow","slice","attrsToShow","pick","attrTypesToShow","entity","drawLines","getAttrPathFromColumnId","split","Infinity","getNestedPathByColumnId","attrPath","getCellValueRenderer","getBasicTableColumnsData","resizable","nestedPath","headCellRenderer","HeadCellRenderer","rowCellValueRenderer","getMembersCount","getMemberCellHeight","calculateMembersCellHeight","actors","getStaticRowCellHeight","cond","pathEq","attributesCount","T","defaultGetRowCellHeight","tableContainer","fontFamily","interactions","onSort","onFilter","tableRowsData","getActorsForInteraction","timestamp","urisToShow","isAttrToShow","makeAttrTypeUri","pickBy","getAttributeValuesByPath","getInteractionAttributeValues","getRowValueByColumn","getBasicTableRowsData","tableColumnsData","useDynamicRowCellHeight","useLayoutEffect","renderRowCell","RowCellAutoSizer","getRowCellHeight","BasicTable","rowsData","hoverStateEnabled","defaultColumnWidth","defaultColumnMinWidth","headRowHeight","hoveredRowRightContentWrapper","hoveredRowRightContentContainer","header","totalCaption","interactionTypeSelector","InteractionTypeSelector","InteractionTypeType","InteractionsTableHeader","total","filtersEnabled","onToggleFilters","onInteractionTypeChange","BasicViewHeader","Spacer","CHANGE_INTERACTION_TYPE","APPLY_SAVED_STATE","SAVE_CURRENT_STATE","basicTableViewState","changeInteractionType","applySavedState","saveCurrentState","resetActorsColumnFilters","resetPageNumber","getDefaultVisibleColumnsForCurrentInteractionType","ifElse","without","intersection","getSavedVisibleColumnsForCurrentInteractionType","changeVisibleColumnsForCurrentInteractionType","getVisibleColumnsFromSavedState","getFiltersFromSavedState","unless","isNil","validateFilterValue","saveVisibleColumnsForCurrentInteractionType","visibleColumnsForInteractionTypes","getStateToSave","nextInteractionType","entityTypeOfAppliedSavedState","tableView","DEFAULT_SORT_FIELD","initialState","sortOrder","sortColumn","useReducer","entityUri","isSavedStateApplied","isSavedStateLoaded","getInteractionTypesForEntityType","isInteractionTypeExist","allColumnsData","visibleColumnsData","currentTypeClause","Maybe","orSome","filtersClause","buildColumnsFilter","FilterBuilder","addClause","build","buildInteractionsFilter","isLoading","isInteractionsLoading","setIsLoading","setTotal","setInteractions","safePromise","useSafePromise","getInteractions","offset","sort","totalFetched","useInteractions","getRowsPerPageOptions","defaultRowsPerPage","option","handleFilterChange","LinearLoadIndicator","generateClassName","createGenerateClassName","productionPrefix","disableGlobal","store","getSavedStatePromisified","promisifyCallback","Provider","StylesProvider","MuiPickersUtilsProvider","ErrorPopup"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"4469.js","mappings":"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","sources":["webpack://@reltio/remotes/../../node_modules/@date-io/moment/build/index.esm.js","webpack://@reltio/remotes/../components/src/components/BasicTableView/BasicTable/hooks/useDynamicRowCellHeight.ts","webpack://@reltio/remotes/../components/src/icons/Table.tsx","webpack://@reltio/remotes/../components/src/components/BasicTableView/BasicTableHeader/ColumnsSettings/ColumnsSettings.js","webpack://@reltio/remotes/../components/src/components/BasicTableView/BasicTableHeader/ColumnsSettings/styles.js","webpack://@reltio/remotes/../components/src/components/BasicTableView/BasicTableHeader/ColumnsSettings/ColumnListItem.js","webpack://@reltio/remotes/../components/src/components/BasicTableView/BasicTableHeader/ColumnsSettings/ColumnsSettingsPopup.tsx","webpack://@reltio/remotes/../components/src/components/BasicTableView/BasicTableHeader/ColumnsSettings/columnHelpers.js","webpack://@reltio/remotes/../components/src/icons/Filter.tsx","webpack://@reltio/remotes/../components/src/components/BasicTableView/BasicTableHeader/FilterButton/styles.js","webpack://@reltio/remotes/../components/src/components/BasicTableView/BasicTableHeader/FilterButton/FilterButton.js","webpack://@reltio/remotes/../components/src/components/BasicTableView/BasicTablePagination/styles.js","webpack://@reltio/remotes/../components/src/components/BasicTableView/BasicTablePagination/BasicTablePagination.js","webpack://@reltio/remotes/../components/src/components/BasicTableView/RowCellAutoSizer/RowCellAutoSizer.tsx","webpack://@reltio/remotes/../components/src/components/BasicTableView/viewState/basicTableViewState.js","webpack://@reltio/remotes/../components/src/components/BasicView/styles.js","webpack://@reltio/remotes/../components/src/components/BasicView/BasicView.tsx","webpack://@reltio/remotes/../components/src/components/HideOnShrink/HideOnShrink.js","webpack://@reltio/remotes/../components/src/components/SelectorWithOnlyOptionAutoSelect/styles.js","webpack://@reltio/remotes/../components/src/components/SelectorWithOnlyOptionAutoSelect/SelectorWithOnlyOptionAutoSelect.js","webpack://@reltio/remotes/../components/src/components/Spacer/Spacer.js","webpack://@reltio/remotes/../components/src/components/VerticalDivider/VerticalDivider.js","webpack://@reltio/remotes/../components/src/components/ViewMoreToggle/styles.js","webpack://@reltio/remotes/../components/src/components/ViewMoreToggle/ViewMoreToggle.js","webpack://@reltio/remotes/../components/src/hooks/useActions.ts","webpack://@reltio/remotes/../components/src/hooks/useSavedStateForEntityType.ts","webpack://@reltio/remotes/../interactions/src/InteractionsTableView/helpers/filtersHelpers.ts","webpack://@reltio/remotes/../interactions/src/InteractionsTableView/helpers/tableHelpers.ts","webpack://@reltio/remotes/../interactions/src/InteractionsTableView/InteractionsTable/cell-renderers/styles.js","webpack://@reltio/remotes/../interactions/src/InteractionsTableView/InteractionsTable/cell-renderers/RowCellRenderer.js","webpack://@reltio/remotes/../interactions/src/InteractionsTableView/InteractionsTable/cell-renderers/HeadCellRenderer.js","webpack://@reltio/remotes/../interactions/src/InteractionsTableView/InteractionsTable/cell-renderers/ActorsRenderer.js","webpack://@reltio/remotes/../interactions/src/InteractionsTableView/InteractionsTable/cell-renderers/DefaultCellValueRenderer.js","webpack://@reltio/remotes/../interactions/src/InteractionsTableView/InteractionsTable/cell-renderers/BlobRenderer.js","webpack://@reltio/remotes/../interactions/src/InteractionsTableView/InteractionsTable/cell-renderers/LinkRenderer.js","webpack://@reltio/remotes/../interactions/src/InteractionsTableView/InteractionsTable/cell-renderers/AttributesRenderer.js","webpack://@reltio/remotes/../interactions/src/InteractionsTableView/InteractionsTable/helpers/dataHelpers.ts","webpack://@reltio/remotes/../interactions/src/InteractionsTableView/InteractionsTable/styles.ts","webpack://@reltio/remotes/../interactions/src/InteractionsTableView/InteractionsTable/InteractionsTable.tsx","webpack://@reltio/remotes/../interactions/src/InteractionsTableView/InteractionsTableHeader/styles.js","webpack://@reltio/remotes/../interactions/src/InteractionsTableView/InteractionsTableHeader/InteractionTypeSelector/InteractionTypeSelector.js","webpack://@reltio/remotes/../interactions/src/InteractionsTableView/InteractionsTableHeader/InteractionsTableHeader.js","webpack://@reltio/remotes/../interactions/src/InteractionsTableView/stateReducer.ts","webpack://@reltio/remotes/../interactions/src/InteractionsTableView/styles.ts","webpack://@reltio/remotes/../interactions/src/InteractionsTableView/index.tsx","webpack://@reltio/remotes/../interactions/src/InteractionsTableView/hooks/useInteractions.ts","webpack://@reltio/remotes/../interactions/src/index.tsx","webpack://@reltio/remotes/./src/interactions.ts"],"sourcesContent":["import defaultMoment from 'moment';\n\nvar MomentUtils = /** @class */ (function () {\n function MomentUtils(_a) {\n var _b = _a === void 0 ? {} : _a, locale = _b.locale, instance = _b.instance, moment = _b.moment;\n this.yearFormat = \"YYYY\";\n this.yearMonthFormat = \"MMMM YYYY\";\n this.dateTime12hFormat = \"MMMM Do hh:mm a\";\n this.dateTime24hFormat = \"MMMM Do HH:mm\";\n this.time12hFormat = \"hh:mm A\";\n this.time24hFormat = \"HH:mm\";\n this.dateFormat = \"MMMM Do\";\n this.moment = instance || moment || defaultMoment;\n this.locale = locale;\n }\n MomentUtils.prototype.parse = function (value, format) {\n if (value === \"\") {\n return null;\n }\n return this.moment(value, format, true);\n };\n MomentUtils.prototype.date = function (value) {\n if (value === null) {\n return null;\n }\n var moment = this.moment(value);\n moment.locale(this.locale);\n return moment;\n };\n MomentUtils.prototype.isValid = function (value) {\n return this.moment(value).isValid();\n };\n MomentUtils.prototype.isNull = function (date) {\n return date === null;\n };\n MomentUtils.prototype.getDiff = function (date, comparing) {\n return date.diff(comparing);\n };\n MomentUtils.prototype.isAfter = function (date, value) {\n return date.isAfter(value);\n };\n MomentUtils.prototype.isBefore = function (date, value) {\n return date.isBefore(value);\n };\n MomentUtils.prototype.isAfterDay = function (date, value) {\n return date.isAfter(value, \"day\");\n };\n MomentUtils.prototype.isBeforeDay = function (date, value) {\n return date.isBefore(value, \"day\");\n };\n MomentUtils.prototype.isBeforeYear = function (date, value) {\n return date.isBefore(value, \"year\");\n };\n MomentUtils.prototype.isAfterYear = function (date, value) {\n return date.isAfter(value, \"year\");\n };\n MomentUtils.prototype.startOfDay = function (date) {\n return date.clone().startOf(\"day\");\n };\n MomentUtils.prototype.endOfDay = function (date) {\n return date.clone().endOf(\"day\");\n };\n MomentUtils.prototype.format = function (date, formatString) {\n date.locale(this.locale);\n return date.format(formatString);\n };\n MomentUtils.prototype.formatNumber = function (numberToFormat) {\n return numberToFormat;\n };\n MomentUtils.prototype.getHours = function (date) {\n return date.get(\"hours\");\n };\n MomentUtils.prototype.addDays = function (date, count) {\n return count < 0\n ? date.clone().subtract(Math.abs(count), \"days\")\n : date.clone().add(count, \"days\");\n };\n MomentUtils.prototype.setHours = function (date, count) {\n return date.clone().hours(count);\n };\n MomentUtils.prototype.getMinutes = function (date) {\n return date.get(\"minutes\");\n };\n MomentUtils.prototype.setMinutes = function (date, count) {\n return date.clone().minutes(count);\n };\n MomentUtils.prototype.getSeconds = function (date) {\n return date.get(\"seconds\");\n };\n MomentUtils.prototype.setSeconds = function (date, count) {\n return date.clone().seconds(count);\n };\n MomentUtils.prototype.getMonth = function (date) {\n return date.get(\"month\");\n };\n MomentUtils.prototype.isSameDay = function (date, comparing) {\n return date.isSame(comparing, \"day\");\n };\n MomentUtils.prototype.isSameMonth = function (date, comparing) {\n return date.isSame(comparing, \"month\");\n };\n MomentUtils.prototype.isSameYear = function (date, comparing) {\n return date.isSame(comparing, \"year\");\n };\n MomentUtils.prototype.isSameHour = function (date, comparing) {\n return date.isSame(comparing, \"hour\");\n };\n MomentUtils.prototype.setMonth = function (date, count) {\n return date.clone().month(count);\n };\n MomentUtils.prototype.getMeridiemText = function (ampm) {\n return ampm === \"am\" ? \"AM\" : \"PM\";\n };\n MomentUtils.prototype.startOfMonth = function (date) {\n return date.clone().startOf(\"month\");\n };\n MomentUtils.prototype.endOfMonth = function (date) {\n return date.clone().endOf(\"month\");\n };\n MomentUtils.prototype.getNextMonth = function (date) {\n return date.clone().add(1, \"month\");\n };\n MomentUtils.prototype.getPreviousMonth = function (date) {\n return date.clone().subtract(1, \"month\");\n };\n MomentUtils.prototype.getMonthArray = function (date) {\n var firstMonth = date.clone().startOf(\"year\");\n var monthArray = [firstMonth];\n while (monthArray.length < 12) {\n var prevMonth = monthArray[monthArray.length - 1];\n monthArray.push(this.getNextMonth(prevMonth));\n }\n return monthArray;\n };\n MomentUtils.prototype.getYear = function (date) {\n return date.get(\"year\");\n };\n MomentUtils.prototype.setYear = function (date, year) {\n return date.clone().set(\"year\", year);\n };\n MomentUtils.prototype.mergeDateAndTime = function (date, time) {\n return this.setMinutes(this.setHours(date, this.getHours(time)), this.getMinutes(time));\n };\n MomentUtils.prototype.getWeekdays = function () {\n return this.moment.weekdaysShort(true);\n };\n MomentUtils.prototype.isEqual = function (value, comparing) {\n if (value === null && comparing === null) {\n return true;\n }\n return this.moment(value).isSame(comparing);\n };\n MomentUtils.prototype.getWeekArray = function (date) {\n var start = date\n .clone()\n .startOf(\"month\")\n .startOf(\"week\");\n var end = date\n .clone()\n .endOf(\"month\")\n .endOf(\"week\");\n var count = 0;\n var current = start;\n var nestedWeeks = [];\n while (current.isBefore(end)) {\n var weekNumber = Math.floor(count / 7);\n nestedWeeks[weekNumber] = nestedWeeks[weekNumber] || [];\n nestedWeeks[weekNumber].push(current);\n current = current.clone().add(1, \"day\");\n count += 1;\n }\n return nestedWeeks;\n };\n MomentUtils.prototype.getYearRange = function (start, end) {\n var startDate = this.moment(start).startOf(\"year\");\n var endDate = this.moment(end).endOf(\"year\");\n var years = [];\n var current = startDate;\n while (current.isBefore(endDate)) {\n years.push(current);\n current = current.clone().add(1, \"year\");\n }\n return years;\n };\n // displaying methods\n MomentUtils.prototype.getCalendarHeaderText = function (date) {\n return this.format(date, this.yearMonthFormat);\n };\n MomentUtils.prototype.getYearText = function (date) {\n return this.format(date, \"YYYY\");\n };\n MomentUtils.prototype.getDatePickerHeaderText = function (date) {\n return this.format(date, \"ddd, MMM D\");\n };\n MomentUtils.prototype.getDateTimePickerHeaderText = function (date) {\n return this.format(date, \"MMM D\");\n };\n MomentUtils.prototype.getMonthText = function (date) {\n return this.format(date, \"MMMM\");\n };\n MomentUtils.prototype.getDayText = function (date) {\n return this.format(date, \"D\");\n };\n MomentUtils.prototype.getHourText = function (date, ampm) {\n return this.format(date, ampm ? \"hh\" : \"HH\");\n };\n MomentUtils.prototype.getMinuteText = function (date) {\n return this.format(date, \"mm\");\n };\n MomentUtils.prototype.getSecondText = function (date) {\n return this.format(date, \"ss\");\n };\n return MomentUtils;\n}());\n\nexport default MomentUtils;\n","import {useCallback, useRef, useState} from 'react';\nimport {__, curry, identity, pipe, prop, useWith, equals} from 'ramda';\nimport {debounce} from '@reltio/mdm-sdk';\nimport {ColumnData, RowValue} from '../../types';\n\ntype GetRowCellKeyProps = {\n rowIndex: number;\n cellIndex: number;\n columnData: ColumnData;\n rowValue: RowValue;\n};\n\ntype RowCellHeightsMap = Record<string, number>;\n\nconst defaultGetRowCellKey = ({rowIndex, columnData: {id}, cellIndex}: GetRowCellKeyProps) => `${id}[${rowIndex}][${cellIndex}]`;\n\nconst useDynamicRowCellHeight = (getRowCellKey = defaultGetRowCellKey) => {\n const [rowCellHeightsMap, setRowCellHeightsMap] = useState<RowCellHeightsMap>({});\n const rowCellHeightsMapCache = useRef<RowCellHeightsMap>({});\n const batchHeightUpdate = (key: string, value: number) => {\n rowCellHeightsMapCache.current[key] = value;\n };\n const flushHeightUpdates = useCallback(\n debounce(() => {\n setRowCellHeightsMap((prev) => {\n const next = {...rowCellHeightsMapCache.current};\n return equals(prev, next) ? prev : next;\n });\n }),\n []\n );\n const clearHeightsCache = useCallback(() => {\n rowCellHeightsMapCache.current = {};\n }, []);\n\n const getDynamicRowCellHeight = useCallback(pipe(getRowCellKey, prop(__, rowCellHeightsMap)), [rowCellHeightsMap]);\n\n const changeRowCellHeight = useCallback(\n curry(useWith(pipe(batchHeightUpdate, flushHeightUpdates), [getRowCellKey, identity])),\n []\n );\n\n return {getDynamicRowCellHeight, changeRowCellHeight, clearHeightsCache};\n};\n\nexport default useDynamicRowCellHeight;\n","import React from 'react';\n\nconst SvgTable: React.FC<React.SVGProps<SVGSVGElement>> = (props) => {\n return (\n <svg width={20} height={18} viewBox=\"0 0 20 18\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path\n d=\"M16 7.24V6h-4v1.24a8.417 8.417 0 00-2 .768V6H6v6h.29a8.497 8.497 0 00-.15.358l-.29.733.29.733.07.176H2c-1.1 0-2-.9-2-2V2C0 .9.9 0 2 0h14c1.1 0 2 .9 2 2v6.008a8.417 8.417 0 00-2-.768zM4 12V6H2v6h2zm0-8V2H2v2h2zm6 0V2H6v2h4zm6 0V2h-4v2h4zm-2 5a6.451 6.451 0 00-6 4.09 6.451 6.451 0 006 4.092 6.451 6.451 0 006-4.091A6.451 6.451 0 0014 9zm0 6.818a2.728 2.728 0 010-5.454 2.728 2.728 0 010 5.454zm0-4.363c-.905 0-1.636.73-1.636 1.636 0 .905.73 1.636 1.636 1.636.905 0 1.636-.73 1.636-1.636 0-.906-.73-1.636-1.636-1.636z\"\n fill=\"#000\"\n fillRule=\"nonzero\"\n stroke=\"none\"\n strokeWidth={1}\n opacity={0.54}\n />\n </svg>\n );\n};\n\nexport default SvgTable;\n","import React, {useCallback, useState} from 'react';\nimport PropTypes from 'prop-types';\nimport {ColumnsDataType} from '../../../../constants';\nimport TableIcon from '../../../../icons/Table';\nimport {SmallIconButtonWithTooltip} from '../../../SmallIconButton';\nimport {pipe, uniq, pluck, difference, concat} from 'ramda';\n\nimport {ColumnsSettingsPopup} from './ColumnsSettingsPopup';\n\nimport i18n from 'ui-i18n';\nimport {getChildColumns, isColumnSelected} from './columnHelpers';\n\nconst ColumnsSettings = ({columnsData, selectedColumns, onChangeColumns, title, tooltipTitle}) => {\n const [anchorEl, setAnchorEl] = useState(null);\n const openPopup = (event) => setAnchorEl(event.currentTarget);\n const closePopup = () => setAnchorEl(null);\n const handleColumnClick = useCallback(\n (column) => {\n const changedColumns = pipe(getChildColumns, pluck('id'))(column);\n const wasSelected = isColumnSelected(selectedColumns, column);\n onChangeColumns(\n wasSelected\n ? difference(selectedColumns, changedColumns)\n : uniq(concat(selectedColumns, changedColumns))\n );\n },\n [selectedColumns, onChangeColumns]\n );\n return (\n <>\n <SmallIconButtonWithTooltip\n tooltipTitle={tooltipTitle || i18n.text('Show/hide columns')}\n size=\"L\"\n icon={TableIcon}\n onClick={openPopup}\n />\n <ColumnsSettingsPopup\n onColumnClick={handleColumnClick}\n anchorEl={anchorEl}\n columnsData={columnsData}\n onClose={closePopup}\n title={title}\n selectedColumns={selectedColumns}\n />\n </>\n );\n};\n\nColumnsSettings.propTypes = {\n columnsData: ColumnsDataType,\n selectedColumns: PropTypes.arrayOf(PropTypes.string),\n onChangeColumns: PropTypes.func,\n title: PropTypes.string,\n tooltipTitle: PropTypes.string\n};\n\nexport default ColumnsSettings;\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles({\n popup: {\n minWidth: '200px'\n },\n groupItem: {\n backgroundColor: 'rgba(0,0,0,0.04)'\n }\n});\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport AttributeListItem from '../../../AttributeListItem/AttributeListItem';\nimport Highlighter from '../../../Highlighter/Highlighter';\n\nimport classnames from 'classnames';\nimport {useStyles} from './styles';\n\nconst ColumnListItem = ({item, onClick, checked, level, style, isFocused, isGroupItem, hideCheckBox}) => {\n const styles = useStyles();\n return (\n <AttributeListItem\n hideCheckBox={hideCheckBox}\n key={item.id}\n onClick={onClick}\n checked={checked}\n level={level}\n data={item}\n label={<Highlighter text={item.label} highlight={item.filterText} />}\n labelInText={item.label}\n style={style}\n isFocused={isFocused}\n hideIcon={isGroupItem}\n className={classnames({[styles.groupItem]: isGroupItem})}\n />\n );\n};\n\nColumnListItem.propTypes = {\n item: PropTypes.shape({\n label: PropTypes.string,\n filterText: PropTypes.string\n }),\n level: PropTypes.number,\n onClick: PropTypes.func,\n checked: PropTypes.bool,\n style: PropTypes.object,\n isGroupItem: PropTypes.bool,\n isFocused: PropTypes.bool,\n hideCheckBox: PropTypes.bool\n};\n\nexport default ColumnListItem;\n","import React, {useState, useMemo, useCallback} from 'react';\nimport i18n from 'ui-i18n';\nimport {pipe} from 'ramda';\n\nimport {getMaxItemWidth, DataTypeDefinition} from '@reltio/mdm-sdk';\n\nimport VirtualGroupedList from '../../../VirtualGroupedList/VirtualGroupedList';\nimport SelectionPopup from '../../../SelectionPopup/SelectionPopup';\nimport {buildColumnItems, isColumnSelected, isGroupColumn} from './columnHelpers';\nimport {flattenGroupedItemsData} from '../../../VirtualGroupedList/helpers';\nimport {useKeyboardNavigation} from '../../../SelectionPopup/helpers';\nimport ColumnListItem from './ColumnListItem';\n\nimport {useStyles} from './styles';\nimport {ListItemProps} from '@material-ui/core/ListItem';\n\ntype Column = {\n id: string;\n label: string;\n};\n\ntype GroupedColumnData =\n | {\n id: string;\n label: string;\n columns: Column[];\n }\n | Column;\n\ntype GroupedColumnList = {\n id: string;\n groupId: string;\n label: string;\n attrType: DataTypeDefinition;\n};\n\ntype Props = {\n anchorEl: HTMLElement;\n onClose: () => void;\n title?: string;\n columnsData: GroupedColumnData[];\n onColumnClick: (column: {id: string}) => void;\n selectedColumns: string[];\n hideCheckBox?: boolean;\n};\n\nconst ITEM_HEIGHT = 32;\nconst MAX_LIST_CONTAINER_HEIGHT = 300;\nconst DEFAULT_MIN_CONTAINER_WIDTH = 308;\nconst CONTAINER_HEADER_HEIGHT = 108;\nconst MIN_CONTAINER_HEIGHT = 140;\n\nexport const ColumnsSettingsPopup = ({\n anchorEl,\n onClose,\n title,\n columnsData,\n onColumnClick,\n selectedColumns,\n hideCheckBox\n}: Props) => {\n const styles = useStyles();\n const [filterText, setFilterText] = useState('');\n const clearFilter = () => setFilterText('');\n const groupedItems = useMemo(() => buildColumnItems(columnsData, filterText), [columnsData, filterText]);\n\n const items = useMemo(() => flattenGroupedItemsData(groupedItems), [groupedItems]);\n const containerWidth: number = getMaxItemWidth('label')(groupedItems) || DEFAULT_MIN_CONTAINER_WIDTH;\n\n const handleSearchOnEnter = useCallback(\n ({item}: {item: {id: string}; groupData: {item: {id: string}}}) => onColumnClick(item),\n [onColumnClick]\n );\n\n const {focusIndex, handleKeyDown} = useKeyboardNavigation({\n items,\n open: true,\n onSelectFocusedItem: handleSearchOnEnter,\n selectedItems: selectedColumns,\n onClose\n });\n const handleClose = useCallback(pipe(onClose, clearFilter), [onClose]);\n\n const renderColumnItem = (\n style: ListItemProps['style'],\n {item, level = 0}: {item: GroupedColumnList; level?: number},\n index: number\n ) => {\n return (\n <ColumnListItem\n hideCheckBox={hideCheckBox}\n style={style}\n item={item}\n level={level}\n isFocused={focusIndex === index}\n checked={isColumnSelected(selectedColumns, item)}\n isGroupItem={isGroupColumn(item)}\n onClick={hideCheckBox ? pipe(onColumnClick, handleClose) : onColumnClick}\n />\n );\n };\n\n const listHeight = Math.min(MAX_LIST_CONTAINER_HEIGHT, ITEM_HEIGHT * items.length);\n const containerHeight = Math.max(MIN_CONTAINER_HEIGHT, listHeight + CONTAINER_HEADER_HEIGHT);\n\n return (\n <SelectionPopup\n className={styles.popup}\n open={!!anchorEl}\n anchorEl={anchorEl}\n onClose={handleClose}\n onSearch={setFilterText}\n title={title || i18n.text('Show/hide columns')}\n containerWidth={containerWidth}\n containerHeight={containerHeight}\n searchInputOnKeyDown={handleKeyDown}\n >\n <VirtualGroupedList\n fixedTitle={false}\n height={listHeight}\n renderItem={renderColumnItem}\n items={items}\n getItemSize={() => ITEM_HEIGHT}\n focusIndex={focusIndex}\n />\n </SelectionPopup>\n );\n};\n","import {assoc, chain, curry, either, filter, has, pipe, propOr, reduce, when} from 'ramda';\nimport {utils} from '@reltio/mdm-sdk';\n\nconst isGroupColumn = (column) => column.id === column.groupId;\nconst isParentToColumn = curry(\n ({id, groupId}, parent) => parent.groupId === groupId && (id === parent.id || id.startsWith(`${parent.id}.`))\n);\nconst isGroupToColumn = curry(({groupId}, group) => groupId === group.id);\nconst isHideableColumn = propOr(true, 'hideable');\n\nconst getColumnRoot = (columns, column) => columns.find(either(isGroupToColumn(column), isParentToColumn(column)));\n\nconst addColumn = (columns, column) => {\n const root = getColumnRoot(columns, column);\n if (root) {\n root.children = addColumn(root.children || [], column);\n return columns;\n } else {\n return columns.concat(column);\n }\n};\n\nconst filterColumnsByLabel = curry(\n (filterText, column) =>\n utils.strings.search(column.label, filterText) || (column.children || []).some(filterColumnsByLabel(filterText))\n);\n\nconst buildColumnsTrees = reduce(\n (acc, columnData) =>\n addColumn(acc, {\n id: columnData.id,\n groupId: columnData.groupId,\n label: columnData.label,\n attrType: columnData.dataTypeDefinition\n }),\n []\n);\n\nconst buildFilteredColumnItems = curry((filterText, columns, level = 0) =>\n pipe(\n filter(filterColumnsByLabel(filterText)),\n chain((column) => {\n const item = {\n item: {...column, filterText},\n level\n };\n const childrenItems = column.children\n ? buildFilteredColumnItems(filterText, column.children, level + 1)\n : [];\n return [item, ...childrenItems];\n })\n )(columns)\n);\n\nconst isGroupedColumnsData = has('columns');\nconst flattenGroupedColumnsData = ({id, label, columns}) => [\n {id, groupId: id, label},\n ...columns.map(assoc('groupId', id))\n];\n\nconst buildColumnItems = (columnsData, filterText) => {\n return pipe(\n chain(when(isGroupedColumnsData, flattenGroupedColumnsData)),\n filter(either(isGroupColumn, isHideableColumn)),\n buildColumnsTrees,\n buildFilteredColumnItems(filterText)\n )(columnsData);\n};\n\nconst getChildColumns = (column) => (column.children ? chain(getChildColumns, column.children) : [column]);\n\nconst isColumnSelected = (selectedColumns, column) => {\n const childColumns = getChildColumns(column);\n const isColumnSelected = (column) => selectedColumns.includes(column.id);\n return isGroupColumn(column) ? childColumns.every(isColumnSelected) : childColumns.some(isColumnSelected);\n};\n\nexport {buildColumnItems, getChildColumns, isGroupColumn, isColumnSelected};\n","import React from 'react';\n\nconst SvgFilter: React.FC<React.SVGProps<SVGSVGElement>> = (props) => {\n return (\n <svg width={18} height={18} viewBox=\"0 0 18 18\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path d=\"M18 2V0H0v2l7 8v8l4-2v-6z\" fill=\"currentColor\" fillRule=\"nonzero\" stroke=\"none\" strokeWidth={1} />\n </svg>\n );\n};\n\nexport default SvgFilter;\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles((theme) => ({\n 'filterIcon--enabled': {\n color: theme.palette.primary.main\n },\n closeIcon: {\n position: 'absolute',\n right: '3px',\n bottom: '3px',\n transform: 'scale(0.5)'\n },\n button: {\n padding: '11px'\n }\n}));\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport i18n from 'ui-i18n';\nimport {IconButton as IconButton} from '@material-ui/core';\nimport CloseIcon from '@material-ui/icons/Close';\nimport {Tooltip as Tooltip} from '@material-ui/core';\nimport FilterIcon from '../../../../icons/Filter';\nimport {useStyles} from './styles';\n\nconst FilterButton = ({enabled, onClick}) => {\n const styles = useStyles();\n\n return (\n <Tooltip title={enabled ? i18n.text('Clear all filters') : i18n.text('Filter')}>\n <IconButton onClick={onClick} classes={{root: styles.button}}>\n {enabled ? (\n <>\n <FilterIcon className={styles['filterIcon--enabled']} />\n <CloseIcon color=\"primary\" className={styles.closeIcon} />\n </>\n ) : (\n <FilterIcon />\n )}\n </IconButton>\n </Tooltip>\n );\n};\n\nFilterButton.propTypes = {\n enabled: PropTypes.bool,\n onClick: PropTypes.func\n};\n\nexport default FilterButton;\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles({\n pagination: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'flex-end',\n height: '56px',\n borderTop: '1px solid rgba(0,0,0,0.12)',\n boxShadow: 'none'\n },\n caption: {\n color: 'rgba(0,0,0,0.6)',\n fontSize: '12px',\n lineHeight: '16px'\n },\n selectRoot: {\n marginLeft: '5px',\n marginRight: '36px'\n },\n select: {\n color: 'rgba(0,0,0,0.6)',\n fontSize: '12px',\n lineHeight: '16px',\n textAlign: 'right'\n },\n actions: {\n marginLeft: '32px'\n }\n});\n","import PropTypes from 'prop-types';\nimport React, {useCallback} from 'react';\nimport classnames from 'classnames';\nimport {TablePagination as TablePagination} from '@material-ui/core';\nimport i18n from 'ui-i18n';\nimport {getValue} from '../../../core/utils';\nimport {nthArg, pipe, pathOr, identity} from 'ramda';\nimport {useStyles} from './styles';\n\nconst BasicTablePagination = ({\n classes = {},\n count,\n rowsPerPageOptions,\n page,\n onChangePage,\n rowsPerPage,\n onChangeRowsPerPage,\n basicTableRef,\n labelRowsPerPage\n}) => {\n const labelDisplayedRows = ({from, to, count}) =>\n i18n.text('${fromRow}-${toRow} of ${countRows}', {\n fromRow: i18n.number(from, '0,0'),\n toRow: i18n.number(to, '0,0'),\n countRows: i18n.number(count, '0,0')\n });\n const styles = useStyles();\n const resetScrollbarPosition = useCallback(() => {\n pathOr(identity, ['current', 'resetScrollbarPosition'], basicTableRef)();\n }, [basicTableRef]);\n const handleChangePage = useCallback(\n (value) => {\n onChangePage(value);\n resetScrollbarPosition();\n },\n [onChangePage, resetScrollbarPosition]\n );\n const handleChangeRowsPerPage = useCallback(\n (value) => {\n onChangePage(0);\n onChangeRowsPerPage(value);\n resetScrollbarPosition();\n },\n [onChangePage, onChangeRowsPerPage, resetScrollbarPosition]\n );\n return (\n <TablePagination\n classes={{\n ...classes,\n root: classnames(styles.pagination, classes.root),\n select: classnames(styles.select, classes.select),\n caption: styles.caption,\n selectRoot: styles.selectRoot,\n actions: styles.actions\n }}\n component=\"div\"\n labelRowsPerPage={labelRowsPerPage || i18n.text('Rows per page:')}\n labelDisplayedRows={labelDisplayedRows}\n count={count}\n rowsPerPageOptions={rowsPerPageOptions}\n page={page}\n onChangePage={pipe(nthArg(1), handleChangePage)}\n rowsPerPage={rowsPerPage}\n onChangeRowsPerPage={pipe(getValue, handleChangeRowsPerPage)}\n />\n );\n};\n\nBasicTablePagination.propTypes = {\n classes: PropTypes.object,\n rowsPerPageOptions: PropTypes.arrayOf(PropTypes.number),\n count: PropTypes.number,\n page: PropTypes.number,\n onChangePage: PropTypes.func,\n rowsPerPage: PropTypes.number,\n onChangeRowsPerPage: PropTypes.func,\n basicTableRef: PropTypes.shape({current: PropTypes.object}),\n labelRowsPerPage: PropTypes.string\n};\n\nexport default React.memo(BasicTablePagination);\n","import React, {ReactNode, useRef} from 'react';\n\nimport ReactResizeDetector from 'react-resize-detector';\nimport {useDidUpdateEffect} from '../../../hooks';\nimport {ColumnData, RenderRowCellProps, RowValue} from '../types';\n\ntype OnChangeHeightProps = {\n rowIndex: number;\n cellIndex: number;\n columnData: ColumnData;\n rowValue: RowValue;\n};\n\ntype Props = {\n onChangeHeight: (props: OnChangeHeightProps) => (size: number) => void;\n children: ReactNode;\n} & RenderRowCellProps;\n\nconst RowCellAutoSizer = ({onChangeHeight, children: cell, ...cellProps}: Props) => {\n const cellRef = useRef<HTMLDivElement>();\n const {rowValue, rowIndex, columnData, cellIndex} = cellProps;\n const changeCellHeight = onChangeHeight({rowIndex, cellIndex, columnData, rowValue});\n\n const adjustCellHeight = () => cellRef.current && changeCellHeight(cellRef.current.clientHeight);\n\n useDidUpdateEffect(adjustCellHeight, [rowValue.rawValue]);\n\n return (\n <div ref={cellRef}>\n <ReactResizeDetector handleHeight onResize={adjustCellHeight} />\n {cell}\n </div>\n );\n};\n\nexport default RowCellAutoSizer;\n","import {always, assoc, difference, dissoc, evolve, keys, path, when} from 'ramda';\nimport {createStandardAction, toggleSortOrder} from '../../../core';\n\nconst CHANGE_COLUMNS = 'CHANGE_COLUMNS';\nconst TOGGLE_FILTERS = 'TOGGLE_FILTERS';\nconst CHANGE_FILTER = 'CHANGE_FILTER';\nconst TOGGLE_SORT = 'TOGGLE_SORT';\nconst CHANGE_PAGE = 'CHANGE_PAGE';\nconst CHANGE_ROWS_PER_PAGE = 'CHANGE_ROWS_PER_PAGE';\n\nexport const actions = {\n changeColumns: createStandardAction(CHANGE_COLUMNS),\n toggleFilters: createStandardAction(TOGGLE_FILTERS),\n changeFilter: createStandardAction(CHANGE_FILTER),\n toggleSort: createStandardAction(TOGGLE_SORT),\n changePage: createStandardAction(CHANGE_PAGE),\n changeRowsPerPage: createStandardAction(CHANGE_ROWS_PER_PAGE)\n};\n\nexport const changeVisibleColumns = (state, nextVisibleColumns) => {\n const removedColumns = difference(state.visibleColumns, nextVisibleColumns);\n const isRemovedColumn = (columnId) => removedColumns.includes(columnId);\n return evolve(\n {\n visibleColumns: always(nextVisibleColumns),\n sorting: when(\n (sorting = {}) => isRemovedColumn(sorting.field),\n () => {\n const [nextSortField] = nextVisibleColumns;\n return {field: nextSortField, order: 'asc'};\n }\n ),\n filters: (filters) =>\n keys(filters).reduce(\n (acc, columnId) => (isRemovedColumn(columnId) ? dissoc(columnId, acc) : acc),\n filters\n )\n },\n state\n );\n};\n\nexport const reducer = (state, action) => {\n switch (action.type) {\n case CHANGE_COLUMNS: {\n const columnIds = action.payload;\n return changeVisibleColumns(state, columnIds);\n }\n case TOGGLE_FILTERS: {\n const enableFilters = !state.filters;\n return {\n ...state,\n filters: enableFilters ? {} : null,\n page: enableFilters ? state.page : 0\n };\n }\n case CHANGE_FILTER: {\n const {columnId, filter} = action.payload;\n return evolve({filters: filter ? assoc(columnId, filter) : dissoc(columnId), page: always(0)}, state);\n }\n case TOGGLE_SORT: {\n const nextSortField = action.payload;\n const prevSortField = path(['sorting', 'field'], state);\n const prevSortOrder = path(['sorting', 'order'], state);\n return {\n ...state,\n sorting: {\n field: nextSortField,\n order: toggleSortOrder(nextSortField === prevSortField ? prevSortOrder : null)\n },\n page: 0\n };\n }\n case CHANGE_PAGE:\n return {...state, page: action.payload};\n case CHANGE_ROWS_PER_PAGE:\n return {...state, rowsPerPage: action.payload};\n default:\n return state;\n }\n};\n\nexport default {\n reducer,\n actions,\n changeVisibleColumns\n};\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles((theme) => ({\n 'basic-view__paper': {\n display: 'flex',\n flexDirection: 'column',\n ...theme.basicView\n }\n}));\n","import Paper, {PaperProps} from '@material-ui/core/Paper';\nimport PropTypes from 'prop-types';\nimport React, {forwardRef, Ref} from 'react';\nimport {useStyles} from './styles';\n\nconst BasicView = forwardRef<Ref<typeof Paper>, PaperProps>(({children, className, ...otherProps}, ref) => {\n const styles = useStyles();\n return (\n <Paper ref={ref} className={className} classes={{root: styles['basic-view__paper']}} {...otherProps}>\n {children}\n </Paper>\n );\n});\n\nBasicView.displayName = 'BasicView';\n\nBasicView.propTypes = {\n children: PropTypes.node,\n className: PropTypes.string\n};\n\nexport default BasicView;\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport ReactResizeDetector from 'react-resize-detector';\n\nconst EmptyStub = () => <div style={{display: 'none'}} />;\n\nconst HideOnShrink = ({widthToHide, children}) => (\n <ReactResizeDetector\n handleWidth={true}\n render={({width}) => (width > widthToHide ? <>{children}</> : <EmptyStub />)}\n />\n);\n\nHideOnShrink.propTypes = {\n children: PropTypes.node,\n widthToHide: PropTypes.number.isRequired\n};\n\nexport default HideOnShrink;\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles({\n onlyValue: {\n color: 'rgba(0,0,0,.6)',\n fontSize: '13px',\n fontWeight: 'normal',\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis',\n overflow: 'hidden'\n },\n select: {\n fontSize: '13px',\n color: 'rgba(0,0,0,.6)',\n paddingLeft: '15px',\n '&&': {\n paddingRight: '35px'\n }\n },\n selectMenu: {\n '& li': {\n fontSize: '13px',\n height: '32px'\n }\n },\n textField: {\n maxWidth: '100%'\n }\n});\n","import React, {useEffect} from 'react';\nimport PropTypes from 'prop-types';\n\nimport {Typography as Typography} from '@material-ui/core';\nimport {useStyles} from './styles';\nimport DropDownEditor from '../editors/DropDownEditor/DropDownEditor';\n\nconst SelectorWithOnlyOptionAutoSelect = ({value, onChange, options, classes = {}, emptyLabel}) => {\n const styles = useStyles();\n\n const [firstOption, ...moreOptions] = options;\n const hasOnlyOneOptionToSelect = moreOptions.length === 0;\n\n useEffect(() => {\n if (hasOnlyOneOptionToSelect && value !== firstOption.value) {\n onChange(firstOption.value);\n }\n }, [firstOption.value]); // eslint-disable-line\n\n const displayEmpty = !!emptyLabel;\n\n return (\n <div className={classes.root}>\n {hasOnlyOneOptionToSelect ? (\n <Typography className={classes.onlyValue || styles.onlyValue} variant={'h6'}>\n {firstOption.label}\n </Typography>\n ) : (\n <DropDownEditor\n displayEmpty={displayEmpty}\n disableUnderline={true}\n classes={{\n select: classes.select || styles.select\n }}\n TextFieldProps={{\n classes: {\n root: classes.textField || styles.textField\n }\n }}\n MenuProps={{\n classes: {\n list: classes.selectMenu || styles.selectMenu\n }\n }}\n value={value || ''}\n entries={displayEmpty ? [{value: '', label: emptyLabel}, ...options] : options}\n onChange={(value) => onChange(value || null)}\n />\n )}\n </div>\n );\n};\n\nSelectorWithOnlyOptionAutoSelect.propTypes = {\n value: PropTypes.string,\n onChange: PropTypes.func,\n options: PropTypes.arrayOf(\n PropTypes.shape({\n value: PropTypes.string,\n label: PropTypes.string\n })\n ),\n classes: PropTypes.shape({\n root: PropTypes.string,\n onlyValue: PropTypes.string,\n select: PropTypes.string,\n selectMenu: PropTypes.string,\n textField: PropTypes.string\n }),\n emptyLabel: PropTypes.string\n};\n\nexport default SelectorWithOnlyOptionAutoSelect;\n","import React from 'react';\n\nconst Spacer = () => <div style={{flex: 1}} />;\n\nexport default Spacer;\n","import PropTypes from 'prop-types';\nimport React from 'react';\n\nconst VerticalDivider = ({height, margin}) => (\n <div\n style={{\n width: '1px',\n height: `${height}px`,\n borderLeft: '1px solid rgba(0,0,0,0.38)',\n margin: `0 ${margin}px`,\n flexShrink: '0'\n }}\n />\n);\n\nVerticalDivider.propTypes = {\n height: PropTypes.number,\n margin: PropTypes.number\n};\n\nexport default VerticalDivider;\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles(() => ({\n viewMoreLessLink: {\n display: 'flex',\n alignItems: 'center',\n cursor: 'pointer'\n },\n\n arrow: {\n marginRight: '8px',\n marginLeft: '-2px',\n transform: 'rotate(0deg)',\n transition: 'transform 0.35s ease'\n },\n\n rotated: {\n transform: 'rotate(-180deg)'\n }\n}));\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport {Link as Link} from '@material-ui/core';\nimport ArrowDropDownIcon from '@material-ui/icons/ArrowDropDown';\nimport {useStyles} from './styles';\nimport classnames from 'classnames';\nimport i18n from 'ui-i18n';\n\nconst ViewMoreToggle = ({active, onClick, className}) => {\n const styles = useStyles();\n return (\n <Link className={classnames(styles.viewMoreLessLink, className)} onClick={onClick} underline=\"none\">\n <ArrowDropDownIcon className={classnames(styles.arrow, {[styles.rotated]: active})} />\n {active ? i18n.text('View less') : i18n.text('View more')}\n </Link>\n );\n};\n\nViewMoreToggle.propTypes = {\n active: PropTypes.bool,\n onClick: PropTypes.func,\n className: PropTypes.string\n};\n\nexport default ViewMoreToggle;\n","import {useMemo} from 'react';\nimport {pipe} from 'ramda';\n\ntype UseActions = ({\n actions,\n dispatch\n}: {\n actions: {\n [key: string]: <T>(payload: T) => {type: string; payload: T};\n };\n dispatch: <T>({type, payload}: {type: string; payload: T}) => void;\n}) => {\n [key in keyof typeof actions]: <T>(payload: T) => void;\n};\n\nexport const useActions: UseActions = ({actions, dispatch}) =>\n useMemo(\n () =>\n Object.entries(actions).reduce((acc, [actionName, actionCreator]) => {\n return {...acc, [actionName]: pipe(actionCreator, dispatch)};\n }, {}),\n [dispatch, actions]\n );\n","import {useCallback, useEffect, useState} from 'react';\nimport {useDidUpdateEffect} from './useDidUpdateEffect';\n\ntype SavedState<T> = {\n [entityType: string]: T;\n};\n\ntype Props<T> = {\n getSavedState: () => Promise<SavedState<T>>;\n saveState: (state: SavedState<T>) => void;\n entityTypeUri?: string;\n};\n\nexport const useSavedStateForEntityType = <T>({getSavedState, saveState, entityTypeUri}: Props<T>) => {\n const [savedState, setSavedState] = useState<SavedState<T>>({});\n const [changedState, setChangedState] = useState<SavedState<T>>(null);\n const [isLoaded, setIsLoaded] = useState(false);\n\n const saveChangesLocallyForPrevEntityType = () => {\n if (changedState) {\n setSavedState({...savedState, ...changedState});\n setChangedState(null);\n }\n };\n useDidUpdateEffect(saveChangesLocallyForPrevEntityType, [entityTypeUri]);\n\n const updateSavedState = useCallback(\n (stateToSave: T) => {\n if (!entityTypeUri) return;\n const changedState = {\n [entityTypeUri]: stateToSave\n };\n setChangedState(changedState);\n saveState({...savedState, ...changedState});\n },\n [entityTypeUri, saveState, savedState]\n );\n\n useEffect(() => {\n getSavedState()\n .then((savedState) => {\n setSavedState(savedState || {});\n })\n .then((_) => setIsLoaded(true))\n .catch((_) => setIsLoaded(true));\n }, []); // eslint-disable-line\n\n return {isLoaded: isLoaded && !!entityTypeUri, savedState: savedState[entityTypeUri], updateSavedState};\n};\n","import {FilterBuilder, Maybe} from '@reltio/mdm-sdk';\nimport {buildColumnsFilter, ColumnData, ColumnFilter} from '@reltio/components';\n\nconst createInteractionTypeFilter = (value) => `equals(type,'${value}')`;\n\nconst buildInteractionsFilter = (\n currentInteractionType: string,\n filters: Record<string, ColumnFilter>,\n columnsData: ColumnData[]\n) => {\n const currentTypeClause = Maybe.fromNull(currentInteractionType).map(createInteractionTypeFilter).orSome('');\n\n const filtersClause = buildColumnsFilter(columnsData, filters);\n\n return new FilterBuilder().addClause(currentTypeClause).addClause(filtersClause).build();\n};\n\nexport {buildInteractionsFilter};\n","import {\n attributeUriToSearchUri,\n DataTypes,\n FilterOptions,\n getAttrDataTypeDefinition,\n getInteractionAttributesFromMetadata,\n getInteractionType,\n InteractionType,\n makeCompositeFilterOption\n} from '@reltio/mdm-sdk';\nimport {adjust, assoc, chain, concat, map, pipe, pluck, prop, propEq, reject, subtract, uniqBy} from 'ramda';\nimport i18n from 'ui-i18n';\n\nconst ROWS_PER_PAGE_OPTIONS = [10, 25, 50, 100];\nconst getRowsPerPageOptions = (defaultRowsPerPage: number) =>\n ROWS_PER_PAGE_OPTIONS.filter((option) => option !== defaultRowsPerPage)\n .concat(defaultRowsPerPage)\n .sort(subtract);\n\nconst INTERACTION_TYPE_COLUMN_ID = 'type';\nconst ACTORS_COLUMN_ID = 'members';\nconst ATTRIBUTES_COLUMN_ID = 'attributes';\n\nconst MAX_ATTRIBUTES_TO_SHOW = 7;\n\nconst DEFAULT_COLUMNS_DATA = [\n {\n id: 'timestamp',\n label: 'Date',\n dataTypeDefinition: {\n type: DataTypes.TYPE_TIMESTAMP\n },\n hideable: false\n },\n {\n id: INTERACTION_TYPE_COLUMN_ID,\n label: 'Interaction type',\n sortable: false,\n filterOptions: [{value: FilterOptions.EQUALS}, {value: FilterOptions.NOT_EQUALS}]\n },\n {\n id: ACTORS_COLUMN_ID,\n label: 'Actors',\n sortable: false,\n dataTypeDefinition: {\n type: DataTypes.TYPE_STRING\n }\n },\n {\n id: ATTRIBUTES_COLUMN_ID,\n label: 'Attributes',\n sortable: false,\n filterable: false,\n maxAttrsToShow: MAX_ATTRIBUTES_TO_SHOW\n }\n];\n\nconst DEFAULT_COLUMNS = pluck('id', DEFAULT_COLUMNS_DATA);\nconst ALL_TYPES_COLUMNS = [INTERACTION_TYPE_COLUMN_ID, ATTRIBUTES_COLUMN_ID];\n\nconst getColumnsDataFromInteractionAttributes = pipe(\n map((attr) => ({\n id: attributeUriToSearchUri(attr.uri),\n label: attr.label,\n dataTypeDefinition: getAttrDataTypeDefinition(attr)\n })),\n uniqBy(prop('id'))\n);\n\nconst getInteractionColumnDataType = (interactionTypes) => ({\n type: DataTypes.TYPE_SELECT,\n options: interactionTypes.map(({uri, label}) => ({value: uri, label}))\n});\n\nconst getActorTypesOptions = pipe(\n chain(({memberTypes}) => memberTypes.map(({name, label}) => ({label, value: name}))),\n uniqBy(prop('value'))\n);\n\nconst getActorsColumnFilterOptions = (interactionTypes: Array<InteractionType>) => {\n const typeFilterDataType = {\n type: DataTypes.TYPE_SELECT,\n options: getActorTypesOptions(interactionTypes)\n };\n const makeTypeOption = makeCompositeFilterOption('types');\n return [\n {value: FilterOptions.EQUALS},\n {value: FilterOptions.NOT_EQUALS},\n {value: FilterOptions.HAS_ALL},\n {value: FilterOptions.IN_FILE},\n {value: FilterOptions.NOT_IN_FILE},\n {\n value: makeTypeOption(FilterOptions.EQUALS),\n label: i18n.text('type equals'),\n dataTypeDefinition: typeFilterDataType\n },\n {\n value: makeTypeOption(FilterOptions.NOT_EQUALS),\n label: i18n.text('type not'),\n dataTypeDefinition: typeFilterDataType\n },\n {\n value: makeTypeOption(FilterOptions.HAS_ALL),\n label: i18n.text('type has all'),\n dataTypeDefinition: typeFilterDataType\n },\n {\n value: makeTypeOption(FilterOptions.IN_FILE),\n label: i18n.text('type in file')\n },\n {\n value: makeTypeOption(FilterOptions.NOT_IN_FILE),\n label: i18n.text('type not in file')\n }\n ];\n};\n\nconst updateColumnData = (columnId, updateFn) => (columnsData) =>\n adjust(columnsData.findIndex(propEq('id', columnId)), updateFn, columnsData);\n\nconst updateInteractionTypeColumn = (interactionTypes) =>\n updateColumnData(\n INTERACTION_TYPE_COLUMN_ID,\n assoc('dataTypeDefinition', getInteractionColumnDataType(interactionTypes))\n );\n\nconst updateActorsColumn = (interactionTypes) =>\n updateColumnData(ACTORS_COLUMN_ID, assoc('filterOptions', getActorsColumnFilterOptions(interactionTypes)));\n\nconst updateAttributesColumn = (attributes) => updateColumnData(ATTRIBUTES_COLUMN_ID, assoc('attrsToShow', attributes));\n\nconst getColumnsData = (metadata, config, interactionTypes, currentInteractionType) => {\n return currentInteractionType\n ? pipe(\n getInteractionAttributesFromMetadata,\n getColumnsDataFromInteractionAttributes,\n concat(DEFAULT_COLUMNS_DATA),\n reject(({id}) => ALL_TYPES_COLUMNS.includes(id)),\n updateActorsColumn([getInteractionType(metadata, currentInteractionType)])\n )(metadata, currentInteractionType)\n : pipe(\n updateAttributesColumn(config.attributes),\n updateInteractionTypeColumn(interactionTypes),\n updateActorsColumn(metadata.interactionTypes || [])\n )(DEFAULT_COLUMNS_DATA);\n};\n\nexport {\n getRowsPerPageOptions,\n DEFAULT_COLUMNS,\n getColumnsData,\n INTERACTION_TYPE_COLUMN_ID,\n ACTORS_COLUMN_ID,\n ATTRIBUTES_COLUMN_ID,\n ALL_TYPES_COLUMNS,\n MAX_ATTRIBUTES_TO_SHOW\n};\n","import {makeStyles} from '@material-ui/core/styles';\n\nconst defaultWrapperStyles = {\n padding: '15px 25px 0 25px',\n '&:last-child': {\n paddingBottom: '15px'\n }\n};\n\nexport const useStyles = makeStyles((theme) => ({\n headCell: {\n display: 'flex',\n alignItems: 'center',\n height: '100%',\n fontSize: '12px'\n },\n rowCell: {\n fontSize: '13px',\n overflow: 'hidden',\n overflowWrap: 'break-word',\n wordWrap: 'break-word' // for IE\n },\n 'row-cell--sorted': {\n color: 'rgba(0,0,0,0.87)'\n },\n actorsWrapper: {\n paddingRight: '25px',\n paddingLeft: '15px',\n '&:last-child': {\n paddingBottom: '15px'\n }\n },\n memberWrapper: {\n display: 'flex',\n paddingTop: '15px',\n boxSizing: 'border-box',\n position: 'relative'\n },\n entityLabel: {\n fontSize: '15px',\n display: 'inline-block',\n overflowX: 'hidden',\n margin: '-2px 0 -1px 45px'\n },\n entityAvatar: {\n transform: 'scale(0.5)',\n position: 'absolute',\n left: 0,\n top: '2px'\n },\n defaultWrapper: defaultWrapperStyles,\n blobWrapper: {\n ...defaultWrapperStyles,\n whiteSpace: 'pre-wrap'\n },\n link: {\n cursor: 'pointer',\n color: theme.palette.primary.main\n },\n attributesWrapper: {\n padding: '15px 25px 10px 25px',\n color: 'rgba(0,0,0,0.87)'\n },\n viewMore: {\n marginLeft: '-5px'\n }\n}));\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport classnames from 'classnames';\nimport {useStyles} from './styles';\n\nconst RowCellRenderer = ({cell, CellValueRenderer, isSorted, ...otherProps}) => {\n const styles = useStyles();\n return (\n <div\n className={classnames(\n {\n [styles['row-cell--sorted']]: isSorted\n },\n styles.rowCell\n )}\n >\n {cell.values.map((value, index) => (\n <CellValueRenderer key={index} value={value} {...otherProps} />\n ))}\n </div>\n );\n};\n\nRowCellRenderer.propTypes = {\n rowValue: PropTypes.object,\n cell: PropTypes.object,\n CellValueRenderer: PropTypes.elementType,\n isSorted: PropTypes.bool\n};\n\nexport default RowCellRenderer;\n","import React from 'react';\n\nimport DefaultHeadCellRenderer from 'react-components/dist/Table/DefaultHeadCellRenderer/DefaultHeadCellRenderer';\nimport {withFilterAtBottom} from '@reltio/components';\nimport {useStyles} from './styles';\n\nconst HeadCellRenderer = (props) => {\n const styles = useStyles();\n return (\n <div className={styles.headCell}>\n <DefaultHeadCellRenderer {...props} />\n </div>\n );\n};\n\nexport default withFilterAtBottom(HeadCellRenderer);\n","import PropTypes from 'prop-types';\nimport React, {useContext} from 'react';\nimport mdm, {ui} from '@reltio/mdm-module';\nimport {chain, pipe, prop, uniqBy, values} from 'ramda';\nimport {useDispatch, useSelector} from 'react-redux';\nimport {useStyles} from './styles';\nimport {EntityTypeType, getEntityType, getLabel} from '@reltio/mdm-sdk';\nimport {EntityTypeIcon, ViewIdContext} from '@reltio/components';\nimport classnames from 'classnames';\n\nconst MemberItem = ({entityType, label, onClick}) => {\n const styles = useStyles();\n const labelCaption = getLabel(label);\n return (\n <div className={styles.memberWrapper}>\n <EntityTypeIcon className={styles.entityAvatar} entityType={entityType} />\n <span className={classnames(styles.entityLabel, styles.link)} onClick={onClick}>\n {labelCaption}\n </span>\n </div>\n );\n};\nMemberItem.propTypes = {\n entityType: EntityTypeType,\n label: PropTypes.string,\n onClick: PropTypes.func\n};\n\nconst getActorsMembers = pipe(values, chain(prop('members')), uniqBy(prop('objectURI')));\n\nconst ActorsRenderer = ({value}) => {\n const styles = useStyles();\n const members = getActorsMembers(value);\n const dispatch = useDispatch();\n const viewId = useContext(ViewIdContext);\n const metadata = useSelector(mdm.selectors.getMetadata);\n const openEntityWithUri = (uri) => dispatch(ui.actions.openEntity({uri, viewId}));\n\n return (\n <div className={styles.actorsWrapper}>\n {members.map(({objectURI, type, label}) => (\n <MemberItem\n key={objectURI}\n entityType={getEntityType(metadata, type)}\n label={label}\n onClick={() => openEntityWithUri(objectURI)}\n />\n ))}\n </div>\n );\n};\n\nActorsRenderer.propTypes = {\n value: PropTypes.object\n};\n\nexport default ActorsRenderer;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport {useStyles} from './styles';\nimport {DataTypeValue} from '@reltio/components';\n\nconst DefaultCellValueRenderer = ({value, columnData: {dataTypeDefinition}}) => {\n const styles = useStyles();\n return (\n <div className={styles.defaultWrapper}>\n <DataTypeValue value={value} dataTypeDefinition={dataTypeDefinition} />\n </div>\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';\nimport PropTypes from 'prop-types';\nimport {useStyles} from './styles';\n\nconst BlobRender = ({value}) => {\n const styles = useStyles();\n return <div className={styles.blobWrapper}>{value}</div>;\n};\n\nBlobRender.propTypes = {\n value: PropTypes.any\n};\n\nexport default BlobRender;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport {useStyles} from './styles';\nimport {Link as Link} from '@material-ui/core';\n\nconst LinkRenderer = ({value}) => {\n const styles = useStyles();\n return (\n <div className={styles.defaultWrapper}>\n <Link className={styles.link} href={value} target=\"_blank\" underline=\"none\">\n {value}\n </Link>\n </div>\n );\n};\n\nLinkRenderer.propTypes = {\n value: PropTypes.any\n};\n\nexport default LinkRenderer;\n","import React, {useMemo, useState} from 'react';\nimport PropTypes from 'prop-types';\nimport {useSelector} from 'react-redux';\n\nimport {ReadOnlyAttributesList, ViewMoreToggle} from '@reltio/components';\nimport {useStyles} from './styles';\nimport mdmModule from '@reltio/mdm-module';\nimport {getInteractionType} from '@reltio/mdm-sdk';\nimport {pick, propEq} from 'ramda';\n\nconst AttributesRenderer = ({value, rowValue, columnData}) => {\n const styles = useStyles();\n\n const metadata = useSelector(mdmModule.selectors.getMetadata);\n const interaction = rowValue.rawValue;\n const attrTypes = useMemo(() => {\n const interactionType = getInteractionType(metadata, interaction.type);\n return interactionType.attributes;\n }, [interaction, metadata]);\n\n const [expanded, setExpanded] = useState(false);\n const toggleExpanded = () => setExpanded((expanded) => !expanded);\n\n const attributes = value;\n const attrNames = Object.keys(attributes);\n\n const visibleCountLimit = columnData.maxAttrsToShow;\n const hasExtraValuesToShow = attrNames.length > visibleCountLimit;\n const attrNamesToShow = expanded ? attrNames : attrNames.slice(0, visibleCountLimit);\n\n const attrsToShow = pick(attrNamesToShow, attributes);\n const attrTypesToShow = attrNamesToShow.map((name) => attrTypes.find(propEq('name', name)));\n\n return (\n <div className={styles.attributesWrapper}>\n <ReadOnlyAttributesList entity={{attributes: attrsToShow}} attrTypes={attrTypesToShow} drawLines={false} />\n {hasExtraValuesToShow && (\n <ViewMoreToggle active={expanded} onClick={toggleExpanded} className={styles.viewMore} />\n )}\n </div>\n );\n};\n\nAttributesRenderer.propTypes = {\n value: PropTypes.object,\n rowValue: PropTypes.object,\n columnData: PropTypes.object\n};\n\nexport default AttributesRenderer;\n","import HeadCellRenderer from '../cell-renderers/HeadCellRenderer';\nimport ActorsRenderer from '../cell-renderers/ActorsRenderer';\nimport DefaultCellValueRenderer from '../cell-renderers/DefaultCellValueRenderer';\nimport {ColumnData, defaultGetRowCellHeight} from '@reltio/components';\nimport {assoc, cond, length, map, path, pathEq, pickBy, pipe, prop, reduce, slice, split, T, values} from 'ramda';\nimport {\n DataTypes,\n getActorsForInteraction,\n getAttributeValuesByPath,\n Interaction,\n makeAttrTypeUri,\n Metadata\n} from '@reltio/mdm-sdk';\nimport {ACTORS_COLUMN_ID, ATTRIBUTES_COLUMN_ID, INTERACTION_TYPE_COLUMN_ID} from '../../helpers/tableHelpers';\nimport BlobRender from '../cell-renderers/BlobRenderer';\nimport LinkRenderer from '../cell-renderers/LinkRenderer';\nimport AttributesRenderer from '../cell-renderers/AttributesRenderer';\n\nconst getInteractionAttributeValues = (attrPath, interaction) =>\n pipe(path(['attributes']), getAttributeValuesByPath(attrPath))(interaction);\n\nconst getAttrPathFromColumnId = pipe(split('.'), slice(1, Infinity));\n\nconst getRowValueByColumn = (columnData: ColumnData, interaction: Interaction, metadata: Metadata) => {\n switch (columnData.id) {\n case ACTORS_COLUMN_ID:\n return getActorsForInteraction(metadata, interaction);\n case 'timestamp':\n return interaction.timestamp;\n case INTERACTION_TYPE_COLUMN_ID:\n return interaction.type;\n case ATTRIBUTES_COLUMN_ID: {\n const urisToShow = path(['attrsToShow', interaction.type], columnData);\n const isAttrToShow = (values, name) => urisToShow.includes(makeAttrTypeUri(interaction.type, name));\n return urisToShow ? pickBy(isAttrToShow, interaction.attributes) : interaction.attributes;\n }\n default: {\n const attrPath = getAttrPathFromColumnId(columnData.id);\n return getInteractionAttributeValues(attrPath, interaction);\n }\n }\n};\n\nconst getBasicTableRowsData = (interactions: Interaction[], columnsData: ColumnData, metadata: Metadata) =>\n interactions.map((interaction) =>\n pipe(\n reduce(\n (acc, columnData) => assoc(columnData.id, getRowValueByColumn(columnData, interaction, metadata), acc),\n {}\n ),\n assoc('rawValue', interaction)\n )(columnsData)\n );\n\nconst getNestedPathByColumnId = (columnId) => {\n if (columnId.startsWith('attributes.')) {\n const attrPath = getAttrPathFromColumnId(columnId);\n return attrPath.length > 1 ? attrPath.slice(0, -1) : null;\n } else {\n return null;\n }\n};\n\nconst getCellValueRenderer = (columnData) => {\n if (columnData.id === ACTORS_COLUMN_ID) {\n return ActorsRenderer;\n }\n if (columnData.id === ATTRIBUTES_COLUMN_ID) {\n return AttributesRenderer;\n }\n switch (columnData.dataTypeDefinition.type) {\n case DataTypes.TYPE_URL:\n case DataTypes.TYPE_BLOG_URL:\n case DataTypes.TYPE_IMAGE_URL:\n case DataTypes.TYPE_EMAIL:\n return LinkRenderer;\n case DataTypes.TYPE_BLOB:\n return BlobRender;\n default:\n return DefaultCellValueRenderer;\n }\n};\n\nconst getColumnDataByColumnId = (columnData) => ({\n sortable: true,\n ...columnData,\n resizable: true,\n nestedPath: getNestedPathByColumnId(columnData.id),\n headCellRenderer: HeadCellRenderer,\n rowCellValueRenderer: getCellValueRenderer(columnData)\n});\n\nconst getBasicTableColumnsData = map(getColumnDataByColumnId);\n\nconst getMembersCount = pipe(prop('members'), length);\nconst getMemberCellHeight = pipe(\n map(getMembersCount),\n values,\n reduce((acc, count) => acc + count * 33, 15)\n);\n\nconst calculateMembersCellHeight = pipe(\n path(['cell', 'values']),\n reduce((acc, actors) => acc + getMemberCellHeight(actors), 0)\n);\n\nconst calculateAttributesCellHeight = ({columnData, cell}) => {\n const attributesCount = pipe(path(['values', 0]), values, length)(cell);\n return attributesCount > columnData.maxAttrsToShow\n ? columnData.maxAttrsToShow * 26 + 49\n : attributesCount * 26 + 25;\n};\n\nconst getStaticRowCellHeight = cond([\n [pathEq(['columnData', 'id'], ACTORS_COLUMN_ID), calculateMembersCellHeight],\n [pathEq(['columnData', 'id'], ATTRIBUTES_COLUMN_ID), calculateAttributesCellHeight],\n [T, defaultGetRowCellHeight]\n]);\n\nexport {getBasicTableRowsData, getBasicTableColumnsData, getStaticRowCellHeight};\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles({\n tableContainer: {\n flex: 1,\n display: 'flex',\n fontFamily: 'Roboto',\n color: 'rgba(0,0,0,0.54)'\n },\n\n '@global div[role=tooltip]': {\n fontFamily: 'Roboto, Helvetica, Arial, sans-serif'\n },\n\n '@global div[role=presentation]': {\n fontFamily: 'Roboto, Helvetica, Arial, sans-serif'\n },\n 'row-cell__buttons-container': {\n position: 'absolute'\n },\n 'row-cell__buttons-wrapper': {\n display: 'flex',\n paddingLeft: '10px',\n '& > button': {\n marginLeft: '-10px',\n transform: 'scale(0.9)'\n }\n }\n});\n","import React, {ForwardedRef, useCallback, useLayoutEffect, useMemo} from 'react';\nimport RowCellRenderer from './cell-renderers/RowCellRenderer';\nimport {BasicTable, ColumnData, ColumnFilter, RowCellAutoSizer} from '@reltio/components';\nimport {getBasicTableColumnsData, getBasicTableRowsData, getStaticRowCellHeight} from './helpers/dataHelpers';\nimport {Interaction, Metadata, SortingField} from '@reltio/mdm-sdk';\nimport {useDynamicRowCellHeight} from '@reltio/components';\nimport {either} from 'ramda';\n\nimport {useStyles} from './styles';\n\ntype Props = {\n columnsData: ColumnData;\n interactions: Interaction[];\n metadata: Metadata;\n sorting: SortingField;\n onSort: (field: string) => void;\n filters?: Record<string, ColumnFilter>;\n onFilter: (event: {columnId: string; filter: ColumnFilter}) => void;\n basicTableRef: ForwardedRef<unknown>;\n};\nconst InteractionsTable = ({\n columnsData,\n interactions,\n metadata,\n sorting,\n onSort,\n filters,\n onFilter,\n basicTableRef\n}: Props) => {\n const tableRowsData = useMemo(\n () => getBasicTableRowsData(interactions, columnsData, metadata),\n [interactions, columnsData, metadata]\n );\n const tableColumnsData = useMemo(() => getBasicTableColumnsData(columnsData), [columnsData]);\n\n const styles = useStyles();\n\n const {getDynamicRowCellHeight, changeRowCellHeight, clearHeightsCache} = useDynamicRowCellHeight();\n\n useLayoutEffect(clearHeightsCache, [interactions]);\n\n const renderRowCell = useCallback(\n (props) => (\n <RowCellAutoSizer onChangeHeight={changeRowCellHeight} {...props}>\n <RowCellRenderer\n {...props}\n isSorted={\n !!sorting && sorting.field === props.columnData.id /* eslint-disable-line react/prop-types */\n }\n />\n </RowCellAutoSizer>\n ),\n [sorting, changeRowCellHeight]\n );\n\n const getRowCellHeight = useCallback(either(getDynamicRowCellHeight, getStaticRowCellHeight), [\n getDynamicRowCellHeight,\n getStaticRowCellHeight\n ]);\n\n return (\n <div className={styles.tableContainer}>\n <BasicTable\n columnsData={tableColumnsData}\n rowsData={tableRowsData}\n sorting={sorting}\n onSort={onSort}\n filters={filters}\n onFilter={onFilter}\n hoverStateEnabled={true}\n defaultColumnWidth={250}\n defaultColumnMinWidth={200}\n getRowCellHeight={getRowCellHeight}\n headRowHeight={56}\n renderRowCell={renderRowCell}\n classes={{\n hoveredRowRightContentWrapper: styles['row-cell__buttons-wrapper'],\n hoveredRowRightContentContainer: styles['row-cell__buttons-container']\n }}\n ref={basicTableRef}\n />\n </div>\n );\n};\n\nexport default InteractionsTable;\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles({\n header: {\n '& > button': {\n margin: '0 -2px'\n },\n paddingRight: '15px'\n },\n totalCaption: {\n lineHeight: 'inherit',\n fontSize: '14px',\n color: 'rgba(0,0,0,0.6)',\n flexShrink: 0,\n marginRight: '5px'\n },\n interactionTypeSelector: {\n margin: '3px 10px 0 30px',\n overflow: 'hidden'\n }\n});\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport {InteractionTypeType} from '@reltio/mdm-sdk';\nimport i18n from 'ui-i18n';\nimport {SelectorWithOnlyOptionAutoSelect} from '@reltio/components';\n\nconst InteractionTypeSelector = ({value, onChange, interactionTypes, className}) => {\n return (\n <SelectorWithOnlyOptionAutoSelect\n classes={{\n root: className\n }}\n value={value}\n onChange={onChange}\n options={interactionTypes.map(({label, uri}) => ({label, value: uri}))}\n emptyLabel={i18n.text('All interaction types')}\n />\n );\n};\n\nInteractionTypeSelector.propTypes = {\n value: PropTypes.string,\n onChange: PropTypes.func,\n interactionTypes: PropTypes.arrayOf(InteractionTypeType),\n className: PropTypes.string\n};\n\nexport default InteractionTypeSelector;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport {Typography as Typography} from '@material-ui/core';\nimport i18n from 'ui-i18n';\nimport {\n BasicViewHeader,\n ColumnsDataType,\n ColumnsSettings,\n FilterButton,\n HideOnShrink,\n Spacer,\n VerticalDivider\n} from '@reltio/components';\nimport {useStyles} from './styles';\nimport InteractionTypeSelector from './InteractionTypeSelector/InteractionTypeSelector';\nimport {InteractionTypeType} from '@reltio/mdm-sdk';\n\nconst InteractionsTableHeader = ({\n title,\n total,\n filtersEnabled,\n onToggleFilters,\n columnsData,\n selectedColumns,\n onChangeColumns,\n interactionTypes,\n currentInteractionType,\n onInteractionTypeChange\n}) => {\n const styles = useStyles();\n\n return (\n <BasicViewHeader title={title} classes={{root: styles.header, title: styles.title}}>\n {interactionTypes.length > 0 && (\n <InteractionTypeSelector\n className={styles.interactionTypeSelector}\n value={currentInteractionType}\n onChange={onInteractionTypeChange}\n interactionTypes={interactionTypes}\n />\n )}\n <HideOnShrink widthToHide={500}>\n <VerticalDivider height={28} margin={20} />\n <Typography className={styles.totalCaption} variant=\"caption\">\n {total > 1\n ? i18n.text('${count} interactions', {count: total})\n : i18n.text('${count} interaction', {count: total})}\n </Typography>\n </HideOnShrink>\n <Spacer />\n <FilterButton enabled={filtersEnabled} onClick={onToggleFilters} />\n <VerticalDivider height={28} margin={4} />\n <ColumnsSettings\n columnsData={columnsData}\n selectedColumns={selectedColumns}\n onChangeColumns={onChangeColumns}\n />\n </BasicViewHeader>\n );\n};\n\nInteractionsTableHeader.propTypes = {\n title: PropTypes.string,\n total: PropTypes.number,\n columnsData: ColumnsDataType,\n selectedColumns: PropTypes.arrayOf(PropTypes.string),\n onChangeColumns: PropTypes.func,\n filtersEnabled: PropTypes.bool,\n onToggleFilters: PropTypes.func,\n interactionTypes: PropTypes.arrayOf(InteractionTypeType),\n currentInteractionType: PropTypes.string,\n onInteractionTypeChange: PropTypes.func\n};\n\nexport default InteractionsTableHeader;\n","import {\n always,\n assoc,\n concat,\n dissoc,\n either,\n evolve,\n ifElse,\n intersection,\n path,\n pick,\n pipe,\n prop,\n propOr,\n when,\n without,\n unless,\n isNil,\n filter\n} from 'ramda';\nimport {ACTORS_COLUMN_ID, ALL_TYPES_COLUMNS, DEFAULT_COLUMNS} from './helpers/tableHelpers';\nimport {basicTableViewState, createStandardAction, Sorting} from '@reltio/components';\nimport {SearchFilter, validateFilterValue} from '@reltio/mdm-sdk';\nimport {InteractionsSavedState} from './types';\n\nconst CHANGE_INTERACTION_TYPE = 'CHANGE_INTERACTION_TYPE';\nconst APPLY_SAVED_STATE = 'APPLY_SAVED_STATE';\nconst SAVE_CURRENT_STATE = 'SAVE_CURRENT_STATE';\n\nconst actions = {\n ...basicTableViewState.actions,\n changeInteractionType: createStandardAction(CHANGE_INTERACTION_TYPE),\n applySavedState: createStandardAction(APPLY_SAVED_STATE),\n saveCurrentState: createStandardAction(SAVE_CURRENT_STATE)\n};\n\nconst resetActorsColumnFilters = evolve({\n filters: when(prop(ACTORS_COLUMN_ID), dissoc(ACTORS_COLUMN_ID))\n});\n\nconst resetPageNumber = assoc('page', 0);\n\nconst getDefaultVisibleColumnsForCurrentInteractionType = (state) =>\n pipe(\n prop('visibleColumns'),\n ifElse(always(state.currentInteractionType), without(ALL_TYPES_COLUMNS), concat(ALL_TYPES_COLUMNS)),\n intersection(DEFAULT_COLUMNS)\n )(state);\n\nconst getSavedVisibleColumnsForCurrentInteractionType = (state) =>\n path(['visibleColumnsForInteractionTypes', `${state.currentInteractionType}`], state);\n\nconst changeVisibleColumnsForCurrentInteractionType = (state) => {\n const nextVisibleColumns = either(\n getSavedVisibleColumnsForCurrentInteractionType,\n getDefaultVisibleColumnsForCurrentInteractionType\n )(state);\n return basicTableViewState.changeVisibleColumns(state, nextVisibleColumns);\n};\n\nconst getVisibleColumnsFromSavedState = either(getSavedVisibleColumnsForCurrentInteractionType, prop('visibleColumns'));\nconst getFiltersFromSavedState = pipe(\n propOr(null, 'filters'),\n unless(\n isNil,\n filter(({filter, value}) => validateFilterValue(filter, value))\n )\n);\n\nconst saveVisibleColumnsForCurrentInteractionType = (state) => {\n const {currentInteractionType, visibleColumns} = state;\n return evolve(\n {\n visibleColumnsForInteractionTypes: assoc(`${currentInteractionType}`, visibleColumns)\n },\n state\n );\n};\n\nconst getStateToSave = pipe(\n saveVisibleColumnsForCurrentInteractionType,\n pick(['currentInteractionType', 'visibleColumnsForInteractionTypes', 'filters', 'sorting'])\n);\n\ntype InitialState = {\n currentInteractionType?: string;\n filters: SearchFilter[];\n visibleColumns: string[];\n sorting: Sorting;\n page: number;\n rowsPerPage: number;\n saveToState?: InteractionsSavedState;\n entityTypeOfAppliedSavedState?: string;\n visibleColumnsForInteractionTypes: Record<string, string[]>;\n};\n\nconst reducer = (state: InitialState, action) => {\n switch (action.type) {\n case CHANGE_INTERACTION_TYPE: {\n const nextInteractionType = action.payload;\n return pipe(\n saveVisibleColumnsForCurrentInteractionType,\n assoc('currentInteractionType', nextInteractionType),\n changeVisibleColumnsForCurrentInteractionType,\n resetActorsColumnFilters,\n resetPageNumber\n )(state);\n }\n case APPLY_SAVED_STATE: {\n const {savedState, entityType} = action.payload;\n const visibleColumns = savedState ? getVisibleColumnsFromSavedState(savedState) : state.visibleColumns;\n const filters = savedState ? getFiltersFromSavedState(savedState) : state.filters;\n return {\n ...state,\n ...savedState,\n filters,\n visibleColumns,\n entityTypeOfAppliedSavedState: entityType\n };\n }\n case SAVE_CURRENT_STATE: {\n return {\n ...state,\n stateToSave: getStateToSave(state)\n };\n }\n default:\n return basicTableViewState.reducer(state, action);\n }\n};\n\nexport {reducer as default, actions};\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles((_) => ({\n basicView: {\n position: 'absolute',\n top: 0,\n bottom: 0,\n left: 0,\n right: 0,\n boxShadow: 'none'\n },\n tableView: {\n position: 'relative',\n flex: 1,\n display: 'flex',\n flexDirection: 'column'\n }\n}));\n","import React, {useCallback, useEffect, useMemo, useReducer, useRef} from 'react';\nimport {useSelector} from 'react-redux';\n\nimport {\n BasicTablePagination,\n BasicView,\n LinearLoadIndicator,\n useActions,\n useDidUpdateEffect,\n useSavedStateForEntityType\n} from '@reltio/components';\nimport mdmModule from '@reltio/mdm-module';\nimport {\n Entity,\n getInteractionType,\n getInteractionTypesForEntityType,\n InteractionsPerspectiveConfig,\n Metadata\n} from '@reltio/mdm-sdk';\nimport {pipe, propEq} from 'ramda';\nimport {buildInteractionsFilter} from './helpers/filtersHelpers';\nimport {DEFAULT_COLUMNS, getColumnsData, getRowsPerPageOptions} from './helpers/tableHelpers';\nimport useInteractions from './hooks/useInteractions';\nimport InteractionsTable from './InteractionsTable/InteractionsTable';\nimport InteractionsTableHeader from './InteractionsTableHeader/InteractionsTableHeader';\nimport reducer, {actions} from './stateReducer';\nimport {InteractionsSavedState} from './types';\n\nimport {useStyles} from './styles';\n\nconst DEFAULT_ROWS_PER_PAGE = 15;\nconst DEFAULT_SORT_ORDER = 'desc';\nconst [DEFAULT_SORT_FIELD] = DEFAULT_COLUMNS;\n\ntype Props = {\n config: InteractionsPerspectiveConfig;\n saveState: (state: Record<string, InteractionsSavedState>) => void;\n getSavedState: () => Promise<Record<string, InteractionsSavedState>>;\n};\nconst InteractionsTableView = ({config, getSavedState, saveState}: Props) => {\n const entity: Entity = useSelector(mdmModule.selectors.getEntity);\n const metadata: Metadata = useSelector(mdmModule.selectors.getMetadata);\n const styles = useStyles();\n\n const initialState = {\n currentInteractionType: null,\n filters: null,\n visibleColumns: DEFAULT_COLUMNS,\n sorting: {\n order: config.sortOrder || DEFAULT_SORT_ORDER,\n field: config.sortColumn || DEFAULT_SORT_FIELD\n },\n page: 0,\n rowsPerPage: config.max || DEFAULT_ROWS_PER_PAGE,\n stateToSave: null,\n entityTypeOfAppliedSavedState: null,\n visibleColumnsForInteractionTypes: {}\n };\n\n const [state, dispatch] = useReducer(reducer, initialState);\n const {\n visibleColumns,\n filters,\n sorting,\n page,\n rowsPerPage,\n currentInteractionType,\n stateToSave,\n entityTypeOfAppliedSavedState\n } = state;\n const {\n applySavedState,\n saveCurrentState,\n toggleFilters,\n toggleSort,\n changeFilter,\n changeColumns,\n changeInteractionType,\n changePage,\n changeRowsPerPage\n } = useActions({actions, dispatch});\n\n const {uri: entityUri, type: entityType} = entity || {};\n\n const isSavedStateApplied = entityTypeOfAppliedSavedState === entityType;\n\n const {\n isLoaded: isSavedStateLoaded,\n savedState,\n updateSavedState\n } = useSavedStateForEntityType<InteractionsSavedState>({\n entityTypeUri: entityType,\n getSavedState,\n saveState\n });\n\n useEffect(() => {\n if (isSavedStateLoaded) {\n const interactionTypes = getInteractionTypesForEntityType(metadata, entityType);\n const currentInteractionType = savedState?.currentInteractionType;\n const isInteractionTypeExist =\n !currentInteractionType || getInteractionType({interactionTypes}, currentInteractionType);\n const savedStateToApply = isInteractionTypeExist ? savedState : null;\n applySavedState({savedState: savedStateToApply, entityType});\n }\n }, [isSavedStateLoaded, entityType, metadata]); // eslint-disable-line\n\n useDidUpdateEffect(() => {\n if (isSavedStateApplied) {\n updateSavedState(stateToSave);\n }\n }, [stateToSave]); // eslint-disable-line\n\n const resetPage = () => {\n changePage(0);\n };\n useDidUpdateEffect(resetPage, [entityUri]);\n\n const interactionTypes = useMemo(\n () => getInteractionTypesForEntityType(metadata, entityType),\n [entityType, metadata]\n );\n\n const allColumnsData = useMemo(\n () => getColumnsData(metadata, config, interactionTypes, currentInteractionType),\n [metadata, config, interactionTypes, currentInteractionType]\n );\n\n const visibleColumnsData = useMemo(\n () => visibleColumns.map((id) => allColumnsData.find(propEq('id', id))),\n [visibleColumns, allColumnsData]\n );\n\n const filter = useMemo(\n () => buildInteractionsFilter(currentInteractionType, filters, visibleColumnsData),\n [currentInteractionType, filters] //eslint-disable-line\n );\n\n const {\n isLoading: isInteractionsLoading,\n interactions,\n total\n } = useInteractions({\n enabled: !!entityUri && isSavedStateApplied,\n entityUri,\n filter,\n sorting,\n rowsPerPage,\n page\n });\n\n const rowsPerPageOptions = useMemo(() => getRowsPerPageOptions(initialState.rowsPerPage), []); // eslint-disable-line\n\n const isLoading = !isSavedStateApplied || isInteractionsLoading;\n\n const handleFilterChange = useCallback(pipe(changeFilter, saveCurrentState), [changeFilter, saveCurrentState]);\n\n const basicTableRef = useRef(null);\n\n return (\n <BasicView className={styles.basicView}>\n <InteractionsTableHeader\n title={config.caption}\n total={total}\n columnsData={allColumnsData}\n selectedColumns={visibleColumns}\n onChangeColumns={pipe(changeColumns, saveCurrentState)}\n filtersEnabled={!!filters}\n onToggleFilters={pipe(toggleFilters, saveCurrentState)}\n interactionTypes={interactionTypes}\n currentInteractionType={currentInteractionType}\n onInteractionTypeChange={pipe(changeInteractionType, saveCurrentState)}\n />\n <div className={styles.tableView}>\n <InteractionsTable\n columnsData={visibleColumnsData}\n interactions={interactions}\n metadata={metadata}\n filters={filters}\n onFilter={handleFilterChange}\n sorting={sorting}\n onSort={pipe(toggleSort, saveCurrentState)}\n basicTableRef={basicTableRef}\n />\n <BasicTablePagination\n count={total}\n rowsPerPageOptions={rowsPerPageOptions}\n rowsPerPage={rowsPerPage}\n onChangeRowsPerPage={changeRowsPerPage}\n page={page}\n onChangePage={changePage}\n basicTableRef={basicTableRef}\n />\n {isLoading && <LinearLoadIndicator />}\n </div>\n </BasicView>\n );\n};\n\nexport default InteractionsTableView;\n","import {useState, useEffect} from 'react';\nimport {getInteractions} from '@reltio/mdm-sdk';\nimport {Sorting, useSafePromise} from '@reltio/components';\n\ntype Props = {\n entityUri: string;\n sorting: Sorting;\n page: number;\n rowsPerPage: number;\n filter: string;\n enabled: boolean;\n};\n\nconst useInteractions = ({entityUri, filter, sorting, page, rowsPerPage, enabled}: Props) => {\n const [isLoading, setIsLoading] = useState(false);\n const [total, setTotal] = useState(0);\n const [interactions, setInteractions] = useState([]);\n const safePromise = useSafePromise();\n\n useEffect(() => {\n if (enabled) {\n setIsLoading(true);\n safePromise(\n getInteractions({\n entityUri: entityUri,\n offset: page * rowsPerPage,\n max: rowsPerPage,\n filter,\n sort: sorting.field,\n order: sorting.order\n })\n )\n .then(({totalFetched, interactions = []}) => {\n setTotal(totalFetched);\n setInteractions(interactions);\n })\n .then((_) => setIsLoading(false))\n .catch((_) => setIsLoading(false));\n }\n }, [entityUri, filter, sorting.field, sorting.order, page, rowsPerPage, enabled]); // eslint-disable-line\n\n return {isLoading, interactions, total};\n};\n\nexport default useInteractions;\n","import React, {useCallback} from 'react';\nimport MomentUtils from '@date-io/moment';\nimport {createGenerateClassName, StylesProvider} from '@material-ui/core/styles';\nimport ReactResizeDetector from 'react-resize-detector';\nimport {Store} from 'redux';\nimport {MuiPickersUtilsProvider} from '@material-ui/pickers';\nimport {ErrorPopup, ViewIdContext} from '@reltio/components';\nimport {InteractionsPerspectiveConfig, promisifyCallback} from '@reltio/mdm-sdk';\nimport {identity} from 'ramda';\nimport {Provider} from 'react-redux';\nimport InteractionsTableView from './InteractionsTableView';\nimport {InteractionsSavedState} from './InteractionsTableView/types';\n\nconst generateClassName = createGenerateClassName({\n productionPrefix: 'interactionTable',\n disableGlobal: true\n});\n\ntype Props = {\n config: InteractionsPerspectiveConfig;\n store: Store<unknown>;\n onResize?: (width: number, height: number) => void;\n saveState: (state: Record<string, InteractionsSavedState>) => void;\n getSavedState: () => Record<string, InteractionsSavedState>;\n};\n\nconst InteractionsView = ({config, store, onResize = identity, saveState, getSavedState}: Props) => {\n const getSavedStatePromisified: () => Promise<Record<string, InteractionsSavedState>> = useCallback(\n promisifyCallback(getSavedState),\n [getSavedState]\n );\n\n return (\n <Provider store={store}>\n <ViewIdContext.Provider value={config.id}>\n <StylesProvider generateClassName={generateClassName}>\n <MuiPickersUtilsProvider utils={MomentUtils}>\n <ReactResizeDetector\n handleHeight\n onResize={(width, height) => onResize(Math.floor(width), Math.floor(height))}\n />\n {config && (\n <InteractionsTableView\n config={config}\n saveState={saveState}\n getSavedState={getSavedStatePromisified}\n />\n )}\n <ErrorPopup />\n </MuiPickersUtilsProvider>\n </StylesProvider>\n </ViewIdContext.Provider>\n </Provider>\n );\n};\n\nexport default InteractionsView;\n","import {InteractionsView} from '@reltio/interactions';\n\nexport default InteractionsView;\n"],"names":["MomentUtils","_a","_b","locale","instance","moment","this","yearFormat","yearMonthFormat","dateTime12hFormat","dateTime24hFormat","time12hFormat","time24hFormat","dateFormat","prototype","parse","value","format","date","isValid","isNull","getDiff","comparing","diff","isAfter","isBefore","isAfterDay","isBeforeDay","isBeforeYear","isAfterYear","startOfDay","clone","startOf","endOfDay","endOf","formatString","formatNumber","numberToFormat","getHours","get","addDays","count","subtract","Math","abs","add","setHours","hours","getMinutes","setMinutes","minutes","getSeconds","setSeconds","seconds","getMonth","isSameDay","isSame","isSameMonth","isSameYear","isSameHour","setMonth","month","getMeridiemText","ampm","startOfMonth","endOfMonth","getNextMonth","getPreviousMonth","getMonthArray","monthArray","length","prevMonth","push","getYear","setYear","year","set","mergeDateAndTime","time","getWeekdays","weekdaysShort","isEqual","getWeekArray","start","end","current","nestedWeeks","weekNumber","floor","getYearRange","startDate","endDate","years","getCalendarHeaderText","getYearText","getDatePickerHeaderText","getDateTimePickerHeaderText","getMonthText","getDayText","getHourText","getMinuteText","getSecondText","defaultGetRowCellKey","rowIndex","columnData","id","cellIndex","getRowCellKey","rowCellHeightsMap","setRowCellHeightsMap","useState","rowCellHeightsMapCache","useRef","batchHeightUpdate","key","flushHeightUpdates","useCallback","debounce","prev","next","equals","clearHeightsCache","getDynamicRowCellHeight","pipe","prop","__","changeRowCellHeight","curry","useWith","identity","props","width","height","viewBox","xmlns","d","fill","fillRule","stroke","strokeWidth","opacity","ColumnsSettings","columnsData","selectedColumns","onChangeColumns","title","tooltipTitle","anchorEl","setAnchorEl","handleColumnClick","column","changedColumns","getChildColumns","pluck","wasSelected","isColumnSelected","difference","uniq","concat","SmallIconButton","i18n","size","icon","TableIcon","onClick","event","currentTarget","ColumnsSettingsPopup","onColumnClick","onClose","propTypes","ColumnsDataType","PropTypes","useStyles","makeStyles","popup","minWidth","groupItem","backgroundColor","ColumnListItem","item","checked","level","style","isFocused","isGroupItem","hideCheckBox","styles","AttributeListItem","data","label","Highlighter","text","highlight","filterText","labelInText","hideIcon","className","classnames","setFilterText","groupedItems","useMemo","buildColumnItems","items","flattenGroupedItemsData","containerWidth","getMaxItemWidth","handleSearchOnEnter","focusIndex","handleKeyDown","useKeyboardNavigation","open","onSelectFocusedItem","selectedItems","handleClose","listHeight","min","containerHeight","max","SelectionPopup","onSearch","searchInputOnKeyDown","VirtualGroupedList","fixedTitle","renderItem","index","isGroupColumn","getItemSize","groupId","isParentToColumn","parent","startsWith","isGroupToColumn","group","isHideableColumn","propOr","addColumn","columns","root","find","either","getColumnRoot","children","filterColumnsByLabel","utils","some","buildColumnsTrees","reduce","acc","attrType","dataTypeDefinition","buildFilteredColumnItems","filter","chain","isGroupedColumnsData","has","flattenGroupedColumnsData","map","assoc","when","childColumns","includes","every","theme","color","palette","primary","main","closeIcon","position","right","bottom","transform","button","padding","FilterButton","enabled","Tooltip","IconButton","classes","Filter","Close","pagination","display","alignItems","justifyContent","borderTop","boxShadow","caption","fontSize","lineHeight","selectRoot","marginLeft","marginRight","select","textAlign","actions","BasicTablePagination","rowsPerPageOptions","page","onChangePage","rowsPerPage","onChangeRowsPerPage","basicTableRef","labelRowsPerPage","resetScrollbarPosition","pathOr","handleChangePage","handleChangeRowsPerPage","TablePagination","component","labelDisplayedRows","from","to","fromRow","toRow","countRows","nthArg","getValue","React","onChangeHeight","cell","cellProps","cellRef","rowValue","changeCellHeight","adjustCellHeight","clientHeight","useDidUpdateEffect","rawValue","ref","handleHeight","onResize","CHANGE_COLUMNS","TOGGLE_FILTERS","CHANGE_FILTER","TOGGLE_SORT","CHANGE_PAGE","CHANGE_ROWS_PER_PAGE","changeColumns","createStandardAction","toggleFilters","changeFilter","toggleSort","changePage","changeRowsPerPage","changeVisibleColumns","state","nextVisibleColumns","removedColumns","visibleColumns","isRemovedColumn","columnId","evolve","always","sorting","field","nextSortField","order","filters","keys","dissoc","reducer","action","type","columnIds","payload","enableFilters","prevSortField","path","prevSortOrder","toggleSortOrder","flexDirection","basicView","BasicView","forwardRef","otherProps","Paper","displayName","EmptyStub","HideOnShrink","widthToHide","handleWidth","render","onlyValue","fontWeight","whiteSpace","textOverflow","overflow","paddingLeft","paddingRight","selectMenu","textField","maxWidth","SelectorWithOnlyOptionAutoSelect","onChange","options","emptyLabel","firstOption","moreOptions","hasOnlyOneOptionToSelect","useEffect","displayEmpty","Typography","variant","DropDownEditor","disableUnderline","TextFieldProps","MenuProps","list","entries","flex","VerticalDivider","margin","borderLeft","flexShrink","viewMoreLessLink","cursor","arrow","transition","rotated","ViewMoreToggle","active","Link","underline","ArrowDropDown","useActions","dispatch","Object","actionName","actionCreator","useSavedStateForEntityType","getSavedState","saveState","entityTypeUri","savedState","setSavedState","changedState","setChangedState","isLoaded","setIsLoaded","updateSavedState","stateToSave","then","_","catch","createInteractionTypeFilter","ROWS_PER_PAGE_OPTIONS","INTERACTION_TYPE_COLUMN_ID","ACTORS_COLUMN_ID","ATTRIBUTES_COLUMN_ID","DEFAULT_COLUMNS_DATA","DataTypes","hideable","sortable","filterOptions","FilterOptions","filterable","maxAttrsToShow","DEFAULT_COLUMNS","ALL_TYPES_COLUMNS","getColumnsDataFromInteractionAttributes","attr","attributeUriToSearchUri","uri","getAttrDataTypeDefinition","uniqBy","getActorTypesOptions","memberTypes","name","updateColumnData","updateFn","adjust","findIndex","propEq","updateActorsColumn","interactionTypes","typeFilterDataType","makeTypeOption","makeCompositeFilterOption","getActorsColumnFilterOptions","getColumnsData","metadata","config","currentInteractionType","getInteractionAttributesFromMetadata","reject","getInteractionType","attributes","getInteractionColumnDataType","updateInteractionTypeColumn","defaultWrapperStyles","paddingBottom","headCell","rowCell","overflowWrap","wordWrap","actorsWrapper","memberWrapper","paddingTop","boxSizing","entityLabel","overflowX","entityAvatar","left","top","defaultWrapper","blobWrapper","link","attributesWrapper","viewMore","RowCellRenderer","CellValueRenderer","isSorted","values","withFilterAtBottom","DefaultHeadCellRenderer","MemberItem","entityType","labelCaption","getLabel","EntityTypeIcon","EntityTypeType","getActorsMembers","ActorsRenderer","members","useDispatch","viewId","useContext","ViewIdContext","useSelector","mdm","objectURI","getEntityType","openEntityWithUri","ui","DefaultCellValueRenderer","DataTypeValue","BlobRender","LinkRenderer","href","target","AttributesRenderer","mdmModule","interaction","attrTypes","expanded","setExpanded","attrNames","visibleCountLimit","hasExtraValuesToShow","attrNamesToShow","slice","attrsToShow","pick","attrTypesToShow","entity","drawLines","getAttrPathFromColumnId","split","Infinity","getNestedPathByColumnId","attrPath","getCellValueRenderer","getBasicTableColumnsData","resizable","nestedPath","headCellRenderer","HeadCellRenderer","rowCellValueRenderer","getMembersCount","getMemberCellHeight","calculateMembersCellHeight","actors","getStaticRowCellHeight","cond","pathEq","attributesCount","T","defaultGetRowCellHeight","tableContainer","fontFamily","interactions","onSort","onFilter","tableRowsData","getActorsForInteraction","timestamp","urisToShow","isAttrToShow","makeAttrTypeUri","pickBy","getAttributeValuesByPath","getInteractionAttributeValues","getRowValueByColumn","getBasicTableRowsData","tableColumnsData","useDynamicRowCellHeight","useLayoutEffect","renderRowCell","RowCellAutoSizer","getRowCellHeight","BasicTable","rowsData","hoverStateEnabled","defaultColumnWidth","defaultColumnMinWidth","headRowHeight","hoveredRowRightContentWrapper","hoveredRowRightContentContainer","header","totalCaption","interactionTypeSelector","InteractionTypeSelector","InteractionTypeType","InteractionsTableHeader","total","filtersEnabled","onToggleFilters","onInteractionTypeChange","BasicViewHeader","Spacer","CHANGE_INTERACTION_TYPE","APPLY_SAVED_STATE","SAVE_CURRENT_STATE","basicTableViewState","changeInteractionType","applySavedState","saveCurrentState","resetActorsColumnFilters","resetPageNumber","getDefaultVisibleColumnsForCurrentInteractionType","ifElse","without","intersection","getSavedVisibleColumnsForCurrentInteractionType","changeVisibleColumnsForCurrentInteractionType","getVisibleColumnsFromSavedState","getFiltersFromSavedState","unless","isNil","validateFilterValue","saveVisibleColumnsForCurrentInteractionType","visibleColumnsForInteractionTypes","getStateToSave","nextInteractionType","entityTypeOfAppliedSavedState","tableView","DEFAULT_SORT_FIELD","initialState","sortOrder","sortColumn","useReducer","entityUri","isSavedStateApplied","isSavedStateLoaded","getInteractionTypesForEntityType","isInteractionTypeExist","allColumnsData","visibleColumnsData","currentTypeClause","Maybe","orSome","filtersClause","buildColumnsFilter","FilterBuilder","addClause","build","buildInteractionsFilter","isLoading","isInteractionsLoading","setIsLoading","setTotal","setInteractions","safePromise","useSafePromise","getInteractions","offset","sort","totalFetched","useInteractions","getRowsPerPageOptions","defaultRowsPerPage","option","handleFilterChange","LinearLoadIndicator","generateClassName","createGenerateClassName","productionPrefix","disableGlobal","store","getSavedStatePromisified","promisifyCallback","Provider","StylesProvider","MuiPickersUtilsProvider","ErrorPopup"],"sourceRoot":""}
|