@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.
@@ -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,qBAujB1C"}
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(initialSelectedColumns);
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: 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" },
@@ -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,KAA8B,MAAM,OAAO,CAAC;AAGnD,UAAU,MAAM;IACZ,sBAAsB,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACpD,aAAa,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;CAChC;AAED,wBAAgB,mBAAmB,CAAC,EAAE,sBAAsB,EAAE,aAAa,EAAE,EAAE,MAAM,qBAuHpF"}
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"}
@@ -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, { useEffect, useState } from '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
- setCheckboxes((prevCheckboxes) => (Object.assign(Object.assign({}, prevCheckboxes), { [key]: !prevCheckboxes[key] })));
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: checkboxes[field.key], onChange: () => {
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.78",
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.68",
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": "0fa0968e831c199572669184c466e9fecd781d12"
99
+ "gitHead": "d867a78014ee4a08aa8d7bf9e0dc9bd08ce6ac5a"
100
100
  }