@rh-support/cases 2.6.215 → 2.6.217
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/CaseList.d.ts.map +1 -1
- package/lib/esm/components/case-list/CaseList.js +49 -19
- package/lib/esm/components/case-list/case-list-table/DownloadCSVFileModal.d.ts.map +1 -1
- package/lib/esm/components/case-list/case-list-table/DownloadCSVFileModal.js +5 -2
- package/lib/esm/hooks/useFilterStateOnLoad.d.ts.map +1 -1
- package/lib/esm/hooks/useFilterStateOnLoad.js +7 -5
- package/lib/esm/utils/caseGroupDefaultFilterUtils.d.ts +12 -0
- package/lib/esm/utils/caseGroupDefaultFilterUtils.d.ts.map +1 -0
- package/lib/esm/utils/caseGroupDefaultFilterUtils.js +34 -0
- package/lib/esm/utils/caseGroupDefaultUtils.d.ts +10 -0
- package/lib/esm/utils/caseGroupDefaultUtils.d.ts.map +1 -0
- package/lib/esm/utils/caseGroupDefaultUtils.js +20 -0
- package/lib/esm/utils/caseListGraphQLUtils.d.ts +2 -2
- package/lib/esm/utils/caseListGraphQLUtils.d.ts.map +1 -1
- package/lib/esm/utils/caseListGraphQLUtils.js +6 -6
- package/lib/esm/utils/caseListVariablesBuilder.d.ts +1 -1
- package/lib/esm/utils/caseListVariablesBuilder.d.ts.map +1 -1
- package/lib/esm/utils/caseListVariablesBuilder.js +3 -3
- package/package.json +6 -6
|
@@ -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;
|
|
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;AAwClC,OAAO,KAAkD,MAAM,OAAO,CAAC;AAGvE,OAAO,EAAE,mBAAmB,EAAe,MAAM,kBAAkB,CAAC;AAEpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,IAAI,CAAC;AAuC1C,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,qBA2vBrC"}
|
|
@@ -16,14 +16,17 @@ import { ErrorBoundary, ToastNotification, useBreakpoint, useDocumentTitle, useF
|
|
|
16
16
|
import { CSSUserModal, fetchAllStatuses, fetchCaseGroupsForAccount, fetchCaseGroupsForSSO, fetchCaseSeverities, fetchCaseTypes, fetchProducts, GlobalMetadataDispatchContext, GlobalMetadataStateContext, setUserPreferences, updateCaseListTraditionalSupportAgreed, updateUserPreferences, useGlobalDispatchContext, UserPreferencesKeys, } from '@rh-support/react-context';
|
|
17
17
|
import { getStringifiedParams, getUrlParsedParams, haventLoadedMetadata, haventLoadedProductsMetadata, pendoTrackEvent, } from '@rh-support/utils';
|
|
18
18
|
import isEmpty from 'lodash/isEmpty';
|
|
19
|
+
import isEqual from 'lodash/isEqual';
|
|
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 { useInView } from 'react-intersection-observer';
|
|
23
24
|
import { useLocation } from 'react-router-dom';
|
|
24
25
|
import { CaseSearchQueryType } from '../../enums/caseSearch';
|
|
26
|
+
import { SolrKeys } from '../../enums/filters';
|
|
25
27
|
import { PageTitle } from '../../enums/pageTitle';
|
|
26
28
|
import { useFilterStateOnLoad } from '../../hooks/useFilterStateOnLoad';
|
|
29
|
+
import { getDefaultGroupFilterSelection, shouldApplyDefaultGroupFilter } from '../../utils/caseGroupDefaultFilterUtils';
|
|
27
30
|
import { clearPageCursors, getCaseListFromGraphQL, loadMoreCases, } from '../../utils/caseListGraphQLUtils';
|
|
28
31
|
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';
|
|
29
32
|
import { UpdatedCaseDataEvent } from '../../utils/constants';
|
|
@@ -34,20 +37,21 @@ import { CaseListTable } from './case-list-table/CaseListTable';
|
|
|
34
37
|
import { CaseSearch } from './case-search/CaseSearch';
|
|
35
38
|
import { useCaseListDispatchContext, useCaseListStateContext } from './CaseListContext';
|
|
36
39
|
import { CaseListFilterDispatchContext, CaseListFilterStateContext } from './CaseListFilterContext';
|
|
37
|
-
import { isNoFilterApplied, isOnlyDefaultFilterApplied } from './CaseListFilterHelpers';
|
|
40
|
+
import { isNoFilterApplied, isOnlyDefaultFilterApplied, isOnlyGroupFilterApplied } from './CaseListFilterHelpers';
|
|
38
41
|
import { updateFilterState } from './CaseListFilterReducer';
|
|
39
42
|
import { appendCaseList, setCaseList, setCurrentQuery, setCursorInfo, setIsFetching, setIsLoadingMore, setLoadMoreError, } from './CaseListReducer';
|
|
40
43
|
export function CaseList(props) {
|
|
41
|
-
var _a, _b, _c, _d, _e, _f, _g;
|
|
44
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
42
45
|
const { t } = useTranslation();
|
|
43
46
|
useDocumentTitle(PageTitle.CASE_LIST);
|
|
44
47
|
const dispatchToGlobalMetadataReducer = useContext(GlobalMetadataDispatchContext);
|
|
45
48
|
const { caseList, isFetching, isLoadingMore, hasNextPage, endCursor, currentQuery, loadMoreError, loadMoreRetryCount, } = useCaseListStateContext();
|
|
46
49
|
const CaseListDispatch = useCaseListDispatchContext();
|
|
47
50
|
const breakPoint = useBreakpoint();
|
|
48
|
-
const { globalMetadataState, globalMetadataState: { caseGroups, loggedInUser, loggedInUserRights, loggedInUsersAccount, userPreferences, managedAccounts, bookmarkedAccounts, allCaseTypes, allCaseSeverities, allCaseStatuses, allProducts, caseRecordTypes, caseListTraditionalSupportAgreed, }, } = useContext(GlobalMetadataStateContext);
|
|
51
|
+
const { globalMetadataState, globalMetadataState: { caseGroups, loggedInUser, loggedInUserRights, loggedInUsersAccount, userPreferences, managedAccounts, bookmarkedAccounts, allCaseTypes, allCaseSeverities, allCaseStatuses, allProducts, caseRecordTypes, caseListTraditionalSupportAgreed, hydraUserPreferences, }, } = useContext(GlobalMetadataStateContext);
|
|
49
52
|
const globalDispatchContext = useGlobalDispatchContext();
|
|
50
53
|
const apolloClient = useApolloClient();
|
|
54
|
+
const includeSecureSupportCases = Boolean(loggedInUsersAccount.data.secureSupport);
|
|
51
55
|
const location = useLocation();
|
|
52
56
|
const searchParams = getUrlParsedParams(location.search);
|
|
53
57
|
const queryFromUrl = searchParams[FILTER_URL_QUERY_SEARCH_PARAM];
|
|
@@ -86,7 +90,7 @@ export function CaseList(props) {
|
|
|
86
90
|
if (!cursor || prefetchRef.current.cursor === cursor)
|
|
87
91
|
return;
|
|
88
92
|
prefetchRef.current = { cursor, data: null, loading: true };
|
|
89
|
-
loadMoreCases(activeFilterStateRef.current, apolloClient, cursor)
|
|
93
|
+
loadMoreCases(activeFilterStateRef.current, apolloClient, cursor, undefined, includeSecureSupportCases)
|
|
90
94
|
.then((result) => {
|
|
91
95
|
if (prefetchRef.current.cursor === cursor) {
|
|
92
96
|
prefetchRef.current = { cursor, data: result, loading: false };
|
|
@@ -174,7 +178,7 @@ export function CaseList(props) {
|
|
|
174
178
|
prefetchRef.current = { cursor: '', data: null, loading: false };
|
|
175
179
|
loadMoreCooldownRef.current = true;
|
|
176
180
|
activeFilterStateRef.current = currentFilterState;
|
|
177
|
-
const result = yield getCaseListFromGraphQL(currentFilterState, apolloClient, undefined, controller.signal);
|
|
181
|
+
const result = yield getCaseListFromGraphQL(currentFilterState, apolloClient, undefined, controller.signal, undefined, includeSecureSupportCases);
|
|
178
182
|
if (controller.signal.aborted) {
|
|
179
183
|
return;
|
|
180
184
|
}
|
|
@@ -228,7 +232,7 @@ export function CaseList(props) {
|
|
|
228
232
|
}
|
|
229
233
|
else {
|
|
230
234
|
prefetchRef.current = { cursor: '', data: null, loading: false };
|
|
231
|
-
result = yield loadMoreCases(activeFilterStateRef.current, apolloClient, endCursor, controller.signal);
|
|
235
|
+
result = yield loadMoreCases(activeFilterStateRef.current, apolloClient, endCursor, controller.signal, includeSecureSupportCases);
|
|
232
236
|
}
|
|
233
237
|
if (controller.signal.aborted)
|
|
234
238
|
return;
|
|
@@ -278,7 +282,7 @@ export function CaseList(props) {
|
|
|
278
282
|
};
|
|
279
283
|
const checkNewCases = () => __awaiter(this, void 0, void 0, function* () {
|
|
280
284
|
try {
|
|
281
|
-
const { caseListResponse } = yield getCaseListFromGraphQL(filterState, apolloClient);
|
|
285
|
+
const { caseListResponse } = yield getCaseListFromGraphQL(filterState, apolloClient, undefined, undefined, undefined, includeSecureSupportCases);
|
|
282
286
|
let changed = false;
|
|
283
287
|
if (caseListResponse.response.numFound <= filterState.paginationInfo.pageSize &&
|
|
284
288
|
caseListResponse.response.numFound !== caseList.numFound) {
|
|
@@ -316,24 +320,50 @@ export function CaseList(props) {
|
|
|
316
320
|
var _a;
|
|
317
321
|
if (!salesforceAccountId || loggedInUser.isFetching)
|
|
318
322
|
return;
|
|
319
|
-
if (haventLoadedMetadata(caseGroups, (data) => data === undefined))
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
323
|
+
if (!haventLoadedMetadata(caseGroups, (data) => data === undefined))
|
|
324
|
+
return;
|
|
325
|
+
if ((_a = loggedInUsersAccount.data) === null || _a === void 0 ? void 0 : _a.isInternal) {
|
|
326
|
+
fetchCaseGroupsForAccount(dispatchToGlobalMetadataReducer, apolloClient, salesforceAccountId, defaultCaseGroupId, loggedInContactId, loggedInIsOrgAdmin);
|
|
327
|
+
}
|
|
328
|
+
else {
|
|
329
|
+
fetchCaseGroupsForSSO(dispatchToGlobalMetadataReducer, apolloClient, salesforceAccountId, defaultCaseGroupId, loggedInContactId, loggedInIsOrgAdmin);
|
|
326
330
|
}
|
|
327
331
|
}, [
|
|
332
|
+
apolloClient,
|
|
328
333
|
caseGroups,
|
|
329
334
|
dispatchToGlobalMetadataReducer,
|
|
330
|
-
|
|
331
|
-
salesforceAccountId,
|
|
332
|
-
loggedInUsersAccount.data,
|
|
335
|
+
defaultCaseGroupId,
|
|
333
336
|
loggedInContactId,
|
|
334
337
|
loggedInIsOrgAdmin,
|
|
335
338
|
loggedInUser.isFetching,
|
|
339
|
+
(_f = loggedInUsersAccount.data) === null || _f === void 0 ? void 0 : _f.isInternal,
|
|
340
|
+
salesforceAccountId,
|
|
341
|
+
]);
|
|
342
|
+
useEffect(() => {
|
|
343
|
+
if (location.pathname !== '/case/list')
|
|
344
|
+
return;
|
|
345
|
+
if (loggedInUser.isFetching || caseGroups.isFetching || caseGroups.data === undefined)
|
|
346
|
+
return;
|
|
347
|
+
if (!shouldApplyDefaultGroupFilter(queryFromUrl, hydraUserPreferences.data))
|
|
348
|
+
return;
|
|
349
|
+
const canAutoSync = isNoFilterApplied(filterState) ||
|
|
350
|
+
isOnlyDefaultFilterApplied(filterState) ||
|
|
351
|
+
isOnlyGroupFilterApplied(filterState.filterInfo);
|
|
352
|
+
if (!canAutoSync)
|
|
353
|
+
return;
|
|
354
|
+
const nextGroupFilter = getDefaultGroupFilterSelection(caseGroups.data, loggedInUser === null || loggedInUser === void 0 ? void 0 : loggedInUser.data);
|
|
355
|
+
const currentGroupFilter = filterState.filterInfo[SolrKeys.group] || [];
|
|
356
|
+
if (isEqual(currentGroupFilter, nextGroupFilter))
|
|
357
|
+
return;
|
|
358
|
+
updateFilterState(filterDispatch, Object.assign(Object.assign({}, filterState), { filterInfo: Object.assign(Object.assign({}, filterState.filterInfo), { [SolrKeys.group]: nextGroupFilter }) }));
|
|
359
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
360
|
+
}, [
|
|
336
361
|
defaultCaseGroupId,
|
|
362
|
+
caseGroups.data,
|
|
363
|
+
caseGroups.isFetching,
|
|
364
|
+
loggedInUser.isFetching,
|
|
365
|
+
location.pathname,
|
|
366
|
+
queryFromUrl,
|
|
337
367
|
]);
|
|
338
368
|
useEffect(() => {
|
|
339
369
|
const loadMetadata = () => __awaiter(this, void 0, void 0, function* () {
|
|
@@ -524,8 +554,8 @@ export function CaseList(props) {
|
|
|
524
554
|
React.createElement(ErrorBoundary, { errorMsgInfo: { message: t('There was an error loading filter chips') } },
|
|
525
555
|
React.createElement(CaseListFilterChips, null))),
|
|
526
556
|
React.createElement("section", { className: "case-search-bottom" },
|
|
527
|
-
React.createElement("aside", { className: `case-search-filters ${((
|
|
528
|
-
React.createElement("h2", { className: "filter-header pf-v6-u-display-flex" }, ((
|
|
557
|
+
React.createElement("aside", { className: `case-search-filters ${((_g = filterSectionRef.current) === null || _g === void 0 ? void 0 : _g.expanded) ? '' : 'collapsed'}` },
|
|
558
|
+
React.createElement("h2", { className: "filter-header pf-v6-u-display-flex" }, ((_h = filterSectionRef.current) === null || _h === void 0 ? void 0 : _h.expanded) ? (React.createElement(React.Fragment, null,
|
|
529
559
|
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" }) },
|
|
530
560
|
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")))),
|
|
531
561
|
React.createElement("div", { className: "filter-wrapper" },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DownloadCSVFileModal.d.ts","sourceRoot":"","sources":["../../../../../src/components/case-list/case-list-table/DownloadCSVFileModal.tsx"],"names":[],"mappings":"AAAA,OAAO,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"DownloadCSVFileModal.d.ts","sourceRoot":"","sources":["../../../../../src/components/case-list/case-list-table/DownloadCSVFileModal.tsx"],"names":[],"mappings":"AAAA,OAAO,6BAA6B,CAAC;AAgCrC,OAAO,KAAmD,MAAM,OAAO,CAAC;AAKxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAEhE,UAAU,MAAM;IACZ,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;IACrB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,WAAW,EAAE,oBAAoB,CAAC;IAClC,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,iBAAiB,EAAE,MAAM,CAAC;CAC7B;AAWD,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAAC,KAAK,EAAE,MAAM,qBAmXzD"}
|
|
@@ -13,9 +13,10 @@ import { Button, Checkbox, Form, FormGroup, Grid, GridItem, InputGroup, Modal, M
|
|
|
13
13
|
import DownloadIcon from '@patternfly/react-icons/dist/js/icons/download-icon';
|
|
14
14
|
import TimesCircleIcon from '@patternfly/react-icons/dist/js/icons/times-circle-icon';
|
|
15
15
|
import { ToastNotification } from '@rh-support/components';
|
|
16
|
+
import { GlobalMetadataStateContext } from '@rh-support/react-context';
|
|
16
17
|
import { downloadCSV, formatDateTime, mapSfdcStatusToPortalStatus, toNewCaseTypeSwitcher, } from '@rh-support/utils';
|
|
17
18
|
import { isEmpty } from 'lodash';
|
|
18
|
-
import React, { useEffect, useMemo, useState } from 'react';
|
|
19
|
+
import React, { useContext, useEffect, useMemo, useState } from 'react';
|
|
19
20
|
import { useTranslation } from 'react-i18next';
|
|
20
21
|
import { SolrKeys } from '../../../enums/filters';
|
|
21
22
|
import { getCaseListFromGraphQL } from '../../../utils/caseListGraphQLUtils';
|
|
@@ -31,6 +32,8 @@ export default function DownloadCSVFileModal(props) {
|
|
|
31
32
|
const { onClose, onModalshow, isDisabled, filterState, selectedCases, filteredCaseCount } = props;
|
|
32
33
|
const { t } = useTranslation();
|
|
33
34
|
const apolloClient = useApolloClient();
|
|
35
|
+
const { globalMetadataState: { loggedInUsersAccount }, } = useContext(GlobalMetadataStateContext);
|
|
36
|
+
const includeSecureSupportCases = Boolean(loggedInUsersAccount.data.secureSupport);
|
|
34
37
|
const [isFetching, setIsFetching] = useState(false);
|
|
35
38
|
const [downloadCSVFileName, setDownloadCSVFileName] = useState('CaseList.csv');
|
|
36
39
|
const [checkboxes, setCheckboxes] = useState({
|
|
@@ -170,7 +173,7 @@ export default function DownloadCSVFileModal(props) {
|
|
|
170
173
|
setIsFetching(true);
|
|
171
174
|
const hasSelectedCases = selectedCases.length > 0;
|
|
172
175
|
const csvLimit = hasSelectedCases ? selectedCases.length : 1000;
|
|
173
|
-
const result = yield getCaseListFromGraphQL(filterState, apolloClient, csvLimit, undefined, hasSelectedCases ? selectedCases : undefined);
|
|
176
|
+
const result = yield getCaseListFromGraphQL(filterState, apolloClient, csvLimit, undefined, hasSelectedCases ? selectedCases : undefined, includeSecureSupportCases);
|
|
174
177
|
setIsFetching(false);
|
|
175
178
|
const updatedCsvData = result.caseListResponse.response.docs.map((row) => (Object.assign(Object.assign({}, row), { case_type: toNewCaseTypeSwitcher(row.case_type), case_link: `https://${window.location.host}${window.location.pathname}/#/case/${row.case_number}` })));
|
|
176
179
|
downloadCSV(updatedCsvData, getHeaders(), splitExtensionName ? `${splitExtensionName}.csv` : 'CaseList.csv');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFilterStateOnLoad.d.ts","sourceRoot":"","sources":["../../../src/hooks/useFilterStateOnLoad.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"useFilterStateOnLoad.d.ts","sourceRoot":"","sources":["../../../src/hooks/useFilterStateOnLoad.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAU1D,wBAAgB,oBAAoB;wBAkBd,MAAM,mBACH,MAAM,GAAG,SAAS,sBACf,MAAM,cACd,mBAAmB;;;;EAiEtC"}
|
|
@@ -4,6 +4,7 @@ import findKey from 'lodash/findKey';
|
|
|
4
4
|
import { useContext, useMemo } from 'react';
|
|
5
5
|
import { CaseListFilterStateContext, initialCaseFilterState } from '../components/case-list/CaseListFilterContext';
|
|
6
6
|
import { SolrKeys } from '../enums/filters';
|
|
7
|
+
import { decodeCaseListUrlFilterQuery, getDefaultGroupFilterSelection, shouldApplyDefaultGroupFilter, } from '../utils/caseGroupDefaultFilterUtils';
|
|
7
8
|
import { createFilterStateFromUrlQuery } from '../utils/caseSearchUtils';
|
|
8
9
|
// TODO Comment
|
|
9
10
|
export function useFilterStateOnLoad() {
|
|
@@ -12,14 +13,15 @@ export function useFilterStateOnLoad() {
|
|
|
12
13
|
const savesSearches = find(hydraUserPreferences.data, (pref) => pref.key === UserPreferencesKeys.caseSavedSearchFilters);
|
|
13
14
|
const savedSearchesObj = useMemo(() => ((savesSearches === null || savesSearches === void 0 ? void 0 : savesSearches.value) ? JSON.parse(savesSearches.value) : {}), [savesSearches]);
|
|
14
15
|
const set = (queryFromUrl, pageSizeFromUrl, currentPageFromUrl, searchType) => {
|
|
16
|
+
var _a;
|
|
15
17
|
let savedSearchFilterState = null;
|
|
16
18
|
const defaultSavedSearchKey = findKey(savedSearchesObj, { defaultChecked: true });
|
|
17
19
|
if (defaultSavedSearchKey) {
|
|
18
20
|
const { filterState: filterStateSaved, queryString, type, sortState, } = savedSearchesObj[defaultSavedSearchKey];
|
|
19
21
|
savedSearchFilterState = Object.assign(Object.assign({}, filterState), { sortInfo: sortState, filterQueryInfo: Object.assign(Object.assign({}, filterState.filterQueryInfo), { queryString, type }), filterInfo: Object.assign(Object.assign({}, initialCaseFilterState.filterInfo), filterStateSaved) });
|
|
20
22
|
}
|
|
21
|
-
const
|
|
22
|
-
const
|
|
23
|
+
const defaultGroupFilter = getDefaultGroupFilterSelection(caseGroups.data, (_a = globalMetadataState.loggedInUser) === null || _a === void 0 ? void 0 : _a.data);
|
|
24
|
+
const applyDefaultGroup = shouldApplyDefaultGroupFilter(queryFromUrl, hydraUserPreferences.data);
|
|
23
25
|
/**
|
|
24
26
|
When user lands on page for the first time:
|
|
25
27
|
If we have any query in url(for example redirect from dashboard), we apply the query, if not
|
|
@@ -27,12 +29,12 @@ export function useFilterStateOnLoad() {
|
|
|
27
29
|
check if user has default group the apply group filter,
|
|
28
30
|
non of the above, we apply default search values
|
|
29
31
|
*/
|
|
30
|
-
let defaultFilterState =
|
|
32
|
+
let defaultFilterState = decodeCaseListUrlFilterQuery(queryFromUrl)
|
|
31
33
|
? createFilterStateFromUrlQuery(queryFromUrl, globalMetadataState, pageSizeFromUrl, currentPageFromUrl, searchType)
|
|
32
34
|
: defaultSavedSearchKey
|
|
33
35
|
? savedSearchFilterState
|
|
34
|
-
:
|
|
35
|
-
? Object.assign(Object.assign({}, filterState), { filterInfo: Object.assign(Object.assign({}, filterState.filterInfo), { [SolrKeys.group]:
|
|
36
|
+
: applyDefaultGroup && defaultGroupFilter.length > 0
|
|
37
|
+
? Object.assign(Object.assign({}, filterState), { filterInfo: Object.assign(Object.assign({}, filterState.filterInfo), { [SolrKeys.group]: defaultGroupFilter }) }) : filterState;
|
|
36
38
|
return {
|
|
37
39
|
initFilterState: defaultFilterState,
|
|
38
40
|
defaultSearchName: defaultSavedSearchKey && !queryFromUrl ? defaultSavedSearchKey : '',
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { ICaseGroup } from '@cee-eng/hydrajs/@types/api/public/caseGroups';
|
|
2
|
+
import { IPreference } from '@cee-eng/hydrajs/@types/models/general';
|
|
3
|
+
import type { ILoggedInSsoContact } from '@rh-support/utils';
|
|
4
|
+
export declare function decodeCaseListUrlFilterQuery(queryFromUrl?: string): string;
|
|
5
|
+
export declare function hasDefaultSavedSearch(hydraUserPreferences?: IPreference[]): boolean;
|
|
6
|
+
/** Default group filter applies only when URL and saved-search do not own the filter state. */
|
|
7
|
+
export declare function shouldApplyDefaultGroupFilter(queryFromUrl?: string, hydraUserPreferences?: IPreference[]): boolean;
|
|
8
|
+
export declare function getDefaultGroupFilterSelection(caseGroups: ICaseGroup[] | undefined, loggedInUser?: ILoggedInSsoContact): Array<{
|
|
9
|
+
key: string;
|
|
10
|
+
value: string;
|
|
11
|
+
}>;
|
|
12
|
+
//# sourceMappingURL=caseGroupDefaultFilterUtils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"caseGroupDefaultFilterUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/caseGroupDefaultFilterUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,+CAA+C,CAAC;AAC3E,OAAO,EAAE,WAAW,EAAE,MAAM,wCAAwC,CAAC;AAErE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAM7D,wBAAgB,4BAA4B,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAa1E;AAED,wBAAgB,qBAAqB,CAAC,oBAAoB,GAAE,WAAW,EAAO,GAAG,OAAO,CAOvF;AAED,+FAA+F;AAC/F,wBAAgB,6BAA6B,CACzC,YAAY,CAAC,EAAE,MAAM,EACrB,oBAAoB,GAAE,WAAW,EAAO,GACzC,OAAO,CAMT;AAED,wBAAgB,8BAA8B,CAC1C,UAAU,EAAE,UAAU,EAAE,GAAG,SAAS,EACpC,YAAY,CAAC,EAAE,mBAAmB,GACnC,KAAK,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAGvC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { UserPreferencesKeys } from '@rh-support/react-context';
|
|
2
|
+
import find from 'lodash/find';
|
|
3
|
+
import findKey from 'lodash/findKey';
|
|
4
|
+
import { buildDefaultGroupFilterSelection, getDefaultCaseGroupForFilter } from './caseGroupDefaultUtils';
|
|
5
|
+
export function decodeCaseListUrlFilterQuery(queryFromUrl) {
|
|
6
|
+
if (!queryFromUrl || queryFromUrl === 'undefined') {
|
|
7
|
+
return '';
|
|
8
|
+
}
|
|
9
|
+
try {
|
|
10
|
+
const decoded = decodeURIComponent(queryFromUrl);
|
|
11
|
+
const [urlQuery] = decoded.split(/ orderBy /i);
|
|
12
|
+
return urlQuery && urlQuery !== 'undefined' ? urlQuery.trim() : '';
|
|
13
|
+
}
|
|
14
|
+
catch (_a) {
|
|
15
|
+
const [urlQuery] = queryFromUrl.split(/ orderBy /i);
|
|
16
|
+
return urlQuery && urlQuery !== 'undefined' ? urlQuery.trim() : '';
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
export function hasDefaultSavedSearch(hydraUserPreferences = []) {
|
|
20
|
+
const savedSearchPreference = find(hydraUserPreferences, (pref) => pref.key === UserPreferencesKeys.caseSavedSearchFilters);
|
|
21
|
+
const savedSearchesObj = (savedSearchPreference === null || savedSearchPreference === void 0 ? void 0 : savedSearchPreference.value) ? JSON.parse(savedSearchPreference.value) : {};
|
|
22
|
+
return Boolean(findKey(savedSearchesObj, { defaultChecked: true }));
|
|
23
|
+
}
|
|
24
|
+
/** Default group filter applies only when URL and saved-search do not own the filter state. */
|
|
25
|
+
export function shouldApplyDefaultGroupFilter(queryFromUrl, hydraUserPreferences = []) {
|
|
26
|
+
if (decodeCaseListUrlFilterQuery(queryFromUrl)) {
|
|
27
|
+
return false;
|
|
28
|
+
}
|
|
29
|
+
return !hasDefaultSavedSearch(hydraUserPreferences);
|
|
30
|
+
}
|
|
31
|
+
export function getDefaultGroupFilterSelection(caseGroups, loggedInUser) {
|
|
32
|
+
const defaultGroup = getDefaultCaseGroupForFilter(caseGroups, loggedInUser);
|
|
33
|
+
return buildDefaultGroupFilterSelection(defaultGroup);
|
|
34
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ICaseGroup } from '@cee-eng/hydrajs/@types/api/public/caseGroups';
|
|
2
|
+
import type { ILoggedInSsoContact } from '@rh-support/utils';
|
|
3
|
+
/** Resolves the user's default case group from contact preference, falling back to isDefault flags. */
|
|
4
|
+
export declare function getDefaultCaseGroupForFilter(caseGroups: ICaseGroup[] | undefined, loggedInUser?: ILoggedInSsoContact): ICaseGroup | undefined;
|
|
5
|
+
/** Builds the group filter chip/select values for a default case group. */
|
|
6
|
+
export declare function buildDefaultGroupFilterSelection(defaultGroup?: ICaseGroup): Array<{
|
|
7
|
+
key: string;
|
|
8
|
+
value: string;
|
|
9
|
+
}>;
|
|
10
|
+
//# sourceMappingURL=caseGroupDefaultUtils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"caseGroupDefaultUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/caseGroupDefaultUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,+CAA+C,CAAC;AAC3E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAE7D,uGAAuG;AACvG,wBAAgB,4BAA4B,CACxC,UAAU,EAAE,UAAU,EAAE,GAAG,SAAS,EACpC,YAAY,CAAC,EAAE,mBAAmB,GACnC,UAAU,GAAG,SAAS,CAYxB;AAED,2EAA2E;AAC3E,wBAAgB,gCAAgC,CAAC,YAAY,CAAC,EAAE,UAAU,GAAG,KAAK,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAMjH"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/** Resolves the user's default case group from contact preference, falling back to isDefault flags. */
|
|
2
|
+
export function getDefaultCaseGroupForFilter(caseGroups, loggedInUser) {
|
|
3
|
+
var _a;
|
|
4
|
+
const groups = caseGroups || [];
|
|
5
|
+
const defaultCaseGroupId = (_a = loggedInUser === null || loggedInUser === void 0 ? void 0 : loggedInUser.defaultCaseGroup) !== null && _a !== void 0 ? _a : null;
|
|
6
|
+
if (defaultCaseGroupId && defaultCaseGroupId !== '-1') {
|
|
7
|
+
const match = groups.find((group) => group.groupNum === defaultCaseGroupId);
|
|
8
|
+
if (match) {
|
|
9
|
+
return match;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
return groups.find((group) => group.isDefault);
|
|
13
|
+
}
|
|
14
|
+
/** Builds the group filter chip/select values for a default case group. */
|
|
15
|
+
export function buildDefaultGroupFilterSelection(defaultGroup) {
|
|
16
|
+
if (!(defaultGroup === null || defaultGroup === void 0 ? void 0 : defaultGroup.name)) {
|
|
17
|
+
return [];
|
|
18
|
+
}
|
|
19
|
+
return [{ key: defaultGroup.groupNum, value: defaultGroup.name }];
|
|
20
|
+
}
|
|
@@ -14,7 +14,7 @@ export interface IGraphQLCaseListResponse {
|
|
|
14
14
|
endCursor: string | undefined;
|
|
15
15
|
}
|
|
16
16
|
export declare function clearPageCursors(): void;
|
|
17
|
-
export declare function getCaseListFromGraphQL(filterState: ICaseListFilterState, apolloClient: ApolloClient, limitOverride?: number, signal?: AbortSignal, selectedCaseNumbers?: string[]): Promise<IGraphQLCaseListResponse>;
|
|
17
|
+
export declare function getCaseListFromGraphQL(filterState: ICaseListFilterState, apolloClient: ApolloClient, limitOverride?: number, signal?: AbortSignal, selectedCaseNumbers?: string[], includeSecureSupportCases?: boolean): Promise<IGraphQLCaseListResponse>;
|
|
18
18
|
export interface ILoadMoreResult {
|
|
19
19
|
docs: ICaseListItem[];
|
|
20
20
|
hasNextPage: boolean;
|
|
@@ -24,5 +24,5 @@ export interface ILoadMoreResult {
|
|
|
24
24
|
* Fetches the next page of cases for infinite scroll.
|
|
25
25
|
* Uses the provided `afterCursor` instead of the page-based cursor store.
|
|
26
26
|
*/
|
|
27
|
-
export declare function loadMoreCases(filterState: ICaseListFilterState, apolloClient: ApolloClient, afterCursor: string, signal?: AbortSignal): Promise<ILoadMoreResult>;
|
|
27
|
+
export declare function loadMoreCases(filterState: ICaseListFilterState, apolloClient: ApolloClient, afterCursor: string, signal?: AbortSignal, includeSecureSupportCases?: boolean): Promise<ILoadMoreResult>;
|
|
28
28
|
//# sourceMappingURL=caseListGraphQLUtils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"caseListGraphQLUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/caseListGraphQLUtils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAKH,aAAa,EAEhB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,oBAAoB,EAAkB,MAAM,+CAA+C,CAAC;AASrG,MAAM,WAAW,wBAAwB;IACrC,gBAAgB,EAAE;QACd,QAAQ,EAAE;YACN,IAAI,EAAE,aAAa,EAAE,CAAC;YACtB,QAAQ,EAAE,MAAM,CAAC;YACjB,KAAK,EAAE,MAAM,CAAC;SACjB,CAAC;KACL,CAAC;IACF,gBAAgB,EAAE,OAAO,CAAC;IAC1B,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;CACjC;AAwDD,wBAAgB,gBAAgB,IAAI,IAAI,CAEvC;AAkFD,wBAAsB,sBAAsB,CACxC,WAAW,EAAE,oBAAoB,EACjC,YAAY,EAAE,YAAY,EAC1B,aAAa,CAAC,EAAE,MAAM,EACtB,MAAM,CAAC,EAAE,WAAW,EACpB,mBAAmB,CAAC,EAAE,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"caseListGraphQLUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/caseListGraphQLUtils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAKH,aAAa,EAEhB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,oBAAoB,EAAkB,MAAM,+CAA+C,CAAC;AASrG,MAAM,WAAW,wBAAwB;IACrC,gBAAgB,EAAE;QACd,QAAQ,EAAE;YACN,IAAI,EAAE,aAAa,EAAE,CAAC;YACtB,QAAQ,EAAE,MAAM,CAAC;YACjB,KAAK,EAAE,MAAM,CAAC;SACjB,CAAC;KACL,CAAC;IACF,gBAAgB,EAAE,OAAO,CAAC;IAC1B,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;CACjC;AAwDD,wBAAgB,gBAAgB,IAAI,IAAI,CAEvC;AAkFD,wBAAsB,sBAAsB,CACxC,WAAW,EAAE,oBAAoB,EACjC,YAAY,EAAE,YAAY,EAC1B,aAAa,CAAC,EAAE,MAAM,EACtB,MAAM,CAAC,EAAE,WAAW,EACpB,mBAAmB,CAAC,EAAE,MAAM,EAAE,EAC9B,yBAAyB,UAAQ,GAClC,OAAO,CAAC,wBAAwB,CAAC,CA6FnC;AAED,MAAM,WAAW,eAAe;IAC5B,IAAI,EAAE,aAAa,EAAE,CAAC;IACtB,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;CACjC;AAED;;;GAGG;AACH,wBAAsB,aAAa,CAC/B,WAAW,EAAE,oBAAoB,EACjC,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,MAAM,EACnB,MAAM,CAAC,EAAE,WAAW,EACpB,yBAAyB,UAAQ,GAClC,OAAO,CAAC,eAAe,CAAC,CAoD1B"}
|
|
@@ -148,8 +148,8 @@ function resolveVersionProductIds(filterState, apolloClient) {
|
|
|
148
148
|
}
|
|
149
149
|
});
|
|
150
150
|
}
|
|
151
|
-
export function getCaseListFromGraphQL(
|
|
152
|
-
return __awaiter(this,
|
|
151
|
+
export function getCaseListFromGraphQL(filterState_1, apolloClient_1, limitOverride_1, signal_1, selectedCaseNumbers_1) {
|
|
152
|
+
return __awaiter(this, arguments, void 0, function* (filterState, apolloClient, limitOverride, signal, selectedCaseNumbers, includeSecureSupportCases = false) {
|
|
153
153
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
154
154
|
try {
|
|
155
155
|
yield resolveVersionProductIds(filterState, apolloClient);
|
|
@@ -160,7 +160,7 @@ export function getCaseListFromGraphQL(filterState, apolloClient, limitOverride,
|
|
|
160
160
|
const ownerUserIds = yield resolveOwnerIds(federationIdsToResolve, apolloClient);
|
|
161
161
|
resolvedUserIds = { ownerUserIds };
|
|
162
162
|
}
|
|
163
|
-
const variables = yield createGraphQLVariablesFromFilterState(filterState, apolloClient, resolvedUserIds);
|
|
163
|
+
const variables = yield createGraphQLVariablesFromFilterState(filterState, apolloClient, resolvedUserIds, includeSecureSupportCases);
|
|
164
164
|
if (limitOverride) {
|
|
165
165
|
variables.first = limitOverride;
|
|
166
166
|
}
|
|
@@ -237,8 +237,8 @@ export function getCaseListFromGraphQL(filterState, apolloClient, limitOverride,
|
|
|
237
237
|
* Fetches the next page of cases for infinite scroll.
|
|
238
238
|
* Uses the provided `afterCursor` instead of the page-based cursor store.
|
|
239
239
|
*/
|
|
240
|
-
export function loadMoreCases(
|
|
241
|
-
return __awaiter(this,
|
|
240
|
+
export function loadMoreCases(filterState_1, apolloClient_1, afterCursor_1, signal_1) {
|
|
241
|
+
return __awaiter(this, arguments, void 0, function* (filterState, apolloClient, afterCursor, signal, includeSecureSupportCases = false) {
|
|
242
242
|
var _a, _b, _c, _d, _e, _f, _g;
|
|
243
243
|
try {
|
|
244
244
|
yield resolveVersionProductIds(filterState, apolloClient);
|
|
@@ -249,7 +249,7 @@ export function loadMoreCases(filterState, apolloClient, afterCursor, signal) {
|
|
|
249
249
|
const ownerUserIds = yield resolveOwnerIds(federationIdsToResolve, apolloClient);
|
|
250
250
|
resolvedUserIds = { ownerUserIds };
|
|
251
251
|
}
|
|
252
|
-
const variables = yield createGraphQLVariablesFromFilterState(filterState, apolloClient, resolvedUserIds);
|
|
252
|
+
const variables = yield createGraphQLVariablesFromFilterState(filterState, apolloClient, resolvedUserIds, includeSecureSupportCases);
|
|
253
253
|
variables.first = 20;
|
|
254
254
|
variables.after = afterCursor;
|
|
255
255
|
const { data } = yield apolloClient.query({
|
|
@@ -11,5 +11,5 @@ export interface IResolvedUserIds {
|
|
|
11
11
|
/** Pre-resolved OwnerId values (RedHatSupportUser or RedHatSupportGroup). */
|
|
12
12
|
ownerUserIds?: string[];
|
|
13
13
|
}
|
|
14
|
-
export declare function createGraphQLVariablesFromFilterState(filterState: ICaseListFilterState, apolloClient: ApolloClient, resolvedUserIds?: IResolvedUserIds): Promise<IGraphQLCaseListVariables>;
|
|
14
|
+
export declare function createGraphQLVariablesFromFilterState(filterState: ICaseListFilterState, apolloClient: ApolloClient, resolvedUserIds?: IResolvedUserIds, includeSecureSupportCases?: boolean): Promise<IGraphQLCaseListVariables>;
|
|
15
15
|
//# sourceMappingURL=caseListVariablesBuilder.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"caseListVariablesBuilder.d.ts","sourceRoot":"","sources":["../../../src/utils/caseListVariablesBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAcnD,OAAO,EAEH,oBAAoB,EAEvB,MAAM,+CAA+C,CAAC;AAMvD,wBAAgB,8BAA8B,CAAC,WAAW,EAAE,oBAAoB,GAAG,MAAM,EAAE,CAM1F;AAED,MAAM,WAAW,yBAAyB;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACrC;AAED,MAAM,WAAW,gBAAgB;IAC7B,6EAA6E;IAC7E,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAqaD,wBAAsB,qCAAqC,CACvD,WAAW,EAAE,oBAAoB,EACjC,YAAY,EAAE,YAAY,EAC1B,eAAe,CAAC,EAAE,gBAAgB,
|
|
1
|
+
{"version":3,"file":"caseListVariablesBuilder.d.ts","sourceRoot":"","sources":["../../../src/utils/caseListVariablesBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAcnD,OAAO,EAEH,oBAAoB,EAEvB,MAAM,+CAA+C,CAAC;AAMvD,wBAAgB,8BAA8B,CAAC,WAAW,EAAE,oBAAoB,GAAG,MAAM,EAAE,CAM1F;AAED,MAAM,WAAW,yBAAyB;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACrC;AAED,MAAM,WAAW,gBAAgB;IAC7B,6EAA6E;IAC7E,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAqaD,wBAAsB,qCAAqC,CACvD,WAAW,EAAE,oBAAoB,EACjC,YAAY,EAAE,YAAY,EAC1B,eAAe,CAAC,EAAE,gBAAgB,EAClC,yBAAyB,UAAQ,GAClC,OAAO,CAAC,yBAAyB,CAAC,CAuIpC"}
|
|
@@ -393,14 +393,14 @@ function resolveOwnerIdsBySearchTerms(searchTerms, apolloClient) {
|
|
|
393
393
|
return [...new Set([...userIds, ...groupIds])];
|
|
394
394
|
});
|
|
395
395
|
}
|
|
396
|
-
export function createGraphQLVariablesFromFilterState(
|
|
397
|
-
return __awaiter(this,
|
|
396
|
+
export function createGraphQLVariablesFromFilterState(filterState_1, apolloClient_1, resolvedUserIds_1) {
|
|
397
|
+
return __awaiter(this, arguments, void 0, function* (filterState, apolloClient, resolvedUserIds, includeSecureSupportCases = false) {
|
|
398
398
|
var _a;
|
|
399
399
|
const { paginationInfo, sortInfo, filterInfo, filterQueryInfo } = filterState;
|
|
400
400
|
const first = (paginationInfo === null || paginationInfo === void 0 ? void 0 : paginationInfo.pageSize) || 10;
|
|
401
401
|
const orderBy = buildOrderByFromSortInfo(sortInfo);
|
|
402
402
|
const andConditions = [];
|
|
403
|
-
andConditions.push(buildAccessRestrictionExclusionFilter());
|
|
403
|
+
andConditions.push(buildAccessRestrictionExclusionFilter(includeSecureSupportCases));
|
|
404
404
|
if (filterInfo) {
|
|
405
405
|
const statusFilter = buildStatusFilter(filterInfo[SolrKeys.status]);
|
|
406
406
|
if (statusFilter)
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rh-support/cases",
|
|
3
|
-
"version": "2.6.
|
|
3
|
+
"version": "2.6.217",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public",
|
|
6
6
|
"registry": "https://registry.npmjs.org"
|
|
@@ -38,11 +38,11 @@
|
|
|
38
38
|
"@patternfly/patternfly": "6.2.1",
|
|
39
39
|
"@patternfly/react-core": "6.2.1",
|
|
40
40
|
"@patternfly/react-table": "6.2.1",
|
|
41
|
-
"@rh-support/components": "2.5.
|
|
42
|
-
"@rh-support/react-context": "2.5.
|
|
41
|
+
"@rh-support/components": "2.5.212",
|
|
42
|
+
"@rh-support/react-context": "2.5.307",
|
|
43
43
|
"@rh-support/types": "2.0.26",
|
|
44
|
-
"@rh-support/user-permissions": "2.5.
|
|
45
|
-
"@rh-support/utils": "2.5.
|
|
44
|
+
"@rh-support/user-permissions": "2.5.159",
|
|
45
|
+
"@rh-support/utils": "2.5.140",
|
|
46
46
|
"localforage": "^1.10.0",
|
|
47
47
|
"lodash": "^4.17.21",
|
|
48
48
|
"pegjs": "^0.10.0",
|
|
@@ -94,5 +94,5 @@
|
|
|
94
94
|
"defaults and supports es6-module",
|
|
95
95
|
"maintained node versions"
|
|
96
96
|
],
|
|
97
|
-
"gitHead": "
|
|
97
|
+
"gitHead": "17800786cdf0c0d37d25324bf52c1a2a674f19fe"
|
|
98
98
|
}
|