@reltio/remotes 1.4.1379 → 1.4.1380

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (91) hide show
  1. package/{6617.css → 1268.css} +1 -1
  2. package/{6617.css.map → 1268.css.map} +1 -1
  3. package/{6248.js → 1268.js} +2 -2
  4. package/{6248.js.map → 1268.js.map} +1 -1
  5. package/1375.js +1 -1
  6. package/1375.js.map +1 -1
  7. package/1409.js +2 -0
  8. package/1409.js.map +1 -0
  9. package/162.js +2 -0
  10. package/162.js.map +1 -0
  11. package/1746.js +2 -0
  12. package/1746.js.map +1 -0
  13. package/2114.js +1 -1
  14. package/2890.js +1 -1
  15. package/3540.js +1 -1
  16. package/3540.js.map +1 -1
  17. package/3640.js +1 -1
  18. package/3640.js.map +1 -1
  19. package/3723.js +3 -0
  20. package/{3213.js.LICENSE.txt → 3723.js.LICENSE.txt} +0 -0
  21. package/3723.js.map +1 -0
  22. package/3760.js +2 -0
  23. package/3760.js.map +1 -0
  24. package/4038.js +1 -1
  25. package/4038.js.map +1 -1
  26. package/4312.js +2 -0
  27. package/4312.js.map +1 -0
  28. package/447.js +1 -1
  29. package/447.js.map +1 -1
  30. package/4689.js +1 -1
  31. package/4889.js +1 -1
  32. package/4889.js.map +1 -1
  33. package/5400.js +1 -1
  34. package/5691.js +1 -1
  35. package/5691.js.map +1 -1
  36. package/5709.js +1 -1
  37. package/5937.js +1 -1
  38. package/5937.js.map +1 -1
  39. package/6103.js +1 -1
  40. package/6877.js +2 -0
  41. package/6877.js.map +1 -0
  42. package/7861.js +2 -0
  43. package/7861.js.map +1 -0
  44. package/{3786.css → 7880.css} +1 -1
  45. package/{3786.css.map → 7880.css.map} +1 -1
  46. package/7880.js +2 -0
  47. package/7880.js.map +1 -0
  48. package/8684.css +635 -0
  49. package/8684.css.map +1 -0
  50. package/{3405.js → 8684.js} +2 -2
  51. package/{3405.js.map → 8684.js.map} +1 -1
  52. package/8782.js +3 -0
  53. package/{781.js.LICENSE.txt → 8782.js.LICENSE.txt} +0 -0
  54. package/8782.js.map +1 -0
  55. package/9043.js +1 -1
  56. package/9043.js.map +1 -1
  57. package/9606.js +1 -1
  58. package/9606.js.map +1 -1
  59. package/9992.js +2 -0
  60. package/9992.js.map +1 -0
  61. package/package.json +1 -1
  62. package/remoteEntry.js +1 -1
  63. package/remoteEntry.js.map +1 -1
  64. package/1178.js +0 -2
  65. package/1178.js.map +0 -1
  66. package/1635.js +0 -2
  67. package/1635.js.map +0 -1
  68. package/2378.js +0 -2
  69. package/2378.js.map +0 -1
  70. package/3213.js +0 -3
  71. package/3213.js.map +0 -1
  72. package/3786.js +0 -2
  73. package/3786.js.map +0 -1
  74. package/4115.js +0 -2
  75. package/4115.js.map +0 -1
  76. package/612.js +0 -2
  77. package/612.js.map +0 -1
  78. package/6617.js +0 -2
  79. package/6617.js.map +0 -1
  80. package/6892.js +0 -2
  81. package/6892.js.map +0 -1
  82. package/6913.js +0 -2
  83. package/6913.js.map +0 -1
  84. package/781.js +0 -3
  85. package/781.js.map +0 -1
  86. package/8051.js +0 -2
  87. package/8051.js.map +0 -1
  88. package/9417.js +0 -2
  89. package/9417.js.map +0 -1
  90. package/98.js +0 -2
  91. package/98.js.map +0 -1
