@reltio/remotes 1.4.1521 → 1.4.1523

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.
Files changed (87) hide show
  1. package/1032.js +1 -1
  2. package/1032.js.map +1 -1
  3. package/1268.js +1 -1
  4. package/1396.js +1 -1
  5. package/1396.js.map +1 -1
  6. package/1901.js +3 -0
  7. package/1901.js.map +1 -0
  8. package/233.js +2 -0
  9. package/233.js.map +1 -0
  10. package/316.js +2 -0
  11. package/316.js.map +1 -0
  12. package/3164.js +2 -0
  13. package/3164.js.map +1 -0
  14. package/3396.js +1 -1
  15. package/3396.js.map +1 -1
  16. package/3758.js +2 -0
  17. package/3758.js.map +1 -0
  18. package/385.js +2 -0
  19. package/385.js.map +1 -0
  20. package/4120.js +2 -0
  21. package/4120.js.map +1 -0
  22. package/4183.js +1 -1
  23. package/4183.js.map +1 -1
  24. package/4571.js +1 -1
  25. package/545.js +2 -0
  26. package/545.js.map +1 -0
  27. package/5605.js.map +1 -1
  28. package/566.js +2 -0
  29. package/566.js.map +1 -0
  30. package/{4407.css → 574.css} +1 -1
  31. package/574.css.map +1 -0
  32. package/574.js +2 -0
  33. package/574.js.map +1 -0
  34. package/{6046.js → 6211.js} +2 -2
  35. package/6211.js.map +1 -0
  36. package/6233.js +1 -1
  37. package/6233.js.map +1 -1
  38. package/6299.js.map +1 -1
  39. package/{5285.js → 6578.js} +2 -2
  40. package/6578.js.map +1 -0
  41. package/7198.js +2 -0
  42. package/7198.js.map +1 -0
  43. package/769.js +2 -0
  44. package/769.js.map +1 -0
  45. package/8594.js +2 -0
  46. package/8594.js.map +1 -0
  47. package/8684.js +1 -1
  48. package/{3294.js → 8768.js} +2 -2
  49. package/8768.js.map +1 -0
  50. package/9835.js +2 -0
  51. package/9835.js.map +1 -0
  52. package/package.json +1 -1
  53. package/remoteEntry.js +1 -1
  54. package/remoteEntry.js.map +1 -1
  55. package/3270.js +0 -2
  56. package/3270.js.map +0 -1
  57. package/3294.js.map +0 -1
  58. package/4407.css.map +0 -1
  59. package/4407.js +0 -2
  60. package/4407.js.map +0 -1
  61. package/5285.js.map +0 -1
  62. package/6046.js.map +0 -1
  63. package/6103.js +0 -2
  64. package/6103.js.map +0 -1
  65. package/6244.js +0 -2
  66. package/6244.js.map +0 -1
  67. package/6413.js +0 -3
  68. package/6413.js.map +0 -1
  69. package/6669.js +0 -2
  70. package/6669.js.map +0 -1
  71. package/6719.js +0 -2
  72. package/6719.js.map +0 -1
  73. package/6880.js +0 -2
  74. package/6880.js.map +0 -1
  75. package/8443.js +0 -2
  76. package/8443.js.map +0 -1
  77. package/8932.js +0 -2
  78. package/8932.js.map +0 -1
  79. package/929.js +0 -2
  80. package/929.js.map +0 -1
  81. package/9481.js +0 -2
  82. package/9481.js.map +0 -1
  83. package/9561.js +0 -2
  84. package/9561.js.map +0 -1
  85. package/9852.js +0 -2
  86. package/9852.js.map +0 -1
  87. /package/{6413.js.LICENSE.txt → 1901.js.LICENSE.txt} +0 -0
