@rh-support/cases 2.6.170 → 2.6.173

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.
Files changed (78) hide show
  1. package/lib/esm/components/case-list/CaseList.d.ts +7 -0
  2. package/lib/esm/components/case-list/CaseList.d.ts.map +1 -1
  3. package/lib/esm/components/case-list/CaseList.js +107 -106
  4. package/lib/esm/components/case-list/CaseListContext.d.ts.map +1 -1
  5. package/lib/esm/components/case-list/CaseListContext.js +2 -0
  6. package/lib/esm/components/case-list/CaseListFilterReducer.d.ts +1 -5
  7. package/lib/esm/components/case-list/CaseListFilterReducer.d.ts.map +1 -1
  8. package/lib/esm/components/case-list/CaseListFilterReducer.js +1 -2
  9. package/lib/esm/components/case-list/CaseListReducer.d.ts +8 -2
  10. package/lib/esm/components/case-list/CaseListReducer.d.ts.map +1 -1
  11. package/lib/esm/components/case-list/CaseListReducer.js +13 -1
  12. package/lib/esm/components/case-list/case-list-filters/AccountsFilter.d.ts.map +1 -1
  13. package/lib/esm/components/case-list/case-list-filters/AccountsFilter.js +11 -18
  14. package/lib/esm/components/case-list/case-list-filters/AdditionalFilters.d.ts.map +1 -1
  15. package/lib/esm/components/case-list/case-list-filters/AdditionalFilters.js +2 -4
  16. package/lib/esm/components/case-list/case-list-filters/CaseListFilterChips.d.ts +7 -1
  17. package/lib/esm/components/case-list/case-list-filters/CaseListFilterChips.d.ts.map +1 -1
  18. package/lib/esm/components/case-list/case-list-filters/CaseListFilterChips.js +15 -7
  19. package/lib/esm/components/case-list/case-list-filters/CaseListFilters.d.ts +5 -2
  20. package/lib/esm/components/case-list/case-list-filters/CaseListFilters.d.ts.map +1 -1
  21. package/lib/esm/components/case-list/case-list-filters/CaseListFilters.js +14 -14
  22. package/lib/esm/components/case-list/case-list-filters/ProductFilterChip.d.ts +3 -1
  23. package/lib/esm/components/case-list/case-list-filters/ProductFilterChip.d.ts.map +1 -1
  24. package/lib/esm/components/case-list/case-list-filters/ProductFilterChip.js +2 -2
  25. package/lib/esm/components/case-list/case-list-filters/ProductsFilter.d.ts +4 -5
  26. package/lib/esm/components/case-list/case-list-filters/ProductsFilter.d.ts.map +1 -1
  27. package/lib/esm/components/case-list/case-list-filters/ProductsFilter.js +54 -15
  28. package/lib/esm/components/case-list/case-list-filters/SeverityFilter.d.ts +3 -0
  29. package/lib/esm/components/case-list/case-list-filters/SeverityFilter.d.ts.map +1 -1
  30. package/lib/esm/components/case-list/case-list-filters/SeverityFilter.js +44 -18
  31. package/lib/esm/components/case-list/case-list-filters/StatusFilter.d.ts +3 -0
  32. package/lib/esm/components/case-list/case-list-filters/StatusFilter.d.ts.map +1 -1
  33. package/lib/esm/components/case-list/case-list-filters/StatusFilter.js +44 -14
  34. package/lib/esm/components/case-list/case-list-filters/VersionsFilter.d.ts +3 -1
  35. package/lib/esm/components/case-list/case-list-filters/VersionsFilter.d.ts.map +1 -1
  36. package/lib/esm/components/case-list/case-list-filters/VersionsFilter.js +32 -61
  37. package/lib/esm/components/case-list/case-list-table/CaseListTable.d.ts +1 -0
  38. package/lib/esm/components/case-list/case-list-table/CaseListTable.d.ts.map +1 -1
  39. package/lib/esm/components/case-list/case-list-table/CaseListTable.js +6 -5
  40. package/lib/esm/components/case-list/case-list-table/DownloadCSVFileModal.d.ts +5 -0
  41. package/lib/esm/components/case-list/case-list-table/DownloadCSVFileModal.d.ts.map +1 -1
  42. package/lib/esm/components/case-list/case-list-table/DownloadCSVFileModal.js +68 -38
  43. package/lib/esm/components/case-list/case-list-table/ExportCaseListCSV.d.ts.map +1 -1
  44. package/lib/esm/components/case-list/case-list-table/ExportCaseListCSV.js +15 -5
  45. package/lib/esm/components/case-list/case-list-table/SeverityLabel.js +1 -1
  46. package/lib/esm/components/case-list/case-list-table/TableActionsDropdown.d.ts.map +1 -1
  47. package/lib/esm/components/case-list/case-list-table/TableActionsDropdown.js +3 -2
  48. package/lib/esm/components/case-list/case-search/BookmarkedSearchesSelector.d.ts.map +1 -1
  49. package/lib/esm/components/case-list/case-search/BookmarkedSearchesSelector.js +0 -1
  50. package/lib/esm/components/case-list/case-search/CaseSearch.d.ts.map +1 -1
  51. package/lib/esm/components/case-list/case-search/CaseSearch.js +6 -6
  52. package/lib/esm/components/case-list/case-search/useAdvanceSearchParser.d.ts.map +1 -1
  53. package/lib/esm/components/case-list/case-search/useAdvanceSearchParser.js +1 -2
  54. package/lib/esm/enums/case.d.ts +1 -2
  55. package/lib/esm/enums/case.d.ts.map +1 -1
  56. package/lib/esm/enums/case.js +1 -14
  57. package/lib/esm/hooks/useExportCaseListCSV.d.ts.map +1 -1
  58. package/lib/esm/hooks/useExportCaseListCSV.js +9 -1
  59. package/lib/esm/test-utils/mockData.js +1 -1
  60. package/lib/esm/utils/caseSearchUtils.d.ts.map +1 -1
  61. package/lib/esm/utils/caseSearchUtils.js +1 -26
  62. package/lib/esm/utils/constants.d.ts +1 -2
  63. package/lib/esm/utils/constants.d.ts.map +1 -1
  64. package/lib/esm/utils/constants.js +3 -14
  65. package/lib/esm/utils/mockSolrResponse.js +1 -1
  66. package/package.json +6 -6
  67. package/lib/esm/utils/caseListGraphQLUtils.d.ts +0 -16
  68. package/lib/esm/utils/caseListGraphQLUtils.d.ts.map +0 -1
  69. package/lib/esm/utils/caseListGraphQLUtils.js +0 -193
  70. package/lib/esm/utils/caseListMapper.d.ts +0 -6
  71. package/lib/esm/utils/caseListMapper.d.ts.map +0 -1
  72. package/lib/esm/utils/caseListMapper.js +0 -36
  73. package/lib/esm/utils/caseListVariablesBuilder.d.ts +0 -13
  74. package/lib/esm/utils/caseListVariablesBuilder.d.ts.map +0 -1
  75. package/lib/esm/utils/caseListVariablesBuilder.js +0 -160
  76. package/lib/esm/utils/statusUtils.d.ts +0 -3
  77. package/lib/esm/utils/statusUtils.d.ts.map +0 -1
  78. package/lib/esm/utils/statusUtils.js +0 -22
@@ -1,11 +1,18 @@
1
1
  import '../../css/caseList.css';
2
2
  import '../../css/caseSearch.css';
