@rh-support/cases 2.1.78 → 2.1.80-beta.1
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/lib/esm/components/case-list/case-list-table/CaseListTable.d.ts.map +1 -1
- package/lib/esm/components/case-list/case-list-table/CaseListTable.js +13 -8
- package/lib/esm/components/case-list/case-list-table/table-column-selector/TableColumnSelector.d.ts +1 -1
- package/lib/esm/components/case-list/case-list-table/table-column-selector/TableColumnSelector.d.ts.map +1 -1
- package/lib/esm/components/case-list/case-list-table/table-column-selector/TableColumnSelector.js +13 -27
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CaseListTable.d.ts","sourceRoot":"","sources":["../../../../../src/components/case-list/case-list-table/CaseListTable.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,+CAA+C,CAAC;AAuB3E,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAQxD,OAAO,KAAkD,MAAM,OAAO,CAAC;AAKvE,OAAO,EAAE,iBAAiB,EAAyB,MAAM,0BAA0B,CAAC;AAEpF,OAAO,EAEH,eAAe,EACf,SAAS,EAIZ,MAAM,0BAA0B,CAAC;AA6BlC,UAAU,MAAM;IACZ,QAAQ,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;IAC3C,UAAU,EAAE,UAAU,EAAE,CAAC;IACzB,kBAAkB,EAAE,QAAQ,CAAC;IAC7B,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,cAAc,CAAC,EAAE,eAAe,CAAC;IACjC,qBAAqB,EAAE,OAAO,CAAC;IAC/B,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;CACxB;AAsBD,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"CaseListTable.d.ts","sourceRoot":"","sources":["../../../../../src/components/case-list/case-list-table/CaseListTable.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,+CAA+C,CAAC;AAuB3E,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAQxD,OAAO,KAAkD,MAAM,OAAO,CAAC;AAKvE,OAAO,EAAE,iBAAiB,EAAyB,MAAM,0BAA0B,CAAC;AAEpF,OAAO,EAEH,eAAe,EACf,SAAS,EAIZ,MAAM,0BAA0B,CAAC;AA6BlC,UAAU,MAAM;IACZ,QAAQ,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;IAC3C,UAAU,EAAE,UAAU,EAAE,CAAC;IACzB,kBAAkB,EAAE,QAAQ,CAAC;IAC7B,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,cAAc,CAAC,EAAE,eAAe,CAAC;IACjC,qBAAqB,EAAE,OAAO,CAAC;IAC/B,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;CACxB;AAsBD,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,qBA4jB1C"}
|
|
@@ -38,7 +38,7 @@ const EMPTY_STATE_NO_FILTERS_ERROR = (React.createElement(React.Fragment, null,
|
|
|
38
38
|
"to see if there are any known issues"));
|
|
39
39
|
export function CaseListTable(props) {
|
|
40
40
|
var _a, _b, _c, _d, _e, _f;
|
|
41
|
-
const [selectedColumns, setSelectedColumns] = useState(
|
|
41
|
+
const [selectedColumns, setSelectedColumns] = useState([]);
|
|
42
42
|
const { t } = useTranslation();
|
|
43
43
|
const [selectedCases, setSelectedCases] = useState([]);
|
|
44
44
|
const caseListData = props.isCaseListPageLoading ? [] : (_b = (_a = props.caseList) === null || _a === void 0 ? void 0 : _a.docs) !== null && _b !== void 0 ? _b : [];
|
|
@@ -142,12 +142,6 @@ export function CaseListTable(props) {
|
|
|
142
142
|
const selectAllRows = () => {
|
|
143
143
|
!isEqual(selectedCases, allRows) ? setSelectedCases(allRows) : setSelectedCases([]);
|
|
144
144
|
};
|
|
145
|
-
const savedSelectedColumnsKey = UserPreferencesKeys.caseListSelectedColumns;
|
|
146
|
-
const savedSelectedColumns = find(hydraUserPreferences === null || hydraUserPreferences === void 0 ? void 0 : hydraUserPreferences.data, (pref) => pref.key === savedSelectedColumnsKey);
|
|
147
|
-
const cachedColumns = (!isUndefined(savedSelectedColumns) && JSON.parse(savedSelectedColumns === null || savedSelectedColumns === void 0 ? void 0 : savedSelectedColumns.value)) || initialSelectedColumns;
|
|
148
|
-
const getSelectedColumnsListFromCache = () => {
|
|
149
|
-
(savedSelectedColumns === null || savedSelectedColumns === void 0 ? void 0 : savedSelectedColumns.value) && setSelectedColumns(cachedColumns);
|
|
150
|
-
};
|
|
151
145
|
const onColumnSelectorChange = (selectedColumnsList) => {
|
|
152
146
|
setSelectedColumns(selectedColumnsList);
|
|
153
147
|
try {
|
|
@@ -306,6 +300,17 @@ export function CaseListTable(props) {
|
|
|
306
300
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
307
301
|
}, [props.caseList]);
|
|
308
302
|
useEffect(() => {
|
|
303
|
+
if (hydraUserPreferences.isFetching)
|
|
304
|
+
return;
|
|
305
|
+
const getSelectedColumnsListFromCache = () => {
|
|
306
|
+
const savedSelectedColumns = find(hydraUserPreferences === null || hydraUserPreferences === void 0 ? void 0 : hydraUserPreferences.data, (pref) => pref.key === UserPreferencesKeys.caseListSelectedColumns);
|
|
307
|
+
if (!isUndefined(savedSelectedColumns) && JSON.parse(savedSelectedColumns === null || savedSelectedColumns === void 0 ? void 0 : savedSelectedColumns.value)) {
|
|
308
|
+
setSelectedColumns(JSON.parse(savedSelectedColumns === null || savedSelectedColumns === void 0 ? void 0 : savedSelectedColumns.value));
|
|
309
|
+
}
|
|
310
|
+
else {
|
|
311
|
+
setSelectedColumns(initialSelectedColumns);
|
|
312
|
+
}
|
|
313
|
+
};
|
|
309
314
|
getSelectedColumnsListFromCache();
|
|
310
315
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
311
316
|
}, []);
|
|
@@ -342,7 +347,7 @@ export function CaseListTable(props) {
|
|
|
342
347
|
React.createElement(TableComponent, { columns: columns, data: caseListData, selectedColumns: selectedColumns },
|
|
343
348
|
React.createElement("div", { className: "case-list-table-toolbar pf-v5-l-flex", ref: tableToolbarRef },
|
|
344
349
|
React.createElement("div", { className: "toolbar-actions pf-v5-l-flex pf-m-space-items-sm" },
|
|
345
|
-
React.createElement(TableColumnSelector, { onColumnSelectorChange: onColumnSelectorChange, cachedColumns:
|
|
350
|
+
React.createElement(TableColumnSelector, { onColumnSelectorChange: onColumnSelectorChange, cachedColumns: selectedColumns }),
|
|
346
351
|
React.createElement(ExportCaseListCSV, { currentFilteredCaseList: props.caseList, isExportCsvDisabled: props.isSolrDown, selectedCases: selectedCases }),
|
|
347
352
|
React.createElement(CloseCaseBtn, { selectedCases: selectedCases, caseList: caseListData, onCasesCloseSuccess: onCasesCloseSuccess })),
|
|
348
353
|
React.createElement("span", { className: "toolbar-pagination" },
|
package/lib/esm/components/case-list/case-list-table/table-column-selector/TableColumnSelector.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import './TableColumnSelector.scss';
|
|
|
2
2
|
import React from 'react';
|
|
3
3
|
interface IProps {
|
|
4
4
|
onColumnSelectorChange: (columns: string[]) => void;
|
|
5
|
-
cachedColumns: string[]
|
|
5
|
+
cachedColumns: string[];
|
|
6
6
|
}
|
|
7
7
|
export declare function TableColumnSelector({ onColumnSelectorChange, cachedColumns }: IProps): React.JSX.Element;
|
|
8
8
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableColumnSelector.d.ts","sourceRoot":"","sources":["../../../../../../src/components/case-list/case-list-table/table-column-selector/TableColumnSelector.tsx"],"names":[],"mappings":"AAAA,OAAO,4BAA4B,CAAC;AAWpC,OAAO,
|
|
1
|
+
{"version":3,"file":"TableColumnSelector.d.ts","sourceRoot":"","sources":["../../../../../../src/components/case-list/case-list-table/table-column-selector/TableColumnSelector.tsx"],"names":[],"mappings":"AAAA,OAAO,4BAA4B,CAAC;AAWpC,OAAO,KAAmB,MAAM,OAAO,CAAC;AAGxC,UAAU,MAAM;IACZ,sBAAsB,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACpD,aAAa,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,wBAAgB,mBAAmB,CAAC,EAAE,sBAAsB,EAAE,aAAa,EAAE,EAAE,MAAM,qBAgGpF"}
|
package/lib/esm/components/case-list/case-list-table/table-column-selector/TableColumnSelector.js
CHANGED
|
@@ -1,25 +1,22 @@
|
|
|
1
1
|
import './TableColumnSelector.scss';
|
|
2
2
|
import { Checkbox, Dropdown, DropdownList, Grid, GridItem, MenuToggle, } from '@patternfly/react-core';
|
|
3
|
-
import React, {
|
|
3
|
+
import React, { useState } from 'react';
|
|
4
4
|
import { useTranslation } from 'react-i18next';
|
|
5
5
|
export function TableColumnSelector({ onColumnSelectorChange, cachedColumns }) {
|
|
6
6
|
const { t } = useTranslation();
|
|
7
7
|
const [isOpen, setIsOpen] = useState(false);
|
|
8
|
-
const [checkboxes, setCheckboxes] = useState({
|
|
9
|
-
contactName: false,
|
|
10
|
-
lastModifiedDate: false,
|
|
11
|
-
severity: false,
|
|
12
|
-
status: false,
|
|
13
|
-
createdDate: false,
|
|
14
|
-
product: false,
|
|
15
|
-
accountNumber: false,
|
|
16
|
-
alternateCaseId: false,
|
|
17
|
-
type: false,
|
|
18
|
-
closedDate: false,
|
|
19
|
-
folderName: false,
|
|
20
|
-
});
|
|
21
8
|
const handleCheckboxChange = (key) => {
|
|
22
|
-
|
|
9
|
+
const index = cachedColumns.indexOf(key);
|
|
10
|
+
if (index === -1) {
|
|
11
|
+
// selected column not found, add it to the array
|
|
12
|
+
onColumnSelectorChange([...cachedColumns, key]);
|
|
13
|
+
}
|
|
14
|
+
else {
|
|
15
|
+
// selected column found, remove it from the array
|
|
16
|
+
const selectedCols = [...cachedColumns];
|
|
17
|
+
selectedCols.splice(index, 1);
|
|
18
|
+
onColumnSelectorChange(selectedCols);
|
|
19
|
+
}
|
|
23
20
|
};
|
|
24
21
|
const onToggleClick = () => {
|
|
25
22
|
setIsOpen(!isOpen);
|
|
@@ -40,21 +37,10 @@ export function TableColumnSelector({ onColumnSelectorChange, cachedColumns }) {
|
|
|
40
37
|
{ label: 'Closed date', key: 'closedDate' },
|
|
41
38
|
];
|
|
42
39
|
const generateCheckboxes = (fieldDefinitions) => {
|
|
43
|
-
return fieldDefinitions === null || fieldDefinitions === void 0 ? void 0 : fieldDefinitions.map((field) => (React.createElement(Checkbox, { key: field.key, className: "case-column-selector", label: t(field.label), isChecked:
|
|
40
|
+
return fieldDefinitions === null || fieldDefinitions === void 0 ? void 0 : fieldDefinitions.map((field) => (React.createElement(Checkbox, { key: field.key, className: "case-column-selector", label: t(field.label), isChecked: cachedColumns.includes(field.key), onChange: () => {
|
|
44
41
|
handleCheckboxChange(field.key);
|
|
45
42
|
}, id: field.key, name: field.key })));
|
|
46
43
|
};
|
|
47
|
-
useEffect(() => {
|
|
48
|
-
const selectedColumns = Object.keys(checkboxes).filter((key) => checkboxes[key]);
|
|
49
|
-
onColumnSelectorChange(selectedColumns);
|
|
50
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
51
|
-
}, [checkboxes]);
|
|
52
|
-
useEffect(() => {
|
|
53
|
-
cachedColumns === null || cachedColumns === void 0 ? void 0 : cachedColumns.forEach((key) => {
|
|
54
|
-
setCheckboxes((prevCheckboxes) => (Object.assign(Object.assign({}, prevCheckboxes), { [key]: true })));
|
|
55
|
-
});
|
|
56
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
57
|
-
}, []);
|
|
58
44
|
return (React.createElement(Dropdown, { isOpen: isOpen, onOpenChange: (isOpen) => setIsOpen(isOpen), toggle: (toggleRef) => (React.createElement(MenuToggle, { ref: toggleRef, onClick: onToggleClick, isExpanded: isOpen }, t('Columns'))), shouldFocusToggleOnSelect: true, id: "case-list-table-column-dropdown", "data-tracking-id": "case-list-table-column-dropdown", className: "column-selector" },
|
|
59
45
|
React.createElement(DropdownList, null,
|
|
60
46
|
React.createElement(Grid, { hasGutter: true },
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rh-support/cases",
|
|
3
|
-
"version": "2.1.
|
|
3
|
+
"version": "2.1.80-beta.1",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public",
|
|
6
6
|
"registry": "https://registry.npmjs.org"
|
|
@@ -43,8 +43,8 @@
|
|
|
43
43
|
"@patternfly/patternfly": "5.1.0",
|
|
44
44
|
"@patternfly/react-core": "5.1.1",
|
|
45
45
|
"@patternfly/react-table": "5.1.1",
|
|
46
|
-
"@rh-support/components": "2.1.61",
|
|
47
|
-
"@rh-support/react-context": "2.1.
|
|
46
|
+
"@rh-support/components": "2.1.61-beta.1",
|
|
47
|
+
"@rh-support/react-context": "2.1.69-beta.1",
|
|
48
48
|
"@rh-support/types": "2.0.3",
|
|
49
49
|
"@rh-support/user-permissions": "2.1.44",
|
|
50
50
|
"@rh-support/utils": "2.1.33",
|
|
@@ -96,5 +96,5 @@
|
|
|
96
96
|
"defaults and supports es6-module",
|
|
97
97
|
"maintained node versions"
|
|
98
98
|
],
|
|
99
|
-
"gitHead": "
|
|
99
|
+
"gitHead": "d867a78014ee4a08aa8d7bf9e0dc9bd08ce6ac5a"
|
|
100
100
|
}
|