package/98.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"98.js","mappings":"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","sources":["webpack://@reltio/remotes/../components/src/components/ActionButton/styles.ts","webpack://@reltio/remotes/../components/src/components/ActionButton/ActionButton.tsx","webpack://@reltio/remotes/../components/src/components/ConnectionRelationTypeSelector/ConnectionRelationTypeSelector.js","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/searchProviders/SearchProviderFactory.ts","webpack://@reltio/remotes/../components/src/components/ProfileBandNavigation/hooks/useSearchNavigation.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/SideIconPanel/styles.ts","webpack://@reltio/remotes/../components/src/components/SideIconPanel/SideButtonsPanel.tsx","webpack://@reltio/remotes/../components/src/components/SidePanel/styles.ts","webpack://@reltio/remotes/../components/src/components/SidePanel/SidePanel.tsx","webpack://@reltio/remotes/../components/src/components/attributes/editMode/RelationTypeSelector/components/styles.js","webpack://@reltio/remotes/../components/src/components/attributes/editMode/RelationTypeSelector/components/RelationOption.js","webpack://@reltio/remotes/../components/src/components/attributes/editMode/RelationTypeSelector/RelationTypeSelector.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/hooks/useCollaboration.ts","webpack://@reltio/remotes/../components/src/hooks/useRelationTypeSelector.js"],"sourcesContent":["import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles((theme) => ({\n button: {\n padding: '9px 16px 9px 12px',\n '& svg g path, & svg path': {\n fill: theme.palette.primary.main,\n fillOpacity: 1\n }\n },\n iconButton: {\n '& svg g path, & svg path': {\n fill: theme.palette.primary.main,\n fillOpacity: 1\n }\n },\n startIcon: {\n marginLeft: 0,\n marginRight: '8px',\n width: '18px',\n height: '18px',\n alignItems: 'center'\n },\n label: {\n whiteSpace: 'nowrap',\n fontSize: '14px',\n lineHeight: '16px',\n letterSpacing: 0\n },\n overflowStyle: {\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis'\n },\n menuIcon: {\n marginRight: '12px'\n },\n menuItem: {\n minHeight: '28px',\n padding: '2px 16px 2px 12px'\n },\n menuText: {\n color: theme.palette.text.primary,\n fontSize: '13px',\n lineHeight: '15px',\n letterSpacing: 0\n }\n}));\n","import React, {forwardRef} from 'react';\nimport classnames from 'classnames';\nimport {Button as Button} from '@material-ui/core';\nimport {MenuItem as MenuItem} from '@material-ui/core';\nimport {Typography as Typography} from '@material-ui/core';\n\nimport {useStyles} from './styles';\nimport {noop} from '../../core';\nimport ExpandedValueTooltip from '../ExpandedValueTooltip/ExpandedValueTooltip';\nimport {SmallIconButtonWithTooltip} from '../SmallIconButton';\n\nexport enum ActionButtonMode {\n iconButton = 'iconButton',\n button = 'button',\n menuItem = 'menuItem'\n}\n\nexport type Props = {\n className?: string;\n disabled?: boolean;\n icon: React.ElementType;\n label: string;\n mode: ActionButtonMode;\n onClick: () => void;\n onMenuClose?: () => void;\n};\n\nexport const ActionButton = forwardRef<HTMLLIElement, Props>(\n (\n {\n className,\n mode = ActionButtonMode.iconButton,\n label,\n disabled,\n icon: Icon,\n onClick = noop,\n onMenuClose = noop,\n ...otherProps\n }: Props,\n ref: React.Ref<HTMLLIElement>\n ) => {\n const styles = useStyles();\n\n const getButtonView = () => {\n switch (mode) {\n case 'iconButton': {\n return (\n <SmallIconButtonWithTooltip\n disabled={disabled}\n className={classnames(styles.iconButton, className)}\n size=\"S\"\n tooltipTitle={label}\n onClick={onClick}\n icon={Icon}\n showForDisabled\n {...otherProps}\n />\n );\n }\n case 'button': {\n return (\n <Button\n className={classnames(styles.button, className)}\n disabled={disabled}\n startIcon={<Icon />}\n onClick={onClick}\n color=\"primary\"\n classes={{startIcon: styles.startIcon, label: styles.label}}\n {...otherProps}\n >\n <ExpandedValueTooltip value={label}>\n <div className={styles.overflowStyle}>{label}</div>\n </ExpandedValueTooltip>\n </Button>\n );\n }\n case 'menuItem': {\n const handleClick = () => {\n onMenuClose();\n onClick();\n };\n return (\n <MenuItem\n classes={{root: styles.menuItem}}\n onClick={handleClick}\n disabled={disabled}\n ref={ref}\n {...otherProps}\n >\n <>\n <Icon className={styles.menuIcon} />\n <Typography classes={{root: styles.menuText}}>{label}</Typography>\n </>\n </MenuItem>\n );\n }\n }\n };\n\n return getButtonView();\n }\n);\n\nActionButton.displayName = 'ActionButton';\n","import React, {useMemo, useCallback, useEffect} from 'react';\nimport PropTypes from 'prop-types';\nimport {ConnectionRelationType, RelationTypeType} from '@reltio/mdm-sdk';\nimport {identity, pipe} from 'ramda';\nimport {useRelationTypeSelector} from '../../hooks';\nimport RelationTypeSelector from '../attributes/editMode/RelationTypeSelector/RelationTypeSelector';\n\nconst ConnectionRelationTypeSelector = ({\n relation = {},\n inRelationTypes = [],\n outRelationTypes = [],\n onChange = identity,\n applyFirstByDefault = false,\n reversedContextLabels = false,\n ...otherProps\n}) => {\n const {getRelationTypesOptions, fromEditorValue, toEditorValue} = useRelationTypeSelector({reversedContextLabels});\n\n const relationsTypesOptions = useMemo(() => getRelationTypesOptions(inRelationTypes, outRelationTypes), [\n getRelationTypesOptions,\n inRelationTypes,\n outRelationTypes\n ]);\n\n const handleChange = useCallback(pipe(fromEditorValue(inRelationTypes, outRelationTypes), onChange), [\n fromEditorValue,\n inRelationTypes,\n outRelationTypes,\n onChange\n ]);\n\n const hasValue = !!relation.relationType;\n\n useEffect(() => {\n if (applyFirstByDefault && relationsTypesOptions.length && !hasValue) {\n handleChange(relationsTypesOptions[0]);\n }\n }, [relationsTypesOptions, applyFirstByDefault, handleChange, hasValue]);\n\n return (\n <RelationTypeSelector\n value={toEditorValue(relation, relationsTypesOptions)}\n options={relationsTypesOptions}\n onChange={handleChange}\n {...otherProps}\n />\n );\n};\n\nConnectionRelationTypeSelector.propTypes = {\n className: PropTypes.string,\n relation: ConnectionRelationType,\n inRelationTypes: PropTypes.arrayOf(RelationTypeType),\n outRelationTypes: PropTypes.arrayOf(RelationTypeType),\n applyFirstByDefault: PropTypes.bool,\n reversedContextLabels: PropTypes.bool,\n onChange: PropTypes.func\n};\n\nexport default ConnectionRelationTypeSelector;\n","import {makeStyles} from '@material-ui/core/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 from 'react';\nimport classnames from 'classnames';\nimport i18n from 'ui-i18n';\nimport {Link as Link} from '@material-ui/core';\nimport {withTooltip} from '../../HOCs';\nimport {SmallIconButtonWithTooltip} from '../SmallIconButton';\nimport KeyboardArrowLeft from '@material-ui/icons/KeyboardArrowLeft';\nimport KeyboardArrowRight from '@material-ui/icons/KeyboardArrowRight';\nimport {formatNumberAsMetric} from '@reltio/mdm-sdk';\n\nimport {useStyles} from './styles';\n\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 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={i18n.text('Go to search results')}\n >\n {formatNumberAsMetric(total, 1000000)}{' '}\n {total === 1 ? i18n.text('Search result') : i18n.text('Search results')}\n </LinkWithTooltip>\n <SmallIconButtonWithTooltip\n size=\"L\"\n icon={KeyboardArrowLeft}\n tooltipTitle={i18n.text('Go to previous profile')}\n onClick={onPrev}\n disabled={isPrevDisabled}\n showForDisabled\n />\n <SmallIconButtonWithTooltip\n size=\"L\"\n icon={KeyboardArrowRight}\n tooltipTitle={i18n.text('Go to 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 (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 {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 {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 {ViewIdContext} from '../../../contexts';\nimport {useSafePromise} from '../../../hooks';\nimport {getSearchProvider} from '../searchProviders/SearchProviderFactory';\nimport {SearchNavigationData, SearchProviderData} from '../types';\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 {uri, index, total, tenant: searchTenant, 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 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 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 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 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 {fade, makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles((theme) => ({\n container: {\n display: 'flex',\n flexDirection: 'column',\n flexShrink: 0,\n width: '64px',\n paddingTop: '8px',\n backgroundColor: theme.palette.background.paper,\n boxShadow: '0 1px 1px 0 rgba(0,0,0,0.14), 0 2px 1px -1px rgba(0,0,0,0.12), 0 1px 3px 0 rgba(0,0,0,0.2)'\n },\n active: {\n backgroundColor: fade(theme.palette.primary.main, 0.12),\n color: theme.palette.primary.main,\n '&:after': {\n content: '\"\"',\n position: 'absolute',\n height: '42px',\n width: '3px',\n backgroundColor: theme.palette.primary.main,\n left: '-8px',\n borderRadius: '0 6px 6px 0'\n }\n },\n buttonWrapper: {\n position: 'relative',\n width: '48px',\n height: '44px',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n borderRadius: '6px',\n margin: '2px 8px',\n color: theme.palette.text.secondary\n }\n}));\n","import React, {VFC, ElementType} from 'react';\nimport classnames from 'classnames';\nimport {IconButtonProps} from '@material-ui/core/IconButton';\nimport {SmallIconButtonWithTooltip} from '../SmallIconButton';\nimport {useStyles} from './styles';\n\ntype Props = {\n buttonsProps: {\n icon: ElementType;\n tooltipTitle: string;\n id: number;\n }[];\n classes?: {active?: string; buttonWrapper?: string} & IconButtonProps['classes'];\n activeIndexId: number;\n className?: string;\n onButtonClick: (id: number) => void;\n};\n\nexport const SideButtonsPanel: VFC<Props> = ({buttonsProps, activeIndexId, className, onButtonClick, classes = {}}) => {\n const styles = useStyles();\n const {active, buttonWrapper, ...iconButtonClasses} = classes;\n\n return (\n <div className={classnames(styles.container, className)}>\n {buttonsProps.map(({id, ...buttonProps}) => {\n return (\n <SmallIconButtonWithTooltip\n {...buttonProps}\n classes={iconButtonClasses}\n size=\"S\"\n key={id}\n className={classnames(\n {[classnames(styles.active, active)]: activeIndexId === id},\n styles.buttonWrapper,\n buttonWrapper\n )}\n onClick={() => onButtonClick(id)}\n data-reltio-id={`reltio-profile-right-side-button-${id}`}\n />\n );\n })}\n </div>\n );\n};\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles((theme) => ({\n contentWrapper: {\n display: 'flex',\n flexDirection: 'column',\n backgroundColor: theme.palette.background.paper,\n boxShadow: '0 1px 1px 0 rgba(0,0,0,0.14), 0 2px 1px -1px rgba(0,0,0,0.12), 0 1px 3px 0 rgba(0,0,0,0.2)',\n marginLeft: '3px',\n transition: theme.transitions.create(['width'], {\n duration: theme.transitions.duration.enteringScreen\n })\n }\n}));\n","import React, {ReactNode, VFC} from 'react';\nimport {useStyles} from './styles';\n\ntype Props = {\n width: number;\n open: boolean;\n children: ReactNode;\n};\n\nexport const SidePanel: VFC<Props> = ({width, open, children}) => {\n const styles = useStyles();\n return (\n <div\n className={styles.contentWrapper}\n style={{\n width: `${open ? width : 0}px`\n }}\n >\n {open && <>{children}</>}\n </div>\n );\n};\n","import {makeStyles} from '@material-ui/core/styles';\n\nconst iconsWidth = '68px';\n\nexport const useOptionStyles = makeStyles({\n container: {\n display: 'flex',\n alignItems: 'center',\n height: '32px',\n minHeight: '32px',\n padding: 0\n },\n text: {\n display: 'flex',\n width: `calc(100% - ${iconsWidth})`\n },\n textItem: {\n fontSize: '13px',\n lineHeight: '15px',\n marginRight: 10\n },\n primaryTextItem: {\n flex: '1 0',\n flexBasis: 0,\n maxWidth: '50%',\n overflow: 'hidden',\n textOverflow: 'ellipsis'\n },\n secondaryTextItem: {\n flex: '1 0',\n flexBasis: 0,\n overflow: 'hidden',\n textOverflow: 'ellipsis'\n },\n icons: {\n transform: 'scale(0.5)',\n position: 'relative',\n flexShrink: 0,\n width: iconsWidth,\n bottom: '10px'\n },\n iconTop: {\n position: 'absolute',\n top: 0,\n left: 0,\n zIndex: 1\n },\n iconBottom: {\n position: 'absolute',\n top: 0,\n left: 26,\n zIndex: 0\n }\n});\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {MenuItem as MenuItem} from '@material-ui/core';\nimport {Typography as Typography} from '@material-ui/core';\nimport {useOptionStyles} from './styles';\nimport EntityTypeIcon from '../../../../EntityTypeIcon/EntityTypeIcon';\nimport ExpandedValueTooltip from '../../../../ExpandedValueTooltip/ExpandedValueTooltip';\n\nconst RelationOption = ({innerRef, innerProps, selectOption, data}) => {\n const styles = useOptionStyles();\n const {value, label, startObject, endObject} = data;\n const secondaryLabel = startObject.objectType.label + ' \\u2194 ' + endObject.objectType.label;\n return (\n <MenuItem\n className={styles.container}\n ref={innerRef}\n key={value}\n onClick={() => selectOption({label, value, startObject, endObject})}\n {...innerProps}\n >\n <div className={styles.icons}>\n <EntityTypeIcon className={styles.iconTop} entityType={startObject.objectType} />\n <EntityTypeIcon className={styles.iconBottom} entityType={endObject.objectType} />\n </div>\n <div className={styles.text}>\n <ExpandedValueTooltip value={label}>\n <Typography className={classnames(styles.textItem, styles.primaryTextItem)}>{label}</Typography>\n </ExpandedValueTooltip>\n <ExpandedValueTooltip value={secondaryLabel}>\n <Typography color=\"textSecondary\" className={classnames(styles.textItem, styles.secondaryTextItem)}>\n {secondaryLabel}\n </Typography>\n </ExpandedValueTooltip>\n </div>\n </MenuItem>\n );\n};\n\nRelationOption.propTypes = {\n innerRef: PropTypes.oneOfType([\n PropTypes.oneOf([null]),\n PropTypes.func,\n PropTypes.shape({\n current: PropTypes.any.isRequired\n })\n ]),\n innerProps: PropTypes.object.isRequired,\n selectOption: PropTypes.func.isRequired,\n data: PropTypes.shape({\n value: PropTypes.string.isRequired,\n label: PropTypes.string.isRequired,\n startObject: PropTypes.object,\n endObject: PropTypes.object\n })\n};\n\nexport default RelationOption;\n","import React, {useMemo} from 'react';\nimport PropTypes from 'prop-types';\nimport i18n from 'ui-i18n';\nimport {identity, defaultTo} from 'ramda';\nimport RelationOption from './components/RelationOption';\nimport DropDownSelector from '../../../DropDownSelector/DropDownSelector';\n\nconst RelationTypeSelector = ({value = {}, options = [], onChange = identity, TextFieldProps, ...otherProps}) => {\n const textFieldProps = useMemo(\n () => ({\n ...defaultTo({}, TextFieldProps),\n ['data-reltio-id']: 'relation-type-selector'\n }),\n [TextFieldProps]\n );\n return (\n <DropDownSelector\n value={value}\n options={options}\n onChange={onChange}\n label={i18n.text('Select relationship type ')}\n components={{Option: RelationOption}}\n TextFieldProps={textFieldProps}\n {...otherProps}\n />\n );\n};\n\nconst ValueType = PropTypes.shape({\n label: PropTypes.string.isRequired,\n value: PropTypes.string.isRequired,\n startObject: PropTypes.object,\n endObject: PropTypes.object\n});\n\nRelationTypeSelector.propTypes = {\n value: ValueType,\n options: PropTypes.arrayOf(ValueType),\n onChange: PropTypes.func\n};\n\nexport default RelationTypeSelector;\n","import {makeStyles} from '@material-ui/core/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 as Button} from '@material-ui/core';\nimport {Typography as Typography} from '@material-ui/core';\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 {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: ''\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 permanentLink: '',\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","import {useCallback} from 'react';\nimport {Directions, getDirectionalLabelFromObject} from '@reltio/mdm-sdk';\nimport {ascend, curry, evolve, pipe, prop, propEq, propOr, tap} from 'ramda';\n\nexport const useRelationTypeSelector = ({reversedContextLabels}) => {\n const getRelationTypesOptions = useCallback(\n (inRelations, outRelations) => {\n const labelsMap = {};\n const addLabelInMap = (label) => (labelsMap[label] = propOr(0, label, labelsMap) + 1);\n const getDirectionalLabel = pipe(getDirectionalLabelFromObject, tap(addLabelInMap));\n const byLabel = ascend(prop('label'));\n\n const prepareRelation = curry((direction, {uri, label, startObject, endObject}) => {\n const dirObject =\n direction === (reversedContextLabels ? Directions.OUT : Directions.IN) ? startObject : endObject;\n return {\n label: {directionalLabel: getDirectionalLabel(dirObject), typeLabel: label},\n value: `${uri},${direction}`,\n startObject,\n endObject\n };\n });\n\n return inRelations\n .map(prepareRelation(Directions.IN))\n .concat(outRelations.map(prepareRelation(Directions.OUT)))\n .map(\n evolve({\n label: ({directionalLabel, typeLabel}) => {\n return directionalLabel\n ? labelsMap[directionalLabel] > 1\n ? `${directionalLabel} (${typeLabel})`\n : directionalLabel\n : typeLabel;\n }\n })\n )\n .sort(byLabel);\n },\n [reversedContextLabels]\n );\n\n const fromEditorValue = useCallback(\n (inRelationTypes, outRelationTypes) => (relation) => {\n const [uri, direction] = relation.value.split(',');\n const type = (direction === Directions.IN ? inRelationTypes : outRelationTypes).find(propEq('uri', uri));\n return {type, direction};\n },\n []\n );\n\n const toEditorValue = useCallback(\n (relation, relationsTypesOptions) =>\n relationsTypesOptions.find(propEq('value', `${relation.relationType},${relation.direction}`)),\n []\n );\n\n return {\n getRelationTypesOptions,\n fromEditorValue,\n toEditorValue\n };\n};\n"],"names":["useStyles","makeStyles","theme","button","padding","fill","palette","primary","main","fillOpacity","iconButton","startIcon","marginLeft","marginRight","width","height","alignItems","label","whiteSpace","fontSize","lineHeight","letterSpacing","overflowStyle","overflow","textOverflow","menuIcon","menuItem","minHeight","menuText","color","text","ActionButtonMode","ActionButton","forwardRef","ref","className","mode","disabled","icon","Icon","onClick","noop","onMenuClose","otherProps","styles","SmallIconButton","classnames","size","tooltipTitle","showForDisabled","Button","classes","ExpandedValueTooltip","value","handleClick","MenuItem","root","Typography","getButtonView","displayName","ConnectionRelationTypeSelector","relation","inRelationTypes","outRelationTypes","onChange","identity","applyFirstByDefault","reversedContextLabels","getRelationTypesOptions","fromEditorValue","toEditorValue","useRelationTypeSelector","relationsTypesOptions","useMemo","handleChange","useCallback","pipe","hasValue","relationType","useEffect","length","options","propTypes","PropTypes","ConnectionRelationType","RelationTypeType","container","display","link","LinkWithTooltip","withTooltip","Link","ProfileBandNavigationWidget","total","onPrev","onNext","onSearchResultsClick","isPrevDisabled","isNextDisabled","component","variant","underline","i18n","formatNumberAsMetric","KeyboardArrowLeft","KeyboardArrowRight","MainSearchProvider","constructor","data","query","sortField","sortOrder","tenant","searchTenant","apiPath","dtssPath","globalSearchRequestOptions","isDT","this","getQueryFilter","rawFilter","getEntities","filters","requestFilters","requestOptions","sort","order","select","scoreEnabled","getFilteredEntitiesFromDataTenant","customerTenant","dataTenant","getFilteredEntities","checkEntity","uri","filter","fieldName","values","offset","max","then","entities","requestEntities","requestTotal","getTotalFromDataTenant","getTotals","json","GraphSearchProvider","searchBody","allFilters","getGraphSearchEntities","buildFilterQueryString","getEntityId","from","getGraphSearchCount","count","getNewUris","cache","map","prop","reject","includes","ProfileBandNavigation","safeCheckEntityPromise","useSafePromise","safeRequestTotalPromise","safeRequestEntitiesPromise","index","useSelector","mdmModule","type","state","viewId","useContext","ViewIdContext","dispatch","useDispatch","loading","setLoading","useState","searchProvider","getSearchProvider","updateNavigationData","mdmModuleSearch","openEntity","preparedUri","getEntityUriForLink","mdmModuleUi","source","perspectiveId","requestNextPage","newIndex","newUris","concat","finally","requestPrevPage","Math","min","stepForwardWithCheck","cacheIndex","isExists","clearedCache","splice","stepBackWithCheck","indexOf","useSearchNavigation","entity","isViewMode","useSearchNavigationVisibility","flexDirection","flexShrink","paddingTop","backgroundColor","background","paper","boxShadow","active","fade","content","position","left","borderRadius","buttonWrapper","justifyContent","margin","secondary","SideButtonsPanel","buttonsProps","activeIndexId","onButtonClick","iconButtonClasses","id","buttonProps","key","contentWrapper","transition","transitions","create","duration","enteringScreen","SidePanel","open","children","style","useOptionStyles","textItem","primaryTextItem","flex","flexBasis","maxWidth","secondaryTextItem","icons","transform","bottom","iconTop","top","zIndex","iconBottom","RelationOption","innerRef","innerProps","selectOption","startObject","endObject","secondaryLabel","objectType","EntityTypeIcon","entityType","current","RelationTypeSelector","TextFieldProps","textFieldProps","defaultTo","DropDownSelector","components","Option","ValueType","slice","fontWeight","cancelButton","historyEvent","onCancel","profile","aStamp","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","entityUri","getCommentsCount","shouldResetCommentsMap","isTempUri","onError","warn","getCommentsCountRequest","andThen","props","fromPairs","otherwise","uris","getComments","relatedObjectUri","getCommentsRequest","items","nextPageToken","prevComments","uniqBy","catch","getComment","commentId","getCommentRequest","createComment","namedUsers","relatedObjectUris","objectId","visibility","permanentLink","createCommentRequest","prevCommentsMap","status","addCommentToState","editComment","updateCommentRequest","when","propEq","always","updateCommentInState","deleteComment","deleteCommentRequest","c","deleteCommentFromState","updateReplyInState","isDeleteReply","newStatus","action","prevCurrentComment","deleteReply","deleteReplyRequest","editReplyInState","editReply","updateReplyRequest","createReply","createReplyRequest","resolveThread","reOpenThread","clearCurrentComment","getCommentState","commentUri","pathOr","updateCommentState","newState","prevCollaborationStateMap","pathToCommentState","prevCommentState","path","assocPath","mergeRight","clearCommentState","dissocPath","inRelations","outRelations","labelsMap","getDirectionalLabel","getDirectionalLabelFromObject","tap","propOr","byLabel","ascend","prepareRelation","curry","direction","dirObject","Directions","directionalLabel","typeLabel","evolve","split","find"],"sourceRoot":""}