3
+ import { IFacetResponse } from '@rh-support/types/shared';
4
+ import { ISolrResponseToPivotFields } from '@rh-support/utils';
3
5
  import React from 'react';
4
6
  import { RouteComponentProps } from 'react-router-dom';
5
7
  import { ICasesRouteURLParams } from '..';
8
+ import { IFacetPivot } from '../../models/caseList';
6
9
  interface IProps {
7
10
  routeProps: RouteComponentProps<ICasesRouteURLParams>;
8
11
  }
12
+ export interface IProductVersionPivotMap extends IFacetResponse {
13
+ case_version: IFacetResponse[];
14
+ }
15
+ export type IPivotValues = ISolrResponseToPivotFields<IFacetPivot, IProductVersionPivotMap>;
9
16
  export interface IChipsNameSsoMap {
10
17
  [sso: string]: IChipsNameSso;
11
18
  }
@@ -1 +1 @@
1
- {"version":3,"file":"CaseList.d.ts","sourceRoot":"","sources":["../../../../src/components/case-list/CaseList.tsx"],"names":[],"mappings":"AAAA,OAAO,wBAAwB,CAAC;AAChC,OAAO,0BAA0B,CAAC;AAuClC,OAAO,KAAkD,MAAM,OAAO,CAAC;AAEvE,OAAO,EAAE,mBAAmB,EAAe,MAAM,kBAAkB,CAAC;AAEpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,IAAI,CAAC;AAwB1C,UAAU,MAAM;IACZ,UAAU,EAAE,mBAAmB,CAAC,oBAAoB,CAAC,CAAC;CACzD;AAMD,MAAM,WAAW,gBAAgB;IAC7B,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,CAAC;CAChC;AAED,MAAM,WAAW,aAAa;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;CAC1B;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,qBA6drC"}
1
+ {"version":3,"file":"CaseList.d.ts","sourceRoot":"","sources":["../../../../src/components/case-list/CaseList.tsx"],"names":[],"mappings":"AAAA,OAAO,wBAAwB,CAAC;AAChC,OAAO,0BAA0B,CAAC;AA6BlC,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAKH,0BAA0B,EAI7B,MAAM,mBAAmB,CAAC;AAK3B,OAAO,KAAkD,MAAM,OAAO,CAAC;AAEvE,OAAO,EAAE,mBAAmB,EAAe,MAAM,kBAAkB,CAAC;AAEpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,IAAI,CAAC;AAK1C,OAAO,EAAgB,WAAW,EAA2B,MAAM,uBAAuB,CAAC;AAmC3F,UAAU,MAAM;IACZ,UAAU,EAAE,mBAAmB,CAAC,oBAAoB,CAAC,CAAC;CACzD;AAED,MAAM,WAAW,uBAAwB,SAAQ,cAAc;IAC3D,YAAY,EAAE,cAAc,EAAE,CAAC;CAClC;AAED,MAAM,MAAM,YAAY,GAAG,0BAA0B,CAAC,WAAW,EAAE,uBAAuB,CAAC,CAAC;AAM5F,MAAM,WAAW,gBAAgB;IAC7B,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,CAAC;CAChC;AAED,MAAM,WAAW,aAAa;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;CAC1B;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,qBAygBrC"}
@@ -9,21 +9,23 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  };
10
10
  import '../../css/caseList.css';
11
11
  import '../../css/caseSearch.css';
12
- import { useApolloClient } from '@apollo/client/react';
13
12
  import { Alert, AlertActionCloseButton, AlertVariant, Button } from '@patternfly/react-core';
14
13
  import OpenDrawerRightIcon from '@patternfly/react-icons/dist/js/icons/open-drawer-right-icon';
15
- import { ErrorBoundary, ToastNotification, useBreakpoint, useDocumentTitle, useForceUpdate, } from '@rh-support/components';
16
- import { CSSUserModal, fetchAllStatuses, fetchCaseGroupsForAccount, fetchCaseGroupsForSSO, fetchCaseRecordTypes, fetchCaseSeverities, fetchCaseTypes, fetchProducts, GlobalMetadataDispatchContext, GlobalMetadataStateContext, setUserPreferences, updateCaseListTraditionalSupportAgreed, updateUserPreferences, useGlobalDispatchContext, UserPreferencesKeys, } from '@rh-support/react-context';
17
- import { getStringifiedParams, getUrlParsedParams, haventLoadedMetadata, haventLoadedProductsMetadata, pendoTrackEvent, } from '@rh-support/utils';
14
+ import { ErrorBoundary, ToastNotification, useBreakpoint, useDocumentTitle, useForceUpdate, usePrevious, } from '@rh-support/components';
15
+ import { CSSUserModal, fetchAllStatuses, fetchCaseGroupsForAccount, fetchCaseGroupsForSSO, fetchCaseSeverities, fetchCaseTypes, fetchProducts, GlobalMetadataDispatchContext, GlobalMetadataStateContext, setUserPreferences, updateCaseListTraditionalSupportAgreed, updateUserPreferences, useGlobalDispatchContext, UserPreferencesKeys, } from '@rh-support/react-context';
16
+ import { getStringifiedParams, getUrlParsedParams, haventLoadedMetadata, haventLoadedProductsMetadata, pendoTrackEvent, solrResponseToFacetFields, solrResponseToPivotFields, } from '@rh-support/utils';
17
+ import get from 'lodash/get';
18
18
  import isEmpty from 'lodash/isEmpty';
19
+ import mapValues from 'lodash/mapValues';
19
20
  import some from 'lodash/some';
20
21
  import React, { useContext, useEffect, useRef, useState } from 'react';
21
22
  import { Trans, useTranslation } from 'react-i18next';
22
23
  import { useLocation } from 'react-router-dom';
23
24
  import { CaseSearchQueryType } from '../../enums/caseSearch';
25
+ import { SolrPivotKeys } from '../../enums/filters';
24
26
  import { PageTitle } from '../../enums/pageTitle';
25
27
  import { useFilterStateOnLoad } from '../../hooks/useFilterStateOnLoad';
26
- import { clearPageCursors, getCaseListFromGraphQL } from '../../utils/caseListGraphQLUtils';
28
+ import { getCaseList } from '../../utils/caseListUtils';
27
29
  import { createFilterStateFromUrlQuery, createURLQueryFromFilterState, FILTER_URL_CURRENT_PAGE_SEARCH_PARAM, FILTER_URL_PAGE_SIZE_SEARCH_PARAM, FILTER_URL_QUERY_SEARCH_PARAM, FILTER_URL_QUERY_TYPE, } from '../../utils/caseSearchUtils';
28
30
  import { UpdatedCaseDataEvent } from '../../utils/constants';
29
31
  import { NewCaseButton } from '../case/NewCaseButton';
@@ -32,21 +34,20 @@ import { CaseListFilters } from './case-list-filters/CaseListFilters';
32
34
  import { CaseListTable } from './case-list-table/CaseListTable';
33
35
  import { CaseSearch } from './case-search/CaseSearch';
34
36
  import { useCaseListDispatchContext, useCaseListStateContext } from './CaseListContext';
35
- import { CaseListFilterDispatchContext, CaseListFilterStateContext } from './CaseListFilterContext';
36
- import { isNoFilterApplied, isOnlyDefaultFilterApplied } from './CaseListFilterHelpers';
37
+ import { CaseListFilterDispatchContext, CaseListFilterStateContext, initialCaseFilterState, } from './CaseListFilterContext';
38
+ import { eligibleSFDCFiltersMultipleValues, isNoFilterApplied, isOnlyDefaultFilterApplied, } from './CaseListFilterHelpers';
37
39
  import { updateFilterState } from './CaseListFilterReducer';