package/6669.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"6669.js","mappings":"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","sources":["webpack://@reltio/remotes/../components/src/components/AvatarWithFallback/AvatarWithFallback.tsx","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/EntityTypeBadge/styles.ts","webpack://@reltio/remotes/../components/src/components/EntityTypeBadge/EntityTypeBadge.tsx","webpack://@reltio/remotes/../search/src/actions/facets/constants.ts","webpack://@reltio/remotes/../search/src/components/ConfigureColumnsButton/show_hide_columns.svg","webpack://@reltio/remotes/../search/src/components/ConfigureColumnsButton/ConfigureColumnsButton.js","webpack://@reltio/remotes/../search/src/components/EntitiesTable/HeadCellRenderer/styles.less?a0e2","webpack://@reltio/remotes/../search/src/components/EntitiesTable/HeadCellRenderer/HeadCellRenderer.js","webpack://@reltio/remotes/../search/src/components/EntitiesTable/styles.less?da5d","webpack://@reltio/remotes/../search/src/components/EntitiesTable/AttributeRenderers/EntityProfileRenderer.js","webpack://@reltio/remotes/../search/src/components/EntitiesTable/AttributeRenderers/DefaultRenderer.js","webpack://@reltio/remotes/../search/src/services/entity/image.ts","webpack://@reltio/remotes/../search/src/components/EntitiesTable/AttributeRenderers/ReferenceRenderer.js","webpack://@reltio/remotes/../search/src/components/EntitiesTable/AttributeRenderers/BlobRenderer.js","webpack://@reltio/remotes/../search/src/components/EntitiesTable/AttributeRenderers/ImageRenderer.js","webpack://@reltio/remotes/../search/src/components/EntitiesTable/AttributeRenderers/getAttributeValueRenderer.js","webpack://@reltio/remotes/../search/src/components/EntitiesTable/entitiesTableUtils.js","webpack://@reltio/remotes/../search/src/components/EntitiesTable/EntityRowOverlay/EntityRowOverlay.js","webpack://@reltio/remotes/../search/src/components/EntitiesTable/RowCellRenderer/HOCs/withCellDecoration/styles.js","webpack://@reltio/remotes/../search/src/components/EntitiesTable/RowCellRenderer/HOCs/withCellDecoration/withCellDecoration.js","webpack://@reltio/remotes/../search/src/components/EntitiesTable/RowCellRenderer/HOCs/withCheckbox/styles.js","webpack://@reltio/remotes/../search/src/components/EntitiesTable/RowCellRenderer/HOCs/withCheckbox/withCheckbox.js","webpack://@reltio/remotes/../search/src/components/EntitiesTable/RowCellRenderer/HOCs/withCollapseButton/styles.js","webpack://@reltio/remotes/../search/src/components/EntitiesTable/RowCellRenderer/HOCs/withCollapseButton/withCollapseButton.js","webpack://@reltio/remotes/../search/src/components/EntitiesTable/RowCellRenderer/RowCellRenderer.js","webpack://@reltio/remotes/../search/src/components/EntitiesTable/AttributeRenderers/heightCalculator.js","webpack://@reltio/remotes/../search/src/components/EntitiesTable/EntitiesTable.js","webpack://@reltio/remotes/../search/src/components/EntitiesTableWithConfigurableColumns/ConfigColumnPopup/ConfigColumnPopup.js","webpack://@reltio/remotes/../search/src/components/EntitiesTableWithConfigurableColumns/EntitiesTableWithConfigurableColumns.js","webpack://@reltio/remotes/../search/src/components/ImportEntityButton/ImportEntityButton.js","webpack://@reltio/remotes/../search/src/components/EntityRowButtons/styles.ts","webpack://@reltio/remotes/../search/src/components/EntityRowButtons/EntityRowButtons.tsx","webpack://@reltio/remotes/../search/src/components/ReadableSearchQuery/styles.js","webpack://@reltio/remotes/../search/src/components/ReadableSearchQuery/ReadableSearchQuery.js","webpack://@reltio/remotes/../search/src/constants/actionTypes/search.js","webpack://@reltio/remotes/../search/src/constants/constants.js","webpack://@reltio/remotes/../search/src/reducers/helpers/queryBuilderHelpers.js","webpack://@reltio/remotes/../search/src/sagas/queryBuilderSaga.js","webpack://@reltio/remotes/../search/src/services/search/advancedSearch/collectSpecialAttributes.js","webpack://@reltio/remotes/../search/src/services/search/icons/ml-recommended.svg","webpack://@reltio/remotes/../search/src/services/search/collectAttributes.js","webpack://@reltio/remotes/../search/src/services/search/collectFacets.js","webpack://@reltio/remotes/../search/src/services/search/converting/createAdvancedSearchFromFacets.js","webpack://@reltio/remotes/../search/src/services/search/entityTypes.js","webpack://@reltio/remotes/../search/src/services/search/facet.js","webpack://@reltio/remotes/../search/src/services/search/parsing/parsingUtils.js","webpack://@reltio/remotes/../search/src/services/search/parsing/parseFacets.js","webpack://@reltio/remotes/../search/src/services/search/parsing/parseOldFacets.js","webpack://@reltio/remotes/../search/src/services/search/parsing/parseAttributeData.js","webpack://@reltio/remotes/../search/src/services/search/parsing/parseOldAdvancedSearch.js","webpack://@reltio/remotes/../search/src/services/search/parsing/parseOldView.js","webpack://@reltio/remotes/../search/src/services/search/parsing/parseOldSearchOptions.js","webpack://@reltio/remotes/../search/src/services/search/parsing/index.js","webpack://@reltio/remotes/../search/src/services/search/rangeFacet.js","webpack://@reltio/remotes/../search/src/utils/url.js","webpack://@reltio/remotes/../search/src/services/search/searchEngine.js","webpack://@reltio/remotes/../search/src/services/search/searchResults.js","webpack://@reltio/remotes/../search/src/utils/config.js","webpack://@reltio/remotes/../search/src/utils/error.js","webpack://@reltio/remotes/../search/src/utils/bigNumbersMath.js","webpack://@reltio/remotes/../search/src/utils/numbersMath.js","webpack://@reltio/remotes/../search/src/utils/general.js","webpack://@reltio/remotes/../search/src/utils/lenses.js","webpack://@reltio/remotes/../search/src/utils/maybe.js","webpack://@reltio/remotes/../search/src/components/SearchResultsArea/Headers/styles.less?0cb4"],"sourcesContent":["import {Avatar as Avatar} from '@material-ui/core';\nimport classnames from 'classnames';\nimport React, {useEffect, useState} from 'react';\n\nenum AvatarStates {\n ICON_MODE,\n TEXT_MODE,\n ERROR_MODE\n}\ntype Props = {\n className?: string;\n icon?: string;\n avatarText?: string;\n variant?: 'circle' | 'circular' | 'rounded' | 'square';\n rootClasses?: {\n iconRoot?: string;\n textRoot?: string;\n };\n};\nconst AvatarWithFallback = ({className, icon, avatarText, rootClasses, ...otherProps}: Props) => {\n const [state, setState] = useState<AvatarStates>(null);\n useEffect(() => {\n if (icon) {\n setState(AvatarStates.ICON_MODE);\n } else {\n setState(AvatarStates.TEXT_MODE);\n }\n }, [icon, avatarText]);\n const onImageLoadFail = () => {\n setState(AvatarStates.ERROR_MODE);\n };\n\n switch (state) {\n case AvatarStates.ICON_MODE:\n return (\n <Avatar\n className={classnames(className, rootClasses?.iconRoot)}\n src={icon}\n onError={onImageLoadFail}\n {...otherProps}\n />\n );\n case AvatarStates.TEXT_MODE:\n case AvatarStates.ERROR_MODE:\n return (\n <Avatar className={classnames(className, rootClasses?.textRoot)} {...otherProps}>\n {avatarText}\n </Avatar>\n );\n default:\n return null;\n }\n};\n\nexport default AvatarWithFallback;\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 {makeStyles} from '@material-ui/core/styles';\n\nconst useStyles = makeStyles({\n 'entityType-overflow': {\n textOverflow: 'ellipsis',\n overflow: 'hidden',\n whiteSpace: 'nowrap'\n },\n\n 'entityType-small': {\n padding: '1px 4px',\n fontSize: '10px',\n lineHeight: 'normal',\n marginRight: '12px',\n borderRadius: '2px',\n flexShrink: 0\n },\n 'entityType-medium': {\n padding: '2px 8px 3px',\n borderRadius: '2px',\n fontSize: '13px',\n fontWeight: 500,\n lineHeight: '15px',\n marginRight: '16px',\n flexShrink: 0\n }\n});\n\nexport default useStyles;\n","import React from 'react';\nimport {useSelector} from 'react-redux';\nimport classnames from 'classnames';\nimport {Typography as Typography} from '@material-ui/core';\n\nimport {getEntityType, getEntityTypeLabel, getPropWithInheritance, theme, utils, Entity} from '@reltio/mdm-sdk';\nimport mdmModule from '@reltio/mdm-module';\nimport ExpandedValueTooltip from '../ExpandedValueTooltip/ExpandedValueTooltip';\nimport useStyles from './styles';\n\ntype Props = {\n entity: Entity;\n className?: string;\n size?: 'small' | 'medium';\n};\n\nconst EntityTypeBadge = ({entity, className, size = 'small'}: Props) => {\n const styles = useStyles();\n const metadata = useSelector(mdmModule.selectors.getMetadata);\n const entityTypeUri = entity.type;\n const entityType = getEntityType(metadata, entityTypeUri) || {};\n const entityTypeColor = getPropWithInheritance(metadata, entityType, 'typeColor') || theme.palette.primary.main;\n const entityTypeLabel = getEntityTypeLabel(metadata, entity);\n\n return (\n <ExpandedValueTooltip value={entityTypeLabel} placement=\"top\">\n <Typography\n style={{\n backgroundColor: entityTypeColor,\n color: utils.Colors.getColor(entityTypeColor) ? '#FFFFFF' : '#212121'\n }}\n className={classnames(styles[`entityType-${size}`], styles['entityType-overflow'], className)}\n component=\"div\"\n >\n {entityTypeLabel}\n </Typography>\n </ExpandedValueTooltip>\n );\n};\n\nexport default EntityTypeBadge;\n","export enum FacetsActions {\n CREATE_FACETS = 'FACETS_CREATE_FACETS',\n DESTROY_FACETS = 'FACETS_DESTROY_FACETS',\n CHANGE_VALUES = 'FACETS_CHANGE_VALUES',\n CLEAR_ALL_VALUES = 'FACETS_CLEAR_ALL_VALUES',\n UPDATE_DATA = 'FACETS_UPDATE_DATA',\n UPDATE_FILTERED_DATA = 'FACETS_UPDATE_FILTERED_DATA',\n DESTROY_FILTERED_DATA = 'FACETS_DESTROY_FILTERED_DATA',\n FILTER_FACET_DATA = 'FACETS_FILTER_FACET_DATA',\n HANDLE_CONFIGS_CHANGES = 'FACETS_HANDLE_CONFIGS_CHANGES',\n REQUEST_GIVEN_FACETS_DATA = 'FACETS_REQUEST_GIVEN_FACETS_DATA',\n SET_RECOMMENDED_FACETS_LIST = 'FACETS_SET_RECOMMENDED_FACETS_LIST',\n CONVERT_FROM_ADVANCED_SEARCH = 'FACETS_CONVERT_FROM_ADVANCED_SEARCH',\n SHOW_MORE_ENTITY_TYPES = 'FACETS_SHOW_MORE_ENTITY_TYPES',\n HIGHLIGHT_ADDED_FACETS = 'FACETS_HIGHLIGHT_ADDED_FACETS',\n CLEAR_HIGHLIGHT_ADDED_FACETS = 'FACETS_CLEAR_HIGHLIGHT_ADDED_FACETS'\n}\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React from \"react\";\nexport default (({\n styles = {},\n ...props\n}) => React.createElement(\"svg\", _extends({\n width: \"24\",\n height: \"24\",\n viewBox: \"0 0 24 24\",\n version: \"1.1\",\n xmlns: \"http://www.w3.org/2000/svg\"\n}, props), React.createElement(\"g\", {\n stroke: \"none\",\n strokeWidth: \"1\",\n fill: \"none\",\n fillRule: \"evenodd\",\n opacity: \".54\"\n}, React.createElement(\"path\", {\n d: \"M19 11.24V10h-4v1.24a8.417 8.417 0 00-2 .768V10H9v6h.29a8.497 8.497 0 00-.15.358l-.29.733.29.733.07.176H5c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2h14c1.1 0 2 .9 2 2v6.008a8.417 8.417 0 00-2-.768zM7 16v-6H5v6h2zm0-8V6H5v2h2zm6 0V6H9v2h4zm6 0V6h-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 0017 13zm0 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}))));","import React, {useState, useCallback} from 'react';\nimport PropTypes from 'prop-types';\nimport {useSelector} from 'react-redux';\nimport {ConfigureColumnsPopup, SmallIconButtonWithTooltip, noop} from '@reltio/components';\nimport i18n from 'ui-i18n';\nimport {\n getChildrenLeafsByParentId,\n memoizedCollectColumnsForestWithoutLabel\n} from '../../services/search/searchResults';\nimport ConfigureColumnsIcon from './show_hide_columns.svg';\nimport styles from '../SearchResultsArea/Headers/styles.less';\n\nimport mdmModule from '@reltio/mdm-module';\n\nconst ConfigureColumnsButton = ({entityTypeUri, headColumns = [], onSelectColumns = noop, ...otherProps}) => {\n const [popupAnchor, setPopupAnchor] = useState(null);\n const [filterText, setFilterText] = useState('');\n\n const metadata = useSelector(mdmModule.selectors.getMetadata);\n\n const openConfigureColumnsPopup = (e) => setPopupAnchor(e.currentTarget);\n const closeConfigureColumnsPopup = () => setPopupAnchor(null);\n\n const handlePopupClose = () => {\n closeConfigureColumnsPopup();\n setFilterText('');\n };\n\n const handleColumnClick = useCallback(\n (data, checked) => {\n const columnsForest = memoizedCollectColumnsForestWithoutLabel(metadata, entityTypeUri);\n const children = getChildrenLeafsByParentId(columnsForest, data.id);\n let selectedColumns;\n if (children.length) {\n selectedColumns = checked\n ? headColumns.concat(children)\n : headColumns.filter((column) => !children.find((child) => child.id === column.id));\n } else {\n selectedColumns = checked\n ? headColumns.concat(data)\n : headColumns.filter((column) => column.id !== data.id);\n }\n\n onSelectColumns(selectedColumns);\n },\n [metadata, entityTypeUri, headColumns, onSelectColumns]\n );\n\n const renderConfigureColumnsPopup = () => {\n const columnsForest = memoizedCollectColumnsForestWithoutLabel(metadata, entityTypeUri);\n return (\n <ConfigureColumnsPopup\n open={!!popupAnchor}\n anchorEl={popupAnchor}\n data={columnsForest}\n onListItemClick={handleColumnClick}\n selected={headColumns}\n filterText={filterText}\n onClose={handlePopupClose}\n onSearch={setFilterText}\n />\n );\n };\n\n return (\n <>\n <SmallIconButtonWithTooltip\n tooltipTitle={i18n.text('Show/hide columns')}\n size=\"M\"\n icon={ConfigureColumnsIcon}\n onClick={openConfigureColumnsPopup}\n className={styles.headerIcon}\n {...otherProps}\n />\n {renderConfigureColumnsPopup()}\n </>\n );\n};\n\nConfigureColumnsButton.propTypes = {\n entityTypeUri: PropTypes.string,\n headColumns: PropTypes.array,\n onSelectColumns: PropTypes.func\n};\n\nexport default ConfigureColumnsButton;\n","// extracted by mini-css-extract-plugin\nexport default {\"headCellContentWrapper\":\"HeadCellRenderer-styles-headCellContentWrapper--L6RrQ\",\"checkbox\":\"HeadCellRenderer-styles-checkbox--qQEHg\",\"sortLabel\":\"HeadCellRenderer-styles-sortLabel--NZx3o\",\"labelWrapper\":\"HeadCellRenderer-styles-labelWrapper--cmclk\",\"menuButtonWrapper\":\"HeadCellRenderer-styles-menuButtonWrapper--aBNeR\"};","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport {TableSortLabel as TableSortLabel} from '@material-ui/core';\nimport MoreVertIcon from '@material-ui/icons/MoreVert';\nimport {Checkbox as Checkbox} from '@material-ui/core';\nimport {path, pick} from 'ramda';\nimport {SmallIconButton, withTableContext} from '@reltio/components';\n\nimport styles from './styles.less';\n\nconst HeadCellRenderer = ({\n headCellData,\n headIndex,\n sortOrder,\n sortField,\n sortHandler,\n canCheck,\n onCheck,\n headerCheckboxState,\n openConfigColumnPopup\n}) => {\n return (\n <div className={classNames(styles.headCellContentWrapper, path(['wrapperClassName'], headCellData))}>\n {headCellData && canCheck && (\n <Checkbox\n className={styles.checkbox}\n checked={headerCheckboxState || false}\n indeterminate={headerCheckboxState === null}\n onChange={() => onCheck()}\n />\n )}\n <div className={styles.labelWrapper}>\n {headCellData &&\n (headCellData.sortable ? (\n <TableSortLabel\n active={Boolean(sortOrder && sortField === headCellData.id)}\n direction={sortOrder}\n onClick={sortHandler}\n classes={{root: styles.sortLabel}}\n component=\"div\"\n >\n {headCellData.label}\n </TableSortLabel>\n ) : (\n headCellData.label\n ))}\n </div>\n {openConfigColumnPopup && (\n <div className={styles.menuButtonWrapper}>\n <SmallIconButton\n icon={MoreVertIcon}\n onClick={openConfigColumnPopup}\n size={'S'}\n data-column-index={headIndex}\n />\n </div>\n )}\n </div>\n );\n};\n\nHeadCellRenderer.propTypes = {\n headCellData: PropTypes.shape({\n id: PropTypes.string,\n label: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n sortable: PropTypes.bool\n }),\n headIndex: PropTypes.number,\n sortOrder: PropTypes.string,\n sortField: PropTypes.string,\n sortHandler: PropTypes.func,\n canCheck: PropTypes.bool,\n onCheck: PropTypes.func,\n headerCheckboxState: PropTypes.oneOf([true, false, null]),\n openConfigColumnPopup: PropTypes.func\n};\n\nexport default withTableContext(pick(['openConfigColumnPopup']))(HeadCellRenderer);\n\nexport const HeadCellRendererWithCheckbox = withTableContext(\n pick(['openConfigColumnPopup', 'canCheck', 'onCheck', 'headerCheckboxState'])\n)(HeadCellRenderer);\n","// extracted by mini-css-extract-plugin\nexport default {\"popupBackdrop\":\"EntitiesTable-styles-popupBackdrop--nEX1F\",\"popupContent\":\"EntitiesTable-styles-popupContent--PLSPL\",\"complexPopupContent\":\"EntitiesTable-styles-complexPopupContent--wqOGI\",\"highlighted\":\"EntitiesTable-styles-highlighted--GHk6T\",\"highlightAnimate\":\"EntitiesTable-styles-highlightAnimate--oR7ki\",\"inactiveBackground\":\"EntitiesTable-styles-inactiveBackground--nAfS3\",\"inactiveHoverBackground\":\"EntitiesTable-styles-inactiveHoverBackground--qe__Y\",\"inactiveSelectedBackground\":\"EntitiesTable-styles-inactiveSelectedBackground--WkWtD\",\"inactiveSelectedHoverBackground\":\"EntitiesTable-styles-inactiveSelectedHoverBackground--oFAbX\",\"textOverflow\":\"EntitiesTable-styles-textOverflow--AAABW\",\"textOverflowInactive\":\"EntitiesTable-styles-textOverflowInactive--eU4xE\",\"link\":\"EntitiesTable-styles-link--JNCz5\",\"defaultWrapper\":\"EntitiesTable-styles-defaultWrapper--EP4tA\",\"table\":\"EntitiesTable-styles-table--jmlbo\",\"imageWrapper\":\"EntitiesTable-styles-imageWrapper--xmq8R\",\"blobWrapper\":\"EntitiesTable-styles-blobWrapper--ruHVs\",\"highlightAnimateForEllipsis\":\"EntitiesTable-styles-highlightAnimateForEllipsis--r1Fmq\",\"referenceWrapper\":\"EntitiesTable-styles-referenceWrapper--Q5RqZ\",\"referenceContent\":\"EntitiesTable-styles-referenceContent--wkahK\",\"referenceIcon\":\"EntitiesTable-styles-referenceIcon--b8M3n\",\"nestedCellWrapper\":\"EntitiesTable-styles-nestedCellWrapper--I4J6A\",\"nestedAttributeWrapper\":\"EntitiesTable-styles-nestedAttributeWrapper--dvfn3\",\"profileWrapper\":\"EntitiesTable-styles-profileWrapper--lGPma\",\"entityAvatar\":\"EntitiesTable-styles-entityAvatar--GiuUS\",\"entityAvatarImage\":\"EntitiesTable-styles-entityAvatarImage--UHIRm\",\"entityLabel\":\"EntitiesTable-styles-entityLabel--OyjLV\",\"scores\":\"EntitiesTable-styles-scores--RqsDU\",\"dragColumnHead\":\"EntitiesTable-styles-dragColumnHead--oDlFz\",\"dragColumnBody\":\"EntitiesTable-styles-dragColumnBody--_HZDV\",\"draggableHeadCell\":\"EntitiesTable-styles-draggableHeadCell--DbfHi\",\"cellWrapper\":\"EntitiesTable-styles-cellWrapper--dUWGQ\",\"entityButtons\":\"EntitiesTable-styles-entityButtons--tYSvC\",\"selectedEntityButtons\":\"EntitiesTable-styles-selectedEntityButtons--mZJfv\",\"justImportedEntityButtons\":\"EntitiesTable-styles-justImportedEntityButtons--q5bPw\",\"highlightedEntityButtons\":\"EntitiesTable-styles-highlightedEntityButtons--PvzNM\"};","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport {EntityAvatar, EntityUriLink} from '@reltio/components';\nimport {getEntityUriForLink, getLabel} from '@reltio/mdm-sdk';\n\nimport classNames from 'classnames';\nimport styles from '../styles.less';\n\nconst EntityProfileRenderer = ({value: entity = {}}) => {\n const label = getLabel(entity.label);\n return (\n <div className={classNames(styles.defaultWrapper, styles.profileWrapper)}>\n <EntityAvatar\n avatarClassName={styles.entityAvatar}\n imageClassName={styles.entityAvatarImage}\n entity={entity}\n />\n <EntityUriLink value={getEntityUriForLink(entity)} className={styles.entityLabel}>\n {label}\n </EntityUriLink>\n </div>\n );\n};\n\nEntityProfileRenderer.propTypes = {\n value: PropTypes.object\n};\n\nexport default EntityProfileRenderer;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport {DataTypeValue} from '@reltio/components';\nimport styles from '../styles.less';\n\nconst DefaultRenderer = ({value, columnData: {dataTypeDefinition}}) => {\n return (\n <div className={styles.defaultWrapper}>\n {dataTypeDefinition ? <DataTypeValue value={value} dataTypeDefinition={dataTypeDefinition} /> : value}\n </div>\n );\n};\n\nDefaultRenderer.propTypes = {\n value: PropTypes.any,\n columnData: PropTypes.object\n};\n\nexport default DefaultRenderer;\n","import {getAbsoluteImageUrl, getEntityTypeGraphIcon} from '@reltio/mdm-sdk';\nimport {getApiPath, getImagePath} from '../../utils/config';\nimport {Metadata} from '@reltio/mdm-sdk';\n\nconst getAbsoluteImagePath = (path: string): string => getAbsoluteImageUrl(getImagePath() || getApiPath(), path);\n\nexport const getTypeGraphIcon = (metadata: Metadata, entityTypeUri: string): string => {\n const entityTypeGraphIcon = getEntityTypeGraphIcon(metadata, {type: entityTypeUri});\n return getAbsoluteImagePath(entityTypeGraphIcon);\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport {useSelector} from 'react-redux';\n\nimport classnames from 'classnames';\nimport {getTypeGraphIcon} from '../../../services/entity/image';\nimport styles from '../styles.less';\nimport {AvatarWithFallback, EntityUriLink} from '@reltio/components';\nimport mdmModule from '@reltio/mdm-module';\nimport {getLabel} from '@reltio/mdm-sdk';\n\nconst ReferenceRenderer = ({value}) => {\n const metadata = useSelector(mdmModule.selectors.getMetadata);\n return (\n value && (\n <div className={classnames(styles.defaultWrapper, styles.referenceWrapper)}>\n <AvatarWithFallback\n className={styles.referenceIcon}\n icon={getTypeGraphIcon(metadata, value.refEntity.type)}\n />\n <EntityUriLink value={value.refEntity.objectURI} className={styles.referenceContent}>\n {getLabel(value.label)}\n </EntityUriLink>\n </div>\n )\n );\n};\n\nReferenceRenderer.propTypes = {\n value: PropTypes.object\n};\n\nexport default ReferenceRenderer;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport styles from '../styles.less';\n\nconst stopPropagation = (event) => {\n event.stopPropagation();\n};\n\nconst BlobRenderer = (props) => {\n const {value} = props;\n return (\n <div className={styles.blobWrapper} onScroll={stopPropagation}>\n {value}\n </div>\n );\n};\n\nBlobRenderer.propTypes = {\n value: PropTypes.any\n};\n\nexport default BlobRenderer;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport {getImageAttributeOvThumbnailUrl} from '@reltio/mdm-sdk';\nimport styles from '../styles.less';\n\nconst ImageRenderer = ({value}) => {\n const src = getImageAttributeOvThumbnailUrl({value});\n return (\n src && (\n <div className={styles.imageWrapper}>\n <img src={src} />\n </div>\n )\n );\n};\n\nImageRenderer.propTypes = {\n value: PropTypes.object\n};\n\nexport default ImageRenderer;\n","import {path} from 'ramda';\n\nimport EntityProfileRenderer from './EntityProfileRenderer';\nimport DefaultRenderer from './DefaultRenderer';\nimport ReferenceRenderer from './ReferenceRenderer';\nimport BlobRenderer from './BlobRenderer';\nimport ImageRenderer from './ImageRenderer';\n\nconst getAttributeValueRenderer = (columnInfo) => {\n if (columnInfo.id === 'label') {\n return EntityProfileRenderer;\n }\n\n switch (path(['attrType', 'type'], columnInfo)) {\n case 'Reference':\n return ReferenceRenderer;\n case 'Blob':\n return BlobRenderer;\n case 'Image':\n return ImageRenderer;\n }\n\n return DefaultRenderer;\n};\n\nexport default getAttributeValueRenderer;\n","import HeadCellRenderer, {HeadCellRendererWithCheckbox} from './HeadCellRenderer/HeadCellRenderer';\nimport {assoc, pipe, prop, reduce, split} from 'ramda';\nimport {getAttrDataTypeDefinition, getEntityId, getOvAttributeValuesByPath} from '@reltio/mdm-sdk';\nimport getAttributeValueRenderer from './AttributeRenderers/getAttributeValueRenderer';\nimport {isAttributeSearchUri} from '@reltio/mdm-sdk';\n\nconst getAttrPathFromColumnId = split('.');\n\nconst getRowValueForColumn = (metadata, columnData, entity) => {\n switch (columnData.id) {\n case 'label':\n return entity;\n case 'entityId':\n return getEntityId(entity);\n default: {\n const [attrSource, ...attrPath] = getAttrPathFromColumnId(columnData.id);\n return pipe(prop(attrSource), getOvAttributeValuesByPath(attrPath))(entity);\n }\n }\n};\n\nexport const getBasicTableRowsData = (metadata, headColumns, entities) => {\n return (entities || []).map((entity) => {\n return pipe(\n reduce(\n (acc, columnData) => assoc(columnData.id, getRowValueForColumn(metadata, columnData, entity), acc),\n {}\n ),\n assoc('rawValue', entity)\n )(headColumns);\n });\n};\n\nconst NOT_SORTABLE_COLUMN_IDS = ['entityId'];\nconst isSortableColumn = (column) => !NOT_SORTABLE_COLUMN_IDS.includes(column.id);\n\nconst getNestedPathByColumnId = (columnId) => {\n if (isAttributeSearchUri(columnId)) {\n const [, ...attrPath] = getAttrPathFromColumnId(columnId);\n return attrPath.length > 1 ? attrPath.slice(0, -1) : null;\n } else {\n return null;\n }\n};\n\nexport const getBasicTableColumnsData = (headColumns, sortingEnabled = true) => {\n return headColumns.map(({attrType, ...column}, i) => {\n const isFirstColumn = i === 0;\n return {\n ...column,\n dataTypeDefinition: attrType && getAttrDataTypeDefinition(attrType),\n resizable: true,\n autoResize: column.autoResize ?? !isFirstColumn,\n draggable: !isFirstColumn,\n sortable: sortingEnabled && isSortableColumn(column),\n nestedPath: getNestedPathByColumnId(column.id),\n headCellRenderer: isFirstColumn ? HeadCellRendererWithCheckbox : HeadCellRenderer,\n rowCellValueRenderer: getAttributeValueRenderer({...column, attrType})\n };\n });\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport {ImportModes, withTableContext} from '@reltio/components';\nimport EntityRowButtons from '../../EntityRowButtons/EntityRowButtons';\n\nimport classnames from 'classnames';\nimport styles from '../styles.less';\n\nconst EntityRowOverlay = ({\n entity,\n isSelectedEntity,\n isHighlightedEntity,\n entityImportStatus,\n onEntityImportStatusChange\n}) => {\n return (\n <div\n className={classnames(styles.entityButtons, {\n [styles.selectedEntityButtons]: isSelectedEntity,\n [styles.justImportedEntityButtons]: entityImportStatus === ImportModes.SUCCESS,\n [styles.highlightedEntityButtons]: isHighlightedEntity\n })}\n >\n <EntityRowButtons\n entity={entity}\n entityImportStatus={entityImportStatus}\n onEntityImportStatusChange={onEntityImportStatusChange}\n />\n </div>\n );\n};\n\nEntityRowOverlay.propTypes = {\n entity: PropTypes.object,\n isSelectedEntity: PropTypes.bool,\n isHighlightedEntity: PropTypes.bool,\n entityImportStatus: PropTypes.oneOf(Object.values(ImportModes)),\n onEntityImportStatusChange: PropTypes.func\n};\n\nexport default withTableContext(\n (\n {entitiesImportStatus, onEntityImportStatusChange, selectedEntityUri, highlightedEntityIndex},\n {entity, rowIndex}\n ) => {\n const entityImportStatus = entity && entitiesImportStatus[entity.uri];\n return {\n entityImportStatus,\n onEntityImportStatusChange,\n isSelectedEntity: selectedEntityUri === entity.uri,\n isHighlightedEntity: highlightedEntityIndex === rowIndex\n };\n }\n)(EntityRowOverlay);\n","import {lighten, makeStyles} from '@material-ui/core/styles';\n\nconst commonCellWrapperStyles = {\n height: '100%',\n display: 'flex',\n flexDirection: 'column'\n};\n\nexport const useStyles = makeStyles((theme) => ({\n inactiveCell: {\n background: theme.inactiveBackground,\n ...commonCellWrapperStyles,\n '&$selectedRowCell': {\n background: theme.inactiveSelectedBackground\n }\n },\n selectedRowCell: {\n background: lighten(theme.palette.primary.main, 0.88),\n ...commonCellWrapperStyles\n },\n clickable: {\n cursor: 'pointer',\n ...commonCellWrapperStyles\n },\n justImported: {\n backgroundColor: '#FFFBEB !important',\n ...commonCellWrapperStyles\n }\n}));\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {isActiveObject} from '@reltio/mdm-sdk';\n\nimport {useStyles} from './styles';\n\nconst withCellDecorationPropTypes = {\n entity: PropTypes.object,\n isSelected: PropTypes.bool,\n onEntityClick: PropTypes.func,\n isJustImported: PropTypes.bool\n};\n\nconst withCellDecoration = (Component) => {\n const WithCellDecoration = (componentProps) => {\n const styles = useStyles();\n const {\n rowValue: {rawValue: entity},\n isSelected,\n onEntityClick,\n isJustImported\n } = componentProps;\n const onCellClick = onEntityClick ? () => onEntityClick(entity.uri) : undefined;\n const isInactive = entity && !isActiveObject(entity);\n\n return onCellClick || isInactive || isSelected || isJustImported ? (\n <div\n className={classnames(\n {[styles.inactiveCell]: isInactive},\n {inactiveCell: isInactive},\n {[styles.selectedRowCell]: isSelected},\n {selectedRowCell: isSelected},\n {[styles.clickable]: !!onCellClick},\n {[styles.justImported]: isJustImported},\n {justImported: isJustImported}\n )}\n onClick={onCellClick}\n >\n <Component {...componentProps} />\n </div>\n ) : (\n <Component {...componentProps} />\n );\n };\n\n WithCellDecoration.propTypes = withCellDecorationPropTypes;\n\n return WithCellDecoration;\n};\n\nexport default withCellDecoration;\nexport {withCellDecorationPropTypes};\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles({\n checkboxWrapper: {\n display: 'flex',\n alignItems: 'center'\n },\n checkbox: {\n marginRight: '-8px',\n marginLeft: '11px'\n }\n});\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {Checkbox as Checkbox} from '@material-ui/core';\n\nimport {useStyles} from './styles';\n\nconst withCheckboxPropTypes = {\n onCheck: PropTypes.func,\n isChecked: PropTypes.bool,\n hasCheckbox: PropTypes.bool\n};\n\nconst withCheckbox = (Component) => {\n const WithCheckbox = (componentProps) => {\n const styles = useStyles();\n const {onCheck, isChecked, hasCheckbox, ...restProps} = componentProps;\n const {\n rowValue: {rawValue: entity}\n } = restProps;\n\n return hasCheckbox ? (\n <div className={classnames(styles.checkboxWrapper, 'cellWithCheckbox')}>\n <Checkbox\n className={styles.checkbox}\n checked={isChecked}\n onClick={(e) => e.stopPropagation()}\n onChange={(e) => onCheck(entity.uri, e.target.checked)}\n />\n <Component {...restProps} />\n </div>\n ) : (\n <Component {...restProps} />\n );\n };\n\n WithCheckbox.propTypes = withCheckboxPropTypes;\n\n return WithCheckbox;\n};\n\nexport default withCheckbox;\nexport {withCheckboxPropTypes};\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles({\n collapser: {\n marginLeft: '-2px'\n }\n});\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport {useStyles} from './styles';\n\nimport {CollapseRowButton} from '@reltio/components';\n\nconst withCollapseButtonPropTypes = {\n hasCollapseButton: PropTypes.bool\n};\nconst withCollapseButton = (Component) => {\n const WithCollapseButton = (componentProps) => {\n const styles = useStyles();\n const {hasCollapseButton, ...restProps} = componentProps;\n const {rowValue, rowIndex} = restProps;\n\n return hasCollapseButton ? (\n <div className={'cellWithCollapser'}>\n <CollapseRowButton className={styles.collapser} rowIndex={rowIndex} rowValue={rowValue} />\n <Component {...restProps} />\n </div>\n ) : (\n <Component {...restProps} />\n );\n };\n\n WithCollapseButton.propTypes = withCollapseButtonPropTypes;\n\n return WithCollapseButton;\n};\n\nexport default withCollapseButton;\nexport {withCollapseButtonPropTypes};\n","import {defaultRenderRowCell, ImportModes, withTableContext} from '@reltio/components';\nimport withCellDecoration from './HOCs/withCellDecoration/withCellDecoration';\nimport withCheckbox from './HOCs/withCheckbox/withCheckbox';\nimport withCollapseButton from './HOCs/withCollapseButton/withCollapseButton';\nimport {pipe} from 'ramda';\n\nexport default pipe(\n withCollapseButton,\n withCheckbox,\n withCellDecoration,\n withTableContext(\n (\n {onEntityClick, selectedEntityUri, entitiesImportStatus, canCheck, onCheck, checkedEntitiesUris},\n {rowValue, columnIndex}\n ) => {\n const {rawValue: entity} = rowValue;\n const isFirstColumn = columnIndex === 0;\n return {\n onCheck,\n isChecked: checkedEntitiesUris && checkedEntitiesUris.includes(entity.uri),\n hasCheckbox: canCheck && isFirstColumn,\n hasCollapseButton: isFirstColumn,\n isSelected: selectedEntityUri === entity.uri,\n isJustImported: entitiesImportStatus[entity.uri] === ImportModes.SUCCESS,\n onEntityClick\n };\n }\n )\n)(defaultRenderRowCell);\n","import {path} from 'ramda';\n\nexport const REFERENCE_HEIGHT = 28;\nexport const BLOB_HEIGHT = 100;\nexport const IMAGE_HEIGHT = 76;\nconst PADDING = 17;\n\nexport const getAttributeHeight = ({columnData, cell}) => {\n const countAttributes = cell.values.length;\n const defaultHeight = 28 * Math.max(countAttributes, 1) + 20;\n\n if (!countAttributes) {\n return defaultHeight;\n }\n\n switch (path(['dataTypeDefinition', 'type'], columnData)) {\n case 'Reference':\n return REFERENCE_HEIGHT * countAttributes + PADDING;\n case 'Blob':\n return BLOB_HEIGHT * countAttributes;\n case 'Image':\n return IMAGE_HEIGHT * countAttributes + PADDING;\n default:\n return defaultHeight;\n }\n};\n","import React, {forwardRef, memo, useCallback, useImperativeHandle, useMemo, useRef, useState} from 'react';\nimport {useSelector} from 'react-redux';\nimport PropTypes from 'prop-types';\n\nimport {path, prop, propEq} from 'ramda';\nimport {SORT_DIRECTION_ASC, SORT_DIRECTION_DESC} from 'react-components/dist/Table/Table';\nimport {BasicTable} from '@reltio/components';\nimport {getBasicTableColumnsData, getBasicTableRowsData} from './entitiesTableUtils';\nimport EntityRowOverlay from './EntityRowOverlay/EntityRowOverlay';\nimport RowCellRenderer from './RowCellRenderer/RowCellRenderer';\nimport {getAttributeHeight} from './AttributeRenderers/heightCalculator';\n\nimport styles from './styles.less';\nimport mdmModule from '@reltio/mdm-module';\n\nexport const MAX_LENGTH_VALUE = 2;\nexport const DEFAULT_ROW_HEIGHT = 48;\nexport const HEAD_ROW_HEIGHT = 50;\nexport const DEFAULT_COLUMN_WIDTH = 250;\nexport const DEFAULT_COLUMN_MIN_WIDTH = 100;\nexport const RESIZE_DEBOUNCE_DELAY = 150;\n\nconst EntitiesTable = forwardRef(\n (\n {\n headColumns,\n entities,\n entityToHighlight,\n selectedEntityUri,\n onReorderingColumn,\n dndColumnReorderingEnabled,\n columnsSize,\n onChangeColumnsSize,\n onScroll,\n onSort,\n sortField,\n sortOrder,\n onEntityHover,\n onEntityClick,\n entitiesImportStatus,\n onEntityImportStatusChange,\n logger,\n canCheck,\n checkedEntitiesUris,\n headerCheckboxState,\n onCheck,\n openConfigColumnPopup,\n resizeDebounceDelay\n },\n ref\n ) => {\n const tableClasses = useMemo(\n () => ({\n highlightRow: 'highlightedSelector',\n dragColumnHead: styles.dragColumnHead,\n dragColumnBody: styles.dragColumnBody,\n draggableHeadCell: styles.draggableHeadCell,\n cellWrapper: styles.cellWrapper\n }),\n []\n );\n\n const metadata = useSelector(mdmModule.selectors.getMetadata);\n\n const [hoverRowIndex, setHoverRowIndex] = useState(null);\n const handleRowHover = useCallback(\n (hoverRowIndex) => {\n setHoverRowIndex(hoverRowIndex);\n if (onEntityHover) {\n onEntityHover(path([hoverRowIndex, 'uri'], entities));\n }\n },\n [onEntityHover, entities]\n );\n\n const tableRef = useRef();\n useImperativeHandle(ref, () => ({\n resetScrollbarPosition: () => {\n tableRef.current && tableRef.current.resetScrollbarPosition({resetLeft: false});\n }\n }));\n\n const handleSort = useCallback(\n (field) => {\n if (!sortOrder || field !== sortField) {\n onSort({field, order: SORT_DIRECTION_ASC});\n } else if (sortOrder === SORT_DIRECTION_ASC) {\n onSort({field, order: SORT_DIRECTION_DESC});\n } else {\n onSort({field});\n }\n },\n [onSort, sortField, sortOrder]\n );\n\n const renderRowOverlay = useCallback(\n (rowIndex) => {\n const entity = prop(rowIndex, entities);\n return entity ? <EntityRowOverlay entity={entity} rowIndex={rowIndex} /> : null;\n },\n [entities]\n );\n\n const renderRowCell = useCallback((props) => {\n return <RowCellRenderer {...props} />;\n }, []);\n\n const hoverStateEnabled = !!onEntityHover;\n const sortingEnabled = !!onSort;\n\n const columnsData = useMemo(\n () => getBasicTableColumnsData(headColumns, sortingEnabled),\n [headColumns, sortingEnabled]\n );\n const rowsData = useMemo(\n () => getBasicTableRowsData(metadata, headColumns, entities),\n [metadata, headColumns, entities]\n );\n\n const highlightedEntityIndex = entityToHighlight ? entities.findIndex(propEq('uri', entityToHighlight)) : -1;\n\n const tableContext = useMemo(\n () => ({\n onEntityClick,\n selectedEntityUri,\n highlightedEntityIndex,\n entitiesImportStatus,\n onEntityImportStatusChange,\n canCheck,\n checkedEntitiesUris,\n headerCheckboxState,\n onCheck,\n openConfigColumnPopup\n }),\n [\n checkedEntitiesUris,\n entitiesImportStatus,\n headerCheckboxState,\n highlightedEntityIndex,\n canCheck,\n onCheck,\n onEntityClick,\n onEntityImportStatusChange,\n selectedEntityUri,\n openConfigColumnPopup\n ]\n );\n\n return (\n <BasicTable\n fixFirstColumn={true}\n onScroll={onScroll}\n rowsData={rowsData}\n columnsData={columnsData}\n onSort={handleSort}\n highlightRow={highlightedEntityIndex !== -1 ? highlightedEntityIndex : null}\n ref={tableRef}\n sortFieldClassName={styles.sortableCell}\n containerClassName={styles.table}\n classes={tableClasses}\n defaultColumnWidth={DEFAULT_COLUMN_WIDTH}\n headRowHeight={HEAD_ROW_HEIGHT}\n defaultColumnMinWidth={DEFAULT_COLUMN_MIN_WIDTH}\n defaultRowHeight={DEFAULT_ROW_HEIGHT}\n sorting={{\n field: sortField,\n order: sortOrder\n }}\n dndColumnReorderingHandler={onReorderingColumn}\n dndColumnReorderingEnabled={dndColumnReorderingEnabled}\n onChangeColumnsSize={onChangeColumnsSize}\n columnsSize={columnsSize}\n resizeDebounceDelay={resizeDebounceDelay ?? RESIZE_DEBOUNCE_DELAY}\n onRowHover={hoverStateEnabled ? handleRowHover : undefined}\n hoverStateEnabled={hoverStateEnabled}\n hoverRowIndex={hoverRowIndex}\n renderRowOverlay={renderRowOverlay}\n logger={logger}\n context={tableContext}\n maxRowValuesCount={MAX_LENGTH_VALUE}\n renderRowCell={renderRowCell}\n getRowCellHeight={getAttributeHeight}\n />\n );\n }\n);\n\nEntitiesTable.propTypes = {\n entities: PropTypes.array,\n entityToHighlight: PropTypes.string,\n selectedEntityUri: PropTypes.string,\n headColumns: PropTypes.array,\n columnsSize: PropTypes.array,\n onScroll: PropTypes.func,\n onSort: PropTypes.func,\n onReorderingColumn: PropTypes.func,\n onChangeColumnsSize: PropTypes.func,\n dndColumnReorderingEnabled: PropTypes.bool,\n onEntityClick: PropTypes.func,\n onEntityHover: PropTypes.func,\n sortField: PropTypes.string,\n sortOrder: PropTypes.oneOf([SORT_DIRECTION_ASC, SORT_DIRECTION_DESC]),\n entitiesImportStatus: PropTypes.object,\n onEntityImportStatusChange: PropTypes.func,\n logger: PropTypes.func,\n canCheck: PropTypes.bool,\n checkedEntitiesUris: PropTypes.arrayOf(PropTypes.string),\n headerCheckboxState: PropTypes.oneOf([true, false, null]),\n onCheck: PropTypes.func,\n openConfigColumnPopup: PropTypes.func,\n resizeDebounceDelay: PropTypes.number\n};\n\nEntitiesTable.defaultProps = {\n entities: [],\n headColumns: []\n};\n\nEntitiesTable.displayName = 'EntitiesTable';\n\nexport default memo(EntitiesTable);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport {Popover as Popover} from '@material-ui/core';\nimport {List as List} from '@material-ui/core';\nimport {ListItem as ListItem} from '@material-ui/core';\nimport {ListItemText as ListItemText} from '@material-ui/core';\nimport i18n from 'ui-i18n';\n\nexport const INSERT_LEFT = 'left';\nexport const INSERT_RIGHT = 'right';\nexport const HIDE = 'hide';\n\nconst TEXT = {\n [INSERT_LEFT]: i18n.text('Insert 1 left'),\n [INSERT_RIGHT]: i18n.text('Insert 1 right'),\n [HIDE]: i18n.text('Hide column')\n};\n\nconst renderListItem = (action, handler, index) => (\n <ListItem button component={'div'} key={index} onClick={handler}>\n <ListItemText primary={TEXT[action]} primaryTypographyProps={{variant: 'body2'}} />\n </ListItem>\n);\n\nconst ConfigColumnPopup = ({open, anchorEl, onClick, onClose, actions}) => {\n const getClickHandler = (action) => () => {\n onClick(action);\n };\n\n return (\n <Popover open={open} anchorEl={anchorEl} onClose={onClose}>\n <List component=\"div\">\n {actions.map((action, index) => renderListItem(action, getClickHandler(action), index))}\n </List>\n </Popover>\n );\n};\n\nConfigColumnPopup.propTypes = {\n open: PropTypes.bool,\n anchorEl: PropTypes.any,\n onClick: PropTypes.func,\n onClose: PropTypes.func,\n actions: PropTypes.array\n};\n\nexport default ConfigColumnPopup;\n","import EntitiesTable from '../EntitiesTable/EntitiesTable';\nimport React from 'react';\nimport {ConfigureColumnsPopup} from '@reltio/components';\nimport * as i18n from 'ui-i18n';\nimport ConfigColumnPopup, {HIDE, INSERT_LEFT, INSERT_RIGHT} from './ConfigColumnPopup/ConfigColumnPopup';\nimport PropTypes from 'prop-types';\nimport {SORT_DIRECTION_ASC, SORT_DIRECTION_DESC} from 'react-components/dist/Table/Table';\nimport {memoizeWith, pick, toString} from 'ramda';\nimport {envSpecificKey} from '../../utils/general';\n\nclass EntitiesTableWithConfigurableColumns extends React.PureComponent {\n state = {\n addColumnPopupOpen: false,\n configColumnPopupOpen: false,\n configurableColumnIndex: false,\n popupAnchor: null,\n filterText: ''\n };\n\n addColumnHandler = (data) => {\n const {newColumnPlaceIndex} = this.state;\n const {onChangeColumnsList, headColumns} = this.props;\n const columns = headColumns.slice();\n columns.splice(newColumnPlaceIndex, 0, data);\n onChangeColumnsList({columns});\n this.closeAddColumnPopup();\n };\n\n openAddColumnPopup = ({newColumnPlaceIndex}) => {\n this.setState({newColumnPlaceIndex, configColumnPopupOpen: false, addColumnPopupOpen: true});\n };\n\n closeAddColumnPopup = () => {\n this.setState({popupAnchor: null, addColumnPopupOpen: false, filterText: ''});\n };\n\n setFilterText = (filterText) => {\n this.setState({filterText});\n };\n\n openConfigColumnPopup = (event) => {\n this.setState({\n popupAnchor: event.currentTarget,\n configColumnPopupOpen: true,\n configurableColumnIndex: parseInt(event.currentTarget.getAttribute('data-column-index'))\n });\n };\n\n closeConfigColumnPopup = () => {\n this.setState({configColumnPopupOpen: false});\n };\n\n configColumnHandler = (action) => {\n const {configurableColumnIndex} = this.state;\n switch (action) {\n case INSERT_LEFT:\n this.openAddColumnPopup({newColumnPlaceIndex: configurableColumnIndex});\n break;\n case INSERT_RIGHT:\n this.openAddColumnPopup({newColumnPlaceIndex: configurableColumnIndex + 1});\n break;\n case HIDE:\n this.hideCurrentConfigColumn();\n break;\n }\n };\n\n hideCurrentConfigColumn = () => {\n const {configurableColumnIndex} = this.state;\n const {onChangeColumnsList, headColumns} = this.props;\n const columns = headColumns.slice();\n columns.splice(configurableColumnIndex, 1);\n onChangeColumnsList({columns});\n this.closeConfigColumnPopup();\n };\n\n static getColumnSizeFromHeadColumns(headColumns) {\n return headColumns.map((column) => ({\n id: column.id,\n size: column.size\n }));\n }\n\n static getMemoIdForColumnSize(headColumns, entityTypeUri, envSpecificKey) {\n return `${envSpecificKey}${entityTypeUri}${toString(\n headColumns.map((columns) => pick(['id', 'size'], columns))\n )}`;\n }\n\n memoizedGetColumnSize = memoizeWith(\n EntitiesTableWithConfigurableColumns.getMemoIdForColumnSize,\n EntitiesTableWithConfigurableColumns.getColumnSizeFromHeadColumns\n );\n\n render() {\n const {\n entities,\n entityToHighlight,\n selectedEntityUri,\n onScroll,\n headColumns,\n sortField,\n sortOrder,\n dndColumnReorderingEnabled,\n onEntityClick,\n onEntityHover,\n entitiesTableRef,\n additionalColumns,\n onChangeColumnsList,\n onReorderingColumn,\n onSort,\n onChangeColumnsSize,\n entityTypeUri,\n entitiesImportStatus = {},\n onEntityImportStatusChange,\n logger,\n canCheck,\n checkedEntitiesUris,\n headerCheckboxState,\n onCheck,\n resizeDebounceDelay\n } = this.props;\n\n const {addColumnPopupOpen, configColumnPopupOpen, popupAnchor, filterText, configurableColumnIndex} =\n this.state;\n\n const columnsSize = this.memoizedGetColumnSize(headColumns, entityTypeUri, envSpecificKey());\n return (\n <>\n <EntitiesTable\n entities={entities}\n entityToHighlight={entityToHighlight}\n selectedEntityUri={selectedEntityUri}\n onScroll={onScroll}\n onSort={onSort}\n onEntityClick={onEntityClick}\n onEntityHover={onEntityHover}\n headColumns={headColumns}\n sortField={sortField}\n sortOrder={sortOrder}\n onReorderingColumn={onReorderingColumn}\n ref={entitiesTableRef}\n onChangeColumnsList={onChangeColumnsList}\n dndColumnReorderingEnabled={dndColumnReorderingEnabled}\n onChangeColumnsSize={onChangeColumnsSize}\n columnsSize={columnsSize}\n entitiesImportStatus={entitiesImportStatus}\n onEntityImportStatusChange={onEntityImportStatusChange}\n logger={logger}\n canCheck={canCheck}\n checkedEntitiesUris={checkedEntitiesUris}\n headerCheckboxState={headerCheckboxState}\n onCheck={onCheck}\n openConfigColumnPopup={this.openConfigColumnPopup}\n resizeDebounceDelay={resizeDebounceDelay}\n />\n <ConfigureColumnsPopup\n open={addColumnPopupOpen}\n anchorEl={popupAnchor}\n data={additionalColumns}\n onListItemClick={this.addColumnHandler}\n filterText={filterText}\n onClose={this.closeAddColumnPopup}\n onSearch={this.setFilterText}\n hideCheckBox={true}\n titleText={i18n.text('Add column')}\n />\n <ConfigColumnPopup\n onClick={this.configColumnHandler}\n onClose={this.closeConfigColumnPopup}\n anchorEl={popupAnchor}\n open={configColumnPopupOpen}\n actions={configurableColumnIndex > 0 ? [INSERT_LEFT, INSERT_RIGHT, HIDE] : [INSERT_RIGHT]}\n />\n </>\n );\n }\n\n static propTypes = {\n entities: PropTypes.array,\n entityToHighlight: PropTypes.string,\n selectedEntityUri: PropTypes.string,\n entityTypeUri: PropTypes.string,\n headColumns: PropTypes.array,\n dndColumnReorderingEnabled: PropTypes.bool,\n onScroll: PropTypes.func,\n onSort: PropTypes.func,\n onReorderingColumn: PropTypes.func,\n onChangeColumnsSize: PropTypes.func,\n onChangeColumnsList: PropTypes.func,\n onEntityClick: PropTypes.func,\n onEntityHover: PropTypes.func,\n sortField: PropTypes.string,\n sortOrder: PropTypes.oneOf([SORT_DIRECTION_ASC, SORT_DIRECTION_DESC]),\n entitiesTableRef: PropTypes.shape({\n current: PropTypes.shape({\n resetScrollbarPosition: PropTypes.func\n })\n }),\n additionalColumns: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string,\n label: PropTypes.string\n })\n ),\n entitiesImportStatus: PropTypes.object,\n onEntityImportStatusChange: PropTypes.func,\n logger: PropTypes.func,\n canCheck: PropTypes.bool,\n checkedEntitiesUris: PropTypes.arrayOf(PropTypes.string),\n headerCheckboxState: PropTypes.oneOf([true, false, null]),\n onCheck: PropTypes.func\n };\n}\n\nexport default EntitiesTableWithConfigurableColumns;\n","import React from 'react';\nimport {useSelector} from 'react-redux';\nimport PropTypes from 'prop-types';\n\nimport mdmModule from '@reltio/mdm-module';\nimport {EntityType, importEntityFromDataTenant} from '@reltio/mdm-sdk';\nimport {showImportFromDataTenantError} from '../../utils/error';\nimport {ImportButton, ImportModes} from '@reltio/components';\nimport i18n from 'ui-i18n';\nimport {values} from 'ramda';\n\nconst ImportEntityButton = ({entity, importStatus, onImportStatusChange, hideDelay = 3000, ...otherProps}) => {\n const dtssPath = useSelector(mdmModule.selectors.getDtssPath);\n const tenant = useSelector(mdmModule.selectors.getTenant);\n\n return (\n <ImportButton\n {...otherProps}\n mode={importStatus}\n tooltip={i18n.text('Import this record')}\n onClick={(e) => {\n e.stopPropagation();\n onImportStatusChange(ImportModes.PROGRESS);\n importEntityFromDataTenant({\n dtssPath,\n customerTenant: tenant,\n entity\n })\n .then(({success, uris}) => {\n if (success) {\n entity.ctSubscribedUris = uris;\n onImportStatusChange(ImportModes.SUCCESS);\n setTimeout(() => onImportStatusChange(ImportModes.DONE), hideDelay);\n } else {\n throw new Error('Failed to import entity');\n }\n })\n .catch(() => {\n onImportStatusChange(ImportModes.INIT);\n showImportFromDataTenantError();\n });\n }}\n />\n );\n};\n\nImportEntityButton.propTypes = {\n entity: EntityType,\n importStatus: PropTypes.oneOf(values(ImportModes)),\n onImportStatusChange: PropTypes.func,\n hideDelay: PropTypes.number\n};\n\nexport default ImportEntityButton;\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles({\n importButtonPlaceholder: {\n display: 'flex',\n alignItems: 'center',\n padding: '0 10px',\n width: '24px',\n flexShrink: 0,\n position: 'relative'\n }\n});\n","import React from 'react';\nimport {useSelector} from 'react-redux';\n\nimport ImportEntityButton from '../ImportEntityButton/ImportEntityButton';\nimport {\n checkCanImportEntityOfType,\n getEntityType,\n isDataTenantEntity,\n isEntityImportedToCT,\n Metadata,\n Entity\n} from '@reltio/mdm-sdk';\nimport {ImportModes} from '@reltio/components';\nimport mdmModule from '@reltio/mdm-module';\nimport {useStyles} from './styles';\n\ntype Props = {\n entity: Entity;\n entityImportStatus: ImportModes;\n onEntityImportStatusChange: (uri: string, status: ImportModes) => void;\n};\n\nexport const EntityRowButtons = ({entity, entityImportStatus, onEntityImportStatusChange}: Props) => {\n const styles = useStyles();\n\n const metadata: Metadata = useSelector(mdmModule.selectors.getMetadata);\n const canImportFromDataTenant: boolean = useSelector(mdmModule.selectors.getCanUserImportEntitiesFromDT);\n const canImport = isDataTenantEntity(entity) && canImportFromDataTenant;\n const entityType = getEntityType(metadata, entity.type);\n const canImportEntity = checkCanImportEntityOfType(entityType) && !isEntityImportedToCT(entity);\n const isImportInProgress = entityImportStatus && entityImportStatus !== ImportModes.DONE;\n const showImportButton = isImportInProgress || canImportEntity;\n\n return (\n <>\n {canImport && (\n <div className={styles.importButtonPlaceholder}>\n {showImportButton && (\n <ImportEntityButton\n entity={entity}\n importStatus={entityImportStatus}\n onImportStatusChange={(status) => onEntityImportStatusChange(entity.uri, status)}\n />\n )}\n </div>\n )}\n </>\n );\n};\n\nexport default EntityRowButtons;\n","import {makeStyles} from '@material-ui/core/styles';\nimport {READABLE_QUERY_PRIMITIVE_TYPES} from '@reltio/mdm-sdk';\n\nconst useStyles = makeStyles((theme) => ({\n query: {\n color: theme.palette.text.secondary,\n fontSize: '12px',\n letterSpacing: 0,\n lineHeight: '16px'\n },\n [READABLE_QUERY_PRIMITIVE_TYPES.entityTypeLabel]: {\n color: '#03904A'\n },\n [READABLE_QUERY_PRIMITIVE_TYPES.attributeLabel]: {\n color: '#059BEA'\n },\n [READABLE_QUERY_PRIMITIVE_TYPES.specialAttributeLabel]: {\n color: '#EA05CF'\n },\n [READABLE_QUERY_PRIMITIVE_TYPES.attributeFilter]: {\n color: '#7F00FF'\n },\n [READABLE_QUERY_PRIMITIVE_TYPES.attributeValue]: {\n color: '#000000'\n }\n}));\n\nexport {useStyles};\n","import React, {forwardRef} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {useStyles} from './styles';\n\nconst ReadableSearchQuery = forwardRef(({readableQuery = [], className, ...otherProps}, ref) => {\n const styles = useStyles();\n return (\n <span ref={ref} className={classnames(styles.query, className)} {...otherProps}>\n {readableQuery.map(({type, text}, i) => (\n <span key={i} className={styles[type]}>\n {text}\n </span>\n ))}\n </span>\n );\n});\n\nReadableSearchQuery.displayName = 'ReadableSearchQuery';\n\nReadableSearchQuery.propTypes = {\n readableQuery: PropTypes.array,\n className: PropTypes.string\n};\n\nexport default ReadableSearchQuery;\n","export default {\n UPDATE_ENTITIES: 'SEARCH_UPDATE_ENTITIES',\n UPDATE_URL: 'SEARCH_UPDATE_URL',\n CLEAR_RESULTS: 'SEARCH_CLEAR_RESULTS',\n REFRESH_DISPLAYED_ENTITIES: 'SEARCH_REFRESH_DISPLAYED_ENTITIES',\n REFRESH: 'SEARCH_REFRESH',\n CLEAR_ALL: 'SEARCH_CLEAR_ALL',\n SHOW_MORE_RESULTS_FOR_ENTITY_TYPE: 'SEARCH_SHOW_MORE_RESULTS_FOR_ENTITY_TYPE',\n UPDATE_TOTAL: 'SEARCH_UPDATE_TOTAL',\n CHANGE_PAGE: 'SEARCH_CHANGE_PAGE',\n RESET_PAGE: 'SEARCH_RESET_PAGE',\n CHANGE_ROWS_PER_PAGE: 'SEARCH_CHANGE_ROWS_PER_PAGE',\n CHANGE_SORT: 'SEARCH_CHANGE_SORT',\n CHANGE_LOADING: 'SEARCH_CHANGE_LOADING',\n MAP_CHANGE_VALUE: 'SEARCH_MAP_CHANGE_VALUE',\n STATE_UPDATED: 'SEARCH_STATE_UPDATED',\n EXPORT_RESULTS: 'SEARCH_EXPORT_RESULTS',\n OPEN_DATA_LOADER: 'SEARCH_OPEN_DATA_LOADER',\n CHANGE_CURRENT_TENANT: 'SEARCH_CHANGE_CURRENT_TENANT'\n};\n","import i18n from 'ui-i18n';\nimport {pipe, values, without} from 'ramda';\n\nexport const appId = 'explorer';\n\nexport const ROWS_PER_PAGE_OPTIONS = [25, 50, 100];\n\nexport const NUMERIC_RANGE_MIN_VALUE = 0;\nexport const NUMERIC_RANGE_MAX_VALUE = 10000;\n\nconst currentDate = () => new Date().setHours(0, 0, 0, 0);\nconst yearAgoDate = () => {\n const currentDate = new Date();\n currentDate.setHours(0, 0, 0, 0);\n return currentDate.setFullYear(currentDate.getFullYear() - 1);\n};\n\nexport const DATE_RANGE_MIN_VALUE = yearAgoDate();\nexport const DATE_RANGE_MAX_VALUE = currentDate();\n\nexport const SEARCH_RESULTS_MODES = {\n TABLE: 'table',\n LIST: 'list',\n MAP: 'map'\n};\n\nexport const DEFAULT_VIEW = SEARCH_RESULTS_MODES.TABLE;\n\nexport const PREVIEW_PANEL_MODES = {\n PROFILE: 'profile',\n MAP: 'map'\n};\n\nexport const DEFAULT_FACET_PAGE_SIZE = 20;\n\nexport const operators = [\n {\n label: 'And',\n value: 'and'\n },\n {\n label: 'Or',\n value: 'or'\n },\n {\n label: 'And not',\n value: 'and not'\n },\n {\n label: 'Or not',\n value: 'or not'\n }\n];\nexport const defaultOperator = operators[0];\nexport const defaultGroupOperator = operators[1];\n\nexport const STORED_SEARCHES_TYPES = {\n saved: 'saved',\n recent: 'recent'\n};\n\nexport const SAVED_SEARCHES_SHARING_OPTIONS_VALUES = {\n public: 'public',\n private: 'private'\n};\n\nexport const SAVED_SEARCHES_SORTED_FIELDS = {\n name: 'name',\n updateDate: 'updateDate'\n};\n\nexport const SAVED_SEARCHES_SORT_BY_VALUES = {\n [SAVED_SEARCHES_SORTED_FIELDS.name]: 'NAME',\n [SAVED_SEARCHES_SORTED_FIELDS.updateDate]: 'UPDATE_DATE'\n};\n\nexport const SAVED_SEARCHES_SORT_ORDER_VALUES = {\n ASC: 'asc',\n DESC: 'desc'\n};\n\nexport const SAVED_SEARCHES_SHARING_OPTIONS = [\n {\n label: i18n.text('Only me'),\n value: SAVED_SEARCHES_SHARING_OPTIONS_VALUES.private\n },\n {\n label: i18n.text('All users'),\n value: SAVED_SEARCHES_SHARING_OPTIONS_VALUES.public\n }\n];\n\nexport const NOTIFICATION_TYPES = {\n info: 'info',\n error: 'error'\n};\n\nexport const ML_RULES_ONLY = {pmRulesScope: 'ML_RULES_ONLY'};\n\nexport const ENTITY_TYPE_FACET_ROW_COUNT = 7;\n\nexport const SEARCH_DEBOUNCE_TIME = 300;\n\nexport const BULK_UPDATE_SELECTION_MODES = {\n include: 'include',\n exclude: 'exclude'\n};\n\nexport const BULK_UPDATE_COMMON_OPERATIONS = {\n UpdateProfiles: 'UpdateProfiles',\n DeleteProfiles: 'DeleteProfiles'\n};\n\nexport const BULK_UPDATE_OPERATIONS = {\n AddNew: 'AddNew',\n Clear: 'Clear',\n ReplaceAllWith: 'ReplaceAllWith',\n FindAndReplace: 'FindAndReplace',\n FindAndRemove: 'FindAndRemove',\n RepointReference: 'RepointReference'\n};\n\nexport const BULK_UPDATE_OPERATION_LABELS = {\n [BULK_UPDATE_OPERATIONS.AddNew]: i18n.text('Add new'),\n [BULK_UPDATE_OPERATIONS.Clear]: i18n.text('Clear attribute'),\n [BULK_UPDATE_OPERATIONS.ReplaceAllWith]: i18n.text('Replace all with'),\n [BULK_UPDATE_OPERATIONS.FindAndReplace]: i18n.text('Find and replace'),\n [BULK_UPDATE_OPERATIONS.FindAndRemove]: i18n.text('Find and remove'),\n [BULK_UPDATE_OPERATIONS.RepointReference]: i18n.text('Repoint reference')\n};\n\nexport const BULK_UPDATE_ALLOWED_OPERATION_VALUE_FIELDS = {\n [BULK_UPDATE_OPERATIONS.AddNew]: ['attributeValue'],\n [BULK_UPDATE_OPERATIONS.Clear]: [],\n [BULK_UPDATE_OPERATIONS.ReplaceAllWith]: ['attributeValue'],\n [BULK_UPDATE_OPERATIONS.FindAndReplace]: ['attributeValue', 'attributeValueToFind'],\n [BULK_UPDATE_OPERATIONS.FindAndRemove]: ['attributeValueToFind'],\n [BULK_UPDATE_OPERATIONS.RepointReference]: ['attributeValue']\n};\n\nexport const BULK_UPDATE_SIMPLE_ATTRIBUTE_OPERATIONS = pipe(\n values,\n without(BULK_UPDATE_OPERATIONS.RepointReference)\n)(BULK_UPDATE_OPERATIONS);\n\nexport const BULK_UPDATE_NESTED_ATTRIBUTE_OPERATIONS = [\n BULK_UPDATE_OPERATIONS.AddNew,\n BULK_UPDATE_OPERATIONS.Clear,\n BULK_UPDATE_OPERATIONS.ReplaceAllWith\n];\nexport const BULK_UPDATE_REFERENCE_ATTRIBUTE_OPERATIONS = [\n BULK_UPDATE_OPERATIONS.AddNew,\n BULK_UPDATE_OPERATIONS.Clear,\n BULK_UPDATE_OPERATIONS.RepointReference\n];\n\nexport const BULK_UPDATE_API_OPERATIONS = {\n AddAttribute: 'AddAttribute',\n UpdateAttribute: 'UpdateAttribute',\n DeleteAttribute: 'DeleteAttribute',\n RepointReferencedEntity: 'RepointReferencedEntity',\n AddTags: 'AddTags',\n ReplaceTag: 'ReplaceTag',\n DeleteTags: 'DeleteTags',\n ClearTags: 'ClearTags'\n};\n\nexport const BULK_UPDATE_REFERENCED_ENTITY_ID_FIELD_NAME = 'referenced_entity_id';\n\nexport const DEFAULT_SEARCH_SELECT = [\n 'uri',\n 'label',\n 'type',\n 'secondaryLabel',\n 'defaultProfilePic',\n 'defaultProfilePicValue',\n 'attributes.Address',\n 'attributes.GeoLocation',\n 'attributes.ImageGallery'\n];\n","import {curry, pathOr, remove} from 'ramda';\nimport {nanoid} from 'nanoid';\n\nimport {isCompatibleFilters, getFilterOptionsForQueryBuilder} from '@reltio/mdm-sdk';\nimport {defaultOperator} from '../../constants/constants';\nimport {createLens, path as createLPath} from '../../utils/lenses';\n\nexport const PROP_NAME_OPERATOR = 'operator';\nexport const PROP_NAME_VALUES = 'values';\nexport const PROP_NAME_FILTER = 'filter';\n\nexport const getEmptyAttributeObject = (id = nanoid()) => ({\n [PROP_NAME_OPERATOR]: defaultOperator.value,\n id\n});\n\nexport const getAttributeObject = (attribute, id = nanoid()) => {\n const data = getAttributeData(attribute);\n return {\n data,\n [PROP_NAME_OPERATOR]: defaultOperator.value,\n [PROP_NAME_FILTER]: pathOr('', ['filterOptions', 0], data),\n id\n };\n};\n\nexport const getAttributeData = (attribute) => ({\n ...attribute,\n filterOptions:\n attribute.enforcedFilterOptions || getFilterOptionsForQueryBuilder(attribute.attrType, attribute.fieldName)\n});\n\nexport const defaultFindGroupPath = curry((id, groups) => {\n const groupIndex = groups.findIndex((group) => group.id === id);\n return groupIndex > -1 ? [groupIndex] : null;\n});\n\nexport const createGetGroupLens =\n (groupsLensPath, findGroupPath = defaultFindGroupPath) =>\n (state, id) => {\n const searchGroupsL = createLPath(...groupsLensPath);\n const groups = searchGroupsL.get(state);\n const groupPath = findGroupPath(id, groups);\n return groupPath ? createLPath(...groupsLensPath, ...groupPath) : false;\n };\n\nexport const createGetAttributesLens = (getGroupLens, propNameAttributes) => (state, groupId) => {\n const groupLens = getGroupLens(state, groupId);\n return groupLens && groupLens.compose(createLens(propNameAttributes));\n};\n\nexport const createGetAttributeIndex = (getAttributesLens) => (state, groupId, attributeId) => {\n const attributesLens = getAttributesLens(state, groupId);\n if (attributesLens) {\n const attributes = attributesLens.get(state);\n return attributes.findIndex((attribute) => attribute.id === attributeId);\n }\n return -1;\n};\n\nexport const createGetAttributeLens = (getAttributesLens) => (state, groupId, attributeId) => {\n const attributesLens = getAttributesLens(state, groupId);\n const getAttributeIndex = createGetAttributeIndex(getAttributesLens);\n const attributeIndex = getAttributeIndex(state, groupId, attributeId);\n return attributeIndex !== -1 ? attributesLens.compose(createLPath(attributeIndex)) : null;\n};\n\nexport const createSetAttributeProp = (getAttributeLens) => (state, groupId, attributeId, propName, value) => {\n const groupAttributeL = getAttributeLens(state, groupId, attributeId);\n if (groupAttributeL) {\n const newAttribute = {...groupAttributeL.get(state)};\n newAttribute[propName] = value;\n return groupAttributeL.set(state, newAttribute);\n }\n\n return state;\n};\n\nexport const createGetAttributeProp = (getAttributeLens) => (state, groupId, attributeId, propName) => {\n const groupAttributeL = getAttributeLens(state, groupId, attributeId);\n if (groupAttributeL) {\n return groupAttributeL.get(state)[propName];\n }\n};\n\nconst isAttributeIncludesFilter = (state, groupId, attributeId, attribute, getAttributeLens) => {\n const groupAttributeL = getAttributeLens(state, groupId, attributeId);\n let currentFilter;\n if (groupAttributeL) currentFilter = groupAttributeL.get(state).filter;\n\n return attribute.filterOptions.length && (!currentFilter || !attribute.filterOptions.includes(currentFilter));\n};\n\nexport const addAttributeAfter = ({state, groupId, attributeId, attribute, getAttributesLens, getAttributeIndex}) => {\n const groupAttributesL = getAttributesLens(state, groupId);\n if (groupAttributesL) {\n let newAttributes = [...groupAttributesL.get(state)];\n const attrIndex = getAttributeIndex(state, groupId, attributeId);\n const isLastAttribute = !newAttributes[attrIndex + 1];\n if (attrIndex !== -1 && isLastAttribute) {\n newAttributes.splice(attrIndex + 1, 0, attribute);\n } else if (attrIndex !== -1) {\n newAttributes.splice(attrIndex + 1, 0, {\n ...attribute,\n operator: newAttributes[attrIndex].operator\n });\n\n newAttributes[attrIndex] = {\n ...newAttributes[attrIndex],\n operator: defaultOperator.value\n };\n } else {\n newAttributes.push(attribute);\n }\n return groupAttributesL.set(state, newAttributes);\n }\n return state;\n};\n\nexport const changeAttributeData = ({\n state,\n groupId,\n attributeId,\n attributeData,\n setAttributeProp,\n getAttributeLens\n}) => {\n let newState = state;\n if (attributeData) {\n if (isAttributeIncludesFilter(state, groupId, attributeId, attributeData, getAttributeLens))\n newState = setAttributeProp(state, groupId, attributeId, PROP_NAME_FILTER, attributeData.filterOptions[0]);\n newState = setAttributeProp(newState, groupId, attributeId, PROP_NAME_VALUES, []);\n return setAttributeProp(newState, groupId, attributeId, 'data', attributeData);\n } else {\n const attrLens = getAttributeLens(state, groupId, attributeId);\n if (attrLens) {\n newState = attrLens.set(newState, getEmptyAttributeObject(attributeId));\n }\n return newState;\n }\n};\n\nexport const setAttributeOperator = ({state, groupId, attributeId, operator, setAttributeProp}) => {\n return setAttributeProp(state, groupId, attributeId, PROP_NAME_OPERATOR, operator);\n};\n\nexport const deleteAttribute = ({state, groupId, attributeId, getAttributesLens}) => {\n const groupAttributesL = getAttributesLens(state, groupId);\n if (groupAttributesL) {\n const attributes = [...groupAttributesL.get(state)];\n const attributeIndex = attributes.findIndex((attribute) => attribute.id === attributeId);\n\n if (attributeIndex > -1) {\n const editedAttributes = remove(attributeIndex, 1, attributes);\n const prevAttribute = editedAttributes[attributeIndex - 1];\n const removedAttribute = attributes[attributeIndex];\n\n if (prevAttribute) {\n editedAttributes[attributeIndex - 1] = {\n ...prevAttribute,\n operator: removedAttribute.operator\n };\n }\n\n return groupAttributesL.set(state, editedAttributes);\n }\n }\n return state;\n};\n\nexport const duplicateAttribute = ({state, groupId, attributeId, id, getAttributesLens}) => {\n const groupAttributesL = getAttributesLens(state, groupId);\n if (groupAttributesL) {\n const attributes = [...groupAttributesL.get(state)];\n const attributeIndex = attributes.findIndex((attribute) => attribute.id === attributeId);\n if (attributeIndex > -1) {\n attributes.push({...attributes[attributeIndex], id});\n return groupAttributesL.set(state, attributes);\n }\n }\n return state;\n};\n\nexport const setFilter = ({state, groupId, attributeId, filter, getAttributeProp, setAttributeProp}) => {\n const currentFilter = getAttributeProp(state, groupId, attributeId, PROP_NAME_FILTER);\n\n const newState = isCompatibleFilters(currentFilter, filter)\n ? state\n : setAttributeProp(state, groupId, attributeId, PROP_NAME_VALUES, []);\n return setAttributeProp(newState, groupId, attributeId, PROP_NAME_FILTER, filter);\n};\n\nexport const setValues = ({state, groupId, attributeId, values, setAttributeProp}) => {\n return setAttributeProp(state, groupId, attributeId, PROP_NAME_VALUES, values);\n};\n","import {put} from 'redux-saga/effects';\nimport {__, path, pipe, propEq, propOr} from 'ramda';\nimport {defaultFindGroupPath} from '../reducers/helpers/queryBuilderHelpers';\n\nexport function* toggleQueryBuilderAttributeSelect({\n groups,\n findGroupPath = defaultFindGroupPath,\n attributesPropName,\n groupId,\n attributeId,\n selectInfo,\n actions\n}) {\n const {checked, attribute: selectedAttribute, index: selectIndex, selectedAttributes} = selectInfo;\n const {addAttributeAfter, changeAttribute, clearAttribute, deleteAttribute} = actions;\n\n const groupAttributes = pipe(findGroupPath(groupId), path(__, groups), propOr([], attributesPropName))(groups);\n const getGroupAttributeIdAt = (index) => path([index, 'id'], groupAttributes);\n\n const attributeIndex = groupAttributes.findIndex(propEq('id', attributeId));\n const shouldChangeAttribute = attributeId && selectIndex === 0;\n\n if (shouldChangeAttribute) {\n if (checked) {\n yield put(changeAttribute(groupId, attributeId, selectedAttribute));\n } else {\n let nextSelectedAttribute = selectedAttributes[selectIndex + 1];\n if (nextSelectedAttribute) {\n yield put(changeAttribute(groupId, attributeId, nextSelectedAttribute));\n yield put(deleteAttribute(groupId, getGroupAttributeIdAt(attributeIndex + 1)));\n } else {\n yield put(clearAttribute(groupId, attributeId));\n }\n }\n } else {\n const selectIndexFromEnd = selectedAttributes.length - selectIndex;\n const targetIndex = attributeId ? attributeIndex + selectIndex : groupAttributes.length - selectIndexFromEnd;\n\n checked\n ? yield put(addAttributeAfter(groupId, getGroupAttributeIdAt(targetIndex - 1), selectedAttribute))\n : yield put(deleteAttribute(groupId, getGroupAttributeIdAt(targetIndex)));\n }\n}\n","import i18n from 'ui-i18n';\n\nimport {\n AuditAttrTypes,\n CollaborationAttrTypes,\n CrosswalksAttrTypes,\n EntityAttrTypes,\n PotentialMatchesAttrTypes,\n RdmAttrTypes,\n WorkflowAttrTypes\n} from '@reltio/mdm-sdk';\nimport {createDataTenantConfigPart, getOrderTypeByAttrType, getPageSizeByAttrType} from '../collectAttributes';\nimport {__, concat, evolve, identity, map, omit, pipe, propEq, T, values} from 'ramda';\n\nconst collectAttrTypesData = pipe(\n values,\n map((attrType) => ({\n title: attrType.label,\n fieldName: attrType.name,\n type: attrType.type,\n faceted: attrType.faceted,\n hideForDataTenant: attrType.hideForDataTenant\n }))\n);\n\nexport const entityAttributes = {\n id: 'entity',\n title: i18n.text('Entity'),\n attributes: collectAttrTypesData(EntityAttrTypes)\n};\n\nexport const workflowAttributes = {\n id: 'workflow',\n title: i18n.text('Workflow'),\n attributes: collectAttrTypesData(WorkflowAttrTypes)\n};\n\nexport const collaborationItemsAttributes = {\n id: 'collaborationItems',\n title: i18n.text('Collaboration Items'),\n attributes: collectAttrTypesData(CollaborationAttrTypes)\n};\n\nexport const RDMItemsAttributes = {\n id: 'RDMItems',\n title: i18n.text('Reference Data Management'),\n attributes: collectAttrTypesData(RdmAttrTypes)\n};\n\nexport const auditItemsAttributes = {\n id: 'auditItems',\n title: i18n.text('Audit Items'),\n attributes: collectAttrTypesData(AuditAttrTypes)\n};\n\nexport const potentialMatchesAttributes = {\n id: 'potentialMatches',\n title: i18n.text('Potential Matches'),\n attributes: collectAttrTypesData(PotentialMatchesAttrTypes)\n};\n\nexport const crosswalksItemsAttributes = {\n id: 'crosswalksItems',\n title: i18n.text('Crosswalks Items'),\n attributes: collectAttrTypesData(omit(['sourceTable'], CrosswalksAttrTypes))\n};\n\nconst getEntityAttributes = () => entityAttributes;\nconst getWorkflowAttributes = () => workflowAttributes;\nconst getCollaborationItemsAttributes = () => collaborationItemsAttributes;\nconst getRDMItemsAttributes = () => RDMItemsAttributes;\nconst getAuditItemsAttributes = () => auditItemsAttributes;\nconst getPotentialMatchesAttributes = (dataTenants) =>\n dataTenants\n ? evolve(\n {\n attributes: concat(\n __,\n dataTenants.map((dataTenant) => ({\n ...potentialMatchesAttributes.attributes.find(\n propEq('fieldName', PotentialMatchesAttrTypes.matches.name)\n ),\n dataTenant,\n fieldNameForRequest: 'dtPotentialMatches.matches',\n dataTenantFieldName: 'dtPotentialMatches.dataTenant'\n }))\n )\n },\n potentialMatchesAttributes\n )\n : potentialMatchesAttributes;\nconst getCrosswalksItemsAttributes = () => crosswalksItemsAttributes;\n\nexport const createSpecialAttributeItem = ({\n title,\n fieldName,\n dataTenant,\n fieldNameForRequest,\n dataTenantFieldName,\n ...attrType\n}) => {\n const facetedSpecificPart = attrType.faceted\n ? {\n pageSize: getPageSizeByAttrType(attrType),\n orderType: getOrderTypeByAttrType(attrType)\n }\n : {};\n const dataTenantPart = dataTenant\n ? createDataTenantConfigPart({\n dataTenant,\n fieldNameForRequest,\n dataTenantFieldName,\n originalTitle: title\n })\n : {};\n return {\n title,\n fieldName,\n attrType,\n ...facetedSpecificPart,\n ...dataTenantPart\n };\n};\n\nexport const createAttributesGroup = (id, title, attributes) =>\n attributes && attributes.length\n ? {\n id,\n title,\n attributes\n }\n : null;\n\nexport const collectSpecialAttributesGroups = ({\n attributesFilter = T,\n dataTenants,\n canUserReadWorkflowDataTask = true\n} = {}) => {\n const _createAttributesGroup = ({id, title, attributes}) =>\n createAttributesGroup(id, title, attributes.map(createSpecialAttributeItem).filter(attributesFilter));\n const attributesInitial = [\n getEntityAttributes(),\n ...(canUserReadWorkflowDataTask ? [getWorkflowAttributes()] : []),\n getCollaborationItemsAttributes(),\n getRDMItemsAttributes(),\n getAuditItemsAttributes(),\n getPotentialMatchesAttributes(dataTenants),\n getCrosswalksItemsAttributes()\n ];\n\n return attributesInitial.map(_createAttributesGroup).filter(identity);\n};\n\nexport const getSpecialAttribute = (fieldName, dataTenants, canUserReadWorkflowDataTask) => {\n const specialAttributeGroup = collectSpecialAttributesGroups({\n dataTenants,\n canUserReadWorkflowDataTask\n }).find((group) => group.attributes.find((attr) => attr.fieldName === fieldName));\n return specialAttributeGroup && specialAttributeGroup.attributes.find((attr) => attr.fieldName === fieldName);\n};\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React from \"react\";\nexport default (({\n styles = {},\n ...props\n}) => React.createElement(\"svg\", _extends({\n width: \"24\",\n height: \"24\",\n viewBox: \"0 0 24 24\",\n version: \"1.1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\"\n}, props), React.createElement(\"defs\", null, React.createElement(\"linearGradient\", {\n x1: \"94.582%\",\n y1: \"6.451%\",\n x2: \"23.195%\",\n y2: \"83.323%\",\n id: \"svg1842926308b\"\n}, React.createElement(\"stop\", {\n stopColor: \"#CDE1FF\",\n offset: \"0%\"\n}), React.createElement(\"stop\", {\n stopColor: \"#AFFBF4\",\n offset: \"100%\"\n})), React.createElement(\"linearGradient\", {\n x1: \"94.582%\",\n y1: \"6.594%\",\n x2: \"23.195%\",\n y2: \"83.214%\",\n id: \"svg1842926308d\"\n}, React.createElement(\"stop\", {\n stopColor: \"#FFF\",\n offset: \"0%\"\n}), React.createElement(\"stop\", {\n stopColor: \"#FDFFFF\",\n offset: \"100%\"\n})), React.createElement(\"linearGradient\", {\n x1: \"93.837%\",\n y1: \"55.274%\",\n x2: \"29.292%\",\n y2: \"-20.431%\",\n id: \"svg1842926308g\"\n}, React.createElement(\"stop\", {\n stopColor: \"#FFFCC7\",\n stopOpacity: \"0\",\n offset: \"0%\"\n}), React.createElement(\"stop\", {\n stopColor: \"#FFF470\",\n offset: \"100%\"\n})), React.createElement(\"linearGradient\", {\n x1: \"50%\",\n y1: \"0%\",\n x2: \"50%\",\n y2: \"98.152%\",\n id: \"svg1842926308i\"\n}, React.createElement(\"stop\", {\n stopColor: \"#83D6FF\",\n offset: \"0%\"\n}), React.createElement(\"stop\", {\n stopColor: \"#72B9EF\",\n offset: \"100%\"\n})), React.createElement(\"path\", {\n d: \"M.228 8.25l4.055-7.007C4.579.727 5.709.074 6.425.009L14.48.001c.633-.03 1.853.635 2.236 1.3l3.934 6.812c.398.69.345 2.074-.017 2.765l-3.868 6.685c-.472.64-1.77 1.39-2.446 1.416l-7.767.008c-.689-.033-1.992-.72-2.345-1.332L.232 10.769c-.338-.585-.278-1.938-.004-2.519z\",\n id: \"svg1842926308a\"\n}), React.createElement(\"path\", {\n d: \"M1.389 8.38l3.589-6.202c.262-.457 1.263-1.033 1.898-1.09h7.143c.56-.026 1.643.565 1.984 1.153l3.494 6.037c.353.611.308 1.837-.012 2.449l-3.424 5.916c-.418.567-1.569 1.23-2.168 1.252H7.006c-.61-.03-1.766-.64-2.08-1.182L1.395 10.61c-.3-.518-.249-1.717-.006-2.23z\",\n id: \"svg1842926308c\"\n}), React.createElement(\"path\", {\n d: \"M.124 0l-.161-.002c3.374 0 6.11 2.727 6.11 6.092 0 3.279-2.974 4.316-2.974 7.123a.84.84 0 01-.84.838H.123V8.623a1.75 1.75 0 000-3.437V0z\",\n id: \"svg1842926308e\"\n}), React.createElement(\"path\", {\n d: \"M5.92 0l-.012 5.154-.132.006A1.75 1.75 0 005.9 8.654l-.012 5.409H3.486c-.237-.07-.4-.155-.489-.254-.089-.098-.17-.284-.242-.557l-.291-1.341a2.084 2.084 0 00-.12-.344 1.507 1.507 0 00-.187-.267L.25 8.796a1.032 1.032 0 01-.201-.293 1.277 1.277 0 01-.048-.38V3.917a.522.522 0 01.027-.22.562.562 0 01.147-.172L3.546.111a.456.456 0 01.11-.088A.345.345 0 013.784 0h2.136z\",\n id: \"svg1842926308h\"\n})), React.createElement(\"g\", {\n stroke: \"none\",\n strokeWidth: \"1\",\n fill: \"none\",\n fillRule: \"evenodd\"\n}, React.createElement(\"g\", null, React.createElement(\"g\", {\n transform: \"translate(1.5 .75)\"\n}, React.createElement(\"use\", {\n fill: \"url(#svg1842926308b)\",\n xlinkHref: \"#svg1842926308a\"\n}), React.createElement(\"use\", {\n fill: \"url(#svg1842926308d)\",\n opacity: \".5\",\n xlinkHref: \"#svg1842926308c\"\n})), React.createElement(\"g\", {\n transform: \"translate(8.707 3.846)\"\n}, React.createElement(\"rect\", {\n fill: \"#363636\",\n x: \"1.932\",\n y: \"16.593\",\n width: \"2.644\",\n height: \"2.895\",\n rx: \"1.322\"\n}), React.createElement(\"path\", {\n d: \"M6.018 14.845v2.367c0 .9-.743 1.629-1.66 1.629H2.27c-.917 0-1.66-.73-1.66-1.63v-2.366l.004-.095h5.401c.002.031.003.063.003.095z\",\n fill: \"#717171\"\n}), React.createElement(\"path\", {\n d: \"M5.168 17.15c0 .9-.618 1.63-1.38 1.63H2.049c-.762 0-1.38-.73-1.38-1.63v-2.37h4.5v2.37z\",\n fill: \"#828282\"\n}), React.createElement(\"path\", {\n d: \"M5.939 17.28a.5.5 0 010 1H.569a.5.5 0 110-1h5.37zm0-1.376a.5.5 0 010 1H.569a.5.5 0 110-1h5.37zm0-1.375a.5.5 0 010 1H.569a.5.5 0 110-1h5.37z\",\n fill: \"#B1B1B1\"\n}), React.createElement(\"path\", {\n d: \"M3.125 17.28v1h-2v-1h2zm0-1.376v1h-2v-1h2zm0-1.375v1h-2v-1h2z\",\n fill: \"#C5C5C5\"\n}), React.createElement(\"g\", {\n transform: \"translate(3.375)\"\n}, React.createElement(\"mask\", {\n id: \"svg1842926308f\",\n fill: \"#fff\"\n}, React.createElement(\"use\", {\n xlinkHref: \"#svg1842926308e\"\n})), React.createElement(\"use\", {\n fill: \"#FFD44B\",\n xlinkHref: \"#svg1842926308e\"\n}), React.createElement(\"path\", {\n d: \"M-6.125 6.091A6.076 6.076 0 01-.025 0c3.367 0 6.098 2.727 6.098 6.091 0 3.279-2.969 4.316-2.969 7.123a.838.838 0 01-.839.837H-2.51a.838.838 0 01-.839-.837c0-2.562-2.775-3.73-2.775-7.123z\",\n fill: \"#FFD347\",\n mask: \"url(#svg1842926308f)\"\n}), React.createElement(\"path\", {\n d: \"M-6.125 6.091A6.076 6.076 0 01-.025 0c3.367 0 6.098 2.727 6.098 6.091 0 3.279-2.969 4.316-2.969 7.123a.838.838 0 01-.839.837H-2.51a.838.838 0 01-.839-.837c0-2.562-2.775-3.73-2.775-7.123z\",\n fill: \"#FFDE72\",\n mask: \"url(#svg1842926308f)\"\n}), React.createElement(\"path\", {\n d: \"M1.496 6.08c.02-.896.936-1.336 1.732-.85.906.553.507 2.04-.592 2.069H2.199l-.576 7.012-.75-.032.552-6.406.023-.574H.124v-.75h1.354l.017-.448v-.02zm1.342-.21c-.318-.193-.58-.072-.592.221l-.001.036-.016.422h.373c.357 0 .5-.493.252-.668l-.016-.01z\",\n fill: \"#F3BE13\",\n mask: \"url(#svg1842926308f)\"\n}), React.createElement(\"ellipse\", {\n fill: \"url(#svg1842926308g)\",\n mask: \"url(#svg1842926308f)\",\n cx: \"-.236\",\n cy: \"6.031\",\n rx: \"4.567\",\n ry: \"4.583\"\n})))), React.createElement(\"g\", null, React.createElement(\"g\", {\n transform: \"translate(5.706 3.846)\"\n}, React.createElement(\"mask\", {\n id: \"svg1842926308j\",\n fill: \"#fff\"\n}, React.createElement(\"use\", {\n xlinkHref: \"#svg1842926308h\"\n})), React.createElement(\"use\", {\n fill: \"url(#svg1842926308i)\",\n xlinkHref: \"#svg1842926308h\"\n}), React.createElement(\"path\", {\n fill: \"#D6FCFA\",\n fillRule: \"nonzero\",\n opacity: \".5\",\n mask: \"url(#svg1842926308j)\",\n d: \"M4.78 1.404v.75h-.444L1.56 4.93H-.706v-.75H1.25l2.775-2.776zM3.21 5.097l1.725 1.725H6.25v.75H4.625L2.68 5.628zM6.664 3.53v.75H4.958l-.492.53-.55-.51.714-.77zM1.781 6.53l2.565 2.564h.462v.75h-.773L1.47 7.28H-.08v-.75zM2.67 10.53h1.118L5.05 11.79h2.094v.75H4.74L3.477 11.28z\"\n}))), React.createElement(\"circle\", {\n fill: \"#008FD8\",\n cx: \"11.75\",\n cy: \"10.75\",\n r: \"1.125\"\n}))));","import {\n allPass,\n always,\n anyPass,\n chain,\n complement,\n curry,\n either,\n flatten,\n identity,\n isEmpty,\n pipe,\n prop,\n propEq,\n T\n} from 'ramda';\nimport memoizeOne from 'memoize-one';\n\nimport i18n from 'ui-i18n';\nimport MLRecommendedIcon from './icons/ml-recommended.svg';\nimport {prepareAttrUriForSearch} from './searchEngine';\nimport {DEFAULT_FACET_PAGE_SIZE} from '../../constants/constants';\nimport {\n findClosestCommonAncestor,\n getAllAttributeTypesTree,\n getAttributeTypeSubAttributes,\n getDataTenantSpecialAttributeFieldName,\n getEntityType,\n getEntityTypeLabel,\n getFacetTypeForAttrType,\n hasMatchRulesWithoutML,\n hasMlMatchRule,\n isAvailableEntityType,\n isComplexAttribute,\n SpecialAttrTypes\n} from '@reltio/mdm-sdk';\nimport {createAttributesGroup} from './advancedSearch/collectSpecialAttributes';\n\nexport const createFacetForSpecialAttrType = (attrType, facetProps) => ({\n title: attrType.label,\n fieldName: attrType.name,\n type: getFacetTypeForAttrType(attrType),\n attrType: {\n type: attrType.type,\n singleValue: attrType.singleValue,\n hideForDataTenant: attrType.hideForDataTenant,\n faceted: true\n },\n ...facetProps\n});\n\nexport const createDataTenantConfigPart = ({dataTenant, fieldNameForRequest, dataTenantFieldName, originalTitle}) => ({\n fieldName: getDataTenantSpecialAttributeFieldName(fieldNameForRequest, dataTenant.id),\n fieldNameForRequest,\n dataTenant: dataTenant.id,\n dataTenantFieldName,\n title: `${dataTenant.label} ${originalTitle}`\n});\n\nconst additionalAttributesRules = [\n {\n attribute: createFacetForSpecialAttrType(SpecialAttrTypes.matchRules, {\n pageSize: DEFAULT_FACET_PAGE_SIZE,\n orderType: 'reversedCount'\n }),\n check: hasMatchRulesWithoutML\n },\n {\n attribute: createFacetForSpecialAttrType(SpecialAttrTypes.MLRecommendedMatch, {\n fieldNameForRequest: 'matchRules',\n pageSize: DEFAULT_FACET_PAGE_SIZE,\n orderType: 'reversedCount',\n LogoIcon: MLRecommendedIcon\n }),\n check: hasMlMatchRule\n }\n];\n\nexport const getAdditionalAttributes = curry((dataTenants, entityType) => {\n const additionalAttributes = additionalAttributesRules.reduce((attributes, {attribute, check}) => {\n check(entityType) && attributes.push({...attribute, entityTypeUri: entityType.uri});\n return attributes;\n }, []);\n const dataTenantAdditionalAttributes = (dataTenants || []).flatMap((dataTenant) =>\n additionalAttributes\n .filter(propEq('fieldName', SpecialAttrTypes.matchRules.name))\n .map((additionalAttribute) => ({\n ...additionalAttribute,\n ...createDataTenantConfigPart({\n dataTenant,\n fieldNameForRequest: 'dtPotentialMatches.matchRules',\n dataTenantFieldName: 'dtPotentialMatches.dataTenant',\n originalTitle: additionalAttribute.title\n })\n }))\n );\n return additionalAttributes.concat(dataTenantAdditionalAttributes);\n});\n\nexport const getPageSizeByAttrType = (attrType = {}) => {\n switch (attrType.type) {\n case 'Int':\n case 'Float':\n case 'Double':\n case 'Long':\n case 'Number':\n case 'Date':\n case 'ActivenessDate':\n case 'Timestamp':\n return 1;\n default:\n return DEFAULT_FACET_PAGE_SIZE;\n }\n};\n\nexport const getOrderTypeByAttrType = (attrType = {}) => {\n switch (attrType.type) {\n case 'Int':\n case 'Float':\n case 'Double':\n case 'Long':\n case 'Number':\n case 'Date':\n case 'ActivenessDate':\n case 'Timestamp':\n return 'reversedTerm';\n default:\n return 'reversedCount';\n }\n};\n\nexport const getDisableIncludeFilterByAttrType = (attrType = {}) => {\n switch (attrType.type) {\n case 'Int':\n case 'Float':\n case 'Double':\n case 'Long':\n case 'Number':\n case 'Date':\n case 'ActivenessDate':\n case 'Timestamp':\n return true;\n default:\n return false;\n }\n};\n\nconst isFaceted = curry((metadata, attrType) => {\n if (isComplexAttribute(attrType)) {\n const attributes = getAttributeTypeSubAttributes(metadata, attrType);\n return attributes.some(isFaceted(metadata));\n } else {\n return !!attrType.faceted;\n }\n});\n\nexport const getChildrenAttributes = (entity = []) => {\n return (entity.children\n ? entity.children.concat(entity.children.map(getChildrenAttributes)).flat(Infinity)\n : []\n ).filter(complement(isEmpty));\n};\n\nexport const createComplexAttributesConfig = (\n metadata,\n attrNode,\n entityTypeUri,\n fieldName,\n createAttributeConfig,\n parents = []\n) => {\n const resConfig = {\n ...createAttributeConfig(metadata, attrNode, entityTypeUri, fieldName, parents),\n uri: attrNode.uri\n };\n const children = attrNode.children\n ? attrNode.children.map((childNode) =>\n createComplexAttributesConfig(\n metadata,\n childNode,\n entityTypeUri,\n '',\n createAttributeConfig,\n parents.concat({name: attrNode.name, label: attrNode.label})\n )\n )\n : [];\n\n if (children.length) resConfig.children = children;\n\n return resConfig;\n};\n\nexport const createAttributeItem = (metadata, attrType, entityTypeUri, fieldName, parents) => {\n const entityTypeLabel = getEntityTypeLabel(metadata, {type: entityTypeUri});\n const title = attrType.label || attrType.name;\n return {\n title: title,\n pathToTitle: Array.isArray(parents)\n ? [entityTypeLabel, ...chain(prop('label'), parents), title]\n : [entityTypeLabel, title],\n fieldName: fieldName || prepareAttrUriForSearch(attrType.uri, parents),\n entityTypeUri: entityTypeUri,\n attrType: attrType,\n pageSize: getPageSizeByAttrType(attrType),\n orderType: getOrderTypeByAttrType(attrType),\n isComplex: isComplexAttribute(attrType),\n disableIncludeFilter: getDisableIncludeFilterByAttrType(attrType)\n };\n};\n\nexport const getAttributesTree = (metadata, entityOrAttrType, filterFaceted = true) => {\n return getAllAttributeTypesTree(metadata, entityOrAttrType, either(always(!filterFaceted), isFaceted(metadata)));\n};\n\nexport const collectAttributeGroups = memoizeOne(\n (\n metadata,\n selectedEntityTypes = [],\n createGroup,\n createAttributeConfig,\n filterFaceted = true,\n onlyOneSelectedEntityType = true,\n dataTenants\n ) => {\n const inSelectedTypes = (value) => selectedEntityTypes.includes(value);\n const isOnlyOneSelected = () => onlyOneSelectedEntityType;\n const isOnlyOneSelectedReceived = () => propEq('length', 1, selectedEntityTypes);\n const {entityTypes} = metadata;\n\n return entityTypes\n .filter(isAvailableEntityType)\n .filter(\n anyPass([\n always(!selectedEntityTypes.length),\n allPass([isOnlyOneSelected, isOnlyOneSelectedReceived, propEq('uri', selectedEntityTypes[0])]),\n allPass([complement(isOnlyOneSelected), pipe(prop('uri'), inSelectedTypes)])\n ])\n )\n .map((entityType) => {\n const title = getEntityTypeLabel(metadata, {type: entityType.uri});\n\n const complexAttributes = getAdditionalAttributes(dataTenants, entityType).concat(\n getAttributesTree(metadata, entityType, filterFaceted).map((attrNode) =>\n createComplexAttributesConfig(metadata, attrNode, entityType.uri, '', createAttributeConfig)\n )\n );\n\n return complexAttributes.length ? createGroup(entityType.uri, title, complexAttributes) : null;\n })\n .filter(identity);\n }\n);\n\nexport const collectAdvancedAttributeGroups = memoizeOne(\n (metadata, selectedEntityTypes = [], attributesFilter = T, dataTenants) => {\n if (selectedEntityTypes.length === 0) {\n return collectAttributeGroups(\n metadata,\n undefined,\n createAttributesGroup,\n createAttributeItem,\n false,\n true,\n dataTenants\n );\n }\n\n const groups = [];\n const entityTypeUri =\n selectedEntityTypes.length > 1\n ? findClosestCommonAncestor(metadata, selectedEntityTypes)\n : selectedEntityTypes[0];\n\n if (entityTypeUri) {\n const entityType = getEntityType(metadata, entityTypeUri);\n const title =\n selectedEntityTypes.length > 1\n ? i18n.text('Attributes')\n : getEntityTypeLabel(metadata, {type: entityType.uri});\n\n const additionalAttributes = getAdditionalAttributes(dataTenants, entityType).filter(attributesFilter);\n const complexAttributes = additionalAttributes.concat(\n getAttributesTree(metadata, entityType, false).map((attrNode) =>\n createComplexAttributesConfig(metadata, attrNode, entityType.uri, '', createAttributeItem)\n )\n );\n if (complexAttributes.length) {\n groups.push(createAttributesGroup(entityType.uri, title, complexAttributes));\n }\n }\n\n return groups;\n }\n);\n\n//TODO: move to uisdk? Duplicates packages/components/src/components/VirtualGroupedList/helpers.js\nexport const flattenGroupedItemsData = (groupedItems) => {\n const getFlattenedItems = (items) =>\n flatten(items.map((item) => [item].concat(item.items ? getFlattenedItems(item.items) : [])));\n\n let titleItemIndex = null;\n const items = getFlattenedItems(groupedItems).map((item, index) => {\n if (item && item.items) {\n titleItemIndex = index;\n }\n return {item, index, titleItemIndex};\n });\n return items;\n};\n","import {\n chain,\n curry,\n identity,\n intersection,\n is,\n isNil,\n map,\n memoizeWith,\n pipe,\n prop,\n propEq,\n propOr,\n reject,\n toString,\n when\n} from 'ramda';\nimport i18n from 'ui-i18n';\nimport {DEFAULT_FACET_PAGE_SIZE} from '../../constants/constants';\nimport {\n FACET_TYPES,\n getDataTenantSpecialAttributeFieldName,\n getFacetTypeForAttrType,\n isLookupAttrType,\n SpecialAttrTypes\n} from '@reltio/mdm-sdk';\nimport {\n collectAttributeGroups,\n createAttributeItem,\n createDataTenantConfigPart,\n createFacetForSpecialAttrType\n} from './collectAttributes.js';\nimport {getChildrenAttributes} from './collectAttributes';\nimport {envSpecificKey} from '../../utils/general';\n\nexport const getEntityTypeFacetConfig = (_metadata) =>\n createFacetForSpecialAttrType(SpecialAttrTypes.type, {\n hiddenTitle: i18n.text('Entity types'),\n disableIncludeFilter: true,\n pageSize: 101,\n showIcon: true,\n barColor: '#61D55D',\n transparentBackground: true,\n showDeleteButton: false\n });\n\nconst potentialMatchesFacetConfig = createFacetForSpecialAttrType(SpecialAttrTypes.matches, {\n pageSize: 1,\n orderType: 'reversedTerm',\n disableIncludeFilter: true\n});\n\nexport const specialFacets = [\n createFacetForSpecialAttrType(SpecialAttrTypes.createdBy, {\n pageSize: DEFAULT_FACET_PAGE_SIZE\n }),\n createFacetForSpecialAttrType(SpecialAttrTypes.updatedBy, {\n pageSize: DEFAULT_FACET_PAGE_SIZE\n }),\n createFacetForSpecialAttrType(SpecialAttrTypes.createdTime, {\n disableIncludeFilter: true,\n pageSize: 1,\n orderType: 'reversedTerm'\n }),\n createFacetForSpecialAttrType(SpecialAttrTypes.updatedTime, {\n disableIncludeFilter: true,\n pageSize: 1,\n orderType: 'reversedTerm'\n }),\n createFacetForSpecialAttrType(SpecialAttrTypes.sourceSystems, {\n title: i18n.text('Sources'),\n pageSize: DEFAULT_FACET_PAGE_SIZE,\n orderType: 'reversedCount'\n }),\n createFacetForSpecialAttrType(SpecialAttrTypes.tags, {\n pageSize: DEFAULT_FACET_PAGE_SIZE,\n orderType: 'reversedCount'\n }),\n createFacetForSpecialAttrType(SpecialAttrTypes.roles, {\n pageSize: DEFAULT_FACET_PAGE_SIZE,\n orderType: 'reversedCount'\n }),\n potentialMatchesFacetConfig,\n createFacetForSpecialAttrType(SpecialAttrTypes.matchScore, {\n pageSize: 1,\n orderType: 'reversedTerm',\n disableIncludeFilter: true\n }),\n createFacetForSpecialAttrType(SpecialAttrTypes.startDate, {\n pageSize: 1,\n orderType: 'reversedTerm',\n disableIncludeFilter: true\n }),\n createFacetForSpecialAttrType(SpecialAttrTypes.endDate, {\n pageSize: 1,\n orderType: 'reversedTerm',\n disableIncludeFilter: true\n })\n];\n\nexport const getSpecialFacets = (dataTenants) => {\n const dataTenantFacets = (dataTenants || []).map((dataTenant) => ({\n ...potentialMatchesFacetConfig,\n ...createDataTenantConfigPart({\n dataTenant,\n fieldNameForRequest: 'dtPotentialMatches.matches',\n dataTenantFieldName: 'dtPotentialMatches.dataTenant',\n originalTitle: potentialMatchesFacetConfig.title\n })\n }));\n return specialFacets.concat(dataTenantFacets);\n};\n\nexport const createAttributeFacetConfig = (metadata, attrType, entityTypeUri, fieldName, parents) => {\n return {\n ...createAttributeItem(metadata, attrType, entityTypeUri, fieldName, parents),\n uri: attrType.uri,\n type: getFacetTypeForAttrType(attrType)\n };\n};\n\nconst collectAttributeFacetsGroups = (metadata, selectedEntityTypes = [], dataTenants) => {\n return collectAttributeGroups(\n metadata,\n selectedEntityTypes,\n createFacetsGroup,\n createAttributeFacetConfig,\n true,\n true,\n dataTenants\n );\n};\n\nconst memoizedCollectAttributeFacetsGroups = memoizeWith(\n (metadata, selectedEntityTypes = [], dataTenants) =>\n envSpecificKey(selectedEntityTypes.toString() + (dataTenants || []).map(prop('id')).toString()),\n collectAttributeFacetsGroups\n);\n\nconst createFacetsGroup = (id, title, facets, needGroupIcon = true) => {\n return facets && facets.length\n ? {\n id,\n title,\n needGroupIcon,\n facets\n }\n : null;\n};\n\nexport const collectFacetsList = (metadata, selectedEntityTypes, recommendedFacets = [], dataTenants) => {\n const onlyOneEntityTypeSelected = selectedEntityTypes.length === 1;\n const specialFacets = getSpecialFacets(dataTenants);\n const specialGroup = createFacetsGroup('special', i18n.text('Basic'), specialFacets, false);\n const entityTypesGroup = memoizedCollectAttributeFacetsGroups(metadata, selectedEntityTypes, dataTenants);\n const entityTypesFacets = chain(prop('facets'), entityTypesGroup);\n const recommendedFacetsConfigs = pipe(\n map(findFacetConfigByFieldName([...specialFacets, ...entityTypesFacets])),\n reject(isNil)\n )(recommendedFacets);\n\n return [createFacetsGroup('recommended', i18n.text('Recommended'), recommendedFacetsConfigs, false)]\n .concat(onlyOneEntityTypeSelected ? entityTypesGroup : specialGroup)\n .concat(onlyOneEntityTypeSelected ? specialGroup : entityTypesGroup)\n .filter(identity);\n};\n\nexport const findFacetConfigByFieldName = curry((facetConfigs, fieldName) => {\n const facetConfig = facetConfigs.find(propEq('fieldName', fieldName));\n if (!facetConfig) {\n const children = chain(propOr([], 'children'), facetConfigs);\n return children.length ? findFacetConfigByFieldName(children, fieldName) : undefined;\n } else {\n return facetConfig;\n }\n});\n\nconst flattenChildrenForEntityTypeConfigs = (entityTypeConfig) => ({\n ...entityTypeConfig,\n facets: entityTypeConfig.facets.reduce((facetConfigs, facetConfig) => {\n facetConfigs.push(facetConfig);\n facetConfig.children && facetConfigs.push(...getChildrenAttributes(facetConfig));\n return facetConfigs;\n }, [])\n});\n\nexport const getAvailableFacetsGroupsList = (metadata, selectedEntityTypes, dataTenants) =>\n collectFacetsList(metadata, selectedEntityTypes, [], dataTenants).map(flattenChildrenForEntityTypeConfigs);\n\nconst getFlatFacets = (facet) => (facet.children ? [facet].concat(facet.children.flatMap(getFlatFacets)) : [facet]);\n\nexport const collectFacetsFlatList = (metadata, selectedEntityTypes, recommendedFacets, dataTenants) => {\n return collectFacetsList(metadata, selectedEntityTypes, recommendedFacets, dataTenants)\n .flatMap((facetGroup) => facetGroup.facets)\n .flatMap(getFlatFacets);\n};\n\nexport const prepareFacetDataForStore = (fieldName, {values = [], showAllItems} = {}) =>\n reject(isNil, {\n fieldName: fieldName,\n data: [],\n values: values && values.map(when(is(Boolean), toString)),\n showAllItems\n });\n\nexport const isComplexFacet = (config) => config.type === FACET_TYPES.COMPLEX_FACET;\n\nexport const isLookupFacet = (facet) => facet.attrType && isLookupAttrType(facet.attrType);\n\nexport const isPotentialMatchesFacet = (facet) =>\n facet.fieldName === 'matches' ||\n facet.fieldName === 'potentialMatches.matchScore' ||\n facet.fieldName.startsWith(getDataTenantSpecialAttributeFieldName('dtPotentialMatches.matches', ''));\n\nexport const isMatchRuleFacet = (facet) =>\n intersection(['matchRules', 'dtPotentialMatches.matchRules'], [facet.fieldNameForRequest, facet.fieldName]).length >\n 0;\n\nexport const isMLMatchRuleFacet = (facet) => facet.fieldName === 'MLRecommendedMatch';\n\nexport const isDataTenantFacet = (facet) => !!facet.dataTenant;\n","import {filter, isEmpty, not, partition, path, pick, pipe, prop} from 'ramda';\nimport {nanoid} from 'nanoid';\nimport memoizeOne from 'memoize-one';\nimport {collectSpecialAttributesGroups} from '../advancedSearch/collectSpecialAttributes';\nimport {\n getEntityTypeLabel,\n getFilterOptionForFacet,\n getFilterValueForFacet,\n isTypeFacet,\n getFilterOptionsForQueryBuilder\n} from '@reltio/mdm-sdk';\nimport {defaultGroupOperator} from '../../../constants/constants';\n\nconst getValuableFacets = filter(pipe(prop('values'), isEmpty, not));\n\nconst memoizedCollectSpecialAttributesGroups = memoizeOne((dataTenants) =>\n collectSpecialAttributesGroups({dataTenants})\n);\n\nexport const getGroupTitle = (metadata, dataTenants, data) => {\n return (\n getEntityTypeLabel(metadata, {type: data.entityTypeUri}) ||\n (\n memoizedCollectSpecialAttributesGroups(dataTenants).find((group) =>\n group.attributes.find((attr) => attr.fieldName === data.fieldName)\n ) || {}\n ).title\n );\n};\n\nexport const createAdvancedSearchGroupFromFacets = (metadata, dataTenants, facetsWithConfigs) => {\n const facetsToConvert = getValuableFacets(facetsWithConfigs);\n\n const [[typeFacet = {}], restFacets] = partition(isTypeFacet, facetsToConvert);\n\n const attributes = restFacets.reduce(\n (attributesList, facet) => {\n const filterOptions = getFilterOptionsForQueryBuilder(facet.attrType, facet.fieldName);\n const filter = getFilterOptionForFacet(facet);\n const dataFromFacet = pick([\n 'title',\n 'pathToTitle',\n 'fieldName',\n 'fieldNameForRequest',\n 'dataTenant',\n 'dataTenantFieldName',\n 'attrType',\n 'groupName',\n 'entityTypeUri',\n 'pageSize',\n 'orderType',\n 'isComplex',\n 'disableIncludeFilter',\n 'uri'\n ])(facet);\n\n const data = {\n ...dataFromFacet,\n groupName: getGroupTitle(metadata, dataTenants, dataFromFacet),\n filterOptions\n };\n\n const values = getFilterValueForFacet(facet);\n\n attributesList[0].push({\n data,\n operator: 'and',\n filter,\n id: nanoid(),\n values\n });\n\n return attributesList;\n },\n [[]]\n );\n\n return attributes\n .filter((attributeList) => attributeList.length || path(['values', 'length'], typeFacet))\n .map((attributeList) => ({\n attributes: attributeList,\n operator: defaultGroupOperator.value,\n id: nanoid(),\n entityTypes: typeFacet.values || []\n }));\n};\n","import {any, complement, filter, map, pipe, prop, propOr} from 'ramda';\n\nimport {isAvailableEntityType} from '@reltio/mdm-sdk';\n\nexport const hasNotAvailableEntityTypes = pipe(propOr([], 'entityTypes'), any(complement(isAvailableEntityType)));\n\nexport const getAvailableEntityTypesUris = pipe(\n propOr([], 'entityTypes'),\n filter(isAvailableEntityType),\n map(prop('uri'))\n);\n\nexport const addAvailableEntityTypesIfNeeded = (metadata, entityTypes = []) =>\n entityTypes.length === 0 && hasNotAvailableEntityTypes(metadata)\n ? getAvailableEntityTypesUris(metadata)\n : entityTypes;\n\nexport const removeNumberForDtssUnavailableEntityTypeItems = (items, tenantObject) => {\n if (tenantObject && Array.isArray(tenantObject.availableEntityTypes)) {\n return items.map((item) => {\n if (!tenantObject.availableEntityTypes.includes(item.value)) {\n return {...item, number: undefined};\n }\n return item;\n });\n }\n return items;\n};\n","import {\n __,\n anyPass,\n curry,\n either,\n filter,\n find,\n flatten,\n gt,\n identity,\n ifElse,\n length,\n map,\n path,\n pipe,\n prop,\n propEq,\n propOr,\n uniqBy,\n when\n} from 'ramda';\nimport {Decimal} from 'decimal.js';\nimport {\n getAttrTypeLookupCode,\n getEntityType,\n getEntityTypeLabel,\n getLastUriPart,\n getLookupLabel,\n getUnresolvedLookupsList,\n isAvailableEntityType,\n isEnumAttrType,\n Maybe,\n mergeLookupsLists,\n orderByArrayComparator,\n isTypeFacet,\n FACET_TYPES,\n formatDataTypeValue,\n getAttrDataTypeDefinition,\n isBooleanType,\n DataTypes\n} from '@reltio/mdm-sdk';\n\nimport {formatNumberAsMetric} from '../../utils/general';\nimport {isLookupFacet, isMatchRuleFacet} from './collectFacets';\nimport {\n DATE_RANGE_MAX_VALUE,\n DATE_RANGE_MIN_VALUE,\n ENTITY_TYPE_FACET_ROW_COUNT,\n NUMERIC_RANGE_MAX_VALUE,\n NUMERIC_RANGE_MIN_VALUE\n} from '../../constants/constants';\nimport {createRangeServiceFor} from './rangeFacet';\nimport {addAvailableEntityTypesIfNeeded} from './entityTypes';\nimport {Facets, Search} from '../../constants/actionTypes';\n\nexport const findConfigByFieldName = (fieldName, configs) => {\n const config = configs.find((config) => [config.fieldName, `${config.fieldName}.ov`].includes(fieldName));\n if (config) {\n return config;\n } else {\n console.warn(`Can't find facet config for ${fieldName} fieldName`);\n return null;\n }\n};\n\nexport const prepareFacets = (metadata, facets, attributes, lookupsCodes, viewConfig) => {\n return Object.keys(facets).reduce((result, fieldName) => {\n const attribute = findConfigByFieldName(fieldName, attributes);\n if (attribute) {\n const realFieldName = attribute.fieldName;\n result[realFieldName] = prepareFacet(\n metadata,\n realFieldName,\n facets[fieldName],\n attribute,\n lookupsCodes,\n viewConfig\n );\n }\n return result;\n }, {});\n};\n\nexport const prepareStatsFacet = (facets, attributes) => {\n return Object.keys(facets).reduce((result, fieldName) => {\n const attribute = findConfigByFieldName(fieldName, attributes);\n if (attribute) {\n result[attribute.fieldName] = statsProcessing(\n facets[fieldName],\n attribute.attrType && attribute.attrType.type\n );\n }\n return result;\n }, {});\n};\n\nconst sortByNumber = (a, b) => b.number - a.number;\nconst numberMoreThanZero = ({number}) => number > 0;\nconst configHasValue =\n ({values = []}) =>\n ({value}) =>\n values.includes(value);\nconst specialFacetsFilter = (config) => either(numberMoreThanZero, configHasValue(config));\nexport const isMetadataSourcedFacetedAttribute = anyPass([\n isMatchRuleFacet,\n propEq('fieldName', 'sourceSystems'),\n propEq('fieldName', 'roles'),\n pipe(prop('attrType'), isEnumAttrType)\n]);\n\nconst defaultProcessing = (rawData) =>\n Object.keys(rawData)\n .map((key) => ({\n value: key,\n number: rawData[key],\n label: key\n }))\n .sort(sortByNumber);\n\nconst numericRangeTypeProcessing = (rawData, type) =>\n Object.keys(rawData).map((key) => ({\n value: type === 'Long' ? new Decimal(key) : +key,\n number: rawData[key],\n label: key\n }));\n\nconst lookupProcessing = (rawData, lookupCode) => {\n return defaultProcessing(rawData).map((data) => ({\n ...data,\n label: getLookupLabel(data.value, path([data.value, 'displayName'], lookupCode))\n }));\n};\n\nconst enumProcessing = (rawData, enumerationList) => {\n return enumerationList\n .map((value) => ({\n value,\n label: value,\n number: rawData[value] || 0\n }))\n .sort(sortByNumber);\n};\n\nconst booleanProcessing = (rawData, dataTypeDefinition) => {\n return Object.keys(rawData)\n .map((key) => ({\n value: key,\n number: rawData[key],\n label: formatDataTypeValue({dataTypeDefinition}, key)\n }))\n .sort(sortByNumber);\n};\n\nexport const entityTypeProcessing = (metadata, rawData, allowedEntityTypes) => {\n const {entityTypes} = metadata;\n return entityTypes\n .filter(allowedEntityTypes ? ({uri}) => allowedEntityTypes.includes(uri) : identity)\n .sort(allowedEntityTypes ? orderByArrayComparator(allowedEntityTypes, 'uri') : (_) => 0)\n .map((entityType) => {\n const lastUriPart = getLastUriPart(entityType.uri);\n return isAvailableEntityType(entityType)\n ? {\n value: entityType.uri,\n number: rawData[lastUriPart] || 0,\n label: getEntityTypeLabel(metadata, {type: entityType.uri}) || lastUriPart\n }\n : null;\n })\n .filter(identity);\n};\n\nconst roleProcessing = (metadata, rawData, attribute) => {\n const {roles} = metadata;\n return roles\n .map((role) => {\n const lastUriPart = getLastUriPart(role.uri);\n return {\n value: role.uri,\n label: role.label,\n number: rawData[lastUriPart] || 0\n };\n })\n .filter(specialFacetsFilter(attribute))\n .sort(sortByNumber);\n};\n\nconst sourceSystemsProcessing = (metadata, rawData, attribute) => {\n const {sources} = metadata;\n\n return sources\n .map((source) => {\n const lastUriPart = getLastUriPart(source.uri);\n return {\n value: lastUriPart,\n number: rawData[lastUriPart] || 0,\n label: source.label || lastUriPart\n };\n })\n .filter(specialFacetsFilter(attribute))\n .sort(sortByNumber);\n};\n\nconst matchRulesProcessing = (metadata, rawData, attribute) => {\n const entityType = getEntityType(metadata, attribute.entityTypeUri);\n const matchGroups = (entityType && entityType.matchGroups) || [];\n\n return uniqBy(prop('value'), [\n ...matchGroups.map(({uri, label}) => ({\n isRaw: false,\n value: uri,\n number: rawData[uri] || 0,\n label: label || uri\n })),\n ...Object.entries(rawData).map(([uriOrLabel, count]) => {\n const matchGroup = find(propEq('uri', uriOrLabel))(matchGroups);\n const isRaw = !matchGroup;\n\n return {\n value: uriOrLabel,\n number: count,\n label: isRaw ? uriOrLabel : matchGroup.label,\n isRaw\n };\n })\n ])\n .filter(specialFacetsFilter(attribute))\n .sort(sortByNumber);\n};\n\nexport const statsProcessing = (rawData, type) => {\n const {min, max, count} = rawData;\n return {\n min: type === 'Long' ? new Decimal(min) : +min,\n max: type === 'Long' ? new Decimal(max) : +max,\n count\n };\n};\n\nconst prepareFacet = (metadata, fieldName, rawData, attribute, lookupsCodes = {}, viewConfig = {}) => {\n switch (fieldName) {\n case 'type': {\n const {allowedEntityTypes} = viewConfig;\n return entityTypeProcessing(metadata, rawData, allowedEntityTypes);\n }\n case 'roles':\n return roleProcessing(metadata, rawData, attribute);\n case 'sourceSystems':\n return sourceSystemsProcessing(metadata, rawData, attribute);\n }\n if (isMatchRuleFacet(attribute)) {\n return matchRulesProcessing(metadata, rawData, attribute);\n }\n if (isLookupFacet(attribute)) {\n return lookupProcessing(rawData, lookupsCodes[getAttrTypeLookupCode(attribute.attrType)]);\n }\n if (isEnumAttrType(attribute.attrType)) {\n return enumProcessing(rawData, path(['attrType', 'values'], attribute));\n }\n if (isBooleanType(attribute.attrType?.type)) {\n return booleanProcessing(rawData, getAttrDataTypeDefinition(attribute.attrType));\n }\n switch (attribute.type) {\n case FACET_TYPES.NUMERIC_RANGE_FACET:\n case FACET_TYPES.DATE_RANGE_FACET:\n return numericRangeTypeProcessing(rawData, attribute.attrType && attribute.attrType.type);\n default:\n return defaultProcessing(rawData);\n }\n};\n\nexport const getDefaultRangeByType = (facetType) => {\n switch (facetType) {\n case FACET_TYPES.DATE_RANGE_FACET:\n return [DATE_RANGE_MIN_VALUE, DATE_RANGE_MAX_VALUE];\n case FACET_TYPES.NUMERIC_RANGE_FACET:\n default:\n return [NUMERIC_RANGE_MIN_VALUE, NUMERIC_RANGE_MAX_VALUE];\n }\n};\n\nexport const fixNaNValues = curry((defaultValue, facets) => {\n Object.values(facets).map((facet) =>\n facet.filter((item) => isNaN(item.value)).forEach((item) => (item.value = defaultValue))\n );\n return facets;\n});\n\nexport const fixNaNValue = (defaultValue, facetValue) => {\n return isNaN(facetValue) ? defaultValue : facetValue;\n};\n\nexport const getFacetByFieldName = (fieldName, facets) =>\n facets.find((facet) => facet.fieldName === fieldName || facet.fieldNameForRequest === fieldName);\n\nexport const getAcceptedFacetValues = (facetData, acceptedValues) =>\n Object.keys(facetData)\n .filter((value) => acceptedValues.includes(value))\n .reduce((acc, value) => {\n acc[value] = facetData[value];\n return acc;\n }, {});\n\nexport const mergeConfigs = (facets, configsArray) => {\n const configs = configsArray.reduce((result, config) => {\n result[config.fieldName] = config;\n return result;\n }, {});\n return Object.keys(facets).reduce((result, fieldName) => {\n const config = configs[fieldName];\n result[fieldName] = {...facets[fieldName], ...config};\n return result;\n }, {});\n};\n\nexport const setFiltersToFacets = (facets) =>\n Object.keys(facets).reduce((result, fieldName) => {\n result[fieldName] = {...facets[fieldName], filter: facetTypeToFilter(facets[fieldName].type)};\n return result;\n }, {});\n\nexport const addAvailableEntityTypeValues = (metadata) =>\n map(\n ifElse(\n isTypeFacet,\n (facet) => ({\n ...facet,\n values: addAvailableEntityTypesIfNeeded(metadata, facet.values)\n }),\n identity\n )\n );\n\nexport const filterAllowedEntityTypes = (allowedEntityTypes) =>\n map(\n when(isTypeFacet, (facet) => ({\n ...facet,\n values:\n allowedEntityTypes && allowedEntityTypes.length > 0\n ? facet.values\n .filter((value) => allowedEntityTypes.includes(value))\n .sort(orderByArrayComparator(allowedEntityTypes))\n : facet.values\n }))\n );\n\nexport const getEntityTypeFacetFromState = path(['facets', 'facetsData', 'type']);\n\nconst facetTypeToFilter = (type) =>\n ({\n entityTypeFacet: 'equals',\n facetWithDropdownCheckboxes: 'equals',\n numericRangeFacet: 'range',\n dateRangeFacet: 'range'\n }[type]);\n\nexport const needFacetsCleanUp = (action = {}) => {\n const isTypeFacetAction = path(['payload', 'facetFieldName'], action) === 'type';\n return (\n (action.type === Facets.CHANGE_VALUES && isTypeFacetAction) ||\n action.type === Facets.CLEAR_ALL_VALUES ||\n action.type === Search.CLEAR_ALL\n );\n};\n\nexport const buildValuesLabels = (data = [], values = [], type = '', masks = {}) => {\n const {dateTimeMask, dateMask} = masks;\n const formatValue = formatDataTypeValue({\n dataTypeDefinition: {type: DataTypes.TYPE_LOCAL_DATE},\n dateMask,\n dateTimeMask\n });\n return values.map((value) => {\n let range;\n switch (type) {\n case FACET_TYPES.NUMERIC_RANGE_FACET:\n return `${formatNumberAsMetric(+value[0], 10000)} — ${formatNumberAsMetric(+value[1], 10000)}`;\n case FACET_TYPES.DATE_RANGE_FACET:\n range = createRangeServiceFor().getRange(values, data);\n return `${formatValue(range[0])} \\u2014 ${formatValue(range[1])}`;\n case FACET_TYPES.ENTITY_TYPE_FACET:\n case FACET_TYPES.WITH_DROPDOWN_CHECKBOXES_FACET:\n default:\n return Maybe.fromNull(data.find((item) => item.value === value)).orSome({label: value || ''}).label;\n }\n });\n};\n\nexport const needShowAllEntityTypeFacetItems = pipe(propOr([], 'values'), length, gt(__, ENTITY_TYPE_FACET_ROW_COUNT));\nexport const getLookupsListFromFacets = pipe(\n pipe(\n filter(isLookupFacet),\n map((facet) => ({\n type: getAttrTypeLookupCode(path(['attrType'], facet)),\n codeValues: flatten(propOr([], 'values', facet))\n })),\n filter(({codeValues}) => codeValues.length > 0)\n ),\n mergeLookupsLists\n);\n\nexport const getUnresolvedLookupsListFromFacet = (facets, resolvedLookups) =>\n pipe(getLookupsListFromFacets, getUnresolvedLookupsList(resolvedLookups))(facets);\n","import {propEq, propOr} from 'ramda';\n\nexport const getConfigForFacet = (facetsGroups) => (facet) => {\n const entityType = facet.entityType || facet.entityTypeUri || 'special';\n const group = facetsGroups.find(propEq('id', entityType));\n const facets = propOr([], 'facets', group);\n return facets.find(propEq('fieldName', facet.fieldName));\n};\n\nexport const reduceFacetsConfig = (facetsGroups) => {\n const getFacetConfig = getConfigForFacet(facetsGroups);\n return (acc, facet) => {\n const config = getFacetConfig(facet);\n return config && !acc.find(propEq('fieldName', facet.fieldName)) ? [...acc, config] : acc;\n };\n};\n","import {getAvailableFacetsGroupsList, getEntityTypeFacetConfig} from '../collectFacets';\nimport {assoc, dissoc, evolve, filter, map, omit, pipe, reduce, values} from 'ramda';\nimport {reduceFacetsConfig} from './parsingUtils';\nimport {isAvailableEntityTypeUri} from '@reltio/mdm-sdk';\n\nexport const parseFacets = (metadata, facets, dataTenants) => {\n const entityTypeFacet = getEntityTypeFacetConfig(metadata);\n if (!facets || facets.length === 0) {\n return {facetsData: {}, facetsConfigs: [entityTypeFacet]};\n }\n\n const selectedEntityTypes = facets.type ? facets.type.values.filter(isAvailableEntityTypeUri(metadata)) : [];\n const availableFacetsGroupsList = getAvailableFacetsGroupsList(metadata, selectedEntityTypes, dataTenants);\n\n const facetsConfigs = pipe(\n dissoc('type'),\n values,\n reduce(reduceFacetsConfig(availableFacetsGroupsList), [entityTypeFacet])\n )(facets);\n\n const facetsData = pipe(\n evolve({\n type: assoc('values', selectedEntityTypes)\n }),\n filter(isInFacetsConfigs(facetsConfigs)),\n map(omit(['entityTypeUri']))\n )(facets);\n\n return {facetsConfigs, facetsData};\n};\n\nconst isInFacetsConfigs = (configs) => (facet) => configs.find((config) => config.fieldName === facet.fieldName);\n","import {\n chain,\n compose,\n either,\n isEmpty,\n isNil,\n partition,\n path,\n pathOr,\n pipe,\n prop,\n propEq,\n propOr,\n reject,\n values\n} from 'ramda';\nimport {getAvailableFacetsGroupsList, getEntityTypeFacetConfig} from '../collectFacets';\nimport {getConfigForFacet} from './parsingUtils';\nimport {\n convertOldFacets,\n findAttributeTypeByUri,\n getEntityType,\n getOldRangeFacetValues,\n isRangeFacet,\n isTypeFacet,\n searchUriToAttrUri\n} from '@reltio/mdm-sdk';\nimport {getSpecialAttribute} from '../advancedSearch/collectSpecialAttributes';\nimport {getAdditionalAttributes} from '../collectAttributes';\n\nexport const mergeFacetValuesByFieldName = pipe(\n (facets) =>\n facets.reduce((acc, facet) => {\n acc[facet.fieldName] = {\n ...facet,\n values: [...propOr([], 'values', facet), ...pathOr([], [facet.fieldName, 'values'], acc)]\n };\n return acc;\n }, {}),\n values\n);\n\nexport const parseOldFacets = (metadata, dataTenants, facets, canUserReadWorkflowDataTask) => {\n const entityTypeFacet = getEntityTypeFacetConfig(metadata);\n if (!facets || isEmpty(facets)) {\n return {facetsData: {}, facetsConfigs: [entityTypeFacet]};\n }\n\n const [tenantFacets, nonTenantFacets] = partition((facet) => facet.fieldName === 'tenants', facets);\n const currentTenant = path([0, 'currentTenant'], tenantFacets);\n\n const [typeFacets, nonTypeFacets] = partition((facet) => facet.fieldName === 'type', nonTenantFacets);\n\n const selectedEntityTypes = chain(propOr([], 'values'), typeFacets);\n const getFacetConfig = compose(getConfigForFacet, getAvailableFacetsGroupsList)(\n metadata,\n selectedEntityTypes,\n dataTenants\n );\n\n const convertedFacets = convertOldFacets(nonTypeFacets);\n\n const isBasicFacetFilter = either(pipe(prop('filter'), isNil), propEq('filter', 'equals'));\n const isAdvancedFacet = (facet) => !getFacetConfig(facet) || !isBasicFacetFilter(facet);\n const hasAdvancedFacets = convertedFacets.some(isAdvancedFacet);\n\n if (hasAdvancedFacets) {\n const advanced = convertedFacets.reduce(\n reduceAdvancedFromFacets(metadata, dataTenants, canUserReadWorkflowDataTask),\n {\n entityTypes: selectedEntityTypes,\n searchParams: []\n }\n );\n return {currentTenant, advanced, facetsConfigs: [], facetsData: {}};\n } else {\n const basicFacets = mergeFacetValuesByFieldName(convertedFacets);\n const facetsConfigs = [entityTypeFacet, ...basicFacets.map(getFacetConfig)];\n const facetsData = [...typeFacets, ...basicFacets].reduce(reduceNewFacetsData(facetsConfigs), {});\n return {currentTenant, facetsConfigs, facetsData};\n }\n};\n\nexport const reduceAdvancedFromFacets = (metadata, dataTenants, canUserReadWorkflowDataTask) => (advanced, facet) => {\n const {entityType: entityTypeUri, fieldName, filter, values} = facet;\n const newSearchParam = {fieldName, filter: filter || 'equals', values: values || []};\n if (entityTypeUri) {\n const attrUri = searchUriToAttrUri(fieldName, entityTypeUri);\n const attrType = findAttributeTypeByUri(metadata, attrUri);\n const entityType = getEntityType(metadata, entityTypeUri);\n const additionalAttribute = getAdditionalAttributes(dataTenants, entityType).find(\n (attr) => attr.fieldName === fieldName\n );\n\n if (advanced.entityTypes.length === 0) {\n advanced.entityTypes.push(entityTypeUri);\n }\n if (advanced.entityTypes.includes(entityTypeUri)) {\n if (additionalAttribute) {\n advanced.searchParams.push(newSearchParam);\n } else if (attrType) {\n advanced.searchParams.push({...newSearchParam, uri: attrType.uri});\n }\n }\n } else {\n const specialAttribute = getSpecialAttribute(fieldName, dataTenants, canUserReadWorkflowDataTask);\n if (specialAttribute) {\n advanced.searchParams.push(newSearchParam);\n }\n }\n return advanced;\n};\n\nexport const reduceNewFacetsData = (facetsConfigs) => (data, facet) => {\n const config = facetsConfigs.find((config) => config.fieldName === facet.fieldName);\n if (config) {\n const values = isRangeFacet(config) ? getOldRangeFacetValues(facet.values) : facet.values;\n const showAllItems = isTypeFacet(config) && facet.showAllEntityTypes ? facet.showAllEntityTypes : null;\n return {\n ...data,\n [facet.fieldName]: reject(isNil, {\n fieldName: facet.fieldName,\n values,\n showAllItems\n })\n };\n } else {\n return data;\n }\n};\n","import {curry, find, pick, pipe, propEq} from 'ramda';\nimport {\n findAttributeTypeByUri,\n getAttributeTypesHierarchyByUri,\n getEntityType,\n getEntityTypeLabel,\n searchUriToAttrUri,\n getFilterOptionsForQueryBuilder\n} from '@reltio/mdm-sdk';\nimport {createAttributeItem, getAdditionalAttributes} from '../collectAttributes';\nimport {collectSpecialAttributesGroups} from '../advancedSearch/collectSpecialAttributes';\n\nconst parseSpecialAttributeData = (metadata, dataTenants, canUserReadWorkflowDataTask, {fieldName}) => {\n const specialAttributeGroup = collectSpecialAttributesGroups({\n dataTenants,\n canUserReadWorkflowDataTask\n }).find((group) => group.attributes.find((attr) => attr.fieldName === fieldName));\n const specialAttr =\n specialAttributeGroup && specialAttributeGroup.attributes.find((attr) => attr.fieldName === fieldName);\n\n return specialAttr\n ? {\n groupName: specialAttributeGroup.title,\n filterOptions: getFilterOptionsForQueryBuilder(specialAttr.attrType, fieldName),\n ...pick(\n [\n 'title',\n 'fieldName',\n 'attrType',\n 'pageSize',\n 'orderType',\n 'dataTenant',\n 'fieldNameForRequest',\n 'dataTenantFieldName'\n ],\n specialAttr\n )\n }\n : null;\n};\n\nconst parseRegularAttributeData = (metadata, {uri, entityTypeUri, fieldName}) => {\n const attrType = findAttributeTypeByUri(metadata, uri);\n if (attrType) {\n const parents = (\n getAttributeTypesHierarchyByUri(metadata, searchUriToAttrUri(fieldName, entityTypeUri), entityTypeUri) || []\n )\n .map(pick(['label', 'name']))\n .slice(0, -1);\n\n return {\n uri,\n groupName: getEntityTypeLabel(metadata, {type: entityTypeUri}),\n filterOptions: getFilterOptionsForQueryBuilder(attrType, fieldName),\n ...createAttributeItem(metadata, attrType, entityTypeUri, fieldName, parents)\n };\n } else {\n return null;\n }\n};\n\nconst parseAdditionalAttributeData = (metadata, dataTenants, {fieldName, entityTypeUri}) => {\n const additionalAttribute = pipe(\n getEntityType(metadata),\n getAdditionalAttributes(dataTenants),\n find(propEq('fieldName', fieldName))\n )(entityTypeUri);\n\n return additionalAttribute\n ? {\n groupName: getEntityTypeLabel(metadata, {type: entityTypeUri}),\n filterOptions: getFilterOptionsForQueryBuilder(additionalAttribute.attrType, fieldName),\n ...additionalAttribute\n }\n : null;\n};\n\nconst parseAttributeData = curry((metadata, dataTenants, canUserReadWorkflowDataTask, attrData) => {\n const {uri} = attrData;\n if (uri && !uri.startsWith('special/')) {\n return parseRegularAttributeData(metadata, attrData);\n } else {\n return (\n parseSpecialAttributeData(metadata, dataTenants, canUserReadWorkflowDataTask, attrData) ||\n parseAdditionalAttributeData(metadata, dataTenants, attrData)\n );\n }\n});\n\nexport {parseAttributeData};\n","import {curry, evolve, pipe, prop, reject} from 'ramda';\nimport {nanoid} from 'nanoid';\nimport {parseAttributeData} from './parseAttributeData';\nimport {\n convertOldAdvancedAttribute,\n convertTransitionAttributes,\n findClosestCommonAncestor,\n isEmptySearchGroup,\n sanitizeTypesInSearchGroups,\n wrapInArray\n} from '@reltio/mdm-sdk';\nimport {defaultGroupOperator, defaultOperator} from '../../../constants/constants';\n\nexport const parseAttribute = curry((metadata, dataTenants, canUserReadWorkflowDataTask, entityTypeUri, attribute) => {\n return pipe(\n convertOldAdvancedAttribute(metadata, entityTypeUri),\n evolve({\n data: parseAttributeData(metadata, dataTenants, canUserReadWorkflowDataTask)\n })\n )(attribute);\n});\n\nconst parseOldAdvancedSearch = (\n metadata,\n dataTenants,\n canUserReadWorkflowDataTask,\n oldAdvancedSearch = {},\n useSeparateGroups = false\n) => {\n const {searchParams = [], fastSearchParams = [], entityTypes = []} = oldAdvancedSearch;\n const attributes = [...searchParams, ...fastSearchParams]\n .map(\n parseAttribute(\n metadata,\n dataTenants,\n canUserReadWorkflowDataTask,\n findClosestCommonAncestor(metadata, entityTypes)\n )\n )\n .filter((attribute) => attribute && attribute.data);\n\n const makeGroup = curry((operator, attributes) => ({\n id: nanoid(),\n operator,\n attributes,\n entityTypes\n }));\n const groups = useSeparateGroups\n ? attributes.map(pipe(wrapInArray, makeGroup(defaultOperator.value)))\n : wrapInArray(makeGroup(defaultGroupOperator.value, attributes));\n\n return pipe(sanitizeTypesInSearchGroups(metadata), convertTransitionAttributes, reject(isEmptySearchGroup))(groups);\n};\n\nexport const mergeAdvancedAndFacets = (advancedGroups, facetsGroups) => {\n const attributesFromFacets = prop(\n 'attributes',\n facetsGroups.find((group) => group.attributes)\n );\n attributesFromFacets.map((facetAttribute) => advancedGroups[0].attributes.push(facetAttribute));\n return advancedGroups;\n};\n\nexport {parseOldAdvancedSearch as default};\n","import {attributeUriToSearchUri, findAttributeTypeByUri, isComplexAttribute} from '@reltio/mdm-sdk';\nimport {DEFAULT_VIEW, PREVIEW_PANEL_MODES, SEARCH_RESULTS_MODES} from '../../../constants/constants';\nimport {concat, mergeDeepWith, propOr} from 'ramda';\nimport {getInitialColumnsByEntityTypes} from '../searchResults';\n\nexport const OLD_SEARCH_RESULTS_MODES = {\n NO_PREVIEW: 'NoPreview',\n PREVIEW: 'Preview',\n MAP_PREVIEW: 'MapPreview',\n TABLE_VIEW: 'TableView'\n};\n\nexport const NEW_SEARCH_RESULTS_MODES = {\n [OLD_SEARCH_RESULTS_MODES.NO_PREVIEW]: SEARCH_RESULTS_MODES.LIST,\n [OLD_SEARCH_RESULTS_MODES.PREVIEW]: DEFAULT_VIEW,\n [OLD_SEARCH_RESULTS_MODES.MAP_PREVIEW]: DEFAULT_VIEW,\n [OLD_SEARCH_RESULTS_MODES.TABLE_VIEW]: SEARCH_RESULTS_MODES.TABLE\n};\n\nexport const PREVIEW_PANEL_MODES_MAPPING = {\n [OLD_SEARCH_RESULTS_MODES.PREVIEW]: PREVIEW_PANEL_MODES.PROFILE\n};\n\nexport const parseOldView = (metadata, view = {}, viewConfig = {}) => {\n const {mode, tabs = []} = view;\n const {allowedEntityTypes} = viewConfig;\n return {\n searchResultsMode: NEW_SEARCH_RESULTS_MODES[mode] || DEFAULT_VIEW,\n previewPanelMode: PREVIEW_PANEL_MODES_MAPPING[mode] || null,\n entityTypeTab: propOr(null, 'entityTypeUri', findActiveTab(tabs)),\n sortField: 'label',\n sortOrder: 'asc',\n searchResultsColumns: processOldTabs(metadata, allowedEntityTypes, tabs)\n };\n};\n\nconst findActiveTab = (tabs) => tabs.find((tab) => tab.selected) || {};\n\nconst processOldTabs = (metadata, allowedEntityTypes, tabs) => {\n const columnsByEntityTypes = getInitialColumnsByEntityTypes(metadata, allowedEntityTypes);\n const columnsFromTabs = tabs.reduce((result, tab) => {\n result[tab.entityTypeUri] = tab.selectedAttributes\n .map((attribute) => {\n const attrType = findAttributeTypeByUri(metadata, attribute);\n return {\n id: attributeUriToSearchUri(attrType.uri),\n label: attrType.label,\n attrType: attrType\n };\n })\n .filter((attribute) => !isComplexAttribute(attribute.attrType));\n return result;\n }, {});\n return mergeDeepWith(concat, columnsByEntityTypes, columnsFromTabs);\n};\n","import {path, propEq} from 'ramda';\n\nexport const parseOldSearchOptions = (advanced = {}) => {\n const advancedOptions = advanced.options || [];\n const searchByOvOption = advancedOptions.find(propEq('fieldName', 'searchByOv'));\n if (searchByOvOption) {\n const searchByOv = path(['values', 0], searchByOvOption);\n if (typeof searchByOv === 'boolean') {\n return {\n searchByOv: searchByOv,\n ovOnly: searchByOv\n };\n }\n }\n return null;\n};\n","import {assocPath, curry} from 'ramda';\nimport {parseFacets} from './parseFacets';\nimport {parseOldFacets} from './parseOldFacets';\nimport parseOldAdvancedSearch, {mergeAdvancedAndFacets} from './parseOldAdvancedSearch';\nimport {parseAttributeData} from './parseAttributeData';\nimport {parseOldView} from './parseOldView';\nimport {DEFAULT_VIEW} from '../../../constants/constants';\nimport {prepareFacetDataForStore} from '../collectFacets';\nimport {createAdvancedSearchGroupFromFacets} from '../converting/createAdvancedSearchFromFacets';\nimport {mergeConfigs} from '../facet';\nimport {parseOldSearchOptions} from './parseOldSearchOptions';\nimport {getKeywordFromOldSearchState, parseAdvancedSearch} from '@reltio/mdm-sdk';\n\nconst parseSearchState = (metadata, state, config, dataTenants, canUserReadWorkflowDataTask) => {\n try {\n const {version} = state;\n return version === '2.0'\n ? parseNewSearchState(metadata, state, dataTenants, canUserReadWorkflowDataTask)\n : parseOldSearchState(metadata, state, config, dataTenants, canUserReadWorkflowDataTask);\n } catch (e) {\n console.warn(\"Can't parse search state\", e);\n return {\n errors: Array.isArray(e) ? e : [e]\n };\n }\n};\n\nconst replaceSearchResultsColumns = curry((searchResultsColumns, parsedState) => {\n return assocPath(['view', 'searchResultsColumns'], searchResultsColumns, parsedState);\n});\n\nconst parseNewSearchState = (\n metadata,\n {keyword = null, facets = {}, advanced = [], map, view, searchOptions, currentSavedSearchUri, currentTenant},\n dataTenants,\n canUserReadWorkflowDataTask\n) => {\n const newState = {map, keyword, searchOptions};\n const hasActiveAdvancedSearch = advanced.some(\n ({attributes, entityTypes = []}) => attributes.length || entityTypes.length\n );\n if (hasActiveAdvancedSearch) {\n newState.advanced = parseAdvancedSearch(\n parseAttributeData,\n metadata,\n advanced,\n dataTenants,\n canUserReadWorkflowDataTask\n );\n } else {\n newState.facets = parseFacets(metadata, facets, dataTenants);\n }\n\n if (view) {\n newState.view = {\n searchResultsMode: view.searchResultsMode || DEFAULT_VIEW,\n entityTypeTab: view.entityTypeTab,\n sortField: view.sortField,\n sortOrder: view.sortOrder,\n searchResultsColumns: view.tabs,\n previewPanelMode: view.previewPanelMode || null\n };\n }\n\n if (currentSavedSearchUri) {\n newState.currentSavedSearchUri = currentSavedSearchUri;\n }\n if (currentTenant) {\n newState.currentTenant = currentTenant;\n }\n return newState;\n};\n\nconst parseOldSearchState = (metadata, oldState, viewConfig, dataTenants, canUserReadWorkflowDataTask) => {\n const {facets = {}, advanced, view, curSavedSearchUri, useSeparateGroups} = oldState;\n const newState = {\n keyword: getKeywordFromOldSearchState(oldState),\n searchOptions: parseOldSearchOptions(advanced)\n };\n const {\n currentTenant,\n advanced: advancedFromFacets,\n ...parsedFacets\n } = parseOldFacets(metadata, dataTenants, facets, canUserReadWorkflowDataTask);\n const parsedAdvanced = parseOldAdvancedSearch(\n metadata,\n dataTenants,\n canUserReadWorkflowDataTask,\n advanced || advancedFromFacets,\n useSeparateGroups\n );\n const hasActiveAdvancedSearch = parsedAdvanced.some(({attributes}) => attributes.length);\n if (hasActiveAdvancedSearch) {\n const {facetsData, facetsConfigs} = parsedFacets;\n const newData = facetsConfigs.reduce((data, config) => {\n return {\n ...data,\n [config.fieldName]: prepareFacetDataForStore(config.fieldName, facetsData[config.fieldName])\n };\n }, {});\n const groupFromFacets = createAdvancedSearchGroupFromFacets(\n metadata,\n dataTenants,\n Object.values(mergeConfigs(newData, facetsConfigs))\n );\n newState.advanced =\n groupFromFacets.length > 0 ? mergeAdvancedAndFacets(parsedAdvanced, groupFromFacets) : parsedAdvanced;\n } else {\n newState.facets = parsedFacets;\n }\n\n if (view) {\n newState.view = parseOldView(metadata, view, viewConfig);\n }\n\n if (curSavedSearchUri) {\n newState.currentSavedSearchUri = curSavedSearchUri;\n }\n\n if (currentTenant) {\n newState.currentTenant = currentTenant;\n }\n\n return newState;\n};\n\nexport default parseSearchState;\nexport {replaceSearchResultsColumns};\n","import {head, isNil, last, pathOr, unfold} from 'ramda';\nimport {Decimal} from 'decimal.js';\nimport {isFloatingType} from '@reltio/mdm-sdk';\nimport {formatNumberAsMetric, getNumbersMath} from '../../utils/general';\n\nexport const createRangeServiceFor = (attrType) => {\n const NumMath = getNumbersMath(attrType);\n const getRange = (values, data) => {\n const begin = pathOr(pathOr(null, ['value', 0], head(data)), [0, 0], values);\n const end = pathOr(pathOr(null, ['value', 1], last(data)), [0, 1], values);\n if (begin === null || end === null) {\n return [];\n }\n\n if (NumMath.lessThanOrEqualTo(begin, end)) {\n return [begin, end];\n } else {\n return [end, begin];\n }\n };\n\n const adjustRange = (range, min, max) => {\n const start = range[0];\n const end = range[1];\n return [isNil(min) ? start : NumMath.max(start, min), isNil(max) ? end : NumMath.min(end, max)];\n };\n\n const equals = (...args) => NumMath.equals(...args);\n\n const formatNumberForRangeFacet = (value) =>\n NumMath.greaterThan(value, 10000) ? formatNumberAsMetric(value, 10000) : value.toString();\n\n const getBarDomain = (data) => (data.length > 0 ? [head(data).value[0], last(data).value[1]] : []);\n\n const calcScale = (min, max) => {\n if (attrType === 'Long') {\n const delta = max.minus(min);\n\n // calculate ratio\n const ratio = delta.div(2).gt(Number.MAX_SAFE_INTEGER)\n ? new Decimal(Number.MAX_SAFE_INTEGER).mul(2).div(delta)\n : 1;\n\n const ratioFirstValue = min.mul(ratio);\n const ratioLastValue = max.mul(ratio);\n\n // calculate offset\n const offset = ratioFirstValue.lt(Number.MIN_SAFE_INTEGER)\n ? new Decimal(Number.MIN_SAFE_INTEGER).minus(ratioFirstValue)\n : ratioLastValue.gt(Number.MAX_SAFE_INTEGER)\n ? new Decimal(Number.MAX_SAFE_INTEGER).minus(ratioLastValue)\n : 0;\n\n return {ratio: ratio, offset: offset};\n }\n\n return {ratio: 1, offset: 0};\n };\n const revertScale = (value, scale) =>\n NumMath.toFixed(NumMath.div(NumMath.minus(value, scale.offset), scale.ratio), 0);\n\n const applyScale = (value, scale) => Number(NumMath.plus(NumMath.mul(value, scale.ratio), scale.offset));\n\n const bigNumbersTickFormatterX = (formatter, scale) => (value) => formatter(revertScale(value, scale));\n\n const addRanges = (values = [], start, end, interval) => {\n if (values.length === 0) {\n return [];\n }\n\n const firstValue = values[0].value;\n const lastValue = values[values.length - 1].value;\n const headValues = NumMath.greaterThan(firstValue, start)\n ? unfold(\n (n) => (NumMath.lessThan(n, firstValue) ? [{value: n, number: 0}, NumMath.plus(n, interval)] : false),\n start\n )\n : [];\n const tailValues = NumMath.lessThan(lastValue, NumMath.minus(end, interval))\n ? unfold(\n (n) =>\n NumMath.lessThanOrEqualTo(n, end) ? [{value: n, number: 0}, NumMath.plus(n, interval)] : false,\n NumMath.plus(lastValue, interval)\n )\n : [];\n return [...headValues, ...values, ...tailValues];\n };\n\n const getInterval = (from, to, bars = 50) => {\n if (from === to) {\n return 1;\n } else {\n return isFloatingType(attrType)\n ? (to - from) / bars\n : NumMath.ceil(NumMath.div(NumMath.minus(to, from), bars));\n }\n };\n\n return {\n NumMath,\n getRange,\n formatNumberForRangeFacet,\n getBarDomain,\n calcScale,\n revertScale,\n applyScale,\n bigNumbersTickFormatterX,\n adjustRange,\n equals,\n addRanges,\n getInterval\n };\n};\n","import queryString from 'query-string';\nimport {pipe} from 'ramda';\n\nconst addPrefixIfNecessary = (query) => (query ? `?${query}` : '');\nconst stringifyObject = (urlSearchObj) => queryString.stringify(urlSearchObj, {strict: false});\nexport const stringifySearch = pipe(stringifyObject, addPrefixIfNecessary);\n","import {\n __,\n allPass,\n always,\n append,\n assoc,\n both,\n complement,\n compose,\n concat,\n cond,\n defaultTo,\n evolve,\n filter,\n flatten,\n has,\n identity,\n ifElse,\n inc,\n join,\n length,\n lt,\n map,\n path,\n pathOr,\n pipe,\n pluck,\n prop,\n propEq,\n propOr,\n propSatisfies,\n reduce,\n slice,\n split,\n T,\n uniq,\n values,\n when\n} from 'ramda';\nimport {\n ActivityFilters,\n addGlobalFilterToQuery,\n attributeUriToSearchUri,\n basicFilterBuildRules,\n buildBasicFilterString,\n buildComplexFilterString,\n buildFilterHierarchyList,\n buildFilterQueryString,\n buildOperationsToString,\n canWrapInSameAttribute,\n FilterOptions,\n getEntityType,\n getRootFieldName,\n isAndOperator,\n isAvailableEntityType,\n isDateType,\n isOrOperator,\n isValidSearchGroup,\n isValidSearchGroupAttribute,\n joinFilterStrings,\n Maybe,\n parseCompositeFilters,\n requestForDataTenant,\n shiftDownOperators,\n shiftUpOperators,\n wrapQueryWithBrackets\n} from '@reltio/mdm-sdk';\nimport {getEnvironment, getTenant} from '../../utils/general';\nimport {stringifySearch} from '../../utils/url';\nimport {DEFAULT_SEARCH_SELECT, ROWS_PER_PAGE_OPTIONS} from '../../constants/constants';\n\nexport const isNotEmptyParam = (param) => (param.values && param.values.length) || param.rawFilter;\n\nconst prepareDataTenantFilters = (facet) =>\n facet.dataTenant\n ? [\n {\n filter: 'equals',\n fieldName: facet.dataTenantFieldName,\n values: [facet.dataTenant]\n }\n ]\n : [];\n\nconst getFieldNameForRequestRule = (extraBuildRules = []) => [\n prop('fieldNameForRequest'),\n ({fieldNameForRequest, ...otherData}) => {\n const query = cond([...extraBuildRules, ...basicFilterBuildRules])({\n ...otherData,\n fieldName: fieldNameForRequest\n });\n return pipe(\n buildFilterQueryString(),\n wrapQueryWithBrackets\n )([\n {\n rawFilter: query\n },\n ...prepareDataTenantFilters(otherData)\n ]);\n }\n];\n\nexport const buildQuery = buildFilterQueryString([getFieldNameForRequestRule()]);\n\nexport const buildQueryTree = pipe(filter(isNotEmptyParam), buildFilterHierarchyList);\n\nexport const buildEntitiesUrl = (searchParams, options = {}) => {\n const {sortOrder, sortField, select, forceOvOnly, searchOptions, activityFilter, globalFilter} = options;\n const filterParam = pipe(buildQuery, addGlobalFilterToQuery(globalFilter))(searchParams);\n const page = options.page || 0;\n const rowsPerPage = options.rowsPerPage || ROWS_PER_PAGE_OPTIONS[0];\n\n const urlSearch = {\n filter: filterParam || undefined,\n select: buildSelectParam(searchParams, activityFilter, select),\n max: rowsPerPage,\n offset: page * rowsPerPage,\n sort: sortField || undefined,\n order: sortOrder || undefined,\n scoreEnabled: false,\n options: (forceOvOnly ? addToSearchOptions(searchOptions, 'ovOnly') : searchOptions) || undefined,\n activeness: activityFilter || undefined\n };\n\n return `entities${stringifySearch(urlSearch)}`;\n};\n\nconst addToSearchOptions = (options, value) => {\n options = options || '';\n const splitted = options.split(',').filter(identity);\n return splitted.includes(value) ? options : splitted.concat(value).join(',');\n};\n\nexport const buildEntitiesByUrisRequest = (entitiesUris, searchParams, options = {}) => {\n const {select, searchOptions, activityFilter} = options;\n\n const body = {\n select: buildSelectParam(searchParams, activityFilter, select),\n uris: entitiesUris,\n options: addToSearchOptions(searchOptions, 'ovOnly')\n };\n\n return {\n url: 'entities/_byUris',\n options: {\n method: 'POST',\n body: JSON.stringify(body),\n headers: {\n 'Content-Type': 'application/json'\n }\n }\n };\n};\n\nconst buildSelectParam = (searchParams, activityFilter, select = []) => {\n const selectParams = DEFAULT_SEARCH_SELECT.concat(select);\n if (activityFilter && activityFilter !== ActivityFilters.ACTIVE_ONLY) {\n selectParams.push('startDate', 'endDate');\n }\n return uniq(selectParams).join(',');\n};\n\nexport const businessCardAttributeURIsSelectRule = propOr([], 'businessCardAttributeURIs');\n\nexport const geoLocationAttributesSelectRule = compose(\n flatten,\n map((item) => [item.latitude, item.longitude]),\n propOr([], 'geoLocationAttributes')\n);\n\nexport const collectAdditionalSelect = (metadata, searchParams, selectRules = []) => {\n const entityTypesForSearch = Maybe.fromNull(\n searchParams.find((param) => param.fieldName === 'type' && param.values.length)\n )\n .map(prop('values'))\n .orSome(pluck('uri', metadata.entityTypes));\n const additionalAttrs = entityTypesForSearch.map((entityTypeUri) => {\n const entityType = getEntityType(metadata, entityTypeUri);\n\n return selectRules\n .reduce((attrUris, rule) => attrUris.concat(rule(entityType)), [])\n .map(prepareAttrUriForSearch);\n });\n return uniq(flatten(additionalAttrs).map(getFirstLevelSearchUri));\n};\n\nexport const prepareAttrUriForSearch = attributeUriToSearchUri;\n\nexport const getFirstLevelSearchUri = pipe(split('.'), slice(0, 2), join('.'));\n\nexport const buildFacetsRequest = (facets, searchParams, excludeFields = [], options = {}, extraUrlParams = {}) => {\n const {searchOptions, activityFilter, globalFilter} = options;\n const dataTenantSearchParams = facets.length === 1 ? prepareDataTenantFilters(facets[0]) : [];\n const filterParam = pipe(\n filter((param) => param.forceInclude || !excludeFields.includes(param.fieldName)),\n concat(__, dataTenantSearchParams),\n buildQuery,\n addGlobalFilterToQuery(globalFilter)\n )(searchParams);\n const body = facets.map((facet) => {\n const facetBody = {\n fieldName: facet.fieldNameForRequest || facet.fieldName,\n pageSize: facet.pageSize,\n pageNo: facet.pageNumber || 1,\n orderType: facet.orderType\n };\n if (!facet.disableIncludeFilter) {\n facetBody.includeFilter = facet.includeFilter || facet.values;\n }\n return facetBody;\n });\n\n const urlSearch = {\n filter: filterParam || undefined,\n options: searchOptions || undefined,\n activeness: activityFilter || undefined,\n ...extraUrlParams\n };\n\n return {\n url: `entities/_facets${stringifySearch(urlSearch)}`,\n options: {\n method: 'POST',\n body: JSON.stringify(body),\n headers: {\n 'Content-Type': 'application/json'\n }\n }\n };\n};\n\nexport const buildPotentialMatchesFacetUrl = (from, to, bars, searchParams, excludeFields = [], options = {}) => {\n const env = getEnvironment(),\n tenant = getTenant();\n const urlSearch = preparePotentialMatchesUrlSearch(from, to, bars, searchParams, excludeFields, options);\n return `api/${env}/${tenant}/entities/potentialMatches${stringifySearch(urlSearch)}`;\n};\n\nexport const buildMatchScoresFacetUrl = (from, to, bars, searchParams, excludeFields = [], options = {}) => {\n const env = getEnvironment(),\n tenant = getTenant();\n const urlSearch = preparePotentialMatchesUrlSearch(from, to, bars, searchParams, excludeFields, options);\n return `api/${env}/${tenant}/entities/matchScores${stringifySearch(urlSearch)}`;\n};\n\nconst preparePotentialMatchesUrlSearch = (from, to, bars, searchParams, excludeFields, options) => {\n const {searchOptions, activityFilter, globalFilter, dataTenant} = options;\n const filterParam = buildPureSearchQuery(searchParams, excludeFields, globalFilter);\n return {\n filter: filterParam || undefined,\n options: searchOptions || undefined,\n from,\n to,\n bars,\n activeness: activityFilter || undefined,\n dataTenant\n };\n};\n\nexport const buildTypeaheadRequest = ({entityTypes}, searchValue, maxSuggestions) => {\n const entityForRequest = entityTypes.filter(isAvailableEntityType).map(prop('uri'));\n const entityFilter = {\n filter: 'equals',\n fieldName: 'type',\n values: entityForRequest\n };\n const fuzzyFilter = {\n filter: 'containsWordStartingWith',\n fieldName: 'attributes',\n values: [searchValue]\n };\n const typeAheadFilter = buildQuery([entityFilter, fuzzyFilter]);\n const env = getEnvironment(),\n tenant = getTenant();\n const urlSearch = {\n filter: typeAheadFilter || undefined,\n scoreEnabled: true,\n max: maxSuggestions + 1\n };\n return {\n url: `api/${env}/${tenant}/entities/_typeAheadSearch${stringifySearch(urlSearch)}`\n };\n};\n\nexport const buildHistogramUrl = (facet, searchParams, excludeFields = [], options = {}) => {\n const {searchOptions, activityFilter, globalFilter, ...restOptions} = options;\n const filterParam = buildPureSearchQuery(\n searchParams.concat(prepareDataTenantFilters(facet)),\n excludeFields,\n globalFilter\n );\n const urlSearch = {\n filter: filterParam || undefined,\n options: searchOptions || undefined,\n activeness: activityFilter || undefined\n };\n const body = [\n {\n fieldName: facet.fieldNameForRequest || facet.fieldName,\n facetType: 'histogram',\n ...restOptions\n }\n ];\n\n return {\n url: `entities/_facets${stringifySearch(urlSearch)}`,\n options: {\n method: 'POST',\n body: JSON.stringify(body),\n headers: {\n 'Content-Type': 'application/json'\n }\n }\n };\n};\n\nexport const buildStatsUrl = (facet, searchParams, excludeFields = [], options = {}) => {\n const {searchOptions, activityFilter, globalFilter} = options;\n const filterParam = buildPureSearchQuery(\n searchParams.concat(prepareDataTenantFilters(facet)),\n excludeFields,\n globalFilter\n );\n const urlSearch = {\n filter: filterParam || undefined,\n options: searchOptions || undefined,\n activeness: activityFilter || undefined\n };\n const body = [\n {\n fieldName: facet.fieldNameForRequest || facet.fieldName,\n facetType: 'stats'\n }\n ];\n\n return {\n url: `entities/_facets${stringifySearch(urlSearch)}`,\n options: {\n method: 'POST',\n body: JSON.stringify(body),\n headers: {\n 'Content-Type': 'application/json'\n }\n }\n };\n};\n\nexport const buildPureSearchQuery = (searchParams, excludeFields = [], globalFilter) => {\n return pipe(\n filter((param) => param.forceInclude || !excludeFields.includes(param.fieldName)),\n buildQuery,\n addGlobalFilterToQuery(globalFilter)\n )(searchParams);\n};\n\nexport const buildTotalUrlQuery = (searchParams, excludeFields = [], options = {}) => {\n const {searchOptions, activityFilter, globalFilter} = options;\n const filterParam = buildPureSearchQuery(searchParams, excludeFields, globalFilter);\n const urlSearch = {\n filter: filterParam || undefined,\n options: searchOptions || undefined,\n activeness: activityFilter || undefined\n };\n\n return stringifySearch(urlSearch).slice(1);\n};\n\nexport function callSearchRequestForTenant({searchRequest, url, options, dataTenant, customerTenant, dtssPath}) {\n return dataTenant\n ? requestForDataTenant({requestProvider: searchRequest, url, options, dataTenant, customerTenant, dtssPath})\n : searchRequest(`api/${getEnvironment()}/${customerTenant}/${url}`, options);\n}\n\nexport const buildTotalUrl = (searchParams, excludeFields = [], options) => {\n const urlQuery = buildTotalUrlQuery(searchParams, excludeFields, options);\n return `entities/_total${urlQuery ? `?${urlQuery}` : ''}`;\n};\n\nexport const buildTotalUrlForQuery = (query) => {\n const env = getEnvironment(),\n tenant = getTenant();\n\n return `api/${env}/${tenant}/entities/_total?${query}`;\n};\n\nconst getAttributeType = path(['data', 'attrType', 'type']);\n\nconst groupAttributeFilters = (result, attribute) => {\n let {orGroupIndex = 0} = result;\n const {filters} = result;\n const {values, filter, operator} = attribute;\n if (isOrOperator(operator)) {\n orGroupIndex = inc(orGroupIndex);\n }\n const attributeFilters = pathOr({}, ['filters', orGroupIndex], result);\n const attributeFilter = {\n filter,\n fieldName: path(['data', 'fieldName'], attribute),\n fieldNameForRequest: path(['data', 'fieldNameForRequest'], attribute),\n dataTenant: path(['data', 'dataTenant'], attribute),\n dataTenantFieldName: path(['data', 'dataTenantFieldName'], attribute),\n values: getQueryValuesArray(values),\n type: getAttributeType(attribute),\n operator\n };\n\n const rootFieldName = getRootFieldName(attributeFilter);\n attributeFilters[rootFieldName] = concat(propOr([], rootFieldName, attributeFilters), [attributeFilter]);\n\n return {orGroupIndex, filters: assoc(orGroupIndex, attributeFilters, filters)};\n};\n\nconst canWrapAnyChildrenInSameAttribute = (filterHierarchyList = []) =>\n filterHierarchyList.reduce((result, filterHierarchy) => {\n return (\n result ||\n canWrapInSameAttribute(filterHierarchy.children) ||\n canWrapAnyChildrenInSameAttribute(filterHierarchy.children)\n );\n }, false);\n\nconst prepareAttributeFilterOperations = (disableInSameAttributeValue) => (operations, filter) => {\n const attributesFilters = values(filter);\n const attributesOperations = attributesFilters.map((sameRootFieldNameFilters) => {\n const operator = path([0, 'operator'], sameRootFieldNameFilters);\n const filterHierarchyList = pipe(parseCompositeFilters, buildFilterHierarchyList)(sameRootFieldNameFilters);\n if (!disableInSameAttributeValue && canWrapAnyChildrenInSameAttribute(filterHierarchyList)) {\n return {\n filter: sameRootFieldNameFilters,\n operator: cond([\n [isAndOperator, always('and')],\n [isOrOperator, identity],\n [T, always(null)]\n ])(operator)\n };\n }\n return {\n filter: sameRootFieldNameFilters,\n operator: operator\n };\n });\n\n return append(attributesOperations, operations);\n};\n\nconst getOperationObject = (operand, operator) => ({operand, operator});\n\nconst isMultipleComplexValuesFormat = both(propSatisfies(lt(1), 'length'), propSatisfies(Array.isArray, 0));\n\nconst specialFiltersRules = [\n [\n propEq('fieldName', 'rdmLookups.resolved'),\n ({fieldName, values}) =>\n buildBasicFilterString({\n filter: FilterOptions.EQUALS,\n fieldName,\n values: [!values[0]]\n })\n ],\n [\n allPass([\n propEq('filter', FilterOptions.EQUALS),\n propSatisfies(isMultipleComplexValuesFormat, 'values'),\n complement(propEq('fieldName', 'type')),\n propSatisfies(complement(isDateType), 'type')\n ]),\n ({fieldName, values}) =>\n pipe(\n map((values) =>\n values.length > 1\n ? buildComplexFilterString({fieldName, values, filter: 'listEquals'})\n : buildBasicFilterString({fieldName, values, filter: 'equals'})\n ),\n joinFilterStrings(' and ')\n )(values)\n ]\n];\n\nconst buildQueryToOperationObject = (filtersRules = [], disableInSameAttributeValue = false) => (items) => {\n const extraRules = [...specialFiltersRules, ...filtersRules];\n return items.map((item) =>\n getOperationObject(\n buildFilterQueryString(\n [getFieldNameForRequestRule(extraRules), ...extraRules],\n disableInSameAttributeValue\n )(item.filter),\n item.operator\n )\n );\n};\n\nconst getQueryValuesArray = pipe(defaultTo([]), map(when(has('value'), prop('value'))));\n\nconst buildGroupQuery = (query = '', entityTypes = []) => {\n const entityTypeCondition = [\n {\n filter: 'equals',\n fieldName: 'type',\n values: entityTypes\n }\n ];\n const entityTypesPart = buildFilterQueryString()(entityTypeCondition);\n return entityTypesPart + (entityTypesPart && query ? ` and ${wrapQueryWithBrackets(query)}` : query);\n};\nconst toArray = (value) => (Array.isArray(value) ? value : Object.keys(value).map((key) => value[key]));\nexport const buildQueryForAdvancedSearchGroups = (groups, filtersRules = [], disableInSameAttributeValue = false) => {\n const groupsOperations = groups\n .map(evolve({attributes: shiftDownOperators}))\n .filter(isValidSearchGroup)\n .map((group) => {\n const attributesQuery = pipe(\n prop('attributes'),\n filter(isValidSearchGroupAttribute),\n reduce(groupAttributeFilters, {filters: []}),\n prop('filters'),\n toArray,\n reduce(prepareAttributeFilterOperations(disableInSameAttributeValue), []),\n map(buildQueryToOperationObject(filtersRules, disableInSameAttributeValue)),\n flatten,\n filter((operation) => operation.operand),\n map(evolve({operand: (operand) => wrapQueryWithBrackets(operand, false)})),\n shiftUpOperators,\n buildOperationsToString\n )(group);\n return getOperationObject(buildGroupQuery(attributesQuery, group.entityTypes), group.operator);\n })\n .filter((groupOperation) => groupOperation.operand);\n\n return pipe(\n ifElse(\n pipe(length, lt(1)),\n map((operation) => getOperationObject(wrapQueryWithBrackets(operation.operand), operation.operator)),\n identity\n ),\n buildOperationsToString\n )(groupsOperations);\n};\n","import {\n __,\n complement,\n concat,\n curry,\n equals,\n filter,\n flatten,\n intersection,\n isNil,\n map,\n memoizeWith,\n pipe,\n pluck,\n prop,\n reject,\n sort,\n uniq\n} from 'ramda';\nimport i18n from 'ui-i18n';\nimport {getEntityType, getLastUriPart, isNested, isReadableAttribute, Maybe} from '@reltio/mdm-sdk';\n\nimport {SEARCH_RESULTS_MODES} from '../../constants/constants';\nimport {envSpecificKey} from '../../utils/general';\nimport {getFirstLevelSearchUri, prepareAttrUriForSearch} from './searchEngine';\nimport {entityTypeProcessing} from './facet';\n\nexport const isTableMode = (mode) => mode === SEARCH_RESULTS_MODES.TABLE;\n\n//prettier-ignore\nconst collectColumnsForest = curry((metadata, entityTypeUri, excludeIds = []) => {\n const entityType = Maybe.fromNull(getEntityType(metadata, entityTypeUri)).orSome({});\n return collectSpecialColumns(excludeIds).concat(collectAttributeColumns(\n (entityType.attributes || []).concat(entityType.analyticsAttributes || [])\n ));\n});\n\nexport const memoizedCollectColumnsForestWithoutLabel = memoizeWith(\n (metadata, entityTypeUri) => envSpecificKey(entityTypeUri),\n collectColumnsForest(__, __, ['label'])\n);\n\nexport const getAdditionalColumns = (metadata, entityTypeUri, headColumns) =>\n headColumns &&\n deepFilter(\n memoizedCollectColumnsForestWithoutLabel(metadata, entityTypeUri),\n (column) => !headColumns.some((elem) => column.id === elem.id)\n );\n\nexport const collectSpecialColumns = (excludeIds = []) =>\n [\n {\n id: 'label',\n label: i18n.text('Profile')\n },\n {\n id: 'entityId',\n label: i18n.text('Entity ID')\n }\n ].filter((column) => !excludeIds.includes(column.id));\n\nconst collectAttributeColumns = (attributes = []) =>\n attributes.filter(isReadableAttribute).map((attrType) => {\n const column = {\n id: prepareAttrUriForSearch(attrType.uri),\n label: attrType.label || getLastUriPart(attrType.uri),\n attrType\n };\n const subAttrs = attrType.attributes || attrType.analyticsAttributes;\n if (attrType.type === 'Nested' && subAttrs) {\n column.children = collectAttributeColumns(subAttrs);\n }\n return column;\n });\n\nexport const getChildrenLeafsByParentId = (columns, parentId) => {\n const parent = findNodeInForest(columns, parentId);\n return getFlatChildrenLeafs(parent);\n};\n\nconst findNodeInForest = (children, id) => {\n let result = null;\n const walk = (children) => {\n children.some((node) => {\n if (node.id === id) {\n result = node;\n return true;\n }\n if (node.children) {\n return walk(node.children, id);\n }\n });\n };\n walk(children);\n return result;\n};\n\n//prettier-ignore\nconst getFlatChildrenLeafs = item => {\n return flatten(\n (item.children || []).map(node => (node.children ? getFlatChildrenLeafs(node) : [node]))\n );\n};\n\nexport const deepFilter = (nodes, filter) =>\n nodes.filter(filter).map((node) =>\n node.children\n ? {\n ...node,\n children: deepFilter(node.children, filter)\n }\n : node\n );\n\nexport const collectColumnsByIds = (metadata, entityTypeUri, ids) => {\n const columns = collectColumnsForest(metadata, entityTypeUri);\n return uniq(\n pipe(\n concat(['label']),\n map((id) => findNodeInForest(columns, id)),\n reject(isNil),\n filter(pipe(prop('attrType'), complement(isNested)))\n )(ids)\n );\n};\n\nexport const getInitialColumnsByEntityTypes = (metadata, allowedEntityTypes, defaultTabs = {}) => {\n const entityTypesFacetData = entityTypeProcessing(metadata, {}, allowedEntityTypes);\n const defaultColumnIds = prop('*', defaultTabs);\n\n return entityTypesFacetData.reduce((result, item) => {\n const columnsIds = defaultTabs[item.value] || defaultColumnIds;\n result[item.value] = isNil(columnsIds)\n ? collectSpecialColumns()\n : collectColumnsByIds(metadata, item.value, columnsIds);\n return result;\n }, {});\n};\n\nconst orderComparator = (order) => (item1, item2) => order.indexOf(item1.value) - order.indexOf(item2.value);\n\nexport const getEntityTypesForTabs = ({entityTypes}, tabs = [], selectedEntityTypes = []) => {\n const orderInMetadata = pluck('uri', entityTypes);\n const metadataOrderComparator = orderComparator(orderInMetadata);\n const selectedValuesOrderComparator = orderComparator(selectedEntityTypes);\n const filteredTabs = tabs.filter(({value}) =>\n selectedEntityTypes.length === 0 ? true : selectedEntityTypes.includes(value)\n );\n return sort(\n selectedEntityTypes.length === 0 ? metadataOrderComparator : selectedValuesOrderComparator,\n filteredTabs\n );\n};\n\nexport const isColumnsEqual = (selected, initial) => {\n const getId = (column) => column.id;\n return equals(selected.map(getId), initial.map(getId));\n};\n\nexport const buildSelectFromColumns = (columns) => {\n const specialColumns = collectSpecialColumns();\n return uniq(\n columns\n .filter((column) => !specialColumns.find((specialColumn) => specialColumn.id === column.id))\n .map(pipe(prop('id'), getFirstLevelSearchUri))\n );\n};\n\nexport const needRequestAfterColumnsChanges = (columns, prevColumns) => {\n const select = buildSelectFromColumns(columns);\n const prevSelect = buildSelectFromColumns(prevColumns);\n return !equals(intersection(select, prevSelect), select);\n};\n","let appConfig = {};\nexport const getConfig = () => appConfig;\nexport const setConfig = (config) => (appConfig = config);\n\nconst getAppConfigParam = (name) => appConfig[name];\n\nexport const getApiPath = () => getAppConfigParam('apiPath');\nexport const getImagePath = () => getAppConfigParam('imagePath');\nexport const getMaxRecommended = () => getAppConfigParam('maxRecommended') || 5;\n","import {ErrorPopup} from '@reltio/components';\nimport {getRequestErrorMessage} from '@reltio/mdm-sdk';\nimport i18n from 'ui-i18n';\n\nexport const showServerError = (error) => {\n console.error(error); // eslint-disable-line\n ErrorPopup.addError({\n title: i18n.text('Server Error'),\n message: getRequestErrorMessage(error, i18n.text('Something went wrong...'))\n });\n};\n\nexport const showUpdateSearchStateErrors = (errors = []) => {\n console.error(errors); // eslint-disable-line\n ErrorPopup.addError({\n title: i18n.text('Error'),\n message: i18n.text(\"Can't apply search state\")\n });\n};\n\nexport const showLoadSavedSearchErrors = (errors = []) => {\n console.error(errors); // eslint-disable-line\n ErrorPopup.addError({\n title: i18n.text('Error'),\n message: i18n.text(\"Saved Search can't be applied\")\n });\n};\n\nexport const showImportFromDataTenantError = (error) => {\n console.error(error); // eslint-disable-line\n ErrorPopup.addError({\n title: i18n.text('Import Error'),\n message: i18n.text(\"Record can't be imported\")\n });\n};\n\nexport const showLoadEntityError = (error) => {\n console.error(error); // eslint-disable-line\n ErrorPopup.addError({\n title: i18n.text('Error'),\n message: getRequestErrorMessage(error, i18n.text(\"Can't load entity\"))\n });\n};\n","import {Decimal} from 'decimal.js';\n\nexport const plus = (a, b) => new Decimal(a).add(b);\n\nexport const minus = (a, b) => new Decimal(a).sub(b);\n\nexport const div = (a, b) => new Decimal(a).div(b);\n\nexport const mul = (a, b) => new Decimal(a).mul(b);\n\nexport const greaterThan = (a, b) => Decimal(a).greaterThan(b);\n\nexport const greaterThanOrEqualTo = (a, b) => new Decimal(a).greaterThanOrEqualTo(b);\n\nexport const lessThan = (a, b) => new Decimal(a).lessThan(b);\n\nexport const lessThanOrEqualTo = (a, b) => new Decimal(a).lessThanOrEqualTo(b);\n\nexport const floor = (a) => new Decimal(a).floor();\n\nexport const ceil = (a) => new Decimal(a).ceil();\n\nexport const min = (a, b) => Decimal.min(a, b);\n\nexport const max = (a, b) => Decimal.max(a, b);\n\nexport const equals = (a, b) => new Decimal(a).equals(b);\n\nexport const clamp = (min, max, value) => {\n if (new Decimal(min).gt(max)) {\n throw new Error('min must not be greater than max in clamp(min, max, value)');\n }\n const bigValue = new Decimal(value);\n return bigValue.lt(min) ? min : bigValue.gt(max) ? max : value;\n};\n\nexport const toFixed = (value, digits) => new Decimal(value).toFixed(digits);\n","import {clamp as rclamp} from 'ramda';\n\nexport const plus = (a, b) => Number(a) + Number(b);\n\nexport const minus = (a, b) => a - b;\n\nexport const div = (a, b) => a / b;\n\nexport const mul = (a, b) => a * b;\n\nexport const greaterThan = (a, b) => Number(a) > Number(b);\n\nexport const greaterThanOrEqualTo = (a, b) => Number(a) >= Number(b);\n\nexport const lessThan = (a, b) => Number(a) < Number(b);\n\nexport const lessThanOrEqualTo = (a, b) => Number(a) <= Number(b);\n\nexport const floor = (a) => Math.floor(a);\n\nexport const ceil = (a) => Math.ceil(a);\n\nexport const min = (a, b) => Math.min(a, b);\n\nexport const max = (a, b) => Math.max(a, b);\n\nexport const equals = (a, b) => a === b;\n\nexport const clamp = (min, max, value) => rclamp(Number(min), Number(max), Number(value));\n\nexport const toFixed = (value, digits) => Number(value).toFixed(digits);\n","import queryString from 'query-string';\nimport {compose, memoizeWith, identity} from 'ramda';\nimport {isNumber} from './maybe';\nimport i18n from 'ui-i18n';\nimport {Decimal} from 'decimal.js';\nimport * as BNMath from './bigNumbersMath';\nimport * as NMath from './numbersMath';\n\nlet tenant;\nexport const setTenant = (_tenant) => {\n tenant = _tenant;\n};\n\nlet env;\nexport const setEnvironment = (_env) => {\n env = _env;\n};\n\nexport const getTenant = () => {\n return tenant;\n};\n\nexport const getEnvironment = () => {\n return env ? env.toString() : '';\n};\n\nexport const interpolate = (string, params) => {\n let template = string;\n for (let key in params) {\n template = template.replace(new RegExp('\\\\$\\\\{' + key + '\\\\}', 'g'), params[key]);\n }\n return template;\n};\n\nexport const clone = compose(JSON.parse, JSON.stringify);\n\nexport const redirectTo = (tenant, env) => {\n const searchState = queryString.parse(window.location.search);\n window.location.search = queryString.stringify({...searchState, tenant, env});\n};\n\nexport const log = (i) => {\n console.log(i); //eslint-disable-line\n return i;\n};\n\nexport const formatNumberAsMetric = (value, limit) => {\n if (!isNumber(value)) {\n return '';\n }\n\n const NumMath = getNumbersMath(Decimal.isDecimal(value) && 'Long');\n if (\n NumMath.lessThanOrEqualTo(value, Number.MAX_SAFE_INTEGER) &&\n NumMath.greaterThanOrEqualTo(value, Number.MIN_SAFE_INTEGER)\n ) {\n return NumMath.greaterThan(value, limit || 1000)\n ? i18n.number(value, '0,0.0a').toUpperCase()\n : i18n.number(value, '0,0[.]0');\n } else {\n return NumMath.greaterThan(value, limit || 1000)\n ? i18n.number(NumMath.div(value, 1e12), '0,0.0') + 'T'\n : value.toString();\n }\n};\n\nexport const envSpecificKey = (key) => {\n const tenant = getTenant();\n const env = getEnvironment();\n return `${tenant}_${env}_${key}`;\n};\n\nexport const getNumbersMath = (attrType) => (attrType === 'Long' ? BNMath : NMath);\n\nexport const noop = () => {};\n\nexport const memoizedWrapInArray = memoizeWith(identity, (uri) => [uri]);\n","// prettier-ignore\nexport const lens = (getter, setter) => {\n return {\n get: getter,\n set: setter,\n compose: l => lens(\n obj => l.get(getter(obj)),\n (obj, value) => setter(obj, l.set(getter(obj), value))\n )\n };\n};\n\n// prettier-ignore\nexport const createLens = fieldName => lens(\n obj => obj[fieldName],\n (obj, value) => Object.assign({}, obj, {[fieldName]: value})\n);\nexport function inArrayByIndex(index) {\n return lens(\n (arr) => arr[index],\n (arr, val) => ((arr = [...arr]), (arr[index] = val), arr)\n );\n}\nexport const inObject = createLens;\nexport const prop = (key) => (typeof key === 'string' ? createLens(key) : inArrayByIndex(key));\n\nexport const path = (key, ...keys) => (keys.length ? prop(key).compose(path(...keys)) : prop(key));\n","export const isObject = (value) => typeof value === 'object' && value !== null;\nexport const isNumber = (value) => !isNaN(parseFloat(value)) && isFinite(value);\nexport const isString = (value) => typeof value === 'string' || value instanceof String;\n","// extracted by mini-css-extract-plugin\nexport default {\"container\":\"Headers-styles-container--Zbdka\",\"title\":\"Headers-styles-title--TvsMA\",\"actionsBar\":\"Headers-styles-actionsBar--RXMy4\",\"splitter\":\"Headers-styles-splitter--sCvn6\",\"headerIcon\":\"Headers-styles-headerIcon--c2qe7\",\"previewSwitcher\":\"Headers-styles-previewSwitcher--Ppqem\",\"tabsContainer\":\"Headers-styles-tabsContainer--lhDXc\",\"number\":\"Headers-styles-number--trErH\"};"],"names":["AvatarStates","className","icon","avatarText","rootClasses","otherProps","state","setState","useState","useEffect","ICON_MODE","TEXT_MODE","onImageLoadFail","ERROR_MODE","Avatar","classnames","iconRoot","src","onError","textRoot","useStyles","makeStyles","pagination","display","alignItems","justifyContent","height","borderTop","boxShadow","caption","color","fontSize","lineHeight","selectRoot","marginLeft","marginRight","select","textAlign","actions","BasicTablePagination","classes","count","rowsPerPageOptions","page","onChangePage","rowsPerPage","onChangeRowsPerPage","basicTableRef","labelRowsPerPage","styles","resetScrollbarPosition","useCallback","pathOr","identity","handleChangePage","value","handleChangeRowsPerPage","TablePagination","root","component","i18n","labelDisplayedRows","from","to","fromRow","toRow","countRows","pipe","nthArg","getValue","propTypes","PropTypes","current","React","textOverflow","overflow","whiteSpace","padding","borderRadius","flexShrink","fontWeight","entity","size","metadata","useSelector","mdmModule","entityTypeUri","type","entityType","getEntityType","entityTypeColor","getPropWithInheritance","theme","entityTypeLabel","getEntityTypeLabel","ExpandedValueTooltip","placement","Typography","style","backgroundColor","utils","FacetsActions","_extends","Object","assign","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","this","props","width","viewBox","version","xmlns","stroke","strokeWidth","fill","fillRule","opacity","d","ConfigureColumnsButton","headColumns","onSelectColumns","noop","popupAnchor","setPopupAnchor","filterText","setFilterText","handlePopupClose","handleColumnClick","data","checked","columnsForest","memoizedCollectColumnsForestWithoutLabel","children","getChildrenLeafsByParentId","id","selectedColumns","concat","filter","column","find","child","SmallIconButton","tooltipTitle","ConfigureColumnsIcon","onClick","e","currentTarget","ConfigureColumnsPopup","open","anchorEl","onListItemClick","selected","onClose","onSearch","renderConfigureColumnsPopup","HeadCellRenderer","headCellData","headIndex","sortOrder","sortField","sortHandler","canCheck","onCheck","headerCheckboxState","openConfigColumnPopup","classNames","path","Checkbox","indeterminate","onChange","sortable","TableSortLabel","active","Boolean","direction","label","MoreVertIcon","withTableContext","pick","HeadCellRendererWithCheckbox","EntityProfileRenderer","getLabel","EntityAvatar","avatarClassName","imageClassName","EntityUriLink","getEntityUriForLink","DefaultRenderer","columnData","dataTypeDefinition","DataTypeValue","getTypeGraphIcon","getEntityTypeGraphIcon","getAbsoluteImageUrl","getImagePath","getApiPath","ReferenceRenderer","AvatarWithFallback","refEntity","objectURI","stopPropagation","event","BlobRenderer","onScroll","ImageRenderer","getImageAttributeOvThumbnailUrl","columnInfo","getAttrPathFromColumnId","split","NOT_SORTABLE_COLUMN_IDS","isSortableColumn","includes","getNestedPathByColumnId","columnId","isAttributeSearchUri","attrPath","slice","EntityRowOverlay","isSelectedEntity","isHighlightedEntity","entityImportStatus","onEntityImportStatusChange","ImportModes","EntityRowButtons","values","entitiesImportStatus","selectedEntityUri","highlightedEntityIndex","rowIndex","uri","commonCellWrapperStyles","flexDirection","inactiveCell","background","inactiveBackground","inactiveSelectedBackground","selectedRowCell","lighten","palette","primary","main","clickable","cursor","justImported","withCellDecorationPropTypes","isSelected","onEntityClick","isJustImported","checkboxWrapper","checkbox","withCheckboxPropTypes","isChecked","hasCheckbox","collapser","withCollapseButtonPropTypes","hasCollapseButton","Component","WithCollapseButton","componentProps","restProps","rowValue","CollapseRowButton","WithCheckbox","rawValue","WithCellDecoration","onCellClick","undefined","isInactive","isActiveObject","checkedEntitiesUris","columnIndex","isFirstColumn","defaultRenderRowCell","getAttributeHeight","cell","countAttributes","defaultHeight","Math","max","EntitiesTable","forwardRef","ref","entities","entityToHighlight","onReorderingColumn","dndColumnReorderingEnabled","columnsSize","onChangeColumnsSize","onSort","onEntityHover","logger","resizeDebounceDelay","tableClasses","useMemo","highlightRow","dragColumnHead","dragColumnBody","draggableHeadCell","cellWrapper","hoverRowIndex","setHoverRowIndex","handleRowHover","tableRef","useRef","useImperativeHandle","resetLeft","handleSort","field","SORT_DIRECTION_ASC","order","SORT_DIRECTION_DESC","renderRowOverlay","prop","renderRowCell","RowCellRenderer","hoverStateEnabled","sortingEnabled","columnsData","map","attrType","getAttrDataTypeDefinition","resizable","autoResize","draggable","nestedPath","headCellRenderer","rowCellValueRenderer","getAttributeValueRenderer","getBasicTableColumnsData","rowsData","reduce","acc","assoc","getEntityId","attrSource","getOvAttributeValuesByPath","getRowValueForColumn","getBasicTableRowsData","findIndex","propEq","tableContext","BasicTable","fixFirstColumn","sortFieldClassName","containerClassName","defaultColumnWidth","headRowHeight","defaultColumnMinWidth","defaultRowHeight","sorting","dndColumnReorderingHandler","onRowHover","context","maxRowValuesCount","getRowCellHeight","defaultProps","displayName","memo","INSERT_LEFT","INSERT_RIGHT","HIDE","TEXT","ConfigColumnPopup","Popover","List","action","index","handler","ListItem","button","ListItemText","primaryTypographyProps","variant","renderListItem","getClickHandler","EntitiesTableWithConfigurableColumns","addColumnPopupOpen","configColumnPopupOpen","configurableColumnIndex","addColumnHandler","newColumnPlaceIndex","onChangeColumnsList","columns","splice","closeAddColumnPopup","openAddColumnPopup","parseInt","getAttribute","closeConfigColumnPopup","configColumnHandler","hideCurrentConfigColumn","memoizedGetColumnSize","memoizeWith","getMemoIdForColumnSize","getColumnSizeFromHeadColumns","envSpecificKey","toString","render","entitiesTableRef","additionalColumns","hideCheckBox","titleText","ImportEntityButton","importStatus","onImportStatusChange","hideDelay","dtssPath","tenant","ImportButton","mode","tooltip","importEntityFromDataTenant","customerTenant","then","success","uris","Error","ctSubscribedUris","setTimeout","catch","showImportFromDataTenantError","EntityType","importButtonPlaceholder","position","canImportFromDataTenant","canImport","isDataTenantEntity","canImportEntity","checkCanImportEntityOfType","isEntityImportedToCT","showImportButton","status","query","text","secondary","letterSpacing","READABLE_QUERY_PRIMITIVE_TYPES","ReadableSearchQuery","readableQuery","UPDATE_ENTITIES","UPDATE_URL","CLEAR_RESULTS","REFRESH_DISPLAYED_ENTITIES","REFRESH","CLEAR_ALL","SHOW_MORE_RESULTS_FOR_ENTITY_TYPE","UPDATE_TOTAL","CHANGE_PAGE","RESET_PAGE","CHANGE_ROWS_PER_PAGE","CHANGE_SORT","CHANGE_LOADING","MAP_CHANGE_VALUE","STATE_UPDATED","EXPORT_RESULTS","OPEN_DATA_LOADER","CHANGE_CURRENT_TENANT","appId","ROWS_PER_PAGE_OPTIONS","NUMERIC_RANGE_MIN_VALUE","NUMERIC_RANGE_MAX_VALUE","DATE_RANGE_MIN_VALUE","currentDate","Date","setHours","setFullYear","getFullYear","yearAgoDate","DATE_RANGE_MAX_VALUE","SEARCH_RESULTS_MODES","TABLE","LIST","MAP","DEFAULT_VIEW","PREVIEW_PANEL_MODES","PROFILE","DEFAULT_FACET_PAGE_SIZE","operators","defaultOperator","defaultGroupOperator","STORED_SEARCHES_TYPES","saved","recent","SAVED_SEARCHES_SHARING_OPTIONS_VALUES","public","private","SAVED_SEARCHES_SORTED_FIELDS","name","updateDate","SAVED_SEARCHES_SORT_BY_VALUES","SAVED_SEARCHES_SORT_ORDER_VALUES","ASC","DESC","SAVED_SEARCHES_SHARING_OPTIONS","NOTIFICATION_TYPES","info","error","ML_RULES_ONLY","pmRulesScope","ENTITY_TYPE_FACET_ROW_COUNT","SEARCH_DEBOUNCE_TIME","BULK_UPDATE_SELECTION_MODES","include","exclude","BULK_UPDATE_COMMON_OPERATIONS","UpdateProfiles","DeleteProfiles","BULK_UPDATE_OPERATIONS","AddNew","Clear","ReplaceAllWith","FindAndReplace","FindAndRemove","RepointReference","BULK_UPDATE_OPERATION_LABELS","BULK_UPDATE_ALLOWED_OPERATION_VALUE_FIELDS","BULK_UPDATE_SIMPLE_ATTRIBUTE_OPERATIONS","without","BULK_UPDATE_NESTED_ATTRIBUTE_OPERATIONS","BULK_UPDATE_REFERENCE_ATTRIBUTE_OPERATIONS","BULK_UPDATE_API_OPERATIONS","AddAttribute","UpdateAttribute","DeleteAttribute","RepointReferencedEntity","AddTags","ReplaceTag","DeleteTags","ClearTags","BULK_UPDATE_REFERENCED_ENTITY_ID_FIELD_NAME","DEFAULT_SEARCH_SELECT","PROP_NAME_OPERATOR","PROP_NAME_VALUES","PROP_NAME_FILTER","getEmptyAttributeObject","nanoid","getAttributeObject","attribute","getAttributeData","filterOptions","enforcedFilterOptions","getFilterOptionsForQueryBuilder","fieldName","defaultFindGroupPath","curry","groups","groupIndex","group","createGetGroupLens","groupsLensPath","findGroupPath","createLPath","get","groupPath","createGetAttributesLens","getGroupLens","propNameAttributes","groupId","groupLens","compose","createLens","createGetAttributeIndex","getAttributesLens","attributeId","attributesLens","createGetAttributeLens","attributeIndex","getAttributeIndex","createSetAttributeProp","getAttributeLens","propName","groupAttributeL","newAttribute","set","createGetAttributeProp","addAttributeAfter","groupAttributesL","newAttributes","attrIndex","isLastAttribute","operator","push","changeAttributeData","attributeData","setAttributeProp","newState","currentFilter","isAttributeIncludesFilter","attrLens","setAttributeOperator","deleteAttribute","attributes","editedAttributes","remove","prevAttribute","removedAttribute","duplicateAttribute","setFilter","getAttributeProp","isCompatibleFilters","setValues","toggleQueryBuilderAttributeSelect","attributesPropName","selectInfo","selectedAttribute","selectIndex","selectedAttributes","changeAttribute","clearAttribute","groupAttributes","__","propOr","getGroupAttributeIdAt","put","nextSelectedAttribute","selectIndexFromEnd","targetIndex","collectAttrTypesData","title","faceted","hideForDataTenant","entityAttributes","EntityAttrTypes","workflowAttributes","WorkflowAttrTypes","collaborationItemsAttributes","CollaborationAttrTypes","RDMItemsAttributes","RdmAttrTypes","auditItemsAttributes","AuditAttrTypes","potentialMatchesAttributes","PotentialMatchesAttrTypes","crosswalksItemsAttributes","omit","CrosswalksAttrTypes","getEntityAttributes","getWorkflowAttributes","getCollaborationItemsAttributes","getRDMItemsAttributes","getAuditItemsAttributes","getPotentialMatchesAttributes","dataTenants","evolve","dataTenant","fieldNameForRequest","dataTenantFieldName","getCrosswalksItemsAttributes","createSpecialAttributeItem","pageSize","getPageSizeByAttrType","orderType","getOrderTypeByAttrType","createDataTenantConfigPart","originalTitle","createAttributesGroup","collectSpecialAttributesGroups","attributesFilter","T","canUserReadWorkflowDataTask","_createAttributesGroup","attributesInitial","getSpecialAttribute","specialAttributeGroup","attr","createFacetForSpecialAttrType","facetProps","getFacetTypeForAttrType","singleValue","getDataTenantSpecialAttributeFieldName","additionalAttributesRules","SpecialAttrTypes","check","hasMatchRulesWithoutML","LogoIcon","xmlnsXlink","x1","y1","x2","y2","stopColor","offset","stopOpacity","transform","xlinkHref","x","y","rx","mask","cx","cy","ry","r","hasMlMatchRule","getAdditionalAttributes","additionalAttributes","dataTenantAdditionalAttributes","flatMap","additionalAttribute","getDisableIncludeFilterByAttrType","isFaceted","isComplexAttribute","getAttributeTypeSubAttributes","some","getChildrenAttributes","flat","Infinity","complement","isEmpty","createComplexAttributesConfig","attrNode","createAttributeConfig","parents","resConfig","childNode","createAttributeItem","pathToTitle","Array","isArray","chain","prepareAttrUriForSearch","isComplex","disableIncludeFilter","getAttributesTree","entityOrAttrType","filterFaceted","getAllAttributeTypesTree","either","always","collectAttributeGroups","memoizeOne","selectedEntityTypes","createGroup","onlyOneSelectedEntityType","inSelectedTypes","isOnlyOneSelected","isOnlyOneSelectedReceived","entityTypes","isAvailableEntityType","anyPass","allPass","complexAttributes","collectAdvancedAttributeGroups","findClosestCommonAncestor","flattenGroupedItemsData","groupedItems","getFlattenedItems","items","flatten","item","titleItemIndex","getEntityTypeFacetConfig","_metadata","hiddenTitle","showIcon","barColor","transparentBackground","showDeleteButton","potentialMatchesFacetConfig","specialFacets","getSpecialFacets","dataTenantFacets","createAttributeFacetConfig","memoizedCollectAttributeFacetsGroups","createFacetsGroup","facets","needGroupIcon","collectFacetsList","recommendedFacets","onlyOneEntityTypeSelected","specialGroup","entityTypesGroup","entityTypesFacets","recommendedFacetsConfigs","findFacetConfigByFieldName","reject","isNil","facetConfigs","facetConfig","flattenChildrenForEntityTypeConfigs","entityTypeConfig","getAvailableFacetsGroupsList","getFlatFacets","facet","collectFacetsFlatList","facetGroup","prepareFacetDataForStore","showAllItems","when","is","isComplexFacet","config","FACET_TYPES","isLookupFacet","isLookupAttrType","isPotentialMatchesFacet","startsWith","isMatchRuleFacet","intersection","isMLMatchRuleFacet","isDataTenantFacet","getValuableFacets","not","memoizedCollectSpecialAttributesGroups","getGroupTitle","createAdvancedSearchGroupFromFacets","facetsWithConfigs","facetsToConvert","typeFacet","restFacets","partition","isTypeFacet","attributesList","getFilterOptionForFacet","dataFromFacet","groupName","getFilterValueForFacet","attributeList","hasNotAvailableEntityTypes","any","getAvailableEntityTypesUris","addAvailableEntityTypesIfNeeded","removeNumberForDtssUnavailableEntityTypeItems","tenantObject","availableEntityTypes","number","findConfigByFieldName","configs","console","warn","prepareFacets","lookupsCodes","viewConfig","keys","result","realFieldName","prepareFacet","prepareStatsFacet","statsProcessing","sortByNumber","a","b","numberMoreThanZero","specialFacetsFilter","configHasValue","isMetadataSourcedFacetedAttribute","isEnumAttrType","defaultProcessing","rawData","sort","numericRangeTypeProcessing","Decimal","lookupProcessing","lookupCode","getLookupLabel","enumProcessing","enumerationList","booleanProcessing","formatDataTypeValue","entityTypeProcessing","allowedEntityTypes","orderByArrayComparator","_","lastUriPart","getLastUriPart","roleProcessing","roles","role","sourceSystemsProcessing","sources","matchRulesProcessing","matchGroups","uniqBy","isRaw","entries","uriOrLabel","matchGroup","min","getAttrTypeLookupCode","isBooleanType","getDefaultRangeByType","facetType","fixNaNValue","defaultValue","isNaN","forEach","facetValue","getFacetByFieldName","getAcceptedFacetValues","facetData","acceptedValues","mergeConfigs","configsArray","setFiltersToFacets","facetTypeToFilter","addAvailableEntityTypeValues","ifElse","filterAllowedEntityTypes","getEntityTypeFacetFromState","entityTypeFacet","facetWithDropdownCheckboxes","numericRangeFacet","dateRangeFacet","needFacetsCleanUp","isTypeFacetAction","Facets","Search","buildValuesLabels","masks","dateTimeMask","dateMask","formatValue","DataTypes","range","formatNumberAsMetric","createRangeServiceFor","getRange","Maybe","orSome","needShowAllEntityTypeFacetItems","gt","getLookupsListFromFacets","codeValues","mergeLookupsLists","getUnresolvedLookupsListFromFacet","resolvedLookups","getUnresolvedLookupsList","getConfigForFacet","facetsGroups","isInFacetsConfigs","mergeFacetValuesByFieldName","reduceAdvancedFromFacets","advanced","newSearchParam","attrUri","searchUriToAttrUri","findAttributeTypeByUri","searchParams","reduceNewFacetsData","facetsConfigs","isRangeFacet","getOldRangeFacetValues","showAllEntityTypes","parseAttributeData","attrData","getAttributeTypesHierarchyByUri","parseRegularAttributeData","specialAttr","parseSpecialAttributeData","parseAdditionalAttributeData","parseAttribute","convertOldAdvancedAttribute","OLD_SEARCH_RESULTS_MODES","NEW_SEARCH_RESULTS_MODES","PREVIEW_PANEL_MODES_MAPPING","findActiveTab","tabs","tab","processOldTabs","columnsByEntityTypes","getInitialColumnsByEntityTypes","columnsFromTabs","attributeUriToSearchUri","mergeDeepWith","parseOldSearchOptions","advancedOptions","options","searchByOvOption","searchByOv","ovOnly","replaceSearchResultsColumns","searchResultsColumns","parsedState","assocPath","parseNewSearchState","keyword","view","searchOptions","currentSavedSearchUri","currentTenant","parseAdvancedSearch","facetsData","isAvailableEntityTypeUri","availableFacetsGroupsList","dissoc","getFacetConfig","reduceFacetsConfig","parseFacets","searchResultsMode","entityTypeTab","previewPanelMode","parseOldSearchState","oldState","curSavedSearchUri","useSeparateGroups","getKeywordFromOldSearchState","tenantFacets","nonTenantFacets","typeFacets","nonTypeFacets","convertedFacets","convertOldFacets","isBasicFacetFilter","hasAdvancedFacets","basicFacets","parseOldFacets","advancedFromFacets","parsedFacets","parsedAdvanced","oldAdvancedSearch","fastSearchParams","makeGroup","wrapInArray","sanitizeTypesInSearchGroups","convertTransitionAttributes","isEmptySearchGroup","parseOldAdvancedSearch","newData","groupFromFacets","advancedGroups","facetAttribute","parseOldView","errors","NumMath","getNumbersMath","revertScale","scale","toFixed","div","minus","ratio","begin","head","end","last","lessThanOrEqualTo","formatNumberForRangeFacet","greaterThan","getBarDomain","calcScale","delta","Number","MAX_SAFE_INTEGER","mul","ratioFirstValue","ratioLastValue","lt","MIN_SAFE_INTEGER","applyScale","plus","bigNumbersTickFormatterX","formatter","adjustRange","start","equals","addRanges","interval","firstValue","lastValue","headValues","unfold","n","lessThan","tailValues","getInterval","bars","isFloatingType","ceil","stringifySearch","urlSearchObj","queryString","strict","isNotEmptyParam","param","rawFilter","prepareDataTenantFilters","getFieldNameForRequestRule","extraBuildRules","otherData","cond","basicFilterBuildRules","buildFilterQueryString","wrapQueryWithBrackets","buildQuery","buildQueryTree","buildFilterHierarchyList","buildEntitiesUrl","forceOvOnly","activityFilter","globalFilter","filterParam","addGlobalFilterToQuery","urlSearch","buildSelectParam","scoreEnabled","addToSearchOptions","activeness","splitted","join","buildEntitiesByUrisRequest","entitiesUris","body","url","method","JSON","stringify","headers","selectParams","ActivityFilters","uniq","businessCardAttributeURIsSelectRule","geoLocationAttributesSelectRule","latitude","longitude","collectAdditionalSelect","selectRules","entityTypesForSearch","pluck","additionalAttrs","attrUris","rule","getFirstLevelSearchUri","buildFacetsRequest","excludeFields","extraUrlParams","dataTenantSearchParams","forceInclude","facetBody","pageNo","pageNumber","includeFilter","buildPotentialMatchesFacetUrl","env","getEnvironment","getTenant","preparePotentialMatchesUrlSearch","buildMatchScoresFacetUrl","buildPureSearchQuery","buildHistogramUrl","restOptions","buildStatsUrl","buildTotalUrlQuery","callSearchRequestForTenant","searchRequest","requestForDataTenant","requestProvider","buildTotalUrl","urlQuery","buildTotalUrlForQuery","getAttributeType","groupAttributeFilters","orGroupIndex","filters","isOrOperator","inc","attributeFilters","attributeFilter","getQueryValuesArray","rootFieldName","getRootFieldName","canWrapAnyChildrenInSameAttribute","filterHierarchyList","filterHierarchy","canWrapInSameAttribute","prepareAttributeFilterOperations","disableInSameAttributeValue","operations","attributesOperations","sameRootFieldNameFilters","parseCompositeFilters","isAndOperator","append","getOperationObject","operand","isMultipleComplexValuesFormat","both","propSatisfies","specialFiltersRules","buildBasicFilterString","FilterOptions","isDateType","buildComplexFilterString","joinFilterStrings","buildQueryToOperationObject","filtersRules","extraRules","defaultTo","has","buildGroupQuery","entityTypeCondition","entityTypesPart","toArray","buildQueryForAdvancedSearchGroups","groupsOperations","shiftDownOperators","isValidSearchGroup","attributesQuery","isValidSearchGroupAttribute","operation","shiftUpOperators","buildOperationsToString","groupOperation","isTableMode","collectColumnsForest","excludeIds","collectSpecialColumns","collectAttributeColumns","analyticsAttributes","getAdditionalColumns","deepFilter","elem","isReadableAttribute","subAttrs","parentId","parent","findNodeInForest","getFlatChildrenLeafs","walk","node","nodes","collectColumnsByIds","ids","isNested","defaultTabs","entityTypesFacetData","defaultColumnIds","columnsIds","orderComparator","item1","item2","indexOf","getEntityTypesForTabs","orderInMetadata","metadataOrderComparator","selectedValuesOrderComparator","filteredTabs","buildSelectFromColumns","specialColumns","specialColumn","needRequestAfterColumnsChanges","prevColumns","prevSelect","appConfig","setConfig","getAppConfigParam","getMaxRecommended","showServerError","ErrorPopup","message","getRequestErrorMessage","showUpdateSearchStateErrors","showLoadSavedSearchErrors","showLoadEntityError","add","sub","greaterThanOrEqualTo","floor","clamp","bigValue","digits","rclamp","setTenant","_tenant","setEnvironment","_env","parse","limit","isNumber","toUpperCase","BNMath","NMath","memoizedWrapInArray","lens","getter","setter","l","obj","arr","val","isObject","parseFloat","isFinite"],"sourceRoot":""}