@reltio/remotes 1.4.1701 → 1.4.1702
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/1425.js.map +1 -1
- package/package.json +1 -1
package/1425.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"1425.js","mappings":"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","sources":["webpack://@reltio/remotes/../components/src/components/AutoSizeList/styles.ts","webpack://@reltio/remotes/../components/src/components/AutoSizeList/AutoSizeList.tsx","webpack://@reltio/remotes/../components/src/components/BasicViewContent/styles.ts","webpack://@reltio/remotes/../components/src/components/BasicViewContent/BasicViewContent.tsx","webpack://@reltio/remotes/../components/src/components/activityLog/ActivityLog/helpers.ts","webpack://@reltio/remotes/../components/src/components/activityLog/ActivityLog/items/GroupItem/styles.ts","webpack://@reltio/remotes/../components/src/components/activityLog/ActivityLog/items/GroupItem/GroupItem.tsx","webpack://@reltio/remotes/../components/src/components/activityLog/activities/ActivityTitle/styles.ts","webpack://@reltio/remotes/../components/src/components/activityLog/activities/ActivityTitle/ActivityTitle.tsx","webpack://@reltio/remotes/../components/src/components/activityLog/activities/CommentActivity.tsx","webpack://@reltio/remotes/../components/src/components/activityLog/activities/styles.ts","webpack://@reltio/remotes/../components/src/components/activityLog/activities/GroupActivity.tsx","webpack://@reltio/remotes/../components/src/components/activityLog/contexts/CollapsibleItemsContext/index.tsx","webpack://@reltio/remotes/../components/src/components/activityLog/activities/MoreItemsLink/MoreItemsLink.tsx","webpack://@reltio/remotes/../components/src/components/activityLog/activities/records/CollapsibleActivityRecords.tsx","webpack://@reltio/remotes/../components/src/components/activityLog/activities/EntityObject/styles.ts","webpack://@reltio/remotes/../components/src/components/activityLog/activities/EntityObject/EntityObject.tsx","webpack://@reltio/remotes/../components/src/components/activityLog/activities/fields/commonStyles.ts","webpack://@reltio/remotes/../components/src/components/activityLog/activities/fields/styles.ts","webpack://@reltio/remotes/../components/src/components/activityLog/activities/fields/PotentialMatchField.tsx","webpack://@reltio/remotes/../components/src/components/activityLog/activities/records/styles.ts","webpack://@reltio/remotes/../components/src/components/activityLog/activities/records/PotentialMatchRecord.tsx","webpack://@reltio/remotes/../components/src/components/activityLog/activities/MergeActivity.tsx","webpack://@reltio/remotes/../components/src/components/activityLog/activities/PotentialMatchActivity.tsx","webpack://@reltio/remotes/../components/src/components/activityLog/activities/fields/DeltaField.tsx","webpack://@reltio/remotes/../components/src/components/activityLog/activities/records/RecordUpdates.tsx","webpack://@reltio/remotes/../components/src/components/activityLog/activities/records/EntityRecord.tsx","webpack://@reltio/remotes/../components/src/components/activityLog/activities/ProfileActivity.tsx","webpack://@reltio/remotes/../components/src/components/activityLog/activities/RelationObject/styles.ts","webpack://@reltio/remotes/../components/src/components/activityLog/activities/RelationObject/RelationObject.tsx","webpack://@reltio/remotes/../components/src/components/activityLog/activities/records/RelationRecord.tsx","webpack://@reltio/remotes/../components/src/components/activityLog/activities/RelationActivity.tsx","webpack://@reltio/remotes/../components/src/components/activityLog/activities/SearchActivity.tsx","webpack://@reltio/remotes/../components/src/components/activityLog/activities/SimpleActivity.tsx","webpack://@reltio/remotes/../components/src/components/activityLog/activities/SynchronizationIssuesActivity.tsx","webpack://@reltio/remotes/../components/src/icons/Add.tsx","webpack://@reltio/remotes/../components/src/icons/Comment.tsx","webpack://@reltio/remotes/../components/src/icons/Create.tsx","webpack://@reltio/remotes/../components/src/icons/LogIn.tsx","webpack://@reltio/remotes/../components/src/icons/LogOut.tsx","webpack://@reltio/remotes/../components/src/icons/Merge.tsx","webpack://@reltio/remotes/../components/src/icons/NoMatches.tsx","webpack://@reltio/remotes/../components/src/icons/PotentialMatch.tsx","webpack://@reltio/remotes/../components/src/icons/Profile.tsx","webpack://@reltio/remotes/../components/src/icons/Remove.tsx","webpack://@reltio/remotes/../components/src/icons/Search.tsx","webpack://@reltio/remotes/../components/src/icons/UnMerge.tsx","webpack://@reltio/remotes/../components/src/components/activityLog/activities/ActivitiesFactory.tsx","webpack://@reltio/remotes/../components/src/components/activityLog/ActivityLog/items/ActivityItem/styles.ts","webpack://@reltio/remotes/../components/src/components/activityLog/ActivityLog/items/ActivityItem/ActivityItem.tsx","webpack://@reltio/remotes/../components/src/components/activityLog/ActivityLog/styles.ts","webpack://@reltio/remotes/../components/src/components/activityLog/ActivityLog/ActivityLog.tsx","webpack://@reltio/remotes/../components/src/components/activityLog/ActivityExportButton/styles.ts","webpack://@reltio/remotes/../components/src/components/activityLog/ActivityExportButton/ActivityExportButton.tsx","webpack://@reltio/remotes/../components/src/components/activityLog/ActivityFilterEditor/utils/getSelectorActivityTypes.ts","webpack://@reltio/remotes/../components/src/components/activityLog/ActivityFilterEditor/styles.ts","webpack://@reltio/remotes/../components/src/components/activityLog/ActivityFilterEditor/ActivitySelector.tsx","webpack://@reltio/remotes/../components/src/components/activityLog/ActivityFilterEditor/DateRangeSelector.tsx","webpack://@reltio/remotes/../components/src/components/activityLog/ActivityFilterEditor/EntityTypesSelector.tsx","webpack://@reltio/remotes/../components/src/components/activityLog/ActivityFilterEditor/SourceSelector.tsx","webpack://@reltio/remotes/../components/src/components/activityLog/ActivityFilterEditor/EntityChangedSelectors.tsx","webpack://@reltio/remotes/../components/src/components/activityLog/ActivityFilterEditor/ActivityFilterEditor.tsx","webpack://@reltio/remotes/../components/src/components/activityLog/ActivityFilterButton/styles.ts","webpack://@reltio/remotes/../components/src/components/activityLog/ActivityFilterButton/ActivityFilterButton.tsx","webpack://@reltio/remotes/../components/src/components/activityLog/ActivityLogFilter/styles.ts","webpack://@reltio/remotes/../components/src/components/activityLog/ActivityLogFilter/ActivityLogFilter.tsx","webpack://@reltio/remotes/../components/src/components/activityLog/ActivityLogFilter/helpers.ts","webpack://@reltio/remotes/../components/src/components/activityLog/types/DeltaTypes.ts","webpack://@reltio/remotes/../components/src/components/activityLog/utils/filters.ts","webpack://@reltio/remotes/../components/src/hooks/useReadableSearchState.ts","webpack://@reltio/remotes/../components/src/types/index.ts"],"sourcesContent":["import {makeStyles} from '@mui/styles';\n\nexport const useStyles = makeStyles({\n item: {\n overflow: 'hidden'\n }\n});\n","import React, {memo, MutableRefObject, useCallback, useMemo, useRef, useState} from 'react';\nimport {VariableSizeList as List} from 'react-window';\nimport ReactResizeDetector from 'react-resize-detector';\nimport {debounce} from '@reltio/mdm-sdk';\nimport {useStyles} from './styles';\n\ntype Props<T> = {\n width: number;\n height: number;\n data: T[];\n defaultItemSize: number;\n itemKey?: (index: number, data: T[]) => string;\n children: ({data, index}: {data: T[]; index: number}) => React.ReactNode;\n showNotMeasuredItems?: boolean;\n listRef?: MutableRefObject<List>;\n};\n\nconst AutoSizeList = <T extends unknown>({\n width = 0,\n height = 0,\n defaultItemSize,\n data,\n children,\n itemKey,\n showNotMeasuredItems,\n listRef: listRefProp\n}: Props<T>) => {\n const styles = useStyles();\n const rowHeightsCache = useRef({});\n const cacheRowHeight = (key, height) => {\n rowHeightsCache.current = {\n ...rowHeightsCache.current,\n [key]: height\n };\n };\n\n const [rowHeights, setRowHeights] = useState({});\n const applyRowHeights = useCallback(\n debounce(() => {\n setRowHeights({...rowHeightsCache.current});\n }),\n []\n );\n\n const getItemKeyFromData = useCallback((data, index) => (itemKey ? itemKey(index, data) : index), [itemKey]);\n const getItemKey = (index) => getItemKeyFromData(data, index);\n const getItemSize = (index) => rowHeights[getItemKey(index)] || defaultItemSize;\n\n const localListRef = useRef<List>();\n const listRef = listRefProp || localListRef;\n listRef.current && listRef.current.resetAfterIndex(0, false);\n\n const Row = useMemo(\n //eslint-disable-next-line\n () => ({data, index, style}) => {\n const key = getItemKeyFromData(data, index);\n return (\n <div style={style} className={styles.item}>\n <div\n style={\n !showNotMeasuredItems ? {visibility: key in rowHeights ? undefined : 'hidden'} : undefined\n }\n >\n <ReactResizeDetector\n handleHeight={true}\n onResize={(_, height) => {\n if (rowHeightsCache.current[key] !== height) {\n cacheRowHeight(key, height);\n applyRowHeights();\n }\n }}\n />\n {children({data, index})}\n </div>\n </div>\n );\n },\n //eslint-disable-next-line react-hooks/exhaustive-deps\n [children, showNotMeasuredItems, getItemKeyFromData, applyRowHeights, !showNotMeasuredItems && rowHeights]\n );\n\n return (\n <List\n ref={listRef}\n width={width}\n height={height}\n itemCount={data.length}\n itemData={data}\n itemSize={getItemSize}\n itemKey={itemKey}\n >\n {Row}\n </List>\n );\n};\n\nexport default memo(AutoSizeList);\n","import {makeStyles} from '@mui/styles';\n\nexport const useStyles = makeStyles({\n 'basic-view-content': {\n flex: '1 1 auto',\n padding: '0 24px 24px',\n '&:first-child': {\n paddingTop: '24px'\n }\n }\n});\n","import React from 'react';\nimport classnames from 'classnames';\nimport {useStyles} from './styles';\n\ntype Props = React.ComponentPropsWithoutRef<'div'>;\n\nconst BasicViewContent = ({children, className, ...otherProps}: Props) => {\n const styles = useStyles();\n return (\n <div className={classnames(styles['basic-view-content'], className)} {...otherProps}>\n {children}\n </div>\n );\n};\n\nexport default BasicViewContent;\n","import {addIndex, chain, groupBy, has, map, pipe, toPairs} from 'ramda';\nimport moment from 'moment';\nimport {ActivityData} from '../types';\n\nexport type GroupedItemData = {\n collapsed: boolean;\n timestamp: number;\n children: unknown[];\n};\n\nconst buildGroupedItem = ([day, children]): GroupedItemData => ({\n timestamp: moment(day).valueOf(),\n collapsed: false,\n children\n});\n\nconst getDay = ({timestamp}) => moment(timestamp).startOf('day');\n\nexport const buildGroupedItems = pipe(groupBy(getDay), toPairs, map(buildGroupedItem));\n\nexport type GroupItemData = {\n collapsed: boolean;\n timestamp: number;\n index: number;\n};\n\nconst chainIndexed = addIndex(chain);\nexport const flattenGroupedItems = chainIndexed(({children, collapsed, timestamp}: GroupedItemData, index: number) => {\n const groupItem: GroupItemData = {collapsed, timestamp, index};\n return collapsed ? [groupItem] : [groupItem, ...children];\n});\n\nexport const isGroupItem = has('collapsed');\n\nexport const getItemKey = (index: number, data: (ActivityData | GroupItemData)[]) => {\n const item = data[index];\n return 'uri' in item ? item.uri : `${item.index}`;\n};\n","import {makeStyles} from '@mui/styles';\n\nexport const useStyles = makeStyles({\n groupItem: {\n display: 'flex',\n height: '40px',\n alignItems: 'center',\n paddingTop: '10px',\n boxSizing: 'border-box',\n paddingRight: '16px'\n },\n groupIcon: {\n marginLeft: '-5px',\n marginRight: '22px',\n width: '10px',\n height: '10px',\n background: 'white',\n border: '2px solid #D8D8D8',\n borderRadius: '50%',\n boxSizing: 'border-box',\n flexShrink: 0\n },\n groupTitle: {\n fontWeight: 500\n }\n});\n","import React from 'react';\nimport Typography from '@mui/material/Typography';\nimport i18n from 'ui-i18n';\nimport Spacer from '../../../../Spacer/Spacer';\nimport CollapseButton from '../../../../CollapseButton/CollapseButton';\nimport {isToday} from '@reltio/mdm-sdk';\nimport {GroupItemData} from '../../helpers';\n\nimport {useStyles} from './styles';\n\ntype Props = {\n item: GroupItemData;\n onToggle: (index: number) => void;\n};\n\nconst GroupItem = ({item: {index, timestamp, collapsed}, onToggle}: Props) => {\n const styles = useStyles();\n return (\n <div className={styles.groupItem}>\n <div className={styles.groupIcon} />\n <Typography className={styles.groupTitle} variant={'subtitle1'}>\n {isToday(timestamp) ? i18n.text('Today') : i18n.date(timestamp, 'LL')}\n </Typography>\n <Spacer />\n <CollapseButton isOpen={!collapsed} onClick={() => onToggle(index)} />\n </div>\n );\n};\n\nexport default GroupItem;\n","import {makeStyles} from '@mui/styles';\n\nexport const useStyles = makeStyles((theme) => ({\n activityTitle: {\n display: 'block',\n fontWeight: 500,\n fontSize: 13,\n lineHeight: '15px',\n color: theme.palette.text.primary,\n marginBottom: 8\n },\n activityType: {\n flexShrink: 0,\n marginRight: 8,\n whiteSpace: 'nowrap'\n }\n}));\n","import React from 'react';\nimport {ActivityTypes} from '../../types';\nimport {getActivityLabel} from '../../utils/activities';\nimport {useStyles} from './styles';\n\ntype Props = {\n type: ActivityTypes;\n children?: React.ReactNode;\n};\n\nconst ActivityTitle = ({type, children}: Props) => {\n const styles = useStyles();\n return (\n <span className={styles.activityTitle}>\n <span className={styles.activityType}>{getActivityLabel(type)}</span>\n {children}\n </span>\n );\n};\nexport default ActivityTitle;\n","import React from 'react';\nimport {ActivityData, ActivityTypes} from '../types';\nimport ActivityTitle from './ActivityTitle/ActivityTitle';\n\ntype Props = {\n type: ActivityTypes;\n data: ActivityData;\n};\n\nconst CommentActivity = ({type}: Props) => {\n return <ActivityTitle type={type} />;\n};\n\nexport default CommentActivity;\n","import {makeStyles} from '@mui/styles';\n\nexport const useStyles = makeStyles((theme) => ({\n link: {\n color: theme.palette.primary.main,\n textDecoration: 'none',\n fontWeight: 400,\n cursor: 'pointer'\n },\n objectLabel: {\n color: theme.palette.text.secondary,\n lineHeight: '15px',\n fontWeight: 400\n },\n relationUri: {\n color: theme.palette.text.primary,\n fontWeight: 400\n }\n}));\n","import React from 'react';\nimport ActivityTitle from './ActivityTitle/ActivityTitle';\nimport {getGroupLabelByTypeUri, getLabel} from '@reltio/mdm-sdk';\nimport {ActivityData, ActivityTypes} from '../types';\nimport {useMdmMetadata} from '../../../contexts';\nimport {useStyles} from './styles';\n\ntype Props = {\n data: ActivityData;\n type: ActivityTypes;\n};\n\nconst GroupActivity = ({data, type}: Props) => {\n const styles = useStyles();\n const metadata = useMdmMetadata();\n const label = getGroupLabelByTypeUri(metadata, data.items?.[0]?.objectType);\n\n return (\n <ActivityTitle type={type}>\n <span className={styles.objectLabel}>{getLabel(label)}</span>\n </ActivityTitle>\n );\n};\n\nexport default GroupActivity;\n","import React, {createContext, useCallback, useContext, useState} from 'react';\n\nconst DEFAULT_VISIBLE_ITEMS_COUNT = 3;\n\ntype UseCollapsibleItemsProps<T> = {\n itemsId: string;\n items: T[];\n limit?: number;\n};\n\nconst ExpandedItemsContext = createContext(null);\n\nexport const CollapsibleItemsProvider = ({children}) => {\n const [expandedItems, setExpandedItems] = useState<string[]>([]);\n const addExpandedItems = (itemId: string) => {\n if (!expandedItems.includes(itemId)) {\n setExpandedItems((items) => [...items, itemId]);\n }\n };\n return (\n <ExpandedItemsContext.Provider value={{expandedItems, addExpandedItems}}>\n {children}\n </ExpandedItemsContext.Provider>\n );\n};\n\nexport const useCollapsibleItems = <T,>({\n itemsId,\n items = [],\n limit = DEFAULT_VISIBLE_ITEMS_COUNT\n}: UseCollapsibleItemsProps<T>) => {\n const {expandedItems, addExpandedItems} = useContext(ExpandedItemsContext);\n\n const onExpand = useCallback(() => addExpandedItems(itemsId), [itemsId]);\n const isExpanded = expandedItems.includes(itemsId);\n\n const itemsToShow = items.slice(0, isExpanded ? items.length : limit);\n\n const collapsedItemsCount = items.length - itemsToShow.length;\n\n return {onExpand, itemsToShow, collapsedItemsCount};\n};\n","import React from 'react';\nimport i18n from 'ui-i18n';\nimport Link from '@mui/material/Link';\n\ntype Props = {\n onClick: () => void;\n className?: string;\n itemsCount: number;\n itemsLabel: string;\n};\n\nexport const MoreItemsLink = ({itemsCount, itemsLabel, ...props}: Props) => {\n return (\n <Link component=\"button\" variant=\"caption\" {...props} underline=\"none\">\n <span>\n {i18n.text('${itemsCount} more', {itemsCount})} {itemsLabel}\n </span>\n </Link>\n );\n};\n","import React from 'react';\nimport i18n from 'ui-i18n';\nimport {useCollapsibleItems} from '../../contexts/CollapsibleItemsContext';\nimport {ActivityItem} from '../../types';\nimport {MoreItemsLink} from '../MoreItemsLink/MoreItemsLink';\n\ntype Props = {\n RecordComponent: React.ElementType;\n items: ActivityItem[];\n activityUri: string;\n};\n\nexport const CollapsibleActivityRecords = ({RecordComponent, items, activityUri}: Props) => {\n const {onExpand, itemsToShow, collapsedItemsCount} = useCollapsibleItems<ActivityItem>({\n itemsId: activityUri,\n items\n });\n\n return (\n <>\n {itemsToShow.map((item) => (\n <RecordComponent key={item.id} item={item} />\n ))}\n {collapsedItemsCount ? (\n <MoreItemsLink\n itemsCount={collapsedItemsCount}\n itemsLabel={collapsedItemsCount === 1 ? i18n.text('record') : i18n.text('records')}\n onClick={onExpand}\n />\n ) : null}\n </>\n );\n};\n","import {makeStyles} from '@mui/styles';\n\nexport const useStyles = makeStyles((theme) => ({\n link: {\n fontSize: 13,\n lineHeight: '15px',\n color: theme.palette.primary.main,\n textDecoration: 'none',\n fontWeight: 400,\n '&.removed': {\n pointerEvents: 'none',\n color: theme.palette.text.secondary\n }\n }\n}));\n","import {getLabel} from '@reltio/mdm-sdk';\nimport classnames from 'classnames';\nimport React from 'react';\nimport EntityUriLink from '../../../EntityUriLink/EntityUriLink';\nimport {ActivityItem, ActivityTypes} from '../../types';\nimport {useStyles} from './styles';\n\ntype Props = {\n item: ActivityItem;\n};\n\nconst EntityObject = ({item}: Props) => {\n const styles = useStyles();\n const {objectLabel, objectUri, data} = item;\n const isRemoved = data?.type === ActivityTypes.ENTITY_REMOVED;\n\n return (\n <EntityUriLink className={classnames(styles.link, {removed: isRemoved})} value={objectUri}>\n {getLabel(objectLabel)}\n </EntityUriLink>\n );\n};\n\nexport default EntityObject;\n","import {makeStyles} from '@mui/styles';\n\nexport const useCommonStyles = makeStyles((theme) => ({\n field: {\n fontSize: 12,\n lineHeight: '20px',\n color: theme.palette.text.primary,\n marginTop: 4,\n display: 'block'\n },\n fieldName: {\n color: theme.palette.text.secondary,\n marginRight: 8\n },\n link: {\n color: theme.palette.primary.main,\n textDecoration: 'none',\n fontWeight: 400\n }\n}));\n","import {makeStyles} from '@mui/styles';\n\nexport const useStyles = makeStyles((theme) => ({\n arrow: {\n margin: '0 8px',\n fontSize: 12,\n color: theme.palette.text.primary\n },\n chip: {\n height: 20,\n width: 53,\n fontSize: 10,\n fontWeight: 500,\n lineHeight: '16px',\n marginLeft: 9,\n flexShrink: 0,\n textTransform: 'capitalize',\n '& span': {\n padding: 0\n },\n '&.edited': {\n color: '#6973C2',\n borderColor: '#6973C2'\n },\n '&.added': {\n color: '#75C378',\n borderColor: '#75C378'\n },\n '&.deleted': {\n color: '#F97061',\n borderColor: '#F97061'\n }\n },\n expandLabel: {\n fontSize: 12\n },\n andLabel: {\n color: theme.palette.text.secondary\n }\n}));\n","import React from 'react';\nimport i18n from 'ui-i18n';\nimport {getLabel} from '@reltio/mdm-sdk';\nimport EntityUriLink from '../../../EntityUriLink/EntityUriLink';\nimport {ActivityItem, ActivityTypes} from '../../types';\nimport {useCollapsibleItems} from '../../contexts/CollapsibleItemsContext';\nimport {useCommonStyles} from './commonStyles';\nimport {MoreItemsLink} from '../MoreItemsLink/MoreItemsLink';\nimport {useStyles} from './styles';\n\ntype Props = {\n item: ActivityItem;\n};\n\nconst getFieldName = (type: ActivityTypes) => {\n const labels = {\n [ActivityTypes.POTENTIAL_MATCHES_FOUND]: i18n.text('Matches found'),\n [ActivityTypes.POTENTIAL_MATCHES_REMOVED]: i18n.text('Matches removed'),\n [ActivityTypes.NOT_MATCHES_SET]: i18n.text('Were set'),\n [ActivityTypes.NOT_MATCHES_RESET]: i18n.text('Were reset'),\n [ActivityTypes.ENTITIES_MERGED_MANUALLY]: i18n.text('Merged with'),\n [ActivityTypes.ENTITIES_MERGED]: i18n.text('Merged automatically with'),\n [ActivityTypes.ENTITIES_SPLITTED]: i18n.text('Un-merged with')\n };\n return labels[type] || '';\n};\n\nconst PotentialMatchField = ({item: {id, data}}: Props) => {\n const commonStyles = useCommonStyles();\n const styles = useStyles();\n const matches = data?.potentialMatches || data?.newUri;\n\n const {onExpand, collapsedItemsCount, itemsToShow} = useCollapsibleItems<string>({\n itemsId: id,\n items: matches.split(',')\n });\n\n const type = data?.type as ActivityTypes;\n\n return (\n <div className={commonStyles.field}>\n <span className={commonStyles.fieldName}>{getFieldName(type)}:</span>\n {itemsToShow\n .map<React.ReactNode>((url, index) => (\n <EntityUriLink key={index} value={url} className={commonStyles.link}>\n {getLabel(data[url])}\n </EntityUriLink>\n ))\n .reduce((prev, curr) => [prev, ', ', curr])}\n {collapsedItemsCount ? (\n <>\n <span className={styles.andLabel}> {i18n.text('and')} </span>\n <MoreItemsLink\n itemsCount={collapsedItemsCount}\n itemsLabel={collapsedItemsCount === 1 ? i18n.text('match') : i18n.text('matches')}\n onClick={onExpand}\n className={styles.expandLabel}\n />\n </>\n ) : null}\n </div>\n );\n};\n\nexport default PotentialMatchField;\n","import {makeStyles} from '@mui/styles';\n\nexport const useStyles = makeStyles((theme) => ({\n record: {\n background: 'rgba(0, 0, 0, 0.03)',\n border: '1px solid rgba(0, 0, 0, 0.03)',\n boxSizing: 'border-box',\n borderRadius: '3px',\n padding: '7px 14px',\n marginBottom: 8,\n position: 'relative',\n '&:hover $restoreIcon': {\n visibility: 'visible'\n }\n },\n label: {\n color: theme.palette.text.primary,\n fontSize: 12,\n lineHeight: '16px'\n },\n description: {\n marginRight: 8,\n flexShrink: 0\n },\n restoreIcon: {\n visibility: 'hidden',\n color: theme.palette.text.secondary,\n position: 'absolute',\n right: 4,\n top: 3,\n cursor: 'pointer'\n },\n moreLabel: {\n marginTop: 4\n }\n}));\n","import React from 'react';\nimport {ActivityItem} from '../../types';\nimport EntityObject from '../EntityObject/EntityObject';\nimport PotentialMatchField from '../fields/PotentialMatchField';\nimport {useStyles} from './styles';\n\ntype Props = {\n item: ActivityItem;\n};\n\nconst PotentialMatchRecord = ({item}: Props) => {\n const styles = useStyles();\n const {potentialMatches, newUri} = item.data;\n\n return potentialMatches || newUri ? (\n <div className={styles.record}>\n <span className={styles.label}>\n <EntityObject item={item} />\n </span>\n <PotentialMatchField item={item} />\n </div>\n ) : null;\n};\n\nexport default PotentialMatchRecord;\n","import React from 'react';\nimport {ActivityData, ActivityTypes} from '../types';\nimport ActivityTitle from './ActivityTitle/ActivityTitle';\nimport {CollapsibleActivityRecords} from './records/CollapsibleActivityRecords';\nimport EntityObject from './EntityObject/EntityObject';\nimport PotentialMatchRecord from './records/PotentialMatchRecord';\n\ntype Props = {\n data: ActivityData;\n type: ActivityTypes;\n};\n\nconst MergeActivity = ({type, data}: Props) => {\n const {itemsTotal, items, uri} = data;\n const isMinimized = itemsTotal === 1 && !(items[0].data.potentialMatches || items[0].data.newUri);\n return (\n <div>\n <ActivityTitle type={type}>{isMinimized && <EntityObject item={items[0]} />}</ActivityTitle>\n {!isMinimized && (\n <CollapsibleActivityRecords activityUri={uri} items={items} RecordComponent={PotentialMatchRecord} />\n )}\n </div>\n );\n};\n\nexport default MergeActivity;\n","import React from 'react';\nimport {ActivityData, ActivityTypes} from '../types';\nimport ActivityTitle from './ActivityTitle/ActivityTitle';\nimport {CollapsibleActivityRecords} from './records/CollapsibleActivityRecords';\nimport PotentialMatchRecord from './records/PotentialMatchRecord';\n\ntype Props = {\n data: ActivityData;\n type: ActivityTypes;\n};\n\nconst PotentialMatchActivity = ({type, data}: Props) => {\n return (\n <div>\n <ActivityTitle type={type} />\n <CollapsibleActivityRecords\n activityUri={data.uri}\n items={data.items}\n RecordComponent={PotentialMatchRecord}\n />\n </div>\n );\n};\n\nexport default PotentialMatchActivity;\n","import React from 'react';\nimport classnames from 'classnames';\nimport {ActivityDelta, DeltaTypes, DeltaValue} from '../../types';\nimport Chip from '@mui/material/Chip';\nimport ArrowForwardIcon from '@mui/icons-material/ArrowForward';\nimport {findAttributeTypeByUri} from '@reltio/mdm-sdk';\nimport {stringifyDeltaValue} from '../../utils/activities';\nimport {useMdmMetadata, useMdmAttributePresentations} from '../../../../contexts';\nimport {useCommonStyles} from './commonStyles';\nimport {useStyles} from './styles';\n\ntype Props = {\n delta: ActivityDelta;\n};\n\nconst DeltaField = ({delta}: Props) => {\n const styles = useStyles();\n const commonStyles = useCommonStyles();\n const metadata = useMdmMetadata();\n const attributePresentations = useMdmAttributePresentations();\n const attribute = findAttributeTypeByUri(metadata, delta.attributeType);\n const newValue = delta.newValue?.value;\n const oldValue = delta.oldValue?.value;\n const value = oldValue || newValue;\n const deltaLabel = DeltaTypes[delta.type];\n\n const converter = (value: DeltaValue['value']) =>\n stringifyDeltaValue(value, delta.attributeType, metadata, attributePresentations);\n\n return (\n <div className={commonStyles.field}>\n <span className={commonStyles.fieldName}>{attribute?.label || attribute?.name}:</span>\n <span>\n {value && converter(value)}\n {newValue && oldValue && (\n <>\n <ArrowForwardIcon className={styles.arrow} />\n {converter(newValue)}\n </>\n )}\n </span>\n {deltaLabel && (\n <Chip variant=\"outlined\" label={deltaLabel} className={classnames(styles.chip, deltaLabel)} />\n )}\n </div>\n );\n};\n\nexport default DeltaField;\n","import React from 'react';\nimport i18n from 'ui-i18n';\nimport {ActivityDelta} from '../../types';\nimport DeltaField from '../fields/DeltaField';\nimport {useCollapsibleItems} from '../../contexts/CollapsibleItemsContext';\nimport {useStyles} from './styles';\nimport {MoreItemsLink} from '../MoreItemsLink/MoreItemsLink';\n\ntype Props = {\n updates: ActivityDelta[];\n recordId: string;\n};\n\nconst RecordUpdates = ({updates, recordId}: Props) => {\n const styles = useStyles();\n const {onExpand, collapsedItemsCount, itemsToShow} = useCollapsibleItems<ActivityDelta>({\n itemsId: recordId,\n items: updates\n });\n\n return (\n <>\n {itemsToShow.map((update, index) => (\n <DeltaField key={index} delta={update} />\n ))}\n {collapsedItemsCount ? (\n <MoreItemsLink\n itemsCount={collapsedItemsCount}\n itemsLabel={collapsedItemsCount === 1 ? i18n.text('update') : i18n.text('updates')}\n onClick={onExpand}\n className={styles.moreLabel}\n />\n ) : null}\n </>\n );\n};\n\nexport default RecordUpdates;\n","import React from 'react';\nimport i18n from 'ui-i18n';\nimport {path} from 'ramda';\nimport {getEntityPreviousChange} from '@reltio/mdm-sdk';\nimport Typography from '@mui/material/Typography';\nimport RestoreIcon from '@mui/icons-material/Restore';\nimport {ActivityItem, ActivityTypes} from '../../types';\nimport EntityObject from '../EntityObject/EntityObject';\nimport RecordUpdates from './RecordUpdates';\nimport {useMdmAction} from '../../../../contexts';\nimport {useStyles} from './styles';\n\ntype Props = {\n item: ActivityItem;\n};\n\nconst EntityRecord = ({item}: Props) => {\n const styles = useStyles();\n const openHistoryEvent = useMdmAction('openHistoryEvent');\n const deltaArray = item.deltaCollection?.delta;\n const isEntityChanged = path(['data', 'type'])(item) === ActivityTypes.ENTITY_CHANGED;\n\n const handleOpenHistoryEvent = () => {\n getEntityPreviousChange(item.objectUri, item.timestamp)\n .then((previousTimestamp: number) => {\n if (previousTimestamp !== -1) {\n const historyEvent = {\n aStamp: item.timestamp,\n bStamp: previousTimestamp\n };\n openHistoryEvent({entityUri: item.objectUri, historyEvent});\n }\n })\n .catch((err) => console.warn(err));\n };\n\n return (\n <div className={styles.record}>\n <Typography className={styles.label}>\n {!deltaArray && <span className={styles.description}>{i18n.text('Profile changed')}</span>}\n <EntityObject item={item} />\n </Typography>\n {isEntityChanged && (\n <RestoreIcon\n data-reltio-id=\"reltio-entity-record-restore-icon\"\n className={styles.restoreIcon}\n onClick={handleOpenHistoryEvent}\n />\n )}\n <RecordUpdates updates={deltaArray} recordId={item.id} />\n </div>\n );\n};\n\nexport default EntityRecord;\n","import React from 'react';\nimport {ActivityData, ActivityTypes} from '../types';\nimport ActivityTitle from './ActivityTitle/ActivityTitle';\nimport {CollapsibleActivityRecords} from './records/CollapsibleActivityRecords';\nimport EntityObject from './EntityObject/EntityObject';\nimport EntityRecord from './records/EntityRecord';\n\ntype Props = {\n data: ActivityData;\n type: ActivityTypes;\n};\n\nconst ProfileActivity = ({type, data}: Props) => {\n const isMinimized = data.itemsTotal === 1 && !data.items[0].deltaCollection?.delta;\n return (\n <div>\n <ActivityTitle type={type}>{isMinimized && <EntityObject item={data.items[0]} />}</ActivityTitle>\n {!isMinimized && (\n <CollapsibleActivityRecords activityUri={data.uri} items={data.items} RecordComponent={EntityRecord} />\n )}\n </div>\n );\n};\n\nexport default ProfileActivity;\n","import {makeStyles} from '@mui/styles';\n\nexport const useStyles = makeStyles((theme) => ({\n relationship: {\n fontSize: 13,\n lineHeight: '15px',\n color: theme.palette.text.secondary,\n overflow: 'hidden'\n },\n link: {\n color: theme.palette.primary.main,\n textDecoration: 'none',\n fontWeight: 400\n },\n delimiter: {\n margin: '0 8px'\n }\n}));\n","import {getLabel} from '@reltio/mdm-sdk';\nimport React from 'react';\nimport i18n from 'ui-i18n';\nimport EntityUriLink from '../../../EntityUriLink/EntityUriLink';\nimport {ActivityItem} from '../../types';\nimport {useStyles} from './styles';\n\ntype Props = {\n item: ActivityItem;\n};\n\nconst RelationObject = ({item}: Props) => {\n const styles = useStyles();\n const {startObjectLabel, startObjectUri, endObjectLabel, endObjectUri} = item;\n\n return (\n <span className={styles.relationship}>\n <EntityUriLink className={styles.link} value={startObjectUri}>\n {getLabel(startObjectLabel)}\n </EntityUriLink>\n <span className={styles.delimiter}>{i18n.text('to')}</span>\n <EntityUriLink className={styles.link} value={endObjectUri}>\n {getLabel(endObjectLabel)}\n </EntityUriLink>\n </span>\n );\n};\n\nexport default RelationObject;\n","import React from 'react';\nimport i18n from 'ui-i18n';\nimport Typography from '@mui/material/Typography';\nimport RelationObject from '../RelationObject/RelationObject';\nimport {ActivityItem} from '../../types';\nimport RecordUpdates from './RecordUpdates';\nimport {useStyles} from './styles';\n\ntype Props = {\n item: ActivityItem;\n};\n\nconst RelationRecord = ({item}: Props) => {\n const styles = useStyles();\n const deltaArray = item.deltaCollection?.delta;\n\n return (\n <div className={styles.record}>\n <Typography className={styles.label}>\n {!deltaArray && <span className={styles.description}>{i18n.text('Relationship updated')}</span>}\n <RelationObject item={item} />\n </Typography>\n <RecordUpdates updates={deltaArray} recordId={item.id} />\n </div>\n );\n};\n\nexport default RelationRecord;\n","import React from 'react';\nimport {ActivityData, ActivityTypes} from '../types';\nimport ActivityTitle from './ActivityTitle/ActivityTitle';\nimport {CollapsibleActivityRecords} from './records/CollapsibleActivityRecords';\nimport RelationRecord from './records/RelationRecord';\nimport RelationObject from './RelationObject/RelationObject';\n\ntype Props = {\n data: ActivityData;\n type: ActivityTypes;\n};\n\nconst RelationActivity = ({type, data}: Props) => {\n const isMinimized = data.itemsTotal === 1 && !data.items[0].deltaCollection?.delta;\n return (\n <div>\n <ActivityTitle type={type}>{isMinimized && <RelationObject item={data.items[0]} />}</ActivityTitle>\n {!isMinimized && (\n <CollapsibleActivityRecords\n activityUri={data.uri}\n items={data.items}\n RecordComponent={RelationRecord}\n />\n )}\n </div>\n );\n};\n\nexport default RelationActivity;\n","import React, {useMemo} from 'react';\nimport {always, pipe} from 'ramda';\nimport i18n from 'ui-i18n';\nimport ActivityTitle from './ActivityTitle/ActivityTitle';\nimport {ActivityData, ActivityTypes} from '../types';\nimport {parseJSON} from '../../../core';\nimport {useReadableSearchState} from '../../../hooks';\nimport {useMdmAction} from '../../../contexts';\nimport {useStyles} from './styles';\n\ntype Props = {\n data: ActivityData;\n type: ActivityTypes;\n};\n\nconst SearchActivity = ({data, type}: Props) => {\n const styles = useStyles();\n const openSearch = useMdmAction('openSearch');\n const searchState = useMemo(() => {\n const searchData = parseJSON(data.description);\n return searchData.version === '2.0' ? searchData.activity.uiState : searchData;\n }, [data.description]);\n\n const handleOpenSearch = pipe(always(searchState), openSearch);\n const searchString = useReadableSearchState(searchState);\n\n return (\n <ActivityTitle type={type}>\n <span className={styles.link} onClick={handleOpenSearch}>\n {searchString || i18n.text('all profiles')}\n </span>\n </ActivityTitle>\n );\n};\n\nexport default SearchActivity;\n","import {getLabel} from '@reltio/mdm-sdk';\nimport React from 'react';\nimport i18n from 'ui-i18n';\nimport {parseJSON} from '../../../core';\nimport EntityUriLink from '../../EntityUriLink/EntityUriLink';\nimport {ActivityData, ActivityTypes} from '../types';\nimport ActivityTitle from './ActivityTitle/ActivityTitle';\nimport {useStyles} from './styles';\n\ntype Props = {\n type: ActivityTypes;\n data: ActivityData;\n};\n\nconst SimpleActivity = ({type, data}: Props) => {\n const styles = useStyles();\n const description = parseJSON(data.description);\n const itemsTotal = data.itemsTotal;\n\n return (\n <ActivityTitle type={type}>\n {description && (\n <EntityUriLink className={styles.link} value={description.uri}>\n {getLabel(description.label)}\n </EntityUriLink>\n )}\n {itemsTotal > 1 && (\n <span className={styles.objectLabel}>{i18n.text('(${itemsTotal} records)', {itemsTotal})}</span>\n )}\n </ActivityTitle>\n );\n};\n\nexport default SimpleActivity;\n","import React from 'react';\nimport i18n from 'ui-i18n';\nimport {isRelationUri} from '@reltio/mdm-sdk';\nimport {parseJSON} from '../../../core';\nimport {ActivityData, ActivityTypes} from '../types';\nimport ActivityTitle from './ActivityTitle/ActivityTitle';\nimport EntityObject from './EntityObject/EntityObject';\nimport {useStyles} from './styles';\n\ntype Props = {\n type: ActivityTypes;\n data: ActivityData;\n};\n\nconst SynchronizationIssuesActivity = ({type, data}: Props) => {\n const styles = useStyles();\n const description = parseJSON(data.description);\n const itemsTotal = data.itemsTotal;\n const objectUri = data.items[0].objectUri;\n return (\n <ActivityTitle type={type}>\n <>\n {isRelationUri(objectUri) ? (\n <span className={styles.relationUri}>{objectUri}</span>\n ) : (\n <EntityObject item={data.items[0]} />\n )}\n {description && <div className={styles.objectLabel}>{description.label}</div>}\n </>\n\n {itemsTotal > 1 && (\n <div className={styles.objectLabel}>{i18n.text('(${itemsTotal} records)', {itemsTotal})}</div>\n )}\n </ActivityTitle>\n );\n};\n\nexport default SynchronizationIssuesActivity;\n","import React from 'react';\n\nconst SvgAdd: React.FC<React.SVGProps<SVGSVGElement>> = (props) => {\n return (\n <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path d=\"M17.4 13.08h-4.32v4.32h-2.16v-4.32H6.6v-2.16h4.32V6.6h2.16v4.32h4.32v2.16z\" fill=\"#fff\" />\n </svg>\n );\n};\n\nexport default SvgAdd;\n","import React from 'react';\n\nconst SvgComment: React.FC<React.SVGProps<SVGSVGElement>> = (props) => {\n return (\n <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path\n d=\"M16.35 6h-8.7C6.74 6 6 6.804 6 7.793v5.788c0 .986.737 1.79 1.644 1.793V18l3.472-2.626h5.234c.91 0 1.65-.805 1.65-1.793V7.793C18 6.804 17.26 6 16.35 6zm-1.562 6.726H9.212v-.765h5.576v.765zm0-1.63H9.212v-.765h5.576v.764zm0-1.631H9.212V8.7h5.576v.764z\"\n fill=\"#fff\"\n />\n </svg>\n );\n};\n\nexport default SvgComment;\n","import React from 'react';\n\nconst SvgCreate: React.FC<React.SVGProps<SVGSVGElement>> = (props) => {\n return (\n <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M6.6 15.15v2.25h2.25l6.636-6.636-2.25-2.25L6.6 15.15zm10.626-6.126a.598.598 0 000-.846l-1.404-1.404a.598.598 0 00-.846 0l-1.098 1.098 2.25 2.25 1.098-1.098z\"\n fill=\"#fff\"\n />\n </svg>\n );\n};\n\nexport default SvgCreate;\n","import React from 'react';\n\nconst SvgLogIn: React.FC<React.SVGProps<SVGSVGElement>> = (props) => {\n return (\n <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path\n d=\"M15.6 6H9c-.662 0-1.2.539-1.2 1.2V9H9V7.2h6.6v9.6H9V15H7.8v1.8c0 .662.538 1.2 1.2 1.2h6.6c.662 0 1.2-.538 1.2-1.2V7.2c0-.661-.538-1.2-1.2-1.2z\"\n fill=\"#fff\"\n />\n <path\n d=\"M10.975 13.976l.85.848 2.823-2.83-2.824-2.819-.848.85 1.378 1.375H7.2v1.2h5.15l-1.375 1.376z\"\n fill=\"#fff\"\n />\n </svg>\n );\n};\n\nexport default SvgLogIn;\n","import React from 'react';\n\nconst SvgLogOut: React.FC<React.SVGProps<SVGSVGElement>> = (props) => {\n return (\n <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path d=\"M7.4 6H14c.662 0 1.2.539 1.2 1.2V9H14V7.2H7.4v9.6H14V15h1.2v1.8c0 .662-.538 1.2-1.2 1.2H7.4c-.662 0-1.2-.538-1.2-1.2V7.2c0-.661.538-1.2 1.2-1.2z\" />\n <path d=\"M15.127 13.976l.85.848 2.823-2.83-2.824-2.819-.849.85 1.379 1.375h-5.154v1.2H16.5l-1.374 1.376z\" />\n </svg>\n );\n};\n\nexport default SvgLogOut;\n","import React from 'react';\n\nconst SvgMerge: React.FC<React.SVGProps<SVGSVGElement>> = (props) => {\n return (\n <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M15.764 11.152V9.659l2.334 2.217-2.334 2.217v-1.444H13.12c-1.023 0-1.333.314-1.918 1.632-.797 1.796-1.514 2.52-3.3 2.52h-1.69v-1.495h1.69c1.036 0 1.35-.319 1.937-1.639.348-.784.68-1.363 1.09-1.766-.41-.403-.742-.982-1.09-1.766-.586-1.32-.901-1.64-1.938-1.64H6.213V7H7.9c1.787 0 2.504.725 3.301 2.52.585 1.318.895 1.633 1.918 1.633h2.644z\"\n fill=\"#fff\"\n />\n </svg>\n );\n};\n\nexport default SvgMerge;\n","import React from 'react';\n\nconst SvgNoMatches: React.FC<React.SVGProps<SVGSVGElement>> = (props) => {\n return (\n <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M16.8 15.6V7.2H8.4V6h8.4c.66 0 1.2.54 1.2 1.2v8.4h-1.2zM7.2 18c-.66 0-1.2-.54-1.2-1.2V9.6c0-.66.54-1.2 1.2-1.2h7.2c.66 0 1.2.54 1.2 1.2v7.2c0 .66-.54 1.2-1.2 1.2H7.2zm4.937-2.8l.663-.663-1.337-1.337 1.337-1.337-.663-.663-1.337 1.337L9.463 11.2l-.663.663 1.337 1.337L8.8 14.537l.663.663 1.337-1.337 1.337 1.337z\"\n fill=\"#fff\"\n />\n </svg>\n );\n};\n\nexport default SvgNoMatches;\n","import React from 'react';\n\nconst SvgPotentialMatch: React.FC<React.SVGProps<SVGSVGElement>> = (props) => {\n return (\n <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M16.8 7.2v8.4H18V7.2c0-.66-.54-1.2-1.2-1.2H8.4v1.2h8.4zM6 16.8c0 .66.54 1.2 1.2 1.2h7.2c.66 0 1.2-.54 1.2-1.2V9.6c0-.66-.54-1.2-1.2-1.2H7.2c-.66 0-1.2.54-1.2 1.2v7.2z\"\n fill=\"#fff\"\n />\n </svg>\n );\n};\n\nexport default SvgPotentialMatch;\n","import React from 'react';\n\nconst SvgProfile: React.FC<React.SVGProps<SVGSVGElement>> = (props) => {\n return (\n <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path\n d=\"M11.727 5c1.66 0 3 1.376 3 3.08 0 1.704-1.34 3.08-3 3.08s-3-1.376-3-3.08c0-1.704 1.34-3.08 3-3.08zM12 19c-2.5 0-4.71-1.365-6-3.435.03-2.122 4-3.285 6-3.285 1.99 0 5.97 1.163 6 3.285C16.71 17.635 14.5 19 12 19z\"\n fill=\"#fff\"\n />\n </svg>\n );\n};\n\nexport default SvgProfile;\n","import React from 'react';\n\nconst SvgRemove: React.FC<React.SVGProps<SVGSVGElement>> = (props) => {\n return (\n <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M14.125 7.583h2.042V8.75H8V7.583h2.042L10.625 7h2.917l.583.583zM9.75 17.5a1.17 1.17 0 01-1.167-1.167v-7h7v7a1.17 1.17 0 01-1.166 1.167H9.75z\"\n fill=\"#fff\"\n />\n </svg>\n );\n};\n\nexport default SvgRemove;\n","import React from 'react';\n\nconst SvgSearch: React.FC<React.SVGProps<SVGSVGElement>> = (props) => {\n return (\n <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M14.432 13.358h-.568l-.197-.196a4.627 4.627 0 001.121-3.023 4.65 4.65 0 10-4.649 4.65 4.628 4.628 0 003.022-1.12l.198.195v.567L16.933 18 18 16.934l-3.568-3.576zm-4.293 0a3.218 3.218 0 11.152-.004l-.152.004z\"\n fill=\"#fff\"\n />\n </svg>\n );\n};\n\nexport default SvgSearch;\n","import React from 'react';\n\nconst SvgUnMerge: React.FC<React.SVGProps<SVGSVGElement>> = (props) => {\n return (\n <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M20.134 7.718L17.8 5.5V7h-1.604c-1.786 0-2.503.725-3.3 2.52-.585 1.318-.895 1.633-1.918 1.633H8.301v1.495h2.677c1.023 0 1.333.314 1.918 1.632.797 1.796 1.514 2.52 3.3 2.52h1.69v-1.495h-1.69c-1.036 0-1.35-.319-1.937-1.639-.348-.784-.68-1.363-1.09-1.766.41-.403.742-.982 1.09-1.766.586-1.32.901-1.639 1.938-1.639H17.8v1.44l2.334-2.217z\"\n fill=\"#fff\"\n />\n </svg>\n );\n};\n\nexport default SvgUnMerge;\n","import React from 'react';\nimport {ActivityData, ActivityTypes} from '../types';\n\nimport CommentActivity from './CommentActivity';\nimport GroupActivity from './GroupActivity';\nimport MergeActivity from './MergeActivity';\nimport PotentialMatchActivity from './PotentialMatchActivity';\nimport ProfileActivity from './ProfileActivity';\nimport RelationActivity from './RelationActivity';\nimport SearchActivity from './SearchActivity';\nimport SimpleActivity from './SimpleActivity';\nimport SynchronizationIssuesActivity from './SynchronizationIssuesActivity';\n\nimport AddIcon from '../../../icons/Add';\nimport CalendarTodayIcon from '@mui/icons-material/CalendarToday';\nimport CommentIcon from '../../../icons/Comment';\nimport CreateIcon from '../../../icons/Create';\nimport LoginIcon from '../../../icons/LogIn';\nimport LogoutIcon from '../../../icons/LogOut';\nimport MergeIcon from '../../../icons/Merge';\nimport NoMatchesIcon from '../../../icons/NoMatches';\nimport PotentialMatchIcon from '../../../icons/PotentialMatch';\nimport ProfileIcon from '../../../icons/Profile';\nimport RemoveIcon from '../../../icons/Remove';\nimport SearchIcon from '../../../icons/Search';\nimport UnMergeIcon from '../../../icons/UnMerge';\n\ntype FactoryProps = {\n type: ActivityTypes;\n data: ActivityData;\n};\n\nclass ActivitiesFactory {\n static getComponent = ({type, data}: FactoryProps) => {\n switch (type) {\n case ActivityTypes.COMMENT_ADDED:\n case ActivityTypes.COMMENT_DELETED:\n case ActivityTypes.COMMENT_UPDATED:\n return <CommentActivity data={data} type={type} />;\n case ActivityTypes.ENTITIES_MERGED_MANUALLY:\n case ActivityTypes.ENTITIES_MERGED:\n case ActivityTypes.ENTITIES_MERGED_ON_THE_FLY:\n case ActivityTypes.ENTITIES_SPLITTED:\n case ActivityTypes.ENTITY_LOST_MERGE:\n return <MergeActivity data={data} type={type} />;\n case ActivityTypes.POTENTIAL_MATCHES_FOUND:\n case ActivityTypes.POTENTIAL_MATCHES_REMOVED:\n case ActivityTypes.NOT_MATCHES_SET:\n case ActivityTypes.NOT_MATCHES_RESET:\n return <PotentialMatchActivity data={data} type={type} />;\n case ActivityTypes.ENTITY_CHANGED:\n case ActivityTypes.ENTITY_CREATED:\n case ActivityTypes.ENTITY_REMOVED:\n case ActivityTypes.ANALYTICS_ATTRIBUTES_CHANGED:\n return <ProfileActivity data={data} type={type} />;\n case ActivityTypes.RELATIONSHIP_CHANGED:\n case ActivityTypes.RELATIONSHIP_CREATED:\n case ActivityTypes.RELATIONSHIP_REMOVED:\n return <RelationActivity data={data} type={type} />;\n case ActivityTypes.USER_SEARCH:\n return <SearchActivity data={data} type={type} />;\n case ActivityTypes.GROUP_CHANGED:\n case ActivityTypes.GROUP_CREATED:\n case ActivityTypes.GROUP_REMOVED:\n return <GroupActivity data={data} type={type} />;\n case ActivityTypes.USER_LOGIN:\n case ActivityTypes.USER_LOGOUT:\n case ActivityTypes.MODEL_UPDATED:\n case ActivityTypes.PERIODIC_TASK_SCHEDULED:\n case ActivityTypes.USER_PROFILE_VIEW:\n return <SimpleActivity data={data} type={type} />;\n case ActivityTypes.SFDC_CONNECTOR_SYNCHRONIZATION_ISSUE:\n return <SynchronizationIssuesActivity data={data} type={type} />;\n default:\n return <div>{type} NOT IMPLEMENTED</div>;\n }\n };\n static getIcon = (type: ActivityTypes) => {\n switch (type) {\n case ActivityTypes.USER_LOGIN:\n return <LoginIcon />;\n case ActivityTypes.USER_LOGOUT:\n return <LogoutIcon />;\n case ActivityTypes.USER_PROFILE_VIEW:\n return <ProfileIcon />;\n case ActivityTypes.PERIODIC_TASK_SCHEDULED:\n return <CalendarTodayIcon />;\n case ActivityTypes.ENTITIES_SPLITTED:\n return <UnMergeIcon />;\n case ActivityTypes.ENTITIES_MERGED_MANUALLY:\n case ActivityTypes.ENTITIES_MERGED:\n case ActivityTypes.ENTITIES_MERGED_ON_THE_FLY:\n case ActivityTypes.ENTITY_LOST_MERGE:\n return <MergeIcon />;\n case ActivityTypes.ENTITY_CREATED:\n case ActivityTypes.RELATIONSHIP_CREATED:\n case ActivityTypes.GROUP_CREATED:\n return <AddIcon />;\n case ActivityTypes.ENTITY_REMOVED:\n case ActivityTypes.RELATIONSHIP_REMOVED:\n case ActivityTypes.POTENTIAL_MATCHES_REMOVED:\n case ActivityTypes.GROUP_REMOVED:\n return <RemoveIcon />;\n case ActivityTypes.USER_SEARCH:\n return <SearchIcon />;\n case ActivityTypes.POTENTIAL_MATCHES_FOUND:\n return <PotentialMatchIcon />;\n case ActivityTypes.NOT_MATCHES_RESET:\n case ActivityTypes.NOT_MATCHES_SET:\n return <NoMatchesIcon />;\n case ActivityTypes.COMMENT_ADDED:\n case ActivityTypes.COMMENT_UPDATED:\n case ActivityTypes.COMMENT_DELETED:\n return <CommentIcon />;\n case ActivityTypes.ENTITY_CHANGED:\n case ActivityTypes.MODEL_UPDATED:\n case ActivityTypes.RELATIONSHIP_CHANGED:\n case ActivityTypes.GROUP_CHANGED:\n default:\n return <CreateIcon />;\n }\n };\n}\n\nexport default ActivitiesFactory;\n","import {makeStyles} from '@mui/styles';\n\nexport const useStyles = makeStyles((theme) => ({\n activityItem: {\n display: 'flex',\n minHeight: '40px',\n padding: '10px 0 5px 0',\n boxSizing: 'border-box',\n paddingRight: '16px'\n },\n activityIcon: {\n marginLeft: '-13px',\n marginRight: '15px',\n width: '24px',\n height: '24px',\n background: theme.palette.primary.main,\n borderRadius: '50%',\n border: '1px solid white',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n flexShrink: 0,\n '& svg': {\n fill: 'white',\n fontSize: '14px'\n }\n },\n userContainer: {\n display: 'flex'\n },\n activityInfo: {\n flex: 1,\n overflow: 'hidden',\n position: 'relative'\n },\n activityUser: {\n fontSize: 13,\n lineHeight: '15px',\n color: theme.palette.text.secondary,\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis'\n },\n activityEvent: {\n marginTop: '5px'\n },\n date: {\n fontSize: 12,\n lineHeight: '16px',\n color: theme.palette.text.primary,\n marginLeft: 'auto',\n flexShrink: 0,\n paddingLeft: 8\n }\n}));\n","import React from 'react';\nimport {getActivityType, splitActivityByType} from '../../../utils/activities';\nimport ActivitiesFactory from '../../../activities/ActivitiesFactory';\nimport {ActivityData} from '../../../types';\nimport {useStyles} from './styles';\nimport i18n from 'ui-i18n';\n\ntype Props = {\n item: ActivityData;\n};\n\nconst ActivityItem = ({item}: Props) => {\n const styles = useStyles();\n\n const type = getActivityType(item);\n const activities = splitActivityByType(item);\n\n return (\n <div className={styles.activityItem} data-reltio-id=\"activity-log-item\">\n <div className={styles.activityIcon}>{ActivitiesFactory.getIcon(type)}</div>\n <div className={styles.activityInfo}>\n <div className={styles.userContainer}>\n <span className={styles.activityUser}>{item.user}</span>\n <span className={styles.date}>{i18n.date(item.timestamp, 'LT')}</span>\n </div>\n {activities.map((activity: ActivityData, index: number) => (\n <div key={index} className={styles.activityEvent}>\n {ActivitiesFactory.getComponent({\n type: getActivityType(activity),\n data: activity\n })}\n </div>\n ))}\n </div>\n </div>\n );\n};\n\nexport default ActivityItem;\n","import {makeStyles} from '@mui/styles';\n\nexport const useStyles = makeStyles({\n rowDivider: {\n marginLeft: '28px'\n },\n listRow: {\n paddingLeft: '28px',\n position: 'relative',\n '&::before': {\n content: '\"\"',\n width: '2px',\n position: 'absolute',\n height: '100%',\n top: 0,\n left: '27px',\n backgroundColor: '#D8D8D8',\n zIndex: '-1'\n },\n overflow: 'hidden'\n },\n firstRow: {\n '&$listRow::before': {\n height: 'calc(100% - 20px)',\n top: '20px'\n }\n },\n lastRow: {\n '&$listRow::before': {\n height: '20px'\n }\n },\n singleRow: {\n '&$listRow::before': {\n display: 'none'\n }\n }\n});\n","import React, {useCallback, useEffect, useMemo, useState} from 'react';\nimport classnames from 'classnames';\nimport {adjust, evolve, filter, map, not, pipe} from 'ramda';\nimport {buildGroupedItems, flattenGroupedItems, getItemKey, GroupedItemData, isGroupItem} from './helpers';\nimport Divider from '@mui/material/Divider';\nimport {removeIgnoredItems} from '../utils/activities';\nimport GroupItem from './items/GroupItem/GroupItem';\nimport ActivityItem from './items/ActivityItem/ActivityItem';\nimport AutoSizeList from '../../AutoSizeList/AutoSizeList';\nimport {CollapsibleItemsProvider} from '../contexts/CollapsibleItemsContext';\n\nimport {useStyles} from './styles';\n\ntype Props = {\n width: number;\n height: number;\n activities: unknown[];\n};\n\nconst ActivityLog = ({width, height, activities}: Props) => {\n const styles = useStyles();\n\n const [groupedItems, setGroupedItems] = useState<GroupedItemData[]>([]);\n const toggleGroupedItem = (index) => {\n setGroupedItems(adjust(index, evolve({collapsed: not})));\n };\n\n useEffect(() => {\n pipe(\n map(removeIgnoredItems),\n filter(({itemsTotal}) => itemsTotal !== 0),\n buildGroupedItems,\n setGroupedItems\n )(activities);\n }, [activities]);\n const flatItems = useMemo(() => flattenGroupedItems(groupedItems), [groupedItems]);\n\n const renderRow = useCallback(({data, index}) => {\n const item = data[index];\n const isSingleRow = data.length === 1;\n const isFirstRow = index === 0;\n const isLastRow = index === data.length - 1;\n return (\n <div\n className={classnames(styles.listRow, {\n [styles.singleRow]: isSingleRow,\n [styles.firstRow]: isFirstRow,\n [styles.lastRow]: isLastRow\n })}\n >\n {isGroupItem(item) ? (\n <GroupItem item={item} onToggle={toggleGroupedItem} />\n ) : (\n <>\n <ActivityItem item={item} />\n {!isLastRow && <Divider className={styles.rowDivider} light variant=\"inset\" />}\n </>\n )}\n </div>\n );\n }, []); // eslint-disable-line\n\n return (\n <CollapsibleItemsProvider>\n <AutoSizeList width={width} height={height} data={flatItems} defaultItemSize={40} itemKey={getItemKey}>\n {renderRow}\n </AutoSizeList>\n </CollapsibleItemsProvider>\n );\n};\n\nexport default ActivityLog;\n","import {makeStyles} from '@mui/styles';\n\nexport const useStyles = makeStyles((theme) => ({\n snackbar: {\n maxWidth: 500\n },\n icon: {\n margin: '4px'\n },\n exportButton: {\n color: theme.palette.primary.main\n }\n}));\n","import React, {useMemo, useState, useCallback} from 'react';\nimport i18n from 'ui-i18n';\nimport Button from '@mui/material/Button';\nimport Portal from '@mui/material/Portal';\nimport Snackbar from '@mui/material/Snackbar';\nimport GetAppIcon from '@mui/icons-material/GetApp';\nimport {SmallIconButtonWithTooltip} from '../../SmallIconButton';\nimport ErrorPopup from '../../ErrorPopup/ErrorPopup';\nimport DropDownMenuButton from '../../DropDownMenuButton/DropDownMenuButton';\nimport {exportActivities, getRequestErrorMessage} from '@reltio/mdm-sdk';\nimport {ActivitiesFilter} from '../types';\nimport {buildActivitiesFilterString} from '../utils/filters';\nimport {useMdmAction, useMdmExportPath, useMdmTenant} from '../../../contexts';\nimport {useStyles} from './styles';\n\ntype Props = {\n filters: ActivitiesFilter;\n exportTypes?: string[];\n};\n\nconst ActivityExportButton = ({filters, exportTypes = []}: Props) => {\n const styles = useStyles();\n const openConsoleApp = useMdmAction('openConsoleApp');\n const exportPath = useMdmExportPath();\n const tenant = useMdmTenant();\n const [showSnackbar, setShowSnackbar] = useState(false);\n\n const handleClickExport = useCallback(\n (type?: string) => {\n const options = {\n filter: buildActivitiesFilterString(filters),\n fileFormat: type\n };\n exportActivities({exportPath, tenant, options})\n .then(() => setShowSnackbar(true))\n .catch(onError);\n },\n [filters, tenant, exportPath]\n );\n\n const onError = (error) => {\n console.warn(error);\n ErrorPopup.addError({\n title: i18n.text('Error'),\n message: getRequestErrorMessage(error, i18n.text(\"Can't export activities\"))\n });\n };\n\n const handleOpenAppClick = useCallback(() => {\n openConsoleApp('Export');\n }, [openConsoleApp]);\n\n const menuItems = useMemo(\n () =>\n exportTypes.map((type) => ({\n text: type.toUpperCase(),\n onClick: () => handleClickExport(type)\n })),\n [exportTypes, handleClickExport]\n );\n\n return (\n <>\n {menuItems.length ? (\n <DropDownMenuButton\n buttonComponent={SmallIconButtonWithTooltip}\n buttonProps={{\n icon: GetAppIcon,\n tooltipTitle: i18n.text('Export'),\n size: 'L',\n className: styles.icon\n }}\n menuItems={menuItems}\n menuId=\"export-menu\"\n />\n ) : (\n <SmallIconButtonWithTooltip\n icon={GetAppIcon}\n size=\"L\"\n onClick={() => handleClickExport()}\n tooltipTitle={i18n.text('Export')}\n className={styles.icon}\n />\n )}\n <Portal container={document.body}>\n <Snackbar\n open={showSnackbar}\n autoHideDuration={5000}\n className={styles.snackbar}\n onClose={() => setShowSnackbar(false)}\n anchorOrigin={{vertical: 'bottom', horizontal: 'center'}}\n message={i18n.text(\n 'Export operation is currently in progress. You will receive an email notification once completed. Go to Export Application to view the status.'\n )}\n action={\n <Button className={styles.exportButton} onClick={handleOpenAppClick}>\n {i18n.text('Export application')}\n </Button>\n }\n />\n </Portal>\n </>\n );\n};\n\nexport default ActivityExportButton;\n","import {pipe, filter, has, isEmpty, includes} from 'ramda';\nimport {Metadata, TEntityType} from '@reltio/mdm-sdk';\nimport {ActivityTypes} from '../../types';\n\nconst profileRelatedActivityTypes = [\n ActivityTypes.ENTITY_CREATED,\n ActivityTypes.ENTITY_CHANGED,\n ActivityTypes.ENTITIES_MERGED,\n ActivityTypes.ENTITIES_SPLITTED,\n ActivityTypes.ENTITY_LOST_MERGE,\n ActivityTypes.RELATIONSHIP_CREATED,\n ActivityTypes.RELATIONSHIP_REMOVED,\n ActivityTypes.RELATIONSHIP_CHANGED,\n ActivityTypes.POTENTIAL_MATCHES_FOUND,\n ActivityTypes.POTENTIAL_MATCHES_REMOVED,\n ActivityTypes.NOT_MATCHES_SET,\n ActivityTypes.NOT_MATCHES_RESET,\n ActivityTypes.ENTITIES_MERGED_MANUALLY,\n ActivityTypes.ENTITIES_MERGED_ON_THE_FLY\n];\n\nconst groupRelatedActivityTypes = [\n ActivityTypes.GROUP_CREATED,\n ActivityTypes.GROUP_REMOVED,\n ActivityTypes.GROUP_CHANGED\n];\n\nexport const getSelectorActivityTypes = (metadata: Metadata, entityType?: TEntityType) =>\n entityType\n ? profileRelatedActivityTypes\n : pipe(\n Object.keys,\n filter(\n (option: string) =>\n (has('groupTypes', metadata) && !isEmpty(metadata.groupTypes)) ||\n !includes(option, groupRelatedActivityTypes)\n )\n )(ActivityTypes);\n","import {makeStyles} from '@mui/styles';\n\nexport const customStyles = {\n input: (currentStyles) => ({...currentStyles, fontSize: '14px'}),\n menuPortal: (currentStyles) => ({...currentStyles, zIndex: 1300})\n};\n\nexport const useStyles = makeStyles({\n container: {\n width: 500,\n boxSizing: 'border-box'\n },\n labels: {\n fontSize: '14px'\n },\n filterSubtitle: {\n paddingBottom: '10px',\n paddingLeft: '5px'\n },\n agoLabel: {\n minWidth: '30px',\n textAlign: 'end',\n margin: 'auto'\n },\n dateOption: {\n display: 'flex',\n marginRight: '30px'\n },\n dateOptionAgo: {\n display: 'flex',\n marginBottom: '10px'\n },\n dateOptionWithin: {\n display: 'flex',\n marginRight: '30px',\n marginBottom: '10px'\n },\n dateOptionLabel: {\n minWidth: '100px'\n },\n dropDownInput: {\n width: '100%',\n justifyContent: 'center',\n backgroundColor: 'rgba(0, 0, 0, 0.03)',\n borderTop: '4px'\n },\n editorFields: {\n maxHeight: 400,\n borderColor: 'rgba(0,0,0,0.12)'\n },\n clearButton: {\n marginRight: 'auto'\n },\n selectorWrapper: {\n marginBottom: '12px'\n },\n option: {\n fontSize: '14px',\n height: '32px'\n },\n selectorsGroup: {\n display: 'flex',\n flexDirection: 'column'\n },\n selectorHint: {\n fontSize: 12,\n lineHeight: '16px',\n color: 'rgba(0,0,0,0.54)'\n },\n divider: {\n marginBottom: 12\n }\n});\n","import React from 'react';\nimport i18n from 'ui-i18n';\nimport {defaultTo, pipe, pluck, sortBy} from 'ramda';\nimport classnames from 'classnames';\nimport Typography from '@mui/material/Typography';\nimport {ActivityTypes} from '../types/ActivityTypes';\nimport MultiSelect from '../../ReactSelect/MultiSelect';\nimport DropdownIndicatorWithIconButton from '../../commonReactSelectComponents/DropdownIndicatorWithIconButton';\nimport {getActivityLabel} from '../utils/activities';\n\nimport {customStyles, useStyles} from './styles';\n\ntype Props = {\n activityTypes: ActivityTypes[];\n selectedActivityTypes: ActivityTypes[];\n onChange: (activities: ActivityTypes[]) => void;\n};\n\nconst ActivitySelector = ({activityTypes, selectedActivityTypes, onChange}: Props) => {\n const styles = useStyles();\n const valueToOption = (value: ActivityTypes) => ({value, label: getActivityLabel(value)});\n const prepareValues = (values: ActivityTypes[] | string[]) => values.map(valueToOption);\n const showHint = selectedActivityTypes.length > 1 && selectedActivityTypes.includes(ActivityTypes.ENTITY_CHANGED);\n\n const options = pipe(\n sortBy((option: ActivityTypes) => getActivityLabel(option)),\n prepareValues\n )(activityTypes);\n\n return (\n <div className={styles.selectorWrapper} data-reltio-id=\"activity-selector\">\n <Typography className={classnames(styles.filterSubtitle, styles.labels)} variant={'subtitle1'}>\n {i18n.text('Activity')}\n </Typography>\n <MultiSelect\n value={prepareValues(selectedActivityTypes)}\n onChange={pipe(defaultTo([]), pluck('value'), onChange)}\n options={options}\n TextFieldProps={{\n InputProps: {disableUnderline: true},\n classes: {root: styles.dropDownInput}\n }}\n components={{\n DropdownIndicator: DropdownIndicatorWithIconButton\n }}\n styles={customStyles}\n classes={styles}\n menuPlacement=\"bottom\"\n menuPortalTarget={document.body}\n menuShouldBlockScroll={true}\n captureMenuScroll={false}\n />\n {showHint && (\n <span className={styles.selectorHint}>\n {i18n.text(\n 'One at a time! Select a single Activity and any of its filters -OR- multiple Activities with no filters.'\n )}\n </span>\n )}\n </div>\n );\n};\n\nexport default ActivitySelector;\n","import React, {useState} from 'react';\nimport i18n from 'ui-i18n';\nimport {pipe} from 'ramda';\nimport classnames from 'classnames';\nimport {DateRangeFilter, DateRangeTypes} from '@reltio/mdm-sdk';\nimport FormControlLabel from '@mui/material/FormControlLabel';\nimport Radio from '@mui/material/Radio';\nimport RadioGroup from '@mui/material/RadioGroup';\nimport Typography from '@mui/material/Typography';\nimport DateIntervalSelector from '../../DateIntervalSelector/DateIntervalSelector';\nimport {getValue} from '../../../core/utils';\nimport CustomDateRangeEditor from '../../editors/CustomDateRangeEditor/CustomDateRangeEditor';\nimport {useDidUpdateEffect} from '../../../hooks';\n\nimport {useStyles} from './styles';\n\ntype Props = {\n value: DateRangeFilter;\n onChange: (range: DateRangeFilter) => void;\n};\n\nconst emptyDates: [Date, Date] = [null, null];\nconst emptyInterval: [number, string] = [null, 'minutes'];\n\nconst DateRangeSelector = ({value, onChange}: Props) => {\n const styles = useStyles();\n\n const getInitPeriodByType = (type: DateRangeTypes) => {\n if (value?.type === type) {\n return value.period;\n } else if (type === DateRangeTypes.WITHIN || type === DateRangeTypes.AGO) {\n return emptyInterval;\n } else if (type === DateRangeTypes.BETWEEN) {\n return emptyDates;\n }\n };\n\n const [datesInterval, setDatesInterval] = useState(getInitPeriodByType(DateRangeTypes.BETWEEN) as [Date, Date]);\n const [withinInterval, setWithinInterval] = useState(\n getInitPeriodByType(DateRangeTypes.WITHIN) as [number, string]\n );\n const [agoInterval, setAgoInterval] = useState(getInitPeriodByType(DateRangeTypes.AGO) as [number, string]);\n\n const getCurrentPeriodByType = (type: DateRangeTypes) => {\n if (type === DateRangeTypes.WITHIN) {\n return withinInterval;\n } else if (type === DateRangeTypes.AGO) {\n return agoInterval;\n } else if (type === DateRangeTypes.BETWEEN) {\n return datesInterval;\n }\n };\n\n const changeType = (type: DateRangeTypes) => {\n if (value?.type !== type) {\n onChange({period: getCurrentPeriodByType(type), type});\n }\n };\n const changePeriod = (period) => {\n onChange({...value, period});\n };\n\n useDidUpdateEffect(() => {\n if (value) {\n if (value.type === DateRangeTypes.WITHIN) {\n setWithinInterval(value.period as [number, string]);\n } else if (value.type === DateRangeTypes.AGO) {\n setAgoInterval(value.period as [number, string]);\n } else if (value.type === DateRangeTypes.BETWEEN) {\n setDatesInterval(value.period as [Date, Date]);\n }\n } else {\n setDatesInterval(emptyDates);\n setWithinInterval(emptyInterval);\n setAgoInterval(emptyInterval);\n }\n }, [value]);\n\n return (\n <div className={styles.selectorWrapper} data-reltio-id=\"date-range-selector\">\n <Typography className={classnames(styles.filterSubtitle, styles.labels)} variant={'subtitle1'}>\n {i18n.text('Date')}\n </Typography>\n <RadioGroup value={value?.type || null} onChange={pipe(getValue, changeType)}>\n <div className={styles.dateOptionWithin}>\n <FormControlLabel\n value={DateRangeTypes.WITHIN}\n control={<Radio color=\"primary\" />}\n label={i18n.text('Within the last')}\n classes={{label: classnames(styles.dateOptionLabel, styles.labels)}}\n />\n <DateIntervalSelector\n interval={withinInterval}\n onChange={changePeriod}\n onFocus={() => changeType(DateRangeTypes.WITHIN)}\n />\n </div>\n <div className={styles.dateOptionAgo}>\n <FormControlLabel\n value={DateRangeTypes.AGO}\n control={<Radio color=\"primary\" />}\n label={i18n.text('More than')}\n classes={{label: classnames(styles.dateOptionLabel, styles.labels)}}\n />\n <DateIntervalSelector\n interval={agoInterval}\n onChange={changePeriod}\n onFocus={() => changeType(DateRangeTypes.AGO)}\n />\n <Typography className={classnames(styles.agoLabel, styles.labels)} variant={'subtitle1'}>\n {i18n.text('Ago')}\n </Typography>\n </div>\n <div className={styles.dateOption}>\n <FormControlLabel\n value={DateRangeTypes.BETWEEN}\n control={<Radio color=\"primary\" />}\n label={i18n.text('Date range')}\n classes={{label: classnames(styles.dateOptionLabel, styles.labels)}}\n />\n <CustomDateRangeEditor\n values={datesInterval}\n onChange={changePeriod}\n onFocus={() => changeType(DateRangeTypes.BETWEEN)}\n />\n </div>\n </RadioGroup>\n </div>\n );\n};\n\nexport default DateRangeSelector;\n","import React from 'react';\nimport i18n from 'ui-i18n';\nimport {defaultTo, pipe, pluck, sortBy} from 'ramda';\nimport classnames from 'classnames';\nimport Typography from '@mui/material/Typography';\nimport MultiSelect from '../../ReactSelect/MultiSelect';\nimport DropdownIndicatorWithIconButton from '../../commonReactSelectComponents/DropdownIndicatorWithIconButton';\nimport {customStyles, useStyles} from './styles';\nimport {TEntityType} from '@reltio/mdm-sdk';\n\ntype Props = {\n entityTypes: TEntityType[];\n selectedEntityTypes: TEntityType[];\n onChange: (entityTypes: TEntityType[]) => void;\n};\n\nconst EntityTypesSelector = ({entityTypes, selectedEntityTypes, onChange}: Props) => {\n const styles = useStyles();\n const valueToOption = (entityType: TEntityType) => ({value: entityType.uri, label: entityType.label, entityType});\n const prepareValues = (values: TEntityType[]) => values.map(valueToOption);\n\n const options = pipe(\n sortBy((option: TEntityType) => option.label),\n prepareValues\n )(entityTypes);\n\n return (\n <div className={styles.selectorWrapper} data-reltio-id=\"entity-types-selector\">\n <Typography className={classnames(styles.filterSubtitle, styles.labels)} variant={'subtitle1'}>\n {i18n.text('Type')}\n </Typography>\n <MultiSelect\n value={prepareValues(selectedEntityTypes)}\n onChange={pipe(defaultTo([]), pluck('entityType'), onChange)}\n options={options}\n TextFieldProps={{\n InputProps: {disableUnderline: true},\n classes: {root: styles.dropDownInput}\n }}\n components={{\n DropdownIndicator: DropdownIndicatorWithIconButton\n }}\n styles={customStyles}\n classes={styles}\n menuPlacement=\"bottom\"\n menuPortalTarget={document.body}\n menuShouldBlockScroll={true}\n captureMenuScroll={false}\n />\n </div>\n );\n};\n\nexport default EntityTypesSelector;\n","import React from 'react';\nimport i18n from 'ui-i18n';\nimport classnames from 'classnames';\nimport {defaultTo, pipe, sortBy, prop} from 'ramda';\nimport {Source} from '@reltio/mdm-sdk';\nimport Typography from '@mui/material/Typography';\nimport MultiSelect from '../../ReactSelect/MultiSelect';\nimport DropdownIndicatorWithIconButton from '../../commonReactSelectComponents/DropdownIndicatorWithIconButton';\nimport {useMdmMetadata} from '../../../contexts';\nimport {customStyles, useStyles} from './styles';\n\ntype Props = {\n selectedSources: Source[];\n onChange?: (sources: Source[]) => void;\n};\n\nconst SourceSelector = ({selectedSources, onChange}: Props) => {\n const styles = useStyles();\n const metadata = useMdmMetadata();\n const options = sortBy((option) => option.label)(metadata.sources);\n\n return (\n <div className={styles.selectorWrapper} data-reltio-id=\"source-selector\">\n <Typography className={classnames(styles.filterSubtitle, styles.labels)} variant={'subtitle1'}>\n {i18n.text('Source')}\n </Typography>\n <MultiSelect\n value={selectedSources}\n onChange={pipe(defaultTo([]), onChange)}\n options={options}\n TextFieldProps={{\n InputProps: {disableUnderline: true},\n classes: {root: styles.dropDownInput}\n }}\n components={{\n DropdownIndicator: DropdownIndicatorWithIconButton\n }}\n styles={customStyles}\n classes={styles}\n getOptionValue={prop('abbreviation')}\n menuPlacement=\"bottom\"\n menuPortalTarget={document.body}\n menuShouldBlockScroll={true}\n captureMenuScroll={false}\n />\n </div>\n );\n};\n\nexport default SourceSelector;\n","import React from 'react';\nimport {map, prop} from 'ramda';\nimport {findClosestCommonAncestor, getEntityType, TEntityType} from '@reltio/mdm-sdk';\nimport AttributeSelector from '../../AttributeSelector/AttributeSelector';\nimport EntityTypesSelector from './EntityTypesSelector';\nimport SourceSelector from './SourceSelector';\nimport {ActivitiesFilter} from '../types';\nimport {useMdmMetadata} from '../../../contexts';\nimport {useStyles} from './styles';\n\ntype Props = {\n filter: ActivitiesFilter;\n entityType?: TEntityType;\n onPropChange: (propName: string) => (value: unknown) => void;\n};\n\nconst EntityChangedSelectors = ({filter, entityType, onPropChange}: Props) => {\n const styles = useStyles();\n const {attributes = [], sources = [], entityTypes = []} = filter || {};\n const metadata = useMdmMetadata();\n const closestEntityTypeAncestor = findClosestCommonAncestor(metadata, map(prop('uri'), entityTypes));\n const attributesEntityType = entityType || getEntityType(metadata, closestEntityTypeAncestor);\n\n return (\n <div className={styles.selectorsGroup}>\n {!entityType && (\n <EntityTypesSelector\n entityTypes={metadata.entityTypes}\n selectedEntityTypes={entityTypes}\n onChange={onPropChange('entityTypes')}\n />\n )}\n <AttributeSelector\n selectedAttributes={attributes}\n entityType={attributesEntityType}\n onChange={onPropChange('attributes')}\n className={styles.selectorWrapper}\n disableUnderline\n />\n <SourceSelector selectedSources={sources} onChange={onPropChange('sources')} />\n </div>\n );\n};\n\nexport default EntityChangedSelectors;\n","import React, {useState} from 'react';\nimport {curry, pipe, assoc, when, mergeLeft, always} from 'ramda';\nimport i18n from 'ui-i18n';\nimport {TEntityType} from '@reltio/mdm-sdk';\nimport Button from '@mui/material/Button';\nimport Popover from '@mui/material/Popover';\nimport Divider from '@mui/material/Divider';\nimport DialogActions from '@mui/material/DialogActions';\nimport DialogContent from '@mui/material/DialogContent';\nimport DialogTitle from '@mui/material/DialogTitle';\nimport {ActivitiesFilter, ActivityTypes} from '../types';\nimport {getSelectorActivityTypes} from './utils/getSelectorActivityTypes';\nimport ActivitySelector from './ActivitySelector';\nimport UserSelector from '../../UserSelector/UserSelector';\nimport DateRangeSelector from './DateRangeSelector';\nimport EntityChangedSelectors from './EntityChangedSelectors';\nimport {useDidUpdateEffect} from '../../../hooks';\nimport {useMdmMetadata} from '../../../contexts';\nimport {useStyles} from './styles';\n\ntype Props = {\n value: ActivitiesFilter;\n open: boolean;\n entityType?: TEntityType;\n anchorEl?: HTMLElement;\n onApply: (value: ActivitiesFilter) => void;\n onCancel: () => void;\n onClear: () => void;\n};\n\nconst ActivityFilterEditor = ({value, open, entityType, anchorEl, onApply, onCancel, onClear}: Props) => {\n const styles = useStyles();\n const [currentFilter, setCurrentFilter] = useState<ActivitiesFilter>(value);\n const metadata = useMdmMetadata();\n const clearCurrentFilter = () => setCurrentFilter(null);\n const handlePropChange = curry((propName: string, value: unknown) => {\n setCurrentFilter(\n pipe(\n when(always(propName === 'entityTypes'), assoc('attributes', [])),\n when(always(propName === 'activities'), mergeLeft({attributes: [], entityTypes: [], sources: []})),\n assoc(propName, value)\n )\n );\n });\n\n useDidUpdateEffect(() => {\n setCurrentFilter(value);\n }, [open, value]);\n\n const {activities = [], dateRange = null, users = []} = currentFilter || {};\n const isEntityChangedActivity = activities.length === 1 && activities.includes(ActivityTypes.ENTITY_CHANGED);\n\n return (\n <Popover\n open={open}\n anchorEl={anchorEl}\n onClose={onCancel}\n classes={{paper: styles.container}}\n anchorOrigin={{vertical: 'bottom', horizontal: 'right'}}\n transformOrigin={{vertical: 'top', horizontal: 'right'}}\n >\n <DialogTitle>{i18n.text('Filter')}</DialogTitle>\n <DialogContent dividers className={styles.editorFields}>\n <ActivitySelector\n activityTypes={getSelectorActivityTypes(metadata, entityType)}\n selectedActivityTypes={activities}\n onChange={handlePropChange('activities')}\n />\n {isEntityChangedActivity && (\n <EntityChangedSelectors\n filter={currentFilter}\n entityType={entityType}\n onPropChange={handlePropChange}\n />\n )}\n <Divider light className={styles.divider} />\n <DateRangeSelector value={dateRange} onChange={handlePropChange('dateRange')} />\n <Divider light className={styles.divider} />\n <UserSelector selectedUsers={users} onChange={handlePropChange('users')} disableUnderline />\n </DialogContent>\n <DialogActions>\n <Button onClick={pipe(clearCurrentFilter, onClear)} className={styles.clearButton}>\n {i18n.text('Clear all')}\n </Button>\n <Button onClick={onCancel}>{i18n.text('Cancel')}</Button>\n <Button color=\"primary\" onClick={() => onApply(currentFilter)}>\n {i18n.text('Apply')}\n </Button>\n </DialogActions>\n </Popover>\n );\n};\n\nexport default ActivityFilterEditor;\n","import {alpha} from '@mui/material/styles';\n\nimport {makeStyles} from '@mui/styles';\n\nexport const useStyles = makeStyles((theme) => ({\n icon: {\n margin: '4px',\n '&.activeIcon': {\n backgroundColor: alpha(theme.palette.primary.main, 0.12),\n color: theme.palette.primary.main\n }\n }\n}));\n","import React, {useState, useRef} from 'react';\nimport classnames from 'classnames';\nimport i18n from 'ui-i18n';\nimport {always, equals, evolve, pipe, mergeRight, unless} from 'ramda';\nimport {isDateRangeValid, TEntityType} from '@reltio/mdm-sdk';\nimport FilterListIcon from '@mui/icons-material/FilterList';\nimport ActivityFilterEditor from '../ActivityFilterEditor/ActivityFilterEditor';\nimport {SmallIconButtonWithTooltip} from '../../SmallIconButton';\nimport {ActivitiesFilter} from '../types';\n\nimport {useStyles} from './styles';\n\ntype Props = {\n filter: ActivitiesFilter;\n entityType: TEntityType;\n onChange: (value: ActivitiesFilter) => void;\n};\n\nconst ActivityFilterButton = ({filter, entityType, onChange}: Props) => {\n const styles = useStyles();\n const buttonRef = useRef<HTMLButtonElement>();\n const initialValue = useRef<ActivitiesFilter>(filter);\n const [isEditorOpen, setIsEditorOpen] = useState(false);\n const isApplied = !equals(filter, initialValue.current);\n\n const handleChange = (value: ActivitiesFilter) => {\n const newValue = pipe(\n mergeRight(initialValue.current),\n evolve({\n dateRange: unless(isDateRangeValid, always(initialValue.current.dateRange))\n })\n )(value);\n onChange(newValue);\n setIsEditorOpen(false);\n };\n\n return (\n <>\n <SmallIconButtonWithTooltip\n ref={buttonRef}\n icon={FilterListIcon}\n size=\"L\"\n onClick={() => setIsEditorOpen(true)}\n tooltipTitle={i18n.text('Filter')}\n className={classnames(styles.icon, {activeIcon: isApplied})}\n />\n <ActivityFilterEditor\n value={filter}\n open={isEditorOpen}\n entityType={entityType}\n anchorEl={buttonRef.current}\n onApply={handleChange}\n onCancel={() => setIsEditorOpen(false)}\n onClear={() => onChange({...initialValue.current})}\n />\n </>\n );\n};\n\nexport default ActivityFilterButton;\n","import {makeStyles} from '@mui/styles';\n\nexport const useStyles = makeStyles({\n header: {\n display: 'flex',\n alignItems: 'center',\n overflow: 'hidden',\n flexGrow: 1\n },\n label: {\n marginRight: '4px',\n fontSize: '14px'\n },\n buttonsWrapper: {\n marginLeft: 'auto',\n display: 'flex'\n }\n});\n","import React from 'react';\nimport i18n from 'ui-i18n';\nimport {TEntityType, canUserMakeActivitiesExport} from '@reltio/mdm-sdk';\nimport Tooltip from '@mui/material/Tooltip';\nimport Typography from '@mui/material/Typography';\nimport {ActivitiesFilter} from '../types';\nimport ActivityExportButton from '../ActivityExportButton/ActivityExportButton';\nimport ActivityFilterButton from '../ActivityFilterButton/ActivityFilterButton';\nimport {getFilterLabel} from './helpers';\nimport {useMdmTenant, useMdmUser} from '../../../contexts';\nimport {useStyles} from './styles';\n\ntype Props = {\n value: ActivitiesFilter;\n onChange: (value: ActivitiesFilter) => void;\n entityType?: TEntityType;\n entityUri?: string;\n exportTypes?: string[];\n};\n\nconst ActivityLogFilter = ({value, entityType, entityUri, onChange, exportTypes}: Props) => {\n const styles = useStyles();\n const user = useMdmUser();\n const tenant = useMdmTenant();\n const canExport = canUserMakeActivitiesExport(user, tenant);\n const filterLabel = getFilterLabel(value);\n\n return (\n <div className={styles.header}>\n <Typography variant=\"body2\" className={styles.label}>\n {i18n.text('Filter:')}\n </Typography>\n <Tooltip title={filterLabel}>\n <Typography variant=\"body2\" className={styles.label} color=\"textSecondary\" display=\"block\" noWrap>\n {filterLabel}\n </Typography>\n </Tooltip>\n <div className={styles.buttonsWrapper}>\n {canExport && <ActivityExportButton filters={{...value, entityUri}} exportTypes={exportTypes} />}\n <ActivityFilterButton filter={value} entityType={entityType} onChange={onChange} />\n </div>\n </div>\n );\n};\n\nexport default ActivityLogFilter;\n","import i18n from 'ui-i18n';\nimport {curry, join, identity, isNil, map, pipe, reject, sortBy, defaultTo, pluck} from 'ramda';\nimport {DataTypes, formatDataTypeValue, DateRangeFilter, DateRangeTypes, getIntervalUnitLabel} from '@reltio/mdm-sdk';\nimport {ActivitiesFilter} from '../types';\nimport {getActivityLabel} from '../utils/activities';\n\nexport const getFilterLabel = (filters: ActivitiesFilter) => {\n const getLabel = curry((unit: string, pluralUnit: string, values: string[]) =>\n values.length <= 1\n ? values[0]\n : `${values[0]} + ${values.length - 1} ${values.length === 2 ? unit : pluralUnit}`\n );\n\n const activityLabel = pipe(\n map(getActivityLabel),\n getLabel(i18n.text('activity'), i18n.text('activities'))\n )(filters.activities);\n\n const userLabel = getLabel(i18n.text('user'), i18n.text('users'), filters.users);\n\n const entityTypesLabel = pipe(\n defaultTo([]),\n pluck('label'),\n sortBy(identity),\n getLabel(i18n.text('type'), i18n.text('types'))\n )(filters.entityTypes);\n\n const attributesLabel = pipe(\n defaultTo([]),\n pluck('label'),\n sortBy(identity),\n getLabel(i18n.text('attribute'), i18n.text('attributes'))\n )(filters.attributes);\n\n const sourcesLabel = pipe(\n defaultTo([]),\n pluck('label'),\n getLabel(i18n.text('source'), i18n.text('sources'))\n )(filters.sources);\n\n const getDateLabel = (date: DateRangeFilter) => {\n const formatDateValue = (value: Date) =>\n `${formatDataTypeValue({dataTypeDefinition: {type: DataTypes.TYPE_ACTIVENESS_DATE}}, value)}`;\n switch (date.type) {\n case DateRangeTypes.WITHIN:\n return i18n.text('Within ${amount} ${unit}', {\n amount: date.period[0],\n unit: getIntervalUnitLabel(date.period[1] as string)\n });\n case DateRangeTypes.AGO:\n return i18n.text('More than ${amount} ${unit} ago', {\n amount: date.period[0],\n unit: getIntervalUnitLabel(date.period[1] as string)\n });\n case DateRangeTypes.BETWEEN:\n return i18n.text('${startDate} to ${endDate}', {\n startDate: formatDateValue(date.period[0] as Date),\n endDate: formatDateValue(date.period[1] as Date)\n });\n default:\n return null;\n }\n };\n\n return pipe(\n reject(isNil),\n join(' | ')\n )([activityLabel, entityTypesLabel, attributesLabel, sourcesLabel, getDateLabel(filters.dateRange), userLabel]);\n};\n","export enum DeltaTypes {\n ATTRIBUTE_CHANGED = 'edited',\n ATTRIBUTE_ADDED = 'added',\n ATTRIBUTE_REMOVED = 'deleted'\n}\n","import {append, cond, defaultTo, equals, identity, join, map, pipe, reject, toPairs} from 'ramda';\nimport {AttributeOption} from '../../../types';\nimport {ActivityTypes} from '../types';\nimport {\n isEmptyValue,\n wrapInBrackets,\n multiValueFilter,\n buildUserFilterClause,\n buildSourceFilterClause,\n buildEntityTypeFilterClause,\n buildDateRangeFilterClause,\n buildEntityUriFilterClause\n} from '@reltio/mdm-sdk';\n\nconst buildActivityFilterClause = (activityType: ActivityTypes) => {\n if (activityType.startsWith('USER_') || activityType.startsWith('COMMENT_') || activityType.startsWith('SFDC_')) {\n return `startsWith(label, '${activityType}')`;\n } else {\n return `equals(items.data.type, ${activityType})`;\n }\n};\n\nconst buildAttributeFilterClause = (attribute: AttributeOption) => {\n return `equals(items.delta.attributeType, '${attribute.value}')`;\n};\n\nconst getFilterClauseBuilder = cond([\n [equals('users'), () => multiValueFilter(buildUserFilterClause)],\n [equals('activities'), () => multiValueFilter(buildActivityFilterClause)],\n [equals('sources'), () => multiValueFilter(buildSourceFilterClause)],\n [equals('attributes'), () => multiValueFilter(buildAttributeFilterClause)],\n [equals('entityTypes'), () => multiValueFilter(buildEntityTypeFilterClause)],\n [equals('dateRange'), () => buildDateRangeFilterClause],\n [equals('entityUri'), () => buildEntityUriFilterClause],\n [equals('rawFilter'), () => identity]\n]);\n\nexport const buildActivitiesFilterString = pipe(\n defaultTo({}),\n reject(isEmptyValue),\n toPairs,\n append(['rawFilter', \"not equals(user, 'collaboration-service')\"]),\n map(([key, value]) => getFilterClauseBuilder(key)(value)),\n reject(isEmptyValue),\n map(wrapInBrackets),\n join(' and ')\n);\n","import {useEffect} from 'react';\nimport {andThen, chain, pipe} from 'ramda';\nimport {\n buildReadableQueryToString,\n getKeywordFromSearchState,\n getUnresolvedLookupsListFromSearchGroups,\n resolveLookupsList,\n getGroupsFromSearchState,\n SearchState\n} from '@reltio/mdm-sdk';\nimport {\n useMdmAction,\n useMdmAttributePresentations,\n useMdmDataTenants,\n useMdmLookups,\n useMdmMetadata\n} from '../contexts';\n\nexport const useReadableSearchState = (searchState: SearchState) => {\n const lookupsListResolved = useMdmAction('lookupsListResolved');\n const metadata = useMdmMetadata();\n const dataTenants = useMdmDataTenants();\n const attributePresentations = useMdmAttributePresentations();\n const lookups = useMdmLookups();\n\n const {map} = searchState;\n const keyword = getKeywordFromSearchState(searchState);\n const groups = getGroupsFromSearchState(metadata, dataTenants, true, searchState);\n const unresolvedLookups = getUnresolvedLookupsListFromSearchGroups(groups, lookups);\n\n useEffect(() => {\n if (unresolvedLookups.length > 0) {\n pipe(\n chain(({type, codeValues}) => codeValues.map((codeValue) => ({type, codeValue}))),\n resolveLookupsList,\n andThen(lookupsListResolved)\n )(unresolvedLookups);\n }\n }, [searchState]); // eslint-disable-line\n\n return buildReadableQueryToString(metadata, attributePresentations, lookups, groups, keyword, map);\n};\n","import React from 'react';\nimport {AttributeType, SearchFilter} from '@reltio/mdm-sdk';\n\nexport type ReactGridLayoutItem = {\n i: string;\n x: number;\n y: number;\n w: number;\n h: number;\n minW?: number;\n minH?: number;\n maxW?: number;\n maxH?: number;\n static?: boolean;\n};\n\nexport type ReltioGridLayoutOptions = {\n cols: number;\n rowHeight: number;\n margin: [number, number];\n};\n\nexport type AttributeOption = {\n label: string;\n value: string;\n attrType: AttributeType;\n chipLabel: string;\n level: number;\n};\n\nexport type QueryBuilderAttributeData = {\n title: string;\n pathToTitle: Array<string>;\n fieldName: string;\n entityTypeUri: string;\n attrType: AttributeType;\n uri: string;\n groupName: string;\n filterOptions: Array<string>;\n};\n\nexport type QueryBuilderAttribute = {\n id: string;\n values: Array<unknown>;\n data: QueryBuilderAttributeData;\n filter: string;\n operator: string;\n};\n\nexport type FiltersRowData = {\n attribute: AttributeSelectorItem;\n filter: string;\n id: number;\n values: SearchFilter['values'];\n};\n\nexport type AttributeSelectorItem = {\n attrType?: AttributeType;\n entityTypeUri?: string;\n fieldName: string;\n groupName?: string;\n title: string;\n uri?: string;\n children?: AttributeSelectorItem[];\n pathToTitle?: string[];\n};\n\nexport type AttributeSelectorItemsGroup = {\n id?: string;\n title: string;\n attributes: AttributeSelectorItem[];\n};\n\nexport type AttributeSelectionInfo = {\n index: number;\n checked: boolean;\n attribute: AttributeSelectorItem;\n selectedAttributes: AttributeSelectorItem[];\n};\n\nexport type BasicAttributeSelectorProps = {\n className?: string;\n itemsGroups: AttributeSelectorItemsGroup[];\n value: AttributeSelectorItem;\n onSelect: (selectInfo: AttributeSelectionInfo) => void;\n onRestoreFocus?: () => void;\n onOpenPopup?: () => void;\n getLabel?: (value: {fieldName?: string; pathToTitle?: string[]; title: string}) => string;\n disableRestoreFocus?: boolean;\n disableEnforceFocus?: boolean;\n single?: boolean;\n ungroup?: boolean;\n disabled?: boolean;\n hideCheckBox?: boolean;\n};\nexport enum RequestStates {\n INIT = 'init',\n LOADING = 'loading',\n LOADED = 'loaded',\n ERROR = 'error'\n}\n\nexport type SelectableItem = {\n text?: string;\n disabled?: boolean;\n tooltip?: string;\n id?: string;\n onClick?: (e) => void;\n selected?: boolean;\n};\n\nexport type DropDownMenuItem = {\n text?: string;\n disabled?: boolean;\n tooltip?: string;\n id?: string;\n onClick?: (e) => void;\n selectable?: boolean;\n selected?: boolean;\n};\n\nexport type PerspectivesSettings = Record<string, PerspectiveSettingItem>;\n\nexport type PerspectiveSettingItem = {\n active?: number;\n width?: number;\n};\n\nexport type RightPanelTab = {\n content?: React.ReactElement;\n title?: React.ReactElement;\n buttonProps?: {\n id: number;\n icon: React.FC;\n tooltipTitle: string;\n showForDisabled?: boolean;\n };\n headerProps?:\n | {content: React.ReactElement}\n | {mainTitle: string; secondTitle?: string; rightContent?: React.ReactElement};\n hidden?: boolean;\n};\n\nexport type AnyAction = {\n type: string;\n [key: string]: any;\n};\n"],"names":["useStyles","makeStyles","item","overflow","memo","width","height","defaultItemSize","data","children","itemKey","showNotMeasuredItems","listRef","listRefProp","styles","rowHeightsCache","useRef","rowHeights","setRowHeights","useState","applyRowHeights","useCallback","debounce","current","getItemKeyFromData","index","localListRef","resetAfterIndex","Row","useMemo","style","key","className","undefined","visibility","handleHeight","onResize","_","cacheRowHeight","ref","itemCount","length","itemData","itemSize","getItemKey","flex","padding","paddingTop","otherProps","classnames","buildGroupedItems","pipe","groupBy","timestamp","moment","startOf","toPairs","map","day","valueOf","collapsed","flattenGroupedItems","addIndex","chain","chainIndexed","groupItem","isGroupItem","has","uri","display","alignItems","boxSizing","paddingRight","groupIcon","marginLeft","marginRight","background","border","borderRadius","flexShrink","groupTitle","fontWeight","onToggle","Typography","variant","isToday","i18n","Spacer","CollapseButton","isOpen","onClick","theme","activityTitle","fontSize","lineHeight","color","palette","text","primary","marginBottom","activityType","whiteSpace","type","getActivityLabel","link","main","textDecoration","cursor","objectLabel","secondary","relationUri","metadata","useMdmMetadata","label","getGroupLabelByTypeUri","items","objectType","getLabel","DEFAULT_VISIBLE_ITEMS_COUNT","ExpandedItemsContext","createContext","CollapsibleItemsProvider","expandedItems","setExpandedItems","Provider","value","addExpandedItems","itemId","includes","useCollapsibleItems","itemsId","limit","useContext","onExpand","isExpanded","itemsToShow","slice","collapsedItemsCount","MoreItemsLink","itemsCount","itemsLabel","props","Link","component","underline","CollapsibleActivityRecords","RecordComponent","activityUri","id","pointerEvents","objectUri","isRemoved","ActivityTypes","EntityUriLink","removed","useCommonStyles","field","marginTop","fieldName","arrow","margin","chip","textTransform","borderColor","expandLabel","andLabel","commonStyles","matches","potentialMatches","newUri","split","getFieldName","url","reduce","prev","curr","record","position","description","restoreIcon","right","top","moreLabel","itemsTotal","isMinimized","PotentialMatchRecord","delta","attributePresentations","useMdmAttributePresentations","attribute","findAttributeTypeByUri","attributeType","newValue","oldValue","deltaLabel","DeltaTypes","converter","stringifyDeltaValue","name","ArrowForward","Chip","updates","recordId","update","openHistoryEvent","useMdmAction","deltaArray","deltaCollection","isEntityChanged","path","Restore","getEntityPreviousChange","then","previousTimestamp","historyEvent","aStamp","bStamp","entityUri","catch","err","console","warn","EntityRecord","relationship","delimiter","startObjectLabel","startObjectUri","endObjectLabel","endObjectUri","RelationRecord","openSearch","searchState","searchData","parseJSON","version","activity","uiState","handleOpenSearch","always","searchString","useReadableSearchState","isRelationUri","viewBox","fill","xmlns","d","fillRule","clipRule","ActivitiesFactory","getComponent","getIcon","Profile","CalendarToday","UnMerge","Merge","Add","Remove","Search","PotentialMatch","NoMatches","Comment","Create","activityItem","minHeight","activityIcon","justifyContent","userContainer","activityInfo","activityUser","textOverflow","activityEvent","date","paddingLeft","getActivityType","activities","splitActivityByType","user","rowDivider","listRow","content","left","backgroundColor","zIndex","firstRow","lastRow","singleRow","groupedItems","setGroupedItems","toggleGroupedItem","adjust","evolve","not","useEffect","removeIgnoredItems","filter","flatItems","renderRow","isSingleRow","isFirstRow","isLastRow","Divider","light","AutoSizeList","snackbar","maxWidth","icon","exportButton","filters","exportTypes","openConsoleApp","exportPath","useMdmExportPath","tenant","useMdmTenant","showSnackbar","setShowSnackbar","handleClickExport","options","buildActivitiesFilterString","fileFormat","exportActivities","onError","error","ErrorPopup","title","message","getRequestErrorMessage","handleOpenAppClick","menuItems","toUpperCase","DropDownMenuButton","buttonComponent","SmallIconButtonWithTooltip","buttonProps","GetAppIcon","tooltipTitle","size","menuId","SmallIconButton","Portal","container","document","body","Snackbar","open","autoHideDuration","onClose","anchorOrigin","vertical","horizontal","action","Button","profileRelatedActivityTypes","groupRelatedActivityTypes","getSelectorActivityTypes","entityType","Object","keys","option","isEmpty","groupTypes","customStyles","input","currentStyles","menuPortal","labels","filterSubtitle","paddingBottom","agoLabel","minWidth","textAlign","dateOption","dateOptionAgo","dateOptionWithin","dateOptionLabel","dropDownInput","borderTop","editorFields","maxHeight","clearButton","selectorWrapper","selectorsGroup","flexDirection","selectorHint","divider","activityTypes","selectedActivityTypes","onChange","valueToOption","prepareValues","values","showHint","sortBy","MultiSelect","defaultTo","pluck","TextFieldProps","InputProps","disableUnderline","classes","root","components","DropdownIndicator","DropdownIndicatorWithIconButton","menuPlacement","menuPortalTarget","menuShouldBlockScroll","captureMenuScroll","emptyDates","emptyInterval","getInitPeriodByType","period","DateRangeTypes","datesInterval","setDatesInterval","withinInterval","setWithinInterval","agoInterval","setAgoInterval","getCurrentPeriodByType","changeType","changePeriod","useDidUpdateEffect","RadioGroup","getValue","FormControlLabel","control","Radio","DateIntervalSelector","interval","onFocus","CustomDateRangeEditor","entityTypes","selectedEntityTypes","selectedSources","sources","getOptionValue","prop","onPropChange","attributes","closestEntityTypeAncestor","findClosestCommonAncestor","attributesEntityType","getEntityType","AttributeSelector","selectedAttributes","anchorEl","onApply","onCancel","onClear","currentFilter","setCurrentFilter","handlePropChange","curry","propName","when","assoc","mergeLeft","dateRange","users","isEntityChangedActivity","Popover","paper","transformOrigin","DialogTitle","DialogContent","dividers","UserSelector","selectedUsers","DialogActions","alpha","buttonRef","initialValue","isEditorOpen","setIsEditorOpen","isApplied","equals","FilterListIcon","activeIcon","mergeRight","unless","isDateRangeValid","header","flexGrow","buttonsWrapper","useMdmUser","canExport","canUserMakeActivitiesExport","filterLabel","unit","pluralUnit","activityLabel","userLabel","entityTypesLabel","identity","attributesLabel","sourcesLabel","reject","isNil","join","formatDateValue","formatDataTypeValue","dataTypeDefinition","DataTypes","amount","getIntervalUnitLabel","startDate","endDate","getDateLabel","getFilterLabel","Tooltip","noWrap","buildActivityFilterClause","startsWith","buildAttributeFilterClause","getFilterClauseBuilder","cond","multiValueFilter","buildUserFilterClause","buildSourceFilterClause","buildEntityTypeFilterClause","buildDateRangeFilterClause","buildEntityUriFilterClause","isEmptyValue","append","wrapInBrackets","lookupsListResolved","dataTenants","useMdmDataTenants","lookups","useMdmLookups","keyword","getKeywordFromSearchState","groups","getGroupsFromSearchState","unresolvedLookups","getUnresolvedLookupsListFromSearchGroups","codeValues","codeValue","resolveLookupsList","andThen","buildReadableQueryToString","RequestStates"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"1425.js","mappings":"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","sources":["webpack://@reltio/remotes/../components/src/components/AutoSizeList/styles.ts","webpack://@reltio/remotes/../components/src/components/AutoSizeList/AutoSizeList.tsx","webpack://@reltio/remotes/../components/src/components/BasicViewContent/styles.ts","webpack://@reltio/remotes/../components/src/components/BasicViewContent/BasicViewContent.tsx","webpack://@reltio/remotes/../components/src/components/activityLog/ActivityLog/helpers.ts","webpack://@reltio/remotes/../components/src/components/activityLog/ActivityLog/items/GroupItem/styles.ts","webpack://@reltio/remotes/../components/src/components/activityLog/ActivityLog/items/GroupItem/GroupItem.tsx","webpack://@reltio/remotes/../components/src/components/activityLog/activities/ActivityTitle/styles.ts","webpack://@reltio/remotes/../components/src/components/activityLog/activities/ActivityTitle/ActivityTitle.tsx","webpack://@reltio/remotes/../components/src/components/activityLog/activities/CommentActivity.tsx","webpack://@reltio/remotes/../components/src/components/activityLog/activities/styles.ts","webpack://@reltio/remotes/../components/src/components/activityLog/activities/GroupActivity.tsx","webpack://@reltio/remotes/../components/src/components/activityLog/contexts/CollapsibleItemsContext/index.tsx","webpack://@reltio/remotes/../components/src/components/activityLog/activities/MoreItemsLink/MoreItemsLink.tsx","webpack://@reltio/remotes/../components/src/components/activityLog/activities/records/CollapsibleActivityRecords.tsx","webpack://@reltio/remotes/../components/src/components/activityLog/activities/EntityObject/styles.ts","webpack://@reltio/remotes/../components/src/components/activityLog/activities/EntityObject/EntityObject.tsx","webpack://@reltio/remotes/../components/src/components/activityLog/activities/fields/commonStyles.ts","webpack://@reltio/remotes/../components/src/components/activityLog/activities/fields/styles.ts","webpack://@reltio/remotes/../components/src/components/activityLog/activities/fields/PotentialMatchField.tsx","webpack://@reltio/remotes/../components/src/components/activityLog/activities/records/styles.ts","webpack://@reltio/remotes/../components/src/components/activityLog/activities/records/PotentialMatchRecord.tsx","webpack://@reltio/remotes/../components/src/components/activityLog/activities/MergeActivity.tsx","webpack://@reltio/remotes/../components/src/components/activityLog/activities/PotentialMatchActivity.tsx","webpack://@reltio/remotes/../components/src/components/activityLog/activities/fields/DeltaField.tsx","webpack://@reltio/remotes/../components/src/components/activityLog/activities/records/RecordUpdates.tsx","webpack://@reltio/remotes/../components/src/components/activityLog/activities/records/EntityRecord.tsx","webpack://@reltio/remotes/../components/src/components/activityLog/activities/ProfileActivity.tsx","webpack://@reltio/remotes/../components/src/components/activityLog/activities/RelationObject/styles.ts","webpack://@reltio/remotes/../components/src/components/activityLog/activities/RelationObject/RelationObject.tsx","webpack://@reltio/remotes/../components/src/components/activityLog/activities/records/RelationRecord.tsx","webpack://@reltio/remotes/../components/src/components/activityLog/activities/RelationActivity.tsx","webpack://@reltio/remotes/../components/src/components/activityLog/activities/SearchActivity.tsx","webpack://@reltio/remotes/../components/src/components/activityLog/activities/SimpleActivity.tsx","webpack://@reltio/remotes/../components/src/components/activityLog/activities/SynchronizationIssuesActivity.tsx","webpack://@reltio/remotes/../components/src/icons/Add.tsx","webpack://@reltio/remotes/../components/src/icons/Comment.tsx","webpack://@reltio/remotes/../components/src/icons/Create.tsx","webpack://@reltio/remotes/../components/src/icons/LogIn.tsx","webpack://@reltio/remotes/../components/src/icons/LogOut.tsx","webpack://@reltio/remotes/../components/src/icons/Merge.tsx","webpack://@reltio/remotes/../components/src/icons/NoMatches.tsx","webpack://@reltio/remotes/../components/src/icons/PotentialMatch.tsx","webpack://@reltio/remotes/../components/src/icons/Profile.tsx","webpack://@reltio/remotes/../components/src/icons/Remove.tsx","webpack://@reltio/remotes/../components/src/icons/Search.tsx","webpack://@reltio/remotes/../components/src/icons/UnMerge.tsx","webpack://@reltio/remotes/../components/src/components/activityLog/activities/ActivitiesFactory.tsx","webpack://@reltio/remotes/../components/src/components/activityLog/ActivityLog/items/ActivityItem/styles.ts","webpack://@reltio/remotes/../components/src/components/activityLog/ActivityLog/items/ActivityItem/ActivityItem.tsx","webpack://@reltio/remotes/../components/src/components/activityLog/ActivityLog/styles.ts","webpack://@reltio/remotes/../components/src/components/activityLog/ActivityLog/ActivityLog.tsx","webpack://@reltio/remotes/../components/src/components/activityLog/ActivityExportButton/styles.ts","webpack://@reltio/remotes/../components/src/components/activityLog/ActivityExportButton/ActivityExportButton.tsx","webpack://@reltio/remotes/../components/src/components/activityLog/ActivityFilterEditor/utils/getSelectorActivityTypes.ts","webpack://@reltio/remotes/../components/src/components/activityLog/ActivityFilterEditor/styles.ts","webpack://@reltio/remotes/../components/src/components/activityLog/ActivityFilterEditor/ActivitySelector.tsx","webpack://@reltio/remotes/../components/src/components/activityLog/ActivityFilterEditor/DateRangeSelector.tsx","webpack://@reltio/remotes/../components/src/components/activityLog/ActivityFilterEditor/EntityTypesSelector.tsx","webpack://@reltio/remotes/../components/src/components/activityLog/ActivityFilterEditor/SourceSelector.tsx","webpack://@reltio/remotes/../components/src/components/activityLog/ActivityFilterEditor/EntityChangedSelectors.tsx","webpack://@reltio/remotes/../components/src/components/activityLog/ActivityFilterEditor/ActivityFilterEditor.tsx","webpack://@reltio/remotes/../components/src/components/activityLog/ActivityFilterButton/styles.ts","webpack://@reltio/remotes/../components/src/components/activityLog/ActivityFilterButton/ActivityFilterButton.tsx","webpack://@reltio/remotes/../components/src/components/activityLog/ActivityLogFilter/styles.ts","webpack://@reltio/remotes/../components/src/components/activityLog/ActivityLogFilter/ActivityLogFilter.tsx","webpack://@reltio/remotes/../components/src/components/activityLog/ActivityLogFilter/helpers.ts","webpack://@reltio/remotes/../components/src/components/activityLog/types/DeltaTypes.ts","webpack://@reltio/remotes/../components/src/components/activityLog/utils/filters.ts","webpack://@reltio/remotes/../components/src/hooks/useReadableSearchState.ts","webpack://@reltio/remotes/../components/src/types/index.ts"],"sourcesContent":["import {makeStyles} from '@mui/styles';\n\nexport const useStyles = makeStyles({\n item: {\n overflow: 'hidden'\n }\n});\n","import React, {memo, MutableRefObject, useCallback, useMemo, useRef, useState} from 'react';\nimport {VariableSizeList as List} from 'react-window';\nimport ReactResizeDetector from 'react-resize-detector';\nimport {debounce} from '@reltio/mdm-sdk';\nimport {useStyles} from './styles';\n\ntype Props<T> = {\n width: number;\n height: number;\n data: T[];\n defaultItemSize: number;\n itemKey?: (index: number, data: T[]) => string;\n children: ({data, index}: {data: T[]; index: number}) => React.ReactNode;\n showNotMeasuredItems?: boolean;\n listRef?: MutableRefObject<List>;\n};\n\nconst AutoSizeList = <T extends unknown>({\n width = 0,\n height = 0,\n defaultItemSize,\n data,\n children,\n itemKey,\n showNotMeasuredItems,\n listRef: listRefProp\n}: Props<T>) => {\n const styles = useStyles();\n const rowHeightsCache = useRef({});\n const cacheRowHeight = (key, height) => {\n rowHeightsCache.current = {\n ...rowHeightsCache.current,\n [key]: height\n };\n };\n\n const [rowHeights, setRowHeights] = useState({});\n const applyRowHeights = useCallback(\n debounce(() => {\n setRowHeights({...rowHeightsCache.current});\n }),\n []\n );\n\n const getItemKeyFromData = useCallback((data, index) => (itemKey ? itemKey(index, data) : index), [itemKey]);\n const getItemKey = (index) => getItemKeyFromData(data, index);\n const getItemSize = (index) => rowHeights[getItemKey(index)] || defaultItemSize;\n\n const localListRef = useRef<List>();\n const listRef = listRefProp || localListRef;\n listRef.current && listRef.current.resetAfterIndex(0, false);\n\n const Row = useMemo(\n //eslint-disable-next-line\n () => ({data, index, style}) => {\n const key = getItemKeyFromData(data, index);\n return (\n <div style={style} className={styles.item}>\n <div\n style={\n !showNotMeasuredItems ? {visibility: key in rowHeights ? undefined : 'hidden'} : undefined\n }\n >\n <ReactResizeDetector\n handleHeight={true}\n onResize={(_, height) => {\n if (rowHeightsCache.current[key] !== height) {\n cacheRowHeight(key, height);\n applyRowHeights();\n }\n }}\n />\n {children({data, index})}\n </div>\n </div>\n );\n },\n //eslint-disable-next-line react-hooks/exhaustive-deps\n [children, showNotMeasuredItems, getItemKeyFromData, applyRowHeights, !showNotMeasuredItems && rowHeights]\n );\n\n return (\n <List\n ref={listRef}\n width={width}\n height={height}\n itemCount={data.length}\n itemData={data}\n itemSize={getItemSize}\n itemKey={itemKey}\n >\n {Row}\n </List>\n );\n};\n\nexport default memo(AutoSizeList);\n","import {makeStyles} from '@mui/styles';\n\nexport const useStyles = makeStyles({\n 'basic-view-content': {\n flex: '1 1 auto',\n padding: '0 24px 24px',\n '&:first-child': {\n paddingTop: '24px'\n }\n }\n});\n","import React from 'react';\nimport classnames from 'classnames';\nimport {useStyles} from './styles';\n\ntype Props = React.ComponentPropsWithoutRef<'div'>;\n\nconst BasicViewContent = ({children, className, ...otherProps}: Props) => {\n const styles = useStyles();\n return (\n <div className={classnames(styles['basic-view-content'], className)} {...otherProps}>\n {children}\n </div>\n );\n};\n\nexport default BasicViewContent;\n","import {addIndex, chain, groupBy, has, map, pipe, toPairs} from 'ramda';\nimport moment from 'moment';\nimport {ActivityData} from '../types';\n\nexport type GroupedItemData = {\n collapsed: boolean;\n timestamp: number;\n children: unknown[];\n};\n\nconst buildGroupedItem = ([day, children]): GroupedItemData => ({\n timestamp: moment(day).valueOf(),\n collapsed: false,\n children\n});\n\nconst getDay = ({timestamp}) => moment(timestamp).startOf('day');\n\nexport const buildGroupedItems = pipe(groupBy(getDay), toPairs, map(buildGroupedItem));\n\nexport type GroupItemData = {\n collapsed: boolean;\n timestamp: number;\n index: number;\n};\n\nconst chainIndexed = addIndex(chain);\nexport const flattenGroupedItems = chainIndexed(({children, collapsed, timestamp}: GroupedItemData, index: number) => {\n const groupItem: GroupItemData = {collapsed, timestamp, index};\n return collapsed ? [groupItem] : [groupItem, ...children];\n});\n\nexport const isGroupItem = has('collapsed');\n\nexport const getItemKey = (index: number, data: (ActivityData | GroupItemData)[]) => {\n const item = data[index];\n return 'uri' in item ? item.uri : `${item.index}`;\n};\n","import {makeStyles} from '@mui/styles';\n\nexport const useStyles = makeStyles({\n groupItem: {\n display: 'flex',\n height: '40px',\n alignItems: 'center',\n paddingTop: '10px',\n boxSizing: 'border-box',\n paddingRight: '16px'\n },\n groupIcon: {\n marginLeft: '-5px',\n marginRight: '22px',\n width: '10px',\n height: '10px',\n background: 'white',\n border: '2px solid #D8D8D8',\n borderRadius: '50%',\n boxSizing: 'border-box',\n flexShrink: 0\n },\n groupTitle: {\n fontWeight: 500\n }\n});\n","import React from 'react';\nimport Typography from '@mui/material/Typography';\nimport i18n from 'ui-i18n';\nimport Spacer from '../../../../Spacer/Spacer';\nimport CollapseButton from '../../../../CollapseButton/CollapseButton';\nimport {isToday} from '@reltio/mdm-sdk';\nimport {GroupItemData} from '../../helpers';\n\nimport {useStyles} from './styles';\n\ntype Props = {\n item: GroupItemData;\n onToggle: (index: number) => void;\n};\n\nconst GroupItem = ({item: {index, timestamp, collapsed}, onToggle}: Props) => {\n const styles = useStyles();\n return (\n <div className={styles.groupItem}>\n <div className={styles.groupIcon} />\n <Typography className={styles.groupTitle} variant={'subtitle1'}>\n {isToday(timestamp) ? i18n.text('Today') : i18n.date(timestamp, 'LL')}\n </Typography>\n <Spacer />\n <CollapseButton isOpen={!collapsed} onClick={() => onToggle(index)} />\n </div>\n );\n};\n\nexport default GroupItem;\n","import {makeStyles} from '@mui/styles';\n\nexport const useStyles = makeStyles((theme) => ({\n activityTitle: {\n display: 'block',\n fontWeight: 500,\n fontSize: 13,\n lineHeight: '15px',\n color: theme.palette.text.primary,\n marginBottom: 8\n },\n activityType: {\n flexShrink: 0,\n marginRight: 8,\n whiteSpace: 'nowrap'\n }\n}));\n","import React from 'react';\nimport {ActivityTypes} from '../../types';\nimport {getActivityLabel} from '../../utils/activities';\nimport {useStyles} from './styles';\n\ntype Props = {\n type: ActivityTypes;\n children?: React.ReactNode;\n};\n\nconst ActivityTitle = ({type, children}: Props) => {\n const styles = useStyles();\n return (\n <span className={styles.activityTitle}>\n <span className={styles.activityType}>{getActivityLabel(type)}</span>\n {children}\n </span>\n );\n};\nexport default ActivityTitle;\n","import React from 'react';\nimport {ActivityData, ActivityTypes} from '../types';\nimport ActivityTitle from './ActivityTitle/ActivityTitle';\n\ntype Props = {\n type: ActivityTypes;\n data: ActivityData;\n};\n\nconst CommentActivity = ({type}: Props) => {\n return <ActivityTitle type={type} />;\n};\n\nexport default CommentActivity;\n","import {makeStyles} from '@mui/styles';\n\nexport const useStyles = makeStyles((theme) => ({\n link: {\n color: theme.palette.primary.main,\n textDecoration: 'none',\n fontWeight: 400,\n cursor: 'pointer'\n },\n objectLabel: {\n color: theme.palette.text.secondary,\n lineHeight: '15px',\n fontWeight: 400\n },\n relationUri: {\n color: theme.palette.text.primary,\n fontWeight: 400\n }\n}));\n","import React from 'react';\nimport ActivityTitle from './ActivityTitle/ActivityTitle';\nimport {getGroupLabelByTypeUri, getLabel} from '@reltio/mdm-sdk';\nimport {ActivityData, ActivityTypes} from '../types';\nimport {useMdmMetadata} from '../../../contexts';\nimport {useStyles} from './styles';\n\ntype Props = {\n data: ActivityData;\n type: ActivityTypes;\n};\n\nconst GroupActivity = ({data, type}: Props) => {\n const styles = useStyles();\n const metadata = useMdmMetadata();\n const label = getGroupLabelByTypeUri(metadata, data.items?.[0]?.objectType);\n\n return (\n <ActivityTitle type={type}>\n <span className={styles.objectLabel}>{getLabel(label)}</span>\n </ActivityTitle>\n );\n};\n\nexport default GroupActivity;\n","import React, {createContext, useCallback, useContext, useState} from 'react';\n\nconst DEFAULT_VISIBLE_ITEMS_COUNT = 3;\n\ntype UseCollapsibleItemsProps<T> = {\n itemsId: string;\n items: T[];\n limit?: number;\n};\n\nconst ExpandedItemsContext = createContext(null);\n\nexport const CollapsibleItemsProvider = ({children}) => {\n const [expandedItems, setExpandedItems] = useState<string[]>([]);\n const addExpandedItems = (itemId: string) => {\n if (!expandedItems.includes(itemId)) {\n setExpandedItems((items) => [...items, itemId]);\n }\n };\n return (\n <ExpandedItemsContext.Provider value={{expandedItems, addExpandedItems}}>\n {children}\n </ExpandedItemsContext.Provider>\n );\n};\n\nexport const useCollapsibleItems = <T,>({\n itemsId,\n items = [],\n limit = DEFAULT_VISIBLE_ITEMS_COUNT\n}: UseCollapsibleItemsProps<T>) => {\n const {expandedItems, addExpandedItems} = useContext(ExpandedItemsContext);\n\n const onExpand = useCallback(() => addExpandedItems(itemsId), [itemsId]);\n const isExpanded = expandedItems.includes(itemsId);\n\n const itemsToShow = items.slice(0, isExpanded ? items.length : limit);\n\n const collapsedItemsCount = items.length - itemsToShow.length;\n\n return {onExpand, itemsToShow, collapsedItemsCount};\n};\n","import React from 'react';\nimport i18n from 'ui-i18n';\nimport Link from '@mui/material/Link';\n\ntype Props = {\n onClick: () => void;\n className?: string;\n itemsCount: number;\n itemsLabel: string;\n};\n\nexport const MoreItemsLink = ({itemsCount, itemsLabel, ...props}: Props) => {\n return (\n <Link component=\"button\" variant=\"caption\" {...props} underline=\"none\">\n <span>\n {i18n.text('${itemsCount} more', {itemsCount})} {itemsLabel}\n </span>\n </Link>\n );\n};\n","import React from 'react';\nimport i18n from 'ui-i18n';\nimport {useCollapsibleItems} from '../../contexts/CollapsibleItemsContext';\nimport {ActivityItem} from '../../types';\nimport {MoreItemsLink} from '../MoreItemsLink/MoreItemsLink';\n\ntype Props = {\n RecordComponent: React.ElementType;\n items: ActivityItem[];\n activityUri: string;\n};\n\nexport const CollapsibleActivityRecords = ({RecordComponent, items, activityUri}: Props) => {\n const {onExpand, itemsToShow, collapsedItemsCount} = useCollapsibleItems<ActivityItem>({\n itemsId: activityUri,\n items\n });\n\n return (\n <>\n {itemsToShow.map((item) => (\n <RecordComponent key={item.id} item={item} />\n ))}\n {collapsedItemsCount ? (\n <MoreItemsLink\n itemsCount={collapsedItemsCount}\n itemsLabel={collapsedItemsCount === 1 ? i18n.text('record') : i18n.text('records')}\n onClick={onExpand}\n />\n ) : null}\n </>\n );\n};\n","import {makeStyles} from '@mui/styles';\n\nexport const useStyles = makeStyles((theme) => ({\n link: {\n fontSize: 13,\n lineHeight: '15px',\n color: theme.palette.primary.main,\n textDecoration: 'none',\n fontWeight: 400,\n '&.removed': {\n pointerEvents: 'none',\n color: theme.palette.text.secondary\n }\n }\n}));\n","import {getLabel} from '@reltio/mdm-sdk';\nimport classnames from 'classnames';\nimport React from 'react';\nimport EntityUriLink from '../../../EntityUriLink/EntityUriLink';\nimport {ActivityItem, ActivityTypes} from '../../types';\nimport {useStyles} from './styles';\n\ntype Props = {\n item: ActivityItem;\n};\n\nconst EntityObject = ({item}: Props) => {\n const styles = useStyles();\n const {objectLabel, objectUri, data} = item;\n const isRemoved = data?.type === ActivityTypes.ENTITY_REMOVED;\n\n return (\n <EntityUriLink className={classnames(styles.link, {removed: isRemoved})} value={objectUri}>\n {getLabel(objectLabel)}\n </EntityUriLink>\n );\n};\n\nexport default EntityObject;\n","import {makeStyles} from '@mui/styles';\n\nexport const useCommonStyles = makeStyles((theme) => ({\n field: {\n fontSize: 12,\n lineHeight: '20px',\n color: theme.palette.text.primary,\n marginTop: 4,\n display: 'block'\n },\n fieldName: {\n color: theme.palette.text.secondary,\n marginRight: 8\n },\n link: {\n color: theme.palette.primary.main,\n textDecoration: 'none',\n fontWeight: 400\n }\n}));\n","import {makeStyles} from '@mui/styles';\n\nexport const useStyles = makeStyles((theme) => ({\n arrow: {\n margin: '0 8px',\n fontSize: 12,\n color: theme.palette.text.primary\n },\n chip: {\n height: 20,\n width: 53,\n fontSize: 10,\n fontWeight: 500,\n lineHeight: '16px',\n marginLeft: 9,\n flexShrink: 0,\n textTransform: 'capitalize',\n '& span': {\n padding: 0\n },\n '&.edited': {\n color: '#6973C2',\n borderColor: '#6973C2'\n },\n '&.added': {\n color: '#75C378',\n borderColor: '#75C378'\n },\n '&.deleted': {\n color: '#F97061',\n borderColor: '#F97061'\n }\n },\n expandLabel: {\n fontSize: 12\n },\n andLabel: {\n color: theme.palette.text.secondary\n }\n}));\n","import React from 'react';\nimport i18n from 'ui-i18n';\nimport {getLabel} from '@reltio/mdm-sdk';\nimport EntityUriLink from '../../../EntityUriLink/EntityUriLink';\nimport {ActivityItem, ActivityTypes} from '../../types';\nimport {useCollapsibleItems} from '../../contexts/CollapsibleItemsContext';\nimport {useCommonStyles} from './commonStyles';\nimport {MoreItemsLink} from '../MoreItemsLink/MoreItemsLink';\nimport {useStyles} from './styles';\n\ntype Props = {\n item: ActivityItem;\n};\n\nconst getFieldName = (type: ActivityTypes) => {\n const labels = {\n [ActivityTypes.POTENTIAL_MATCHES_FOUND]: i18n.text('Matches found'),\n [ActivityTypes.POTENTIAL_MATCHES_REMOVED]: i18n.text('Matches removed'),\n [ActivityTypes.NOT_MATCHES_SET]: i18n.text('Were set'),\n [ActivityTypes.NOT_MATCHES_RESET]: i18n.text('Were reset'),\n [ActivityTypes.ENTITIES_MERGED_MANUALLY]: i18n.text('Merged with'),\n [ActivityTypes.ENTITIES_MERGED]: i18n.text('Merged automatically with'),\n [ActivityTypes.ENTITIES_SPLITTED]: i18n.text('Un-merged with')\n };\n return labels[type] || '';\n};\n\nconst PotentialMatchField = ({item: {id, data}}: Props) => {\n const commonStyles = useCommonStyles();\n const styles = useStyles();\n const matches = data?.potentialMatches || data?.newUri;\n\n const {onExpand, collapsedItemsCount, itemsToShow} = useCollapsibleItems<string>({\n itemsId: id,\n items: matches.split(',')\n });\n\n const type = data?.type as ActivityTypes;\n\n return (\n <div className={commonStyles.field}>\n <span className={commonStyles.fieldName}>{getFieldName(type)}:</span>\n {itemsToShow\n .map<React.ReactNode>((url, index) => (\n <EntityUriLink key={index} value={url} className={commonStyles.link}>\n {getLabel(data[url])}\n </EntityUriLink>\n ))\n .reduce((prev, curr) => [prev, ', ', curr])}\n {collapsedItemsCount ? (\n <>\n <span className={styles.andLabel}> {i18n.text('and')} </span>\n <MoreItemsLink\n itemsCount={collapsedItemsCount}\n itemsLabel={collapsedItemsCount === 1 ? i18n.text('match') : i18n.text('matches')}\n onClick={onExpand}\n className={styles.expandLabel}\n />\n </>\n ) : null}\n </div>\n );\n};\n\nexport default PotentialMatchField;\n","import {makeStyles} from '@mui/styles';\n\nexport const useStyles = makeStyles((theme) => ({\n record: {\n background: 'rgba(0, 0, 0, 0.03)',\n border: '1px solid rgba(0, 0, 0, 0.03)',\n boxSizing: 'border-box',\n borderRadius: '3px',\n padding: '7px 14px',\n marginBottom: 8,\n position: 'relative',\n '&:hover $restoreIcon': {\n visibility: 'visible'\n }\n },\n label: {\n color: theme.palette.text.primary,\n fontSize: 12,\n lineHeight: '16px'\n },\n description: {\n marginRight: 8,\n flexShrink: 0\n },\n restoreIcon: {\n visibility: 'hidden',\n color: theme.palette.text.secondary,\n position: 'absolute',\n right: 4,\n top: 3,\n cursor: 'pointer'\n },\n moreLabel: {\n marginTop: 4\n }\n}));\n","import React from 'react';\nimport {ActivityItem} from '../../types';\nimport EntityObject from '../EntityObject/EntityObject';\nimport PotentialMatchField from '../fields/PotentialMatchField';\nimport {useStyles} from './styles';\n\ntype Props = {\n item: ActivityItem;\n};\n\nconst PotentialMatchRecord = ({item}: Props) => {\n const styles = useStyles();\n const {potentialMatches, newUri} = item.data;\n\n return potentialMatches || newUri ? (\n <div className={styles.record}>\n <span className={styles.label}>\n <EntityObject item={item} />\n </span>\n <PotentialMatchField item={item} />\n </div>\n ) : null;\n};\n\nexport default PotentialMatchRecord;\n","import React from 'react';\nimport {ActivityData, ActivityTypes} from '../types';\nimport ActivityTitle from './ActivityTitle/ActivityTitle';\nimport {CollapsibleActivityRecords} from './records/CollapsibleActivityRecords';\nimport EntityObject from './EntityObject/EntityObject';\nimport PotentialMatchRecord from './records/PotentialMatchRecord';\n\ntype Props = {\n data: ActivityData;\n type: ActivityTypes;\n};\n\nconst MergeActivity = ({type, data}: Props) => {\n const {itemsTotal, items, uri} = data;\n const isMinimized = itemsTotal === 1 && !(items[0].data.potentialMatches || items[0].data.newUri);\n return (\n <div>\n <ActivityTitle type={type}>{isMinimized && <EntityObject item={items[0]} />}</ActivityTitle>\n {!isMinimized && (\n <CollapsibleActivityRecords activityUri={uri} items={items} RecordComponent={PotentialMatchRecord} />\n )}\n </div>\n );\n};\n\nexport default MergeActivity;\n","import React from 'react';\nimport {ActivityData, ActivityTypes} from '../types';\nimport ActivityTitle from './ActivityTitle/ActivityTitle';\nimport {CollapsibleActivityRecords} from './records/CollapsibleActivityRecords';\nimport PotentialMatchRecord from './records/PotentialMatchRecord';\n\ntype Props = {\n data: ActivityData;\n type: ActivityTypes;\n};\n\nconst PotentialMatchActivity = ({type, data}: Props) => {\n return (\n <div>\n <ActivityTitle type={type} />\n <CollapsibleActivityRecords\n activityUri={data.uri}\n items={data.items}\n RecordComponent={PotentialMatchRecord}\n />\n </div>\n );\n};\n\nexport default PotentialMatchActivity;\n","import React from 'react';\nimport classnames from 'classnames';\nimport {ActivityDelta, DeltaTypes, DeltaValue} from '../../types';\nimport Chip from '@mui/material/Chip';\nimport ArrowForwardIcon from '@mui/icons-material/ArrowForward';\nimport {findAttributeTypeByUri} from '@reltio/mdm-sdk';\nimport {stringifyDeltaValue} from '../../utils/activities';\nimport {useMdmMetadata, useMdmAttributePresentations} from '../../../../contexts';\nimport {useCommonStyles} from './commonStyles';\nimport {useStyles} from './styles';\n\ntype Props = {\n delta: ActivityDelta;\n};\n\nconst DeltaField = ({delta}: Props) => {\n const styles = useStyles();\n const commonStyles = useCommonStyles();\n const metadata = useMdmMetadata();\n const attributePresentations = useMdmAttributePresentations();\n const attribute = findAttributeTypeByUri(metadata, delta.attributeType);\n const newValue = delta.newValue?.value;\n const oldValue = delta.oldValue?.value;\n const value = oldValue || newValue;\n const deltaLabel = DeltaTypes[delta.type];\n\n const converter = (value: DeltaValue['value']) =>\n stringifyDeltaValue(value, delta.attributeType, metadata, attributePresentations);\n\n return (\n <div className={commonStyles.field}>\n <span className={commonStyles.fieldName}>{attribute?.label || attribute?.name}:</span>\n <span>\n {value && converter(value)}\n {newValue && oldValue && (\n <>\n <ArrowForwardIcon className={styles.arrow} />\n {converter(newValue)}\n </>\n )}\n </span>\n {deltaLabel && (\n <Chip variant=\"outlined\" label={deltaLabel} className={classnames(styles.chip, deltaLabel)} />\n )}\n </div>\n );\n};\n\nexport default DeltaField;\n","import React from 'react';\nimport i18n from 'ui-i18n';\nimport {ActivityDelta} from '../../types';\nimport DeltaField from '../fields/DeltaField';\nimport {useCollapsibleItems} from '../../contexts/CollapsibleItemsContext';\nimport {useStyles} from './styles';\nimport {MoreItemsLink} from '../MoreItemsLink/MoreItemsLink';\n\ntype Props = {\n updates: ActivityDelta[];\n recordId: string;\n};\n\nconst RecordUpdates = ({updates, recordId}: Props) => {\n const styles = useStyles();\n const {onExpand, collapsedItemsCount, itemsToShow} = useCollapsibleItems<ActivityDelta>({\n itemsId: recordId,\n items: updates\n });\n\n return (\n <>\n {itemsToShow.map((update, index) => (\n <DeltaField key={index} delta={update} />\n ))}\n {collapsedItemsCount ? (\n <MoreItemsLink\n itemsCount={collapsedItemsCount}\n itemsLabel={collapsedItemsCount === 1 ? i18n.text('update') : i18n.text('updates')}\n onClick={onExpand}\n className={styles.moreLabel}\n />\n ) : null}\n </>\n );\n};\n\nexport default RecordUpdates;\n","import React from 'react';\nimport i18n from 'ui-i18n';\nimport {path} from 'ramda';\nimport {getEntityPreviousChange} from '@reltio/mdm-sdk';\nimport Typography from '@mui/material/Typography';\nimport RestoreIcon from '@mui/icons-material/Restore';\nimport {ActivityItem, ActivityTypes} from '../../types';\nimport EntityObject from '../EntityObject/EntityObject';\nimport RecordUpdates from './RecordUpdates';\nimport {useMdmAction} from '../../../../contexts';\nimport {useStyles} from './styles';\n\ntype Props = {\n item: ActivityItem;\n};\n\nconst EntityRecord = ({item}: Props) => {\n const styles = useStyles();\n const openHistoryEvent = useMdmAction('openHistoryEvent');\n const deltaArray = item.deltaCollection?.delta;\n const isEntityChanged = path(['data', 'type'])(item) === ActivityTypes.ENTITY_CHANGED;\n\n const handleOpenHistoryEvent = () => {\n getEntityPreviousChange(item.objectUri, item.timestamp)\n .then((previousTimestamp: number) => {\n if (previousTimestamp !== -1) {\n const historyEvent = {\n aStamp: item.timestamp,\n bStamp: previousTimestamp\n };\n openHistoryEvent({entityUri: item.objectUri, historyEvent});\n }\n })\n .catch((err) => console.warn(err));\n };\n\n return (\n <div className={styles.record}>\n <Typography className={styles.label}>\n {!deltaArray && <span className={styles.description}>{i18n.text('Profile changed')}</span>}\n <EntityObject item={item} />\n </Typography>\n {isEntityChanged && (\n <RestoreIcon\n data-reltio-id=\"reltio-entity-record-restore-icon\"\n className={styles.restoreIcon}\n onClick={handleOpenHistoryEvent}\n />\n )}\n <RecordUpdates updates={deltaArray} recordId={item.id} />\n </div>\n );\n};\n\nexport default EntityRecord;\n","import React from 'react';\nimport {ActivityData, ActivityTypes} from '../types';\nimport ActivityTitle from './ActivityTitle/ActivityTitle';\nimport {CollapsibleActivityRecords} from './records/CollapsibleActivityRecords';\nimport EntityObject from './EntityObject/EntityObject';\nimport EntityRecord from './records/EntityRecord';\n\ntype Props = {\n data: ActivityData;\n type: ActivityTypes;\n};\n\nconst ProfileActivity = ({type, data}: Props) => {\n const isMinimized = data.itemsTotal === 1 && !data.items[0].deltaCollection?.delta;\n return (\n <div>\n <ActivityTitle type={type}>{isMinimized && <EntityObject item={data.items[0]} />}</ActivityTitle>\n {!isMinimized && (\n <CollapsibleActivityRecords activityUri={data.uri} items={data.items} RecordComponent={EntityRecord} />\n )}\n </div>\n );\n};\n\nexport default ProfileActivity;\n","import {makeStyles} from '@mui/styles';\n\nexport const useStyles = makeStyles((theme) => ({\n relationship: {\n fontSize: 13,\n lineHeight: '15px',\n color: theme.palette.text.secondary,\n overflow: 'hidden'\n },\n link: {\n color: theme.palette.primary.main,\n textDecoration: 'none',\n fontWeight: 400\n },\n delimiter: {\n margin: '0 8px'\n }\n}));\n","import {getLabel} from '@reltio/mdm-sdk';\nimport React from 'react';\nimport i18n from 'ui-i18n';\nimport EntityUriLink from '../../../EntityUriLink/EntityUriLink';\nimport {ActivityItem} from '../../types';\nimport {useStyles} from './styles';\n\ntype Props = {\n item: ActivityItem;\n};\n\nconst RelationObject = ({item}: Props) => {\n const styles = useStyles();\n const {startObjectLabel, startObjectUri, endObjectLabel, endObjectUri} = item;\n\n return (\n <span className={styles.relationship}>\n <EntityUriLink className={styles.link} value={startObjectUri}>\n {getLabel(startObjectLabel)}\n </EntityUriLink>\n <span className={styles.delimiter}>{i18n.text('to')}</span>\n <EntityUriLink className={styles.link} value={endObjectUri}>\n {getLabel(endObjectLabel)}\n </EntityUriLink>\n </span>\n );\n};\n\nexport default RelationObject;\n","import React from 'react';\nimport i18n from 'ui-i18n';\nimport Typography from '@mui/material/Typography';\nimport RelationObject from '../RelationObject/RelationObject';\nimport {ActivityItem} from '../../types';\nimport RecordUpdates from './RecordUpdates';\nimport {useStyles} from './styles';\n\ntype Props = {\n item: ActivityItem;\n};\n\nconst RelationRecord = ({item}: Props) => {\n const styles = useStyles();\n const deltaArray = item.deltaCollection?.delta;\n\n return (\n <div className={styles.record}>\n <Typography className={styles.label}>\n {!deltaArray && <span className={styles.description}>{i18n.text('Relationship updated')}</span>}\n <RelationObject item={item} />\n </Typography>\n <RecordUpdates updates={deltaArray} recordId={item.id} />\n </div>\n );\n};\n\nexport default RelationRecord;\n","import React from 'react';\nimport {ActivityData, ActivityTypes} from '../types';\nimport ActivityTitle from './ActivityTitle/ActivityTitle';\nimport {CollapsibleActivityRecords} from './records/CollapsibleActivityRecords';\nimport RelationRecord from './records/RelationRecord';\nimport RelationObject from './RelationObject/RelationObject';\n\ntype Props = {\n data: ActivityData;\n type: ActivityTypes;\n};\n\nconst RelationActivity = ({type, data}: Props) => {\n const isMinimized = data.itemsTotal === 1 && !data.items[0].deltaCollection?.delta;\n return (\n <div>\n <ActivityTitle type={type}>{isMinimized && <RelationObject item={data.items[0]} />}</ActivityTitle>\n {!isMinimized && (\n <CollapsibleActivityRecords\n activityUri={data.uri}\n items={data.items}\n RecordComponent={RelationRecord}\n />\n )}\n </div>\n );\n};\n\nexport default RelationActivity;\n","import React, {useMemo} from 'react';\nimport {always, pipe} from 'ramda';\nimport i18n from 'ui-i18n';\nimport ActivityTitle from './ActivityTitle/ActivityTitle';\nimport {ActivityData, ActivityTypes} from '../types';\nimport {parseJSON} from '../../../core';\nimport {useReadableSearchState} from '../../../hooks';\nimport {useMdmAction} from '../../../contexts';\nimport {useStyles} from './styles';\n\ntype Props = {\n data: ActivityData;\n type: ActivityTypes;\n};\n\nconst SearchActivity = ({data, type}: Props) => {\n const styles = useStyles();\n const openSearch = useMdmAction('openSearch');\n const searchState = useMemo(() => {\n const searchData = parseJSON(data.description);\n return searchData.version === '2.0' ? searchData.activity.uiState : searchData;\n }, [data.description]);\n\n const handleOpenSearch = pipe(always(searchState), openSearch);\n const searchString = useReadableSearchState(searchState);\n\n return (\n <ActivityTitle type={type}>\n <span className={styles.link} onClick={handleOpenSearch}>\n {searchString || i18n.text('all profiles')}\n </span>\n </ActivityTitle>\n );\n};\n\nexport default SearchActivity;\n","import React from 'react';\nimport i18n from 'ui-i18n';\nimport {getLabel} from '@reltio/mdm-sdk';\nimport {parseJSON} from '../../../core';\nimport EntityUriLink from '../../EntityUriLink/EntityUriLink';\nimport {ActivityData, ActivityTypes} from '../types';\nimport ActivityTitle from './ActivityTitle/ActivityTitle';\nimport {useStyles} from './styles';\n\ntype Props = {\n type: ActivityTypes;\n data: ActivityData;\n};\n\nconst SimpleActivity = ({type, data}: Props) => {\n const styles = useStyles();\n const description = parseJSON(data.description);\n const itemsTotal = data.itemsTotal;\n\n return (\n <ActivityTitle type={type}>\n {description && (\n <EntityUriLink className={styles.link} value={description.uri}>\n {getLabel(description.label)}\n </EntityUriLink>\n )}\n {itemsTotal > 1 && (\n <span className={styles.objectLabel}>{i18n.text('(${itemsTotal} records)', {itemsTotal})}</span>\n )}\n </ActivityTitle>\n );\n};\n\nexport default SimpleActivity;\n","import React from 'react';\nimport i18n from 'ui-i18n';\nimport {isRelationUri} from '@reltio/mdm-sdk';\nimport {parseJSON} from '../../../core';\nimport {ActivityData, ActivityTypes} from '../types';\nimport ActivityTitle from './ActivityTitle/ActivityTitle';\nimport EntityObject from './EntityObject/EntityObject';\nimport {useStyles} from './styles';\n\ntype Props = {\n type: ActivityTypes;\n data: ActivityData;\n};\n\nconst SynchronizationIssuesActivity = ({type, data}: Props) => {\n const styles = useStyles();\n const description = parseJSON(data.description);\n const itemsTotal = data.itemsTotal;\n const objectUri = data.items[0].objectUri;\n return (\n <ActivityTitle type={type}>\n <>\n {isRelationUri(objectUri) ? (\n <span className={styles.relationUri}>{objectUri}</span>\n ) : (\n <EntityObject item={data.items[0]} />\n )}\n {description && <div className={styles.objectLabel}>{description.label}</div>}\n </>\n\n {itemsTotal > 1 && (\n <div className={styles.objectLabel}>{i18n.text('(${itemsTotal} records)', {itemsTotal})}</div>\n )}\n </ActivityTitle>\n );\n};\n\nexport default SynchronizationIssuesActivity;\n","import React from 'react';\n\nconst SvgAdd: React.FC<React.SVGProps<SVGSVGElement>> = (props) => {\n return (\n <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path d=\"M17.4 13.08h-4.32v4.32h-2.16v-4.32H6.6v-2.16h4.32V6.6h2.16v4.32h4.32v2.16z\" fill=\"#fff\" />\n </svg>\n );\n};\n\nexport default SvgAdd;\n","import React from 'react';\n\nconst SvgComment: React.FC<React.SVGProps<SVGSVGElement>> = (props) => {\n return (\n <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path\n d=\"M16.35 6h-8.7C6.74 6 6 6.804 6 7.793v5.788c0 .986.737 1.79 1.644 1.793V18l3.472-2.626h5.234c.91 0 1.65-.805 1.65-1.793V7.793C18 6.804 17.26 6 16.35 6zm-1.562 6.726H9.212v-.765h5.576v.765zm0-1.63H9.212v-.765h5.576v.764zm0-1.631H9.212V8.7h5.576v.764z\"\n fill=\"#fff\"\n />\n </svg>\n );\n};\n\nexport default SvgComment;\n","import React from 'react';\n\nconst SvgCreate: React.FC<React.SVGProps<SVGSVGElement>> = (props) => {\n return (\n <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M6.6 15.15v2.25h2.25l6.636-6.636-2.25-2.25L6.6 15.15zm10.626-6.126a.598.598 0 000-.846l-1.404-1.404a.598.598 0 00-.846 0l-1.098 1.098 2.25 2.25 1.098-1.098z\"\n fill=\"#fff\"\n />\n </svg>\n );\n};\n\nexport default SvgCreate;\n","import React from 'react';\n\nconst SvgLogIn: React.FC<React.SVGProps<SVGSVGElement>> = (props) => {\n return (\n <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path\n d=\"M15.6 6H9c-.662 0-1.2.539-1.2 1.2V9H9V7.2h6.6v9.6H9V15H7.8v1.8c0 .662.538 1.2 1.2 1.2h6.6c.662 0 1.2-.538 1.2-1.2V7.2c0-.661-.538-1.2-1.2-1.2z\"\n fill=\"#fff\"\n />\n <path\n d=\"M10.975 13.976l.85.848 2.823-2.83-2.824-2.819-.848.85 1.378 1.375H7.2v1.2h5.15l-1.375 1.376z\"\n fill=\"#fff\"\n />\n </svg>\n );\n};\n\nexport default SvgLogIn;\n","import React from 'react';\n\nconst SvgLogOut: React.FC<React.SVGProps<SVGSVGElement>> = (props) => {\n return (\n <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path d=\"M7.4 6H14c.662 0 1.2.539 1.2 1.2V9H14V7.2H7.4v9.6H14V15h1.2v1.8c0 .662-.538 1.2-1.2 1.2H7.4c-.662 0-1.2-.538-1.2-1.2V7.2c0-.661.538-1.2 1.2-1.2z\" />\n <path d=\"M15.127 13.976l.85.848 2.823-2.83-2.824-2.819-.849.85 1.379 1.375h-5.154v1.2H16.5l-1.374 1.376z\" />\n </svg>\n );\n};\n\nexport default SvgLogOut;\n","import React from 'react';\n\nconst SvgMerge: React.FC<React.SVGProps<SVGSVGElement>> = (props) => {\n return (\n <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M15.764 11.152V9.659l2.334 2.217-2.334 2.217v-1.444H13.12c-1.023 0-1.333.314-1.918 1.632-.797 1.796-1.514 2.52-3.3 2.52h-1.69v-1.495h1.69c1.036 0 1.35-.319 1.937-1.639.348-.784.68-1.363 1.09-1.766-.41-.403-.742-.982-1.09-1.766-.586-1.32-.901-1.64-1.938-1.64H6.213V7H7.9c1.787 0 2.504.725 3.301 2.52.585 1.318.895 1.633 1.918 1.633h2.644z\"\n fill=\"#fff\"\n />\n </svg>\n );\n};\n\nexport default SvgMerge;\n","import React from 'react';\n\nconst SvgNoMatches: React.FC<React.SVGProps<SVGSVGElement>> = (props) => {\n return (\n <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M16.8 15.6V7.2H8.4V6h8.4c.66 0 1.2.54 1.2 1.2v8.4h-1.2zM7.2 18c-.66 0-1.2-.54-1.2-1.2V9.6c0-.66.54-1.2 1.2-1.2h7.2c.66 0 1.2.54 1.2 1.2v7.2c0 .66-.54 1.2-1.2 1.2H7.2zm4.937-2.8l.663-.663-1.337-1.337 1.337-1.337-.663-.663-1.337 1.337L9.463 11.2l-.663.663 1.337 1.337L8.8 14.537l.663.663 1.337-1.337 1.337 1.337z\"\n fill=\"#fff\"\n />\n </svg>\n );\n};\n\nexport default SvgNoMatches;\n","import React from 'react';\n\nconst SvgPotentialMatch: React.FC<React.SVGProps<SVGSVGElement>> = (props) => {\n return (\n <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M16.8 7.2v8.4H18V7.2c0-.66-.54-1.2-1.2-1.2H8.4v1.2h8.4zM6 16.8c0 .66.54 1.2 1.2 1.2h7.2c.66 0 1.2-.54 1.2-1.2V9.6c0-.66-.54-1.2-1.2-1.2H7.2c-.66 0-1.2.54-1.2 1.2v7.2z\"\n fill=\"#fff\"\n />\n </svg>\n );\n};\n\nexport default SvgPotentialMatch;\n","import React from 'react';\n\nconst SvgProfile: React.FC<React.SVGProps<SVGSVGElement>> = (props) => {\n return (\n <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path\n d=\"M11.727 5c1.66 0 3 1.376 3 3.08 0 1.704-1.34 3.08-3 3.08s-3-1.376-3-3.08c0-1.704 1.34-3.08 3-3.08zM12 19c-2.5 0-4.71-1.365-6-3.435.03-2.122 4-3.285 6-3.285 1.99 0 5.97 1.163 6 3.285C16.71 17.635 14.5 19 12 19z\"\n fill=\"#fff\"\n />\n </svg>\n );\n};\n\nexport default SvgProfile;\n","import React from 'react';\n\nconst SvgRemove: React.FC<React.SVGProps<SVGSVGElement>> = (props) => {\n return (\n <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M14.125 7.583h2.042V8.75H8V7.583h2.042L10.625 7h2.917l.583.583zM9.75 17.5a1.17 1.17 0 01-1.167-1.167v-7h7v7a1.17 1.17 0 01-1.166 1.167H9.75z\"\n fill=\"#fff\"\n />\n </svg>\n );\n};\n\nexport default SvgRemove;\n","import React from 'react';\n\nconst SvgSearch: React.FC<React.SVGProps<SVGSVGElement>> = (props) => {\n return (\n <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M14.432 13.358h-.568l-.197-.196a4.627 4.627 0 001.121-3.023 4.65 4.65 0 10-4.649 4.65 4.628 4.628 0 003.022-1.12l.198.195v.567L16.933 18 18 16.934l-3.568-3.576zm-4.293 0a3.218 3.218 0 11.152-.004l-.152.004z\"\n fill=\"#fff\"\n />\n </svg>\n );\n};\n\nexport default SvgSearch;\n","import React from 'react';\n\nconst SvgUnMerge: React.FC<React.SVGProps<SVGSVGElement>> = (props) => {\n return (\n <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M20.134 7.718L17.8 5.5V7h-1.604c-1.786 0-2.503.725-3.3 2.52-.585 1.318-.895 1.633-1.918 1.633H8.301v1.495h2.677c1.023 0 1.333.314 1.918 1.632.797 1.796 1.514 2.52 3.3 2.52h1.69v-1.495h-1.69c-1.036 0-1.35-.319-1.937-1.639-.348-.784-.68-1.363-1.09-1.766.41-.403.742-.982 1.09-1.766.586-1.32.901-1.639 1.938-1.639H17.8v1.44l2.334-2.217z\"\n fill=\"#fff\"\n />\n </svg>\n );\n};\n\nexport default SvgUnMerge;\n","import React from 'react';\nimport {ActivityData, ActivityTypes} from '../types';\n\nimport CommentActivity from './CommentActivity';\nimport GroupActivity from './GroupActivity';\nimport MergeActivity from './MergeActivity';\nimport PotentialMatchActivity from './PotentialMatchActivity';\nimport ProfileActivity from './ProfileActivity';\nimport RelationActivity from './RelationActivity';\nimport SearchActivity from './SearchActivity';\nimport SimpleActivity from './SimpleActivity';\nimport SynchronizationIssuesActivity from './SynchronizationIssuesActivity';\n\nimport AddIcon from '../../../icons/Add';\nimport CalendarTodayIcon from '@mui/icons-material/CalendarToday';\nimport CommentIcon from '../../../icons/Comment';\nimport CreateIcon from '../../../icons/Create';\nimport LoginIcon from '../../../icons/LogIn';\nimport LogoutIcon from '../../../icons/LogOut';\nimport MergeIcon from '../../../icons/Merge';\nimport NoMatchesIcon from '../../../icons/NoMatches';\nimport PotentialMatchIcon from '../../../icons/PotentialMatch';\nimport ProfileIcon from '../../../icons/Profile';\nimport RemoveIcon from '../../../icons/Remove';\nimport SearchIcon from '../../../icons/Search';\nimport UnMergeIcon from '../../../icons/UnMerge';\n\ntype FactoryProps = {\n type: ActivityTypes;\n data: ActivityData;\n};\n\nclass ActivitiesFactory {\n static getComponent = ({type, data}: FactoryProps) => {\n switch (type) {\n case ActivityTypes.COMMENT_ADDED:\n case ActivityTypes.COMMENT_DELETED:\n case ActivityTypes.COMMENT_UPDATED:\n return <CommentActivity data={data} type={type} />;\n case ActivityTypes.ENTITIES_MERGED_MANUALLY:\n case ActivityTypes.ENTITIES_MERGED:\n case ActivityTypes.ENTITIES_MERGED_ON_THE_FLY:\n case ActivityTypes.ENTITIES_SPLITTED:\n case ActivityTypes.ENTITY_LOST_MERGE:\n return <MergeActivity data={data} type={type} />;\n case ActivityTypes.POTENTIAL_MATCHES_FOUND:\n case ActivityTypes.POTENTIAL_MATCHES_REMOVED:\n case ActivityTypes.NOT_MATCHES_SET:\n case ActivityTypes.NOT_MATCHES_RESET:\n return <PotentialMatchActivity data={data} type={type} />;\n case ActivityTypes.ENTITY_CHANGED:\n case ActivityTypes.ENTITY_CREATED:\n case ActivityTypes.ENTITY_REMOVED:\n case ActivityTypes.ANALYTICS_ATTRIBUTES_CHANGED:\n return <ProfileActivity data={data} type={type} />;\n case ActivityTypes.RELATIONSHIP_CHANGED:\n case ActivityTypes.RELATIONSHIP_CREATED:\n case ActivityTypes.RELATIONSHIP_REMOVED:\n return <RelationActivity data={data} type={type} />;\n case ActivityTypes.USER_SEARCH:\n return <SearchActivity data={data} type={type} />;\n case ActivityTypes.GROUP_CHANGED:\n case ActivityTypes.GROUP_CREATED:\n case ActivityTypes.GROUP_REMOVED:\n return <GroupActivity data={data} type={type} />;\n case ActivityTypes.USER_LOGIN:\n case ActivityTypes.USER_LOGOUT:\n case ActivityTypes.MODEL_UPDATED:\n case ActivityTypes.PERIODIC_TASK_SCHEDULED:\n case ActivityTypes.USER_PROFILE_VIEW:\n return <SimpleActivity data={data} type={type} />;\n case ActivityTypes.SFDC_CONNECTOR_SYNCHRONIZATION_ISSUE:\n return <SynchronizationIssuesActivity data={data} type={type} />;\n default:\n return <div>{type} NOT IMPLEMENTED</div>;\n }\n };\n static getIcon = (type: ActivityTypes) => {\n switch (type) {\n case ActivityTypes.USER_LOGIN:\n return <LoginIcon />;\n case ActivityTypes.USER_LOGOUT:\n return <LogoutIcon />;\n case ActivityTypes.USER_PROFILE_VIEW:\n return <ProfileIcon />;\n case ActivityTypes.PERIODIC_TASK_SCHEDULED:\n return <CalendarTodayIcon />;\n case ActivityTypes.ENTITIES_SPLITTED:\n return <UnMergeIcon />;\n case ActivityTypes.ENTITIES_MERGED_MANUALLY:\n case ActivityTypes.ENTITIES_MERGED:\n case ActivityTypes.ENTITIES_MERGED_ON_THE_FLY:\n case ActivityTypes.ENTITY_LOST_MERGE:\n return <MergeIcon />;\n case ActivityTypes.ENTITY_CREATED:\n case ActivityTypes.RELATIONSHIP_CREATED:\n case ActivityTypes.GROUP_CREATED:\n return <AddIcon />;\n case ActivityTypes.ENTITY_REMOVED:\n case ActivityTypes.RELATIONSHIP_REMOVED:\n case ActivityTypes.POTENTIAL_MATCHES_REMOVED:\n case ActivityTypes.GROUP_REMOVED:\n return <RemoveIcon />;\n case ActivityTypes.USER_SEARCH:\n return <SearchIcon />;\n case ActivityTypes.POTENTIAL_MATCHES_FOUND:\n return <PotentialMatchIcon />;\n case ActivityTypes.NOT_MATCHES_RESET:\n case ActivityTypes.NOT_MATCHES_SET:\n return <NoMatchesIcon />;\n case ActivityTypes.COMMENT_ADDED:\n case ActivityTypes.COMMENT_UPDATED:\n case ActivityTypes.COMMENT_DELETED:\n return <CommentIcon />;\n case ActivityTypes.ENTITY_CHANGED:\n case ActivityTypes.MODEL_UPDATED:\n case ActivityTypes.RELATIONSHIP_CHANGED:\n case ActivityTypes.GROUP_CHANGED:\n default:\n return <CreateIcon />;\n }\n };\n}\n\nexport default ActivitiesFactory;\n","import {makeStyles} from '@mui/styles';\n\nexport const useStyles = makeStyles((theme) => ({\n activityItem: {\n display: 'flex',\n minHeight: '40px',\n padding: '10px 0 5px 0',\n boxSizing: 'border-box',\n paddingRight: '16px'\n },\n activityIcon: {\n marginLeft: '-13px',\n marginRight: '15px',\n width: '24px',\n height: '24px',\n background: theme.palette.primary.main,\n borderRadius: '50%',\n border: '1px solid white',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n flexShrink: 0,\n '& svg': {\n fill: 'white',\n fontSize: '14px'\n }\n },\n userContainer: {\n display: 'flex'\n },\n activityInfo: {\n flex: 1,\n overflow: 'hidden',\n position: 'relative'\n },\n activityUser: {\n fontSize: 13,\n lineHeight: '15px',\n color: theme.palette.text.secondary,\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis'\n },\n activityEvent: {\n marginTop: '5px'\n },\n date: {\n fontSize: 12,\n lineHeight: '16px',\n color: theme.palette.text.primary,\n marginLeft: 'auto',\n flexShrink: 0,\n paddingLeft: 8\n }\n}));\n","import React from 'react';\nimport {getActivityType, splitActivityByType} from '../../../utils/activities';\nimport ActivitiesFactory from '../../../activities/ActivitiesFactory';\nimport {ActivityData} from '../../../types';\nimport {useStyles} from './styles';\nimport i18n from 'ui-i18n';\n\ntype Props = {\n item: ActivityData;\n};\n\nconst ActivityItem = ({item}: Props) => {\n const styles = useStyles();\n\n const type = getActivityType(item);\n const activities = splitActivityByType(item);\n\n return (\n <div className={styles.activityItem} data-reltio-id=\"activity-log-item\">\n <div className={styles.activityIcon}>{ActivitiesFactory.getIcon(type)}</div>\n <div className={styles.activityInfo}>\n <div className={styles.userContainer}>\n <span className={styles.activityUser}>{item.user}</span>\n <span className={styles.date}>{i18n.date(item.timestamp, 'LT')}</span>\n </div>\n {activities.map((activity: ActivityData, index: number) => (\n <div key={index} className={styles.activityEvent}>\n {ActivitiesFactory.getComponent({\n type: getActivityType(activity),\n data: activity\n })}\n </div>\n ))}\n </div>\n </div>\n );\n};\n\nexport default ActivityItem;\n","import {makeStyles} from '@mui/styles';\n\nexport const useStyles = makeStyles({\n rowDivider: {\n marginLeft: '28px'\n },\n listRow: {\n paddingLeft: '28px',\n position: 'relative',\n '&::before': {\n content: '\"\"',\n width: '2px',\n position: 'absolute',\n height: '100%',\n top: 0,\n left: '27px',\n backgroundColor: '#D8D8D8',\n zIndex: '-1'\n },\n overflow: 'hidden'\n },\n firstRow: {\n '&$listRow::before': {\n height: 'calc(100% - 20px)',\n top: '20px'\n }\n },\n lastRow: {\n '&$listRow::before': {\n height: '20px'\n }\n },\n singleRow: {\n '&$listRow::before': {\n display: 'none'\n }\n }\n});\n","import React, {useCallback, useEffect, useMemo, useState} from 'react';\nimport classnames from 'classnames';\nimport {adjust, evolve, filter, map, not, pipe} from 'ramda';\nimport {buildGroupedItems, flattenGroupedItems, getItemKey, GroupedItemData, isGroupItem} from './helpers';\nimport Divider from '@mui/material/Divider';\nimport {removeIgnoredItems} from '../utils/activities';\nimport GroupItem from './items/GroupItem/GroupItem';\nimport ActivityItem from './items/ActivityItem/ActivityItem';\nimport AutoSizeList from '../../AutoSizeList/AutoSizeList';\nimport {CollapsibleItemsProvider} from '../contexts/CollapsibleItemsContext';\n\nimport {useStyles} from './styles';\n\ntype Props = {\n width: number;\n height: number;\n activities: unknown[];\n};\n\nconst ActivityLog = ({width, height, activities}: Props) => {\n const styles = useStyles();\n\n const [groupedItems, setGroupedItems] = useState<GroupedItemData[]>([]);\n const toggleGroupedItem = (index) => {\n setGroupedItems(adjust(index, evolve({collapsed: not})));\n };\n\n useEffect(() => {\n pipe(\n map(removeIgnoredItems),\n filter(({itemsTotal}) => itemsTotal !== 0),\n buildGroupedItems,\n setGroupedItems\n )(activities);\n }, [activities]);\n const flatItems = useMemo(() => flattenGroupedItems(groupedItems), [groupedItems]);\n\n const renderRow = useCallback(({data, index}) => {\n const item = data[index];\n const isSingleRow = data.length === 1;\n const isFirstRow = index === 0;\n const isLastRow = index === data.length - 1;\n return (\n <div\n className={classnames(styles.listRow, {\n [styles.singleRow]: isSingleRow,\n [styles.firstRow]: isFirstRow,\n [styles.lastRow]: isLastRow\n })}\n >\n {isGroupItem(item) ? (\n <GroupItem item={item} onToggle={toggleGroupedItem} />\n ) : (\n <>\n <ActivityItem item={item} />\n {!isLastRow && <Divider className={styles.rowDivider} light variant=\"inset\" />}\n </>\n )}\n </div>\n );\n }, []); // eslint-disable-line\n\n return (\n <CollapsibleItemsProvider>\n <AutoSizeList width={width} height={height} data={flatItems} defaultItemSize={40} itemKey={getItemKey}>\n {renderRow}\n </AutoSizeList>\n </CollapsibleItemsProvider>\n );\n};\n\nexport default ActivityLog;\n","import {makeStyles} from '@mui/styles';\n\nexport const useStyles = makeStyles((theme) => ({\n snackbar: {\n maxWidth: 500\n },\n icon: {\n margin: '4px'\n },\n exportButton: {\n color: theme.palette.primary.main\n }\n}));\n","import React, {useMemo, useState, useCallback} from 'react';\nimport i18n from 'ui-i18n';\nimport Button from '@mui/material/Button';\nimport Portal from '@mui/material/Portal';\nimport Snackbar from '@mui/material/Snackbar';\nimport GetAppIcon from '@mui/icons-material/GetApp';\nimport {SmallIconButtonWithTooltip} from '../../SmallIconButton';\nimport ErrorPopup from '../../ErrorPopup/ErrorPopup';\nimport DropDownMenuButton from '../../DropDownMenuButton/DropDownMenuButton';\nimport {exportActivities, getRequestErrorMessage} from '@reltio/mdm-sdk';\nimport {ActivitiesFilter} from '../types';\nimport {buildActivitiesFilterString} from '../utils/filters';\nimport {useMdmAction, useMdmExportPath, useMdmTenant} from '../../../contexts';\nimport {useStyles} from './styles';\n\ntype Props = {\n filters: ActivitiesFilter;\n exportTypes?: string[];\n};\n\nconst ActivityExportButton = ({filters, exportTypes = []}: Props) => {\n const styles = useStyles();\n const openConsoleApp = useMdmAction('openConsoleApp');\n const exportPath = useMdmExportPath();\n const tenant = useMdmTenant();\n const [showSnackbar, setShowSnackbar] = useState(false);\n\n const handleClickExport = useCallback(\n (type?: string) => {\n const options = {\n filter: buildActivitiesFilterString(filters),\n fileFormat: type\n };\n exportActivities({exportPath, tenant, options})\n .then(() => setShowSnackbar(true))\n .catch(onError);\n },\n [filters, tenant, exportPath]\n );\n\n const onError = (error) => {\n console.warn(error);\n ErrorPopup.addError({\n title: i18n.text('Error'),\n message: getRequestErrorMessage(error, i18n.text(\"Can't export activities\"))\n });\n };\n\n const handleOpenAppClick = useCallback(() => {\n openConsoleApp('Export');\n }, [openConsoleApp]);\n\n const menuItems = useMemo(\n () =>\n exportTypes.map((type) => ({\n text: type.toUpperCase(),\n onClick: () => handleClickExport(type)\n })),\n [exportTypes, handleClickExport]\n );\n\n return (\n <>\n {menuItems.length ? (\n <DropDownMenuButton\n buttonComponent={SmallIconButtonWithTooltip}\n buttonProps={{\n icon: GetAppIcon,\n tooltipTitle: i18n.text('Export'),\n size: 'L',\n className: styles.icon\n }}\n menuItems={menuItems}\n menuId=\"export-menu\"\n />\n ) : (\n <SmallIconButtonWithTooltip\n icon={GetAppIcon}\n size=\"L\"\n onClick={() => handleClickExport()}\n tooltipTitle={i18n.text('Export')}\n className={styles.icon}\n />\n )}\n <Portal container={document.body}>\n <Snackbar\n open={showSnackbar}\n autoHideDuration={5000}\n className={styles.snackbar}\n onClose={() => setShowSnackbar(false)}\n anchorOrigin={{vertical: 'bottom', horizontal: 'center'}}\n message={i18n.text(\n 'Export operation is currently in progress. You will receive an email notification once completed. Go to Export Application to view the status.'\n )}\n action={\n <Button className={styles.exportButton} onClick={handleOpenAppClick}>\n {i18n.text('Export application')}\n </Button>\n }\n />\n </Portal>\n </>\n );\n};\n\nexport default ActivityExportButton;\n","import {pipe, filter, has, isEmpty, includes} from 'ramda';\nimport {Metadata, TEntityType} from '@reltio/mdm-sdk';\nimport {ActivityTypes} from '../../types';\n\nconst profileRelatedActivityTypes = [\n ActivityTypes.ENTITY_CREATED,\n ActivityTypes.ENTITY_CHANGED,\n ActivityTypes.ENTITIES_MERGED,\n ActivityTypes.ENTITIES_SPLITTED,\n ActivityTypes.ENTITY_LOST_MERGE,\n ActivityTypes.RELATIONSHIP_CREATED,\n ActivityTypes.RELATIONSHIP_REMOVED,\n ActivityTypes.RELATIONSHIP_CHANGED,\n ActivityTypes.POTENTIAL_MATCHES_FOUND,\n ActivityTypes.POTENTIAL_MATCHES_REMOVED,\n ActivityTypes.NOT_MATCHES_SET,\n ActivityTypes.NOT_MATCHES_RESET,\n ActivityTypes.ENTITIES_MERGED_MANUALLY,\n ActivityTypes.ENTITIES_MERGED_ON_THE_FLY\n];\n\nconst groupRelatedActivityTypes = [\n ActivityTypes.GROUP_CREATED,\n ActivityTypes.GROUP_REMOVED,\n ActivityTypes.GROUP_CHANGED\n];\n\nexport const getSelectorActivityTypes = (metadata: Metadata, entityType?: TEntityType) =>\n entityType\n ? profileRelatedActivityTypes\n : pipe(\n Object.keys,\n filter(\n (option: string) =>\n (has('groupTypes', metadata) && !isEmpty(metadata.groupTypes)) ||\n !includes(option, groupRelatedActivityTypes)\n )\n )(ActivityTypes);\n","import {makeStyles} from '@mui/styles';\n\nexport const customStyles = {\n input: (currentStyles) => ({...currentStyles, fontSize: '14px'}),\n menuPortal: (currentStyles) => ({...currentStyles, zIndex: 1300})\n};\n\nexport const useStyles = makeStyles({\n container: {\n width: 500,\n boxSizing: 'border-box'\n },\n labels: {\n fontSize: '14px'\n },\n filterSubtitle: {\n paddingBottom: '10px',\n paddingLeft: '5px'\n },\n agoLabel: {\n minWidth: '30px',\n textAlign: 'end',\n margin: 'auto'\n },\n dateOption: {\n display: 'flex',\n marginRight: '30px'\n },\n dateOptionAgo: {\n display: 'flex',\n marginBottom: '10px'\n },\n dateOptionWithin: {\n display: 'flex',\n marginRight: '30px',\n marginBottom: '10px'\n },\n dateOptionLabel: {\n minWidth: '100px'\n },\n dropDownInput: {\n width: '100%',\n justifyContent: 'center',\n backgroundColor: 'rgba(0, 0, 0, 0.03)',\n borderTop: '4px'\n },\n editorFields: {\n maxHeight: 400,\n borderColor: 'rgba(0,0,0,0.12)'\n },\n clearButton: {\n marginRight: 'auto'\n },\n selectorWrapper: {\n marginBottom: '12px'\n },\n option: {\n fontSize: '14px',\n height: '32px'\n },\n selectorsGroup: {\n display: 'flex',\n flexDirection: 'column'\n },\n selectorHint: {\n fontSize: 12,\n lineHeight: '16px',\n color: 'rgba(0,0,0,0.54)'\n },\n divider: {\n marginBottom: 12\n }\n});\n","import React from 'react';\nimport i18n from 'ui-i18n';\nimport {defaultTo, pipe, pluck, sortBy} from 'ramda';\nimport classnames from 'classnames';\nimport Typography from '@mui/material/Typography';\nimport {ActivityTypes} from '../types/ActivityTypes';\nimport MultiSelect from '../../ReactSelect/MultiSelect';\nimport DropdownIndicatorWithIconButton from '../../commonReactSelectComponents/DropdownIndicatorWithIconButton';\nimport {getActivityLabel} from '../utils/activities';\n\nimport {customStyles, useStyles} from './styles';\n\ntype Props = {\n activityTypes: ActivityTypes[];\n selectedActivityTypes: ActivityTypes[];\n onChange: (activities: ActivityTypes[]) => void;\n};\n\nconst ActivitySelector = ({activityTypes, selectedActivityTypes, onChange}: Props) => {\n const styles = useStyles();\n const valueToOption = (value: ActivityTypes) => ({value, label: getActivityLabel(value)});\n const prepareValues = (values: ActivityTypes[] | string[]) => values.map(valueToOption);\n const showHint = selectedActivityTypes.length > 1 && selectedActivityTypes.includes(ActivityTypes.ENTITY_CHANGED);\n\n const options = pipe(\n sortBy((option: ActivityTypes) => getActivityLabel(option)),\n prepareValues\n )(activityTypes);\n\n return (\n <div className={styles.selectorWrapper} data-reltio-id=\"activity-selector\">\n <Typography className={classnames(styles.filterSubtitle, styles.labels)} variant={'subtitle1'}>\n {i18n.text('Activity')}\n </Typography>\n <MultiSelect\n value={prepareValues(selectedActivityTypes)}\n onChange={pipe(defaultTo([]), pluck('value'), onChange)}\n options={options}\n TextFieldProps={{\n InputProps: {disableUnderline: true},\n classes: {root: styles.dropDownInput}\n }}\n components={{\n DropdownIndicator: DropdownIndicatorWithIconButton\n }}\n styles={customStyles}\n classes={styles}\n menuPlacement=\"bottom\"\n menuPortalTarget={document.body}\n menuShouldBlockScroll={true}\n captureMenuScroll={false}\n />\n {showHint && (\n <span className={styles.selectorHint}>\n {i18n.text(\n 'One at a time! Select a single Activity and any of its filters -OR- multiple Activities with no filters.'\n )}\n </span>\n )}\n </div>\n );\n};\n\nexport default ActivitySelector;\n","import React, {useState} from 'react';\nimport i18n from 'ui-i18n';\nimport {pipe} from 'ramda';\nimport classnames from 'classnames';\nimport {DateRangeFilter, DateRangeTypes} from '@reltio/mdm-sdk';\nimport FormControlLabel from '@mui/material/FormControlLabel';\nimport Radio from '@mui/material/Radio';\nimport RadioGroup from '@mui/material/RadioGroup';\nimport Typography from '@mui/material/Typography';\nimport DateIntervalSelector from '../../DateIntervalSelector/DateIntervalSelector';\nimport {getValue} from '../../../core/utils';\nimport CustomDateRangeEditor from '../../editors/CustomDateRangeEditor/CustomDateRangeEditor';\nimport {useDidUpdateEffect} from '../../../hooks';\n\nimport {useStyles} from './styles';\n\ntype Props = {\n value: DateRangeFilter;\n onChange: (range: DateRangeFilter) => void;\n};\n\nconst emptyDates: [Date, Date] = [null, null];\nconst emptyInterval: [number, string] = [null, 'minutes'];\n\nconst DateRangeSelector = ({value, onChange}: Props) => {\n const styles = useStyles();\n\n const getInitPeriodByType = (type: DateRangeTypes) => {\n if (value?.type === type) {\n return value.period;\n } else if (type === DateRangeTypes.WITHIN || type === DateRangeTypes.AGO) {\n return emptyInterval;\n } else if (type === DateRangeTypes.BETWEEN) {\n return emptyDates;\n }\n };\n\n const [datesInterval, setDatesInterval] = useState(getInitPeriodByType(DateRangeTypes.BETWEEN) as [Date, Date]);\n const [withinInterval, setWithinInterval] = useState(\n getInitPeriodByType(DateRangeTypes.WITHIN) as [number, string]\n );\n const [agoInterval, setAgoInterval] = useState(getInitPeriodByType(DateRangeTypes.AGO) as [number, string]);\n\n const getCurrentPeriodByType = (type: DateRangeTypes) => {\n if (type === DateRangeTypes.WITHIN) {\n return withinInterval;\n } else if (type === DateRangeTypes.AGO) {\n return agoInterval;\n } else if (type === DateRangeTypes.BETWEEN) {\n return datesInterval;\n }\n };\n\n const changeType = (type: DateRangeTypes) => {\n if (value?.type !== type) {\n onChange({period: getCurrentPeriodByType(type), type});\n }\n };\n const changePeriod = (period) => {\n onChange({...value, period});\n };\n\n useDidUpdateEffect(() => {\n if (value) {\n if (value.type === DateRangeTypes.WITHIN) {\n setWithinInterval(value.period as [number, string]);\n } else if (value.type === DateRangeTypes.AGO) {\n setAgoInterval(value.period as [number, string]);\n } else if (value.type === DateRangeTypes.BETWEEN) {\n setDatesInterval(value.period as [Date, Date]);\n }\n } else {\n setDatesInterval(emptyDates);\n setWithinInterval(emptyInterval);\n setAgoInterval(emptyInterval);\n }\n }, [value]);\n\n return (\n <div className={styles.selectorWrapper} data-reltio-id=\"date-range-selector\">\n <Typography className={classnames(styles.filterSubtitle, styles.labels)} variant={'subtitle1'}>\n {i18n.text('Date')}\n </Typography>\n <RadioGroup value={value?.type || null} onChange={pipe(getValue, changeType)}>\n <div className={styles.dateOptionWithin}>\n <FormControlLabel\n value={DateRangeTypes.WITHIN}\n control={<Radio color=\"primary\" />}\n label={i18n.text('Within the last')}\n classes={{label: classnames(styles.dateOptionLabel, styles.labels)}}\n />\n <DateIntervalSelector\n interval={withinInterval}\n onChange={changePeriod}\n onFocus={() => changeType(DateRangeTypes.WITHIN)}\n />\n </div>\n <div className={styles.dateOptionAgo}>\n <FormControlLabel\n value={DateRangeTypes.AGO}\n control={<Radio color=\"primary\" />}\n label={i18n.text('More than')}\n classes={{label: classnames(styles.dateOptionLabel, styles.labels)}}\n />\n <DateIntervalSelector\n interval={agoInterval}\n onChange={changePeriod}\n onFocus={() => changeType(DateRangeTypes.AGO)}\n />\n <Typography className={classnames(styles.agoLabel, styles.labels)} variant={'subtitle1'}>\n {i18n.text('Ago')}\n </Typography>\n </div>\n <div className={styles.dateOption}>\n <FormControlLabel\n value={DateRangeTypes.BETWEEN}\n control={<Radio color=\"primary\" />}\n label={i18n.text('Date range')}\n classes={{label: classnames(styles.dateOptionLabel, styles.labels)}}\n />\n <CustomDateRangeEditor\n values={datesInterval}\n onChange={changePeriod}\n onFocus={() => changeType(DateRangeTypes.BETWEEN)}\n />\n </div>\n </RadioGroup>\n </div>\n );\n};\n\nexport default DateRangeSelector;\n","import React from 'react';\nimport i18n from 'ui-i18n';\nimport {defaultTo, pipe, pluck, sortBy} from 'ramda';\nimport classnames from 'classnames';\nimport Typography from '@mui/material/Typography';\nimport MultiSelect from '../../ReactSelect/MultiSelect';\nimport DropdownIndicatorWithIconButton from '../../commonReactSelectComponents/DropdownIndicatorWithIconButton';\nimport {customStyles, useStyles} from './styles';\nimport {TEntityType} from '@reltio/mdm-sdk';\n\ntype Props = {\n entityTypes: TEntityType[];\n selectedEntityTypes: TEntityType[];\n onChange: (entityTypes: TEntityType[]) => void;\n};\n\nconst EntityTypesSelector = ({entityTypes, selectedEntityTypes, onChange}: Props) => {\n const styles = useStyles();\n const valueToOption = (entityType: TEntityType) => ({value: entityType.uri, label: entityType.label, entityType});\n const prepareValues = (values: TEntityType[]) => values.map(valueToOption);\n\n const options = pipe(\n sortBy((option: TEntityType) => option.label),\n prepareValues\n )(entityTypes);\n\n return (\n <div className={styles.selectorWrapper} data-reltio-id=\"entity-types-selector\">\n <Typography className={classnames(styles.filterSubtitle, styles.labels)} variant={'subtitle1'}>\n {i18n.text('Type')}\n </Typography>\n <MultiSelect\n value={prepareValues(selectedEntityTypes)}\n onChange={pipe(defaultTo([]), pluck('entityType'), onChange)}\n options={options}\n TextFieldProps={{\n InputProps: {disableUnderline: true},\n classes: {root: styles.dropDownInput}\n }}\n components={{\n DropdownIndicator: DropdownIndicatorWithIconButton\n }}\n styles={customStyles}\n classes={styles}\n menuPlacement=\"bottom\"\n menuPortalTarget={document.body}\n menuShouldBlockScroll={true}\n captureMenuScroll={false}\n />\n </div>\n );\n};\n\nexport default EntityTypesSelector;\n","import React from 'react';\nimport i18n from 'ui-i18n';\nimport classnames from 'classnames';\nimport {defaultTo, pipe, sortBy, prop} from 'ramda';\nimport {Source} from '@reltio/mdm-sdk';\nimport Typography from '@mui/material/Typography';\nimport MultiSelect from '../../ReactSelect/MultiSelect';\nimport DropdownIndicatorWithIconButton from '../../commonReactSelectComponents/DropdownIndicatorWithIconButton';\nimport {useMdmMetadata} from '../../../contexts';\nimport {customStyles, useStyles} from './styles';\n\ntype Props = {\n selectedSources: Source[];\n onChange?: (sources: Source[]) => void;\n};\n\nconst SourceSelector = ({selectedSources, onChange}: Props) => {\n const styles = useStyles();\n const metadata = useMdmMetadata();\n const options = sortBy((option) => option.label)(metadata.sources);\n\n return (\n <div className={styles.selectorWrapper} data-reltio-id=\"source-selector\">\n <Typography className={classnames(styles.filterSubtitle, styles.labels)} variant={'subtitle1'}>\n {i18n.text('Source')}\n </Typography>\n <MultiSelect\n value={selectedSources}\n onChange={pipe(defaultTo([]), onChange)}\n options={options}\n TextFieldProps={{\n InputProps: {disableUnderline: true},\n classes: {root: styles.dropDownInput}\n }}\n components={{\n DropdownIndicator: DropdownIndicatorWithIconButton\n }}\n styles={customStyles}\n classes={styles}\n getOptionValue={prop('abbreviation')}\n menuPlacement=\"bottom\"\n menuPortalTarget={document.body}\n menuShouldBlockScroll={true}\n captureMenuScroll={false}\n />\n </div>\n );\n};\n\nexport default SourceSelector;\n","import React from 'react';\nimport {map, prop} from 'ramda';\nimport {findClosestCommonAncestor, getEntityType, TEntityType} from '@reltio/mdm-sdk';\nimport AttributeSelector from '../../AttributeSelector/AttributeSelector';\nimport EntityTypesSelector from './EntityTypesSelector';\nimport SourceSelector from './SourceSelector';\nimport {ActivitiesFilter} from '../types';\nimport {useMdmMetadata} from '../../../contexts';\nimport {useStyles} from './styles';\n\ntype Props = {\n filter: ActivitiesFilter;\n entityType?: TEntityType;\n onPropChange: (propName: string) => (value: unknown) => void;\n};\n\nconst EntityChangedSelectors = ({filter, entityType, onPropChange}: Props) => {\n const styles = useStyles();\n const {attributes = [], sources = [], entityTypes = []} = filter || {};\n const metadata = useMdmMetadata();\n const closestEntityTypeAncestor = findClosestCommonAncestor(metadata, map(prop('uri'), entityTypes));\n const attributesEntityType = entityType || getEntityType(metadata, closestEntityTypeAncestor);\n\n return (\n <div className={styles.selectorsGroup}>\n {!entityType && (\n <EntityTypesSelector\n entityTypes={metadata.entityTypes}\n selectedEntityTypes={entityTypes}\n onChange={onPropChange('entityTypes')}\n />\n )}\n <AttributeSelector\n selectedAttributes={attributes}\n entityType={attributesEntityType}\n onChange={onPropChange('attributes')}\n className={styles.selectorWrapper}\n disableUnderline\n />\n <SourceSelector selectedSources={sources} onChange={onPropChange('sources')} />\n </div>\n );\n};\n\nexport default EntityChangedSelectors;\n","import React, {useState} from 'react';\nimport {curry, pipe, assoc, when, mergeLeft, always} from 'ramda';\nimport i18n from 'ui-i18n';\nimport {TEntityType} from '@reltio/mdm-sdk';\nimport Button from '@mui/material/Button';\nimport Popover from '@mui/material/Popover';\nimport Divider from '@mui/material/Divider';\nimport DialogActions from '@mui/material/DialogActions';\nimport DialogContent from '@mui/material/DialogContent';\nimport DialogTitle from '@mui/material/DialogTitle';\nimport {ActivitiesFilter, ActivityTypes} from '../types';\nimport {getSelectorActivityTypes} from './utils/getSelectorActivityTypes';\nimport ActivitySelector from './ActivitySelector';\nimport UserSelector from '../../UserSelector/UserSelector';\nimport DateRangeSelector from './DateRangeSelector';\nimport EntityChangedSelectors from './EntityChangedSelectors';\nimport {useDidUpdateEffect} from '../../../hooks';\nimport {useMdmMetadata} from '../../../contexts';\nimport {useStyles} from './styles';\n\ntype Props = {\n value: ActivitiesFilter;\n open: boolean;\n entityType?: TEntityType;\n anchorEl?: HTMLElement;\n onApply: (value: ActivitiesFilter) => void;\n onCancel: () => void;\n onClear: () => void;\n};\n\nconst ActivityFilterEditor = ({value, open, entityType, anchorEl, onApply, onCancel, onClear}: Props) => {\n const styles = useStyles();\n const [currentFilter, setCurrentFilter] = useState<ActivitiesFilter>(value);\n const metadata = useMdmMetadata();\n const clearCurrentFilter = () => setCurrentFilter(null);\n const handlePropChange = curry((propName: string, value: unknown) => {\n setCurrentFilter(\n pipe(\n when(always(propName === 'entityTypes'), assoc('attributes', [])),\n when(always(propName === 'activities'), mergeLeft({attributes: [], entityTypes: [], sources: []})),\n assoc(propName, value)\n )\n );\n });\n\n useDidUpdateEffect(() => {\n setCurrentFilter(value);\n }, [open, value]);\n\n const {activities = [], dateRange = null, users = []} = currentFilter || {};\n const isEntityChangedActivity = activities.length === 1 && activities.includes(ActivityTypes.ENTITY_CHANGED);\n\n return (\n <Popover\n open={open}\n anchorEl={anchorEl}\n onClose={onCancel}\n classes={{paper: styles.container}}\n anchorOrigin={{vertical: 'bottom', horizontal: 'right'}}\n transformOrigin={{vertical: 'top', horizontal: 'right'}}\n >\n <DialogTitle>{i18n.text('Filter')}</DialogTitle>\n <DialogContent dividers className={styles.editorFields}>\n <ActivitySelector\n activityTypes={getSelectorActivityTypes(metadata, entityType)}\n selectedActivityTypes={activities}\n onChange={handlePropChange('activities')}\n />\n {isEntityChangedActivity && (\n <EntityChangedSelectors\n filter={currentFilter}\n entityType={entityType}\n onPropChange={handlePropChange}\n />\n )}\n <Divider light className={styles.divider} />\n <DateRangeSelector value={dateRange} onChange={handlePropChange('dateRange')} />\n <Divider light className={styles.divider} />\n <UserSelector selectedUsers={users} onChange={handlePropChange('users')} disableUnderline />\n </DialogContent>\n <DialogActions>\n <Button onClick={pipe(clearCurrentFilter, onClear)} className={styles.clearButton}>\n {i18n.text('Clear all')}\n </Button>\n <Button onClick={onCancel}>{i18n.text('Cancel')}</Button>\n <Button color=\"primary\" onClick={() => onApply(currentFilter)}>\n {i18n.text('Apply')}\n </Button>\n </DialogActions>\n </Popover>\n );\n};\n\nexport default ActivityFilterEditor;\n","import {alpha} from '@mui/material/styles';\n\nimport {makeStyles} from '@mui/styles';\n\nexport const useStyles = makeStyles((theme) => ({\n icon: {\n margin: '4px',\n '&.activeIcon': {\n backgroundColor: alpha(theme.palette.primary.main, 0.12),\n color: theme.palette.primary.main\n }\n }\n}));\n","import React, {useState, useRef} from 'react';\nimport classnames from 'classnames';\nimport i18n from 'ui-i18n';\nimport {always, equals, evolve, pipe, mergeRight, unless} from 'ramda';\nimport {isDateRangeValid, TEntityType} from '@reltio/mdm-sdk';\nimport FilterListIcon from '@mui/icons-material/FilterList';\nimport ActivityFilterEditor from '../ActivityFilterEditor/ActivityFilterEditor';\nimport {SmallIconButtonWithTooltip} from '../../SmallIconButton';\nimport {ActivitiesFilter} from '../types';\n\nimport {useStyles} from './styles';\n\ntype Props = {\n filter: ActivitiesFilter;\n entityType: TEntityType;\n onChange: (value: ActivitiesFilter) => void;\n};\n\nconst ActivityFilterButton = ({filter, entityType, onChange}: Props) => {\n const styles = useStyles();\n const buttonRef = useRef<HTMLButtonElement>();\n const initialValue = useRef<ActivitiesFilter>(filter);\n const [isEditorOpen, setIsEditorOpen] = useState(false);\n const isApplied = !equals(filter, initialValue.current);\n\n const handleChange = (value: ActivitiesFilter) => {\n const newValue = pipe(\n mergeRight(initialValue.current),\n evolve({\n dateRange: unless(isDateRangeValid, always(initialValue.current.dateRange))\n })\n )(value);\n onChange(newValue);\n setIsEditorOpen(false);\n };\n\n return (\n <>\n <SmallIconButtonWithTooltip\n ref={buttonRef}\n icon={FilterListIcon}\n size=\"L\"\n onClick={() => setIsEditorOpen(true)}\n tooltipTitle={i18n.text('Filter')}\n className={classnames(styles.icon, {activeIcon: isApplied})}\n />\n <ActivityFilterEditor\n value={filter}\n open={isEditorOpen}\n entityType={entityType}\n anchorEl={buttonRef.current}\n onApply={handleChange}\n onCancel={() => setIsEditorOpen(false)}\n onClear={() => onChange({...initialValue.current})}\n />\n </>\n );\n};\n\nexport default ActivityFilterButton;\n","import {makeStyles} from '@mui/styles';\n\nexport const useStyles = makeStyles({\n header: {\n display: 'flex',\n alignItems: 'center',\n overflow: 'hidden',\n flexGrow: 1\n },\n label: {\n marginRight: '4px',\n fontSize: '14px'\n },\n buttonsWrapper: {\n marginLeft: 'auto',\n display: 'flex'\n }\n});\n","import React from 'react';\nimport i18n from 'ui-i18n';\nimport {TEntityType, canUserMakeActivitiesExport} from '@reltio/mdm-sdk';\nimport Tooltip from '@mui/material/Tooltip';\nimport Typography from '@mui/material/Typography';\nimport {ActivitiesFilter} from '../types';\nimport ActivityExportButton from '../ActivityExportButton/ActivityExportButton';\nimport ActivityFilterButton from '../ActivityFilterButton/ActivityFilterButton';\nimport {getFilterLabel} from './helpers';\nimport {useMdmTenant, useMdmUser} from '../../../contexts';\nimport {useStyles} from './styles';\n\ntype Props = {\n value: ActivitiesFilter;\n onChange: (value: ActivitiesFilter) => void;\n entityType?: TEntityType;\n entityUri?: string;\n exportTypes?: string[];\n};\n\nconst ActivityLogFilter = ({value, entityType, entityUri, onChange, exportTypes}: Props) => {\n const styles = useStyles();\n const user = useMdmUser();\n const tenant = useMdmTenant();\n const canExport = canUserMakeActivitiesExport(user, tenant);\n const filterLabel = getFilterLabel(value);\n\n return (\n <div className={styles.header}>\n <Typography variant=\"body2\" className={styles.label}>\n {i18n.text('Filter:')}\n </Typography>\n <Tooltip title={filterLabel}>\n <Typography variant=\"body2\" className={styles.label} color=\"textSecondary\" display=\"block\" noWrap>\n {filterLabel}\n </Typography>\n </Tooltip>\n <div className={styles.buttonsWrapper}>\n {canExport && <ActivityExportButton filters={{...value, entityUri}} exportTypes={exportTypes} />}\n <ActivityFilterButton filter={value} entityType={entityType} onChange={onChange} />\n </div>\n </div>\n );\n};\n\nexport default ActivityLogFilter;\n","import i18n from 'ui-i18n';\nimport {curry, join, identity, isNil, map, pipe, reject, sortBy, defaultTo, pluck} from 'ramda';\nimport {DataTypes, formatDataTypeValue, DateRangeFilter, DateRangeTypes, getIntervalUnitLabel} from '@reltio/mdm-sdk';\nimport {ActivitiesFilter} from '../types';\nimport {getActivityLabel} from '../utils/activities';\n\nexport const getFilterLabel = (filters: ActivitiesFilter) => {\n const getLabel = curry((unit: string, pluralUnit: string, values: string[]) =>\n values.length <= 1\n ? values[0]\n : `${values[0]} + ${values.length - 1} ${values.length === 2 ? unit : pluralUnit}`\n );\n\n const activityLabel = pipe(\n map(getActivityLabel),\n getLabel(i18n.text('activity'), i18n.text('activities'))\n )(filters.activities);\n\n const userLabel = getLabel(i18n.text('user'), i18n.text('users'), filters.users);\n\n const entityTypesLabel = pipe(\n defaultTo([]),\n pluck('label'),\n sortBy(identity),\n getLabel(i18n.text('type'), i18n.text('types'))\n )(filters.entityTypes);\n\n const attributesLabel = pipe(\n defaultTo([]),\n pluck('label'),\n sortBy(identity),\n getLabel(i18n.text('attribute'), i18n.text('attributes'))\n )(filters.attributes);\n\n const sourcesLabel = pipe(\n defaultTo([]),\n pluck('label'),\n getLabel(i18n.text('source'), i18n.text('sources'))\n )(filters.sources);\n\n const getDateLabel = (date: DateRangeFilter) => {\n const formatDateValue = (value: Date) =>\n `${formatDataTypeValue({dataTypeDefinition: {type: DataTypes.TYPE_ACTIVENESS_DATE}}, value)}`;\n switch (date.type) {\n case DateRangeTypes.WITHIN:\n return i18n.text('Within ${amount} ${unit}', {\n amount: date.period[0],\n unit: getIntervalUnitLabel(date.period[1] as string)\n });\n case DateRangeTypes.AGO:\n return i18n.text('More than ${amount} ${unit} ago', {\n amount: date.period[0],\n unit: getIntervalUnitLabel(date.period[1] as string)\n });\n case DateRangeTypes.BETWEEN:\n return i18n.text('${startDate} to ${endDate}', {\n startDate: formatDateValue(date.period[0] as Date),\n endDate: formatDateValue(date.period[1] as Date)\n });\n default:\n return null;\n }\n };\n\n return pipe(\n reject(isNil),\n join(' | ')\n )([activityLabel, entityTypesLabel, attributesLabel, sourcesLabel, getDateLabel(filters.dateRange), userLabel]);\n};\n","export enum DeltaTypes {\n ATTRIBUTE_CHANGED = 'edited',\n ATTRIBUTE_ADDED = 'added',\n ATTRIBUTE_REMOVED = 'deleted'\n}\n","import {append, cond, defaultTo, equals, identity, join, map, pipe, reject, toPairs} from 'ramda';\nimport {AttributeOption} from '../../../types';\nimport {ActivityTypes} from '../types';\nimport {\n isEmptyValue,\n wrapInBrackets,\n multiValueFilter,\n buildUserFilterClause,\n buildSourceFilterClause,\n buildEntityTypeFilterClause,\n buildDateRangeFilterClause,\n buildEntityUriFilterClause\n} from '@reltio/mdm-sdk';\n\nconst buildActivityFilterClause = (activityType: ActivityTypes) => {\n if (activityType.startsWith('USER_') || activityType.startsWith('COMMENT_') || activityType.startsWith('SFDC_')) {\n return `startsWith(label, '${activityType}')`;\n } else {\n return `equals(items.data.type, ${activityType})`;\n }\n};\n\nconst buildAttributeFilterClause = (attribute: AttributeOption) => {\n return `equals(items.delta.attributeType, '${attribute.value}')`;\n};\n\nconst getFilterClauseBuilder = cond([\n [equals('users'), () => multiValueFilter(buildUserFilterClause)],\n [equals('activities'), () => multiValueFilter(buildActivityFilterClause)],\n [equals('sources'), () => multiValueFilter(buildSourceFilterClause)],\n [equals('attributes'), () => multiValueFilter(buildAttributeFilterClause)],\n [equals('entityTypes'), () => multiValueFilter(buildEntityTypeFilterClause)],\n [equals('dateRange'), () => buildDateRangeFilterClause],\n [equals('entityUri'), () => buildEntityUriFilterClause],\n [equals('rawFilter'), () => identity]\n]);\n\nexport const buildActivitiesFilterString = pipe(\n defaultTo({}),\n reject(isEmptyValue),\n toPairs,\n append(['rawFilter', \"not equals(user, 'collaboration-service')\"]),\n map(([key, value]) => getFilterClauseBuilder(key)(value)),\n reject(isEmptyValue),\n map(wrapInBrackets),\n join(' and ')\n);\n","import {useEffect} from 'react';\nimport {andThen, chain, pipe} from 'ramda';\nimport {\n buildReadableQueryToString,\n getKeywordFromSearchState,\n getUnresolvedLookupsListFromSearchGroups,\n resolveLookupsList,\n getGroupsFromSearchState,\n SearchState\n} from '@reltio/mdm-sdk';\nimport {\n useMdmAction,\n useMdmAttributePresentations,\n useMdmDataTenants,\n useMdmLookups,\n useMdmMetadata\n} from '../contexts';\n\nexport const useReadableSearchState = (searchState: SearchState) => {\n const lookupsListResolved = useMdmAction('lookupsListResolved');\n const metadata = useMdmMetadata();\n const dataTenants = useMdmDataTenants();\n const attributePresentations = useMdmAttributePresentations();\n const lookups = useMdmLookups();\n\n const {map} = searchState;\n const keyword = getKeywordFromSearchState(searchState);\n const groups = getGroupsFromSearchState(metadata, dataTenants, true, searchState);\n const unresolvedLookups = getUnresolvedLookupsListFromSearchGroups(groups, lookups);\n\n useEffect(() => {\n if (unresolvedLookups.length > 0) {\n pipe(\n chain(({type, codeValues}) => codeValues.map((codeValue) => ({type, codeValue}))),\n resolveLookupsList,\n andThen(lookupsListResolved)\n )(unresolvedLookups);\n }\n }, [searchState]); // eslint-disable-line\n\n return buildReadableQueryToString(metadata, attributePresentations, lookups, groups, keyword, map);\n};\n","import React from 'react';\nimport {AttributeType, SearchFilter} from '@reltio/mdm-sdk';\n\nexport type ReactGridLayoutItem = {\n i: string;\n x: number;\n y: number;\n w: number;\n h: number;\n minW?: number;\n minH?: number;\n maxW?: number;\n maxH?: number;\n static?: boolean;\n};\n\nexport type ReltioGridLayoutOptions = {\n cols: number;\n rowHeight: number;\n margin: [number, number];\n};\n\nexport type AttributeOption = {\n label: string;\n value: string;\n attrType: AttributeType;\n chipLabel: string;\n level: number;\n};\n\nexport type QueryBuilderAttributeData = {\n title: string;\n pathToTitle: Array<string>;\n fieldName: string;\n entityTypeUri: string;\n attrType: AttributeType;\n uri: string;\n groupName: string;\n filterOptions: Array<string>;\n};\n\nexport type QueryBuilderAttribute = {\n id: string;\n values: Array<unknown>;\n data: QueryBuilderAttributeData;\n filter: string;\n operator: string;\n};\n\nexport type FiltersRowData = {\n attribute: AttributeSelectorItem;\n filter: string;\n id: number;\n values: SearchFilter['values'];\n};\n\nexport type AttributeSelectorItem = {\n attrType?: AttributeType;\n entityTypeUri?: string;\n fieldName: string;\n groupName?: string;\n title: string;\n uri?: string;\n children?: AttributeSelectorItem[];\n pathToTitle?: string[];\n};\n\nexport type AttributeSelectorItemsGroup = {\n id?: string;\n title: string;\n attributes: AttributeSelectorItem[];\n};\n\nexport type AttributeSelectionInfo = {\n index: number;\n checked: boolean;\n attribute: AttributeSelectorItem;\n selectedAttributes: AttributeSelectorItem[];\n};\n\nexport type BasicAttributeSelectorProps = {\n className?: string;\n itemsGroups: AttributeSelectorItemsGroup[];\n value: AttributeSelectorItem;\n onSelect: (selectInfo: AttributeSelectionInfo) => void;\n onRestoreFocus?: () => void;\n onOpenPopup?: () => void;\n getLabel?: (value: {fieldName?: string; pathToTitle?: string[]; title: string}) => string;\n disableRestoreFocus?: boolean;\n disableEnforceFocus?: boolean;\n single?: boolean;\n ungroup?: boolean;\n disabled?: boolean;\n hideCheckBox?: boolean;\n};\nexport enum RequestStates {\n INIT = 'init',\n LOADING = 'loading',\n LOADED = 'loaded',\n ERROR = 'error'\n}\n\nexport type SelectableItem = {\n text?: string;\n disabled?: boolean;\n tooltip?: string;\n id?: string;\n onClick?: (e) => void;\n selected?: boolean;\n};\n\nexport type DropDownMenuItem = {\n text?: string;\n disabled?: boolean;\n tooltip?: string;\n id?: string;\n onClick?: (e) => void;\n selectable?: boolean;\n selected?: boolean;\n};\n\nexport type PerspectivesSettings = Record<string, PerspectiveSettingItem>;\n\nexport type PerspectiveSettingItem = {\n active?: number;\n width?: number;\n};\n\nexport type RightPanelTab = {\n content?: React.ReactElement;\n title?: React.ReactElement;\n buttonProps?: {\n id: number;\n icon: React.FC;\n tooltipTitle: string;\n showForDisabled?: boolean;\n };\n headerProps?:\n | {content: React.ReactElement}\n | {mainTitle: string; secondTitle?: string; rightContent?: React.ReactElement};\n hidden?: boolean;\n};\n\nexport type AnyAction = {\n type: string;\n [key: string]: any;\n};\n"],"names":["useStyles","makeStyles","item","overflow","memo","width","height","defaultItemSize","data","children","itemKey","showNotMeasuredItems","listRef","listRefProp","styles","rowHeightsCache","useRef","rowHeights","setRowHeights","useState","applyRowHeights","useCallback","debounce","current","getItemKeyFromData","index","localListRef","resetAfterIndex","Row","useMemo","style","key","className","undefined","visibility","handleHeight","onResize","_","cacheRowHeight","ref","itemCount","length","itemData","itemSize","getItemKey","flex","padding","paddingTop","otherProps","classnames","buildGroupedItems","pipe","groupBy","timestamp","moment","startOf","toPairs","map","day","valueOf","collapsed","flattenGroupedItems","addIndex","chain","chainIndexed","groupItem","isGroupItem","has","uri","display","alignItems","boxSizing","paddingRight","groupIcon","marginLeft","marginRight","background","border","borderRadius","flexShrink","groupTitle","fontWeight","onToggle","Typography","variant","isToday","i18n","Spacer","CollapseButton","isOpen","onClick","theme","activityTitle","fontSize","lineHeight","color","palette","text","primary","marginBottom","activityType","whiteSpace","type","getActivityLabel","link","main","textDecoration","cursor","objectLabel","secondary","relationUri","metadata","useMdmMetadata","label","getGroupLabelByTypeUri","items","objectType","getLabel","DEFAULT_VISIBLE_ITEMS_COUNT","ExpandedItemsContext","createContext","CollapsibleItemsProvider","expandedItems","setExpandedItems","Provider","value","addExpandedItems","itemId","includes","useCollapsibleItems","itemsId","limit","useContext","onExpand","isExpanded","itemsToShow","slice","collapsedItemsCount","MoreItemsLink","itemsCount","itemsLabel","props","Link","component","underline","CollapsibleActivityRecords","RecordComponent","activityUri","id","pointerEvents","objectUri","isRemoved","ActivityTypes","EntityUriLink","removed","useCommonStyles","field","marginTop","fieldName","arrow","margin","chip","textTransform","borderColor","expandLabel","andLabel","commonStyles","matches","potentialMatches","newUri","split","getFieldName","url","reduce","prev","curr","record","position","description","restoreIcon","right","top","moreLabel","itemsTotal","isMinimized","PotentialMatchRecord","delta","attributePresentations","useMdmAttributePresentations","attribute","findAttributeTypeByUri","attributeType","newValue","oldValue","deltaLabel","DeltaTypes","converter","stringifyDeltaValue","name","ArrowForward","Chip","updates","recordId","update","openHistoryEvent","useMdmAction","deltaArray","deltaCollection","isEntityChanged","path","Restore","getEntityPreviousChange","then","previousTimestamp","historyEvent","aStamp","bStamp","entityUri","catch","err","console","warn","EntityRecord","relationship","delimiter","startObjectLabel","startObjectUri","endObjectLabel","endObjectUri","RelationRecord","openSearch","searchState","searchData","parseJSON","version","activity","uiState","handleOpenSearch","always","searchString","useReadableSearchState","isRelationUri","viewBox","fill","xmlns","d","fillRule","clipRule","ActivitiesFactory","getComponent","getIcon","Profile","CalendarToday","UnMerge","Merge","Add","Remove","Search","PotentialMatch","NoMatches","Comment","Create","activityItem","minHeight","activityIcon","justifyContent","userContainer","activityInfo","activityUser","textOverflow","activityEvent","date","paddingLeft","getActivityType","activities","splitActivityByType","user","rowDivider","listRow","content","left","backgroundColor","zIndex","firstRow","lastRow","singleRow","groupedItems","setGroupedItems","toggleGroupedItem","adjust","evolve","not","useEffect","removeIgnoredItems","filter","flatItems","renderRow","isSingleRow","isFirstRow","isLastRow","Divider","light","AutoSizeList","snackbar","maxWidth","icon","exportButton","filters","exportTypes","openConsoleApp","exportPath","useMdmExportPath","tenant","useMdmTenant","showSnackbar","setShowSnackbar","handleClickExport","options","buildActivitiesFilterString","fileFormat","exportActivities","onError","error","ErrorPopup","title","message","getRequestErrorMessage","handleOpenAppClick","menuItems","toUpperCase","DropDownMenuButton","buttonComponent","SmallIconButtonWithTooltip","buttonProps","GetAppIcon","tooltipTitle","size","menuId","SmallIconButton","Portal","container","document","body","Snackbar","open","autoHideDuration","onClose","anchorOrigin","vertical","horizontal","action","Button","profileRelatedActivityTypes","groupRelatedActivityTypes","getSelectorActivityTypes","entityType","Object","keys","option","isEmpty","groupTypes","customStyles","input","currentStyles","menuPortal","labels","filterSubtitle","paddingBottom","agoLabel","minWidth","textAlign","dateOption","dateOptionAgo","dateOptionWithin","dateOptionLabel","dropDownInput","borderTop","editorFields","maxHeight","clearButton","selectorWrapper","selectorsGroup","flexDirection","selectorHint","divider","activityTypes","selectedActivityTypes","onChange","valueToOption","prepareValues","values","showHint","sortBy","MultiSelect","defaultTo","pluck","TextFieldProps","InputProps","disableUnderline","classes","root","components","DropdownIndicator","DropdownIndicatorWithIconButton","menuPlacement","menuPortalTarget","menuShouldBlockScroll","captureMenuScroll","emptyDates","emptyInterval","getInitPeriodByType","period","DateRangeTypes","datesInterval","setDatesInterval","withinInterval","setWithinInterval","agoInterval","setAgoInterval","getCurrentPeriodByType","changeType","changePeriod","useDidUpdateEffect","RadioGroup","getValue","FormControlLabel","control","Radio","DateIntervalSelector","interval","onFocus","CustomDateRangeEditor","entityTypes","selectedEntityTypes","selectedSources","sources","getOptionValue","prop","onPropChange","attributes","closestEntityTypeAncestor","findClosestCommonAncestor","attributesEntityType","getEntityType","AttributeSelector","selectedAttributes","anchorEl","onApply","onCancel","onClear","currentFilter","setCurrentFilter","handlePropChange","curry","propName","when","assoc","mergeLeft","dateRange","users","isEntityChangedActivity","Popover","paper","transformOrigin","DialogTitle","DialogContent","dividers","UserSelector","selectedUsers","DialogActions","alpha","buttonRef","initialValue","isEditorOpen","setIsEditorOpen","isApplied","equals","FilterListIcon","activeIcon","mergeRight","unless","isDateRangeValid","header","flexGrow","buttonsWrapper","useMdmUser","canExport","canUserMakeActivitiesExport","filterLabel","unit","pluralUnit","activityLabel","userLabel","entityTypesLabel","identity","attributesLabel","sourcesLabel","reject","isNil","join","formatDateValue","formatDataTypeValue","dataTypeDefinition","DataTypes","amount","getIntervalUnitLabel","startDate","endDate","getDateLabel","getFilterLabel","Tooltip","noWrap","buildActivityFilterClause","startsWith","buildAttributeFilterClause","getFilterClauseBuilder","cond","multiValueFilter","buildUserFilterClause","buildSourceFilterClause","buildEntityTypeFilterClause","buildDateRangeFilterClause","buildEntityUriFilterClause","isEmptyValue","append","wrapInBrackets","lookupsListResolved","dataTenants","useMdmDataTenants","lookups","useMdmLookups","keyword","getKeywordFromSearchState","groups","getGroupsFromSearchState","unresolvedLookups","getUnresolvedLookupsListFromSearchGroups","codeValues","codeValue","resolveLookupsList","andThen","buildReadableQueryToString","RequestStates"],"sourceRoot":""}
|