@reltio/components 1.4.2185 → 1.4.2186
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/FacetContainer/FacetContainer.d.ts +18 -0
- package/FacetContainer/FacetContainer.js +30 -0
- package/FacetContainer/FacetContainer.module.css.js +9 -0
- package/FacetContainer/components/ChipsCount/ChipCount.module.css.js +9 -0
- package/FacetContainer/components/ChipsCount/ChipsCount.d.ts +26 -0
- package/FacetContainer/components/ChipsCount/ChipsCount.js +39 -0
- package/FacetContainer/components/FacetTitle/FacetTitle.d.ts +10 -0
- package/FacetContainer/components/FacetTitle/FacetTitle.js +31 -0
- package/FacetContainer/components/FacetTitle/FacetTitle.module.css.js +9 -0
- package/FacetContainer/index.d.ts +1 -0
- package/FacetContainer/index.js +1 -0
- package/FacetsSelector/FacetsSelector.d.ts +2 -2
- package/FacetsSelector/FacetsSelector.js +2 -2
- package/FacetsSelector/components/AttributeSelectorPopup/AttributeSelectorPopup.d.ts +2 -2
- package/FacetsSelector/components/AttributeSelectorPopup/AttributeSelectorPopup.js +5 -5
- package/FacetsSelector/components/FacetsList/FacetsList.d.ts +3 -3
- package/FacetsSelector/components/FacetsList/FacetsList.js +6 -6
- package/FacetsSelector/components/FacetsList/FacetsList.module.css.js +2 -2
- package/FacetsSelector/helpers.d.ts +2 -2
- package/FacetsSelector/helpers.js +2 -2
- package/cjs/FacetContainer/FacetContainer.d.ts +18 -0
- package/cjs/FacetContainer/FacetContainer.js +60 -0
- package/cjs/FacetContainer/FacetContainer.module.css.js +9 -0
- package/cjs/FacetContainer/components/ChipsCount/ChipCount.module.css.js +9 -0
- package/cjs/FacetContainer/components/ChipsCount/ChipsCount.d.ts +26 -0
- package/cjs/FacetContainer/components/ChipsCount/ChipsCount.js +45 -0
- package/cjs/FacetContainer/components/FacetTitle/FacetTitle.d.ts +10 -0
- package/cjs/FacetContainer/components/FacetTitle/FacetTitle.js +36 -0
- package/cjs/FacetContainer/components/FacetTitle/FacetTitle.module.css.js +9 -0
- package/cjs/FacetContainer/index.d.ts +1 -0
- package/cjs/FacetContainer/index.js +5 -0
- package/cjs/FacetsSelector/FacetsSelector.d.ts +2 -2
- package/cjs/FacetsSelector/FacetsSelector.js +2 -2
- package/cjs/FacetsSelector/components/AttributeSelectorPopup/AttributeSelectorPopup.d.ts +2 -2
- package/cjs/FacetsSelector/components/AttributeSelectorPopup/AttributeSelectorPopup.js +5 -5
- package/cjs/FacetsSelector/components/FacetsList/FacetsList.d.ts +3 -3
- package/cjs/FacetsSelector/components/FacetsList/FacetsList.js +6 -6
- package/cjs/FacetsSelector/components/FacetsList/FacetsList.module.css.js +2 -2
- package/cjs/FacetsSelector/helpers.d.ts +2 -2
- package/cjs/FacetsSelector/helpers.js +2 -2
- package/cjs/index.d.ts +1 -0
- package/cjs/index.js +6 -4
- package/index.d.ts +1 -0
- package/index.js +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export declare const RecommendedIconWithTooltip: React.ForwardRefExoticComponent<{
|
|
3
|
+
tooltipTitle?: import("@mui/material").TooltipProps["title"];
|
|
4
|
+
tooltipPlacement?: import("@mui/material").TooltipProps["placement"];
|
|
5
|
+
showForDisabled?: boolean;
|
|
6
|
+
} & React.SVGAttributes<SVGElement> & React.RefAttributes<HTMLElement>>;
|
|
7
|
+
export type Props = {
|
|
8
|
+
children?: React.ReactNode;
|
|
9
|
+
title: string;
|
|
10
|
+
chipLabel?: number;
|
|
11
|
+
pathToTitle?: string[];
|
|
12
|
+
isOpenByDefault?: boolean;
|
|
13
|
+
isHighlighted?: boolean;
|
|
14
|
+
isRecommended?: boolean;
|
|
15
|
+
onDeleteChip?: () => void;
|
|
16
|
+
onClose?: () => void;
|
|
17
|
+
};
|
|
18
|
+
export declare const FacetContainer: ({ children, title, chipLabel, pathToTitle, isOpenByDefault, isHighlighted, isRecommended, onDeleteChip, onClose }: Props) => React.JSX.Element;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import React, { useState } from 'react';
|
|
2
|
+
import i18n from 'ui-i18n';
|
|
3
|
+
import classnames from 'classnames';
|
|
4
|
+
import CloseIcon from '@mui/icons-material/Close';
|
|
5
|
+
import { CollapseButton } from '../CollapseButton';
|
|
6
|
+
import { SmallIconButtonWithTooltip } from '../SmallIconButton';
|
|
7
|
+
import { withTooltip } from '../HOCs/withTooltip';
|
|
8
|
+
import FacetTitle from './components/FacetTitle/FacetTitle';
|
|
9
|
+
import RecommendedIcon from './Recommended.svg';
|
|
10
|
+
import styles from './FacetContainer.module.css';
|
|
11
|
+
export var RecommendedIconWithTooltip = withTooltip(RecommendedIcon);
|
|
12
|
+
export var FacetContainer = function (_a) {
|
|
13
|
+
var _b;
|
|
14
|
+
var children = _a.children, title = _a.title, chipLabel = _a.chipLabel, pathToTitle = _a.pathToTitle, _c = _a.isOpenByDefault, isOpenByDefault = _c === void 0 ? true : _c, _d = _a.isHighlighted, isHighlighted = _d === void 0 ? false : _d, _e = _a.isRecommended, isRecommended = _e === void 0 ? false : _e, onDeleteChip = _a.onDeleteChip, onClose = _a.onClose;
|
|
15
|
+
var _f = useState(isOpenByDefault), open = _f[0], setOpen = _f[1];
|
|
16
|
+
var toggleOpen = function () {
|
|
17
|
+
setOpen(!open);
|
|
18
|
+
};
|
|
19
|
+
return (React.createElement("div", { className: classnames(styles.facetContainer, (_b = {},
|
|
20
|
+
_b[styles.openedFacetContainer] = open,
|
|
21
|
+
_b[styles.closedFacetContainer] = !open,
|
|
22
|
+
_b[styles.highlighted] = isHighlighted,
|
|
23
|
+
_b)), "data-reltio-id": "search-facet-container-".concat(title) },
|
|
24
|
+
React.createElement("div", { className: styles.titleContainer },
|
|
25
|
+
React.createElement(SmallIconButtonWithTooltip, { tooltipTitle: i18n.text('Remove'), icon: CloseIcon, onClick: onClose, className: styles.iconButton, size: "XXS" }),
|
|
26
|
+
isRecommended && (React.createElement(RecommendedIconWithTooltip, { className: styles.recommendedIcon, tooltipTitle: i18n.text('Recommended'), showForDisabled: true })),
|
|
27
|
+
React.createElement(FacetTitle, { title: title, pathToTitle: pathToTitle, chipLabel: chipLabel, onDelete: onDeleteChip, onClick: toggleOpen }),
|
|
28
|
+
React.createElement(CollapseButton, { onClick: toggleOpen, isOpen: open, className: styles.iconButton, size: "S", tooltipTitle: open ? i18n.text('Collapse attribute') : i18n.text('Expand attribute'), tooltipPlacement: "bottom-end" })),
|
|
29
|
+
open ? children : null));
|
|
30
|
+
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
const styles = {"facetContainer":"FacetContainer-facetContainer--PGQJm","openedFacetContainer":"FacetContainer-openedFacetContainer--T0y7f","closedFacetContainer":"FacetContainer-closedFacetContainer--s6-qP","iconButton":"FacetContainer-iconButton--FOXN9","recommendedIcon":"FacetContainer-recommendedIcon--v3mLt","titleContainer":"FacetContainer-titleContainer--mxRz2","expandIcon":"FacetContainer-expandIcon--eNUwN","expanded":"FacetContainer-expanded--XgtFv","highlighted":"FacetContainer-highlighted--Cf-qC","animate":"FacetContainer-animate--nGob0"};
|
|
2
|
+
if (typeof document !== 'undefined') {
|
|
3
|
+
const head = document.head || document.getElementsByTagName('head')[0]
|
|
4
|
+
const style = document.createElement('style');
|
|
5
|
+
style.type = 'text/css'
|
|
6
|
+
style.innerHTML = `.FacetContainer-facetContainer--PGQJm{border-bottom:1px solid rgba(0,0,0,.33);border-radius:1px;display:flex;flex-direction:column;flex-grow:1;flex-shrink:0;padding:0 16px;position:relative}.FacetContainer-facetContainer--PGQJm:last-child{border-bottom:1px solid #fff}.FacetContainer-openedFacetContainer--T0y7f{padding-bottom:15px}.FacetContainer-closedFacetContainer--s6-qP{padding-bottom:5px}.FacetContainer-iconButton--FOXN9{visibility:hidden}.FacetContainer-iconButton--FOXN9:first-child{height:24px;margin-left:-16px;width:24px}.FacetContainer-recommendedIcon--v3mLt{flex-shrink:0;height:18px;margin-right:6px;width:18px}.FacetContainer-titleContainer--mxRz2{align-items:center;border-radius:1px;display:flex;flex-direction:row;flex-shrink:0;height:42px;margin-left:-16px;padding-left:16px}.FacetContainer-titleContainer--mxRz2:hover .FacetContainer-iconButton--FOXN9{visibility:visible}.FacetContainer-expandIcon--eNUwN{color:rgba(0,0,0,.54);margin:0 2px;transition:transform .15s ease}.FacetContainer-expanded--XgtFv{transform:rotate(180deg)}@keyframes FacetContainer-animate--nGob0{0%{background:#fffbeb}66%{background:#fffbeb}to{background:transparent}}.FacetContainer-highlighted--Cf-qC{animation-duration:3s;animation-iteration-count:1;animation-name:FacetContainer-animate--nGob0}`;
|
|
7
|
+
head.appendChild(style);
|
|
8
|
+
}
|
|
9
|
+
export default styles;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
const styles = {"root":"ChipsCount-root--nvCui","deleteIcon":"ChipsCount-deleteIcon--5PYeW","outlined":"ChipsCount-outlined--GUmLb","label":"ChipsCount-label--G-hwC"};
|
|
2
|
+
if (typeof document !== 'undefined') {
|
|
3
|
+
const head = document.head || document.getElementsByTagName('head')[0]
|
|
4
|
+
const style = document.createElement('style');
|
|
5
|
+
style.type = 'text/css'
|
|
6
|
+
style.innerHTML = `.ChipsCount-root--nvCui{background-color:transparent;border:1px solid rgba(0,0,0,.12);border-radius:16px;box-sizing:border-box;height:18px}.ChipsCount-root--nvCui .ChipsCount-deleteIcon--5PYeW{color:rgba(0,0,0,.38);height:12px;margin:0;width:12px}.ChipsCount-outlined--GUmLb .ChipsCount-deleteIcon--5PYeW{margin-right:2px}.ChipsCount-label--G-hwC{color:rgba(0,0,0,.38);font-size:12px;font-weight:500;line-height:16px;padding-left:4px;padding-right:4px}`;
|
|
7
|
+
head.appendChild(style);
|
|
8
|
+
}
|
|
9
|
+
export default styles;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { ChipProps } from '@mui/material/Chip';
|
|
3
|
+
export declare const ClearIconWithTooltip: React.ForwardRefExoticComponent<Omit<{
|
|
4
|
+
tooltipTitle?: import("@mui/material").TooltipProps["title"];
|
|
5
|
+
tooltipPlacement?: import("@mui/material").TooltipProps["placement"];
|
|
6
|
+
showForDisabled?: boolean;
|
|
7
|
+
} & {
|
|
8
|
+
children?: React.ReactNode;
|
|
9
|
+
classes?: Partial<import("@mui/material").SvgIconClasses>;
|
|
10
|
+
color?: import("@mui/types").OverridableStringUnion<"inherit" | "action" | "disabled" | "primary" | "secondary" | "error" | "info" | "success" | "warning", import("@mui/material").SvgIconPropsColorOverrides>;
|
|
11
|
+
fontSize?: import("@mui/types").OverridableStringUnion<"inherit" | "large" | "medium" | "small", import("@mui/material").SvgIconPropsSizeOverrides>;
|
|
12
|
+
htmlColor?: string;
|
|
13
|
+
inheritViewBox?: boolean;
|
|
14
|
+
shapeRendering?: string;
|
|
15
|
+
sx?: import("@mui/system").SxProps<import("@mui/material").Theme>;
|
|
16
|
+
titleAccess?: string;
|
|
17
|
+
viewBox?: string;
|
|
18
|
+
} & import("@mui/material/OverridableComponent").CommonProps & Omit<Omit<React.SVGProps<SVGSVGElement>, "ref"> & {
|
|
19
|
+
ref?: React.Ref<SVGSVGElement>;
|
|
20
|
+
}, "color" | "fontSize" | "shapeRendering" | "children" | "sx" | keyof import("@mui/material/OverridableComponent").CommonProps | "viewBox" | "htmlColor" | "inheritViewBox" | "titleAccess">, "ref"> & React.RefAttributes<HTMLElement>>;
|
|
21
|
+
type Props = Omit<ChipProps, 'onDelete' | 'label'> & {
|
|
22
|
+
label: number;
|
|
23
|
+
onDelete?: () => void;
|
|
24
|
+
};
|
|
25
|
+
declare const ChipsCount: ({ label, onDelete, ...extraProps }: Props) => React.JSX.Element;
|
|
26
|
+
export default ChipsCount;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
var __assign = (this && this.__assign) || function () {
|
|
2
|
+
__assign = Object.assign || function(t) {
|
|
3
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
4
|
+
s = arguments[i];
|
|
5
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
6
|
+
t[p] = s[p];
|
|
7
|
+
}
|
|
8
|
+
return t;
|
|
9
|
+
};
|
|
10
|
+
return __assign.apply(this, arguments);
|
|
11
|
+
};
|
|
12
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
13
|
+
var t = {};
|
|
14
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
15
|
+
t[p] = s[p];
|
|
16
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
17
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
18
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
19
|
+
t[p[i]] = s[p[i]];
|
|
20
|
+
}
|
|
21
|
+
return t;
|
|
22
|
+
};
|
|
23
|
+
import React from 'react';
|
|
24
|
+
import i18n from 'ui-i18n';
|
|
25
|
+
import Chip from '@mui/material/Chip';
|
|
26
|
+
import ClearIcon from '@mui/icons-material/Cancel';
|
|
27
|
+
import { withTooltip } from '../../../HOCs/withTooltip';
|
|
28
|
+
import styles from './ChipCount.module.css';
|
|
29
|
+
export var ClearIconWithTooltip = withTooltip(ClearIcon);
|
|
30
|
+
var ChipsCount = function (_a) {
|
|
31
|
+
var label = _a.label, onDelete = _a.onDelete, extraProps = __rest(_a, ["label", "onDelete"]);
|
|
32
|
+
return (React.createElement(Chip, __assign({ className: styles.root, label: i18n.number(label), onDelete: onDelete, variant: "outlined", classes: {
|
|
33
|
+
root: styles.root,
|
|
34
|
+
outlined: styles.outlined,
|
|
35
|
+
deleteIcon: styles.deleteIcon,
|
|
36
|
+
label: styles.label
|
|
37
|
+
}, deleteIcon: React.createElement(ClearIconWithTooltip, { tooltipTitle: i18n.text('Clear') }) }, extraProps)));
|
|
38
|
+
};
|
|
39
|
+
export default ChipsCount;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
type Props = {
|
|
3
|
+
title?: string;
|
|
4
|
+
chipLabel?: number;
|
|
5
|
+
onDelete?: () => void;
|
|
6
|
+
pathToTitle?: string[];
|
|
7
|
+
onClick?: () => void;
|
|
8
|
+
};
|
|
9
|
+
declare const FacetTitle: ({ title, chipLabel, onDelete, pathToTitle, onClick }: Props) => React.JSX.Element;
|
|
10
|
+
export default FacetTitle;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
var __assign = (this && this.__assign) || function () {
|
|
2
|
+
__assign = Object.assign || function(t) {
|
|
3
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
4
|
+
s = arguments[i];
|
|
5
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
6
|
+
t[p] = s[p];
|
|
7
|
+
}
|
|
8
|
+
return t;
|
|
9
|
+
};
|
|
10
|
+
return __assign.apply(this, arguments);
|
|
11
|
+
};
|
|
12
|
+
import React from 'react';
|
|
13
|
+
import { ExpandedValueTooltip } from '../../../ExpandedValueTooltip';
|
|
14
|
+
import { HierarchicalAttributeTooltip } from '../../../HierarchicalAttributeTooltip';
|
|
15
|
+
import ChipsCount from '../ChipsCount/ChipsCount';
|
|
16
|
+
import styles from './FacetTitle.module.css';
|
|
17
|
+
var FacetTitle = function (_a) {
|
|
18
|
+
var _b = _a.title, title = _b === void 0 ? '' : _b, _c = _a.chipLabel, chipLabel = _c === void 0 ? 0 : _c, onDelete = _a.onDelete, pathToTitle = _a.pathToTitle, onClick = _a.onClick;
|
|
19
|
+
var isNested = Boolean(pathToTitle && pathToTitle.length > 2);
|
|
20
|
+
var TooltipComponent = isNested ? HierarchicalAttributeTooltip : ExpandedValueTooltip;
|
|
21
|
+
var tooltipProps = isNested ? { pathToTitle: pathToTitle } : { value: title };
|
|
22
|
+
return (React.createElement("div", { className: styles.container, onClick: onClick },
|
|
23
|
+
isNested && (React.createElement(HierarchicalAttributeTooltip, __assign({ placement: "bottom-start" }, tooltipProps),
|
|
24
|
+
React.createElement("div", { className: styles.parent }, pathToTitle[pathToTitle.length - 2]))),
|
|
25
|
+
React.createElement("div", { className: styles.titleContainer },
|
|
26
|
+
React.createElement(TooltipComponent, __assign({ placement: "bottom-start" }, tooltipProps),
|
|
27
|
+
React.createElement("span", { className: styles.title }, title)),
|
|
28
|
+
chipLabel !== 0 && (React.createElement("div", { className: styles.chip },
|
|
29
|
+
React.createElement(ChipsCount, { label: chipLabel, onDelete: onDelete }))))));
|
|
30
|
+
};
|
|
31
|
+
export default FacetTitle;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
const styles = {"container":"FacetTitle-container--fegMx","parent":"FacetTitle-parent--0sIc8","titleContainer":"FacetTitle-titleContainer--e8PWF","title":"FacetTitle-title--Four7","chip":"FacetTitle-chip--L9nDB"};
|
|
2
|
+
if (typeof document !== 'undefined') {
|
|
3
|
+
const head = document.head || document.getElementsByTagName('head')[0]
|
|
4
|
+
const style = document.createElement('style');
|
|
5
|
+
style.type = 'text/css'
|
|
6
|
+
style.innerHTML = `.FacetTitle-container--fegMx{cursor:pointer;display:flex;flex-direction:column;flex-grow:1;height:100%;justify-content:center;min-width:0}.FacetTitle-parent--0sIc8{color:var(--mui-palette-text-secondary);font-size:13px;letter-spacing:0;line-height:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.FacetTitle-titleContainer--e8PWF{align-items:flex-end;display:flex;flex-direction:row;height:18px;overflow:hidden;width:100%}.FacetTitle-title--Four7{color:var(--mui-palette-text-primary);font-size:14px;font-weight:500;letter-spacing:.24px;line-height:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.FacetTitle-chip--L9nDB{display:inline;margin-left:6px}`;
|
|
7
|
+
head.appendChild(style);
|
|
8
|
+
}
|
|
9
|
+
export default styles;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { FacetContainer } from './FacetContainer';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { FacetContainer } from './FacetContainer';
|
|
@@ -4,10 +4,10 @@ import { MoreFacetItem } from './types';
|
|
|
4
4
|
type Props = {
|
|
5
5
|
open?: boolean;
|
|
6
6
|
data?: MoreFacetItem[];
|
|
7
|
-
|
|
7
|
+
selectedFacetsFieldNames: string[];
|
|
8
8
|
onOpen: () => void;
|
|
9
9
|
onClose: () => void;
|
|
10
10
|
onFacetToggle: (item: FacetConfig, selected: boolean) => void;
|
|
11
11
|
};
|
|
12
|
-
export declare const FacetsSelector: ({ open, data,
|
|
12
|
+
export declare const FacetsSelector: ({ open, data, selectedFacetsFieldNames, onOpen, onClose, onFacetToggle }: Props) => React.JSX.Element;
|
|
13
13
|
export default FacetsSelector;
|
|
@@ -5,7 +5,7 @@ import { SearchInput } from '../SearchInput';
|
|
|
5
5
|
import { filterItemsInGroups } from './helpers';
|
|
6
6
|
import styles from './FacetsSelector.module.css';
|
|
7
7
|
export var FacetsSelector = function (_a) {
|
|
8
|
-
var open = _a.open, data = _a.data,
|
|
8
|
+
var open = _a.open, data = _a.data, selectedFacetsFieldNames = _a.selectedFacetsFieldNames, onOpen = _a.onOpen, onClose = _a.onClose, onFacetToggle = _a.onFacetToggle;
|
|
9
9
|
var _b = useState(''), filterText = _b[0], setFilterText = _b[1];
|
|
10
10
|
var _c = useState(null), lastFacetClicked = _c[0], setLastFacetClicked = _c[1];
|
|
11
11
|
var searchInputRootRef = useRef(null);
|
|
@@ -26,6 +26,6 @@ export var FacetsSelector = function (_a) {
|
|
|
26
26
|
}, [onOpen]);
|
|
27
27
|
return (React.createElement(React.Fragment, null,
|
|
28
28
|
React.createElement(SearchInput, { classes: { root: styles.inputContainer }, onSearch: setFilterText, onFocus: handleOpen, rootRef: searchInputRootRef, value: filterText, placeholder: i18n.text('Search & add attributes'), height: 40, "data-reltio-id": "reltio-search-more-facets-search-input" }),
|
|
29
|
-
React.createElement(AttributeSelectorPopup, { open: open,
|
|
29
|
+
React.createElement(AttributeSelectorPopup, { open: open, selectedFacetsFieldNames: selectedFacetsFieldNames, data: filteredList, lastFacetClicked: lastFacetClicked, anchorRef: searchInputRootRef, onListItemClick: handleListItemClick, onClose: handleClose, onSearch: setFilterText })));
|
|
30
30
|
};
|
|
31
31
|
export default FacetsSelector;
|
|
@@ -3,7 +3,7 @@ import { FacetConfig } from '@reltio/mdm-sdk';
|
|
|
3
3
|
import { MoreFacetItem, SelectedFacet } from '../../types';
|
|
4
4
|
type Props = {
|
|
5
5
|
open?: boolean;
|
|
6
|
-
|
|
6
|
+
selectedFacetsFieldNames: string[];
|
|
7
7
|
data?: MoreFacetItem[];
|
|
8
8
|
lastFacetClicked?: SelectedFacet;
|
|
9
9
|
anchorRef: React.RefObject<HTMLInputElement>;
|
|
@@ -11,5 +11,5 @@ type Props = {
|
|
|
11
11
|
onSearch?: (value?: string) => void;
|
|
12
12
|
onClose?: () => void;
|
|
13
13
|
};
|
|
14
|
-
export declare const AttributeSelectorPopup: ({ open,
|
|
14
|
+
export declare const AttributeSelectorPopup: ({ open, selectedFacetsFieldNames, data, lastFacetClicked, anchorRef, onListItemClick, onSearch, onClose }: Props) => React.JSX.Element;
|
|
15
15
|
export {};
|
|
@@ -13,7 +13,7 @@ import styles from './AttributeSelectorPopup.module.css';
|
|
|
13
13
|
var defaultLastFacetClicked = {};
|
|
14
14
|
export var AttributeSelectorPopup = function (_a) {
|
|
15
15
|
var _b, _c;
|
|
16
|
-
var open = _a.open,
|
|
16
|
+
var open = _a.open, selectedFacetsFieldNames = _a.selectedFacetsFieldNames, _d = _a.data, data = _d === void 0 ? [] : _d, _e = _a.lastFacetClicked, lastFacetClicked = _e === void 0 ? defaultLastFacetClicked : _e, anchorRef = _a.anchorRef, onListItemClick = _a.onListItemClick, onSearch = _a.onSearch, onClose = _a.onClose;
|
|
17
17
|
var _f = useState(DEFAULT_LIST_HEIGHT), listHeight = _f[0], setListHeight = _f[1];
|
|
18
18
|
var _g = adjustVerticalPopupLayout(anchorRef.current, DEFAULT_ATTRIBUTE_SELECTOR_POPUP_HEIGHT), verticalOrigin = _g.verticalOrigin, _h = _g.popupHeight, popupHeight = _h === void 0 ? DEFAULT_ATTRIBUTE_SELECTOR_POPUP_HEIGHT : _h;
|
|
19
19
|
var maxListHeight = popupHeight - POPUP_HEADER_HEIGHT;
|
|
@@ -61,17 +61,17 @@ export var AttributeSelectorPopup = function (_a) {
|
|
|
61
61
|
var popupWidth = (_c = (_b = anchorRef.current) === null || _b === void 0 ? void 0 : _b.getBoundingClientRect().width) !== null && _c !== void 0 ? _c : 0;
|
|
62
62
|
var handleSearchOnEnter = useCallback(function (_a) {
|
|
63
63
|
var item = _a.item, groupData = _a.groupData;
|
|
64
|
-
onListItemClick(item, !isSelectedFacet({ facet: item,
|
|
65
|
-
}, [onListItemClick,
|
|
64
|
+
onListItemClick(item, !isSelectedFacet({ facet: item, selectedFacetsFieldNames: selectedFacetsFieldNames }), groupData.groupId);
|
|
65
|
+
}, [onListItemClick, selectedFacetsFieldNames]);
|
|
66
66
|
var _j = useKeyboardNavigation({
|
|
67
67
|
items: items,
|
|
68
68
|
open: open,
|
|
69
69
|
onSelectFocusedItem: handleSearchOnEnter,
|
|
70
|
-
selectedItems:
|
|
70
|
+
selectedItems: selectedFacetsFieldNames
|
|
71
71
|
}), focusIndex = _j.focusIndex, handleKeyDown = _j.handleKeyDown;
|
|
72
72
|
var containerWidth = Math.max(popupWidth || getMaxItemWidth('title')(groupedItems), DEFAULT_MIN_CONTAINER_WIDTH);
|
|
73
73
|
return (React.createElement(SelectionPopup, { open: open, action: popupActionRef, title: i18n.text('Select attribute'), containerWidth: containerWidth, searchInputOnKeyDown: handleKeyDown, containerHeight: POPUP_HEADER_HEIGHT + listHeight, anchorOrigin: popupOrigin, transformOrigin: popupOrigin, headerPlacement: verticalOrigin === 'bottom' ? 'bottom' : 'top', anchorEl: anchorRef.current, disableRestoreFocus: true, onSearch: onSearch, onClose: onClose },
|
|
74
|
-
React.createElement(FacetsList, { focusIndex: focusIndex,
|
|
74
|
+
React.createElement(FacetsList, { focusIndex: focusIndex, selectedFacetsFieldNames: selectedFacetsFieldNames, onListItemClick: onListItemClick, items: items, height: listHeight, onInnerContainerResize: handleResizeList }),
|
|
75
75
|
items.length === 0 && (React.createElement("div", { className: styles.noResultsCaptionContainer },
|
|
76
76
|
React.createElement(Typography, { variant: "caption", display: "block", gutterBottom: true }, i18n.text('No results found'))))));
|
|
77
77
|
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React, { ComponentProps } from 'react';
|
|
2
|
-
import { AttributeType
|
|
2
|
+
import { AttributeType } from '@reltio/mdm-sdk';
|
|
3
3
|
import { VirtualGroupedList } from '../../../VirtualGroupedList';
|
|
4
4
|
type Data = {
|
|
5
5
|
fieldName: string;
|
|
@@ -10,8 +10,8 @@ type Data = {
|
|
|
10
10
|
};
|
|
11
11
|
type Props = Omit<ComponentProps<typeof VirtualGroupedList>, 'renderItem' | 'getItemSize'> & {
|
|
12
12
|
focusIndex: number;
|
|
13
|
-
|
|
13
|
+
selectedFacetsFieldNames: string[];
|
|
14
14
|
onListItemClick: (data: Data, checked: boolean, groupId: string) => void;
|
|
15
15
|
};
|
|
16
|
-
export declare const FacetsList: ({ onListItemClick, focusIndex,
|
|
16
|
+
export declare const FacetsList: ({ onListItemClick, focusIndex, selectedFacetsFieldNames, ...otherProps }: Props) => React.JSX.Element;
|
|
17
17
|
export {};
|
|
@@ -29,24 +29,24 @@ import { Highlighter } from '../../../Highlighter';
|
|
|
29
29
|
import { AttributeGroupIcon } from '../../../AttributeGroupIcon';
|
|
30
30
|
import { FACET_LIST_ITEM_HEIGHT } from '../../constants';
|
|
31
31
|
import { useMdmMetadata } from '../../../contexts/MdmModuleContext';
|
|
32
|
+
import { ExpandedValueTooltip } from '../../../ExpandedValueTooltip';
|
|
32
33
|
import styles from './FacetsList.module.css';
|
|
33
34
|
var ITEM_GROUP_TITLE_HEIGHT = 40;
|
|
34
35
|
export var FacetsList = function (_a) {
|
|
35
|
-
var onListItemClick = _a.onListItemClick, focusIndex = _a.focusIndex,
|
|
36
|
-
var selectedFacetsRef = useRef(null);
|
|
37
|
-
selectedFacetsRef.current = selectedFacets;
|
|
36
|
+
var onListItemClick = _a.onListItemClick, focusIndex = _a.focusIndex, selectedFacetsFieldNames = _a.selectedFacetsFieldNames, otherProps = __rest(_a, ["onListItemClick", "focusIndex", "selectedFacetsFieldNames"]);
|
|
38
37
|
var focusIndexRef = useRef(null);
|
|
39
38
|
focusIndexRef.current = focusIndex;
|
|
40
39
|
var metadata = useMdmMetadata();
|
|
41
40
|
var renderItem = useCallback(function (style, _a, index) {
|
|
42
41
|
var item = _a.item, level = _a.level, groupId = _a.groupId;
|
|
43
|
-
var checked = isSelectedFacet({ facet: item,
|
|
42
|
+
var checked = isSelectedFacet({ facet: item, selectedFacetsFieldNames: selectedFacetsFieldNames });
|
|
44
43
|
var isFocused = focusIndexRef.current === index;
|
|
45
44
|
return (React.createElement(AttributeListItem, { key: "item-".concat(groupId, "-").concat(item.fieldName), onClick: onListItemClick, data: item, label: React.createElement(Highlighter, { text: item.title, highlight: item.filterText }), labelInText: item.title, level: level, style: style, checked: checked, isFocused: isFocused, groupId: groupId, LogoIcon: item.LogoIcon }));
|
|
46
|
-
}, [onListItemClick]);
|
|
45
|
+
}, [onListItemClick, selectedFacetsFieldNames]);
|
|
47
46
|
var renderGroupTitle = useCallback(function (style, item) { return (React.createElement(ListItem, { component: 'div', className: styles.subHeader, style: style, key: "group-".concat(item.item.id) },
|
|
48
47
|
item.item.needGroupIcon && React.createElement(AttributeGroupIcon, { metadata: metadata, group: item.item }),
|
|
49
|
-
item.item.title
|
|
48
|
+
React.createElement(ExpandedValueTooltip, { value: item.item.title },
|
|
49
|
+
React.createElement("div", { className: styles.subHeaderTitle }, item.item.title)))); }, [metadata]);
|
|
50
50
|
var getItemSize = useCallback(function (i, item) { return (item.items ? ITEM_GROUP_TITLE_HEIGHT : FACET_LIST_ITEM_HEIGHT); }, []);
|
|
51
51
|
return (React.createElement(VirtualGroupedList, __assign({ getItemSize: getItemSize, renderGroupTitle: renderGroupTitle, renderItem: renderItem, focusIndex: focusIndex }, otherProps, { disableHorizontalScrollbar: true })));
|
|
52
52
|
};
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
const styles = {"subHeader":"FacetsList-subHeader--jcWLn","icon":"FacetsList-icon--HO3ZO","recommendedIcon":"FacetsList-recommendedIcon--ekXsX"};
|
|
1
|
+
const styles = {"subHeader":"FacetsList-subHeader--jcWLn","icon":"FacetsList-icon--HO3ZO","recommendedIcon":"FacetsList-recommendedIcon--ekXsX","subHeaderTitle":"FacetsList-subHeaderTitle--iOKhO"};
|
|
2
2
|
if (typeof document !== 'undefined') {
|
|
3
3
|
const head = document.head || document.getElementsByTagName('head')[0]
|
|
4
4
|
const style = document.createElement('style');
|
|
5
5
|
style.type = 'text/css'
|
|
6
|
-
style.innerHTML = `.FacetsList-subHeader--jcWLn{align-items:center;background-color:#f5f5f5;color:rgba(0,0,0,.84);display:flex;font-size:14px;font-weight:500;margin:0;padding:0 16px}.FacetsList-subHeader--jcWLn .FacetsList-icon--HO3ZO{margin-right:16px;max-height:25px;max-width:25px}.FacetsList-recommendedIcon--ekXsX:is(.FacetsList-subHeader--jcWLn .FacetsList-icon--HO3ZO){height:20px;width:20px}`;
|
|
6
|
+
style.innerHTML = `.FacetsList-subHeader--jcWLn{align-items:center;background-color:#f5f5f5;color:rgba(0,0,0,.84);display:flex;font-size:14px;font-weight:500;margin:0;padding:0 16px}.FacetsList-subHeader--jcWLn .FacetsList-icon--HO3ZO{margin-right:16px;max-height:25px;max-width:25px}.FacetsList-recommendedIcon--ekXsX:is(.FacetsList-subHeader--jcWLn .FacetsList-icon--HO3ZO){height:20px;width:20px}.FacetsList-subHeaderTitle--iOKhO{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}`;
|
|
7
7
|
head.appendChild(style);
|
|
8
8
|
}
|
|
9
9
|
export default styles;
|
|
@@ -5,9 +5,9 @@ declare const adjustVerticalPopupLayout: (anchorEl: HTMLElement, popupHeight: nu
|
|
|
5
5
|
popupHeight: number;
|
|
6
6
|
};
|
|
7
7
|
declare const filterItemsInGroups: (groups: MoreFacetItem[], filterText: string) => MoreFacetItem[];
|
|
8
|
-
declare const isSelectedFacet: ({ facet,
|
|
8
|
+
declare const isSelectedFacet: ({ facet, selectedFacetsFieldNames }: {
|
|
9
9
|
facet: any;
|
|
10
|
-
|
|
10
|
+
selectedFacetsFieldNames: any;
|
|
11
11
|
}) => boolean;
|
|
12
12
|
declare const constructPopoverOrigin: (verticalOrigin: PopoverOrigin["vertical"], horizontalOrigin?: PopoverOrigin["horizontal"]) => {
|
|
13
13
|
vertical: number | "bottom" | "top" | "center";
|
|
@@ -49,8 +49,8 @@ var filterItemsInGroups = function (groups, filterText) {
|
|
|
49
49
|
return groups.map(function (group) { return (__assign(__assign({}, group), { facets: getFilteredFacets(group.facets, filterText) })); });
|
|
50
50
|
};
|
|
51
51
|
var isSelectedFacet = function (_a) {
|
|
52
|
-
var facet = _a.facet,
|
|
53
|
-
return !!
|
|
52
|
+
var facet = _a.facet, selectedFacetsFieldNames = _a.selectedFacetsFieldNames;
|
|
53
|
+
return !!selectedFacetsFieldNames.find(function (fieldName) { return fieldName === facet.fieldName || fieldName.includes("".concat(facet.fieldName, ".")); });
|
|
54
54
|
};
|
|
55
55
|
var constructPopoverOrigin = function (verticalOrigin, horizontalOrigin) {
|
|
56
56
|
if (horizontalOrigin === void 0) { horizontalOrigin = 'right'; }
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export declare const RecommendedIconWithTooltip: React.ForwardRefExoticComponent<{
|
|
3
|
+
tooltipTitle?: import("@mui/material").TooltipProps["title"];
|
|
4
|
+
tooltipPlacement?: import("@mui/material").TooltipProps["placement"];
|
|
5
|
+
showForDisabled?: boolean;
|
|
6
|
+
} & React.SVGAttributes<SVGElement> & React.RefAttributes<HTMLElement>>;
|
|
7
|
+
export type Props = {
|
|
8
|
+
children?: React.ReactNode;
|
|
9
|
+
title: string;
|
|
10
|
+
chipLabel?: number;
|
|
11
|
+
pathToTitle?: string[];
|
|
12
|
+
isOpenByDefault?: boolean;
|
|
13
|
+
isHighlighted?: boolean;
|
|
14
|
+
isRecommended?: boolean;
|
|
15
|
+
onDeleteChip?: () => void;
|
|
16
|
+
onClose?: () => void;
|
|
17
|
+
};
|
|
18
|
+
export declare const FacetContainer: ({ children, title, chipLabel, pathToTitle, isOpenByDefault, isHighlighted, isRecommended, onDeleteChip, onClose }: Props) => React.JSX.Element;
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
+
};
|
|
28
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
+
exports.FacetContainer = exports.RecommendedIconWithTooltip = void 0;
|
|
30
|
+
var react_1 = __importStar(require("react"));
|
|
31
|
+
var ui_i18n_1 = __importDefault(require("ui-i18n"));
|
|
32
|
+
var classnames_1 = __importDefault(require("classnames"));
|
|
33
|
+
var Close_1 = __importDefault(require("@mui/icons-material/Close"));
|
|
34
|
+
var CollapseButton_1 = require("../CollapseButton");
|
|
35
|
+
var SmallIconButton_1 = require("../SmallIconButton");
|
|
36
|
+
var withTooltip_1 = require("../HOCs/withTooltip");
|
|
37
|
+
var FacetTitle_1 = __importDefault(require("./components/FacetTitle/FacetTitle"));
|
|
38
|
+
var Recommended_svg_1 = __importDefault(require("./Recommended.svg"));
|
|
39
|
+
var FacetContainer_module_css_1 = __importDefault(require("./FacetContainer.module.css"));
|
|
40
|
+
exports.RecommendedIconWithTooltip = (0, withTooltip_1.withTooltip)(Recommended_svg_1.default);
|
|
41
|
+
var FacetContainer = function (_a) {
|
|
42
|
+
var _b;
|
|
43
|
+
var children = _a.children, title = _a.title, chipLabel = _a.chipLabel, pathToTitle = _a.pathToTitle, _c = _a.isOpenByDefault, isOpenByDefault = _c === void 0 ? true : _c, _d = _a.isHighlighted, isHighlighted = _d === void 0 ? false : _d, _e = _a.isRecommended, isRecommended = _e === void 0 ? false : _e, onDeleteChip = _a.onDeleteChip, onClose = _a.onClose;
|
|
44
|
+
var _f = (0, react_1.useState)(isOpenByDefault), open = _f[0], setOpen = _f[1];
|
|
45
|
+
var toggleOpen = function () {
|
|
46
|
+
setOpen(!open);
|
|
47
|
+
};
|
|
48
|
+
return (react_1.default.createElement("div", { className: (0, classnames_1.default)(FacetContainer_module_css_1.default.facetContainer, (_b = {},
|
|
49
|
+
_b[FacetContainer_module_css_1.default.openedFacetContainer] = open,
|
|
50
|
+
_b[FacetContainer_module_css_1.default.closedFacetContainer] = !open,
|
|
51
|
+
_b[FacetContainer_module_css_1.default.highlighted] = isHighlighted,
|
|
52
|
+
_b)), "data-reltio-id": "search-facet-container-".concat(title) },
|
|
53
|
+
react_1.default.createElement("div", { className: FacetContainer_module_css_1.default.titleContainer },
|
|
54
|
+
react_1.default.createElement(SmallIconButton_1.SmallIconButtonWithTooltip, { tooltipTitle: ui_i18n_1.default.text('Remove'), icon: Close_1.default, onClick: onClose, className: FacetContainer_module_css_1.default.iconButton, size: "XXS" }),
|
|
55
|
+
isRecommended && (react_1.default.createElement(exports.RecommendedIconWithTooltip, { className: FacetContainer_module_css_1.default.recommendedIcon, tooltipTitle: ui_i18n_1.default.text('Recommended'), showForDisabled: true })),
|
|
56
|
+
react_1.default.createElement(FacetTitle_1.default, { title: title, pathToTitle: pathToTitle, chipLabel: chipLabel, onDelete: onDeleteChip, onClick: toggleOpen }),
|
|
57
|
+
react_1.default.createElement(CollapseButton_1.CollapseButton, { onClick: toggleOpen, isOpen: open, className: FacetContainer_module_css_1.default.iconButton, size: "S", tooltipTitle: open ? ui_i18n_1.default.text('Collapse attribute') : ui_i18n_1.default.text('Expand attribute'), tooltipPlacement: "bottom-end" })),
|
|
58
|
+
open ? children : null));
|
|
59
|
+
};
|
|
60
|
+
exports.FacetContainer = FacetContainer;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
const styles = {"facetContainer":"FacetContainer-facetContainer--PGQJm","openedFacetContainer":"FacetContainer-openedFacetContainer--T0y7f","closedFacetContainer":"FacetContainer-closedFacetContainer--s6-qP","iconButton":"FacetContainer-iconButton--FOXN9","recommendedIcon":"FacetContainer-recommendedIcon--v3mLt","titleContainer":"FacetContainer-titleContainer--mxRz2","expandIcon":"FacetContainer-expandIcon--eNUwN","expanded":"FacetContainer-expanded--XgtFv","highlighted":"FacetContainer-highlighted--Cf-qC","animate":"FacetContainer-animate--nGob0"};
|
|
2
|
+
if (typeof document !== 'undefined') {
|
|
3
|
+
const head = document.head || document.getElementsByTagName('head')[0]
|
|
4
|
+
const style = document.createElement('style');
|
|
5
|
+
style.type = 'text/css'
|
|
6
|
+
style.innerHTML = `.FacetContainer-facetContainer--PGQJm{border-bottom:1px solid rgba(0,0,0,.33);border-radius:1px;display:flex;flex-direction:column;flex-grow:1;flex-shrink:0;padding:0 16px;position:relative}.FacetContainer-facetContainer--PGQJm:last-child{border-bottom:1px solid #fff}.FacetContainer-openedFacetContainer--T0y7f{padding-bottom:15px}.FacetContainer-closedFacetContainer--s6-qP{padding-bottom:5px}.FacetContainer-iconButton--FOXN9{visibility:hidden}.FacetContainer-iconButton--FOXN9:first-child{height:24px;margin-left:-16px;width:24px}.FacetContainer-recommendedIcon--v3mLt{flex-shrink:0;height:18px;margin-right:6px;width:18px}.FacetContainer-titleContainer--mxRz2{align-items:center;border-radius:1px;display:flex;flex-direction:row;flex-shrink:0;height:42px;margin-left:-16px;padding-left:16px}.FacetContainer-titleContainer--mxRz2:hover .FacetContainer-iconButton--FOXN9{visibility:visible}.FacetContainer-expandIcon--eNUwN{color:rgba(0,0,0,.54);margin:0 2px;transition:transform .15s ease}.FacetContainer-expanded--XgtFv{transform:rotate(180deg)}@keyframes FacetContainer-animate--nGob0{0%{background:#fffbeb}66%{background:#fffbeb}to{background:transparent}}.FacetContainer-highlighted--Cf-qC{animation-duration:3s;animation-iteration-count:1;animation-name:FacetContainer-animate--nGob0}`;
|
|
7
|
+
head.appendChild(style);
|
|
8
|
+
}
|
|
9
|
+
module.exports = styles;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
const styles = {"root":"ChipsCount-root--nvCui","deleteIcon":"ChipsCount-deleteIcon--5PYeW","outlined":"ChipsCount-outlined--GUmLb","label":"ChipsCount-label--G-hwC"};
|
|
2
|
+
if (typeof document !== 'undefined') {
|
|
3
|
+
const head = document.head || document.getElementsByTagName('head')[0]
|
|
4
|
+
const style = document.createElement('style');
|
|
5
|
+
style.type = 'text/css'
|
|
6
|
+
style.innerHTML = `.ChipsCount-root--nvCui{background-color:transparent;border:1px solid rgba(0,0,0,.12);border-radius:16px;box-sizing:border-box;height:18px}.ChipsCount-root--nvCui .ChipsCount-deleteIcon--5PYeW{color:rgba(0,0,0,.38);height:12px;margin:0;width:12px}.ChipsCount-outlined--GUmLb .ChipsCount-deleteIcon--5PYeW{margin-right:2px}.ChipsCount-label--G-hwC{color:rgba(0,0,0,.38);font-size:12px;font-weight:500;line-height:16px;padding-left:4px;padding-right:4px}`;
|
|
7
|
+
head.appendChild(style);
|
|
8
|
+
}
|
|
9
|
+
module.exports = styles;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { ChipProps } from '@mui/material/Chip';
|
|
3
|
+
export declare const ClearIconWithTooltip: React.ForwardRefExoticComponent<Omit<{
|
|
4
|
+
tooltipTitle?: import("@mui/material").TooltipProps["title"];
|
|
5
|
+
tooltipPlacement?: import("@mui/material").TooltipProps["placement"];
|
|
6
|
+
showForDisabled?: boolean;
|
|
7
|
+
} & {
|
|
8
|
+
children?: React.ReactNode;
|
|
9
|
+
classes?: Partial<import("@mui/material").SvgIconClasses>;
|
|
10
|
+
color?: import("@mui/types").OverridableStringUnion<"inherit" | "action" | "disabled" | "primary" | "secondary" | "error" | "info" | "success" | "warning", import("@mui/material").SvgIconPropsColorOverrides>;
|
|
11
|
+
fontSize?: import("@mui/types").OverridableStringUnion<"inherit" | "large" | "medium" | "small", import("@mui/material").SvgIconPropsSizeOverrides>;
|
|
12
|
+
htmlColor?: string;
|
|
13
|
+
inheritViewBox?: boolean;
|
|
14
|
+
shapeRendering?: string;
|
|
15
|
+
sx?: import("@mui/system").SxProps<import("@mui/material").Theme>;
|
|
16
|
+
titleAccess?: string;
|
|
17
|
+
viewBox?: string;
|
|
18
|
+
} & import("@mui/material/OverridableComponent").CommonProps & Omit<Omit<React.SVGProps<SVGSVGElement>, "ref"> & {
|
|
19
|
+
ref?: React.Ref<SVGSVGElement>;
|
|
20
|
+
}, "color" | "fontSize" | "shapeRendering" | "children" | "sx" | keyof import("@mui/material/OverridableComponent").CommonProps | "viewBox" | "htmlColor" | "inheritViewBox" | "titleAccess">, "ref"> & React.RefAttributes<HTMLElement>>;
|
|
21
|
+
type Props = Omit<ChipProps, 'onDelete' | 'label'> & {
|
|
22
|
+
label: number;
|
|
23
|
+
onDelete?: () => void;
|
|
24
|
+
};
|
|
25
|
+
declare const ChipsCount: ({ label, onDelete, ...extraProps }: Props) => React.JSX.Element;
|
|
26
|
+
export default ChipsCount;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
14
|
+
var t = {};
|
|
15
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
16
|
+
t[p] = s[p];
|
|
17
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
18
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
19
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
20
|
+
t[p[i]] = s[p[i]];
|
|
21
|
+
}
|
|
22
|
+
return t;
|
|
23
|
+
};
|
|
24
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
25
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
26
|
+
};
|
|
27
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
28
|
+
exports.ClearIconWithTooltip = void 0;
|
|
29
|
+
var react_1 = __importDefault(require("react"));
|
|
30
|
+
var ui_i18n_1 = __importDefault(require("ui-i18n"));
|
|
31
|
+
var Chip_1 = __importDefault(require("@mui/material/Chip"));
|
|
32
|
+
var Cancel_1 = __importDefault(require("@mui/icons-material/Cancel"));
|
|
33
|
+
var withTooltip_1 = require("../../../HOCs/withTooltip");
|
|
34
|
+
var ChipCount_module_css_1 = __importDefault(require("./ChipCount.module.css"));
|
|
35
|
+
exports.ClearIconWithTooltip = (0, withTooltip_1.withTooltip)(Cancel_1.default);
|
|
36
|
+
var ChipsCount = function (_a) {
|
|
37
|
+
var label = _a.label, onDelete = _a.onDelete, extraProps = __rest(_a, ["label", "onDelete"]);
|
|
38
|
+
return (react_1.default.createElement(Chip_1.default, __assign({ className: ChipCount_module_css_1.default.root, label: ui_i18n_1.default.number(label), onDelete: onDelete, variant: "outlined", classes: {
|
|
39
|
+
root: ChipCount_module_css_1.default.root,
|
|
40
|
+
outlined: ChipCount_module_css_1.default.outlined,
|
|
41
|
+
deleteIcon: ChipCount_module_css_1.default.deleteIcon,
|
|
42
|
+
label: ChipCount_module_css_1.default.label
|
|
43
|
+
}, deleteIcon: react_1.default.createElement(exports.ClearIconWithTooltip, { tooltipTitle: ui_i18n_1.default.text('Clear') }) }, extraProps)));
|
|
44
|
+
};
|
|
45
|
+
exports.default = ChipsCount;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
type Props = {
|
|
3
|
+
title?: string;
|
|
4
|
+
chipLabel?: number;
|
|
5
|
+
onDelete?: () => void;
|
|
6
|
+
pathToTitle?: string[];
|
|
7
|
+
onClick?: () => void;
|
|
8
|
+
};
|
|
9
|
+
declare const FacetTitle: ({ title, chipLabel, onDelete, pathToTitle, onClick }: Props) => React.JSX.Element;
|
|
10
|
+
export default FacetTitle;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
14
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
var react_1 = __importDefault(require("react"));
|
|
18
|
+
var ExpandedValueTooltip_1 = require("../../../ExpandedValueTooltip");
|
|
19
|
+
var HierarchicalAttributeTooltip_1 = require("../../../HierarchicalAttributeTooltip");
|
|
20
|
+
var ChipsCount_1 = __importDefault(require("../ChipsCount/ChipsCount"));
|
|
21
|
+
var FacetTitle_module_css_1 = __importDefault(require("./FacetTitle.module.css"));
|
|
22
|
+
var FacetTitle = function (_a) {
|
|
23
|
+
var _b = _a.title, title = _b === void 0 ? '' : _b, _c = _a.chipLabel, chipLabel = _c === void 0 ? 0 : _c, onDelete = _a.onDelete, pathToTitle = _a.pathToTitle, onClick = _a.onClick;
|
|
24
|
+
var isNested = Boolean(pathToTitle && pathToTitle.length > 2);
|
|
25
|
+
var TooltipComponent = isNested ? HierarchicalAttributeTooltip_1.HierarchicalAttributeTooltip : ExpandedValueTooltip_1.ExpandedValueTooltip;
|
|
26
|
+
var tooltipProps = isNested ? { pathToTitle: pathToTitle } : { value: title };
|
|
27
|
+
return (react_1.default.createElement("div", { className: FacetTitle_module_css_1.default.container, onClick: onClick },
|
|
28
|
+
isNested && (react_1.default.createElement(HierarchicalAttributeTooltip_1.HierarchicalAttributeTooltip, __assign({ placement: "bottom-start" }, tooltipProps),
|
|
29
|
+
react_1.default.createElement("div", { className: FacetTitle_module_css_1.default.parent }, pathToTitle[pathToTitle.length - 2]))),
|
|
30
|
+
react_1.default.createElement("div", { className: FacetTitle_module_css_1.default.titleContainer },
|
|
31
|
+
react_1.default.createElement(TooltipComponent, __assign({ placement: "bottom-start" }, tooltipProps),
|
|
32
|
+
react_1.default.createElement("span", { className: FacetTitle_module_css_1.default.title }, title)),
|
|
33
|
+
chipLabel !== 0 && (react_1.default.createElement("div", { className: FacetTitle_module_css_1.default.chip },
|
|
34
|
+
react_1.default.createElement(ChipsCount_1.default, { label: chipLabel, onDelete: onDelete }))))));
|
|
35
|
+
};
|
|
36
|
+
exports.default = FacetTitle;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
const styles = {"container":"FacetTitle-container--fegMx","parent":"FacetTitle-parent--0sIc8","titleContainer":"FacetTitle-titleContainer--e8PWF","title":"FacetTitle-title--Four7","chip":"FacetTitle-chip--L9nDB"};
|
|
2
|
+
if (typeof document !== 'undefined') {
|
|
3
|
+
const head = document.head || document.getElementsByTagName('head')[0]
|
|
4
|
+
const style = document.createElement('style');
|
|
5
|
+
style.type = 'text/css'
|
|
6
|
+
style.innerHTML = `.FacetTitle-container--fegMx{cursor:pointer;display:flex;flex-direction:column;flex-grow:1;height:100%;justify-content:center;min-width:0}.FacetTitle-parent--0sIc8{color:var(--mui-palette-text-secondary);font-size:13px;letter-spacing:0;line-height:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.FacetTitle-titleContainer--e8PWF{align-items:flex-end;display:flex;flex-direction:row;height:18px;overflow:hidden;width:100%}.FacetTitle-title--Four7{color:var(--mui-palette-text-primary);font-size:14px;font-weight:500;letter-spacing:.24px;line-height:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.FacetTitle-chip--L9nDB{display:inline;margin-left:6px}`;
|
|
7
|
+
head.appendChild(style);
|
|
8
|
+
}
|
|
9
|
+
module.exports = styles;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { FacetContainer } from './FacetContainer';
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FacetContainer = void 0;
|
|
4
|
+
var FacetContainer_1 = require("./FacetContainer");
|
|
5
|
+
Object.defineProperty(exports, "FacetContainer", { enumerable: true, get: function () { return FacetContainer_1.FacetContainer; } });
|
|
@@ -4,10 +4,10 @@ import { MoreFacetItem } from './types';
|
|
|
4
4
|
type Props = {
|
|
5
5
|
open?: boolean;
|
|
6
6
|
data?: MoreFacetItem[];
|
|
7
|
-
|
|
7
|
+
selectedFacetsFieldNames: string[];
|
|
8
8
|
onOpen: () => void;
|
|
9
9
|
onClose: () => void;
|
|
10
10
|
onFacetToggle: (item: FacetConfig, selected: boolean) => void;
|
|
11
11
|
};
|
|
12
|
-
export declare const FacetsSelector: ({ open, data,
|
|
12
|
+
export declare const FacetsSelector: ({ open, data, selectedFacetsFieldNames, onOpen, onClose, onFacetToggle }: Props) => React.JSX.Element;
|
|
13
13
|
export default FacetsSelector;
|
|
@@ -34,7 +34,7 @@ var SearchInput_1 = require("../SearchInput");
|
|
|
34
34
|
var helpers_1 = require("./helpers");
|
|
35
35
|
var FacetsSelector_module_css_1 = __importDefault(require("./FacetsSelector.module.css"));
|
|
36
36
|
var FacetsSelector = function (_a) {
|
|
37
|
-
var open = _a.open, data = _a.data,
|
|
37
|
+
var open = _a.open, data = _a.data, selectedFacetsFieldNames = _a.selectedFacetsFieldNames, onOpen = _a.onOpen, onClose = _a.onClose, onFacetToggle = _a.onFacetToggle;
|
|
38
38
|
var _b = (0, react_1.useState)(''), filterText = _b[0], setFilterText = _b[1];
|
|
39
39
|
var _c = (0, react_1.useState)(null), lastFacetClicked = _c[0], setLastFacetClicked = _c[1];
|
|
40
40
|
var searchInputRootRef = (0, react_1.useRef)(null);
|
|
@@ -55,7 +55,7 @@ var FacetsSelector = function (_a) {
|
|
|
55
55
|
}, [onOpen]);
|
|
56
56
|
return (react_1.default.createElement(react_1.default.Fragment, null,
|
|
57
57
|
react_1.default.createElement(SearchInput_1.SearchInput, { classes: { root: FacetsSelector_module_css_1.default.inputContainer }, onSearch: setFilterText, onFocus: handleOpen, rootRef: searchInputRootRef, value: filterText, placeholder: ui_i18n_1.default.text('Search & add attributes'), height: 40, "data-reltio-id": "reltio-search-more-facets-search-input" }),
|
|
58
|
-
react_1.default.createElement(AttributeSelectorPopup_1.AttributeSelectorPopup, { open: open,
|
|
58
|
+
react_1.default.createElement(AttributeSelectorPopup_1.AttributeSelectorPopup, { open: open, selectedFacetsFieldNames: selectedFacetsFieldNames, data: filteredList, lastFacetClicked: lastFacetClicked, anchorRef: searchInputRootRef, onListItemClick: handleListItemClick, onClose: handleClose, onSearch: setFilterText })));
|
|
59
59
|
};
|
|
60
60
|
exports.FacetsSelector = FacetsSelector;
|
|
61
61
|
exports.default = exports.FacetsSelector;
|
|
@@ -3,7 +3,7 @@ import { FacetConfig } from '@reltio/mdm-sdk';
|
|
|
3
3
|
import { MoreFacetItem, SelectedFacet } from '../../types';
|
|
4
4
|
type Props = {
|
|
5
5
|
open?: boolean;
|
|
6
|
-
|
|
6
|
+
selectedFacetsFieldNames: string[];
|
|
7
7
|
data?: MoreFacetItem[];
|
|
8
8
|
lastFacetClicked?: SelectedFacet;
|
|
9
9
|
anchorRef: React.RefObject<HTMLInputElement>;
|
|
@@ -11,5 +11,5 @@ type Props = {
|
|
|
11
11
|
onSearch?: (value?: string) => void;
|
|
12
12
|
onClose?: () => void;
|
|
13
13
|
};
|
|
14
|
-
export declare const AttributeSelectorPopup: ({ open,
|
|
14
|
+
export declare const AttributeSelectorPopup: ({ open, selectedFacetsFieldNames, data, lastFacetClicked, anchorRef, onListItemClick, onSearch, onClose }: Props) => React.JSX.Element;
|
|
15
15
|
export {};
|
|
@@ -42,7 +42,7 @@ var AttributeSelectorPopup_module_css_1 = __importDefault(require("./AttributeSe
|
|
|
42
42
|
var defaultLastFacetClicked = {};
|
|
43
43
|
var AttributeSelectorPopup = function (_a) {
|
|
44
44
|
var _b, _c;
|
|
45
|
-
var open = _a.open,
|
|
45
|
+
var open = _a.open, selectedFacetsFieldNames = _a.selectedFacetsFieldNames, _d = _a.data, data = _d === void 0 ? [] : _d, _e = _a.lastFacetClicked, lastFacetClicked = _e === void 0 ? defaultLastFacetClicked : _e, anchorRef = _a.anchorRef, onListItemClick = _a.onListItemClick, onSearch = _a.onSearch, onClose = _a.onClose;
|
|
46
46
|
var _f = (0, react_1.useState)(constants_1.DEFAULT_LIST_HEIGHT), listHeight = _f[0], setListHeight = _f[1];
|
|
47
47
|
var _g = (0, helpers_1.adjustVerticalPopupLayout)(anchorRef.current, constants_1.DEFAULT_ATTRIBUTE_SELECTOR_POPUP_HEIGHT), verticalOrigin = _g.verticalOrigin, _h = _g.popupHeight, popupHeight = _h === void 0 ? constants_1.DEFAULT_ATTRIBUTE_SELECTOR_POPUP_HEIGHT : _h;
|
|
48
48
|
var maxListHeight = popupHeight - constants_1.POPUP_HEADER_HEIGHT;
|
|
@@ -90,17 +90,17 @@ var AttributeSelectorPopup = function (_a) {
|
|
|
90
90
|
var popupWidth = (_c = (_b = anchorRef.current) === null || _b === void 0 ? void 0 : _b.getBoundingClientRect().width) !== null && _c !== void 0 ? _c : 0;
|
|
91
91
|
var handleSearchOnEnter = (0, react_1.useCallback)(function (_a) {
|
|
92
92
|
var item = _a.item, groupData = _a.groupData;
|
|
93
|
-
onListItemClick(item, !(0, helpers_1.isSelectedFacet)({ facet: item,
|
|
94
|
-
}, [onListItemClick,
|
|
93
|
+
onListItemClick(item, !(0, helpers_1.isSelectedFacet)({ facet: item, selectedFacetsFieldNames: selectedFacetsFieldNames }), groupData.groupId);
|
|
94
|
+
}, [onListItemClick, selectedFacetsFieldNames]);
|
|
95
95
|
var _j = (0, useKeyboardNavigation_1.useKeyboardNavigation)({
|
|
96
96
|
items: items,
|
|
97
97
|
open: open,
|
|
98
98
|
onSelectFocusedItem: handleSearchOnEnter,
|
|
99
|
-
selectedItems:
|
|
99
|
+
selectedItems: selectedFacetsFieldNames
|
|
100
100
|
}), focusIndex = _j.focusIndex, handleKeyDown = _j.handleKeyDown;
|
|
101
101
|
var containerWidth = Math.max(popupWidth || (0, mdm_sdk_1.getMaxItemWidth)('title')(groupedItems), constants_1.DEFAULT_MIN_CONTAINER_WIDTH);
|
|
102
102
|
return (react_1.default.createElement(SelectionPopup_1.SelectionPopup, { open: open, action: popupActionRef, title: ui_i18n_1.default.text('Select attribute'), containerWidth: containerWidth, searchInputOnKeyDown: handleKeyDown, containerHeight: constants_1.POPUP_HEADER_HEIGHT + listHeight, anchorOrigin: popupOrigin, transformOrigin: popupOrigin, headerPlacement: verticalOrigin === 'bottom' ? 'bottom' : 'top', anchorEl: anchorRef.current, disableRestoreFocus: true, onSearch: onSearch, onClose: onClose },
|
|
103
|
-
react_1.default.createElement(FacetsList_1.FacetsList, { focusIndex: focusIndex,
|
|
103
|
+
react_1.default.createElement(FacetsList_1.FacetsList, { focusIndex: focusIndex, selectedFacetsFieldNames: selectedFacetsFieldNames, onListItemClick: onListItemClick, items: items, height: listHeight, onInnerContainerResize: handleResizeList }),
|
|
104
104
|
items.length === 0 && (react_1.default.createElement("div", { className: AttributeSelectorPopup_module_css_1.default.noResultsCaptionContainer },
|
|
105
105
|
react_1.default.createElement(Typography_1.default, { variant: "caption", display: "block", gutterBottom: true }, ui_i18n_1.default.text('No results found'))))));
|
|
106
106
|
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React, { ComponentProps } from 'react';
|
|
2
|
-
import { AttributeType
|
|
2
|
+
import { AttributeType } from '@reltio/mdm-sdk';
|
|
3
3
|
import { VirtualGroupedList } from '../../../VirtualGroupedList';
|
|
4
4
|
type Data = {
|
|
5
5
|
fieldName: string;
|
|
@@ -10,8 +10,8 @@ type Data = {
|
|
|
10
10
|
};
|
|
11
11
|
type Props = Omit<ComponentProps<typeof VirtualGroupedList>, 'renderItem' | 'getItemSize'> & {
|
|
12
12
|
focusIndex: number;
|
|
13
|
-
|
|
13
|
+
selectedFacetsFieldNames: string[];
|
|
14
14
|
onListItemClick: (data: Data, checked: boolean, groupId: string) => void;
|
|
15
15
|
};
|
|
16
|
-
export declare const FacetsList: ({ onListItemClick, focusIndex,
|
|
16
|
+
export declare const FacetsList: ({ onListItemClick, focusIndex, selectedFacetsFieldNames, ...otherProps }: Props) => React.JSX.Element;
|
|
17
17
|
export {};
|
|
@@ -58,24 +58,24 @@ var Highlighter_1 = require("../../../Highlighter");
|
|
|
58
58
|
var AttributeGroupIcon_1 = require("../../../AttributeGroupIcon");
|
|
59
59
|
var constants_1 = require("../../constants");
|
|
60
60
|
var MdmModuleContext_1 = require("../../../contexts/MdmModuleContext");
|
|
61
|
+
var ExpandedValueTooltip_1 = require("../../../ExpandedValueTooltip");
|
|
61
62
|
var FacetsList_module_css_1 = __importDefault(require("./FacetsList.module.css"));
|
|
62
63
|
var ITEM_GROUP_TITLE_HEIGHT = 40;
|
|
63
64
|
var FacetsList = function (_a) {
|
|
64
|
-
var onListItemClick = _a.onListItemClick, focusIndex = _a.focusIndex,
|
|
65
|
-
var selectedFacetsRef = (0, react_1.useRef)(null);
|
|
66
|
-
selectedFacetsRef.current = selectedFacets;
|
|
65
|
+
var onListItemClick = _a.onListItemClick, focusIndex = _a.focusIndex, selectedFacetsFieldNames = _a.selectedFacetsFieldNames, otherProps = __rest(_a, ["onListItemClick", "focusIndex", "selectedFacetsFieldNames"]);
|
|
67
66
|
var focusIndexRef = (0, react_1.useRef)(null);
|
|
68
67
|
focusIndexRef.current = focusIndex;
|
|
69
68
|
var metadata = (0, MdmModuleContext_1.useMdmMetadata)();
|
|
70
69
|
var renderItem = (0, react_1.useCallback)(function (style, _a, index) {
|
|
71
70
|
var item = _a.item, level = _a.level, groupId = _a.groupId;
|
|
72
|
-
var checked = (0, helpers_1.isSelectedFacet)({ facet: item,
|
|
71
|
+
var checked = (0, helpers_1.isSelectedFacet)({ facet: item, selectedFacetsFieldNames: selectedFacetsFieldNames });
|
|
73
72
|
var isFocused = focusIndexRef.current === index;
|
|
74
73
|
return (react_1.default.createElement(AttributeListItem_1.AttributeListItem, { key: "item-".concat(groupId, "-").concat(item.fieldName), onClick: onListItemClick, data: item, label: react_1.default.createElement(Highlighter_1.Highlighter, { text: item.title, highlight: item.filterText }), labelInText: item.title, level: level, style: style, checked: checked, isFocused: isFocused, groupId: groupId, LogoIcon: item.LogoIcon }));
|
|
75
|
-
}, [onListItemClick]);
|
|
74
|
+
}, [onListItemClick, selectedFacetsFieldNames]);
|
|
76
75
|
var renderGroupTitle = (0, react_1.useCallback)(function (style, item) { return (react_1.default.createElement(ListItem_1.default, { component: 'div', className: FacetsList_module_css_1.default.subHeader, style: style, key: "group-".concat(item.item.id) },
|
|
77
76
|
item.item.needGroupIcon && react_1.default.createElement(AttributeGroupIcon_1.AttributeGroupIcon, { metadata: metadata, group: item.item }),
|
|
78
|
-
item.item.title
|
|
77
|
+
react_1.default.createElement(ExpandedValueTooltip_1.ExpandedValueTooltip, { value: item.item.title },
|
|
78
|
+
react_1.default.createElement("div", { className: FacetsList_module_css_1.default.subHeaderTitle }, item.item.title)))); }, [metadata]);
|
|
79
79
|
var getItemSize = (0, react_1.useCallback)(function (i, item) { return (item.items ? ITEM_GROUP_TITLE_HEIGHT : constants_1.FACET_LIST_ITEM_HEIGHT); }, []);
|
|
80
80
|
return (react_1.default.createElement(VirtualGroupedList_1.VirtualGroupedList, __assign({ getItemSize: getItemSize, renderGroupTitle: renderGroupTitle, renderItem: renderItem, focusIndex: focusIndex }, otherProps, { disableHorizontalScrollbar: true })));
|
|
81
81
|
};
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
const styles = {"subHeader":"FacetsList-subHeader--jcWLn","icon":"FacetsList-icon--HO3ZO","recommendedIcon":"FacetsList-recommendedIcon--ekXsX"};
|
|
1
|
+
const styles = {"subHeader":"FacetsList-subHeader--jcWLn","icon":"FacetsList-icon--HO3ZO","recommendedIcon":"FacetsList-recommendedIcon--ekXsX","subHeaderTitle":"FacetsList-subHeaderTitle--iOKhO"};
|
|
2
2
|
if (typeof document !== 'undefined') {
|
|
3
3
|
const head = document.head || document.getElementsByTagName('head')[0]
|
|
4
4
|
const style = document.createElement('style');
|
|
5
5
|
style.type = 'text/css'
|
|
6
|
-
style.innerHTML = `.FacetsList-subHeader--jcWLn{align-items:center;background-color:#f5f5f5;color:rgba(0,0,0,.84);display:flex;font-size:14px;font-weight:500;margin:0;padding:0 16px}.FacetsList-subHeader--jcWLn .FacetsList-icon--HO3ZO{margin-right:16px;max-height:25px;max-width:25px}.FacetsList-recommendedIcon--ekXsX:is(.FacetsList-subHeader--jcWLn .FacetsList-icon--HO3ZO){height:20px;width:20px}`;
|
|
6
|
+
style.innerHTML = `.FacetsList-subHeader--jcWLn{align-items:center;background-color:#f5f5f5;color:rgba(0,0,0,.84);display:flex;font-size:14px;font-weight:500;margin:0;padding:0 16px}.FacetsList-subHeader--jcWLn .FacetsList-icon--HO3ZO{margin-right:16px;max-height:25px;max-width:25px}.FacetsList-recommendedIcon--ekXsX:is(.FacetsList-subHeader--jcWLn .FacetsList-icon--HO3ZO){height:20px;width:20px}.FacetsList-subHeaderTitle--iOKhO{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}`;
|
|
7
7
|
head.appendChild(style);
|
|
8
8
|
}
|
|
9
9
|
module.exports = styles;
|
|
@@ -5,9 +5,9 @@ declare const adjustVerticalPopupLayout: (anchorEl: HTMLElement, popupHeight: nu
|
|
|
5
5
|
popupHeight: number;
|
|
6
6
|
};
|
|
7
7
|
declare const filterItemsInGroups: (groups: MoreFacetItem[], filterText: string) => MoreFacetItem[];
|
|
8
|
-
declare const isSelectedFacet: ({ facet,
|
|
8
|
+
declare const isSelectedFacet: ({ facet, selectedFacetsFieldNames }: {
|
|
9
9
|
facet: any;
|
|
10
|
-
|
|
10
|
+
selectedFacetsFieldNames: any;
|
|
11
11
|
}) => boolean;
|
|
12
12
|
declare const constructPopoverOrigin: (verticalOrigin: PopoverOrigin["vertical"], horizontalOrigin?: PopoverOrigin["horizontal"]) => {
|
|
13
13
|
vertical: number | "bottom" | "top" | "center";
|
|
@@ -54,8 +54,8 @@ var filterItemsInGroups = function (groups, filterText) {
|
|
|
54
54
|
};
|
|
55
55
|
exports.filterItemsInGroups = filterItemsInGroups;
|
|
56
56
|
var isSelectedFacet = function (_a) {
|
|
57
|
-
var facet = _a.facet,
|
|
58
|
-
return !!
|
|
57
|
+
var facet = _a.facet, selectedFacetsFieldNames = _a.selectedFacetsFieldNames;
|
|
58
|
+
return !!selectedFacetsFieldNames.find(function (fieldName) { return fieldName === facet.fieldName || fieldName.includes("".concat(facet.fieldName, ".")); });
|
|
59
59
|
};
|
|
60
60
|
exports.isSelectedFacet = isSelectedFacet;
|
|
61
61
|
var constructPopoverOrigin = function (verticalOrigin, horizontalOrigin) {
|
package/cjs/index.d.ts
CHANGED
|
@@ -190,6 +190,7 @@ export { FacetGroup } from './FacetGroup';
|
|
|
190
190
|
export { QuickFiltersEntityTypeFacet } from './QuickFiltersEntityTypeFacet';
|
|
191
191
|
export { FacetGroupTitle } from './FacetGroupTitle';
|
|
192
192
|
export { FacetsSelector } from './FacetsSelector';
|
|
193
|
+
export { FacetContainer } from './FacetContainer';
|
|
193
194
|
export { withTooltip } from './HOCs/withTooltip';
|
|
194
195
|
export { withAsyncMount } from './HOCs/withAsyncMount';
|
|
195
196
|
export { withDragHandle } from './HOCs/withDragHandle';
|
package/cjs/index.js
CHANGED
|
@@ -18,10 +18,10 @@ exports.NestedAttributeEditor = exports.NestedAttribute = exports.MoreAttributes
|
|
|
18
18
|
exports.DropDownSelector = exports.ReactSelectOptionWithCheckIcon = exports.ReactSelectMenuWithPopper = exports.ReactSelectMenuList = exports.ReactSelectLoadMoreButton = exports.ReactSelectDropdownIndicatorWithIconButton = exports.ReactSelectDropdownIndicator = exports.Highlighter = exports.HierarchyNodeTitle = exports.HierarchicalAttributeTooltip = exports.HideOnShrink = exports.ExpandableSearchInput = exports.ErrorPopup = exports.ErrorBoundary = exports.SegmentIdLink = exports.EntityUriLink = exports.EntityTypesSelector = exports.EntityTypeIcon = exports.EntityTypeBadge = exports.EntityAvatar = exports.EMPTY_STATE_VARIANTS = exports.EMPTY_STATE_ICONS = exports.EmptyState = exports.Drawer = exports.DataTypeValue = exports.DataTenantBadge = exports.ConnectionRelationTypeSelector = exports.CollaborationItem = exports.ConfirmationDialog = exports.CommentsContainer = exports.ColoredSourceIcon = exports.CollapseButton = exports.TreeChart = exports.TableWithBars = exports.SourceIcon = exports.SmallIconButtonWithTooltip = exports.SmallIconButton = exports.SimpleAttributeEditor = exports.SimpleAttribute = exports.RowCellAutoSizer = exports.RelationTypeSelector = exports.ReferenceAttributeEditor = exports.ReferenceAttribute = exports.ImageAttributesLine = exports.ReadOnlyAttributesPager = exports.ReadOnlyAttributesList = exports.ReadOnlyAttribute = exports.ReadOnlyAttributeValuesBlock = exports.PieChart = exports.OvIcon = void 0;
|
|
19
19
|
exports.SimpleMatchRulesBuilder = exports.SimpleMatchRulesBlock = exports.SimpleMatchRules = exports.MatchRulesBlock = exports.LoadingSpinner = exports.Link = exports.LinearLoadIndicator = exports.ImportButton = exports.ReadableSearchQueryBuilder = exports.ReadableSearchQuery = exports.LogicOperator = exports.TableSkeleton = exports.StepNavigation = exports.TenantLabel = exports.RelevanceScoreBadge = exports.RequiredMark = exports.SettingsMenu = exports.TenantsDropDownSelector = exports.TenantIcon = exports.SourceSystemsSelector = exports.MatchRulesSelector = exports.MultiValueSelector = exports.ProfilesList = exports.NotMatchButton = exports.MergeButton = exports.ProfileMatchCard = exports.ImageGalleryDialog = exports.RelationTypesSelector = exports.ScreenProfileBand = exports.ProfileBandNavigation = exports.EmptyStub = exports.MaskingSwitcher = exports.FileTypeEditor = exports.EmptySearchResult = exports.DropDownEditor = exports.FilterValueEditor = exports.MultiValueChip = exports.TextEditor = exports.DateRangeEditor = exports.NumberEditor = exports.DataTypeValueEditor = exports.DateEditor = exports.ErrorWrapper = exports.ErrorMessage = exports.HIDE = exports.INSERT_RIGHT = exports.INSERT_LEFT = exports.ConfigColumnPopup = exports.ConfigureColumnsPopup = exports.ConnectionEditor = void 0;
|
|
20
20
|
exports.FacetGroup = exports.QuickFiltersFacetPanel = exports.AdvancedSearchFabButton = exports.QuickFiltersDrawer = exports.DefaultHeadCellRendererWithTooltip = exports.LazyRenderer = exports.MetadataTypesSelector = exports.DateRangeSelector = exports.UpSetChart = exports.GaugeChart = exports.RelationEditor = exports.ReltioMap = exports.Marginator = exports.LightArrowTooltip = exports.ScrollableTabs = exports.VirtualGroupedList = exports.ViewMoreToggle = exports.VerticalHeadingsTable = exports.VerticalDivider = exports.AttributeTitle = exports.Spacer = exports.SimpleDropDownSelector = exports.SidePanelContentHeader = exports.SidePanel = exports.SidePanelEmptyState = exports.SideButtonsPanel = exports.SelectorWithOnlyOptionAutoSelect = exports.SelectionPopup = exports.WhiteSearchInput = exports.SearchInput = exports.ProfileResizablePanes = exports.ResizablePanes = exports.ReltioGridLayout = exports.RCTreeSwitchRenderer = exports.RCTreeLevelLines = exports.RCTree = exports.reactSortableTreeHelpers = exports.ReactSortableTree = exports.MultiSelect = exports.QueryBuilderRowsGroup = exports.QueryBuilderRow = exports.ProfileCard = exports.ProfileBand = exports.PotentialMatchReviewCard = exports.PopupWithArrow = exports.Popper = exports.MultipleInput = exports.ModeSwitcherSelect = exports.ModeSwitcher = exports.TransitiveMatchBlock = void 0;
|
|
21
|
-
exports.
|
|
22
|
-
exports.
|
|
23
|
-
exports.
|
|
24
|
-
exports.mockComputedStyles = exports.FakeMouseEvent = exports.rerenderWrapper = exports.mockElementSizes = exports.fixClicksOnResizablePanes = void 0;
|
|
21
|
+
exports.SearchFiltersContext = exports.useReloadFacet = exports.ReloadFacetProvider = exports.useReloadAllFacets = exports.SandboxAPIContext = exports.RelationContext = exports.EntityContext = exports.RelatedObjectUrisContext = exports.WorkflowTasksContext = exports.useEntityLoadingIndication = exports.EntityLoadingIndicationProvider = exports.EntityMarkerContext = exports.useAttributeExpanded = exports.ExpandedAttributesProvider = exports.useHighlightedCrosswalks = exports.useCrosswalkHighlight = exports.useCrosswalkFocus = exports.useCrosswalkColor = exports.CrosswalksDisplayProvider = exports.EntitiesMapContext = exports.IdContext = exports.ProfilePerspectiveViewContext = exports.usePerspectivesSettings = exports.PerspectivesSettingsContext = exports.PivotingAttributeContext = exports.UsersContext = exports.InitialCollaborationContextValue = exports.CollaborationContextProvider = exports.CollaborationContext = exports.BlockNavigationContext = exports.BlockImageGalleryDialogContext = exports.PopupBoundariesContext = exports.HistoryDiffContext = exports.AsyncMountContext = exports.MdmModuleProvider = exports.withColumnConfigurator = exports.withBlockNavigation = exports.withCollapseButton = exports.withTableContext = exports.withFilterAtBottom = exports.withPercents = exports.withContext = exports.withDateRangeSelector = exports.withDragHandle = exports.withAsyncMount = exports.withTooltip = exports.FacetContainer = exports.FacetsSelector = exports.FacetGroupTitle = exports.QuickFiltersEntityTypeFacet = void 0;
|
|
22
|
+
exports.usePagingSimulator = exports.useMatchesLoader = exports.useConfigPermissions = exports.useWhyDidYouUpdate = exports.useUsers = exports.useSavedState = exports.useSafePromise = exports.useRunOnceAfterValueInitialization = exports.useRelationsLoader = exports.useRelationTypeSelector = exports.usePrevious = exports.useDidUpdateEffect = exports.useCommentsEntitiesMap = exports.useCollaboration = exports.useAsyncMount = exports.useAPI = exports.useActions = exports.useMatchesColumnsData = exports.useScrollToAttributeError = exports.ThemeProvider = exports.ProfileTablesContext = exports.HiddenAttributesContext = exports.BasicTableContext = exports.BasicTableRowCollapseContext = exports.useDeleteUnmaskedAttributeForRelation = exports.useUnmaskedAttributeValue = exports.useUnmaskAttributeValue = exports.useMaskAttributeValue = exports.MaskedAttributesProvider = exports.useReloadData = exports.ReloadDataProvider = exports.useAttributeValueConfigPermissions = exports.ConfigPermissionsContextProvider = exports.ConfigPermissionsContext = exports.useActionsHook = exports.ActionsHookProvider = exports.PageRequestsAbortingContext = exports.DependentLookupAutopopulationContext = exports.FeaturesContext = exports.LabelsContext = exports.UrlGeneratorsContext = exports.isHighlightedAttributeType = exports.isHighlightedErrorType = exports.ScrollType = exports.ScrollToElementProvider = exports.ScrollToElementContext = exports.SearchValueContext = exports.InterceptHandlersContext = exports.HighlightedValuesContext = exports.SnackbarContext = void 0;
|
|
23
|
+
exports.getMuiIconsByName = exports.getMuiIconByName = exports.deepFreeze = exports.awaitMockPromises = exports.TestStylesProvider = exports.TestPerspectivesSettingsProvider = exports.getAttrPathFromColumnId = exports.getAttributeHeight = exports.getNestedPathByColumnId = exports.applyCompactValuesCountConstraint = exports.getAttributeSelectorItems = exports.mergeClasses = exports.isControlOrCommandPressed = exports.getValue = exports.getChecked = exports.showErrorMessage = exports.showDefaultErrorMessage = exports.enrichDataWithPercents = exports.defaultRenderRowCell = exports.defaultGetRowCellHeight = exports.columnFilterToMdmFilter = exports.buildColumnsSizeById = exports.buildColumnsFilter = exports.useSegmentsLoader = exports.useDndBasicTableScrollModifier = exports.useDynamicYAxisWidth = exports.useFilterAutoFocus = exports.useSegmentationRequest = exports.resolveMarkers = exports.useMarkers = exports.useMaskedAttribute = exports.useKeyboardNavigation = exports.useDynamicRowCellHeight = exports.useClickableStyle = exports.BasicTableCellRenderer = exports.useBasicTableCellRenderer = exports.useHiddenAttributes = exports.useSavedSearchesRequest = exports.useRequestDCRReview = exports.useAutoFocus = exports.useExpandInvalidRelations = exports.useLayoutResetter = exports.useIsMountedRef = exports.useSnackbar = exports.useSavedStateForEntityType = exports.useReadableSearchState = exports.useEditableConnection = exports.useCustomScripts = exports.useMarkAsNotMatchRequest = exports.useMergeAllRequest = void 0;
|
|
24
|
+
exports.mockComputedStyles = exports.FakeMouseEvent = exports.rerenderWrapper = exports.mockElementSizes = exports.fixClicksOnResizablePanes = exports.mockBasicTableSizing = void 0;
|
|
25
25
|
// components
|
|
26
26
|
var ActionButton_1 = require("./ActionButton");
|
|
27
27
|
Object.defineProperty(exports, "ActionButton", { enumerable: true, get: function () { return ActionButton_1.ActionButton; } });
|
|
@@ -417,6 +417,8 @@ var FacetGroupTitle_1 = require("./FacetGroupTitle");
|
|
|
417
417
|
Object.defineProperty(exports, "FacetGroupTitle", { enumerable: true, get: function () { return FacetGroupTitle_1.FacetGroupTitle; } });
|
|
418
418
|
var FacetsSelector_1 = require("./FacetsSelector");
|
|
419
419
|
Object.defineProperty(exports, "FacetsSelector", { enumerable: true, get: function () { return FacetsSelector_1.FacetsSelector; } });
|
|
420
|
+
var FacetContainer_1 = require("./FacetContainer");
|
|
421
|
+
Object.defineProperty(exports, "FacetContainer", { enumerable: true, get: function () { return FacetContainer_1.FacetContainer; } });
|
|
420
422
|
// HOCs
|
|
421
423
|
var withTooltip_1 = require("./HOCs/withTooltip");
|
|
422
424
|
Object.defineProperty(exports, "withTooltip", { enumerable: true, get: function () { return withTooltip_1.withTooltip; } });
|
package/index.d.ts
CHANGED
|
@@ -190,6 +190,7 @@ export { FacetGroup } from './FacetGroup';
|
|
|
190
190
|
export { QuickFiltersEntityTypeFacet } from './QuickFiltersEntityTypeFacet';
|
|
191
191
|
export { FacetGroupTitle } from './FacetGroupTitle';
|
|
192
192
|
export { FacetsSelector } from './FacetsSelector';
|
|
193
|
+
export { FacetContainer } from './FacetContainer';
|
|
193
194
|
export { withTooltip } from './HOCs/withTooltip';
|
|
194
195
|
export { withAsyncMount } from './HOCs/withAsyncMount';
|
|
195
196
|
export { withDragHandle } from './HOCs/withDragHandle';
|
package/index.js
CHANGED
|
@@ -190,6 +190,7 @@ export { FacetGroup } from './FacetGroup';
|
|
|
190
190
|
export { QuickFiltersEntityTypeFacet } from './QuickFiltersEntityTypeFacet';
|
|
191
191
|
export { FacetGroupTitle } from './FacetGroupTitle';
|
|
192
192
|
export { FacetsSelector } from './FacetsSelector';
|
|
193
|
+
export { FacetContainer } from './FacetContainer';
|
|
193
194
|
// HOCs
|
|
194
195
|
export { withTooltip } from './HOCs/withTooltip';
|
|
195
196
|
export { withAsyncMount } from './HOCs/withAsyncMount';
|