@reltio/remotes 1.4.1407 → 1.4.1409
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/1219.js +1 -1
- package/1219.js.map +1 -1
- package/3273.js +1 -1
- package/3273.js.map +1 -1
- package/{1689.css → 4407.css} +2 -2
- package/4407.css.map +1 -0
- package/4407.js +2 -0
- package/4407.js.map +1 -0
- package/447.js +1 -1
- package/447.js.map +1 -1
- package/4843.js +1 -1
- package/6413.js +1 -1
- package/6413.js.map +1 -1
- package/6495.js +1 -1
- package/6495.js.map +1 -1
- package/6913.js +1 -1
- package/6913.js.map +1 -1
- package/9043.js +1 -1
- package/9043.js.map +1 -1
- package/package.json +1 -1
- package/remoteEntry.js +1 -1
- package/remoteEntry.js.map +1 -1
- package/1689.css.map +0 -1
- package/1689.js +0 -2
- package/1689.js.map +0 -1
package/1219.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"1219.js","mappings":"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","sources":["webpack://@reltio/remotes/../components/src/icons/ReferenceAttribute.tsx","webpack://@reltio/remotes/../components/src/icons/SimpleAttribute.tsx","webpack://@reltio/remotes/../components/src/components/AttributeListItem/styles.ts","webpack://@reltio/remotes/../components/src/components/AttributeListItem/AttrTypeIcon.tsx","webpack://@reltio/remotes/../components/src/icons/Recommended.tsx","webpack://@reltio/remotes/../components/src/components/AttributeListItem/AttributeListItem.tsx","webpack://@reltio/remotes/../components/src/components/BasicTableView/BasicTable/HOCs/withTableContext.js","webpack://@reltio/remotes/../components/src/components/BasicTableView/BasicTablePagination/styles.js","webpack://@reltio/remotes/../components/src/components/BasicTableView/BasicTablePagination/BasicTablePagination.js","webpack://@reltio/remotes/../components/src/components/BasicView/styles.js","webpack://@reltio/remotes/../components/src/components/BasicView/BasicView.tsx","webpack://@reltio/remotes/../components/src/components/BasicViewHeader/styles.ts","webpack://@reltio/remotes/../components/src/components/BasicViewHeader/BasicViewHeader.tsx","webpack://@reltio/remotes/../components/src/components/CollapseButton/styles.ts","webpack://@reltio/remotes/../components/src/components/CollapseButton/CollapseButton.tsx","webpack://@reltio/remotes/../components/src/components/ColorBar/styles.ts","webpack://@reltio/remotes/../components/src/components/ColorBar/ColorBar.tsx","webpack://@reltio/remotes/../components/src/components/DropDownMenuButton/styles.ts","webpack://@reltio/remotes/../components/src/components/DropDownMenuButton/MenuItemRenderer.tsx","webpack://@reltio/remotes/../components/src/components/DropDownMenuButton/DropDownMenuButton.tsx","webpack://@reltio/remotes/../components/src/components/DropDownSelector/components/styles.js","webpack://@reltio/remotes/../components/src/components/DropDownSelector/components/Menu.js","webpack://@reltio/remotes/../components/src/components/DropDownSelector/components/SingleValue.js","webpack://@reltio/remotes/../components/src/components/DropDownSelector/styles.js","webpack://@reltio/remotes/../components/src/components/DropDownSelector/DropDownSelector.js","webpack://@reltio/remotes/../components/src/components/EntityTypeIcon/EntityTypeIcon.js","webpack://@reltio/remotes/../components/src/components/EntityUriLink/EntityUriLink.tsx","webpack://@reltio/remotes/../components/src/components/ReactSelect/AsyncSelect.js","webpack://@reltio/remotes/../components/src/components/ReltioGridLayout/helpers.js","webpack://@reltio/remotes/../components/src/components/ReltioGridLayout/icons/ResizeIcon.svg.ts","webpack://@reltio/remotes/../components/src/components/ReltioGridLayout/styles.js","webpack://@reltio/remotes/../components/src/components/ReltioGridLayout/ReltioGridLayout.js","webpack://@reltio/remotes/../components/src/components/RequiredMark/styles.js","webpack://@reltio/remotes/../components/src/components/RequiredMark/RequiredMark.tsx","webpack://@reltio/remotes/../components/src/components/SimpleDropDownSelector/styles.js","webpack://@reltio/remotes/../components/src/components/SimpleDropDownSelector/DropDownValue.js","webpack://@reltio/remotes/../components/src/components/SimpleDropDownSelector/DropDownPlaceholder.js","webpack://@reltio/remotes/../components/src/components/SimpleDropDownSelector/SimpleDropDownSelector.js","webpack://@reltio/remotes/../components/src/contexts/GenerateEntityUrlContext/index.ts","webpack://@reltio/remotes/../components/src/contexts/ViewIdContext/index.js","webpack://@reltio/remotes/../components/src/icons/NestedAttribute.tsx","webpack://@reltio/remotes/../dashboard/src/components/DashboardLinearLoader/styles.ts","webpack://@reltio/remotes/../dashboard/src/components/DashboardLinearLoader/DashboardLinearLoader.tsx","webpack://@reltio/remotes/../dashboard/src/components/LayoutItemView/styles.ts","webpack://@reltio/remotes/../dashboard/src/components/LayoutItemView/LayoutItemView.tsx","webpack://@reltio/remotes/../dashboard/src/contexts/DashboardViewIdContext/index.ts","webpack://@reltio/remotes/../dashboard/src/hooks/useSavedSearchesRequest.ts","webpack://@reltio/remotes/../dashboard/src/views/tableBased/helpers.ts","webpack://@reltio/remotes/../dashboard/src/components/DashboardPopupMenu/styles.ts","webpack://@reltio/remotes/../dashboard/src/components/DashboardPopupMenu/DashboardPopupMenu.tsx","webpack://@reltio/remotes/../dashboard/src/components/LayoutItemHeader/styles.ts","webpack://@reltio/remotes/../dashboard/src/components/LayoutItemHeader/LayoutItemHeader.tsx","webpack://@reltio/remotes/../dashboard/src/components/DashboardNoData/icons/noData.svg","webpack://@reltio/remotes/../dashboard/src/components/DashboardNoData/styles.ts","webpack://@reltio/remotes/../dashboard/src/components/DashboardNoData/DashboardNoData.tsx","webpack://@reltio/remotes/../dashboard/src/components/DashboardError/icons/error.svg","webpack://@reltio/remotes/../dashboard/src/components/DashboardError/styles.ts","webpack://@reltio/remotes/../dashboard/src/components/DashboardError/DashboardError.tsx","webpack://@reltio/remotes/../dashboard/src/components/LayoutItemContent/styles.ts","webpack://@reltio/remotes/../dashboard/src/components/LayoutItemContent/LayoutItemContent.tsx","webpack://@reltio/remotes/../dashboard/src/HOCs/withPagination.tsx","webpack://@reltio/remotes/../dashboard/src/services/savedSearches.ts","webpack://@reltio/remotes/../dashboard/src/views/tableBased/FilteredSavedSearchesFacet.tsx","webpack://@reltio/remotes/../dashboard/src/services/filters.ts","webpack://@reltio/remotes/../dashboard/src/services/facets.ts","webpack://@reltio/remotes/../dashboard/src/views/chartBased/DashboardFacet.tsx","webpack://@reltio/remotes/../dashboard/src/hooks/useFacetRequest.ts","webpack://@reltio/remotes/../dashboard/src/components/EntityTable/cell-renderers/styles.ts","webpack://@reltio/remotes/../dashboard/src/components/EntityTable/cell-renderers/HeadCellRenderer.tsx","webpack://@reltio/remotes/../dashboard/src/components/EntityTable/cell-renderers/EntityLabelRenderer.tsx","webpack://@reltio/remotes/../dashboard/src/components/EntityTable/styles.ts","webpack://@reltio/remotes/../dashboard/src/views/tableBased/FilteredEntitiesViewFacet.tsx","webpack://@reltio/remotes/../dashboard/src/components/EntityTable/EntityTable.tsx","webpack://@reltio/remotes/../dashboard/src/hooks/useFilteredEntitiesRequest.ts","webpack://@reltio/remotes/../dashboard/src/types/PeriodStep.ts","webpack://@reltio/remotes/../dashboard/src/services/period.ts","webpack://@reltio/remotes/../dashboard/src/services/stats.ts","webpack://@reltio/remotes/../dashboard/src/components/StatsChart/customized/CustomAxisTick.tsx","webpack://@reltio/remotes/../dashboard/src/components/StatsChart/customized/styles.ts","webpack://@reltio/remotes/../dashboard/src/components/StatsChart/customized/CustomTooltip.tsx","webpack://@reltio/remotes/../dashboard/src/components/StatsChart/customized/CustomLegend.tsx","webpack://@reltio/remotes/../dashboard/src/components/StatsChart/StatsChart.tsx","webpack://@reltio/remotes/../dashboard/src/components/StatsChart/getStatsChartSettings.ts","webpack://@reltio/remotes/../dashboard/src/hooks/useStatsRequest.ts","webpack://@reltio/remotes/../dashboard/src/views/chartBased/styles.ts","webpack://@reltio/remotes/../dashboard/src/views/chartBased/ProfileStatsFacet.tsx","webpack://@reltio/remotes/../dashboard/src/services/entityTypes.ts","webpack://@reltio/remotes/../dashboard/src/hooks/useEntityByTypeRequest.ts","webpack://@reltio/remotes/../dashboard/src/views/chartBased/EntitiesByTypeViewFacet.tsx","webpack://@reltio/remotes/../dashboard/src/views/custom/styles.ts","webpack://@reltio/remotes/../dashboard/src/views/custom/CustomActionViewFacet.tsx","webpack://@reltio/remotes/../dashboard/src/types/WorkflowTasks.ts","webpack://@reltio/remotes/../dashboard/src/services/workflowTasks.ts","webpack://@reltio/remotes/../dashboard/src/components/WorkflowTaskItem/styles.ts","webpack://@reltio/remotes/../dashboard/src/components/WorkflowTaskItem/WorkflowTaskObject.tsx","webpack://@reltio/remotes/../dashboard/src/components/WorkflowTaskItem/WorkflowTaskItem.tsx","webpack://@reltio/remotes/../dashboard/src/components/WorkflowTasksList/WorkflowTasksList.tsx","webpack://@reltio/remotes/../dashboard/src/views/custom/NotificationInboxFacet.tsx","webpack://@reltio/remotes/../dashboard/src/hooks/useWorkflowTasksRequest.ts","webpack://@reltio/remotes/../dashboard/src/hooks/useActivitiesRequest.ts","webpack://@reltio/remotes/../dashboard/src/views/tableBased/styles.ts","webpack://@reltio/remotes/../dashboard/src/views/tableBased/ActivitiesViewFacet.tsx","webpack://@reltio/remotes/../dashboard/src/views/ViewsFactory.tsx"],"sourcesContent":["import React from 'react';\n\nconst SvgReferenceAttribute: React.FC<React.SVGProps<SVGSVGElement>> = (props) => {\n return (\n <svg width={24} height={24} viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path\n d=\"M10 18h3v-1a1 1 0 011-1h4a1 1 0 011 1v4a1 1 0 01-1 1h-4a1 1 0 01-1-1v-1H8V8H6a1 1 0 01-1-1V3a1 1 0 011-1h6a1 1 0 011 1v4a1 1 0 01-1 1h-2v3h3v-1a1 1 0 011-1h4a1 1 0 011 1v4a1 1 0 01-1 1h-4a1 1 0 01-1-1v-1h-3v5z\"\n fill=\"#000\"\n stroke=\"none\"\n strokeWidth={1}\n fillRule=\"evenodd\"\n />\n </svg>\n );\n};\n\nexport default SvgReferenceAttribute;\n","import React from 'react';\n\nconst SvgSimpleAttribute: React.FC<React.SVGProps<SVGSVGElement>> = (props) => {\n return (\n <svg width={24} height={24} viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <rect\n fill=\"#000\"\n x={9}\n y={9}\n width={6}\n height={6}\n rx={1}\n stroke=\"none\"\n strokeWidth={1}\n fillRule=\"evenodd\"\n />\n </svg>\n );\n};\n\nexport default SvgSimpleAttribute;\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles({\n container: {\n '& > $marginWrapper:first-child': {\n paddingLeft: '4px'\n }\n },\n listItem: {\n paddingLeft: '1px',\n paddingTop: '2px',\n paddingBottom: '2px',\n transition: 'none',\n '&:hover': {\n '& $itemAfter': {\n background: 'linear-gradient(to right, rgba(235, 235, 235, 0.2), rgba(235, 235, 235, 1) 100%)'\n }\n },\n '&$listItemFocus': {\n '& $itemAfter': {\n background: 'linear-gradient(to right, rgba(219, 219, 219, 0.2), rgba(219, 219, 219, 1) 100%)'\n }\n },\n '&:focus': {\n outline: 'none'\n }\n },\n listItemFocus: {},\n icon: {\n opacity: 0.29,\n width: '16px',\n height: '16px',\n flexShrink: 0,\n marginRight: '6px',\n marginLeft: '8px'\n },\n recommendedIcon: {\n width: '18px',\n height: '18px',\n marginRight: '5px',\n marginLeft: '7px',\n flexShrink: 0\n },\n logoIcon: {\n width: '18px',\n height: '18px',\n flexShrink: 0,\n marginRight: '4px'\n },\n itemAfter: {\n position: 'absolute',\n right: 0,\n top: 0,\n width: '40px',\n height: '100%',\n pointerEvents: 'none',\n background: 'linear-gradient(to right, rgba(255, 255, 255, 0.2), #fff 100%)'\n },\n itemText: {\n padding: '0',\n margin: 0,\n '& span': {\n fontSize: '0.8125rem',\n letterSpacing: 'normal',\n whiteSpace: 'nowrap'\n }\n },\n checkbox: {\n opacity: 0.34,\n padding: 0,\n marginLeft: '14px',\n '&$checked': {\n opacity: 1,\n background: 'none'\n }\n },\n checked: {},\n marginWrapper: {\n display: 'flex',\n alignItems: 'center'\n },\n defaultCursor: {\n cursor: 'default'\n },\n itemTooltip: {\n margin: '4px 0'\n },\n marginText: {\n marginLeft: '21px'\n },\n itemTextWrapper: {\n display: 'flex',\n alignItems: 'center'\n }\n});\n","import React from 'react';\n\nimport {DataTypes, AttributeType} from '@reltio/mdm-sdk';\nimport NestedAttrIcon from '../../icons/NestedAttribute';\nimport ReferenceAttrIcon from '../../icons/ReferenceAttribute';\nimport SimpleAttrIcon from '../../icons/SimpleAttribute';\nimport {useStyles} from './styles';\n\nconst getIconForAttrType = (attrType: AttributeType) => {\n switch (attrType.type) {\n case DataTypes.TYPE_IMAGE:\n case DataTypes.TYPE_NESTED:\n return NestedAttrIcon;\n case DataTypes.TYPE_REFERENCE:\n return ReferenceAttrIcon;\n default:\n return SimpleAttrIcon;\n }\n};\n\ntype Props = {\n attrType?: AttributeType;\n};\n\nconst AttrTypeIcon = ({attrType = {} as AttributeType}: Props) => {\n const styles = useStyles();\n const Icon = getIconForAttrType(attrType);\n return <Icon className={styles.icon} />;\n};\n\nexport default AttrTypeIcon;\n","import React from 'react';\n\nconst SvgRecommended: React.FC<React.SVGProps<SVGSVGElement>> = (props) => {\n return (\n <svg width={13} height={18} viewBox=\"0 0 13 18\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <g transform=\"translate(-3 -1)\" stroke=\"none\" strokeWidth={1} fill=\"none\" fillRule=\"evenodd\">\n <path fill=\"#FF4081\" d=\"M5.833 10h3.75v6.667l-3.75 1.666z\" />\n <path fill=\"#CE0C4E\" d=\"M13.333 10v8.333l-3.75-1.666V10z\" />\n <circle fill=\"#FFC058\" cx={9.583} cy={7.917} r={6.25} />\n <circle fill=\"#FFCD7B\" cx={9.583} cy={7.917} r={5.417} />\n <path fill=\"#FFFBB5\" d=\"M8.333 11.667L5 8.462l.933-.898 2.4 2.308L13.4 5l.933.897z\" />\n </g>\n </svg>\n );\n};\n\nexport default SvgRecommended;\n","import React, {memo} from 'react';\n\nimport classnames from 'classnames';\nimport i18n from 'ui-i18n';\nimport {AttributeType} from '@reltio/mdm-sdk';\nimport ListItem, {ListItemProps} from '@material-ui/core/ListItem';\nimport {ListItemText as ListItemText} from '@material-ui/core';\nimport {Checkbox as Checkbox} from '@material-ui/core';\nimport ExpandedValueTooltip from '../ExpandedValueTooltip/ExpandedValueTooltip';\nimport {isNested} from '@reltio/mdm-sdk';\nimport withTooltip from '../../HOCs/withTooltip/withTooltip';\nimport RequiredMark from '../RequiredMark/RequiredMark';\nimport {noop} from '../../core';\nimport AttrTypeIcon from './AttrTypeIcon';\nimport Marginator from '../Marginator/Marginator';\nimport RecommendedIcon from '../../icons/Recommended';\nimport {useStyles} from './styles';\n\nexport const RecommendedIconWithTooltip = withTooltip(RecommendedIcon);\n\ntype Data = {\n attrType?: AttributeType;\n};\ntype Props = {\n data: Data;\n checked: boolean;\n label: React.ReactNode;\n labelInText?: string;\n level?: number;\n isFocused?: boolean;\n isRequired?: boolean;\n hideIcon?: boolean;\n hideCheckBox?: boolean;\n notSelectable?: boolean;\n disableHorizontalScrollbar?: boolean;\n onClick?: (data: Data, checked: boolean, groupId: string) => void;\n subItemMargin?: number;\n groupId?: string;\n style?: ListItemProps['style'];\n LogoIcon?: React.ElementType;\n className?: string;\n};\n\nconst AttributeListItem = ({\n groupId,\n data,\n checked = false,\n isFocused = false,\n isRequired = false,\n label,\n labelInText,\n level,\n onClick = noop,\n hideCheckBox = false,\n hideIcon = false,\n notSelectable = false,\n disableHorizontalScrollbar = false,\n style = {},\n subItemMargin = 20,\n LogoIcon,\n className\n}: Props) => {\n const styles = useStyles();\n const {attrType} = data || {};\n\n const isButton = (!hideCheckBox || !isNested(attrType)) && !notSelectable;\n const handleItemClick = () => onClick(data, !checked, groupId);\n const showLogoIcon = !!LogoIcon;\n\n const renderIcon = (attrType: AttributeType): JSX.Element =>\n groupId === 'recommended' ? (\n <RecommendedIconWithTooltip\n className={styles.recommendedIcon}\n tooltipTitle={i18n.text('Recommended')}\n showForDisabled={true}\n />\n ) : (\n <AttrTypeIcon attrType={attrType} />\n );\n\n // TODO: ListItem needs to be split to ListItem and ListItemButton after material ui releases stable version(https://github.com/mui-org/material-ui/pull/26446). The \"button\" prop will be deprecated.\n return (\n <ExpandedValueTooltip value={labelInText || label} className={styles.itemTooltip} placement=\"bottom-end\">\n <ListItem\n className={classnames(\n styles.container,\n styles.listItem,\n {[styles.defaultCursor]: !isButton},\n className\n )}\n onClick={isButton ? handleItemClick : undefined}\n style={style}\n dense\n button={isButton as any}\n classes={{\n focusVisible: styles.listItemFocus,\n selected: styles.listItemFocus\n }}\n selected={isFocused}\n tabIndex={-1}\n >\n {!hideCheckBox && (\n <Checkbox\n checked={checked}\n disableRipple\n disabled={!isButton}\n className={classnames(styles.checkbox, {[styles.checked]: checked})}\n tabIndex={-1}\n />\n )}\n <Marginator margin={subItemMargin} level={level} className={styles.marginWrapper}>\n <>\n {!hideIcon && renderIcon(attrType)}\n <div className={classnames(styles.itemTextWrapper, {[styles.marginText]: hideIcon})}>\n {showLogoIcon && <LogoIcon className={styles.logoIcon} />}\n <ListItemText\n primary={\n <>\n {label}\n {isRequired && <RequiredMark />}\n </>\n }\n className={styles.itemText}\n />\n </div>\n </>\n </Marginator>\n {isButton && disableHorizontalScrollbar && <div className={styles.itemAfter} />}\n </ListItem>\n </ExpandedValueTooltip>\n );\n};\n\nexport default memo(AttributeListItem);\n","import {TableContext} from '../contexts/TableContext';\nimport {withContext} from '../../../../HOCs/withContext/withContext';\n\nconst withTableContext = (contextSelector) => (CellRenderer) =>\n withContext(TableContext, contextSelector, CellRenderer);\n\nexport default withTableContext;\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles({\n pagination: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'flex-end',\n height: '56px',\n borderTop: '1px solid rgba(0,0,0,0.12)',\n boxShadow: 'none'\n },\n caption: {\n color: 'rgba(0,0,0,0.6)',\n fontSize: '12px',\n lineHeight: '16px'\n },\n selectRoot: {\n marginLeft: '5px',\n marginRight: '36px'\n },\n select: {\n color: 'rgba(0,0,0,0.6)',\n fontSize: '12px',\n lineHeight: '16px',\n textAlign: 'right'\n },\n actions: {\n marginLeft: '32px'\n }\n});\n","import PropTypes from 'prop-types';\nimport React, {useCallback} from 'react';\nimport classnames from 'classnames';\nimport {TablePagination as TablePagination} from '@material-ui/core';\nimport i18n from 'ui-i18n';\nimport {getValue} from '../../../core/utils';\nimport {nthArg, pipe, pathOr, identity} from 'ramda';\nimport {useStyles} from './styles';\n\nconst BasicTablePagination = ({\n classes = {},\n count,\n rowsPerPageOptions,\n page,\n onChangePage,\n rowsPerPage,\n onChangeRowsPerPage,\n basicTableRef,\n labelRowsPerPage\n}) => {\n const labelDisplayedRows = ({from, to, count}) =>\n i18n.text('${fromRow}-${toRow} of ${countRows}', {\n fromRow: i18n.number(from, '0,0'),\n toRow: i18n.number(to, '0,0'),\n countRows: i18n.number(count, '0,0')\n });\n const styles = useStyles();\n const resetScrollbarPosition = useCallback(() => {\n pathOr(identity, ['current', 'resetScrollbarPosition'], basicTableRef)();\n }, [basicTableRef]);\n const handleChangePage = useCallback(\n (value) => {\n onChangePage(value);\n resetScrollbarPosition();\n },\n [onChangePage, resetScrollbarPosition]\n );\n const handleChangeRowsPerPage = useCallback(\n (value) => {\n onChangePage(0);\n onChangeRowsPerPage(value);\n resetScrollbarPosition();\n },\n [onChangePage, onChangeRowsPerPage, resetScrollbarPosition]\n );\n return (\n <TablePagination\n classes={{\n ...classes,\n root: classnames(styles.pagination, classes.root),\n select: classnames(styles.select, classes.select),\n caption: styles.caption,\n selectRoot: styles.selectRoot,\n actions: styles.actions\n }}\n component=\"div\"\n labelRowsPerPage={labelRowsPerPage || i18n.text('Rows per page:')}\n labelDisplayedRows={labelDisplayedRows}\n count={count}\n rowsPerPageOptions={rowsPerPageOptions}\n page={page}\n onChangePage={pipe(nthArg(1), handleChangePage)}\n rowsPerPage={rowsPerPage}\n onChangeRowsPerPage={pipe(getValue, handleChangeRowsPerPage)}\n />\n );\n};\n\nBasicTablePagination.propTypes = {\n classes: PropTypes.object,\n rowsPerPageOptions: PropTypes.arrayOf(PropTypes.number),\n count: PropTypes.number,\n page: PropTypes.number,\n onChangePage: PropTypes.func,\n rowsPerPage: PropTypes.number,\n onChangeRowsPerPage: PropTypes.func,\n basicTableRef: PropTypes.shape({current: PropTypes.object}),\n labelRowsPerPage: PropTypes.string\n};\n\nexport default React.memo(BasicTablePagination);\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles((theme) => ({\n 'basic-view__paper': {\n display: 'flex',\n flexDirection: 'column',\n ...theme.basicView\n }\n}));\n","import Paper, {PaperProps} from '@material-ui/core/Paper';\nimport PropTypes from 'prop-types';\nimport React, {forwardRef, Ref} from 'react';\nimport {useStyles} from './styles';\n\nconst BasicView = forwardRef<Ref<typeof Paper>, PaperProps>(({children, className, ...otherProps}, ref) => {\n const styles = useStyles();\n return (\n <Paper ref={ref} className={className} classes={{root: styles['basic-view__paper']}} {...otherProps}>\n {children}\n </Paper>\n );\n});\n\nBasicView.displayName = 'BasicView';\n\nBasicView.propTypes = {\n children: PropTypes.node,\n className: PropTypes.string\n};\n\nexport default BasicView;\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles({\n toolbar: {\n minHeight: '48px',\n padding: '8px 24px',\n lineHeight: '28px'\n },\n title: {\n fontSize: '18px',\n fontWeight: 'normal',\n lineHeight: 'inherit',\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis'\n }\n});\n","import React from 'react';\nimport Toolbar, {ToolbarProps} from '@material-ui/core/Toolbar';\nimport {Typography as Typography} from '@material-ui/core';\nimport {useStyles} from './styles';\n\ntype Props = ToolbarProps & {\n title?: string;\n classes?: Partial<Record<'root' | 'title', string>>;\n};\n\nconst BasicViewHeader = ({title, children = null, classes = {}, ...otherProps}: Props) => {\n const styles = useStyles();\n return (\n <Toolbar className={classes.root} classes={{root: styles.toolbar}} {...otherProps}>\n <Typography className={classes.title} classes={{root: styles.title}} variant=\"h6\">\n {title}\n </Typography>\n {children}\n </Toolbar>\n );\n};\n\nexport default BasicViewHeader;\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles({\n collapseButton: {\n cursor: 'pointer'\n },\n expandLess: {\n transform: 'rotate( -180deg )'\n }\n});\n","import React from 'react';\nimport classnames from 'classnames';\nimport {SmallIconButtonWithTooltip} from '../SmallIconButton';\nimport ExpandMore from '@material-ui/icons/ExpandMore';\nimport {useStyles} from './styles';\n\ntype SmallIconButtonWithTooltipProps = React.ComponentPropsWithoutRef<typeof SmallIconButtonWithTooltip>;\n\ntype Props = Omit<SmallIconButtonWithTooltipProps, 'tooltipTitle'> & {\n isOpen?: boolean;\n tooltipTitle?: string;\n};\n\nconst CollapseButton = ({isOpen = false, tooltipTitle, ...otherProps}: Props) => {\n const styles = useStyles();\n const buttonProps = {\n icon: ExpandMore,\n className: styles.collapseButton,\n iconClassName: classnames({[styles.expandLess]: isOpen})\n };\n const tooltipProps = {\n tooltipTitle: tooltipTitle\n };\n return <SmallIconButtonWithTooltip {...buttonProps} {...tooltipProps} {...otherProps} />;\n};\n\nexport default CollapseButton;\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles((theme) => ({\n bar: {\n backgroundColor: theme.palette.secondary.main,\n opacity: 0.12,\n position: 'absolute',\n minHeight: '20px',\n minWidth: '5px',\n borderRadius: '2px',\n top: 0,\n left: 0,\n height: '100%'\n }\n}));\n","import React, {useCallback} from 'react';\nimport classnames from 'classnames';\nimport {is} from 'ramda';\nimport {useStyles} from './styles';\n\ntype Props = {\n className?: string;\n width?: number | string;\n maxWidth?: number;\n};\n\nconst widthIsNumber = (width: string | number): width is number => is(Number, width);\n\nconst ColorBar = ({className, width = 0, maxWidth}: Props) => {\n const styles = useStyles();\n\n const getBarColorWidth = useCallback(\n (width: number) => {\n return (maxWidth ? (100 * width) / maxWidth : 0) + '%';\n },\n [maxWidth]\n );\n\n return width ? (\n <div\n className={classnames(styles.bar, className)}\n style={{width: widthIsNumber(width) ? getBarColorWidth(width) : width}}\n />\n ) : null;\n};\n\nexport default ColorBar;\n","import {fade, makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles((theme) => ({\n buttonRoot: {\n '&$selected': {\n color: theme.palette.action.active,\n backgroundColor: fade(theme.palette.action.active, 0.12),\n '&:hover': {\n backgroundColor: fade(theme.palette.action.active, 0.15)\n }\n }\n },\n selected: {},\n paper: {\n minWidth: '112px'\n },\n menuItem: {\n minHeight: '32px'\n },\n menuText: {\n color: theme.palette.text.primary,\n fontSize: '13px',\n lineHeight: '15px',\n letterSpacing: 0\n }\n}));\n","import React, {forwardRef} from 'react';\nimport {identity} from 'ramda';\nimport {Checkbox as Checkbox} from '@material-ui/core';\nimport {MenuItem as MenuItem} from '@material-ui/core';\nimport {Typography as Typography} from '@material-ui/core';\nimport withTooltip from '../../HOCs/withTooltip/withTooltip';\nimport {DropDownMenuItem} from '../../types';\n\nimport {useStyles} from './styles';\n\nconst MenuItemWithTooltip = withTooltip(MenuItem);\n\ntype Props = {\n item: DropDownMenuItem;\n onMenuClose?: (e) => void;\n};\n\nconst MenuItemRenderer = forwardRef(({item, onMenuClose = identity}: Props, ref: React.Ref<HTMLLIElement>) => {\n const styles = useStyles();\n const {disabled, text, tooltip, onClick, id = '', selectable, selected} = item;\n const handleClick = (e) => {\n onMenuClose(e);\n onClick(e);\n };\n\n return (\n <MenuItemWithTooltip\n tooltipTitle={tooltip}\n showForDisabled={true}\n classes={{root: styles.menuItem}}\n onClick={handleClick}\n disabled={disabled}\n ref={ref}\n data-modal\n data-reltio-id={`reltio-search-menu-item${id}`}\n >\n {selectable && <Checkbox checked={selected} color=\"primary\" />}\n <Typography classes={{root: styles.menuText}}>{text}</Typography>\n </MenuItemWithTooltip>\n );\n});\n\nMenuItemRenderer.displayName = 'MenuItemRenderer';\n\nexport default MenuItemRenderer;\n","import React, {useCallback, useRef, useState} from 'react';\nimport classnames from 'classnames';\nimport {identity} from 'ramda';\nimport {Button as Button} from '@material-ui/core';\nimport Menu, {MenuProps} from '@material-ui/core/Menu';\nimport {useDidUpdateEffect} from '../../hooks';\nimport DefaultMenuItemRenderer from './MenuItemRenderer';\nimport {useStyles} from './styles';\nimport {DropDownMenuItem} from '../../types';\n\ntype Props<T> = {\n className?: string;\n buttonComponent?: React.ElementType;\n buttonContent?: React.ReactNode;\n menuItems?: T[];\n buttonProps?: Record<string, unknown>;\n popoverProps?: Omit<MenuProps, 'open'>;\n menuId: string;\n onMenuOpen?: () => void;\n onMenuClose?: () => void;\n MenuItemRenderer?: (props) => JSX.Element;\n};\n\nfunction DropDownMenuButton<T = DropDownMenuItem>({\n className,\n menuId,\n buttonComponent = Button,\n buttonContent,\n menuItems = [],\n buttonProps = {},\n popoverProps = {},\n onMenuOpen = identity,\n onMenuClose = identity,\n MenuItemRenderer = DefaultMenuItemRenderer\n}: Props<T>) {\n const ButtonComponent = buttonComponent;\n const styles = useStyles();\n const buttonRef = useRef();\n const [isOpen, setIsOpen] = useState(false);\n\n useDidUpdateEffect(() => {\n isOpen ? onMenuOpen() : onMenuClose();\n }, [isOpen]);\n\n const handleToggle = useCallback((e) => {\n e?.stopPropagation();\n setIsOpen((open) => !open);\n }, []);\n\n const renderMenuItem = (item, index) => {\n return <MenuItemRenderer item={item} key={index} onMenuClose={handleToggle} />;\n };\n\n return (\n <>\n <ButtonComponent\n ref={buttonRef}\n className={classnames(\n styles.buttonRoot,\n {\n [styles.selected]: isOpen\n },\n className\n )}\n onClick={handleToggle}\n aria-pressed={isOpen}\n aria-controls={isOpen ? menuId : undefined}\n aria-haspopup=\"true\"\n {...buttonProps}\n >\n {buttonContent}\n </ButtonComponent>\n <Menu\n id={menuId}\n variant=\"menu\"\n open={isOpen}\n autoFocus={false}\n classes={{paper: styles.paper}}\n anchorEl={buttonRef.current}\n onClose={handleToggle}\n anchorOrigin={{\n vertical: 'bottom',\n horizontal: 'right'\n }}\n transformOrigin={{\n vertical: 'top',\n horizontal: 'right'\n }}\n elevation={2}\n getContentAnchorEl={null}\n MenuListProps={{autoFocusItem: isOpen}}\n {...popoverProps}\n >\n {menuItems.map(renderMenuItem)}\n </Menu>\n </>\n );\n}\n\nDropDownMenuButton.displayName = 'DropDownMenuButton';\n\nexport default DropDownMenuButton;\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useMenuStyles = makeStyles((theme) => ({\n addLabel: {\n display: 'flex',\n padding: '0 7px',\n height: '35px',\n alignItems: 'center',\n fontSize: '13px',\n fontWeight: '500',\n color: theme.palette.primary.main,\n cursor: 'pointer',\n textOverflow: 'ellipsis',\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n borderTop: 'solid 1px rgba(0, 0, 0, 0.14)',\n backgroundColor: 'rgba(0, 0, 0, 0.03)'\n },\n addIcon: {\n height: '18px',\n width: '18px',\n padding: '0 9px'\n }\n}));\n\nexport const useSingleValueStyles = makeStyles({\n singleValue: {\n fontSize: '14px',\n lineHeight: '16px',\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n marginTop: '21px'\n }\n});\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport {prop} from 'ramda';\nimport AddIcon from '@material-ui/icons/Add';\nimport {useMenuStyles} from './styles';\nimport MenuWithPopper from '../../commonReactSelectComponents/MenuWithPopper';\n\nconst Menu = (props) => {\n const {\n selectProps: {onCreate, createLabel, inputValue, components},\n children\n } = props;\n\n const styles = useMenuStyles();\n return (\n <MenuWithPopper {...props}>\n {children}\n {createLabel && !prop('Group', components) && (\n <span className={styles.addLabel} onClick={() => onCreate(inputValue)}>\n <AddIcon className={styles.addIcon} />\n {createLabel}\n </span>\n )}\n </MenuWithPopper>\n );\n};\n\nMenu.propTypes = {\n children: PropTypes.element.isRequired,\n selectProps: PropTypes.object.isRequired\n};\n\nexport default Menu;\n","import {Typography as Typography} from '@material-ui/core';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport {useSingleValueStyles} from './styles';\n\nexport default function SingleValue(props) {\n const {\n selectProps: {menuIsOpen},\n innerProps,\n children\n } = props;\n const styles = useSingleValueStyles();\n\n return (\n !menuIsOpen && (\n <Typography className={styles.singleValue} {...innerProps}>\n {children}\n </Typography>\n )\n );\n}\n\nSingleValue.propTypes = {\n children: PropTypes.node,\n innerProps: PropTypes.object\n};\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles({\n control: {\n height: 'auto'\n },\n dropdownIndicator: {\n transition: 'transform .15s ease',\n padding: (props) => `${(props.height - 24) / 2}px 12px`,\n cursor: 'pointer',\n color: 'rgba(0, 0, 0, 0.54)'\n },\n valueContainer: {\n marginLeft: '16px',\n width: 0\n },\n formControl: {\n margin: 0\n },\n filledInputRoot: {\n backgroundColor: 'rgba(0, 0, 0, 0.03)',\n '&:hover': {\n backgroundColor: 'rgba(0, 0, 0, 0.03)'\n },\n '&.focused': {\n backgroundColor: 'rgba(0, 0, 0, 0.03)'\n }\n },\n filledInputUnderline: {\n '&:before': {\n display: 'none'\n }\n },\n inputLabel: {\n color: 'rgba(0,0,0,0.6)',\n fontSize: '14px',\n lineHeight: '16px',\n paddingLeft: '4px',\n '&.shrink': {\n paddingLeft: '4px'\n }\n }\n});\n\nexport const customStyles = {\n menu: (baseStyles) => ({\n ...baseStyles,\n borderRadius: '0 0 4px 4px',\n backgroundColor: '#FFFFFFFF',\n boxShadow: '0 2px 2px 0 rgba(0,0,0,0.14), 0 3px 1px -2px rgba(0,0,0,0.12), 0 1px 5px 0 rgba(0,0,0,0.2)',\n margin: 0\n }),\n menuList: (baseStyles) => ({\n ...baseStyles,\n maxHeight: '208px',\n padding: '8px 0'\n }),\n group: (baseStyles) => ({\n ...baseStyles,\n padding: '0 0 8px 0'\n }),\n input: (baseStyles) => ({\n ...baseStyles,\n height: '16px',\n color: 'rgba(0, 0, 0, 0.87)',\n fontSize: '14px',\n lineHeight: '16px',\n margin: '16px 0 0',\n padding: 0\n }),\n option: (baseStyles) => ({\n ...baseStyles,\n fontSize: '13px',\n lineHeight: '15px',\n height: '32px'\n })\n};\n\nexport const overloadMenuListStyle = {\n menuList: (baseStyles) => ({\n ...baseStyles,\n padding: 0\n })\n};\n\nexport const withoutLabelInputStyle = {\n input: (baseStyles) => ({\n ...baseStyles,\n height: '16px',\n color: 'rgba(0, 0, 0, 0.87)',\n fontSize: '14px',\n lineHeight: '16px',\n margin: 0,\n padding: 0\n })\n};\n","import React, {useRef, useState} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {defaultTo, identity, isEmpty, path, prop} from 'ramda';\nimport DropdownIndicator from '../commonReactSelectComponents/DropdownIndicator';\nimport Menu from './components/Menu';\nimport AsyncSelect from '../ReactSelect/AsyncSelect';\nimport Select from '../ReactSelect/Select';\nimport {EmptyStub} from '../../core';\nimport {isEmptyValue} from '@reltio/mdm-sdk';\nimport {useInputStyles} from '../editors/constants';\nimport SingleValue from './components/SingleValue';\nimport {useStyles, customStyles, overloadMenuListStyle, withoutLabelInputStyle} from './styles';\n\nconst DropDownSelector = ({\n value,\n label,\n createLabel,\n getOptions,\n options,\n height = 46,\n onChange = identity,\n onCreate,\n onClear = identity,\n components,\n textFieldInputRef,\n TextFieldProps,\n classes,\n ...otherProps\n}) => {\n const styles = useStyles({height});\n const underlineStyle = useInputStyles();\n const [open, setOpen] = useState(false);\n const inputRef = useRef(null);\n\n const SelectComponent = getOptions ? AsyncSelect : Select;\n\n const showIndicatorSeparator = prop('ClearIndicator', components)\n ? {}\n : {IndicatorSeparator: EmptyStub, ClearIndicator: EmptyStub};\n\n const handleCreate = onCreate\n ? (value, group) => {\n onCreate(value, group);\n setOpen(false);\n }\n : undefined;\n\n const overloadStylesIfGroup = prop('Group', components) ? overloadMenuListStyle : {};\n const overloadStylesIfNoLabel = isEmpty(label) ? withoutLabelInputStyle : {};\n\n const mergedStyles = {...customStyles, ...overloadStylesIfGroup, ...overloadStylesIfNoLabel};\n const mergedClasses = {...styles, ...classes};\n\n return (\n <SelectComponent\n placeholder=\"\"\n defaultOptions={true}\n {...otherProps}\n value={defaultTo(null, value)}\n loadOptions={getOptions}\n options={options}\n cacheOptions={true}\n onChange={onChange}\n onCreate={handleCreate}\n onClear={onClear}\n createLabel={createLabel}\n classes={mergedClasses}\n styles={mergedStyles}\n components={{\n DropdownIndicator,\n LoadingIndicator: EmptyStub,\n SingleValue,\n Menu,\n ...showIndicatorSeparator,\n ...components\n }}\n menuPlacement=\"auto\"\n TextFieldProps={{\n ...TextFieldProps,\n label,\n variant: 'filled',\n margin: 'dense',\n classes: {\n ...prop('classes', TextFieldProps),\n root: classnames(styles.formControl, path(['classes', 'root'], TextFieldProps))\n },\n inputProps: {\n ...prop('inputProps', TextFieldProps)\n },\n InputProps: {\n ...prop('InputProps', TextFieldProps),\n classes: {\n ...path(['InputProps', 'classes'], TextFieldProps),\n root: classnames(\n styles.filledInputRoot,\n path(['InputProps', 'classes', 'root'], TextFieldProps)\n ),\n underline: classnames(\n {[underlineStyle.filledInputUnderline]: isEmptyValue(value)},\n path(['InputProps', 'classes', 'underline'], TextFieldProps)\n ),\n focused: classnames('focused', path(['InputProps', 'classes', 'focused'], TextFieldProps))\n }\n },\n InputLabelProps: {\n ...prop('InputLabelProps', TextFieldProps),\n classes: {\n ...path(['InputLabelProps', 'classes'], TextFieldProps),\n root: classnames(\n styles.inputLabel,\n path(['InputLabelProps', 'classes', 'root'], TextFieldProps)\n ),\n shrink: classnames('shrink', path(['InputLabelProps', 'classes', 'shrink'], TextFieldProps))\n },\n shrink: !isEmptyValue(value) ? true : undefined\n },\n ref: textFieldInputRef || inputRef\n }}\n inputRef={textFieldInputRef || inputRef}\n menuIsOpen={open}\n onMenuOpen={() => setOpen(true)}\n onMenuClose={() => setOpen(false)}\n />\n );\n};\n\nexport const DropDownSelectorType = {\n value: PropTypes.oneOfType([PropTypes.object, PropTypes.array]),\n label: PropTypes.string.isRequired,\n getOptions: PropTypes.func,\n options: PropTypes.array,\n onChange: PropTypes.func,\n onCreate: PropTypes.func,\n onClear: PropTypes.func,\n createLabel: PropTypes.string,\n components: PropTypes.object,\n textFieldInputRef: PropTypes.object,\n TextFieldProps: PropTypes.object,\n height: PropTypes.number,\n classes: PropTypes.object\n};\n\nDropDownSelector.propTypes = DropDownSelectorType;\n\nexport default DropDownSelector;\n","import React from 'react';\nimport {useSelector} from 'react-redux';\n\nimport mdmModule from '@reltio/mdm-module';\nimport RC_EntityTypeIcon from 'react-components/dist/EntityTypeIcon/EntityTypeIcon';\n\nconst ensureSlashEnding = (str) => (str.endsWith('/') ? str : str + '/');\n\nconst EntityTypeIcon = (props) => {\n const absoluteImagePath = useSelector(mdmModule.selectors.getAbsoluteImagePath) || '';\n return <RC_EntityTypeIcon {...props} storagePath={ensureSlashEnding(absoluteImagePath)} />;\n};\n\nexport default EntityTypeIcon;\n","import React, {forwardRef, useCallback, useContext} from 'react';\nimport {useSelector, useDispatch} from 'react-redux';\nimport {GenerateEntityUrlContext, ViewIdContext} from '../../contexts';\nimport mdmModule, {ui} from '@reltio/mdm-module';\nimport {getEntityLink} from '@reltio/mdm-sdk';\n\ntype Props = {\n className?: string;\n value: string;\n screen?: string;\n children: React.ReactNode;\n};\n\nconst EntityUriLink = forwardRef(({value, children, screen, className}: Props, ref: React.Ref<HTMLAnchorElement>) => {\n const dispatch = useDispatch();\n const viewId = useContext(ViewIdContext);\n const generateEntityLink = useContext(GenerateEntityUrlContext) || getEntityLink;\n const uiPath = useSelector(mdmModule.selectors.getUIPath);\n const generateEntityUrl = (uri: string) => generateEntityLink({uiPath, uri, screen});\n const onClick = useCallback(() => {\n dispatch(ui.actions.openEntity({uri: value, viewId, screen}));\n }, [viewId, value, dispatch, screen]);\n return (\n <a\n ref={ref}\n href={generateEntityUrl(value)}\n onClick={(e) => {\n onClick();\n e.stopPropagation();\n e.preventDefault();\n }}\n className={className}\n >\n {children}\n </a>\n );\n});\n\nEntityUriLink.displayName = 'EntityUriLink';\n\nexport default EntityUriLink;\n","import AsyncSelect from 'react-select/async';\nimport withMuiSkin from './withMuiSkin';\n\nexport default withMuiSkin(AsyncSelect);\n","import {curry, defaultTo, mergeAll, pick, pipe, prop, propEq, __} from 'ramda';\n\nexport const getReltioViewId = (id) => id.split(/\\d+_/)[1];\n\nexport const reltioLayoutItemToReactGridLayoutItem = ({\n x,\n y,\n width,\n height,\n id,\n minWidth,\n minHeight,\n maxWidth,\n maxHeight,\n isStatic\n}) => ({\n x,\n y,\n w: width,\n h: height,\n minW: minWidth,\n minH: minHeight,\n maxW: maxWidth,\n maxH: maxHeight,\n i: id,\n static: isStatic\n});\n\nexport const reactGridLayoutItemToReltioLayoutItem = ({x, y, w, h, maxW, minW, minH, maxH, i, ...obj}) => ({\n x,\n y,\n width: w,\n height: h,\n minWidth: minW,\n minHeight: minH,\n maxWidth: maxW,\n maxHeight: maxH,\n id: i,\n isStatic: obj.static\n});\n\nexport const reltioLayoutToReactGridLayout = (layout) => (layout || []).map(reltioLayoutItemToReactGridLayoutItem);\n\nexport const reactGridLayoutToReltioLayout = (layout) => (layout || []).map(reactGridLayoutItemToReltioLayoutItem);\n\nexport const getReltioLayoutItemById = curry((layout, id) => (layout || []).find(propEq('id', id)));\n\nconst updateExtraPropsInLayoutItem = curry((props, from, to) => mergeAll([to, pick(props, from)]));\n\nexport const copyPropsFromPreviousLayout = curry((props, oldReltioLayout, reltioLayout) =>\n (reltioLayout || []).map((layoutItem) =>\n pipe(\n prop('id'),\n getReltioLayoutItemById(oldReltioLayout),\n defaultTo({}),\n updateExtraPropsInLayoutItem(props, __, layoutItem)\n )(layoutItem)\n )\n);\n\nexport const calcHeight = (height, options) => {\n const {margin, rowHeight} = options;\n\n return Math.ceil((height + margin[1]) / (rowHeight + margin[1]));\n};\n","export const RESIZE_ICON = `<svg width=\"10\" height=\"10\" viewBox=\"0 0 10 10\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path stroke=\"#505050\" stroke-opacity=\".54\" d=\"M9.5 0v10M0 9.5h9M7.5 4v4M4 7.5h3\"/>\n</svg>`;\n","import {makeStyles} from '@material-ui/core/styles';\nimport {svg2Url} from '@reltio/mdm-sdk';\nimport {RESIZE_ICON} from './icons/ResizeIcon.svg';\n\nexport const useStyles = makeStyles((_) => ({\n gridLayout: {\n position: 'relative',\n width: '100%',\n '& .react-grid-item': {\n '&.react-grid-placeholder': {\n background: 'rgba(0, 0, 0, 0.03)',\n border: '2px dashed rgba(0, 0, 0, 0.3)',\n borderRadius: '3px',\n transitionDuration: '100ms',\n zIndex: 7,\n userSelect: 'none',\n '& .react-resizable-handle': {\n display: 'none'\n }\n },\n '&.static .react-resizable-handle': {\n display: 'none'\n },\n '&.cssTransforms': {\n transitionProperty: 'transform'\n },\n '&.resizing': {\n zIndex: 9,\n willChange: 'width, height',\n pointerEvents: 'none'\n },\n '&.react-draggable-dragging': {\n transition: 'none',\n zIndex: 8,\n willChange: 'transform',\n '& .react-resizable-handle': {\n backgroundImage: 'none'\n }\n },\n '& .react-resizable-handle': {\n position: 'absolute',\n width: '17px',\n height: '17px',\n bottom: 0,\n right: 0,\n zIndex: 20,\n backgroundImage: `url('${svg2Url(RESIZE_ICON)}')`,\n backgroundRepeat: 'no-repeat',\n backgroundOrigin: 'content-box',\n boxSizing: 'border-box',\n cursor: 'se-resize'\n },\n '&.fullscreen': {\n visibility: 'visible',\n position: 'unset',\n width: '100% !important',\n height: '100% !important',\n transform: 'translate(0) !important'\n }\n }\n },\n\n gridFullscreen: {\n height: '100% !important',\n overflowY: 'hidden',\n '& .react-resizable-handle, & .react-grid-item': {\n visibility: 'hidden'\n }\n }\n}));\n","import PropTypes from 'prop-types';\nimport React, {useCallback, useMemo, useRef, useState, memo} from 'react';\nimport GridLayout from 'react-grid-layout';\nimport ReactResizeDetector from 'react-resize-detector';\nimport {identity, pipe} from 'ramda';\nimport classnames from 'classnames';\nimport {\n reltioLayoutToReactGridLayout,\n reactGridLayoutToReltioLayout,\n reactGridLayoutItemToReltioLayoutItem,\n copyPropsFromPreviousLayout,\n calcHeight,\n getReltioLayoutItemById\n} from './helpers';\n\nimport {useStyles} from './styles';\n\nconst ReltioGridLayout = ({\n views,\n layout,\n layoutOptions,\n onLayoutChanged,\n draggableHandle,\n LayoutItem,\n onRemove,\n onDrop,\n droppingItem,\n isDroppable,\n classes\n}) => {\n const ref = useRef();\n const styles = useStyles();\n const [fullscreenItemId, setFullscreenItemId] = useState(null);\n const [width, setWidth] = useState(0);\n const {cols, rowHeight, margin} = layoutOptions;\n const processedLayout = useMemo(() => reltioLayoutToReactGridLayout(layout), [layout]);\n const onReltioLayoutChanged = pipe(\n reactGridLayoutToReltioLayout,\n copyPropsFromPreviousLayout(['autosizing'], layout),\n onLayoutChanged\n );\n const handleDrop = (layout, layoutItem, e) => {\n if (onDrop) {\n onDrop(reactGridLayoutToReltioLayout(layout), reactGridLayoutItemToReltioLayoutItem(layoutItem), e);\n }\n };\n const onToggleFullscreen = useCallback((id) => setFullscreenItemId((prevId) => (prevId ? null : id)), []);\n const isFullscreenEnabled = fullscreenItemId !== null;\n\n const onItemHeightResize = useCallback(\n (height, layoutId) => {\n let isLayoutChanged = false;\n\n const newLayout = layout.map((layoutItem) => {\n if (layoutItem.id === layoutId && height) {\n const newHeight = calcHeight(height, layoutOptions);\n\n if (layoutItem.height !== newHeight) {\n isLayoutChanged = true;\n return {\n ...layoutItem,\n minHeight: newHeight,\n maxHeight: newHeight,\n height: newHeight\n };\n }\n }\n return layoutItem;\n });\n\n if (isLayoutChanged) {\n onLayoutChanged(newLayout);\n }\n },\n [layout, layoutOptions, onLayoutChanged]\n );\n\n const getAutosizeComponent = (layoutItemId) => {\n return (\n <ReactResizeDetector\n handleHeight\n onResize={(width, height) => {\n onItemHeightResize(height, layoutItemId);\n }}\n />\n );\n };\n\n return (\n <>\n <ReactResizeDetector\n refreshMode=\"debounce\"\n refreshRate={50}\n handleWidth={true}\n onResize={(width) => setWidth(width)}\n />\n <GridLayout\n innerRef={ref}\n layout={processedLayout}\n cols={cols}\n draggableHandle={draggableHandle}\n autoSize={true}\n rowHeight={rowHeight}\n width={width}\n margin={margin}\n onLayoutChange={onReltioLayoutChanged}\n isResizable={!isFullscreenEnabled}\n isDraggable={!isFullscreenEnabled}\n className={classnames(classes.root, styles.gridLayout, {[styles.gridFullscreen]: isFullscreenEnabled})}\n onDrop={handleDrop}\n droppingItem={droppingItem}\n isDroppable={isDroppable}\n >\n {processedLayout.map((layoutItem) => {\n const isItemFullscreen = fullscreenItemId === layoutItem.i;\n const isAutosize = (getReltioLayoutItemById(layout, layoutItem.i) || {}).autosizing;\n const autosizeComponent = isAutosize ? {AutosizeComponent: getAutosizeComponent(layoutItem.i)} : {};\n return (\n <LayoutItem\n key={layoutItem.i}\n layoutItemConfig={layoutItem}\n views={views}\n onToggleFullscreen={onToggleFullscreen}\n onRemove={onRemove}\n className={classnames({fullscreen: isItemFullscreen}, classes.item)}\n isFullscreen={isItemFullscreen}\n {...autosizeComponent}\n />\n );\n })}\n </GridLayout>\n </>\n );\n};\n\nReltioGridLayout.defaultProps = {\n layoutOptions: {\n cols: 4,\n rowHeight: 30,\n margin: [15, 15]\n },\n onConfigChanged: identity,\n onLayoutChanged: identity,\n classes: {}\n};\nReltioGridLayout.propTypes = {\n views: PropTypes.array,\n layout: PropTypes.array,\n layoutOptions: PropTypes.object,\n onConfigChanged: PropTypes.func,\n onLayoutChanged: PropTypes.func,\n onDrop: PropTypes.func,\n onRemove: PropTypes.func,\n LayoutItem: PropTypes.elementType,\n draggableHandle: PropTypes.string,\n isDroppable: PropTypes.bool,\n droppingItem: PropTypes.object,\n classes: PropTypes.shape({\n root: PropTypes.string,\n item: PropTypes.string\n })\n};\n\nexport default memo(ReltioGridLayout);\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles({\n mark: {\n color: 'red'\n }\n});\n","import React from 'react';\nimport {useStyles} from './styles';\n\nconst RequiredMark = () => {\n const styles = useStyles();\n\n return <span className={styles.mark}>*</span>;\n};\n\nexport default RequiredMark;\n","import {makeStyles} from '@material-ui/core/styles';\n\nconst styles = makeStyles({\n value: {\n color: 'rgba(0, 0, 0, 0.87)'\n },\n placeholder: {\n color: 'rgba(0, 0, 0, 0.38)',\n fontSize: '14px !important'\n }\n});\n\nexport default styles;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport {Typography as Typography} from '@material-ui/core';\n\nimport useStyles from './styles';\n\nconst DropDownValue = ({selectProps: {menuIsOpen}, data: {label}}) => {\n const styles = useStyles();\n return (\n !menuIsOpen && (\n <Typography variant=\"body2\" classes={{root: styles.value}}>\n {label}\n </Typography>\n )\n );\n};\n\nDropDownValue.propTypes = {\n selectProps: PropTypes.shape({\n menuIsOpen: PropTypes.bool\n }),\n data: PropTypes.shape({\n label: PropTypes.string\n })\n};\n\nexport default DropDownValue;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport {Typography as Typography} from '@material-ui/core';\n\nimport useStyles from './styles';\n\nconst DropDownPlaceholder = (props) => {\n const styles = useStyles();\n const {innerProps = {}, children} = props;\n\n return (\n <Typography className={styles.placeholder} {...innerProps}>\n {children}\n </Typography>\n );\n};\n\nDropDownPlaceholder.propTypes = {\n children: PropTypes.node,\n innerProps: PropTypes.object,\n selectProps: PropTypes.object.isRequired\n};\n\nexport default DropDownPlaceholder;\n","import React, {memo} from 'react';\n\nimport DropDownSelector from '../DropDownSelector/DropDownSelector';\nimport DropDownValue from './DropDownValue';\nimport DropDownPlaceholder from './DropDownPlaceholder';\n\nconst components = {\n SingleValue: DropDownValue,\n Placeholder: DropDownPlaceholder\n};\n\nconst SimpleDropDownSelector = ({...otherProps}) => <DropDownSelector components={components} {...otherProps} />;\n\nexport default memo(SimpleDropDownSelector);\n","import React from 'react';\n\ntype GenerateEntityUrl = ({uiPath, uri, screen}: {uiPath: string; uri: string; screen: string}) => string;\n\nexport const GenerateEntityUrlContext = React.createContext<GenerateEntityUrl>(null);\n\nGenerateEntityUrlContext.displayName = 'GenerateEntityUrlContext';\n","import React from 'react';\n\nexport const ViewIdContext = React.createContext(null);\n\nViewIdContext.displayName = 'ViewIdContext';\n","import React from 'react';\n\nconst SvgNestedAttribute: React.FC<React.SVGProps<SVGSVGElement>> = (props) => {\n return (\n <svg width={24} height={24} viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path\n d=\"M14 11v-1a1 1 0 011-1h4a1 1 0 011 1v4a1 1 0 01-1 1h-4a1 1 0 01-1-1v-1h-3v1a1 1 0 01-1 1H6a1 1 0 01-1-1v-4a1 1 0 011-1h4a1 1 0 011 1v1h3z\"\n fill=\"#000\"\n stroke=\"none\"\n strokeWidth={1}\n fillRule=\"evenodd\"\n />\n </svg>\n );\n};\n\nexport default SvgNestedAttribute;\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles({\n loader: {\n width: '100%',\n top: 0,\n left: 0,\n position: 'absolute',\n borderRadius: '2px'\n }\n});\n","import React from 'react';\nimport {LinearProgress as LinearProgress} from '@material-ui/core';\nimport {useStyles} from './styles';\n\nconst DashboardLinearLoader = () => {\n const styles = useStyles();\n return <LinearProgress color=\"primary\" className={styles.loader} />;\n};\n\nexport default DashboardLinearLoader;\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles(() => ({\n view: {\n flex: 1,\n width: '100%',\n height: '100%',\n overflow: 'hidden'\n }\n}));\n","import React from 'react';\nimport {BasicView} from '@reltio/components';\nimport {DashboardViewIdContext} from '../../contexts/DashboardViewIdContext';\n\nimport {useStyles} from './styles';\n\ntype Props = {\n id: string;\n children: React.ReactNode;\n};\n\nconst LayoutItemView = ({id, children}: Props) => {\n const styles = useStyles();\n\n return (\n <DashboardViewIdContext.Provider value={id}>\n <BasicView className={styles.view}>{children}</BasicView>\n </DashboardViewIdContext.Provider>\n );\n};\n\nexport default LayoutItemView;\n","import React from 'react';\n\nexport const DashboardViewIdContext = React.createContext(null);\n\nDashboardViewIdContext.displayName = 'DashboardViewIdContext';\n","import {useCallback, useEffect, useState} from 'react';\nimport {RequestStates} from '@reltio/components';\nimport {assocPath} from 'ramda';\nimport {\n getSavedSearches,\n getTotalsForQuery,\n promiseAllSettled,\n replacePlaceholdersInQuery,\n SavedSearchesOptions,\n SavedSearchesResponse\n} from '@reltio/mdm-sdk';\nimport {SavedSearchData} from '../types/SavedSearchData';\n\ntype Props = {\n options: SavedSearchesOptions;\n offset: number;\n max: number;\n};\n\nexport const useSavedSearchesRequest = ({options, offset, max}: Props) => {\n const [data, setData] = useState<SavedSearchData[]>([]);\n const [total, setTotal] = useState<number>(0);\n const [requestState, setRequestState] = useState<RequestStates>(RequestStates.INIT);\n const onError = (error) => {\n console.error(error); // eslint-disable-line\n setRequestState(RequestStates.ERROR);\n setData([]);\n };\n const loadData = useCallback(() => {\n setRequestState(RequestStates.LOADING);\n const onRequestFinished = (data) => {\n setData(data.result || []);\n setTotal(data.total);\n setRequestState(RequestStates.LOADED);\n };\n const {countResults, ...restOptions} = (options || {}) as Required<SavedSearchesOptions>;\n const getData = async () => {\n const {result = [], total}: SavedSearchesResponse = await getSavedSearches({\n offset,\n max,\n ...restOptions\n });\n if (countResults) {\n const totalRequests: Array<Promise<{total: number}>> = result.map((search) =>\n getTotalsForQuery(replacePlaceholdersInQuery(search.query))\n );\n const totalResults = await promiseAllSettled(totalRequests);\n const searchesWithCount: SavedSearchData[] = totalResults.reduce(\n (searchesWithTotal, {status, value, reason}, searchIndex) => {\n switch (status) {\n case 'fulfilled':\n return assocPath([searchIndex, 'count'], value.total, searchesWithTotal);\n case 'rejected':\n console.error(reason);\n break;\n }\n return searchesWithTotal;\n },\n result\n );\n onRequestFinished({result: searchesWithCount, total});\n } else {\n onRequestFinished({result, total});\n }\n };\n getData().catch(onError);\n }, [options, max, offset]);\n\n const refreshAction = () => {\n try {\n loadData();\n } catch (e) {\n onError(e);\n }\n };\n\n useEffect(() => {\n refreshAction();\n }, [loadData]);\n\n return {state: requestState, data, reload: refreshAction, total};\n};\n","import {subtract} from 'ramda';\n\nconst ROWS_PER_PAGE_OPTIONS = [10, 25, 50, 100];\nexport const [DEFAULT_ROWS_PER_PAGE] = ROWS_PER_PAGE_OPTIONS;\nexport const getRowsPerPageOptions = (defaultRowsPerPage) =>\n ROWS_PER_PAGE_OPTIONS.filter((option) => option !== defaultRowsPerPage)\n .concat(defaultRowsPerPage)\n .sort(subtract);\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles(() => ({\n itemTitle: {\n fontSize: '13px'\n },\n itemIcon: {\n minWidth: '49px'\n },\n menuItem: {\n padding: '12px 16px',\n minWidth: '177px'\n },\n openIcon: {\n padding: '4px',\n borderRadius: '2px',\n marginTop: '-6px',\n marginRight: '-10px'\n }\n}));\n","import React, {useState, ReactNode, MouseEvent} from 'react';\nimport {Menu as Menu} from '@material-ui/core';\nimport {MenuItem as MenuItem} from '@material-ui/core';\nimport {Typography as Typography} from '@material-ui/core';\nimport {ListItemIcon as ListItemIcon} from '@material-ui/core';\nimport {IconButton as IconButton} from '@material-ui/core';\nimport MoreVertIcon from '@material-ui/icons/MoreVert';\nimport {useStyles} from './styles';\n\ninterface MenuItem {\n id: string;\n title: string;\n icon: ReactNode;\n active: boolean;\n action: () => void;\n}\n\ntype DashboardPopupMenuProps = {\n items: MenuItem[];\n};\n\nconst DashboardPopupMenu = ({items}: DashboardPopupMenuProps) => {\n const [anchorEl, setAnchorEl] = useState<HTMLElement | null>(null);\n const isMenuOpen = Boolean(anchorEl);\n const styles = useStyles();\n\n const handleMenuClick = (e: MouseEvent<HTMLButtonElement>) => setAnchorEl(e.currentTarget);\n\n const handleMenuClose = () => setAnchorEl(null);\n\n const handleItemClick = (action: () => void) => () => {\n handleMenuClose();\n action();\n };\n\n return (\n <>\n <IconButton className={styles.openIcon} aria-controls=\"menu\" aria-haspopup=\"true\" onClick={handleMenuClick}>\n <MoreVertIcon />\n </IconButton>\n <Menu\n id=\"menu\"\n anchorEl={anchorEl}\n open={isMenuOpen}\n onClose={handleMenuClose}\n transitionDuration={0}\n getContentAnchorEl={null}\n anchorOrigin={{\n vertical: 'bottom',\n horizontal: 'right'\n }}\n transformOrigin={{\n vertical: 'top',\n horizontal: 'right'\n }}\n >\n {items\n .filter((item) => item.active)\n .map(({id, icon, title, action}) => (\n <MenuItem key={id} onClick={handleItemClick(action)} className={styles.menuItem}>\n <ListItemIcon className={styles.itemIcon}>{icon}</ListItemIcon>\n <Typography className={styles.itemTitle}>{title}</Typography>\n </MenuItem>\n ))}\n </Menu>\n </>\n );\n};\n\nexport default DashboardPopupMenu;\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles(() => ({\n toolbarRoot: {\n padding: '16px',\n minHeight: '18px',\n lineHeight: '18px',\n marginBottom: '8px'\n },\n title: {\n fontSize: '16px',\n lineHeight: '20px',\n fontWeight: 'normal',\n color: 'rgba(0, 0, 0, 0.87)',\n letterSpacing: '0.15px',\n marginRight: '6px'\n },\n dragIcon: {\n position: 'absolute',\n left: '50%',\n top: '-3px',\n transform: 'translateX(-50%) rotate(90deg)',\n color: 'rgba(0, 0, 0, 0.3)',\n cursor: 'move',\n zIndex: 8,\n visibility: 'hidden',\n '.react-draggable $toolbarRoot:hover &.viewDraggableHandle': {\n visibility: 'visible'\n }\n },\n rightMenu: {\n display: 'flex',\n flexGrow: 1,\n justifyContent: 'flex-end',\n alignItems: 'baseline'\n },\n updatedChip: {\n background: '#FF9E1B',\n height: 20,\n fontSize: '10px',\n color: 'white',\n marginRight: '6px'\n }\n}));\n","import React, {useContext, useMemo} from 'react';\nimport {BasicViewHeader} from '@reltio/components';\nimport {DashboardViewIdContext} from '../../contexts/DashboardViewIdContext';\nimport {DashboardPopupMenu} from '../index';\nimport {Chip as Chip} from '@material-ui/core';\nimport FullscreenIcon from '@material-ui/icons/Fullscreen';\nimport FullscreenExitIcon from '@material-ui/icons/FullscreenExit';\nimport HighlightOffIcon from '@material-ui/icons/HighlightOff';\nimport ReplayIcon from '@material-ui/icons/Replay';\nimport DragIndicatorIcon from '@material-ui/icons/DragIndicator';\nimport i18n from 'ui-i18n';\n\nimport classnames from 'classnames';\nimport {useStyles} from './styles';\n\ntype Props = {\n title: string;\n onToggleFullscreen: (id: string) => void;\n isFullscreen: boolean;\n isUpdated?: boolean;\n onRefresh?: () => void;\n onRemove?: (id: string) => void;\n children?: React.ReactNode;\n};\n\nconst LayoutItemHeader = ({\n title,\n onToggleFullscreen,\n isUpdated = false,\n isFullscreen,\n onRemove,\n onRefresh,\n children\n}: Props) => {\n const id = useContext(DashboardViewIdContext);\n const menuItems = useMemo(\n () => [\n {\n id: 'refresh',\n title: 'Refresh',\n icon: <ReplayIcon />,\n active: !!onRefresh,\n action: () => onRefresh()\n },\n {\n id: 'fullscreen',\n title: 'Fullscreen',\n icon: <FullscreenIcon />,\n active: !isFullscreen,\n action: () => onToggleFullscreen(id)\n },\n {\n id: 'exitFullscreen',\n title: 'Exit fullscreen',\n icon: <FullscreenExitIcon />,\n active: isFullscreen,\n action: () => onToggleFullscreen(id)\n },\n {\n id: 'remove',\n title: 'Remove',\n icon: <HighlightOffIcon />,\n active: !!onRemove,\n action: () => {\n onRemove(id);\n if (isFullscreen) onToggleFullscreen(id);\n }\n }\n ],\n [id, isFullscreen, onRemove, onToggleFullscreen, onRefresh]\n );\n const styles = useStyles();\n\n return (\n <BasicViewHeader title={title} className={styles.toolbarRoot} classes={{title: styles.title}}>\n {isUpdated && <Chip label={i18n.text('Updated')} size=\"small\" className={styles.updatedChip} />}\n <div className={styles.rightMenu}>\n {children}\n <DashboardPopupMenu items={menuItems} />\n </div>\n <DragIndicatorIcon className={classnames('viewDraggableHandle', styles.dragIcon)} />\n </BasicViewHeader>\n );\n};\n\nexport default LayoutItemHeader;\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React from \"react\";\nexport default (({\n styles = {},\n ...props\n}) => React.createElement(\"svg\", _extends({\n width: \"148\",\n height: \"148\",\n viewBox: \"0 0 148 148\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n}, props), React.createElement(\"mask\", {\n id: \"svg2791016623a\",\n style: {\n maskType: \"alpha\"\n },\n maskUnits: \"userSpaceOnUse\",\n x: \"0\",\n y: \"0\",\n width: \"148\",\n height: \"148\"\n}, React.createElement(\"path\", {\n d: \"M74 148c40.869 0 74-33.131 74-74 0-40.87-33.131-74-74-74C33.13 0 0 33.13 0 74c0 40.869 33.13 74 74 74z\",\n fill: \"#fff\"\n})), React.createElement(\"g\", {\n mask: \"url(#svg2791016623a)\"\n}, React.createElement(\"path\", {\n d: \"M74 148c40.869 0 74-33.131 74-74 0-40.87-33.131-74-74-74C33.13 0 0 33.13 0 74c0 40.869 33.13 74 74 74z\",\n fill: \"#0072CE\",\n fillOpacity: \".1\"\n}), React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M0 5.203h148V148H0V5.203z\",\n fill: \"url(#nodata__paint0_linear)\"\n}), React.createElement(\"g\", {\n opacity: \".9\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n fill: \"#fff\"\n}, React.createElement(\"path\", {\n opacity: \".5\",\n d: \"M25.186 26.016h131.896V128.04H25.186V26.016z\",\n fillOpacity: \".8\"\n}), React.createElement(\"path\", {\n opacity: \".9\",\n d: \"M16.766 26.021a4.626 4.626 0 014.623-4.63h129.406a4.623 4.623 0 014.623 4.63v88.107a4.625 4.625 0 01-4.623 4.631H21.389a4.623 4.623 0 01-4.623-4.631V26.021z\"\n})), React.createElement(\"path\", {\n opacity: \".5\",\n d: \"M141.553 50.95a2.315 2.315 0 002.311-2.32 2.315 2.315 0 00-2.311-2.318 2.315 2.315 0 00-2.311 2.319 2.315 2.315 0 002.311 2.318zM133.465 50.95a2.315 2.315 0 002.311-2.32 2.315 2.315 0 00-2.311-2.318 2.314 2.314 0 00-2.311 2.319 2.314 2.314 0 002.311 2.318z\",\n fill: \"#6DBCFF\"\n}), React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M33.808 46.313a5.488 5.488 0 015.489 5.488v.035a5.488 5.488 0 01-10.977 0v-.035a5.488 5.488 0 015.488-5.489z\",\n fill: \"#E3EBF4\"\n}), React.createElement(\"path\", {\n opacity: \".5\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M47.102 46.19h37.054a2.029 2.029 0 010 4.057H47.102a2.028 2.028 0 110-4.057z\",\n fill: \"#B1AABD\"\n}), React.createElement(\"path\", {\n opacity: \".43\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M46.523 53.725h67.006a1.45 1.45 0 010 2.898H46.523a1.449 1.449 0 110-2.898z\",\n fill: \"#B1AABD\"\n}), React.createElement(\"path\", {\n opacity: \".2\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M45.943 58.941h21.62a.87.87 0 010 1.74h-21.62a.87.87 0 110-1.74z\",\n fill: \"#B1AABD\"\n}), React.createElement(\"path\", {\n opacity: \".5\",\n d: \"M71.35 30.664H31.508a3.188 3.188 0 100 6.375H71.35a3.188 3.188 0 000-6.375z\",\n fill: \"#645F6D\"\n}), React.createElement(\"path\", {\n opacity: \".5\",\n d: \"M141.553 72.972a2.315 2.315 0 002.311-2.318 2.315 2.315 0 00-2.311-2.318 2.315 2.315 0 00-2.311 2.318 2.315 2.315 0 002.311 2.319zM133.465 72.972a2.315 2.315 0 002.311-2.318 2.315 2.315 0 00-2.311-2.318 2.314 2.314 0 00-2.311 2.318 2.314 2.314 0 002.311 2.319z\",\n fill: \"#6DBCFF\"\n}), React.createElement(\"path\", {\n d: \"M39.297 73.824a5.488 5.488 0 10-10.977 0v.035a5.488 5.488 0 0010.977 0v-.035z\",\n fill: \"#E3EBF4\"\n}), React.createElement(\"path\", {\n opacity: \".5\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M47.102 68.214h43.894a2.029 2.029 0 010 4.057H47.102a2.029 2.029 0 010-4.057z\",\n fill: \"#B1AABD\"\n}), React.createElement(\"path\", {\n opacity: \".43\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M46.523 75.748h74.516a1.45 1.45 0 010 2.898H46.523a1.449 1.449 0 110-2.898z\",\n fill: \"#B1AABD\"\n}), React.createElement(\"path\", {\n opacity: \".2\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M45.943 80.965h60.077a.87.87 0 010 1.739H45.943a.87.87 0 010-1.74z\",\n fill: \"#B1AABD\"\n}), React.createElement(\"path\", {\n opacity: \".5\",\n d: \"M141.553 94.996a2.315 2.315 0 002.311-2.318 2.315 2.315 0 00-2.311-2.319 2.315 2.315 0 00-2.311 2.319 2.315 2.315 0 002.311 2.318zM133.465 94.996a2.315 2.315 0 002.311-2.318 2.315 2.315 0 00-2.311-2.319 2.314 2.314 0 00-2.311 2.319 2.314 2.314 0 002.311 2.318z\",\n fill: \"#6DBCFF\"\n}), React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M33.808 90.36a5.488 5.488 0 015.489 5.488v.035a5.488 5.488 0 11-10.977 0v-.035a5.488 5.488 0 015.488-5.489z\",\n fill: \"#E3EBF4\"\n}), React.createElement(\"path\", {\n opacity: \".5\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M47.102 90.237h58.915a2.028 2.028 0 010 4.057H47.102a2.029 2.029 0 010-4.057z\",\n fill: \"#B1AABD\"\n}), React.createElement(\"path\", {\n opacity: \".43\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M46.523 97.772h49.096a1.449 1.449 0 110 2.897H46.524a1.448 1.448 0 110-2.897z\",\n fill: \"#B1AABD\"\n}), React.createElement(\"path\", {\n opacity: \".2\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M45.943 102.988h21.62a.87.87 0 010 1.739h-21.62a.87.87 0 110-1.739z\",\n fill: \"#B1AABD\"\n}), React.createElement(\"path\", {\n opacity: \".1\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M102.927 64.75l44.536 77.139-58.989 34.057-44.536-77.14.405-.234c4.06 9.263 12.074 16.712 22.462 19.616 18.103 5.059 36.562-5.599 41.232-23.805 2.679-10.449.235-21.113-5.757-29.26l.647-.374z\",\n fill: \"url(#nodata__paint1_linear)\"\n}), React.createElement(\"path\", {\n opacity: \".2\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M56.352 103.62c10.385 10.611 27.223 10.611 37.609 0 10.385-10.612 10.385-27.816 0-38.427-10.386-10.611-27.224-10.611-37.61 0-10.385 10.611-10.385 27.815 0 38.427z\",\n fill: \"url(#nodata__paint2_linear)\"\n}), React.createElement(\"g\", {\n filter: \"url(#nodata__filter0_d)\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n}, React.createElement(\"path\", {\n d: \"M74.981 49.719c19.06 0 34.512 15.462 34.512 34.536a34.418 34.418 0 01-8.665 22.886l29.603 29.623a51.708 51.708 0 01-5.837 5.43l-29.705-29.725a34.338 34.338 0 01-19.908 6.322c-19.06 0-34.512-15.462-34.512-34.536S55.92 49.719 74.98 49.719zm0 10.265c-13.395 0-24.254 10.866-24.254 24.27 0 13.405 10.859 24.272 24.254 24.272 13.395 0 24.254-10.867 24.254-24.271S88.376 59.984 74.981 59.984z\",\n fill: \"#B5C8C9\"\n}), React.createElement(\"path\", {\n d: \"M52.903 110.801c-7.598-6.335-12.434-15.876-12.434-26.546 0-19.074 15.451-34.536 34.512-34.536 10.663 0 20.197 4.839 26.528 12.442l-5.662 5.667c-4.862-6.175-12.401-10.14-20.866-10.14-14.662 0-26.548 11.895-26.548 26.567 0 8.47 3.962 16.015 10.132 20.88l-5.662 5.666z\",\n fill: \"#fff\",\n fillOpacity: \".4\"\n})), React.createElement(\"g\", {\n style: {\n mixBlendMode: \"soft-light\"\n },\n opacity: \".4\"\n}, React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M56.352 103.62c10.385 10.611 27.223 10.611 37.609 0 10.385-10.612 10.385-27.816 0-38.427-10.386-10.611-27.224-10.611-37.61 0-10.385 10.611-10.385 27.815 0 38.427z\",\n fill: \"#D9F5FF\"\n})), React.createElement(\"g\", {\n style: {\n mixBlendMode: \"overlay\"\n }\n}, React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M71.621 91.769c0-2.272.257-4.065.77-5.38.513-1.314 1.346-2.453 2.497-3.418 1.151-.964 2.026-1.847 2.625-2.648.6-.802.899-1.684.899-2.649 0-2.35-1.012-3.524-3.034-3.524-.933 0-1.688.343-2.263 1.027-.576.685-.88 1.61-.91 2.777h-7.888c.031-3.111 1.011-5.534 2.94-7.27 1.93-1.734 4.636-2.601 8.121-2.601 3.47 0 6.157.801 8.063 2.404 1.905 1.602 2.858 3.881 2.858 6.837 0 1.291-.257 2.466-.77 3.524-.513 1.058-1.338 2.139-2.474 3.243l-2.683 2.497c-.762.732-1.291 1.482-1.587 2.252-.295.77-.459 1.746-.49 2.929h-6.674zm-.957 7.094c0-1.151.416-2.096 1.249-2.835.832-.74 1.87-1.109 3.115-1.109s2.283.37 3.115 1.109c.833.739 1.249 1.684 1.249 2.835s-.416 2.096-1.249 2.835c-.832.739-1.87 1.109-3.115 1.109s-2.283-.37-3.115-1.109c-.833-.739-1.249-1.684-1.249-2.835z\",\n fill: \"#000\",\n fillOpacity: \".87\"\n})), React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M71.621 91.769c0-2.272.257-4.065.77-5.38.513-1.314 1.346-2.453 2.497-3.418 1.151-.964 2.026-1.847 2.625-2.648.6-.802.899-1.684.899-2.649 0-2.35-1.012-3.524-3.034-3.524-.933 0-1.688.343-2.263 1.027-.576.685-.88 1.61-.91 2.777h-7.888c.031-3.111 1.011-5.534 2.94-7.27 1.93-1.734 4.636-2.601 8.121-2.601 3.47 0 6.157.801 8.063 2.404 1.905 1.602 2.858 3.881 2.858 6.837 0 1.291-.257 2.466-.77 3.524-.513 1.058-1.338 2.139-2.474 3.243l-2.683 2.497c-.762.732-1.291 1.482-1.587 2.252-.295.77-.459 1.746-.49 2.929h-6.674zm-.957 7.094c0-1.151.416-2.096 1.249-2.835.832-.74 1.87-1.109 3.115-1.109s2.283.37 3.115 1.109c.833.739 1.249 1.684 1.249 2.835s-.416 2.096-1.249 2.835c-.832.739-1.87 1.109-3.115 1.109s-2.283-.37-3.115-1.109c-.833-.739-1.249-1.684-1.249-2.835z\",\n fill: \"#3C74B4\",\n fillOpacity: \".38\"\n})), React.createElement(\"defs\", null, React.createElement(\"linearGradient\", {\n id: \"nodata__paint0_linear\",\n x1: \"74\",\n y1: \"5.203\",\n x2: \"74\",\n y2: \"148\",\n gradientUnits: \"userSpaceOnUse\"\n}, React.createElement(\"stop\", {\n stopColor: \"#FAFAFA\",\n stopOpacity: \"0\"\n}), React.createElement(\"stop\", {\n offset: \"1\",\n stopColor: \"#F4F4F4\"\n})), React.createElement(\"linearGradient\", {\n id: \"nodata__paint1_linear\",\n x1: \"123.612\",\n y1: \"142.028\",\n x2: \"76.729\",\n y2: \"122.717\",\n gradientUnits: \"userSpaceOnUse\"\n}, React.createElement(\"stop\", {\n stopOpacity: \"0\"\n}), React.createElement(\"stop\", {\n offset: \"1\"\n})), React.createElement(\"linearGradient\", {\n id: \"nodata__paint2_linear\",\n x1: \"75.156\",\n y1: \"57.234\",\n x2: \"75.156\",\n y2: \"111.578\",\n gradientUnits: \"userSpaceOnUse\"\n}, React.createElement(\"stop\", {\n stopColor: \"#EEFBFF\"\n}), React.createElement(\"stop\", {\n offset: \"1\",\n stopColor: \"#0072CE\"\n})), React.createElement(\"filter\", {\n id: \"nodata__filter0_d\",\n x: \"36.469\",\n y: \"47.719\",\n width: \"97.962\",\n height: \"100.475\",\n filterUnits: \"userSpaceOnUse\",\n colorInterpolationFilters: \"sRGB\"\n}, React.createElement(\"feFlood\", {\n floodOpacity: \"0\",\n result: \"BackgroundImageFix\"\n}), React.createElement(\"feColorMatrix\", {\n in: \"SourceAlpha\",\n type: \"matrix\",\n values: \"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\n}), React.createElement(\"feOffset\", {\n dy: \"2\"\n}), React.createElement(\"feGaussianBlur\", {\n stdDeviation: \"2\"\n}), React.createElement(\"feColorMatrix\", {\n type: \"matrix\",\n values: \"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.2 0\"\n}), React.createElement(\"feBlend\", {\n mode: \"normal\",\n in2: \"BackgroundImageFix\",\n result: \"effect1_dropShadow\"\n}), React.createElement(\"feBlend\", {\n mode: \"normal\",\n in: \"SourceGraphic\",\n in2: \"effect1_dropShadow\",\n result: \"shape\"\n})))));","import {makeStyles} from '@material-ui/core/styles';\n\ntype NoDataContainer = {\n height?: number;\n};\n\nexport const useStyles = makeStyles(() => ({\n noDataContainer: ({height}: NoDataContainer) => ({\n height: height ? `${height}px` : 'auto',\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'center',\n alignItems: 'center',\n color: 'rgba(0, 0, 0, 0.54)'\n }),\n icon: {\n height: '88px',\n width: '88px',\n marginBottom: '20px'\n }\n}));\n","import React from 'react';\nimport i18n from 'ui-i18n';\nimport {Typography as Typography} from '@material-ui/core';\nimport NoDataIcon from './icons/noData.svg';\nimport {useStyles} from './styles';\n\ntype DashboardNoDataProps = {\n height?: number;\n};\n\nconst DashboardNoData = ({height}: DashboardNoDataProps) => {\n const styles = useStyles({height});\n return (\n <div className={styles.noDataContainer}>\n <NoDataIcon className={styles.icon} />\n <Typography>{i18n.text('No Data')}</Typography>\n </div>\n );\n};\n\nexport default DashboardNoData;\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React from \"react\";\nexport default (({\n styles = {},\n ...props\n}) => React.createElement(\"svg\", _extends({\n width: \"88\",\n height: \"88\",\n viewBox: \"0 0 88 88\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n}, props), React.createElement(\"mask\", {\n id: \"svg3217593551a\",\n style: {\n maskType: \"alpha\"\n },\n maskUnits: \"userSpaceOnUse\",\n x: \"0\",\n y: \"0\",\n width: \"88\",\n height: \"88\"\n}, React.createElement(\"path\", {\n d: \"M44 88c24.3 0 44-19.7 44-44S68.3 0 44 0 0 19.7 0 44s19.7 44 44 44z\",\n fill: \"#fff\"\n})), React.createElement(\"g\", {\n mask: \"url(#svg3217593551a)\"\n}, React.createElement(\"path\", {\n d: \"M44 88c24.3 0 44-19.7 44-44S68.3 0 44 0 0 19.7 0 44s19.7 44 44 44z\",\n fill: \"#CAC4D5\",\n fillOpacity: \".3\"\n}), React.createElement(\"path\", {\n opacity: \".3\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M19.987 6.73l49.449 6.072a.687.687 0 01.596.767l-7.845 63.888a.688.688 0 01-.766.6L7.214 71.4a.688.688 0 01-.599-.763l.408-3.326L19.987 6.73z\",\n fill: \"#fff\"\n}), React.createElement(\"path\", {\n opacity: \".2\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M1.267 25.921l45.86-19.466a.687.687 0 01.9.366l25.15 59.251a.61.61 0 01-.386.84L22.34 82.765a.719.719 0 01-.887-.445l-20.185-56.4z\",\n fill: \"#fff\"\n}), React.createElement(\"path\", {\n d: \"M65.631 9.23H11.017a.688.688 0 00-.687.687v64.37c0 .38.307.687.687.687h54.614c.38 0 .688-.308.688-.687V9.917a.688.688 0 00-.688-.688z\",\n fill: \"#F9F9F9\"\n}), React.createElement(\"path\", {\n opacity: \".1\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M14.885 34.95l3.105-1.666 7.31-4.025 8.852 3.472 7.89-5.223 8.036-2.628 8.113 5.193 3.352-10.255v16.967H14.935l-.05-1.835z\",\n fill: \"#9C6CF0\"\n}), React.createElement(\"path\", {\n opacity: \".2\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M14.885 32.331l3.105-3.761 7.31 4.31 8.852 1.656 7.89-2.205 8.036 1.827 8.113-12.643 3.352.742V36.36H14.935l-.05-4.029z\",\n fill: \"#FA82AA\"\n}), React.createElement(\"path\", {\n opacity: \".2\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M14.885 34.946l3.105.432 7.31 1.01 8.852-5.117 7.89 3.675 8.036 1.839 8.113-1.839 3.352.811v1.028H14.935l-.05-1.839z\",\n fill: \"#4DBEE9\"\n}), React.createElement(\"path\", {\n opacity: \".1\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M61.543 35.288l-.05 1.497H14.885v-5.239l3.352-.276 8.114 4.697 8.036-.679 7.889.82 8.852-.616 7.31-1.601 3.105 1.397z\",\n fill: \"#4DBEE9\"\n}), React.createElement(\"path\", {\n d: \"M21.036 40.178h-5.09a.636.636 0 000 1.272h5.09a.636.636 0 100-1.272z\",\n fill: \"#ACACAC\"\n}), React.createElement(\"path\", {\n opacity: \".3\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M16.582 55.872c.703 0 1.273.57 1.273 1.273V69.02a1.272 1.272 0 11-2.545 0V57.144c0-.702.57-1.272 1.272-1.272zM25.914 55.872c.702 0 1.272.57 1.272 1.273V69.02a1.272 1.272 0 11-2.545 0V57.144c0-.702.57-1.272 1.273-1.272zM39.91 55.872c.703 0 1.273.57 1.273 1.273V69.02a1.272 1.272 0 11-2.545 0V57.144c0-.702.57-1.272 1.273-1.272zM21.248 55.872c.702 0 1.272.57 1.272 1.273V69.02a1.273 1.273 0 01-2.545 0V57.144c0-.702.57-1.272 1.273-1.272zM35.245 55.872c.703 0 1.273.57 1.273 1.273V69.02a1.272 1.272 0 11-2.545 0V57.144c0-.702.57-1.272 1.272-1.272zM30.58 55.872c.702 0 1.272.57 1.272 1.273V69.02a1.272 1.272 0 11-2.545 0V57.144c0-.702.57-1.272 1.272-1.272zM44.577 55.872c.702 0 1.272.57 1.272 1.273V69.02a1.273 1.273 0 01-2.545 0V57.144c0-.702.57-1.272 1.273-1.272z\",\n fill: \"#BDBDBD\"\n}), React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M16.582 65.628c.703 0 1.273.57 1.273 1.272v2.121a1.272 1.272 0 11-2.545 0v-2.12c0-.703.57-1.273 1.272-1.273zM25.914 62.658c.702 0 1.272.57 1.272 1.273v5.09a1.272 1.272 0 11-2.545 0v-5.09c0-.703.57-1.273 1.273-1.273zM39.91 65.628c.703 0 1.273.57 1.273 1.272v2.121a1.272 1.272 0 11-2.545 0v-2.12c0-.703.57-1.273 1.273-1.273zM21.248 66.477c.702 0 1.272.57 1.272 1.272v1.273a1.273 1.273 0 01-2.545 0v-1.273c0-.703.57-1.272 1.273-1.272z\",\n fill: \"#4DBEE9\"\n}), React.createElement(\"path\", {\n d: \"M36.518 65.628a1.272 1.272 0 00-2.545 0v3.393a1.272 1.272 0 102.545 0v-3.393zM31.852 62.234a1.272 1.272 0 10-2.545 0v6.787a1.272 1.272 0 102.545 0v-6.787z\",\n fill: \"#4DBEE9\"\n}), React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M44.577 60.962c.702 0 1.272.57 1.272 1.272v6.787a1.273 1.273 0 01-2.545 0v-6.787c0-.702.57-1.272 1.273-1.272z\",\n fill: \"#4DBEE9\"\n}), React.createElement(\"path\", {\n d: \"M18.915 18.546a1.909 1.909 0 100-3.817 1.909 1.909 0 000 3.817z\",\n fill: \"#9C6CF0\"\n}), React.createElement(\"path\", {\n opacity: \".5\",\n d: \"M34.185 18.546a1.909 1.909 0 100-3.817 1.909 1.909 0 000 3.817z\",\n fill: \"#4DBEE9\"\n}), React.createElement(\"path\", {\n opacity: \".3\",\n d: \"M49.454 18.546a1.909 1.909 0 100-3.817 1.909 1.909 0 000 3.817z\",\n fill: \"#4DBEE9\"\n}), React.createElement(\"path\", {\n opacity: \".8\",\n d: \"M26.55 18.546a1.909 1.909 0 100-3.817 1.909 1.909 0 000 3.817z\",\n fill: \"#FB6597\"\n}), React.createElement(\"path\", {\n d: \"M41.82 18.546a1.909 1.909 0 100-3.817 1.909 1.909 0 000 3.817z\",\n fill: \"#4DBEE9\"\n}), React.createElement(\"path\", {\n opacity: \".2\",\n d: \"M57.09 18.546a1.909 1.909 0 100-3.817 1.909 1.909 0 000 3.817z\",\n fill: \"#4DBEE9\"\n}), React.createElement(\"path\", {\n opacity: \".5\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M16.582 19.818h4.666a.424.424 0 110 .849h-4.666a.424.424 0 110-.849zM31.851 19.818h4.666a.424.424 0 010 .849h-4.666a.424.424 0 110-.849zM47.121 19.818h4.666a.424.424 0 010 .849h-4.666a.424.424 0 010-.849zM24.217 19.818h4.665a.424.424 0 010 .849h-4.665a.424.424 0 010-.849zM39.486 19.818h4.666a.424.424 0 110 .849h-4.666a.424.424 0 110-.849zM54.756 19.818h4.666a.424.424 0 110 .849h-4.666a.424.424 0 110-.849z\",\n fill: \"#ACACAC\"\n}), React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M15.946 43.571h5.09a.636.636 0 110 1.273h-5.09a.636.636 0 010-1.273zM15.946 46.116h5.09a.636.636 0 010 1.273h-5.09a.636.636 0 010-1.273zM15.946 48.661h5.09a.636.636 0 010 1.273h-5.09a.636.636 0 110-1.273zM23.58 43.571h5.09a.636.636 0 110 1.273h-5.09a.636.636 0 010-1.273zM23.58 46.116h5.09a.636.636 0 010 1.273h-5.09a.636.636 0 010-1.273zM23.58 48.661h5.09a.636.636 0 010 1.273h-5.09a.636.636 0 110-1.273zM49.454 43.571h11.028a.636.636 0 010 1.273H49.454a.636.636 0 010-1.273zM49.454 46.116h11.028a.636.636 0 010 1.273H49.454a.636.636 0 010-1.273zM49.454 48.661h11.028a.636.636 0 010 1.273H49.454a.636.636 0 110-1.273zM31.215 43.571h15.27a.636.636 0 110 1.273h-15.27a.636.636 0 010-1.273zM31.215 46.116h15.27a.636.636 0 010 1.273h-15.27a.636.636 0 010-1.273zM31.215 48.661h15.27a.636.636 0 010 1.273h-15.27a.636.636 0 010-1.273zM15.946 51.206h5.09a.636.636 0 110 1.272h-5.09a.636.636 0 110-1.272zM23.58 51.206h5.09a.636.636 0 110 1.272h-5.09a.636.636 0 110-1.272zM49.454 51.206h11.028a.636.636 0 010 1.272H49.454a.636.636 0 110-1.272zM31.215 51.206h15.27a.636.636 0 110 1.272h-15.27a.636.636 0 010-1.272z\",\n fill: \"#E9E9E9\"\n}), React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M49.878 55.872h5.09a.636.636 0 110 1.273h-5.09a.636.636 0 110-1.273z\",\n fill: \"#ACACAC\"\n}), React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M49.878 59.69h11.029a.636.636 0 010 1.272H49.878a.636.636 0 110-1.273zM49.878 62.234h11.029a.636.636 0 010 1.273H49.878a.636.636 0 010-1.273zM49.878 64.78h11.029a.636.636 0 010 1.272H49.878a.636.636 0 010-1.273z\",\n fill: \"#E9E9E9\"\n}), React.createElement(\"path\", {\n d: \"M54.968 67.324h-5.09a.636.636 0 000 1.273h5.09a.636.636 0 000-1.273z\",\n fill: \"#E9E9E9\"\n}), React.createElement(\"g\", {\n filter: \"url(#error__filter0_d)\"\n}, React.createElement(\"path\", {\n d: \"M57.406 74.25c9.493 0 17.188-7.695 17.188-17.188 0-9.492-7.695-17.187-17.188-17.187-9.492 0-17.187 7.695-17.187 17.188 0 9.492 7.695 17.187 17.187 17.187z\",\n fill: \"#000\"\n})), React.createElement(\"path\", {\n d: \"M57.406 74.25c9.493 0 17.188-7.695 17.188-17.188 0-9.492-7.695-17.187-17.188-17.187-9.492 0-17.187 7.695-17.187 17.188 0 9.492 7.695 17.187 17.187 17.187z\",\n fill: \"#F25252\"\n}), React.createElement(\"path\", {\n opacity: \".15\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M57.406 34.719c12.34 0 22.344 10.003 22.344 22.343S69.746 79.406 57.406 79.406c-12.34 0-22.343-10.003-22.343-22.344 0-12.34 10.003-22.343 22.343-22.343zm-.172 2.406c-10.916 0-19.765 8.85-19.765 19.766 0 10.916 8.85 19.765 19.765 19.765C68.151 76.656 77 67.806 77 56.891c0-10.917-8.85-19.766-19.766-19.766z\",\n fill: \"#F25252\"\n}), React.createElement(\"path\", {\n opacity: \".3\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M57.406 38.844c10.062 0 18.219 8.157 18.219 18.218 0 10.062-8.157 18.22-18.219 18.22-10.062 0-18.218-8.158-18.218-18.22 0-10.061 8.156-18.218 18.218-18.218zm0 2.043c-8.933 0-16.175 7.242-16.175 16.175 0 8.934 7.242 16.176 16.175 16.176 8.934 0 16.176-7.242 16.176-16.175 0-8.934-7.242-16.176-16.176-16.176z\",\n fill: \"#F25252\"\n}), React.createElement(\"path\", {\n opacity: \".05\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M57.406 26.469C74.303 26.469 88 40.166 88 57.062c0 16.897-13.697 30.594-30.594 30.594-16.896 0-30.593-13.697-30.593-30.594 0-16.896 13.697-30.593 30.593-30.593zm-.172 3.437c-14.903 0-26.984 12.082-26.984 26.985 0 14.903 12.081 26.984 26.984 26.984 14.903 0 26.985-12.081 26.985-26.984 0-14.903-12.082-26.985-26.985-26.985z\",\n fill: \"#F25252\"\n}), React.createElement(\"path\", {\n d: \"M57.406 71.844c8.164 0 14.782-6.618 14.782-14.781 0-8.164-6.618-14.782-14.782-14.782-8.163 0-14.781 6.618-14.781 14.782 0 8.163 6.618 14.78 14.781 14.78z\",\n fill: \"#FF6A6A\"\n}), React.createElement(\"path\", {\n opacity: \".05\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M58.298 46.448L75.18 63.331l-9.114 12.078h-2.029l-7.582-7.582 1.006-3.178.837-18.2z\",\n fill: \"url(#error__paint0_linear)\"\n}), React.createElement(\"g\", {\n filter: \"url(#error__filter1_d)\"\n}, React.createElement(\"path\", {\n d: \"M57.406 68.063a1.719 1.719 0 100-3.438 1.719 1.719 0 000 3.438z\",\n fill: \"#000\"\n})), React.createElement(\"path\", {\n d: \"M57.406 68.063a1.719 1.719 0 100-3.438 1.719 1.719 0 000 3.438z\",\n fill: \"#fff\"\n}), React.createElement(\"g\", {\n filter: \"url(#error__filter2_d)\"\n}, React.createElement(\"path\", {\n d: \"M57.406 46.063c.95 0 1.719.769 1.719 1.718v12.375a1.719 1.719 0 11-3.438 0V47.781c0-.949.77-1.718 1.72-1.718z\",\n fill: \"#000\"\n})), React.createElement(\"path\", {\n d: \"M57.406 46.063c.95 0 1.719.769 1.719 1.718v12.375a1.719 1.719 0 11-3.438 0V47.781c0-.949.77-1.718 1.72-1.718z\",\n fill: \"#fff\"\n})), React.createElement(\"defs\", null, React.createElement(\"filter\", {\n id: \"error__filter0_d\",\n x: \"36.219\",\n y: \"37.875\",\n width: \"42.375\",\n height: \"42.375\",\n filterUnits: \"userSpaceOnUse\",\n colorInterpolationFilters: \"sRGB\"\n}, React.createElement(\"feFlood\", {\n floodOpacity: \"0\",\n result: \"BackgroundImageFix\"\n}), React.createElement(\"feColorMatrix\", {\n in: \"SourceAlpha\",\n type: \"matrix\",\n values: \"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\n}), React.createElement(\"feOffset\", {\n dy: \"2\"\n}), React.createElement(\"feGaussianBlur\", {\n stdDeviation: \"2\"\n}), React.createElement(\"feColorMatrix\", {\n type: \"matrix\",\n values: \"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.2 0\"\n}), React.createElement(\"feBlend\", {\n mode: \"normal\",\n in2: \"BackgroundImageFix\",\n result: \"effect1_dropShadow\"\n}), React.createElement(\"feBlend\", {\n mode: \"normal\",\n in: \"SourceGraphic\",\n in2: \"effect1_dropShadow\",\n result: \"shape\"\n})), React.createElement(\"filter\", {\n id: \"error__filter1_d\",\n x: \"51.688\",\n y: \"62.625\",\n width: \"11.438\",\n height: \"11.438\",\n filterUnits: \"userSpaceOnUse\",\n colorInterpolationFilters: \"sRGB\"\n}, React.createElement(\"feFlood\", {\n floodOpacity: \"0\",\n result: \"BackgroundImageFix\"\n}), React.createElement(\"feColorMatrix\", {\n in: \"SourceAlpha\",\n type: \"matrix\",\n values: \"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\n}), React.createElement(\"feOffset\", {\n dy: \"2\"\n}), React.createElement(\"feGaussianBlur\", {\n stdDeviation: \"2\"\n}), React.createElement(\"feColorMatrix\", {\n type: \"matrix\",\n values: \"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.2 0\"\n}), React.createElement(\"feBlend\", {\n mode: \"normal\",\n in2: \"BackgroundImageFix\",\n result: \"effect1_dropShadow\"\n}), React.createElement(\"feBlend\", {\n mode: \"normal\",\n in: \"SourceGraphic\",\n in2: \"effect1_dropShadow\",\n result: \"shape\"\n})), React.createElement(\"filter\", {\n id: \"error__filter2_d\",\n x: \"51.688\",\n y: \"44.063\",\n width: \"11.438\",\n height: \"23.813\",\n filterUnits: \"userSpaceOnUse\",\n colorInterpolationFilters: \"sRGB\"\n}, React.createElement(\"feFlood\", {\n floodOpacity: \"0\",\n result: \"BackgroundImageFix\"\n}), React.createElement(\"feColorMatrix\", {\n in: \"SourceAlpha\",\n type: \"matrix\",\n values: \"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\n}), React.createElement(\"feOffset\", {\n dy: \"2\"\n}), React.createElement(\"feGaussianBlur\", {\n stdDeviation: \"2\"\n}), React.createElement(\"feColorMatrix\", {\n type: \"matrix\",\n values: \"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.2 0\"\n}), React.createElement(\"feBlend\", {\n mode: \"normal\",\n in2: \"BackgroundImageFix\",\n result: \"effect1_dropShadow\"\n}), React.createElement(\"feBlend\", {\n mode: \"normal\",\n in: \"SourceGraphic\",\n in2: \"effect1_dropShadow\",\n result: \"shape\"\n})), React.createElement(\"linearGradient\", {\n id: \"error__paint0_linear\",\n x1: \"68.438\",\n y1: \"71.571\",\n x2: \"60.119\",\n y2: \"58.801\",\n gradientUnits: \"userSpaceOnUse\"\n}, React.createElement(\"stop\", {\n stopOpacity: \"0\"\n}), React.createElement(\"stop\", {\n offset: \"1\"\n})))));","import {makeStyles} from '@material-ui/core/styles';\n\ntype ErrorContainerProps = {\n height?: number;\n};\n\nexport const useStyles = makeStyles((theme) => ({\n errorContainer: ({height}: ErrorContainerProps) => ({\n height: height ? `${height}px` : 'auto',\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'center',\n alignItems: 'center',\n color: 'rgba(0, 0, 0, 0.54)'\n }),\n errorIcon: {\n height: '88px',\n width: '88px',\n marginBottom: '20px',\n paddingTop: '36px'\n },\n refreshButton: {\n color: theme.palette.primary.main,\n marginTop: '10px'\n },\n refreshIcon: {\n width: '24px',\n height: '24px'\n }\n}));\n","import React from 'react';\nimport i18n from 'ui-i18n';\nimport {Typography as Typography} from '@material-ui/core';\nimport ReplayIcon from '@material-ui/icons/Replay';\nimport {Button as Button} from '@material-ui/core';\nimport ErrorIcon from './icons/error.svg';\nimport {useStyles} from './styles';\n\ntype DashboardErrorProps = {\n height?: number;\n onRefresh?: () => void;\n message?: string;\n};\n\nconst DashboardError = ({height, onRefresh, message}: DashboardErrorProps) => {\n const styles = useStyles({height});\n return (\n <div className={styles.errorContainer}>\n <ErrorIcon className={styles.errorIcon} />\n <Typography>{message}</Typography>\n {onRefresh && (\n <Button\n className={styles.refreshButton}\n startIcon={<ReplayIcon color=\"primary\" className={styles.refreshIcon} />}\n onClick={onRefresh}\n >\n <Typography variant=\"button\">{i18n.text('Refresh')}</Typography>\n </Button>\n )}\n </div>\n );\n};\n\nexport default DashboardError;\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles(() => ({\n viewContent: {\n height: '100%',\n overflow: 'hidden',\n position: 'relative',\n padding: '0 16px 16px'\n },\n toolbarRoot: {\n padding: '16px',\n minHeight: '18px',\n lineHeight: '18px',\n marginBottom: '8px',\n '&:hover .viewDraggableHandle': {\n visibility: 'visible'\n }\n },\n title: {\n fontSize: '16px',\n lineHeight: '19px',\n fontWeight: 'normal',\n color: 'rgba(0, 0, 0, 0.87)',\n letterSpacing: '0.15px'\n },\n dragIcon: {\n position: 'absolute',\n left: '50%',\n top: '-3px',\n transform: 'translateX(-50%) rotate(90deg)',\n color: 'rgba(0, 0, 0, 0.3)',\n cursor: 'move',\n zIndex: 8,\n visibility: 'hidden'\n }\n}));\n","import React from 'react';\nimport classnames from 'classnames';\nimport i18n from 'ui-i18n';\nimport {BasicViewContent, ErrorBoundary, RequestStates} from '@reltio/components';\nimport {DashboardError, DashboardLinearLoader, DashboardNoData} from '../index';\nimport ReactResizeDetector from 'react-resize-detector';\nimport {useStyles} from './styles';\n\ntype ChildrenProps<T> = {data: T[]; width: number; height: number};\n\ntype Props<T> = {\n loadingState: RequestStates;\n children: (props: ChildrenProps<T>) => React.ReactNode;\n onRefresh: () => void;\n data: T[];\n className?: string;\n EmptyPlaceholder?: React.ReactNode;\n};\n\nconst LayoutItemContent = <T extends unknown>({\n loadingState,\n onRefresh,\n children,\n data,\n className,\n EmptyPlaceholder\n}: Props<T>) => {\n const styles = useStyles();\n\n const renderContent = ({width, height}: {width: number; height: number}) => {\n switch (loadingState) {\n case RequestStates.LOADED:\n if (!data || data.length === 0) {\n return EmptyPlaceholder || <DashboardNoData height={height} />;\n }\n return (\n <ErrorBoundary\n error={<DashboardError message={i18n.text('Something went wrong')} height={height} />}\n >\n {children({data, width, height})}\n </ErrorBoundary>\n );\n case RequestStates.LOADING:\n return <DashboardLinearLoader />;\n case RequestStates.ERROR:\n return (\n <DashboardError message={i18n.text('Error Loading Data')} height={height} onRefresh={onRefresh} />\n );\n default:\n return <div>Loading...</div>;\n }\n };\n\n return (\n <BasicViewContent className={classnames(styles.viewContent, className)}>\n <ReactResizeDetector refreshMode=\"debounce\" refreshRate={100} handleWidth handleHeight>\n {renderContent}\n </ReactResizeDetector>\n </BasicViewContent>\n );\n};\n\nexport default LayoutItemContent;\n","import React, {useRef} from 'react';\nimport {BasicTablePagination} from '@reltio/components';\n\nconst PAGINATION_HEIGHT = 60;\n\ntype RefProps = {\n basicTableRef?: React.MutableRefObject<any> | null;\n};\n\ntype Props = {\n count?: number;\n height?: number;\n onChangePage?: (page: number) => void;\n page?: number;\n rowsPerPageOptions?: number[];\n rowsPerPage?: number;\n onChangeRowsPerPage?: (page: number) => void;\n};\n\nexport function withPagination<T>(TableComponent: React.ComponentType<T>) {\n const WithPagination = (props: Props & Omit<T, keyof RefProps>) => {\n const basicTableRef = useRef(null);\n\n return (\n <>\n <TableComponent\n {...(props as T)}\n basicTableRef={basicTableRef}\n height={props.height - PAGINATION_HEIGHT}\n />\n <BasicTablePagination {...props} basicTableRef={basicTableRef} />\n </>\n );\n };\n\n WithPagination.displayName = 'WithPagination';\n\n return WithPagination;\n}\n","import {ChartData} from '@reltio/components';\nimport {SavedSearchData} from '../types/SavedSearchData';\n\nexport const savedSearchDataToChartData = (data: SavedSearchData[]): ChartData[] => {\n return data.map(({uri, name, count}) => {\n return {\n value: count || 0,\n label: name || '',\n group: uri\n };\n });\n};\n\nexport const savedSearchDataToSearchState = ({uiState, uri}: SavedSearchData) => {\n if (uiState.version === '2.0') {\n return {...uiState, currentSavedSearchUri: uri};\n } else {\n return {...uiState.state, curSavedSearchUri: uri};\n }\n};\n","import React, {memo, useCallback, useMemo, useState} from 'react';\nimport {useDispatch} from 'react-redux';\nimport {find, pipe, propEq} from 'ramda';\nimport i18n from 'ui-i18n';\nimport {TableWithBars, useReloadFacet} from '@reltio/components';\nimport {ui} from '@reltio/mdm-module';\nimport {FilteredSavedSearchesFacetConfig} from '../../types/FilteredSavedSearchesFacetConfig';\nimport {useSavedSearchesRequest} from '../../hooks/useSavedSearchesRequest';\nimport {DEFAULT_ROWS_PER_PAGE, getRowsPerPageOptions} from './helpers';\nimport LayoutItemView from '../../components/LayoutItemView/LayoutItemView';\nimport LayoutItemHeader from '../../components/LayoutItemHeader/LayoutItemHeader';\nimport LayoutItemContent from '../../components/LayoutItemContent/LayoutItemContent';\nimport {withPagination} from '../../HOCs/withPagination';\nimport {savedSearchDataToChartData, savedSearchDataToSearchState} from '../../services/savedSearches';\n\ntype Props = {\n config: FilteredSavedSearchesFacetConfig;\n onToggleFullscreen: (id: string) => void;\n isUpdated?: boolean;\n isFullscreen: boolean;\n onRemove?: (id: string) => void;\n};\n\nconst TableWithPagination = withPagination(TableWithBars);\n\nconst FilteredSavedSearchesFacet = ({config, onToggleFullscreen, isUpdated, isFullscreen, onRemove}: Props) => {\n const {id, title, options, max = DEFAULT_ROWS_PER_PAGE} = config;\n\n const rowsPerPageOptions = useMemo(() => getRowsPerPageOptions(max), [max]);\n const [rowsPerPage, setRowsPerPage] = useState(max);\n const [page, setPage] = useState(0);\n const {data, state, reload, total} = useSavedSearchesRequest({\n options,\n max: rowsPerPage,\n offset: rowsPerPage * page\n });\n const chartData = useMemo(() => savedSearchDataToChartData(data), [data]);\n\n const dispatch = useDispatch();\n const onSSClick = useCallback(\n (uri: string) => {\n pipe(find(propEq('uri', uri)), savedSearchDataToSearchState, ui.actions.openSearch, dispatch)(data);\n },\n [dispatch, data]\n );\n\n useReloadFacet({state, reload});\n\n return (\n <LayoutItemView id={id}>\n <LayoutItemHeader\n title={title}\n onToggleFullscreen={onToggleFullscreen}\n isFullscreen={isFullscreen}\n isUpdated={isUpdated}\n onRefresh={reload}\n onRemove={onRemove}\n />\n <LayoutItemContent loadingState={state} onRefresh={reload} data={chartData}>\n {({data, width, height}) => {\n return (\n <TableWithPagination\n width={width}\n height={height}\n data={data}\n count={total}\n onChangePage={setPage}\n page={page}\n rowsPerPage={rowsPerPage}\n onChangeRowsPerPage={setRowsPerPage}\n rowsPerPageOptions={rowsPerPageOptions}\n options={{\n headers: [i18n.text('Name')],\n showValues: options?.countResults\n }}\n onItemClick={onSSClick}\n />\n );\n }}\n </LayoutItemContent>\n </LayoutItemView>\n );\n};\n\nexport default memo(FilteredSavedSearchesFacet);\n","import {\n addGlobalFilterToQuery,\n buildFilterQueryString,\n DashboardConfigFilter,\n FilterOptions,\n findAttributeTypeByUri,\n getSpecialAttrTypeByFieldName,\n isDateType,\n mapFilterValue,\n Metadata,\n parseTimestamp,\n SearchFilter,\n searchUriToAttrUri,\n wrapInArray\n} from '@reltio/mdm-sdk';\nimport {assoc, curry, evolve, includes, map, pipe, prop, when, __} from 'ramda';\n\nexport const configFilterToSearchFilter = when(\n pipe(prop('filter'), includes(__, [FilterOptions.IN_RANGE, FilterOptions.HAS_ALL])),\n evolve({values: wrapInArray})\n);\n\nexport const buildQuery = (\n filters: DashboardConfigFilter[],\n globalFilter?: string,\n searchByOv?: boolean,\n activityFilter?: string\n): string => {\n const query = pipe(\n map(configFilterToSearchFilter),\n buildFilterQueryString(),\n addGlobalFilterToQuery(globalFilter)\n )(filters);\n const result = query ? [`filter=${query}`] : [];\n if (searchByOv) {\n result.push('options=searchByOv');\n }\n if (activityFilter) {\n result.push(`activeness=${activityFilter}`);\n }\n return result.join('&');\n};\n\nexport const createNotEqualFilter = curry((fieldName: string, value: string) => ({\n filter: FilterOptions.NOT_EQUALS,\n values: [value],\n fieldName\n}));\n\nexport const convertSearchFilterToDashboardConfigFilter = (searchFilter: SearchFilter): DashboardConfigFilter => ({\n filter: searchFilter?.filter ?? FilterOptions.EQUALS,\n values: (searchFilter?.values ?? []) as string[],\n fieldName: searchFilter?.fieldName ?? ''\n});\nexport const createEntityTypeFilter = (entityTypeUri: string) => ({\n filter: FilterOptions.EQUALS,\n fieldName: 'type',\n values: [entityTypeUri]\n});\n\nexport const createFacetItemFilter = curry((fieldName: string, group: string) => ({\n filter: FilterOptions.EQUALS,\n values: [group],\n fieldName\n}));\n\nexport const convertFilterToFacetState = curry(\n (metadata: Metadata, entityType: string, filter: DashboardConfigFilter) => {\n const {fieldName} = filter;\n const isEntityAttributeFilter = /^(attributes|analyticsAttributes)/.test(fieldName);\n const attrType = isEntityAttributeFilter\n ? findAttributeTypeByUri(metadata, searchUriToAttrUri(fieldName, entityType))\n : getSpecialAttrTypeByFieldName(fieldName);\n\n return pipe(\n configFilterToSearchFilter,\n when(() => isEntityAttributeFilter, assoc('entityType', entityType)),\n when(() => isDateType(attrType.type), evolve({values: map(mapFilterValue(parseTimestamp))}))\n )(filter);\n }\n);\n\nexport const isEntityTypeFilter = ({filter, fieldName, values}: DashboardConfigFilter, entityTypeUri: string) =>\n filter === FilterOptions.EQUALS && fieldName === 'type' && values?.[0] === entityTypeUri;\n","import {\n AttributeType,\n attributeUriToSearchUri,\n buildLookupRecord,\n DashboardConfigFilter,\n formatDataTypeValue,\n getAttrDataTypeDefinition,\n getAttrTypeLookupCode,\n getEntityUriFromAttributeUri,\n getFacets,\n getRoleLabel,\n getTotals,\n isDateType,\n isEntityTypeUri,\n isLookupAttrType,\n isRoleAttrType,\n Metadata,\n parseTimestamp,\n resolveLookupsList\n} from '@reltio/mdm-sdk';\nimport {\n always,\n ascend,\n concat,\n curry,\n defaultTo,\n descend,\n evolve,\n ifElse,\n map,\n pipe,\n prop,\n propEq,\n reject,\n sortWith,\n when\n} from 'ramda';\nimport {\n buildQuery,\n configFilterToSearchFilter,\n convertFilterToFacetState,\n createEntityTypeFilter,\n createFacetItemFilter,\n createNotEqualFilter,\n isEntityTypeFilter\n} from './filters';\nimport {ChartData} from '@reltio/components';\nimport i18n from 'ui-i18n';\n\ntype FacetsRequest = {\n attribute: string;\n filters: DashboardConfigFilter[];\n globalFilter?: string;\n searchByOv?: boolean;\n activityFilter?: string;\n pageSize?: number;\n orderType?: string;\n};\n\nexport const requestFacets = ({\n attribute,\n filters,\n globalFilter,\n searchByOv,\n activityFilter,\n pageSize,\n orderType\n}: FacetsRequest): Promise<ChartData[]> => {\n const query = buildQuery(filters, globalFilter, searchByOv, activityFilter);\n const body = [\n {\n fieldName: attribute,\n pageNo: 1,\n orderType,\n pageSize\n }\n ];\n return getFacets({query, body}).then((response) => {\n const getFacetData = pipe(\n prop(attribute),\n defaultTo({}),\n Object.entries,\n map(([key, value]) => ({label: key, group: key, value})),\n sortWith([descend(prop('value')), ascend(prop('label'))])\n );\n return getFacetData(response);\n });\n};\n\nexport const resolveLookups = curry((lookupCode: string, data: ChartData[]) => {\n const lookupsToResolve = data.map(({label}) => ({codeValue: label, type: lookupCode}));\n return resolveLookupsList(lookupsToResolve).then((response) => {\n const codes = response.flatMap(buildLookupRecord(lookupCode)) as {lookupCode: string; value: string}[];\n return data.map((item) => {\n const code = codes.find(({lookupCode}) => lookupCode === item.label);\n return code ? {...item, label: code.value} : item;\n });\n });\n});\n\nconst buildFacetOthersFilters = curry((fieldName: string, data: ChartData[]) =>\n data.map(pipe(prop('group'), createNotEqualFilter(fieldName)))\n);\n\nconst OTHER_FACET_GROUP = 'Other';\n\nexport const requestOtherValues = curry(\n ({attribute, filters, globalFilter, searchByOv, activityFilter}: FacetsRequest, data: ChartData[]) => {\n const otherFilters = pipe(\n buildFacetOthersFilters(attribute),\n concat(filters),\n map(configFilterToSearchFilter)\n )(data);\n const searchOptions = searchByOv && 'searchByOv';\n return getTotals(otherFilters, {globalFilter, activityFilter, searchOptions}).then(({total}) => {\n return total > 0\n ? data.concat([{label: i18n.text('Other'), group: OTHER_FACET_GROUP, value: total}])\n : data;\n });\n }\n);\n\nconst resolveRoleLabel = (metadata: Metadata, roleName: string) =>\n getRoleLabel(metadata, 'configuration/roles/' + roleName);\n\nexport const localizeFacetValues = map((facet: ChartData) => ({\n ...facet,\n localizedValue: i18n.number(facet.value)\n}));\n\nexport const resolveFacetLabels = (metadata: Metadata, attrType: AttributeType) =>\n pipe(\n when(() => isLookupAttrType(attrType), resolveLookups(getAttrTypeLookupCode(attrType))),\n when(\n () => isRoleAttrType(attrType),\n map((facet) => ({...facet, label: resolveRoleLabel(metadata, facet.group)}))\n ),\n when(\n () => isDateType(attrType.type),\n map(\n evolve({\n label: pipe(\n parseTimestamp,\n formatDataTypeValue({dataTypeDefinition: getAttrDataTypeDefinition(attrType)})\n )\n })\n )\n )\n );\n\nexport const getFacetFieldName = when(isEntityTypeUri, attributeUriToSearchUri);\nconst getFacetEntityTypeUri = ifElse(isEntityTypeUri, getEntityUriFromAttributeUri, always(undefined));\n\nexport const getFiltersForFacet = (\n attributeUri: string,\n filters: DashboardConfigFilter[] = []\n): DashboardConfigFilter[] => {\n const entityTypeUri = getFacetEntityTypeUri(attributeUri);\n const hasEntityTypeFilter = filters.some((filter) => isEntityTypeFilter(filter, entityTypeUri));\n return entityTypeUri && !hasEntityTypeFilter ? [createEntityTypeFilter(entityTypeUri), ...filters] : filters;\n};\n\nexport const getFiltersForFacetItem = curry((attributeUri: string, data: ChartData[], group: string) => {\n const fieldName = getFacetFieldName(attributeUri);\n return group === OTHER_FACET_GROUP\n ? pipe(reject(propEq('group', OTHER_FACET_GROUP)), buildFacetOthersFilters(fieldName))(data)\n : [createFacetItemFilter(fieldName, group)];\n});\n\nexport const facetFiltersToSearchState = curry(\n (metadata: Metadata, attributeUri: string, filters: DashboardConfigFilter[]) => {\n const entityType = getFacetEntityTypeUri(attributeUri);\n return {\n facets: filters.map(convertFilterToFacetState(metadata, entityType))\n };\n }\n);\n","import React, {memo} from 'react';\nimport {useDispatch, useSelector} from 'react-redux';\nimport {ChartsFactory, useReloadFacet} from '@reltio/components';\nimport {useFacetRequest} from '../../hooks/useFacetRequest';\nimport {ChartTypes, DashboardFacetConfig} from '@reltio/mdm-sdk';\nimport LayoutItemView from '../../components/LayoutItemView/LayoutItemView';\nimport LayoutItemHeader from '../../components/LayoutItemHeader/LayoutItemHeader';\nimport LayoutItemContent from '../../components/LayoutItemContent/LayoutItemContent';\nimport mdmModule, {ui} from '@reltio/mdm-module';\nimport {concat, pipe} from 'ramda';\nimport {facetFiltersToSearchState, getFiltersForFacet, getFiltersForFacetItem} from '../../services/facets';\n\ntype DashboardFacetProps = {\n config: DashboardFacetConfig;\n onToggleFullscreen: (id: string) => void;\n isUpdated?: boolean;\n isFullscreen: boolean;\n onRemove?: (id: string) => void;\n};\n\nconst DashboardFacet = ({config, onToggleFullscreen, isUpdated, isFullscreen, onRemove}: DashboardFacetProps) => {\n const {id, title, filters, attributeUri, count, orderType, chartType, showOthers, ...options} = config;\n const pageSize = chartType === ChartTypes.MAP ? 100 : 8;\n const {data, state, reload} = useFacetRequest({\n filters,\n attributeUri,\n pageSize: count || pageSize,\n orderType,\n options: {showOthers}\n });\n\n useReloadFacet({state, reload});\n\n const dispatch = useDispatch();\n const metadata = useSelector(mdmModule.selectors.getMetadata);\n const onItemClick = pipe(\n getFiltersForFacetItem(attributeUri, data),\n concat(getFiltersForFacet(attributeUri, filters)),\n facetFiltersToSearchState(metadata, attributeUri),\n ui.actions.openSearch,\n dispatch\n );\n\n return (\n <LayoutItemView id={id}>\n <LayoutItemHeader\n title={title}\n onToggleFullscreen={onToggleFullscreen}\n isUpdated={isUpdated}\n isFullscreen={isFullscreen}\n onRefresh={reload}\n onRemove={onRemove}\n />\n <LayoutItemContent loadingState={state} onRefresh={reload} data={data}>\n {({data, width = 0, height = 0}) => {\n return ChartsFactory.build(chartType, {data, width, height, options, onItemClick});\n }}\n </LayoutItemContent>\n </LayoutItemView>\n );\n};\n\nexport default memo(DashboardFacet);\n","import {useCallback, useEffect, useState, useContext, useMemo} from 'react';\nimport {useSelector} from 'react-redux';\nimport mdmModule from '@reltio/mdm-module';\nimport {\n DashboardConfigFilter,\n findAttributeTypeByUri,\n getSpecialAttrTypeByFieldName,\n SearchFilter\n} from '@reltio/mdm-sdk';\nimport {always, andThen, otherwise, pipe, when, unless} from 'ramda';\nimport {\n getFacetFieldName,\n getFiltersForFacet,\n requestFacets,\n requestOtherValues,\n resolveFacetLabels,\n localizeFacetValues\n} from '../services/facets';\nimport {ChartData, RequestStates, SearchFiltersContext} from '@reltio/components';\nimport {GlobalSearchRequestOptions, SearchOptions} from '../types/SearchOptions';\nimport {convertSearchFilterToDashboardConfigFilter} from '../services/filters';\n\ntype Props = {\n filters: DashboardConfigFilter[];\n attributeUri: string;\n pageSize: number;\n orderType?: string;\n options?: {\n showOthers: boolean;\n };\n};\n\nexport const useFacetRequest = ({\n filters: facetFilters,\n attributeUri,\n pageSize,\n orderType = 'reversedCount',\n options\n}: Props) => {\n const [data, setData] = useState<ChartData[]>([]);\n const [requestState, setRequestState] = useState<RequestStates>(RequestStates.INIT);\n const searchFilters = useContext<SearchFilter[]>(SearchFiltersContext);\n const facetAndSpecialFilters = useMemo(\n () => searchFilters.map(convertSearchFilterToDashboardConfigFilter).concat(facetFilters || []),\n [searchFilters, facetFilters]\n );\n const metadata = useSelector(mdmModule.selectors.getMetadata);\n const {globalFilter, activityFilter}: GlobalSearchRequestOptions = useSelector(\n mdmModule.selectors.getGlobalSearchRequestOptions\n );\n const attributePresentations = useSelector(mdmModule.selectors.getAttributePresentations);\n const hasAttrPresentation = !!attributePresentations?.[attributeUri];\n const searchOptions: SearchOptions = useSelector(mdmModule.selectors.getSearchOptions);\n const searchByOv: boolean = searchOptions?.searchByOv;\n const showOthers: boolean = options?.showOthers;\n const onError = (error) => {\n console.error(error); // eslint-disable-line\n setRequestState(RequestStates.ERROR);\n setData([]);\n };\n const loadData = useCallback(() => {\n setRequestState(RequestStates.LOADING);\n const filters = getFiltersForFacet(attributeUri, facetAndSpecialFilters);\n const fieldName = getFacetFieldName(attributeUri);\n const attrType = getSpecialAttrTypeByFieldName(fieldName) || findAttributeTypeByUri(metadata, attributeUri);\n const onRequestFinished = (data: ChartData[]) => {\n setRequestState(RequestStates.LOADED);\n setData(data);\n };\n\n if (!attrType) {\n onError('Configuration is incorrect');\n return;\n }\n\n const getData = pipe(\n requestFacets,\n andThen(resolveFacetLabels(metadata, attrType)),\n andThen(unless(always(hasAttrPresentation), localizeFacetValues)),\n andThen(\n when(\n always(showOthers),\n requestOtherValues({attribute: fieldName, filters, globalFilter, searchByOv, activityFilter})\n )\n ),\n andThen(onRequestFinished),\n otherwise(onError)\n );\n\n getData({attribute: fieldName, filters, globalFilter, searchByOv, activityFilter, pageSize, orderType});\n }, [\n setRequestState,\n attributeUri,\n metadata,\n showOthers,\n facetAndSpecialFilters,\n globalFilter,\n searchByOv,\n activityFilter,\n pageSize,\n orderType,\n hasAttrPresentation\n ]);\n\n const refreshAction = () => {\n try {\n loadData();\n } catch (e) {\n onError(e);\n }\n };\n\n useEffect(() => {\n refreshAction();\n }, [loadData]);\n\n return {state: requestState, data, reload: refreshAction};\n};\n","import {makeStyles} from '@material-ui/core/styles';\n\nconst textOverflow = {\n content: '\"\"',\n position: 'absolute',\n right: 0,\n top: 0,\n width: '40px',\n height: '100%',\n background: 'linear-gradient(to right, rgba(255, 255, 255, 0.2), #fff 100%)',\n pointerEvents: 'none'\n};\n\nexport const useStyles = makeStyles((theme) => ({\n headCell: {\n display: 'flex',\n alignItems: 'center',\n height: '100%',\n '&>div': {\n padding: '0 16px'\n }\n },\n headLabel: {\n color: theme.palette.text.primary,\n fontSize: '12px',\n fontWeight: 500,\n lineHeight: '16px',\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n '&:after': textOverflow\n },\n entityLabel: {\n color: theme.palette.primary.main,\n textDecoration: 'none',\n fontSize: '13px',\n fontWeight: 500,\n lineHeight: '15px',\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n display: 'flex',\n alignItems: 'center',\n height: '100%',\n padding: '0 16px',\n '&:after': textOverflow\n }\n}));\n","import React from 'react';\nimport classnames from 'classnames';\nimport DefaultHeadCellRenderer from 'react-components/dist/Table/DefaultHeadCellRenderer/DefaultHeadCellRenderer';\nimport {ExpandedValueTooltip} from '@reltio/components';\nimport {useStyles} from './styles';\n\ntype HeadCellRendererProps = {\n className?: string;\n headCellData: {\n label: string;\n };\n};\n\nconst HeadCellRenderer = ({className, headCellData, ...otherProps}: HeadCellRendererProps) => {\n const styles = useStyles();\n\n return (\n <div className={classnames(styles.headCell, className)}>\n <DefaultHeadCellRenderer\n {...otherProps}\n headCellData={{\n ...headCellData,\n label: (\n <ExpandedValueTooltip value={headCellData.label}>\n <div className={styles.headLabel}>{headCellData.label}</div>\n </ExpandedValueTooltip>\n )\n }}\n />\n </div>\n );\n};\n\nexport default HeadCellRenderer;\n","import React from 'react';\nimport {EntityUriLink, ExpandedValueTooltip} from '@reltio/components';\nimport {EntityData} from '../../../types/EntityData';\nimport {getLabel, getEntityUriForLink} from '@reltio/mdm-sdk';\nimport {useStyles} from './styles';\n\ntype Props = {\n value: string;\n rowValue: EntityData;\n};\n\nconst EntityLabelRenderer = ({value, rowValue: entity}: Props) => {\n const styles = useStyles();\n const label = getLabel(value);\n return (\n <ExpandedValueTooltip value={label}>\n <EntityUriLink value={getEntityUriForLink(entity)} className={styles.entityLabel}>\n {label}\n </EntityUriLink>\n </ExpandedValueTooltip>\n );\n};\n\nexport default EntityLabelRenderer;\n","import {makeStyles} from '@material-ui/core/styles';\n\ntype Dimensions = {\n width: number | string;\n height: number | string;\n};\n\nexport const useStyles = makeStyles({\n tableContainer: ({width, height}: Dimensions) => ({\n height: height,\n width: width,\n display: 'flex',\n flexDirection: 'column'\n }),\n cellBorder: {\n borderLeft: 'none',\n borderRight: 'none'\n }\n});\n","import React, {memo, useMemo, useState} from 'react';\nimport {useReloadFacet} from '@reltio/components';\nimport {FilteredEntitiesFacetConfig} from '../../types/FilteredEntitiesFacetConfig';\nimport {useFilteredEntitiesRequest} from '../../hooks/useFilteredEntitiesRequest';\nimport {getRowsPerPageOptions, DEFAULT_ROWS_PER_PAGE} from './helpers';\nimport LayoutItemView from '../../components/LayoutItemView/LayoutItemView';\nimport LayoutItemHeader from '../../components/LayoutItemHeader/LayoutItemHeader';\nimport LayoutItemContent from '../../components/LayoutItemContent/LayoutItemContent';\nimport {withPagination} from '../../HOCs/withPagination';\nimport EntityTable from '../../components/EntityTable/EntityTable';\n\ntype Props = {\n config: FilteredEntitiesFacetConfig;\n onToggleFullscreen: (id: string) => void;\n isUpdated?: boolean;\n isFullscreen: boolean;\n onRemove?: (id: string) => void;\n};\n\nconst TableWithPagination = withPagination(EntityTable);\n\nconst FilteredEntitiesViewFacet = ({config, onToggleFullscreen, isUpdated, isFullscreen, onRemove}: Props) => {\n const {id, title, filters, max = DEFAULT_ROWS_PER_PAGE} = config;\n const rowsPerPageOptions = useMemo(() => getRowsPerPageOptions(max), [max]);\n const [rowsPerPage, setRowsPerPage] = useState(max);\n const [page, setPage] = useState(0);\n\n const {data, state, reload, total} = useFilteredEntitiesRequest({\n filters,\n max: rowsPerPage,\n offset: rowsPerPage * page\n });\n\n useReloadFacet({state, reload});\n\n return (\n <LayoutItemView id={id}>\n <LayoutItemHeader\n title={title}\n onToggleFullscreen={onToggleFullscreen}\n isUpdated={isUpdated}\n isFullscreen={isFullscreen}\n onRefresh={reload}\n onRemove={onRemove}\n />\n <LayoutItemContent loadingState={state} onRefresh={reload} data={data}>\n {({data, width, height}) => {\n return (\n <TableWithPagination\n height={height}\n onChangePage={setPage}\n page={page}\n rowsPerPage={rowsPerPage}\n count={total}\n onChangeRowsPerPage={setRowsPerPage}\n rowsPerPageOptions={rowsPerPageOptions}\n width={width}\n data={data}\n />\n );\n }}\n </LayoutItemContent>\n </LayoutItemView>\n );\n};\n\nexport default memo(FilteredEntitiesViewFacet);\n","import React from 'react';\nimport {BasicTable} from '@reltio/components';\nimport HeadCellRenderer from './cell-renderers/HeadCellRenderer';\nimport EntityLabelRenderer from './cell-renderers/EntityLabelRenderer';\nimport {EntityData} from '../../types/EntityData';\nimport i18n from 'ui-i18n';\n\nimport {useStyles} from './styles';\n\ntype Props = {\n width: number;\n height: number;\n basicTableRef?: React.MutableRefObject<any> | null;\n data: EntityData[];\n};\n\nconst EntityTable = ({height, width, basicTableRef, data}: Props) => {\n const styles = useStyles({width, height});\n const headData = [\n {\n id: 'label',\n label: i18n.text('Entity'),\n resizable: false,\n headCellRenderer: HeadCellRenderer,\n rowCellValueRenderer: EntityLabelRenderer,\n initialWidth: width\n }\n ];\n const tableClasses = {\n cellBorder: styles.cellBorder\n };\n\n return (\n <div className={styles.tableContainer}>\n <BasicTable\n columnsData={headData}\n rowsData={data}\n headRowHeight={48}\n getRowCellHeight={null}\n classes={tableClasses}\n defaultColumnWidth={100}\n defaultColumnMinWidth={100}\n ref={basicTableRef}\n />\n </div>\n );\n};\n\nexport default EntityTable;\n","import {useCallback, useContext, useEffect, useMemo, useState} from 'react';\nimport {RequestStates, SearchFiltersContext} from '@reltio/components';\nimport {DashboardConfigFilter, getFilteredEntities, getTotals, SearchFilter} from '@reltio/mdm-sdk';\nimport {EntityData} from '../types/EntityData';\nimport {convertSearchFilterToDashboardConfigFilter} from '../services/filters';\n\ntype Props = {\n filters: DashboardConfigFilter[];\n offset: number;\n max: number;\n};\n\nexport const useFilteredEntitiesRequest = ({filters, max, offset}: Props) => {\n const [data, setData] = useState<EntityData[]>([]);\n const [total, setTotal] = useState<number>(0);\n const [requestState, setRequestState] = useState<RequestStates>(RequestStates.INIT);\n\n const searchFilters = useContext<SearchFilter[]>(SearchFiltersContext);\n const allFilters = useMemo(\n () => searchFilters.map(convertSearchFilterToDashboardConfigFilter).concat(filters || []),\n [searchFilters, filters]\n );\n\n const onError = (error) => {\n console.error(error); // eslint-disable-line\n setRequestState(RequestStates.ERROR);\n setData([]);\n setTotal(0);\n };\n\n const loadData = useCallback(() => {\n setRequestState(RequestStates.LOADING);\n\n Promise.all([getFilteredEntities(allFilters, {max, offset}), getTotals(allFilters, {max, offset})])\n .then((results) => {\n const [entities, {total}] = results;\n setData(entities || []);\n setTotal(total);\n setRequestState(RequestStates.LOADED);\n })\n .catch(onError);\n }, [allFilters, max, offset]);\n\n const refreshAction = () => {\n try {\n loadData();\n } catch (e) {\n onError(e);\n }\n };\n\n useEffect(() => {\n refreshAction();\n }, [loadData]);\n\n return {state: requestState, data, reload: refreshAction, total};\n};\n","export enum PeriodStep {\n HOUR = 'hour',\n DAY = 'day'\n}\n","import moment from 'moment';\nimport {defaultTo, map, pipe} from 'ramda';\nimport {getDateRangeByValue, getDateRangeByDatePeriod, DatePeriod, DateRangeValue} from '@reltio/mdm-sdk';\nimport {PeriodStep} from '../types/PeriodStep';\n\nconst getStepForTimestampInterval = ([startTime, endTime]) => {\n return endTime - startTime > +moment.duration(1, 'day') ? PeriodStep.DAY : PeriodStep.HOUR;\n};\n\nconst getStepForPeriod = pipe(\n (period) => getDateRangeByDatePeriod(period, getDashboardDateRangeByValue),\n getStepForTimestampInterval\n);\n\ntype GetDateRangeByValue = (value: DatePeriod | [number, number]) => [number, number];\nexport const getDashboardDateRangeByValue: GetDateRangeByValue = (value) => {\n const currentDate = moment();\n\n switch (value) {\n case DateRangeValue.LAST_WEEK:\n return [moment(currentDate).subtract(6, 'days').valueOf(), currentDate.valueOf()];\n default:\n return getDateRangeByValue(value);\n }\n};\n\nconst getValuesDateRange = pipe(\n getDashboardDateRangeByValue,\n defaultTo([]),\n map((value) => value && new Date(value))\n);\n\nexport {getStepForPeriod, getValuesDateRange};\n","import {\n append,\n chain,\n curry,\n evolve,\n groupBy,\n last,\n map,\n pipe,\n pluck,\n prepend,\n prop,\n propEq,\n propOr,\n sum,\n toPairs\n} from 'ramda';\nimport moment from 'moment';\nimport i18n from 'ui-i18n';\nimport {getEntitiesStats, getDateRangeByDatePeriod, DatePeriod} from '@reltio/mdm-sdk';\nimport {PeriodStep} from '../types/PeriodStep';\nimport {StatsData, StatsEventData} from '../types/StatsData';\nimport {getDashboardDateRangeByValue} from '../services/period';\nimport {AxisDomain} from 'recharts';\n\nconst StatsEvents = [\n {\n id: 'created',\n types: ['CREATED'],\n get label() {\n return i18n.text('New');\n },\n color: '#4BAFFF'\n },\n {\n id: 'updated',\n types: ['UPDATED'],\n get label() {\n return i18n.text('Updated');\n },\n color: '#0072CE'\n },\n {\n id: 'deleted',\n types: ['DELETED'],\n get label() {\n return i18n.text('Deleted');\n },\n color: '#F085F2'\n },\n {\n id: 'matched',\n types: ['POTENTIAL_MATCHES_FOUND'],\n get label() {\n return i18n.text('Matched');\n },\n color: '#C4CE00'\n },\n {\n id: 'autoMerged',\n types: ['MERGED', 'MERGED_ON_THE_FLY'],\n get label() {\n return i18n.text('Auto-merged');\n },\n color: '#CE5C00'\n },\n {\n id: 'mergedManually',\n types: ['MERGED_MANUALLY'],\n get label() {\n return i18n.text('Manually merged');\n },\n color: '#9E7ED3'\n },\n {\n id: 'unmerged',\n types: ['SPLITTED'],\n get label() {\n return i18n.text('Unmerged');\n },\n color: '#40CFBB'\n },\n {\n id: 'notMatch',\n types: ['NOT_MATCHES_SET'],\n get label() {\n return i18n.text('Not a match');\n },\n color: '#F97061'\n }\n];\n\nconst getStatsEventById = (event: string) => StatsEvents.find(propEq('id', event));\nconst getStatsEventName = pipe(getStatsEventById, propOr('', 'label'));\nconst getStatsEventColor = pipe(getStatsEventById, prop('color'));\n\nconst requestStats = (period: DatePeriod): Promise<StatsData[]> => {\n const [startTime, endTime] = getDateRangeByDatePeriod(period, getDashboardDateRangeByValue);\n const getStats = ({facet, types}) =>\n getEntitiesStats({facet, startTime, endTime, types}).then(({facets = {}, total = 0}) => ({\n total,\n data: facets[facet]\n }));\n\n const getEvents = () => {\n const allTypes = chain(prop('types'), StatsEvents);\n const processStats = pipe(propOr([], 'data'), pluck('term'));\n return getStats({facet: 'type', types: allTypes}).then((stats) => processStats(stats));\n };\n\n const getEventsData = (presentTypes) => {\n const periodFrame = pipe(\n map(\n evolve({\n term: (term) => moment.utc(term).valueOf()\n })\n ),\n prepend({\n term: startTime,\n count: 0\n }),\n append({\n term: endTime,\n count: 0\n })\n );\n const isEventPresent = (types) => types.some((type) => presentTypes.includes(type));\n\n return Promise.all(\n StatsEvents.map(({types, id}) =>\n (isEventPresent(types) ? getStats({facet: 'hour', types}) : Promise.resolve({total: 0, data: []})).then(\n ({total, data}) => ({total, data: periodFrame(data), event: id})\n )\n )\n );\n };\n\n return getEvents().then((events) => (events.length > 0 ? getEventsData(events) : []));\n};\n\nconst groupEventsData = curry((step: PeriodStep, eventData: StatsEventData[]) => {\n return pipe(\n groupBy(({term}) => moment(term).startOf(step)),\n toPairs,\n map(([date, data]) => ({\n term: moment(date).valueOf(),\n count: sum(pluck('count', data))\n }))\n )(eventData);\n});\n\nconst interpolateEventsData = curry((step: PeriodStep, eventData: StatsEventData[]) => {\n const [head, ...other] = eventData;\n return other.reduce(\n (acc, item) => {\n const stepTime = +moment.duration(1, step);\n let nextTerm = last(acc).term + stepTime;\n const interpolatedItems = [];\n while (nextTerm < item.term) {\n interpolatedItems.push({\n term: nextTerm,\n count: 0\n });\n nextTerm += stepTime;\n }\n return acc.concat(interpolatedItems, item);\n },\n [head]\n );\n});\n\nconst calibrateStatsData = curry((step: PeriodStep, statsData: StatsData[]) => {\n return statsData.map(\n evolve({\n data: pipe(groupEventsData(step), interpolateEventsData(step))\n })\n );\n});\n\nconst getChartDomain = (chartData: StatsData[], tickCount: number): [AxisDomain, AxisDomain] => {\n const counts = chain(pipe(prop('data'), pluck('count')))(chartData);\n const min = Math.min(...counts);\n const max = Math.max(...counts);\n const difference = Math.abs(max - min);\n\n return difference < tickCount ? [0, tickCount - 1] : [0, 'auto'];\n};\n\nexport {StatsEvents, requestStats, getStatsEventName, getStatsEventColor, calibrateStatsData, getChartDomain};\n","import React, {SVGProps} from 'react';\nimport {PeriodStep} from '../../../types/PeriodStep';\nimport {always, cond, equals} from 'ramda';\nimport i18n from 'ui-i18n';\n\nconst getStepValueFormat = cond([\n [equals(PeriodStep.HOUR), always('LT')],\n [equals(PeriodStep.DAY), always('MMM D')]\n]);\n\ntype AxisTickProps = SVGProps<SVGElement> & {\n step: PeriodStep;\n payload?: {\n value: string;\n };\n};\n\nconst CustomAxisTick = ({x, y, payload, step}: AxisTickProps) => {\n return (\n <g transform={`translate(${x},${y})`}>\n <text x={0} y={0} dy={16} textAnchor=\"middle\" fill=\"#666\">\n {i18n.date(payload?.value, getStepValueFormat(step))}\n </text>\n </g>\n );\n};\n\nexport default CustomAxisTick;\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles({\n tooltipWrapper: {\n borderRadius: '4px',\n background: 'rgba(0, 0, 0, 0.54)',\n padding: '6px 8px 7px 8px',\n color: '#FFFFFF',\n '& p': {\n fontSize: '12px',\n lineHeight: '18px',\n padding: 0,\n margin: 0\n }\n },\n tooltipTitle: {\n fontWeight: 500\n },\n tooltipItemColor: {\n width: 8,\n height: 8,\n marginRight: 10,\n display: 'inline-block'\n },\n legend: {\n display: 'flex',\n flexWrap: 'wrap',\n marginLeft: '20px',\n marginTop: '10px'\n },\n legendItem: {\n display: 'flex',\n alignItems: 'baseline',\n '&:not(:last-child)': {\n marginRight: 10\n },\n width: '140px',\n marginBottom: '5px',\n fontSize: '13px',\n color: 'rgba(0, 0, 0, 0.54)'\n },\n legendItemColor: {\n width: 12,\n height: 12,\n marginRight: 10,\n flexShrink: 0,\n boxSizing: 'border-box'\n },\n legendItemValue: {\n color: 'rgba(0, 0, 0, 0.87)',\n marginLeft: '10px'\n }\n});\n","import React from 'react';\nimport {TooltipProps} from 'recharts';\nimport {PeriodStep} from '../../../types/PeriodStep';\nimport i18n from 'ui-i18n';\nimport {always, cond, equals} from 'ramda';\nimport {getStatsEventName} from '../../../services/stats';\n\nimport {useStyles} from './styles';\n\ntype Props = TooltipProps & {\n step: PeriodStep;\n events: string[];\n};\n\nconst getStepValueFormat = cond([\n [equals(PeriodStep.HOUR), always('LT MMM D')],\n [equals(PeriodStep.DAY), always('ll')]\n]);\n\nconst CustomTooltip = ({active, payload, label, step, events}: Props) => {\n const styles = useStyles();\n return (\n active && (\n <div className={styles.tooltipWrapper}>\n <p className={styles.tooltipTitle}>{i18n.date(label, getStepValueFormat(step))}</p>\n {payload\n .filter(({name}) => events.includes(name))\n .map(({color, name, value}) => {\n return (\n <p key={name}>\n <span style={{background: color}} className={styles.tooltipItemColor} />\n {`${getStatsEventName(name)}: ${value}`}\n </p>\n );\n })}\n </div>\n )\n );\n};\n\nexport default CustomTooltip;\n","import React from 'react';\nimport {LegendProps} from 'recharts';\nimport {getStatsEventName} from '../../../services/stats';\nimport {Tooltip as Tooltip} from '@material-ui/core';\nimport i18n from 'ui-i18n';\n\nimport {useStyles} from './styles';\n\ntype Props = LegendProps & {\n selectedItems: string[];\n};\n\nconst CustomLegend = ({payload, selectedItems, onClick}: Props) => {\n const styles = useStyles();\n return (\n <div className={styles.legend}>\n {payload.map(({id, color, value}) => {\n const isSelected = selectedItems.includes(id);\n return (\n <div key={id} className={styles.legendItem}>\n <Tooltip title={isSelected ? i18n.text('Hide') : i18n.text('Show')}>\n <div\n style={isSelected ? {background: color} : {border: `${color} 1px solid`}}\n className={styles.legendItemColor}\n onClick={() => onClick(id)}\n />\n </Tooltip>\n {getStatsEventName(id)}\n <span className={styles.legendItemValue}>{value}</span>\n </div>\n );\n })}\n </div>\n );\n};\n\nexport default CustomLegend;\n","import React, {useMemo, useState} from 'react';\nimport {CartesianGrid, Legend, Line, LineChart, Tooltip, XAxis, YAxis} from 'recharts';\nimport {append, ifElse, includes, pluck, without} from 'ramda';\nimport getStatsChartSettings from './getStatsChartSettings';\nimport {PeriodStep} from '../../types/PeriodStep';\nimport {StatsData} from '../../types/StatsData';\nimport {calibrateStatsData, getStatsEventColor, getChartDomain} from '../../services/stats';\nimport CustomAxisTick from './customized/CustomAxisTick';\nimport CustomTooltip from './customized/CustomTooltip';\nimport CustomLegend from './customized/CustomLegend';\n\ntype Props = {\n data: StatsData[];\n width: number;\n height: number;\n step: PeriodStep;\n};\n\nconst StatsChart = ({data, width, height, step}: Props) => {\n const [selectedEvents, setSelectedEvents] = useState<string[]>(pluck('event', data));\n const toggleEvent = (event) => {\n setSelectedEvents(ifElse(includes(event), without([event]), append(event)));\n };\n\n const [tooltipEvent, setTooltipEvent] = useState<string | null>(null);\n\n const tickCount = 8;\n const {cartesianGrid, tooltip, xAxis, yAxis, line, legend} = getStatsChartSettings();\n const chartData = useMemo(() => calibrateStatsData(step, data), [step, data]);\n const domain = useMemo(() => getChartDomain(chartData, tickCount), [chartData]);\n\n return (\n <LineChart width={width} height={height}>\n <CartesianGrid {...cartesianGrid} />\n <XAxis {...xAxis} tick={<CustomAxisTick step={step} />} />\n <YAxis {...yAxis} tickCount={tickCount} domain={domain} />\n {chartData.map(({event, data}) => {\n const isSelected = selectedEvents.includes(event);\n return (\n <Line\n key={event}\n stroke={getStatsEventColor(event)}\n name={event}\n data={data}\n dot={isSelected && {r: 5, strokeWidth: 2}}\n activeDot={\n isSelected && {\n r: 5,\n strokeWidth: 2,\n onMouseEnter: () => setTooltipEvent(event),\n onMouseLeave: () => setTooltipEvent(null)\n }\n }\n strokeOpacity={isSelected ? 1 : 0}\n {...line}\n />\n );\n })}\n <Legend\n content={<CustomLegend selectedItems={selectedEvents} onClick={toggleEvent} />}\n payload={chartData.map(({event, total}) => ({\n id: event,\n type: 'square',\n color: getStatsEventColor(event),\n value: total\n }))}\n {...legend}\n />\n <Tooltip\n {...tooltip}\n content={<CustomTooltip step={step} events={tooltipEvent ? [tooltipEvent] : selectedEvents} />}\n />\n </LineChart>\n );\n};\n\nexport default StatsChart;\n","import {CartesianGridProps, LegendProps, LineProps, TooltipProps, XAxisProps, YAxisProps} from 'recharts';\nimport {formatNumberAsMetric} from '@reltio/mdm-sdk';\n\ntype StatsChartSettings = {\n xAxis: XAxisProps;\n yAxis: YAxisProps;\n cartesianGrid: CartesianGridProps;\n tooltip: TooltipProps;\n line: LineProps;\n legend: LegendProps;\n};\n\nconst getStatsChartSettings = (): StatsChartSettings => {\n return {\n xAxis: {\n type: 'category',\n dataKey: 'term',\n tick: {\n fill: '#000',\n opacity: '0.54'\n },\n angle: 0,\n textAnchor: 'middle',\n stroke: '#666',\n allowDuplicatedCategory: false\n },\n yAxis: {\n dataKey: '',\n type: 'number',\n tick: {\n fill: '#000',\n opacity: '0.54',\n width: undefined\n },\n stroke: '#666',\n tickFormatter: formatNumberAsMetric,\n width: 50\n },\n cartesianGrid: {\n strokeDasharray: '3 3',\n stroke: '#666',\n strokeOpacity: '0.4'\n },\n tooltip: {\n cursor: {\n fill: '#000',\n opacity: '0.1'\n }\n },\n line: {\n type: 'linear',\n dataKey: 'count',\n strokeWidth: 3\n },\n legend: {\n wrapperStyle: {\n display: 'flex',\n overflowY: 'auto',\n maxHeight: '25%'\n }\n }\n };\n};\n\nexport default getStatsChartSettings;\n","import {useCallback, useEffect, useState} from 'react';\nimport {andThen, otherwise, pipe} from 'ramda';\nimport {requestStats} from '../services/stats';\nimport {StatsData} from '../types/StatsData';\nimport {DatePeriod} from '@reltio/mdm-sdk';\nimport {useSafePromise, RequestStates} from '@reltio/components';\n\nexport const useStatsRequest = (period: DatePeriod) => {\n const [data, setData] = useState<StatsData[]>([]);\n const [requestState, setRequestState] = useState<RequestStates>(RequestStates.INIT);\n const safePromise = useSafePromise();\n\n const onError = (error) => {\n console.error(error); // eslint-disable-line\n setRequestState(RequestStates.ERROR);\n setData([]);\n };\n\n const loadData = useCallback(() => {\n setRequestState(RequestStates.LOADING);\n const onRequestFinished = (data: StatsData[]) => {\n setRequestState(RequestStates.LOADED);\n setData(data);\n };\n\n const getData = pipe(requestStats, safePromise, andThen(onRequestFinished), otherwise(onError));\n getData(period);\n }, [period.toString()]); // eslint-disable-line\n\n const refreshAction = () => {\n try {\n loadData();\n } catch (e) {\n onError(e);\n }\n };\n\n useEffect(() => {\n refreshAction();\n }, [loadData]);\n\n return {state: requestState, data, reload: refreshAction};\n};\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles({\n periodSelector: {\n position: 'relative',\n margin: '0 6px 0 0',\n flexBasis: '220px',\n flexShrink: 1,\n '& input[type=\"text\"]': {\n padding: '0 0 0 8px'\n }\n }\n});\n","import React, {memo, useState} from 'react';\nimport {DashboardView, DatePeriod, DateRangeValue, getDateRangeOptions} from '@reltio/mdm-sdk';\nimport {useReloadFacet, DateRangeEditor} from '@reltio/components';\nimport LayoutItemView from '../../components/LayoutItemView/LayoutItemView';\nimport LayoutItemHeader from '../../components/LayoutItemHeader/LayoutItemHeader';\nimport LayoutItemContent from '../../components/LayoutItemContent/LayoutItemContent';\nimport StatsChart from '../../components/StatsChart/StatsChart';\nimport {useStatsRequest} from '../../hooks/useStatsRequest';\nimport {getStepForPeriod, getValuesDateRange} from '../../services/period';\n\nimport {useStyles} from './styles';\n\ntype Props = {\n config: DashboardView;\n onToggleFullscreen: (id: string) => void;\n isUpdated?: boolean;\n isFullscreen: boolean;\n onRemove?: (id: string) => void;\n};\n\nconst ProfileStatsFacet = ({config, onToggleFullscreen, isUpdated, isFullscreen, onRemove}: Props) => {\n const styles = useStyles();\n\n const {id, title} = config;\n const [period, setPeriod] = useState<DatePeriod>(DateRangeValue.LAST_WEEK);\n const {state, data, reload} = useStatsRequest(period);\n\n useReloadFacet({state, reload});\n\n return (\n <LayoutItemView id={id}>\n <LayoutItemHeader\n title={title}\n onToggleFullscreen={onToggleFullscreen}\n isUpdated={isUpdated}\n isFullscreen={isFullscreen}\n onRefresh={reload}\n onRemove={onRemove}\n >\n <DateRangeEditor\n values={period}\n options={getDateRangeOptions()}\n getValuesDateRange={getValuesDateRange}\n onChange={setPeriod}\n className={styles.periodSelector}\n />\n </LayoutItemHeader>\n <LayoutItemContent loadingState={state} onRefresh={reload} data={data}>\n {({data, width, height}) => {\n return <StatsChart data={data} width={width} height={height} step={getStepForPeriod(period)} />;\n }}\n </LayoutItemContent>\n </LayoutItemView>\n );\n};\n\nexport default memo(ProfileStatsFacet);\n","import {\n getEntityType,\n getInheritancePath,\n getLastUriPart,\n isAvailableEntityType,\n Metadata,\n wrapInArrayIfNeeded\n} from '@reltio/mdm-sdk';\nimport {curry, filter, last, map, pipe, prop, either} from 'ramda';\nimport {ChartData} from '@reltio/components';\nimport {createEntityTypeFilter} from './filters';\n\nconst typeNameToUri = (typeName: string): string => `configuration/entityTypes/${typeName}`;\nconst getUriFromTypeFacet = pipe(prop('group'), typeNameToUri);\n\nexport const resolveTypeFacetsLabels = curry((metadata: Metadata, typeFacets: ChartData[]): ChartData[] => {\n return typeFacets.map((facet) => {\n const typeUri = getUriFromTypeFacet(facet);\n return {\n ...facet,\n label: getEntityType(metadata, typeUri).label\n };\n });\n});\n\nexport const getParentEntityTypeFacets = curry((metadata: Metadata, typeFacets: ChartData[]): ChartData[] => {\n const getParentTypeForFacet = pipe(\n getUriFromTypeFacet,\n getInheritancePath(metadata),\n map(getEntityType(metadata)),\n filter(isAvailableEntityType),\n last\n );\n const parentsMap = typeFacets.reduce((acc, facet) => {\n const parentType = getParentTypeForFacet(facet);\n if (parentType) {\n const parentName = getLastUriPart(parentType.uri);\n return {\n ...acc,\n [parentName]: (acc[parentName] || 0) + facet.value\n };\n } else {\n return acc;\n }\n }, {});\n return Object.entries(parentsMap).map(([key, value]) => ({\n group: key,\n label: key,\n value\n })) as ChartData[];\n});\n\nexport const entityTypeNameToFilters = pipe(typeNameToUri, createEntityTypeFilter, wrapInArrayIfNeeded);\n\nconst getEntityTypeName = pipe(prop('uri'), getLastUriPart);\n\nconst findTypeFacetByName = curry(\n (typeFacets: ChartData[], name: string): ChartData => {\n return typeFacets.find((facet) => facet.group === name);\n }\n);\n\nconst createEmptyEntityTypeFacet = (name: string): ChartData => ({label: name, group: name, value: 0});\n\nexport const addEmptyEntityTypesFacets = curry(({entityTypes}: Metadata, typeFacets: ChartData[]): ChartData[] => {\n const getFacet = pipe(getEntityTypeName, either(findTypeFacetByName(typeFacets), createEmptyEntityTypeFacet));\n return entityTypes.filter(isAvailableEntityType).map(getFacet);\n});\n","import {useEffect, useState, useCallback} from 'react';\nimport {useSelector} from 'react-redux';\nimport mdmModule from '@reltio/mdm-module';\nimport {pipe, andThen, otherwise, when, always, unless} from 'ramda';\nimport {requestFacets, localizeFacetValues} from '../services/facets';\nimport {ChartData, RequestStates} from '@reltio/components';\nimport {GlobalSearchRequestOptions, SearchOptions} from '../types/SearchOptions';\nimport {addEmptyEntityTypesFacets, getParentEntityTypeFacets, resolveTypeFacetsLabels} from '../services/entityTypes';\n\ntype Props = {\n hideEmpty?: boolean;\n orderType?: string;\n inheritChildren?: boolean;\n};\n\nconst filters = [];\n\nexport const useEntityByTypeRequest = ({orderType, inheritChildren, hideEmpty}: Props) => {\n const [data, setData] = useState<ChartData[]>([]);\n const [requestState, setRequestState] = useState<RequestStates>(RequestStates.INIT);\n const metadata: Record<string, any> = useSelector(mdmModule.selectors.getMetadata);\n const pageSize = metadata.entityTypes.length;\n const {globalFilter, activityFilter}: GlobalSearchRequestOptions = useSelector(\n mdmModule.selectors.getGlobalSearchRequestOptions\n );\n\n const searchOptions: SearchOptions = useSelector(mdmModule.selectors.getSearchOptions);\n const searchByOv: boolean = searchOptions && searchOptions.searchByOv;\n const onError = (error) => {\n console.error(error); // eslint-disable-line\n setRequestState(RequestStates.ERROR);\n setData([]);\n };\n\n const loadData = useCallback(() => {\n setRequestState(RequestStates.LOADING);\n const onRequestFinished = (data: ChartData[]) => {\n setRequestState(RequestStates.LOADED);\n setData(data);\n };\n\n const getData = pipe(\n requestFacets,\n andThen(unless(always(hideEmpty), addEmptyEntityTypesFacets(metadata))),\n andThen(when(always(inheritChildren), getParentEntityTypeFacets(metadata))),\n andThen(resolveTypeFacetsLabels(metadata)),\n andThen(localizeFacetValues),\n andThen(onRequestFinished),\n otherwise(onError)\n );\n\n getData({attribute: 'type', pageSize, filters, globalFilter, searchByOv, activityFilter, orderType});\n }, [hideEmpty, metadata, inheritChildren, pageSize, globalFilter, searchByOv, activityFilter, orderType]);\n\n const refreshAction = () => {\n try {\n loadData();\n } catch (e) {\n onError(e);\n }\n };\n\n useEffect(() => {\n refreshAction();\n }, [loadData]);\n\n return {state: requestState, data, reload: refreshAction};\n};\n","import React, {memo} from 'react';\nimport {useDispatch, useSelector} from 'react-redux';\nimport {TreeChart, useReloadFacet} from '@reltio/components';\nimport {useEntityByTypeRequest} from '../../hooks/useEntityByTypeRequest';\nimport LayoutItemView from '../../components/LayoutItemView/LayoutItemView';\nimport LayoutItemHeader from '../../components/LayoutItemHeader/LayoutItemHeader';\nimport LayoutItemContent from '../../components/LayoutItemContent/LayoutItemContent';\nimport {EntityByTypeViewFacetConfig} from '../../types/EntityByTypeViewFacetConfig';\nimport {entityTypeNameToFilters} from '../../services/entityTypes';\nimport {facetFiltersToSearchState} from '../../services/facets';\nimport mdmModule, {ui} from '@reltio/mdm-module';\nimport {pipe} from 'ramda';\n\ntype Props = {\n config: EntityByTypeViewFacetConfig;\n onToggleFullscreen: (id: string) => void;\n isUpdated?: boolean;\n isFullscreen: boolean;\n onRemove?: (id: string) => void;\n};\n\nconst EntitiesByTypeViewFacet = ({config, onToggleFullscreen, isUpdated, isFullscreen, onRemove}: Props) => {\n const {id, title, hideEmpty, orderType, inheritChildren} = config;\n const {data, state, reload} = useEntityByTypeRequest({\n hideEmpty,\n orderType,\n inheritChildren\n });\n\n useReloadFacet({state, reload});\n\n const dispatch = useDispatch();\n const metadata = useSelector(mdmModule.selectors.getMetadata);\n const onTypeClick = pipe(\n entityTypeNameToFilters,\n facetFiltersToSearchState(metadata, 'type'),\n ui.actions.openSearch,\n dispatch\n );\n\n return (\n <LayoutItemView id={id}>\n <LayoutItemHeader\n title={title}\n onToggleFullscreen={onToggleFullscreen}\n isUpdated={isUpdated}\n isFullscreen={isFullscreen}\n onRefresh={reload}\n onRemove={onRemove}\n />\n <LayoutItemContent loadingState={state} onRefresh={reload} data={data}>\n {({data, width, height}) => {\n return <TreeChart width={width} height={height} data={data} onItemClick={onTypeClick} />;\n }}\n </LayoutItemContent>\n </LayoutItemView>\n );\n};\n\nexport default memo(EntitiesByTypeViewFacet);\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles(() => ({\n viewContent: {\n height: '100%',\n overflow: 'hidden',\n position: 'relative',\n padding: '0 16px 16px'\n },\n iframe: {\n borderWidth: 0,\n width: '100%',\n height: '100%'\n },\n tasksSelector: {\n position: 'relative',\n margin: '0 6px 0 0',\n flexBasis: '220px',\n flexShrink: 1\n },\n tasksSelectorInput: {\n fontSize: '14px',\n lineHeight: '16px',\n padding: '12px 32px 10px 12px'\n },\n pagination: {\n height: '52px',\n flexGrow: 0,\n flexShrink: 0\n }\n}));\n","import React, {memo} from 'react';\nimport {CustomActionViewFacetConfig} from '../../types/CustomActionViewFacetConfig';\nimport LayoutItemView from '../../components/LayoutItemView/LayoutItemView';\nimport LayoutItemHeader from '../../components/LayoutItemHeader/LayoutItemHeader';\nimport {BasicViewContent} from '@reltio/components';\nimport {useStyles} from './styles';\n\ntype Props = {\n config: CustomActionViewFacetConfig;\n onToggleFullscreen: (id: string) => void;\n isUpdated?: boolean;\n isFullscreen: boolean;\n onRemove?: (id: string) => void;\n};\n\nconst CustomActionViewFacet = ({config, onToggleFullscreen, isUpdated, isFullscreen, onRemove}: Props) => {\n const {id, title, url} = config;\n const styles = useStyles();\n\n return (\n <LayoutItemView id={id}>\n <LayoutItemHeader\n title={title}\n onToggleFullscreen={onToggleFullscreen}\n isUpdated={isUpdated}\n isFullscreen={isFullscreen}\n onRemove={onRemove}\n />\n <BasicViewContent className={styles.viewContent}>\n <iframe src={url} frameBorder=\"0\" className={styles.iframe} />\n </BasicViewContent>\n </LayoutItemView>\n );\n};\n\nexport default memo(CustomActionViewFacet);\n","import {WorkflowTaskData} from '@reltio/mdm-sdk';\n\nexport enum WorkflowTasksCategories {\n MY = 'my',\n TEAM = 'team'\n}\n\ntype WorkflowTaskEntityData = {\n uri: string;\n label: string;\n type: string;\n};\ntype WorkflowTaskRelationData = {\n uri: string;\n type: string;\n startObjectUri: string;\n endObjectUri: string;\n startObjectLabel: string;\n endObjectLabel: string;\n};\n\nexport type WorkflowTaskObjectData = WorkflowTaskEntityData | WorkflowTaskRelationData;\n\nexport type EnrichedWorkflowTaskData = WorkflowTaskData & {\n objects?: WorkflowTaskObjectData[];\n};\n","import {\n always,\n cond,\n converge,\n curry,\n descend,\n equals,\n filter,\n head,\n isNil,\n keys,\n map,\n otherwise,\n path,\n pipe,\n prop,\n propEq,\n propOr,\n reject,\n sort,\n startsWith,\n T,\n when,\n complement,\n isEmpty\n} from 'ramda';\nimport {WorkflowTasksCategories} from '../types/WorkflowTasks';\nimport {\n getDataChangeRequest,\n getEntitiesByUris,\n getGroupTasksForTenant,\n getTasksForTenant,\n isEntityUri,\n WorkflowTaskData\n} from '@reltio/mdm-sdk';\n\nconst getTasksByCategory = cond([\n [equals(WorkflowTasksCategories.MY), always(getTasksForTenant)],\n [equals(WorkflowTasksCategories.TEAM), always(getGroupTasksForTenant)],\n [T, always(() => Promise.resolve({data: []}))]\n]);\n\nconst getFirstObjectUri = pipe(propOr([], 'objectURIs'), head);\nconst isDCRObjectUri = startsWith('changeRequests/');\n\nconst notEmpty = complement(isEmpty);\n\nconst getEntities = pipe(map(getFirstObjectUri), filter(isEntityUri), when(notEmpty, getEntitiesByUris));\n\nconst getChangeRequests = pipe(\n map(getFirstObjectUri),\n filter(isDCRObjectUri),\n map(pipe(getDataChangeRequest, otherwise(always(null)))),\n (requests) => Promise.all(requests)\n);\n\nconst getTaskObjectsData = converge((...requests) => Promise.all(requests), [getEntities, getChangeRequests]);\n\nconst enrichTaskWithEntity = (entities) => (task) => {\n const entity = entities.find(propEq('uri', getFirstObjectUri(task)));\n return entity\n ? {\n ...task,\n objects: [entity]\n }\n : task;\n};\n\nconst extractObjectsFromChangeRequest = ({objectsInfo = {}, changes = {}, uri}) => {\n const getChange = (key) => path([key, 0], changes);\n const getUri = (key) => {\n const {type} = getChange(key);\n if (type == 'CREATE_ENTITY' || type == 'CREATE_RELATIONSHIP') {\n return uri + '/changes/' + key;\n } else {\n return key;\n }\n };\n return pipe(\n keys,\n filter(getChange),\n sort(descend(pipe(getChange, prop('createdTime')))),\n map((key) => ({...objectsInfo[key], uri: getUri(key)}))\n )(objectsInfo);\n};\n\nconst enrichTaskWithDCRObjects = (changeRequests) => (task) => {\n const changeRequest = changeRequests.find(propEq('uri', getFirstObjectUri(task)));\n return changeRequest\n ? {\n ...task,\n objects: extractObjectsFromChangeRequest(changeRequest)\n }\n : task;\n};\n\nconst enrichTasksWithObjectsData = (entities, changeRequests, tasks) => {\n changeRequests = reject(isNil, changeRequests);\n return tasks.map(\n pipe(\n when(pipe(getFirstObjectUri, isEntityUri), enrichTaskWithEntity(entities)),\n when(pipe(getFirstObjectUri, isDCRObjectUri), enrichTaskWithDCRObjects(changeRequests))\n )\n );\n};\n\nexport const requestWorkflowTasks = curry(\n async (tasksCategory, {workflowPath, environment, tenant, assignee, max, offset}) => {\n const getTasks = getTasksByCategory(tasksCategory);\n const {data, total} = await getTasks({workflowPath, environment, tenant, assignee, max, offset});\n const [entities, changeRequests] = await getTaskObjectsData(data);\n return {data: enrichTasksWithObjectsData(entities, changeRequests, data), total};\n }\n);\n\nexport const isOverdueTask = (task: WorkflowTaskData) => task.dueDate && task.dueDate < Date.now();\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles((theme) => ({\n taskItem: {\n flex: 1,\n display: 'flex',\n padding: '15px',\n color: theme.palette.text.primary,\n '&.Low': {\n borderLeft: '#F7F7F7 solid 3px'\n },\n '&.Medium': {\n borderLeft: '#F7DE03 solid 3px'\n },\n '&.High': {\n borderLeft: '#FF9800 solid 3px'\n },\n '&.Urgent': {\n borderLeft: '#F44336 solid 3px'\n }\n },\n taskInfo: {\n flex: 1,\n padding: '0 15px',\n overflow: 'hidden',\n overflowWrap: 'anywhere'\n },\n taskTitle: {\n lineHeight: '18px',\n marginBottom: '6px'\n },\n taskDetail: {\n lineHeight: '15px',\n fontSize: '12px',\n margin: '5px 0'\n },\n taskDetailTitle: {\n color: theme.palette.text.secondary,\n marginRight: '3px'\n },\n taskDueDate: {\n flex: '0 0 110px',\n fontSize: '13px',\n lineHeight: '15px',\n textAlign: 'right',\n paddingTop: '6px'\n },\n flag: {\n height: '14px',\n width: '14px',\n stroke: 'rgba(0,0,0,.54)',\n fill: 'none',\n verticalAlign: 'text-top',\n marginRight: '5px'\n },\n overdue: {\n '&$taskDueDate': {\n color: '#f44336'\n },\n '& $flag': {\n stroke: '#f44336',\n fill: '#f44336'\n }\n },\n entityLabel: {\n color: theme.palette.primary.main,\n textDecoration: 'none',\n fontSize: '13px',\n lineHeight: '15px'\n },\n hidden: {\n visibility: 'hidden'\n }\n}));\n","import React from 'react';\nimport {EnrichedWorkflowTaskData, WorkflowTaskObjectData} from '../../types/WorkflowTasks';\nimport {EntityUriLink} from '@reltio/components';\nimport {getEntityUriForLink, getLabel, getRelationType, Metadata, PredefinedWorkflowProcessType} from '@reltio/mdm-sdk';\nimport i18n from 'ui-i18n';\nimport {useStyles} from './styles';\n\ntype Props = {\n object: WorkflowTaskObjectData;\n metadata: Metadata;\n processType: EnrichedWorkflowTaskData['processType'];\n};\n\nconst EntityLink = ({uri, label, screen}: {uri: string; label: string; screen?: string}) => {\n const styles = useStyles();\n return (\n <EntityUriLink value={uri} screen={screen} className={styles.entityLabel}>\n {getLabel(label)}\n </EntityUriLink>\n );\n};\n\nconst WorkflowTaskObject = ({object, metadata, processType}: Props) => {\n if ('startObjectUri' in object && 'endObjectUri' in object) {\n const relationType = getRelationType(metadata, object.type);\n return (\n <>\n {relationType.label} {i18n.text('from')}{' '}\n <EntityLink uri={object.startObjectUri} label={object.startObjectLabel} /> {i18n.text('to')}{' '}\n <EntityLink uri={object.endObjectUri} label={object.endObjectLabel} />\n </>\n );\n } else {\n return (\n <EntityLink\n uri={getEntityUriForLink(object)}\n label={object.label}\n screen={\n processType === PredefinedWorkflowProcessType.potentialMatchReview ? 'potentialMatches' : 'profile'\n }\n />\n );\n }\n};\n\nexport default WorkflowTaskObject;\n","import React from 'react';\nimport {useSelector} from 'react-redux';\nimport i18n from 'ui-i18n';\nimport classnames from 'classnames';\nimport {EntityTypeIcon} from '@reltio/components';\nimport mdmModule from '@reltio/mdm-module';\nimport {getEntityType} from '@reltio/mdm-sdk';\nimport FlagIcon from '@material-ui/icons/Flag';\nimport {Typography as Typography} from '@material-ui/core';\nimport {EnrichedWorkflowTaskData} from '../../types';\nimport {isOverdueTask} from '../../services/workflowTasks';\nimport WorkflowTaskObject from './WorkflowTaskObject';\nimport {useStyles} from './styles';\n\ntype Props = {\n showAssignee: boolean;\n task: EnrichedWorkflowTaskData;\n};\n\nconst WorkflowTaskItem = ({task, showAssignee}: Props) => {\n const styles = useStyles();\n const objects = task.objects || [];\n const [firstObject] = objects;\n const metadata = useSelector(mdmModule.selectors.getMetadata);\n const entityType = firstObject && getEntityType(metadata, firstObject.type);\n\n return (\n <div className={classnames(styles.taskItem, task.priorityClass)}>\n <EntityTypeIcon entityType={entityType} />\n <div className={styles.taskInfo}>\n <Typography className={styles.taskTitle} variant={'subtitle1'}>\n {task.processDefinitionDisplayName}\n </Typography>\n {objects.map((object) => (\n <p key={object.uri} className={styles.taskDetail}>\n <WorkflowTaskObject object={object} processType={task.processType} metadata={metadata} />\n </p>\n ))}\n <p className={styles.taskDetail}>\n <span className={styles.taskDetailTitle}>{i18n.text('Created by:')}</span>\n {task.createdBy} {i18n.text('on')} {i18n.date(task.createTime, 'L')}\n </p>\n {showAssignee && task.assignee && (\n <p className={styles.taskDetail}>\n <span className={styles.taskDetailTitle}>{i18n.text('Assigned to:')}</span>\n {task.assignee}\n </p>\n )}\n <p className={styles.taskDetail}>\n <span className={styles.taskDetailTitle}>{i18n.text('Step:')}</span>\n {task.displayName}\n </p>\n </div>\n <div\n className={classnames(styles.taskDueDate, {\n [styles.overdue]: isOverdueTask(task),\n [styles.hidden]: !task.dueDate\n })}\n >\n <FlagIcon className={styles.flag} />\n {i18n.date(task.dueDate, 'L')}\n </div>\n </div>\n );\n};\n\nexport default WorkflowTaskItem;\n","import React, {useCallback} from 'react';\nimport {WorkflowTasksCategories, EnrichedWorkflowTaskData} from '../../types/WorkflowTasks';\nimport {AutoSizeList} from '@reltio/components';\nimport WorkflowTaskItem from '../WorkflowTaskItem/WorkflowTaskItem';\nimport {Divider as Divider} from '@material-ui/core';\n\ntype Props = {\n width: number;\n height: number;\n tasksCategory: WorkflowTasksCategories;\n tasks: EnrichedWorkflowTaskData[];\n};\n\nconst WorkflowTasksList = ({width, height, tasksCategory, tasks}: Props) => {\n const renderRow = useCallback(\n ({data, index}: {data: EnrichedWorkflowTaskData[]; index: number}) => {\n return (\n <div>\n <WorkflowTaskItem task={data[index]} showAssignee={tasksCategory !== WorkflowTasksCategories.MY} />\n <Divider light={true} variant={'inset'} />\n </div>\n );\n },\n [tasksCategory]\n );\n\n return (\n <AutoSizeList width={width} height={height} data={tasks} defaultItemSize={115}>\n {renderRow}\n </AutoSizeList>\n );\n};\n\nexport default WorkflowTasksList;\n","import React, {memo, useMemo, useState} from 'react';\nimport {WorkflowInboxFacetConfig} from '@reltio/mdm-sdk';\nimport LayoutItemView from '../../components/LayoutItemView/LayoutItemView';\nimport LayoutItemHeader from '../../components/LayoutItemHeader/LayoutItemHeader';\nimport LayoutItemContent from '../../components/LayoutItemContent/LayoutItemContent';\nimport WorkflowTasksList from '../../components/WorkflowTasksList/WorkflowTasksList';\nimport {Select as Select} from '@material-ui/core';\nimport {MenuItem as MenuItem} from '@material-ui/core';\nimport {WorkflowTasksCategories} from '../../types/WorkflowTasks';\nimport {useWorkflowTasksRequest} from '../../hooks/useWorkflowTasksRequest';\nimport {pipe} from 'ramda';\nimport {BasicTablePagination, getValue, useReloadFacet} from '@reltio/components';\nimport i18n from 'ui-i18n';\n\nimport {useStyles} from './styles';\n\ntype Props = {\n config: WorkflowInboxFacetConfig;\n onToggleFullscreen: (id: string) => void;\n isUpdated?: boolean;\n isFullscreen: boolean;\n onRemove?: (id: string) => void;\n};\n\nconst NotificationInboxFacet = ({config, onToggleFullscreen, isUpdated, isFullscreen, onRemove}: Props) => {\n const styles = useStyles();\n\n const {id, title, pageSize} = config;\n const [page, setPage] = useState(0);\n const [rowsPerPage, setRowsPerPage] = useState(pageSize || 10);\n const [tasksCategory, setTasksCategory] = useState<WorkflowTasksCategories>(WorkflowTasksCategories.MY);\n\n const options = useMemo(\n () => ({tasksCategory, max: rowsPerPage, offset: rowsPerPage * page}),\n [rowsPerPage, page, tasksCategory]\n );\n const {state, data, total, reload} = useWorkflowTasksRequest(options);\n\n useReloadFacet({state, reload});\n\n return (\n <LayoutItemView id={id}>\n <LayoutItemHeader\n title={title}\n onToggleFullscreen={onToggleFullscreen}\n isUpdated={isUpdated}\n isFullscreen={isFullscreen}\n onRemove={onRemove}\n onRefresh={reload}\n >\n <Select\n className={styles.tasksSelector}\n classes={{\n root: styles.tasksSelectorInput\n }}\n variant={'filled'}\n value={tasksCategory}\n onChange={pipe(getValue, setTasksCategory)}\n >\n <MenuItem value={WorkflowTasksCategories.MY}>{i18n.text('My tasks')}</MenuItem>\n <MenuItem value={WorkflowTasksCategories.TEAM}>{i18n.text('Team tasks')}</MenuItem>\n </Select>\n </LayoutItemHeader>\n <LayoutItemContent loadingState={state} onRefresh={reload} data={data}>\n {({data, width, height}) => {\n return (\n <WorkflowTasksList width={width} height={height} tasksCategory={tasksCategory} tasks={data} />\n );\n }}\n </LayoutItemContent>\n {total > (pageSize || 10) && (\n <div className={styles.pagination}>\n <BasicTablePagination\n count={total}\n rowsPerPage={rowsPerPage}\n page={page}\n onChangePage={setPage}\n onChangeRowsPerPage={setRowsPerPage}\n />\n </div>\n )}\n </LayoutItemView>\n );\n};\n\nexport default memo(NotificationInboxFacet);\n","import {useCallback, useEffect, useMemo, useState} from 'react';\nimport {useSelector} from 'react-redux';\nimport {andThen, otherwise, pipe, pick} from 'ramda';\nimport mdmModule from '@reltio/mdm-module';\nimport {useSafePromise, RequestStates} from '@reltio/components';\nimport {EnrichedWorkflowTaskData, WorkflowTasksCategories} from '../types/WorkflowTasks';\n\nimport {requestWorkflowTasks} from '../services/workflowTasks';\n\ntype Options = {\n tasksCategory: WorkflowTasksCategories;\n max?: number;\n offset?: number;\n};\n\nexport const useWorkflowTasksRequest = (options: Options) => {\n const {tasksCategory} = options;\n const requestParams = useMemo(() => pick(['max', 'offset'], options), [options]);\n const [data, setData] = useState<EnrichedWorkflowTaskData[]>([]);\n const [requestState, setRequestState] = useState<RequestStates>(RequestStates.INIT);\n const [total, setTotal] = useState<number>();\n const workflowPath = useSelector(mdmModule.selectors.getWorkflowPath);\n const environment = useSelector(mdmModule.selectors.getWorkflowEnvironmentUrl);\n const tenant = useSelector(mdmModule.selectors.getTenant);\n const userName = useSelector(mdmModule.selectors.getUserName);\n\n const assignee = tasksCategory === WorkflowTasksCategories.MY ? userName : undefined;\n const safePromise = useSafePromise();\n\n const onError = (error) => {\n console.error(error); // eslint-disable-line\n setRequestState(RequestStates.ERROR);\n setData([]);\n };\n\n const loadData = useCallback(() => {\n setRequestState(RequestStates.LOADING);\n const onRequestFinished = ({data, total}: {data: EnrichedWorkflowTaskData[]; total?: number}) => {\n setRequestState(RequestStates.LOADED);\n setData(data);\n setTotal(total);\n };\n\n const getData = pipe(\n requestWorkflowTasks(tasksCategory),\n safePromise,\n andThen(onRequestFinished),\n otherwise(onError)\n );\n getData({workflowPath, environment, tenant, assignee, ...requestParams});\n }, [workflowPath, environment, tenant, tasksCategory, requestParams]); // eslint-disable-line\n\n const refreshAction = () => {\n try {\n loadData();\n } catch (e) {\n onError(e);\n }\n };\n\n useEffect(() => {\n refreshAction();\n }, [loadData]);\n\n return {state: requestState, data, reload: refreshAction, total};\n};\n","import {useCallback, useEffect, useState} from 'react';\nimport {andThen, otherwise, pipe} from 'ramda';\nimport {ActivitiesFilter, ActivityData, useActivitiesLoader, useSafePromise, RequestStates} from '@reltio/components';\n\ntype Props = {\n filter: ActivitiesFilter;\n max: number;\n offset: number;\n};\n\nexport const useActivitiesRequest = ({filter, max, offset}: Props) => {\n const [data, setData] = useState<ActivityData[]>([]);\n const [total, setTotal] = useState(0);\n const [requestState, setRequestState] = useState<RequestStates>(RequestStates.INIT);\n const safePromise = useSafePromise();\n\n const onError = (error) => {\n console.error(error); // eslint-disable-line\n setRequestState(RequestStates.ERROR);\n setData([]);\n setTotal(0);\n };\n const getActivities = useActivitiesLoader({filter, max, offset});\n\n const loadData = useCallback(() => {\n setRequestState(RequestStates.LOADING);\n const onRequestFinished = ({data, total}: {data: ActivityData[]; total: number}) => {\n setData(data);\n setTotal(total);\n setRequestState(RequestStates.LOADED);\n };\n\n const getData = pipe(getActivities, safePromise, andThen(onRequestFinished), otherwise(onError));\n getData();\n }, [getActivities]); // eslint-disable-line\n\n const refreshAction = () => {\n try {\n loadData();\n } catch (e) {\n onError(e);\n }\n };\n\n useEffect(() => {\n refreshAction();\n }, [loadData]);\n\n return {state: requestState, data, total, reload: refreshAction};\n};\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles(() => ({\n activityLogFilter: {\n padding: '0 9px'\n }\n}));\n","import React, {memo, useCallback, useMemo, useState} from 'react';\n\nimport {ActivitiesViewFacetConfig} from '../../types/ActivitiesViewFacetConfig';\nimport LayoutItemView from '../../components/LayoutItemView/LayoutItemView';\nimport LayoutItemHeader from '../../components/LayoutItemHeader/LayoutItemHeader';\nimport LayoutItemContent from '../../components/LayoutItemContent/LayoutItemContent';\nimport {ActivitiesFilter, ActivityLog, ActivityLogFilter, DateRangeTypes, useReloadFacet} from '@reltio/components';\nimport {DEFAULT_ROWS_PER_PAGE, getRowsPerPageOptions} from './helpers';\nimport {useActivitiesRequest} from '../../hooks/useActivitiesRequest';\nimport {useStyles} from './styles';\n\ntype Props = {\n config: ActivitiesViewFacetConfig;\n onToggleFullscreen: (id: string) => void;\n isUpdated?: boolean;\n isFullscreen: boolean;\n onRemove?: (id: string) => void;\n};\n\nconst ActivitiesViewFacet = ({config, isUpdated, isFullscreen, onToggleFullscreen, onRemove}: Props) => {\n const {id, title, exportTypes} = config;\n const styles = useStyles();\n\n const [page, setPage] = useState(0);\n const [rowsPerPage, setRowsPerPage] = useState(DEFAULT_ROWS_PER_PAGE);\n const rowsPerPageOptions = useMemo(() => getRowsPerPageOptions(DEFAULT_ROWS_PER_PAGE), []);\n const [filter, setFilter] = useState<ActivitiesFilter>({\n users: [],\n activities: [],\n dateRange: {\n type: DateRangeTypes.WITHIN,\n period: [4, 'months']\n }\n });\n const {state, data, total, reload} = useActivitiesRequest({filter, max: rowsPerPage, offset: page * rowsPerPage});\n\n const handleFilterChange = useCallback((value: ActivitiesFilter) => {\n setFilter(value);\n setPage(0);\n }, []);\n\n useReloadFacet({state, reload});\n\n return (\n <LayoutItemView id={id}>\n <LayoutItemHeader\n title={title}\n onToggleFullscreen={onToggleFullscreen}\n isUpdated={isUpdated}\n isFullscreen={isFullscreen}\n onRemove={onRemove}\n onRefresh={reload}\n />\n <div className={styles.activityLogFilter}>\n <ActivityLogFilter value={filter} onChange={handleFilterChange} exportTypes={exportTypes} />\n </div>\n <LayoutItemContent loadingState={state} onRefresh={reload} data={data}>\n {({data, width, height}) => {\n return (\n <ActivityLog\n width={width}\n height={height}\n activities={data}\n count={total}\n page={page}\n onChangePage={setPage}\n rowsPerPage={rowsPerPage}\n onChangeRowsPerPage={setRowsPerPage}\n rowsPerPageOptions={rowsPerPageOptions}\n />\n );\n }}\n </LayoutItemContent>\n </LayoutItemView>\n );\n};\n\nexport default memo(ActivitiesViewFacet);\n","import React from 'react';\nimport FilteredSavedSearchesFacet from './tableBased/FilteredSavedSearchesFacet';\nimport DashboardFacet from './chartBased/DashboardFacet';\nimport FilteredEntitiesViewFacet from './tableBased/FilteredEntitiesViewFacet';\nimport ProfileStatsFacet from './chartBased/ProfileStatsFacet';\nimport EntitiesByTypeViewFacet from './chartBased/EntitiesByTypeViewFacet';\nimport CustomActionViewFacet from './custom/CustomActionViewFacet';\nimport {ChartTypes, DashboardFacetConfig, DashboardView, DashboardViewTypes} from '@reltio/mdm-sdk';\nimport NotificationInboxFacet from './custom/NotificationInboxFacet';\nimport ActivitiesViewFacet from './tableBased/ActivitiesViewFacet';\nimport {\n ActivitiesViewFacetConfig,\n CustomActionViewFacetConfig,\n EntityByTypeViewFacetConfig,\n FilteredSavedSearchesFacetConfig,\n FilteredEntitiesFacetConfig\n} from '../types';\n\ntype Props = {\n config:\n | ActivitiesViewFacetConfig\n | CustomActionViewFacetConfig\n | DashboardFacetConfig\n | EntityByTypeViewFacetConfig\n | FilteredEntitiesFacetConfig\n | FilteredSavedSearchesFacetConfig\n | DashboardView;\n type: string;\n onToggleFullscreen: (id: string) => void;\n isUpdated?: boolean;\n isFullscreen: boolean;\n onRemove?: (id: string) => void;\n};\nclass ViewsFactory {\n static ViewTypes = DashboardViewTypes;\n\n static getComponent = ({config, type, isUpdated, isFullscreen, onToggleFullscreen, onRemove}: Props) => {\n const props = {\n isUpdated,\n isFullscreen,\n onToggleFullscreen,\n onRemove\n };\n switch (type) {\n case ViewsFactory.ViewTypes.ActivitiesViewFacet:\n return <ActivitiesViewFacet config={config} {...props} />;\n case ViewsFactory.ViewTypes.CustomActionViewFacet:\n return <CustomActionViewFacet config={config as CustomActionViewFacetConfig} {...props} />;\n case ViewsFactory.ViewTypes.DashboardFacet:\n return <DashboardFacet config={config as DashboardFacetConfig} {...props} />;\n case ViewsFactory.ViewTypes.EntitiesByTypeViewFacet:\n return <EntitiesByTypeViewFacet config={config as EntityByTypeViewFacetConfig} {...props} />;\n case ViewsFactory.ViewTypes.FilteredSavedSearchesFacet:\n return <FilteredSavedSearchesFacet config={config} {...props} />;\n case ViewsFactory.ViewTypes.FilteredEntitiesViewFacet:\n return <FilteredEntitiesViewFacet config={config} {...props} />;\n case ViewsFactory.ViewTypes.NotificationInboxFacet:\n return <NotificationInboxFacet config={config} {...props} />;\n case ViewsFactory.ViewTypes.ProfileStatsFacet:\n return <ProfileStatsFacet config={config} {...props} />;\n default:\n return <div>NOT IMPLEMENTED</div>;\n }\n };\n\n static getChartType = (view: DashboardView & {chartType?: string}): string => {\n const typeConverters = {\n [ViewsFactory.ViewTypes.EntitiesByTypeViewFacet]: ChartTypes.TREE,\n [ViewsFactory.ViewTypes.FilteredSavedSearchesFacet]: ChartTypes.TABLE,\n [ViewsFactory.ViewTypes.FilteredEntitiesViewFacet]: ChartTypes.TABLE,\n [ViewsFactory.ViewTypes.ProfileStatsFacet]: ChartTypes.LINE,\n [ViewsFactory.ViewTypes.NotificationInboxFacet]: ChartTypes.TABLE,\n [ViewsFactory.ViewTypes.ActivitiesViewFacet]: ChartTypes.TABLE\n };\n return view.chartType || typeConverters[view.component];\n };\n}\n\nexport default ViewsFactory;\n"],"names":["props","width","height","viewBox","xmlns","d","fill","stroke","strokeWidth","fillRule","x","y","rx","useStyles","makeStyles","container","paddingLeft","listItem","paddingTop","paddingBottom","transition","background","outline","listItemFocus","icon","opacity","flexShrink","marginRight","marginLeft","recommendedIcon","logoIcon","itemAfter","position","right","top","pointerEvents","itemText","padding","margin","fontSize","letterSpacing","whiteSpace","checkbox","checked","marginWrapper","display","alignItems","defaultCursor","cursor","itemTooltip","marginText","itemTextWrapper","attrType","styles","Icon","type","DataTypes","NestedAttrIcon","ReferenceAttrIcon","SimpleAttrIcon","getIconForAttrType","className","RecommendedIconWithTooltip","withTooltip","transform","cx","cy","r","memo","groupId","data","isFocused","isRequired","label","labelInText","level","onClick","noop","hideCheckBox","hideIcon","notSelectable","disableHorizontalScrollbar","style","subItemMargin","LogoIcon","isButton","isNested","showLogoIcon","ExpandedValueTooltip","value","placement","ListItem","classnames","undefined","dense","button","classes","focusVisible","selected","tabIndex","Checkbox","disableRipple","disabled","Marginator","tooltipTitle","i18n","showForDisabled","renderIcon","ListItemText","primary","RequiredMark","contextSelector","CellRenderer","withContext","TableContext","pagination","justifyContent","borderTop","boxShadow","caption","color","lineHeight","selectRoot","select","textAlign","actions","BasicTablePagination","count","rowsPerPageOptions","page","onChangePage","rowsPerPage","onChangeRowsPerPage","basicTableRef","labelRowsPerPage","resetScrollbarPosition","useCallback","pathOr","identity","handleChangePage","handleChangeRowsPerPage","TablePagination","root","component","labelDisplayedRows","from","to","fromRow","toRow","countRows","pipe","nthArg","getValue","propTypes","PropTypes","current","React","theme","flexDirection","basicView","BasicView","forwardRef","ref","children","otherProps","Paper","displayName","toolbar","minHeight","title","fontWeight","overflow","textOverflow","Toolbar","Typography","variant","collapseButton","expandLess","isOpen","buttonProps","ExpandMore","iconClassName","tooltipProps","SmallIconButton","bar","backgroundColor","palette","secondary","main","minWidth","borderRadius","left","widthIsNumber","is","Number","maxWidth","getBarColorWidth","buttonRoot","action","active","fade","paper","menuItem","menuText","text","MenuItemWithTooltip","MenuItem","MenuItemRenderer","item","onMenuClose","tooltip","id","selectable","e","DropDownMenuButton","menuId","buttonComponent","Button","buttonContent","menuItems","popoverProps","onMenuOpen","DefaultMenuItemRenderer","ButtonComponent","buttonRef","useRef","setIsOpen","useState","useDidUpdateEffect","handleToggle","stopPropagation","open","Menu","autoFocus","anchorEl","onClose","anchorOrigin","vertical","horizontal","transformOrigin","elevation","getContentAnchorEl","MenuListProps","autoFocusItem","map","index","key","useMenuStyles","addLabel","addIcon","useSingleValueStyles","singleValue","marginTop","selectProps","onCreate","createLabel","inputValue","components","MenuWithPopper","prop","Add","SingleValue","menuIsOpen","innerProps","control","dropdownIndicator","valueContainer","formControl","filledInputRoot","filledInputUnderline","inputLabel","customStyles","menu","baseStyles","menuList","maxHeight","group","input","option","overloadMenuListStyle","withoutLabelInputStyle","DropDownSelector","getOptions","options","onChange","onClear","textFieldInputRef","TextFieldProps","underlineStyle","useInputStyles","setOpen","inputRef","SelectComponent","AsyncSelect","Select","showIndicatorSeparator","IndicatorSeparator","EmptyStub","ClearIndicator","handleCreate","overloadStylesIfGroup","overloadStylesIfNoLabel","isEmpty","mergedStyles","mergedClasses","placeholder","defaultOptions","defaultTo","loadOptions","cacheOptions","DropdownIndicator","LoadingIndicator","menuPlacement","path","inputProps","InputProps","underline","isEmptyValue","focused","InputLabelProps","shrink","DropDownSelectorType","absoluteImagePath","useSelector","mdmModule","storagePath","str","endsWith","EntityUriLink","screen","dispatch","useDispatch","viewId","useContext","ViewIdContext","generateEntityLink","GenerateEntityUrlContext","getEntityLink","uiPath","ui","uri","href","preventDefault","withMuiSkin","reltioLayoutItemToReactGridLayoutItem","isStatic","w","h","minW","minH","maxW","maxH","i","static","reactGridLayoutItemToReltioLayoutItem","reactGridLayoutToReltioLayout","layout","getReltioLayoutItemById","curry","find","propEq","updateExtraPropsInLayoutItem","mergeAll","pick","copyPropsFromPreviousLayout","oldReltioLayout","reltioLayout","layoutItem","__","_","gridLayout","border","transitionDuration","zIndex","userSelect","transitionProperty","willChange","backgroundImage","bottom","svg2Url","backgroundRepeat","backgroundOrigin","boxSizing","visibility","gridFullscreen","overflowY","ReltioGridLayout","views","layoutOptions","onLayoutChanged","draggableHandle","LayoutItem","onRemove","onDrop","droppingItem","isDroppable","fullscreenItemId","setFullscreenItemId","setWidth","cols","rowHeight","processedLayout","useMemo","reltioLayoutToReactGridLayout","onReltioLayoutChanged","onToggleFullscreen","prevId","isFullscreenEnabled","onItemHeightResize","layoutId","isLayoutChanged","newLayout","newHeight","Math","ceil","calcHeight","refreshMode","refreshRate","handleWidth","onResize","innerRef","autoSize","onLayoutChange","isResizable","isDraggable","isItemFullscreen","autosizeComponent","autosizing","AutosizeComponent","layoutItemId","handleHeight","layoutItemConfig","fullscreen","isFullscreen","defaultProps","onConfigChanged","mark","DropDownValue","DropDownPlaceholder","Placeholder","loader","LinearProgress","view","flex","DashboardViewIdContext","useSavedSearchesRequest","offset","max","setData","total","setTotal","requestState","setRequestState","RequestStates","onError","error","console","loadData","onRequestFinished","result","countResults","restOptions","async","getSavedSearches","totalRequests","search","getTotalsForQuery","replacePlaceholdersInQuery","query","searchesWithCount","promiseAllSettled","reduce","searchesWithTotal","searchIndex","status","reason","assocPath","getData","catch","refreshAction","useEffect","state","reload","ROWS_PER_PAGE_OPTIONS","DEFAULT_ROWS_PER_PAGE","getRowsPerPageOptions","defaultRowsPerPage","filter","concat","sort","subtract","itemTitle","itemIcon","openIcon","items","setAnchorEl","isMenuOpen","Boolean","handleMenuClose","handleItemClick","IconButton","currentTarget","MoreVert","ListItemIcon","toolbarRoot","marginBottom","dragIcon","rightMenu","flexGrow","updatedChip","isUpdated","onRefresh","Replay","Fullscreen","FullscreenExit","HighlightOff","BasicViewHeader","Chip","size","DragIndicator","_extends","Object","assign","target","arguments","length","source","prototype","hasOwnProperty","call","apply","this","maskType","maskUnits","mask","fillOpacity","clipRule","mixBlendMode","x1","y1","x2","y2","gradientUnits","stopColor","stopOpacity","filterUnits","colorInterpolationFilters","floodOpacity","in","values","dy","stdDeviation","mode","in2","noDataContainer","errorContainer","errorIcon","refreshButton","refreshIcon","message","startIcon","viewContent","loadingState","EmptyPlaceholder","BasicViewContent","ErrorBoundary","DashboardLinearLoader","withPagination","TableComponent","WithPagination","savedSearchDataToSearchState","uiState","version","currentSavedSearchUri","curSavedSearchUri","TableWithPagination","TableWithBars","config","setRowsPerPage","setPage","chartData","name","savedSearchDataToChartData","onSSClick","useReloadFacet","LayoutItemView","headers","showValues","onItemClick","configFilterToSearchFilter","when","includes","FilterOptions","evolve","wrapInArray","createNotEqualFilter","fieldName","convertSearchFilterToDashboardConfigFilter","searchFilter","createEntityTypeFilter","entityTypeUri","createFacetItemFilter","convertFilterToFacetState","metadata","entityType","isEntityAttributeFilter","test","findAttributeTypeByUri","searchUriToAttrUri","getSpecialAttrTypeByFieldName","assoc","isDateType","mapFilterValue","parseTimestamp","isEntityTypeFilter","requestFacets","attribute","filters","globalFilter","searchByOv","activityFilter","pageSize","orderType","buildFilterQueryString","addGlobalFilterToQuery","push","join","buildQuery","body","pageNo","getFacets","then","response","entries","sortWith","descend","ascend","getFacetData","resolveLookups","lookupCode","lookupsToResolve","codeValue","resolveLookupsList","codes","flatMap","buildLookupRecord","code","buildFacetOthersFilters","OTHER_FACET_GROUP","requestOtherValues","otherFilters","searchOptions","getTotals","resolveRoleLabel","roleName","getRoleLabel","localizeFacetValues","facet","localizedValue","getFacetFieldName","isEntityTypeUri","attributeUriToSearchUri","getFacetEntityTypeUri","ifElse","getEntityUriFromAttributeUri","always","getFiltersForFacet","attributeUri","hasEntityTypeFilter","some","getFiltersForFacetItem","reject","facetFiltersToSearchState","facets","chartType","showOthers","ChartTypes","facetFilters","searchFilters","SearchFiltersContext","facetAndSpecialFilters","attributePresentations","hasAttrPresentation","andThen","isLookupAttrType","getAttrTypeLookupCode","isRoleAttrType","formatDataTypeValue","dataTypeDefinition","getAttrDataTypeDefinition","resolveFacetLabels","unless","otherwise","useFacetRequest","ChartsFactory","content","headCell","headLabel","entityLabel","textDecoration","headCellData","DefaultHeadCellRenderer","rowValue","entity","getLabel","getEntityUriForLink","tableContainer","cellBorder","borderLeft","borderRight","headData","resizable","headCellRenderer","HeadCellRenderer","rowCellValueRenderer","EntityLabelRenderer","initialWidth","tableClasses","BasicTable","columnsData","rowsData","headRowHeight","getRowCellHeight","defaultColumnWidth","defaultColumnMinWidth","allFilters","Promise","all","getFilteredEntities","results","entities","useFilteredEntitiesRequest","PeriodStep","getStepForPeriod","period","getDateRangeByDatePeriod","getDashboardDateRangeByValue","startTime","endTime","moment","DAY","HOUR","currentDate","DateRangeValue","valueOf","getDateRangeByValue","getValuesDateRange","Date","StatsEvents","types","getStatsEventById","event","getStatsEventName","propOr","getStatsEventColor","requestStats","getStats","getEntitiesStats","allTypes","chain","processStats","pluck","stats","getEvents","events","presentTypes","periodFrame","term","prepend","append","isEventPresent","resolve","getEventsData","groupEventsData","step","eventData","groupBy","startOf","toPairs","date","sum","interpolateEventsData","head","other","acc","stepTime","nextTerm","last","interpolatedItems","calibrateStatsData","statsData","getStepValueFormat","cond","equals","payload","textAnchor","tooltipWrapper","tooltipItemColor","legend","flexWrap","legendItem","legendItemColor","legendItemValue","selectedItems","isSelected","Tooltip","selectedEvents","setSelectedEvents","tooltipEvent","setTooltipEvent","cartesianGrid","xAxis","yAxis","line","dataKey","tick","angle","allowDuplicatedCategory","tickFormatter","formatNumberAsMetric","strokeDasharray","strokeOpacity","wrapperStyle","domain","tickCount","counts","min","abs","getChartDomain","dot","activeDot","onMouseEnter","onMouseLeave","without","periodSelector","flexBasis","setPeriod","safePromise","useSafePromise","toString","useStatsRequest","DateRangeEditor","getDateRangeOptions","typeNameToUri","typeName","getUriFromTypeFacet","resolveTypeFacetsLabels","typeFacets","typeUri","getEntityType","getParentEntityTypeFacets","getParentTypeForFacet","getInheritancePath","isAvailableEntityType","parentsMap","parentType","parentName","getLastUriPart","entityTypeNameToFilters","wrapInArrayIfNeeded","getEntityTypeName","findTypeFacetByName","createEmptyEntityTypeFacet","addEmptyEntityTypesFacets","entityTypes","getFacet","either","hideEmpty","inheritChildren","useEntityByTypeRequest","onTypeClick","TreeChart","iframe","borderWidth","tasksSelector","tasksSelectorInput","url","src","frameBorder","WorkflowTasksCategories","getTasksByCategory","MY","getTasksForTenant","TEAM","getGroupTasksForTenant","T","getFirstObjectUri","isDCRObjectUri","startsWith","notEmpty","complement","getEntities","isEntityUri","getEntitiesByUris","getChangeRequests","getDataChangeRequest","requests","getTaskObjectsData","converge","extractObjectsFromChangeRequest","objectsInfo","changes","getChange","getUri","keys","enrichTasksWithObjectsData","changeRequests","tasks","isNil","task","objects","enrichTaskWithEntity","changeRequest","enrichTaskWithDCRObjects","requestWorkflowTasks","tasksCategory","workflowPath","environment","tenant","assignee","getTasks","isOverdueTask","dueDate","now","taskItem","taskInfo","overflowWrap","taskTitle","taskDetail","taskDetailTitle","taskDueDate","flag","verticalAlign","overdue","hidden","EntityLink","object","processType","relationType","getRelationType","startObjectUri","startObjectLabel","endObjectUri","endObjectLabel","PredefinedWorkflowProcessType","showAssignee","firstObject","priorityClass","EntityTypeIcon","processDefinitionDisplayName","createdBy","createTime","Flag","renderRow","Divider","light","AutoSizeList","defaultItemSize","setTasksCategory","requestParams","userName","useWorkflowTasksRequest","activityLogFilter","exportTypes","setFilter","users","activities","dateRange","DateRangeTypes","getActivities","useActivitiesLoader","useActivitiesRequest","handleFilterChange","ActivityLogFilter","ActivityLog","ViewsFactory","ViewTypes","DashboardViewTypes","getComponent","ActivitiesViewFacet","CustomActionViewFacet","DashboardFacet","EntitiesByTypeViewFacet","FilteredSavedSearchesFacet","FilteredEntitiesViewFacet","NotificationInboxFacet","ProfileStatsFacet","getChartType","typeConverters"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"1219.js","mappings":"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","sources":["webpack://@reltio/remotes/../components/src/icons/ReferenceAttribute.tsx","webpack://@reltio/remotes/../components/src/icons/SimpleAttribute.tsx","webpack://@reltio/remotes/../components/src/components/AttributeListItem/styles.ts","webpack://@reltio/remotes/../components/src/components/AttributeListItem/AttrTypeIcon.tsx","webpack://@reltio/remotes/../components/src/icons/Recommended.tsx","webpack://@reltio/remotes/../components/src/components/AttributeListItem/AttributeListItem.tsx","webpack://@reltio/remotes/../components/src/components/BasicTableView/BasicTable/HOCs/withTableContext.js","webpack://@reltio/remotes/../components/src/components/BasicTableView/BasicTablePagination/styles.js","webpack://@reltio/remotes/../components/src/components/BasicTableView/BasicTablePagination/BasicTablePagination.js","webpack://@reltio/remotes/../components/src/components/BasicView/styles.js","webpack://@reltio/remotes/../components/src/components/BasicView/BasicView.tsx","webpack://@reltio/remotes/../components/src/components/BasicViewHeader/styles.ts","webpack://@reltio/remotes/../components/src/components/BasicViewHeader/BasicViewHeader.tsx","webpack://@reltio/remotes/../components/src/components/CollapseButton/styles.ts","webpack://@reltio/remotes/../components/src/components/CollapseButton/CollapseButton.tsx","webpack://@reltio/remotes/../components/src/components/ColorBar/styles.ts","webpack://@reltio/remotes/../components/src/components/ColorBar/ColorBar.tsx","webpack://@reltio/remotes/../components/src/components/DropDownMenuButton/styles.ts","webpack://@reltio/remotes/../components/src/components/DropDownMenuButton/MenuItemRenderer.tsx","webpack://@reltio/remotes/../components/src/components/DropDownMenuButton/DropDownMenuButton.tsx","webpack://@reltio/remotes/../components/src/components/DropDownSelector/components/styles.js","webpack://@reltio/remotes/../components/src/components/DropDownSelector/components/Menu.js","webpack://@reltio/remotes/../components/src/components/DropDownSelector/components/SingleValue.js","webpack://@reltio/remotes/../components/src/components/DropDownSelector/styles.js","webpack://@reltio/remotes/../components/src/components/DropDownSelector/DropDownSelector.js","webpack://@reltio/remotes/../components/src/components/EntityTypeIcon/EntityTypeIcon.js","webpack://@reltio/remotes/../components/src/components/EntityUriLink/EntityUriLink.tsx","webpack://@reltio/remotes/../components/src/components/ReactSelect/AsyncSelect.js","webpack://@reltio/remotes/../components/src/components/ReltioGridLayout/helpers.js","webpack://@reltio/remotes/../components/src/components/ReltioGridLayout/icons/ResizeIcon.svg.ts","webpack://@reltio/remotes/../components/src/components/ReltioGridLayout/styles.js","webpack://@reltio/remotes/../components/src/components/ReltioGridLayout/ReltioGridLayout.js","webpack://@reltio/remotes/../components/src/components/RequiredMark/styles.js","webpack://@reltio/remotes/../components/src/components/RequiredMark/RequiredMark.tsx","webpack://@reltio/remotes/../components/src/components/SimpleDropDownSelector/styles.js","webpack://@reltio/remotes/../components/src/components/SimpleDropDownSelector/DropDownValue.js","webpack://@reltio/remotes/../components/src/components/SimpleDropDownSelector/DropDownPlaceholder.js","webpack://@reltio/remotes/../components/src/components/SimpleDropDownSelector/SimpleDropDownSelector.js","webpack://@reltio/remotes/../components/src/contexts/GenerateEntityUrlContext/index.ts","webpack://@reltio/remotes/../components/src/contexts/ViewIdContext/index.js","webpack://@reltio/remotes/../components/src/icons/NestedAttribute.tsx","webpack://@reltio/remotes/../dashboard/src/components/DashboardLinearLoader/styles.ts","webpack://@reltio/remotes/../dashboard/src/components/DashboardLinearLoader/DashboardLinearLoader.tsx","webpack://@reltio/remotes/../dashboard/src/components/LayoutItemView/styles.ts","webpack://@reltio/remotes/../dashboard/src/components/LayoutItemView/LayoutItemView.tsx","webpack://@reltio/remotes/../dashboard/src/contexts/DashboardViewIdContext/index.ts","webpack://@reltio/remotes/../dashboard/src/hooks/useSavedSearchesRequest.ts","webpack://@reltio/remotes/../dashboard/src/views/tableBased/helpers.ts","webpack://@reltio/remotes/../dashboard/src/components/DashboardPopupMenu/styles.ts","webpack://@reltio/remotes/../dashboard/src/components/DashboardPopupMenu/DashboardPopupMenu.tsx","webpack://@reltio/remotes/../dashboard/src/components/LayoutItemHeader/styles.ts","webpack://@reltio/remotes/../dashboard/src/components/LayoutItemHeader/LayoutItemHeader.tsx","webpack://@reltio/remotes/../dashboard/src/components/DashboardNoData/icons/noData.svg","webpack://@reltio/remotes/../dashboard/src/components/DashboardNoData/styles.ts","webpack://@reltio/remotes/../dashboard/src/components/DashboardNoData/DashboardNoData.tsx","webpack://@reltio/remotes/../dashboard/src/components/DashboardError/icons/error.svg","webpack://@reltio/remotes/../dashboard/src/components/DashboardError/styles.ts","webpack://@reltio/remotes/../dashboard/src/components/DashboardError/DashboardError.tsx","webpack://@reltio/remotes/../dashboard/src/components/LayoutItemContent/styles.ts","webpack://@reltio/remotes/../dashboard/src/components/LayoutItemContent/LayoutItemContent.tsx","webpack://@reltio/remotes/../dashboard/src/HOCs/withPagination.tsx","webpack://@reltio/remotes/../dashboard/src/services/savedSearches.ts","webpack://@reltio/remotes/../dashboard/src/views/tableBased/FilteredSavedSearchesFacet.tsx","webpack://@reltio/remotes/../dashboard/src/services/filters.ts","webpack://@reltio/remotes/../dashboard/src/services/facets.ts","webpack://@reltio/remotes/../dashboard/src/views/chartBased/DashboardFacet.tsx","webpack://@reltio/remotes/../dashboard/src/hooks/useFacetRequest.ts","webpack://@reltio/remotes/../dashboard/src/components/EntityTable/cell-renderers/styles.ts","webpack://@reltio/remotes/../dashboard/src/components/EntityTable/cell-renderers/HeadCellRenderer.tsx","webpack://@reltio/remotes/../dashboard/src/components/EntityTable/cell-renderers/EntityLabelRenderer.tsx","webpack://@reltio/remotes/../dashboard/src/components/EntityTable/styles.ts","webpack://@reltio/remotes/../dashboard/src/views/tableBased/FilteredEntitiesViewFacet.tsx","webpack://@reltio/remotes/../dashboard/src/components/EntityTable/EntityTable.tsx","webpack://@reltio/remotes/../dashboard/src/hooks/useFilteredEntitiesRequest.ts","webpack://@reltio/remotes/../dashboard/src/types/PeriodStep.ts","webpack://@reltio/remotes/../dashboard/src/services/period.ts","webpack://@reltio/remotes/../dashboard/src/services/stats.ts","webpack://@reltio/remotes/../dashboard/src/components/StatsChart/customized/CustomAxisTick.tsx","webpack://@reltio/remotes/../dashboard/src/components/StatsChart/customized/styles.ts","webpack://@reltio/remotes/../dashboard/src/components/StatsChart/customized/CustomTooltip.tsx","webpack://@reltio/remotes/../dashboard/src/components/StatsChart/customized/CustomLegend.tsx","webpack://@reltio/remotes/../dashboard/src/components/StatsChart/StatsChart.tsx","webpack://@reltio/remotes/../dashboard/src/components/StatsChart/getStatsChartSettings.ts","webpack://@reltio/remotes/../dashboard/src/hooks/useStatsRequest.ts","webpack://@reltio/remotes/../dashboard/src/views/chartBased/styles.ts","webpack://@reltio/remotes/../dashboard/src/views/chartBased/ProfileStatsFacet.tsx","webpack://@reltio/remotes/../dashboard/src/services/entityTypes.ts","webpack://@reltio/remotes/../dashboard/src/hooks/useEntityByTypeRequest.ts","webpack://@reltio/remotes/../dashboard/src/views/chartBased/EntitiesByTypeViewFacet.tsx","webpack://@reltio/remotes/../dashboard/src/views/custom/styles.ts","webpack://@reltio/remotes/../dashboard/src/views/custom/CustomActionViewFacet.tsx","webpack://@reltio/remotes/../dashboard/src/types/WorkflowTasks.ts","webpack://@reltio/remotes/../dashboard/src/services/workflowTasks.ts","webpack://@reltio/remotes/../dashboard/src/components/WorkflowTaskItem/styles.ts","webpack://@reltio/remotes/../dashboard/src/components/WorkflowTaskItem/WorkflowTaskObject.tsx","webpack://@reltio/remotes/../dashboard/src/components/WorkflowTaskItem/WorkflowTaskItem.tsx","webpack://@reltio/remotes/../dashboard/src/components/WorkflowTasksList/WorkflowTasksList.tsx","webpack://@reltio/remotes/../dashboard/src/views/custom/NotificationInboxFacet.tsx","webpack://@reltio/remotes/../dashboard/src/hooks/useWorkflowTasksRequest.ts","webpack://@reltio/remotes/../dashboard/src/hooks/useActivitiesRequest.ts","webpack://@reltio/remotes/../dashboard/src/views/tableBased/styles.ts","webpack://@reltio/remotes/../dashboard/src/views/tableBased/ActivitiesViewFacet.tsx","webpack://@reltio/remotes/../dashboard/src/views/ViewsFactory.tsx"],"sourcesContent":["import React from 'react';\n\nconst SvgReferenceAttribute: React.FC<React.SVGProps<SVGSVGElement>> = (props) => {\n return (\n <svg width={24} height={24} viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path\n d=\"M10 18h3v-1a1 1 0 011-1h4a1 1 0 011 1v4a1 1 0 01-1 1h-4a1 1 0 01-1-1v-1H8V8H6a1 1 0 01-1-1V3a1 1 0 011-1h6a1 1 0 011 1v4a1 1 0 01-1 1h-2v3h3v-1a1 1 0 011-1h4a1 1 0 011 1v4a1 1 0 01-1 1h-4a1 1 0 01-1-1v-1h-3v5z\"\n fill=\"#000\"\n stroke=\"none\"\n strokeWidth={1}\n fillRule=\"evenodd\"\n />\n </svg>\n );\n};\n\nexport default SvgReferenceAttribute;\n","import React from 'react';\n\nconst SvgSimpleAttribute: React.FC<React.SVGProps<SVGSVGElement>> = (props) => {\n return (\n <svg width={24} height={24} viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <rect\n fill=\"#000\"\n x={9}\n y={9}\n width={6}\n height={6}\n rx={1}\n stroke=\"none\"\n strokeWidth={1}\n fillRule=\"evenodd\"\n />\n </svg>\n );\n};\n\nexport default SvgSimpleAttribute;\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles({\n container: {\n '& > $marginWrapper:first-child': {\n paddingLeft: '4px'\n }\n },\n listItem: {\n paddingLeft: '1px',\n paddingTop: '2px',\n paddingBottom: '2px',\n transition: 'none',\n '&:hover': {\n '& $itemAfter': {\n background: 'linear-gradient(to right, rgba(235, 235, 235, 0.2), rgba(235, 235, 235, 1) 100%)'\n }\n },\n '&$listItemFocus': {\n '& $itemAfter': {\n background: 'linear-gradient(to right, rgba(219, 219, 219, 0.2), rgba(219, 219, 219, 1) 100%)'\n }\n },\n '&:focus': {\n outline: 'none'\n }\n },\n listItemFocus: {},\n icon: {\n opacity: 0.29,\n width: '16px',\n height: '16px',\n flexShrink: 0,\n marginRight: '6px',\n marginLeft: '8px'\n },\n recommendedIcon: {\n width: '18px',\n height: '18px',\n marginRight: '5px',\n marginLeft: '7px',\n flexShrink: 0\n },\n logoIcon: {\n width: '18px',\n height: '18px',\n flexShrink: 0,\n marginRight: '4px'\n },\n itemAfter: {\n position: 'absolute',\n right: 0,\n top: 0,\n width: '40px',\n height: '100%',\n pointerEvents: 'none',\n background: 'linear-gradient(to right, rgba(255, 255, 255, 0.2), #fff 100%)'\n },\n itemText: {\n padding: '0',\n margin: 0,\n '& span': {\n fontSize: '0.8125rem',\n letterSpacing: 'normal',\n whiteSpace: 'nowrap'\n }\n },\n checkbox: {\n opacity: 0.34,\n padding: 0,\n marginLeft: '14px',\n '&$checked': {\n opacity: 1,\n background: 'none'\n }\n },\n checked: {},\n marginWrapper: {\n display: 'flex',\n alignItems: 'center'\n },\n defaultCursor: {\n cursor: 'default'\n },\n itemTooltip: {\n margin: '4px 0'\n },\n marginText: {\n marginLeft: '21px'\n },\n itemTextWrapper: {\n display: 'flex',\n alignItems: 'center'\n }\n});\n","import React from 'react';\n\nimport {DataTypes, AttributeType} from '@reltio/mdm-sdk';\nimport NestedAttrIcon from '../../icons/NestedAttribute';\nimport ReferenceAttrIcon from '../../icons/ReferenceAttribute';\nimport SimpleAttrIcon from '../../icons/SimpleAttribute';\nimport {useStyles} from './styles';\n\nconst getIconForAttrType = (attrType: AttributeType) => {\n switch (attrType.type) {\n case DataTypes.TYPE_IMAGE:\n case DataTypes.TYPE_NESTED:\n return NestedAttrIcon;\n case DataTypes.TYPE_REFERENCE:\n return ReferenceAttrIcon;\n default:\n return SimpleAttrIcon;\n }\n};\n\ntype Props = {\n attrType?: AttributeType;\n};\n\nconst AttrTypeIcon = ({attrType = {} as AttributeType}: Props) => {\n const styles = useStyles();\n const Icon = getIconForAttrType(attrType);\n return <Icon className={styles.icon} />;\n};\n\nexport default AttrTypeIcon;\n","import React from 'react';\n\nconst SvgRecommended: React.FC<React.SVGProps<SVGSVGElement>> = (props) => {\n return (\n <svg width={13} height={18} viewBox=\"0 0 13 18\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <g transform=\"translate(-3 -1)\" stroke=\"none\" strokeWidth={1} fill=\"none\" fillRule=\"evenodd\">\n <path fill=\"#FF4081\" d=\"M5.833 10h3.75v6.667l-3.75 1.666z\" />\n <path fill=\"#CE0C4E\" d=\"M13.333 10v8.333l-3.75-1.666V10z\" />\n <circle fill=\"#FFC058\" cx={9.583} cy={7.917} r={6.25} />\n <circle fill=\"#FFCD7B\" cx={9.583} cy={7.917} r={5.417} />\n <path fill=\"#FFFBB5\" d=\"M8.333 11.667L5 8.462l.933-.898 2.4 2.308L13.4 5l.933.897z\" />\n </g>\n </svg>\n );\n};\n\nexport default SvgRecommended;\n","import React, {memo} from 'react';\n\nimport classnames from 'classnames';\nimport i18n from 'ui-i18n';\nimport {AttributeType} from '@reltio/mdm-sdk';\nimport ListItem, {ListItemProps} from '@material-ui/core/ListItem';\nimport {ListItemText as ListItemText} from '@material-ui/core';\nimport {Checkbox as Checkbox} from '@material-ui/core';\nimport ExpandedValueTooltip from '../ExpandedValueTooltip/ExpandedValueTooltip';\nimport {isNested} from '@reltio/mdm-sdk';\nimport withTooltip from '../../HOCs/withTooltip/withTooltip';\nimport RequiredMark from '../RequiredMark/RequiredMark';\nimport {noop} from '../../core';\nimport AttrTypeIcon from './AttrTypeIcon';\nimport Marginator from '../Marginator/Marginator';\nimport RecommendedIcon from '../../icons/Recommended';\nimport {useStyles} from './styles';\n\nexport const RecommendedIconWithTooltip = withTooltip(RecommendedIcon);\n\ntype Data = {\n attrType?: AttributeType;\n};\ntype Props = {\n data: Data;\n checked: boolean;\n label: React.ReactNode;\n labelInText?: string;\n level?: number;\n isFocused?: boolean;\n isRequired?: boolean;\n hideIcon?: boolean;\n hideCheckBox?: boolean;\n notSelectable?: boolean;\n disableHorizontalScrollbar?: boolean;\n onClick?: (data: Data, checked: boolean, groupId: string) => void;\n subItemMargin?: number;\n groupId?: string;\n style?: ListItemProps['style'];\n LogoIcon?: React.ElementType;\n className?: string;\n};\n\nconst AttributeListItem = ({\n groupId,\n data,\n checked = false,\n isFocused = false,\n isRequired = false,\n label,\n labelInText,\n level,\n onClick = noop,\n hideCheckBox = false,\n hideIcon = false,\n notSelectable = false,\n disableHorizontalScrollbar = false,\n style = {},\n subItemMargin = 20,\n LogoIcon,\n className\n}: Props) => {\n const styles = useStyles();\n const {attrType} = data || {};\n\n const isButton = (!hideCheckBox || !isNested(attrType)) && !notSelectable;\n const handleItemClick = () => onClick(data, !checked, groupId);\n const showLogoIcon = !!LogoIcon;\n\n const renderIcon = (attrType: AttributeType): JSX.Element =>\n groupId === 'recommended' ? (\n <RecommendedIconWithTooltip\n className={styles.recommendedIcon}\n tooltipTitle={i18n.text('Recommended')}\n showForDisabled={true}\n />\n ) : (\n <AttrTypeIcon attrType={attrType} />\n );\n\n // TODO: ListItem needs to be split to ListItem and ListItemButton after material ui releases stable version(https://github.com/mui-org/material-ui/pull/26446). The \"button\" prop will be deprecated.\n return (\n <ExpandedValueTooltip value={labelInText || label} className={styles.itemTooltip} placement=\"bottom-end\">\n <ListItem\n className={classnames(\n styles.container,\n styles.listItem,\n {[styles.defaultCursor]: !isButton},\n className\n )}\n onClick={isButton ? handleItemClick : undefined}\n style={style}\n dense\n button={isButton as any}\n classes={{\n focusVisible: styles.listItemFocus,\n selected: styles.listItemFocus\n }}\n selected={isFocused}\n tabIndex={-1}\n >\n {!hideCheckBox && (\n <Checkbox\n checked={checked}\n disableRipple\n disabled={!isButton}\n className={classnames(styles.checkbox, {[styles.checked]: checked})}\n tabIndex={-1}\n />\n )}\n <Marginator margin={subItemMargin} level={level} className={styles.marginWrapper}>\n <>\n {!hideIcon && renderIcon(attrType)}\n <div className={classnames(styles.itemTextWrapper, {[styles.marginText]: hideIcon})}>\n {showLogoIcon && <LogoIcon className={styles.logoIcon} />}\n <ListItemText\n primary={\n <>\n {label}\n {isRequired && <RequiredMark />}\n </>\n }\n className={styles.itemText}\n />\n </div>\n </>\n </Marginator>\n {isButton && disableHorizontalScrollbar && <div className={styles.itemAfter} />}\n </ListItem>\n </ExpandedValueTooltip>\n );\n};\n\nexport default memo(AttributeListItem);\n","import {TableContext} from '../contexts/TableContext';\nimport {withContext} from '../../../../HOCs/withContext/withContext';\n\nconst withTableContext = (contextSelector) => (CellRenderer) =>\n withContext(TableContext, contextSelector, CellRenderer);\n\nexport default withTableContext;\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles({\n pagination: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'flex-end',\n height: '56px',\n borderTop: '1px solid rgba(0,0,0,0.12)',\n boxShadow: 'none'\n },\n caption: {\n color: 'rgba(0,0,0,0.6)',\n fontSize: '12px',\n lineHeight: '16px'\n },\n selectRoot: {\n marginLeft: '5px',\n marginRight: '36px'\n },\n select: {\n color: 'rgba(0,0,0,0.6)',\n fontSize: '12px',\n lineHeight: '16px',\n textAlign: 'right'\n },\n actions: {\n marginLeft: '32px'\n }\n});\n","import PropTypes from 'prop-types';\nimport React, {useCallback} from 'react';\nimport classnames from 'classnames';\nimport {TablePagination as TablePagination} from '@material-ui/core';\nimport i18n from 'ui-i18n';\nimport {getValue} from '../../../core/utils';\nimport {nthArg, pipe, pathOr, identity} from 'ramda';\nimport {useStyles} from './styles';\n\nconst BasicTablePagination = ({\n classes = {},\n count,\n rowsPerPageOptions,\n page,\n onChangePage,\n rowsPerPage,\n onChangeRowsPerPage,\n basicTableRef,\n labelRowsPerPage\n}) => {\n const labelDisplayedRows = ({from, to, count}) =>\n i18n.text('${fromRow}-${toRow} of ${countRows}', {\n fromRow: i18n.number(from, '0,0'),\n toRow: i18n.number(to, '0,0'),\n countRows: i18n.number(count, '0,0')\n });\n const styles = useStyles();\n const resetScrollbarPosition = useCallback(() => {\n pathOr(identity, ['current', 'resetScrollbarPosition'], basicTableRef)();\n }, [basicTableRef]);\n const handleChangePage = useCallback(\n (value) => {\n onChangePage(value);\n resetScrollbarPosition();\n },\n [onChangePage, resetScrollbarPosition]\n );\n const handleChangeRowsPerPage = useCallback(\n (value) => {\n onChangePage(0);\n onChangeRowsPerPage(value);\n resetScrollbarPosition();\n },\n [onChangePage, onChangeRowsPerPage, resetScrollbarPosition]\n );\n return (\n <TablePagination\n classes={{\n ...classes,\n root: classnames(styles.pagination, classes.root),\n select: classnames(styles.select, classes.select),\n caption: styles.caption,\n selectRoot: styles.selectRoot,\n actions: styles.actions\n }}\n component=\"div\"\n labelRowsPerPage={labelRowsPerPage || i18n.text('Rows per page:')}\n labelDisplayedRows={labelDisplayedRows}\n count={count}\n rowsPerPageOptions={rowsPerPageOptions}\n page={page}\n onChangePage={pipe(nthArg(1), handleChangePage)}\n rowsPerPage={rowsPerPage}\n onChangeRowsPerPage={pipe(getValue, handleChangeRowsPerPage)}\n />\n );\n};\n\nBasicTablePagination.propTypes = {\n classes: PropTypes.object,\n rowsPerPageOptions: PropTypes.arrayOf(PropTypes.number),\n count: PropTypes.number,\n page: PropTypes.number,\n onChangePage: PropTypes.func,\n rowsPerPage: PropTypes.number,\n onChangeRowsPerPage: PropTypes.func,\n basicTableRef: PropTypes.shape({current: PropTypes.object}),\n labelRowsPerPage: PropTypes.string\n};\n\nexport default React.memo(BasicTablePagination);\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles((theme) => ({\n 'basic-view__paper': {\n display: 'flex',\n flexDirection: 'column',\n ...theme.basicView\n }\n}));\n","import Paper, {PaperProps} from '@material-ui/core/Paper';\nimport PropTypes from 'prop-types';\nimport React, {forwardRef, Ref} from 'react';\nimport {useStyles} from './styles';\n\nconst BasicView = forwardRef<Ref<typeof Paper>, PaperProps>(({children, className, ...otherProps}, ref) => {\n const styles = useStyles();\n return (\n <Paper ref={ref} className={className} classes={{root: styles['basic-view__paper']}} {...otherProps}>\n {children}\n </Paper>\n );\n});\n\nBasicView.displayName = 'BasicView';\n\nBasicView.propTypes = {\n children: PropTypes.node,\n className: PropTypes.string\n};\n\nexport default BasicView;\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles({\n toolbar: {\n minHeight: '48px',\n padding: '8px 24px',\n lineHeight: '28px'\n },\n title: {\n fontSize: '18px',\n fontWeight: 'normal',\n lineHeight: 'inherit',\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis'\n }\n});\n","import React from 'react';\nimport Toolbar, {ToolbarProps} from '@material-ui/core/Toolbar';\nimport {Typography as Typography} from '@material-ui/core';\nimport {useStyles} from './styles';\n\ntype Props = ToolbarProps & {\n title?: string;\n classes?: Partial<Record<'root' | 'title', string>>;\n};\n\nconst BasicViewHeader = ({title, children = null, classes = {}, ...otherProps}: Props) => {\n const styles = useStyles();\n return (\n <Toolbar className={classes.root} classes={{root: styles.toolbar}} {...otherProps}>\n <Typography className={classes.title} classes={{root: styles.title}} variant=\"h6\">\n {title}\n </Typography>\n {children}\n </Toolbar>\n );\n};\n\nexport default BasicViewHeader;\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles({\n collapseButton: {\n cursor: 'pointer'\n },\n expandLess: {\n transform: 'rotate( -180deg )'\n }\n});\n","import React from 'react';\nimport classnames from 'classnames';\nimport {SmallIconButtonWithTooltip} from '../SmallIconButton';\nimport ExpandMore from '@material-ui/icons/ExpandMore';\nimport {useStyles} from './styles';\n\ntype SmallIconButtonWithTooltipProps = React.ComponentPropsWithoutRef<typeof SmallIconButtonWithTooltip>;\n\ntype Props = Omit<SmallIconButtonWithTooltipProps, 'tooltipTitle'> & {\n isOpen?: boolean;\n tooltipTitle?: string;\n};\n\nconst CollapseButton = ({isOpen = false, tooltipTitle, ...otherProps}: Props) => {\n const styles = useStyles();\n const buttonProps = {\n icon: ExpandMore,\n className: styles.collapseButton,\n iconClassName: classnames({[styles.expandLess]: isOpen})\n };\n const tooltipProps = {\n tooltipTitle: tooltipTitle\n };\n return <SmallIconButtonWithTooltip {...buttonProps} {...tooltipProps} {...otherProps} />;\n};\n\nexport default CollapseButton;\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles((theme) => ({\n bar: {\n backgroundColor: theme.palette.secondary.main,\n opacity: 0.12,\n position: 'absolute',\n minHeight: '20px',\n minWidth: '5px',\n borderRadius: '2px',\n top: 0,\n left: 0,\n height: '100%'\n }\n}));\n","import React, {useCallback} from 'react';\nimport classnames from 'classnames';\nimport {is} from 'ramda';\nimport {useStyles} from './styles';\n\ntype Props = {\n className?: string;\n width?: number | string;\n maxWidth?: number;\n};\n\nconst widthIsNumber = (width: string | number): width is number => is(Number, width);\n\nconst ColorBar = ({className, width = 0, maxWidth}: Props) => {\n const styles = useStyles();\n\n const getBarColorWidth = useCallback(\n (width: number) => {\n return (maxWidth ? (100 * width) / maxWidth : 0) + '%';\n },\n [maxWidth]\n );\n\n return width ? (\n <div\n className={classnames(styles.bar, className)}\n style={{width: widthIsNumber(width) ? getBarColorWidth(width) : width}}\n />\n ) : null;\n};\n\nexport default ColorBar;\n","import {fade, makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles((theme) => ({\n buttonRoot: {\n '&$selected': {\n color: theme.palette.action.active,\n backgroundColor: fade(theme.palette.action.active, 0.12),\n '&:hover': {\n backgroundColor: fade(theme.palette.action.active, 0.15)\n }\n }\n },\n selected: {},\n paper: {\n minWidth: '112px'\n },\n menuItem: {\n minHeight: '32px'\n },\n menuText: {\n color: theme.palette.text.primary,\n fontSize: '13px',\n lineHeight: '15px',\n letterSpacing: 0\n }\n}));\n","import React, {forwardRef} from 'react';\nimport {identity} from 'ramda';\nimport {Checkbox as Checkbox} from '@material-ui/core';\nimport {MenuItem as MenuItem} from '@material-ui/core';\nimport {Typography as Typography} from '@material-ui/core';\nimport withTooltip from '../../HOCs/withTooltip/withTooltip';\nimport {DropDownMenuItem} from '../../types';\n\nimport {useStyles} from './styles';\n\nconst MenuItemWithTooltip = withTooltip(MenuItem);\n\ntype Props = {\n item: DropDownMenuItem;\n onMenuClose?: (e) => void;\n};\n\nconst MenuItemRenderer = forwardRef(({item, onMenuClose = identity}: Props, ref: React.Ref<HTMLLIElement>) => {\n const styles = useStyles();\n const {disabled, text, tooltip, onClick, id = '', selectable, selected} = item;\n const handleClick = (e) => {\n onMenuClose(e);\n onClick(e);\n };\n\n return (\n <MenuItemWithTooltip\n tooltipTitle={tooltip}\n showForDisabled={true}\n classes={{root: styles.menuItem}}\n onClick={handleClick}\n disabled={disabled}\n ref={ref}\n data-modal\n data-reltio-id={`reltio-search-menu-item${id}`}\n >\n {selectable && <Checkbox checked={selected} color=\"primary\" />}\n <Typography classes={{root: styles.menuText}}>{text}</Typography>\n </MenuItemWithTooltip>\n );\n});\n\nMenuItemRenderer.displayName = 'MenuItemRenderer';\n\nexport default MenuItemRenderer;\n","import React, {useCallback, useRef, useState} from 'react';\nimport classnames from 'classnames';\nimport {identity} from 'ramda';\nimport {Button as Button} from '@material-ui/core';\nimport Menu, {MenuProps} from '@material-ui/core/Menu';\nimport {useDidUpdateEffect} from '../../hooks';\nimport DefaultMenuItemRenderer from './MenuItemRenderer';\nimport {useStyles} from './styles';\nimport {DropDownMenuItem} from '../../types';\n\ntype Props<T> = {\n className?: string;\n buttonComponent?: React.ElementType;\n buttonContent?: React.ReactNode;\n menuItems?: T[];\n buttonProps?: Record<string, unknown>;\n popoverProps?: Omit<MenuProps, 'open'>;\n menuId: string;\n onMenuOpen?: () => void;\n onMenuClose?: () => void;\n MenuItemRenderer?: (props) => JSX.Element;\n};\n\nfunction DropDownMenuButton<T = DropDownMenuItem>({\n className,\n menuId,\n buttonComponent = Button,\n buttonContent,\n menuItems = [],\n buttonProps = {},\n popoverProps = {},\n onMenuOpen = identity,\n onMenuClose = identity,\n MenuItemRenderer = DefaultMenuItemRenderer\n}: Props<T>) {\n const ButtonComponent = buttonComponent;\n const styles = useStyles();\n const buttonRef = useRef();\n const [isOpen, setIsOpen] = useState(false);\n\n useDidUpdateEffect(() => {\n isOpen ? onMenuOpen() : onMenuClose();\n }, [isOpen]);\n\n const handleToggle = useCallback((e) => {\n e?.stopPropagation();\n setIsOpen((open) => !open);\n }, []);\n\n const renderMenuItem = (item, index) => {\n return <MenuItemRenderer item={item} key={index} onMenuClose={handleToggle} />;\n };\n\n return (\n <>\n <ButtonComponent\n ref={buttonRef}\n className={classnames(\n styles.buttonRoot,\n {\n [styles.selected]: isOpen\n },\n className\n )}\n onClick={handleToggle}\n aria-pressed={isOpen}\n aria-controls={isOpen ? menuId : undefined}\n aria-haspopup=\"true\"\n {...buttonProps}\n >\n {buttonContent}\n </ButtonComponent>\n <Menu\n id={menuId}\n variant=\"menu\"\n open={isOpen}\n autoFocus={false}\n classes={{paper: styles.paper}}\n anchorEl={buttonRef.current}\n onClose={handleToggle}\n anchorOrigin={{\n vertical: 'bottom',\n horizontal: 'right'\n }}\n transformOrigin={{\n vertical: 'top',\n horizontal: 'right'\n }}\n elevation={2}\n getContentAnchorEl={null}\n MenuListProps={{autoFocusItem: isOpen}}\n {...popoverProps}\n >\n {menuItems.map(renderMenuItem)}\n </Menu>\n </>\n );\n}\n\nDropDownMenuButton.displayName = 'DropDownMenuButton';\n\nexport default DropDownMenuButton;\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useMenuStyles = makeStyles((theme) => ({\n addLabel: {\n display: 'flex',\n padding: '0 7px',\n height: '35px',\n alignItems: 'center',\n fontSize: '13px',\n fontWeight: '500',\n color: theme.palette.primary.main,\n cursor: 'pointer',\n textOverflow: 'ellipsis',\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n borderTop: 'solid 1px rgba(0, 0, 0, 0.14)',\n backgroundColor: 'rgba(0, 0, 0, 0.03)'\n },\n addIcon: {\n height: '18px',\n width: '18px',\n padding: '0 9px'\n }\n}));\n\nexport const useSingleValueStyles = makeStyles({\n singleValue: {\n fontSize: '14px',\n lineHeight: '16px',\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n marginTop: '21px'\n }\n});\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport {prop} from 'ramda';\nimport AddIcon from '@material-ui/icons/Add';\nimport {useMenuStyles} from './styles';\nimport MenuWithPopper from '../../commonReactSelectComponents/MenuWithPopper';\n\nconst Menu = (props) => {\n const {\n selectProps: {onCreate, createLabel, inputValue, components},\n children\n } = props;\n\n const styles = useMenuStyles();\n return (\n <MenuWithPopper {...props}>\n {children}\n {createLabel && !prop('Group', components) && (\n <span className={styles.addLabel} onClick={() => onCreate(inputValue)}>\n <AddIcon className={styles.addIcon} />\n {createLabel}\n </span>\n )}\n </MenuWithPopper>\n );\n};\n\nMenu.propTypes = {\n children: PropTypes.element.isRequired,\n selectProps: PropTypes.object.isRequired\n};\n\nexport default Menu;\n","import {Typography as Typography} from '@material-ui/core';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport {useSingleValueStyles} from './styles';\n\nexport default function SingleValue(props) {\n const {\n selectProps: {menuIsOpen},\n innerProps,\n children\n } = props;\n const styles = useSingleValueStyles();\n\n return (\n !menuIsOpen && (\n <Typography className={styles.singleValue} {...innerProps}>\n {children}\n </Typography>\n )\n );\n}\n\nSingleValue.propTypes = {\n children: PropTypes.node,\n innerProps: PropTypes.object\n};\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles({\n control: {\n height: 'auto'\n },\n dropdownIndicator: {\n transition: 'transform .15s ease',\n padding: (props) => `${(props.height - 24) / 2}px 12px`,\n cursor: 'pointer',\n color: 'rgba(0, 0, 0, 0.54)'\n },\n valueContainer: {\n marginLeft: '16px',\n width: 0\n },\n formControl: {\n margin: 0\n },\n filledInputRoot: {\n backgroundColor: 'rgba(0, 0, 0, 0.03)',\n '&:hover': {\n backgroundColor: 'rgba(0, 0, 0, 0.03)'\n },\n '&.focused': {\n backgroundColor: 'rgba(0, 0, 0, 0.03)'\n }\n },\n filledInputUnderline: {\n '&:before': {\n display: 'none'\n }\n },\n inputLabel: {\n color: 'rgba(0,0,0,0.6)',\n fontSize: '14px',\n lineHeight: '16px',\n paddingLeft: '4px',\n '&.shrink': {\n paddingLeft: '4px'\n }\n }\n});\n\nexport const customStyles = {\n menu: (baseStyles) => ({\n ...baseStyles,\n borderRadius: '0 0 4px 4px',\n backgroundColor: '#FFFFFFFF',\n boxShadow: '0 2px 2px 0 rgba(0,0,0,0.14), 0 3px 1px -2px rgba(0,0,0,0.12), 0 1px 5px 0 rgba(0,0,0,0.2)',\n margin: 0\n }),\n menuList: (baseStyles) => ({\n ...baseStyles,\n maxHeight: '208px',\n padding: '8px 0'\n }),\n group: (baseStyles) => ({\n ...baseStyles,\n padding: '0 0 8px 0'\n }),\n input: (baseStyles) => ({\n ...baseStyles,\n height: '16px',\n color: 'rgba(0, 0, 0, 0.87)',\n fontSize: '14px',\n lineHeight: '16px',\n margin: '16px 0 0',\n padding: 0\n }),\n option: (baseStyles) => ({\n ...baseStyles,\n fontSize: '13px',\n lineHeight: '15px',\n height: '32px'\n })\n};\n\nexport const overloadMenuListStyle = {\n menuList: (baseStyles) => ({\n ...baseStyles,\n padding: 0\n })\n};\n\nexport const withoutLabelInputStyle = {\n input: (baseStyles) => ({\n ...baseStyles,\n height: '16px',\n color: 'rgba(0, 0, 0, 0.87)',\n fontSize: '14px',\n lineHeight: '16px',\n margin: 0,\n padding: 0\n })\n};\n","import React, {useRef, useState} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {defaultTo, identity, isEmpty, path, prop} from 'ramda';\nimport DropdownIndicator from '../commonReactSelectComponents/DropdownIndicator';\nimport Menu from './components/Menu';\nimport AsyncSelect from '../ReactSelect/AsyncSelect';\nimport Select from '../ReactSelect/Select';\nimport {EmptyStub} from '../../core';\nimport {isEmptyValue} from '@reltio/mdm-sdk';\nimport {useInputStyles} from '../editors/constants';\nimport SingleValue from './components/SingleValue';\nimport {useStyles, customStyles, overloadMenuListStyle, withoutLabelInputStyle} from './styles';\n\nconst DropDownSelector = ({\n value,\n label,\n createLabel,\n getOptions,\n options,\n height = 46,\n onChange = identity,\n onCreate,\n onClear = identity,\n components,\n textFieldInputRef,\n TextFieldProps,\n classes,\n ...otherProps\n}) => {\n const styles = useStyles({height});\n const underlineStyle = useInputStyles();\n const [open, setOpen] = useState(false);\n const inputRef = useRef(null);\n\n const SelectComponent = getOptions ? AsyncSelect : Select;\n\n const showIndicatorSeparator = prop('ClearIndicator', components)\n ? {}\n : {IndicatorSeparator: EmptyStub, ClearIndicator: EmptyStub};\n\n const handleCreate = onCreate\n ? (value, group) => {\n onCreate(value, group);\n setOpen(false);\n }\n : undefined;\n\n const overloadStylesIfGroup = prop('Group', components) ? overloadMenuListStyle : {};\n const overloadStylesIfNoLabel = isEmpty(label) ? withoutLabelInputStyle : {};\n\n const mergedStyles = {...customStyles, ...overloadStylesIfGroup, ...overloadStylesIfNoLabel};\n const mergedClasses = {...styles, ...classes};\n\n return (\n <SelectComponent\n placeholder=\"\"\n defaultOptions={true}\n {...otherProps}\n value={defaultTo(null, value)}\n loadOptions={getOptions}\n options={options}\n cacheOptions={true}\n onChange={onChange}\n onCreate={handleCreate}\n onClear={onClear}\n createLabel={createLabel}\n classes={mergedClasses}\n styles={mergedStyles}\n components={{\n DropdownIndicator,\n LoadingIndicator: EmptyStub,\n SingleValue,\n Menu,\n ...showIndicatorSeparator,\n ...components\n }}\n menuPlacement=\"auto\"\n TextFieldProps={{\n ...TextFieldProps,\n label,\n variant: 'filled',\n margin: 'dense',\n classes: {\n ...prop('classes', TextFieldProps),\n root: classnames(styles.formControl, path(['classes', 'root'], TextFieldProps))\n },\n inputProps: {\n ...prop('inputProps', TextFieldProps)\n },\n InputProps: {\n ...prop('InputProps', TextFieldProps),\n classes: {\n ...path(['InputProps', 'classes'], TextFieldProps),\n root: classnames(\n styles.filledInputRoot,\n path(['InputProps', 'classes', 'root'], TextFieldProps)\n ),\n underline: classnames(\n {[underlineStyle.filledInputUnderline]: isEmptyValue(value)},\n path(['InputProps', 'classes', 'underline'], TextFieldProps)\n ),\n focused: classnames('focused', path(['InputProps', 'classes', 'focused'], TextFieldProps))\n }\n },\n InputLabelProps: {\n ...prop('InputLabelProps', TextFieldProps),\n classes: {\n ...path(['InputLabelProps', 'classes'], TextFieldProps),\n root: classnames(\n styles.inputLabel,\n path(['InputLabelProps', 'classes', 'root'], TextFieldProps)\n ),\n shrink: classnames('shrink', path(['InputLabelProps', 'classes', 'shrink'], TextFieldProps))\n },\n shrink: !isEmptyValue(value) ? true : undefined\n },\n ref: textFieldInputRef || inputRef\n }}\n inputRef={textFieldInputRef || inputRef}\n menuIsOpen={open}\n onMenuOpen={() => setOpen(true)}\n onMenuClose={() => setOpen(false)}\n />\n );\n};\n\nexport const DropDownSelectorType = {\n value: PropTypes.oneOfType([PropTypes.object, PropTypes.array]),\n label: PropTypes.string.isRequired,\n getOptions: PropTypes.func,\n options: PropTypes.array,\n onChange: PropTypes.func,\n onCreate: PropTypes.func,\n onClear: PropTypes.func,\n createLabel: PropTypes.string,\n components: PropTypes.object,\n textFieldInputRef: PropTypes.object,\n TextFieldProps: PropTypes.object,\n height: PropTypes.number,\n classes: PropTypes.object\n};\n\nDropDownSelector.propTypes = DropDownSelectorType;\n\nexport default DropDownSelector;\n","import React from 'react';\nimport {useSelector} from 'react-redux';\n\nimport mdmModule from '@reltio/mdm-module';\nimport RC_EntityTypeIcon from 'react-components/dist/EntityTypeIcon/EntityTypeIcon';\n\nconst ensureSlashEnding = (str) => (str.endsWith('/') ? str : str + '/');\n\nconst EntityTypeIcon = (props) => {\n const absoluteImagePath = useSelector(mdmModule.selectors.getAbsoluteImagePath) || '';\n return <RC_EntityTypeIcon {...props} storagePath={ensureSlashEnding(absoluteImagePath)} />;\n};\n\nexport default EntityTypeIcon;\n","import React, {forwardRef, useCallback, useContext} from 'react';\nimport {useSelector, useDispatch} from 'react-redux';\nimport {GenerateEntityUrlContext, ViewIdContext} from '../../contexts';\nimport mdmModule, {ui} from '@reltio/mdm-module';\nimport {getEntityLink} from '@reltio/mdm-sdk';\n\ntype Props = {\n className?: string;\n value: string;\n screen?: string;\n children: React.ReactNode;\n};\n\nconst EntityUriLink = forwardRef(({value, children, screen, className}: Props, ref: React.Ref<HTMLAnchorElement>) => {\n const dispatch = useDispatch();\n const viewId = useContext(ViewIdContext);\n const generateEntityLink = useContext(GenerateEntityUrlContext) || getEntityLink;\n const uiPath = useSelector(mdmModule.selectors.getUIPath);\n const generateEntityUrl = (uri: string) => generateEntityLink({uiPath, uri, screen});\n const onClick = useCallback(() => {\n dispatch(ui.actions.openEntity({uri: value, viewId, screen}));\n }, [viewId, value, dispatch, screen]);\n return (\n <a\n ref={ref}\n href={generateEntityUrl(value)}\n onClick={(e) => {\n onClick();\n e.stopPropagation();\n e.preventDefault();\n }}\n className={className}\n >\n {children}\n </a>\n );\n});\n\nEntityUriLink.displayName = 'EntityUriLink';\n\nexport default EntityUriLink;\n","import AsyncSelect from 'react-select/async';\nimport withMuiSkin from './withMuiSkin';\n\nexport default withMuiSkin(AsyncSelect);\n","import {curry, defaultTo, mergeAll, pick, pipe, prop, propEq, __} from 'ramda';\n\nexport const getReltioViewId = (id) => id.split(/\\d+_/)[1];\n\nexport const reltioLayoutItemToReactGridLayoutItem = ({\n x,\n y,\n width,\n height,\n id,\n minWidth,\n minHeight,\n maxWidth,\n maxHeight,\n isStatic\n}) => ({\n x,\n y,\n w: width,\n h: height,\n minW: minWidth,\n minH: minHeight,\n maxW: maxWidth,\n maxH: maxHeight,\n i: id,\n static: isStatic\n});\n\nexport const reactGridLayoutItemToReltioLayoutItem = ({x, y, w, h, maxW, minW, minH, maxH, i, ...obj}) => ({\n x,\n y,\n width: w,\n height: h,\n minWidth: minW,\n minHeight: minH,\n maxWidth: maxW,\n maxHeight: maxH,\n id: i,\n isStatic: obj.static\n});\n\nexport const reltioLayoutToReactGridLayout = (layout) => (layout || []).map(reltioLayoutItemToReactGridLayoutItem);\n\nexport const reactGridLayoutToReltioLayout = (layout) => (layout || []).map(reactGridLayoutItemToReltioLayoutItem);\n\nexport const getReltioLayoutItemById = curry((layout, id) => (layout || []).find(propEq('id', id)));\n\nconst updateExtraPropsInLayoutItem = curry((props, from, to) => mergeAll([to, pick(props, from)]));\n\nexport const copyPropsFromPreviousLayout = curry((props, oldReltioLayout, reltioLayout) =>\n (reltioLayout || []).map((layoutItem) =>\n pipe(\n prop('id'),\n getReltioLayoutItemById(oldReltioLayout),\n defaultTo({}),\n updateExtraPropsInLayoutItem(props, __, layoutItem)\n )(layoutItem)\n )\n);\n\nexport const calcHeight = (height, options) => {\n const {margin, rowHeight} = options;\n\n return Math.ceil((height + margin[1]) / (rowHeight + margin[1]));\n};\n","export const RESIZE_ICON = `<svg width=\"10\" height=\"10\" viewBox=\"0 0 10 10\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path stroke=\"#505050\" stroke-opacity=\".54\" d=\"M9.5 0v10M0 9.5h9M7.5 4v4M4 7.5h3\"/>\n</svg>`;\n","import {makeStyles} from '@material-ui/core/styles';\nimport {svg2Url} from '@reltio/mdm-sdk';\nimport {RESIZE_ICON} from './icons/ResizeIcon.svg';\n\nexport const useStyles = makeStyles((_) => ({\n gridLayout: {\n position: 'relative',\n width: '100%',\n '& .react-grid-item': {\n '&.react-grid-placeholder': {\n background: 'rgba(0, 0, 0, 0.03)',\n border: '2px dashed rgba(0, 0, 0, 0.3)',\n borderRadius: '3px',\n transitionDuration: '100ms',\n zIndex: 7,\n userSelect: 'none',\n '& .react-resizable-handle': {\n display: 'none'\n }\n },\n '&.static .react-resizable-handle': {\n display: 'none'\n },\n '&.cssTransforms': {\n transitionProperty: 'transform'\n },\n '&.resizing': {\n zIndex: 9,\n willChange: 'width, height',\n pointerEvents: 'none'\n },\n '&.react-draggable-dragging': {\n transition: 'none',\n zIndex: 8,\n willChange: 'transform',\n '& .react-resizable-handle': {\n backgroundImage: 'none'\n }\n },\n '& .react-resizable-handle': {\n position: 'absolute',\n width: '17px',\n height: '17px',\n bottom: 0,\n right: 0,\n zIndex: 20,\n backgroundImage: `url('${svg2Url(RESIZE_ICON)}')`,\n backgroundRepeat: 'no-repeat',\n backgroundOrigin: 'content-box',\n boxSizing: 'border-box',\n cursor: 'se-resize'\n },\n '&.fullscreen': {\n visibility: 'visible',\n position: 'unset',\n width: '100% !important',\n height: '100% !important',\n transform: 'translate(0) !important'\n }\n }\n },\n\n gridFullscreen: {\n height: '100% !important',\n overflowY: 'hidden',\n '& .react-resizable-handle, & .react-grid-item': {\n visibility: 'hidden'\n }\n }\n}));\n","import PropTypes from 'prop-types';\nimport React, {useCallback, useMemo, useRef, useState, memo} from 'react';\nimport GridLayout from 'react-grid-layout';\nimport ReactResizeDetector from 'react-resize-detector';\nimport {identity, pipe} from 'ramda';\nimport classnames from 'classnames';\nimport {\n reltioLayoutToReactGridLayout,\n reactGridLayoutToReltioLayout,\n reactGridLayoutItemToReltioLayoutItem,\n copyPropsFromPreviousLayout,\n calcHeight,\n getReltioLayoutItemById\n} from './helpers';\n\nimport {useStyles} from './styles';\n\nconst ReltioGridLayout = ({\n views,\n layout,\n layoutOptions,\n onLayoutChanged,\n draggableHandle,\n LayoutItem,\n onRemove,\n onDrop,\n droppingItem,\n isDroppable,\n classes\n}) => {\n const ref = useRef();\n const styles = useStyles();\n const [fullscreenItemId, setFullscreenItemId] = useState(null);\n const [width, setWidth] = useState(0);\n const {cols, rowHeight, margin} = layoutOptions;\n const processedLayout = useMemo(() => reltioLayoutToReactGridLayout(layout), [layout]);\n const onReltioLayoutChanged = pipe(\n reactGridLayoutToReltioLayout,\n copyPropsFromPreviousLayout(['autosizing'], layout),\n onLayoutChanged\n );\n const handleDrop = (layout, layoutItem, e) => {\n if (onDrop) {\n onDrop(reactGridLayoutToReltioLayout(layout), reactGridLayoutItemToReltioLayoutItem(layoutItem), e);\n }\n };\n const onToggleFullscreen = useCallback((id) => setFullscreenItemId((prevId) => (prevId ? null : id)), []);\n const isFullscreenEnabled = fullscreenItemId !== null;\n\n const onItemHeightResize = useCallback(\n (height, layoutId) => {\n let isLayoutChanged = false;\n\n const newLayout = layout.map((layoutItem) => {\n if (layoutItem.id === layoutId && height) {\n const newHeight = calcHeight(height, layoutOptions);\n\n if (layoutItem.height !== newHeight) {\n isLayoutChanged = true;\n return {\n ...layoutItem,\n minHeight: newHeight,\n maxHeight: newHeight,\n height: newHeight\n };\n }\n }\n return layoutItem;\n });\n\n if (isLayoutChanged) {\n onLayoutChanged(newLayout);\n }\n },\n [layout, layoutOptions, onLayoutChanged]\n );\n\n const getAutosizeComponent = (layoutItemId) => {\n return (\n <ReactResizeDetector\n handleHeight\n onResize={(width, height) => {\n onItemHeightResize(height, layoutItemId);\n }}\n />\n );\n };\n\n return (\n <>\n <ReactResizeDetector\n refreshMode=\"debounce\"\n refreshRate={50}\n handleWidth={true}\n onResize={(width) => setWidth(width)}\n />\n <GridLayout\n innerRef={ref}\n layout={processedLayout}\n cols={cols}\n draggableHandle={draggableHandle}\n autoSize={true}\n rowHeight={rowHeight}\n width={width}\n margin={margin}\n onLayoutChange={onReltioLayoutChanged}\n isResizable={!isFullscreenEnabled}\n isDraggable={!isFullscreenEnabled}\n className={classnames(classes.root, styles.gridLayout, {[styles.gridFullscreen]: isFullscreenEnabled})}\n onDrop={handleDrop}\n droppingItem={droppingItem}\n isDroppable={isDroppable}\n >\n {processedLayout.map((layoutItem) => {\n const isItemFullscreen = fullscreenItemId === layoutItem.i;\n const isAutosize = (getReltioLayoutItemById(layout, layoutItem.i) || {}).autosizing;\n const autosizeComponent = isAutosize ? {AutosizeComponent: getAutosizeComponent(layoutItem.i)} : {};\n return (\n <LayoutItem\n key={layoutItem.i}\n layoutItemConfig={layoutItem}\n views={views}\n onToggleFullscreen={onToggleFullscreen}\n onRemove={onRemove}\n className={classnames({fullscreen: isItemFullscreen}, classes.item)}\n isFullscreen={isItemFullscreen}\n {...autosizeComponent}\n />\n );\n })}\n </GridLayout>\n </>\n );\n};\n\nReltioGridLayout.defaultProps = {\n layoutOptions: {\n cols: 4,\n rowHeight: 30,\n margin: [15, 15]\n },\n onConfigChanged: identity,\n onLayoutChanged: identity,\n classes: {}\n};\nReltioGridLayout.propTypes = {\n views: PropTypes.array,\n layout: PropTypes.array,\n layoutOptions: PropTypes.object,\n onConfigChanged: PropTypes.func,\n onLayoutChanged: PropTypes.func,\n onDrop: PropTypes.func,\n onRemove: PropTypes.func,\n LayoutItem: PropTypes.elementType,\n draggableHandle: PropTypes.string,\n isDroppable: PropTypes.bool,\n droppingItem: PropTypes.object,\n classes: PropTypes.shape({\n root: PropTypes.string,\n item: PropTypes.string\n })\n};\n\nexport default memo(ReltioGridLayout);\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles({\n mark: {\n color: 'red'\n }\n});\n","import React from 'react';\nimport {useStyles} from './styles';\n\nconst RequiredMark = () => {\n const styles = useStyles();\n\n return <span className={styles.mark}>*</span>;\n};\n\nexport default RequiredMark;\n","import {makeStyles} from '@material-ui/core/styles';\n\nconst styles = makeStyles({\n value: {\n color: 'rgba(0, 0, 0, 0.87)'\n },\n placeholder: {\n color: 'rgba(0, 0, 0, 0.38)',\n fontSize: '14px !important'\n }\n});\n\nexport default styles;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport {Typography as Typography} from '@material-ui/core';\n\nimport useStyles from './styles';\n\nconst DropDownValue = ({selectProps: {menuIsOpen}, data: {label}}) => {\n const styles = useStyles();\n return (\n !menuIsOpen && (\n <Typography variant=\"body2\" classes={{root: styles.value}}>\n {label}\n </Typography>\n )\n );\n};\n\nDropDownValue.propTypes = {\n selectProps: PropTypes.shape({\n menuIsOpen: PropTypes.bool\n }),\n data: PropTypes.shape({\n label: PropTypes.string\n })\n};\n\nexport default DropDownValue;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport {Typography as Typography} from '@material-ui/core';\n\nimport useStyles from './styles';\n\nconst DropDownPlaceholder = (props) => {\n const styles = useStyles();\n const {innerProps = {}, children} = props;\n\n return (\n <Typography className={styles.placeholder} {...innerProps}>\n {children}\n </Typography>\n );\n};\n\nDropDownPlaceholder.propTypes = {\n children: PropTypes.node,\n innerProps: PropTypes.object,\n selectProps: PropTypes.object.isRequired\n};\n\nexport default DropDownPlaceholder;\n","import React, {memo} from 'react';\n\nimport DropDownSelector from '../DropDownSelector/DropDownSelector';\nimport DropDownValue from './DropDownValue';\nimport DropDownPlaceholder from './DropDownPlaceholder';\n\nconst components = {\n SingleValue: DropDownValue,\n Placeholder: DropDownPlaceholder\n};\n\nconst SimpleDropDownSelector = ({...otherProps}) => <DropDownSelector components={components} {...otherProps} />;\n\nexport default memo(SimpleDropDownSelector);\n","import React from 'react';\n\ntype GenerateEntityUrl = ({uiPath, uri, screen}: {uiPath: string; uri: string; screen: string}) => string;\n\nexport const GenerateEntityUrlContext = React.createContext<GenerateEntityUrl>(null);\n\nGenerateEntityUrlContext.displayName = 'GenerateEntityUrlContext';\n","import React from 'react';\n\nexport const ViewIdContext = React.createContext(null);\n\nViewIdContext.displayName = 'ViewIdContext';\n","import React from 'react';\n\nconst SvgNestedAttribute: React.FC<React.SVGProps<SVGSVGElement>> = (props) => {\n return (\n <svg width={24} height={24} viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path\n d=\"M14 11v-1a1 1 0 011-1h4a1 1 0 011 1v4a1 1 0 01-1 1h-4a1 1 0 01-1-1v-1h-3v1a1 1 0 01-1 1H6a1 1 0 01-1-1v-4a1 1 0 011-1h4a1 1 0 011 1v1h3z\"\n fill=\"#000\"\n stroke=\"none\"\n strokeWidth={1}\n fillRule=\"evenodd\"\n />\n </svg>\n );\n};\n\nexport default SvgNestedAttribute;\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles({\n loader: {\n width: '100%',\n top: 0,\n left: 0,\n position: 'absolute',\n borderRadius: '2px'\n }\n});\n","import React from 'react';\nimport {LinearProgress as LinearProgress} from '@material-ui/core';\nimport {useStyles} from './styles';\n\nconst DashboardLinearLoader = () => {\n const styles = useStyles();\n return <LinearProgress color=\"primary\" className={styles.loader} />;\n};\n\nexport default DashboardLinearLoader;\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles(() => ({\n view: {\n flex: 1,\n width: '100%',\n height: '100%',\n overflow: 'hidden'\n }\n}));\n","import React from 'react';\nimport {BasicView} from '@reltio/components';\nimport {DashboardViewIdContext} from '../../contexts/DashboardViewIdContext';\n\nimport {useStyles} from './styles';\n\ntype Props = {\n id: string;\n children: React.ReactNode;\n};\n\nconst LayoutItemView = ({id, children}: Props) => {\n const styles = useStyles();\n\n return (\n <DashboardViewIdContext.Provider value={id}>\n <BasicView className={styles.view}>{children}</BasicView>\n </DashboardViewIdContext.Provider>\n );\n};\n\nexport default LayoutItemView;\n","import React from 'react';\n\nexport const DashboardViewIdContext = React.createContext(null);\n\nDashboardViewIdContext.displayName = 'DashboardViewIdContext';\n","import {useCallback, useEffect, useState} from 'react';\nimport {RequestStates} from '@reltio/components';\nimport {assocPath} from 'ramda';\nimport {\n getSavedSearches,\n getTotalsForQuery,\n promiseAllSettled,\n replacePlaceholdersInQuery,\n SavedSearchesOptions,\n SavedSearchesResponse\n} from '@reltio/mdm-sdk';\nimport {SavedSearchData} from '../types/SavedSearchData';\n\ntype Props = {\n options: SavedSearchesOptions;\n offset: number;\n max: number;\n};\n\nexport const useSavedSearchesRequest = ({options, offset, max}: Props) => {\n const [data, setData] = useState<SavedSearchData[]>([]);\n const [total, setTotal] = useState<number>(0);\n const [requestState, setRequestState] = useState<RequestStates>(RequestStates.INIT);\n const onError = (error) => {\n console.error(error); // eslint-disable-line\n setRequestState(RequestStates.ERROR);\n setData([]);\n };\n const loadData = useCallback(() => {\n setRequestState(RequestStates.LOADING);\n const onRequestFinished = (data) => {\n setData(data.result || []);\n setTotal(data.total);\n setRequestState(RequestStates.LOADED);\n };\n const {countResults, ...restOptions} = (options || {}) as Required<SavedSearchesOptions>;\n const getData = async () => {\n const {result = [], total}: SavedSearchesResponse = await getSavedSearches({\n offset,\n max,\n ...restOptions\n });\n if (countResults) {\n const totalRequests: Array<Promise<{total: number}>> = result.map((search) =>\n getTotalsForQuery(replacePlaceholdersInQuery(search.query))\n );\n const totalResults = await promiseAllSettled(totalRequests);\n const searchesWithCount: SavedSearchData[] = totalResults.reduce(\n (searchesWithTotal, {status, value, reason}, searchIndex) => {\n switch (status) {\n case 'fulfilled':\n return assocPath([searchIndex, 'count'], value.total, searchesWithTotal);\n case 'rejected':\n console.error(reason);\n break;\n }\n return searchesWithTotal;\n },\n result\n );\n onRequestFinished({result: searchesWithCount, total});\n } else {\n onRequestFinished({result, total});\n }\n };\n getData().catch(onError);\n }, [options, max, offset]);\n\n const refreshAction = () => {\n try {\n loadData();\n } catch (e) {\n onError(e);\n }\n };\n\n useEffect(() => {\n refreshAction();\n }, [loadData]);\n\n return {state: requestState, data, reload: refreshAction, total};\n};\n","import {subtract} from 'ramda';\n\nconst ROWS_PER_PAGE_OPTIONS = [10, 25, 50, 100];\nexport const [DEFAULT_ROWS_PER_PAGE] = ROWS_PER_PAGE_OPTIONS;\nexport const getRowsPerPageOptions = (defaultRowsPerPage) =>\n ROWS_PER_PAGE_OPTIONS.filter((option) => option !== defaultRowsPerPage)\n .concat(defaultRowsPerPage)\n .sort(subtract);\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles(() => ({\n itemTitle: {\n fontSize: '13px'\n },\n itemIcon: {\n minWidth: '49px'\n },\n menuItem: {\n padding: '12px 16px',\n minWidth: '177px'\n },\n openIcon: {\n padding: '4px',\n borderRadius: '2px',\n marginTop: '-6px',\n marginRight: '-10px'\n }\n}));\n","import React, {useState, ReactNode, MouseEvent} from 'react';\nimport {Menu as Menu} from '@material-ui/core';\nimport {MenuItem as MenuItem} from '@material-ui/core';\nimport {Typography as Typography} from '@material-ui/core';\nimport {ListItemIcon as ListItemIcon} from '@material-ui/core';\nimport {IconButton as IconButton} from '@material-ui/core';\nimport MoreVertIcon from '@material-ui/icons/MoreVert';\nimport {useStyles} from './styles';\n\ninterface MenuItem {\n id: string;\n title: string;\n icon: ReactNode;\n active: boolean;\n action: () => void;\n}\n\ntype DashboardPopupMenuProps = {\n items: MenuItem[];\n};\n\nconst DashboardPopupMenu = ({items}: DashboardPopupMenuProps) => {\n const [anchorEl, setAnchorEl] = useState<HTMLElement | null>(null);\n const isMenuOpen = Boolean(anchorEl);\n const styles = useStyles();\n\n const handleMenuClick = (e: MouseEvent<HTMLButtonElement>) => setAnchorEl(e.currentTarget);\n\n const handleMenuClose = () => setAnchorEl(null);\n\n const handleItemClick = (action: () => void) => () => {\n handleMenuClose();\n action();\n };\n\n return (\n <>\n <IconButton className={styles.openIcon} aria-controls=\"menu\" aria-haspopup=\"true\" onClick={handleMenuClick}>\n <MoreVertIcon />\n </IconButton>\n <Menu\n id=\"menu\"\n anchorEl={anchorEl}\n open={isMenuOpen}\n onClose={handleMenuClose}\n transitionDuration={0}\n getContentAnchorEl={null}\n anchorOrigin={{\n vertical: 'bottom',\n horizontal: 'right'\n }}\n transformOrigin={{\n vertical: 'top',\n horizontal: 'right'\n }}\n >\n {items\n .filter((item) => item.active)\n .map(({id, icon, title, action}) => (\n <MenuItem key={id} onClick={handleItemClick(action)} className={styles.menuItem}>\n <ListItemIcon className={styles.itemIcon}>{icon}</ListItemIcon>\n <Typography className={styles.itemTitle}>{title}</Typography>\n </MenuItem>\n ))}\n </Menu>\n </>\n );\n};\n\nexport default DashboardPopupMenu;\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles(() => ({\n toolbarRoot: {\n padding: '16px',\n minHeight: '18px',\n lineHeight: '18px',\n marginBottom: '8px'\n },\n title: {\n fontSize: '16px',\n lineHeight: '20px',\n fontWeight: 'normal',\n color: 'rgba(0, 0, 0, 0.87)',\n letterSpacing: '0.15px',\n marginRight: '6px'\n },\n dragIcon: {\n position: 'absolute',\n left: '50%',\n top: '-3px',\n transform: 'translateX(-50%) rotate(90deg)',\n color: 'rgba(0, 0, 0, 0.3)',\n cursor: 'move',\n zIndex: 8,\n visibility: 'hidden',\n '.react-draggable $toolbarRoot:hover &.viewDraggableHandle': {\n visibility: 'visible'\n }\n },\n rightMenu: {\n display: 'flex',\n flexGrow: 1,\n justifyContent: 'flex-end',\n alignItems: 'baseline'\n },\n updatedChip: {\n background: '#FF9E1B',\n height: 20,\n fontSize: '10px',\n color: 'white',\n marginRight: '6px'\n }\n}));\n","import React, {useContext, useMemo} from 'react';\nimport {BasicViewHeader} from '@reltio/components';\nimport {DashboardViewIdContext} from '../../contexts/DashboardViewIdContext';\nimport {DashboardPopupMenu} from '../index';\nimport {Chip as Chip} from '@material-ui/core';\nimport FullscreenIcon from '@material-ui/icons/Fullscreen';\nimport FullscreenExitIcon from '@material-ui/icons/FullscreenExit';\nimport HighlightOffIcon from '@material-ui/icons/HighlightOff';\nimport ReplayIcon from '@material-ui/icons/Replay';\nimport DragIndicatorIcon from '@material-ui/icons/DragIndicator';\nimport i18n from 'ui-i18n';\n\nimport classnames from 'classnames';\nimport {useStyles} from './styles';\n\ntype Props = {\n title: string;\n onToggleFullscreen: (id: string) => void;\n isFullscreen: boolean;\n isUpdated?: boolean;\n onRefresh?: () => void;\n onRemove?: (id: string) => void;\n children?: React.ReactNode;\n};\n\nconst LayoutItemHeader = ({\n title,\n onToggleFullscreen,\n isUpdated = false,\n isFullscreen,\n onRemove,\n onRefresh,\n children\n}: Props) => {\n const id = useContext(DashboardViewIdContext);\n const menuItems = useMemo(\n () => [\n {\n id: 'refresh',\n title: 'Refresh',\n icon: <ReplayIcon />,\n active: !!onRefresh,\n action: () => onRefresh()\n },\n {\n id: 'fullscreen',\n title: 'Fullscreen',\n icon: <FullscreenIcon />,\n active: !isFullscreen,\n action: () => onToggleFullscreen(id)\n },\n {\n id: 'exitFullscreen',\n title: 'Exit fullscreen',\n icon: <FullscreenExitIcon />,\n active: isFullscreen,\n action: () => onToggleFullscreen(id)\n },\n {\n id: 'remove',\n title: 'Remove',\n icon: <HighlightOffIcon />,\n active: !!onRemove,\n action: () => {\n onRemove(id);\n if (isFullscreen) onToggleFullscreen(id);\n }\n }\n ],\n [id, isFullscreen, onRemove, onToggleFullscreen, onRefresh]\n );\n const styles = useStyles();\n\n return (\n <BasicViewHeader title={title} className={styles.toolbarRoot} classes={{title: styles.title}}>\n {isUpdated && <Chip label={i18n.text('Updated')} size=\"small\" className={styles.updatedChip} />}\n <div className={styles.rightMenu}>\n {children}\n <DashboardPopupMenu items={menuItems} />\n </div>\n <DragIndicatorIcon className={classnames('viewDraggableHandle', styles.dragIcon)} />\n </BasicViewHeader>\n );\n};\n\nexport default LayoutItemHeader;\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React from \"react\";\nexport default (({\n styles = {},\n ...props\n}) => React.createElement(\"svg\", _extends({\n width: \"148\",\n height: \"148\",\n viewBox: \"0 0 148 148\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n}, props), React.createElement(\"mask\", {\n id: \"svg2791016623a\",\n style: {\n maskType: \"alpha\"\n },\n maskUnits: \"userSpaceOnUse\",\n x: \"0\",\n y: \"0\",\n width: \"148\",\n height: \"148\"\n}, React.createElement(\"path\", {\n d: \"M74 148c40.869 0 74-33.131 74-74 0-40.87-33.131-74-74-74C33.13 0 0 33.13 0 74c0 40.869 33.13 74 74 74z\",\n fill: \"#fff\"\n})), React.createElement(\"g\", {\n mask: \"url(#svg2791016623a)\"\n}, React.createElement(\"path\", {\n d: \"M74 148c40.869 0 74-33.131 74-74 0-40.87-33.131-74-74-74C33.13 0 0 33.13 0 74c0 40.869 33.13 74 74 74z\",\n fill: \"#0072CE\",\n fillOpacity: \".1\"\n}), React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M0 5.203h148V148H0V5.203z\",\n fill: \"url(#nodata__paint0_linear)\"\n}), React.createElement(\"g\", {\n opacity: \".9\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n fill: \"#fff\"\n}, React.createElement(\"path\", {\n opacity: \".5\",\n d: \"M25.186 26.016h131.896V128.04H25.186V26.016z\",\n fillOpacity: \".8\"\n}), React.createElement(\"path\", {\n opacity: \".9\",\n d: \"M16.766 26.021a4.626 4.626 0 014.623-4.63h129.406a4.623 4.623 0 014.623 4.63v88.107a4.625 4.625 0 01-4.623 4.631H21.389a4.623 4.623 0 01-4.623-4.631V26.021z\"\n})), React.createElement(\"path\", {\n opacity: \".5\",\n d: \"M141.553 50.95a2.315 2.315 0 002.311-2.32 2.315 2.315 0 00-2.311-2.318 2.315 2.315 0 00-2.311 2.319 2.315 2.315 0 002.311 2.318zM133.465 50.95a2.315 2.315 0 002.311-2.32 2.315 2.315 0 00-2.311-2.318 2.314 2.314 0 00-2.311 2.319 2.314 2.314 0 002.311 2.318z\",\n fill: \"#6DBCFF\"\n}), React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M33.808 46.313a5.488 5.488 0 015.489 5.488v.035a5.488 5.488 0 01-10.977 0v-.035a5.488 5.488 0 015.488-5.489z\",\n fill: \"#E3EBF4\"\n}), React.createElement(\"path\", {\n opacity: \".5\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M47.102 46.19h37.054a2.029 2.029 0 010 4.057H47.102a2.028 2.028 0 110-4.057z\",\n fill: \"#B1AABD\"\n}), React.createElement(\"path\", {\n opacity: \".43\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M46.523 53.725h67.006a1.45 1.45 0 010 2.898H46.523a1.449 1.449 0 110-2.898z\",\n fill: \"#B1AABD\"\n}), React.createElement(\"path\", {\n opacity: \".2\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M45.943 58.941h21.62a.87.87 0 010 1.74h-21.62a.87.87 0 110-1.74z\",\n fill: \"#B1AABD\"\n}), React.createElement(\"path\", {\n opacity: \".5\",\n d: \"M71.35 30.664H31.508a3.188 3.188 0 100 6.375H71.35a3.188 3.188 0 000-6.375z\",\n fill: \"#645F6D\"\n}), React.createElement(\"path\", {\n opacity: \".5\",\n d: \"M141.553 72.972a2.315 2.315 0 002.311-2.318 2.315 2.315 0 00-2.311-2.318 2.315 2.315 0 00-2.311 2.318 2.315 2.315 0 002.311 2.319zM133.465 72.972a2.315 2.315 0 002.311-2.318 2.315 2.315 0 00-2.311-2.318 2.314 2.314 0 00-2.311 2.318 2.314 2.314 0 002.311 2.319z\",\n fill: \"#6DBCFF\"\n}), React.createElement(\"path\", {\n d: \"M39.297 73.824a5.488 5.488 0 10-10.977 0v.035a5.488 5.488 0 0010.977 0v-.035z\",\n fill: \"#E3EBF4\"\n}), React.createElement(\"path\", {\n opacity: \".5\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M47.102 68.214h43.894a2.029 2.029 0 010 4.057H47.102a2.029 2.029 0 010-4.057z\",\n fill: \"#B1AABD\"\n}), React.createElement(\"path\", {\n opacity: \".43\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M46.523 75.748h74.516a1.45 1.45 0 010 2.898H46.523a1.449 1.449 0 110-2.898z\",\n fill: \"#B1AABD\"\n}), React.createElement(\"path\", {\n opacity: \".2\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M45.943 80.965h60.077a.87.87 0 010 1.739H45.943a.87.87 0 010-1.74z\",\n fill: \"#B1AABD\"\n}), React.createElement(\"path\", {\n opacity: \".5\",\n d: \"M141.553 94.996a2.315 2.315 0 002.311-2.318 2.315 2.315 0 00-2.311-2.319 2.315 2.315 0 00-2.311 2.319 2.315 2.315 0 002.311 2.318zM133.465 94.996a2.315 2.315 0 002.311-2.318 2.315 2.315 0 00-2.311-2.319 2.314 2.314 0 00-2.311 2.319 2.314 2.314 0 002.311 2.318z\",\n fill: \"#6DBCFF\"\n}), React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M33.808 90.36a5.488 5.488 0 015.489 5.488v.035a5.488 5.488 0 11-10.977 0v-.035a5.488 5.488 0 015.488-5.489z\",\n fill: \"#E3EBF4\"\n}), React.createElement(\"path\", {\n opacity: \".5\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M47.102 90.237h58.915a2.028 2.028 0 010 4.057H47.102a2.029 2.029 0 010-4.057z\",\n fill: \"#B1AABD\"\n}), React.createElement(\"path\", {\n opacity: \".43\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M46.523 97.772h49.096a1.449 1.449 0 110 2.897H46.524a1.448 1.448 0 110-2.897z\",\n fill: \"#B1AABD\"\n}), React.createElement(\"path\", {\n opacity: \".2\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M45.943 102.988h21.62a.87.87 0 010 1.739h-21.62a.87.87 0 110-1.739z\",\n fill: \"#B1AABD\"\n}), React.createElement(\"path\", {\n opacity: \".1\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M102.927 64.75l44.536 77.139-58.989 34.057-44.536-77.14.405-.234c4.06 9.263 12.074 16.712 22.462 19.616 18.103 5.059 36.562-5.599 41.232-23.805 2.679-10.449.235-21.113-5.757-29.26l.647-.374z\",\n fill: \"url(#nodata__paint1_linear)\"\n}), React.createElement(\"path\", {\n opacity: \".2\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M56.352 103.62c10.385 10.611 27.223 10.611 37.609 0 10.385-10.612 10.385-27.816 0-38.427-10.386-10.611-27.224-10.611-37.61 0-10.385 10.611-10.385 27.815 0 38.427z\",\n fill: \"url(#nodata__paint2_linear)\"\n}), React.createElement(\"g\", {\n filter: \"url(#nodata__filter0_d)\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n}, React.createElement(\"path\", {\n d: \"M74.981 49.719c19.06 0 34.512 15.462 34.512 34.536a34.418 34.418 0 01-8.665 22.886l29.603 29.623a51.708 51.708 0 01-5.837 5.43l-29.705-29.725a34.338 34.338 0 01-19.908 6.322c-19.06 0-34.512-15.462-34.512-34.536S55.92 49.719 74.98 49.719zm0 10.265c-13.395 0-24.254 10.866-24.254 24.27 0 13.405 10.859 24.272 24.254 24.272 13.395 0 24.254-10.867 24.254-24.271S88.376 59.984 74.981 59.984z\",\n fill: \"#B5C8C9\"\n}), React.createElement(\"path\", {\n d: \"M52.903 110.801c-7.598-6.335-12.434-15.876-12.434-26.546 0-19.074 15.451-34.536 34.512-34.536 10.663 0 20.197 4.839 26.528 12.442l-5.662 5.667c-4.862-6.175-12.401-10.14-20.866-10.14-14.662 0-26.548 11.895-26.548 26.567 0 8.47 3.962 16.015 10.132 20.88l-5.662 5.666z\",\n fill: \"#fff\",\n fillOpacity: \".4\"\n})), React.createElement(\"g\", {\n style: {\n mixBlendMode: \"soft-light\"\n },\n opacity: \".4\"\n}, React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M56.352 103.62c10.385 10.611 27.223 10.611 37.609 0 10.385-10.612 10.385-27.816 0-38.427-10.386-10.611-27.224-10.611-37.61 0-10.385 10.611-10.385 27.815 0 38.427z\",\n fill: \"#D9F5FF\"\n})), React.createElement(\"g\", {\n style: {\n mixBlendMode: \"overlay\"\n }\n}, React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M71.621 91.769c0-2.272.257-4.065.77-5.38.513-1.314 1.346-2.453 2.497-3.418 1.151-.964 2.026-1.847 2.625-2.648.6-.802.899-1.684.899-2.649 0-2.35-1.012-3.524-3.034-3.524-.933 0-1.688.343-2.263 1.027-.576.685-.88 1.61-.91 2.777h-7.888c.031-3.111 1.011-5.534 2.94-7.27 1.93-1.734 4.636-2.601 8.121-2.601 3.47 0 6.157.801 8.063 2.404 1.905 1.602 2.858 3.881 2.858 6.837 0 1.291-.257 2.466-.77 3.524-.513 1.058-1.338 2.139-2.474 3.243l-2.683 2.497c-.762.732-1.291 1.482-1.587 2.252-.295.77-.459 1.746-.49 2.929h-6.674zm-.957 7.094c0-1.151.416-2.096 1.249-2.835.832-.74 1.87-1.109 3.115-1.109s2.283.37 3.115 1.109c.833.739 1.249 1.684 1.249 2.835s-.416 2.096-1.249 2.835c-.832.739-1.87 1.109-3.115 1.109s-2.283-.37-3.115-1.109c-.833-.739-1.249-1.684-1.249-2.835z\",\n fill: \"#000\",\n fillOpacity: \".87\"\n})), React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M71.621 91.769c0-2.272.257-4.065.77-5.38.513-1.314 1.346-2.453 2.497-3.418 1.151-.964 2.026-1.847 2.625-2.648.6-.802.899-1.684.899-2.649 0-2.35-1.012-3.524-3.034-3.524-.933 0-1.688.343-2.263 1.027-.576.685-.88 1.61-.91 2.777h-7.888c.031-3.111 1.011-5.534 2.94-7.27 1.93-1.734 4.636-2.601 8.121-2.601 3.47 0 6.157.801 8.063 2.404 1.905 1.602 2.858 3.881 2.858 6.837 0 1.291-.257 2.466-.77 3.524-.513 1.058-1.338 2.139-2.474 3.243l-2.683 2.497c-.762.732-1.291 1.482-1.587 2.252-.295.77-.459 1.746-.49 2.929h-6.674zm-.957 7.094c0-1.151.416-2.096 1.249-2.835.832-.74 1.87-1.109 3.115-1.109s2.283.37 3.115 1.109c.833.739 1.249 1.684 1.249 2.835s-.416 2.096-1.249 2.835c-.832.739-1.87 1.109-3.115 1.109s-2.283-.37-3.115-1.109c-.833-.739-1.249-1.684-1.249-2.835z\",\n fill: \"#3C74B4\",\n fillOpacity: \".38\"\n})), React.createElement(\"defs\", null, React.createElement(\"linearGradient\", {\n id: \"nodata__paint0_linear\",\n x1: \"74\",\n y1: \"5.203\",\n x2: \"74\",\n y2: \"148\",\n gradientUnits: \"userSpaceOnUse\"\n}, React.createElement(\"stop\", {\n stopColor: \"#FAFAFA\",\n stopOpacity: \"0\"\n}), React.createElement(\"stop\", {\n offset: \"1\",\n stopColor: \"#F4F4F4\"\n})), React.createElement(\"linearGradient\", {\n id: \"nodata__paint1_linear\",\n x1: \"123.612\",\n y1: \"142.028\",\n x2: \"76.729\",\n y2: \"122.717\",\n gradientUnits: \"userSpaceOnUse\"\n}, React.createElement(\"stop\", {\n stopOpacity: \"0\"\n}), React.createElement(\"stop\", {\n offset: \"1\"\n})), React.createElement(\"linearGradient\", {\n id: \"nodata__paint2_linear\",\n x1: \"75.156\",\n y1: \"57.234\",\n x2: \"75.156\",\n y2: \"111.578\",\n gradientUnits: \"userSpaceOnUse\"\n}, React.createElement(\"stop\", {\n stopColor: \"#EEFBFF\"\n}), React.createElement(\"stop\", {\n offset: \"1\",\n stopColor: \"#0072CE\"\n})), React.createElement(\"filter\", {\n id: \"nodata__filter0_d\",\n x: \"36.469\",\n y: \"47.719\",\n width: \"97.962\",\n height: \"100.475\",\n filterUnits: \"userSpaceOnUse\",\n colorInterpolationFilters: \"sRGB\"\n}, React.createElement(\"feFlood\", {\n floodOpacity: \"0\",\n result: \"BackgroundImageFix\"\n}), React.createElement(\"feColorMatrix\", {\n in: \"SourceAlpha\",\n type: \"matrix\",\n values: \"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\n}), React.createElement(\"feOffset\", {\n dy: \"2\"\n}), React.createElement(\"feGaussianBlur\", {\n stdDeviation: \"2\"\n}), React.createElement(\"feColorMatrix\", {\n type: \"matrix\",\n values: \"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.2 0\"\n}), React.createElement(\"feBlend\", {\n mode: \"normal\",\n in2: \"BackgroundImageFix\",\n result: \"effect1_dropShadow\"\n}), React.createElement(\"feBlend\", {\n mode: \"normal\",\n in: \"SourceGraphic\",\n in2: \"effect1_dropShadow\",\n result: \"shape\"\n})))));","import {makeStyles} from '@material-ui/core/styles';\n\ntype NoDataContainer = {\n height?: number;\n};\n\nexport const useStyles = makeStyles(() => ({\n noDataContainer: ({height}: NoDataContainer) => ({\n height: height ? `${height}px` : 'auto',\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'center',\n alignItems: 'center',\n color: 'rgba(0, 0, 0, 0.54)'\n }),\n icon: {\n height: '88px',\n width: '88px',\n marginBottom: '20px'\n }\n}));\n","import React from 'react';\nimport i18n from 'ui-i18n';\nimport {Typography as Typography} from '@material-ui/core';\nimport NoDataIcon from './icons/noData.svg';\nimport {useStyles} from './styles';\n\ntype DashboardNoDataProps = {\n height?: number;\n};\n\nconst DashboardNoData = ({height}: DashboardNoDataProps) => {\n const styles = useStyles({height});\n return (\n <div className={styles.noDataContainer}>\n <NoDataIcon className={styles.icon} />\n <Typography>{i18n.text('No Data')}</Typography>\n </div>\n );\n};\n\nexport default DashboardNoData;\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React from \"react\";\nexport default (({\n styles = {},\n ...props\n}) => React.createElement(\"svg\", _extends({\n width: \"88\",\n height: \"88\",\n viewBox: \"0 0 88 88\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n}, props), React.createElement(\"mask\", {\n id: \"svg3217593551a\",\n style: {\n maskType: \"alpha\"\n },\n maskUnits: \"userSpaceOnUse\",\n x: \"0\",\n y: \"0\",\n width: \"88\",\n height: \"88\"\n}, React.createElement(\"path\", {\n d: \"M44 88c24.3 0 44-19.7 44-44S68.3 0 44 0 0 19.7 0 44s19.7 44 44 44z\",\n fill: \"#fff\"\n})), React.createElement(\"g\", {\n mask: \"url(#svg3217593551a)\"\n}, React.createElement(\"path\", {\n d: \"M44 88c24.3 0 44-19.7 44-44S68.3 0 44 0 0 19.7 0 44s19.7 44 44 44z\",\n fill: \"#CAC4D5\",\n fillOpacity: \".3\"\n}), React.createElement(\"path\", {\n opacity: \".3\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M19.987 6.73l49.449 6.072a.687.687 0 01.596.767l-7.845 63.888a.688.688 0 01-.766.6L7.214 71.4a.688.688 0 01-.599-.763l.408-3.326L19.987 6.73z\",\n fill: \"#fff\"\n}), React.createElement(\"path\", {\n opacity: \".2\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M1.267 25.921l45.86-19.466a.687.687 0 01.9.366l25.15 59.251a.61.61 0 01-.386.84L22.34 82.765a.719.719 0 01-.887-.445l-20.185-56.4z\",\n fill: \"#fff\"\n}), React.createElement(\"path\", {\n d: \"M65.631 9.23H11.017a.688.688 0 00-.687.687v64.37c0 .38.307.687.687.687h54.614c.38 0 .688-.308.688-.687V9.917a.688.688 0 00-.688-.688z\",\n fill: \"#F9F9F9\"\n}), React.createElement(\"path\", {\n opacity: \".1\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M14.885 34.95l3.105-1.666 7.31-4.025 8.852 3.472 7.89-5.223 8.036-2.628 8.113 5.193 3.352-10.255v16.967H14.935l-.05-1.835z\",\n fill: \"#9C6CF0\"\n}), React.createElement(\"path\", {\n opacity: \".2\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M14.885 32.331l3.105-3.761 7.31 4.31 8.852 1.656 7.89-2.205 8.036 1.827 8.113-12.643 3.352.742V36.36H14.935l-.05-4.029z\",\n fill: \"#FA82AA\"\n}), React.createElement(\"path\", {\n opacity: \".2\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M14.885 34.946l3.105.432 7.31 1.01 8.852-5.117 7.89 3.675 8.036 1.839 8.113-1.839 3.352.811v1.028H14.935l-.05-1.839z\",\n fill: \"#4DBEE9\"\n}), React.createElement(\"path\", {\n opacity: \".1\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M61.543 35.288l-.05 1.497H14.885v-5.239l3.352-.276 8.114 4.697 8.036-.679 7.889.82 8.852-.616 7.31-1.601 3.105 1.397z\",\n fill: \"#4DBEE9\"\n}), React.createElement(\"path\", {\n d: \"M21.036 40.178h-5.09a.636.636 0 000 1.272h5.09a.636.636 0 100-1.272z\",\n fill: \"#ACACAC\"\n}), React.createElement(\"path\", {\n opacity: \".3\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M16.582 55.872c.703 0 1.273.57 1.273 1.273V69.02a1.272 1.272 0 11-2.545 0V57.144c0-.702.57-1.272 1.272-1.272zM25.914 55.872c.702 0 1.272.57 1.272 1.273V69.02a1.272 1.272 0 11-2.545 0V57.144c0-.702.57-1.272 1.273-1.272zM39.91 55.872c.703 0 1.273.57 1.273 1.273V69.02a1.272 1.272 0 11-2.545 0V57.144c0-.702.57-1.272 1.273-1.272zM21.248 55.872c.702 0 1.272.57 1.272 1.273V69.02a1.273 1.273 0 01-2.545 0V57.144c0-.702.57-1.272 1.273-1.272zM35.245 55.872c.703 0 1.273.57 1.273 1.273V69.02a1.272 1.272 0 11-2.545 0V57.144c0-.702.57-1.272 1.272-1.272zM30.58 55.872c.702 0 1.272.57 1.272 1.273V69.02a1.272 1.272 0 11-2.545 0V57.144c0-.702.57-1.272 1.272-1.272zM44.577 55.872c.702 0 1.272.57 1.272 1.273V69.02a1.273 1.273 0 01-2.545 0V57.144c0-.702.57-1.272 1.273-1.272z\",\n fill: \"#BDBDBD\"\n}), React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M16.582 65.628c.703 0 1.273.57 1.273 1.272v2.121a1.272 1.272 0 11-2.545 0v-2.12c0-.703.57-1.273 1.272-1.273zM25.914 62.658c.702 0 1.272.57 1.272 1.273v5.09a1.272 1.272 0 11-2.545 0v-5.09c0-.703.57-1.273 1.273-1.273zM39.91 65.628c.703 0 1.273.57 1.273 1.272v2.121a1.272 1.272 0 11-2.545 0v-2.12c0-.703.57-1.273 1.273-1.273zM21.248 66.477c.702 0 1.272.57 1.272 1.272v1.273a1.273 1.273 0 01-2.545 0v-1.273c0-.703.57-1.272 1.273-1.272z\",\n fill: \"#4DBEE9\"\n}), React.createElement(\"path\", {\n d: \"M36.518 65.628a1.272 1.272 0 00-2.545 0v3.393a1.272 1.272 0 102.545 0v-3.393zM31.852 62.234a1.272 1.272 0 10-2.545 0v6.787a1.272 1.272 0 102.545 0v-6.787z\",\n fill: \"#4DBEE9\"\n}), React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M44.577 60.962c.702 0 1.272.57 1.272 1.272v6.787a1.273 1.273 0 01-2.545 0v-6.787c0-.702.57-1.272 1.273-1.272z\",\n fill: \"#4DBEE9\"\n}), React.createElement(\"path\", {\n d: \"M18.915 18.546a1.909 1.909 0 100-3.817 1.909 1.909 0 000 3.817z\",\n fill: \"#9C6CF0\"\n}), React.createElement(\"path\", {\n opacity: \".5\",\n d: \"M34.185 18.546a1.909 1.909 0 100-3.817 1.909 1.909 0 000 3.817z\",\n fill: \"#4DBEE9\"\n}), React.createElement(\"path\", {\n opacity: \".3\",\n d: \"M49.454 18.546a1.909 1.909 0 100-3.817 1.909 1.909 0 000 3.817z\",\n fill: \"#4DBEE9\"\n}), React.createElement(\"path\", {\n opacity: \".8\",\n d: \"M26.55 18.546a1.909 1.909 0 100-3.817 1.909 1.909 0 000 3.817z\",\n fill: \"#FB6597\"\n}), React.createElement(\"path\", {\n d: \"M41.82 18.546a1.909 1.909 0 100-3.817 1.909 1.909 0 000 3.817z\",\n fill: \"#4DBEE9\"\n}), React.createElement(\"path\", {\n opacity: \".2\",\n d: \"M57.09 18.546a1.909 1.909 0 100-3.817 1.909 1.909 0 000 3.817z\",\n fill: \"#4DBEE9\"\n}), React.createElement(\"path\", {\n opacity: \".5\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M16.582 19.818h4.666a.424.424 0 110 .849h-4.666a.424.424 0 110-.849zM31.851 19.818h4.666a.424.424 0 010 .849h-4.666a.424.424 0 110-.849zM47.121 19.818h4.666a.424.424 0 010 .849h-4.666a.424.424 0 010-.849zM24.217 19.818h4.665a.424.424 0 010 .849h-4.665a.424.424 0 010-.849zM39.486 19.818h4.666a.424.424 0 110 .849h-4.666a.424.424 0 110-.849zM54.756 19.818h4.666a.424.424 0 110 .849h-4.666a.424.424 0 110-.849z\",\n fill: \"#ACACAC\"\n}), React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M15.946 43.571h5.09a.636.636 0 110 1.273h-5.09a.636.636 0 010-1.273zM15.946 46.116h5.09a.636.636 0 010 1.273h-5.09a.636.636 0 010-1.273zM15.946 48.661h5.09a.636.636 0 010 1.273h-5.09a.636.636 0 110-1.273zM23.58 43.571h5.09a.636.636 0 110 1.273h-5.09a.636.636 0 010-1.273zM23.58 46.116h5.09a.636.636 0 010 1.273h-5.09a.636.636 0 010-1.273zM23.58 48.661h5.09a.636.636 0 010 1.273h-5.09a.636.636 0 110-1.273zM49.454 43.571h11.028a.636.636 0 010 1.273H49.454a.636.636 0 010-1.273zM49.454 46.116h11.028a.636.636 0 010 1.273H49.454a.636.636 0 010-1.273zM49.454 48.661h11.028a.636.636 0 010 1.273H49.454a.636.636 0 110-1.273zM31.215 43.571h15.27a.636.636 0 110 1.273h-15.27a.636.636 0 010-1.273zM31.215 46.116h15.27a.636.636 0 010 1.273h-15.27a.636.636 0 010-1.273zM31.215 48.661h15.27a.636.636 0 010 1.273h-15.27a.636.636 0 010-1.273zM15.946 51.206h5.09a.636.636 0 110 1.272h-5.09a.636.636 0 110-1.272zM23.58 51.206h5.09a.636.636 0 110 1.272h-5.09a.636.636 0 110-1.272zM49.454 51.206h11.028a.636.636 0 010 1.272H49.454a.636.636 0 110-1.272zM31.215 51.206h15.27a.636.636 0 110 1.272h-15.27a.636.636 0 010-1.272z\",\n fill: \"#E9E9E9\"\n}), React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M49.878 55.872h5.09a.636.636 0 110 1.273h-5.09a.636.636 0 110-1.273z\",\n fill: \"#ACACAC\"\n}), React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M49.878 59.69h11.029a.636.636 0 010 1.272H49.878a.636.636 0 110-1.273zM49.878 62.234h11.029a.636.636 0 010 1.273H49.878a.636.636 0 010-1.273zM49.878 64.78h11.029a.636.636 0 010 1.272H49.878a.636.636 0 010-1.273z\",\n fill: \"#E9E9E9\"\n}), React.createElement(\"path\", {\n d: \"M54.968 67.324h-5.09a.636.636 0 000 1.273h5.09a.636.636 0 000-1.273z\",\n fill: \"#E9E9E9\"\n}), React.createElement(\"g\", {\n filter: \"url(#error__filter0_d)\"\n}, React.createElement(\"path\", {\n d: \"M57.406 74.25c9.493 0 17.188-7.695 17.188-17.188 0-9.492-7.695-17.187-17.188-17.187-9.492 0-17.187 7.695-17.187 17.188 0 9.492 7.695 17.187 17.187 17.187z\",\n fill: \"#000\"\n})), React.createElement(\"path\", {\n d: \"M57.406 74.25c9.493 0 17.188-7.695 17.188-17.188 0-9.492-7.695-17.187-17.188-17.187-9.492 0-17.187 7.695-17.187 17.188 0 9.492 7.695 17.187 17.187 17.187z\",\n fill: \"#F25252\"\n}), React.createElement(\"path\", {\n opacity: \".15\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M57.406 34.719c12.34 0 22.344 10.003 22.344 22.343S69.746 79.406 57.406 79.406c-12.34 0-22.343-10.003-22.343-22.344 0-12.34 10.003-22.343 22.343-22.343zm-.172 2.406c-10.916 0-19.765 8.85-19.765 19.766 0 10.916 8.85 19.765 19.765 19.765C68.151 76.656 77 67.806 77 56.891c0-10.917-8.85-19.766-19.766-19.766z\",\n fill: \"#F25252\"\n}), React.createElement(\"path\", {\n opacity: \".3\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M57.406 38.844c10.062 0 18.219 8.157 18.219 18.218 0 10.062-8.157 18.22-18.219 18.22-10.062 0-18.218-8.158-18.218-18.22 0-10.061 8.156-18.218 18.218-18.218zm0 2.043c-8.933 0-16.175 7.242-16.175 16.175 0 8.934 7.242 16.176 16.175 16.176 8.934 0 16.176-7.242 16.176-16.175 0-8.934-7.242-16.176-16.176-16.176z\",\n fill: \"#F25252\"\n}), React.createElement(\"path\", {\n opacity: \".05\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M57.406 26.469C74.303 26.469 88 40.166 88 57.062c0 16.897-13.697 30.594-30.594 30.594-16.896 0-30.593-13.697-30.593-30.594 0-16.896 13.697-30.593 30.593-30.593zm-.172 3.437c-14.903 0-26.984 12.082-26.984 26.985 0 14.903 12.081 26.984 26.984 26.984 14.903 0 26.985-12.081 26.985-26.984 0-14.903-12.082-26.985-26.985-26.985z\",\n fill: \"#F25252\"\n}), React.createElement(\"path\", {\n d: \"M57.406 71.844c8.164 0 14.782-6.618 14.782-14.781 0-8.164-6.618-14.782-14.782-14.782-8.163 0-14.781 6.618-14.781 14.782 0 8.163 6.618 14.78 14.781 14.78z\",\n fill: \"#FF6A6A\"\n}), React.createElement(\"path\", {\n opacity: \".05\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M58.298 46.448L75.18 63.331l-9.114 12.078h-2.029l-7.582-7.582 1.006-3.178.837-18.2z\",\n fill: \"url(#error__paint0_linear)\"\n}), React.createElement(\"g\", {\n filter: \"url(#error__filter1_d)\"\n}, React.createElement(\"path\", {\n d: \"M57.406 68.063a1.719 1.719 0 100-3.438 1.719 1.719 0 000 3.438z\",\n fill: \"#000\"\n})), React.createElement(\"path\", {\n d: \"M57.406 68.063a1.719 1.719 0 100-3.438 1.719 1.719 0 000 3.438z\",\n fill: \"#fff\"\n}), React.createElement(\"g\", {\n filter: \"url(#error__filter2_d)\"\n}, React.createElement(\"path\", {\n d: \"M57.406 46.063c.95 0 1.719.769 1.719 1.718v12.375a1.719 1.719 0 11-3.438 0V47.781c0-.949.77-1.718 1.72-1.718z\",\n fill: \"#000\"\n})), React.createElement(\"path\", {\n d: \"M57.406 46.063c.95 0 1.719.769 1.719 1.718v12.375a1.719 1.719 0 11-3.438 0V47.781c0-.949.77-1.718 1.72-1.718z\",\n fill: \"#fff\"\n})), React.createElement(\"defs\", null, React.createElement(\"filter\", {\n id: \"error__filter0_d\",\n x: \"36.219\",\n y: \"37.875\",\n width: \"42.375\",\n height: \"42.375\",\n filterUnits: \"userSpaceOnUse\",\n colorInterpolationFilters: \"sRGB\"\n}, React.createElement(\"feFlood\", {\n floodOpacity: \"0\",\n result: \"BackgroundImageFix\"\n}), React.createElement(\"feColorMatrix\", {\n in: \"SourceAlpha\",\n type: \"matrix\",\n values: \"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\n}), React.createElement(\"feOffset\", {\n dy: \"2\"\n}), React.createElement(\"feGaussianBlur\", {\n stdDeviation: \"2\"\n}), React.createElement(\"feColorMatrix\", {\n type: \"matrix\",\n values: \"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.2 0\"\n}), React.createElement(\"feBlend\", {\n mode: \"normal\",\n in2: \"BackgroundImageFix\",\n result: \"effect1_dropShadow\"\n}), React.createElement(\"feBlend\", {\n mode: \"normal\",\n in: \"SourceGraphic\",\n in2: \"effect1_dropShadow\",\n result: \"shape\"\n})), React.createElement(\"filter\", {\n id: \"error__filter1_d\",\n x: \"51.688\",\n y: \"62.625\",\n width: \"11.438\",\n height: \"11.438\",\n filterUnits: \"userSpaceOnUse\",\n colorInterpolationFilters: \"sRGB\"\n}, React.createElement(\"feFlood\", {\n floodOpacity: \"0\",\n result: \"BackgroundImageFix\"\n}), React.createElement(\"feColorMatrix\", {\n in: \"SourceAlpha\",\n type: \"matrix\",\n values: \"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\n}), React.createElement(\"feOffset\", {\n dy: \"2\"\n}), React.createElement(\"feGaussianBlur\", {\n stdDeviation: \"2\"\n}), React.createElement(\"feColorMatrix\", {\n type: \"matrix\",\n values: \"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.2 0\"\n}), React.createElement(\"feBlend\", {\n mode: \"normal\",\n in2: \"BackgroundImageFix\",\n result: \"effect1_dropShadow\"\n}), React.createElement(\"feBlend\", {\n mode: \"normal\",\n in: \"SourceGraphic\",\n in2: \"effect1_dropShadow\",\n result: \"shape\"\n})), React.createElement(\"filter\", {\n id: \"error__filter2_d\",\n x: \"51.688\",\n y: \"44.063\",\n width: \"11.438\",\n height: \"23.813\",\n filterUnits: \"userSpaceOnUse\",\n colorInterpolationFilters: \"sRGB\"\n}, React.createElement(\"feFlood\", {\n floodOpacity: \"0\",\n result: \"BackgroundImageFix\"\n}), React.createElement(\"feColorMatrix\", {\n in: \"SourceAlpha\",\n type: \"matrix\",\n values: \"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\n}), React.createElement(\"feOffset\", {\n dy: \"2\"\n}), React.createElement(\"feGaussianBlur\", {\n stdDeviation: \"2\"\n}), React.createElement(\"feColorMatrix\", {\n type: \"matrix\",\n values: \"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.2 0\"\n}), React.createElement(\"feBlend\", {\n mode: \"normal\",\n in2: \"BackgroundImageFix\",\n result: \"effect1_dropShadow\"\n}), React.createElement(\"feBlend\", {\n mode: \"normal\",\n in: \"SourceGraphic\",\n in2: \"effect1_dropShadow\",\n result: \"shape\"\n})), React.createElement(\"linearGradient\", {\n id: \"error__paint0_linear\",\n x1: \"68.438\",\n y1: \"71.571\",\n x2: \"60.119\",\n y2: \"58.801\",\n gradientUnits: \"userSpaceOnUse\"\n}, React.createElement(\"stop\", {\n stopOpacity: \"0\"\n}), React.createElement(\"stop\", {\n offset: \"1\"\n})))));","import {makeStyles} from '@material-ui/core/styles';\n\ntype ErrorContainerProps = {\n height?: number;\n};\n\nexport const useStyles = makeStyles((theme) => ({\n errorContainer: ({height}: ErrorContainerProps) => ({\n height: height ? `${height}px` : 'auto',\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'center',\n alignItems: 'center',\n color: 'rgba(0, 0, 0, 0.54)'\n }),\n errorIcon: {\n height: '88px',\n width: '88px',\n marginBottom: '20px',\n paddingTop: '36px'\n },\n refreshButton: {\n color: theme.palette.primary.main,\n marginTop: '10px'\n },\n refreshIcon: {\n width: '24px',\n height: '24px'\n }\n}));\n","import React from 'react';\nimport i18n from 'ui-i18n';\nimport {Typography as Typography} from '@material-ui/core';\nimport ReplayIcon from '@material-ui/icons/Replay';\nimport {Button as Button} from '@material-ui/core';\nimport ErrorIcon from './icons/error.svg';\nimport {useStyles} from './styles';\n\ntype DashboardErrorProps = {\n height?: number;\n onRefresh?: () => void;\n message?: string;\n};\n\nconst DashboardError = ({height, onRefresh, message}: DashboardErrorProps) => {\n const styles = useStyles({height});\n return (\n <div className={styles.errorContainer}>\n <ErrorIcon className={styles.errorIcon} />\n <Typography>{message}</Typography>\n {onRefresh && (\n <Button\n className={styles.refreshButton}\n startIcon={<ReplayIcon color=\"primary\" className={styles.refreshIcon} />}\n onClick={onRefresh}\n >\n <Typography variant=\"button\">{i18n.text('Refresh')}</Typography>\n </Button>\n )}\n </div>\n );\n};\n\nexport default DashboardError;\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles(() => ({\n viewContent: {\n height: '100%',\n overflow: 'hidden',\n position: 'relative',\n padding: '0 16px 16px'\n },\n toolbarRoot: {\n padding: '16px',\n minHeight: '18px',\n lineHeight: '18px',\n marginBottom: '8px',\n '&:hover .viewDraggableHandle': {\n visibility: 'visible'\n }\n },\n title: {\n fontSize: '16px',\n lineHeight: '19px',\n fontWeight: 'normal',\n color: 'rgba(0, 0, 0, 0.87)',\n letterSpacing: '0.15px'\n },\n dragIcon: {\n position: 'absolute',\n left: '50%',\n top: '-3px',\n transform: 'translateX(-50%) rotate(90deg)',\n color: 'rgba(0, 0, 0, 0.3)',\n cursor: 'move',\n zIndex: 8,\n visibility: 'hidden'\n }\n}));\n","import React from 'react';\nimport classnames from 'classnames';\nimport i18n from 'ui-i18n';\nimport {BasicViewContent, ErrorBoundary, RequestStates} from '@reltio/components';\nimport {DashboardError, DashboardLinearLoader, DashboardNoData} from '../index';\nimport ReactResizeDetector from 'react-resize-detector';\nimport {useStyles} from './styles';\n\ntype ChildrenProps<T> = {data: T[]; width: number; height: number};\n\ntype Props<T> = {\n loadingState: RequestStates;\n children: (props: ChildrenProps<T>) => React.ReactNode;\n onRefresh: () => void;\n data: T[];\n className?: string;\n EmptyPlaceholder?: React.ReactNode;\n};\n\nconst LayoutItemContent = <T extends unknown>({\n loadingState,\n onRefresh,\n children,\n data,\n className,\n EmptyPlaceholder\n}: Props<T>) => {\n const styles = useStyles();\n\n const renderContent = ({width, height}: {width: number; height: number}) => {\n switch (loadingState) {\n case RequestStates.LOADED:\n if (!data || data.length === 0) {\n return EmptyPlaceholder || <DashboardNoData height={height} />;\n }\n return (\n <ErrorBoundary\n error={<DashboardError message={i18n.text('Something went wrong')} height={height} />}\n >\n {children({data, width, height})}\n </ErrorBoundary>\n );\n case RequestStates.LOADING:\n return <DashboardLinearLoader />;\n case RequestStates.ERROR:\n return (\n <DashboardError message={i18n.text('Error Loading Data')} height={height} onRefresh={onRefresh} />\n );\n default:\n return <div>Loading...</div>;\n }\n };\n\n return (\n <BasicViewContent className={classnames(styles.viewContent, className)}>\n <ReactResizeDetector refreshMode=\"debounce\" refreshRate={100} handleWidth handleHeight>\n {renderContent}\n </ReactResizeDetector>\n </BasicViewContent>\n );\n};\n\nexport default LayoutItemContent;\n","import React, {useRef} from 'react';\nimport {BasicTablePagination} from '@reltio/components';\n\nconst PAGINATION_HEIGHT = 60;\n\ntype RefProps = {\n basicTableRef?: React.MutableRefObject<any> | null;\n};\n\ntype Props = {\n count?: number;\n height?: number;\n onChangePage?: (page: number) => void;\n page?: number;\n rowsPerPageOptions?: number[];\n rowsPerPage?: number;\n onChangeRowsPerPage?: (page: number) => void;\n};\n\nexport function withPagination<T>(TableComponent: React.ComponentType<T>) {\n const WithPagination = (props: Props & Omit<T, keyof RefProps>) => {\n const basicTableRef = useRef(null);\n\n return (\n <>\n <TableComponent\n {...(props as T)}\n basicTableRef={basicTableRef}\n height={props.height - PAGINATION_HEIGHT}\n />\n <BasicTablePagination {...props} basicTableRef={basicTableRef} />\n </>\n );\n };\n\n WithPagination.displayName = 'WithPagination';\n\n return WithPagination;\n}\n","import {ChartData} from '@reltio/components';\nimport {SavedSearchData} from '../types/SavedSearchData';\n\nexport const savedSearchDataToChartData = (data: SavedSearchData[]): ChartData[] => {\n return data.map(({uri, name, count}) => {\n return {\n value: count || 0,\n label: name || '',\n group: uri\n };\n });\n};\n\nexport const savedSearchDataToSearchState = ({uiState, uri}: SavedSearchData) => {\n if (uiState.version === '2.0') {\n return {...uiState, currentSavedSearchUri: uri};\n } else {\n return {...uiState.state, curSavedSearchUri: uri};\n }\n};\n","import React, {memo, useCallback, useMemo, useState} from 'react';\nimport {useDispatch} from 'react-redux';\nimport {find, pipe, propEq} from 'ramda';\nimport i18n from 'ui-i18n';\nimport {TableWithBars, useReloadFacet} from '@reltio/components';\nimport {ui} from '@reltio/mdm-module';\nimport {FilteredSavedSearchesFacetConfig} from '../../types/FilteredSavedSearchesFacetConfig';\nimport {useSavedSearchesRequest} from '../../hooks/useSavedSearchesRequest';\nimport {DEFAULT_ROWS_PER_PAGE, getRowsPerPageOptions} from './helpers';\nimport LayoutItemView from '../../components/LayoutItemView/LayoutItemView';\nimport LayoutItemHeader from '../../components/LayoutItemHeader/LayoutItemHeader';\nimport LayoutItemContent from '../../components/LayoutItemContent/LayoutItemContent';\nimport {withPagination} from '../../HOCs/withPagination';\nimport {savedSearchDataToChartData, savedSearchDataToSearchState} from '../../services/savedSearches';\n\ntype Props = {\n config: FilteredSavedSearchesFacetConfig;\n onToggleFullscreen: (id: string) => void;\n isUpdated?: boolean;\n isFullscreen: boolean;\n onRemove?: (id: string) => void;\n};\n\nconst TableWithPagination = withPagination(TableWithBars);\n\nconst FilteredSavedSearchesFacet = ({config, onToggleFullscreen, isUpdated, isFullscreen, onRemove}: Props) => {\n const {id, title, options, max = DEFAULT_ROWS_PER_PAGE} = config;\n\n const rowsPerPageOptions = useMemo(() => getRowsPerPageOptions(max), [max]);\n const [rowsPerPage, setRowsPerPage] = useState(max);\n const [page, setPage] = useState(0);\n const {data, state, reload, total} = useSavedSearchesRequest({\n options,\n max: rowsPerPage,\n offset: rowsPerPage * page\n });\n const chartData = useMemo(() => savedSearchDataToChartData(data), [data]);\n\n const dispatch = useDispatch();\n const onSSClick = useCallback(\n (uri: string) => {\n pipe(find(propEq('uri', uri)), savedSearchDataToSearchState, ui.actions.openSearch, dispatch)(data);\n },\n [dispatch, data]\n );\n\n useReloadFacet({state, reload});\n\n return (\n <LayoutItemView id={id}>\n <LayoutItemHeader\n title={title}\n onToggleFullscreen={onToggleFullscreen}\n isFullscreen={isFullscreen}\n isUpdated={isUpdated}\n onRefresh={reload}\n onRemove={onRemove}\n />\n <LayoutItemContent loadingState={state} onRefresh={reload} data={chartData}>\n {({data, width, height}) => {\n return (\n <TableWithPagination\n width={width}\n height={height}\n data={data}\n count={total}\n onChangePage={setPage}\n page={page}\n rowsPerPage={rowsPerPage}\n onChangeRowsPerPage={setRowsPerPage}\n rowsPerPageOptions={rowsPerPageOptions}\n options={{\n headers: [i18n.text('Name')],\n showValues: options?.countResults\n }}\n onItemClick={onSSClick}\n />\n );\n }}\n </LayoutItemContent>\n </LayoutItemView>\n );\n};\n\nexport default memo(FilteredSavedSearchesFacet);\n","import {\n addGlobalFilterToQuery,\n buildFilterQueryString,\n DashboardConfigFilter,\n FilterOptions,\n findAttributeTypeByUri,\n getSpecialAttrTypeByFieldName,\n isDateType,\n mapFilterValue,\n Metadata,\n parseTimestamp,\n SearchFilter,\n searchUriToAttrUri,\n wrapInArray\n} from '@reltio/mdm-sdk';\nimport {assoc, curry, evolve, includes, map, pipe, prop, when, __} from 'ramda';\n\nexport const configFilterToSearchFilter = when(\n pipe(prop('filter'), includes(__, [FilterOptions.IN_RANGE, FilterOptions.HAS_ALL])),\n evolve({values: wrapInArray})\n);\n\nexport const buildQuery = (\n filters: DashboardConfigFilter[],\n globalFilter?: string,\n searchByOv?: boolean,\n activityFilter?: string\n): string => {\n const query = pipe(\n map(configFilterToSearchFilter),\n buildFilterQueryString(),\n addGlobalFilterToQuery(globalFilter)\n )(filters);\n const result = query ? [`filter=${query}`] : [];\n if (searchByOv) {\n result.push('options=searchByOv');\n }\n if (activityFilter) {\n result.push(`activeness=${activityFilter}`);\n }\n return result.join('&');\n};\n\nexport const createNotEqualFilter = curry((fieldName: string, value: string) => ({\n filter: FilterOptions.NOT_EQUALS,\n values: [value],\n fieldName\n}));\n\nexport const convertSearchFilterToDashboardConfigFilter = (searchFilter: SearchFilter): DashboardConfigFilter => ({\n filter: searchFilter?.filter ?? FilterOptions.EQUALS,\n values: (searchFilter?.values ?? []) as string[],\n fieldName: searchFilter?.fieldName ?? ''\n});\nexport const createEntityTypeFilter = (entityTypeUri: string) => ({\n filter: FilterOptions.EQUALS,\n fieldName: 'type',\n values: [entityTypeUri]\n});\n\nexport const createFacetItemFilter = curry((fieldName: string, group: string) => ({\n filter: FilterOptions.EQUALS,\n values: [group],\n fieldName\n}));\n\nexport const convertFilterToFacetState = curry(\n (metadata: Metadata, entityType: string, filter: DashboardConfigFilter) => {\n const {fieldName} = filter;\n const isEntityAttributeFilter = /^(attributes|analyticsAttributes)/.test(fieldName);\n const attrType = isEntityAttributeFilter\n ? findAttributeTypeByUri(metadata, searchUriToAttrUri(fieldName, entityType))\n : getSpecialAttrTypeByFieldName(fieldName);\n\n return pipe(\n configFilterToSearchFilter,\n when(() => isEntityAttributeFilter, assoc('entityType', entityType)),\n when(() => isDateType(attrType.type), evolve({values: map(mapFilterValue(parseTimestamp))}))\n )(filter);\n }\n);\n\nexport const isEntityTypeFilter = ({filter, fieldName, values}: DashboardConfigFilter, entityTypeUri: string) =>\n filter === FilterOptions.EQUALS && fieldName === 'type' && values?.[0] === entityTypeUri;\n","import {\n AttributeType,\n attributeUriToSearchUri,\n buildLookupRecord,\n DashboardConfigFilter,\n formatDataTypeValue,\n getAttrDataTypeDefinition,\n getAttrTypeLookupCode,\n getEntityUriFromAttributeUri,\n getFacets,\n getRoleLabel,\n getTotals,\n isDateType,\n isEntityTypeUri,\n isLookupAttrType,\n isRoleAttrType,\n Metadata,\n parseTimestamp,\n resolveLookupsList\n} from '@reltio/mdm-sdk';\nimport {\n always,\n ascend,\n concat,\n curry,\n defaultTo,\n descend,\n evolve,\n ifElse,\n map,\n pipe,\n prop,\n propEq,\n reject,\n sortWith,\n when\n} from 'ramda';\nimport {\n buildQuery,\n configFilterToSearchFilter,\n convertFilterToFacetState,\n createEntityTypeFilter,\n createFacetItemFilter,\n createNotEqualFilter,\n isEntityTypeFilter\n} from './filters';\nimport {ChartData} from '@reltio/components';\nimport i18n from 'ui-i18n';\n\ntype FacetsRequest = {\n attribute: string;\n filters: DashboardConfigFilter[];\n globalFilter?: string;\n searchByOv?: boolean;\n activityFilter?: string;\n pageSize?: number;\n orderType?: string;\n};\n\nexport const requestFacets = ({\n attribute,\n filters,\n globalFilter,\n searchByOv,\n activityFilter,\n pageSize,\n orderType\n}: FacetsRequest): Promise<ChartData[]> => {\n const query = buildQuery(filters, globalFilter, searchByOv, activityFilter);\n const body = [\n {\n fieldName: attribute,\n pageNo: 1,\n orderType,\n pageSize\n }\n ];\n return getFacets({query, body}).then((response) => {\n const getFacetData = pipe(\n prop(attribute),\n defaultTo({}),\n Object.entries,\n map(([key, value]) => ({label: key, group: key, value})),\n sortWith([descend(prop('value')), ascend(prop('label'))])\n );\n return getFacetData(response);\n });\n};\n\nexport const resolveLookups = curry((lookupCode: string, data: ChartData[]) => {\n const lookupsToResolve = data.map(({label}) => ({codeValue: label, type: lookupCode}));\n return resolveLookupsList(lookupsToResolve).then((response) => {\n const codes = response.flatMap(buildLookupRecord(lookupCode)) as {lookupCode: string; value: string}[];\n return data.map((item) => {\n const code = codes.find(({lookupCode}) => lookupCode === item.label);\n return code ? {...item, label: code.value} : item;\n });\n });\n});\n\nconst buildFacetOthersFilters = curry((fieldName: string, data: ChartData[]) =>\n data.map(pipe(prop('group'), createNotEqualFilter(fieldName)))\n);\n\nconst OTHER_FACET_GROUP = 'Other';\n\nexport const requestOtherValues = curry(\n ({attribute, filters, globalFilter, searchByOv, activityFilter}: FacetsRequest, data: ChartData[]) => {\n const otherFilters = pipe(\n buildFacetOthersFilters(attribute),\n concat(filters),\n map(configFilterToSearchFilter)\n )(data);\n const searchOptions = searchByOv && 'searchByOv';\n return getTotals(otherFilters, {globalFilter, activityFilter, searchOptions}).then(({total}) => {\n return total > 0\n ? data.concat([{label: i18n.text('Other'), group: OTHER_FACET_GROUP, value: total}])\n : data;\n });\n }\n);\n\nconst resolveRoleLabel = (metadata: Metadata, roleName: string) =>\n getRoleLabel(metadata, 'configuration/roles/' + roleName);\n\nexport const localizeFacetValues = map((facet: ChartData) => ({\n ...facet,\n localizedValue: i18n.number(facet.value)\n}));\n\nexport const resolveFacetLabels = (metadata: Metadata, attrType: AttributeType) =>\n pipe(\n when(() => isLookupAttrType(attrType), resolveLookups(getAttrTypeLookupCode(attrType))),\n when(\n () => isRoleAttrType(attrType),\n map((facet) => ({...facet, label: resolveRoleLabel(metadata, facet.group)}))\n ),\n when(\n () => isDateType(attrType.type),\n map(\n evolve({\n label: pipe(\n parseTimestamp,\n formatDataTypeValue({dataTypeDefinition: getAttrDataTypeDefinition(attrType)})\n )\n })\n )\n )\n );\n\nexport const getFacetFieldName = when(isEntityTypeUri, attributeUriToSearchUri);\nconst getFacetEntityTypeUri = ifElse(isEntityTypeUri, getEntityUriFromAttributeUri, always(undefined));\n\nexport const getFiltersForFacet = (\n attributeUri: string,\n filters: DashboardConfigFilter[] = []\n): DashboardConfigFilter[] => {\n const entityTypeUri = getFacetEntityTypeUri(attributeUri);\n const hasEntityTypeFilter = filters.some((filter) => isEntityTypeFilter(filter, entityTypeUri));\n return entityTypeUri && !hasEntityTypeFilter ? [createEntityTypeFilter(entityTypeUri), ...filters] : filters;\n};\n\nexport const getFiltersForFacetItem = curry((attributeUri: string, data: ChartData[], group: string) => {\n const fieldName = getFacetFieldName(attributeUri);\n return group === OTHER_FACET_GROUP\n ? pipe(reject(propEq('group', OTHER_FACET_GROUP)), buildFacetOthersFilters(fieldName))(data)\n : [createFacetItemFilter(fieldName, group)];\n});\n\nexport const facetFiltersToSearchState = curry(\n (metadata: Metadata, attributeUri: string, filters: DashboardConfigFilter[]) => {\n const entityType = getFacetEntityTypeUri(attributeUri);\n return {\n facets: filters.map(convertFilterToFacetState(metadata, entityType))\n };\n }\n);\n","import React, {memo} from 'react';\nimport {useDispatch, useSelector} from 'react-redux';\nimport {ChartsFactory, useReloadFacet} from '@reltio/components';\nimport {useFacetRequest} from '../../hooks/useFacetRequest';\nimport {ChartTypes, DashboardFacetConfig} from '@reltio/mdm-sdk';\nimport LayoutItemView from '../../components/LayoutItemView/LayoutItemView';\nimport LayoutItemHeader from '../../components/LayoutItemHeader/LayoutItemHeader';\nimport LayoutItemContent from '../../components/LayoutItemContent/LayoutItemContent';\nimport mdmModule, {ui} from '@reltio/mdm-module';\nimport {concat, pipe} from 'ramda';\nimport {facetFiltersToSearchState, getFiltersForFacet, getFiltersForFacetItem} from '../../services/facets';\n\ntype DashboardFacetProps = {\n config: DashboardFacetConfig;\n onToggleFullscreen: (id: string) => void;\n isUpdated?: boolean;\n isFullscreen: boolean;\n onRemove?: (id: string) => void;\n};\n\nconst DashboardFacet = ({config, onToggleFullscreen, isUpdated, isFullscreen, onRemove}: DashboardFacetProps) => {\n const {id, title, filters, attributeUri, count, orderType, chartType, showOthers, ...options} = config;\n const pageSize = chartType === ChartTypes.MAP ? 100 : 8;\n const {data, state, reload} = useFacetRequest({\n filters,\n attributeUri,\n pageSize: count || pageSize,\n orderType,\n options: {showOthers}\n });\n\n useReloadFacet({state, reload});\n\n const dispatch = useDispatch();\n const metadata = useSelector(mdmModule.selectors.getMetadata);\n const onItemClick = pipe(\n getFiltersForFacetItem(attributeUri, data),\n concat(getFiltersForFacet(attributeUri, filters)),\n facetFiltersToSearchState(metadata, attributeUri),\n ui.actions.openSearch,\n dispatch\n );\n\n return (\n <LayoutItemView id={id}>\n <LayoutItemHeader\n title={title}\n onToggleFullscreen={onToggleFullscreen}\n isUpdated={isUpdated}\n isFullscreen={isFullscreen}\n onRefresh={reload}\n onRemove={onRemove}\n />\n <LayoutItemContent loadingState={state} onRefresh={reload} data={data}>\n {({data, width = 0, height = 0}) => {\n return ChartsFactory.build(chartType, {data, width, height, options, onItemClick});\n }}\n </LayoutItemContent>\n </LayoutItemView>\n );\n};\n\nexport default memo(DashboardFacet);\n","import {useCallback, useEffect, useState, useContext, useMemo} from 'react';\nimport {useSelector} from 'react-redux';\nimport mdmModule from '@reltio/mdm-module';\nimport {\n DashboardConfigFilter,\n findAttributeTypeByUri,\n getSpecialAttrTypeByFieldName,\n SearchFilter\n} from '@reltio/mdm-sdk';\nimport {always, andThen, otherwise, pipe, when, unless} from 'ramda';\nimport {\n getFacetFieldName,\n getFiltersForFacet,\n requestFacets,\n requestOtherValues,\n resolveFacetLabels,\n localizeFacetValues\n} from '../services/facets';\nimport {ChartData, RequestStates, SearchFiltersContext} from '@reltio/components';\nimport {GlobalSearchRequestOptions, SearchOptions} from '../types/SearchOptions';\nimport {convertSearchFilterToDashboardConfigFilter} from '../services/filters';\n\ntype Props = {\n filters: DashboardConfigFilter[];\n attributeUri: string;\n pageSize: number;\n orderType?: string;\n options?: {\n showOthers: boolean;\n };\n};\n\nexport const useFacetRequest = ({\n filters: facetFilters,\n attributeUri,\n pageSize,\n orderType = 'reversedCount',\n options\n}: Props) => {\n const [data, setData] = useState<ChartData[]>([]);\n const [requestState, setRequestState] = useState<RequestStates>(RequestStates.INIT);\n const searchFilters = useContext<SearchFilter[]>(SearchFiltersContext);\n const facetAndSpecialFilters = useMemo(\n () => searchFilters.map(convertSearchFilterToDashboardConfigFilter).concat(facetFilters || []),\n [searchFilters, facetFilters]\n );\n const metadata = useSelector(mdmModule.selectors.getMetadata);\n const {globalFilter, activityFilter}: GlobalSearchRequestOptions = useSelector(\n mdmModule.selectors.getGlobalSearchRequestOptions\n );\n const attributePresentations = useSelector(mdmModule.selectors.getAttributePresentations);\n const hasAttrPresentation = !!attributePresentations?.[attributeUri];\n const searchOptions: SearchOptions = useSelector(mdmModule.selectors.getSearchOptions);\n const searchByOv: boolean = searchOptions?.searchByOv;\n const showOthers: boolean = options?.showOthers;\n const onError = (error) => {\n console.error(error); // eslint-disable-line\n setRequestState(RequestStates.ERROR);\n setData([]);\n };\n const loadData = useCallback(() => {\n setRequestState(RequestStates.LOADING);\n const filters = getFiltersForFacet(attributeUri, facetAndSpecialFilters);\n const fieldName = getFacetFieldName(attributeUri);\n const attrType = getSpecialAttrTypeByFieldName(fieldName) || findAttributeTypeByUri(metadata, attributeUri);\n const onRequestFinished = (data: ChartData[]) => {\n setRequestState(RequestStates.LOADED);\n setData(data);\n };\n\n if (!attrType) {\n onError('Configuration is incorrect');\n return;\n }\n\n const getData = pipe(\n requestFacets,\n andThen(resolveFacetLabels(metadata, attrType)),\n andThen(unless(always(hasAttrPresentation), localizeFacetValues)),\n andThen(\n when(\n always(showOthers),\n requestOtherValues({attribute: fieldName, filters, globalFilter, searchByOv, activityFilter})\n )\n ),\n andThen(onRequestFinished),\n otherwise(onError)\n );\n\n getData({attribute: fieldName, filters, globalFilter, searchByOv, activityFilter, pageSize, orderType});\n }, [\n setRequestState,\n attributeUri,\n metadata,\n showOthers,\n facetAndSpecialFilters,\n globalFilter,\n searchByOv,\n activityFilter,\n pageSize,\n orderType,\n hasAttrPresentation\n ]);\n\n const refreshAction = () => {\n try {\n loadData();\n } catch (e) {\n onError(e);\n }\n };\n\n useEffect(() => {\n refreshAction();\n }, [loadData]);\n\n return {state: requestState, data, reload: refreshAction};\n};\n","import {makeStyles} from '@material-ui/core/styles';\n\nconst textOverflow = {\n content: '\"\"',\n position: 'absolute',\n right: 0,\n top: 0,\n width: '40px',\n height: '100%',\n background: 'linear-gradient(to right, rgba(255, 255, 255, 0.2), #fff 100%)',\n pointerEvents: 'none'\n};\n\nexport const useStyles = makeStyles((theme) => ({\n headCell: {\n display: 'flex',\n alignItems: 'center',\n height: '100%',\n '&>div': {\n padding: '0 16px'\n }\n },\n headLabel: {\n color: theme.palette.text.primary,\n fontSize: '12px',\n fontWeight: 500,\n lineHeight: '16px',\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n '&:after': textOverflow\n },\n entityLabel: {\n color: theme.palette.primary.main,\n textDecoration: 'none',\n fontSize: '13px',\n fontWeight: 500,\n lineHeight: '15px',\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n display: 'flex',\n alignItems: 'center',\n height: '100%',\n padding: '0 16px',\n '&:after': textOverflow\n }\n}));\n","import React from 'react';\nimport classnames from 'classnames';\nimport DefaultHeadCellRenderer from 'react-components/dist/Table/DefaultHeadCellRenderer/DefaultHeadCellRenderer';\nimport {ExpandedValueTooltip} from '@reltio/components';\nimport {useStyles} from './styles';\n\ntype HeadCellRendererProps = {\n className?: string;\n headCellData: {\n label: string;\n };\n};\n\nconst HeadCellRenderer = ({className, headCellData, ...otherProps}: HeadCellRendererProps) => {\n const styles = useStyles();\n\n return (\n <div className={classnames(styles.headCell, className)}>\n <DefaultHeadCellRenderer\n {...otherProps}\n headCellData={{\n ...headCellData,\n label: (\n <ExpandedValueTooltip value={headCellData.label}>\n <div className={styles.headLabel}>{headCellData.label}</div>\n </ExpandedValueTooltip>\n )\n }}\n />\n </div>\n );\n};\n\nexport default HeadCellRenderer;\n","import React from 'react';\nimport {EntityUriLink, ExpandedValueTooltip} from '@reltio/components';\nimport {EntityData} from '../../../types/EntityData';\nimport {getLabel, getEntityUriForLink} from '@reltio/mdm-sdk';\nimport {useStyles} from './styles';\n\ntype Props = {\n value: string;\n rowValue: EntityData;\n};\n\nconst EntityLabelRenderer = ({value, rowValue: entity}: Props) => {\n const styles = useStyles();\n const label = getLabel(value);\n return (\n <ExpandedValueTooltip value={label}>\n <EntityUriLink value={getEntityUriForLink(entity)} className={styles.entityLabel}>\n {label}\n </EntityUriLink>\n </ExpandedValueTooltip>\n );\n};\n\nexport default EntityLabelRenderer;\n","import {makeStyles} from '@material-ui/core/styles';\n\ntype Dimensions = {\n width: number | string;\n height: number | string;\n};\n\nexport const useStyles = makeStyles({\n tableContainer: ({width, height}: Dimensions) => ({\n height: height,\n width: width,\n display: 'flex',\n flexDirection: 'column'\n }),\n cellBorder: {\n borderLeft: 'none',\n borderRight: 'none'\n }\n});\n","import React, {memo, useMemo, useState} from 'react';\nimport {useReloadFacet} from '@reltio/components';\nimport {FilteredEntitiesFacetConfig} from '../../types/FilteredEntitiesFacetConfig';\nimport {useFilteredEntitiesRequest} from '../../hooks/useFilteredEntitiesRequest';\nimport {getRowsPerPageOptions, DEFAULT_ROWS_PER_PAGE} from './helpers';\nimport LayoutItemView from '../../components/LayoutItemView/LayoutItemView';\nimport LayoutItemHeader from '../../components/LayoutItemHeader/LayoutItemHeader';\nimport LayoutItemContent from '../../components/LayoutItemContent/LayoutItemContent';\nimport {withPagination} from '../../HOCs/withPagination';\nimport EntityTable from '../../components/EntityTable/EntityTable';\n\ntype Props = {\n config: FilteredEntitiesFacetConfig;\n onToggleFullscreen: (id: string) => void;\n isUpdated?: boolean;\n isFullscreen: boolean;\n onRemove?: (id: string) => void;\n};\n\nconst TableWithPagination = withPagination(EntityTable);\n\nconst FilteredEntitiesViewFacet = ({config, onToggleFullscreen, isUpdated, isFullscreen, onRemove}: Props) => {\n const {id, title, filters, max = DEFAULT_ROWS_PER_PAGE} = config;\n const rowsPerPageOptions = useMemo(() => getRowsPerPageOptions(max), [max]);\n const [rowsPerPage, setRowsPerPage] = useState(max);\n const [page, setPage] = useState(0);\n\n const {data, state, reload, total} = useFilteredEntitiesRequest({\n filters,\n max: rowsPerPage,\n offset: rowsPerPage * page\n });\n\n useReloadFacet({state, reload});\n\n return (\n <LayoutItemView id={id}>\n <LayoutItemHeader\n title={title}\n onToggleFullscreen={onToggleFullscreen}\n isUpdated={isUpdated}\n isFullscreen={isFullscreen}\n onRefresh={reload}\n onRemove={onRemove}\n />\n <LayoutItemContent loadingState={state} onRefresh={reload} data={data}>\n {({data, width, height}) => {\n return (\n <TableWithPagination\n height={height}\n onChangePage={setPage}\n page={page}\n rowsPerPage={rowsPerPage}\n count={total}\n onChangeRowsPerPage={setRowsPerPage}\n rowsPerPageOptions={rowsPerPageOptions}\n width={width}\n data={data}\n />\n );\n }}\n </LayoutItemContent>\n </LayoutItemView>\n );\n};\n\nexport default memo(FilteredEntitiesViewFacet);\n","import React from 'react';\nimport {BasicTable} from '@reltio/components';\nimport HeadCellRenderer from './cell-renderers/HeadCellRenderer';\nimport EntityLabelRenderer from './cell-renderers/EntityLabelRenderer';\nimport {EntityData} from '../../types/EntityData';\nimport i18n from 'ui-i18n';\n\nimport {useStyles} from './styles';\n\ntype Props = {\n width: number;\n height: number;\n basicTableRef?: React.MutableRefObject<any> | null;\n data: EntityData[];\n};\n\nconst EntityTable = ({height, width, basicTableRef, data}: Props) => {\n const styles = useStyles({width, height});\n const headData = [\n {\n id: 'label',\n label: i18n.text('Entity'),\n resizable: false,\n headCellRenderer: HeadCellRenderer,\n rowCellValueRenderer: EntityLabelRenderer,\n initialWidth: width\n }\n ];\n const tableClasses = {\n cellBorder: styles.cellBorder\n };\n\n return (\n <div className={styles.tableContainer}>\n <BasicTable\n columnsData={headData}\n rowsData={data}\n headRowHeight={48}\n getRowCellHeight={null}\n classes={tableClasses}\n defaultColumnWidth={100}\n defaultColumnMinWidth={100}\n ref={basicTableRef}\n />\n </div>\n );\n};\n\nexport default EntityTable;\n","import {useCallback, useContext, useEffect, useMemo, useState} from 'react';\nimport {RequestStates, SearchFiltersContext} from '@reltio/components';\nimport {DashboardConfigFilter, getFilteredEntities, getTotals, SearchFilter} from '@reltio/mdm-sdk';\nimport {EntityData} from '../types/EntityData';\nimport {convertSearchFilterToDashboardConfigFilter} from '../services/filters';\n\ntype Props = {\n filters: DashboardConfigFilter[];\n offset: number;\n max: number;\n};\n\nexport const useFilteredEntitiesRequest = ({filters, max, offset}: Props) => {\n const [data, setData] = useState<EntityData[]>([]);\n const [total, setTotal] = useState<number>(0);\n const [requestState, setRequestState] = useState<RequestStates>(RequestStates.INIT);\n\n const searchFilters = useContext<SearchFilter[]>(SearchFiltersContext);\n const allFilters = useMemo(\n () => searchFilters.map(convertSearchFilterToDashboardConfigFilter).concat(filters || []),\n [searchFilters, filters]\n );\n\n const onError = (error) => {\n console.error(error); // eslint-disable-line\n setRequestState(RequestStates.ERROR);\n setData([]);\n setTotal(0);\n };\n\n const loadData = useCallback(() => {\n setRequestState(RequestStates.LOADING);\n\n Promise.all([getFilteredEntities(allFilters, {max, offset}), getTotals(allFilters, {max, offset})])\n .then((results) => {\n const [entities, {total}] = results;\n setData(entities || []);\n setTotal(total);\n setRequestState(RequestStates.LOADED);\n })\n .catch(onError);\n }, [allFilters, max, offset]);\n\n const refreshAction = () => {\n try {\n loadData();\n } catch (e) {\n onError(e);\n }\n };\n\n useEffect(() => {\n refreshAction();\n }, [loadData]);\n\n return {state: requestState, data, reload: refreshAction, total};\n};\n","export enum PeriodStep {\n HOUR = 'hour',\n DAY = 'day'\n}\n","import moment from 'moment';\nimport {defaultTo, map, pipe} from 'ramda';\nimport {getDateRangeByValue, getDateRangeByDatePeriod, DatePeriod, DateRangeValue} from '@reltio/mdm-sdk';\nimport {PeriodStep} from '../types/PeriodStep';\n\nconst getStepForTimestampInterval = ([startTime, endTime]) => {\n return endTime - startTime > +moment.duration(1, 'day') ? PeriodStep.DAY : PeriodStep.HOUR;\n};\n\nconst getStepForPeriod = pipe(\n (period) => getDateRangeByDatePeriod(period, getDashboardDateRangeByValue),\n getStepForTimestampInterval\n);\n\ntype GetDateRangeByValue = (value: DatePeriod | [number, number]) => [number, number];\nexport const getDashboardDateRangeByValue: GetDateRangeByValue = (value) => {\n const currentDate = moment();\n\n switch (value) {\n case DateRangeValue.LAST_WEEK:\n return [moment(currentDate).subtract(6, 'days').valueOf(), currentDate.valueOf()];\n default:\n return getDateRangeByValue(value);\n }\n};\n\nconst getValuesDateRange = pipe(\n getDashboardDateRangeByValue,\n defaultTo([]),\n map((value) => value && new Date(value))\n);\n\nexport {getStepForPeriod, getValuesDateRange};\n","import {\n append,\n chain,\n curry,\n evolve,\n groupBy,\n last,\n map,\n pipe,\n pluck,\n prepend,\n prop,\n propEq,\n propOr,\n sum,\n toPairs\n} from 'ramda';\nimport moment from 'moment';\nimport i18n from 'ui-i18n';\nimport {getEntitiesStats, getDateRangeByDatePeriod, DatePeriod} from '@reltio/mdm-sdk';\nimport {PeriodStep} from '../types/PeriodStep';\nimport {TimestampedStatsEventData, StatsData, StatsEventData} from '../types/StatsData';\nimport {getDashboardDateRangeByValue} from '../services/period';\nimport {AxisDomain} from 'recharts';\n\nconst StatsEvents = [\n {\n id: 'created',\n types: ['CREATED'],\n get label() {\n return i18n.text('New');\n },\n color: '#4BAFFF'\n },\n {\n id: 'updated',\n types: ['UPDATED'],\n get label() {\n return i18n.text('Updated');\n },\n color: '#0072CE'\n },\n {\n id: 'deleted',\n types: ['DELETED'],\n get label() {\n return i18n.text('Deleted');\n },\n color: '#F085F2'\n },\n {\n id: 'matched',\n types: ['POTENTIAL_MATCHES_FOUND'],\n get label() {\n return i18n.text('Matched');\n },\n color: '#C4CE00'\n },\n {\n id: 'autoMerged',\n types: ['MERGED', 'MERGED_ON_THE_FLY'],\n get label() {\n return i18n.text('Auto-merged');\n },\n color: '#CE5C00'\n },\n {\n id: 'mergedManually',\n types: ['MERGED_MANUALLY'],\n get label() {\n return i18n.text('Manually merged');\n },\n color: '#9E7ED3'\n },\n {\n id: 'unmerged',\n types: ['SPLITTED'],\n get label() {\n return i18n.text('Unmerged');\n },\n color: '#40CFBB'\n },\n {\n id: 'notMatch',\n types: ['NOT_MATCHES_SET'],\n get label() {\n return i18n.text('Not a match');\n },\n color: '#F97061'\n }\n];\n\nconst getStatsEventById = (event: string) => StatsEvents.find(propEq('id', event));\nconst getStatsEventName = pipe(getStatsEventById, propOr('', 'label'));\nconst getStatsEventColor = pipe(getStatsEventById, prop('color'));\n\nconst requestStats = (period: DatePeriod): Promise<StatsData[]> => {\n const [startTime, endTime] = getDateRangeByDatePeriod(period, getDashboardDateRangeByValue);\n const getStats = ({facet, types}) =>\n getEntitiesStats({facet, startTime, endTime, types}).then(({facets = {}, total = 0}) => ({\n total,\n data: facets[facet]\n }));\n\n const getEvents = () => {\n const allTypes = chain(prop('types'), StatsEvents);\n const processStats = pipe(propOr([], 'data'), pluck('term'));\n return getStats({facet: 'type', types: allTypes}).then((stats) => processStats(stats));\n };\n\n const getEventsData = (presentTypes) => {\n const periodFrame = pipe(\n map(\n evolve({\n term: (term) => moment.utc(term).valueOf()\n })\n ),\n prepend({\n term: startTime,\n count: 0\n }),\n append({\n term: endTime,\n count: 0\n })\n );\n const isEventPresent = (types) => types.some((type) => presentTypes.includes(type));\n\n return Promise.all(\n StatsEvents.map(({types, id}) =>\n (isEventPresent(types) ? getStats({facet: 'hour', types}) : Promise.resolve({total: 0, data: []})).then(\n ({total, data}) => ({total, data: periodFrame(data), event: id})\n )\n )\n );\n };\n\n return getEvents().then((events) => (events.length > 0 ? getEventsData(events) : []));\n};\n\nconst groupEventsData = curry((step: PeriodStep, eventData: StatsEventData[]): TimestampedStatsEventData[] => {\n return pipe(\n groupBy(({term}) => moment(term).startOf(step)),\n toPairs,\n map(([date, data]) => ({\n term: moment(date).valueOf(),\n count: sum(pluck('count', data))\n }))\n )(eventData);\n});\n\nconst interpolateEventsData = curry(\n (step: PeriodStep, eventData: TimestampedStatsEventData[]): TimestampedStatsEventData[] => {\n const [head, ...other] = eventData;\n return other.reduce(\n (acc, item) => {\n const lastTerm = last(acc).term;\n let nextTerm = moment(lastTerm).add(1, step).valueOf();\n const interpolatedItems = [];\n while (nextTerm < item.term) {\n interpolatedItems.push({\n term: nextTerm,\n count: 0\n });\n nextTerm = moment(nextTerm).add(1, step).valueOf();\n }\n return acc.concat(interpolatedItems, item);\n },\n [head]\n );\n }\n);\n\nconst calibrateStatsData = curry((step: PeriodStep, statsData: StatsData[]) => {\n return statsData.map(\n evolve({\n data: pipe(groupEventsData(step), interpolateEventsData(step))\n })\n );\n});\n\nconst getChartDomain = (chartData: StatsData[], tickCount: number): [AxisDomain, AxisDomain] => {\n const counts = chain(pipe(prop('data'), pluck('count')))(chartData);\n const min = Math.min(...counts);\n const max = Math.max(...counts);\n const difference = Math.abs(max - min);\n\n return difference < tickCount ? [0, tickCount - 1] : [0, 'auto'];\n};\n\nexport {StatsEvents, requestStats, getStatsEventName, getStatsEventColor, calibrateStatsData, getChartDomain};\n","import React, {SVGProps} from 'react';\nimport {PeriodStep} from '../../../types/PeriodStep';\nimport {always, cond, equals} from 'ramda';\nimport i18n from 'ui-i18n';\n\nconst getStepValueFormat = cond([\n [equals(PeriodStep.HOUR), always('LT')],\n [equals(PeriodStep.DAY), always('MMM D')]\n]);\n\ntype AxisTickProps = SVGProps<SVGElement> & {\n step: PeriodStep;\n payload?: {\n value: string;\n };\n};\n\nconst CustomAxisTick = ({x, y, payload, step}: AxisTickProps) => {\n return (\n <g transform={`translate(${x},${y})`}>\n <text x={0} y={0} dy={16} textAnchor=\"middle\" fill=\"#666\">\n {i18n.date(payload?.value, getStepValueFormat(step))}\n </text>\n </g>\n );\n};\n\nexport default CustomAxisTick;\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles({\n tooltipWrapper: {\n borderRadius: '4px',\n background: 'rgba(0, 0, 0, 0.54)',\n padding: '6px 8px 7px 8px',\n color: '#FFFFFF',\n '& p': {\n fontSize: '12px',\n lineHeight: '18px',\n padding: 0,\n margin: 0\n }\n },\n tooltipTitle: {\n fontWeight: 500\n },\n tooltipItemColor: {\n width: 8,\n height: 8,\n marginRight: 10,\n display: 'inline-block'\n },\n legend: {\n display: 'flex',\n flexWrap: 'wrap',\n marginLeft: '20px',\n marginTop: '10px'\n },\n legendItem: {\n display: 'flex',\n alignItems: 'baseline',\n '&:not(:last-child)': {\n marginRight: 10\n },\n width: '140px',\n marginBottom: '5px',\n fontSize: '13px',\n color: 'rgba(0, 0, 0, 0.54)'\n },\n legendItemColor: {\n width: 12,\n height: 12,\n marginRight: 10,\n flexShrink: 0,\n boxSizing: 'border-box'\n },\n legendItemValue: {\n color: 'rgba(0, 0, 0, 0.87)',\n marginLeft: '10px'\n }\n});\n","import React from 'react';\nimport {TooltipProps} from 'recharts';\nimport {PeriodStep} from '../../../types/PeriodStep';\nimport i18n from 'ui-i18n';\nimport {always, cond, equals} from 'ramda';\nimport {getStatsEventName} from '../../../services/stats';\n\nimport {useStyles} from './styles';\n\ntype Props = TooltipProps & {\n step: PeriodStep;\n events: string[];\n};\n\nconst getStepValueFormat = cond([\n [equals(PeriodStep.HOUR), always('LT MMM D')],\n [equals(PeriodStep.DAY), always('ll')]\n]);\n\nconst CustomTooltip = ({active, payload, label, step, events}: Props) => {\n const styles = useStyles();\n return (\n active && (\n <div className={styles.tooltipWrapper}>\n <p className={styles.tooltipTitle}>{i18n.date(label, getStepValueFormat(step))}</p>\n {payload\n .filter(({name}) => events.includes(name))\n .map(({color, name, value}) => {\n return (\n <p key={name}>\n <span style={{background: color}} className={styles.tooltipItemColor} />\n {`${getStatsEventName(name)}: ${value}`}\n </p>\n );\n })}\n </div>\n )\n );\n};\n\nexport default CustomTooltip;\n","import React from 'react';\nimport {LegendProps} from 'recharts';\nimport {getStatsEventName} from '../../../services/stats';\nimport {Tooltip as Tooltip} from '@material-ui/core';\nimport i18n from 'ui-i18n';\n\nimport {useStyles} from './styles';\n\ntype Props = LegendProps & {\n selectedItems: string[];\n};\n\nconst CustomLegend = ({payload, selectedItems, onClick}: Props) => {\n const styles = useStyles();\n return (\n <div className={styles.legend}>\n {payload.map(({id, color, value}) => {\n const isSelected = selectedItems.includes(id);\n return (\n <div key={id} className={styles.legendItem}>\n <Tooltip title={isSelected ? i18n.text('Hide') : i18n.text('Show')}>\n <div\n style={isSelected ? {background: color} : {border: `${color} 1px solid`}}\n className={styles.legendItemColor}\n onClick={() => onClick(id)}\n />\n </Tooltip>\n {getStatsEventName(id)}\n <span className={styles.legendItemValue}>{value}</span>\n </div>\n );\n })}\n </div>\n );\n};\n\nexport default CustomLegend;\n","import React, {useMemo, useState} from 'react';\nimport {CartesianGrid, Legend, Line, LineChart, Tooltip, XAxis, YAxis} from 'recharts';\nimport {append, ifElse, includes, pluck, without} from 'ramda';\nimport getStatsChartSettings from './getStatsChartSettings';\nimport {PeriodStep} from '../../types/PeriodStep';\nimport {StatsData} from '../../types/StatsData';\nimport {calibrateStatsData, getStatsEventColor, getChartDomain} from '../../services/stats';\nimport CustomAxisTick from './customized/CustomAxisTick';\nimport CustomTooltip from './customized/CustomTooltip';\nimport CustomLegend from './customized/CustomLegend';\n\ntype Props = {\n data: StatsData[];\n width: number;\n height: number;\n step: PeriodStep;\n};\n\nconst StatsChart = ({data, width, height, step}: Props) => {\n const [selectedEvents, setSelectedEvents] = useState<string[]>(pluck('event', data));\n const toggleEvent = (event) => {\n setSelectedEvents(ifElse(includes(event), without([event]), append(event)));\n };\n\n const [tooltipEvent, setTooltipEvent] = useState<string | null>(null);\n\n const tickCount = 8;\n const {cartesianGrid, tooltip, xAxis, yAxis, line, legend} = getStatsChartSettings();\n const chartData = useMemo(() => calibrateStatsData(step, data), [step, data]);\n const domain = useMemo(() => getChartDomain(chartData, tickCount), [chartData]);\n\n return (\n <LineChart width={width} height={height}>\n <CartesianGrid {...cartesianGrid} />\n <XAxis {...xAxis} tick={<CustomAxisTick step={step} />} />\n <YAxis {...yAxis} tickCount={tickCount} domain={domain} />\n {chartData.map(({event, data}) => {\n const isSelected = selectedEvents.includes(event);\n return (\n <Line\n key={event}\n stroke={getStatsEventColor(event)}\n name={event}\n data={data}\n dot={isSelected && {r: 5, strokeWidth: 2}}\n activeDot={\n isSelected && {\n r: 5,\n strokeWidth: 2,\n onMouseEnter: () => setTooltipEvent(event),\n onMouseLeave: () => setTooltipEvent(null)\n }\n }\n strokeOpacity={isSelected ? 1 : 0}\n {...line}\n />\n );\n })}\n <Legend\n content={<CustomLegend selectedItems={selectedEvents} onClick={toggleEvent} />}\n payload={chartData.map(({event, total}) => ({\n id: event,\n type: 'square',\n color: getStatsEventColor(event),\n value: total\n }))}\n {...legend}\n />\n <Tooltip\n {...tooltip}\n content={<CustomTooltip step={step} events={tooltipEvent ? [tooltipEvent] : selectedEvents} />}\n />\n </LineChart>\n );\n};\n\nexport default StatsChart;\n","import {CartesianGridProps, LegendProps, LineProps, TooltipProps, XAxisProps, YAxisProps} from 'recharts';\nimport {formatNumberAsMetric} from '@reltio/mdm-sdk';\n\ntype StatsChartSettings = {\n xAxis: XAxisProps;\n yAxis: YAxisProps;\n cartesianGrid: CartesianGridProps;\n tooltip: TooltipProps;\n line: LineProps;\n legend: LegendProps;\n};\n\nconst getStatsChartSettings = (): StatsChartSettings => {\n return {\n xAxis: {\n type: 'category',\n dataKey: 'term',\n tick: {\n fill: '#000',\n opacity: '0.54'\n },\n angle: 0,\n textAnchor: 'middle',\n stroke: '#666',\n allowDuplicatedCategory: false\n },\n yAxis: {\n dataKey: '',\n type: 'number',\n tick: {\n fill: '#000',\n opacity: '0.54',\n width: undefined\n },\n stroke: '#666',\n tickFormatter: formatNumberAsMetric,\n width: 50\n },\n cartesianGrid: {\n strokeDasharray: '3 3',\n stroke: '#666',\n strokeOpacity: '0.4'\n },\n tooltip: {\n cursor: {\n fill: '#000',\n opacity: '0.1'\n }\n },\n line: {\n type: 'linear',\n dataKey: 'count',\n strokeWidth: 3\n },\n legend: {\n wrapperStyle: {\n display: 'flex',\n overflowY: 'auto',\n maxHeight: '25%'\n }\n }\n };\n};\n\nexport default getStatsChartSettings;\n","import {useCallback, useEffect, useState} from 'react';\nimport {andThen, otherwise, pipe} from 'ramda';\nimport {requestStats} from '../services/stats';\nimport {StatsData} from '../types/StatsData';\nimport {DatePeriod} from '@reltio/mdm-sdk';\nimport {useSafePromise, RequestStates} from '@reltio/components';\n\nexport const useStatsRequest = (period: DatePeriod) => {\n const [data, setData] = useState<StatsData[]>([]);\n const [requestState, setRequestState] = useState<RequestStates>(RequestStates.INIT);\n const safePromise = useSafePromise();\n\n const onError = (error) => {\n console.error(error); // eslint-disable-line\n setRequestState(RequestStates.ERROR);\n setData([]);\n };\n\n const loadData = useCallback(() => {\n setRequestState(RequestStates.LOADING);\n const onRequestFinished = (data: StatsData[]) => {\n setRequestState(RequestStates.LOADED);\n setData(data);\n };\n\n const getData = pipe(requestStats, safePromise, andThen(onRequestFinished), otherwise(onError));\n getData(period);\n }, [period.toString()]); // eslint-disable-line\n\n const refreshAction = () => {\n try {\n loadData();\n } catch (e) {\n onError(e);\n }\n };\n\n useEffect(() => {\n refreshAction();\n }, [loadData]);\n\n return {state: requestState, data, reload: refreshAction};\n};\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles({\n periodSelector: {\n position: 'relative',\n margin: '0 6px 0 0',\n flexBasis: '220px',\n flexShrink: 1,\n '& input[type=\"text\"]': {\n padding: '0 0 0 8px'\n }\n }\n});\n","import React, {memo, useState} from 'react';\nimport {DashboardView, DatePeriod, DateRangeValue, getDateRangeOptions} from '@reltio/mdm-sdk';\nimport {useReloadFacet, DateRangeEditor} from '@reltio/components';\nimport LayoutItemView from '../../components/LayoutItemView/LayoutItemView';\nimport LayoutItemHeader from '../../components/LayoutItemHeader/LayoutItemHeader';\nimport LayoutItemContent from '../../components/LayoutItemContent/LayoutItemContent';\nimport StatsChart from '../../components/StatsChart/StatsChart';\nimport {useStatsRequest} from '../../hooks/useStatsRequest';\nimport {getStepForPeriod, getValuesDateRange} from '../../services/period';\n\nimport {useStyles} from './styles';\n\ntype Props = {\n config: DashboardView;\n onToggleFullscreen: (id: string) => void;\n isUpdated?: boolean;\n isFullscreen: boolean;\n onRemove?: (id: string) => void;\n};\n\nconst ProfileStatsFacet = ({config, onToggleFullscreen, isUpdated, isFullscreen, onRemove}: Props) => {\n const styles = useStyles();\n\n const {id, title} = config;\n const [period, setPeriod] = useState<DatePeriod>(DateRangeValue.LAST_WEEK);\n const {state, data, reload} = useStatsRequest(period);\n\n useReloadFacet({state, reload});\n\n return (\n <LayoutItemView id={id}>\n <LayoutItemHeader\n title={title}\n onToggleFullscreen={onToggleFullscreen}\n isUpdated={isUpdated}\n isFullscreen={isFullscreen}\n onRefresh={reload}\n onRemove={onRemove}\n >\n <DateRangeEditor\n values={period}\n options={getDateRangeOptions()}\n getValuesDateRange={getValuesDateRange}\n onChange={setPeriod}\n className={styles.periodSelector}\n />\n </LayoutItemHeader>\n <LayoutItemContent loadingState={state} onRefresh={reload} data={data}>\n {({data, width, height}) => {\n return <StatsChart data={data} width={width} height={height} step={getStepForPeriod(period)} />;\n }}\n </LayoutItemContent>\n </LayoutItemView>\n );\n};\n\nexport default memo(ProfileStatsFacet);\n","import {\n getEntityType,\n getInheritancePath,\n getLastUriPart,\n isAvailableEntityType,\n Metadata,\n wrapInArrayIfNeeded\n} from '@reltio/mdm-sdk';\nimport {curry, filter, last, map, pipe, prop, either} from 'ramda';\nimport {ChartData} from '@reltio/components';\nimport {createEntityTypeFilter} from './filters';\n\nconst typeNameToUri = (typeName: string): string => `configuration/entityTypes/${typeName}`;\nconst getUriFromTypeFacet = pipe(prop('group'), typeNameToUri);\n\nexport const resolveTypeFacetsLabels = curry((metadata: Metadata, typeFacets: ChartData[]): ChartData[] => {\n return typeFacets.map((facet) => {\n const typeUri = getUriFromTypeFacet(facet);\n return {\n ...facet,\n label: getEntityType(metadata, typeUri).label\n };\n });\n});\n\nexport const getParentEntityTypeFacets = curry((metadata: Metadata, typeFacets: ChartData[]): ChartData[] => {\n const getParentTypeForFacet = pipe(\n getUriFromTypeFacet,\n getInheritancePath(metadata),\n map(getEntityType(metadata)),\n filter(isAvailableEntityType),\n last\n );\n const parentsMap = typeFacets.reduce((acc, facet) => {\n const parentType = getParentTypeForFacet(facet);\n if (parentType) {\n const parentName = getLastUriPart(parentType.uri);\n return {\n ...acc,\n [parentName]: (acc[parentName] || 0) + facet.value\n };\n } else {\n return acc;\n }\n }, {});\n return Object.entries(parentsMap).map(([key, value]) => ({\n group: key,\n label: key,\n value\n })) as ChartData[];\n});\n\nexport const entityTypeNameToFilters = pipe(typeNameToUri, createEntityTypeFilter, wrapInArrayIfNeeded);\n\nconst getEntityTypeName = pipe(prop('uri'), getLastUriPart);\n\nconst findTypeFacetByName = curry(\n (typeFacets: ChartData[], name: string): ChartData => {\n return typeFacets.find((facet) => facet.group === name);\n }\n);\n\nconst createEmptyEntityTypeFacet = (name: string): ChartData => ({label: name, group: name, value: 0});\n\nexport const addEmptyEntityTypesFacets = curry(({entityTypes}: Metadata, typeFacets: ChartData[]): ChartData[] => {\n const getFacet = pipe(getEntityTypeName, either(findTypeFacetByName(typeFacets), createEmptyEntityTypeFacet));\n return entityTypes.filter(isAvailableEntityType).map(getFacet);\n});\n","import {useEffect, useState, useCallback} from 'react';\nimport {useSelector} from 'react-redux';\nimport mdmModule from '@reltio/mdm-module';\nimport {pipe, andThen, otherwise, when, always, unless} from 'ramda';\nimport {requestFacets, localizeFacetValues} from '../services/facets';\nimport {ChartData, RequestStates} from '@reltio/components';\nimport {GlobalSearchRequestOptions, SearchOptions} from '../types/SearchOptions';\nimport {addEmptyEntityTypesFacets, getParentEntityTypeFacets, resolveTypeFacetsLabels} from '../services/entityTypes';\n\ntype Props = {\n hideEmpty?: boolean;\n orderType?: string;\n inheritChildren?: boolean;\n};\n\nconst filters = [];\n\nexport const useEntityByTypeRequest = ({orderType, inheritChildren, hideEmpty}: Props) => {\n const [data, setData] = useState<ChartData[]>([]);\n const [requestState, setRequestState] = useState<RequestStates>(RequestStates.INIT);\n const metadata: Record<string, any> = useSelector(mdmModule.selectors.getMetadata);\n const pageSize = metadata.entityTypes.length;\n const {globalFilter, activityFilter}: GlobalSearchRequestOptions = useSelector(\n mdmModule.selectors.getGlobalSearchRequestOptions\n );\n\n const searchOptions: SearchOptions = useSelector(mdmModule.selectors.getSearchOptions);\n const searchByOv: boolean = searchOptions && searchOptions.searchByOv;\n const onError = (error) => {\n console.error(error); // eslint-disable-line\n setRequestState(RequestStates.ERROR);\n setData([]);\n };\n\n const loadData = useCallback(() => {\n setRequestState(RequestStates.LOADING);\n const onRequestFinished = (data: ChartData[]) => {\n setRequestState(RequestStates.LOADED);\n setData(data);\n };\n\n const getData = pipe(\n requestFacets,\n andThen(unless(always(hideEmpty), addEmptyEntityTypesFacets(metadata))),\n andThen(when(always(inheritChildren), getParentEntityTypeFacets(metadata))),\n andThen(resolveTypeFacetsLabels(metadata)),\n andThen(localizeFacetValues),\n andThen(onRequestFinished),\n otherwise(onError)\n );\n\n getData({attribute: 'type', pageSize, filters, globalFilter, searchByOv, activityFilter, orderType});\n }, [hideEmpty, metadata, inheritChildren, pageSize, globalFilter, searchByOv, activityFilter, orderType]);\n\n const refreshAction = () => {\n try {\n loadData();\n } catch (e) {\n onError(e);\n }\n };\n\n useEffect(() => {\n refreshAction();\n }, [loadData]);\n\n return {state: requestState, data, reload: refreshAction};\n};\n","import React, {memo} from 'react';\nimport {useDispatch, useSelector} from 'react-redux';\nimport {TreeChart, useReloadFacet} from '@reltio/components';\nimport {useEntityByTypeRequest} from '../../hooks/useEntityByTypeRequest';\nimport LayoutItemView from '../../components/LayoutItemView/LayoutItemView';\nimport LayoutItemHeader from '../../components/LayoutItemHeader/LayoutItemHeader';\nimport LayoutItemContent from '../../components/LayoutItemContent/LayoutItemContent';\nimport {EntityByTypeViewFacetConfig} from '../../types/EntityByTypeViewFacetConfig';\nimport {entityTypeNameToFilters} from '../../services/entityTypes';\nimport {facetFiltersToSearchState} from '../../services/facets';\nimport mdmModule, {ui} from '@reltio/mdm-module';\nimport {pipe} from 'ramda';\n\ntype Props = {\n config: EntityByTypeViewFacetConfig;\n onToggleFullscreen: (id: string) => void;\n isUpdated?: boolean;\n isFullscreen: boolean;\n onRemove?: (id: string) => void;\n};\n\nconst EntitiesByTypeViewFacet = ({config, onToggleFullscreen, isUpdated, isFullscreen, onRemove}: Props) => {\n const {id, title, hideEmpty, orderType, inheritChildren} = config;\n const {data, state, reload} = useEntityByTypeRequest({\n hideEmpty,\n orderType,\n inheritChildren\n });\n\n useReloadFacet({state, reload});\n\n const dispatch = useDispatch();\n const metadata = useSelector(mdmModule.selectors.getMetadata);\n const onTypeClick = pipe(\n entityTypeNameToFilters,\n facetFiltersToSearchState(metadata, 'type'),\n ui.actions.openSearch,\n dispatch\n );\n\n return (\n <LayoutItemView id={id}>\n <LayoutItemHeader\n title={title}\n onToggleFullscreen={onToggleFullscreen}\n isUpdated={isUpdated}\n isFullscreen={isFullscreen}\n onRefresh={reload}\n onRemove={onRemove}\n />\n <LayoutItemContent loadingState={state} onRefresh={reload} data={data}>\n {({data, width, height}) => {\n return <TreeChart width={width} height={height} data={data} onItemClick={onTypeClick} />;\n }}\n </LayoutItemContent>\n </LayoutItemView>\n );\n};\n\nexport default memo(EntitiesByTypeViewFacet);\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles(() => ({\n viewContent: {\n height: '100%',\n overflow: 'hidden',\n position: 'relative',\n padding: '0 16px 16px'\n },\n iframe: {\n borderWidth: 0,\n width: '100%',\n height: '100%'\n },\n tasksSelector: {\n position: 'relative',\n margin: '0 6px 0 0',\n flexBasis: '220px',\n flexShrink: 1\n },\n tasksSelectorInput: {\n fontSize: '14px',\n lineHeight: '16px',\n padding: '12px 32px 10px 12px'\n },\n pagination: {\n height: '52px',\n flexGrow: 0,\n flexShrink: 0\n }\n}));\n","import React, {memo} from 'react';\nimport {CustomActionViewFacetConfig} from '../../types/CustomActionViewFacetConfig';\nimport LayoutItemView from '../../components/LayoutItemView/LayoutItemView';\nimport LayoutItemHeader from '../../components/LayoutItemHeader/LayoutItemHeader';\nimport {BasicViewContent} from '@reltio/components';\nimport {useStyles} from './styles';\n\ntype Props = {\n config: CustomActionViewFacetConfig;\n onToggleFullscreen: (id: string) => void;\n isUpdated?: boolean;\n isFullscreen: boolean;\n onRemove?: (id: string) => void;\n};\n\nconst CustomActionViewFacet = ({config, onToggleFullscreen, isUpdated, isFullscreen, onRemove}: Props) => {\n const {id, title, url} = config;\n const styles = useStyles();\n\n return (\n <LayoutItemView id={id}>\n <LayoutItemHeader\n title={title}\n onToggleFullscreen={onToggleFullscreen}\n isUpdated={isUpdated}\n isFullscreen={isFullscreen}\n onRemove={onRemove}\n />\n <BasicViewContent className={styles.viewContent}>\n <iframe src={url} frameBorder=\"0\" className={styles.iframe} />\n </BasicViewContent>\n </LayoutItemView>\n );\n};\n\nexport default memo(CustomActionViewFacet);\n","import {WorkflowTaskData} from '@reltio/mdm-sdk';\n\nexport enum WorkflowTasksCategories {\n MY = 'my',\n TEAM = 'team'\n}\n\ntype WorkflowTaskEntityData = {\n uri: string;\n label: string;\n type: string;\n};\ntype WorkflowTaskRelationData = {\n uri: string;\n type: string;\n startObjectUri: string;\n endObjectUri: string;\n startObjectLabel: string;\n endObjectLabel: string;\n};\n\nexport type WorkflowTaskObjectData = WorkflowTaskEntityData | WorkflowTaskRelationData;\n\nexport type EnrichedWorkflowTaskData = WorkflowTaskData & {\n objects?: WorkflowTaskObjectData[];\n};\n","import {\n always,\n cond,\n converge,\n curry,\n descend,\n equals,\n filter,\n head,\n isNil,\n keys,\n map,\n otherwise,\n path,\n pipe,\n prop,\n propEq,\n propOr,\n reject,\n sort,\n startsWith,\n T,\n when,\n complement,\n isEmpty\n} from 'ramda';\nimport {WorkflowTasksCategories} from '../types/WorkflowTasks';\nimport {\n getDataChangeRequest,\n getEntitiesByUris,\n getGroupTasksForTenant,\n getTasksForTenant,\n isEntityUri,\n WorkflowTaskData\n} from '@reltio/mdm-sdk';\n\nconst getTasksByCategory = cond([\n [equals(WorkflowTasksCategories.MY), always(getTasksForTenant)],\n [equals(WorkflowTasksCategories.TEAM), always(getGroupTasksForTenant)],\n [T, always(() => Promise.resolve({data: []}))]\n]);\n\nconst getFirstObjectUri = pipe(propOr([], 'objectURIs'), head);\nconst isDCRObjectUri = startsWith('changeRequests/');\n\nconst notEmpty = complement(isEmpty);\n\nconst getEntities = pipe(map(getFirstObjectUri), filter(isEntityUri), when(notEmpty, getEntitiesByUris));\n\nconst getChangeRequests = pipe(\n map(getFirstObjectUri),\n filter(isDCRObjectUri),\n map(pipe(getDataChangeRequest, otherwise(always(null)))),\n (requests) => Promise.all(requests)\n);\n\nconst getTaskObjectsData = converge((...requests) => Promise.all(requests), [getEntities, getChangeRequests]);\n\nconst enrichTaskWithEntity = (entities) => (task) => {\n const entity = entities.find(propEq('uri', getFirstObjectUri(task)));\n return entity\n ? {\n ...task,\n objects: [entity]\n }\n : task;\n};\n\nconst extractObjectsFromChangeRequest = ({objectsInfo = {}, changes = {}, uri}) => {\n const getChange = (key) => path([key, 0], changes);\n const getUri = (key) => {\n const {type} = getChange(key);\n if (type == 'CREATE_ENTITY' || type == 'CREATE_RELATIONSHIP') {\n return uri + '/changes/' + key;\n } else {\n return key;\n }\n };\n return pipe(\n keys,\n filter(getChange),\n sort(descend(pipe(getChange, prop('createdTime')))),\n map((key) => ({...objectsInfo[key], uri: getUri(key)}))\n )(objectsInfo);\n};\n\nconst enrichTaskWithDCRObjects = (changeRequests) => (task) => {\n const changeRequest = changeRequests.find(propEq('uri', getFirstObjectUri(task)));\n return changeRequest\n ? {\n ...task,\n objects: extractObjectsFromChangeRequest(changeRequest)\n }\n : task;\n};\n\nconst enrichTasksWithObjectsData = (entities, changeRequests, tasks) => {\n changeRequests = reject(isNil, changeRequests);\n return tasks.map(\n pipe(\n when(pipe(getFirstObjectUri, isEntityUri), enrichTaskWithEntity(entities)),\n when(pipe(getFirstObjectUri, isDCRObjectUri), enrichTaskWithDCRObjects(changeRequests))\n )\n );\n};\n\nexport const requestWorkflowTasks = curry(\n async (tasksCategory, {workflowPath, environment, tenant, assignee, max, offset}) => {\n const getTasks = getTasksByCategory(tasksCategory);\n const {data, total} = await getTasks({workflowPath, environment, tenant, assignee, max, offset});\n const [entities, changeRequests] = await getTaskObjectsData(data);\n return {data: enrichTasksWithObjectsData(entities, changeRequests, data), total};\n }\n);\n\nexport const isOverdueTask = (task: WorkflowTaskData) => task.dueDate && task.dueDate < Date.now();\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles((theme) => ({\n taskItem: {\n flex: 1,\n display: 'flex',\n padding: '15px',\n color: theme.palette.text.primary,\n '&.Low': {\n borderLeft: '#F7F7F7 solid 3px'\n },\n '&.Medium': {\n borderLeft: '#F7DE03 solid 3px'\n },\n '&.High': {\n borderLeft: '#FF9800 solid 3px'\n },\n '&.Urgent': {\n borderLeft: '#F44336 solid 3px'\n }\n },\n taskInfo: {\n flex: 1,\n padding: '0 15px',\n overflow: 'hidden',\n overflowWrap: 'anywhere'\n },\n taskTitle: {\n lineHeight: '18px',\n marginBottom: '6px'\n },\n taskDetail: {\n lineHeight: '15px',\n fontSize: '12px',\n margin: '5px 0'\n },\n taskDetailTitle: {\n color: theme.palette.text.secondary,\n marginRight: '3px'\n },\n taskDueDate: {\n flex: '0 0 110px',\n fontSize: '13px',\n lineHeight: '15px',\n textAlign: 'right',\n paddingTop: '6px'\n },\n flag: {\n height: '14px',\n width: '14px',\n stroke: 'rgba(0,0,0,.54)',\n fill: 'none',\n verticalAlign: 'text-top',\n marginRight: '5px'\n },\n overdue: {\n '&$taskDueDate': {\n color: '#f44336'\n },\n '& $flag': {\n stroke: '#f44336',\n fill: '#f44336'\n }\n },\n entityLabel: {\n color: theme.palette.primary.main,\n textDecoration: 'none',\n fontSize: '13px',\n lineHeight: '15px'\n },\n hidden: {\n visibility: 'hidden'\n }\n}));\n","import React from 'react';\nimport {EnrichedWorkflowTaskData, WorkflowTaskObjectData} from '../../types/WorkflowTasks';\nimport {EntityUriLink} from '@reltio/components';\nimport {getEntityUriForLink, getLabel, getRelationType, Metadata, PredefinedWorkflowProcessType} from '@reltio/mdm-sdk';\nimport i18n from 'ui-i18n';\nimport {useStyles} from './styles';\n\ntype Props = {\n object: WorkflowTaskObjectData;\n metadata: Metadata;\n processType: EnrichedWorkflowTaskData['processType'];\n};\n\nconst EntityLink = ({uri, label, screen}: {uri: string; label: string; screen?: string}) => {\n const styles = useStyles();\n return (\n <EntityUriLink value={uri} screen={screen} className={styles.entityLabel}>\n {getLabel(label)}\n </EntityUriLink>\n );\n};\n\nconst WorkflowTaskObject = ({object, metadata, processType}: Props) => {\n if ('startObjectUri' in object && 'endObjectUri' in object) {\n const relationType = getRelationType(metadata, object.type);\n return (\n <>\n {relationType.label} {i18n.text('from')}{' '}\n <EntityLink uri={object.startObjectUri} label={object.startObjectLabel} /> {i18n.text('to')}{' '}\n <EntityLink uri={object.endObjectUri} label={object.endObjectLabel} />\n </>\n );\n } else {\n return (\n <EntityLink\n uri={getEntityUriForLink(object)}\n label={object.label}\n screen={\n processType === PredefinedWorkflowProcessType.potentialMatchReview ? 'potentialMatches' : 'profile'\n }\n />\n );\n }\n};\n\nexport default WorkflowTaskObject;\n","import React from 'react';\nimport {useSelector} from 'react-redux';\nimport i18n from 'ui-i18n';\nimport classnames from 'classnames';\nimport {EntityTypeIcon} from '@reltio/components';\nimport mdmModule from '@reltio/mdm-module';\nimport {getEntityType} from '@reltio/mdm-sdk';\nimport FlagIcon from '@material-ui/icons/Flag';\nimport {Typography as Typography} from '@material-ui/core';\nimport {EnrichedWorkflowTaskData} from '../../types';\nimport {isOverdueTask} from '../../services/workflowTasks';\nimport WorkflowTaskObject from './WorkflowTaskObject';\nimport {useStyles} from './styles';\n\ntype Props = {\n showAssignee: boolean;\n task: EnrichedWorkflowTaskData;\n};\n\nconst WorkflowTaskItem = ({task, showAssignee}: Props) => {\n const styles = useStyles();\n const objects = task.objects || [];\n const [firstObject] = objects;\n const metadata = useSelector(mdmModule.selectors.getMetadata);\n const entityType = firstObject && getEntityType(metadata, firstObject.type);\n\n return (\n <div className={classnames(styles.taskItem, task.priorityClass)}>\n <EntityTypeIcon entityType={entityType} />\n <div className={styles.taskInfo}>\n <Typography className={styles.taskTitle} variant={'subtitle1'}>\n {task.processDefinitionDisplayName}\n </Typography>\n {objects.map((object) => (\n <p key={object.uri} className={styles.taskDetail}>\n <WorkflowTaskObject object={object} processType={task.processType} metadata={metadata} />\n </p>\n ))}\n <p className={styles.taskDetail}>\n <span className={styles.taskDetailTitle}>{i18n.text('Created by:')}</span>\n {task.createdBy} {i18n.text('on')} {i18n.date(task.createTime, 'L')}\n </p>\n {showAssignee && task.assignee && (\n <p className={styles.taskDetail}>\n <span className={styles.taskDetailTitle}>{i18n.text('Assigned to:')}</span>\n {task.assignee}\n </p>\n )}\n <p className={styles.taskDetail}>\n <span className={styles.taskDetailTitle}>{i18n.text('Step:')}</span>\n {task.displayName}\n </p>\n </div>\n <div\n className={classnames(styles.taskDueDate, {\n [styles.overdue]: isOverdueTask(task),\n [styles.hidden]: !task.dueDate\n })}\n >\n <FlagIcon className={styles.flag} />\n {i18n.date(task.dueDate, 'L')}\n </div>\n </div>\n );\n};\n\nexport default WorkflowTaskItem;\n","import React, {useCallback} from 'react';\nimport {WorkflowTasksCategories, EnrichedWorkflowTaskData} from '../../types/WorkflowTasks';\nimport {AutoSizeList} from '@reltio/components';\nimport WorkflowTaskItem from '../WorkflowTaskItem/WorkflowTaskItem';\nimport {Divider as Divider} from '@material-ui/core';\n\ntype Props = {\n width: number;\n height: number;\n tasksCategory: WorkflowTasksCategories;\n tasks: EnrichedWorkflowTaskData[];\n};\n\nconst WorkflowTasksList = ({width, height, tasksCategory, tasks}: Props) => {\n const renderRow = useCallback(\n ({data, index}: {data: EnrichedWorkflowTaskData[]; index: number}) => {\n return (\n <div>\n <WorkflowTaskItem task={data[index]} showAssignee={tasksCategory !== WorkflowTasksCategories.MY} />\n <Divider light={true} variant={'inset'} />\n </div>\n );\n },\n [tasksCategory]\n );\n\n return (\n <AutoSizeList width={width} height={height} data={tasks} defaultItemSize={115}>\n {renderRow}\n </AutoSizeList>\n );\n};\n\nexport default WorkflowTasksList;\n","import React, {memo, useMemo, useState} from 'react';\nimport {WorkflowInboxFacetConfig} from '@reltio/mdm-sdk';\nimport LayoutItemView from '../../components/LayoutItemView/LayoutItemView';\nimport LayoutItemHeader from '../../components/LayoutItemHeader/LayoutItemHeader';\nimport LayoutItemContent from '../../components/LayoutItemContent/LayoutItemContent';\nimport WorkflowTasksList from '../../components/WorkflowTasksList/WorkflowTasksList';\nimport {Select as Select} from '@material-ui/core';\nimport {MenuItem as MenuItem} from '@material-ui/core';\nimport {WorkflowTasksCategories} from '../../types/WorkflowTasks';\nimport {useWorkflowTasksRequest} from '../../hooks/useWorkflowTasksRequest';\nimport {pipe} from 'ramda';\nimport {BasicTablePagination, getValue, useReloadFacet} from '@reltio/components';\nimport i18n from 'ui-i18n';\n\nimport {useStyles} from './styles';\n\ntype Props = {\n config: WorkflowInboxFacetConfig;\n onToggleFullscreen: (id: string) => void;\n isUpdated?: boolean;\n isFullscreen: boolean;\n onRemove?: (id: string) => void;\n};\n\nconst NotificationInboxFacet = ({config, onToggleFullscreen, isUpdated, isFullscreen, onRemove}: Props) => {\n const styles = useStyles();\n\n const {id, title, pageSize} = config;\n const [page, setPage] = useState(0);\n const [rowsPerPage, setRowsPerPage] = useState(pageSize || 10);\n const [tasksCategory, setTasksCategory] = useState<WorkflowTasksCategories>(WorkflowTasksCategories.MY);\n\n const options = useMemo(\n () => ({tasksCategory, max: rowsPerPage, offset: rowsPerPage * page}),\n [rowsPerPage, page, tasksCategory]\n );\n const {state, data, total, reload} = useWorkflowTasksRequest(options);\n\n useReloadFacet({state, reload});\n\n return (\n <LayoutItemView id={id}>\n <LayoutItemHeader\n title={title}\n onToggleFullscreen={onToggleFullscreen}\n isUpdated={isUpdated}\n isFullscreen={isFullscreen}\n onRemove={onRemove}\n onRefresh={reload}\n >\n <Select\n className={styles.tasksSelector}\n classes={{\n root: styles.tasksSelectorInput\n }}\n variant={'filled'}\n value={tasksCategory}\n onChange={pipe(getValue, setTasksCategory)}\n >\n <MenuItem value={WorkflowTasksCategories.MY}>{i18n.text('My tasks')}</MenuItem>\n <MenuItem value={WorkflowTasksCategories.TEAM}>{i18n.text('Team tasks')}</MenuItem>\n </Select>\n </LayoutItemHeader>\n <LayoutItemContent loadingState={state} onRefresh={reload} data={data}>\n {({data, width, height}) => {\n return (\n <WorkflowTasksList width={width} height={height} tasksCategory={tasksCategory} tasks={data} />\n );\n }}\n </LayoutItemContent>\n {total > (pageSize || 10) && (\n <div className={styles.pagination}>\n <BasicTablePagination\n count={total}\n rowsPerPage={rowsPerPage}\n page={page}\n onChangePage={setPage}\n onChangeRowsPerPage={setRowsPerPage}\n />\n </div>\n )}\n </LayoutItemView>\n );\n};\n\nexport default memo(NotificationInboxFacet);\n","import {useCallback, useEffect, useMemo, useState} from 'react';\nimport {useSelector} from 'react-redux';\nimport {andThen, otherwise, pipe, pick} from 'ramda';\nimport mdmModule from '@reltio/mdm-module';\nimport {useSafePromise, RequestStates} from '@reltio/components';\nimport {EnrichedWorkflowTaskData, WorkflowTasksCategories} from '../types/WorkflowTasks';\n\nimport {requestWorkflowTasks} from '../services/workflowTasks';\n\ntype Options = {\n tasksCategory: WorkflowTasksCategories;\n max?: number;\n offset?: number;\n};\n\nexport const useWorkflowTasksRequest = (options: Options) => {\n const {tasksCategory} = options;\n const requestParams = useMemo(() => pick(['max', 'offset'], options), [options]);\n const [data, setData] = useState<EnrichedWorkflowTaskData[]>([]);\n const [requestState, setRequestState] = useState<RequestStates>(RequestStates.INIT);\n const [total, setTotal] = useState<number>();\n const workflowPath = useSelector(mdmModule.selectors.getWorkflowPath);\n const environment = useSelector(mdmModule.selectors.getWorkflowEnvironmentUrl);\n const tenant = useSelector(mdmModule.selectors.getTenant);\n const userName = useSelector(mdmModule.selectors.getUserName);\n\n const assignee = tasksCategory === WorkflowTasksCategories.MY ? userName : undefined;\n const safePromise = useSafePromise();\n\n const onError = (error) => {\n console.error(error); // eslint-disable-line\n setRequestState(RequestStates.ERROR);\n setData([]);\n };\n\n const loadData = useCallback(() => {\n setRequestState(RequestStates.LOADING);\n const onRequestFinished = ({data, total}: {data: EnrichedWorkflowTaskData[]; total?: number}) => {\n setRequestState(RequestStates.LOADED);\n setData(data);\n setTotal(total);\n };\n\n const getData = pipe(\n requestWorkflowTasks(tasksCategory),\n safePromise,\n andThen(onRequestFinished),\n otherwise(onError)\n );\n getData({workflowPath, environment, tenant, assignee, ...requestParams});\n }, [workflowPath, environment, tenant, tasksCategory, requestParams]); // eslint-disable-line\n\n const refreshAction = () => {\n try {\n loadData();\n } catch (e) {\n onError(e);\n }\n };\n\n useEffect(() => {\n refreshAction();\n }, [loadData]);\n\n return {state: requestState, data, reload: refreshAction, total};\n};\n","import {useCallback, useEffect, useState} from 'react';\nimport {andThen, otherwise, pipe} from 'ramda';\nimport {ActivitiesFilter, ActivityData, useActivitiesLoader, useSafePromise, RequestStates} from '@reltio/components';\n\ntype Props = {\n filter: ActivitiesFilter;\n max: number;\n offset: number;\n};\n\nexport const useActivitiesRequest = ({filter, max, offset}: Props) => {\n const [data, setData] = useState<ActivityData[]>([]);\n const [total, setTotal] = useState(0);\n const [requestState, setRequestState] = useState<RequestStates>(RequestStates.INIT);\n const safePromise = useSafePromise();\n\n const onError = (error) => {\n console.error(error); // eslint-disable-line\n setRequestState(RequestStates.ERROR);\n setData([]);\n setTotal(0);\n };\n const getActivities = useActivitiesLoader({filter, max, offset});\n\n const loadData = useCallback(() => {\n setRequestState(RequestStates.LOADING);\n const onRequestFinished = ({data, total}: {data: ActivityData[]; total: number}) => {\n setData(data);\n setTotal(total);\n setRequestState(RequestStates.LOADED);\n };\n\n const getData = pipe(getActivities, safePromise, andThen(onRequestFinished), otherwise(onError));\n getData();\n }, [getActivities]); // eslint-disable-line\n\n const refreshAction = () => {\n try {\n loadData();\n } catch (e) {\n onError(e);\n }\n };\n\n useEffect(() => {\n refreshAction();\n }, [loadData]);\n\n return {state: requestState, data, total, reload: refreshAction};\n};\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles(() => ({\n activityLogFilter: {\n padding: '0 9px'\n }\n}));\n","import React, {memo, useCallback, useMemo, useState} from 'react';\n\nimport {ActivitiesViewFacetConfig} from '../../types/ActivitiesViewFacetConfig';\nimport LayoutItemView from '../../components/LayoutItemView/LayoutItemView';\nimport LayoutItemHeader from '../../components/LayoutItemHeader/LayoutItemHeader';\nimport LayoutItemContent from '../../components/LayoutItemContent/LayoutItemContent';\nimport {ActivitiesFilter, ActivityLog, ActivityLogFilter, DateRangeTypes, useReloadFacet} from '@reltio/components';\nimport {DEFAULT_ROWS_PER_PAGE, getRowsPerPageOptions} from './helpers';\nimport {useActivitiesRequest} from '../../hooks/useActivitiesRequest';\nimport {useStyles} from './styles';\n\ntype Props = {\n config: ActivitiesViewFacetConfig;\n onToggleFullscreen: (id: string) => void;\n isUpdated?: boolean;\n isFullscreen: boolean;\n onRemove?: (id: string) => void;\n};\n\nconst ActivitiesViewFacet = ({config, isUpdated, isFullscreen, onToggleFullscreen, onRemove}: Props) => {\n const {id, title, exportTypes} = config;\n const styles = useStyles();\n\n const [page, setPage] = useState(0);\n const [rowsPerPage, setRowsPerPage] = useState(DEFAULT_ROWS_PER_PAGE);\n const rowsPerPageOptions = useMemo(() => getRowsPerPageOptions(DEFAULT_ROWS_PER_PAGE), []);\n const [filter, setFilter] = useState<ActivitiesFilter>({\n users: [],\n activities: [],\n dateRange: {\n type: DateRangeTypes.WITHIN,\n period: [4, 'months']\n }\n });\n const {state, data, total, reload} = useActivitiesRequest({filter, max: rowsPerPage, offset: page * rowsPerPage});\n\n const handleFilterChange = useCallback((value: ActivitiesFilter) => {\n setFilter(value);\n setPage(0);\n }, []);\n\n useReloadFacet({state, reload});\n\n return (\n <LayoutItemView id={id}>\n <LayoutItemHeader\n title={title}\n onToggleFullscreen={onToggleFullscreen}\n isUpdated={isUpdated}\n isFullscreen={isFullscreen}\n onRemove={onRemove}\n onRefresh={reload}\n />\n <div className={styles.activityLogFilter}>\n <ActivityLogFilter value={filter} onChange={handleFilterChange} exportTypes={exportTypes} />\n </div>\n <LayoutItemContent loadingState={state} onRefresh={reload} data={data}>\n {({data, width, height}) => {\n return (\n <ActivityLog\n width={width}\n height={height}\n activities={data}\n count={total}\n page={page}\n onChangePage={setPage}\n rowsPerPage={rowsPerPage}\n onChangeRowsPerPage={setRowsPerPage}\n rowsPerPageOptions={rowsPerPageOptions}\n />\n );\n }}\n </LayoutItemContent>\n </LayoutItemView>\n );\n};\n\nexport default memo(ActivitiesViewFacet);\n","import React from 'react';\nimport FilteredSavedSearchesFacet from './tableBased/FilteredSavedSearchesFacet';\nimport DashboardFacet from './chartBased/DashboardFacet';\nimport FilteredEntitiesViewFacet from './tableBased/FilteredEntitiesViewFacet';\nimport ProfileStatsFacet from './chartBased/ProfileStatsFacet';\nimport EntitiesByTypeViewFacet from './chartBased/EntitiesByTypeViewFacet';\nimport CustomActionViewFacet from './custom/CustomActionViewFacet';\nimport {ChartTypes, DashboardFacetConfig, DashboardView, DashboardViewTypes} from '@reltio/mdm-sdk';\nimport NotificationInboxFacet from './custom/NotificationInboxFacet';\nimport ActivitiesViewFacet from './tableBased/ActivitiesViewFacet';\nimport {\n ActivitiesViewFacetConfig,\n CustomActionViewFacetConfig,\n EntityByTypeViewFacetConfig,\n FilteredSavedSearchesFacetConfig,\n FilteredEntitiesFacetConfig\n} from '../types';\n\ntype Props = {\n config:\n | ActivitiesViewFacetConfig\n | CustomActionViewFacetConfig\n | DashboardFacetConfig\n | EntityByTypeViewFacetConfig\n | FilteredEntitiesFacetConfig\n | FilteredSavedSearchesFacetConfig\n | DashboardView;\n type: string;\n onToggleFullscreen: (id: string) => void;\n isUpdated?: boolean;\n isFullscreen: boolean;\n onRemove?: (id: string) => void;\n};\nclass ViewsFactory {\n static ViewTypes = DashboardViewTypes;\n\n static getComponent = ({config, type, isUpdated, isFullscreen, onToggleFullscreen, onRemove}: Props) => {\n const props = {\n isUpdated,\n isFullscreen,\n onToggleFullscreen,\n onRemove\n };\n switch (type) {\n case ViewsFactory.ViewTypes.ActivitiesViewFacet:\n return <ActivitiesViewFacet config={config} {...props} />;\n case ViewsFactory.ViewTypes.CustomActionViewFacet:\n return <CustomActionViewFacet config={config as CustomActionViewFacetConfig} {...props} />;\n case ViewsFactory.ViewTypes.DashboardFacet:\n return <DashboardFacet config={config as DashboardFacetConfig} {...props} />;\n case ViewsFactory.ViewTypes.EntitiesByTypeViewFacet:\n return <EntitiesByTypeViewFacet config={config as EntityByTypeViewFacetConfig} {...props} />;\n case ViewsFactory.ViewTypes.FilteredSavedSearchesFacet:\n return <FilteredSavedSearchesFacet config={config} {...props} />;\n case ViewsFactory.ViewTypes.FilteredEntitiesViewFacet:\n return <FilteredEntitiesViewFacet config={config} {...props} />;\n case ViewsFactory.ViewTypes.NotificationInboxFacet:\n return <NotificationInboxFacet config={config} {...props} />;\n case ViewsFactory.ViewTypes.ProfileStatsFacet:\n return <ProfileStatsFacet config={config} {...props} />;\n default:\n return <div>NOT IMPLEMENTED</div>;\n }\n };\n\n static getChartType = (view: DashboardView & {chartType?: string}): string => {\n const typeConverters = {\n [ViewsFactory.ViewTypes.EntitiesByTypeViewFacet]: ChartTypes.TREE,\n [ViewsFactory.ViewTypes.FilteredSavedSearchesFacet]: ChartTypes.TABLE,\n [ViewsFactory.ViewTypes.FilteredEntitiesViewFacet]: ChartTypes.TABLE,\n [ViewsFactory.ViewTypes.ProfileStatsFacet]: ChartTypes.LINE,\n [ViewsFactory.ViewTypes.NotificationInboxFacet]: ChartTypes.TABLE,\n [ViewsFactory.ViewTypes.ActivitiesViewFacet]: ChartTypes.TABLE\n };\n return view.chartType || typeConverters[view.component];\n };\n}\n\nexport default ViewsFactory;\n"],"names":["props","width","height","viewBox","xmlns","d","fill","stroke","strokeWidth","fillRule","x","y","rx","useStyles","makeStyles","container","paddingLeft","listItem","paddingTop","paddingBottom","transition","background","outline","listItemFocus","icon","opacity","flexShrink","marginRight","marginLeft","recommendedIcon","logoIcon","itemAfter","position","right","top","pointerEvents","itemText","padding","margin","fontSize","letterSpacing","whiteSpace","checkbox","checked","marginWrapper","display","alignItems","defaultCursor","cursor","itemTooltip","marginText","itemTextWrapper","attrType","styles","Icon","type","DataTypes","NestedAttrIcon","ReferenceAttrIcon","SimpleAttrIcon","getIconForAttrType","className","RecommendedIconWithTooltip","withTooltip","transform","cx","cy","r","memo","groupId","data","isFocused","isRequired","label","labelInText","level","onClick","noop","hideCheckBox","hideIcon","notSelectable","disableHorizontalScrollbar","style","subItemMargin","LogoIcon","isButton","isNested","showLogoIcon","ExpandedValueTooltip","value","placement","ListItem","classnames","undefined","dense","button","classes","focusVisible","selected","tabIndex","Checkbox","disableRipple","disabled","Marginator","tooltipTitle","i18n","showForDisabled","renderIcon","ListItemText","primary","RequiredMark","contextSelector","CellRenderer","withContext","TableContext","pagination","justifyContent","borderTop","boxShadow","caption","color","lineHeight","selectRoot","select","textAlign","actions","BasicTablePagination","count","rowsPerPageOptions","page","onChangePage","rowsPerPage","onChangeRowsPerPage","basicTableRef","labelRowsPerPage","resetScrollbarPosition","useCallback","pathOr","identity","handleChangePage","handleChangeRowsPerPage","TablePagination","root","component","labelDisplayedRows","from","to","fromRow","toRow","countRows","pipe","nthArg","getValue","propTypes","PropTypes","current","React","theme","flexDirection","basicView","BasicView","forwardRef","ref","children","otherProps","Paper","displayName","toolbar","minHeight","title","fontWeight","overflow","textOverflow","Toolbar","Typography","variant","collapseButton","expandLess","isOpen","buttonProps","ExpandMore","iconClassName","tooltipProps","SmallIconButton","bar","backgroundColor","palette","secondary","main","minWidth","borderRadius","left","widthIsNumber","is","Number","maxWidth","getBarColorWidth","buttonRoot","action","active","fade","paper","menuItem","menuText","text","MenuItemWithTooltip","MenuItem","MenuItemRenderer","item","onMenuClose","tooltip","id","selectable","e","DropDownMenuButton","menuId","buttonComponent","Button","buttonContent","menuItems","popoverProps","onMenuOpen","DefaultMenuItemRenderer","ButtonComponent","buttonRef","useRef","setIsOpen","useState","useDidUpdateEffect","handleToggle","stopPropagation","open","Menu","autoFocus","anchorEl","onClose","anchorOrigin","vertical","horizontal","transformOrigin","elevation","getContentAnchorEl","MenuListProps","autoFocusItem","map","index","key","useMenuStyles","addLabel","addIcon","useSingleValueStyles","singleValue","marginTop","selectProps","onCreate","createLabel","inputValue","components","MenuWithPopper","prop","Add","SingleValue","menuIsOpen","innerProps","control","dropdownIndicator","valueContainer","formControl","filledInputRoot","filledInputUnderline","inputLabel","customStyles","menu","baseStyles","menuList","maxHeight","group","input","option","overloadMenuListStyle","withoutLabelInputStyle","DropDownSelector","getOptions","options","onChange","onClear","textFieldInputRef","TextFieldProps","underlineStyle","useInputStyles","setOpen","inputRef","SelectComponent","AsyncSelect","Select","showIndicatorSeparator","IndicatorSeparator","EmptyStub","ClearIndicator","handleCreate","overloadStylesIfGroup","overloadStylesIfNoLabel","isEmpty","mergedStyles","mergedClasses","placeholder","defaultOptions","defaultTo","loadOptions","cacheOptions","DropdownIndicator","LoadingIndicator","menuPlacement","path","inputProps","InputProps","underline","isEmptyValue","focused","InputLabelProps","shrink","DropDownSelectorType","absoluteImagePath","useSelector","mdmModule","storagePath","str","endsWith","EntityUriLink","screen","dispatch","useDispatch","viewId","useContext","ViewIdContext","generateEntityLink","GenerateEntityUrlContext","getEntityLink","uiPath","ui","uri","href","preventDefault","withMuiSkin","reltioLayoutItemToReactGridLayoutItem","isStatic","w","h","minW","minH","maxW","maxH","i","static","reactGridLayoutItemToReltioLayoutItem","reactGridLayoutToReltioLayout","layout","getReltioLayoutItemById","curry","find","propEq","updateExtraPropsInLayoutItem","mergeAll","pick","copyPropsFromPreviousLayout","oldReltioLayout","reltioLayout","layoutItem","__","_","gridLayout","border","transitionDuration","zIndex","userSelect","transitionProperty","willChange","backgroundImage","bottom","svg2Url","backgroundRepeat","backgroundOrigin","boxSizing","visibility","gridFullscreen","overflowY","ReltioGridLayout","views","layoutOptions","onLayoutChanged","draggableHandle","LayoutItem","onRemove","onDrop","droppingItem","isDroppable","fullscreenItemId","setFullscreenItemId","setWidth","cols","rowHeight","processedLayout","useMemo","reltioLayoutToReactGridLayout","onReltioLayoutChanged","onToggleFullscreen","prevId","isFullscreenEnabled","onItemHeightResize","layoutId","isLayoutChanged","newLayout","newHeight","Math","ceil","calcHeight","refreshMode","refreshRate","handleWidth","onResize","innerRef","autoSize","onLayoutChange","isResizable","isDraggable","isItemFullscreen","autosizeComponent","autosizing","AutosizeComponent","layoutItemId","handleHeight","layoutItemConfig","fullscreen","isFullscreen","defaultProps","onConfigChanged","mark","DropDownValue","DropDownPlaceholder","Placeholder","loader","LinearProgress","view","flex","DashboardViewIdContext","useSavedSearchesRequest","offset","max","setData","total","setTotal","requestState","setRequestState","RequestStates","onError","error","console","loadData","onRequestFinished","result","countResults","restOptions","async","getSavedSearches","totalRequests","search","getTotalsForQuery","replacePlaceholdersInQuery","query","searchesWithCount","promiseAllSettled","reduce","searchesWithTotal","searchIndex","status","reason","assocPath","getData","catch","refreshAction","useEffect","state","reload","ROWS_PER_PAGE_OPTIONS","DEFAULT_ROWS_PER_PAGE","getRowsPerPageOptions","defaultRowsPerPage","filter","concat","sort","subtract","itemTitle","itemIcon","openIcon","items","setAnchorEl","isMenuOpen","Boolean","handleMenuClose","handleItemClick","IconButton","currentTarget","MoreVert","ListItemIcon","toolbarRoot","marginBottom","dragIcon","rightMenu","flexGrow","updatedChip","isUpdated","onRefresh","Replay","Fullscreen","FullscreenExit","HighlightOff","BasicViewHeader","Chip","size","DragIndicator","_extends","Object","assign","target","arguments","length","source","prototype","hasOwnProperty","call","apply","this","maskType","maskUnits","mask","fillOpacity","clipRule","mixBlendMode","x1","y1","x2","y2","gradientUnits","stopColor","stopOpacity","filterUnits","colorInterpolationFilters","floodOpacity","in","values","dy","stdDeviation","mode","in2","noDataContainer","errorContainer","errorIcon","refreshButton","refreshIcon","message","startIcon","viewContent","loadingState","EmptyPlaceholder","BasicViewContent","ErrorBoundary","DashboardLinearLoader","withPagination","TableComponent","WithPagination","savedSearchDataToSearchState","uiState","version","currentSavedSearchUri","curSavedSearchUri","TableWithPagination","TableWithBars","config","setRowsPerPage","setPage","chartData","name","savedSearchDataToChartData","onSSClick","useReloadFacet","LayoutItemView","headers","showValues","onItemClick","configFilterToSearchFilter","when","includes","FilterOptions","evolve","wrapInArray","createNotEqualFilter","fieldName","convertSearchFilterToDashboardConfigFilter","searchFilter","createEntityTypeFilter","entityTypeUri","createFacetItemFilter","convertFilterToFacetState","metadata","entityType","isEntityAttributeFilter","test","findAttributeTypeByUri","searchUriToAttrUri","getSpecialAttrTypeByFieldName","assoc","isDateType","mapFilterValue","parseTimestamp","isEntityTypeFilter","requestFacets","attribute","filters","globalFilter","searchByOv","activityFilter","pageSize","orderType","buildFilterQueryString","addGlobalFilterToQuery","push","join","buildQuery","body","pageNo","getFacets","then","response","entries","sortWith","descend","ascend","getFacetData","resolveLookups","lookupCode","lookupsToResolve","codeValue","resolveLookupsList","codes","flatMap","buildLookupRecord","code","buildFacetOthersFilters","OTHER_FACET_GROUP","requestOtherValues","otherFilters","searchOptions","getTotals","resolveRoleLabel","roleName","getRoleLabel","localizeFacetValues","facet","localizedValue","getFacetFieldName","isEntityTypeUri","attributeUriToSearchUri","getFacetEntityTypeUri","ifElse","getEntityUriFromAttributeUri","always","getFiltersForFacet","attributeUri","hasEntityTypeFilter","some","getFiltersForFacetItem","reject","facetFiltersToSearchState","facets","chartType","showOthers","ChartTypes","facetFilters","searchFilters","SearchFiltersContext","facetAndSpecialFilters","attributePresentations","hasAttrPresentation","andThen","isLookupAttrType","getAttrTypeLookupCode","isRoleAttrType","formatDataTypeValue","dataTypeDefinition","getAttrDataTypeDefinition","resolveFacetLabels","unless","otherwise","useFacetRequest","ChartsFactory","content","headCell","headLabel","entityLabel","textDecoration","headCellData","DefaultHeadCellRenderer","rowValue","entity","getLabel","getEntityUriForLink","tableContainer","cellBorder","borderLeft","borderRight","headData","resizable","headCellRenderer","HeadCellRenderer","rowCellValueRenderer","EntityLabelRenderer","initialWidth","tableClasses","BasicTable","columnsData","rowsData","headRowHeight","getRowCellHeight","defaultColumnWidth","defaultColumnMinWidth","allFilters","Promise","all","getFilteredEntities","results","entities","useFilteredEntitiesRequest","PeriodStep","getStepForPeriod","period","getDateRangeByDatePeriod","getDashboardDateRangeByValue","startTime","endTime","moment","DAY","HOUR","currentDate","DateRangeValue","valueOf","getDateRangeByValue","getValuesDateRange","Date","StatsEvents","types","getStatsEventById","event","getStatsEventName","propOr","getStatsEventColor","requestStats","getStats","getEntitiesStats","allTypes","chain","processStats","pluck","stats","getEvents","events","presentTypes","periodFrame","term","prepend","append","isEventPresent","resolve","getEventsData","groupEventsData","step","eventData","groupBy","startOf","toPairs","date","sum","interpolateEventsData","head","other","acc","lastTerm","last","nextTerm","add","interpolatedItems","calibrateStatsData","statsData","getStepValueFormat","cond","equals","payload","textAnchor","tooltipWrapper","tooltipItemColor","legend","flexWrap","legendItem","legendItemColor","legendItemValue","selectedItems","isSelected","Tooltip","selectedEvents","setSelectedEvents","tooltipEvent","setTooltipEvent","cartesianGrid","xAxis","yAxis","line","dataKey","tick","angle","allowDuplicatedCategory","tickFormatter","formatNumberAsMetric","strokeDasharray","strokeOpacity","wrapperStyle","domain","tickCount","counts","min","abs","getChartDomain","dot","activeDot","onMouseEnter","onMouseLeave","without","periodSelector","flexBasis","setPeriod","safePromise","useSafePromise","toString","useStatsRequest","DateRangeEditor","getDateRangeOptions","typeNameToUri","typeName","getUriFromTypeFacet","resolveTypeFacetsLabels","typeFacets","typeUri","getEntityType","getParentEntityTypeFacets","getParentTypeForFacet","getInheritancePath","isAvailableEntityType","parentsMap","parentType","parentName","getLastUriPart","entityTypeNameToFilters","wrapInArrayIfNeeded","getEntityTypeName","findTypeFacetByName","createEmptyEntityTypeFacet","addEmptyEntityTypesFacets","entityTypes","getFacet","either","hideEmpty","inheritChildren","useEntityByTypeRequest","onTypeClick","TreeChart","iframe","borderWidth","tasksSelector","tasksSelectorInput","url","src","frameBorder","WorkflowTasksCategories","getTasksByCategory","MY","getTasksForTenant","TEAM","getGroupTasksForTenant","T","getFirstObjectUri","isDCRObjectUri","startsWith","notEmpty","complement","getEntities","isEntityUri","getEntitiesByUris","getChangeRequests","getDataChangeRequest","requests","getTaskObjectsData","converge","extractObjectsFromChangeRequest","objectsInfo","changes","getChange","getUri","keys","enrichTasksWithObjectsData","changeRequests","tasks","isNil","task","objects","enrichTaskWithEntity","changeRequest","enrichTaskWithDCRObjects","requestWorkflowTasks","tasksCategory","workflowPath","environment","tenant","assignee","getTasks","isOverdueTask","dueDate","now","taskItem","taskInfo","overflowWrap","taskTitle","taskDetail","taskDetailTitle","taskDueDate","flag","verticalAlign","overdue","hidden","EntityLink","object","processType","relationType","getRelationType","startObjectUri","startObjectLabel","endObjectUri","endObjectLabel","PredefinedWorkflowProcessType","showAssignee","firstObject","priorityClass","EntityTypeIcon","processDefinitionDisplayName","createdBy","createTime","Flag","renderRow","Divider","light","AutoSizeList","defaultItemSize","setTasksCategory","requestParams","userName","useWorkflowTasksRequest","activityLogFilter","exportTypes","setFilter","users","activities","dateRange","DateRangeTypes","getActivities","useActivitiesLoader","useActivitiesRequest","handleFilterChange","ActivityLogFilter","ActivityLog","ViewsFactory","ViewTypes","DashboardViewTypes","getComponent","ActivitiesViewFacet","CustomActionViewFacet","DashboardFacet","EntitiesByTypeViewFacet","FilteredSavedSearchesFacet","FilteredEntitiesViewFacet","NotificationInboxFacet","ProfileStatsFacet","getChartType","typeConverters"],"sourceRoot":""}
|