@hitachivantara/uikit-react-core 3.71.0 → 3.72.0
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/dist/FilterGroup/FilterContent/FilterContent.d.ts +49 -0
- package/dist/FilterGroup/FilterContent/FilterContent.js +9 -3
- package/dist/FilterGroup/FilterContent/FilterContent.js.map +1 -1
- package/dist/FilterGroup/FilterContent/index.d.ts +2 -0
- package/dist/FilterGroup/FilterGroup.d.ts +3 -2
- package/dist/FilterGroup/LeftPanel/LeftPanel.js +6 -4
- package/dist/FilterGroup/LeftPanel/LeftPanel.js.map +1 -1
- package/dist/FilterGroup/RightPanel/RightPanel.js +6 -4
- package/dist/FilterGroup/RightPanel/RightPanel.js.map +1 -1
- package/dist/legacy/FilterGroup/FilterContent/FilterContent.d.ts +49 -0
- package/dist/legacy/FilterGroup/FilterContent/FilterContent.js +9 -3
- package/dist/legacy/FilterGroup/FilterContent/FilterContent.js.map +1 -1
- package/dist/legacy/FilterGroup/FilterContent/index.d.ts +2 -0
- package/dist/legacy/FilterGroup/FilterGroup.d.ts +3 -2
- package/dist/legacy/FilterGroup/LeftPanel/LeftPanel.js +6 -4
- package/dist/legacy/FilterGroup/LeftPanel/LeftPanel.js.map +1 -1
- package/dist/legacy/FilterGroup/RightPanel/RightPanel.js +6 -4
- package/dist/legacy/FilterGroup/RightPanel/RightPanel.js.map +1 -1
- package/dist/modern/FilterGroup/FilterContent/FilterContent.d.ts +49 -0
- package/dist/modern/FilterGroup/FilterContent/FilterContent.js +10 -4
- package/dist/modern/FilterGroup/FilterContent/FilterContent.js.map +1 -1
- package/dist/modern/FilterGroup/FilterContent/index.d.ts +2 -0
- package/dist/modern/FilterGroup/FilterGroup.d.ts +3 -2
- package/dist/modern/FilterGroup/LeftPanel/LeftPanel.js +6 -4
- package/dist/modern/FilterGroup/LeftPanel/LeftPanel.js.map +1 -1
- package/dist/modern/FilterGroup/RightPanel/RightPanel.js +6 -4
- package/dist/modern/FilterGroup/RightPanel/RightPanel.js.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { StandardProps } from "@material-ui/core";
|
|
3
|
+
import { FilterValue, HvBaseDropdownProps } from "../..";
|
|
4
|
+
|
|
5
|
+
export type HvFilterContentClassKey =
|
|
6
|
+
| "root"
|
|
7
|
+
| "panel"
|
|
8
|
+
| "actionBar"
|
|
9
|
+
| "space"
|
|
10
|
+
| "header"
|
|
11
|
+
| "baseDropdownSelection"
|
|
12
|
+
| "leftSidePanel"
|
|
13
|
+
| "rightSidePanel";
|
|
14
|
+
|
|
15
|
+
export interface HvFilterContentProps
|
|
16
|
+
extends StandardProps<HvBaseDropdownProps, HvFilterContentClassKey, "onChange"> {
|
|
17
|
+
description?: React.ReactNode;
|
|
18
|
+
status?: "standBy" | "valid" | "invalid";
|
|
19
|
+
|
|
20
|
+
onChange?: (evt: React.MouseEventHandler<HTMLButtonElement>, filterValues: FilterValue[]) => void;
|
|
21
|
+
onCancel?: (evt: any[]) => void;
|
|
22
|
+
onClear?: (evt: React.MouseEventHandler<HTMLButtonElement>) => void;
|
|
23
|
+
|
|
24
|
+
labels?: {
|
|
25
|
+
applyLabel?: string;
|
|
26
|
+
cancelLabel?: string;
|
|
27
|
+
clearLabel?: string;
|
|
28
|
+
placeholder?: string;
|
|
29
|
+
searchBoxPlaceholder?: string;
|
|
30
|
+
selectAll?: string;
|
|
31
|
+
multiSelectionConjunction?: string;
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
horizontalPlacement?: "left" | "right";
|
|
35
|
+
disablePortal?: boolean;
|
|
36
|
+
escapeWithReference?: boolean;
|
|
37
|
+
height?: any;
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* Element to render when there are no filters
|
|
41
|
+
*/
|
|
42
|
+
leftEmptyElement?: React.ReactNode;
|
|
43
|
+
/**
|
|
44
|
+
* Element to render when the selected filter has no values
|
|
45
|
+
*/
|
|
46
|
+
rightEmptyElement?: React.ReactNode;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
export default function HvFilterContent(props: HvFilterContentProps): JSX.Element | null;
|
|
@@ -59,7 +59,7 @@ var _ = require("../..");
|
|
|
59
59
|
|
|
60
60
|
var _Filters, _Counter;
|
|
61
61
|
|
|
62
|
-
var _excluded = ["id", "status", "disabled", "aria-label", "aria-labelledby", "description", "aria-describedby", "onChange", "onCancel", "onClear", "labels", "horizontalPlacement", "disablePortal", "escapeWithReference", "height"];
|
|
62
|
+
var _excluded = ["id", "status", "disabled", "aria-label", "aria-labelledby", "description", "aria-describedby", "onChange", "onCancel", "onClear", "labels", "horizontalPlacement", "disablePortal", "escapeWithReference", "height", "leftEmptyElement", "rightEmptyElement"];
|
|
63
63
|
|
|
64
64
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
65
65
|
|
|
@@ -85,6 +85,8 @@ var FilterContent = function FilterContent(_ref) {
|
|
|
85
85
|
_ref$escapeWithRefere = _ref.escapeWithReference,
|
|
86
86
|
escapeWithReference = _ref$escapeWithRefere === void 0 ? true : _ref$escapeWithRefere,
|
|
87
87
|
height = _ref.height,
|
|
88
|
+
leftEmptyElement = _ref.leftEmptyElement,
|
|
89
|
+
rightEmptyElement = _ref.rightEmptyElement,
|
|
88
90
|
others = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
89
91
|
var classes = (0, _styles.default)();
|
|
90
92
|
|
|
@@ -183,10 +185,12 @@ var FilterContent = function FilterContent(_ref) {
|
|
|
183
185
|
}
|
|
184
186
|
}, /*#__PURE__*/_react.default.createElement(_LeftPanel.default, {
|
|
185
187
|
id: id,
|
|
186
|
-
className: classes.leftSidePanel
|
|
188
|
+
className: classes.leftSidePanel,
|
|
189
|
+
emptyElement: leftEmptyElement
|
|
187
190
|
}), /*#__PURE__*/_react.default.createElement(_RightPanel.default, {
|
|
188
191
|
id: id,
|
|
189
192
|
className: classes.rightSidePanel,
|
|
193
|
+
emptyElement: rightEmptyElement,
|
|
190
194
|
labels: labels
|
|
191
195
|
})), /*#__PURE__*/_react.default.createElement(_.HvActionBar, {
|
|
192
196
|
className: classes.actionBar
|
|
@@ -233,7 +237,9 @@ process.env.NODE_ENV !== "production" ? FilterContent.propTypes = {
|
|
|
233
237
|
horizontalPlacement: _propTypes.default.oneOf(["left", "right"]),
|
|
234
238
|
disablePortal: _propTypes.default.bool,
|
|
235
239
|
escapeWithReference: _propTypes.default.bool,
|
|
236
|
-
height: _propTypes.default.any
|
|
240
|
+
height: _propTypes.default.any,
|
|
241
|
+
leftEmptyElement: _propTypes.default.node,
|
|
242
|
+
rightEmptyElement: _propTypes.default.node
|
|
237
243
|
} : void 0;
|
|
238
244
|
var _default = FilterContent;
|
|
239
245
|
exports.default = _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FilterContent.js","names":["FilterContent","id","status","disabled","ariaLabel","ariaLabelledBy","description","ariaDescribedBy","onChange","onCancel","onClear","labels","horizontalPlacement","disablePortal","escapeWithReference","height","others","classes","useStyles","useState","filterGroupOpen","setFilterGroupOpen","useContext","FilterGroupContext","defaultValue","filterValues","rollbackFilters","clearFilters","applyFilters","applyDisabled","focusTarget","useRef","focusOnContainer","current","focus","onApplyHandler","evt","onCancelHandler","onClearHandler","handleToggle","open","Header","useMemo","placeholder","setId","root","dropdown","panel","selection","baseDropdownSelection","header","modifiers","name","enabled","undefined","join","trim","leftSidePanel","rightSidePanel","actionBar","flat","length","clearLabel","space","applyLabel","cancelLabel","propTypes","PropTypes","string","node","bool","oneOf","func","shape","searchBoxPlaceholder","selectAll","multiSelectionConjunction","any"],"sources":["../../../src/FilterGroup/FilterContent/FilterContent.js"],"sourcesContent":["import React, { useMemo, useState, useRef, useContext } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { Filters } from \"@hitachivantara/uikit-react-icons\";\nimport { FilterGroupContext } from \"../FilterGroupContext\";\nimport LeftPanel from \"../LeftPanel\";\nimport RightPanel from \"../RightPanel\";\nimport Counter from \"../Counter\";\n\nimport useStyles from \"./styles\";\n\nimport { setId, HvBaseDropdown, HvTypography, HvButton, HvActionBar } from \"../..\";\n\nconst FilterContent = ({\n id,\n status,\n disabled = false,\n\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n description,\n \"aria-describedby\": ariaDescribedBy,\n\n onChange,\n onCancel,\n onClear,\n\n labels,\n\n horizontalPlacement = \"right\",\n disablePortal = true,\n escapeWithReference = true,\n\n height,\n\n ...others\n}) => {\n const classes = useStyles();\n const [filterGroupOpen, setFilterGroupOpen] = useState(false);\n\n const { defaultValue, filterValues, rollbackFilters, clearFilters, applyFilters, applyDisabled } =\n useContext(FilterGroupContext);\n\n const focusTarget = useRef();\n\n const focusOnContainer = () => {\n focusTarget.current?.focus();\n };\n\n const onApplyHandler = (evt) => {\n applyFilters();\n onChange?.(evt, filterValues);\n setFilterGroupOpen(false);\n };\n\n const onCancelHandler = (evt) => {\n rollbackFilters();\n onCancel?.(evt);\n setFilterGroupOpen(false);\n };\n\n const onClearHandler = (evt) => {\n clearFilters();\n onClear?.(evt);\n };\n\n const handleToggle = (evt, open) => {\n /* \n If evt is null this toggle wasn't triggered by the user.\n instead it was triggered by the baseDropdown useEffect after\n the datepicker changed the expanded value this baseDropdown behavior needs a review\n */\n if (evt === null) return;\n setFilterGroupOpen(open);\n if (!open) onCancelHandler?.(evt);\n };\n\n const Header = useMemo(\n () => (\n <>\n <Filters />\n <HvTypography variant=\"highlightText\">{labels.placeholder}</HvTypography>\n </>\n ),\n [labels.placeholder]\n );\n\n return (\n <HvBaseDropdown\n id={setId(id, \"dropdown\")}\n role=\"combobox\"\n classes={{\n root: classes.dropdown,\n panel: classes.panel,\n selection: classes.baseDropdownSelection,\n header: classes.header,\n }}\n disabled={disabled}\n disablePortal={disablePortal}\n variableWidth\n placement={horizontalPlacement}\n expanded={filterGroupOpen}\n onToggle={handleToggle}\n onClickOutside={onCancelHandler}\n onContainerCreation={focusOnContainer}\n placeholder={Header}\n adornment={<Counter />}\n popperProps={{ modifiers: [{ name: \"preventOverflow\", enabled: escapeWithReference }] }}\n aria-haspopup=\"dialog\"\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledBy}\n aria-invalid={status === \"invalid\" ? true : undefined}\n aria-errormessage={status === \"invalid\" ? setId(id, \"error\") : undefined}\n aria-describedby={\n [description && setId(id, \"description\"), ariaDescribedBy].join(\" \").trim() || undefined\n }\n {...others}\n >\n <div ref={focusTarget} tabIndex={-1} />\n <div className={classes.root} style={{ height }}>\n <LeftPanel id={id} className={classes.leftSidePanel} />\n <RightPanel id={id} className={classes.rightSidePanel} labels={labels} />\n </div>\n <HvActionBar className={classes.actionBar}>\n <HvButton\n id={setId(id, \"clearFilters-button\")}\n disabled={\n defaultValue\n ? defaultValue?.flat().length === filterValues?.flat().length\n : filterValues?.flat().length === 0\n }\n category=\"ghost\"\n onClick={onClearHandler}\n >\n {labels.clearLabel}\n </HvButton>\n <div aria-hidden=\"true\" className={classes.space}>\n \n </div>\n <HvButton\n id={setId(id, \"apply-button\")}\n disabled={applyDisabled}\n category=\"ghost\"\n onClick={onApplyHandler}\n >\n {labels.applyLabel}\n </HvButton>\n <HvButton id={setId(id, \"cancel-button\")} category=\"ghost\" onClick={onCancelHandler}>\n {labels.cancelLabel}\n </HvButton>\n </HvActionBar>\n </HvBaseDropdown>\n );\n};\n\nFilterContent.propTypes = {\n id: PropTypes.string,\n\n \"aria-label\": PropTypes.string,\n \"aria-labelledby\": PropTypes.string,\n description: PropTypes.node,\n \"aria-describedby\": PropTypes.string,\n disabled: PropTypes.bool,\n status: PropTypes.oneOf([\"standBy\", \"valid\", \"invalid\"]),\n\n onChange: PropTypes.func,\n onCancel: PropTypes.func,\n onClear: PropTypes.func,\n\n labels: PropTypes.shape({\n applyLabel: PropTypes.string,\n cancelLabel: PropTypes.string,\n clearLabel: PropTypes.string,\n placeholder: PropTypes.string,\n searchBoxPlaceholder: PropTypes.string,\n selectAll: PropTypes.string,\n multiSelectionConjunction: PropTypes.string,\n }),\n\n horizontalPlacement: PropTypes.oneOf([\"left\", \"right\"]),\n disablePortal: PropTypes.bool,\n escapeWithReference: PropTypes.bool,\n height: PropTypes.any,\n};\n\nexport default FilterContent;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEA;;AAEA;;;;;;;;;;AAEA,IAAMA,aAAa,GAAG,SAAhBA,aAAgB,OAuBhB;EAAA,IAtBJC,EAsBI,QAtBJA,EAsBI;EAAA,IArBJC,MAqBI,QArBJA,MAqBI;EAAA,yBApBJC,QAoBI;EAAA,IApBJA,QAoBI,8BApBO,KAoBP;EAAA,IAlBUC,SAkBV,QAlBJ,YAkBI;EAAA,IAjBeC,cAiBf,QAjBJ,iBAiBI;EAAA,IAhBJC,WAgBI,QAhBJA,WAgBI;EAAA,IAfgBC,eAehB,QAfJ,kBAeI;EAAA,IAbJC,QAaI,QAbJA,QAaI;EAAA,IAZJC,QAYI,QAZJA,QAYI;EAAA,IAXJC,OAWI,QAXJA,OAWI;EAAA,IATJC,MASI,QATJA,MASI;EAAA,iCAPJC,mBAOI;EAAA,IAPJA,mBAOI,sCAPkB,OAOlB;EAAA,8BANJC,aAMI;EAAA,IANJA,aAMI,mCANY,IAMZ;EAAA,iCALJC,mBAKI;EAAA,IALJA,mBAKI,sCALkB,IAKlB;EAAA,IAHJC,MAGI,QAHJA,MAGI;EAAA,IADDC,MACC;EACJ,IAAMC,OAAO,GAAG,IAAAC,eAAA,GAAhB;;EACA,gBAA8C,IAAAC,eAAA,EAAS,KAAT,CAA9C;EAAA;EAAA,IAAOC,eAAP;EAAA,IAAwBC,kBAAxB;;EAEA,kBACE,IAAAC,iBAAA,EAAWC,sCAAX,CADF;EAAA,IAAQC,YAAR,eAAQA,YAAR;EAAA,IAAsBC,YAAtB,eAAsBA,YAAtB;EAAA,IAAoCC,eAApC,eAAoCA,eAApC;EAAA,IAAqDC,YAArD,eAAqDA,YAArD;EAAA,IAAmEC,YAAnE,eAAmEA,YAAnE;EAAA,IAAiFC,aAAjF,eAAiFA,aAAjF;;EAGA,IAAMC,WAAW,GAAG,IAAAC,aAAA,GAApB;;EAEA,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAmB,GAAM;IAAA;;IAC7B,wBAAAF,WAAW,CAACG,OAAZ,8EAAqBC,KAArB;EACD,CAFD;;EAIA,IAAMC,cAAc,GAAG,SAAjBA,cAAiB,CAACC,GAAD,EAAS;IAC9BR,YAAY;IACZpB,QAAQ,SAAR,IAAAA,QAAQ,WAAR,YAAAA,QAAQ,CAAG4B,GAAH,EAAQX,YAAR,CAAR;IACAJ,kBAAkB,CAAC,KAAD,CAAlB;EACD,CAJD;;EAMA,IAAMgB,eAAe,GAAG,SAAlBA,eAAkB,CAACD,GAAD,EAAS;IAC/BV,eAAe;IACfjB,QAAQ,SAAR,IAAAA,QAAQ,WAAR,YAAAA,QAAQ,CAAG2B,GAAH,CAAR;IACAf,kBAAkB,CAAC,KAAD,CAAlB;EACD,CAJD;;EAMA,IAAMiB,cAAc,GAAG,SAAjBA,cAAiB,CAACF,GAAD,EAAS;IAC9BT,YAAY;IACZjB,OAAO,SAAP,IAAAA,OAAO,WAAP,YAAAA,OAAO,CAAG0B,GAAH,CAAP;EACD,CAHD;;EAKA,IAAMG,YAAY,GAAG,SAAfA,YAAe,CAACH,GAAD,EAAMI,IAAN,EAAe;IAClC;AACJ;AACA;AACA;AACA;IACI,IAAIJ,GAAG,KAAK,IAAZ,EAAkB;IAClBf,kBAAkB,CAACmB,IAAD,CAAlB;IACA,IAAI,CAACA,IAAL,EAAWH,eAAe,SAAf,IAAAA,eAAe,WAAf,YAAAA,eAAe,CAAGD,GAAH,CAAf;EACZ,CATD;;EAWA,IAAMK,MAAM,GAAG,IAAAC,cAAA,EACb;IAAA,oBACE,iGACE,6BAAC,wBAAD,OADF,gBAEE,6BAAC,cAAD;MAAc,OAAO,EAAC;IAAtB,GAAuC/B,MAAM,CAACgC,WAA9C,CAFF,CADF;EAAA,CADa,EAOb,CAAChC,MAAM,CAACgC,WAAR,CAPa,CAAf;EAUA,oBACE,6BAAC,gBAAD;IACE,EAAE,EAAE,IAAAC,OAAA,EAAM3C,EAAN,EAAU,UAAV,CADN;IAEE,IAAI,EAAC,UAFP;IAGE,OAAO,EAAE;MACP4C,IAAI,EAAE5B,OAAO,CAAC6B,QADP;MAEPC,KAAK,EAAE9B,OAAO,CAAC8B,KAFR;MAGPC,SAAS,EAAE/B,OAAO,CAACgC,qBAHZ;MAIPC,MAAM,EAAEjC,OAAO,CAACiC;IAJT,CAHX;IASE,QAAQ,EAAE/C,QATZ;IAUE,aAAa,EAAEU,aAVjB;IAWE,aAAa,MAXf;IAYE,SAAS,EAAED,mBAZb;IAaE,QAAQ,EAAEQ,eAbZ;IAcE,QAAQ,EAAEmB,YAdZ;IAeE,cAAc,EAAEF,eAflB;IAgBE,mBAAmB,EAAEL,gBAhBvB;IAiBE,WAAW,EAAES,MAjBf;IAkBE,SAAS,uCAAE,6BAAC,iBAAD,OAAF,CAlBX;IAmBE,WAAW,EAAE;MAAEU,SAAS,EAAE,CAAC;QAAEC,IAAI,EAAE,iBAAR;QAA2BC,OAAO,EAAEvC;MAApC,CAAD;IAAb,CAnBf;IAoBE,iBAAc,QApBhB;IAqBE,cAAYV,SArBd;IAsBE,mBAAiBC,cAtBnB;IAuBE,gBAAcH,MAAM,KAAK,SAAX,GAAuB,IAAvB,GAA8BoD,SAvB9C;IAwBE,qBAAmBpD,MAAM,KAAK,SAAX,GAAuB,IAAA0C,OAAA,EAAM3C,EAAN,EAAU,OAAV,CAAvB,GAA4CqD,SAxBjE;IAyBE,oBACE,CAAChD,WAAW,IAAI,IAAAsC,OAAA,EAAM3C,EAAN,EAAU,aAAV,CAAhB,EAA0CM,eAA1C,EAA2DgD,IAA3D,CAAgE,GAAhE,EAAqEC,IAArE,MAA+EF;EA1BnF,GA4BMtC,MA5BN,gBA8BE;IAAK,GAAG,EAAEc,WAAV;IAAuB,QAAQ,EAAE,CAAC;EAAlC,EA9BF,eA+BE;IAAK,SAAS,EAAEb,OAAO,CAAC4B,IAAxB;IAA8B,KAAK,EAAE;MAAE9B,MAAM,EAANA;IAAF;EAArC,gBACE,6BAAC,kBAAD;IAAW,EAAE,EAAEd,EAAf;IAAmB,SAAS,EAAEgB,OAAO,CAACwC;EAAtC,EADF,eAEE,6BAAC,mBAAD;IAAY,EAAE,EAAExD,EAAhB;IAAoB,SAAS,EAAEgB,OAAO,CAACyC,cAAvC;IAAuD,MAAM,EAAE/C;EAA/D,EAFF,CA/BF,eAmCE,6BAAC,aAAD;IAAa,SAAS,EAAEM,OAAO,CAAC0C;EAAhC,gBACE,6BAAC,UAAD;IACE,EAAE,EAAE,IAAAf,OAAA,EAAM3C,EAAN,EAAU,qBAAV,CADN;IAEE,QAAQ,EACNuB,YAAY,GACR,CAAAA,YAAY,SAAZ,IAAAA,YAAY,WAAZ,YAAAA,YAAY,CAAEoC,IAAd,GAAqBC,MAArB,OAAgCpC,YAAhC,aAAgCA,YAAhC,uBAAgCA,YAAY,CAAEmC,IAAd,GAAqBC,MAArD,CADQ,GAER,CAAApC,YAAY,SAAZ,IAAAA,YAAY,WAAZ,YAAAA,YAAY,CAAEmC,IAAd,GAAqBC,MAArB,MAAgC,CALxC;IAOE,QAAQ,EAAC,OAPX;IAQE,OAAO,EAAEvB;EARX,GAUG3B,MAAM,CAACmD,UAVV,CADF,eAaE;IAAK,eAAY,MAAjB;IAAwB,SAAS,EAAE7C,OAAO,CAAC8C;EAA3C,UAbF,eAgBE,6BAAC,UAAD;IACE,EAAE,EAAE,IAAAnB,OAAA,EAAM3C,EAAN,EAAU,cAAV,CADN;IAEE,QAAQ,EAAE4B,aAFZ;IAGE,QAAQ,EAAC,OAHX;IAIE,OAAO,EAAEM;EAJX,GAMGxB,MAAM,CAACqD,UANV,CAhBF,eAwBE,6BAAC,UAAD;IAAU,EAAE,EAAE,IAAApB,OAAA,EAAM3C,EAAN,EAAU,eAAV,CAAd;IAA0C,QAAQ,EAAC,OAAnD;IAA2D,OAAO,EAAEoC;EAApE,GACG1B,MAAM,CAACsD,WADV,CAxBF,CAnCF,CADF;AAkED,CA5ID;;AA8IA,wCAAAjE,aAAa,CAACkE,SAAd,GAA0B;EACxBjE,EAAE,EAAEkE,kBAAA,CAAUC,MADU;EAGxB,cAAcD,kBAAA,CAAUC,MAHA;EAIxB,mBAAmBD,kBAAA,CAAUC,MAJL;EAKxB9D,WAAW,EAAE6D,kBAAA,CAAUE,IALC;EAMxB,oBAAoBF,kBAAA,CAAUC,MANN;EAOxBjE,QAAQ,EAAEgE,kBAAA,CAAUG,IAPI;EAQxBpE,MAAM,EAAEiE,kBAAA,CAAUI,KAAV,CAAgB,CAAC,SAAD,EAAY,OAAZ,EAAqB,SAArB,CAAhB,CARgB;EAUxB/D,QAAQ,EAAE2D,kBAAA,CAAUK,IAVI;EAWxB/D,QAAQ,EAAE0D,kBAAA,CAAUK,IAXI;EAYxB9D,OAAO,EAAEyD,kBAAA,CAAUK,IAZK;EAcxB7D,MAAM,EAAEwD,kBAAA,CAAUM,KAAV,CAAgB;IACtBT,UAAU,EAAEG,kBAAA,CAAUC,MADA;IAEtBH,WAAW,EAAEE,kBAAA,CAAUC,MAFD;IAGtBN,UAAU,EAAEK,kBAAA,CAAUC,MAHA;IAItBzB,WAAW,EAAEwB,kBAAA,CAAUC,MAJD;IAKtBM,oBAAoB,EAAEP,kBAAA,CAAUC,MALV;IAMtBO,SAAS,EAAER,kBAAA,CAAUC,MANC;IAOtBQ,yBAAyB,EAAET,kBAAA,CAAUC;EAPf,CAAhB,CAdgB;EAwBxBxD,mBAAmB,EAAEuD,kBAAA,CAAUI,KAAV,CAAgB,CAAC,MAAD,EAAS,OAAT,CAAhB,CAxBG;EAyBxB1D,aAAa,EAAEsD,kBAAA,CAAUG,IAzBD;EA0BxBxD,mBAAmB,EAAEqD,kBAAA,CAAUG,IA1BP;EA2BxBvD,MAAM,EAAEoD,kBAAA,CAAUU;AA3BM,CAA1B;eA8Be7E,a"}
|
|
1
|
+
{"version":3,"file":"FilterContent.js","names":["FilterContent","id","status","disabled","ariaLabel","ariaLabelledBy","description","ariaDescribedBy","onChange","onCancel","onClear","labels","horizontalPlacement","disablePortal","escapeWithReference","height","leftEmptyElement","rightEmptyElement","others","classes","useStyles","useState","filterGroupOpen","setFilterGroupOpen","useContext","FilterGroupContext","defaultValue","filterValues","rollbackFilters","clearFilters","applyFilters","applyDisabled","focusTarget","useRef","focusOnContainer","current","focus","onApplyHandler","evt","onCancelHandler","onClearHandler","handleToggle","open","Header","useMemo","placeholder","setId","root","dropdown","panel","selection","baseDropdownSelection","header","modifiers","name","enabled","undefined","join","trim","leftSidePanel","rightSidePanel","actionBar","flat","length","clearLabel","space","applyLabel","cancelLabel","propTypes","PropTypes","string","node","bool","oneOf","func","shape","searchBoxPlaceholder","selectAll","multiSelectionConjunction","any"],"sources":["../../../src/FilterGroup/FilterContent/FilterContent.js"],"sourcesContent":["import React, { useMemo, useState, useRef, useContext } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { Filters } from \"@hitachivantara/uikit-react-icons\";\nimport { FilterGroupContext } from \"../FilterGroupContext\";\nimport LeftPanel from \"../LeftPanel\";\nimport RightPanel from \"../RightPanel\";\nimport Counter from \"../Counter\";\n\nimport useStyles from \"./styles\";\n\nimport { setId, HvBaseDropdown, HvTypography, HvButton, HvActionBar } from \"../..\";\n\nconst FilterContent = ({\n id,\n status,\n disabled = false,\n\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n description,\n \"aria-describedby\": ariaDescribedBy,\n\n onChange,\n onCancel,\n onClear,\n\n labels,\n\n horizontalPlacement = \"right\",\n disablePortal = true,\n escapeWithReference = true,\n\n height,\n leftEmptyElement,\n rightEmptyElement,\n\n ...others\n}) => {\n const classes = useStyles();\n const [filterGroupOpen, setFilterGroupOpen] = useState(false);\n\n const { defaultValue, filterValues, rollbackFilters, clearFilters, applyFilters, applyDisabled } =\n useContext(FilterGroupContext);\n\n const focusTarget = useRef();\n\n const focusOnContainer = () => {\n focusTarget.current?.focus();\n };\n\n const onApplyHandler = (evt) => {\n applyFilters();\n onChange?.(evt, filterValues);\n setFilterGroupOpen(false);\n };\n\n const onCancelHandler = (evt) => {\n rollbackFilters();\n onCancel?.(evt);\n setFilterGroupOpen(false);\n };\n\n const onClearHandler = (evt) => {\n clearFilters();\n onClear?.(evt);\n };\n\n const handleToggle = (evt, open) => {\n /* \n If evt is null this toggle wasn't triggered by the user.\n instead it was triggered by the baseDropdown useEffect after\n the datepicker changed the expanded value this baseDropdown behavior needs a review\n */\n if (evt === null) return;\n setFilterGroupOpen(open);\n if (!open) onCancelHandler?.(evt);\n };\n\n const Header = useMemo(\n () => (\n <>\n <Filters />\n <HvTypography variant=\"highlightText\">{labels.placeholder}</HvTypography>\n </>\n ),\n [labels.placeholder]\n );\n\n return (\n <HvBaseDropdown\n id={setId(id, \"dropdown\")}\n role=\"combobox\"\n classes={{\n root: classes.dropdown,\n panel: classes.panel,\n selection: classes.baseDropdownSelection,\n header: classes.header,\n }}\n disabled={disabled}\n disablePortal={disablePortal}\n variableWidth\n placement={horizontalPlacement}\n expanded={filterGroupOpen}\n onToggle={handleToggle}\n onClickOutside={onCancelHandler}\n onContainerCreation={focusOnContainer}\n placeholder={Header}\n adornment={<Counter />}\n popperProps={{ modifiers: [{ name: \"preventOverflow\", enabled: escapeWithReference }] }}\n aria-haspopup=\"dialog\"\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledBy}\n aria-invalid={status === \"invalid\" ? true : undefined}\n aria-errormessage={status === \"invalid\" ? setId(id, \"error\") : undefined}\n aria-describedby={\n [description && setId(id, \"description\"), ariaDescribedBy].join(\" \").trim() || undefined\n }\n {...others}\n >\n <div ref={focusTarget} tabIndex={-1} />\n <div className={classes.root} style={{ height }}>\n <LeftPanel id={id} className={classes.leftSidePanel} emptyElement={leftEmptyElement} />\n <RightPanel\n id={id}\n className={classes.rightSidePanel}\n emptyElement={rightEmptyElement}\n labels={labels}\n />\n </div>\n <HvActionBar className={classes.actionBar}>\n <HvButton\n id={setId(id, \"clearFilters-button\")}\n disabled={\n defaultValue\n ? defaultValue?.flat().length === filterValues?.flat().length\n : filterValues?.flat().length === 0\n }\n category=\"ghost\"\n onClick={onClearHandler}\n >\n {labels.clearLabel}\n </HvButton>\n <div aria-hidden=\"true\" className={classes.space}>\n \n </div>\n <HvButton\n id={setId(id, \"apply-button\")}\n disabled={applyDisabled}\n category=\"ghost\"\n onClick={onApplyHandler}\n >\n {labels.applyLabel}\n </HvButton>\n <HvButton id={setId(id, \"cancel-button\")} category=\"ghost\" onClick={onCancelHandler}>\n {labels.cancelLabel}\n </HvButton>\n </HvActionBar>\n </HvBaseDropdown>\n );\n};\n\nFilterContent.propTypes = {\n id: PropTypes.string,\n\n \"aria-label\": PropTypes.string,\n \"aria-labelledby\": PropTypes.string,\n description: PropTypes.node,\n \"aria-describedby\": PropTypes.string,\n disabled: PropTypes.bool,\n status: PropTypes.oneOf([\"standBy\", \"valid\", \"invalid\"]),\n\n onChange: PropTypes.func,\n onCancel: PropTypes.func,\n onClear: PropTypes.func,\n\n labels: PropTypes.shape({\n applyLabel: PropTypes.string,\n cancelLabel: PropTypes.string,\n clearLabel: PropTypes.string,\n placeholder: PropTypes.string,\n searchBoxPlaceholder: PropTypes.string,\n selectAll: PropTypes.string,\n multiSelectionConjunction: PropTypes.string,\n }),\n\n horizontalPlacement: PropTypes.oneOf([\"left\", \"right\"]),\n disablePortal: PropTypes.bool,\n escapeWithReference: PropTypes.bool,\n height: PropTypes.any,\n leftEmptyElement: PropTypes.node,\n rightEmptyElement: PropTypes.node,\n};\n\nexport default FilterContent;\n"],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { StandardProps } from "@material-ui/core";
|
|
2
|
-
import {
|
|
2
|
+
import { HvFormElementProps } from "..";
|
|
3
|
+
import { HvFilterContentProps } from "./FilterContent";
|
|
3
4
|
|
|
4
5
|
export type HvFilterGroupClassKey = "root" | "labelContainer" | "label" | "description" | "error";
|
|
5
6
|
|
|
@@ -105,7 +106,7 @@ export interface HvFilterGroupProps
|
|
|
105
106
|
/**
|
|
106
107
|
* Other props, passed to `FilterContent` and `HvBaseDropdown` components
|
|
107
108
|
*/
|
|
108
|
-
filterContentProps?:
|
|
109
|
+
filterContentProps?: Partial<HvFilterContentProps>;
|
|
109
110
|
}
|
|
110
111
|
|
|
111
112
|
export default function HvFilterGroup(props: HvFilterGroupProps): JSX.Element | null;
|
|
@@ -47,7 +47,8 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
|
47
47
|
|
|
48
48
|
var LeftPanel = function LeftPanel(_ref) {
|
|
49
49
|
var id = _ref.id,
|
|
50
|
-
className = _ref.className
|
|
50
|
+
className = _ref.className,
|
|
51
|
+
emptyElement = _ref.emptyElement;
|
|
51
52
|
var classes = (0, _styles.default)();
|
|
52
53
|
|
|
53
54
|
var _useContext = (0, _react.useContext)(_FilterGroupContext.FilterGroupContext),
|
|
@@ -58,7 +59,7 @@ var LeftPanel = function LeftPanel(_ref) {
|
|
|
58
59
|
return /*#__PURE__*/_react.default.createElement(_.HvPanel, {
|
|
59
60
|
id: (0, _.setId)(id, "leftPanel"),
|
|
60
61
|
className: (0, _clsx.default)(className, classes.root)
|
|
61
|
-
}, /*#__PURE__*/_react.default.createElement(_.HvListContainer, {
|
|
62
|
+
}, filterOptions.length > 0 ? /*#__PURE__*/_react.default.createElement(_.HvListContainer, {
|
|
62
63
|
id: (0, _.setId)(id, "leftPanel-list"),
|
|
63
64
|
condensed: true,
|
|
64
65
|
interactive: true
|
|
@@ -76,12 +77,13 @@ var LeftPanel = function LeftPanel(_ref) {
|
|
|
76
77
|
id: group.id
|
|
77
78
|
})
|
|
78
79
|
}, /*#__PURE__*/_react.default.createElement(ItemText, null));
|
|
79
|
-
})));
|
|
80
|
+
})) : emptyElement);
|
|
80
81
|
};
|
|
81
82
|
|
|
82
83
|
process.env.NODE_ENV !== "production" ? LeftPanel.propTypes = {
|
|
83
84
|
id: _propTypes.default.string,
|
|
84
|
-
className: _propTypes.default.string
|
|
85
|
+
className: _propTypes.default.string,
|
|
86
|
+
emptyElement: _propTypes.default.node
|
|
85
87
|
} : void 0;
|
|
86
88
|
var _default = LeftPanel;
|
|
87
89
|
exports.default = _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LeftPanel.js","names":["LeftPanel","id","className","classes","useStyles","useContext","FilterGroupContext","filterOptions","activeGroup","setActiveGroup","setId","clsx","root","map","group","index","ItemText","wrapperTooltip","name","filterItem","propTypes","PropTypes","string"],"sources":["../../../src/FilterGroup/LeftPanel/LeftPanel.js"],"sourcesContent":["import React, { useContext } from \"react\";\nimport clsx from \"clsx\";\nimport PropTypes from \"prop-types\";\nimport { HvPanel, HvListContainer, HvListItem, setId } from \"../..\";\nimport { FilterGroupContext } from \"../FilterGroupContext\";\nimport Counter from \"../Counter\";\nimport useStyles from \"./styles\";\nimport { wrapperTooltip } from \"../../List/utils\";\n\nconst LeftPanel = ({ id, className }) => {\n const classes = useStyles();\n const { filterOptions, activeGroup, setActiveGroup } = useContext(FilterGroupContext);\n\n return (\n <HvPanel id={setId(id, \"leftPanel\")} className={clsx(className, classes.root)}>\n <HvListContainer id={setId(id, \"leftPanel-list\")} condensed interactive>\n
|
|
1
|
+
{"version":3,"file":"LeftPanel.js","names":["LeftPanel","id","className","emptyElement","classes","useStyles","useContext","FilterGroupContext","filterOptions","activeGroup","setActiveGroup","setId","clsx","root","length","map","group","index","ItemText","wrapperTooltip","name","filterItem","propTypes","PropTypes","string","node"],"sources":["../../../src/FilterGroup/LeftPanel/LeftPanel.js"],"sourcesContent":["import React, { useContext } from \"react\";\nimport clsx from \"clsx\";\nimport PropTypes from \"prop-types\";\nimport { HvPanel, HvListContainer, HvListItem, setId } from \"../..\";\nimport { FilterGroupContext } from \"../FilterGroupContext\";\nimport Counter from \"../Counter\";\nimport useStyles from \"./styles\";\nimport { wrapperTooltip } from \"../../List/utils\";\n\nconst LeftPanel = ({ id, className, emptyElement }) => {\n const classes = useStyles();\n const { filterOptions, activeGroup, setActiveGroup } = useContext(FilterGroupContext);\n\n return (\n <HvPanel id={setId(id, \"leftPanel\")} className={clsx(className, classes.root)}>\n {filterOptions.length > 0 ? (\n <HvListContainer id={setId(id, \"leftPanel-list\")} condensed interactive>\n {filterOptions.map((group, index) => {\n const ItemText = wrapperTooltip(true, group.name, group.name);\n return (\n <HvListItem\n id={group.id}\n className={classes.filterItem}\n key={group.name}\n onClick={() => setActiveGroup(index)}\n selected={filterOptions[activeGroup].id === group.id}\n endAdornment={<Counter id={group.id} />}\n >\n <ItemText />\n </HvListItem>\n );\n })}\n </HvListContainer>\n ) : (\n emptyElement\n )}\n </HvPanel>\n );\n};\n\nLeftPanel.propTypes = {\n id: PropTypes.string,\n className: PropTypes.string,\n emptyElement: PropTypes.node,\n};\n\nexport default LeftPanel;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;AAEA,IAAMA,SAAS,GAAG,SAAZA,SAAY,OAAqC;EAAA,IAAlCC,EAAkC,QAAlCA,EAAkC;EAAA,IAA9BC,SAA8B,QAA9BA,SAA8B;EAAA,IAAnBC,YAAmB,QAAnBA,YAAmB;EACrD,IAAMC,OAAO,GAAG,IAAAC,eAAA,GAAhB;;EACA,kBAAuD,IAAAC,iBAAA,EAAWC,sCAAX,CAAvD;EAAA,IAAQC,aAAR,eAAQA,aAAR;EAAA,IAAuBC,WAAvB,eAAuBA,WAAvB;EAAA,IAAoCC,cAApC,eAAoCA,cAApC;;EAEA,oBACE,6BAAC,SAAD;IAAS,EAAE,EAAE,IAAAC,OAAA,EAAMV,EAAN,EAAU,WAAV,CAAb;IAAqC,SAAS,EAAE,IAAAW,aAAA,EAAKV,SAAL,EAAgBE,OAAO,CAACS,IAAxB;EAAhD,GACGL,aAAa,CAACM,MAAd,GAAuB,CAAvB,gBACC,6BAAC,iBAAD;IAAiB,EAAE,EAAE,IAAAH,OAAA,EAAMV,EAAN,EAAU,gBAAV,CAArB;IAAkD,SAAS,MAA3D;IAA4D,WAAW;EAAvE,GACGO,aAAa,CAACO,GAAd,CAAkB,UAACC,KAAD,EAAQC,KAAR,EAAkB;IACnC,IAAMC,QAAQ,GAAG,IAAAC,qBAAA,EAAe,IAAf,EAAqBH,KAAK,CAACI,IAA3B,EAAiCJ,KAAK,CAACI,IAAvC,CAAjB;IACA,oBACE,6BAAC,YAAD;MACE,EAAE,EAAEJ,KAAK,CAACf,EADZ;MAEE,SAAS,EAAEG,OAAO,CAACiB,UAFrB;MAGE,GAAG,EAAEL,KAAK,CAACI,IAHb;MAIE,OAAO,EAAE;QAAA,OAAMV,cAAc,CAACO,KAAD,CAApB;MAAA,CAJX;MAKE,QAAQ,EAAET,aAAa,CAACC,WAAD,CAAb,CAA2BR,EAA3B,KAAkCe,KAAK,CAACf,EALpD;MAME,YAAY,eAAE,6BAAC,gBAAD;QAAS,EAAE,EAAEe,KAAK,CAACf;MAAnB;IANhB,gBAQE,6BAAC,QAAD,OARF,CADF;EAYD,CAdA,CADH,CADD,GAmBCE,YApBJ,CADF;AAyBD,CA7BD;;AA+BA,wCAAAH,SAAS,CAACsB,SAAV,GAAsB;EACpBrB,EAAE,EAAEsB,kBAAA,CAAUC,MADM;EAEpBtB,SAAS,EAAEqB,kBAAA,CAAUC,MAFD;EAGpBrB,YAAY,EAAEoB,kBAAA,CAAUE;AAHJ,CAAtB;eAMezB,S"}
|
|
@@ -76,7 +76,8 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
|
|
|
76
76
|
var RightPanel = function RightPanel(_ref) {
|
|
77
77
|
var id = _ref.id,
|
|
78
78
|
className = _ref.className,
|
|
79
|
-
labels = _ref.labels
|
|
79
|
+
labels = _ref.labels,
|
|
80
|
+
emptyElement = _ref.emptyElement;
|
|
80
81
|
var classes = (0, _styles.default)();
|
|
81
82
|
|
|
82
83
|
var _useState = (0, _react.useState)(""),
|
|
@@ -192,7 +193,7 @@ var RightPanel = function RightPanel(_ref) {
|
|
|
192
193
|
return /*#__PURE__*/_react.default.createElement(_.HvPanel, {
|
|
193
194
|
id: (0, _.setId)(id, "rightPanel"),
|
|
194
195
|
className: (0, _clsx.default)(className, classes.root)
|
|
195
|
-
}, /*#__PURE__*/_react.default.createElement(_.HvInput, {
|
|
196
|
+
}, listValues.length > 0 ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_.HvInput, {
|
|
196
197
|
id: (0, _.setId)(id, "search"),
|
|
197
198
|
classes: {
|
|
198
199
|
root: classes.search
|
|
@@ -215,7 +216,7 @@ var RightPanel = function RightPanel(_ref) {
|
|
|
215
216
|
selectable: true,
|
|
216
217
|
condensed: true,
|
|
217
218
|
hasTooltips: true
|
|
218
|
-
}));
|
|
219
|
+
})) : emptyElement);
|
|
219
220
|
};
|
|
220
221
|
|
|
221
222
|
process.env.NODE_ENV !== "production" ? RightPanel.propTypes = {
|
|
@@ -225,7 +226,8 @@ process.env.NODE_ENV !== "production" ? RightPanel.propTypes = {
|
|
|
225
226
|
searchBoxPlaceholder: _propTypes.default.string,
|
|
226
227
|
selectAll: _propTypes.default.string,
|
|
227
228
|
multiSelectionConjunction: _propTypes.default.string
|
|
228
|
-
})
|
|
229
|
+
}),
|
|
230
|
+
emptyElement: _propTypes.default.node
|
|
229
231
|
} : void 0;
|
|
230
232
|
var _default = RightPanel;
|
|
231
233
|
exports.default = _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RightPanel.js","names":["RightPanel","id","className","labels","classes","useStyles","useState","searchStr","setSearchStr","allSelected","setAllSelected","anySelected","setAnySelected","useContext","FilterGroupContext","filterOptions","filterValues","setFilterValues","activeGroup","activeGroupOptions","useMemo","data","map","option","activeFilterValues","filter","value","includes","listValues","label","name","selected","isHidden","toLowerCase","indexOf","updateSelectAll","useCallback","nbrSelected","length","hasSelection","allSelect","useEffect","onChangeHandler","values","newFilterValues","i","v","handleSelectAll","cloneDeep","SelectAll","selectAll","multiSelectionConjunction","defaultLabel","selectAllContainer","setId","container","selection","clsx","root","search","searchBoxPlaceholder","event","str","list","propTypes","PropTypes","string","shape"],"sources":["../../../src/FilterGroup/RightPanel/RightPanel.js"],"sourcesContent":["import React, { useMemo, useContext, useState, useEffect, useCallback } from \"react\";\nimport PropTypes from \"prop-types\";\nimport cloneDeep from \"lodash/cloneDeep\";\nimport clsx from \"clsx\";\nimport { FilterGroupContext } from \"../FilterGroupContext\";\nimport useStyles from \"./styles\";\nimport { setId, HvTypography, HvList, HvInput, HvPanel, HvCheckBox } from \"../..\";\n\nconst RightPanel = ({ id, className, labels }) => {\n const classes = useStyles();\n const [searchStr, setSearchStr] = useState(\"\");\n const [allSelected, setAllSelected] = useState(false);\n const [anySelected, setAnySelected] = useState(false);\n\n const {\n filterOptions,\n filterValues = [],\n setFilterValues,\n activeGroup,\n } = useContext(FilterGroupContext);\n\n const activeGroupOptions = useMemo(\n () => (filterOptions[activeGroup]?.data || []).map((option) => option.id),\n [filterOptions, activeGroup]\n );\n\n const activeFilterValues = useMemo(\n () => filterValues[activeGroup]?.filter((value) => activeGroupOptions.includes(value)),\n [filterValues, activeGroupOptions, activeGroup]\n );\n\n const listValues = useMemo(\n () =>\n (filterOptions[activeGroup]?.data || []).map((option) => ({\n ...option,\n label: option.name,\n selected: filterValues[activeGroup]?.includes(option.id),\n isHidden: option.name.toLowerCase().indexOf(searchStr.toLowerCase()) < 0,\n })),\n [filterOptions, filterValues, activeGroup, searchStr]\n );\n\n const updateSelectAll = useCallback(() => {\n const nbrSelected = activeFilterValues?.length;\n const hasSelection = nbrSelected > 0;\n const allSelect = nbrSelected === activeGroupOptions.length;\n\n setAnySelected(hasSelection);\n setAllSelected(hasSelection && allSelect);\n }, [activeFilterValues, activeGroupOptions]);\n\n useEffect(() => {\n updateSelectAll();\n }, [activeFilterValues, updateSelectAll]);\n\n useEffect(() => setSearchStr(\"\"), [activeGroup]);\n\n const onChangeHandler = (values) => {\n const newFilterValues = filterOptions.map((option, i) =>\n activeGroup === i\n ? values.filter((v) => v.selected).map((v) => v.id)\n : [...(filterValues[i] || [])]\n );\n setFilterValues(newFilterValues);\n };\n\n const handleSelectAll = useCallback(() => {\n const newFilterValues = cloneDeep(filterValues);\n newFilterValues[activeGroup] = anySelected ? [] : activeGroupOptions;\n\n setFilterValues(newFilterValues);\n }, [activeGroup, activeGroupOptions, anySelected, filterValues, setFilterValues]);\n\n /**\n * Create selecteAll component.\n *\n * @returns {*}\n */\n const SelectAll = useCallback(() => {\n const { selectAll, multiSelectionConjunction } = labels;\n const nbrSelected = activeFilterValues?.length;\n\n const defaultLabel = (\n <HvTypography component=\"span\">\n {nbrSelected > 0 ? (\n <>\n <b>{nbrSelected}</b>\n {` ${multiSelectionConjunction} ${activeGroupOptions.length}`}\n </>\n ) : (\n <>\n <b>{selectAll}</b>\n {` (${activeGroupOptions.length})`}\n </>\n )}\n </HvTypography>\n );\n\n return (\n <div className={classes.selectAllContainer}>\n <HvCheckBox\n id={setId(id, \"select-all\")}\n label={defaultLabel}\n onChange={() => handleSelectAll()}\n classes={{ container: classes.selection }}\n className={classes.selectAll}\n indeterminate={anySelected && !allSelected}\n checked={allSelected}\n />\n </div>\n );\n }, [\n activeFilterValues?.length,\n activeGroupOptions.length,\n allSelected,\n anySelected,\n classes.selectAll,\n classes.selectAllContainer,\n classes.selection,\n handleSelectAll,\n id,\n labels,\n ]);\n\n return (\n <HvPanel id={setId(id, \"rightPanel\")} className={clsx(className, classes.root)}>\n <HvInput\n id={setId(id, \"search\")}\n classes={{\n root: classes.search,\n }}\n type=\"search\"\n placeholder={labels.searchBoxPlaceholder}\n value={searchStr}\n onChange={(event, str) => setSearchStr(str)}\n />\n <SelectAll />\n <HvList\n key={activeGroup}\n id={setId(id, \"list\")}\n className={classes.list}\n values={listValues}\n multiSelect\n useSelector\n showSelectAll={false}\n onChange={onChangeHandler}\n selectable\n condensed\n hasTooltips\n />\n </HvPanel>\n );\n};\n\nRightPanel.propTypes = {\n id: PropTypes.string,\n className: PropTypes.string,\n labels: PropTypes.shape({\n searchBoxPlaceholder: PropTypes.string,\n selectAll: PropTypes.string,\n multiSelectionConjunction: PropTypes.string,\n }),\n};\n\nexport default RightPanel;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;AAEA,IAAMA,UAAU,GAAG,SAAbA,UAAa,OAA+B;EAAA,IAA5BC,EAA4B,QAA5BA,EAA4B;EAAA,IAAxBC,SAAwB,QAAxBA,SAAwB;EAAA,IAAbC,MAAa,QAAbA,MAAa;EAChD,IAAMC,OAAO,GAAG,IAAAC,eAAA,GAAhB;;EACA,gBAAkC,IAAAC,eAAA,EAAS,EAAT,CAAlC;EAAA;EAAA,IAAOC,SAAP;EAAA,IAAkBC,YAAlB;;EACA,iBAAsC,IAAAF,eAAA,EAAS,KAAT,CAAtC;EAAA;EAAA,IAAOG,WAAP;EAAA,IAAoBC,cAApB;;EACA,iBAAsC,IAAAJ,eAAA,EAAS,KAAT,CAAtC;EAAA;EAAA,IAAOK,WAAP;EAAA,IAAoBC,cAApB;;EAEA,kBAKI,IAAAC,iBAAA,EAAWC,sCAAX,CALJ;EAAA,IACEC,aADF,eACEA,aADF;EAAA,wCAEEC,YAFF;EAAA,IAEEA,YAFF,sCAEiB,EAFjB;EAAA,IAGEC,eAHF,eAGEA,eAHF;EAAA,IAIEC,WAJF,eAIEA,WAJF;;EAOA,IAAMC,kBAAkB,GAAG,IAAAC,cAAA,EACzB;IAAA;;IAAA,OAAM,CAAC,0BAAAL,aAAa,CAACG,WAAD,CAAb,gFAA4BG,IAA5B,KAAoC,EAArC,EAAyCC,GAAzC,CAA6C,UAACC,MAAD;MAAA,OAAYA,MAAM,CAACtB,EAAnB;IAAA,CAA7C,CAAN;EAAA,CADyB,EAEzB,CAACc,aAAD,EAAgBG,WAAhB,CAFyB,CAA3B;EAKA,IAAMM,kBAAkB,GAAG,IAAAJ,cAAA,EACzB;IAAA;;IAAA,gCAAMJ,YAAY,CAACE,WAAD,CAAlB,0DAAM,sBAA2BO,MAA3B,CAAkC,UAACC,KAAD;MAAA,OAAWP,kBAAkB,CAACQ,QAAnB,CAA4BD,KAA5B,CAAX;IAAA,CAAlC,CAAN;EAAA,CADyB,EAEzB,CAACV,YAAD,EAAeG,kBAAf,EAAmCD,WAAnC,CAFyB,CAA3B;EAKA,IAAMU,UAAU,GAAG,IAAAR,cAAA,EACjB;IAAA;;IAAA,OACE,CAAC,2BAAAL,aAAa,CAACG,WAAD,CAAb,kFAA4BG,IAA5B,KAAoC,EAArC,EAAyCC,GAAzC,CAA6C,UAACC,MAAD;MAAA;;MAAA,uCACxCA,MADwC;QAE3CM,KAAK,EAAEN,MAAM,CAACO,IAF6B;QAG3CC,QAAQ,4BAAEf,YAAY,CAACE,WAAD,CAAd,2DAAE,uBAA2BS,QAA3B,CAAoCJ,MAAM,CAACtB,EAA3C,CAHiC;QAI3C+B,QAAQ,EAAET,MAAM,CAACO,IAAP,CAAYG,WAAZ,GAA0BC,OAA1B,CAAkC3B,SAAS,CAAC0B,WAAV,EAAlC,IAA6D;MAJ5B;IAAA,CAA7C,CADF;EAAA,CADiB,EAQjB,CAAClB,aAAD,EAAgBC,YAAhB,EAA8BE,WAA9B,EAA2CX,SAA3C,CARiB,CAAnB;EAWA,IAAM4B,eAAe,GAAG,IAAAC,kBAAA,EAAY,YAAM;IACxC,IAAMC,WAAW,GAAGb,kBAAH,aAAGA,kBAAH,uBAAGA,kBAAkB,CAAEc,MAAxC;IACA,IAAMC,YAAY,GAAGF,WAAW,GAAG,CAAnC;IACA,IAAMG,SAAS,GAAGH,WAAW,KAAKlB,kBAAkB,CAACmB,MAArD;IAEA1B,cAAc,CAAC2B,YAAD,CAAd;IACA7B,cAAc,CAAC6B,YAAY,IAAIC,SAAjB,CAAd;EACD,CAPuB,EAOrB,CAAChB,kBAAD,EAAqBL,kBAArB,CAPqB,CAAxB;EASA,IAAAsB,gBAAA,EAAU,YAAM;IACdN,eAAe;EAChB,CAFD,EAEG,CAACX,kBAAD,EAAqBW,eAArB,CAFH;EAIA,IAAAM,gBAAA,EAAU;IAAA,OAAMjC,YAAY,CAAC,EAAD,CAAlB;EAAA,CAAV,EAAkC,CAACU,WAAD,CAAlC;;EAEA,IAAMwB,eAAe,GAAG,SAAlBA,eAAkB,CAACC,MAAD,EAAY;IAClC,IAAMC,eAAe,GAAG7B,aAAa,CAACO,GAAd,CAAkB,UAACC,MAAD,EAASsB,CAAT;MAAA,OACxC3B,WAAW,KAAK2B,CAAhB,GACIF,MAAM,CAAClB,MAAP,CAAc,UAACqB,CAAD;QAAA,OAAOA,CAAC,CAACf,QAAT;MAAA,CAAd,EAAiCT,GAAjC,CAAqC,UAACwB,CAAD;QAAA,OAAOA,CAAC,CAAC7C,EAAT;MAAA,CAArC,CADJ,oCAESe,YAAY,CAAC6B,CAAD,CAAZ,IAAmB,EAF5B,CADwC;IAAA,CAAlB,CAAxB;IAKA5B,eAAe,CAAC2B,eAAD,CAAf;EACD,CAPD;;EASA,IAAMG,eAAe,GAAG,IAAAX,kBAAA,EAAY,YAAM;IACxC,IAAMQ,eAAe,GAAG,IAAAI,kBAAA,EAAUhC,YAAV,CAAxB;IACA4B,eAAe,CAAC1B,WAAD,CAAf,GAA+BP,WAAW,GAAG,EAAH,GAAQQ,kBAAlD;IAEAF,eAAe,CAAC2B,eAAD,CAAf;EACD,CALuB,EAKrB,CAAC1B,WAAD,EAAcC,kBAAd,EAAkCR,WAAlC,EAA+CK,YAA/C,EAA6DC,eAA7D,CALqB,CAAxB;EAOA;AACF;AACA;AACA;AACA;;EACE,IAAMgC,SAAS,GAAG,IAAAb,kBAAA,EAAY,YAAM;IAClC,IAAQc,SAAR,GAAiD/C,MAAjD,CAAQ+C,SAAR;IAAA,IAAmBC,yBAAnB,GAAiDhD,MAAjD,CAAmBgD,yBAAnB;IACA,IAAMd,WAAW,GAAGb,kBAAH,aAAGA,kBAAH,uBAAGA,kBAAkB,CAAEc,MAAxC;;IAEA,IAAMc,YAAY,gBAChB,6BAAC,cAAD;MAAc,SAAS,EAAC;IAAxB,GACGf,WAAW,GAAG,CAAd,gBACC,yEACE,wCAAIA,WAAJ,CADF,aAEOc,yBAFP,cAEoChC,kBAAkB,CAACmB,MAFvD,EADD,gBAMC,yEACE,wCAAIY,SAAJ,CADF,cAEQ/B,kBAAkB,CAACmB,MAF3B,OAPJ,CADF;;IAgBA,oBACE;MAAK,SAAS,EAAElC,OAAO,CAACiD;IAAxB,gBACE,6BAAC,YAAD;MACE,EAAE,EAAE,IAAAC,OAAA,EAAMrD,EAAN,EAAU,YAAV,CADN;MAEE,KAAK,EAAEmD,YAFT;MAGE,QAAQ,EAAE;QAAA,OAAML,eAAe,EAArB;MAAA,CAHZ;MAIE,OAAO,EAAE;QAAEQ,SAAS,EAAEnD,OAAO,CAACoD;MAArB,CAJX;MAKE,SAAS,EAAEpD,OAAO,CAAC8C,SALrB;MAME,aAAa,EAAEvC,WAAW,IAAI,CAACF,WANjC;MAOE,OAAO,EAAEA;IAPX,EADF,CADF;EAaD,CAjCiB,EAiCf,CACDe,kBADC,aACDA,kBADC,uBACDA,kBAAkB,CAAEc,MADnB,EAEDnB,kBAAkB,CAACmB,MAFlB,EAGD7B,WAHC,EAIDE,WAJC,EAKDP,OAAO,CAAC8C,SALP,EAMD9C,OAAO,CAACiD,kBANP,EAODjD,OAAO,CAACoD,SAPP,EAQDT,eARC,EASD9C,EATC,EAUDE,MAVC,CAjCe,CAAlB;EA8CA,oBACE,6BAAC,SAAD;IAAS,EAAE,EAAE,IAAAmD,OAAA,EAAMrD,EAAN,EAAU,YAAV,CAAb;IAAsC,SAAS,EAAE,IAAAwD,aAAA,EAAKvD,SAAL,EAAgBE,OAAO,CAACsD,IAAxB;EAAjD,gBACE,6BAAC,SAAD;IACE,EAAE,EAAE,IAAAJ,OAAA,EAAMrD,EAAN,EAAU,QAAV,CADN;IAEE,OAAO,EAAE;MACPyD,IAAI,EAAEtD,OAAO,CAACuD;IADP,CAFX;IAKE,IAAI,EAAC,QALP;IAME,WAAW,EAAExD,MAAM,CAACyD,oBANtB;IAOE,KAAK,EAAErD,SAPT;IAQE,QAAQ,EAAE,kBAACsD,KAAD,EAAQC,GAAR;MAAA,OAAgBtD,YAAY,CAACsD,GAAD,CAA5B;IAAA;EARZ,EADF,eAWE,6BAAC,SAAD,OAXF,eAYE,6BAAC,QAAD;IACE,GAAG,EAAE5C,WADP;IAEE,EAAE,EAAE,IAAAoC,OAAA,EAAMrD,EAAN,EAAU,MAAV,CAFN;IAGE,SAAS,EAAEG,OAAO,CAAC2D,IAHrB;IAIE,MAAM,EAAEnC,UAJV;IAKE,WAAW,MALb;IAME,WAAW,MANb;IAOE,aAAa,EAAE,KAPjB;IAQE,QAAQ,EAAEc,eARZ;IASE,UAAU,MATZ;IAUE,SAAS,MAVX;IAWE,WAAW;EAXb,EAZF,CADF;AA4BD,CAhJD;;AAkJA,wCAAA1C,UAAU,CAACgE,SAAX,GAAuB;EACrB/D,EAAE,EAAEgE,kBAAA,CAAUC,MADO;EAErBhE,SAAS,EAAE+D,kBAAA,CAAUC,MAFA;EAGrB/D,MAAM,EAAE8D,kBAAA,CAAUE,KAAV,CAAgB;IACtBP,oBAAoB,EAAEK,kBAAA,CAAUC,MADV;IAEtBhB,SAAS,EAAEe,kBAAA,CAAUC,MAFC;IAGtBf,yBAAyB,EAAEc,kBAAA,CAAUC;EAHf,CAAhB;AAHa,CAAvB;eAUelE,U"}
|
|
1
|
+
{"version":3,"file":"RightPanel.js","names":["RightPanel","id","className","labels","emptyElement","classes","useStyles","useState","searchStr","setSearchStr","allSelected","setAllSelected","anySelected","setAnySelected","useContext","FilterGroupContext","filterOptions","filterValues","setFilterValues","activeGroup","activeGroupOptions","useMemo","data","map","option","activeFilterValues","filter","value","includes","listValues","label","name","selected","isHidden","toLowerCase","indexOf","updateSelectAll","useCallback","nbrSelected","length","hasSelection","allSelect","useEffect","onChangeHandler","values","newFilterValues","i","v","handleSelectAll","cloneDeep","SelectAll","selectAll","multiSelectionConjunction","defaultLabel","selectAllContainer","setId","container","selection","clsx","root","search","searchBoxPlaceholder","event","str","list","propTypes","PropTypes","string","shape","node"],"sources":["../../../src/FilterGroup/RightPanel/RightPanel.js"],"sourcesContent":["import React, { useMemo, useContext, useState, useEffect, useCallback } from \"react\";\nimport PropTypes from \"prop-types\";\nimport cloneDeep from \"lodash/cloneDeep\";\nimport clsx from \"clsx\";\nimport { FilterGroupContext } from \"../FilterGroupContext\";\nimport useStyles from \"./styles\";\nimport { setId, HvTypography, HvList, HvInput, HvPanel, HvCheckBox } from \"../..\";\n\nconst RightPanel = ({ id, className, labels, emptyElement }) => {\n const classes = useStyles();\n const [searchStr, setSearchStr] = useState(\"\");\n const [allSelected, setAllSelected] = useState(false);\n const [anySelected, setAnySelected] = useState(false);\n\n const {\n filterOptions,\n filterValues = [],\n setFilterValues,\n activeGroup,\n } = useContext(FilterGroupContext);\n\n const activeGroupOptions = useMemo(\n () => (filterOptions[activeGroup]?.data || []).map((option) => option.id),\n [filterOptions, activeGroup]\n );\n\n const activeFilterValues = useMemo(\n () => filterValues[activeGroup]?.filter((value) => activeGroupOptions.includes(value)),\n [filterValues, activeGroupOptions, activeGroup]\n );\n\n const listValues = useMemo(\n () =>\n (filterOptions[activeGroup]?.data || []).map((option) => ({\n ...option,\n label: option.name,\n selected: filterValues[activeGroup]?.includes(option.id),\n isHidden: option.name.toLowerCase().indexOf(searchStr.toLowerCase()) < 0,\n })),\n [filterOptions, filterValues, activeGroup, searchStr]\n );\n\n const updateSelectAll = useCallback(() => {\n const nbrSelected = activeFilterValues?.length;\n const hasSelection = nbrSelected > 0;\n const allSelect = nbrSelected === activeGroupOptions.length;\n\n setAnySelected(hasSelection);\n setAllSelected(hasSelection && allSelect);\n }, [activeFilterValues, activeGroupOptions]);\n\n useEffect(() => {\n updateSelectAll();\n }, [activeFilterValues, updateSelectAll]);\n\n useEffect(() => setSearchStr(\"\"), [activeGroup]);\n\n const onChangeHandler = (values) => {\n const newFilterValues = filterOptions.map((option, i) =>\n activeGroup === i\n ? values.filter((v) => v.selected).map((v) => v.id)\n : [...(filterValues[i] || [])]\n );\n setFilterValues(newFilterValues);\n };\n\n const handleSelectAll = useCallback(() => {\n const newFilterValues = cloneDeep(filterValues);\n newFilterValues[activeGroup] = anySelected ? [] : activeGroupOptions;\n\n setFilterValues(newFilterValues);\n }, [activeGroup, activeGroupOptions, anySelected, filterValues, setFilterValues]);\n\n /**\n * Create selecteAll component.\n *\n * @returns {*}\n */\n const SelectAll = useCallback(() => {\n const { selectAll, multiSelectionConjunction } = labels;\n const nbrSelected = activeFilterValues?.length;\n\n const defaultLabel = (\n <HvTypography component=\"span\">\n {nbrSelected > 0 ? (\n <>\n <b>{nbrSelected}</b>\n {` ${multiSelectionConjunction} ${activeGroupOptions.length}`}\n </>\n ) : (\n <>\n <b>{selectAll}</b>\n {` (${activeGroupOptions.length})`}\n </>\n )}\n </HvTypography>\n );\n\n return (\n <div className={classes.selectAllContainer}>\n <HvCheckBox\n id={setId(id, \"select-all\")}\n label={defaultLabel}\n onChange={() => handleSelectAll()}\n classes={{ container: classes.selection }}\n className={classes.selectAll}\n indeterminate={anySelected && !allSelected}\n checked={allSelected}\n />\n </div>\n );\n }, [\n activeFilterValues?.length,\n activeGroupOptions.length,\n allSelected,\n anySelected,\n classes.selectAll,\n classes.selectAllContainer,\n classes.selection,\n handleSelectAll,\n id,\n labels,\n ]);\n\n return (\n <HvPanel id={setId(id, \"rightPanel\")} className={clsx(className, classes.root)}>\n {listValues.length > 0 ? (\n <>\n <HvInput\n id={setId(id, \"search\")}\n classes={{\n root: classes.search,\n }}\n type=\"search\"\n placeholder={labels.searchBoxPlaceholder}\n value={searchStr}\n onChange={(event, str) => setSearchStr(str)}\n />\n <SelectAll />\n <HvList\n key={activeGroup}\n id={setId(id, \"list\")}\n className={classes.list}\n values={listValues}\n multiSelect\n useSelector\n showSelectAll={false}\n onChange={onChangeHandler}\n selectable\n condensed\n hasTooltips\n />\n </>\n ) : (\n emptyElement\n )}\n </HvPanel>\n );\n};\n\nRightPanel.propTypes = {\n id: PropTypes.string,\n className: PropTypes.string,\n labels: PropTypes.shape({\n searchBoxPlaceholder: PropTypes.string,\n selectAll: PropTypes.string,\n multiSelectionConjunction: PropTypes.string,\n }),\n emptyElement: PropTypes.node,\n};\n\nexport default RightPanel;\n"],"mappings":"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"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { StandardProps } from "@material-ui/core";
|
|
3
|
+
import { FilterValue, HvBaseDropdownProps } from "../..";
|
|
4
|
+
|
|
5
|
+
export type HvFilterContentClassKey =
|
|
6
|
+
| "root"
|
|
7
|
+
| "panel"
|
|
8
|
+
| "actionBar"
|
|
9
|
+
| "space"
|
|
10
|
+
| "header"
|
|
11
|
+
| "baseDropdownSelection"
|
|
12
|
+
| "leftSidePanel"
|
|
13
|
+
| "rightSidePanel";
|
|
14
|
+
|
|
15
|
+
export interface HvFilterContentProps
|
|
16
|
+
extends StandardProps<HvBaseDropdownProps, HvFilterContentClassKey, "onChange"> {
|
|
17
|
+
description?: React.ReactNode;
|
|
18
|
+
status?: "standBy" | "valid" | "invalid";
|
|
19
|
+
|
|
20
|
+
onChange?: (evt: React.MouseEventHandler<HTMLButtonElement>, filterValues: FilterValue[]) => void;
|
|
21
|
+
onCancel?: (evt: any[]) => void;
|
|
22
|
+
onClear?: (evt: React.MouseEventHandler<HTMLButtonElement>) => void;
|
|
23
|
+
|
|
24
|
+
labels?: {
|
|
25
|
+
applyLabel?: string;
|
|
26
|
+
cancelLabel?: string;
|
|
27
|
+
clearLabel?: string;
|
|
28
|
+
placeholder?: string;
|
|
29
|
+
searchBoxPlaceholder?: string;
|
|
30
|
+
selectAll?: string;
|
|
31
|
+
multiSelectionConjunction?: string;
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
horizontalPlacement?: "left" | "right";
|
|
35
|
+
disablePortal?: boolean;
|
|
36
|
+
escapeWithReference?: boolean;
|
|
37
|
+
height?: any;
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* Element to render when there are no filters
|
|
41
|
+
*/
|
|
42
|
+
leftEmptyElement?: React.ReactNode;
|
|
43
|
+
/**
|
|
44
|
+
* Element to render when the selected filter has no values
|
|
45
|
+
*/
|
|
46
|
+
rightEmptyElement?: React.ReactNode;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
export default function HvFilterContent(props: HvFilterContentProps): JSX.Element | null;
|
|
@@ -4,7 +4,7 @@ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutPr
|
|
|
4
4
|
|
|
5
5
|
var _Filters, _Counter;
|
|
6
6
|
|
|
7
|
-
var _excluded = ["id", "status", "disabled", "aria-label", "aria-labelledby", "description", "aria-describedby", "onChange", "onCancel", "onClear", "labels", "horizontalPlacement", "disablePortal", "escapeWithReference", "height"];
|
|
7
|
+
var _excluded = ["id", "status", "disabled", "aria-label", "aria-labelledby", "description", "aria-describedby", "onChange", "onCancel", "onClear", "labels", "horizontalPlacement", "disablePortal", "escapeWithReference", "height", "leftEmptyElement", "rightEmptyElement"];
|
|
8
8
|
import "core-js/modules/es.symbol.js";
|
|
9
9
|
import "core-js/modules/es.symbol.description.js";
|
|
10
10
|
import "core-js/modules/es.string.trim.js";
|
|
@@ -41,6 +41,8 @@ var FilterContent = function FilterContent(_ref) {
|
|
|
41
41
|
_ref$escapeWithRefere = _ref.escapeWithReference,
|
|
42
42
|
escapeWithReference = _ref$escapeWithRefere === void 0 ? true : _ref$escapeWithRefere,
|
|
43
43
|
height = _ref.height,
|
|
44
|
+
leftEmptyElement = _ref.leftEmptyElement,
|
|
45
|
+
rightEmptyElement = _ref.rightEmptyElement,
|
|
44
46
|
others = _objectWithoutProperties(_ref, _excluded);
|
|
45
47
|
|
|
46
48
|
var classes = useStyles();
|
|
@@ -140,10 +142,12 @@ var FilterContent = function FilterContent(_ref) {
|
|
|
140
142
|
}
|
|
141
143
|
}, /*#__PURE__*/React.createElement(LeftPanel, {
|
|
142
144
|
id: id,
|
|
143
|
-
className: classes.leftSidePanel
|
|
145
|
+
className: classes.leftSidePanel,
|
|
146
|
+
emptyElement: leftEmptyElement
|
|
144
147
|
}), /*#__PURE__*/React.createElement(RightPanel, {
|
|
145
148
|
id: id,
|
|
146
149
|
className: classes.rightSidePanel,
|
|
150
|
+
emptyElement: rightEmptyElement,
|
|
147
151
|
labels: labels
|
|
148
152
|
})), /*#__PURE__*/React.createElement(HvActionBar, {
|
|
149
153
|
className: classes.actionBar
|
|
@@ -190,7 +194,9 @@ process.env.NODE_ENV !== "production" ? FilterContent.propTypes = {
|
|
|
190
194
|
horizontalPlacement: PropTypes.oneOf(["left", "right"]),
|
|
191
195
|
disablePortal: PropTypes.bool,
|
|
192
196
|
escapeWithReference: PropTypes.bool,
|
|
193
|
-
height: PropTypes.any
|
|
197
|
+
height: PropTypes.any,
|
|
198
|
+
leftEmptyElement: PropTypes.node,
|
|
199
|
+
rightEmptyElement: PropTypes.node
|
|
194
200
|
} : void 0;
|
|
195
201
|
export default FilterContent;
|
|
196
202
|
//# sourceMappingURL=FilterContent.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FilterContent.js","names":["React","useMemo","useState","useRef","useContext","PropTypes","Filters","FilterGroupContext","LeftPanel","RightPanel","Counter","useStyles","setId","HvBaseDropdown","HvTypography","HvButton","HvActionBar","FilterContent","id","status","disabled","ariaLabel","ariaLabelledBy","description","ariaDescribedBy","onChange","onCancel","onClear","labels","horizontalPlacement","disablePortal","escapeWithReference","height","others","classes","filterGroupOpen","setFilterGroupOpen","defaultValue","filterValues","rollbackFilters","clearFilters","applyFilters","applyDisabled","focusTarget","focusOnContainer","current","focus","onApplyHandler","evt","onCancelHandler","onClearHandler","handleToggle","open","Header","placeholder","root","dropdown","panel","selection","baseDropdownSelection","header","modifiers","name","enabled","undefined","join","trim","leftSidePanel","rightSidePanel","actionBar","flat","length","clearLabel","space","applyLabel","cancelLabel","propTypes","string","node","bool","oneOf","func","shape","searchBoxPlaceholder","selectAll","multiSelectionConjunction","any"],"sources":["../../../../src/FilterGroup/FilterContent/FilterContent.js"],"sourcesContent":["import React, { useMemo, useState, useRef, useContext } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { Filters } from \"@hitachivantara/uikit-react-icons\";\nimport { FilterGroupContext } from \"../FilterGroupContext\";\nimport LeftPanel from \"../LeftPanel\";\nimport RightPanel from \"../RightPanel\";\nimport Counter from \"../Counter\";\n\nimport useStyles from \"./styles\";\n\nimport { setId, HvBaseDropdown, HvTypography, HvButton, HvActionBar } from \"../..\";\n\nconst FilterContent = ({\n id,\n status,\n disabled = false,\n\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n description,\n \"aria-describedby\": ariaDescribedBy,\n\n onChange,\n onCancel,\n onClear,\n\n labels,\n\n horizontalPlacement = \"right\",\n disablePortal = true,\n escapeWithReference = true,\n\n height,\n\n ...others\n}) => {\n const classes = useStyles();\n const [filterGroupOpen, setFilterGroupOpen] = useState(false);\n\n const { defaultValue, filterValues, rollbackFilters, clearFilters, applyFilters, applyDisabled } =\n useContext(FilterGroupContext);\n\n const focusTarget = useRef();\n\n const focusOnContainer = () => {\n focusTarget.current?.focus();\n };\n\n const onApplyHandler = (evt) => {\n applyFilters();\n onChange?.(evt, filterValues);\n setFilterGroupOpen(false);\n };\n\n const onCancelHandler = (evt) => {\n rollbackFilters();\n onCancel?.(evt);\n setFilterGroupOpen(false);\n };\n\n const onClearHandler = (evt) => {\n clearFilters();\n onClear?.(evt);\n };\n\n const handleToggle = (evt, open) => {\n /* \n If evt is null this toggle wasn't triggered by the user.\n instead it was triggered by the baseDropdown useEffect after\n the datepicker changed the expanded value this baseDropdown behavior needs a review\n */\n if (evt === null) return;\n setFilterGroupOpen(open);\n if (!open) onCancelHandler?.(evt);\n };\n\n const Header = useMemo(\n () => (\n <>\n <Filters />\n <HvTypography variant=\"highlightText\">{labels.placeholder}</HvTypography>\n </>\n ),\n [labels.placeholder]\n );\n\n return (\n <HvBaseDropdown\n id={setId(id, \"dropdown\")}\n role=\"combobox\"\n classes={{\n root: classes.dropdown,\n panel: classes.panel,\n selection: classes.baseDropdownSelection,\n header: classes.header,\n }}\n disabled={disabled}\n disablePortal={disablePortal}\n variableWidth\n placement={horizontalPlacement}\n expanded={filterGroupOpen}\n onToggle={handleToggle}\n onClickOutside={onCancelHandler}\n onContainerCreation={focusOnContainer}\n placeholder={Header}\n adornment={<Counter />}\n popperProps={{ modifiers: [{ name: \"preventOverflow\", enabled: escapeWithReference }] }}\n aria-haspopup=\"dialog\"\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledBy}\n aria-invalid={status === \"invalid\" ? true : undefined}\n aria-errormessage={status === \"invalid\" ? setId(id, \"error\") : undefined}\n aria-describedby={\n [description && setId(id, \"description\"), ariaDescribedBy].join(\" \").trim() || undefined\n }\n {...others}\n >\n <div ref={focusTarget} tabIndex={-1} />\n <div className={classes.root} style={{ height }}>\n <LeftPanel id={id} className={classes.leftSidePanel} />\n <RightPanel id={id} className={classes.rightSidePanel} labels={labels} />\n </div>\n <HvActionBar className={classes.actionBar}>\n <HvButton\n id={setId(id, \"clearFilters-button\")}\n disabled={\n defaultValue\n ? defaultValue?.flat().length === filterValues?.flat().length\n : filterValues?.flat().length === 0\n }\n category=\"ghost\"\n onClick={onClearHandler}\n >\n {labels.clearLabel}\n </HvButton>\n <div aria-hidden=\"true\" className={classes.space}>\n \n </div>\n <HvButton\n id={setId(id, \"apply-button\")}\n disabled={applyDisabled}\n category=\"ghost\"\n onClick={onApplyHandler}\n >\n {labels.applyLabel}\n </HvButton>\n <HvButton id={setId(id, \"cancel-button\")} category=\"ghost\" onClick={onCancelHandler}>\n {labels.cancelLabel}\n </HvButton>\n </HvActionBar>\n </HvBaseDropdown>\n );\n};\n\nFilterContent.propTypes = {\n id: PropTypes.string,\n\n \"aria-label\": PropTypes.string,\n \"aria-labelledby\": PropTypes.string,\n description: PropTypes.node,\n \"aria-describedby\": PropTypes.string,\n disabled: PropTypes.bool,\n status: PropTypes.oneOf([\"standBy\", \"valid\", \"invalid\"]),\n\n onChange: PropTypes.func,\n onCancel: PropTypes.func,\n onClear: PropTypes.func,\n\n labels: PropTypes.shape({\n applyLabel: PropTypes.string,\n cancelLabel: PropTypes.string,\n clearLabel: PropTypes.string,\n placeholder: PropTypes.string,\n searchBoxPlaceholder: PropTypes.string,\n selectAll: PropTypes.string,\n multiSelectionConjunction: PropTypes.string,\n }),\n\n horizontalPlacement: PropTypes.oneOf([\"left\", \"right\"]),\n disablePortal: PropTypes.bool,\n escapeWithReference: PropTypes.bool,\n height: PropTypes.any,\n};\n\nexport default FilterContent;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"FilterContent.js","names":["React","useMemo","useState","useRef","useContext","PropTypes","Filters","FilterGroupContext","LeftPanel","RightPanel","Counter","useStyles","setId","HvBaseDropdown","HvTypography","HvButton","HvActionBar","FilterContent","id","status","disabled","ariaLabel","ariaLabelledBy","description","ariaDescribedBy","onChange","onCancel","onClear","labels","horizontalPlacement","disablePortal","escapeWithReference","height","leftEmptyElement","rightEmptyElement","others","classes","filterGroupOpen","setFilterGroupOpen","defaultValue","filterValues","rollbackFilters","clearFilters","applyFilters","applyDisabled","focusTarget","focusOnContainer","current","focus","onApplyHandler","evt","onCancelHandler","onClearHandler","handleToggle","open","Header","placeholder","root","dropdown","panel","selection","baseDropdownSelection","header","modifiers","name","enabled","undefined","join","trim","leftSidePanel","rightSidePanel","actionBar","flat","length","clearLabel","space","applyLabel","cancelLabel","propTypes","string","node","bool","oneOf","func","shape","searchBoxPlaceholder","selectAll","multiSelectionConjunction","any"],"sources":["../../../../src/FilterGroup/FilterContent/FilterContent.js"],"sourcesContent":["import React, { useMemo, useState, useRef, useContext } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { Filters } from \"@hitachivantara/uikit-react-icons\";\nimport { FilterGroupContext } from \"../FilterGroupContext\";\nimport LeftPanel from \"../LeftPanel\";\nimport RightPanel from \"../RightPanel\";\nimport Counter from \"../Counter\";\n\nimport useStyles from \"./styles\";\n\nimport { setId, HvBaseDropdown, HvTypography, HvButton, HvActionBar } from \"../..\";\n\nconst FilterContent = ({\n id,\n status,\n disabled = false,\n\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n description,\n \"aria-describedby\": ariaDescribedBy,\n\n onChange,\n onCancel,\n onClear,\n\n labels,\n\n horizontalPlacement = \"right\",\n disablePortal = true,\n escapeWithReference = true,\n\n height,\n leftEmptyElement,\n rightEmptyElement,\n\n ...others\n}) => {\n const classes = useStyles();\n const [filterGroupOpen, setFilterGroupOpen] = useState(false);\n\n const { defaultValue, filterValues, rollbackFilters, clearFilters, applyFilters, applyDisabled } =\n useContext(FilterGroupContext);\n\n const focusTarget = useRef();\n\n const focusOnContainer = () => {\n focusTarget.current?.focus();\n };\n\n const onApplyHandler = (evt) => {\n applyFilters();\n onChange?.(evt, filterValues);\n setFilterGroupOpen(false);\n };\n\n const onCancelHandler = (evt) => {\n rollbackFilters();\n onCancel?.(evt);\n setFilterGroupOpen(false);\n };\n\n const onClearHandler = (evt) => {\n clearFilters();\n onClear?.(evt);\n };\n\n const handleToggle = (evt, open) => {\n /* \n If evt is null this toggle wasn't triggered by the user.\n instead it was triggered by the baseDropdown useEffect after\n the datepicker changed the expanded value this baseDropdown behavior needs a review\n */\n if (evt === null) return;\n setFilterGroupOpen(open);\n if (!open) onCancelHandler?.(evt);\n };\n\n const Header = useMemo(\n () => (\n <>\n <Filters />\n <HvTypography variant=\"highlightText\">{labels.placeholder}</HvTypography>\n </>\n ),\n [labels.placeholder]\n );\n\n return (\n <HvBaseDropdown\n id={setId(id, \"dropdown\")}\n role=\"combobox\"\n classes={{\n root: classes.dropdown,\n panel: classes.panel,\n selection: classes.baseDropdownSelection,\n header: classes.header,\n }}\n disabled={disabled}\n disablePortal={disablePortal}\n variableWidth\n placement={horizontalPlacement}\n expanded={filterGroupOpen}\n onToggle={handleToggle}\n onClickOutside={onCancelHandler}\n onContainerCreation={focusOnContainer}\n placeholder={Header}\n adornment={<Counter />}\n popperProps={{ modifiers: [{ name: \"preventOverflow\", enabled: escapeWithReference }] }}\n aria-haspopup=\"dialog\"\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledBy}\n aria-invalid={status === \"invalid\" ? true : undefined}\n aria-errormessage={status === \"invalid\" ? setId(id, \"error\") : undefined}\n aria-describedby={\n [description && setId(id, \"description\"), ariaDescribedBy].join(\" \").trim() || undefined\n }\n {...others}\n >\n <div ref={focusTarget} tabIndex={-1} />\n <div className={classes.root} style={{ height }}>\n <LeftPanel id={id} className={classes.leftSidePanel} emptyElement={leftEmptyElement} />\n <RightPanel\n id={id}\n className={classes.rightSidePanel}\n emptyElement={rightEmptyElement}\n labels={labels}\n />\n </div>\n <HvActionBar className={classes.actionBar}>\n <HvButton\n id={setId(id, \"clearFilters-button\")}\n disabled={\n defaultValue\n ? defaultValue?.flat().length === filterValues?.flat().length\n : filterValues?.flat().length === 0\n }\n category=\"ghost\"\n onClick={onClearHandler}\n >\n {labels.clearLabel}\n </HvButton>\n <div aria-hidden=\"true\" className={classes.space}>\n \n </div>\n <HvButton\n id={setId(id, \"apply-button\")}\n disabled={applyDisabled}\n category=\"ghost\"\n onClick={onApplyHandler}\n >\n {labels.applyLabel}\n </HvButton>\n <HvButton id={setId(id, \"cancel-button\")} category=\"ghost\" onClick={onCancelHandler}>\n {labels.cancelLabel}\n </HvButton>\n </HvActionBar>\n </HvBaseDropdown>\n );\n};\n\nFilterContent.propTypes = {\n id: PropTypes.string,\n\n \"aria-label\": PropTypes.string,\n \"aria-labelledby\": PropTypes.string,\n description: PropTypes.node,\n \"aria-describedby\": PropTypes.string,\n disabled: PropTypes.bool,\n status: PropTypes.oneOf([\"standBy\", \"valid\", \"invalid\"]),\n\n onChange: PropTypes.func,\n onCancel: PropTypes.func,\n onClear: PropTypes.func,\n\n labels: PropTypes.shape({\n applyLabel: PropTypes.string,\n cancelLabel: PropTypes.string,\n clearLabel: PropTypes.string,\n placeholder: PropTypes.string,\n searchBoxPlaceholder: PropTypes.string,\n selectAll: PropTypes.string,\n multiSelectionConjunction: PropTypes.string,\n }),\n\n horizontalPlacement: PropTypes.oneOf([\"left\", \"right\"]),\n disablePortal: PropTypes.bool,\n escapeWithReference: PropTypes.bool,\n height: PropTypes.any,\n leftEmptyElement: PropTypes.node,\n rightEmptyElement: PropTypes.node,\n};\n\nexport default FilterContent;\n"],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { StandardProps } from "@material-ui/core";
|
|
2
|
-
import {
|
|
2
|
+
import { HvFormElementProps } from "..";
|
|
3
|
+
import { HvFilterContentProps } from "./FilterContent";
|
|
3
4
|
|
|
4
5
|
export type HvFilterGroupClassKey = "root" | "labelContainer" | "label" | "description" | "error";
|
|
5
6
|
|
|
@@ -105,7 +106,7 @@ export interface HvFilterGroupProps
|
|
|
105
106
|
/**
|
|
106
107
|
* Other props, passed to `FilterContent` and `HvBaseDropdown` components
|
|
107
108
|
*/
|
|
108
|
-
filterContentProps?:
|
|
109
|
+
filterContentProps?: Partial<HvFilterContentProps>;
|
|
109
110
|
}
|
|
110
111
|
|
|
111
112
|
export default function HvFilterGroup(props: HvFilterGroupProps): JSX.Element | null;
|
|
@@ -11,7 +11,8 @@ import { wrapperTooltip } from "../../List/utils";
|
|
|
11
11
|
|
|
12
12
|
var LeftPanel = function LeftPanel(_ref) {
|
|
13
13
|
var id = _ref.id,
|
|
14
|
-
className = _ref.className
|
|
14
|
+
className = _ref.className,
|
|
15
|
+
emptyElement = _ref.emptyElement;
|
|
15
16
|
var classes = useStyles();
|
|
16
17
|
|
|
17
18
|
var _useContext = useContext(FilterGroupContext),
|
|
@@ -22,7 +23,7 @@ var LeftPanel = function LeftPanel(_ref) {
|
|
|
22
23
|
return /*#__PURE__*/React.createElement(HvPanel, {
|
|
23
24
|
id: setId(id, "leftPanel"),
|
|
24
25
|
className: clsx(className, classes.root)
|
|
25
|
-
}, /*#__PURE__*/React.createElement(HvListContainer, {
|
|
26
|
+
}, filterOptions.length > 0 ? /*#__PURE__*/React.createElement(HvListContainer, {
|
|
26
27
|
id: setId(id, "leftPanel-list"),
|
|
27
28
|
condensed: true,
|
|
28
29
|
interactive: true
|
|
@@ -40,12 +41,13 @@ var LeftPanel = function LeftPanel(_ref) {
|
|
|
40
41
|
id: group.id
|
|
41
42
|
})
|
|
42
43
|
}, /*#__PURE__*/React.createElement(ItemText, null));
|
|
43
|
-
})));
|
|
44
|
+
})) : emptyElement);
|
|
44
45
|
};
|
|
45
46
|
|
|
46
47
|
process.env.NODE_ENV !== "production" ? LeftPanel.propTypes = {
|
|
47
48
|
id: PropTypes.string,
|
|
48
|
-
className: PropTypes.string
|
|
49
|
+
className: PropTypes.string,
|
|
50
|
+
emptyElement: PropTypes.node
|
|
49
51
|
} : void 0;
|
|
50
52
|
export default LeftPanel;
|
|
51
53
|
//# sourceMappingURL=LeftPanel.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LeftPanel.js","names":["React","useContext","clsx","PropTypes","HvPanel","HvListContainer","HvListItem","setId","FilterGroupContext","Counter","useStyles","wrapperTooltip","LeftPanel","id","className","classes","filterOptions","activeGroup","setActiveGroup","root","map","group","index","ItemText","name","filterItem","propTypes","string"],"sources":["../../../../src/FilterGroup/LeftPanel/LeftPanel.js"],"sourcesContent":["import React, { useContext } from \"react\";\nimport clsx from \"clsx\";\nimport PropTypes from \"prop-types\";\nimport { HvPanel, HvListContainer, HvListItem, setId } from \"../..\";\nimport { FilterGroupContext } from \"../FilterGroupContext\";\nimport Counter from \"../Counter\";\nimport useStyles from \"./styles\";\nimport { wrapperTooltip } from \"../../List/utils\";\n\nconst LeftPanel = ({ id, className }) => {\n const classes = useStyles();\n const { filterOptions, activeGroup, setActiveGroup } = useContext(FilterGroupContext);\n\n return (\n <HvPanel id={setId(id, \"leftPanel\")} className={clsx(className, classes.root)}>\n <HvListContainer id={setId(id, \"leftPanel-list\")} condensed interactive>\n
|
|
1
|
+
{"version":3,"file":"LeftPanel.js","names":["React","useContext","clsx","PropTypes","HvPanel","HvListContainer","HvListItem","setId","FilterGroupContext","Counter","useStyles","wrapperTooltip","LeftPanel","id","className","emptyElement","classes","filterOptions","activeGroup","setActiveGroup","root","length","map","group","index","ItemText","name","filterItem","propTypes","string","node"],"sources":["../../../../src/FilterGroup/LeftPanel/LeftPanel.js"],"sourcesContent":["import React, { useContext } from \"react\";\nimport clsx from \"clsx\";\nimport PropTypes from \"prop-types\";\nimport { HvPanel, HvListContainer, HvListItem, setId } from \"../..\";\nimport { FilterGroupContext } from \"../FilterGroupContext\";\nimport Counter from \"../Counter\";\nimport useStyles from \"./styles\";\nimport { wrapperTooltip } from \"../../List/utils\";\n\nconst LeftPanel = ({ id, className, emptyElement }) => {\n const classes = useStyles();\n const { filterOptions, activeGroup, setActiveGroup } = useContext(FilterGroupContext);\n\n return (\n <HvPanel id={setId(id, \"leftPanel\")} className={clsx(className, classes.root)}>\n {filterOptions.length > 0 ? (\n <HvListContainer id={setId(id, \"leftPanel-list\")} condensed interactive>\n {filterOptions.map((group, index) => {\n const ItemText = wrapperTooltip(true, group.name, group.name);\n return (\n <HvListItem\n id={group.id}\n className={classes.filterItem}\n key={group.name}\n onClick={() => setActiveGroup(index)}\n selected={filterOptions[activeGroup].id === group.id}\n endAdornment={<Counter id={group.id} />}\n >\n <ItemText />\n </HvListItem>\n );\n })}\n </HvListContainer>\n ) : (\n emptyElement\n )}\n </HvPanel>\n );\n};\n\nLeftPanel.propTypes = {\n id: PropTypes.string,\n className: PropTypes.string,\n emptyElement: PropTypes.node,\n};\n\nexport default LeftPanel;\n"],"mappings":";;AAAA,OAAOA,KAAP,IAAgBC,UAAhB,QAAkC,OAAlC;AACA,OAAOC,IAAP,MAAiB,MAAjB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,SAASC,OAAT,EAAkBC,eAAlB,EAAmCC,UAAnC,EAA+CC,KAA/C,QAA4D,OAA5D;AACA,SAASC,kBAAT,QAAmC,uBAAnC;AACA,OAAOC,OAAP,MAAoB,YAApB;AACA,OAAOC,SAAP,MAAsB,UAAtB;AACA,SAASC,cAAT,QAA+B,kBAA/B;;AAEA,IAAMC,SAAS,GAAG,SAAZA,SAAY,OAAqC;EAAA,IAAlCC,EAAkC,QAAlCA,EAAkC;EAAA,IAA9BC,SAA8B,QAA9BA,SAA8B;EAAA,IAAnBC,YAAmB,QAAnBA,YAAmB;EACrD,IAAMC,OAAO,GAAGN,SAAS,EAAzB;;EACA,kBAAuDT,UAAU,CAACO,kBAAD,CAAjE;EAAA,IAAQS,aAAR,eAAQA,aAAR;EAAA,IAAuBC,WAAvB,eAAuBA,WAAvB;EAAA,IAAoCC,cAApC,eAAoCA,cAApC;;EAEA,oBACE,oBAAC,OAAD;IAAS,EAAE,EAAEZ,KAAK,CAACM,EAAD,EAAK,WAAL,CAAlB;IAAqC,SAAS,EAAEX,IAAI,CAACY,SAAD,EAAYE,OAAO,CAACI,IAApB;EAApD,GACGH,aAAa,CAACI,MAAd,GAAuB,CAAvB,gBACC,oBAAC,eAAD;IAAiB,EAAE,EAAEd,KAAK,CAACM,EAAD,EAAK,gBAAL,CAA1B;IAAkD,SAAS,MAA3D;IAA4D,WAAW;EAAvE,GACGI,aAAa,CAACK,GAAd,CAAkB,UAACC,KAAD,EAAQC,KAAR,EAAkB;IACnC,IAAMC,QAAQ,GAAGd,cAAc,CAAC,IAAD,EAAOY,KAAK,CAACG,IAAb,EAAmBH,KAAK,CAACG,IAAzB,CAA/B;IACA,oBACE,oBAAC,UAAD;MACE,EAAE,EAAEH,KAAK,CAACV,EADZ;MAEE,SAAS,EAAEG,OAAO,CAACW,UAFrB;MAGE,GAAG,EAAEJ,KAAK,CAACG,IAHb;MAIE,OAAO,EAAE;QAAA,OAAMP,cAAc,CAACK,KAAD,CAApB;MAAA,CAJX;MAKE,QAAQ,EAAEP,aAAa,CAACC,WAAD,CAAb,CAA2BL,EAA3B,KAAkCU,KAAK,CAACV,EALpD;MAME,YAAY,eAAE,oBAAC,OAAD;QAAS,EAAE,EAAEU,KAAK,CAACV;MAAnB;IANhB,gBAQE,oBAAC,QAAD,OARF,CADF;EAYD,CAdA,CADH,CADD,GAmBCE,YApBJ,CADF;AAyBD,CA7BD;;AA+BA,wCAAAH,SAAS,CAACgB,SAAV,GAAsB;EACpBf,EAAE,EAAEV,SAAS,CAAC0B,MADM;EAEpBf,SAAS,EAAEX,SAAS,CAAC0B,MAFD;EAGpBd,YAAY,EAAEZ,SAAS,CAAC2B;AAHJ,CAAtB;AAMA,eAAelB,SAAf"}
|
|
@@ -31,7 +31,8 @@ import { setId, HvTypography, HvList, HvInput, HvPanel, HvCheckBox } from "../..
|
|
|
31
31
|
var RightPanel = function RightPanel(_ref) {
|
|
32
32
|
var id = _ref.id,
|
|
33
33
|
className = _ref.className,
|
|
34
|
-
labels = _ref.labels
|
|
34
|
+
labels = _ref.labels,
|
|
35
|
+
emptyElement = _ref.emptyElement;
|
|
35
36
|
var classes = useStyles();
|
|
36
37
|
|
|
37
38
|
var _useState = useState(""),
|
|
@@ -145,7 +146,7 @@ var RightPanel = function RightPanel(_ref) {
|
|
|
145
146
|
return /*#__PURE__*/React.createElement(HvPanel, {
|
|
146
147
|
id: setId(id, "rightPanel"),
|
|
147
148
|
className: clsx(className, classes.root)
|
|
148
|
-
}, /*#__PURE__*/React.createElement(HvInput, {
|
|
149
|
+
}, listValues.length > 0 ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(HvInput, {
|
|
149
150
|
id: setId(id, "search"),
|
|
150
151
|
classes: {
|
|
151
152
|
root: classes.search
|
|
@@ -168,7 +169,7 @@ var RightPanel = function RightPanel(_ref) {
|
|
|
168
169
|
selectable: true,
|
|
169
170
|
condensed: true,
|
|
170
171
|
hasTooltips: true
|
|
171
|
-
}));
|
|
172
|
+
})) : emptyElement);
|
|
172
173
|
};
|
|
173
174
|
|
|
174
175
|
process.env.NODE_ENV !== "production" ? RightPanel.propTypes = {
|
|
@@ -178,7 +179,8 @@ process.env.NODE_ENV !== "production" ? RightPanel.propTypes = {
|
|
|
178
179
|
searchBoxPlaceholder: PropTypes.string,
|
|
179
180
|
selectAll: PropTypes.string,
|
|
180
181
|
multiSelectionConjunction: PropTypes.string
|
|
181
|
-
})
|
|
182
|
+
}),
|
|
183
|
+
emptyElement: PropTypes.node
|
|
182
184
|
} : void 0;
|
|
183
185
|
export default RightPanel;
|
|
184
186
|
//# sourceMappingURL=RightPanel.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RightPanel.js","names":["React","useMemo","useContext","useState","useEffect","useCallback","PropTypes","cloneDeep","clsx","FilterGroupContext","useStyles","setId","HvTypography","HvList","HvInput","HvPanel","HvCheckBox","RightPanel","id","className","labels","classes","searchStr","setSearchStr","allSelected","setAllSelected","anySelected","setAnySelected","filterOptions","filterValues","setFilterValues","activeGroup","activeGroupOptions","data","map","option","activeFilterValues","filter","value","includes","listValues","label","name","selected","isHidden","toLowerCase","indexOf","updateSelectAll","nbrSelected","length","hasSelection","allSelect","onChangeHandler","values","newFilterValues","i","v","handleSelectAll","SelectAll","selectAll","multiSelectionConjunction","defaultLabel","selectAllContainer","container","selection","root","search","searchBoxPlaceholder","event","str","list","propTypes","string","shape"],"sources":["../../../../src/FilterGroup/RightPanel/RightPanel.js"],"sourcesContent":["import React, { useMemo, useContext, useState, useEffect, useCallback } from \"react\";\nimport PropTypes from \"prop-types\";\nimport cloneDeep from \"lodash/cloneDeep\";\nimport clsx from \"clsx\";\nimport { FilterGroupContext } from \"../FilterGroupContext\";\nimport useStyles from \"./styles\";\nimport { setId, HvTypography, HvList, HvInput, HvPanel, HvCheckBox } from \"../..\";\n\nconst RightPanel = ({ id, className, labels }) => {\n const classes = useStyles();\n const [searchStr, setSearchStr] = useState(\"\");\n const [allSelected, setAllSelected] = useState(false);\n const [anySelected, setAnySelected] = useState(false);\n\n const {\n filterOptions,\n filterValues = [],\n setFilterValues,\n activeGroup,\n } = useContext(FilterGroupContext);\n\n const activeGroupOptions = useMemo(\n () => (filterOptions[activeGroup]?.data || []).map((option) => option.id),\n [filterOptions, activeGroup]\n );\n\n const activeFilterValues = useMemo(\n () => filterValues[activeGroup]?.filter((value) => activeGroupOptions.includes(value)),\n [filterValues, activeGroupOptions, activeGroup]\n );\n\n const listValues = useMemo(\n () =>\n (filterOptions[activeGroup]?.data || []).map((option) => ({\n ...option,\n label: option.name,\n selected: filterValues[activeGroup]?.includes(option.id),\n isHidden: option.name.toLowerCase().indexOf(searchStr.toLowerCase()) < 0,\n })),\n [filterOptions, filterValues, activeGroup, searchStr]\n );\n\n const updateSelectAll = useCallback(() => {\n const nbrSelected = activeFilterValues?.length;\n const hasSelection = nbrSelected > 0;\n const allSelect = nbrSelected === activeGroupOptions.length;\n\n setAnySelected(hasSelection);\n setAllSelected(hasSelection && allSelect);\n }, [activeFilterValues, activeGroupOptions]);\n\n useEffect(() => {\n updateSelectAll();\n }, [activeFilterValues, updateSelectAll]);\n\n useEffect(() => setSearchStr(\"\"), [activeGroup]);\n\n const onChangeHandler = (values) => {\n const newFilterValues = filterOptions.map((option, i) =>\n activeGroup === i\n ? values.filter((v) => v.selected).map((v) => v.id)\n : [...(filterValues[i] || [])]\n );\n setFilterValues(newFilterValues);\n };\n\n const handleSelectAll = useCallback(() => {\n const newFilterValues = cloneDeep(filterValues);\n newFilterValues[activeGroup] = anySelected ? [] : activeGroupOptions;\n\n setFilterValues(newFilterValues);\n }, [activeGroup, activeGroupOptions, anySelected, filterValues, setFilterValues]);\n\n /**\n * Create selecteAll component.\n *\n * @returns {*}\n */\n const SelectAll = useCallback(() => {\n const { selectAll, multiSelectionConjunction } = labels;\n const nbrSelected = activeFilterValues?.length;\n\n const defaultLabel = (\n <HvTypography component=\"span\">\n {nbrSelected > 0 ? (\n <>\n <b>{nbrSelected}</b>\n {` ${multiSelectionConjunction} ${activeGroupOptions.length}`}\n </>\n ) : (\n <>\n <b>{selectAll}</b>\n {` (${activeGroupOptions.length})`}\n </>\n )}\n </HvTypography>\n );\n\n return (\n <div className={classes.selectAllContainer}>\n <HvCheckBox\n id={setId(id, \"select-all\")}\n label={defaultLabel}\n onChange={() => handleSelectAll()}\n classes={{ container: classes.selection }}\n className={classes.selectAll}\n indeterminate={anySelected && !allSelected}\n checked={allSelected}\n />\n </div>\n );\n }, [\n activeFilterValues?.length,\n activeGroupOptions.length,\n allSelected,\n anySelected,\n classes.selectAll,\n classes.selectAllContainer,\n classes.selection,\n handleSelectAll,\n id,\n labels,\n ]);\n\n return (\n <HvPanel id={setId(id, \"rightPanel\")} className={clsx(className, classes.root)}>\n <HvInput\n id={setId(id, \"search\")}\n classes={{\n root: classes.search,\n }}\n type=\"search\"\n placeholder={labels.searchBoxPlaceholder}\n value={searchStr}\n onChange={(event, str) => setSearchStr(str)}\n />\n <SelectAll />\n <HvList\n key={activeGroup}\n id={setId(id, \"list\")}\n className={classes.list}\n values={listValues}\n multiSelect\n useSelector\n showSelectAll={false}\n onChange={onChangeHandler}\n selectable\n condensed\n hasTooltips\n />\n </HvPanel>\n );\n};\n\nRightPanel.propTypes = {\n id: PropTypes.string,\n className: PropTypes.string,\n labels: PropTypes.shape({\n searchBoxPlaceholder: PropTypes.string,\n selectAll: PropTypes.string,\n multiSelectionConjunction: PropTypes.string,\n }),\n};\n\nexport default RightPanel;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"RightPanel.js","names":["React","useMemo","useContext","useState","useEffect","useCallback","PropTypes","cloneDeep","clsx","FilterGroupContext","useStyles","setId","HvTypography","HvList","HvInput","HvPanel","HvCheckBox","RightPanel","id","className","labels","emptyElement","classes","searchStr","setSearchStr","allSelected","setAllSelected","anySelected","setAnySelected","filterOptions","filterValues","setFilterValues","activeGroup","activeGroupOptions","data","map","option","activeFilterValues","filter","value","includes","listValues","label","name","selected","isHidden","toLowerCase","indexOf","updateSelectAll","nbrSelected","length","hasSelection","allSelect","onChangeHandler","values","newFilterValues","i","v","handleSelectAll","SelectAll","selectAll","multiSelectionConjunction","defaultLabel","selectAllContainer","container","selection","root","search","searchBoxPlaceholder","event","str","list","propTypes","string","shape","node"],"sources":["../../../../src/FilterGroup/RightPanel/RightPanel.js"],"sourcesContent":["import React, { useMemo, useContext, useState, useEffect, useCallback } from \"react\";\nimport PropTypes from \"prop-types\";\nimport cloneDeep from \"lodash/cloneDeep\";\nimport clsx from \"clsx\";\nimport { FilterGroupContext } from \"../FilterGroupContext\";\nimport useStyles from \"./styles\";\nimport { setId, HvTypography, HvList, HvInput, HvPanel, HvCheckBox } from \"../..\";\n\nconst RightPanel = ({ id, className, labels, emptyElement }) => {\n const classes = useStyles();\n const [searchStr, setSearchStr] = useState(\"\");\n const [allSelected, setAllSelected] = useState(false);\n const [anySelected, setAnySelected] = useState(false);\n\n const {\n filterOptions,\n filterValues = [],\n setFilterValues,\n activeGroup,\n } = useContext(FilterGroupContext);\n\n const activeGroupOptions = useMemo(\n () => (filterOptions[activeGroup]?.data || []).map((option) => option.id),\n [filterOptions, activeGroup]\n );\n\n const activeFilterValues = useMemo(\n () => filterValues[activeGroup]?.filter((value) => activeGroupOptions.includes(value)),\n [filterValues, activeGroupOptions, activeGroup]\n );\n\n const listValues = useMemo(\n () =>\n (filterOptions[activeGroup]?.data || []).map((option) => ({\n ...option,\n label: option.name,\n selected: filterValues[activeGroup]?.includes(option.id),\n isHidden: option.name.toLowerCase().indexOf(searchStr.toLowerCase()) < 0,\n })),\n [filterOptions, filterValues, activeGroup, searchStr]\n );\n\n const updateSelectAll = useCallback(() => {\n const nbrSelected = activeFilterValues?.length;\n const hasSelection = nbrSelected > 0;\n const allSelect = nbrSelected === activeGroupOptions.length;\n\n setAnySelected(hasSelection);\n setAllSelected(hasSelection && allSelect);\n }, [activeFilterValues, activeGroupOptions]);\n\n useEffect(() => {\n updateSelectAll();\n }, [activeFilterValues, updateSelectAll]);\n\n useEffect(() => setSearchStr(\"\"), [activeGroup]);\n\n const onChangeHandler = (values) => {\n const newFilterValues = filterOptions.map((option, i) =>\n activeGroup === i\n ? values.filter((v) => v.selected).map((v) => v.id)\n : [...(filterValues[i] || [])]\n );\n setFilterValues(newFilterValues);\n };\n\n const handleSelectAll = useCallback(() => {\n const newFilterValues = cloneDeep(filterValues);\n newFilterValues[activeGroup] = anySelected ? [] : activeGroupOptions;\n\n setFilterValues(newFilterValues);\n }, [activeGroup, activeGroupOptions, anySelected, filterValues, setFilterValues]);\n\n /**\n * Create selecteAll component.\n *\n * @returns {*}\n */\n const SelectAll = useCallback(() => {\n const { selectAll, multiSelectionConjunction } = labels;\n const nbrSelected = activeFilterValues?.length;\n\n const defaultLabel = (\n <HvTypography component=\"span\">\n {nbrSelected > 0 ? (\n <>\n <b>{nbrSelected}</b>\n {` ${multiSelectionConjunction} ${activeGroupOptions.length}`}\n </>\n ) : (\n <>\n <b>{selectAll}</b>\n {` (${activeGroupOptions.length})`}\n </>\n )}\n </HvTypography>\n );\n\n return (\n <div className={classes.selectAllContainer}>\n <HvCheckBox\n id={setId(id, \"select-all\")}\n label={defaultLabel}\n onChange={() => handleSelectAll()}\n classes={{ container: classes.selection }}\n className={classes.selectAll}\n indeterminate={anySelected && !allSelected}\n checked={allSelected}\n />\n </div>\n );\n }, [\n activeFilterValues?.length,\n activeGroupOptions.length,\n allSelected,\n anySelected,\n classes.selectAll,\n classes.selectAllContainer,\n classes.selection,\n handleSelectAll,\n id,\n labels,\n ]);\n\n return (\n <HvPanel id={setId(id, \"rightPanel\")} className={clsx(className, classes.root)}>\n {listValues.length > 0 ? (\n <>\n <HvInput\n id={setId(id, \"search\")}\n classes={{\n root: classes.search,\n }}\n type=\"search\"\n placeholder={labels.searchBoxPlaceholder}\n value={searchStr}\n onChange={(event, str) => setSearchStr(str)}\n />\n <SelectAll />\n <HvList\n key={activeGroup}\n id={setId(id, \"list\")}\n className={classes.list}\n values={listValues}\n multiSelect\n useSelector\n showSelectAll={false}\n onChange={onChangeHandler}\n selectable\n condensed\n hasTooltips\n />\n </>\n ) : (\n emptyElement\n )}\n </HvPanel>\n );\n};\n\nRightPanel.propTypes = {\n id: PropTypes.string,\n className: PropTypes.string,\n labels: PropTypes.shape({\n searchBoxPlaceholder: PropTypes.string,\n selectAll: PropTypes.string,\n multiSelectionConjunction: PropTypes.string,\n }),\n emptyElement: PropTypes.node,\n};\n\nexport default RightPanel;\n"],"mappings":"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"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { StandardProps } from "@material-ui/core";
|
|
3
|
+
import { FilterValue, HvBaseDropdownProps } from "../..";
|
|
4
|
+
|
|
5
|
+
export type HvFilterContentClassKey =
|
|
6
|
+
| "root"
|
|
7
|
+
| "panel"
|
|
8
|
+
| "actionBar"
|
|
9
|
+
| "space"
|
|
10
|
+
| "header"
|
|
11
|
+
| "baseDropdownSelection"
|
|
12
|
+
| "leftSidePanel"
|
|
13
|
+
| "rightSidePanel";
|
|
14
|
+
|
|
15
|
+
export interface HvFilterContentProps
|
|
16
|
+
extends StandardProps<HvBaseDropdownProps, HvFilterContentClassKey, "onChange"> {
|
|
17
|
+
description?: React.ReactNode;
|
|
18
|
+
status?: "standBy" | "valid" | "invalid";
|
|
19
|
+
|
|
20
|
+
onChange?: (evt: React.MouseEventHandler<HTMLButtonElement>, filterValues: FilterValue[]) => void;
|
|
21
|
+
onCancel?: (evt: any[]) => void;
|
|
22
|
+
onClear?: (evt: React.MouseEventHandler<HTMLButtonElement>) => void;
|
|
23
|
+
|
|
24
|
+
labels?: {
|
|
25
|
+
applyLabel?: string;
|
|
26
|
+
cancelLabel?: string;
|
|
27
|
+
clearLabel?: string;
|
|
28
|
+
placeholder?: string;
|
|
29
|
+
searchBoxPlaceholder?: string;
|
|
30
|
+
selectAll?: string;
|
|
31
|
+
multiSelectionConjunction?: string;
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
horizontalPlacement?: "left" | "right";
|
|
35
|
+
disablePortal?: boolean;
|
|
36
|
+
escapeWithReference?: boolean;
|
|
37
|
+
height?: any;
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* Element to render when there are no filters
|
|
41
|
+
*/
|
|
42
|
+
leftEmptyElement?: React.ReactNode;
|
|
43
|
+
/**
|
|
44
|
+
* Element to render when the selected filter has no values
|
|
45
|
+
*/
|
|
46
|
+
rightEmptyElement?: React.ReactNode;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
export default function HvFilterContent(props: HvFilterContentProps): JSX.Element | null;
|
|
@@ -3,7 +3,7 @@ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutPr
|
|
|
3
3
|
|
|
4
4
|
var _Filters, _Counter;
|
|
5
5
|
|
|
6
|
-
const _excluded = ["id", "status", "disabled", "aria-label", "aria-labelledby", "description", "aria-describedby", "onChange", "onCancel", "onClear", "labels", "horizontalPlacement", "disablePortal", "escapeWithReference", "height"];
|
|
6
|
+
const _excluded = ["id", "status", "disabled", "aria-label", "aria-labelledby", "description", "aria-describedby", "onChange", "onCancel", "onClear", "labels", "horizontalPlacement", "disablePortal", "escapeWithReference", "height", "leftEmptyElement", "rightEmptyElement"];
|
|
7
7
|
import "core-js/modules/web.dom-collections.iterator.js";
|
|
8
8
|
import "core-js/modules/es.array.unscopables.flat.js";
|
|
9
9
|
import React, { useMemo, useState, useRef, useContext } from "react";
|
|
@@ -32,7 +32,9 @@ const FilterContent = _ref => {
|
|
|
32
32
|
horizontalPlacement = "right",
|
|
33
33
|
disablePortal = true,
|
|
34
34
|
escapeWithReference = true,
|
|
35
|
-
height
|
|
35
|
+
height,
|
|
36
|
+
leftEmptyElement,
|
|
37
|
+
rightEmptyElement
|
|
36
38
|
} = _ref,
|
|
37
39
|
others = _objectWithoutProperties(_ref, _excluded);
|
|
38
40
|
|
|
@@ -126,10 +128,12 @@ const FilterContent = _ref => {
|
|
|
126
128
|
}
|
|
127
129
|
}, /*#__PURE__*/React.createElement(LeftPanel, {
|
|
128
130
|
id: id,
|
|
129
|
-
className: classes.leftSidePanel
|
|
131
|
+
className: classes.leftSidePanel,
|
|
132
|
+
emptyElement: leftEmptyElement
|
|
130
133
|
}), /*#__PURE__*/React.createElement(RightPanel, {
|
|
131
134
|
id: id,
|
|
132
135
|
className: classes.rightSidePanel,
|
|
136
|
+
emptyElement: rightEmptyElement,
|
|
133
137
|
labels: labels
|
|
134
138
|
})), /*#__PURE__*/React.createElement(HvActionBar, {
|
|
135
139
|
className: classes.actionBar
|
|
@@ -176,7 +180,9 @@ process.env.NODE_ENV !== "production" ? FilterContent.propTypes = {
|
|
|
176
180
|
horizontalPlacement: PropTypes.oneOf(["left", "right"]),
|
|
177
181
|
disablePortal: PropTypes.bool,
|
|
178
182
|
escapeWithReference: PropTypes.bool,
|
|
179
|
-
height: PropTypes.any
|
|
183
|
+
height: PropTypes.any,
|
|
184
|
+
leftEmptyElement: PropTypes.node,
|
|
185
|
+
rightEmptyElement: PropTypes.node
|
|
180
186
|
} : void 0;
|
|
181
187
|
export default FilterContent;
|
|
182
188
|
//# sourceMappingURL=FilterContent.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FilterContent.js","names":["React","useMemo","useState","useRef","useContext","PropTypes","Filters","FilterGroupContext","LeftPanel","RightPanel","Counter","useStyles","setId","HvBaseDropdown","HvTypography","HvButton","HvActionBar","FilterContent","id","status","disabled","ariaLabel","ariaLabelledBy","description","ariaDescribedBy","onChange","onCancel","onClear","labels","horizontalPlacement","disablePortal","escapeWithReference","height","others","classes","filterGroupOpen","setFilterGroupOpen","defaultValue","filterValues","rollbackFilters","clearFilters","applyFilters","applyDisabled","focusTarget","focusOnContainer","current","focus","onApplyHandler","evt","onCancelHandler","onClearHandler","handleToggle","open","Header","placeholder","root","dropdown","panel","selection","baseDropdownSelection","header","modifiers","name","enabled","undefined","join","trim","leftSidePanel","rightSidePanel","actionBar","flat","length","clearLabel","space","applyLabel","cancelLabel","propTypes","string","node","bool","oneOf","func","shape","searchBoxPlaceholder","selectAll","multiSelectionConjunction","any"],"sources":["../../../../src/FilterGroup/FilterContent/FilterContent.js"],"sourcesContent":["import React, { useMemo, useState, useRef, useContext } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { Filters } from \"@hitachivantara/uikit-react-icons\";\nimport { FilterGroupContext } from \"../FilterGroupContext\";\nimport LeftPanel from \"../LeftPanel\";\nimport RightPanel from \"../RightPanel\";\nimport Counter from \"../Counter\";\n\nimport useStyles from \"./styles\";\n\nimport { setId, HvBaseDropdown, HvTypography, HvButton, HvActionBar } from \"../..\";\n\nconst FilterContent = ({\n id,\n status,\n disabled = false,\n\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n description,\n \"aria-describedby\": ariaDescribedBy,\n\n onChange,\n onCancel,\n onClear,\n\n labels,\n\n horizontalPlacement = \"right\",\n disablePortal = true,\n escapeWithReference = true,\n\n height,\n\n ...others\n}) => {\n const classes = useStyles();\n const [filterGroupOpen, setFilterGroupOpen] = useState(false);\n\n const { defaultValue, filterValues, rollbackFilters, clearFilters, applyFilters, applyDisabled } =\n useContext(FilterGroupContext);\n\n const focusTarget = useRef();\n\n const focusOnContainer = () => {\n focusTarget.current?.focus();\n };\n\n const onApplyHandler = (evt) => {\n applyFilters();\n onChange?.(evt, filterValues);\n setFilterGroupOpen(false);\n };\n\n const onCancelHandler = (evt) => {\n rollbackFilters();\n onCancel?.(evt);\n setFilterGroupOpen(false);\n };\n\n const onClearHandler = (evt) => {\n clearFilters();\n onClear?.(evt);\n };\n\n const handleToggle = (evt, open) => {\n /* \n If evt is null this toggle wasn't triggered by the user.\n instead it was triggered by the baseDropdown useEffect after\n the datepicker changed the expanded value this baseDropdown behavior needs a review\n */\n if (evt === null) return;\n setFilterGroupOpen(open);\n if (!open) onCancelHandler?.(evt);\n };\n\n const Header = useMemo(\n () => (\n <>\n <Filters />\n <HvTypography variant=\"highlightText\">{labels.placeholder}</HvTypography>\n </>\n ),\n [labels.placeholder]\n );\n\n return (\n <HvBaseDropdown\n id={setId(id, \"dropdown\")}\n role=\"combobox\"\n classes={{\n root: classes.dropdown,\n panel: classes.panel,\n selection: classes.baseDropdownSelection,\n header: classes.header,\n }}\n disabled={disabled}\n disablePortal={disablePortal}\n variableWidth\n placement={horizontalPlacement}\n expanded={filterGroupOpen}\n onToggle={handleToggle}\n onClickOutside={onCancelHandler}\n onContainerCreation={focusOnContainer}\n placeholder={Header}\n adornment={<Counter />}\n popperProps={{ modifiers: [{ name: \"preventOverflow\", enabled: escapeWithReference }] }}\n aria-haspopup=\"dialog\"\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledBy}\n aria-invalid={status === \"invalid\" ? true : undefined}\n aria-errormessage={status === \"invalid\" ? setId(id, \"error\") : undefined}\n aria-describedby={\n [description && setId(id, \"description\"), ariaDescribedBy].join(\" \").trim() || undefined\n }\n {...others}\n >\n <div ref={focusTarget} tabIndex={-1} />\n <div className={classes.root} style={{ height }}>\n <LeftPanel id={id} className={classes.leftSidePanel} />\n <RightPanel id={id} className={classes.rightSidePanel} labels={labels} />\n </div>\n <HvActionBar className={classes.actionBar}>\n <HvButton\n id={setId(id, \"clearFilters-button\")}\n disabled={\n defaultValue\n ? defaultValue?.flat().length === filterValues?.flat().length\n : filterValues?.flat().length === 0\n }\n category=\"ghost\"\n onClick={onClearHandler}\n >\n {labels.clearLabel}\n </HvButton>\n <div aria-hidden=\"true\" className={classes.space}>\n \n </div>\n <HvButton\n id={setId(id, \"apply-button\")}\n disabled={applyDisabled}\n category=\"ghost\"\n onClick={onApplyHandler}\n >\n {labels.applyLabel}\n </HvButton>\n <HvButton id={setId(id, \"cancel-button\")} category=\"ghost\" onClick={onCancelHandler}>\n {labels.cancelLabel}\n </HvButton>\n </HvActionBar>\n </HvBaseDropdown>\n );\n};\n\nFilterContent.propTypes = {\n id: PropTypes.string,\n\n \"aria-label\": PropTypes.string,\n \"aria-labelledby\": PropTypes.string,\n description: PropTypes.node,\n \"aria-describedby\": PropTypes.string,\n disabled: PropTypes.bool,\n status: PropTypes.oneOf([\"standBy\", \"valid\", \"invalid\"]),\n\n onChange: PropTypes.func,\n onCancel: PropTypes.func,\n onClear: PropTypes.func,\n\n labels: PropTypes.shape({\n applyLabel: PropTypes.string,\n cancelLabel: PropTypes.string,\n clearLabel: PropTypes.string,\n placeholder: PropTypes.string,\n searchBoxPlaceholder: PropTypes.string,\n selectAll: PropTypes.string,\n multiSelectionConjunction: PropTypes.string,\n }),\n\n horizontalPlacement: PropTypes.oneOf([\"left\", \"right\"]),\n disablePortal: PropTypes.bool,\n escapeWithReference: PropTypes.bool,\n height: PropTypes.any,\n};\n\nexport default FilterContent;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"FilterContent.js","names":["React","useMemo","useState","useRef","useContext","PropTypes","Filters","FilterGroupContext","LeftPanel","RightPanel","Counter","useStyles","setId","HvBaseDropdown","HvTypography","HvButton","HvActionBar","FilterContent","id","status","disabled","ariaLabel","ariaLabelledBy","description","ariaDescribedBy","onChange","onCancel","onClear","labels","horizontalPlacement","disablePortal","escapeWithReference","height","leftEmptyElement","rightEmptyElement","others","classes","filterGroupOpen","setFilterGroupOpen","defaultValue","filterValues","rollbackFilters","clearFilters","applyFilters","applyDisabled","focusTarget","focusOnContainer","current","focus","onApplyHandler","evt","onCancelHandler","onClearHandler","handleToggle","open","Header","placeholder","root","dropdown","panel","selection","baseDropdownSelection","header","modifiers","name","enabled","undefined","join","trim","leftSidePanel","rightSidePanel","actionBar","flat","length","clearLabel","space","applyLabel","cancelLabel","propTypes","string","node","bool","oneOf","func","shape","searchBoxPlaceholder","selectAll","multiSelectionConjunction","any"],"sources":["../../../../src/FilterGroup/FilterContent/FilterContent.js"],"sourcesContent":["import React, { useMemo, useState, useRef, useContext } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { Filters } from \"@hitachivantara/uikit-react-icons\";\nimport { FilterGroupContext } from \"../FilterGroupContext\";\nimport LeftPanel from \"../LeftPanel\";\nimport RightPanel from \"../RightPanel\";\nimport Counter from \"../Counter\";\n\nimport useStyles from \"./styles\";\n\nimport { setId, HvBaseDropdown, HvTypography, HvButton, HvActionBar } from \"../..\";\n\nconst FilterContent = ({\n id,\n status,\n disabled = false,\n\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n description,\n \"aria-describedby\": ariaDescribedBy,\n\n onChange,\n onCancel,\n onClear,\n\n labels,\n\n horizontalPlacement = \"right\",\n disablePortal = true,\n escapeWithReference = true,\n\n height,\n leftEmptyElement,\n rightEmptyElement,\n\n ...others\n}) => {\n const classes = useStyles();\n const [filterGroupOpen, setFilterGroupOpen] = useState(false);\n\n const { defaultValue, filterValues, rollbackFilters, clearFilters, applyFilters, applyDisabled } =\n useContext(FilterGroupContext);\n\n const focusTarget = useRef();\n\n const focusOnContainer = () => {\n focusTarget.current?.focus();\n };\n\n const onApplyHandler = (evt) => {\n applyFilters();\n onChange?.(evt, filterValues);\n setFilterGroupOpen(false);\n };\n\n const onCancelHandler = (evt) => {\n rollbackFilters();\n onCancel?.(evt);\n setFilterGroupOpen(false);\n };\n\n const onClearHandler = (evt) => {\n clearFilters();\n onClear?.(evt);\n };\n\n const handleToggle = (evt, open) => {\n /* \n If evt is null this toggle wasn't triggered by the user.\n instead it was triggered by the baseDropdown useEffect after\n the datepicker changed the expanded value this baseDropdown behavior needs a review\n */\n if (evt === null) return;\n setFilterGroupOpen(open);\n if (!open) onCancelHandler?.(evt);\n };\n\n const Header = useMemo(\n () => (\n <>\n <Filters />\n <HvTypography variant=\"highlightText\">{labels.placeholder}</HvTypography>\n </>\n ),\n [labels.placeholder]\n );\n\n return (\n <HvBaseDropdown\n id={setId(id, \"dropdown\")}\n role=\"combobox\"\n classes={{\n root: classes.dropdown,\n panel: classes.panel,\n selection: classes.baseDropdownSelection,\n header: classes.header,\n }}\n disabled={disabled}\n disablePortal={disablePortal}\n variableWidth\n placement={horizontalPlacement}\n expanded={filterGroupOpen}\n onToggle={handleToggle}\n onClickOutside={onCancelHandler}\n onContainerCreation={focusOnContainer}\n placeholder={Header}\n adornment={<Counter />}\n popperProps={{ modifiers: [{ name: \"preventOverflow\", enabled: escapeWithReference }] }}\n aria-haspopup=\"dialog\"\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledBy}\n aria-invalid={status === \"invalid\" ? true : undefined}\n aria-errormessage={status === \"invalid\" ? setId(id, \"error\") : undefined}\n aria-describedby={\n [description && setId(id, \"description\"), ariaDescribedBy].join(\" \").trim() || undefined\n }\n {...others}\n >\n <div ref={focusTarget} tabIndex={-1} />\n <div className={classes.root} style={{ height }}>\n <LeftPanel id={id} className={classes.leftSidePanel} emptyElement={leftEmptyElement} />\n <RightPanel\n id={id}\n className={classes.rightSidePanel}\n emptyElement={rightEmptyElement}\n labels={labels}\n />\n </div>\n <HvActionBar className={classes.actionBar}>\n <HvButton\n id={setId(id, \"clearFilters-button\")}\n disabled={\n defaultValue\n ? defaultValue?.flat().length === filterValues?.flat().length\n : filterValues?.flat().length === 0\n }\n category=\"ghost\"\n onClick={onClearHandler}\n >\n {labels.clearLabel}\n </HvButton>\n <div aria-hidden=\"true\" className={classes.space}>\n \n </div>\n <HvButton\n id={setId(id, \"apply-button\")}\n disabled={applyDisabled}\n category=\"ghost\"\n onClick={onApplyHandler}\n >\n {labels.applyLabel}\n </HvButton>\n <HvButton id={setId(id, \"cancel-button\")} category=\"ghost\" onClick={onCancelHandler}>\n {labels.cancelLabel}\n </HvButton>\n </HvActionBar>\n </HvBaseDropdown>\n );\n};\n\nFilterContent.propTypes = {\n id: PropTypes.string,\n\n \"aria-label\": PropTypes.string,\n \"aria-labelledby\": PropTypes.string,\n description: PropTypes.node,\n \"aria-describedby\": PropTypes.string,\n disabled: PropTypes.bool,\n status: PropTypes.oneOf([\"standBy\", \"valid\", \"invalid\"]),\n\n onChange: PropTypes.func,\n onCancel: PropTypes.func,\n onClear: PropTypes.func,\n\n labels: PropTypes.shape({\n applyLabel: PropTypes.string,\n cancelLabel: PropTypes.string,\n clearLabel: PropTypes.string,\n placeholder: PropTypes.string,\n searchBoxPlaceholder: PropTypes.string,\n selectAll: PropTypes.string,\n multiSelectionConjunction: PropTypes.string,\n }),\n\n horizontalPlacement: PropTypes.oneOf([\"left\", \"right\"]),\n disablePortal: PropTypes.bool,\n escapeWithReference: PropTypes.bool,\n height: PropTypes.any,\n leftEmptyElement: PropTypes.node,\n rightEmptyElement: PropTypes.node,\n};\n\nexport default FilterContent;\n"],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { StandardProps } from "@material-ui/core";
|
|
2
|
-
import {
|
|
2
|
+
import { HvFormElementProps } from "..";
|
|
3
|
+
import { HvFilterContentProps } from "./FilterContent";
|
|
3
4
|
|
|
4
5
|
export type HvFilterGroupClassKey = "root" | "labelContainer" | "label" | "description" | "error";
|
|
5
6
|
|
|
@@ -105,7 +106,7 @@ export interface HvFilterGroupProps
|
|
|
105
106
|
/**
|
|
106
107
|
* Other props, passed to `FilterContent` and `HvBaseDropdown` components
|
|
107
108
|
*/
|
|
108
|
-
filterContentProps?:
|
|
109
|
+
filterContentProps?: Partial<HvFilterContentProps>;
|
|
109
110
|
}
|
|
110
111
|
|
|
111
112
|
export default function HvFilterGroup(props: HvFilterGroupProps): JSX.Element | null;
|
|
@@ -9,7 +9,8 @@ import { wrapperTooltip } from "../../List/utils";
|
|
|
9
9
|
|
|
10
10
|
const LeftPanel = ({
|
|
11
11
|
id,
|
|
12
|
-
className
|
|
12
|
+
className,
|
|
13
|
+
emptyElement
|
|
13
14
|
}) => {
|
|
14
15
|
const classes = useStyles();
|
|
15
16
|
const {
|
|
@@ -20,7 +21,7 @@ const LeftPanel = ({
|
|
|
20
21
|
return /*#__PURE__*/React.createElement(HvPanel, {
|
|
21
22
|
id: setId(id, "leftPanel"),
|
|
22
23
|
className: clsx(className, classes.root)
|
|
23
|
-
}, /*#__PURE__*/React.createElement(HvListContainer, {
|
|
24
|
+
}, filterOptions.length > 0 ? /*#__PURE__*/React.createElement(HvListContainer, {
|
|
24
25
|
id: setId(id, "leftPanel-list"),
|
|
25
26
|
condensed: true,
|
|
26
27
|
interactive: true
|
|
@@ -36,12 +37,13 @@ const LeftPanel = ({
|
|
|
36
37
|
id: group.id
|
|
37
38
|
})
|
|
38
39
|
}, /*#__PURE__*/React.createElement(ItemText, null));
|
|
39
|
-
})));
|
|
40
|
+
})) : emptyElement);
|
|
40
41
|
};
|
|
41
42
|
|
|
42
43
|
process.env.NODE_ENV !== "production" ? LeftPanel.propTypes = {
|
|
43
44
|
id: PropTypes.string,
|
|
44
|
-
className: PropTypes.string
|
|
45
|
+
className: PropTypes.string,
|
|
46
|
+
emptyElement: PropTypes.node
|
|
45
47
|
} : void 0;
|
|
46
48
|
export default LeftPanel;
|
|
47
49
|
//# sourceMappingURL=LeftPanel.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LeftPanel.js","names":["React","useContext","clsx","PropTypes","HvPanel","HvListContainer","HvListItem","setId","FilterGroupContext","Counter","useStyles","wrapperTooltip","LeftPanel","id","className","classes","filterOptions","activeGroup","setActiveGroup","root","map","group","index","ItemText","name","filterItem","propTypes","string"],"sources":["../../../../src/FilterGroup/LeftPanel/LeftPanel.js"],"sourcesContent":["import React, { useContext } from \"react\";\nimport clsx from \"clsx\";\nimport PropTypes from \"prop-types\";\nimport { HvPanel, HvListContainer, HvListItem, setId } from \"../..\";\nimport { FilterGroupContext } from \"../FilterGroupContext\";\nimport Counter from \"../Counter\";\nimport useStyles from \"./styles\";\nimport { wrapperTooltip } from \"../../List/utils\";\n\nconst LeftPanel = ({ id, className }) => {\n const classes = useStyles();\n const { filterOptions, activeGroup, setActiveGroup } = useContext(FilterGroupContext);\n\n return (\n <HvPanel id={setId(id, \"leftPanel\")} className={clsx(className, classes.root)}>\n <HvListContainer id={setId(id, \"leftPanel-list\")} condensed interactive>\n
|
|
1
|
+
{"version":3,"file":"LeftPanel.js","names":["React","useContext","clsx","PropTypes","HvPanel","HvListContainer","HvListItem","setId","FilterGroupContext","Counter","useStyles","wrapperTooltip","LeftPanel","id","className","emptyElement","classes","filterOptions","activeGroup","setActiveGroup","root","length","map","group","index","ItemText","name","filterItem","propTypes","string","node"],"sources":["../../../../src/FilterGroup/LeftPanel/LeftPanel.js"],"sourcesContent":["import React, { useContext } from \"react\";\nimport clsx from \"clsx\";\nimport PropTypes from \"prop-types\";\nimport { HvPanel, HvListContainer, HvListItem, setId } from \"../..\";\nimport { FilterGroupContext } from \"../FilterGroupContext\";\nimport Counter from \"../Counter\";\nimport useStyles from \"./styles\";\nimport { wrapperTooltip } from \"../../List/utils\";\n\nconst LeftPanel = ({ id, className, emptyElement }) => {\n const classes = useStyles();\n const { filterOptions, activeGroup, setActiveGroup } = useContext(FilterGroupContext);\n\n return (\n <HvPanel id={setId(id, \"leftPanel\")} className={clsx(className, classes.root)}>\n {filterOptions.length > 0 ? (\n <HvListContainer id={setId(id, \"leftPanel-list\")} condensed interactive>\n {filterOptions.map((group, index) => {\n const ItemText = wrapperTooltip(true, group.name, group.name);\n return (\n <HvListItem\n id={group.id}\n className={classes.filterItem}\n key={group.name}\n onClick={() => setActiveGroup(index)}\n selected={filterOptions[activeGroup].id === group.id}\n endAdornment={<Counter id={group.id} />}\n >\n <ItemText />\n </HvListItem>\n );\n })}\n </HvListContainer>\n ) : (\n emptyElement\n )}\n </HvPanel>\n );\n};\n\nLeftPanel.propTypes = {\n id: PropTypes.string,\n className: PropTypes.string,\n emptyElement: PropTypes.node,\n};\n\nexport default LeftPanel;\n"],"mappings":"AAAA,OAAOA,KAAP,IAAgBC,UAAhB,QAAkC,OAAlC;AACA,OAAOC,IAAP,MAAiB,MAAjB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,SAASC,OAAT,EAAkBC,eAAlB,EAAmCC,UAAnC,EAA+CC,KAA/C,QAA4D,OAA5D;AACA,SAASC,kBAAT,QAAmC,uBAAnC;AACA,OAAOC,OAAP,MAAoB,YAApB;AACA,OAAOC,SAAP,MAAsB,UAAtB;AACA,SAASC,cAAT,QAA+B,kBAA/B;;AAEA,MAAMC,SAAS,GAAG,CAAC;EAAEC,EAAF;EAAMC,SAAN;EAAiBC;AAAjB,CAAD,KAAqC;EACrD,MAAMC,OAAO,GAAGN,SAAS,EAAzB;EACA,MAAM;IAAEO,aAAF;IAAiBC,WAAjB;IAA8BC;EAA9B,IAAiDlB,UAAU,CAACO,kBAAD,CAAjE;EAEA,oBACE,oBAAC,OAAD;IAAS,EAAE,EAAED,KAAK,CAACM,EAAD,EAAK,WAAL,CAAlB;IAAqC,SAAS,EAAEX,IAAI,CAACY,SAAD,EAAYE,OAAO,CAACI,IAApB;EAApD,GACGH,aAAa,CAACI,MAAd,GAAuB,CAAvB,gBACC,oBAAC,eAAD;IAAiB,EAAE,EAAEd,KAAK,CAACM,EAAD,EAAK,gBAAL,CAA1B;IAAkD,SAAS,MAA3D;IAA4D,WAAW;EAAvE,GACGI,aAAa,CAACK,GAAd,CAAkB,CAACC,KAAD,EAAQC,KAAR,KAAkB;IACnC,MAAMC,QAAQ,GAAGd,cAAc,CAAC,IAAD,EAAOY,KAAK,CAACG,IAAb,EAAmBH,KAAK,CAACG,IAAzB,CAA/B;IACA,oBACE,oBAAC,UAAD;MACE,EAAE,EAAEH,KAAK,CAACV,EADZ;MAEE,SAAS,EAAEG,OAAO,CAACW,UAFrB;MAGE,GAAG,EAAEJ,KAAK,CAACG,IAHb;MAIE,OAAO,EAAE,MAAMP,cAAc,CAACK,KAAD,CAJ/B;MAKE,QAAQ,EAAEP,aAAa,CAACC,WAAD,CAAb,CAA2BL,EAA3B,KAAkCU,KAAK,CAACV,EALpD;MAME,YAAY,eAAE,oBAAC,OAAD;QAAS,EAAE,EAAEU,KAAK,CAACV;MAAnB;IANhB,gBAQE,oBAAC,QAAD,OARF,CADF;EAYD,CAdA,CADH,CADD,GAmBCE,YApBJ,CADF;AAyBD,CA7BD;;AA+BA,wCAAAH,SAAS,CAACgB,SAAV,GAAsB;EACpBf,EAAE,EAAEV,SAAS,CAAC0B,MADM;EAEpBf,SAAS,EAAEX,SAAS,CAAC0B,MAFD;EAGpBd,YAAY,EAAEZ,SAAS,CAAC2B;AAHJ,CAAtB;AAMA,eAAelB,SAAf"}
|
|
@@ -17,7 +17,8 @@ import { setId, HvTypography, HvList, HvInput, HvPanel, HvCheckBox } from "../..
|
|
|
17
17
|
const RightPanel = ({
|
|
18
18
|
id,
|
|
19
19
|
className,
|
|
20
|
-
labels
|
|
20
|
+
labels,
|
|
21
|
+
emptyElement
|
|
21
22
|
}) => {
|
|
22
23
|
const classes = useStyles();
|
|
23
24
|
const [searchStr, setSearchStr] = useState("");
|
|
@@ -106,7 +107,7 @@ const RightPanel = ({
|
|
|
106
107
|
return /*#__PURE__*/React.createElement(HvPanel, {
|
|
107
108
|
id: setId(id, "rightPanel"),
|
|
108
109
|
className: clsx(className, classes.root)
|
|
109
|
-
}, /*#__PURE__*/React.createElement(HvInput, {
|
|
110
|
+
}, listValues.length > 0 ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(HvInput, {
|
|
110
111
|
id: setId(id, "search"),
|
|
111
112
|
classes: {
|
|
112
113
|
root: classes.search
|
|
@@ -127,7 +128,7 @@ const RightPanel = ({
|
|
|
127
128
|
selectable: true,
|
|
128
129
|
condensed: true,
|
|
129
130
|
hasTooltips: true
|
|
130
|
-
}));
|
|
131
|
+
})) : emptyElement);
|
|
131
132
|
};
|
|
132
133
|
|
|
133
134
|
process.env.NODE_ENV !== "production" ? RightPanel.propTypes = {
|
|
@@ -137,7 +138,8 @@ process.env.NODE_ENV !== "production" ? RightPanel.propTypes = {
|
|
|
137
138
|
searchBoxPlaceholder: PropTypes.string,
|
|
138
139
|
selectAll: PropTypes.string,
|
|
139
140
|
multiSelectionConjunction: PropTypes.string
|
|
140
|
-
})
|
|
141
|
+
}),
|
|
142
|
+
emptyElement: PropTypes.node
|
|
141
143
|
} : void 0;
|
|
142
144
|
export default RightPanel;
|
|
143
145
|
//# sourceMappingURL=RightPanel.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RightPanel.js","names":["React","useMemo","useContext","useState","useEffect","useCallback","PropTypes","cloneDeep","clsx","FilterGroupContext","useStyles","setId","HvTypography","HvList","HvInput","HvPanel","HvCheckBox","RightPanel","id","className","labels","classes","searchStr","setSearchStr","allSelected","setAllSelected","anySelected","setAnySelected","filterOptions","filterValues","setFilterValues","activeGroup","activeGroupOptions","data","map","option","activeFilterValues","filter","value","includes","listValues","label","name","selected","isHidden","toLowerCase","indexOf","updateSelectAll","nbrSelected","length","hasSelection","allSelect","onChangeHandler","values","newFilterValues","i","v","handleSelectAll","SelectAll","selectAll","multiSelectionConjunction","defaultLabel","selectAllContainer","container","selection","root","search","searchBoxPlaceholder","event","str","list","propTypes","string","shape"],"sources":["../../../../src/FilterGroup/RightPanel/RightPanel.js"],"sourcesContent":["import React, { useMemo, useContext, useState, useEffect, useCallback } from \"react\";\nimport PropTypes from \"prop-types\";\nimport cloneDeep from \"lodash/cloneDeep\";\nimport clsx from \"clsx\";\nimport { FilterGroupContext } from \"../FilterGroupContext\";\nimport useStyles from \"./styles\";\nimport { setId, HvTypography, HvList, HvInput, HvPanel, HvCheckBox } from \"../..\";\n\nconst RightPanel = ({ id, className, labels }) => {\n const classes = useStyles();\n const [searchStr, setSearchStr] = useState(\"\");\n const [allSelected, setAllSelected] = useState(false);\n const [anySelected, setAnySelected] = useState(false);\n\n const {\n filterOptions,\n filterValues = [],\n setFilterValues,\n activeGroup,\n } = useContext(FilterGroupContext);\n\n const activeGroupOptions = useMemo(\n () => (filterOptions[activeGroup]?.data || []).map((option) => option.id),\n [filterOptions, activeGroup]\n );\n\n const activeFilterValues = useMemo(\n () => filterValues[activeGroup]?.filter((value) => activeGroupOptions.includes(value)),\n [filterValues, activeGroupOptions, activeGroup]\n );\n\n const listValues = useMemo(\n () =>\n (filterOptions[activeGroup]?.data || []).map((option) => ({\n ...option,\n label: option.name,\n selected: filterValues[activeGroup]?.includes(option.id),\n isHidden: option.name.toLowerCase().indexOf(searchStr.toLowerCase()) < 0,\n })),\n [filterOptions, filterValues, activeGroup, searchStr]\n );\n\n const updateSelectAll = useCallback(() => {\n const nbrSelected = activeFilterValues?.length;\n const hasSelection = nbrSelected > 0;\n const allSelect = nbrSelected === activeGroupOptions.length;\n\n setAnySelected(hasSelection);\n setAllSelected(hasSelection && allSelect);\n }, [activeFilterValues, activeGroupOptions]);\n\n useEffect(() => {\n updateSelectAll();\n }, [activeFilterValues, updateSelectAll]);\n\n useEffect(() => setSearchStr(\"\"), [activeGroup]);\n\n const onChangeHandler = (values) => {\n const newFilterValues = filterOptions.map((option, i) =>\n activeGroup === i\n ? values.filter((v) => v.selected).map((v) => v.id)\n : [...(filterValues[i] || [])]\n );\n setFilterValues(newFilterValues);\n };\n\n const handleSelectAll = useCallback(() => {\n const newFilterValues = cloneDeep(filterValues);\n newFilterValues[activeGroup] = anySelected ? [] : activeGroupOptions;\n\n setFilterValues(newFilterValues);\n }, [activeGroup, activeGroupOptions, anySelected, filterValues, setFilterValues]);\n\n /**\n * Create selecteAll component.\n *\n * @returns {*}\n */\n const SelectAll = useCallback(() => {\n const { selectAll, multiSelectionConjunction } = labels;\n const nbrSelected = activeFilterValues?.length;\n\n const defaultLabel = (\n <HvTypography component=\"span\">\n {nbrSelected > 0 ? (\n <>\n <b>{nbrSelected}</b>\n {` ${multiSelectionConjunction} ${activeGroupOptions.length}`}\n </>\n ) : (\n <>\n <b>{selectAll}</b>\n {` (${activeGroupOptions.length})`}\n </>\n )}\n </HvTypography>\n );\n\n return (\n <div className={classes.selectAllContainer}>\n <HvCheckBox\n id={setId(id, \"select-all\")}\n label={defaultLabel}\n onChange={() => handleSelectAll()}\n classes={{ container: classes.selection }}\n className={classes.selectAll}\n indeterminate={anySelected && !allSelected}\n checked={allSelected}\n />\n </div>\n );\n }, [\n activeFilterValues?.length,\n activeGroupOptions.length,\n allSelected,\n anySelected,\n classes.selectAll,\n classes.selectAllContainer,\n classes.selection,\n handleSelectAll,\n id,\n labels,\n ]);\n\n return (\n <HvPanel id={setId(id, \"rightPanel\")} className={clsx(className, classes.root)}>\n <HvInput\n id={setId(id, \"search\")}\n classes={{\n root: classes.search,\n }}\n type=\"search\"\n placeholder={labels.searchBoxPlaceholder}\n value={searchStr}\n onChange={(event, str) => setSearchStr(str)}\n />\n <SelectAll />\n <HvList\n key={activeGroup}\n id={setId(id, \"list\")}\n className={classes.list}\n values={listValues}\n multiSelect\n useSelector\n showSelectAll={false}\n onChange={onChangeHandler}\n selectable\n condensed\n hasTooltips\n />\n </HvPanel>\n );\n};\n\nRightPanel.propTypes = {\n id: PropTypes.string,\n className: PropTypes.string,\n labels: PropTypes.shape({\n searchBoxPlaceholder: PropTypes.string,\n selectAll: PropTypes.string,\n multiSelectionConjunction: PropTypes.string,\n }),\n};\n\nexport default RightPanel;\n"],"mappings":";;;;;;;;AAAA,OAAOA,KAAP,IAAgBC,OAAhB,EAAyBC,UAAzB,EAAqCC,QAArC,EAA+CC,SAA/C,EAA0DC,WAA1D,QAA6E,OAA7E;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,SAAP,MAAsB,kBAAtB;AACA,OAAOC,IAAP,MAAiB,MAAjB;AACA,SAASC,kBAAT,QAAmC,uBAAnC;AACA,OAAOC,SAAP,MAAsB,UAAtB;AACA,SAASC,KAAT,EAAgBC,YAAhB,EAA8BC,MAA9B,EAAsCC,OAAtC,EAA+CC,OAA/C,EAAwDC,UAAxD,QAA0E,OAA1E;;AAEA,MAAMC,UAAU,GAAG,CAAC;EAAEC,EAAF;EAAMC,SAAN;EAAiBC;AAAjB,CAAD,KAA+B;EAChD,MAAMC,OAAO,GAAGX,SAAS,EAAzB;EACA,MAAM,CAACY,SAAD,EAAYC,YAAZ,IAA4BpB,QAAQ,CAAC,EAAD,CAA1C;EACA,MAAM,CAACqB,WAAD,EAAcC,cAAd,IAAgCtB,QAAQ,CAAC,KAAD,CAA9C;EACA,MAAM,CAACuB,WAAD,EAAcC,cAAd,IAAgCxB,QAAQ,CAAC,KAAD,CAA9C;EAEA,MAAM;IACJyB,aADI;IAEJC,YAAY,GAAG,EAFX;IAGJC,eAHI;IAIJC;EAJI,IAKF7B,UAAU,CAACO,kBAAD,CALd;EAOA,MAAMuB,kBAAkB,GAAG/B,OAAO,CAChC;IAAA;;IAAA,OAAM,CAAC,0BAAA2B,aAAa,CAACG,WAAD,CAAb,gFAA4BE,IAA5B,KAAoC,EAArC,EAAyCC,GAAzC,CAA8CC,MAAD,IAAYA,MAAM,CAACjB,EAAhE,CAAN;EAAA,CADgC,EAEhC,CAACU,aAAD,EAAgBG,WAAhB,CAFgC,CAAlC;EAKA,MAAMK,kBAAkB,GAAGnC,OAAO,CAChC;IAAA;;IAAA,gCAAM4B,YAAY,CAACE,WAAD,CAAlB,0DAAM,sBAA2BM,MAA3B,CAAmCC,KAAD,IAAWN,kBAAkB,CAACO,QAAnB,CAA4BD,KAA5B,CAA7C,CAAN;EAAA,CADgC,EAEhC,CAACT,YAAD,EAAeG,kBAAf,EAAmCD,WAAnC,CAFgC,CAAlC;EAKA,MAAMS,UAAU,GAAGvC,OAAO,CACxB;IAAA;;IAAA,OACE,CAAC,2BAAA2B,aAAa,CAACG,WAAD,CAAb,kFAA4BE,IAA5B,KAAoC,EAArC,EAAyCC,GAAzC,CAA8CC,MAAD;MAAA;;MAAA,uCACxCA,MADwC;QAE3CM,KAAK,EAAEN,MAAM,CAACO,IAF6B;QAG3CC,QAAQ,4BAAEd,YAAY,CAACE,WAAD,CAAd,2DAAE,uBAA2BQ,QAA3B,CAAoCJ,MAAM,CAACjB,EAA3C,CAHiC;QAI3C0B,QAAQ,EAAET,MAAM,CAACO,IAAP,CAAYG,WAAZ,GAA0BC,OAA1B,CAAkCxB,SAAS,CAACuB,WAAV,EAAlC,IAA6D;MAJ5B;IAAA,CAA7C,CADF;EAAA,CADwB,EAQxB,CAACjB,aAAD,EAAgBC,YAAhB,EAA8BE,WAA9B,EAA2CT,SAA3C,CARwB,CAA1B;EAWA,MAAMyB,eAAe,GAAG1C,WAAW,CAAC,MAAM;IACxC,MAAM2C,WAAW,GAAGZ,kBAAH,aAAGA,kBAAH,uBAAGA,kBAAkB,CAAEa,MAAxC;IACA,MAAMC,YAAY,GAAGF,WAAW,GAAG,CAAnC;IACA,MAAMG,SAAS,GAAGH,WAAW,KAAKhB,kBAAkB,CAACiB,MAArD;IAEAtB,cAAc,CAACuB,YAAD,CAAd;IACAzB,cAAc,CAACyB,YAAY,IAAIC,SAAjB,CAAd;EACD,CAPkC,EAOhC,CAACf,kBAAD,EAAqBJ,kBAArB,CAPgC,CAAnC;EASA5B,SAAS,CAAC,MAAM;IACd2C,eAAe;EAChB,CAFQ,EAEN,CAACX,kBAAD,EAAqBW,eAArB,CAFM,CAAT;EAIA3C,SAAS,CAAC,MAAMmB,YAAY,CAAC,EAAD,CAAnB,EAAyB,CAACQ,WAAD,CAAzB,CAAT;;EAEA,MAAMqB,eAAe,GAAIC,MAAD,IAAY;IAClC,MAAMC,eAAe,GAAG1B,aAAa,CAACM,GAAd,CAAkB,CAACC,MAAD,EAASoB,CAAT,KACxCxB,WAAW,KAAKwB,CAAhB,GACIF,MAAM,CAAChB,MAAP,CAAemB,CAAD,IAAOA,CAAC,CAACb,QAAvB,EAAiCT,GAAjC,CAAsCsB,CAAD,IAAOA,CAAC,CAACtC,EAA9C,CADJ,GAEI,CAAC,IAAIW,YAAY,CAAC0B,CAAD,CAAZ,IAAmB,EAAvB,CAAD,CAHkB,CAAxB;IAKAzB,eAAe,CAACwB,eAAD,CAAf;EACD,CAPD;;EASA,MAAMG,eAAe,GAAGpD,WAAW,CAAC,MAAM;IACxC,MAAMiD,eAAe,GAAG/C,SAAS,CAACsB,YAAD,CAAjC;IACAyB,eAAe,CAACvB,WAAD,CAAf,GAA+BL,WAAW,GAAG,EAAH,GAAQM,kBAAlD;IAEAF,eAAe,CAACwB,eAAD,CAAf;EACD,CALkC,EAKhC,CAACvB,WAAD,EAAcC,kBAAd,EAAkCN,WAAlC,EAA+CG,YAA/C,EAA6DC,eAA7D,CALgC,CAAnC;EAOA;AACF;AACA;AACA;AACA;;EACE,MAAM4B,SAAS,GAAGrD,WAAW,CAAC,MAAM;IAClC,MAAM;MAAEsD,SAAF;MAAaC;IAAb,IAA2CxC,MAAjD;IACA,MAAM4B,WAAW,GAAGZ,kBAAH,aAAGA,kBAAH,uBAAGA,kBAAkB,CAAEa,MAAxC;IAEA,MAAMY,YAAY,gBAChB,oBAAC,YAAD;MAAc,SAAS,EAAC;IAAxB,GACGb,WAAW,GAAG,CAAd,gBACC,uDACE,+BAAIA,WAAJ,CADF,EAEI,IAAGY,yBAA0B,IAAG5B,kBAAkB,CAACiB,MAAO,EAF9D,CADD,gBAMC,uDACE,+BAAIU,SAAJ,CADF,EAEI,KAAI3B,kBAAkB,CAACiB,MAAO,GAFlC,CAPJ,CADF;IAgBA,oBACE;MAAK,SAAS,EAAE5B,OAAO,CAACyC;IAAxB,gBACE,oBAAC,UAAD;MACE,EAAE,EAAEnD,KAAK,CAACO,EAAD,EAAK,YAAL,CADX;MAEE,KAAK,EAAE2C,YAFT;MAGE,QAAQ,EAAE,MAAMJ,eAAe,EAHjC;MAIE,OAAO,EAAE;QAAEM,SAAS,EAAE1C,OAAO,CAAC2C;MAArB,CAJX;MAKE,SAAS,EAAE3C,OAAO,CAACsC,SALrB;MAME,aAAa,EAAEjC,WAAW,IAAI,CAACF,WANjC;MAOE,OAAO,EAAEA;IAPX,EADF,CADF;EAaD,CAjC4B,EAiC1B,CACDY,kBADC,aACDA,kBADC,uBACDA,kBAAkB,CAAEa,MADnB,EAEDjB,kBAAkB,CAACiB,MAFlB,EAGDzB,WAHC,EAIDE,WAJC,EAKDL,OAAO,CAACsC,SALP,EAMDtC,OAAO,CAACyC,kBANP,EAODzC,OAAO,CAAC2C,SAPP,EAQDP,eARC,EASDvC,EATC,EAUDE,MAVC,CAjC0B,CAA7B;EA8CA,oBACE,oBAAC,OAAD;IAAS,EAAE,EAAET,KAAK,CAACO,EAAD,EAAK,YAAL,CAAlB;IAAsC,SAAS,EAAEV,IAAI,CAACW,SAAD,EAAYE,OAAO,CAAC4C,IAApB;EAArD,gBACE,oBAAC,OAAD;IACE,EAAE,EAAEtD,KAAK,CAACO,EAAD,EAAK,QAAL,CADX;IAEE,OAAO,EAAE;MACP+C,IAAI,EAAE5C,OAAO,CAAC6C;IADP,CAFX;IAKE,IAAI,EAAC,QALP;IAME,WAAW,EAAE9C,MAAM,CAAC+C,oBANtB;IAOE,KAAK,EAAE7C,SAPT;IAQE,QAAQ,EAAE,CAAC8C,KAAD,EAAQC,GAAR,KAAgB9C,YAAY,CAAC8C,GAAD;EARxC,EADF,eAWE,oBAAC,SAAD,OAXF,eAYE,oBAAC,MAAD;IACE,GAAG,EAAEtC,WADP;IAEE,EAAE,EAAEpB,KAAK,CAACO,EAAD,EAAK,MAAL,CAFX;IAGE,SAAS,EAAEG,OAAO,CAACiD,IAHrB;IAIE,MAAM,EAAE9B,UAJV;IAKE,WAAW,MALb;IAME,WAAW,MANb;IAOE,aAAa,EAAE,KAPjB;IAQE,QAAQ,EAAEY,eARZ;IASE,UAAU,MATZ;IAUE,SAAS,MAVX;IAWE,WAAW;EAXb,EAZF,CADF;AA4BD,CAhJD;;AAkJA,wCAAAnC,UAAU,CAACsD,SAAX,GAAuB;EACrBrD,EAAE,EAAEZ,SAAS,CAACkE,MADO;EAErBrD,SAAS,EAAEb,SAAS,CAACkE,MAFA;EAGrBpD,MAAM,EAAEd,SAAS,CAACmE,KAAV,CAAgB;IACtBN,oBAAoB,EAAE7D,SAAS,CAACkE,MADV;IAEtBb,SAAS,EAAErD,SAAS,CAACkE,MAFC;IAGtBZ,yBAAyB,EAAEtD,SAAS,CAACkE;EAHf,CAAhB;AAHa,CAAvB;AAUA,eAAevD,UAAf"}
|
|
1
|
+
{"version":3,"file":"RightPanel.js","names":["React","useMemo","useContext","useState","useEffect","useCallback","PropTypes","cloneDeep","clsx","FilterGroupContext","useStyles","setId","HvTypography","HvList","HvInput","HvPanel","HvCheckBox","RightPanel","id","className","labels","emptyElement","classes","searchStr","setSearchStr","allSelected","setAllSelected","anySelected","setAnySelected","filterOptions","filterValues","setFilterValues","activeGroup","activeGroupOptions","data","map","option","activeFilterValues","filter","value","includes","listValues","label","name","selected","isHidden","toLowerCase","indexOf","updateSelectAll","nbrSelected","length","hasSelection","allSelect","onChangeHandler","values","newFilterValues","i","v","handleSelectAll","SelectAll","selectAll","multiSelectionConjunction","defaultLabel","selectAllContainer","container","selection","root","search","searchBoxPlaceholder","event","str","list","propTypes","string","shape","node"],"sources":["../../../../src/FilterGroup/RightPanel/RightPanel.js"],"sourcesContent":["import React, { useMemo, useContext, useState, useEffect, useCallback } from \"react\";\nimport PropTypes from \"prop-types\";\nimport cloneDeep from \"lodash/cloneDeep\";\nimport clsx from \"clsx\";\nimport { FilterGroupContext } from \"../FilterGroupContext\";\nimport useStyles from \"./styles\";\nimport { setId, HvTypography, HvList, HvInput, HvPanel, HvCheckBox } from \"../..\";\n\nconst RightPanel = ({ id, className, labels, emptyElement }) => {\n const classes = useStyles();\n const [searchStr, setSearchStr] = useState(\"\");\n const [allSelected, setAllSelected] = useState(false);\n const [anySelected, setAnySelected] = useState(false);\n\n const {\n filterOptions,\n filterValues = [],\n setFilterValues,\n activeGroup,\n } = useContext(FilterGroupContext);\n\n const activeGroupOptions = useMemo(\n () => (filterOptions[activeGroup]?.data || []).map((option) => option.id),\n [filterOptions, activeGroup]\n );\n\n const activeFilterValues = useMemo(\n () => filterValues[activeGroup]?.filter((value) => activeGroupOptions.includes(value)),\n [filterValues, activeGroupOptions, activeGroup]\n );\n\n const listValues = useMemo(\n () =>\n (filterOptions[activeGroup]?.data || []).map((option) => ({\n ...option,\n label: option.name,\n selected: filterValues[activeGroup]?.includes(option.id),\n isHidden: option.name.toLowerCase().indexOf(searchStr.toLowerCase()) < 0,\n })),\n [filterOptions, filterValues, activeGroup, searchStr]\n );\n\n const updateSelectAll = useCallback(() => {\n const nbrSelected = activeFilterValues?.length;\n const hasSelection = nbrSelected > 0;\n const allSelect = nbrSelected === activeGroupOptions.length;\n\n setAnySelected(hasSelection);\n setAllSelected(hasSelection && allSelect);\n }, [activeFilterValues, activeGroupOptions]);\n\n useEffect(() => {\n updateSelectAll();\n }, [activeFilterValues, updateSelectAll]);\n\n useEffect(() => setSearchStr(\"\"), [activeGroup]);\n\n const onChangeHandler = (values) => {\n const newFilterValues = filterOptions.map((option, i) =>\n activeGroup === i\n ? values.filter((v) => v.selected).map((v) => v.id)\n : [...(filterValues[i] || [])]\n );\n setFilterValues(newFilterValues);\n };\n\n const handleSelectAll = useCallback(() => {\n const newFilterValues = cloneDeep(filterValues);\n newFilterValues[activeGroup] = anySelected ? [] : activeGroupOptions;\n\n setFilterValues(newFilterValues);\n }, [activeGroup, activeGroupOptions, anySelected, filterValues, setFilterValues]);\n\n /**\n * Create selecteAll component.\n *\n * @returns {*}\n */\n const SelectAll = useCallback(() => {\n const { selectAll, multiSelectionConjunction } = labels;\n const nbrSelected = activeFilterValues?.length;\n\n const defaultLabel = (\n <HvTypography component=\"span\">\n {nbrSelected > 0 ? (\n <>\n <b>{nbrSelected}</b>\n {` ${multiSelectionConjunction} ${activeGroupOptions.length}`}\n </>\n ) : (\n <>\n <b>{selectAll}</b>\n {` (${activeGroupOptions.length})`}\n </>\n )}\n </HvTypography>\n );\n\n return (\n <div className={classes.selectAllContainer}>\n <HvCheckBox\n id={setId(id, \"select-all\")}\n label={defaultLabel}\n onChange={() => handleSelectAll()}\n classes={{ container: classes.selection }}\n className={classes.selectAll}\n indeterminate={anySelected && !allSelected}\n checked={allSelected}\n />\n </div>\n );\n }, [\n activeFilterValues?.length,\n activeGroupOptions.length,\n allSelected,\n anySelected,\n classes.selectAll,\n classes.selectAllContainer,\n classes.selection,\n handleSelectAll,\n id,\n labels,\n ]);\n\n return (\n <HvPanel id={setId(id, \"rightPanel\")} className={clsx(className, classes.root)}>\n {listValues.length > 0 ? (\n <>\n <HvInput\n id={setId(id, \"search\")}\n classes={{\n root: classes.search,\n }}\n type=\"search\"\n placeholder={labels.searchBoxPlaceholder}\n value={searchStr}\n onChange={(event, str) => setSearchStr(str)}\n />\n <SelectAll />\n <HvList\n key={activeGroup}\n id={setId(id, \"list\")}\n className={classes.list}\n values={listValues}\n multiSelect\n useSelector\n showSelectAll={false}\n onChange={onChangeHandler}\n selectable\n condensed\n hasTooltips\n />\n </>\n ) : (\n emptyElement\n )}\n </HvPanel>\n );\n};\n\nRightPanel.propTypes = {\n id: PropTypes.string,\n className: PropTypes.string,\n labels: PropTypes.shape({\n searchBoxPlaceholder: PropTypes.string,\n selectAll: PropTypes.string,\n multiSelectionConjunction: PropTypes.string,\n }),\n emptyElement: PropTypes.node,\n};\n\nexport default RightPanel;\n"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hitachivantara/uikit-react-core",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.72.0",
|
|
4
4
|
"description": "A collection of React components for the Hitachi Vantara's Design System.",
|
|
5
5
|
"homepage": "https://github.com/lumada-design/hv-uikit-react",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -80,5 +80,5 @@
|
|
|
80
80
|
"publishConfig": {
|
|
81
81
|
"access": "public"
|
|
82
82
|
},
|
|
83
|
-
"gitHead": "
|
|
83
|
+
"gitHead": "684f2a696d99a90295f8905bad512cd1a39a82f8"
|
|
84
84
|
}
|