@rh-support/cases 2.4.10-beta.6 → 2.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -0
- package/lib/esm/components/case/NewCaseButton.d.ts +2 -1
- package/lib/esm/components/case/NewCaseButton.d.ts.map +1 -1
- package/lib/esm/components/case-list/CaseList.d.ts +4 -3
- package/lib/esm/components/case-list/CaseList.d.ts.map +1 -1
- package/lib/esm/components/case-list/CaseList.js +42 -44
- package/lib/esm/components/case-list/CaseListContext.d.ts +1 -1
- package/lib/esm/components/case-list/CaseListContext.d.ts.map +1 -1
- package/lib/esm/components/case-list/CaseListFilterContext.d.ts +1 -1
- package/lib/esm/components/case-list/CaseListFilterContext.d.ts.map +1 -1
- package/lib/esm/components/case-list/CaseListFilterHelpers.d.ts.map +1 -1
- package/lib/esm/components/case-list/CaseListFilterReducer.d.ts +6 -3
- package/lib/esm/components/case-list/CaseListFilterReducer.d.ts.map +1 -1
- package/lib/esm/components/case-list/CaseListFilterReducer.js +3 -0
- package/lib/esm/components/case-list/CaseListReducer.d.ts +2 -2
- package/lib/esm/components/case-list/CaseListReducer.d.ts.map +1 -1
- package/lib/esm/components/case-list/case-list-filters/AccountsBookmarkedGroupFilter.d.ts +3 -2
- package/lib/esm/components/case-list/case-list-filters/AccountsBookmarkedGroupFilter.d.ts.map +1 -1
- package/lib/esm/components/case-list/case-list-filters/AccountsBookmarkedGroupFilter.js +25 -11
- package/lib/esm/components/case-list/case-list-filters/AccountsFilter.d.ts +2 -1
- package/lib/esm/components/case-list/case-list-filters/AccountsFilter.d.ts.map +1 -1
- package/lib/esm/components/case-list/case-list-filters/AccountsFilter.js +10 -5
- package/lib/esm/components/case-list/case-list-filters/AdditionalFilters.d.ts +2 -1
- package/lib/esm/components/case-list/case-list-filters/AdditionalFilters.d.ts.map +1 -1
- package/lib/esm/components/case-list/case-list-filters/AdditionalFilters.js +19 -4
- package/lib/esm/components/case-list/case-list-filters/CaseListFilterChips.d.ts +2 -1
- package/lib/esm/components/case-list/case-list-filters/CaseListFilterChips.d.ts.map +1 -1
- package/lib/esm/components/case-list/case-list-filters/CaseListFilterChips.js +1 -1
- package/lib/esm/components/case-list/case-list-filters/CaseListFilters.d.ts +2 -1
- package/lib/esm/components/case-list/case-list-filters/CaseListFilters.d.ts.map +1 -1
- package/lib/esm/components/case-list/case-list-filters/CreatorSsoNameFilter.d.ts +12 -1
- package/lib/esm/components/case-list/case-list-filters/CreatorSsoNameFilter.d.ts.map +1 -1
- package/lib/esm/components/case-list/case-list-filters/CreatorSsoNameFilter.js +138 -163
- package/lib/esm/components/case-list/case-list-filters/CreatorSsoNameFilterChip.d.ts +2 -1
- package/lib/esm/components/case-list/case-list-filters/CreatorSsoNameFilterChip.d.ts.map +1 -1
- package/lib/esm/components/case-list/case-list-filters/CreatorSsoNameFilterChip.js +1 -1
- package/lib/esm/components/case-list/case-list-filters/GroupsFilter.d.ts +2 -1
- package/lib/esm/components/case-list/case-list-filters/GroupsFilter.d.ts.map +1 -1
- package/lib/esm/components/case-list/case-list-filters/GroupsFilter.js +157 -27
- package/lib/esm/components/case-list/case-list-filters/InternalSsoNameFilter.d.ts +3 -0
- package/lib/esm/components/case-list/case-list-filters/InternalSsoNameFilter.d.ts.map +1 -0
- package/lib/esm/components/case-list/case-list-filters/InternalSsoNameFilter.js +207 -0
- package/lib/esm/components/case-list/case-list-filters/ProductFilterChip.d.ts +2 -1
- package/lib/esm/components/case-list/case-list-filters/ProductFilterChip.d.ts.map +1 -1
- package/lib/esm/components/case-list/case-list-filters/ProductFilterChip.js +1 -1
- package/lib/esm/components/case-list/case-list-filters/ProductsFilter.d.ts +2 -1
- package/lib/esm/components/case-list/case-list-filters/ProductsFilter.d.ts.map +1 -1
- package/lib/esm/components/case-list/case-list-filters/ProductsFilter.js +7 -5
- package/lib/esm/components/case-list/case-list-filters/SeverityFilter.d.ts +2 -1
- package/lib/esm/components/case-list/case-list-filters/SeverityFilter.d.ts.map +1 -1
- package/lib/esm/components/case-list/case-list-filters/SeverityFilter.js +4 -4
- package/lib/esm/components/case-list/case-list-filters/StatusFilter.d.ts +2 -1
- package/lib/esm/components/case-list/case-list-filters/StatusFilter.d.ts.map +1 -1
- package/lib/esm/components/case-list/case-list-filters/StatusFilter.js +4 -4
- package/lib/esm/components/case-list/case-list-filters/TypeFilter.d.ts +2 -1
- package/lib/esm/components/case-list/case-list-filters/TypeFilter.d.ts.map +1 -1
- package/lib/esm/components/case-list/case-list-filters/TypeFilter.js +3 -3
- package/lib/esm/components/case-list/case-list-filters/VersionsFilter.d.ts +2 -1
- package/lib/esm/components/case-list/case-list-filters/VersionsFilter.d.ts.map +1 -1
- package/lib/esm/components/case-list/case-list-filters/VersionsFilter.js +35 -4
- package/lib/esm/components/case-list/case-list-table/CaseListTable.d.ts +2 -1
- package/lib/esm/components/case-list/case-list-table/CaseListTable.d.ts.map +1 -1
- package/lib/esm/components/case-list/case-list-table/CaseListTable.js +211 -113
- package/lib/esm/components/case-list/case-list-table/CloseCaseBtn.d.ts +2 -1
- package/lib/esm/components/case-list/case-list-table/CloseCaseBtn.d.ts.map +1 -1
- package/lib/esm/components/case-list/case-list-table/CloseCaseBtn.js +7 -2
- package/lib/esm/components/case-list/case-list-table/DownloadCSVFileModal.d.ts +19 -0
- package/lib/esm/components/case-list/case-list-table/DownloadCSVFileModal.d.ts.map +1 -0
- package/lib/esm/components/case-list/case-list-table/DownloadCSVFileModal.js +296 -0
- package/lib/esm/components/case-list/case-list-table/DownloadCSVFileModal.scss +27 -0
- package/lib/esm/components/case-list/case-list-table/ExportCaseListCSV.d.ts +3 -1
- package/lib/esm/components/case-list/case-list-table/ExportCaseListCSV.d.ts.map +1 -1
- package/lib/esm/components/case-list/case-list-table/ExportCaseListCSV.js +19 -96
- package/lib/esm/components/case-list/case-list-table/SeverityLabel.d.ts +2 -1
- package/lib/esm/components/case-list/case-list-table/SeverityLabel.d.ts.map +1 -1
- package/lib/esm/components/case-list/case-list-table/table-column-selector/TableColumnSelector.d.ts +9 -0
- package/lib/esm/components/case-list/case-list-table/table-column-selector/TableColumnSelector.d.ts.map +1 -0
- package/lib/esm/components/case-list/case-list-table/table-column-selector/TableColumnSelector.js +53 -0
- package/lib/esm/components/case-list/case-list-table/table-column-selector/TableColumnSelector.scss +7 -0
- package/lib/esm/components/case-list/case-search/AdvanceSearch.d.ts +2 -1
- package/lib/esm/components/case-list/case-search/AdvanceSearch.d.ts.map +1 -1
- package/lib/esm/components/case-list/case-search/AdvanceSearch.js +18 -13
- package/lib/esm/components/case-list/case-search/BookmarkedSearchesSelector.d.ts +2 -1
- package/lib/esm/components/case-list/case-search/BookmarkedSearchesSelector.d.ts.map +1 -1
- package/lib/esm/components/case-list/case-search/BookmarkedSearchesSelector.js +7 -6
- package/lib/esm/components/case-list/case-search/CaseSearch.d.ts +2 -1
- package/lib/esm/components/case-list/case-search/CaseSearch.d.ts.map +1 -1
- package/lib/esm/components/case-list/case-search/CaseSearch.js +2 -2
- package/lib/esm/components/case-list/case-search/SaveCaseSearchModal.d.ts +2 -1
- package/lib/esm/components/case-list/case-search/SaveCaseSearchModal.d.ts.map +1 -1
- package/lib/esm/components/case-list/case-search/SaveCaseSearchModal.js +48 -40
- package/lib/esm/components/case-list/case-search/useAdvanceSearchParser.js +1 -1
- package/lib/esm/components/escalations/EscalationForm.d.ts +1 -1
- package/lib/esm/components/escalations/EscalationForm.d.ts.map +1 -1
- package/lib/esm/components/escalations/EscalationForm.js +18 -9
- package/lib/esm/components/escalations/PartnerEscalation.d.ts +2 -1
- package/lib/esm/components/escalations/PartnerEscalation.d.ts.map +1 -1
- package/lib/esm/components/index.d.ts +2 -8
- package/lib/esm/components/index.d.ts.map +1 -1
- package/lib/esm/components/index.js +5 -8
- package/lib/esm/css/caseList.css +85 -64
- package/lib/esm/css/caseSearch.css +1 -1
- package/lib/esm/css/escalation.css +4 -4
- package/lib/esm/enums/cache.d.ts +1 -1
- package/lib/esm/enums/cache.d.ts.map +1 -1
- package/lib/esm/enums/case.js +1 -1
- package/lib/esm/enums/filters.d.ts +1 -1
- package/lib/esm/enums/filters.d.ts.map +1 -1
- package/lib/esm/enums/filters.js +1 -1
- package/lib/esm/i18n/template-es.js +1 -1
- package/lib/esm/index.d.ts +0 -2
- package/lib/esm/index.d.ts.map +1 -1
- package/lib/esm/index.js +0 -2
- package/lib/esm/models/caseList.d.ts +5 -2
- package/lib/esm/models/caseList.d.ts.map +1 -1
- package/lib/esm/scss/_main.scss +11 -11
- package/lib/esm/scss/_pf-overrides.scss +40 -4
- package/lib/esm/scss/index.scss +0 -1
- package/lib/esm/test-utils/testSetup.d.ts +1 -1
- package/lib/esm/test-utils/testSetup.d.ts.map +1 -1
- package/lib/esm/test-utils/testSetup.js +1 -1
- package/lib/esm/test-utils/testUtils.d.ts +1 -1
- package/lib/esm/test-utils/testUtils.js +1 -1
- package/lib/esm/utils/caseListUtils.js +3 -3
- package/lib/esm/utils/caseSearchUtils.d.ts +3 -3
- package/lib/esm/utils/caseSearchUtils.d.ts.map +1 -1
- package/lib/esm/utils/caseSearchUtils.js +18 -5
- package/lib/esm/utils/constants.js +1 -1
- package/lib/esm/utils/routeUtils.js +2 -1
- package/package.json +35 -32
package/README.md
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
+
import React from 'react';
|
|
1
2
|
import { RouteComponentProps } from 'react-router-dom';
|
|
2
3
|
import { ICasesRouteURLParams } from '../index';
|
|
3
4
|
interface IProps {
|
|
4
5
|
routeProps: RouteComponentProps<ICasesRouteURLParams>;
|
|
5
6
|
}
|
|
6
|
-
export declare function NewCaseButton(props: IProps): JSX.Element;
|
|
7
|
+
export declare function NewCaseButton(props: IProps): React.JSX.Element;
|
|
7
8
|
export {};
|
|
8
9
|
//# sourceMappingURL=NewCaseButton.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NewCaseButton.d.ts","sourceRoot":"","sources":["../../../../src/components/case/NewCaseButton.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"NewCaseButton.d.ts","sourceRoot":"","sources":["../../../../src/components/case/NewCaseButton.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAEhD,UAAU,MAAM;IACZ,UAAU,EAAE,mBAAmB,CAAC,oBAAoB,CAAC,CAAC;CACzD;AACD,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,qBA0B1C"}
|
|
@@ -2,7 +2,8 @@ import '../../css/caseList.css';
|
|
|
2
2
|
import '../../css/caseSearch.css';
|
|
3
3
|
import { IFacetResponse } from '@rh-support/types/shared';
|
|
4
4
|
import { ISolrResponseToPivotFields } from '@rh-support/utils';
|
|
5
|
-
import
|
|
5
|
+
import React from 'react';
|
|
6
|
+
import { RouteComponentProps } from 'react-router-dom';
|
|
6
7
|
import { ICasesRouteURLParams } from '..';
|
|
7
8
|
import { IFacetPivot } from '../../models/caseList';
|
|
8
9
|
interface IProps {
|
|
@@ -11,7 +12,7 @@ interface IProps {
|
|
|
11
12
|
export interface IProductVersionPivotMap extends IFacetResponse {
|
|
12
13
|
case_version: IFacetResponse[];
|
|
13
14
|
}
|
|
14
|
-
export
|
|
15
|
+
export type IPivotValues = ISolrResponseToPivotFields<IFacetPivot, IProductVersionPivotMap>;
|
|
15
16
|
export interface IChipsNameSsoMap {
|
|
16
17
|
[sso: string]: IChipsNameSso;
|
|
17
18
|
}
|
|
@@ -22,6 +23,6 @@ export interface IChipsNameSso {
|
|
|
22
23
|
lastNameCustom: string;
|
|
23
24
|
fullNameCustom: string;
|
|
24
25
|
}
|
|
25
|
-
export declare function CaseList(props: IProps): JSX.Element;
|
|
26
|
+
export declare function CaseList(props: IProps): React.JSX.Element;
|
|
26
27
|
export {};
|
|
27
28
|
//# sourceMappingURL=CaseList.d.ts.map
|
|
@@ -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;AA+BlC,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,qBAugBrC"}
|
|
@@ -15,7 +15,7 @@ import AngleDoubleLeftIcon from '@patternfly/react-icons/dist/js/icons/angle-dou
|
|
|
15
15
|
import AngleDoubleRightIcon from '@patternfly/react-icons/dist/js/icons/angle-double-right-icon';
|
|
16
16
|
import AngleDoubleUpIcon from '@patternfly/react-icons/dist/js/icons/angle-double-up-icon';
|
|
17
17
|
import { ErrorBoundary, ToastNotification, useBreakpoint, useDocumentTitle, useForceUpdate, usePrevious, } from '@rh-support/components';
|
|
18
|
-
import { fetchAllStatuses, fetchCaseGroupsForSSO, fetchCaseSeverities, fetchCaseTypes, fetchProducts, GlobalMetadataDispatchContext, GlobalMetadataStateContext, setUserPreferences, updateUserPreferences, UserPreferencesKeys, } from '@rh-support/react-context';
|
|
18
|
+
import { CSSUserModal, fetchAllStatuses, fetchCaseGroupsForSSO, fetchCaseSeverities, fetchCaseTypes, fetchProducts, GlobalMetadataDispatchContext, GlobalMetadataStateContext, setUserPreferences, updateCaseListTraditionalSupportAgreed, updateUserPreferences, useGlobalDispatchContext, UserPreferencesKeys, } from '@rh-support/react-context';
|
|
19
19
|
import { getStringifiedParams, getUrlParsedParams, haventLoadedMetadata, haventLoadedProductsMetadata, pendoTrackEvent, solrResponseToFacetFields, solrResponseToPivotFields, } from '@rh-support/utils';
|
|
20
20
|
import get from 'lodash/get';
|
|
21
21
|
import isEmpty from 'lodash/isEmpty';
|
|
@@ -23,7 +23,7 @@ import mapValues from 'lodash/mapValues';
|
|
|
23
23
|
import some from 'lodash/some';
|
|
24
24
|
import React, { useContext, useEffect, useRef, useState } from 'react';
|
|
25
25
|
import { Trans, useTranslation } from 'react-i18next';
|
|
26
|
-
import { useLocation } from 'react-router';
|
|
26
|
+
import { useLocation } from 'react-router-dom';
|
|
27
27
|
import { CaseSearchQueryType } from '../../enums/caseSearch';
|
|
28
28
|
import { SolrPivotKeys } from '../../enums/filters';
|
|
29
29
|
import { PageTitle } from '../../enums/pageTitle';
|
|
@@ -49,7 +49,8 @@ export function CaseList(props) {
|
|
|
49
49
|
const { caseList, pivotValues, isFetching, filterValuesFromFacetResponse, currentQuery } = useCaseListStateContext();
|
|
50
50
|
const CaseListDispatch = useCaseListDispatchContext();
|
|
51
51
|
const breakPoint = useBreakpoint();
|
|
52
|
-
const { globalMetadataState, globalMetadataState: { caseGroups, loggedInUserJwtToken, loggedInUserRights, loggedInUsersAccount, userPreferences, managedAccounts, bookmarkedAccounts,
|
|
52
|
+
const { globalMetadataState, globalMetadataState: { caseGroups, loggedInUserJwtToken, loggedInUserRights, loggedInUsersAccount, userPreferences, managedAccounts, bookmarkedAccounts, allCaseTypes, allCaseSeverities, allCaseStatuses, allProducts, caseListTraditionalSupportAgreed, }, } = useContext(GlobalMetadataStateContext);
|
|
53
|
+
const globalDispatchContext = useGlobalDispatchContext();
|
|
53
54
|
const location = useLocation();
|
|
54
55
|
const searchParams = getUrlParsedParams(location.search);
|
|
55
56
|
const queryFromUrl = searchParams[FILTER_URL_QUERY_SEARCH_PARAM];
|
|
@@ -65,7 +66,8 @@ export function CaseList(props) {
|
|
|
65
66
|
const forceUpdate = useForceUpdate();
|
|
66
67
|
const isCaseListFilterPanelExanded = userPreferences.data.isCaseListFilterPanelExanded;
|
|
67
68
|
const useFilterStateInit = useFilterStateOnLoad();
|
|
68
|
-
const isBasicSearchMode = filterState.filterQueryInfo.type === CaseSearchQueryType.BASIC
|
|
69
|
+
const isBasicSearchMode = filterState.filterQueryInfo.type === CaseSearchQueryType.BASIC ||
|
|
70
|
+
(filterState.filterQueryInfo.type === CaseSearchQueryType.ADVANCED && loggedInUserRights.data.isExternal());
|
|
69
71
|
const prevSearchType = usePrevious(filterState.filterQueryInfo.type);
|
|
70
72
|
let isSearchTypeChanged = filterState.filterQueryInfo.type !== prevSearchType;
|
|
71
73
|
const [hasError, setHasError] = useState(null);
|
|
@@ -213,7 +215,7 @@ export function CaseList(props) {
|
|
|
213
215
|
]);
|
|
214
216
|
// effect to update url query and call get case api whenever filter state changes
|
|
215
217
|
useEffect(() => {
|
|
216
|
-
var _a;
|
|
218
|
+
var _a, _b, _c;
|
|
217
219
|
if (!isFirstMount.current) {
|
|
218
220
|
const urlQuery = (isNoFilterApplied(filterState) || isOnlyDefaultFilterApplied(filterState)) &&
|
|
219
221
|
!((_a = filterState.filterQueryInfo) === null || _a === void 0 ? void 0 : _a.queryString) &&
|
|
@@ -222,8 +224,8 @@ export function CaseList(props) {
|
|
|
222
224
|
: createURLQueryFromFilterState(filterState);
|
|
223
225
|
setCurrentQuery(CaseListDispatch, urlQuery);
|
|
224
226
|
searchParams[FILTER_URL_QUERY_SEARCH_PARAM] = encodeURIComponent(urlQuery);
|
|
225
|
-
searchParams[FILTER_URL_CURRENT_PAGE_SEARCH_PARAM] = filterState.paginationInfo.currentPage;
|
|
226
|
-
searchParams[FILTER_URL_PAGE_SIZE_SEARCH_PARAM] = filterState.paginationInfo.pageSize;
|
|
227
|
+
searchParams[FILTER_URL_CURRENT_PAGE_SEARCH_PARAM] = (_b = filterState.paginationInfo) === null || _b === void 0 ? void 0 : _b.currentPage.toString();
|
|
228
|
+
searchParams[FILTER_URL_PAGE_SIZE_SEARCH_PARAM] = (_c = filterState.paginationInfo) === null || _c === void 0 ? void 0 : _c.pageSize.toString();
|
|
227
229
|
searchParams[FILTER_URL_QUERY_TYPE] = filterState.filterQueryInfo.type;
|
|
228
230
|
props.routeProps.history.push({
|
|
229
231
|
search: getStringifiedParams(searchParams),
|
|
@@ -242,8 +244,7 @@ export function CaseList(props) {
|
|
|
242
244
|
}, [filterState]);
|
|
243
245
|
// effect to fetch case list on load and changing url manually
|
|
244
246
|
useEffect(() => {
|
|
245
|
-
if (
|
|
246
|
-
bookmarkedAccounts.isFetching ||
|
|
247
|
+
if (bookmarkedAccounts.isFetching ||
|
|
247
248
|
managedAccounts.isFetching ||
|
|
248
249
|
caseGroups.isFetching ||
|
|
249
250
|
caseGroups.data === undefined)
|
|
@@ -280,6 +281,7 @@ export function CaseList(props) {
|
|
|
280
281
|
}
|
|
281
282
|
// set filter state based on url or default saved search
|
|
282
283
|
const { initFilterState, defaultSearchName } = useFilterStateInit.set(decodeURIComponent(queryFromUrl), pageSizeFromUrl, currentPageFromUrl, searchType);
|
|
284
|
+
// to set default saved search name
|
|
283
285
|
setDefaultSavedSearchName(defaultSearchName);
|
|
284
286
|
// set default params when they are empty
|
|
285
287
|
if (!queryFromUrl) {
|
|
@@ -291,15 +293,7 @@ export function CaseList(props) {
|
|
|
291
293
|
updateFilterState(filterDispatch, initFilterState);
|
|
292
294
|
}
|
|
293
295
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
294
|
-
}, [
|
|
295
|
-
managedAccounts,
|
|
296
|
-
bookmarkedAccounts,
|
|
297
|
-
bookmarkedGroupAccounts,
|
|
298
|
-
caseGroups,
|
|
299
|
-
queryFromUrl,
|
|
300
|
-
pageSizeFromUrl,
|
|
301
|
-
currentPageFromUrl,
|
|
302
|
-
]);
|
|
296
|
+
}, [managedAccounts, bookmarkedAccounts, caseGroups, queryFromUrl, pageSizeFromUrl, currentPageFromUrl]);
|
|
303
297
|
// effect to initially set the filter state to expanded and when we switch from advanced to basic mode
|
|
304
298
|
useEffect(() => {
|
|
305
299
|
// currently there is no easy way to set the panel as expanded on initial load
|
|
@@ -307,6 +301,9 @@ export function CaseList(props) {
|
|
|
307
301
|
isCaseListFilterPanelExanded && isXLScreen && isBasicSearchMode && toggleFilterSection(true);
|
|
308
302
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
309
303
|
}, [isBasicSearchMode]);
|
|
304
|
+
const onConfirmTraditionalSupportAgreement = () => {
|
|
305
|
+
updateCaseListTraditionalSupportAgreed(globalDispatchContext, true);
|
|
306
|
+
};
|
|
310
307
|
const displayRHCDAlert = () => {
|
|
311
308
|
const openClosedCopy = `Only showing cases that were ${RHCDValue} during the selected time range specified in
|
|
312
309
|
Customer Dashboard. Case counts may vary slightly based on data retention and availability
|
|
@@ -326,34 +323,35 @@ export function CaseList(props) {
|
|
|
326
323
|
isCaseListFilterPanelExanded && (isXLScreen ? toggleFilterSection(true) : toggleFilterSection(false));
|
|
327
324
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
328
325
|
}, [breakPoint]);
|
|
329
|
-
return (React.createElement(
|
|
330
|
-
|
|
331
|
-
|
|
326
|
+
return (React.createElement(React.Fragment, null,
|
|
327
|
+
React.createElement(CSSUserModal, { onConfirmTraditionalSupportAgreement: onConfirmTraditionalSupportAgreement, display: !caseListTraditionalSupportAgreed }),
|
|
328
|
+
React.createElement("article", { id: "rh-support-cases", className: "cases-main" },
|
|
329
|
+
isSolrSearchDown && (React.createElement(Alert, { isInline: true, variant: AlertVariant.warning, component: "p", title: React.createElement(Trans, null,
|
|
332
330
|
"Case search is working with limited functionality. Please check",
|
|
333
331
|
' ',
|
|
334
332
|
React.createElement("a", { href: "https://status.redhat.com", target: "_blank", rel: "noreferrer", "data-tracking-id": "caselist-redirect-status-page" }, "status page"),
|
|
335
333
|
' ',
|
|
336
|
-
"for details.") }))
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
334
|
+
"for details.") })),
|
|
335
|
+
React.createElement("section", { className: "case-search-top" },
|
|
336
|
+
!isEmpty(RHCDValue) && isRHCDAlertShown && React.createElement("div", { className: "push-bottom" }, displayRHCDAlert()),
|
|
337
|
+
React.createElement("div", { className: "search-wrapper" },
|
|
338
|
+
React.createElement("div", { className: "open-case" },
|
|
339
|
+
React.createElement(NewCaseButton, { routeProps: props.routeProps })),
|
|
340
|
+
React.createElement(ErrorBoundary, { errorMsgInfo: { message: t('There was an error loading case search input') } },
|
|
341
|
+
React.createElement(CaseSearch, { defaultSavedSearchName: defaultSavedSearchName }))),
|
|
342
|
+
isBasicSearchMode && (React.createElement(ErrorBoundary, { errorMsgInfo: { message: t('There was an error loading filter chips') } },
|
|
343
|
+
React.createElement(CaseListFilterChips, { productVersionPivotValues: get(pivotValues, SolrPivotKeys.product_version, []), isSolrSearchDown: isSolrSearchDown })))),
|
|
344
|
+
React.createElement("section", { className: "case-search-bottom" },
|
|
345
|
+
isBasicSearchMode && (React.createElement("aside", { className: `case-search-filters ${((_a = filterSectionRef.current) === null || _a === void 0 ? void 0 : _a.expanded) ? '' : 'collapsed'}` },
|
|
346
|
+
React.createElement("h2", { className: "filter-header" }, ((_b = filterSectionRef.current) === null || _b === void 0 ? void 0 : _b.expanded) ? (React.createElement(React.Fragment, null,
|
|
347
|
+
React.createElement(Button, { variant: "link", isActive: true, title: t('Collapse filter section'), "data-tracking-id": "collapse-case-list-filter", onClick: onToggleFilterBtnClick, iconPosition: "right", icon: isXLScreen ? React.createElement(AngleDoubleLeftIcon, null) : React.createElement(AngleDoubleUpIcon, null) },
|
|
348
|
+
React.createElement("span", null,
|
|
349
|
+
React.createElement(Trans, null, "Filters"))))) : (React.createElement(Button, { variant: "link", isActive: false, title: t('Expand filter section'), "data-tracking-id": "expand-case-list-filter", onClick: onToggleFilterBtnClick, iconPosition: "right", icon: isXLScreen ? React.createElement(AngleDoubleRightIcon, null) : React.createElement(AngleDoubleDownIcon, null) }, isXLScreen ? null : (React.createElement("span", null,
|
|
350
|
+
React.createElement(Trans, null, "Filters")))))),
|
|
351
|
+
React.createElement("div", { className: "filter-wrapper" },
|
|
352
|
+
React.createElement("pfe-collapse-panel", { id: "case-filters-panel", "pfe-animation": "false", ref: filterSectionRef },
|
|
353
|
+
React.createElement(ErrorBoundary, { errorMsgInfo: { message: t('There was an error loading filters') } },
|
|
354
|
+
React.createElement(CaseListFilters, { filterValues: filterValuesFromFacetResponse, allCaseTypes: allCaseTypes, allCaseStatuses: allCaseStatuses, allCaseSeverities: allCaseSeverities, allProducts: allProducts, isSolrSearchDown: isSolrSearchDown })))))),
|
|
355
|
+
React.createElement("section", { className: "case-search-table" },
|
|
356
|
+
React.createElement(CaseListTable, { caseList: caseList, caseGroups: caseGroups.data || [], loggedInUserRights: loggedInUserRights.data, sortInfo: filterState.sortInfo, paginationInfo: filterState.paginationInfo, isCaseListPageLoading: isFetching, hasError: hasError, isSolrDown: isSolrSearchDown }))))));
|
|
359
357
|
}
|
|
@@ -7,6 +7,6 @@ declare const useCaseListStateContext: () => ICaseListState;
|
|
|
7
7
|
declare const useCaseListDispatchContext: () => CaseListDispatchType;
|
|
8
8
|
declare function CaseListProvider({ children }: {
|
|
9
9
|
children: any;
|
|
10
|
-
}): JSX.Element;
|
|
10
|
+
}): React.JSX.Element;
|
|
11
11
|
export { CaseListStateContext, CaseListDispatchContext, CaseListProvider, useCaseListStateContext, useCaseListDispatchContext, };
|
|
12
12
|
//# sourceMappingURL=CaseListContext.d.ts.map
|
|
@@ -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,cAWlC,CAAC;AAIF,QAAA,MAAM,oBAAoB,+BAA4C,CAAC;AACvE,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,
|
|
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;AACvE,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"}
|
|
@@ -7,6 +7,6 @@ declare const CaseListFilterStateContext: React.Context<ICaseListFilterState>;
|
|
|
7
7
|
declare const CaseListFilterDispatchContext: React.Context<CaseListFilterDispatchType>;
|
|
8
8
|
declare function CaseListFilterProvider({ children }: {
|
|
9
9
|
children: any;
|
|
10
|
-
}): JSX.Element;
|
|
10
|
+
}): React.JSX.Element;
|
|
11
11
|
export { CaseListFilterStateContext, CaseListFilterDispatchContext, CaseListFilterProvider, initialPaginationInfo, initialSortInfo, };
|
|
12
12
|
//# sourceMappingURL=CaseListFilterContext.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CaseListFilterContext.d.ts","sourceRoot":"","sources":["../../../../src/components/case-list/CaseListFilterContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EACH,0BAA0B,EAE1B,oBAAoB,EAGpB,eAAe,EACf,SAAS,EACZ,MAAM,yBAAyB,CAAC;AAEjC,QAAA,MAAM,qBAAqB,EAAE,eAG5B,CAAC;AAEF,QAAA,MAAM,eAAe,EAAE,SAGtB,CAAC;AAQF,eAAO,MAAM,sBAAsB,EAAE,oBAKpC,CAAC;AAIF,QAAA,MAAM,0BAA0B,qCAA8C,CAAC;AAC/E,QAAA,MAAM,6BAA6B,2CAAyE,CAAC;AAE7G,iBAAS,sBAAsB,CAAC,EAAE,QAAQ,EAAE;;CAAA,
|
|
1
|
+
{"version":3,"file":"CaseListFilterContext.d.ts","sourceRoot":"","sources":["../../../../src/components/case-list/CaseListFilterContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EACH,0BAA0B,EAE1B,oBAAoB,EAGpB,eAAe,EACf,SAAS,EACZ,MAAM,yBAAyB,CAAC;AAEjC,QAAA,MAAM,qBAAqB,EAAE,eAG5B,CAAC;AAEF,QAAA,MAAM,eAAe,EAAE,SAGtB,CAAC;AAQF,eAAO,MAAM,sBAAsB,EAAE,oBAKpC,CAAC;AAIF,QAAA,MAAM,0BAA0B,qCAA8C,CAAC;AAC/E,QAAA,MAAM,6BAA6B,2CAAyE,CAAC;AAE7G,iBAAS,sBAAsB,CAAC,EAAE,QAAQ,EAAE;;CAAA,qBAO3C;AAED,OAAO,EACH,0BAA0B,EAC1B,6BAA6B,EAC7B,sBAAsB,EACtB,qBAAqB,EACrB,eAAe,GAClB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CaseListFilterHelpers.d.ts","sourceRoot":"","sources":["../../../../src/components/case-list/CaseListFilterHelpers.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAgB,oBAAoB,EAAE,WAAW,EAAqB,MAAM,yBAAyB,CAAC;AAW7G,iBAAS,mBAAmB,CAAC,OAAO,KAAK,WAExC;AAED,QAAA,MAAM,iBAAiB,gBAAiB,oBAAoB,YAE3D,CAAC;AAEF,QAAA,MAAM,0BAA0B,gBAAiB,oBAAoB,YAEpE,CAAC;AAEF,QAAA,MAAM,qCAAqC,oBAA0B,
|
|
1
|
+
{"version":3,"file":"CaseListFilterHelpers.d.ts","sourceRoot":"","sources":["../../../../src/components/case-list/CaseListFilterHelpers.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAgB,oBAAoB,EAAE,WAAW,EAAqB,MAAM,yBAAyB,CAAC;AAW7G,iBAAS,mBAAmB,CAAC,OAAO,KAAK,WAExC;AAED,QAAA,MAAM,iBAAiB,gBAAiB,oBAAoB,YAE3D,CAAC;AAEF,QAAA,MAAM,0BAA0B,gBAAiB,oBAAoB,YAEpE,CAAC;AAEF,QAAA,MAAM,qCAAqC,oBAA0B,OAAO,CAAC,WAAW,CAAC,YAGxF,CAAC;AAaF,QAAA,MAAM,wBAAwB,eAAgB,OAAO,CAAC,WAAW,CAAC,YAMjE,CAAC;AAEF,QAAA,MAAM,kBAAkB,eAAgB,OAAO,CAAC,WAAW,CAAC,YAG3D,CAAC;AAEF,QAAA,MAAM,uBAAuB,gBAAiB,oBAAoB,YAOjE,CAAC;AAEF,QAAA,MAAM,gCAAgC,8BAAsE,CAAC;AAC7G,QAAA,MAAM,iCAAiC,YAAmB,CAAC;AAE3D,QAAA,MAAM,oCAAoC,8BAGzC,CAAC;AAIF,iBAAS,eAAe,CAAC,WAAW,EAAE,oBAAoB,WAiBzD;AAED,OAAO,EACH,iBAAiB,EACjB,0BAA0B,EAC1B,wBAAwB,EACxB,uBAAuB,EACvB,kBAAkB,EAClB,qCAAqC,EACrC,eAAe,EACf,oCAAoC,EACpC,gCAAgC,EAChC,iCAAiC,EACjC,mBAAmB,GACtB,CAAC"}
|
|
@@ -40,6 +40,9 @@ export interface IFilterInfo {
|
|
|
40
40
|
[SolrKeys.createdBySsoUsername]: Array<string>;
|
|
41
41
|
[SolrKeys.caseContactSSO]: Array<string>;
|
|
42
42
|
[SolrKeys.type]: Array<string>;
|
|
43
|
+
[SolrKeys.caseSummary]: Array<string>;
|
|
44
|
+
[SolrKeys.modifiedBy]: Array<string>;
|
|
45
|
+
[SolrKeys.alternateId]: Array<string>;
|
|
43
46
|
}
|
|
44
47
|
export declare const emptyFilters: IFilterInfo;
|
|
45
48
|
export interface ICaseListFilterState {
|
|
@@ -48,9 +51,9 @@ export interface ICaseListFilterState {
|
|
|
48
51
|
filterQueryInfo?: IFilterQueryInfo;
|
|
49
52
|
filterInfo?: Partial<IFilterInfo>;
|
|
50
53
|
}
|
|
51
|
-
export
|
|
52
|
-
|
|
53
|
-
export
|
|
54
|
+
export type IFilterKeys = keyof IFilterInfo;
|
|
55
|
+
type IActionType = IAction<CaseListReducerEnum, ICaseListFilterState>;
|
|
56
|
+
export type CaseListFilterDispatchType = (value: IActionType) => void;
|
|
54
57
|
declare const caseListFilterReducer: (pState: ICaseListFilterState, action: any) => ICaseListFilterState;
|
|
55
58
|
declare function updateSort(dispatch: CaseListFilterDispatchType, sortInfo: ISortInfo): void;
|
|
56
59
|
declare function updatePagination(dispatch: CaseListFilterDispatchType, paginationInfo: IPaginationInfo): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CaseListFilterReducer.d.ts","sourceRoot":"","sources":["../../../../src/components/case-list/CaseListFilterReducer.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAE3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAE9D,eAAO,MAAM,iBAAiB,EAAE,OAAO,CAAC,WAAW,CAWlD,CAAC;AAEF,aAAK,mBAAmB;IACpB,YAAY,kBAAkB;IAC9B,aAAa,mBAAmB;IAChC,UAAU,gBAAgB;IAC1B,gBAAgB,sBAAsB;IACtC,iBAAiB,wBAAwB;IACzC,YAAY,kBAAkB;IAC9B,YAAY,kBAAkB;IAC9B,qBAAqB,6BAA6B;IAClD,WAAW,iBAAiB;CAC/B;AAED,MAAM,WAAW,SAAS;IACtB,SAAS,EAAE,KAAK,GAAG,MAAM,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,gBAAgB;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,mBAAmB,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,cAAe,SAAQ,WAAW;IAC/C,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC;CACrC;AAED,MAAM,WAAW,WAAW;IACxB,CAAC,aAAa,CAAC,eAAe,CAAC,EAAE,cAAc,EAAE,CAAC;IAClD,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;IACnD,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;IAC3C,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;IAChD,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC/C,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACzC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"CaseListFilterReducer.d.ts","sourceRoot":"","sources":["../../../../src/components/case-list/CaseListFilterReducer.tsx"],"names":[],"mappings":"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"}
|
|
@@ -35,6 +35,9 @@ export const emptyFilters = {
|
|
|
35
35
|
[SolrKeys.createdBySsoUsername]: [],
|
|
36
36
|
[SolrKeys.caseContactSSO]: [],
|
|
37
37
|
[SolrKeys.type]: [],
|
|
38
|
+
[SolrKeys.caseSummary]: [],
|
|
39
|
+
[SolrKeys.modifiedBy]: [],
|
|
40
|
+
[SolrKeys.alternateId]: [],
|
|
38
41
|
};
|
|
39
42
|
const caseListFilterReducer = (pState, action) => {
|
|
40
43
|
switch (action.type) {
|
|
@@ -23,8 +23,8 @@ export interface IChipsNameSsoMap {
|
|
|
23
23
|
declare enum CaseListReducerEnum {
|
|
24
24
|
updateState = "SET_STATE"
|
|
25
25
|
}
|
|
26
|
-
|
|
27
|
-
export
|
|
26
|
+
type IActionType = IAction<CaseListReducerEnum, ICaseListState>;
|
|
27
|
+
export type CaseListDispatchType = (value: IActionType) => void;
|
|
28
28
|
declare const caseListReducer: (state: ICaseListState, action: IActionType) => ICaseListState;
|
|
29
29
|
declare const setCaseList: (dispatch: CaseListDispatchType, caseList: ISolrResponse<ICaseListResponse>) => void;
|
|
30
30
|
declare const setChipsNameSsoMap: (dispatch: CaseListDispatchType, chipsNameSsoMap: IChipsNameSsoMap) => void;
|
|
@@ -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;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,
|
|
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,UAAW,cAAc,UAAU,WAAW,KAAG,cAMrE,CAAC;AAEF,QAAA,MAAM,WAAW,aAAc,oBAAoB,YAAY,aAAa,CAAC,iBAAiB,CAAC,SAK9F,CAAC;AAEF,QAAA,MAAM,kBAAkB,aAAc,oBAAoB,mBAAmB,gBAAgB,SAK5F,CAAC;AACF,QAAA,MAAM,aAAa,aAAc,oBAAoB,cAAc,OAAO,SAKzE,CAAC;AACF,QAAA,MAAM,gCAAgC,aACxB,oBAAoB,iCACC,0BAA0B,CAAC,YAAY,CAAC,SAM1E,CAAC;AACF,QAAA,MAAM,cAAc,aAAc,oBAAoB,eAAe,YAAY,SAKhF,CAAC;AAEF,QAAA,MAAM,eAAe,aAAc,oBAAoB,gBAAgB,MAAM,SAK5E,CAAC;AAEF,OAAO,EACH,eAAe,EACf,WAAW,EACX,kBAAkB,EAClB,aAAa,EACb,gCAAgC,EAChC,cAAc,EACd,eAAe,GAClB,CAAC"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export declare const appendToMenu: (listLength: Number) => React.JSX.Element;
|
|
2
3
|
interface IProps {
|
|
3
4
|
canReadBookmarkAccounts: boolean;
|
|
4
5
|
canAccessManagedAccounts: boolean;
|
|
5
6
|
canManageBookmarkAccounts: boolean;
|
|
6
7
|
}
|
|
7
8
|
export declare const getLabel: (accountNo: string, accountName: string) => string;
|
|
8
|
-
export declare function AccountsBookmarkedGroupFilter(props: IProps): JSX.Element;
|
|
9
|
+
export declare function AccountsBookmarkedGroupFilter(props: IProps): React.JSX.Element;
|
|
9
10
|
export {};
|
|
10
11
|
//# sourceMappingURL=AccountsBookmarkedGroupFilter.d.ts.map
|
package/lib/esm/components/case-list/case-list-filters/AccountsBookmarkedGroupFilter.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AccountsBookmarkedGroupFilter.d.ts","sourceRoot":"","sources":["../../../../../src/components/case-list/case-list-filters/AccountsBookmarkedGroupFilter.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AccountsBookmarkedGroupFilter.d.ts","sourceRoot":"","sources":["../../../../../src/components/case-list/case-list-filters/AccountsBookmarkedGroupFilter.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAwC,MAAM,OAAO,CAAC;AAS7D,eAAO,MAAM,YAAY,eAAgB,MAAM,sBAS9C,CAAC;AAEF,UAAU,MAAM;IACZ,uBAAuB,EAAE,OAAO,CAAC;IACjC,wBAAwB,EAAE,OAAO,CAAC;IAClC,yBAAyB,EAAE,OAAO,CAAC;CACtC;AAOD,eAAO,MAAM,QAAQ,cAAe,MAAM,eAAe,MAAM,WACiB,CAAC;AAEjF,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,MAAM,qBA8J1D"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
import { Label,
|
|
1
|
+
import { Label, Tooltip } from '@patternfly/react-core';
|
|
2
|
+
import { Select, SelectOption, SelectVariant } from '@patternfly/react-core/deprecated';
|
|
2
3
|
import InfoCircleIcon from '@patternfly/react-icons/dist/js/icons/info-circle-icon';
|
|
4
|
+
import { LoadingIndicator } from '@rh-support/components';
|
|
3
5
|
import { GlobalMetadataStateContext } from '@rh-support/react-context';
|
|
4
6
|
import { getDropdownBtnPlaceholder } from '@rh-support/utils';
|
|
5
7
|
import groupBy from 'lodash/groupBy';
|
|
@@ -16,8 +18,8 @@ import { CaseListFilterDispatchContext, CaseListFilterStateContext } from '../Ca
|
|
|
16
18
|
import { updateFilter } from '../CaseListFilterReducer';
|
|
17
19
|
export const appendToMenu = (listLength) => {
|
|
18
20
|
return (React.createElement(React.Fragment, null,
|
|
19
|
-
listLength !== 0 && React.createElement("div", { className: "pf-c-divider", role: "separator" }),
|
|
20
|
-
React.createElement(Link, { className: "cta cta-link pf-c-select__menu-item", to: "/manage/bookmarks" },
|
|
21
|
+
listLength !== 0 && React.createElement("div", { className: "pf-v5-c-divider", role: "separator" }),
|
|
22
|
+
React.createElement(Link, { className: "cta cta-link pf-v5-c-select__menu-item", to: "/manage/bookmarks" },
|
|
21
23
|
React.createElement(Trans, null, "Manage bookmarks"))));
|
|
22
24
|
};
|
|
23
25
|
export const getLabel = (accountNo, accountName) => accountNo ? (accountName ? `${accountName} <${accountNo}>` : accountNo) : '';
|
|
@@ -45,7 +47,7 @@ export function AccountsBookmarkedGroupFilter(props) {
|
|
|
45
47
|
const selectedAccounts = filterInfo[SolrKeys.accountNumber].filter((item) => !Array.isArray(item.key));
|
|
46
48
|
const getInfoToolTip = (groupName) => {
|
|
47
49
|
const list = groupedBookmarks[groupName];
|
|
48
|
-
return (React.createElement("ul", { className: "no-list-style pf-u-pl-0" }, list.map((b) => {
|
|
50
|
+
return (React.createElement("ul", { className: "no-list-style pf-v5-u-pl-0" }, list.map((b) => {
|
|
49
51
|
return (React.createElement("li", { key: b.accountNumber },
|
|
50
52
|
b.name,
|
|
51
53
|
" (",
|
|
@@ -55,12 +57,12 @@ export function AccountsBookmarkedGroupFilter(props) {
|
|
|
55
57
|
};
|
|
56
58
|
const getBookmarksOptions = (options) => {
|
|
57
59
|
return [
|
|
58
|
-
...options.map((b, id) => (React.createElement(SelectOption, { key: id, value: b, className: "pf-c-select__menu-wrapper", role: "presentation" },
|
|
59
|
-
React.createElement("div", { className: "pf-c-select__menu-item-main" },
|
|
60
|
-
React.createElement("input", { className: "pf-c-check__input pf-u-mr-sm", type: "checkbox", checked: some(filterInfo[SolrKeys.accountNumber], b) }),
|
|
60
|
+
...options.map((b, id) => (React.createElement(SelectOption, { key: id, value: b, className: "pf-v5-c-select__menu-wrapper", role: "presentation" },
|
|
61
|
+
React.createElement("div", { className: "pf-v5-c-select__menu-item-main" },
|
|
62
|
+
React.createElement("input", { className: "pf-v5-c-check__input pf-v5-u-mr-sm", type: "checkbox", checked: some(filterInfo[SolrKeys.accountNumber], b) }),
|
|
61
63
|
React.createElement("span", null, b.value)),
|
|
62
64
|
Array.isArray(b.key) && (React.createElement(Tooltip, { content: getInfoToolTip(b.value), "aria-label": t('Bookmarked Accounts List') },
|
|
63
|
-
React.createElement(Label, { color: "cyan", className: "pf-u-ml-auto pf-u-mr-sm", icon: React.createElement(InfoCircleIcon, null), "aria-label": t('Bookmarked Accounts') }, b.key.length)))))),
|
|
65
|
+
React.createElement(Label, { color: "cyan", className: "pf-v5-u-ml-auto pf-v5-u-mr-sm", icon: React.createElement(InfoCircleIcon, null), "aria-label": t('Bookmarked Accounts') }, b.key.length)))))),
|
|
64
66
|
...(canManageBookmarkAccounts ? [appendToMenu((bookmarkedGroupAccounts.data || []).length)] : []),
|
|
65
67
|
];
|
|
66
68
|
};
|
|
@@ -96,7 +98,19 @@ export function AccountsBookmarkedGroupFilter(props) {
|
|
|
96
98
|
if (!canReadBookmarkAccounts && !canAccessManagedAccounts) {
|
|
97
99
|
return null;
|
|
98
100
|
}
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
101
|
+
/**
|
|
102
|
+
* Adding loading spinner since bookmarked accounts are getting loaded in the background for the globalMetadataState
|
|
103
|
+
*/
|
|
104
|
+
const bookmarkedAccountsOptions = [
|
|
105
|
+
...(bookmarkedGroupAccounts.isFetching
|
|
106
|
+
? [
|
|
107
|
+
React.createElement(SelectOption, { key: "loading-bookmarked-accounts", isDisabled: true },
|
|
108
|
+
React.createElement(LoadingIndicator, { size: "sm" })),
|
|
109
|
+
]
|
|
110
|
+
: []),
|
|
111
|
+
...getBookmarksOptions(dropdownOptions),
|
|
112
|
+
];
|
|
113
|
+
return (React.createElement("div", { className: "pf-v5-c-select" },
|
|
114
|
+
React.createElement("label", { htmlFor: "case-list-account-filter", className: "case-list-account-filter-label" }, canAccessManagedAccounts ? t('Accounts') : t(filterNamesMap[SolrKeys.accountNumber])),
|
|
115
|
+
React.createElement(Select, { variant: SelectVariant.typeaheadMulti, onToggle: (_event, open) => onBookmarksToggle(open), onSelect: onBookmarksSelect, onClear: onBookmarksClear, isOpen: isOpen, onFilter: onBookmarksFilter, placeholderText: getDropdownBtnPlaceholder(t(canAccessManagedAccounts ? 'Select an account' : 'Search for a bookmark'), canAccessManagedAccounts ? selectedAccounts : selectedBookmarks, '', dropdownOptions.length, canAccessManagedAccounts ? t('All accounts') : t('All bookmarks')), "data-tracking-id": "accounts-filter", id: "case-list-account-filter" }, bookmarkedAccountsOptions)));
|
|
102
116
|
}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { IAccount, IPartnerManagedAccount } from '@cee-eng/hydrajs/@types/models/account';
|
|
2
|
+
import React from 'react';
|
|
2
3
|
interface IProps {
|
|
3
4
|
canReadBookmarkAccounts: boolean;
|
|
4
5
|
}
|
|
5
6
|
export declare const getLabelForBookmarkAccountOption: (account: IAccount) => string;
|
|
6
7
|
export declare const getLabelForManagedAccountOption: (account: Partial<IPartnerManagedAccount>) => string;
|
|
7
8
|
export declare const getLabel: (accountNo: any, accuntName: any) => any;
|
|
8
|
-
export declare function AccountsFilter(props: IProps): JSX.Element;
|
|
9
|
+
export declare function AccountsFilter(props: IProps): React.JSX.Element;
|
|
9
10
|
export {};
|
|
10
11
|
//# sourceMappingURL=AccountsFilter.d.ts.map
|
|
@@ -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;
|
|
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,YAAa,QAAQ,WAMjE,CAAC;AACF,eAAO,MAAM,+BAA+B,YAAa,OAAO,CAAC,sBAAsB,CAAC,WAEvF,CAAC;AAEF,eAAO,MAAM,QAAQ,0CACyD,CAAC;AAE/E,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,qBA+F3C"}
|
|
@@ -14,8 +14,8 @@ import differenceBy from 'lodash/differenceBy';
|
|
|
14
14
|
import filter from 'lodash/filter';
|
|
15
15
|
import remove from 'lodash/remove';
|
|
16
16
|
import uniqBy from 'lodash/uniqBy';
|
|
17
|
-
import React, { useContext, useEffect } from 'react';
|
|
18
|
-
import { useTranslation } from 'react-i18next';
|
|
17
|
+
import React, { useContext, useEffect, useMemo } from 'react';
|
|
18
|
+
import { Trans, useTranslation } from 'react-i18next';
|
|
19
19
|
import { SolrKeys } from '../../../enums/filters';
|
|
20
20
|
import { CaseListFilterDispatchContext, CaseListFilterStateContext } from '../CaseListFilterContext';
|
|
21
21
|
import { updateFilter } from '../CaseListFilterReducer';
|
|
@@ -35,12 +35,14 @@ export function AccountsFilter(props) {
|
|
|
35
35
|
const { canReadBookmarkAccounts } = props;
|
|
36
36
|
const { filterInfo } = useContext(CaseListFilterStateContext);
|
|
37
37
|
const dispatch = useContext(CaseListFilterDispatchContext);
|
|
38
|
-
const selectedAccounts = filterInfo[SolrKeys.accountNumber]
|
|
38
|
+
const selectedAccounts = useMemo(() => filterInfo[SolrKeys.accountNumber]
|
|
39
39
|
.filter((item) => !Array.isArray(item.key))
|
|
40
40
|
.map((item) => ({
|
|
41
41
|
name: item.value,
|
|
42
42
|
accountNumber: item.key,
|
|
43
|
-
}))
|
|
43
|
+
})),
|
|
44
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
45
|
+
[filterInfo, filterInfo[SolrKeys.accountNumber]]);
|
|
44
46
|
const onAccountsFilterChange = (selected) => {
|
|
45
47
|
const toAdd = differenceBy(selected, selectedAccounts, 'accountNumber');
|
|
46
48
|
const toRemove = differenceBy(selectedAccounts, selected, 'accountNumber');
|
|
@@ -95,5 +97,8 @@ export function AccountsFilter(props) {
|
|
|
95
97
|
if (!canReadBookmarkAccounts) {
|
|
96
98
|
return null;
|
|
97
99
|
}
|
|
98
|
-
return (React.createElement(
|
|
100
|
+
return (React.createElement("div", { "data-tracking-id": "case-list-accounts-filter" },
|
|
101
|
+
React.createElement("label", { htmlFor: "case-list-accounts-filter" },
|
|
102
|
+
React.createElement(Trans, null, "Accounts")),
|
|
103
|
+
React.createElement(AccountSelectorInternal, { label: t('i18nAccounts', 'Accounts'), selectedAccounts: selectedAccounts, multiple: true, suggestBookmarkAccounts: false, placeholder: getDropdownBtnPlaceholder(t('Search for an account'), (selectedAccounts || []).map((i) => i.name), ''), onSelect: onAccountsFilterChange })));
|
|
99
104
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AdditionalFilters.d.ts","sourceRoot":"","sources":["../../../../../src/components/case-list/case-list-filters/AdditionalFilters.tsx"],"names":[],"mappings":"
|
|
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,sBAqDhC"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { Checkbox } from '@patternfly/react-core';
|
|
2
|
+
import isEmpty from 'lodash/isEmpty';
|
|
3
|
+
import isEqual from 'lodash/isEqual';
|
|
2
4
|
import React, { useContext, useEffect, useState } from 'react';
|
|
3
5
|
import { Trans, useTranslation } from 'react-i18next';
|
|
4
6
|
import { AdditionalFilterLabels, SolrKeys } from '../../../enums/filters';
|
|
@@ -12,18 +14,31 @@ export function AdditionalFilters() {
|
|
|
12
14
|
const onEscalatedChange = (checked) => {
|
|
13
15
|
updateFilter(dispatch, {
|
|
14
16
|
filterKey: SolrKeys.escalation,
|
|
15
|
-
values: checked ? [{ key: checked, value: AdditionalFilterLabels[SolrKeys.escalation] }] : [],
|
|
17
|
+
values: checked ? [{ key: checked.toString(), value: AdditionalFilterLabels[SolrKeys.escalation] }] : [],
|
|
16
18
|
});
|
|
17
19
|
setIsEscalated(checked);
|
|
18
20
|
};
|
|
19
21
|
useEffect(() => {
|
|
20
|
-
|
|
21
|
-
(
|
|
22
|
+
var _a, _b;
|
|
23
|
+
updateFilter(dispatch, {
|
|
24
|
+
filterKey: SolrKeys.escalation,
|
|
25
|
+
values: !isEmpty(case_customer_escalation) && isEqual((_a = case_customer_escalation[0]) === null || _a === void 0 ? void 0 : _a.key, 'true')
|
|
26
|
+
? [{ key: (_b = case_customer_escalation[0]) === null || _b === void 0 ? void 0 : _b.key, value: AdditionalFilterLabels[SolrKeys.escalation] }]
|
|
27
|
+
: [],
|
|
28
|
+
});
|
|
29
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
30
|
+
}, []);
|
|
31
|
+
useEffect(() => {
|
|
32
|
+
var _a;
|
|
33
|
+
isEmpty(case_customer_escalation) && escalated && setIsEscalated(false);
|
|
34
|
+
if (!isEmpty(case_customer_escalation)) {
|
|
35
|
+
isEqual((_a = case_customer_escalation[0]) === null || _a === void 0 ? void 0 : _a.key, 'true') ? setIsEscalated(true) : setIsEscalated(false);
|
|
36
|
+
}
|
|
22
37
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
23
38
|
}, [case_customer_escalation]);
|
|
24
39
|
return (React.createElement(React.Fragment, null,
|
|
25
40
|
React.createElement("div", { className: "additional-filters" },
|
|
26
41
|
React.createElement("h3", null,
|
|
27
42
|
React.createElement(Trans, null, "More")),
|
|
28
|
-
React.createElement(Checkbox, { label: t(AdditionalFilterLabels[SolrKeys.escalation]), isChecked: escalated, onChange: onEscalatedChange, "aria-label": t(AdditionalFilterLabels[SolrKeys.escalation]), id: "escalated", name: "escalated", "data-tracking-id": "escalated-filter-selector" }))));
|
|
43
|
+
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" }))));
|
|
29
44
|
}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
+
import React from 'react';
|
|
1
2
|
import { IProductVersionPivotMap } from '../CaseList';
|
|
2
3
|
interface IProps {
|
|
3
4
|
productVersionPivotValues: IProductVersionPivotMap[];
|
|
4
5
|
isSolrSearchDown: boolean;
|
|
5
6
|
}
|
|
6
|
-
export declare function CaseListFilterChips(props: IProps): JSX.Element;
|
|
7
|
+
export declare function CaseListFilterChips(props: IProps): React.JSX.Element;
|
|
7
8
|
export {};
|
|
8
9
|
//# sourceMappingURL=CaseListFilterChips.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CaseListFilterChips.d.ts","sourceRoot":"","sources":["../../../../../src/components/case-list/case-list-filters/CaseListFilterChips.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"CaseListFilterChips.d.ts","sourceRoot":"","sources":["../../../../../src/components/case-list/case-list-filters/CaseListFilterChips.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAK1C,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAMtD,UAAU,MAAM;IACZ,yBAAyB,EAAE,uBAAuB,EAAE,CAAC;IACrD,gBAAgB,EAAE,OAAO,CAAC;CAC7B;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,qBA+HhD"}
|
|
@@ -44,7 +44,7 @@ export function CaseListFilterChips(props) {
|
|
|
44
44
|
return (React.createElement("div", { className: "filter-chip", key: `${filterKey}-bookmarks-${groupName}` },
|
|
45
45
|
React.createElement("span", { className: "filter-chip__heading" },
|
|
46
46
|
React.createElement(Trans, null, groupName || filterNamesMap[filterKey] || filterKey)),
|
|
47
|
-
React.createElement(ChipGroup, { numChips: 7, className: "pf-c-chip-group__simple" }, renderFilterValueChips(filterKey, caseTypeFilter, groupName))));
|
|
47
|
+
React.createElement(ChipGroup, { numChips: 7, className: "pf-v5-c-chip-group__simple" }, renderFilterValueChips(filterKey, caseTypeFilter, groupName))));
|
|
48
48
|
}
|
|
49
49
|
};
|
|
50
50
|
const renderAccountFilterChip = () => {
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { IApiResponseDetails } from '@rh-support/types/shared';
|
|
2
2
|
import { ISolrResponseToFacetFields, ITroubleshootProductResponse } from '@rh-support/utils';
|
|
3
|
+
import React from 'react';
|
|
3
4
|
import { IFacetFields } from '../../../models/caseList';
|
|
4
5
|
interface IProps {
|
|
5
6
|
filterValues: ISolrResponseToFacetFields<IFacetFields>;
|
|
@@ -9,6 +10,6 @@ interface IProps {
|
|
|
9
10
|
allCaseSeverities: IApiResponseDetails<string[]>;
|
|
10
11
|
allProducts: IApiResponseDetails<ITroubleshootProductResponse>;
|
|
11
12
|
}
|
|
12
|
-
export declare const CaseListFilters: ({ filterValues, allCaseTypes, allCaseSeverities, allCaseStatuses, allProducts, isSolrSearchDown, }: IProps) => JSX.Element;
|
|
13
|
+
export declare const CaseListFilters: ({ filterValues, allCaseTypes, allCaseSeverities, allCaseStatuses, allProducts, isSolrSearchDown, }: IProps) => React.JSX.Element;
|
|
13
14
|
export {};
|
|
14
15
|
//# sourceMappingURL=CaseListFilters.d.ts.map
|