@rh-support/cases 2.6.186 → 2.6.187
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 +0 -7
- package/lib/esm/components/case-list/CaseList.d.ts.map +1 -1
- package/lib/esm/components/case-list/CaseList.js +195 -113
- package/lib/esm/components/case-list/CaseListContext.d.ts.map +1 -1
- package/lib/esm/components/case-list/CaseListContext.js +5 -2
- package/lib/esm/components/case-list/CaseListFilterContext.d.ts.map +1 -1
- package/lib/esm/components/case-list/CaseListFilterContext.js +2 -1
- package/lib/esm/components/case-list/CaseListFilterHelpers.d.ts +3 -2
- package/lib/esm/components/case-list/CaseListFilterHelpers.d.ts.map +1 -1
- package/lib/esm/components/case-list/CaseListFilterHelpers.js +19 -6
- package/lib/esm/components/case-list/CaseListFilterReducer.d.ts +35 -4
- package/lib/esm/components/case-list/CaseListFilterReducer.d.ts.map +1 -1
- package/lib/esm/components/case-list/CaseListFilterReducer.js +4 -12
- package/lib/esm/components/case-list/CaseListReducer.d.ts +22 -10
- package/lib/esm/components/case-list/CaseListReducer.d.ts.map +1 -1
- package/lib/esm/components/case-list/CaseListReducer.js +25 -7
- 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 +18 -11
- 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 +6 -2
- package/lib/esm/components/case-list/case-list-filters/CaseListFilterChips.d.ts +1 -7
- 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 +12 -16
- package/lib/esm/components/case-list/case-list-filters/CaseListFilters.d.ts +2 -5
- package/lib/esm/components/case-list/case-list-filters/CaseListFilters.d.ts.map +1 -1
- package/lib/esm/components/case-list/case-list-filters/CaseListFilters.js +12 -13
- 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 +3 -0
- package/lib/esm/components/case-list/case-list-filters/GroupsFilter.d.ts +11 -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 +116 -71
- package/lib/esm/components/case-list/case-list-filters/ProductFilterChip.d.ts +1 -3
- 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 +2 -2
- package/lib/esm/components/case-list/case-list-filters/ProductsFilter.d.ts +5 -4
- 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 +15 -54
- package/lib/esm/components/case-list/case-list-filters/SeverityFilter.d.ts +0 -3
- 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 +18 -44
- package/lib/esm/components/case-list/case-list-filters/StatusFilter.d.ts +0 -3
- 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 +14 -44
- package/lib/esm/components/case-list/case-list-filters/VersionsFilter.d.ts +1 -3
- 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 +60 -59
- package/lib/esm/components/case-list/case-list-table/CaseListTable.d.ts +7 -3
- 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 +77 -60
- package/lib/esm/components/case-list/case-list-table/DownloadCSVFileModal.d.ts +0 -5
- 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 +38 -68
- 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 +5 -15
- package/lib/esm/components/case-list/case-list-table/SeverityLabel.js +1 -1
- package/lib/esm/components/case-list/case-list-table/TableActionsDropdown.d.ts.map +1 -1
- package/lib/esm/components/case-list/case-list-table/TableActionsDropdown.js +2 -3
- package/lib/esm/components/case-list/case-search/AdvanceSearchToggleButton.d.ts +8 -0
- package/lib/esm/components/case-list/case-search/AdvanceSearchToggleButton.d.ts.map +1 -0
- package/lib/esm/components/case-list/case-search/AdvanceSearchToggleButton.js +8 -0
- package/lib/esm/components/case-list/case-search/BookmarkedSearchesSelector.d.ts.map +1 -1
- package/lib/esm/components/case-list/case-search/BookmarkedSearchesSelector.js +1 -0
- package/lib/esm/components/case-list/case-search/CaseSearch.d.ts.map +1 -1
- package/lib/esm/components/case-list/case-search/CaseSearch.js +55 -24
- package/lib/esm/components/case-list/case-search/advance-search-modal/AdvanceSearchAccountSection.d.ts +10 -0
- package/lib/esm/components/case-list/case-search/advance-search-modal/AdvanceSearchAccountSection.d.ts.map +1 -0
- package/lib/esm/components/case-list/case-search/advance-search-modal/AdvanceSearchAccountSection.js +29 -0
- package/lib/esm/components/case-list/case-search/advance-search-modal/AdvanceSearchAuditsSection.d.ts +10 -0
- package/lib/esm/components/case-list/case-search/advance-search-modal/AdvanceSearchAuditsSection.d.ts.map +1 -0
- package/lib/esm/components/case-list/case-search/advance-search-modal/AdvanceSearchAuditsSection.js +16 -0
- package/lib/esm/components/case-list/case-search/advance-search-modal/AdvanceSearchCaseSection.d.ts +9 -0
- package/lib/esm/components/case-list/case-search/advance-search-modal/AdvanceSearchCaseSection.d.ts.map +1 -0
- package/lib/esm/components/case-list/case-search/advance-search-modal/AdvanceSearchCaseSection.js +21 -0
- package/lib/esm/components/case-list/case-search/advance-search-modal/AdvanceSearchDateRangeField.d.ts +12 -0
- package/lib/esm/components/case-list/case-search/advance-search-modal/AdvanceSearchDateRangeField.d.ts.map +1 -0
- package/lib/esm/components/case-list/case-search/advance-search-modal/AdvanceSearchDateRangeField.js +31 -0
- package/lib/esm/components/case-list/case-search/advance-search-modal/AdvanceSearchFieldBlock.d.ts +10 -0
- package/lib/esm/components/case-list/case-search/advance-search-modal/AdvanceSearchFieldBlock.d.ts.map +1 -0
- package/lib/esm/components/case-list/case-search/advance-search-modal/AdvanceSearchFieldBlock.js +10 -0
- package/lib/esm/components/case-list/case-search/advance-search-modal/AdvanceSearchModal.d.ts +10 -0
- package/lib/esm/components/case-list/case-search/advance-search-modal/AdvanceSearchModal.d.ts.map +1 -0
- package/lib/esm/components/case-list/case-search/advance-search-modal/AdvanceSearchModal.js +92 -0
- package/lib/esm/components/case-list/case-search/advance-search-modal/AdvanceSearchOwnerSection.d.ts +9 -0
- package/lib/esm/components/case-list/case-search/advance-search-modal/AdvanceSearchOwnerSection.d.ts.map +1 -0
- package/lib/esm/components/case-list/case-search/advance-search-modal/AdvanceSearchOwnerSection.js +20 -0
- package/lib/esm/components/case-list/case-search/advance-search-modal/AdvanceSearchProductSection.d.ts +9 -0
- package/lib/esm/components/case-list/case-search/advance-search-modal/AdvanceSearchProductSection.d.ts.map +1 -0
- package/lib/esm/components/case-list/case-search/advance-search-modal/AdvanceSearchProductSection.js +28 -0
- package/lib/esm/components/case-list/case-search/advance-search-modal/ProductVersionDrilldownSelect.d.ts +9 -0
- package/lib/esm/components/case-list/case-search/advance-search-modal/ProductVersionDrilldownSelect.d.ts.map +1 -0
- package/lib/esm/components/case-list/case-search/advance-search-modal/ProductVersionDrilldownSelect.js +241 -0
- package/lib/esm/components/case-list/case-search/advance-search-modal/SelectableLabelFilter.d.ts +11 -0
- package/lib/esm/components/case-list/case-search/advance-search-modal/SelectableLabelFilter.d.ts.map +1 -0
- package/lib/esm/components/case-list/case-search/advance-search-modal/SelectableLabelFilter.js +23 -0
- package/lib/esm/components/case-list/case-search/useAdvanceSearchParser.d.ts.map +1 -1
- package/lib/esm/components/case-list/case-search/useAdvanceSearchParser.js +2 -1
- package/lib/esm/css/caseList.css +111 -22
- package/lib/esm/css/caseSearch.css +114 -0
- package/lib/esm/enums/case.d.ts +2 -1
- package/lib/esm/enums/case.d.ts.map +1 -1
- package/lib/esm/enums/case.js +14 -1
- package/lib/esm/enums/caseSearch.d.ts +1 -0
- package/lib/esm/enums/caseSearch.d.ts.map +1 -1
- package/lib/esm/enums/caseSearch.js +1 -1
- package/lib/esm/hooks/useExportCaseListCSV.d.ts.map +1 -1
- package/lib/esm/hooks/useExportCaseListCSV.js +1 -9
- package/lib/esm/hooks/useFilterStateOnLoad.d.ts +1 -1
- package/lib/esm/hooks/useFilterStateOnLoad.d.ts.map +1 -1
- package/lib/esm/test-utils/mockData.js +1 -1
- package/lib/esm/utils/advanceSearchFormMapper.d.ts +11 -0
- package/lib/esm/utils/advanceSearchFormMapper.d.ts.map +1 -0
- package/lib/esm/utils/advanceSearchFormMapper.js +71 -0
- package/lib/esm/utils/advanceSearchUtils.d.ts +24 -0
- package/lib/esm/utils/advanceSearchUtils.d.ts.map +1 -0
- package/lib/esm/utils/advanceSearchUtils.js +149 -0
- package/lib/esm/utils/caseListGraphQLUtils.d.ts +28 -0
- package/lib/esm/utils/caseListGraphQLUtils.d.ts.map +1 -0
- package/lib/esm/utils/caseListGraphQLUtils.js +280 -0
- package/lib/esm/utils/caseListMapper.d.ts +6 -0
- package/lib/esm/utils/caseListMapper.d.ts.map +1 -0
- package/lib/esm/utils/caseListMapper.js +36 -0
- package/lib/esm/utils/caseListVariablesBuilder.d.ts +15 -0
- package/lib/esm/utils/caseListVariablesBuilder.d.ts.map +1 -0
- package/lib/esm/utils/caseListVariablesBuilder.js +399 -0
- package/lib/esm/utils/caseSearchUtils.d.ts.map +1 -1
- package/lib/esm/utils/caseSearchUtils.js +26 -1
- package/lib/esm/utils/constants.d.ts +4 -1
- package/lib/esm/utils/constants.d.ts.map +1 -1
- package/lib/esm/utils/constants.js +20 -2
- package/lib/esm/utils/mockSolrResponse.js +1 -1
- package/lib/esm/utils/statusUtils.d.ts +4 -0
- package/lib/esm/utils/statusUtils.d.ts.map +1 -0
- package/lib/esm/utils/statusUtils.js +36 -0
- package/package.json +8 -8
|
@@ -6,7 +6,6 @@ declare enum CaseListReducerEnum {
|
|
|
6
6
|
updateFilter = "UPDATE_FILTER",
|
|
7
7
|
updateFilters = "UPDATE_FILTERS",
|
|
8
8
|
updateSort = "UPDATE_SORT",
|
|
9
|
-
updatePagination = "UPDATE_PAGINATION",
|
|
10
9
|
updateFilterQuery = "UPDATE_FILTER_QUERY",
|
|
11
10
|
removeFilter = "REMOVE_FILTER",
|
|
12
11
|
clearFilters = "CLEAR_FILTERS",
|
|
@@ -26,8 +25,12 @@ export interface IFilterQueryInfo {
|
|
|
26
25
|
type: CaseSearchQueryType;
|
|
27
26
|
parsedQuery?: string;
|
|
28
27
|
}
|
|
28
|
+
export interface IVersionFilterValue extends IFieldValue {
|
|
29
|
+
productId?: string;
|
|
30
|
+
}
|
|
29
31
|
export interface IProductFilter extends IFieldValue {
|
|
30
|
-
[SolrKeys.version]:
|
|
32
|
+
[SolrKeys.version]: IVersionFilterValue[];
|
|
33
|
+
productId?: string;
|
|
31
34
|
}
|
|
32
35
|
export interface IFilterInfo {
|
|
33
36
|
[SolrPivotKeys.product_version]: IProductFilter[];
|
|
@@ -43,21 +46,49 @@ export interface IFilterInfo {
|
|
|
43
46
|
[SolrKeys.caseSummary]: Array<string>;
|
|
44
47
|
[SolrKeys.modifiedBy]: Array<string>;
|
|
45
48
|
[SolrKeys.alternateId]: Array<string>;
|
|
49
|
+
[SolrKeys.openshiftClusterId]: Array<string>;
|
|
46
50
|
[SolrKeys.isPrivate]: Array<IKeyValue<string>>;
|
|
47
51
|
}
|
|
48
52
|
export declare const emptyFilters: IFilterInfo;
|
|
53
|
+
export interface IAdvanceSearchDateRange {
|
|
54
|
+
startDate: string;
|
|
55
|
+
endDate: string;
|
|
56
|
+
}
|
|
57
|
+
export interface IAdvanceSearchDateRanges {
|
|
58
|
+
createdDateRange: IAdvanceSearchDateRange;
|
|
59
|
+
lastModifiedDateRange: IAdvanceSearchDateRange;
|
|
60
|
+
closedDateRange: IAdvanceSearchDateRange;
|
|
61
|
+
}
|
|
62
|
+
export interface IAdvanceSearchFormState {
|
|
63
|
+
statuses: string[];
|
|
64
|
+
severities: string[];
|
|
65
|
+
supportTypes: string[];
|
|
66
|
+
showEscalatedOnly: boolean;
|
|
67
|
+
accountNumbers: Array<IKeyValue<string>>;
|
|
68
|
+
personalReferenceNumber: string;
|
|
69
|
+
openshiftClusterId: string;
|
|
70
|
+
ownerNameAndSso: string;
|
|
71
|
+
assignedToNameAndSso: string;
|
|
72
|
+
groups: Array<IKeyValue<string>>;
|
|
73
|
+
createdByNameAndSso: string;
|
|
74
|
+
lastModifiedByNameAndSso: string;
|
|
75
|
+
createdDateRange: IAdvanceSearchDateRange;
|
|
76
|
+
lastModifiedDateRange: IAdvanceSearchDateRange;
|
|
77
|
+
closedDateRange: IAdvanceSearchDateRange;
|
|
78
|
+
products: IProductFilter[];
|
|
79
|
+
}
|
|
49
80
|
export interface ICaseListFilterState {
|
|
50
81
|
sortInfo?: ISortInfo;
|
|
51
82
|
paginationInfo?: IPaginationInfo;
|
|
52
83
|
filterQueryInfo?: IFilterQueryInfo;
|
|
53
84
|
filterInfo?: Partial<IFilterInfo>;
|
|
85
|
+
advanceSearchDateRanges?: IAdvanceSearchDateRanges;
|
|
54
86
|
}
|
|
55
87
|
export type IFilterKeys = keyof IFilterInfo;
|
|
56
88
|
type IActionType = IAction<CaseListReducerEnum, ICaseListFilterState>;
|
|
57
89
|
export type CaseListFilterDispatchType = (value: IActionType) => void;
|
|
58
90
|
declare const caseListFilterReducer: (pState: ICaseListFilterState, action: any) => ICaseListFilterState;
|
|
59
91
|
declare function updateSort(dispatch: CaseListFilterDispatchType, sortInfo: ISortInfo): void;
|
|
60
|
-
declare function updatePagination(dispatch: CaseListFilterDispatchType, paginationInfo: IPaginationInfo): void;
|
|
61
92
|
declare function updateFilter(dispatch: CaseListFilterDispatchType, { filterKey, values }: {
|
|
62
93
|
filterKey: any;
|
|
63
94
|
values: any;
|
|
@@ -71,5 +102,5 @@ declare const clearFilters: (dispatch: any, clearQueryString?: boolean) => void;
|
|
|
71
102
|
declare function resetFilterToDefaultState(dispatch: any): void;
|
|
72
103
|
declare function updateFilterQuery(dispatch: CaseListFilterDispatchType, filterQueryInfo: IFilterQueryInfo): void;
|
|
73
104
|
declare function updateFilterState(dispatch: CaseListFilterDispatchType, newState: Partial<ICaseListFilterState>): void;
|
|
74
|
-
export { updateSort,
|
|
105
|
+
export { updateSort, updateFilter, updateFilters, updateFilterQuery, removeFilterItem, clearFilters, updateFilterState, caseListFilterReducer, resetFilterToDefaultState, };
|
|
75
106
|
//# sourceMappingURL=CaseListFilterReducer.d.ts.map
|
|
@@ -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,CAYlD,CAAC;AAEF,aAAK,mBAAmB;IACpB,YAAY,kBAAkB;IAC9B,aAAa,mBAAmB;IAChC,UAAU,gBAAgB;IAC1B,
|
|
1
|
+
{"version":3,"file":"CaseListFilterReducer.d.ts","sourceRoot":"","sources":["../../../../src/components/case-list/CaseListFilterReducer.tsx"],"names":[],"mappings":"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"}
|
|
@@ -18,7 +18,6 @@ var CaseListReducerEnum;
|
|
|
18
18
|
CaseListReducerEnum["updateFilter"] = "UPDATE_FILTER";
|
|
19
19
|
CaseListReducerEnum["updateFilters"] = "UPDATE_FILTERS";
|
|
20
20
|
CaseListReducerEnum["updateSort"] = "UPDATE_SORT";
|
|
21
|
-
CaseListReducerEnum["updatePagination"] = "UPDATE_PAGINATION";
|
|
22
21
|
CaseListReducerEnum["updateFilterQuery"] = "UPDATE_FILTER_QUERY";
|
|
23
22
|
CaseListReducerEnum["removeFilter"] = "REMOVE_FILTER";
|
|
24
23
|
CaseListReducerEnum["clearFilters"] = "CLEAR_FILTERS";
|
|
@@ -39,6 +38,7 @@ export const emptyFilters = {
|
|
|
39
38
|
[SolrKeys.caseSummary]: [],
|
|
40
39
|
[SolrKeys.modifiedBy]: [],
|
|
41
40
|
[SolrKeys.alternateId]: [],
|
|
41
|
+
[SolrKeys.openshiftClusterId]: [],
|
|
42
42
|
[SolrKeys.isPrivate]: [],
|
|
43
43
|
};
|
|
44
44
|
const caseListFilterReducer = (pState, action) => {
|
|
@@ -54,10 +54,8 @@ const caseListFilterReducer = (pState, action) => {
|
|
|
54
54
|
return Object.assign(Object.assign({}, pState), { filterInfo: newFilters, paginationInfo: newPaginationInfo });
|
|
55
55
|
}
|
|
56
56
|
case CaseListReducerEnum.updateSort: {
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
case CaseListReducerEnum.updatePagination: {
|
|
60
|
-
return Object.assign(Object.assign({}, pState), { paginationInfo: action.payload.paginationInfo });
|
|
57
|
+
const newPaginationInfo = Object.assign(Object.assign({}, pState.paginationInfo), { currentPage: 1 });
|
|
58
|
+
return Object.assign(Object.assign({}, pState), { sortInfo: action.payload.sortInfo, paginationInfo: newPaginationInfo });
|
|
61
59
|
}
|
|
62
60
|
case CaseListReducerEnum.removeFilter: {
|
|
63
61
|
const newValues = pState.filterInfo[action.payload.filterKey].filter((item) => {
|
|
@@ -89,12 +87,6 @@ function updateSort(dispatch, sortInfo) {
|
|
|
89
87
|
payload: { sortInfo },
|
|
90
88
|
});
|
|
91
89
|
}
|
|
92
|
-
function updatePagination(dispatch, paginationInfo) {
|
|
93
|
-
dispatch({
|
|
94
|
-
type: CaseListReducerEnum.updatePagination,
|
|
95
|
-
payload: { paginationInfo },
|
|
96
|
-
});
|
|
97
|
-
}
|
|
98
90
|
function updateFilter(dispatch, { filterKey, values }) {
|
|
99
91
|
dispatch({
|
|
100
92
|
type: CaseListReducerEnum.updateFilter,
|
|
@@ -141,4 +133,4 @@ function updateFilterState(dispatch, newState) {
|
|
|
141
133
|
payload: newState,
|
|
142
134
|
});
|
|
143
135
|
}
|
|
144
|
-
export { updateSort,
|
|
136
|
+
export { updateSort, updateFilter, updateFilters, updateFilterQuery, removeFilterItem, clearFilters, updateFilterState, caseListFilterReducer, resetFilterToDefaultState, };
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import { IAction, ISolrResponse } from '@rh-support/types/shared';
|
|
2
|
-
import {
|
|
3
|
-
import { ICaseListResponse, IFacetFields, IFacetPivot } from '../../models/caseList';
|
|
4
|
-
import { IPivotValues, IProductVersionPivotMap } from './CaseList';
|
|
2
|
+
import { ICaseListResponse } from '../../models/caseList';
|
|
5
3
|
export interface ICaseListState {
|
|
6
4
|
caseList: ISolrResponse<ICaseListResponse>;
|
|
7
5
|
isFetching: boolean;
|
|
6
|
+
isLoadingMore: boolean;
|
|
7
|
+
hasNextPage: boolean;
|
|
8
|
+
endCursor: string | undefined;
|
|
9
|
+
loadMoreError: boolean;
|
|
10
|
+
loadMoreRetryCount: number;
|
|
8
11
|
chipsNameSsoMap?: IChipsNameSsoMap;
|
|
9
|
-
filterValuesFromFacetResponse: ISolrResponseToFacetFields<IFacetFields>;
|
|
10
|
-
pivotValues: ISolrResponseToPivotFields<IFacetPivot, IProductVersionPivotMap>;
|
|
11
12
|
currentQuery: string;
|
|
12
13
|
}
|
|
13
14
|
export interface IChipsNameSso {
|
|
@@ -21,16 +22,27 @@ export interface IChipsNameSsoMap {
|
|
|
21
22
|
[sso: string]: IChipsNameSso;
|
|
22
23
|
}
|
|
23
24
|
declare enum CaseListReducerEnum {
|
|
24
|
-
updateState = "SET_STATE"
|
|
25
|
+
updateState = "SET_STATE",
|
|
26
|
+
appendDocs = "APPEND_DOCS"
|
|
25
27
|
}
|
|
26
|
-
|
|
28
|
+
interface IAppendDocsPayload {
|
|
29
|
+
docs: ICaseListResponse[];
|
|
30
|
+
hasNextPage: boolean;
|
|
31
|
+
endCursor: string | undefined;
|
|
32
|
+
}
|
|
33
|
+
type IActionType = IAction<CaseListReducerEnum, ICaseListState> | {
|
|
34
|
+
type: CaseListReducerEnum.appendDocs;
|
|
35
|
+
payload: IAppendDocsPayload;
|
|
36
|
+
};
|
|
27
37
|
export type CaseListDispatchType = (value: IActionType) => void;
|
|
28
38
|
declare const caseListReducer: (state: ICaseListState, action: IActionType) => ICaseListState;
|
|
29
39
|
declare const setCaseList: (dispatch: CaseListDispatchType, caseList: ISolrResponse<ICaseListResponse>) => void;
|
|
30
40
|
declare const setChipsNameSsoMap: (dispatch: CaseListDispatchType, chipsNameSsoMap: IChipsNameSsoMap) => void;
|
|
31
41
|
declare const setIsFetching: (dispatch: CaseListDispatchType, isFetching: boolean) => void;
|
|
32
|
-
declare const setFilterValuesFromFacetResponse: (dispatch: CaseListDispatchType, filterValuesFromFacetResponse: ISolrResponseToFacetFields<IFacetFields>) => void;
|
|
33
|
-
declare const setPivotValues: (dispatch: CaseListDispatchType, pivotValues: IPivotValues) => void;
|
|
34
42
|
declare const setCurrentQuery: (dispatch: CaseListDispatchType, currentQuery: string) => void;
|
|
35
|
-
|
|
43
|
+
declare const setIsLoadingMore: (dispatch: CaseListDispatchType, isLoadingMore: boolean) => void;
|
|
44
|
+
declare const appendCaseList: (dispatch: CaseListDispatchType, docs: ICaseListResponse[], hasNextPage: boolean, endCursor: string | undefined) => void;
|
|
45
|
+
declare const setCursorInfo: (dispatch: CaseListDispatchType, hasNextPage: boolean, endCursor: string | undefined) => void;
|
|
46
|
+
declare const setLoadMoreError: (dispatch: CaseListDispatchType, loadMoreError: boolean, loadMoreRetryCount: number) => void;
|
|
47
|
+
export { caseListReducer, setCaseList, setChipsNameSsoMap, setIsFetching, setCurrentQuery, setIsLoadingMore, appendCaseList, setCursorInfo, setLoadMoreError, };
|
|
36
48
|
//# sourceMappingURL=CaseListReducer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CaseListReducer.d.ts","sourceRoot":"","sources":["../../../../src/components/case-list/CaseListReducer.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"CaseListReducer.d.ts","sourceRoot":"","sources":["../../../../src/components/case-list/CaseListReducer.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAElE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE1D,MAAM,WAAW,cAAc;IAC3B,QAAQ,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;IAC3C,UAAU,EAAE,OAAO,CAAC;IACpB,aAAa,EAAE,OAAO,CAAC;IACvB,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,aAAa,EAAE,OAAO,CAAC;IACvB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,eAAe,CAAC,EAAE,gBAAgB,CAAC;IACnC,YAAY,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,aAAa;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,gBAAgB;IAC7B,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,CAAC;CAChC;AAED,aAAK,mBAAmB;IACpB,WAAW,cAAc;IACzB,UAAU,gBAAgB;CAC7B;AAED,UAAU,kBAAkB;IACxB,IAAI,EAAE,iBAAiB,EAAE,CAAC;IAC1B,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;CACjC;AAED,KAAK,WAAW,GACV,OAAO,CAAC,mBAAmB,EAAE,cAAc,CAAC,GAC5C;IAAE,IAAI,EAAE,mBAAmB,CAAC,UAAU,CAAC;IAAC,OAAO,EAAE,kBAAkB,CAAA;CAAE,CAAC;AAC5E,MAAM,MAAM,oBAAoB,GAAG,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;AAEhE,QAAA,MAAM,eAAe,GAAI,OAAO,cAAc,EAAE,QAAQ,WAAW,KAAG,cAmBrE,CAAC;AAEF,QAAA,MAAM,WAAW,GAAI,UAAU,oBAAoB,EAAE,UAAU,aAAa,CAAC,iBAAiB,CAAC,SAK9F,CAAC;AAEF,QAAA,MAAM,kBAAkB,GAAI,UAAU,oBAAoB,EAAE,iBAAiB,gBAAgB,SAK5F,CAAC;AAEF,QAAA,MAAM,aAAa,GAAI,UAAU,oBAAoB,EAAE,YAAY,OAAO,SAKzE,CAAC;AAEF,QAAA,MAAM,eAAe,GAAI,UAAU,oBAAoB,EAAE,cAAc,MAAM,SAK5E,CAAC;AAEF,QAAA,MAAM,gBAAgB,GAAI,UAAU,oBAAoB,EAAE,eAAe,OAAO,SAK/E,CAAC;AAEF,QAAA,MAAM,cAAc,GAChB,UAAU,oBAAoB,EAC9B,MAAM,iBAAiB,EAAE,EACzB,aAAa,OAAO,EACpB,WAAW,MAAM,GAAG,SAAS,SAMhC,CAAC;AAEF,QAAA,MAAM,aAAa,GAAI,UAAU,oBAAoB,EAAE,aAAa,OAAO,EAAE,WAAW,MAAM,GAAG,SAAS,SAKzG,CAAC;AAEF,QAAA,MAAM,gBAAgB,GAAI,UAAU,oBAAoB,EAAE,eAAe,OAAO,EAAE,oBAAoB,MAAM,SAK3G,CAAC;AAEF,OAAO,EACH,eAAe,EACf,WAAW,EACX,kBAAkB,EAClB,aAAa,EACb,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,aAAa,EACb,gBAAgB,GACnB,CAAC"}
|
|
@@ -1,12 +1,18 @@
|
|
|
1
1
|
var CaseListReducerEnum;
|
|
2
2
|
(function (CaseListReducerEnum) {
|
|
3
3
|
CaseListReducerEnum["updateState"] = "SET_STATE";
|
|
4
|
+
CaseListReducerEnum["appendDocs"] = "APPEND_DOCS";
|
|
4
5
|
})(CaseListReducerEnum || (CaseListReducerEnum = {}));
|
|
5
6
|
const caseListReducer = (state, action) => {
|
|
6
7
|
switch (action.type) {
|
|
7
8
|
case CaseListReducerEnum.updateState: {
|
|
8
9
|
return Object.assign(Object.assign({}, state), action.payload);
|
|
9
10
|
}
|
|
11
|
+
case CaseListReducerEnum.appendDocs: {
|
|
12
|
+
const { docs, hasNextPage, endCursor } = action.payload;
|
|
13
|
+
return Object.assign(Object.assign({}, state), { caseList: Object.assign(Object.assign({}, state.caseList), { docs: [...state.caseList.docs, ...docs] }), hasNextPage,
|
|
14
|
+
endCursor, isLoadingMore: false });
|
|
15
|
+
}
|
|
10
16
|
}
|
|
11
17
|
};
|
|
12
18
|
const setCaseList = (dispatch, caseList) => {
|
|
@@ -27,22 +33,34 @@ const setIsFetching = (dispatch, isFetching) => {
|
|
|
27
33
|
payload: { isFetching },
|
|
28
34
|
});
|
|
29
35
|
};
|
|
30
|
-
const
|
|
36
|
+
const setCurrentQuery = (dispatch, currentQuery) => {
|
|
31
37
|
dispatch({
|
|
32
38
|
type: CaseListReducerEnum.updateState,
|
|
33
|
-
payload: {
|
|
39
|
+
payload: { currentQuery },
|
|
34
40
|
});
|
|
35
41
|
};
|
|
36
|
-
const
|
|
42
|
+
const setIsLoadingMore = (dispatch, isLoadingMore) => {
|
|
37
43
|
dispatch({
|
|
38
44
|
type: CaseListReducerEnum.updateState,
|
|
39
|
-
payload: {
|
|
45
|
+
payload: { isLoadingMore },
|
|
40
46
|
});
|
|
41
47
|
};
|
|
42
|
-
const
|
|
48
|
+
const appendCaseList = (dispatch, docs, hasNextPage, endCursor) => {
|
|
49
|
+
dispatch({
|
|
50
|
+
type: CaseListReducerEnum.appendDocs,
|
|
51
|
+
payload: { docs, hasNextPage, endCursor },
|
|
52
|
+
});
|
|
53
|
+
};
|
|
54
|
+
const setCursorInfo = (dispatch, hasNextPage, endCursor) => {
|
|
43
55
|
dispatch({
|
|
44
56
|
type: CaseListReducerEnum.updateState,
|
|
45
|
-
payload: {
|
|
57
|
+
payload: { hasNextPage, endCursor },
|
|
58
|
+
});
|
|
59
|
+
};
|
|
60
|
+
const setLoadMoreError = (dispatch, loadMoreError, loadMoreRetryCount) => {
|
|
61
|
+
dispatch({
|
|
62
|
+
type: CaseListReducerEnum.updateState,
|
|
63
|
+
payload: { loadMoreError, loadMoreRetryCount, isLoadingMore: false },
|
|
46
64
|
});
|
|
47
65
|
};
|
|
48
|
-
export { caseListReducer, setCaseList, setChipsNameSsoMap, setIsFetching,
|
|
66
|
+
export { caseListReducer, setCaseList, setChipsNameSsoMap, setIsFetching, setCurrentQuery, setIsLoadingMore, appendCaseList, setCursorInfo, setLoadMoreError, };
|
|
@@ -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;AAO1F,OAAO,KAAyC,MAAM,OAAO,CAAC;AAO9D,UAAU,MAAM;IACZ,uBAAuB,EAAE,OAAO,CAAC;CACpC;AAED,eAAO,MAAM,gCAAgC,GAAI,SAAS,QAAQ,WAMjE,CAAC;AACF,eAAO,MAAM,+BAA+B,GAAI,SAAS,OAAO,CAAC,sBAAsB,CAAC,WAEvF,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI,cAAS,EAAE,eAAU,QACgC,CAAC;AAE/E,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,qBAqG3C"}
|
|
@@ -7,9 +7,9 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
7
7
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
8
|
});
|
|
9
9
|
};
|
|
10
|
-
import {
|
|
10
|
+
import { useApolloClient } from '@apollo/client/react';
|
|
11
11
|
import { AccountSelectorInternal } from '@rh-support/react-context';
|
|
12
|
-
import { getDropdownBtnPlaceholder } from '@rh-support/utils';
|
|
12
|
+
import { getDropdownBtnPlaceholder, SEARCH_ACCOUNTS } from '@rh-support/utils';
|
|
13
13
|
import differenceBy from 'lodash/differenceBy';
|
|
14
14
|
import filter from 'lodash/filter';
|
|
15
15
|
import remove from 'lodash/remove';
|
|
@@ -35,6 +35,7 @@ export function AccountsFilter(props) {
|
|
|
35
35
|
const { canReadBookmarkAccounts } = props;
|
|
36
36
|
const { filterInfo } = useContext(CaseListFilterStateContext);
|
|
37
37
|
const dispatch = useContext(CaseListFilterDispatchContext);
|
|
38
|
+
const apolloClient = useApolloClient();
|
|
38
39
|
const selectedAccounts = useMemo(() => filterInfo[SolrKeys.accountNumber]
|
|
39
40
|
.filter((item) => !Array.isArray(item.key))
|
|
40
41
|
.map((item) => ({
|
|
@@ -67,20 +68,26 @@ export function AccountsFilter(props) {
|
|
|
67
68
|
return;
|
|
68
69
|
function getAccountsWithoutNames() {
|
|
69
70
|
return __awaiter(this, void 0, void 0, function* () {
|
|
71
|
+
var _a, _b, _c, _d;
|
|
70
72
|
const allSelected = [...filterInfo[SolrKeys.accountNumber]];
|
|
71
73
|
const accountsWithoutNames = remove(allSelected, (item) => item.key === item.value);
|
|
72
74
|
if (accountsWithoutNames.length < 1)
|
|
73
75
|
return;
|
|
74
|
-
const
|
|
75
|
-
const params = {
|
|
76
|
-
fields,
|
|
77
|
-
orderBy: 'name',
|
|
78
|
-
orderDirection: 'asc',
|
|
79
|
-
accountNumberIn: accountsWithoutNames.map((item) => item.key).join(','),
|
|
80
|
-
};
|
|
76
|
+
const accountNumbers = accountsWithoutNames.map((item) => item.key);
|
|
81
77
|
try {
|
|
82
|
-
const
|
|
83
|
-
|
|
78
|
+
const { data } = yield apolloClient.query({
|
|
79
|
+
query: SEARCH_ACCOUNTS,
|
|
80
|
+
variables: {
|
|
81
|
+
where: { AccountNumber: { in: accountNumbers } },
|
|
82
|
+
first: accountNumbers.length,
|
|
83
|
+
},
|
|
84
|
+
fetchPolicy: 'network-only',
|
|
85
|
+
});
|
|
86
|
+
const edges = (_d = (_c = (_b = (_a = data === null || data === void 0 ? void 0 : data.salesforce_support_uiapi) === null || _a === void 0 ? void 0 : _a.query) === null || _b === void 0 ? void 0 : _b.SalesforceSupportAccount) === null || _c === void 0 ? void 0 : _c.edges) !== null && _d !== void 0 ? _d : [];
|
|
87
|
+
const keyValueMap = edges.map((edge) => ({
|
|
88
|
+
key: edge.node.AccountNumber.value,
|
|
89
|
+
value: edge.node.Name.value,
|
|
90
|
+
}));
|
|
84
91
|
updateFilter(dispatch, {
|
|
85
92
|
filterKey: SolrKeys.accountNumber,
|
|
86
93
|
values: [...keyValueMap, ...allSelected],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AdditionalFilters.d.ts","sourceRoot":"","sources":["../../../../../src/components/case-list/case-list-filters/AdditionalFilters.tsx"],"names":[],"mappings":"AAIA,OAAO,KAA0C,MAAM,OAAO,CAAC;AAO/D,wBAAgB,iBAAiB,
|
|
1
|
+
{"version":3,"file":"AdditionalFilters.d.ts","sourceRoot":"","sources":["../../../../../src/components/case-list/case-list-filters/AdditionalFilters.tsx"],"names":[],"mappings":"AAIA,OAAO,KAA0C,MAAM,OAAO,CAAC;AAO/D,wBAAgB,iBAAiB,sBAqGhC"}
|
|
@@ -14,6 +14,8 @@ export function AdditionalFilters() {
|
|
|
14
14
|
const dispatch = useContext(CaseListFilterDispatchContext);
|
|
15
15
|
const ability = useContext(AbilityContext);
|
|
16
16
|
const canAccessPrivateCaseFilter = ability.can(resourceActions.PATCH, resources.CASE_LIST, CaseListFields.PRIVATE_CASE_FILTER);
|
|
17
|
+
//canAccessPrivateCaseFilter is not used anywhere, so we need to void it to avoid linting error
|
|
18
|
+
void canAccessPrivateCaseFilter;
|
|
17
19
|
const { filterInfo: { case_customer_escalation, case_private }, } = useContext(CaseListFilterStateContext);
|
|
18
20
|
const onEscalatedChange = (checked) => {
|
|
19
21
|
updateFilter(dispatch, {
|
|
@@ -22,6 +24,8 @@ export function AdditionalFilters() {
|
|
|
22
24
|
});
|
|
23
25
|
setIsEscalated(checked);
|
|
24
26
|
};
|
|
27
|
+
// @ts-ignore - kept for future use when GraphQL supports private cases filter
|
|
28
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
25
29
|
const onisPrivateChange = (checked) => {
|
|
26
30
|
updateFilter(dispatch, {
|
|
27
31
|
filterKey: SolrKeys.isPrivate,
|
|
@@ -29,6 +33,7 @@ export function AdditionalFilters() {
|
|
|
29
33
|
});
|
|
30
34
|
setIsPrivate(checked);
|
|
31
35
|
};
|
|
36
|
+
void onisPrivateChange;
|
|
32
37
|
useEffect(() => {
|
|
33
38
|
var _a, _b;
|
|
34
39
|
updateFilter(dispatch, {
|
|
@@ -65,6 +70,5 @@ export function AdditionalFilters() {
|
|
|
65
70
|
React.createElement("div", { className: "additional-filters" },
|
|
66
71
|
React.createElement("h3", null,
|
|
67
72
|
React.createElement(Trans, null, "More")),
|
|
68
|
-
React.createElement(Checkbox, { label: t(AdditionalFilterLabels[SolrKeys.escalation]), isChecked: escalated, onChange: (_event, checked) => onEscalatedChange(checked), "aria-label": t(AdditionalFilterLabels[SolrKeys.escalation]), id: "escalated", name: "escalated", "data-tracking-id": "escalated-filter-selector" })
|
|
69
|
-
canAccessPrivateCaseFilter && (React.createElement(Checkbox, { label: t(AdditionalFilterLabels[SolrKeys.isPrivate]), isChecked: isPrivate, onChange: (_event, checked) => onisPrivateChange(checked), "aria-label": t(AdditionalFilterLabels[SolrKeys.isPrivate]), id: "private", name: "private", "data-tracking-id": "private-filter-selector" })))));
|
|
73
|
+
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" }))));
|
|
70
74
|
}
|
|
@@ -1,9 +1,3 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
|
|
3
|
-
interface IProps {
|
|
4
|
-
productVersionPivotValues: IProductVersionPivotMap[];
|
|
5
|
-
isSolrSearchDown: boolean;
|
|
6
|
-
}
|
|
7
|
-
export declare function CaseListFilterChips(props: IProps): React.JSX.Element;
|
|
8
|
-
export {};
|
|
2
|
+
export declare function CaseListFilterChips(): React.JSX.Element;
|
|
9
3
|
//# 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":"AAMA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAU1C,wBAAgB,mBAAmB,sBA+HlC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Button, Label, LabelGroup } from '@patternfly/react-core';
|
|
2
|
+
import { AbilityContext, CaseListFields, resourceActions, resources } from '@rh-support/user-permissions';
|
|
2
3
|
import { toNewCaseTypeMapper, toOldCaseTypeSwitcher } from '@rh-support/utils';
|
|
3
4
|
import flatMap from 'lodash/flatMap';
|
|
4
5
|
import remove from 'lodash/remove';
|
|
@@ -7,15 +8,17 @@ import { Trans } from 'react-i18next';
|
|
|
7
8
|
import { ProductVersionKey, SolrKeys, SolrPivotKeys } from '../../../enums/filters';
|
|
8
9
|
import { filterNamesMap } from '../../../utils/constants';
|
|
9
10
|
import { CaseListFilterDispatchContext, CaseListFilterStateContext } from '../CaseListFilterContext';
|
|
10
|
-
import { visibleFilterChipsWhenSolrDownSfdcUp } from '../CaseListFilterHelpers';
|
|
11
11
|
import { clearFilters, removeFilterItem } from '../CaseListFilterReducer';
|
|
12
12
|
import { CreatorSsoNameFilterChip } from './CreatorSsoNameFilterChip';
|
|
13
13
|
import { ProductFilterChip } from './ProductFilterChip';
|
|
14
|
-
export function CaseListFilterChips(
|
|
14
|
+
export function CaseListFilterChips() {
|
|
15
|
+
const ability = useContext(AbilityContext);
|
|
15
16
|
const { filterInfo } = useContext(CaseListFilterStateContext);
|
|
16
17
|
const dispatch = useContext(CaseListFilterDispatchContext);
|
|
18
|
+
const canUseAdvancedSearch = ability.can(resourceActions.PATCH, resources.CASE_LIST, CaseListFields.ADVANCED_SEARCH);
|
|
17
19
|
const currentFilterLength = flatMap(filterInfo).length;
|
|
18
20
|
const isAnyFilterApplied = currentFilterLength > 0;
|
|
21
|
+
const shouldShowFilterChips = isAnyFilterApplied && !canUseAdvancedSearch;
|
|
19
22
|
const deleteChip = (filterKey, value) => () => {
|
|
20
23
|
removeFilterItem(dispatch, { filterKey, value });
|
|
21
24
|
};
|
|
@@ -37,15 +40,10 @@ export function CaseListFilterChips(props) {
|
|
|
37
40
|
};
|
|
38
41
|
const getChipGroupForFilter = (filterKey, filterValues, groupName = '') => {
|
|
39
42
|
const caseTypeFilter = filterKey === 'case_type' ? toNewCaseTypeMapper(filterValues) : filterValues;
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
return (React.createElement("div", { className: "filter-chip", key: `${filterKey}-bookmarks-${groupName}` },
|
|
45
|
-
React.createElement("span", { className: "filter-chip__heading" },
|
|
46
|
-
React.createElement(Trans, null, groupName || filterNamesMap[filterKey] || filterKey)),
|
|
47
|
-
React.createElement(LabelGroup, { numLabels: 7, className: "pf-v6-c-chip-group__simple" }, renderFilterValueChips(filterKey, caseTypeFilter, groupName))));
|
|
48
|
-
}
|
|
43
|
+
return (React.createElement("div", { className: "filter-chip", key: `${filterKey}-bookmarks-${groupName}` },
|
|
44
|
+
React.createElement("span", { className: "filter-chip__heading" },
|
|
45
|
+
React.createElement(Trans, null, groupName || filterNamesMap[filterKey] || filterKey)),
|
|
46
|
+
React.createElement(LabelGroup, { numLabels: 7, className: "pf-v6-c-chip-group__simple" }, renderFilterValueChips(filterKey, caseTypeFilter, groupName))));
|
|
49
47
|
};
|
|
50
48
|
const renderAccountFilterChip = () => {
|
|
51
49
|
const visibleChips = [];
|
|
@@ -83,13 +81,11 @@ export function CaseListFilterChips(props) {
|
|
|
83
81
|
const showUsernameFilter = (Array.isArray(filterInfo[SolrKeys.createdBySsoUsername]) &&
|
|
84
82
|
filterInfo[SolrKeys.createdBySsoUsername].length > 0) ||
|
|
85
83
|
(Array.isArray(filterInfo[SolrKeys.caseContactSSO]) && filterInfo[SolrKeys.caseContactSSO].length > 0);
|
|
86
|
-
return (React.createElement(React.Fragment, null,
|
|
84
|
+
return (React.createElement(React.Fragment, null, shouldShowFilterChips && (React.createElement("div", { className: "filter-chip-wrapper" },
|
|
87
85
|
React.createElement("h2", null, "Filtering by"),
|
|
88
86
|
React.createElement("div", { className: "filter-chips" },
|
|
89
|
-
Array.isArray(filterInfo[ProductVersionKey]) && filterInfo[ProductVersionKey].length > 0 && (React.createElement(ProductFilterChip, { productList:
|
|
90
|
-
|
|
91
|
-
: filterInfo[ProductVersionKey], productVersionPivot: props.productVersionPivotValues })),
|
|
92
|
-
!props.isSolrSearchDown && showUsernameFilter && React.createElement(CreatorSsoNameFilterChip, null),
|
|
87
|
+
Array.isArray(filterInfo[ProductVersionKey]) && filterInfo[ProductVersionKey].length > 0 && (React.createElement(ProductFilterChip, { productList: filterInfo[ProductVersionKey] })),
|
|
88
|
+
showUsernameFilter && React.createElement(CreatorSsoNameFilterChip, null),
|
|
93
89
|
renderChips(),
|
|
94
90
|
currentFilterLength > 1 && (React.createElement(Button, { variant: "link", isInline: true, onClick: clearAllFilters, "data-tracking-id": "case-list-clear-filters", className: "clear-filters" },
|
|
95
91
|
React.createElement(Trans, null, "Clear all filters"))))))));
|
|
@@ -1,15 +1,12 @@
|
|
|
1
1
|
import { IApiResponseDetails } from '@rh-support/types/shared';
|
|
2
|
-
import {
|
|
2
|
+
import { ITroubleshootProductResponse } from '@rh-support/utils';
|
|
3
3
|
import React from 'react';
|
|
4
|
-
import { IFacetFields } from '../../../models/caseList';
|
|
5
4
|
interface IProps {
|
|
6
|
-
filterValues: ISolrResponseToFacetFields<IFacetFields>;
|
|
7
|
-
isSolrSearchDown: boolean;
|
|
8
5
|
allCaseTypes: IApiResponseDetails<string[]>;
|
|
9
6
|
allCaseStatuses: IApiResponseDetails<string[]>;
|
|
10
7
|
allCaseSeverities: IApiResponseDetails<string[]>;
|
|
11
8
|
allProducts: IApiResponseDetails<ITroubleshootProductResponse>;
|
|
12
9
|
}
|
|
13
|
-
export declare const CaseListFilters: ({
|
|
10
|
+
export declare const CaseListFilters: ({ allCaseTypes, allCaseSeverities, allCaseStatuses, allProducts }: IProps) => React.JSX.Element;
|
|
14
11
|
export {};
|
|
15
12
|
//# sourceMappingURL=CaseListFilters.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CaseListFilters.d.ts","sourceRoot":"","sources":["../../../../../src/components/case-list/case-list-filters/CaseListFilters.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"CaseListFilters.d.ts","sourceRoot":"","sources":["../../../../../src/components/case-list/case-list-filters/CaseListFilters.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,OAAO,EAAE,4BAA4B,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,KAAqB,MAAM,OAAO,CAAC;AAY1C,UAAU,MAAM;IACZ,YAAY,EAAE,mBAAmB,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5C,eAAe,EAAE,mBAAmB,CAAC,MAAM,EAAE,CAAC,CAAC;IAC/C,iBAAiB,EAAE,mBAAmB,CAAC,MAAM,EAAE,CAAC,CAAC;IACjD,WAAW,EAAE,mBAAmB,CAAC,4BAA4B,CAAC,CAAC;CAClE;AAED,eAAO,MAAM,eAAe,GAAI,mEAAmE,MAAM,sBAgExG,CAAC"}
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
import { AbilityContext, CaseListFields, resourceActions, resources } from '@rh-support/user-permissions';
|
|
2
|
-
import get from 'lodash/get';
|
|
3
2
|
import React, { useContext } from 'react';
|
|
4
|
-
import { SolrKeys } from '../../../enums/filters';
|
|
5
3
|
import { AccountsBookmarkedGroupFilter } from './AccountsBookmarkedGroupFilter';
|
|
6
4
|
import { AccountsFilter } from './AccountsFilter';
|
|
7
5
|
import { AdditionalFilters } from './AdditionalFilters';
|
|
@@ -11,9 +9,7 @@ import { ProductsFilter } from './ProductsFilter';
|
|
|
11
9
|
import { SeverityFilter } from './SeverityFilter';
|
|
12
10
|
import { StatusFilter } from './StatusFilter';
|
|
13
11
|
import { TypeFilter } from './TypeFilter';
|
|
14
|
-
|
|
15
|
-
// it get included in the solr search query fq parameter
|
|
16
|
-
export const CaseListFilters = ({ filterValues, allCaseTypes, allCaseSeverities, allCaseStatuses, allProducts, isSolrSearchDown, }) => {
|
|
12
|
+
export const CaseListFilters = ({ allCaseTypes, allCaseSeverities, allCaseStatuses, allProducts }) => {
|
|
17
13
|
var _a, _b;
|
|
18
14
|
const ability = useContext(AbilityContext);
|
|
19
15
|
const canReadAccountFilter = ability.can(resourceActions.READ, resources.ACCOUNTS_FILTER);
|
|
@@ -29,13 +25,16 @@ export const CaseListFilters = ({ filterValues, allCaseTypes, allCaseSeverities,
|
|
|
29
25
|
const canAccessTypeFilter = ability.can(resourceActions.PATCH, resources.CASE_LIST, CaseListFields.TYPE_FILTER);
|
|
30
26
|
return (React.createElement(React.Fragment, null,
|
|
31
27
|
React.createElement("div", { className: "filter-group" },
|
|
32
|
-
|
|
33
|
-
|
|
28
|
+
canReadAccountFilter && React.createElement(AccountsFilter, { canReadBookmarkAccounts: canReadAccountFilter }),
|
|
29
|
+
(canReadBookmarkAccounts || canAccessManagedAccounts) && (React.createElement(AccountsBookmarkedGroupFilter, { canManageBookmarkAccounts: canManageBookmarkAccounts, canReadBookmarkAccounts: canReadBookmarkAccounts, canAccessManagedAccounts: canAccessManagedAccounts })),
|
|
34
30
|
canAccessGroupsFilter && React.createElement(GroupsFilter, null),
|
|
35
|
-
canAccessProductsFilter && (React.createElement(ProductsFilter, {
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
31
|
+
canAccessProductsFilter && (React.createElement(ProductsFilter, { allProducts: ((_b = (_a = allProducts.data) === null || _a === void 0 ? void 0 : _a.productsResult) === null || _b === void 0 ? void 0 : _b.map((p) => ({
|
|
32
|
+
name: p.product,
|
|
33
|
+
productId: p.productId,
|
|
34
|
+
}))) || [] })),
|
|
35
|
+
canAccessSeverityFilter && React.createElement(SeverityFilter, { allCaseSeverities: allCaseSeverities.data }),
|
|
36
|
+
canAccessStatusFilter && React.createElement(StatusFilter, { allCaseStatuses: allCaseStatuses.data }),
|
|
37
|
+
canAccessTypeFilter && React.createElement(TypeFilter, { allCaseTypes: allCaseTypes.data }),
|
|
38
|
+
canAccessCreatorFilter && React.createElement(CreatorSsoNameFilter, null),
|
|
39
|
+
canAccessAdditionalFilter && React.createElement(AdditionalFilters, null))));
|
|
41
40
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreatorSsoNameFilterChip.d.ts","sourceRoot":"","sources":["../../../../../src/components/case-list/case-list-filters/CreatorSsoNameFilterChip.tsx"],"names":[],"mappings":"AAKA,OAAO,KAA0C,MAAM,OAAO,CAAC;AAU/D,wBAAgB,wBAAwB,
|
|
1
|
+
{"version":3,"file":"CreatorSsoNameFilterChip.d.ts","sourceRoot":"","sources":["../../../../../src/components/case-list/case-list-filters/CreatorSsoNameFilterChip.tsx"],"names":[],"mappings":"AAKA,OAAO,KAA0C,MAAM,OAAO,CAAC;AAU/D,wBAAgB,wBAAwB,sBA0IvC"}
|
|
@@ -69,6 +69,9 @@ export function CreatorSsoNameFilterChip() {
|
|
|
69
69
|
}, []);
|
|
70
70
|
setChips(valueLabelArray);
|
|
71
71
|
};
|
|
72
|
+
// Advance search stores raw name/SSO text in filterInfo. Resolution uses ssoUsernameIn, so a
|
|
73
|
+
// short first name can match another contact's SSO and show the wrong chip label; filtering still
|
|
74
|
+
// works — users should enter full name or SSO when the label matters.
|
|
72
75
|
const getInternalContactNames = (contacts) => __awaiter(this, void 0, void 0, function* () {
|
|
73
76
|
const res = yield getInternalUserContactsList({
|
|
74
77
|
internal: false,
|
|
@@ -1,3 +1,13 @@
|
|
|
1
|
+
import { IKeyValue } from '@rh-support/types/shared';
|
|
1
2
|
import React from 'react';
|
|
2
|
-
export
|
|
3
|
+
export interface GroupsFilterProps {
|
|
4
|
+
/** When set with onGroupsChange, the filter is controlled (e.g. advanced search). */
|
|
5
|
+
selectedGroups?: Array<IKeyValue<string>>;
|
|
6
|
+
onGroupsChange?: (groups: Array<IKeyValue<string>>) => void;
|
|
7
|
+
hideLabel?: boolean;
|
|
8
|
+
idPrefix?: string;
|
|
9
|
+
showSelectionCountBadge?: boolean;
|
|
10
|
+
placeholder?: string;
|
|
11
|
+
}
|
|
12
|
+
export declare function GroupsFilter({ selectedGroups: controlledSelectedGroups, onGroupsChange, hideLabel, idPrefix, showSelectionCountBadge, placeholder: placeholderProp, }?: GroupsFilterProps): React.JSX.Element;
|
|
3
13
|
//# sourceMappingURL=GroupsFilter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GroupsFilter.d.ts","sourceRoot":"","sources":["../../../../../src/components/case-list/case-list-filters/GroupsFilter.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"GroupsFilter.d.ts","sourceRoot":"","sources":["../../../../../src/components/case-list/case-list-filters/GroupsFilter.tsx"],"names":[],"mappings":"AAgBA,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAUrD,OAAO,KAA2D,MAAM,OAAO,CAAC;AAShF,MAAM,WAAW,iBAAiB;IAC9B,qFAAqF;IACrF,cAAc,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1C,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,KAAK,IAAI,CAAC;IAC5D,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AAID,wBAAgB,YAAY,CAAC,EACzB,cAAc,EAAE,wBAAwB,EACxC,cAAc,EACd,SAAiB,EACjB,QAAmC,EACnC,uBAA+B,EAC/B,WAAW,EAAE,eAAe,GAC/B,GAAE,iBAAsB,qBAuTxB"}
|