@reltio/remotes 1.4.1600 → 1.4.1602
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/1039.js +1 -1
- package/1146.js +1 -1
- package/1148.js +1 -1
- package/1148.js.map +1 -1
- package/1334.js +1 -1
- package/1425.js +1 -1
- package/1425.js.map +1 -1
- package/1572.js +2 -0
- package/1572.js.map +1 -0
- package/1584.js +1 -1
- package/1584.js.map +1 -1
- package/1664.js +1 -1
- package/1707.js +1 -1
- package/1790.js +1 -1
- package/1840.js +1 -1
- package/1840.js.map +1 -1
- package/1946.js +1 -1
- package/1946.js.map +1 -1
- package/2066.js +1 -1
- package/2066.js.map +1 -1
- package/2201.js +1 -1
- package/2400.js +1 -1
- package/2463.js +1 -1
- package/2463.js.map +1 -1
- package/2579.js +1 -1
- package/2641.js +1 -1
- package/2641.js.map +1 -1
- package/2775.js +1 -1
- package/3096.js +1 -1
- package/3123.js +1 -1
- package/3348.js +1 -1
- package/3358.js +1 -1
- package/3358.js.map +1 -1
- package/3383.js +1 -1
- package/3383.js.map +1 -1
- package/3424.js +1 -1
- package/3424.js.map +1 -1
- package/3463.js +1 -1
- package/3469.js +1 -1
- package/3538.js +1 -1
- package/3538.js.map +1 -1
- package/356.js +1 -1
- package/3603.js +1 -1
- package/3603.js.map +1 -1
- package/3875.js +1 -1
- package/3875.js.map +1 -1
- package/3879.js +1 -1
- package/3902.js +1 -1
- package/3902.js.map +1 -1
- package/3926.js +1 -1
- package/3926.js.map +1 -1
- package/4212.js +1 -1
- package/4390.js +1 -1
- package/4390.js.map +1 -1
- package/4426.js +1 -1
- package/4426.js.map +1 -1
- package/4703.js +1 -1
- package/4703.js.map +1 -1
- package/4806.js +1 -1
- package/4826.js +1 -1
- package/50.js +1 -1
- package/5108.js +1 -1
- package/5108.js.map +1 -1
- package/5171.js +1 -1
- package/5225.js +2 -0
- package/5225.js.map +1 -0
- package/527.js +1 -1
- package/5617.js +1 -1
- package/584.js +1 -1
- package/6020.js +1 -1
- package/6287.js +1 -1
- package/6287.js.map +1 -1
- package/6606.js +1 -1
- package/6606.js.map +1 -1
- package/673.js +1 -1
- package/673.js.map +1 -1
- package/6799.js +1 -1
- package/68.js +1 -1
- package/6844.js +1 -1
- package/6853.js +1 -1
- package/6860.js +1 -1
- package/6903.js +1 -1
- package/7293.js +1 -1
- package/735.js +1 -1
- package/7422.js +1 -1
- package/7422.js.map +1 -1
- package/7436.js +1 -1
- package/764.js +1 -1
- package/764.js.map +1 -1
- package/7829.js +1 -1
- package/7896.js +1 -1
- package/8075.js +1 -1
- package/820.js +1 -1
- package/8207.js +1 -1
- package/8322.js +1 -1
- package/8360.js +1 -1
- package/8360.js.map +1 -1
- package/8565.js +1 -1
- package/8741.js +1 -1
- package/8741.js.map +1 -1
- package/9016.js +1 -1
- package/9251.js +1 -1
- package/9251.js.map +1 -1
- package/9283.js +1 -1
- package/9283.js.map +1 -1
- package/9309.js +1 -1
- package/9328.js +1 -1
- package/9397.js +1 -1
- package/9397.js.map +1 -1
- package/9470.js +1 -1
- package/9622.js +1 -1
- package/9622.js.map +1 -1
- package/9719.js +1 -1
- package/9736.js +1 -1
- package/9736.js.map +1 -1
- package/9854.js +1 -1
- package/9854.js.map +1 -1
- package/9861.js +1 -1
- package/987.js +1 -1
- package/9960.js +1 -1
- package/9960.js.map +1 -1
- package/main.js +1 -1
- package/package.json +1 -1
- package/remoteEntry.js +1 -1
- package/remoteEntry.js.map +1 -1
- package/7056.js +0 -2
- package/7056.js.map +0 -1
- package/9383.js +0 -2
- package/9383.js.map +0 -1
package/3875.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"3875.js","mappings":"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","sources":["webpack://@reltio/remotes/../components/src/components/AvatarWithFallback/AvatarWithFallback.tsx","webpack://@reltio/remotes/../components/src/components/BasicTableView/BasicTable/HOCs/withTableContext.js","webpack://@reltio/remotes/../components/src/icons/Table.tsx","webpack://@reltio/remotes/../components/src/components/BasicTableView/BasicTableHeader/ColumnsSettings/ColumnsSettings.js","webpack://@reltio/remotes/../components/src/components/BasicTableView/BasicTableHeader/ColumnsSettings/styles.js","webpack://@reltio/remotes/../components/src/components/BasicTableView/BasicTableHeader/ColumnsSettings/ColumnListItem.js","webpack://@reltio/remotes/../components/src/components/BasicTableView/BasicTableHeader/ColumnsSettings/ColumnsSettingsPopup.tsx","webpack://@reltio/remotes/../components/src/components/BasicTableView/BasicTableHeader/ColumnsSettings/columnHelpers.js","webpack://@reltio/remotes/../components/src/components/EntityTypeBadge/styles.ts","webpack://@reltio/remotes/../components/src/components/EntityTypeBadge/EntityTypeBadge.tsx","webpack://@reltio/remotes/../components/src/components/ProfileBand/styles.ts","webpack://@reltio/remotes/../components/src/components/ProfileBand/ProfileBand.tsx","webpack://@reltio/remotes/../components/src/components/ProfileBandNavigation/styles.ts","webpack://@reltio/remotes/../components/src/components/ProfileBandNavigation/ProfileBandNavigationWidget.tsx","webpack://@reltio/remotes/../components/src/components/ProfileBandNavigation/searchProviders/MainSearchProvider.ts","webpack://@reltio/remotes/../components/src/components/ProfileBandNavigation/searchProviders/GraphSearchProvider.ts","webpack://@reltio/remotes/../components/src/components/ProfileBandNavigation/helpers/index.ts","webpack://@reltio/remotes/../components/src/components/ProfileBandNavigation/hooks/useSearchNavigation.ts","webpack://@reltio/remotes/../components/src/components/ProfileBandNavigation/searchProviders/SearchProviderFactory.ts","webpack://@reltio/remotes/../components/src/components/ProfileBandNavigation/ProfileBandNavigation.tsx","webpack://@reltio/remotes/../components/src/components/ProfileBandNavigation/hooks/useSearchNavigationVisibility.ts","webpack://@reltio/remotes/../components/src/components/ResizablePanes/styles.ts","webpack://@reltio/remotes/../components/src/components/ResizablePanes/ResizablePanes.tsx","webpack://@reltio/remotes/../components/src/components/SourceIcon/SourceIcon.tsx","webpack://@reltio/remotes/../components/src/components/Spacer/Spacer.js","webpack://@reltio/remotes/../components/src/components/history/ProfileBandHistory/styles.ts","webpack://@reltio/remotes/../components/src/components/history/ProfileBandHistory/ProfileBandHistory.tsx","webpack://@reltio/remotes/../components/src/contexts/ActionsHookContext/index.tsx","webpack://@reltio/remotes/../components/src/contexts/CrosswalksDisplayContext/index.tsx","webpack://@reltio/remotes/../components/src/contexts/EntityLoadingIndicationContext/index.tsx","webpack://@reltio/remotes/../components/src/contexts/LabelsContext/index.ts","webpack://@reltio/remotes/../components/src/hooks/useCollaboration.ts"],"sourcesContent":["import Avatar from '@mui/material/Avatar';\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?: '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 {TableContext} from '../contexts/TableContext';\nimport {withContext} from '../../../../HOCs/withContext/withContext';\n\nconst withTableContext = (contextSelector) => (CellRenderer) =>\n withContext(TableContext, contextSelector, CellRenderer);\n\nexport default withTableContext;\n","import React from 'react';\n\nconst SvgTable: React.FC<React.SVGProps<SVGSVGElement>> = (props) => {\n return (\n <svg width={20} height={18} viewBox=\"0 0 20 18\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path\n d=\"M16 7.24V6h-4v1.24a8.417 8.417 0 00-2 .768V6H6v6h.29a8.497 8.497 0 00-.15.358l-.29.733.29.733.07.176H2c-1.1 0-2-.9-2-2V2C0 .9.9 0 2 0h14c1.1 0 2 .9 2 2v6.008a8.417 8.417 0 00-2-.768zM4 12V6H2v6h2zm0-8V2H2v2h2zm6 0V2H6v2h4zm6 0V2h-4v2h4zm-2 5a6.451 6.451 0 00-6 4.09 6.451 6.451 0 006 4.092 6.451 6.451 0 006-4.091A6.451 6.451 0 0014 9zm0 6.818a2.728 2.728 0 010-5.454 2.728 2.728 0 010 5.454zm0-4.363c-.905 0-1.636.73-1.636 1.636 0 .905.73 1.636 1.636 1.636.905 0 1.636-.73 1.636-1.636 0-.906-.73-1.636-1.636-1.636z\"\n fill=\"#000\"\n fillRule=\"nonzero\"\n stroke=\"none\"\n strokeWidth={1}\n opacity={0.54}\n />\n </svg>\n );\n};\n\nexport default SvgTable;\n","import React, {useCallback, useState} from 'react';\nimport PropTypes from 'prop-types';\nimport {ColumnsDataType} from '../../../../constants';\nimport TableIcon from '../../../../icons/Table';\nimport {SmallIconButtonWithTooltip} from '../../../SmallIconButton';\nimport {pipe, uniq, pluck, difference, concat} from 'ramda';\n\nimport {ColumnsSettingsPopup} from './ColumnsSettingsPopup';\n\nimport i18n from 'ui-i18n';\nimport {getChildColumns, isColumnSelected} from './columnHelpers';\n\nconst ColumnsSettings = ({columnsData, selectedColumns, onChangeColumns, title, tooltipTitle}) => {\n const [anchorEl, setAnchorEl] = useState(null);\n const openPopup = (event) => setAnchorEl(event.currentTarget);\n const closePopup = () => setAnchorEl(null);\n const handleColumnClick = useCallback(\n (column) => {\n const changedColumns = pipe(getChildColumns, pluck('id'))(column);\n const wasSelected = isColumnSelected(selectedColumns, column);\n onChangeColumns(\n wasSelected\n ? difference(selectedColumns, changedColumns)\n : uniq(concat(selectedColumns, changedColumns))\n );\n },\n [selectedColumns, onChangeColumns]\n );\n return (\n <>\n <SmallIconButtonWithTooltip\n tooltipTitle={tooltipTitle || i18n.text('Show/hide columns')}\n size=\"L\"\n icon={TableIcon}\n onClick={openPopup}\n />\n <ColumnsSettingsPopup\n onColumnClick={handleColumnClick}\n anchorEl={anchorEl}\n columnsData={columnsData}\n onClose={closePopup}\n title={title}\n selectedColumns={selectedColumns}\n />\n </>\n );\n};\n\nColumnsSettings.propTypes = {\n columnsData: ColumnsDataType,\n selectedColumns: PropTypes.arrayOf(PropTypes.string),\n onChangeColumns: PropTypes.func,\n title: PropTypes.string,\n tooltipTitle: PropTypes.string\n};\n\nexport default ColumnsSettings;\n","import {makeStyles} from '@mui/styles';\n\nexport const useStyles = makeStyles({\n popup: {\n minWidth: '200px'\n },\n groupItem: {\n backgroundColor: 'rgba(0,0,0,0.04)'\n }\n});\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport AttributeListItem from '../../../AttributeListItem/AttributeListItem';\nimport Highlighter from '../../../Highlighter/Highlighter';\n\nimport classnames from 'classnames';\nimport {useStyles} from './styles';\n\nconst ColumnListItem = ({item, onClick, checked, level, style, isFocused, isGroupItem, hideCheckBox}) => {\n const styles = useStyles();\n return (\n <AttributeListItem\n hideCheckBox={hideCheckBox}\n key={item.id}\n onClick={onClick}\n checked={checked}\n level={level}\n data={item}\n label={<Highlighter text={item.label} highlight={item.filterText} />}\n labelInText={item.label}\n style={style}\n isFocused={isFocused}\n hideIcon={isGroupItem}\n className={classnames({[styles.groupItem]: isGroupItem})}\n />\n );\n};\n\nColumnListItem.propTypes = {\n item: PropTypes.shape({\n label: PropTypes.string,\n filterText: PropTypes.string\n }),\n level: PropTypes.number,\n onClick: PropTypes.func,\n checked: PropTypes.bool,\n style: PropTypes.object,\n isGroupItem: PropTypes.bool,\n isFocused: PropTypes.bool,\n hideCheckBox: PropTypes.bool\n};\n\nexport default ColumnListItem;\n","import React, {useState, useMemo, useCallback} from 'react';\nimport i18n from 'ui-i18n';\nimport {pipe} from 'ramda';\n\nimport {getMaxItemWidth, DataTypeDefinition} from '@reltio/mdm-sdk';\n\nimport VirtualGroupedList from '../../../VirtualGroupedList/VirtualGroupedList';\nimport SelectionPopup from '../../../SelectionPopup/SelectionPopup';\nimport {buildColumnItems, isColumnSelected, isGroupColumn} from './columnHelpers';\nimport {flattenGroupedItemsData} from '../../../VirtualGroupedList/helpers';\nimport {useKeyboardNavigation} from '../../../SelectionPopup/helpers';\nimport ColumnListItem from './ColumnListItem';\n\nimport {useStyles} from './styles';\nimport {ListItemProps} from '@mui/material/ListItem';\n\ntype Column = {\n id: string;\n label: string;\n};\n\ntype GroupedColumnData =\n | {\n id: string;\n label: string;\n columns: Column[];\n }\n | Column;\n\ntype GroupedColumnList = {\n id: string;\n groupId: string;\n label: string;\n attrType: DataTypeDefinition;\n};\n\ntype Props = {\n anchorEl: HTMLElement;\n onClose: () => void;\n title?: string;\n columnsData: GroupedColumnData[];\n onColumnClick: (column: {id: string}) => void;\n selectedColumns: string[];\n hideCheckBox?: boolean;\n};\n\nconst ITEM_HEIGHT = 32;\nconst MAX_LIST_CONTAINER_HEIGHT = 300;\nconst DEFAULT_MIN_CONTAINER_WIDTH = 308;\nconst CONTAINER_HEADER_HEIGHT = 108;\nconst MIN_CONTAINER_HEIGHT = 140;\n\nexport const ColumnsSettingsPopup = ({\n anchorEl,\n onClose,\n title,\n columnsData,\n onColumnClick,\n selectedColumns,\n hideCheckBox\n}: Props) => {\n const styles = useStyles();\n const [filterText, setFilterText] = useState('');\n const clearFilter = () => setFilterText('');\n const groupedItems = useMemo(() => buildColumnItems(columnsData, filterText), [columnsData, filterText]);\n\n const items = useMemo(() => flattenGroupedItemsData(groupedItems), [groupedItems]);\n const containerWidth: number = getMaxItemWidth('label')(groupedItems) || DEFAULT_MIN_CONTAINER_WIDTH;\n\n const handleSearchOnEnter = useCallback(\n ({item}: {item: {id: string}; groupData: {item: {id: string}}}) => onColumnClick(item),\n [onColumnClick]\n );\n\n const {focusIndex, handleKeyDown} = useKeyboardNavigation({\n items,\n open: true,\n onSelectFocusedItem: handleSearchOnEnter,\n selectedItems: selectedColumns,\n onClose\n });\n const handleClose = useCallback(pipe(onClose, clearFilter), [onClose]);\n\n const renderColumnItem = (\n style: ListItemProps['style'],\n {item, level = 0}: {item: GroupedColumnList; level?: number},\n index: number\n ) => {\n return (\n <ColumnListItem\n hideCheckBox={hideCheckBox}\n style={style}\n item={item}\n level={level}\n isFocused={focusIndex === index}\n checked={isColumnSelected(selectedColumns, item)}\n isGroupItem={isGroupColumn(item)}\n onClick={hideCheckBox ? pipe(onColumnClick, handleClose) : onColumnClick}\n />\n );\n };\n\n const listHeight = Math.min(MAX_LIST_CONTAINER_HEIGHT, ITEM_HEIGHT * items.length);\n const containerHeight = Math.max(MIN_CONTAINER_HEIGHT, listHeight + CONTAINER_HEADER_HEIGHT);\n\n return (\n <SelectionPopup\n className={styles.popup}\n open={!!anchorEl}\n anchorEl={anchorEl}\n onClose={handleClose}\n onSearch={setFilterText}\n title={title || i18n.text('Show/hide columns')}\n containerWidth={containerWidth}\n containerHeight={containerHeight}\n searchInputOnKeyDown={handleKeyDown}\n >\n <VirtualGroupedList\n fixedTitle={false}\n height={listHeight}\n renderItem={renderColumnItem}\n items={items}\n getItemSize={() => ITEM_HEIGHT}\n focusIndex={focusIndex}\n />\n </SelectionPopup>\n );\n};\n","import {assoc, chain, curry, either, filter, has, pipe, propOr, reduce, when} from 'ramda';\nimport {utils} from '@reltio/mdm-sdk';\n\nconst isGroupColumn = (column) => column.id === column.groupId;\nconst isParentToColumn = curry(\n ({id, groupId}, parent) => parent.groupId === groupId && (id === parent.id || id.startsWith(`${parent.id}.`))\n);\nconst isGroupToColumn = curry(({groupId}, group) => groupId === group.id);\nconst isHideableColumn = propOr(true, 'hideable');\n\nconst getColumnRoot = (columns, column) => columns.find(either(isGroupToColumn(column), isParentToColumn(column)));\n\nconst addColumn = (columns, column) => {\n const root = getColumnRoot(columns, column);\n if (root) {\n root.children = addColumn(root.children || [], column);\n return columns;\n } else {\n return columns.concat(column);\n }\n};\n\nconst filterColumnsByLabel = curry(\n (filterText, column) =>\n utils.strings.search(column.label, filterText) || (column.children || []).some(filterColumnsByLabel(filterText))\n);\n\nconst buildColumnsTrees = reduce(\n (acc, columnData) =>\n addColumn(acc, {\n id: columnData.id,\n groupId: columnData.groupId,\n label: columnData.label,\n attrType: columnData.dataTypeDefinition\n }),\n []\n);\n\nconst buildFilteredColumnItems = curry((filterText, columns, level = 0) =>\n pipe(\n filter(filterColumnsByLabel(filterText)),\n chain((column) => {\n const item = {\n item: {...column, filterText},\n level\n };\n const childrenItems = column.children\n ? buildFilteredColumnItems(filterText, column.children, level + 1)\n : [];\n return [item, ...childrenItems];\n })\n )(columns)\n);\n\nconst isGroupedColumnsData = has('columns');\nconst flattenGroupedColumnsData = ({id, label, columns}) => [\n {id, groupId: id, label},\n ...columns.map(assoc('groupId', id))\n];\n\nconst buildColumnItems = (columnsData, filterText) => {\n return pipe(\n chain(when(isGroupedColumnsData, flattenGroupedColumnsData)),\n filter(either(isGroupColumn, isHideableColumn)),\n buildColumnsTrees,\n buildFilteredColumnItems(filterText)\n )(columnsData);\n};\n\nconst getChildColumns = (column) => (column.children ? chain(getChildColumns, column.children) : [column]);\n\nconst isColumnSelected = (selectedColumns, column) => {\n const childColumns = getChildColumns(column);\n const isColumnSelected = (column) => selectedColumns.includes(column.id);\n return isGroupColumn(column) ? childColumns.every(isColumnSelected) : childColumns.some(isColumnSelected);\n};\n\nexport {buildColumnItems, getChildColumns, isGroupColumn, isColumnSelected};\n","import {makeStyles} from '@mui/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 from '@mui/material/Typography';\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 color = entityType ? getPropWithInheritance(metadata, entityType, 'typeColor') : null;\n const entityTypeColor = color || 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","import {makeStyles} from '@mui/styles';\n\nexport const useStyles = makeStyles((theme) => ({\n profileBandWrapper: {\n // especially for IE (overflow fix)\n flexShrink: 0\n },\n profileBand: {\n display: 'flex',\n padding: '16px 12px 16px 16px',\n alignItems: 'flex-start',\n backgroundColor: '#fff',\n boxShadow: '0px 1px 0px rgba(0, 0, 0, 0.12)',\n marginBottom: '1px',\n '&:after': {\n // IE workaround for minHeight and centering items\n content: '\"\"',\n minHeight: 'inherit',\n fontSize: 0\n }\n },\n inactive: {\n background: theme.inactiveBackground\n },\n profileIcon: {\n marginRight: '12px'\n },\n imageProfileIcon: {\n width: '48px',\n height: '48px'\n },\n profileInfo: {\n display: 'flex',\n flexDirection: 'column',\n flex: '1 1 50%'\n },\n badge: {},\n label: {\n lineHeight: '1.2',\n letterSpacing: '0.25px',\n color: theme.palette.text.primary,\n wordBreak: 'break-word',\n\n '&+ $specialInfo': {\n marginTop: '4px'\n }\n },\n secondaryLabel: {\n display: 'inline-flex',\n color: theme.palette.text.primary,\n marginTop: '2px',\n lineHeight: '16px',\n fontSize: '14px',\n fontWeight: 400,\n\n '&+ $businessCard': {\n marginLeft: '12px'\n }\n },\n businessCard: {\n color: theme.palette.text.secondary,\n display: 'inline-flex',\n fontSize: '14px',\n marginTop: '4px',\n lineHeight: '1.2'\n },\n specialInfo: {\n display: 'flex',\n justifyContent: 'space-between',\n flexWrap: 'wrap',\n width: '100%',\n marginTop: '8px'\n },\n entityType: {\n display: 'flex',\n flexWrap: 'wrap'\n },\n entityId: {\n fontSize: '13px',\n color: theme.palette.text.secondary,\n whiteSpace: 'nowrap',\n cursor: 'pointer',\n '&:hover': {\n textDecoration: 'underline'\n }\n }\n}));\n\nexport default useStyles;\n","import React, {ReactNode, useCallback} from 'react';\nimport classnames from 'classnames';\nimport {useSelector} from 'react-redux';\nimport {isNil, identity} from 'ramda';\nimport Typography from '@mui/material/Typography';\nimport Tooltip from '@mui/material/Tooltip';\nimport i18n from 'ui-i18n';\n\nimport {getLabel, isActiveObject, getBusinessCardAttributesText, getEntityId, isTempUri, Entity} from '@reltio/mdm-sdk';\nimport mdmModule from '@reltio/mdm-module';\n\nimport EntityAvatar from '../EntityAvatar/EntityAvatar';\nimport EntityTypeBadge from '../EntityTypeBadge/EntityTypeBadge';\n\nimport useStyles from './styles';\n\ntype Props = {\n className?: string;\n entity?: Entity;\n children?: ReactNode;\n classes?: Partial<ReturnType<typeof useStyles>>;\n renderLabel?: (label: string) => React.ReactNode;\n};\n\nconst ProfileBand = ({className, entity, children, classes, renderLabel = identity}: Props) => {\n const styles = useStyles({classes});\n const metadata = useSelector(mdmModule.selectors.getMetadata);\n const showEntityId = useSelector(mdmModule.selectors.getShowEntityId);\n const handleCopyEntityIdToClipboard = useCallback(() => {\n navigator.clipboard.writeText(getEntityId(entity));\n }, [entity]);\n\n if (isNil(entity)) {\n return null;\n }\n\n const label = getLabel(entity.label);\n const secondaryLabel = entity.secondaryLabel;\n const businessCardText = getBusinessCardAttributesText(metadata, entity);\n const isActive = isActiveObject(entity);\n const entityUri = entity.uri;\n const entityId = getEntityId(entity);\n return (\n <div className={classnames(styles.profileBandWrapper, className)}>\n <div\n className={classnames(styles.profileBand, {\n [styles.inactive]: !isActive\n })}\n data-entity-uri={entityUri}\n >\n <EntityAvatar\n key={entity.uri}\n entity={entity}\n avatarClassName={styles.profileIcon}\n imageClassName={styles.imageProfileIcon}\n />\n <div className={styles.profileInfo}>\n <div>\n <Typography variant=\"h6\" className={styles.label}>\n {renderLabel(label)}\n </Typography>\n {secondaryLabel && (\n <Typography variant=\"subtitle2\" className={styles.secondaryLabel}>\n {secondaryLabel}\n </Typography>\n )}\n {businessCardText && (\n <Typography variant=\"subtitle1\" className={styles.businessCard}>\n {businessCardText}\n </Typography>\n )}\n </div>\n <div className={styles.specialInfo}>\n <div className={styles.entityType}>\n <EntityTypeBadge entity={entity} size=\"medium\" className={styles.badge} />\n {!isTempUri(entityUri) && showEntityId && (\n <Tooltip title={i18n.text('Copy to clipboard')}>\n <Typography\n display=\"inline\"\n variant=\"body2\"\n className={styles.entityId}\n onClick={handleCopyEntityIdToClipboard}\n >\n {i18n.text('Entity ID')}: {entityId}\n </Typography>\n </Tooltip>\n )}\n </div>\n </div>\n </div>\n {children && <div>{children}</div>}\n </div>\n </div>\n );\n};\n\nexport default ProfileBand;\n","import {makeStyles} from '@mui/styles';\n\nexport const useStyles = makeStyles({\n container: {\n display: 'flex',\n alignItems: 'center'\n },\n link: {\n whiteSpace: 'nowrap',\n marginRight: '9px'\n }\n});\n","import React, {useContext} from 'react';\nimport Link from '@mui/material/Link';\nimport KeyboardArrowLeft from '@mui/icons-material/KeyboardArrowLeft';\nimport KeyboardArrowRight from '@mui/icons-material/KeyboardArrowRight';\nimport {formatNumberAsMetric} from '@reltio/mdm-sdk';\nimport classnames from 'classnames';\nimport {mergeRight} from 'ramda';\nimport i18n from 'ui-i18n';\nimport {LabelsContext} from '../../contexts/LabelsContext';\nimport {withTooltip} from '../../HOCs';\nimport {SmallIconButtonWithTooltip} from '../SmallIconButton';\nimport {useStyles} from './styles';\n// NEED TO MIGRATE\nconst LinkWithTooltip = withTooltip<typeof Link, {component: string}>(Link);\n\ntype Props = {\n className?: string;\n total?: number;\n onPrev?: () => void;\n onNext?: () => void;\n onSearchResultsClick?: () => void;\n isPrevDisabled?: boolean;\n isNextDisabled?: boolean;\n};\n\nconst ProfileBandNavigationWidget = ({\n className,\n total = 0,\n onPrev,\n onNext,\n onSearchResultsClick,\n isPrevDisabled,\n isNextDisabled\n}: Props) => {\n const styles = useStyles();\n const labels = useContext(LabelsContext);\n const {OPEN_RESULTS, SEARCH_RESULT, SEARCH_RESULTS, NEXT_PROFILE, PREVIOUS_PROFILE} = mergeRight(\n {\n OPEN_RESULTS: i18n.text('Go to search results'),\n SEARCH_RESULT: i18n.text('Search result'),\n SEARCH_RESULTS: i18n.text('Search results'),\n PREVIOUS_PROFILE: i18n.text('Go to previous profile'),\n NEXT_PROFILE: i18n.text('Go to next profile')\n },\n labels?.profileBand ?? {}\n );\n return (\n <div className={classnames(styles.container, className)}>\n <LinkWithTooltip\n className={styles.link}\n component=\"button\"\n variant=\"caption\"\n onClick={onSearchResultsClick}\n underline=\"none\"\n tooltipTitle={OPEN_RESULTS}\n >\n {formatNumberAsMetric(total, 1000000)} {total === 1 ? SEARCH_RESULT : SEARCH_RESULTS}\n </LinkWithTooltip>\n <SmallIconButtonWithTooltip\n size=\"L\"\n icon={KeyboardArrowLeft}\n data-reltio-id=\"reltio-previous-profile-button\"\n tooltipTitle={PREVIOUS_PROFILE}\n onClick={onPrev}\n disabled={isPrevDisabled}\n showForDisabled\n />\n <SmallIconButtonWithTooltip\n size=\"L\"\n icon={KeyboardArrowRight}\n data-reltio-id=\"reltio-next-profile-button\"\n tooltipTitle={NEXT_PROFILE}\n onClick={onNext}\n disabled={isNextDisabled}\n showForDisabled\n />\n </div>\n );\n};\n\nexport {ProfileBandNavigationWidget, LinkWithTooltip};\n","import {\n Entity,\n getFilteredEntities,\n getFilteredEntitiesFromDataTenant,\n getTotals,\n getTotalFromDataTenant,\n TotalResponse\n} from '@reltio/mdm-sdk';\n\nimport {SearchProvider} from './SearchProvider';\n\nexport class MainSearchProvider implements SearchProvider {\n private readonly query;\n private readonly sortField;\n private readonly sortOrder;\n private readonly tenant;\n private readonly searchTenant;\n private readonly apiPath;\n private readonly dtssPath;\n private readonly globalSearchRequestOptions;\n\n constructor({\n data: {query, sortField, sortOrder},\n tenant,\n searchTenant,\n apiPath,\n dtssPath,\n globalSearchRequestOptions\n }) {\n this.query = query;\n this.sortField = sortField;\n this.sortOrder = sortOrder;\n this.tenant = tenant;\n this.searchTenant = searchTenant;\n this.apiPath = apiPath;\n this.dtssPath = dtssPath;\n this.globalSearchRequestOptions = globalSearchRequestOptions;\n }\n\n private isDT = () => this.tenant !== this.searchTenant;\n\n private getQueryFilter = () => ({rawFilter: this.query});\n\n private getEntities = (filters = [], options = {}): Promise<Entity[]> => {\n const requestFilters = [this.getQueryFilter(), ...filters];\n const requestOptions = {\n ...this.globalSearchRequestOptions,\n sort: this.sortField,\n order: this.sortOrder,\n select: 'uri,label,type',\n scoreEnabled: false,\n ...options\n };\n return this.isDT()\n ? getFilteredEntitiesFromDataTenant({\n filters: requestFilters,\n options: requestOptions,\n customerTenant: this.tenant,\n dataTenant: this.searchTenant,\n dtssPath: this.dtssPath\n })\n : getFilteredEntities(requestFilters, requestOptions);\n };\n\n checkEntity = (uri): Promise<boolean> => {\n return this.getEntities(\n [\n {\n filter: 'equals',\n fieldName: 'uri',\n values: [uri]\n }\n ],\n {offset: 0, max: 1}\n ).then((entities) => {\n return entities && entities.length > 0 && entities[0].uri === uri;\n });\n };\n\n requestEntities = (max, offset): Promise<Entity[]> => {\n return this.getEntities([], {offset, max});\n };\n\n requestTotal = (): Promise<number> => {\n const filters = [this.getQueryFilter()];\n const options = this.globalSearchRequestOptions;\n return (\n this.isDT()\n ? getTotalFromDataTenant({\n filters,\n options,\n customerTenant: this.tenant,\n dataTenant: this.searchTenant,\n dtssPath: this.dtssPath\n })\n : getTotals(filters, options)\n ).then((json) => (json as TotalResponse).total);\n };\n}\n","import {\n Entity,\n getGraphSearchCount,\n getGraphSearchEntities,\n getEntityId,\n buildFilterQueryString\n} from '@reltio/mdm-sdk';\n\nimport {SearchProvider} from './SearchProvider';\n\nexport class GraphSearchProvider implements SearchProvider {\n private readonly searchBody;\n private readonly tenant;\n private readonly apiPath;\n\n constructor({data, tenant, apiPath}) {\n this.searchBody = data;\n this.tenant = tenant;\n this.apiPath = apiPath;\n }\n\n private getEntities = (filters = [], options = {}): Promise<Entity[]> => {\n const allFilters = [\n {\n rawFilter: this.searchBody.filter\n },\n ...filters\n ];\n return getGraphSearchEntities({\n apiPath: this.apiPath,\n tenant: this.tenant,\n searchBody: {\n ...this.searchBody,\n filter: filters.length ? buildFilterQueryString()(allFilters) : this.searchBody.filter\n },\n options\n });\n };\n\n checkEntity = (uri): Promise<boolean> => {\n return this.getEntities(\n [\n {\n filter: 'equals',\n fieldName: 'id',\n values: [getEntityId({uri})]\n }\n ],\n {from: 0, max: 1}\n ).then((entities) => {\n return entities && entities.length > 0 && entities[0].uri === uri;\n });\n };\n\n requestEntities = (max, from): Promise<Entity[]> => {\n return this.getEntities([], {from, max});\n };\n\n requestTotal = (): Promise<number> => {\n return getGraphSearchCount({\n apiPath: this.apiPath,\n tenant: this.tenant,\n searchBody: this.searchBody\n }).then((json) => json.count);\n };\n}\n","import {SearchNavigationData} from '../types';\n\ntype Payload = {\n winnerUri: string;\n losersUris: string[];\n};\n\nconst replaceWithWinnerUri = (searchNavigationData: SearchNavigationData, winnerUri: string): SearchNavigationData => {\n let {uri, index, total, cache} = searchNavigationData;\n if (winnerUri && winnerUri !== uri) {\n if (cache && cache.includes(uri)) {\n cache = [...cache];\n const winnerIndex = cache.indexOf(winnerUri);\n let uriIndex = cache.indexOf(uri);\n if (winnerIndex >= 0) {\n cache.splice(winnerIndex, 1);\n total--;\n if (winnerIndex < uriIndex) {\n index--;\n }\n }\n uriIndex = cache.indexOf(uri);\n cache.splice(uriIndex, 1, winnerUri);\n }\n uri = winnerUri;\n return {\n ...searchNavigationData,\n uri,\n index,\n cache,\n total\n };\n }\n return searchNavigationData;\n};\n\nconst removeLosersUris = (searchNavigationData: SearchNavigationData, losersUris: string[]): SearchNavigationData => {\n const {cache = [], index, total, uri} = searchNavigationData;\n const losersInCache = losersUris.filter((uri) => cache.includes(uri));\n if (losersInCache.length === 0) {\n return searchNavigationData;\n }\n const updatedTotal = total - losersInCache.length;\n const uriIndex = cache.indexOf(uri);\n let updatedIndex = index;\n for (const loser of losersInCache) {\n const loserIndex = cache.indexOf(loser);\n if (loserIndex < uriIndex) {\n updatedIndex--;\n }\n }\n const updatedCache = cache.filter((uri) => !losersInCache.includes(uri));\n\n return {\n ...searchNavigationData,\n cache: updatedCache,\n index: updatedIndex,\n total: updatedTotal\n };\n};\n\nexport const applyMergeToSearchNavigationData = (\n searchNavigationData: SearchNavigationData,\n payload: Payload\n): SearchNavigationData => {\n const {winnerUri, losersUris = []} = payload;\n const updatedSearchNavigationData = replaceWithWinnerUri(searchNavigationData, winnerUri);\n return removeLosersUris(updatedSearchNavigationData, losersUris);\n};\n","import {useCallback, useContext, useEffect, useMemo, useState} from 'react';\nimport {useDispatch, useSelector} from 'react-redux';\nimport mdmModule, {search as mdmModuleSearch, ui as mdmModuleUi} from '@reltio/mdm-module';\nimport {getEntityUriForLink} from '@reltio/mdm-sdk';\nimport {map, pipe, prop, reject} from 'ramda';\nimport {useEntityLoadingIndication, useActionsHook, ViewIdContext} from '../../../contexts';\nimport {useSafePromise} from '../../../hooks';\nimport {getSearchProvider} from '../searchProviders/SearchProviderFactory';\nimport {SearchNavigationData, SearchProviderData} from '../types';\nimport {applyMergeToSearchNavigationData} from '../helpers';\n\nexport const REQUEST_PAGE_SIZE = 15;\n\nconst getNewUris = (entities, cache) =>\n pipe(\n map(prop('uri')),\n reject((uri) => cache.includes(uri))\n )(entities);\n\nconst useSearchNavigation = () => {\n const safeCheckEntityPromise = useSafePromise();\n const safeRequestTotalPromise = useSafePromise();\n const safeRequestEntitiesPromise = useSafePromise();\n const {\n uri,\n index,\n total,\n tenant: searchTenant,\n cache\n } = useSelector<unknown, SearchNavigationData>(mdmModule.selectors.getSearchNavigationData) || {};\n const {type, data} = useSelector<unknown, SearchProviderData>(mdmModule.selectors.getSearchProviderData) || {};\n const tenant = useSelector<unknown, string>(mdmModule.selectors.getTenant);\n const apiPath = useSelector<unknown, string>(mdmModule.selectors.getApiPath);\n const dtssPath = useSelector<unknown, string>(mdmModule.selectors.getDtssPath);\n const globalSearchRequestOptions = useSelector((state) =>\n mdmModule.selectors.getGlobalSearchRequestOptions(state, ['ovOnly'])\n );\n const {updateEntitiesNavigationLoadingState} = useEntityLoadingIndication();\n const viewId = useContext(ViewIdContext);\n const dispatch = useDispatch();\n const [loading, setLoading] = useState<boolean>(false);\n\n const searchProvider = useMemo(\n () => getSearchProvider(type, {data, tenant, searchTenant, apiPath, dtssPath, globalSearchRequestOptions}),\n [type, data, tenant, searchTenant, apiPath, dtssPath, globalSearchRequestOptions]\n );\n\n const updateNavigationData = useCallback(\n (data: Partial<SearchNavigationData>) => {\n dispatch(mdmModuleSearch.actions.updateSearchNavigationDataFields(data));\n },\n [dispatch]\n );\n\n const openEntity = useCallback(\n (uri: string) => {\n const preparedUri = tenant !== searchTenant ? getEntityUriForLink({uri, dataTenant: searchTenant}) : uri;\n dispatch(mdmModuleUi.actions.openEntity({uri: preparedUri, viewId, source: 'navigation'}));\n },\n [dispatch, viewId, tenant, searchTenant]\n );\n\n const onSearchResultsClick = useCallback(() => {\n dispatch(mdmModuleUi.actions.openPerspective({perspectiveId: type, viewId}));\n }, [dispatch, type, viewId]);\n\n useEffect(() => {\n if (index >= total) {\n updateNavigationData({\n index: total - 1\n });\n } else if (index < 0) {\n updateNavigationData({\n index: 0\n });\n }\n }, [total, index, updateNavigationData]);\n\n const listenToActions = useActionsHook();\n\n useEffect(() => {\n const stopListeningActions = listenToActions((action, state) => {\n switch (action.type) {\n case mdmModuleSearch.constants.UPDATE_SEARCH_NAVIGATION_DATA_ON_MERGE: {\n const searchNavigationData: SearchNavigationData =\n mdmModule.selectors.getSearchNavigationData(state);\n if (searchNavigationData) {\n updateNavigationData(applyMergeToSearchNavigationData(searchNavigationData, action.payload));\n }\n break;\n }\n }\n });\n return () => stopListeningActions();\n }, [listenToActions, updateNavigationData]);\n\n const requestNextPage = useCallback(\n (cache: string[], total: number, index: number): Promise<void> => {\n setLoading(true);\n safeRequestTotalPromise(searchProvider.requestTotal()).then((total) => updateNavigationData({total}));\n\n const newIndex = index + 1;\n return safeRequestEntitiesPromise(searchProvider.requestEntities(REQUEST_PAGE_SIZE, newIndex))\n .then((entities) => {\n if (!entities) {\n return;\n }\n if (entities.length) {\n const newUris = getNewUris(entities, cache);\n if (newUris.length > 0) {\n updateNavigationData({\n cache: cache.concat(newUris),\n uri: newUris[0],\n index: newIndex + entities.length - newUris.length\n });\n openEntity(newUris[0]);\n return;\n } else if (index + entities.length < total - 1) {\n return requestNextPage(cache, total - entities.length, index + entities.length);\n }\n }\n updateNavigationData({\n index: newIndex\n });\n })\n .finally(() => {\n setLoading(false);\n });\n },\n [searchProvider, updateNavigationData, openEntity]\n );\n\n const requestPrevPage = useCallback(\n (cache: string[], index: number): Promise<void> => {\n setLoading(true);\n safeRequestTotalPromise(searchProvider.requestTotal()).then((total) => updateNavigationData({total}));\n\n const newIndex = index - 1;\n const offset = Math.max(0, index - REQUEST_PAGE_SIZE);\n const max = REQUEST_PAGE_SIZE + Math.min(0, index - REQUEST_PAGE_SIZE);\n return safeRequestEntitiesPromise(searchProvider.requestEntities(max, offset))\n .then((entities) => {\n if (!entities) {\n return;\n }\n if (entities.length) {\n const newUris = getNewUris(entities, cache);\n if (newUris.length > 0) {\n updateNavigationData({\n cache: newUris.concat(cache),\n uri: newUris[newUris.length - 1],\n index: newIndex - (entities.length - newUris.length)\n });\n openEntity(newUris[newUris.length - 1]);\n return;\n } else if (index - entities.length > 0) {\n return requestPrevPage(cache, index - entities.length);\n }\n }\n updateNavigationData({\n index: 0\n });\n })\n .finally(() => {\n setLoading(false);\n });\n },\n [searchProvider, updateNavigationData, openEntity]\n );\n\n const stepForwardWithCheck = useCallback(\n (cache: string[], cacheIndex: number, total: number, index: number): Promise<void> | void => {\n if (cacheIndex < cache.length) {\n const uri = cache[cacheIndex];\n setLoading(true);\n return safeCheckEntityPromise(searchProvider.checkEntity(uri))\n .then((isExists) => {\n if (isExists) {\n updateNavigationData({\n index: index + 1,\n uri,\n cache,\n total\n });\n openEntity(uri);\n } else {\n const clearedCache = [...cache];\n clearedCache.splice(cacheIndex, 1);\n return stepForwardWithCheck(clearedCache, cacheIndex, total - 1, index);\n }\n })\n .finally(() => {\n setLoading(false);\n });\n } else if (index >= total - 1) {\n updateNavigationData({\n cache,\n total,\n index: total - 1\n });\n } else {\n return requestNextPage(cache, total, index);\n }\n },\n [searchProvider, updateNavigationData, openEntity, requestNextPage]\n );\n\n const stepBackWithCheck = useCallback(\n (cache: string[], cacheIndex: number, total: number, index: number): Promise<void> | void => {\n if (cacheIndex > -1) {\n const uri = cache[cacheIndex];\n setLoading(true);\n return safeCheckEntityPromise(searchProvider.checkEntity(uri))\n .then((isExists) => {\n if (isExists) {\n updateNavigationData({\n index: index - 1,\n uri,\n cache,\n total\n });\n openEntity(uri);\n } else {\n const clearedCache = [...cache];\n clearedCache.splice(cacheIndex, 1);\n return stepBackWithCheck(clearedCache, cacheIndex - 1, total - 1, index - 1);\n }\n })\n .finally(() => {\n setLoading(false);\n });\n } else if (index <= 0) {\n updateNavigationData({\n index: 0,\n cache,\n total\n });\n } else {\n return requestPrevPage(cache, index);\n }\n },\n [searchProvider, updateNavigationData, openEntity, requestPrevPage]\n );\n\n const onPrev = useCallback(() => {\n if (cache && uri) {\n const cacheIndex = cache.indexOf(uri) - 1;\n stepBackWithCheck(cache, cacheIndex, total, index);\n }\n }, [stepBackWithCheck, cache, uri, total, index]);\n\n const onNext = useCallback(() => {\n if (cache && uri) {\n const cacheIndex = cache.indexOf(uri) + 1;\n stepForwardWithCheck(cache, cacheIndex, total, index);\n }\n }, [stepForwardWithCheck, cache, uri, total, index]);\n\n useEffect(() => {\n updateEntitiesNavigationLoadingState(loading);\n }, [updateEntitiesNavigationLoadingState, loading]);\n\n useEffect(() => {\n return () => updateEntitiesNavigationLoadingState(false);\n }, []);\n\n const isPrevDisabled = loading || index <= 0;\n const isNextDisabled = loading || index >= total - 1;\n return {total, onPrev, onNext, onSearchResultsClick, isPrevDisabled, isNextDisabled};\n};\n\nexport {useSearchNavigation};\n","import {MainSearchProvider} from './MainSearchProvider';\nimport {GraphSearchProvider} from './GraphSearchProvider';\n\nexport const getSearchProvider = (type: string, options) => {\n switch (type) {\n case 'search':\n return new MainSearchProvider(options);\n case 'graphsearch':\n return new GraphSearchProvider(options);\n }\n};\n","import React from 'react';\n\nimport {ProfileBandNavigationWidget} from './ProfileBandNavigationWidget';\nimport {useSearchNavigation} from './hooks/useSearchNavigation';\nimport {useSearchNavigationVisibility} from './hooks/useSearchNavigationVisibility';\n\ntype Props = {\n className?: string;\n};\n\nconst ProfileBandNavigation = ({className}: Props) => {\n const {total, onPrev, onNext, onSearchResultsClick, isPrevDisabled, isNextDisabled} = useSearchNavigation();\n const isVisible = useSearchNavigationVisibility();\n return isVisible ? (\n <ProfileBandNavigationWidget\n className={className}\n total={total}\n onPrev={onPrev}\n onNext={onNext}\n onSearchResultsClick={onSearchResultsClick}\n isPrevDisabled={isPrevDisabled}\n isNextDisabled={isNextDisabled}\n />\n ) : null;\n};\n\nexport {ProfileBandNavigation};\n","import {useSelector} from 'react-redux';\nimport mdmModule from '@reltio/mdm-module';\nimport {Entity, isViewMode} from '@reltio/mdm-sdk';\nimport {SearchNavigationData} from '../types';\n\nconst useSearchNavigationVisibility = () => {\n const {cache} = useSelector<unknown, SearchNavigationData>(mdmModule.selectors.getSearchNavigationData) || {};\n const mode = useSelector<unknown, string>(mdmModule.selectors.getMode);\n const entity = useSelector<unknown, Entity>(mdmModule.selectors.getEntity);\n\n return isViewMode(mode) && cache?.includes(entity?.uri);\n};\n\nexport {useSearchNavigationVisibility};\n","import {makeStyles} from '@mui/styles';\n\nconst useStyles = makeStyles(() => ({\n container: {\n position: 'relative',\n '& .Resizer': {\n zIndex: 1,\n boxSizing: 'border-box',\n backgroundClip: 'padding-box',\n '&.disabled': {\n cursor: 'initial',\n height: 0,\n margin: 0\n },\n '&.horizontal': {\n height: '11px',\n backgroundImage: 'linear-gradient(rgba(0,0,0,0.33), rgba(0,0,0,0.33))',\n backgroundRepeat: 'no-repeat',\n backgroundSize: '100% 1px',\n backgroundPosition: 'top',\n width: '100%',\n marginBottom: '-10px',\n '&:not(.disabled):hover': {\n cursor: 'row-resize',\n backgroundImage:\n 'linear-gradient(rgba(0, 114, 206, 0), rgba(0, 114, 206, 0.35), rgba(0, 114, 206, 1))',\n backgroundSize: '100% 3px'\n }\n },\n '&.vertical': {\n width: '11px',\n backgroundImage: 'linear-gradient(rgba(0,0,0,0.33), rgba(0,0,0,0.33))',\n backgroundRepeat: 'no-repeat',\n backgroundSize: '1px 100%',\n backgroundPosition: 'left',\n height: '100%',\n marginRight: '-10px',\n '&:not(.disabled):hover': {\n cursor: 'col-resize',\n backgroundImage:\n 'linear-gradient(to left, rgba(0, 114, 206, 0.35), rgba(0, 114, 206, 1), rgba(0, 114, 206, 0.35))',\n backgroundSize: '3px 100%'\n }\n }\n }\n }\n}));\n\nexport {useStyles};\n","import React, {useCallback, useMemo, useState} from 'react';\nimport classnames from 'classnames';\nimport SplitPane from 'react-split-pane';\nimport {useTheme} from '@mui/material/styles';\nimport {debounce} from '@reltio/mdm-sdk';\n\nimport {useStyles} from './styles';\n\nconst HANDLE_CHANGE_DEBOUNCE_INTERVAL = 250;\n\nconst isHorizontal = (orientation) => orientation === 'horizontal';\n\nexport type Size = string | number;\ntype OnChange = {\n size: number;\n percentageSize: string;\n isMaxSize: boolean;\n isMinSize: boolean;\n};\n\ntype Props = {\n className?: string;\n children: React.ReactElement[];\n allowResize?: boolean;\n primary?: 'first' | 'second';\n minSize?: Size;\n maxSize?: Size;\n defaultSize?: Size;\n debounceInterval?: number;\n size?: Size;\n orientation?: 'vertical' | 'horizontal';\n onChange?: ({size, percentageSize, isMaxSize, isMinSize}: OnChange) => void;\n};\n\nexport const ResizablePanes = ({\n className,\n children,\n orientation,\n primary,\n defaultSize,\n size,\n minSize,\n maxSize,\n allowResize,\n debounceInterval = HANDLE_CHANGE_DEBOUNCE_INTERVAL,\n onChange\n}: Props) => {\n const styles = useStyles();\n const theme = useTheme();\n const [containerEl, setContainerEl] = useState(null);\n const [isPaneAnimationEnabled, setIsPaneAnimationEnabled] = useState(true);\n\n const enableAnimation = useCallback(() => setIsPaneAnimationEnabled(true), []);\n const disableAnimation = useCallback(() => setIsPaneAnimationEnabled(false), []);\n const getContainerSize = () => (isHorizontal(orientation) ? containerEl?.clientHeight : containerEl?.clientWidth);\n\n const handleChange = useCallback(\n debounce((size) => {\n const containerSize = getContainerSize();\n onChange({\n percentageSize: `${(size / containerSize) * 100}%`,\n isMaxSize: +maxSize > 0 ? size === maxSize : size === containerSize + maxSize,\n isMinSize: size === minSize,\n size\n });\n }, debounceInterval),\n [onChange, orientation, maxSize, containerEl]\n );\n\n const paneAnimationStyle = useMemo(\n () => ({\n transition: theme.transitions.create(isHorizontal(orientation) ? 'height' : 'width', {\n easing: theme.transitions.easing.sharp,\n duration: theme.transitions.duration.leavingScreen\n })\n }),\n [orientation, theme]\n );\n\n if (typeof size === 'number' && size < 0) {\n size = (getContainerSize() || 0) + size;\n }\n\n return (\n <div ref={setContainerEl} className={classnames(styles.container, className)}>\n <SplitPane\n split={orientation}\n size={size}\n primary={primary}\n allowResize={allowResize}\n onChange={handleChange}\n defaultSize={defaultSize}\n minSize={minSize}\n maxSize={maxSize}\n onDragStarted={disableAnimation}\n onDragFinished={enableAnimation}\n pane1Style={isPaneAnimationEnabled ? paneAnimationStyle : undefined}\n >\n {children}\n </SplitPane>\n </div>\n );\n};\n\nResizablePanes.displayName = 'ResizablePanes';\n","import React from 'react';\nimport {useSelector} from 'react-redux';\nimport mdmModule from '@reltio/mdm-module';\nimport {findSourceSystemByUri, getAbsoluteImageUrl, getSourceSystemLabel, Source} from '@reltio/mdm-sdk';\nimport AvatarWithFallback from '../AvatarWithFallback/AvatarWithFallback';\n\ntype Props = {\n sourceType: string;\n className?: string;\n classes?: {\n iconRoot?: string;\n textRoot?: string;\n };\n};\nconst SOURCE_URL = 'https://s3.amazonaws.com/reltio.images/api';\nconst SourceIcon = ({sourceType, className, classes}: Props) => {\n const metadata = useSelector(mdmModule.selectors.getMetadata);\n const {uri, icon}: Source = findSourceSystemByUri(metadata, sourceType) || {};\n const avatarText = uri ? getSourceSystemLabel(metadata, uri)[0] : '';\n const sourceIcon = icon ? getAbsoluteImageUrl(SOURCE_URL, icon) : null;\n\n return (\n <AvatarWithFallback\n className={className}\n avatarText={avatarText}\n icon={sourceIcon}\n variant=\"square\"\n rootClasses={classes}\n />\n );\n};\n\nexport default SourceIcon;\n","import React from 'react';\n\nconst Spacer = () => <div style={{flex: 1}} />;\n\nexport default Spacer;\n","import {makeStyles} from '@mui/styles';\n\nexport const useStyles = makeStyles({\n root: {\n display: 'flex',\n alignItems: 'flex-start'\n },\n slice: {\n fontWeight: 500\n },\n cancelButton: {\n width: '88px',\n flexShrink: 0,\n marginLeft: '15px'\n }\n});\n","import React from 'react';\nimport {useDispatch, useSelector} from 'react-redux';\nimport mdmModule, {profile} from '@reltio/mdm-module';\nimport Button from '@mui/material/Button';\nimport Typography from '@mui/material/Typography';\nimport {pipe} from 'ramda';\nimport i18n from 'ui-i18n';\n\nimport {useStyles} from './styles';\n\nconst ProfileBandHistory = () => {\n const styles = useStyles();\n\n const historyEvent = useSelector(mdmModule.selectors.getHistoryEvent);\n const dispatch = useDispatch();\n const onCancel = pipe(profile.history.actions.clearHistoryEvent, dispatch);\n\n return historyEvent ? (\n <div className={styles.root}>\n <Typography component={'div'}>\n {i18n.text('You are viewing a historic slice:')}{' '}\n <span className={styles.slice}>{i18n.date(historyEvent.aStamp, 'llll')}</span>\n </Typography>\n <Button className={styles.cancelButton} variant=\"contained\" color=\"primary\" onClick={onCancel}>\n {i18n.text('Cancel')}\n </Button>\n </div>\n ) : null;\n};\n\nexport default ProfileBandHistory;\n","import React, {createContext, useContext} from 'react';\nimport {AnyAction} from 'redux';\n\ntype ActionsHook = (listener: (action: AnyAction, state: any) => void) => () => void;\n\nconst ActionsHookContext = createContext<ActionsHook | null>(null);\nActionsHookContext.displayName = 'ActionsHookContext';\n\ntype ProviderProps = {\n hook: ActionsHook;\n children: React.ReactNode;\n};\n\nexport const ActionsHookProvider = ({children, hook}: ProviderProps) => {\n return <ActionsHookContext.Provider value={hook}>{children}</ActionsHookContext.Provider>;\n};\n\nexport const useActionsHook = () => {\n const listenToActions = useContext(ActionsHookContext);\n if (!listenToActions) {\n throw new Error('ActionsHookContext must be provided');\n }\n return listenToActions;\n};\n","import React, {createContext, useCallback, useContext} from 'react';\nimport {CrosswalkBase, getCrosswalkColor, getCrosswalkId} from '@reltio/mdm-sdk';\nimport {pipe, eqBy} from 'ramda';\nimport {noop} from '../../core';\n\nconst CrosswalksDisplayContext = createContext(null);\n\ntype ProviderProps = {\n children: React.ReactNode;\n getCrosswalkColor?: (crosswalk: CrosswalkBase) => string;\n focusedCrosswalks?: CrosswalkBase[];\n highlightedCrosswalks?: CrosswalkBase[];\n toggleCrosswalkFocus?: (crosswalk: CrosswalkBase) => void;\n setCrosswalkHighlighted?: (crosswalk: CrosswalkBase, highlighted: boolean) => void;\n};\n\nexport const CrosswalksDisplayProvider = ({children, ...props}: ProviderProps) => {\n return <CrosswalksDisplayContext.Provider value={props}>{children}</CrosswalksDisplayContext.Provider>;\n};\n\nexport const useCrosswalkColor = (crosswalk?: CrosswalkBase) => {\n const {getCrosswalkColor: getColor = pipe(getCrosswalkId, getCrosswalkColor)} =\n useContext(CrosswalksDisplayContext) || {};\n return crosswalk ? getColor(crosswalk) : '';\n};\n\nexport const useHighlightedCrosswalks = () => {\n const {highlightedCrosswalks = []} = useContext(CrosswalksDisplayContext) || {};\n return highlightedCrosswalks;\n};\n\nexport const useCrosswalkHighlight = (crosswalk?: CrosswalkBase) => {\n const {highlightedCrosswalks = [], setCrosswalkHighlighted = noop} = useContext(CrosswalksDisplayContext) || {};\n const isHighlighted = !!crosswalk && !!highlightedCrosswalks.find(eqBy(getCrosswalkId, crosswalk));\n return {\n isHighlighted,\n isDimmed: highlightedCrosswalks.length > 0 && !isHighlighted,\n highlightCrosswalk: useCallback(\n () => setCrosswalkHighlighted(crosswalk, true),\n [crosswalk, setCrosswalkHighlighted]\n ),\n removeHighlight: useCallback(\n () => setCrosswalkHighlighted(crosswalk, false),\n [crosswalk, setCrosswalkHighlighted]\n )\n };\n};\n\nexport const useCrosswalkFocus = (crosswalk?: CrosswalkBase) => {\n const {toggleCrosswalkFocus = noop, focusedCrosswalks = []} = useContext(CrosswalksDisplayContext) || {};\n const isFocused = !!crosswalk && focusedCrosswalks.some(eqBy(getCrosswalkId, crosswalk));\n return {\n isFocused,\n toggleCrosswalkFocus: useCallback(() => toggleCrosswalkFocus(crosswalk), [crosswalk, toggleCrosswalkFocus])\n };\n};\n","import React, {useState, useCallback, useContext} from 'react';\nimport {noop} from '../../core/utils';\n\ntype LoadingState = {\n entitiesNavigation: boolean;\n entity: boolean;\n};\n\ntype ContextValue = {\n isLoading: boolean;\n updateEntityLoadingState: (loading: boolean) => void;\n updateEntitiesNavigationLoadingState: (loading: boolean) => void;\n resetLoadingState: () => void;\n};\n\nconst EntityLoadingIndicationContext = React.createContext<ContextValue>({\n isLoading: false,\n updateEntityLoadingState: noop,\n updateEntitiesNavigationLoadingState: noop,\n resetLoadingState: noop\n});\n\nconst defaultLoadingState: LoadingState = {entitiesNavigation: false, entity: false};\n\nconst useEntityLoadingIndicationHook = () => {\n const [loadingState, setLoadingState] = useState(defaultLoadingState);\n\n const updateEntityLoadingState = useCallback((loading: boolean) => {\n setLoadingState((prevLoadingState) => ({...prevLoadingState, entity: loading}));\n }, []);\n\n const updateEntitiesNavigationLoadingState = useCallback((loading: boolean) => {\n setLoadingState((prevLoadingState) => ({...prevLoadingState, entitiesNavigation: loading}));\n }, []);\n\n const resetLoadingState = useCallback(() => {\n setLoadingState(defaultLoadingState);\n }, []);\n\n const isLoading = Object.values(loadingState).includes(true);\n\n return {isLoading, updateEntityLoadingState, updateEntitiesNavigationLoadingState, resetLoadingState};\n};\n\ntype Props = {\n children: React.ReactNode;\n};\n\nexport const EntityLoadingIndicationProvider = ({children}: Props) => {\n const value = useEntityLoadingIndicationHook();\n return <EntityLoadingIndicationContext.Provider value={value}>{children}</EntityLoadingIndicationContext.Provider>;\n};\n\nexport const useEntityLoadingIndication = () => {\n return useContext(EntityLoadingIndicationContext);\n};\n","import React from 'react';\n\ntype Labels = {\n profileBand: {\n OPEN_RESULTS?: string;\n SEARCH_RESULT?: string;\n SEARCH_RESULTS?: string;\n NEXT_PROFILE?: string;\n PREVIOUS_PROFILE?: string;\n };\n};\nexport const LabelsContext = React.createContext<Labels>({\n profileBand: {}\n});\n\nLabelsContext.displayName = 'LabelsContext';\n","import {useCallback, useEffect, useState} from 'react';\nimport {useSelector} from 'react-redux';\nimport {\n andThen,\n fromPairs,\n map,\n otherwise,\n pipe,\n props,\n uniqBy,\n prop,\n propEq,\n when,\n always,\n assocPath,\n dissocPath,\n path,\n pathOr,\n mergeRight\n} from 'ramda';\nimport {\n CollaborationObjectTypes,\n Comment,\n CommentsMap,\n createComment as createCommentRequest,\n createReply as createReplyRequest,\n getComment as getCommentRequest,\n getCommentsCount as getCommentsCountRequest,\n Reply,\n updateComment as updateCommentRequest,\n updateReply as updateReplyRequest,\n deleteComment as deleteCommentRequest,\n deleteReply as deleteReplyRequest,\n getComments as getCommentsRequest,\n isTempUri,\n CollaborationStateMap,\n CommentState\n} from '@reltio/mdm-sdk';\nimport mdm from '@reltio/mdm-module';\n\ntype Props = {\n objectIds?: string[];\n objectTypes?: CollaborationObjectTypes[];\n enabled?: boolean;\n};\n\nconst filterReplies = (replyId: string, replies: Reply[]) => replies.filter((reply) => reply.replyId !== replyId);\n\nconst getUpdatedReplies = (comment: Comment, reply: Reply) => {\n const changedReplyIndex = comment.replies.findIndex(({replyId}) => replyId === reply.replyId);\n const newReplies = [...comment.replies];\n newReplies[changedReplyIndex] = reply;\n return newReplies;\n};\n\nconst defaultObjectIds = [];\nconst catchErrorInRequest = (e) => console.error('Collaboration error', e);\nexport const useCollaboration = ({objectIds = defaultObjectIds, objectTypes, enabled = true}: Props) => {\n const entity = useSelector(mdm.selectors.getEntity);\n const tenant: string = useSelector(mdm.selectors.getTenant);\n const collaborationPath: string = useSelector(mdm.selectors.getCollaborationPath);\n const isCollaborationEnabled = useSelector(mdm.selectors.isCollaborationEnabled) && enabled;\n\n const [pageToken, setPageToken] = useState<string | null>(null);\n const [comments, setComments] = useState<Comment[]>([]);\n const [commentsMap, setCommentsMap] = useState<CommentsMap>(null);\n const [currentComment, setCurrentComment] = useState<Comment | null>(null);\n const [sending, setSending] = useState(false);\n const [loading, setLoading] = useState(false);\n const [collaborationStateMap, setCollaborationStateMap] = useState<CollaborationStateMap>({});\n\n const addCommentsToCommentsMap = useCallback((commentsMap: CommentsMap) => {\n setCommentsMap((currentCommentsMap) => ({\n ...currentCommentsMap,\n ...commentsMap\n }));\n }, []);\n const entityUri = entity?.uri;\n const getCommentsCount = useCallback(\n (objectIds: string[], shouldResetCommentsMap = false) => {\n if (isCollaborationEnabled && entityUri && !isTempUri(entityUri)) {\n const onError = (e) => {\n console.warn('Collaboration error', e);\n setCommentsMap(null);\n };\n pipe(\n getCommentsCountRequest,\n andThen(map(props(['objectId', 'comments']))),\n andThen(fromPairs),\n andThen(shouldResetCommentsMap ? setCommentsMap : addCommentsToCommentsMap),\n otherwise(onError)\n )({uris: objectIds, tenant, collaborationPath});\n } else {\n setCommentsMap(null);\n }\n },\n [addCommentsToCommentsMap, collaborationPath, entityUri, isCollaborationEnabled, tenant]\n );\n\n useEffect(() => {\n getCommentsCount(objectIds, true);\n }, [objectIds, getCommentsCount]);\n\n const getComments = useCallback(\n (relatedObjectUri: string, pageToken?: string) => {\n getCommentsRequest({collaborationPath, tenant, relatedObjectUri, pageToken})\n .then(({items, nextPageToken}) => {\n setComments((prevComments) => {\n if (!pageToken) {\n return items;\n }\n return uniqBy(prop('commentId'), [...prevComments, ...items]);\n });\n setPageToken(nextPageToken);\n })\n .catch(catchErrorInRequest);\n },\n [collaborationPath, tenant]\n );\n\n const getComment = useCallback(\n (commentId: string) => {\n setLoading(true);\n\n getCommentRequest({collaborationPath, tenant, commentId})\n .then(setCurrentComment)\n .catch(catchErrorInRequest)\n .finally(() => setLoading(false));\n },\n [collaborationPath, tenant]\n );\n\n const addCommentToState = (comment: Comment, uri: string) => {\n setCurrentComment(comment);\n setCommentsMap((prevCommentsMap) => {\n return {\n ...prevCommentsMap,\n [uri]: [...(prevCommentsMap[uri] || []), {commentId: comment.commentId, replies: 0, status: 'open'}]\n };\n });\n setComments((prevComments) => [comment, ...prevComments]);\n };\n const updateCommentInState = (comment: Comment) => {\n setCurrentComment(comment);\n setComments(map(when(propEq('commentId', comment.commentId), always(comment))));\n };\n const deleteCommentFromState = (commentId: string, uri: string) => {\n setCurrentComment(null);\n setCommentsMap((prevCommentsMap) => {\n const comments = prevCommentsMap[uri] || [];\n return {\n ...prevCommentsMap,\n [uri]: comments.filter((c) => c.commentId !== commentId)\n };\n });\n setComments((prevComments) => {\n return prevComments.filter((comment) => comment.commentId !== commentId);\n });\n };\n const createComment = useCallback(\n ({content, namedUsers, objectType, uri, relatedObjectUris}) => {\n setSending(true);\n\n const data = {\n objectId: uri,\n content,\n relatedObjectUris,\n objectType,\n visibility: 'public',\n namedUsers,\n permanentLink: `${window.location.href}&commentId=${encodeURIComponent('{commentId}')}`\n };\n\n return createCommentRequest({collaborationPath, tenant, data})\n .then(([comment]) => addCommentToState(comment, uri))\n .catch(catchErrorInRequest)\n .finally(() => setSending(false));\n },\n [collaborationPath, tenant]\n );\n\n const editComment = useCallback(\n ({content, namedUsers, objectType, uri, relatedObjectUris, commentId, replies}) => {\n setSending(true);\n\n const data = {\n objectId: uri,\n content,\n relatedObjectUris,\n objectType,\n visibility: 'public',\n namedUsers,\n commentId,\n replies\n };\n\n return updateCommentRequest({collaborationPath, tenant, data})\n .then((comment) => updateCommentInState({...comment, replies}))\n .catch(catchErrorInRequest)\n .finally(() => setSending(false));\n },\n [collaborationPath, tenant]\n );\n\n const deleteComment = useCallback(\n ({uri, commentId}) => {\n setSending(true);\n\n deleteCommentRequest({collaborationPath, tenant, commentId})\n .then(() => deleteCommentFromState(commentId, uri))\n .catch(catchErrorInRequest)\n .finally(() => setSending(false));\n },\n [collaborationPath, tenant]\n );\n\n const updateReplyInState = useCallback((reply: Reply, uri: string, commentId: string, isDeleteReply?: boolean) => {\n const newStatus = reply.action === 'resolve' ? 'resolved' : 'open';\n const {replyId} = reply;\n if (newStatus === 'resolved') {\n setCurrentComment((prevCurrentComment) => {\n if (prevCurrentComment) {\n return null;\n }\n });\n } else {\n setCurrentComment((prevCurrentComment) => {\n if (prevCurrentComment) {\n return {\n ...prevCurrentComment,\n replies: isDeleteReply\n ? filterReplies(replyId, prevCurrentComment.replies)\n : [...prevCurrentComment.replies, reply]\n };\n }\n });\n }\n\n setCommentsMap((prevCommentsMap) => ({\n ...prevCommentsMap,\n [uri]: (prevCommentsMap[uri] || []).map((comment) => {\n if (comment.commentId === commentId) {\n return {\n ...comment,\n status: newStatus,\n replies: isDeleteReply ? comment.replies - 1 : comment.replies + 1\n };\n }\n\n return comment;\n })\n }));\n\n setComments((prevComments) => {\n return prevComments.map((comment) => {\n if (comment.commentId === commentId) {\n return {\n ...comment,\n status: newStatus,\n replies: isDeleteReply\n ? filterReplies(reply.replyId, comment.replies)\n : [...comment.replies, reply]\n };\n }\n\n return comment;\n });\n });\n }, []);\n\n const deleteReply = useCallback(\n ({uri, commentId, reply}) => {\n setSending(true);\n\n deleteReplyRequest({collaborationPath, tenant, commentId, replyId: reply.replyId})\n .then(() => updateReplyInState(reply, uri, commentId, true))\n .catch(catchErrorInRequest)\n .finally(() => setSending(false));\n },\n [collaborationPath, updateReplyInState, tenant]\n );\n\n const editReplyInState = useCallback((reply: Reply, commentId: string) => {\n setCurrentComment((prevCurrentComment) => {\n if (prevCurrentComment) {\n return {\n ...prevCurrentComment,\n replies: getUpdatedReplies(prevCurrentComment, reply)\n };\n }\n });\n\n setComments((prevComments) => {\n return prevComments.map((comment) => {\n if (comment.commentId === commentId) {\n return {\n ...comment,\n replies: getUpdatedReplies(comment, reply)\n };\n }\n\n return comment;\n });\n });\n }, []);\n\n const editReply = useCallback(\n ({content, namedUsers, commentId, replyId}) => {\n setSending(true);\n const data = {\n content,\n namedUsers\n };\n return updateReplyRequest({collaborationPath, tenant, commentId, replyId, data})\n .then((reply) => editReplyInState(reply, commentId))\n .catch(catchErrorInRequest)\n .finally(() => setSending(false));\n },\n [collaborationPath, tenant, editReplyInState]\n );\n\n const createReply = useCallback(\n ({content, namedUsers, commentId, action, uri}) => {\n setSending(true);\n\n const data = {\n content,\n action,\n namedUsers\n };\n\n return createReplyRequest({collaborationPath, tenant, commentId, data})\n .then(([reply]) => updateReplyInState(reply, uri, commentId))\n .catch(catchErrorInRequest)\n .finally(() => setSending(false));\n },\n [collaborationPath, tenant, updateReplyInState]\n );\n\n const resolveThread = useCallback(\n ({commentId, uri}) => {\n createReply({content: '', namedUsers: [], commentId, action: 'resolve', uri});\n },\n [createReply]\n );\n\n const reOpenThread = useCallback(\n ({commentId, uri}) => {\n createReply({content: '', namedUsers: [], commentId, action: 'reopen', uri});\n },\n [createReply]\n );\n\n const clearCurrentComment = useCallback(() => {\n setCurrentComment(null);\n }, []);\n\n const getCommentState = (uri: string, commentUri: string) => pathOr({}, [uri, commentUri], collaborationStateMap);\n\n const clearCommentState = (uri: string, commentUri: string) =>\n setCollaborationStateMap(dissocPath([uri, commentUri]));\n\n const updateCommentState = (uri: string, commentUri: string, newState: CommentState) => {\n setCollaborationStateMap((prevCollaborationStateMap) => {\n const pathToCommentState = [uri, commentUri];\n const prevCommentState = path(pathToCommentState, prevCollaborationStateMap);\n return assocPath(pathToCommentState, mergeRight(prevCommentState, newState), prevCollaborationStateMap);\n });\n };\n\n return {\n clearCurrentComment,\n comments,\n commentsMap,\n getCommentState,\n updateCommentState,\n clearCommentState,\n createComment,\n createReply,\n currentComment,\n deleteComment,\n editComment,\n getComment,\n getComments,\n getCommentsCount,\n loading,\n objectTypes,\n pageToken,\n reOpenThread,\n resolveThread,\n sending,\n deleteReply,\n editReply\n };\n};\n"],"names":["AvatarStates","className","icon","avatarText","rootClasses","otherProps","state","setState","useState","useEffect","ICON_MODE","TEXT_MODE","onImageLoadFail","ERROR_MODE","classnames","iconRoot","src","onError","textRoot","contextSelector","CellRenderer","withContext","TableContext","props","width","height","viewBox","xmlns","d","fill","fillRule","stroke","strokeWidth","opacity","ColumnsSettings","columnsData","selectedColumns","onChangeColumns","title","tooltipTitle","anchorEl","setAnchorEl","handleColumnClick","useCallback","column","changedColumns","pipe","getChildColumns","pluck","wasSelected","isColumnSelected","difference","uniq","concat","SmallIconButton","i18n","size","TableIcon","onClick","event","currentTarget","ColumnsSettingsPopup","onColumnClick","onClose","propTypes","ColumnsDataType","PropTypes","useStyles","makeStyles","popup","minWidth","groupItem","backgroundColor","ColumnListItem","item","checked","level","style","isFocused","isGroupItem","hideCheckBox","styles","AttributeListItem","key","id","data","label","Highlighter","text","highlight","filterText","labelInText","hideIcon","setFilterText","groupedItems","useMemo","buildColumnItems","items","flattenGroupedItemsData","containerWidth","getMaxItemWidth","handleSearchOnEnter","focusIndex","handleKeyDown","useKeyboardNavigation","open","onSelectFocusedItem","selectedItems","handleClose","listHeight","Math","min","length","containerHeight","max","SelectionPopup","onSearch","searchInputOnKeyDown","VirtualGroupedList","fixedTitle","renderItem","index","isGroupColumn","getItemSize","groupId","isParentToColumn","curry","parent","startsWith","isGroupToColumn","group","isHideableColumn","propOr","addColumn","columns","root","find","either","getColumnRoot","children","filterColumnsByLabel","utils","some","buildColumnsTrees","reduce","acc","columnData","attrType","dataTypeDefinition","buildFilteredColumnItems","filter","chain","isGroupedColumnsData","has","flattenGroupedColumnsData","map","assoc","when","childColumns","includes","every","textOverflow","overflow","whiteSpace","padding","fontSize","lineHeight","marginRight","borderRadius","flexShrink","fontWeight","entity","metadata","useSelector","mdmModule","entityTypeUri","type","entityType","getEntityType","entityTypeColor","getPropWithInheritance","theme","entityTypeLabel","getEntityTypeLabel","ExpandedValueTooltip","value","placement","Typography","color","component","profileBandWrapper","profileBand","display","alignItems","boxShadow","marginBottom","content","minHeight","inactive","background","inactiveBackground","profileIcon","imageProfileIcon","profileInfo","flexDirection","flex","badge","letterSpacing","palette","primary","wordBreak","marginTop","secondaryLabel","marginLeft","businessCard","secondary","specialInfo","justifyContent","flexWrap","entityId","cursor","textDecoration","classes","renderLabel","identity","showEntityId","handleCopyEntityIdToClipboard","navigator","clipboard","writeText","getEntityId","isNil","getLabel","businessCardText","getBusinessCardAttributesText","isActive","isActiveObject","entityUri","uri","EntityAvatar","avatarClassName","imageClassName","variant","EntityTypeBadge","isTempUri","Tooltip","container","link","LinkWithTooltip","withTooltip","Link","ProfileBandNavigationWidget","total","onPrev","onNext","onSearchResultsClick","isPrevDisabled","isNextDisabled","labels","useContext","LabelsContext","OPEN_RESULTS","SEARCH_RESULT","SEARCH_RESULTS","NEXT_PROFILE","PREVIOUS_PROFILE","mergeRight","underline","formatNumberAsMetric","KeyboardArrowLeft","disabled","showForDisabled","KeyboardArrowRight","MainSearchProvider","constructor","query","sortField","sortOrder","tenant","searchTenant","apiPath","dtssPath","globalSearchRequestOptions","isDT","this","getQueryFilter","rawFilter","getEntities","filters","options","requestFilters","requestOptions","sort","order","select","scoreEnabled","getFilteredEntitiesFromDataTenant","customerTenant","dataTenant","getFilteredEntities","checkEntity","fieldName","values","offset","then","entities","requestEntities","requestTotal","getTotalFromDataTenant","getTotals","json","GraphSearchProvider","searchBody","allFilters","getGraphSearchEntities","buildFilterQueryString","from","getGraphSearchCount","count","getNewUris","cache","prop","reject","useSearchNavigation","safeCheckEntityPromise","useSafePromise","safeRequestTotalPromise","safeRequestEntitiesPromise","updateEntitiesNavigationLoadingState","useEntityLoadingIndication","viewId","ViewIdContext","dispatch","useDispatch","loading","setLoading","searchProvider","getSearchProvider","updateNavigationData","mdmModuleSearch","openEntity","preparedUri","getEntityUriForLink","mdmModuleUi","source","perspectiveId","listenToActions","useActionsHook","stopListeningActions","action","searchNavigationData","payload","winnerUri","losersUris","updatedSearchNavigationData","winnerIndex","indexOf","uriIndex","splice","replaceWithWinnerUri","losersInCache","updatedTotal","updatedIndex","loser","updatedCache","removeLosersUris","applyMergeToSearchNavigationData","requestNextPage","newIndex","newUris","finally","requestPrevPage","stepForwardWithCheck","cacheIndex","isExists","clearedCache","stepBackWithCheck","ProfileBandNavigation","mode","isViewMode","useSearchNavigationVisibility","position","zIndex","boxSizing","backgroundClip","margin","backgroundImage","backgroundRepeat","backgroundSize","backgroundPosition","HANDLE_CHANGE_DEBOUNCE_INTERVAL","isHorizontal","orientation","ResizablePanes","defaultSize","minSize","maxSize","allowResize","debounceInterval","onChange","useTheme","containerEl","setContainerEl","isPaneAnimationEnabled","setIsPaneAnimationEnabled","enableAnimation","disableAnimation","getContainerSize","clientHeight","clientWidth","handleChange","debounce","containerSize","percentageSize","isMaxSize","isMinSize","paneAnimationStyle","transition","transitions","create","easing","sharp","duration","leavingScreen","ref","split","onDragStarted","onDragFinished","pane1Style","undefined","displayName","sourceType","findSourceSystemByUri","getSourceSystemLabel","sourceIcon","getAbsoluteImageUrl","slice","cancelButton","historyEvent","onCancel","profile","aStamp","Button","ActionsHookContext","createContext","ActionsHookProvider","hook","Provider","Error","CrosswalksDisplayContext","CrosswalksDisplayProvider","useCrosswalkColor","crosswalk","getCrosswalkColor","getColor","getCrosswalkId","useHighlightedCrosswalks","highlightedCrosswalks","useCrosswalkHighlight","setCrosswalkHighlighted","noop","isHighlighted","eqBy","isDimmed","highlightCrosswalk","removeHighlight","useCrosswalkFocus","toggleCrosswalkFocus","focusedCrosswalks","EntityLoadingIndicationContext","React","isLoading","updateEntityLoadingState","resetLoadingState","defaultLoadingState","entitiesNavigation","EntityLoadingIndicationProvider","loadingState","setLoadingState","prevLoadingState","Object","useEntityLoadingIndicationHook","filterReplies","replyId","replies","reply","getUpdatedReplies","comment","changedReplyIndex","findIndex","newReplies","defaultObjectIds","catchErrorInRequest","e","console","error","useCollaboration","objectIds","objectTypes","enabled","mdm","collaborationPath","isCollaborationEnabled","pageToken","setPageToken","comments","setComments","commentsMap","setCommentsMap","currentComment","setCurrentComment","sending","setSending","collaborationStateMap","setCollaborationStateMap","addCommentsToCommentsMap","currentCommentsMap","getCommentsCount","shouldResetCommentsMap","warn","getCommentsCountRequest","andThen","fromPairs","otherwise","uris","getComments","relatedObjectUri","getCommentsRequest","nextPageToken","prevComments","uniqBy","catch","getComment","commentId","getCommentRequest","createComment","namedUsers","objectType","relatedObjectUris","objectId","visibility","permanentLink","window","location","href","encodeURIComponent","createCommentRequest","prevCommentsMap","status","addCommentToState","editComment","updateCommentRequest","propEq","always","updateCommentInState","deleteComment","deleteCommentRequest","c","deleteCommentFromState","updateReplyInState","isDeleteReply","newStatus","prevCurrentComment","deleteReply","deleteReplyRequest","editReplyInState","editReply","updateReplyRequest","createReply","createReplyRequest","resolveThread","reOpenThread","clearCurrentComment","getCommentState","commentUri","pathOr","updateCommentState","newState","prevCollaborationStateMap","pathToCommentState","prevCommentState","path","assocPath","clearCommentState","dissocPath"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"3875.js","mappings":"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","sources":["webpack://@reltio/remotes/../components/src/components/AvatarWithFallback/AvatarWithFallback.tsx","webpack://@reltio/remotes/../components/src/components/BasicTableView/BasicTable/HOCs/withTableContext.js","webpack://@reltio/remotes/../components/src/icons/Table.tsx","webpack://@reltio/remotes/../components/src/components/BasicTableView/BasicTableHeader/ColumnsSettings/ColumnsSettings.js","webpack://@reltio/remotes/../components/src/components/BasicTableView/BasicTableHeader/ColumnsSettings/styles.js","webpack://@reltio/remotes/../components/src/components/BasicTableView/BasicTableHeader/ColumnsSettings/ColumnListItem.js","webpack://@reltio/remotes/../components/src/components/BasicTableView/BasicTableHeader/ColumnsSettings/ColumnsSettingsPopup.tsx","webpack://@reltio/remotes/../components/src/components/BasicTableView/BasicTableHeader/ColumnsSettings/columnHelpers.js","webpack://@reltio/remotes/../components/src/components/EntityTypeBadge/styles.ts","webpack://@reltio/remotes/../components/src/components/EntityTypeBadge/EntityTypeBadge.tsx","webpack://@reltio/remotes/../components/src/components/ProfileBand/styles.ts","webpack://@reltio/remotes/../components/src/components/ProfileBand/ProfileBand.tsx","webpack://@reltio/remotes/../components/src/components/ProfileBandNavigation/styles.ts","webpack://@reltio/remotes/../components/src/components/ProfileBandNavigation/ProfileBandNavigationWidget.tsx","webpack://@reltio/remotes/../components/src/components/ProfileBandNavigation/searchProviders/MainSearchProvider.ts","webpack://@reltio/remotes/../components/src/components/ProfileBandNavigation/searchProviders/GraphSearchProvider.ts","webpack://@reltio/remotes/../components/src/components/ProfileBandNavigation/helpers/index.ts","webpack://@reltio/remotes/../components/src/components/ProfileBandNavigation/hooks/useSearchNavigation.ts","webpack://@reltio/remotes/../components/src/components/ProfileBandNavigation/searchProviders/SearchProviderFactory.ts","webpack://@reltio/remotes/../components/src/components/ProfileBandNavigation/ProfileBandNavigation.tsx","webpack://@reltio/remotes/../components/src/components/ProfileBandNavigation/hooks/useSearchNavigationVisibility.ts","webpack://@reltio/remotes/../components/src/components/ResizablePanes/styles.ts","webpack://@reltio/remotes/../components/src/components/ResizablePanes/ResizablePanes.tsx","webpack://@reltio/remotes/../components/src/components/SourceIcon/SourceIcon.tsx","webpack://@reltio/remotes/../components/src/components/Spacer/Spacer.js","webpack://@reltio/remotes/../components/src/components/history/ProfileBandHistory/styles.ts","webpack://@reltio/remotes/../components/src/components/history/ProfileBandHistory/ProfileBandHistory.tsx","webpack://@reltio/remotes/../components/src/contexts/ActionsHookContext/index.tsx","webpack://@reltio/remotes/../components/src/contexts/CrosswalksDisplayContext/index.tsx","webpack://@reltio/remotes/../components/src/contexts/EntityLoadingIndicationContext/index.tsx","webpack://@reltio/remotes/../components/src/contexts/LabelsContext/index.ts","webpack://@reltio/remotes/../components/src/hooks/useCollaboration.ts"],"sourcesContent":["import Avatar from '@mui/material/Avatar';\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?: '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 {TableContext} from '../contexts/TableContext';\nimport {withContext} from '../../../../HOCs/withContext/withContext';\n\nconst withTableContext = (contextSelector) => (CellRenderer) =>\n withContext(TableContext, contextSelector, CellRenderer);\n\nexport default withTableContext;\n","import React from 'react';\n\nconst SvgTable: React.FC<React.SVGProps<SVGSVGElement>> = (props) => {\n return (\n <svg width={20} height={18} viewBox=\"0 0 20 18\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path\n d=\"M16 7.24V6h-4v1.24a8.417 8.417 0 00-2 .768V6H6v6h.29a8.497 8.497 0 00-.15.358l-.29.733.29.733.07.176H2c-1.1 0-2-.9-2-2V2C0 .9.9 0 2 0h14c1.1 0 2 .9 2 2v6.008a8.417 8.417 0 00-2-.768zM4 12V6H2v6h2zm0-8V2H2v2h2zm6 0V2H6v2h4zm6 0V2h-4v2h4zm-2 5a6.451 6.451 0 00-6 4.09 6.451 6.451 0 006 4.092 6.451 6.451 0 006-4.091A6.451 6.451 0 0014 9zm0 6.818a2.728 2.728 0 010-5.454 2.728 2.728 0 010 5.454zm0-4.363c-.905 0-1.636.73-1.636 1.636 0 .905.73 1.636 1.636 1.636.905 0 1.636-.73 1.636-1.636 0-.906-.73-1.636-1.636-1.636z\"\n fill=\"#000\"\n fillRule=\"nonzero\"\n stroke=\"none\"\n strokeWidth={1}\n opacity={0.54}\n />\n </svg>\n );\n};\n\nexport default SvgTable;\n","import React, {useCallback, useState} from 'react';\nimport PropTypes from 'prop-types';\nimport {ColumnsDataType} from '../../../../constants';\nimport TableIcon from '../../../../icons/Table';\nimport {SmallIconButtonWithTooltip} from '../../../SmallIconButton';\nimport {pipe, uniq, pluck, difference, concat} from 'ramda';\n\nimport {ColumnsSettingsPopup} from './ColumnsSettingsPopup';\n\nimport i18n from 'ui-i18n';\nimport {getChildColumns, isColumnSelected} from './columnHelpers';\n\nconst ColumnsSettings = ({columnsData, selectedColumns, onChangeColumns, title, tooltipTitle}) => {\n const [anchorEl, setAnchorEl] = useState(null);\n const openPopup = (event) => setAnchorEl(event.currentTarget);\n const closePopup = () => setAnchorEl(null);\n const handleColumnClick = useCallback(\n (column) => {\n const changedColumns = pipe(getChildColumns, pluck('id'))(column);\n const wasSelected = isColumnSelected(selectedColumns, column);\n onChangeColumns(\n wasSelected\n ? difference(selectedColumns, changedColumns)\n : uniq(concat(selectedColumns, changedColumns))\n );\n },\n [selectedColumns, onChangeColumns]\n );\n return (\n <>\n <SmallIconButtonWithTooltip\n tooltipTitle={tooltipTitle || i18n.text('Show/hide columns')}\n size=\"L\"\n icon={TableIcon}\n onClick={openPopup}\n />\n <ColumnsSettingsPopup\n onColumnClick={handleColumnClick}\n anchorEl={anchorEl}\n columnsData={columnsData}\n onClose={closePopup}\n title={title}\n selectedColumns={selectedColumns}\n />\n </>\n );\n};\n\nColumnsSettings.propTypes = {\n columnsData: ColumnsDataType,\n selectedColumns: PropTypes.arrayOf(PropTypes.string),\n onChangeColumns: PropTypes.func,\n title: PropTypes.string,\n tooltipTitle: PropTypes.string\n};\n\nexport default ColumnsSettings;\n","import {makeStyles} from '@mui/styles';\n\nexport const useStyles = makeStyles({\n popup: {\n minWidth: '200px'\n },\n groupItem: {\n backgroundColor: 'rgba(0,0,0,0.04)'\n }\n});\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport AttributeListItem from '../../../AttributeListItem/AttributeListItem';\nimport Highlighter from '../../../Highlighter/Highlighter';\n\nimport classnames from 'classnames';\nimport {useStyles} from './styles';\n\nconst ColumnListItem = ({item, onClick, checked, level, style, isFocused, isGroupItem, hideCheckBox}) => {\n const styles = useStyles();\n return (\n <AttributeListItem\n hideCheckBox={hideCheckBox}\n key={item.id}\n onClick={onClick}\n checked={checked}\n level={level}\n data={item}\n label={<Highlighter text={item.label} highlight={item.filterText} />}\n labelInText={item.label}\n style={style}\n isFocused={isFocused}\n hideIcon={isGroupItem}\n className={classnames({[styles.groupItem]: isGroupItem})}\n />\n );\n};\n\nColumnListItem.propTypes = {\n item: PropTypes.shape({\n label: PropTypes.string,\n filterText: PropTypes.string\n }),\n level: PropTypes.number,\n onClick: PropTypes.func,\n checked: PropTypes.bool,\n style: PropTypes.object,\n isGroupItem: PropTypes.bool,\n isFocused: PropTypes.bool,\n hideCheckBox: PropTypes.bool\n};\n\nexport default ColumnListItem;\n","import React, {useState, useMemo, useCallback} from 'react';\nimport i18n from 'ui-i18n';\nimport {pipe} from 'ramda';\n\nimport {getMaxItemWidth, DataTypeDefinition} from '@reltio/mdm-sdk';\n\nimport VirtualGroupedList from '../../../VirtualGroupedList/VirtualGroupedList';\nimport SelectionPopup from '../../../SelectionPopup/SelectionPopup';\nimport {buildColumnItems, isColumnSelected, isGroupColumn} from './columnHelpers';\nimport {flattenGroupedItemsData} from '../../../VirtualGroupedList/helpers';\nimport {useKeyboardNavigation} from '../../../SelectionPopup/helpers';\nimport ColumnListItem from './ColumnListItem';\n\nimport {useStyles} from './styles';\nimport {ListItemProps} from '@mui/material/ListItem';\n\ntype Column = {\n id: string;\n label: string;\n};\n\ntype GroupedColumnData =\n | {\n id: string;\n label: string;\n columns: Column[];\n }\n | Column;\n\ntype GroupedColumnList = {\n id: string;\n groupId: string;\n label: string;\n attrType: DataTypeDefinition;\n};\n\ntype Props = {\n anchorEl: HTMLElement;\n onClose: () => void;\n title?: string;\n columnsData: GroupedColumnData[];\n onColumnClick: (column: {id: string}) => void;\n selectedColumns: string[];\n hideCheckBox?: boolean;\n};\n\nconst ITEM_HEIGHT = 32;\nconst MAX_LIST_CONTAINER_HEIGHT = 300;\nconst DEFAULT_MIN_CONTAINER_WIDTH = 308;\nconst CONTAINER_HEADER_HEIGHT = 108;\nconst MIN_CONTAINER_HEIGHT = 140;\n\nexport const ColumnsSettingsPopup = ({\n anchorEl,\n onClose,\n title,\n columnsData,\n onColumnClick,\n selectedColumns,\n hideCheckBox\n}: Props) => {\n const styles = useStyles();\n const [filterText, setFilterText] = useState('');\n const clearFilter = () => setFilterText('');\n const groupedItems = useMemo(() => buildColumnItems(columnsData, filterText), [columnsData, filterText]);\n\n const items = useMemo(() => flattenGroupedItemsData(groupedItems), [groupedItems]);\n const containerWidth: number = getMaxItemWidth('label')(groupedItems) || DEFAULT_MIN_CONTAINER_WIDTH;\n\n const handleSearchOnEnter = useCallback(\n ({item}: {item: {id: string}; groupData: {item: {id: string}}}) => onColumnClick(item),\n [onColumnClick]\n );\n\n const {focusIndex, handleKeyDown} = useKeyboardNavigation({\n items,\n open: true,\n onSelectFocusedItem: handleSearchOnEnter,\n selectedItems: selectedColumns,\n onClose\n });\n const handleClose = useCallback(pipe(onClose, clearFilter), [onClose]);\n\n const renderColumnItem = (\n style: ListItemProps['style'],\n {item, level = 0}: {item: GroupedColumnList; level?: number},\n index: number\n ) => {\n return (\n <ColumnListItem\n hideCheckBox={hideCheckBox}\n style={style}\n item={item}\n level={level}\n isFocused={focusIndex === index}\n checked={isColumnSelected(selectedColumns, item)}\n isGroupItem={isGroupColumn(item)}\n onClick={hideCheckBox ? pipe(onColumnClick, handleClose) : onColumnClick}\n />\n );\n };\n\n const listHeight = Math.min(MAX_LIST_CONTAINER_HEIGHT, ITEM_HEIGHT * items.length);\n const containerHeight = Math.max(MIN_CONTAINER_HEIGHT, listHeight + CONTAINER_HEADER_HEIGHT);\n\n return (\n <SelectionPopup\n className={styles.popup}\n open={!!anchorEl}\n anchorEl={anchorEl}\n onClose={handleClose}\n onSearch={setFilterText}\n title={title || i18n.text('Show/hide columns')}\n containerWidth={containerWidth}\n containerHeight={containerHeight}\n searchInputOnKeyDown={handleKeyDown}\n >\n <VirtualGroupedList\n fixedTitle={false}\n height={listHeight}\n renderItem={renderColumnItem}\n items={items}\n getItemSize={() => ITEM_HEIGHT}\n focusIndex={focusIndex}\n />\n </SelectionPopup>\n );\n};\n","import {assoc, chain, curry, either, filter, has, pipe, propOr, reduce, when} from 'ramda';\nimport {utils} from '@reltio/mdm-sdk';\n\nconst isGroupColumn = (column) => column.id === column.groupId;\nconst isParentToColumn = curry(\n ({id, groupId}, parent) => parent.groupId === groupId && (id === parent.id || id.startsWith(`${parent.id}.`))\n);\nconst isGroupToColumn = curry(({groupId}, group) => groupId === group.id);\nconst isHideableColumn = propOr(true, 'hideable');\n\nconst getColumnRoot = (columns, column) => columns.find(either(isGroupToColumn(column), isParentToColumn(column)));\n\nconst addColumn = (columns, column) => {\n const root = getColumnRoot(columns, column);\n if (root) {\n root.children = addColumn(root.children || [], column);\n return columns;\n } else {\n return columns.concat(column);\n }\n};\n\nconst filterColumnsByLabel = curry(\n (filterText, column) =>\n utils.strings.search(column.label, filterText) || (column.children || []).some(filterColumnsByLabel(filterText))\n);\n\nconst buildColumnsTrees = reduce(\n (acc, columnData) =>\n addColumn(acc, {\n id: columnData.id,\n groupId: columnData.groupId,\n label: columnData.label,\n attrType: columnData.dataTypeDefinition\n }),\n []\n);\n\nconst buildFilteredColumnItems = curry((filterText, columns, level = 0) =>\n pipe(\n filter(filterColumnsByLabel(filterText)),\n chain((column) => {\n const item = {\n item: {...column, filterText},\n level\n };\n const childrenItems = column.children\n ? buildFilteredColumnItems(filterText, column.children, level + 1)\n : [];\n return [item, ...childrenItems];\n })\n )(columns)\n);\n\nconst isGroupedColumnsData = has('columns');\nconst flattenGroupedColumnsData = ({id, label, columns}) => [\n {id, groupId: id, label},\n ...columns.map(assoc('groupId', id))\n];\n\nconst buildColumnItems = (columnsData, filterText) => {\n return pipe(\n chain(when(isGroupedColumnsData, flattenGroupedColumnsData)),\n filter(either(isGroupColumn, isHideableColumn)),\n buildColumnsTrees,\n buildFilteredColumnItems(filterText)\n )(columnsData);\n};\n\nconst getChildColumns = (column) => (column.children ? chain(getChildColumns, column.children) : [column]);\n\nconst isColumnSelected = (selectedColumns, column) => {\n const childColumns = getChildColumns(column);\n const isColumnSelected = (column) => selectedColumns.includes(column.id);\n return isGroupColumn(column) ? childColumns.every(isColumnSelected) : childColumns.some(isColumnSelected);\n};\n\nexport {buildColumnItems, getChildColumns, isGroupColumn, isColumnSelected};\n","import {makeStyles} from '@mui/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 from '@mui/material/Typography';\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 color = entityType ? getPropWithInheritance(metadata, entityType, 'typeColor') : null;\n const entityTypeColor = color || 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","import {makeStyles} from '@mui/styles';\n\nexport const useStyles = makeStyles((theme) => ({\n profileBandWrapper: {\n // especially for IE (overflow fix)\n flexShrink: 0\n },\n profileBand: {\n display: 'flex',\n padding: '16px 12px 16px 16px',\n alignItems: 'flex-start',\n backgroundColor: '#fff',\n boxShadow: '0px 1px 0px rgba(0, 0, 0, 0.12)',\n marginBottom: '1px',\n '&:after': {\n // IE workaround for minHeight and centering items\n content: '\"\"',\n minHeight: 'inherit',\n fontSize: 0\n }\n },\n inactive: {\n background: theme.inactiveBackground\n },\n profileIcon: {\n marginRight: '12px'\n },\n imageProfileIcon: {\n width: '48px',\n height: '48px'\n },\n profileInfo: {\n display: 'flex',\n flexDirection: 'column',\n flex: '1 1 50%'\n },\n badge: {},\n label: {\n lineHeight: '1.2',\n letterSpacing: '0.25px',\n color: theme.palette.text.primary,\n wordBreak: 'break-word',\n\n '&+ $specialInfo': {\n marginTop: '4px'\n }\n },\n secondaryLabel: {\n display: 'inline-flex',\n color: theme.palette.text.primary,\n marginTop: '2px',\n lineHeight: '16px',\n fontSize: '14px',\n fontWeight: 400,\n\n '&+ $businessCard': {\n marginLeft: '12px'\n }\n },\n businessCard: {\n color: theme.palette.text.secondary,\n display: 'inline-flex',\n fontSize: '14px',\n marginTop: '4px',\n lineHeight: '1.2'\n },\n specialInfo: {\n display: 'flex',\n justifyContent: 'space-between',\n flexWrap: 'wrap',\n width: '100%',\n marginTop: '8px'\n },\n entityType: {\n display: 'flex',\n flexWrap: 'wrap'\n },\n entityId: {\n fontSize: '13px',\n color: theme.palette.text.secondary,\n whiteSpace: 'nowrap',\n cursor: 'pointer',\n '&:hover': {\n textDecoration: 'underline'\n }\n }\n}));\n\nexport default useStyles;\n","import React, {ReactNode, useCallback} from 'react';\nimport classnames from 'classnames';\nimport {useSelector} from 'react-redux';\nimport {isNil, identity} from 'ramda';\nimport Typography from '@mui/material/Typography';\nimport Tooltip from '@mui/material/Tooltip';\nimport i18n from 'ui-i18n';\n\nimport {getLabel, isActiveObject, getBusinessCardAttributesText, getEntityId, isTempUri, Entity} from '@reltio/mdm-sdk';\nimport mdmModule from '@reltio/mdm-module';\n\nimport EntityAvatar from '../EntityAvatar/EntityAvatar';\nimport EntityTypeBadge from '../EntityTypeBadge/EntityTypeBadge';\n\nimport useStyles from './styles';\n\ntype Props = {\n className?: string;\n entity?: Entity;\n children?: ReactNode;\n classes?: Partial<ReturnType<typeof useStyles>>;\n renderLabel?: (label: string) => React.ReactNode;\n};\n\nconst ProfileBand = ({className, entity, children, classes, renderLabel = identity}: Props) => {\n const styles = useStyles({classes});\n const metadata = useSelector(mdmModule.selectors.getMetadata);\n const showEntityId = useSelector(mdmModule.selectors.getShowEntityId);\n const handleCopyEntityIdToClipboard = useCallback(() => {\n navigator.clipboard.writeText(getEntityId(entity));\n }, [entity]);\n\n if (isNil(entity)) {\n return null;\n }\n\n const label = getLabel(entity.label);\n const secondaryLabel = entity.secondaryLabel;\n const businessCardText = getBusinessCardAttributesText(metadata, entity);\n const isActive = isActiveObject(entity);\n const entityUri = entity.uri;\n const entityId = getEntityId(entity);\n return (\n <div className={classnames(styles.profileBandWrapper, className)}>\n <div\n className={classnames(styles.profileBand, {\n [styles.inactive]: !isActive\n })}\n data-entity-uri={entityUri}\n >\n <EntityAvatar\n key={entity.uri}\n entity={entity}\n avatarClassName={styles.profileIcon}\n imageClassName={styles.imageProfileIcon}\n />\n <div className={styles.profileInfo}>\n <div>\n <Typography variant=\"h6\" className={styles.label}>\n {renderLabel(label)}\n </Typography>\n {secondaryLabel && (\n <Typography variant=\"subtitle2\" className={styles.secondaryLabel}>\n {secondaryLabel}\n </Typography>\n )}\n {businessCardText && (\n <Typography variant=\"subtitle1\" className={styles.businessCard}>\n {businessCardText}\n </Typography>\n )}\n </div>\n <div className={styles.specialInfo}>\n <div className={styles.entityType}>\n <EntityTypeBadge entity={entity} size=\"medium\" className={styles.badge} />\n {!isTempUri(entityUri) && showEntityId && (\n <Tooltip title={i18n.text('Copy to clipboard')}>\n <Typography\n display=\"inline\"\n variant=\"body2\"\n className={styles.entityId}\n onClick={handleCopyEntityIdToClipboard}\n >\n {i18n.text('Entity ID')}: {entityId}\n </Typography>\n </Tooltip>\n )}\n </div>\n </div>\n </div>\n {children && <div>{children}</div>}\n </div>\n </div>\n );\n};\n\nexport default ProfileBand;\n","import {makeStyles} from '@mui/styles';\n\nexport const useStyles = makeStyles({\n container: {\n display: 'flex',\n alignItems: 'center'\n },\n link: {\n whiteSpace: 'nowrap',\n marginRight: '9px'\n }\n});\n","import React, {useContext} from 'react';\nimport Link from '@mui/material/Link';\nimport KeyboardArrowLeft from '@mui/icons-material/KeyboardArrowLeft';\nimport KeyboardArrowRight from '@mui/icons-material/KeyboardArrowRight';\nimport {formatNumberAsMetric} from '@reltio/mdm-sdk';\nimport classnames from 'classnames';\nimport {mergeRight} from 'ramda';\nimport i18n from 'ui-i18n';\nimport {LabelsContext} from '../../contexts/LabelsContext';\nimport {withTooltip} from '../../HOCs';\nimport {SmallIconButtonWithTooltip} from '../SmallIconButton';\nimport {useStyles} from './styles';\n// NEED TO MIGRATE\nconst LinkWithTooltip = withTooltip<typeof Link, {component: string}>(Link);\n\ntype Props = {\n className?: string;\n total?: number;\n onPrev?: () => void;\n onNext?: () => void;\n onSearchResultsClick?: () => void;\n isPrevDisabled?: boolean;\n isNextDisabled?: boolean;\n};\n\nconst ProfileBandNavigationWidget = ({\n className,\n total = 0,\n onPrev,\n onNext,\n onSearchResultsClick,\n isPrevDisabled,\n isNextDisabled\n}: Props) => {\n const styles = useStyles();\n const labels = useContext(LabelsContext);\n const {OPEN_RESULTS, SEARCH_RESULT, SEARCH_RESULTS, NEXT_PROFILE, PREVIOUS_PROFILE} = mergeRight(\n {\n OPEN_RESULTS: i18n.text('Go to search results'),\n SEARCH_RESULT: i18n.text('Search result'),\n SEARCH_RESULTS: i18n.text('Search results'),\n PREVIOUS_PROFILE: i18n.text('Go to previous profile'),\n NEXT_PROFILE: i18n.text('Go to next profile')\n },\n labels?.profileBand ?? {}\n );\n return (\n <div className={classnames(styles.container, className)}>\n <LinkWithTooltip\n className={styles.link}\n component=\"button\"\n variant=\"caption\"\n onClick={onSearchResultsClick}\n underline=\"none\"\n tooltipTitle={OPEN_RESULTS}\n >\n {formatNumberAsMetric(total, 1000000)} {total === 1 ? SEARCH_RESULT : SEARCH_RESULTS}\n </LinkWithTooltip>\n <SmallIconButtonWithTooltip\n size=\"L\"\n icon={KeyboardArrowLeft}\n data-reltio-id=\"reltio-previous-profile-button\"\n tooltipTitle={PREVIOUS_PROFILE}\n onClick={onPrev}\n disabled={isPrevDisabled}\n showForDisabled\n />\n <SmallIconButtonWithTooltip\n size=\"L\"\n icon={KeyboardArrowRight}\n data-reltio-id=\"reltio-next-profile-button\"\n tooltipTitle={NEXT_PROFILE}\n onClick={onNext}\n disabled={isNextDisabled}\n showForDisabled\n />\n </div>\n );\n};\n\nexport {ProfileBandNavigationWidget, LinkWithTooltip};\n","import {\n Entity,\n getFilteredEntities,\n getFilteredEntitiesFromDataTenant,\n getTotals,\n getTotalFromDataTenant,\n TotalResponse\n} from '@reltio/mdm-sdk';\n\nimport {SearchProvider} from './SearchProvider';\n\nexport class MainSearchProvider implements SearchProvider {\n private readonly query;\n private readonly sortField;\n private readonly sortOrder;\n private readonly tenant;\n private readonly searchTenant;\n private readonly apiPath;\n private readonly dtssPath;\n private readonly globalSearchRequestOptions;\n\n constructor({\n data: {query, sortField, sortOrder},\n tenant,\n searchTenant,\n apiPath,\n dtssPath,\n globalSearchRequestOptions\n }) {\n this.query = query;\n this.sortField = sortField;\n this.sortOrder = sortOrder;\n this.tenant = tenant;\n this.searchTenant = searchTenant;\n this.apiPath = apiPath;\n this.dtssPath = dtssPath;\n this.globalSearchRequestOptions = globalSearchRequestOptions;\n }\n\n private isDT = () => this.tenant !== this.searchTenant;\n\n private getQueryFilter = () => ({rawFilter: this.query});\n\n private getEntities = (filters = [], options = {}): Promise<Entity[]> => {\n const requestFilters = [this.getQueryFilter(), ...filters];\n const requestOptions = {\n ...this.globalSearchRequestOptions,\n sort: this.sortField,\n order: this.sortOrder,\n select: 'uri,label,type',\n scoreEnabled: false,\n ...options\n };\n return this.isDT()\n ? getFilteredEntitiesFromDataTenant({\n filters: requestFilters,\n options: requestOptions,\n customerTenant: this.tenant,\n dataTenant: this.searchTenant,\n dtssPath: this.dtssPath\n })\n : getFilteredEntities(requestFilters, requestOptions);\n };\n\n checkEntity = (uri): Promise<boolean> => {\n return this.getEntities(\n [\n {\n filter: 'equals',\n fieldName: 'uri',\n values: [uri]\n }\n ],\n {offset: 0, max: 1}\n ).then((entities) => {\n return entities && entities.length > 0 && entities[0].uri === uri;\n });\n };\n\n requestEntities = (max, offset): Promise<Entity[]> => {\n return this.getEntities([], {offset, max});\n };\n\n requestTotal = (): Promise<number> => {\n const filters = [this.getQueryFilter()];\n const options = this.globalSearchRequestOptions;\n return (\n this.isDT()\n ? getTotalFromDataTenant({\n filters,\n options,\n customerTenant: this.tenant,\n dataTenant: this.searchTenant,\n dtssPath: this.dtssPath\n })\n : getTotals(filters, options)\n ).then((json) => (json as TotalResponse).total);\n };\n}\n","import {\n Entity,\n getGraphSearchCount,\n getGraphSearchEntities,\n getEntityId,\n buildFilterQueryString\n} from '@reltio/mdm-sdk';\n\nimport {SearchProvider} from './SearchProvider';\n\nexport class GraphSearchProvider implements SearchProvider {\n private readonly searchBody;\n private readonly tenant;\n private readonly apiPath;\n\n constructor({data, tenant, apiPath}) {\n this.searchBody = data;\n this.tenant = tenant;\n this.apiPath = apiPath;\n }\n\n private getEntities = (filters = [], options = {}): Promise<Entity[]> => {\n const allFilters = [\n {\n rawFilter: this.searchBody.filter\n },\n ...filters\n ];\n return getGraphSearchEntities({\n apiPath: this.apiPath,\n tenant: this.tenant,\n searchBody: {\n ...this.searchBody,\n filter: filters.length ? buildFilterQueryString()(allFilters) : this.searchBody.filter\n },\n options\n });\n };\n\n checkEntity = (uri): Promise<boolean> => {\n return this.getEntities(\n [\n {\n filter: 'equals',\n fieldName: 'id',\n values: [getEntityId({uri})]\n }\n ],\n {from: 0, max: 1}\n ).then((entities) => {\n return entities && entities.length > 0 && entities[0].uri === uri;\n });\n };\n\n requestEntities = (max, from): Promise<Entity[]> => {\n return this.getEntities([], {from, max});\n };\n\n requestTotal = (): Promise<number> => {\n return getGraphSearchCount({\n apiPath: this.apiPath,\n tenant: this.tenant,\n searchBody: this.searchBody\n }).then((json) => json.count);\n };\n}\n","import {SearchNavigationData} from '../types';\n\ntype Payload = {\n winnerUri: string;\n losersUris: string[];\n};\n\nconst replaceWithWinnerUri = (searchNavigationData: SearchNavigationData, winnerUri: string): SearchNavigationData => {\n let {uri, index, total, cache} = searchNavigationData;\n if (winnerUri && winnerUri !== uri) {\n if (cache && cache.includes(uri)) {\n cache = [...cache];\n const winnerIndex = cache.indexOf(winnerUri);\n let uriIndex = cache.indexOf(uri);\n if (winnerIndex >= 0) {\n cache.splice(winnerIndex, 1);\n total--;\n if (winnerIndex < uriIndex) {\n index--;\n }\n }\n uriIndex = cache.indexOf(uri);\n cache.splice(uriIndex, 1, winnerUri);\n }\n uri = winnerUri;\n return {\n ...searchNavigationData,\n uri,\n index,\n cache,\n total\n };\n }\n return searchNavigationData;\n};\n\nconst removeLosersUris = (searchNavigationData: SearchNavigationData, losersUris: string[]): SearchNavigationData => {\n const {cache = [], index, total, uri} = searchNavigationData;\n const losersInCache = losersUris.filter((uri) => cache.includes(uri));\n if (losersInCache.length === 0) {\n return searchNavigationData;\n }\n const updatedTotal = total - losersInCache.length;\n const uriIndex = cache.indexOf(uri);\n let updatedIndex = index;\n for (const loser of losersInCache) {\n const loserIndex = cache.indexOf(loser);\n if (loserIndex < uriIndex) {\n updatedIndex--;\n }\n }\n const updatedCache = cache.filter((uri) => !losersInCache.includes(uri));\n\n return {\n ...searchNavigationData,\n cache: updatedCache,\n index: updatedIndex,\n total: updatedTotal\n };\n};\n\nexport const applyMergeToSearchNavigationData = (\n searchNavigationData: SearchNavigationData,\n payload: Payload\n): SearchNavigationData => {\n const {winnerUri, losersUris = []} = payload;\n const updatedSearchNavigationData = replaceWithWinnerUri(searchNavigationData, winnerUri);\n return removeLosersUris(updatedSearchNavigationData, losersUris);\n};\n","import {useCallback, useContext, useEffect, useMemo, useState} from 'react';\nimport {useDispatch, useSelector} from 'react-redux';\nimport mdmModule, {search as mdmModuleSearch, ui as mdmModuleUi} from '@reltio/mdm-module';\nimport {getEntityUriForLink} from '@reltio/mdm-sdk';\nimport {map, pipe, prop, reject} from 'ramda';\nimport {useEntityLoadingIndication, useActionsHook, ViewIdContext} from '../../../contexts';\nimport {useSafePromise} from '../../../hooks';\nimport {getSearchProvider} from '../searchProviders/SearchProviderFactory';\nimport {SearchNavigationData, SearchProviderData} from '../types';\nimport {applyMergeToSearchNavigationData} from '../helpers';\n\nexport const REQUEST_PAGE_SIZE = 15;\n\nconst getNewUris = (entities, cache) =>\n pipe(\n map(prop('uri')),\n reject((uri) => cache.includes(uri))\n )(entities);\n\nconst useSearchNavigation = () => {\n const safeCheckEntityPromise = useSafePromise();\n const safeRequestTotalPromise = useSafePromise();\n const safeRequestEntitiesPromise = useSafePromise();\n const {\n uri,\n index,\n total,\n tenant: searchTenant,\n cache\n } = useSelector<unknown, SearchNavigationData>(mdmModule.selectors.getSearchNavigationData) || {};\n const {type, data} = useSelector<unknown, SearchProviderData>(mdmModule.selectors.getSearchProviderData) || {};\n const tenant = useSelector<unknown, string>(mdmModule.selectors.getTenant);\n const apiPath = useSelector<unknown, string>(mdmModule.selectors.getApiPath);\n const dtssPath = useSelector<unknown, string>(mdmModule.selectors.getDtssPath);\n const globalSearchRequestOptions = useSelector((state) =>\n mdmModule.selectors.getGlobalSearchRequestOptions(state, ['ovOnly'])\n );\n const {updateEntitiesNavigationLoadingState} = useEntityLoadingIndication();\n const viewId = useContext(ViewIdContext);\n const dispatch = useDispatch();\n const [loading, setLoading] = useState<boolean>(false);\n\n const searchProvider = useMemo(\n () => getSearchProvider(type, {data, tenant, searchTenant, apiPath, dtssPath, globalSearchRequestOptions}),\n [type, data, tenant, searchTenant, apiPath, dtssPath, globalSearchRequestOptions]\n );\n\n const updateNavigationData = useCallback(\n (data: Partial<SearchNavigationData>) => {\n dispatch(mdmModuleSearch.actions.updateSearchNavigationDataFields(data));\n },\n [dispatch]\n );\n\n const openEntity = useCallback(\n (uri: string) => {\n const preparedUri = tenant !== searchTenant ? getEntityUriForLink({uri, dataTenant: searchTenant}) : uri;\n dispatch(mdmModuleUi.actions.openEntity({uri: preparedUri, viewId, source: 'navigation'}));\n },\n [dispatch, viewId, tenant, searchTenant]\n );\n\n const onSearchResultsClick = useCallback(() => {\n dispatch(mdmModuleUi.actions.openPerspective({perspectiveId: type, viewId}));\n }, [dispatch, type, viewId]);\n\n useEffect(() => {\n if (index >= total) {\n updateNavigationData({\n index: total - 1\n });\n } else if (index < 0) {\n updateNavigationData({\n index: 0\n });\n }\n }, [total, index, updateNavigationData]);\n\n const listenToActions = useActionsHook();\n\n useEffect(() => {\n const stopListeningActions = listenToActions((action, state) => {\n switch (action.type) {\n case mdmModuleSearch.constants.UPDATE_SEARCH_NAVIGATION_DATA_ON_MERGE: {\n const searchNavigationData: SearchNavigationData =\n mdmModule.selectors.getSearchNavigationData(state);\n if (searchNavigationData) {\n updateNavigationData(applyMergeToSearchNavigationData(searchNavigationData, action.payload));\n }\n break;\n }\n }\n });\n return () => stopListeningActions();\n }, [listenToActions, updateNavigationData]);\n\n const requestNextPage = useCallback(\n (cache: string[], total: number, index: number): Promise<void> => {\n setLoading(true);\n safeRequestTotalPromise(searchProvider.requestTotal()).then((total) => updateNavigationData({total}));\n\n const newIndex = index + 1;\n return safeRequestEntitiesPromise(searchProvider.requestEntities(REQUEST_PAGE_SIZE, newIndex))\n .then((entities) => {\n if (!entities) {\n return;\n }\n if (entities.length) {\n const newUris = getNewUris(entities, cache);\n if (newUris.length > 0) {\n updateNavigationData({\n cache: cache.concat(newUris),\n uri: newUris[0],\n index: newIndex + entities.length - newUris.length\n });\n openEntity(newUris[0]);\n return;\n } else if (index + entities.length < total - 1) {\n return requestNextPage(cache, total - entities.length, index + entities.length);\n }\n }\n updateNavigationData({\n index: newIndex\n });\n })\n .finally(() => {\n setLoading(false);\n });\n },\n [searchProvider, updateNavigationData, openEntity]\n );\n\n const requestPrevPage = useCallback(\n (cache: string[], index: number): Promise<void> => {\n setLoading(true);\n safeRequestTotalPromise(searchProvider.requestTotal()).then((total) => updateNavigationData({total}));\n\n const newIndex = index - 1;\n const offset = Math.max(0, index - REQUEST_PAGE_SIZE);\n const max = REQUEST_PAGE_SIZE + Math.min(0, index - REQUEST_PAGE_SIZE);\n return safeRequestEntitiesPromise(searchProvider.requestEntities(max, offset))\n .then((entities) => {\n if (!entities) {\n return;\n }\n if (entities.length) {\n const newUris = getNewUris(entities, cache);\n if (newUris.length > 0) {\n updateNavigationData({\n cache: newUris.concat(cache),\n uri: newUris[newUris.length - 1],\n index: newIndex - (entities.length - newUris.length)\n });\n openEntity(newUris[newUris.length - 1]);\n return;\n } else if (index - entities.length > 0) {\n return requestPrevPage(cache, index - entities.length);\n }\n }\n updateNavigationData({\n index: 0\n });\n })\n .finally(() => {\n setLoading(false);\n });\n },\n [searchProvider, updateNavigationData, openEntity]\n );\n\n const stepForwardWithCheck = useCallback(\n (cache: string[], cacheIndex: number, total: number, index: number): Promise<void> | void => {\n if (cacheIndex < cache.length) {\n const uri = cache[cacheIndex];\n setLoading(true);\n return safeCheckEntityPromise(searchProvider.checkEntity(uri))\n .then((isExists) => {\n if (isExists) {\n updateNavigationData({\n index: index + 1,\n uri,\n cache,\n total\n });\n openEntity(uri);\n } else {\n const clearedCache = [...cache];\n clearedCache.splice(cacheIndex, 1);\n return stepForwardWithCheck(clearedCache, cacheIndex, total - 1, index);\n }\n })\n .finally(() => {\n setLoading(false);\n });\n } else if (index >= total - 1) {\n updateNavigationData({\n cache,\n total,\n index: total - 1\n });\n } else {\n return requestNextPage(cache, total, index);\n }\n },\n [searchProvider, updateNavigationData, openEntity, requestNextPage]\n );\n\n const stepBackWithCheck = useCallback(\n (cache: string[], cacheIndex: number, total: number, index: number): Promise<void> | void => {\n if (cacheIndex > -1) {\n const uri = cache[cacheIndex];\n setLoading(true);\n return safeCheckEntityPromise(searchProvider.checkEntity(uri))\n .then((isExists) => {\n if (isExists) {\n updateNavigationData({\n index: index - 1,\n uri,\n cache,\n total\n });\n openEntity(uri);\n } else {\n const clearedCache = [...cache];\n clearedCache.splice(cacheIndex, 1);\n return stepBackWithCheck(clearedCache, cacheIndex - 1, total - 1, index - 1);\n }\n })\n .finally(() => {\n setLoading(false);\n });\n } else if (index <= 0) {\n updateNavigationData({\n index: 0,\n cache,\n total\n });\n } else {\n return requestPrevPage(cache, index);\n }\n },\n [searchProvider, updateNavigationData, openEntity, requestPrevPage]\n );\n\n const onPrev = useCallback(() => {\n if (cache && uri) {\n const cacheIndex = cache.indexOf(uri) - 1;\n stepBackWithCheck(cache, cacheIndex, total, index);\n }\n }, [stepBackWithCheck, cache, uri, total, index]);\n\n const onNext = useCallback(() => {\n if (cache && uri) {\n const cacheIndex = cache.indexOf(uri) + 1;\n stepForwardWithCheck(cache, cacheIndex, total, index);\n }\n }, [stepForwardWithCheck, cache, uri, total, index]);\n\n useEffect(() => {\n updateEntitiesNavigationLoadingState(loading);\n }, [updateEntitiesNavigationLoadingState, loading]);\n\n useEffect(() => {\n return () => updateEntitiesNavigationLoadingState(false);\n }, []);\n\n const isPrevDisabled = loading || index <= 0;\n const isNextDisabled = loading || index >= total - 1;\n return {total, onPrev, onNext, onSearchResultsClick, isPrevDisabled, isNextDisabled};\n};\n\nexport {useSearchNavigation};\n","import {MainSearchProvider} from './MainSearchProvider';\nimport {GraphSearchProvider} from './GraphSearchProvider';\n\nexport const getSearchProvider = (type: string, options) => {\n switch (type) {\n case 'search':\n return new MainSearchProvider(options);\n case 'graphsearch':\n return new GraphSearchProvider(options);\n }\n};\n","import React from 'react';\n\nimport {ProfileBandNavigationWidget} from './ProfileBandNavigationWidget';\nimport {useSearchNavigation} from './hooks/useSearchNavigation';\nimport {useSearchNavigationVisibility} from './hooks/useSearchNavigationVisibility';\n\ntype Props = {\n className?: string;\n};\n\nconst ProfileBandNavigation = ({className}: Props) => {\n const {total, onPrev, onNext, onSearchResultsClick, isPrevDisabled, isNextDisabled} = useSearchNavigation();\n const isVisible = useSearchNavigationVisibility();\n return isVisible ? (\n <ProfileBandNavigationWidget\n className={className}\n total={total}\n onPrev={onPrev}\n onNext={onNext}\n onSearchResultsClick={onSearchResultsClick}\n isPrevDisabled={isPrevDisabled}\n isNextDisabled={isNextDisabled}\n />\n ) : null;\n};\n\nexport {ProfileBandNavigation};\n","import {useSelector} from 'react-redux';\nimport mdmModule from '@reltio/mdm-module';\nimport {Entity, isViewMode} from '@reltio/mdm-sdk';\nimport {SearchNavigationData} from '../types';\n\nconst useSearchNavigationVisibility = () => {\n const {cache} = useSelector<unknown, SearchNavigationData>(mdmModule.selectors.getSearchNavigationData) || {};\n const mode = useSelector<unknown, string>(mdmModule.selectors.getMode);\n const entity = useSelector<unknown, Entity>(mdmModule.selectors.getEntity);\n\n return isViewMode(mode) && cache?.includes(entity?.uri);\n};\n\nexport {useSearchNavigationVisibility};\n","import {makeStyles} from '@mui/styles';\n\nconst useStyles = makeStyles(() => ({\n container: {\n position: 'relative',\n '& .Resizer': {\n zIndex: 1,\n boxSizing: 'border-box',\n backgroundClip: 'padding-box',\n '&.disabled': {\n cursor: 'initial',\n height: 0,\n margin: 0\n },\n '&.horizontal': {\n height: '11px',\n backgroundImage: 'linear-gradient(rgba(0,0,0,0.33), rgba(0,0,0,0.33))',\n backgroundRepeat: 'no-repeat',\n backgroundSize: '100% 1px',\n backgroundPosition: 'top',\n width: '100%',\n marginBottom: '-10px',\n '&:not(.disabled):hover': {\n cursor: 'row-resize',\n backgroundImage:\n 'linear-gradient(rgba(0, 114, 206, 0), rgba(0, 114, 206, 0.35), rgba(0, 114, 206, 1))',\n backgroundSize: '100% 3px'\n }\n },\n '&.vertical': {\n width: '11px',\n backgroundImage: 'linear-gradient(rgba(0,0,0,0.33), rgba(0,0,0,0.33))',\n backgroundRepeat: 'no-repeat',\n backgroundSize: '1px 100%',\n backgroundPosition: 'left',\n height: '100%',\n marginRight: '-10px',\n '&:not(.disabled):hover': {\n cursor: 'col-resize',\n backgroundImage:\n 'linear-gradient(to left, rgba(0, 114, 206, 0.35), rgba(0, 114, 206, 1), rgba(0, 114, 206, 0.35))',\n backgroundSize: '3px 100%'\n }\n }\n }\n }\n}));\n\nexport {useStyles};\n","import React, {useCallback, useMemo, useState} from 'react';\nimport classnames from 'classnames';\nimport SplitPane from 'react-split-pane';\nimport {useTheme} from '@mui/material/styles';\nimport {debounce} from '@reltio/mdm-sdk';\n\nimport {useStyles} from './styles';\n\nconst HANDLE_CHANGE_DEBOUNCE_INTERVAL = 250;\n\nconst isHorizontal = (orientation) => orientation === 'horizontal';\n\nexport type Size = string | number;\ntype OnChange = {\n size: number;\n percentageSize: string;\n isMaxSize: boolean;\n isMinSize: boolean;\n};\n\ntype Props = {\n className?: string;\n children: React.ReactElement[];\n allowResize?: boolean;\n primary?: 'first' | 'second';\n minSize?: Size;\n maxSize?: Size;\n defaultSize?: Size;\n debounceInterval?: number;\n size?: Size;\n orientation?: 'vertical' | 'horizontal';\n onChange?: ({size, percentageSize, isMaxSize, isMinSize}: OnChange) => void;\n};\n\nexport const ResizablePanes = ({\n className,\n children,\n orientation,\n primary,\n defaultSize,\n size,\n minSize,\n maxSize,\n allowResize,\n debounceInterval = HANDLE_CHANGE_DEBOUNCE_INTERVAL,\n onChange\n}: Props) => {\n const styles = useStyles();\n const theme = useTheme();\n const [containerEl, setContainerEl] = useState(null);\n const [isPaneAnimationEnabled, setIsPaneAnimationEnabled] = useState(true);\n\n const enableAnimation = useCallback(() => setIsPaneAnimationEnabled(true), []);\n const disableAnimation = useCallback(() => setIsPaneAnimationEnabled(false), []);\n const getContainerSize = () => (isHorizontal(orientation) ? containerEl?.clientHeight : containerEl?.clientWidth);\n\n const handleChange = useCallback(\n debounce((size) => {\n const containerSize = getContainerSize();\n onChange({\n percentageSize: `${(size / containerSize) * 100}%`,\n isMaxSize: +maxSize > 0 ? size === maxSize : size === containerSize + maxSize,\n isMinSize: size === minSize,\n size\n });\n }, debounceInterval),\n [onChange, orientation, maxSize, containerEl]\n );\n\n const paneAnimationStyle = useMemo(\n () => ({\n transition: theme.transitions.create(isHorizontal(orientation) ? 'height' : 'width', {\n easing: theme.transitions.easing.sharp,\n duration: theme.transitions.duration.leavingScreen\n })\n }),\n [orientation, theme]\n );\n\n if (typeof size === 'number' && size < 0) {\n size = (getContainerSize() || 0) + size;\n }\n\n return (\n <div ref={setContainerEl} className={classnames(styles.container, className)}>\n <SplitPane\n split={orientation}\n size={size}\n primary={primary}\n allowResize={allowResize}\n onChange={handleChange}\n defaultSize={defaultSize}\n minSize={minSize}\n maxSize={maxSize}\n onDragStarted={disableAnimation}\n onDragFinished={enableAnimation}\n pane1Style={isPaneAnimationEnabled ? paneAnimationStyle : undefined}\n >\n {children}\n </SplitPane>\n </div>\n );\n};\n\nResizablePanes.displayName = 'ResizablePanes';\n","import React from 'react';\nimport {useSelector} from 'react-redux';\nimport mdmModule from '@reltio/mdm-module';\nimport {findSourceSystemByUri, getAbsoluteImageUrl, getSourceSystemLabel, Source} from '@reltio/mdm-sdk';\nimport AvatarWithFallback from '../AvatarWithFallback/AvatarWithFallback';\n\ntype Props = {\n sourceType: string;\n className?: string;\n classes?: {\n iconRoot?: string;\n textRoot?: string;\n };\n};\nconst SOURCE_URL = 'https://s3.amazonaws.com/reltio.images/api';\nconst SourceIcon = ({sourceType, className, classes}: Props) => {\n const metadata = useSelector(mdmModule.selectors.getMetadata);\n const {uri, icon}: Source = findSourceSystemByUri(metadata, sourceType) || {};\n const avatarText = uri ? getSourceSystemLabel(metadata, uri)[0] : '';\n const sourceIcon = icon ? getAbsoluteImageUrl(SOURCE_URL, icon) : null;\n\n return (\n <AvatarWithFallback\n className={className}\n avatarText={avatarText}\n icon={sourceIcon}\n variant=\"square\"\n rootClasses={classes}\n />\n );\n};\n\nexport default SourceIcon;\n","import React from 'react';\n\nconst Spacer = () => <div style={{flex: 1}} />;\n\nexport default Spacer;\n","import {makeStyles} from '@mui/styles';\n\nexport const useStyles = makeStyles({\n root: {\n display: 'flex',\n alignItems: 'flex-start'\n },\n slice: {\n fontWeight: 500\n },\n cancelButton: {\n width: '88px',\n flexShrink: 0,\n marginLeft: '15px'\n }\n});\n","import React from 'react';\nimport {useDispatch, useSelector} from 'react-redux';\nimport mdmModule, {profile} from '@reltio/mdm-module';\nimport Button from '@mui/material/Button';\nimport Typography from '@mui/material/Typography';\nimport {pipe} from 'ramda';\nimport i18n from 'ui-i18n';\n\nimport {useStyles} from './styles';\n\nconst ProfileBandHistory = () => {\n const styles = useStyles();\n\n const historyEvent = useSelector(mdmModule.selectors.getHistoryEvent);\n const dispatch = useDispatch();\n const onCancel = pipe(profile.history.actions.clearHistoryEvent, dispatch);\n\n return historyEvent ? (\n <div className={styles.root}>\n <Typography component={'div'}>\n {i18n.text('You are viewing a historic slice:')}{' '}\n <span className={styles.slice}>{i18n.date(historyEvent.aStamp, 'llll')}</span>\n </Typography>\n <Button className={styles.cancelButton} variant=\"contained\" color=\"primary\" onClick={onCancel}>\n {i18n.text('Cancel')}\n </Button>\n </div>\n ) : null;\n};\n\nexport default ProfileBandHistory;\n","import React, {createContext, useContext} from 'react';\nimport {AnyAction} from 'redux';\n\ntype ActionsHook = (listener: (action: AnyAction, state: any) => void) => () => void;\n\nconst ActionsHookContext = createContext<ActionsHook | null>(null);\nActionsHookContext.displayName = 'ActionsHookContext';\n\ntype ProviderProps = {\n hook: ActionsHook;\n children: React.ReactNode;\n};\n\nexport const ActionsHookProvider = ({children, hook}: ProviderProps) => {\n return <ActionsHookContext.Provider value={hook}>{children}</ActionsHookContext.Provider>;\n};\n\nexport const useActionsHook = () => {\n const listenToActions = useContext(ActionsHookContext);\n if (!listenToActions) {\n throw new Error('ActionsHookContext must be provided');\n }\n return listenToActions;\n};\n","import React, {createContext, useCallback, useContext} from 'react';\nimport {CrosswalkBase, getCrosswalkColor, getCrosswalkId} from '@reltio/mdm-sdk';\nimport {pipe, eqBy} from 'ramda';\nimport {noop} from '../../core';\n\nconst CrosswalksDisplayContext = createContext(null);\n\ntype ProviderProps = {\n children: React.ReactNode;\n getCrosswalkColor?: (crosswalk: CrosswalkBase) => string;\n focusedCrosswalks?: CrosswalkBase[];\n highlightedCrosswalks?: CrosswalkBase[];\n toggleCrosswalkFocus?: (crosswalk: CrosswalkBase) => void;\n setCrosswalkHighlighted?: (crosswalk: CrosswalkBase, highlighted: boolean) => void;\n};\n\nexport const CrosswalksDisplayProvider = ({children, ...props}: ProviderProps) => {\n return <CrosswalksDisplayContext.Provider value={props}>{children}</CrosswalksDisplayContext.Provider>;\n};\n\nexport const useCrosswalkColor = (crosswalk?: CrosswalkBase) => {\n const {getCrosswalkColor: getColor = pipe(getCrosswalkId, getCrosswalkColor)} =\n useContext(CrosswalksDisplayContext) || {};\n return crosswalk ? getColor(crosswalk) : '';\n};\n\nexport const useHighlightedCrosswalks = () => {\n const {highlightedCrosswalks = []} = useContext(CrosswalksDisplayContext) || {};\n return highlightedCrosswalks;\n};\n\nexport const useCrosswalkHighlight = (crosswalk?: CrosswalkBase) => {\n const {highlightedCrosswalks = [], setCrosswalkHighlighted = noop} = useContext(CrosswalksDisplayContext) || {};\n const isHighlighted = !!crosswalk && !!highlightedCrosswalks.find(eqBy(getCrosswalkId, crosswalk));\n return {\n isHighlighted,\n isDimmed: highlightedCrosswalks.length > 0 && !isHighlighted,\n highlightCrosswalk: useCallback(\n () => setCrosswalkHighlighted(crosswalk, true),\n [crosswalk, setCrosswalkHighlighted]\n ),\n removeHighlight: useCallback(\n () => setCrosswalkHighlighted(crosswalk, false),\n [crosswalk, setCrosswalkHighlighted]\n )\n };\n};\n\nexport const useCrosswalkFocus = (crosswalk?: CrosswalkBase) => {\n const {toggleCrosswalkFocus = noop, focusedCrosswalks = []} = useContext(CrosswalksDisplayContext) || {};\n const isFocused = !!crosswalk && focusedCrosswalks.some(eqBy(getCrosswalkId, crosswalk));\n return {\n isFocused,\n toggleCrosswalkFocus: useCallback(() => toggleCrosswalkFocus(crosswalk), [crosswalk, toggleCrosswalkFocus])\n };\n};\n","import React, {useState, useCallback, useContext} from 'react';\nimport {noop} from '../../core/utils';\n\ntype LoadingState = {\n entitiesNavigation: boolean;\n entity: boolean;\n};\n\ntype ContextValue = {\n isLoading: boolean;\n updateEntityLoadingState: (loading: boolean) => void;\n updateEntitiesNavigationLoadingState: (loading: boolean) => void;\n resetLoadingState: () => void;\n};\n\nconst EntityLoadingIndicationContext = React.createContext<ContextValue>({\n isLoading: false,\n updateEntityLoadingState: noop,\n updateEntitiesNavigationLoadingState: noop,\n resetLoadingState: noop\n});\n\nconst defaultLoadingState: LoadingState = {entitiesNavigation: false, entity: false};\n\nconst useEntityLoadingIndicationHook = () => {\n const [loadingState, setLoadingState] = useState(defaultLoadingState);\n\n const updateEntityLoadingState = useCallback((loading: boolean) => {\n setLoadingState((prevLoadingState) => ({...prevLoadingState, entity: loading}));\n }, []);\n\n const updateEntitiesNavigationLoadingState = useCallback((loading: boolean) => {\n setLoadingState((prevLoadingState) => ({...prevLoadingState, entitiesNavigation: loading}));\n }, []);\n\n const resetLoadingState = useCallback(() => {\n setLoadingState(defaultLoadingState);\n }, []);\n\n const isLoading = Object.values(loadingState).includes(true);\n\n return {isLoading, updateEntityLoadingState, updateEntitiesNavigationLoadingState, resetLoadingState};\n};\n\ntype Props = {\n children: React.ReactNode;\n};\n\nexport const EntityLoadingIndicationProvider = ({children}: Props) => {\n const value = useEntityLoadingIndicationHook();\n return <EntityLoadingIndicationContext.Provider value={value}>{children}</EntityLoadingIndicationContext.Provider>;\n};\n\nexport const useEntityLoadingIndication = () => {\n return useContext(EntityLoadingIndicationContext);\n};\n","import React from 'react';\n\ntype Labels = {\n profileBand: {\n OPEN_RESULTS?: string;\n SEARCH_RESULT?: string;\n SEARCH_RESULTS?: string;\n NEXT_PROFILE?: string;\n PREVIOUS_PROFILE?: string;\n };\n};\nexport const LabelsContext = React.createContext<Labels>({\n profileBand: {}\n});\n\nLabelsContext.displayName = 'LabelsContext';\n","import {useCallback, useEffect, useState} from 'react';\nimport {useSelector} from 'react-redux';\nimport {\n andThen,\n fromPairs,\n map,\n otherwise,\n pipe,\n props,\n uniqBy,\n prop,\n propEq,\n when,\n always,\n assocPath,\n dissocPath,\n path,\n pathOr,\n mergeRight\n} from 'ramda';\nimport {\n CollaborationObjectTypes,\n Comment,\n CommentsMap,\n createComment as createCommentRequest,\n createReply as createReplyRequest,\n getComment as getCommentRequest,\n getCommentsCount as getCommentsCountRequest,\n Reply,\n updateComment as updateCommentRequest,\n updateReply as updateReplyRequest,\n deleteComment as deleteCommentRequest,\n deleteReply as deleteReplyRequest,\n getComments as getCommentsRequest,\n isTempUri,\n CollaborationStateMap,\n CommentState\n} from '@reltio/mdm-sdk';\nimport mdm from '@reltio/mdm-module';\n\ntype Props = {\n objectIds?: string[];\n objectTypes?: CollaborationObjectTypes[];\n enabled?: boolean;\n};\n\nconst filterReplies = (replyId: string, replies: Reply[]) => replies.filter((reply) => reply.replyId !== replyId);\n\nconst getUpdatedReplies = (comment: Comment, reply: Reply) => {\n const changedReplyIndex = comment.replies.findIndex(({replyId}) => replyId === reply.replyId);\n const newReplies = [...comment.replies];\n newReplies[changedReplyIndex] = reply;\n return newReplies;\n};\n\nconst defaultObjectIds = [];\nconst catchErrorInRequest = (e) => console.error('Collaboration error', e);\nexport const useCollaboration = ({objectIds = defaultObjectIds, objectTypes, enabled = true}: Props) => {\n const entity = useSelector(mdm.selectors.getEntity);\n const tenant: string = useSelector(mdm.selectors.getTenant);\n const collaborationPath: string = useSelector(mdm.selectors.getCollaborationPath);\n const isCollaborationEnabled = useSelector(mdm.selectors.isCollaborationEnabled) && enabled;\n\n const [pageToken, setPageToken] = useState<string | null>(null);\n const [comments, setComments] = useState<Comment[]>([]);\n const [commentsMap, setCommentsMap] = useState<CommentsMap>(null);\n const [currentComment, setCurrentComment] = useState<Comment | null>(null);\n const [sending, setSending] = useState(false);\n const [loading, setLoading] = useState(false);\n const [collaborationStateMap, setCollaborationStateMap] = useState<CollaborationStateMap>({});\n\n const addCommentsToCommentsMap = useCallback((commentsMap: CommentsMap) => {\n setCommentsMap((currentCommentsMap) => ({\n ...currentCommentsMap,\n ...commentsMap\n }));\n }, []);\n const entityUri = entity?.uri;\n const getCommentsCount = useCallback(\n (objectIds: string[], shouldResetCommentsMap = false) => {\n if (isCollaborationEnabled && entityUri && !isTempUri(entityUri)) {\n const onError = (e) => {\n console.warn('Collaboration error', e);\n setCommentsMap(null);\n };\n pipe(\n getCommentsCountRequest,\n andThen(map(props(['objectId', 'comments']))),\n andThen(fromPairs),\n andThen(shouldResetCommentsMap ? setCommentsMap : addCommentsToCommentsMap),\n otherwise(onError)\n )({uris: objectIds, tenant, collaborationPath});\n } else {\n setCommentsMap(null);\n }\n },\n [addCommentsToCommentsMap, collaborationPath, entityUri, isCollaborationEnabled, tenant]\n );\n\n useEffect(() => {\n getCommentsCount(objectIds, true);\n }, [objectIds, getCommentsCount]);\n\n const getComments = useCallback(\n (relatedObjectUri: string, pageToken?: string) => {\n getCommentsRequest({collaborationPath, tenant, relatedObjectUri, pageToken})\n .then(({items, nextPageToken}) => {\n setComments((prevComments) => {\n if (!pageToken) {\n return items;\n }\n return uniqBy(prop('commentId'), [...prevComments, ...items]);\n });\n setPageToken(nextPageToken);\n })\n .catch(catchErrorInRequest);\n },\n [collaborationPath, tenant]\n );\n\n const getComment = useCallback(\n (commentId: string) => {\n setLoading(true);\n\n getCommentRequest({collaborationPath, tenant, commentId})\n .then(setCurrentComment)\n .catch(catchErrorInRequest)\n .finally(() => setLoading(false));\n },\n [collaborationPath, tenant]\n );\n\n const addCommentToState = (comment: Comment, uri: string) => {\n setCurrentComment(comment);\n setCommentsMap((prevCommentsMap) => {\n return {\n ...prevCommentsMap,\n [uri]: [...(prevCommentsMap[uri] || []), {commentId: comment.commentId, replies: 0, status: 'open'}]\n };\n });\n setComments((prevComments) => [comment, ...prevComments]);\n };\n const updateCommentInState = (comment: Comment) => {\n setCurrentComment(comment);\n setComments(map(when(propEq('commentId', comment.commentId), always(comment))));\n };\n const deleteCommentFromState = (commentId: string, uri: string) => {\n setCurrentComment(null);\n setCommentsMap((prevCommentsMap) => {\n const comments = prevCommentsMap[uri] || [];\n return {\n ...prevCommentsMap,\n [uri]: comments.filter((c) => c.commentId !== commentId)\n };\n });\n setComments((prevComments) => {\n return prevComments.filter((comment) => comment.commentId !== commentId);\n });\n };\n const createComment = useCallback(\n ({content, namedUsers, objectType, uri, relatedObjectUris}) => {\n setSending(true);\n\n const data = {\n objectId: uri,\n content,\n relatedObjectUris,\n objectType,\n visibility: 'public',\n namedUsers,\n permanentLink: `${window.location.href}&commentId=${encodeURIComponent('{commentId}')}`\n };\n\n return createCommentRequest({collaborationPath, tenant, data})\n .then(([comment]) => addCommentToState(comment, uri))\n .catch(catchErrorInRequest)\n .finally(() => setSending(false));\n },\n [collaborationPath, tenant]\n );\n\n const editComment = useCallback(\n ({content, namedUsers, objectType, uri, relatedObjectUris, commentId, replies}) => {\n setSending(true);\n\n const data = {\n objectId: uri,\n content,\n relatedObjectUris,\n objectType,\n visibility: 'public',\n namedUsers,\n commentId,\n replies\n };\n\n return updateCommentRequest({collaborationPath, tenant, data})\n .then((comment) => updateCommentInState({...comment, replies}))\n .catch(catchErrorInRequest)\n .finally(() => setSending(false));\n },\n [collaborationPath, tenant]\n );\n\n const deleteComment = useCallback(\n ({uri, commentId}) => {\n setSending(true);\n\n deleteCommentRequest({collaborationPath, tenant, commentId})\n .then(() => deleteCommentFromState(commentId, uri))\n .catch(catchErrorInRequest)\n .finally(() => setSending(false));\n },\n [collaborationPath, tenant]\n );\n\n const updateReplyInState = useCallback((reply: Reply, uri: string, commentId: string, isDeleteReply?: boolean) => {\n const newStatus = reply.action === 'resolve' ? 'resolved' : 'open';\n const {replyId} = reply;\n if (newStatus === 'resolved') {\n setCurrentComment((prevCurrentComment) => {\n if (prevCurrentComment) {\n return null;\n }\n });\n } else {\n setCurrentComment((prevCurrentComment) => {\n if (prevCurrentComment) {\n return {\n ...prevCurrentComment,\n replies: isDeleteReply\n ? filterReplies(replyId, prevCurrentComment.replies)\n : [...prevCurrentComment.replies, reply]\n };\n }\n });\n }\n\n setCommentsMap((prevCommentsMap) => ({\n ...prevCommentsMap,\n [uri]: (prevCommentsMap[uri] || []).map((comment) => {\n if (comment.commentId === commentId) {\n return {\n ...comment,\n status: newStatus,\n replies: isDeleteReply ? comment.replies - 1 : comment.replies + 1\n };\n }\n\n return comment;\n })\n }));\n\n setComments((prevComments) => {\n return prevComments.map((comment) => {\n if (comment.commentId === commentId) {\n return {\n ...comment,\n status: newStatus,\n replies: isDeleteReply\n ? filterReplies(reply.replyId, comment.replies)\n : [...comment.replies, reply]\n };\n }\n\n return comment;\n });\n });\n }, []);\n\n const deleteReply = useCallback(\n ({uri, commentId, reply}) => {\n setSending(true);\n\n deleteReplyRequest({collaborationPath, tenant, commentId, replyId: reply.replyId})\n .then(() => updateReplyInState(reply, uri, commentId, true))\n .catch(catchErrorInRequest)\n .finally(() => setSending(false));\n },\n [collaborationPath, updateReplyInState, tenant]\n );\n\n const editReplyInState = useCallback((reply: Reply, commentId: string) => {\n setCurrentComment((prevCurrentComment) => {\n if (prevCurrentComment) {\n return {\n ...prevCurrentComment,\n replies: getUpdatedReplies(prevCurrentComment, reply)\n };\n }\n });\n\n setComments((prevComments) => {\n return prevComments.map((comment) => {\n if (comment.commentId === commentId) {\n return {\n ...comment,\n replies: getUpdatedReplies(comment, reply)\n };\n }\n\n return comment;\n });\n });\n }, []);\n\n const editReply = useCallback(\n ({content, namedUsers, commentId, replyId}) => {\n setSending(true);\n const data = {\n content,\n namedUsers\n };\n return updateReplyRequest({collaborationPath, tenant, commentId, replyId, data})\n .then((reply) => editReplyInState(reply, commentId))\n .catch(catchErrorInRequest)\n .finally(() => setSending(false));\n },\n [collaborationPath, tenant, editReplyInState]\n );\n\n const createReply = useCallback(\n ({content, namedUsers, commentId, action, uri}) => {\n setSending(true);\n\n const data = {\n content,\n action,\n namedUsers\n };\n\n return createReplyRequest({collaborationPath, tenant, commentId, data})\n .then(([reply]) => updateReplyInState(reply, uri, commentId))\n .catch(catchErrorInRequest)\n .finally(() => setSending(false));\n },\n [collaborationPath, tenant, updateReplyInState]\n );\n\n const resolveThread = useCallback(\n ({commentId, uri}) => {\n createReply({content: '', namedUsers: [], commentId, action: 'resolve', uri});\n },\n [createReply]\n );\n\n const reOpenThread = useCallback(\n ({commentId, uri}) => {\n createReply({content: '', namedUsers: [], commentId, action: 'reopen', uri});\n },\n [createReply]\n );\n\n const clearCurrentComment = useCallback(() => {\n setCurrentComment(null);\n }, []);\n\n const getCommentState = (uri: string, commentUri: string) => pathOr({}, [uri, commentUri], collaborationStateMap);\n\n const clearCommentState = (uri: string, commentUri: string) =>\n setCollaborationStateMap(dissocPath([uri, commentUri]));\n\n const updateCommentState = (uri: string, commentUri: string, newState: CommentState) => {\n setCollaborationStateMap((prevCollaborationStateMap) => {\n const pathToCommentState = [uri, commentUri];\n const prevCommentState = path(pathToCommentState, prevCollaborationStateMap);\n return assocPath(pathToCommentState, mergeRight(prevCommentState, newState), prevCollaborationStateMap);\n });\n };\n\n return {\n clearCurrentComment,\n comments,\n commentsMap,\n getCommentState,\n updateCommentState,\n clearCommentState,\n createComment,\n createReply,\n currentComment,\n deleteComment,\n editComment,\n getComment,\n getComments,\n getCommentsCount,\n loading,\n objectTypes,\n pageToken,\n reOpenThread,\n resolveThread,\n sending,\n deleteReply,\n editReply\n };\n};\n"],"names":["AvatarStates","className","icon","avatarText","rootClasses","otherProps","state","setState","useState","useEffect","ICON_MODE","TEXT_MODE","onImageLoadFail","ERROR_MODE","classnames","iconRoot","src","onError","textRoot","contextSelector","CellRenderer","withContext","TableContext","props","width","height","viewBox","xmlns","d","fill","fillRule","stroke","strokeWidth","opacity","ColumnsSettings","columnsData","selectedColumns","onChangeColumns","title","tooltipTitle","anchorEl","setAnchorEl","handleColumnClick","useCallback","column","changedColumns","pipe","getChildColumns","pluck","wasSelected","isColumnSelected","difference","uniq","concat","SmallIconButton","i18n","size","TableIcon","onClick","event","currentTarget","ColumnsSettingsPopup","onColumnClick","onClose","propTypes","ColumnsDataType","PropTypes","useStyles","makeStyles","popup","minWidth","groupItem","backgroundColor","ColumnListItem","item","checked","level","style","isFocused","isGroupItem","hideCheckBox","styles","AttributeListItem","key","id","data","label","Highlighter","text","highlight","filterText","labelInText","hideIcon","setFilterText","groupedItems","useMemo","buildColumnItems","items","flattenGroupedItemsData","containerWidth","getMaxItemWidth","handleSearchOnEnter","focusIndex","handleKeyDown","useKeyboardNavigation","open","onSelectFocusedItem","selectedItems","handleClose","listHeight","Math","min","length","containerHeight","max","SelectionPopup","onSearch","searchInputOnKeyDown","VirtualGroupedList","fixedTitle","renderItem","index","isGroupColumn","getItemSize","groupId","isParentToColumn","curry","parent","startsWith","isGroupToColumn","group","isHideableColumn","propOr","addColumn","columns","root","find","either","getColumnRoot","children","filterColumnsByLabel","utils","some","buildColumnsTrees","reduce","acc","columnData","attrType","dataTypeDefinition","buildFilteredColumnItems","filter","chain","isGroupedColumnsData","has","flattenGroupedColumnsData","map","assoc","when","childColumns","includes","every","textOverflow","overflow","whiteSpace","padding","fontSize","lineHeight","marginRight","borderRadius","flexShrink","fontWeight","entity","metadata","useSelector","mdmModule","entityTypeUri","type","entityType","getEntityType","entityTypeColor","getPropWithInheritance","theme","entityTypeLabel","getEntityTypeLabel","ExpandedValueTooltip","value","placement","Typography","color","component","profileBandWrapper","profileBand","display","alignItems","boxShadow","marginBottom","content","minHeight","inactive","background","inactiveBackground","profileIcon","imageProfileIcon","profileInfo","flexDirection","flex","badge","letterSpacing","palette","primary","wordBreak","marginTop","secondaryLabel","marginLeft","businessCard","secondary","specialInfo","justifyContent","flexWrap","entityId","cursor","textDecoration","classes","renderLabel","identity","showEntityId","handleCopyEntityIdToClipboard","navigator","clipboard","writeText","getEntityId","isNil","getLabel","businessCardText","getBusinessCardAttributesText","isActive","isActiveObject","entityUri","uri","EntityAvatar","avatarClassName","imageClassName","variant","EntityTypeBadge","isTempUri","Tooltip","container","link","LinkWithTooltip","withTooltip","Link","ProfileBandNavigationWidget","total","onPrev","onNext","onSearchResultsClick","isPrevDisabled","isNextDisabled","labels","useContext","LabelsContext","OPEN_RESULTS","SEARCH_RESULT","SEARCH_RESULTS","NEXT_PROFILE","PREVIOUS_PROFILE","mergeRight","underline","formatNumberAsMetric","KeyboardArrowLeft","disabled","showForDisabled","KeyboardArrowRight","MainSearchProvider","constructor","query","sortField","sortOrder","tenant","searchTenant","apiPath","dtssPath","globalSearchRequestOptions","isDT","this","getQueryFilter","rawFilter","getEntities","filters","options","requestFilters","requestOptions","sort","order","select","scoreEnabled","getFilteredEntitiesFromDataTenant","customerTenant","dataTenant","getFilteredEntities","checkEntity","fieldName","values","offset","then","entities","requestEntities","requestTotal","getTotalFromDataTenant","getTotals","json","GraphSearchProvider","searchBody","allFilters","getGraphSearchEntities","buildFilterQueryString","from","getGraphSearchCount","count","getNewUris","cache","prop","reject","useSearchNavigation","safeCheckEntityPromise","useSafePromise","safeRequestTotalPromise","safeRequestEntitiesPromise","updateEntitiesNavigationLoadingState","useEntityLoadingIndication","viewId","ViewIdContext","dispatch","useDispatch","loading","setLoading","searchProvider","getSearchProvider","updateNavigationData","mdmModuleSearch","openEntity","preparedUri","getEntityUriForLink","mdmModuleUi","source","perspectiveId","listenToActions","useActionsHook","stopListeningActions","action","searchNavigationData","payload","winnerUri","losersUris","updatedSearchNavigationData","winnerIndex","indexOf","uriIndex","splice","replaceWithWinnerUri","losersInCache","updatedTotal","updatedIndex","loser","updatedCache","removeLosersUris","applyMergeToSearchNavigationData","requestNextPage","newIndex","newUris","finally","requestPrevPage","stepForwardWithCheck","cacheIndex","isExists","clearedCache","stepBackWithCheck","ProfileBandNavigation","mode","isViewMode","useSearchNavigationVisibility","position","zIndex","boxSizing","backgroundClip","margin","backgroundImage","backgroundRepeat","backgroundSize","backgroundPosition","HANDLE_CHANGE_DEBOUNCE_INTERVAL","isHorizontal","orientation","ResizablePanes","defaultSize","minSize","maxSize","allowResize","debounceInterval","onChange","useTheme","containerEl","setContainerEl","isPaneAnimationEnabled","setIsPaneAnimationEnabled","enableAnimation","disableAnimation","getContainerSize","clientHeight","clientWidth","handleChange","debounce","containerSize","percentageSize","isMaxSize","isMinSize","paneAnimationStyle","transition","transitions","create","easing","sharp","duration","leavingScreen","ref","split","onDragStarted","onDragFinished","pane1Style","undefined","displayName","sourceType","findSourceSystemByUri","getSourceSystemLabel","sourceIcon","getAbsoluteImageUrl","slice","cancelButton","historyEvent","onCancel","profile","aStamp","Button","ActionsHookContext","createContext","ActionsHookProvider","hook","Provider","Error","CrosswalksDisplayContext","CrosswalksDisplayProvider","useCrosswalkColor","crosswalk","getCrosswalkColor","getColor","getCrosswalkId","useHighlightedCrosswalks","highlightedCrosswalks","useCrosswalkHighlight","setCrosswalkHighlighted","noop","isHighlighted","eqBy","isDimmed","highlightCrosswalk","removeHighlight","useCrosswalkFocus","toggleCrosswalkFocus","focusedCrosswalks","EntityLoadingIndicationContext","React","isLoading","updateEntityLoadingState","resetLoadingState","defaultLoadingState","entitiesNavigation","EntityLoadingIndicationProvider","loadingState","setLoadingState","prevLoadingState","Object","useEntityLoadingIndicationHook","filterReplies","replyId","replies","reply","getUpdatedReplies","comment","changedReplyIndex","findIndex","newReplies","defaultObjectIds","catchErrorInRequest","e","console","error","useCollaboration","objectIds","objectTypes","enabled","mdm","collaborationPath","isCollaborationEnabled","pageToken","setPageToken","comments","setComments","commentsMap","setCommentsMap","currentComment","setCurrentComment","sending","setSending","collaborationStateMap","setCollaborationStateMap","addCommentsToCommentsMap","currentCommentsMap","getCommentsCount","shouldResetCommentsMap","warn","getCommentsCountRequest","andThen","fromPairs","otherwise","uris","getComments","relatedObjectUri","getCommentsRequest","nextPageToken","prevComments","uniqBy","catch","getComment","commentId","getCommentRequest","createComment","namedUsers","objectType","relatedObjectUris","objectId","visibility","permanentLink","window","location","href","encodeURIComponent","createCommentRequest","prevCommentsMap","status","addCommentToState","editComment","updateCommentRequest","propEq","always","updateCommentInState","deleteComment","deleteCommentRequest","c","deleteCommentFromState","updateReplyInState","isDeleteReply","newStatus","prevCurrentComment","deleteReply","deleteReplyRequest","editReplyInState","editReply","updateReplyRequest","createReply","createReplyRequest","resolveThread","reOpenThread","clearCurrentComment","getCommentState","commentUri","pathOr","updateCommentState","newState","prevCollaborationStateMap","pathToCommentState","prevCommentState","path","assocPath","clearCommentState","dissocPath"],"sourceRoot":""}
|