38
- import { setCaseList, setCurrentQuery, setIsFetching } from './CaseListReducer';
40
+ import { setCaseList, setCurrentQuery, setFilterValuesFromFacetResponse, setIsFetching, setPivotValues, } from './CaseListReducer';
39
41
  export function CaseList(props) {
40
42
  var _a, _b;
41
43
  const { t } = useTranslation();
42
44
  useDocumentTitle(PageTitle.CASE_LIST);
43
45
  const dispatchToGlobalMetadataReducer = useContext(GlobalMetadataDispatchContext);
44
- const { caseList, isFetching, currentQuery } = useCaseListStateContext();
46
+ const { caseList, pivotValues, isFetching, filterValuesFromFacetResponse, currentQuery } = useCaseListStateContext();
45
47
  const CaseListDispatch = useCaseListDispatchContext();
46
48
  const breakPoint = useBreakpoint();
47
- const { globalMetadataState, globalMetadataState: { caseGroups, loggedInUserJwtToken, loggedInUserRights, loggedInUsersAccount, userPreferences, managedAccounts, bookmarkedAccounts, allCaseTypes, allCaseSeverities, allCaseStatuses, allProducts, caseRecordTypes, caseListTraditionalSupportAgreed, }, } = useContext(GlobalMetadataStateContext);
49
+ const { globalMetadataState, globalMetadataState: { caseGroups, loggedInUserJwtToken, loggedInUserRights, loggedInUsersAccount, userPreferences, managedAccounts, bookmarkedAccounts, allCaseTypes, allCaseSeverities, allCaseStatuses, allProducts, caseListTraditionalSupportAgreed, }, } = useContext(GlobalMetadataStateContext);
48
50
  const globalDispatchContext = useGlobalDispatchContext();
49
- const apolloClient = useApolloClient();
50
51
  const location = useLocation();
51
52
  const searchParams = getUrlParsedParams(location.search);
52
53
  const queryFromUrl = searchParams[FILTER_URL_QUERY_SEARCH_PARAM];
@@ -54,7 +55,6 @@ export function CaseList(props) {
54
55
  const currentPageFromUrl = parseInt(searchParams[FILTER_URL_CURRENT_PAGE_SEARCH_PARAM]);
55
56
  const searchType = searchParams[FILTER_URL_QUERY_TYPE];
56
57
  const abortControllerRef = useRef(undefined);
57
- const lastPushedQueryRef = useRef('');
58
58
  const isXLScreen = breakPoint.xl;
59
59
  const isFirstMount = useRef(true);
60
60
  const filterSectionRef = useRef(null);
@@ -63,39 +63,43 @@ export function CaseList(props) {
63
63
  const forceUpdate = useForceUpdate();
64
64
  const isCaseListFilterPanelExanded = userPreferences.data.isCaseListFilterPanelExanded;
65
65
  const useFilterStateInit = useFilterStateOnLoad();
66
+ const isBasicSearchMode = filterState.filterQueryInfo.type === CaseSearchQueryType.BASIC ||
67
+ (filterState.filterQueryInfo.type === CaseSearchQueryType.ADVANCED && loggedInUserRights.data.isExternal());
68
+ const prevSearchType = usePrevious(filterState.filterQueryInfo.type);
69
+ let isSearchTypeChanged = filterState.filterQueryInfo.type !== prevSearchType;
66
70
  const [hasError, setHasError] = useState(null);
71
+ const [isSolrSearchDown, setSolrSearchDown] = useState(false);
67
72
  const [defaultSavedSearchName, setDefaultSavedSearchName] = useState('');
68
73
  const [RHCDValue, setRHCDValue] = useState('');
69
74
  const [isRHCDAlertShown, setIsRHCDAlertShown] = useState(true);
70
75
  function getCases(currentFilterState) {
71
76
  return __awaiter(this, void 0, void 0, function* () {
72
- var _a;
77
+ let showError;
73
78
  try {
74
- if (abortControllerRef.current) {
75
- abortControllerRef.current.abort();
76
- }
77
- const controller = new AbortController();
78
- abortControllerRef.current = controller;
79
79
  setIsFetching(CaseListDispatch, true);
80
80
  setHasError(false);
81
- const { caseListResponse, showErrorMessage } = yield getCaseListFromGraphQL(currentFilterState, apolloClient, undefined, controller.signal);
82
- if (controller.signal.aborted) {
83
- return;
81
+ if (abortControllerRef.current !== undefined) {
82
+ // Cancel the previous request
83
+ abortControllerRef.current.abort();
84
84
  }
85
+ // recreate a new AbortController for each call
86
+ let controller = new AbortController();
87
+ abortControllerRef.current = controller;
88
+ const { caseListResponse, isSolrSearchDownSFDCUp, showErrorMessage } = yield getCaseList(currentFilterState, loggedInUserRights.data, loggedInUsersAccount.data, controller.signal);
89
+ showError = showErrorMessage;
90
+ setSolrSearchDown(isSolrSearchDownSFDCUp);
91
+ setFilterValuesFromFacetResponse(CaseListDispatch, solrResponseToFacetFields(caseListResponse));
92
+ setPivotValues(CaseListDispatch, solrResponseToPivotFields(caseListResponse));
85
93
  setCaseList(CaseListDispatch, caseListResponse.response);
86
94
  setIsFetching(CaseListDispatch, false);
87
- if (showErrorMessage) {
88
- setHasError(true);
89
- ToastNotification.addDangerMessage(t('There was an error loading case data. Please try again.'));
90
- }
91
95
  }
92
96
  catch (err) {
93
- if ((err === null || err === void 0 ? void 0 : err.name) === 'AbortError' || ((_a = err === null || err === void 0 ? void 0 : err.message) === null || _a === void 0 ? void 0 : _a.includes('aborted'))) {
94
- return;
97
+ const isAbortError = err.message && err.message.toLowerCase().indexOf('abort') > -1;
98
+ if (!isAbortError) {
99
+ setIsFetching(CaseListDispatch, false);
100
+ setHasError(true);
101
+ showError && ToastNotification.addXHRErrorMessage(err);
95
102
  }
96
- setIsFetching(CaseListDispatch, false);
97
- setHasError(true);
98
- ToastNotification.addXHRErrorMessage(err);
99
103
  }
100
104
  });
101
105
  }
@@ -105,6 +109,25 @@ export function CaseList(props) {
105
109
  filterSectionRef.current.expanded = isExpanded;
106
110
  forceUpdate();
107
111
  };
112
+ function saveFilterQueryInUserPreferences() {
113
+ if (isNoFilterApplied(filterState))
114
+ return;
115
+ const type = filterState.filterQueryInfo.type;
116
+ const recentSerach = {
117
+ filterState: type === CaseSearchQueryType.BASIC ? filterState.filterInfo : {},
118
+ sortState: filterState.sortInfo,
119
+ queryString: type === CaseSearchQueryType.BASIC
120
+ ? filterState.filterQueryInfo.queryString
121
+ : filterState.filterQueryInfo.parsedQuery,
122
+ type,
123
+ };
124
+ try {
125
+ updateUserPreferences(dispatchToGlobalMetadataReducer, loggedInUserRights.data.getSSOUsername(), [{ key: UserPreferencesKeys.mostRecentSearch, value: JSON.stringify(recentSerach) }], 'add');
126
+ }
127
+ catch (e) {
128
+ console.error('Could not save filter query in user preferences');
129
+ }
130
+ }
108
131
  const onToggleFilterBtnClick = () => {
109
132
  var _a, _b;
110
133
  toggleFilterSection(!((_a = filterSectionRef.current) === null || _a === void 0 ? void 0 : _a.expanded));
@@ -114,7 +137,8 @@ export function CaseList(props) {
114
137
  };
115
138
  const checkNewCases = () => __awaiter(this, void 0, void 0, function* () {
116
139
  try {
117
- const { caseListResponse } = yield getCaseListFromGraphQL(filterState, apolloClient);
140
+ const { caseListResponse, isSolrSearchDownSFDCUp } = yield getCaseList(filterState, loggedInUserRights.data, loggedInUsersAccount.data, null);
141
+ setSolrSearchDown(isSolrSearchDownSFDCUp);
118
142
  let changed = false;
119
143
  if (caseListResponse.response.numFound <= filterState.paginationInfo.pageSize &&
120
144
  caseListResponse.response.numFound !== caseList.numFound) {
@@ -156,83 +180,67 @@ export function CaseList(props) {
156
180
  }
157
181
  }, [caseGroups, dispatchToGlobalMetadataReducer, loggedInUserJwtToken, loggedInUsersAccount.data]);
158
182
  useEffect(() => {
159
- const loadMetadata = () => __awaiter(this, void 0, void 0, function* () {
160
- if (haventLoadedMetadata(caseRecordTypes)) {
161
- yield fetchCaseRecordTypes(dispatchToGlobalMetadataReducer, apolloClient);
162
- }
163
- if (haventLoadedMetadata(allCaseTypes)) {
164
- fetchCaseTypes(dispatchToGlobalMetadataReducer, apolloClient);
165
- }
183
+ if (haventLoadedMetadata(allCaseTypes)) {
184
+ fetchCaseTypes(dispatchToGlobalMetadataReducer, loggedInUsersAccount.data.secureSupport);
185
+ }
186
+ // when solr is down, we use hydra metadata api to populated filter dropdowns
187
+ if (isSolrSearchDown) {
166
188
  if (haventLoadedMetadata(allCaseSeverities)) {
167
- fetchCaseSeverities(dispatchToGlobalMetadataReducer, apolloClient);
189
+ fetchCaseSeverities(dispatchToGlobalMetadataReducer, loggedInUsersAccount.data.secureSupport);
168
190
  }
169
191
  if (haventLoadedMetadata(allCaseStatuses)) {
170
- fetchAllStatuses(dispatchToGlobalMetadataReducer, apolloClient);
192
+ fetchAllStatuses(dispatchToGlobalMetadataReducer, loggedInUsersAccount.data.secureSupport);
171
193
  }
172
194
  if (haventLoadedProductsMetadata(allProducts)) {
173
- fetchProducts(dispatchToGlobalMetadataReducer, apolloClient);
195
+ fetchProducts(dispatchToGlobalMetadataReducer);
174
196
  }
175
- });
176
- loadMetadata();
197
+ // on sfdc fields that only one value is allowed, set filter to first item
198
+ const sfdcFilterState = mapValues(filterState.filterInfo, (value, key) => {
199
+ //@ts-ignore
200
+ if (eligibleSFDCFiltersMultipleValues.includes(key))
201
+ return value;
202
+ return value[0] ? [value[0]] : [];
203
+ });
204
+ updateFilterState(filterDispatch, {
205
+ //@ts-ignore
206
+ filterInfo: Object.assign(Object.assign({}, initialCaseFilterState.filterInfo), sfdcFilterState),
207
+ });
208
+ }
177
209
  // eslint-disable-next-line react-hooks/exhaustive-deps
178
210
  }, [
179
211
  allCaseTypes,
180
212
  allCaseSeverities,
181
213
  allCaseStatuses,
182
214
  allProducts,
183
- caseRecordTypes,
184
215
  dispatchToGlobalMetadataReducer,
185
- apolloClient,
216
+ loggedInUsersAccount.data.secureSupport,
217
+ isSolrSearchDown,
186
218
  ]);
187
- function saveFilterQueryInUserPreferences() {
188
- if (isNoFilterApplied(filterState))
189
- return;
190
- const type = filterState.filterQueryInfo.type;
191
- const recentSearch = {
192
- filterState: type === CaseSearchQueryType.BASIC ? filterState.filterInfo : {},
193
- sortState: filterState.sortInfo,
194
- queryString: type === CaseSearchQueryType.BASIC
195
- ? filterState.filterQueryInfo.queryString
196
- : filterState.filterQueryInfo.parsedQuery,
197
- type,
198
- };
199
- try {
200
- updateUserPreferences(dispatchToGlobalMetadataReducer, loggedInUserRights.data.getSSOUsername(), [{ key: UserPreferencesKeys.mostRecentSearch, value: JSON.stringify(recentSearch) }], 'add');
201
- }
202
- catch (e) {
203
- console.error('Could not save filter query in user preferences');
204
- }
205
- }
206
219
  // effect to update url query and call get case api whenever filter state changes
207
220
  useEffect(() => {
208
- var _a, _b, _c, _d, _e, _f, _g;
221
+ var _a, _b, _c;
209
222
  if (!isFirstMount.current) {
210
223
  const urlQuery = (isNoFilterApplied(filterState) || isOnlyDefaultFilterApplied(filterState)) &&
211
224
  !((_a = filterState.filterQueryInfo) === null || _a === void 0 ? void 0 : _a.queryString) &&
212
225
  !filterState.sortInfo.column
213
226
  ? ''
214
227
  : createURLQueryFromFilterState(filterState);
215
- const paginationKey = `p${(_b = filterState.paginationInfo) === null || _b === void 0 ? void 0 : _b.currentPage}_s${(_c = filterState.paginationInfo) === null || _c === void 0 ? void 0 : _c.pageSize}`;
216
- const fullQueryKey = `${urlQuery}_${paginationKey}`;
217
- if (fullQueryKey === lastPushedQueryRef.current) {
218
- return;
219
- }
220
- const prevQueryKey = lastPushedQueryRef.current;
221
- const prevBaseQuery = prevQueryKey.substring(0, prevQueryKey.lastIndexOf('_p'));
222
- const prevPageSize = (_d = prevQueryKey.match(/_s(\d+)$/)) === null || _d === void 0 ? void 0 : _d[1];
223
- if (urlQuery !== prevBaseQuery || String((_e = filterState.paginationInfo) === null || _e === void 0 ? void 0 : _e.pageSize) !== prevPageSize) {
224
- clearPageCursors();
225
- }
226
228
  setCurrentQuery(CaseListDispatch, urlQuery);
227
- lastPushedQueryRef.current = fullQueryKey;
228
229
  searchParams[FILTER_URL_QUERY_SEARCH_PARAM] = encodeURIComponent(urlQuery);
229
- searchParams[FILTER_URL_CURRENT_PAGE_SEARCH_PARAM] = (_f = filterState.paginationInfo) === null || _f === void 0 ? void 0 : _f.currentPage.toString();
230
- searchParams[FILTER_URL_PAGE_SIZE_SEARCH_PARAM] = (_g = filterState.paginationInfo) === null || _g === void 0 ? void 0 : _g.pageSize.toString();
230
+ searchParams[FILTER_URL_CURRENT_PAGE_SEARCH_PARAM] = (_b = filterState.paginationInfo) === null || _b === void 0 ? void 0 : _b.currentPage.toString();
231
+ searchParams[FILTER_URL_PAGE_SIZE_SEARCH_PARAM] = (_c = filterState.paginationInfo) === null || _c === void 0 ? void 0 : _c.pageSize.toString();
231
232
  searchParams[FILTER_URL_QUERY_TYPE] = filterState.filterQueryInfo.type;
232
233
  props.routeProps.history.push({
233
234
  search: getStringifiedParams(searchParams),
234
235
  });
235
236
  saveFilterQueryInUserPreferences();
237
+ // so that we don't call get cases every time user switches between basic and advanced without any filters applied
238
+ if (isSearchTypeChanged &&
239
+ !filterState.filterQueryInfo.queryString &&
240
+ isNoFilterApplied(filterState) &&
241
+ filterValuesFromFacetResponse // if this is null, it means it is the first page load so get cases anyway
242
+ )
243
+ return;
236
244
  getCases(filterState);
237
245
  }
238
246
  // eslint-disable-next-line react-hooks/exhaustive-deps
@@ -242,13 +250,11 @@ export function CaseList(props) {
242
250
  if (bookmarkedAccounts.isFetching ||
243
251
  managedAccounts.isFetching ||
244
252
  caseGroups.isFetching ||
245
- caseGroups.data === undefined ||
246
- caseRecordTypes.isFetching ||
247
- isEmpty(caseRecordTypes.data))
253
+ caseGroups.data === undefined)
248
254
  return;
249
255
  // when user manually changes url and hit enter, new result is fetched without refreshing the page
250
256
  if (!isFirstMount.current) {
251
- if (queryFromUrl !== currentQuery && queryFromUrl !== lastPushedQueryRef.current) {
257
+ if (queryFromUrl !== currentQuery) {
252
258
  const filterStateFromQueryUrl = createFilterStateFromUrlQuery(queryFromUrl, globalMetadataState, pageSizeFromUrl, currentPageFromUrl, searchType);
253
259
  updateFilterState(filterDispatch, filterStateFromQueryUrl);
254
260
  }
@@ -277,12 +283,7 @@ export function CaseList(props) {
277
283
  setRHCDValue(searchParams.rhcd);
278
284
  }
279
285
  // set filter state based on url or default saved search
280
- // Remove when we get OFFSET field from SCT
281
- // Always reset to page 1 on fresh load — cursor-based pagination
282
- // has no stored cursors after refresh, so page > 1 would cause a mismatch
283
- const { initFilterState, defaultSearchName } = useFilterStateInit.set(decodeURIComponent(queryFromUrl), pageSizeFromUrl,
284
- // currentPageFromUrl,
285
- 1, searchType);
286
+ const { initFilterState, defaultSearchName } = useFilterStateInit.set(decodeURIComponent(queryFromUrl), pageSizeFromUrl, currentPageFromUrl, searchType);
286
287
  // to set default saved search name
287
288
  setDefaultSavedSearchName(defaultSearchName);
288
289
  // set default params when they are empty
@@ -295,20 +296,14 @@ export function CaseList(props) {
295
296
  updateFilterState(filterDispatch, initFilterState);
296
297
  }
297
298
  // eslint-disable-next-line react-hooks/exhaustive-deps
298
- }, [
299
- managedAccounts,
300
- bookmarkedAccounts,
301
- caseGroups,
302
- caseRecordTypes,
303
- queryFromUrl,
304
- pageSizeFromUrl,
305
- currentPageFromUrl,
306
- ]);
307
- // effect to initially set the filter state to expanded on load
299
+ }, [managedAccounts, bookmarkedAccounts, caseGroups, queryFromUrl, pageSizeFromUrl, currentPageFromUrl]);
300
+ // effect to initially set the filter state to expanded and when we switch from advanced to basic mode
308
301
  useEffect(() => {
309
- isCaseListFilterPanelExanded && isXLScreen && toggleFilterSection(true);
302
+ // currently there is no easy way to set the panel as expanded on initial load
303
+ // also we only use the standalone panel and manually change the panel state on toggle btn click
304
+ isCaseListFilterPanelExanded && isXLScreen && isBasicSearchMode && toggleFilterSection(true);
310
305
  // eslint-disable-next-line react-hooks/exhaustive-deps
311
- }, []);
306
+ }, [isBasicSearchMode]);
312
307
  const onConfirmTraditionalSupportAgreement = () => {
313
308
  updateCaseListTraditionalSupportAgreed(globalDispatchContext, true);
314
309
  };
@@ -334,6 +329,12 @@ export function CaseList(props) {
334
329
  return (React.createElement(React.Fragment, null,
335
330
  React.createElement(CSSUserModal, { onConfirmTraditionalSupportAgreement: onConfirmTraditionalSupportAgreement, display: !caseListTraditionalSupportAgreed }),
336
331
  React.createElement("article", { id: "rh-support-cases", className: "cases-main" },
332
+ isSolrSearchDown && (React.createElement(Alert, { isInline: true, variant: AlertVariant.warning, component: "p", title: React.createElement(Trans, null,
333
+ "Case search is working with limited functionality. Please check",
334
+ ' ',
335
+ React.createElement("a", { href: "https://status.redhat.com", target: "_blank", rel: "noreferrer", "data-tracking-id": "caselist-redirect-status-page" }, "status page"),
336
+ ' ',
337
+ "for details.") })),
337
338
  React.createElement("section", { className: "case-search-top" },
338
339
  !isEmpty(RHCDValue) && isRHCDAlertShown && React.createElement("div", { className: "push-bottom" }, displayRHCDAlert()),
339
340
  React.createElement("div", { className: "search-wrapper" },
@@ -341,17 +342,17 @@ export function CaseList(props) {
341
342
  React.createElement(NewCaseButton, { routeProps: props.routeProps })),
342
343
  React.createElement(ErrorBoundary, { errorMsgInfo: { message: t('There was an error loading case search input') } },
343
344
  React.createElement(CaseSearch, { defaultSavedSearchName: defaultSavedSearchName }))),
344
- React.createElement(ErrorBoundary, { errorMsgInfo: { message: t('There was an error loading filter chips') } },
345
- React.createElement(CaseListFilterChips, null))),
345
+ isBasicSearchMode && (React.createElement(ErrorBoundary, { errorMsgInfo: { message: t('There was an error loading filter chips') } },
346
+ React.createElement(CaseListFilterChips, { productVersionPivotValues: get(pivotValues, SolrPivotKeys.product_version, []), isSolrSearchDown: isSolrSearchDown })))),
346
347
  React.createElement("section", { className: "case-search-bottom" },
347
- React.createElement("aside", { className: `case-search-filters ${((_a = filterSectionRef.current) === null || _a === void 0 ? void 0 : _a.expanded) ? '' : 'collapsed'}` },
348
+ isBasicSearchMode && (React.createElement("aside", { className: `case-search-filters ${((_a = filterSectionRef.current) === null || _a === void 0 ? void 0 : _a.expanded) ? '' : 'collapsed'}` },
348
349
  React.createElement("h2", { className: "filter-header pf-v6-u-display-flex" }, ((_b = filterSectionRef.current) === null || _b === void 0 ? void 0 : _b.expanded) ? (React.createElement(React.Fragment, null,
349
350
  React.createElement(Button, { isInline: true, className: "pf-v6-u-flex-shrink-0 pf-v6-u-flex-none case-search-filter-text-button", variant: "link", title: t('Collapse filter section'), "data-tracking-id": "collapse-case-list-filter", onClick: onToggleFilterBtnClick, iconPosition: "right", icon: React.createElement(OpenDrawerRightIcon, { className: "mirrored" }) },
350
351
  React.createElement(Trans, null, "Filters")))) : (React.createElement(Button, { isInline: true, className: "pf-v6-c-button pf-m-link pf-m-inline pf-v6-u-flex-shrink-0 pf-v6-u-flex-none pf-v6-u-display-flex pf-v6-u-align-items-center pf-v6-u-justify-content-center pf-v6-u-px-lg", variant: "link", title: t('Expand filter section'), "data-tracking-id": "expand-case-list-filter", onClick: onToggleFilterBtnClick, iconPosition: "right", icon: React.createElement(OpenDrawerRightIcon, null) }, isXLScreen ? null : React.createElement(Trans, null, "Filters")))),
351
352
  React.createElement("div", { className: "filter-wrapper" },
352
353
  React.createElement("pfe-collapse-panel", { id: "case-filters-panel", "pfe-animation": "false", ref: filterSectionRef },
353
354
  React.createElement(ErrorBoundary, { errorMsgInfo: { message: t('There was an error loading filters') } },
354
- React.createElement(CaseListFilters, { allCaseTypes: allCaseTypes, allCaseStatuses: allCaseStatuses, allCaseSeverities: allCaseSeverities, allProducts: allProducts }))))),
355
+ React.createElement(CaseListFilters, { filterValues: filterValuesFromFacetResponse, allCaseTypes: allCaseTypes, allCaseStatuses: allCaseStatuses, allCaseSeverities: allCaseSeverities, allProducts: allProducts, isSolrSearchDown: isSolrSearchDown })))))),
355
356
  React.createElement("section", { className: "case-search-table pf-v6-u-display-flex pf-v6-u-flex-direction-column" },
356
- React.createElement(CaseListTable, { caseList: caseList, caseGroups: caseGroups.data || [], loggedInUserRights: loggedInUserRights.data, sortInfo: filterState.sortInfo, paginationInfo: filterState.paginationInfo, isCaseListPageLoading: isFetching, hasError: hasError }))))));
357
+ React.createElement(CaseListTable, { caseList: caseList, caseGroups: caseGroups.data || [], loggedInUserRights: loggedInUserRights.data, sortInfo: filterState.sortInfo, paginationInfo: filterState.paginationInfo, isCaseListPageLoading: isFetching, hasError: hasError, isSolrDown: isSolrSearchDown }))))));
357
358
  }
@@ -1 +1 @@
1
- {"version":3,"file":"CaseListContext.d.ts","sourceRoot":"","sources":["../../../../src/components/case-list/CaseListContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAE1C,OAAO,EAAE,oBAAoB,EAAmB,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAE1F,eAAO,MAAM,oBAAoB,EAAE,cASlC,CAAC;AAIF,QAAA,MAAM,oBAAoB,+BAA4C,CAAC;AAEvE,QAAA,MAAM,uBAAuB,qCAAmE,CAAC;AAEjG,QAAA,MAAM,uBAAuB,sBAAyC,CAAC;AACvE,QAAA,MAAM,0BAA0B,4BAA4C,CAAC;AAE7E,iBAAS,gBAAgB,CAAC,EAAE,QAAQ,EAAE;;CAAA,qBAOrC;AAED,OAAO,EACH,oBAAoB,EACpB,uBAAuB,EACvB,gBAAgB,EAChB,uBAAuB,EACvB,0BAA0B,GAC7B,CAAC"}
1
+ {"version":3,"file":"CaseListContext.d.ts","sourceRoot":"","sources":["../../../../src/components/case-list/CaseListContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAE1C,OAAO,EAAE,oBAAoB,EAAmB,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAE1F,eAAO,MAAM,oBAAoB,EAAE,cAWlC,CAAC;AAIF,QAAA,MAAM,oBAAoB,+BAA4C,CAAC;AAEvE,QAAA,MAAM,uBAAuB,qCAAmE,CAAC;AAEjG,QAAA,MAAM,uBAAuB,sBAAyC,CAAC;AACvE,QAAA,MAAM,0BAA0B,4BAA4C,CAAC;AAE7E,iBAAS,gBAAgB,CAAC,EAAE,QAAQ,EAAE;;CAAA,qBAOrC;AAED,OAAO,EACH,oBAAoB,EACpB,uBAAuB,EACvB,gBAAgB,EAChB,uBAAuB,EACvB,0BAA0B,GAC7B,CAAC"}
@@ -8,6 +8,8 @@ export const initialCaseListState = {
8
8
  },
9
9
  isFetching: false,
10
10
  chipsNameSsoMap: {},
11
+ filterValuesFromFacetResponse: null,
12
+ pivotValues: null,
11
13
  currentQuery: undefined,
12
14
  };
13
15
  const initalDispatchContext = null;
@@ -26,12 +26,8 @@ export interface IFilterQueryInfo {
26
26
  type: CaseSearchQueryType;
27
27
  parsedQuery?: string;
28
28
  }
29
- export interface IVersionFilterValue extends IFieldValue {
30
- productId?: string;
31
- }
32
29
  export interface IProductFilter extends IFieldValue {
33
- [SolrKeys.version]: IVersionFilterValue[];
34
- productId?: string;
30
+ [SolrKeys.version]: IFieldValue[];
35
31
  }
36
32
  export interface IFilterInfo {
37
33
  [SolrPivotKeys.product_version]: IProductFilter[];
@@ -1 +1 @@
1
- {"version":3,"file":"CaseListFilterReducer.d.ts","sourceRoot":"","sources":["../../../../src/components/case-list/CaseListFilterReducer.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CaseListFilterReducer.d.ts","sourceRoot":"","sources":["../../../../src/components/case-list/CaseListFilterReducer.tsx"],"names":[],"mappings":"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"}
@@ -54,8 +54,7 @@ const caseListFilterReducer = (pState, action) => {
54
54
  return Object.assign(Object.assign({}, pState), { filterInfo: newFilters, paginationInfo: newPaginationInfo });
55
55
  }
56
56
  case CaseListReducerEnum.updateSort: {
57
- const newPaginationInfo = Object.assign(Object.assign({}, pState.paginationInfo), { currentPage: 1 });
58
- return Object.assign(Object.assign({}, pState), { sortInfo: action.payload.sortInfo, paginationInfo: newPaginationInfo });
57
+ return Object.assign(Object.assign({}, pState), { sortInfo: action.payload.sortInfo });
59
58
  }
60
59
  case CaseListReducerEnum.updatePagination: {
61
60
  return Object.assign(Object.assign({}, pState), { paginationInfo: action.payload.paginationInfo });
@@ -1,9 +1,13 @@
1
1
  import { IAction, ISolrResponse } from '@rh-support/types/shared';
2
- import { ICaseListResponse } from '../../models/caseList';
2
+ import { ISolrResponseToFacetFields, ISolrResponseToPivotFields } from '@rh-support/utils';
3
+ import { ICaseListResponse, IFacetFields, IFacetPivot } from '../../models/caseList';
4
+ import { IPivotValues, IProductVersionPivotMap } from './CaseList';
3
5
  export interface ICaseListState {
4
6
  caseList: ISolrResponse<ICaseListResponse>;
5
7
  isFetching: boolean;
6
8
  chipsNameSsoMap?: IChipsNameSsoMap;
9
+ filterValuesFromFacetResponse: ISolrResponseToFacetFields<IFacetFields>;
10
+ pivotValues: ISolrResponseToPivotFields<IFacetPivot, IProductVersionPivotMap>;
7
11
  currentQuery: string;
8
12
  }
9
13
  export interface IChipsNameSso {
@@ -25,6 +29,8 @@ declare const caseListReducer: (state: ICaseListState, action: IActionType) => I
25
29
  declare const setCaseList: (dispatch: CaseListDispatchType, caseList: ISolrResponse<ICaseListResponse>) => void;
26
30
  declare const setChipsNameSsoMap: (dispatch: CaseListDispatchType, chipsNameSsoMap: IChipsNameSsoMap) => void;
27
31
  declare const setIsFetching: (dispatch: CaseListDispatchType, isFetching: boolean) => void;
32
+ declare const setFilterValuesFromFacetResponse: (dispatch: CaseListDispatchType, filterValuesFromFacetResponse: ISolrResponseToFacetFields<IFacetFields>) => void;
33
+ declare const setPivotValues: (dispatch: CaseListDispatchType, pivotValues: IPivotValues) => void;
28
34
  declare const setCurrentQuery: (dispatch: CaseListDispatchType, currentQuery: string) => void;
29
- export { caseListReducer, setCaseList, setChipsNameSsoMap, setIsFetching, setCurrentQuery };
35
+ export { caseListReducer, setCaseList, setChipsNameSsoMap, setIsFetching, setFilterValuesFromFacetResponse, setPivotValues, setCurrentQuery, };
30
36
  //# sourceMappingURL=CaseListReducer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CaseListReducer.d.ts","sourceRoot":"","sources":["../../../../src/components/case-list/CaseListReducer.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAElE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE1D,MAAM,WAAW,cAAc;IAC3B,QAAQ,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;IAC3C,UAAU,EAAE,OAAO,CAAC;IACpB,eAAe,CAAC,EAAE,gBAAgB,CAAC;IACnC,YAAY,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,aAAa;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,gBAAgB;IAC7B,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,CAAC;CAChC;AAED,aAAK,mBAAmB;IACpB,WAAW,cAAc;CAC5B;AAED,KAAK,WAAW,GAAG,OAAO,CAAC,mBAAmB,EAAE,cAAc,CAAC,CAAC;AAChE,MAAM,MAAM,oBAAoB,GAAG,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;AAEhE,QAAA,MAAM,eAAe,GAAI,OAAO,cAAc,EAAE,QAAQ,WAAW,KAAG,cAMrE,CAAC;AAEF,QAAA,MAAM,WAAW,GAAI,UAAU,oBAAoB,EAAE,UAAU,aAAa,CAAC,iBAAiB,CAAC,SAK9F,CAAC;AAEF,QAAA,MAAM,kBAAkB,GAAI,UAAU,oBAAoB,EAAE,iBAAiB,gBAAgB,SAK5F,CAAC;AAEF,QAAA,MAAM,aAAa,GAAI,UAAU,oBAAoB,EAAE,YAAY,OAAO,SAKzE,CAAC;AAEF,QAAA,MAAM,eAAe,GAAI,UAAU,oBAAoB,EAAE,cAAc,MAAM,SAK5E,CAAC;AAEF,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,kBAAkB,EAAE,aAAa,EAAE,eAAe,EAAE,CAAC"}
1
+ {"version":3,"file":"CaseListReducer.d.ts","sourceRoot":"","sources":["../../../../src/components/case-list/CaseListReducer.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,0BAA0B,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AAE3F,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACrF,OAAO,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAEnE,MAAM,WAAW,cAAc;IAC3B,QAAQ,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;IAC3C,UAAU,EAAE,OAAO,CAAC;IACpB,eAAe,CAAC,EAAE,gBAAgB,CAAC;IACnC,6BAA6B,EAAE,0BAA0B,CAAC,YAAY,CAAC,CAAC;IACxE,WAAW,EAAE,0BAA0B,CAAC,WAAW,EAAE,uBAAuB,CAAC,CAAC;IAC9E,YAAY,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,aAAa;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,gBAAgB;IAC7B,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,CAAC;CAChC;AAED,aAAK,mBAAmB;IACpB,WAAW,cAAc;CAC5B;AAED,KAAK,WAAW,GAAG,OAAO,CAAC,mBAAmB,EAAE,cAAc,CAAC,CAAC;AAChE,MAAM,MAAM,oBAAoB,GAAG,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;AAEhE,QAAA,MAAM,eAAe,GAAI,OAAO,cAAc,EAAE,QAAQ,WAAW,KAAG,cAMrE,CAAC;AAEF,QAAA,MAAM,WAAW,GAAI,UAAU,oBAAoB,EAAE,UAAU,aAAa,CAAC,iBAAiB,CAAC,SAK9F,CAAC;AAEF,QAAA,MAAM,kBAAkB,GAAI,UAAU,oBAAoB,EAAE,iBAAiB,gBAAgB,SAK5F,CAAC;AACF,QAAA,MAAM,aAAa,GAAI,UAAU,oBAAoB,EAAE,YAAY,OAAO,SAKzE,CAAC;AACF,QAAA,MAAM,gCAAgC,GAClC,UAAU,oBAAoB,EAC9B,+BAA+B,0BAA0B,CAAC,YAAY,CAAC,SAM1E,CAAC;AACF,QAAA,MAAM,cAAc,GAAI,UAAU,oBAAoB,EAAE,aAAa,YAAY,SAKhF,CAAC;AAEF,QAAA,MAAM,eAAe,GAAI,UAAU,oBAAoB,EAAE,cAAc,MAAM,SAK5E,CAAC;AAEF,OAAO,EACH,eAAe,EACf,WAAW,EACX,kBAAkB,EAClB,aAAa,EACb,gCAAgC,EAChC,cAAc,EACd,eAAe,GAClB,CAAC"}
@@ -27,10 +27,22 @@ const setIsFetching = (dispatch, isFetching) => {
27
27
  payload: { isFetching },
28
28
  });
29
29
  };
30
+ const setFilterValuesFromFacetResponse = (dispatch, filterValuesFromFacetResponse) => {
31
+ dispatch({
32
+ type: CaseListReducerEnum.updateState,
33
+ payload: { filterValuesFromFacetResponse },
34
+ });
35
+ };
36
+ const setPivotValues = (dispatch, pivotValues) => {
37
+ dispatch({
38
+ type: CaseListReducerEnum.updateState,
39
+ payload: { pivotValues },
40
+ });
41
+ };
30
42
  const setCurrentQuery = (dispatch, currentQuery) => {
31
43
  dispatch({
32
44
  type: CaseListReducerEnum.updateState,
33
45
  payload: { currentQuery },
34
46
  });
35
47
  };
36
- export { caseListReducer, setCaseList, setChipsNameSsoMap, setIsFetching, setCurrentQuery };
48
+ export { caseListReducer, setCaseList, setChipsNameSsoMap, setIsFetching, setFilterValuesFromFacetResponse, setPivotValues, setCurrentQuery, };
@@ -1 +1 @@
1
- {"version":3,"file":"AccountsFilter.d.ts","sourceRoot":"","sources":["../../../../../src/components/case-list/case-list-filters/AccountsFilter.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAO1F,OAAO,KAAyC,MAAM,OAAO,CAAC;AAO9D,UAAU,MAAM;IACZ,uBAAuB,EAAE,OAAO,CAAC;CACpC;AAED,eAAO,MAAM,gCAAgC,GAAI,SAAS,QAAQ,WAMjE,CAAC;AACF,eAAO,MAAM,+BAA+B,GAAI,SAAS,OAAO,CAAC,sBAAsB,CAAC,WAEvF,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI,cAAS,EAAE,eAAU,QACgC,CAAC;AAE/E,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,qBAqG3C"}
1
+ {"version":3,"file":"AccountsFilter.d.ts","sourceRoot":"","sources":["../../../../../src/components/case-list/case-list-filters/AccountsFilter.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAQ1F,OAAO,KAAyC,MAAM,OAAO,CAAC;AAO9D,UAAU,MAAM;IACZ,uBAAuB,EAAE,OAAO,CAAC;CACpC;AAED,eAAO,MAAM,gCAAgC,GAAI,SAAS,QAAQ,WAMjE,CAAC;AACF,eAAO,MAAM,+BAA+B,GAAI,SAAS,OAAO,CAAC,sBAAsB,CAAC,WAEvF,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI,cAAS,EAAE,eAAU,QACgC,CAAC;AAE/E,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,qBA+F3C"}
@@ -7,9 +7,9 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
7
7
  step((generator = generator.apply(thisArg, _arguments || [])).next());
8
8
  });
9
9
  };
10
- import { useApolloClient } from '@apollo/client/react';
10
+ import { accounts } from '@cee-eng/hydrajs';
11
11
  import { AccountSelectorInternal } from '@rh-support/react-context';
12
- import { getDropdownBtnPlaceholder, SEARCH_ACCOUNTS } from '@rh-support/utils';
12
+ import { getDropdownBtnPlaceholder } from '@rh-support/utils';
13
13
  import differenceBy from 'lodash/differenceBy';
14
14
  import filter from 'lodash/filter';
15
15
  import remove from 'lodash/remove';
@@ -35,7 +35,6 @@ export function AccountsFilter(props) {
35
35
  const { canReadBookmarkAccounts } = props;
36
36
  const { filterInfo } = useContext(CaseListFilterStateContext);
37
37
  const dispatch = useContext(CaseListFilterDispatchContext);
38
- const apolloClient = useApolloClient();
39
38
  const selectedAccounts = useMemo(() => filterInfo[SolrKeys.accountNumber]
40
39
  .filter((item) => !Array.isArray(item.key))
41
40
  .map((item) => ({
@@ -68,26 +67,20 @@ export function AccountsFilter(props) {
68
67
  return;
69
68
  function getAccountsWithoutNames() {
70
69
  return __awaiter(this, void 0, void 0, function* () {
71
- var _a, _b, _c, _d;
72
70
  const allSelected = [...filterInfo[SolrKeys.accountNumber]];
73
71
  const accountsWithoutNames = remove(allSelected, (item) => item.key === item.value);
74
72
  if (accountsWithoutNames.length < 1)
75
73
  return;
76
- const accountNumbers = accountsWithoutNames.map((item) => item.key);
74
+ const fields = ['accountNumber', 'accountId', 'name'].join(',');
75
+ const params = {
76
+ fields,
77
+ orderBy: 'name',
78
+ orderDirection: 'asc',
79
+ accountNumberIn: accountsWithoutNames.map((item) => item.key).join(','),
80
+ };
77
81
  try {
78
- const { data } = yield apolloClient.query({
79
- query: SEARCH_ACCOUNTS,
80
- variables: {
81
- where: { AccountNumber: { in: accountNumbers } },
82
- first: accountNumbers.length,
83
- },
84
- fetchPolicy: 'network-only',
85
- });
86
- const edges = (_d = (_c = (_b = (_a = data === null || data === void 0 ? void 0 : data.salesforce_support_uiapi) === null || _a === void 0 ? void 0 : _a.query) === null || _b === void 0 ? void 0 : _b.SalesforceSupportAccount) === null || _c === void 0 ? void 0 : _c.edges) !== null && _d !== void 0 ? _d : [];
87
- const keyValueMap = edges.map((edge) => ({
88
- key: edge.node.AccountNumber.value,
89
- value: edge.node.Name.value,
90
- }));
82
+ const accountsDetail = yield accounts.getAccounts(params);
83
+ const keyValueMap = accountsDetail.items.map((item) => ({ key: item.accountNumber, value: item.name }));
91
84
  updateFilter(dispatch, {
92
85
  filterKey: SolrKeys.accountNumber,
93
86
  values: [...keyValueMap, ...allSelected],
@@ -1 +1 @@
1
- {"version":3,"file":"AdditionalFilters.d.ts","sourceRoot":"","sources":["../../../../../src/components/case-list/case-list-filters/AdditionalFilters.tsx"],"names":[],"mappings":"AAGA,OAAO,KAA0C,MAAM,OAAO,CAAC;AAO/D,wBAAgB,iBAAiB,sBA6FhC"}
1
+ {"version":3,"file":"AdditionalFilters.d.ts","sourceRoot":"","sources":["../../../../../src/components/case-list/case-list-filters/AdditionalFilters.tsx"],"names":[],"mappings":"AAGA,OAAO,KAA0C,MAAM,OAAO,CAAC;AAO/D,wBAAgB,iBAAiB,sBAwFhC"}
@@ -19,8 +19,6 @@ export function AdditionalFilters() {
19
19
  });
20
20
  setIsEscalated(checked);
21
21
  };
22
- // @ts-ignore - kept for future use when GraphQL supports private cases filter
23
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
24
22
  const onisPrivateChange = (checked) => {
25
23
  updateFilter(dispatch, {
26
24
  filterKey: SolrKeys.isPrivate,
@@ -28,7 +26,6 @@ export function AdditionalFilters() {
28
26
  });
29
27
  setIsPrivate(checked);
30
28
  };
31
- void onisPrivateChange;
32
29
  useEffect(() => {
33
30
  var _a, _b;
34
31
  updateFilter(dispatch, {
@@ -65,5 +62,6 @@ export function AdditionalFilters() {
65
62
  React.createElement("div", { className: "additional-filters" },
66
63
  React.createElement("h3", null,
67
64
  React.createElement(Trans, null, "More")),
68
- React.createElement(Checkbox, { label: t(AdditionalFilterLabels[SolrKeys.escalation]), isChecked: escalated, onChange: (_event, checked) => onEscalatedChange(checked), "aria-label": t(AdditionalFilterLabels[SolrKeys.escalation]), id: "escalated", name: "escalated", "data-tracking-id": "escalated-filter-selector" }))));
65
+ React.createElement(Checkbox, { label: t(AdditionalFilterLabels[SolrKeys.escalation]), isChecked: escalated, onChange: (_event, checked) => onEscalatedChange(checked), "aria-label": t(AdditionalFilterLabels[SolrKeys.escalation]), id: "escalated", name: "escalated", "data-tracking-id": "escalated-filter-selector" }),
66
+ React.createElement(Checkbox, { label: t(AdditionalFilterLabels[SolrKeys.isPrivate]), isChecked: isPrivate, onChange: (_event, checked) => onisPrivateChange(checked), "aria-label": t(AdditionalFilterLabels[SolrKeys.isPrivate]), id: "private", name: "private", "data-tracking-id": "private-filter-selector" }))));
69
67
  }