@rh-support/cases 2.6.235 → 2.7.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (174) hide show
  1. package/lib/esm/components/case/NewCaseButton.js +1 -1
  2. package/lib/esm/components/case-list/CaseList.d.ts +0 -7
  3. package/lib/esm/components/case-list/CaseList.d.ts.map +1 -1
  4. package/lib/esm/components/case-list/CaseList.js +372 -137
  5. package/lib/esm/components/case-list/CaseListContext.d.ts.map +1 -1
  6. package/lib/esm/components/case-list/CaseListContext.js +5 -2
  7. package/lib/esm/components/case-list/CaseListFilterContext.d.ts.map +1 -1
  8. package/lib/esm/components/case-list/CaseListFilterContext.js +2 -1
  9. package/lib/esm/components/case-list/CaseListFilterHelpers.d.ts +3 -2
  10. package/lib/esm/components/case-list/CaseListFilterHelpers.d.ts.map +1 -1
  11. package/lib/esm/components/case-list/CaseListFilterHelpers.js +19 -6
  12. package/lib/esm/components/case-list/CaseListFilterReducer.d.ts +36 -4
  13. package/lib/esm/components/case-list/CaseListFilterReducer.d.ts.map +1 -1
  14. package/lib/esm/components/case-list/CaseListFilterReducer.js +6 -12
  15. package/lib/esm/components/case-list/CaseListReducer.d.ts +22 -10
  16. package/lib/esm/components/case-list/CaseListReducer.d.ts.map +1 -1
  17. package/lib/esm/components/case-list/CaseListReducer.js +25 -7
  18. package/lib/esm/components/case-list/case-list-filters/AccountsFilter.d.ts.map +1 -1
  19. package/lib/esm/components/case-list/case-list-filters/AccountsFilter.js +18 -11
  20. package/lib/esm/components/case-list/case-list-filters/AdditionalFilters.d.ts.map +1 -1
  21. package/lib/esm/components/case-list/case-list-filters/AdditionalFilters.js +20 -4
  22. package/lib/esm/components/case-list/case-list-filters/CaseLabelsFilter.d.ts +3 -0
  23. package/lib/esm/components/case-list/case-list-filters/CaseLabelsFilter.d.ts.map +1 -0
  24. package/lib/esm/components/case-list/case-list-filters/CaseLabelsFilter.js +178 -0
  25. package/lib/esm/components/case-list/case-list-filters/CaseListFilterChips.d.ts +1 -7
  26. package/lib/esm/components/case-list/case-list-filters/CaseListFilterChips.d.ts.map +1 -1
  27. package/lib/esm/components/case-list/case-list-filters/CaseListFilterChips.js +12 -16
  28. package/lib/esm/components/case-list/case-list-filters/CaseListFilters.d.ts +2 -5
  29. package/lib/esm/components/case-list/case-list-filters/CaseListFilters.d.ts.map +1 -1
  30. package/lib/esm/components/case-list/case-list-filters/CaseListFilters.js +14 -13
  31. package/lib/esm/components/case-list/case-list-filters/CreatorSsoNameFilter.d.ts.map +1 -1
  32. package/lib/esm/components/case-list/case-list-filters/CreatorSsoNameFilter.js +21 -14
  33. package/lib/esm/components/case-list/case-list-filters/CreatorSsoNameFilterChip.d.ts.map +1 -1
  34. package/lib/esm/components/case-list/case-list-filters/CreatorSsoNameFilterChip.js +3 -0
  35. package/lib/esm/components/case-list/case-list-filters/GroupsFilter.d.ts +11 -1
  36. package/lib/esm/components/case-list/case-list-filters/GroupsFilter.d.ts.map +1 -1
  37. package/lib/esm/components/case-list/case-list-filters/GroupsFilter.js +90 -70
  38. package/lib/esm/components/case-list/case-list-filters/ProductFilterChip.d.ts +1 -3
  39. package/lib/esm/components/case-list/case-list-filters/ProductFilterChip.d.ts.map +1 -1
  40. package/lib/esm/components/case-list/case-list-filters/ProductFilterChip.js +2 -2
  41. package/lib/esm/components/case-list/case-list-filters/ProductsFilter.d.ts +5 -4
  42. package/lib/esm/components/case-list/case-list-filters/ProductsFilter.d.ts.map +1 -1
  43. package/lib/esm/components/case-list/case-list-filters/ProductsFilter.js +15 -54
  44. package/lib/esm/components/case-list/case-list-filters/SeverityFilter.d.ts +0 -3
  45. package/lib/esm/components/case-list/case-list-filters/SeverityFilter.d.ts.map +1 -1
  46. package/lib/esm/components/case-list/case-list-filters/SeverityFilter.js +18 -44
  47. package/lib/esm/components/case-list/case-list-filters/StatusFilter.d.ts +0 -3
  48. package/lib/esm/components/case-list/case-list-filters/StatusFilter.d.ts.map +1 -1
  49. package/lib/esm/components/case-list/case-list-filters/StatusFilter.js +23 -49
  50. package/lib/esm/components/case-list/case-list-filters/VersionsFilter.d.ts +1 -3
  51. package/lib/esm/components/case-list/case-list-filters/VersionsFilter.d.ts.map +1 -1
  52. package/lib/esm/components/case-list/case-list-filters/VersionsFilter.js +60 -59
  53. package/lib/esm/components/case-list/case-list-table/ArchivedCaseLabel.d.ts +3 -0
  54. package/lib/esm/components/case-list/case-list-table/ArchivedCaseLabel.d.ts.map +1 -0
  55. package/lib/esm/components/case-list/case-list-table/ArchivedCaseLabel.js +8 -0
  56. package/lib/esm/components/case-list/case-list-table/CaseListLabelGroup.d.ts +9 -0
  57. package/lib/esm/components/case-list/case-list-table/CaseListLabelGroup.d.ts.map +1 -0
  58. package/lib/esm/components/case-list/case-list-table/CaseListLabelGroup.js +105 -0
  59. package/lib/esm/components/case-list/case-list-table/CaseListTable.d.ts +10 -3
  60. package/lib/esm/components/case-list/case-list-table/CaseListTable.d.ts.map +1 -1
  61. package/lib/esm/components/case-list/case-list-table/CaseListTable.js +98 -84
  62. package/lib/esm/components/case-list/case-list-table/CaseListTableRow.d.ts +33 -0
  63. package/lib/esm/components/case-list/case-list-table/CaseListTableRow.d.ts.map +1 -0
  64. package/lib/esm/components/case-list/case-list-table/CaseListTableRow.js +51 -0
  65. package/lib/esm/components/case-list/case-list-table/CaseListTableSkeletonRow.d.ts +9 -0
  66. package/lib/esm/components/case-list/case-list-table/CaseListTableSkeletonRow.d.ts.map +1 -0
  67. package/lib/esm/components/case-list/case-list-table/CaseListTableSkeletonRow.js +10 -0
  68. package/lib/esm/components/case-list/case-list-table/CloseCaseBtn.d.ts.map +1 -1
  69. package/lib/esm/components/case-list/case-list-table/CloseCaseBtn.js +27 -28
  70. package/lib/esm/components/case-list/case-list-table/DownloadCSVFileModal.d.ts +0 -5
  71. package/lib/esm/components/case-list/case-list-table/DownloadCSVFileModal.d.ts.map +1 -1
  72. package/lib/esm/components/case-list/case-list-table/DownloadCSVFileModal.js +51 -70
  73. package/lib/esm/components/case-list/case-list-table/ExportCaseListCSV.d.ts.map +1 -1
  74. package/lib/esm/components/case-list/case-list-table/ExportCaseListCSV.js +5 -15
  75. package/lib/esm/components/case-list/case-list-table/SeverityLabel.js +1 -1
  76. package/lib/esm/components/case-list/case-list-table/TableActionsDropdown.d.ts.map +1 -1
  77. package/lib/esm/components/case-list/case-list-table/TableActionsDropdown.js +4 -5
  78. package/lib/esm/components/case-list/case-list-table/table-column-selector/TableColumnSelector.d.ts.map +1 -1
  79. package/lib/esm/components/case-list/case-list-table/table-column-selector/TableColumnSelector.js +1 -0
  80. package/lib/esm/components/case-list/case-search/AdvanceSearchToggleButton.d.ts +8 -0
  81. package/lib/esm/components/case-list/case-search/AdvanceSearchToggleButton.d.ts.map +1 -0
  82. package/lib/esm/components/case-list/case-search/AdvanceSearchToggleButton.js +8 -0
  83. package/lib/esm/components/case-list/case-search/BookmarkedSearchesSelector.d.ts.map +1 -1
  84. package/lib/esm/components/case-list/case-search/BookmarkedSearchesSelector.js +15 -2
  85. package/lib/esm/components/case-list/case-search/CaseSearch.d.ts.map +1 -1
  86. package/lib/esm/components/case-list/case-search/CaseSearch.js +55 -24
  87. package/lib/esm/components/case-list/case-search/advance-search-modal/AdvanceSearchAccountSection.d.ts +10 -0
  88. package/lib/esm/components/case-list/case-search/advance-search-modal/AdvanceSearchAccountSection.d.ts.map +1 -0
  89. package/lib/esm/components/case-list/case-search/advance-search-modal/AdvanceSearchAccountSection.js +29 -0
  90. package/lib/esm/components/case-list/case-search/advance-search-modal/AdvanceSearchAuditsSection.d.ts +10 -0
  91. package/lib/esm/components/case-list/case-search/advance-search-modal/AdvanceSearchAuditsSection.d.ts.map +1 -0
  92. package/lib/esm/components/case-list/case-search/advance-search-modal/AdvanceSearchAuditsSection.js +16 -0
  93. package/lib/esm/components/case-list/case-search/advance-search-modal/AdvanceSearchCaseSection.d.ts +9 -0
  94. package/lib/esm/components/case-list/case-search/advance-search-modal/AdvanceSearchCaseSection.d.ts.map +1 -0
  95. package/lib/esm/components/case-list/case-search/advance-search-modal/AdvanceSearchCaseSection.js +21 -0
  96. package/lib/esm/components/case-list/case-search/advance-search-modal/AdvanceSearchDateRangeField.d.ts +12 -0
  97. package/lib/esm/components/case-list/case-search/advance-search-modal/AdvanceSearchDateRangeField.d.ts.map +1 -0
  98. package/lib/esm/components/case-list/case-search/advance-search-modal/AdvanceSearchDateRangeField.js +31 -0
  99. package/lib/esm/components/case-list/case-search/advance-search-modal/AdvanceSearchFieldBlock.d.ts +10 -0
  100. package/lib/esm/components/case-list/case-search/advance-search-modal/AdvanceSearchFieldBlock.d.ts.map +1 -0
  101. package/lib/esm/components/case-list/case-search/advance-search-modal/AdvanceSearchFieldBlock.js +10 -0
  102. package/lib/esm/components/case-list/case-search/advance-search-modal/AdvanceSearchModal.d.ts +10 -0
  103. package/lib/esm/components/case-list/case-search/advance-search-modal/AdvanceSearchModal.d.ts.map +1 -0
  104. package/lib/esm/components/case-list/case-search/advance-search-modal/AdvanceSearchModal.js +92 -0
  105. package/lib/esm/components/case-list/case-search/advance-search-modal/AdvanceSearchOwnerSection.d.ts +9 -0
  106. package/lib/esm/components/case-list/case-search/advance-search-modal/AdvanceSearchOwnerSection.d.ts.map +1 -0
  107. package/lib/esm/components/case-list/case-search/advance-search-modal/AdvanceSearchOwnerSection.js +20 -0
  108. package/lib/esm/components/case-list/case-search/advance-search-modal/AdvanceSearchProductSection.d.ts +9 -0
  109. package/lib/esm/components/case-list/case-search/advance-search-modal/AdvanceSearchProductSection.d.ts.map +1 -0
  110. package/lib/esm/components/case-list/case-search/advance-search-modal/AdvanceSearchProductSection.js +28 -0
  111. package/lib/esm/components/case-list/case-search/advance-search-modal/ProductVersionDrilldownSelect.d.ts +9 -0
  112. package/lib/esm/components/case-list/case-search/advance-search-modal/ProductVersionDrilldownSelect.d.ts.map +1 -0
  113. package/lib/esm/components/case-list/case-search/advance-search-modal/ProductVersionDrilldownSelect.js +241 -0
  114. package/lib/esm/components/case-list/case-search/advance-search-modal/SelectableLabelFilter.d.ts +11 -0
  115. package/lib/esm/components/case-list/case-search/advance-search-modal/SelectableLabelFilter.d.ts.map +1 -0
  116. package/lib/esm/components/case-list/case-search/advance-search-modal/SelectableLabelFilter.js +23 -0
  117. package/lib/esm/components/case-list/case-search/useAdvanceSearchParser.d.ts.map +1 -1
  118. package/lib/esm/components/case-list/case-search/useAdvanceSearchParser.js +2 -1
  119. package/lib/esm/css/caseList.css +197 -28
  120. package/lib/esm/css/caseSearch.css +114 -0
  121. package/lib/esm/enums/case.d.ts +13 -5
  122. package/lib/esm/enums/case.d.ts.map +1 -1
  123. package/lib/esm/enums/case.js +23 -3
  124. package/lib/esm/enums/caseSearch.d.ts +3 -0
  125. package/lib/esm/enums/caseSearch.d.ts.map +1 -1
  126. package/lib/esm/enums/caseSearch.js +2 -1
  127. package/lib/esm/enums/filters.d.ts +5 -1
  128. package/lib/esm/enums/filters.d.ts.map +1 -1
  129. package/lib/esm/enums/filters.js +4 -0
  130. package/lib/esm/hooks/useCaseLabels.d.ts +14 -0
  131. package/lib/esm/hooks/useCaseLabels.d.ts.map +1 -0
  132. package/lib/esm/hooks/useCaseLabels.js +50 -0
  133. package/lib/esm/hooks/useCloseCase.d.ts +1 -1
  134. package/lib/esm/hooks/useCloseCase.d.ts.map +1 -1
  135. package/lib/esm/hooks/useCloseCase.js +54 -30
  136. package/lib/esm/hooks/useExportCaseListCSV.d.ts.map +1 -1
  137. package/lib/esm/hooks/useExportCaseListCSV.js +1 -9
  138. package/lib/esm/hooks/useFilterStateOnLoad.d.ts +1 -1
  139. package/lib/esm/hooks/useFilterStateOnLoad.d.ts.map +1 -1
  140. package/lib/esm/hooks/useFilterStateOnLoad.js +7 -5
  141. package/lib/esm/index.js +1 -0
  142. package/lib/esm/models/caseList.d.ts +1 -0
  143. package/lib/esm/models/caseList.d.ts.map +1 -1
  144. package/lib/esm/test-utils/mockData.d.ts +1 -0
  145. package/lib/esm/test-utils/mockData.d.ts.map +1 -1
  146. package/lib/esm/test-utils/mockData.js +2 -1
  147. package/lib/esm/utils/advanceSearchFormMapper.d.ts +11 -0
  148. package/lib/esm/utils/advanceSearchFormMapper.d.ts.map +1 -0
  149. package/lib/esm/utils/advanceSearchFormMapper.js +71 -0
  150. package/lib/esm/utils/advanceSearchUtils.d.ts +24 -0
  151. package/lib/esm/utils/advanceSearchUtils.d.ts.map +1 -0
  152. package/lib/esm/utils/advanceSearchUtils.js +150 -0
  153. package/lib/esm/utils/caseGroupDefaultFilterUtils.d.ts +12 -0
  154. package/lib/esm/utils/caseGroupDefaultFilterUtils.d.ts.map +1 -0
  155. package/lib/esm/utils/caseGroupDefaultFilterUtils.js +34 -0
  156. package/lib/esm/utils/caseGroupDefaultUtils.d.ts +10 -0
  157. package/lib/esm/utils/caseGroupDefaultUtils.d.ts.map +1 -0
  158. package/lib/esm/utils/caseGroupDefaultUtils.js +20 -0
  159. package/lib/esm/utils/caseListGraphQLUtils.d.ts +28 -0
  160. package/lib/esm/utils/caseListGraphQLUtils.d.ts.map +1 -0
  161. package/lib/esm/utils/caseListGraphQLUtils.js +304 -0
  162. package/lib/esm/utils/caseListMapper.d.ts +6 -0
  163. package/lib/esm/utils/caseListMapper.d.ts.map +1 -0
  164. package/lib/esm/utils/caseListMapper.js +47 -0
  165. package/lib/esm/utils/caseListVariablesBuilder.d.ts +17 -0
  166. package/lib/esm/utils/caseListVariablesBuilder.d.ts.map +1 -0
  167. package/lib/esm/utils/caseListVariablesBuilder.js +535 -0
  168. package/lib/esm/utils/caseSearchUtils.d.ts.map +1 -1
  169. package/lib/esm/utils/caseSearchUtils.js +39 -2
  170. package/lib/esm/utils/constants.d.ts +4 -1
  171. package/lib/esm/utils/constants.d.ts.map +1 -1
  172. package/lib/esm/utils/constants.js +9 -2
  173. package/lib/esm/utils/mockSolrResponse.js +1 -1
  174. package/package.json +8 -6
@@ -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;AAEvE,QAAA,MAAM,uBAAuB,qCAAmE,CAAC;AAEjG,QAAA,MAAM,uBAAuB,sBAAyC,CAAC;AACvE,QAAA,MAAM,0BAA0B,4BAA4C,CAAC;AAE7E,iBAAS,gBAAgB,CAAC,EAAE,QAAQ,EAAE;;CAAA,qBAOrC;AAED,OAAO,EACH,oBAAoB,EACpB,uBAAuB,EACvB,gBAAgB,EAChB,uBAAuB,EACvB,0BAA0B,GAC7B,CAAC"}
1
+ {"version":3,"file":"CaseListContext.d.ts","sourceRoot":"","sources":["../../../../src/components/case-list/CaseListContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAE1C,OAAO,EAAE,oBAAoB,EAAmB,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAE1F,eAAO,MAAM,oBAAoB,EAAE,cAclC,CAAC;AAIF,QAAA,MAAM,oBAAoB,+BAA4C,CAAC;AAEvE,QAAA,MAAM,uBAAuB,qCAAmE,CAAC;AAEjG,QAAA,MAAM,uBAAuB,sBAAyC,CAAC;AACvE,QAAA,MAAM,0BAA0B,4BAA4C,CAAC;AAE7E,iBAAS,gBAAgB,CAAC,EAAE,QAAQ,EAAE;;CAAA,qBAOrC;AAED,OAAO,EACH,oBAAoB,EACpB,uBAAuB,EACvB,gBAAgB,EAChB,uBAAuB,EACvB,0BAA0B,GAC7B,CAAC"}
@@ -7,9 +7,12 @@ export const initialCaseListState = {
7
7
  start: 0,
8
8
  },
9
9
  isFetching: false,
10
+ isLoadingMore: false,
11
+ hasNextPage: false,
12
+ endCursor: undefined,
13
+ loadMoreError: false,
14
+ loadMoreRetryCount: 0,
10
15
  chipsNameSsoMap: {},
11
- filterValuesFromFacetResponse: null,
12
- pivotValues: null,
13
16
  currentQuery: undefined,
14
17
  };
15
18
  const initalDispatchContext = null;
@@ -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,qBAO3C;AAED,OAAO,EACH,0BAA0B,EAC1B,6BAA6B,EAC7B,sBAAsB,EACtB,qBAAqB,EACrB,eAAe,GAClB,CAAC"}
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;AAIjC,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,8 +1,9 @@
1
1
  import React from 'react';
2
2
  import { CaseSearchQueryType } from '../../enums/caseSearch';
3
3
  import { caseListFilterReducer, initialFilterInfo, } from './CaseListFilterReducer';
4
+ const SMALL_SCREEN_THRESHOLD = 900;
4
5
  const initialPaginationInfo = {
5
- pageSize: 10,
6
+ pageSize: typeof window !== 'undefined' && window.innerHeight < SMALL_SCREEN_THRESHOLD ? 10 : 20,
6
7
  currentPage: 1,
7
8
  };
8
9
  const initialSortInfo = {
@@ -1,7 +1,8 @@
1
1
  import { SolrKeys, SolrPivotKeys } from '../../enums/filters';
2
2
  import { ICaseListFilterState, IFilterInfo } from './CaseListFilterReducer';
3
- declare function isArrayHashMapEmpty(hashMap?: {}): boolean;
3
+ declare const hasAdvanceSearchDateRanges: (filterState: ICaseListFilterState) => boolean;
4
4
  declare const isNoFilterApplied: (filterState: ICaseListFilterState) => boolean;
5
+ declare function isArrayHashMapEmpty(hashMap?: {}): boolean;
5
6
  declare const isOnlyDefaultFilterApplied: (filterState: ICaseListFilterState) => boolean;
6
7
  declare const isStatusFilterWithSFDCSupportedValues: ({ case_status }: Partial<IFilterInfo>) => boolean;
7
8
  declare const isOnlyGroupFilterApplied: (filterInfo: Partial<IFilterInfo>) => boolean;
@@ -11,5 +12,5 @@ declare const eligibleSFDCFiltersWithLengthOne: (SolrKeys | SolrPivotKeys)[];
11
12
  declare const eligibleSFDCFiltersMultipleValues: SolrKeys[];
12
13
  declare const visibleFilterChipsWhenSolrDownSfdcUp: (SolrKeys | SolrPivotKeys)[];
13
14
  declare function canDoSfdcSearch(filterState: ICaseListFilterState): boolean;
14
- export { isNoFilterApplied, isOnlyDefaultFilterApplied, isOnlyGroupFilterApplied, isSearchSupportedBySFDC, isOnlyStatusFilter, isStatusFilterWithSFDCSupportedValues, canDoSfdcSearch, visibleFilterChipsWhenSolrDownSfdcUp, eligibleSFDCFiltersWithLengthOne, eligibleSFDCFiltersMultipleValues, isArrayHashMapEmpty, };
15
+ export { hasAdvanceSearchDateRanges, isNoFilterApplied, isOnlyDefaultFilterApplied, isOnlyGroupFilterApplied, isSearchSupportedBySFDC, isOnlyStatusFilter, isStatusFilterWithSFDCSupportedValues, canDoSfdcSearch, visibleFilterChipsWhenSolrDownSfdcUp, eligibleSFDCFiltersWithLengthOne, eligibleSFDCFiltersMultipleValues, isArrayHashMapEmpty, };
15
16
  //# sourceMappingURL=CaseListFilterHelpers.d.ts.map
@@ -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,GAAI,aAAa,oBAAoB,YAE3D,CAAC;AAEF,QAAA,MAAM,0BAA0B,GAAI,aAAa,oBAAoB,YAEpE,CAAC;AAEF,QAAA,MAAM,qCAAqC,GAAI,iBAAsB,OAAO,CAAC,WAAW,CAAC,YAGxF,CAAC;AAaF,QAAA,MAAM,wBAAwB,GAAI,YAAY,OAAO,CAAC,WAAW,CAAC,YAMjE,CAAC;AAEF,QAAA,MAAM,kBAAkB,GAAI,YAAY,OAAO,CAAC,WAAW,CAAC,YAG3D,CAAC;AAEF,QAAA,MAAM,uBAAuB,GAAI,aAAa,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"}
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,EAGH,oBAAoB,EACpB,WAAW,EAEd,MAAM,yBAAyB,CAAC;AAMjC,QAAA,MAAM,0BAA0B,GAAI,aAAa,oBAAoB,KAAG,OAWvE,CAAC;AAEF,QAAA,MAAM,iBAAiB,GAAI,aAAa,oBAAoB,YAE3D,CAAC;AAWF,iBAAS,mBAAmB,CAAC,OAAO,KAAK,WAExC;AAED,QAAA,MAAM,0BAA0B,GAAI,aAAa,oBAAoB,YAKpE,CAAC;AAEF,QAAA,MAAM,qCAAqC,GAAI,iBAAsB,OAAO,CAAC,WAAW,CAAC,YAGxF,CAAC;AAaF,QAAA,MAAM,wBAAwB,GAAI,YAAY,OAAO,CAAC,WAAW,CAAC,YAMjE,CAAC;AAEF,QAAA,MAAM,kBAAkB,GAAI,YAAY,OAAO,CAAC,WAAW,CAAC,YAG3D,CAAC;AAEF,QAAA,MAAM,uBAAuB,GAAI,aAAa,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,0BAA0B,EAC1B,iBAAiB,EACjB,0BAA0B,EAC1B,wBAAwB,EACxB,uBAAuB,EACvB,kBAAkB,EAClB,qCAAqC,EACrC,eAAe,EACf,oCAAoC,EACpC,gCAAgC,EAChC,iCAAiC,EACjC,mBAAmB,GACtB,CAAC"}
@@ -14,7 +14,22 @@ import isEqual from 'lodash/isEqual';
14
14
  import sortBy from 'lodash/sortBy';
15
15
  import { CaseStatus } from '../../enums/case';
16
16
  import { SolrKeys, SolrPivotKeys } from '../../enums/filters';
17
- import { emptyFilters, initialFilterInfo } from './CaseListFilterReducer';
17
+ import { emptyFilters, initialFilterInfo, } from './CaseListFilterReducer';
18
+ function isDateRangeActive(range) {
19
+ return Boolean((range === null || range === void 0 ? void 0 : range.startDate) || (range === null || range === void 0 ? void 0 : range.endDate));
20
+ }
21
+ const hasAdvanceSearchDateRanges = (filterState) => {
22
+ const ranges = filterState.advanceSearchDateRanges;
23
+ if (!ranges) {
24
+ return false;
25
+ }
26
+ return (isDateRangeActive(ranges.createdDateRange) ||
27
+ isDateRangeActive(ranges.lastModifiedDateRange) ||
28
+ isDateRangeActive(ranges.closedDateRange));
29
+ };
30
+ const isNoFilterApplied = (filterState) => {
31
+ return isEqual(filterState.filterInfo, emptyFilters) && !hasAdvanceSearchDateRanges(filterState);
32
+ };
18
33
  function sortArrayHashMap(hashMap = {}) {
19
34
  const sortedHashMap = Object.keys(hashMap).reduce((acc, currKey) => {
20
35
  const rawVal = hashMap[currKey];
@@ -26,11 +41,9 @@ function sortArrayHashMap(hashMap = {}) {
26
41
  function isArrayHashMapEmpty(hashMap = {}) {
27
42
  return Object.entries(hashMap).every(([, val]) => (val || []).length < 1);
28
43
  }
29
- const isNoFilterApplied = (filterState) => {
30
- return isEqual(filterState.filterInfo, emptyFilters);
31
- };
32
44
  const isOnlyDefaultFilterApplied = (filterState) => {
33
- return isEqual(sortArrayHashMap(filterState.filterInfo), sortArrayHashMap(initialFilterInfo));
45
+ return (isEqual(sortArrayHashMap(filterState.filterInfo), sortArrayHashMap(initialFilterInfo)) &&
46
+ !hasAdvanceSearchDateRanges(filterState));
34
47
  };
35
48
  const isStatusFilterWithSFDCSupportedValues = ({ case_status = [] }) => {
36
49
  const statusLength = case_status.length;
@@ -86,4 +99,4 @@ function canDoSfdcSearch(filterState) {
86
99
  }
87
100
  });
88
101
  }
89
- export { isNoFilterApplied, isOnlyDefaultFilterApplied, isOnlyGroupFilterApplied, isSearchSupportedBySFDC, isOnlyStatusFilter, isStatusFilterWithSFDCSupportedValues, canDoSfdcSearch, visibleFilterChipsWhenSolrDownSfdcUp, eligibleSFDCFiltersWithLengthOne, eligibleSFDCFiltersMultipleValues, isArrayHashMapEmpty, };
102
+ export { hasAdvanceSearchDateRanges, isNoFilterApplied, isOnlyDefaultFilterApplied, isOnlyGroupFilterApplied, isSearchSupportedBySFDC, isOnlyStatusFilter, isStatusFilterWithSFDCSupportedValues, canDoSfdcSearch, visibleFilterChipsWhenSolrDownSfdcUp, eligibleSFDCFiltersWithLengthOne, eligibleSFDCFiltersMultipleValues, isArrayHashMapEmpty, };
@@ -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,14 +25,19 @@ 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]: IFieldValue[];
32
+ [SolrKeys.version]: IVersionFilterValue[];
33
+ productId?: string;
31
34
  }
32
35
  export interface IFilterInfo {
33
36
  [SolrPivotKeys.product_version]: IProductFilter[];
34
37
  [SolrKeys.status]: Array<string>;
35
38
  [SolrKeys.accountNumber]: Array<IKeyValue<string>>;
36
39
  [SolrKeys.group]: Array<IKeyValue<string>>;
40
+ [SolrKeys.caseLabel]: Array<IKeyValue<string>>;
37
41
  [SolrKeys.severity]: Array<string>;
38
42
  [SolrKeys.caseOwner]: Array<string>;
39
43
  [SolrKeys.escalation]: Array<IKeyValue<string>>;
@@ -43,21 +47,49 @@ export interface IFilterInfo {
43
47
  [SolrKeys.caseSummary]: Array<string>;
44
48
  [SolrKeys.modifiedBy]: Array<string>;
45
49
  [SolrKeys.alternateId]: Array<string>;
50
+ [SolrKeys.openshiftClusterId]: Array<string>;
46
51
  [SolrKeys.isPrivate]: Array<IKeyValue<string>>;
47
52
  }
48
53
  export declare const emptyFilters: IFilterInfo;
54
+ export interface IAdvanceSearchDateRange {
55
+ startDate: string;
56
+ endDate: string;
57
+ }
58
+ export interface IAdvanceSearchDateRanges {
59
+ createdDateRange: IAdvanceSearchDateRange;
60
+ lastModifiedDateRange: IAdvanceSearchDateRange;
61
+ closedDateRange: IAdvanceSearchDateRange;
62
+ }
63
+ export interface IAdvanceSearchFormState {
64
+ statuses: string[];
65
+ severities: string[];
66
+ supportTypes: string[];
67
+ showEscalatedOnly: boolean;
68
+ accountNumbers: Array<IKeyValue<string>>;
69
+ personalReferenceNumber: string;
70
+ openshiftClusterId: string;
71
+ ownerNameAndSso: string;
72
+ assignedToNameAndSso: string;
73
+ groups: Array<IKeyValue<string>>;
74
+ createdByNameAndSso: string;
75
+ lastModifiedByNameAndSso: string;
76
+ createdDateRange: IAdvanceSearchDateRange;
77
+ lastModifiedDateRange: IAdvanceSearchDateRange;
78
+ closedDateRange: IAdvanceSearchDateRange;
79
+ products: IProductFilter[];
80
+ }
49
81
  export interface ICaseListFilterState {
50
82
  sortInfo?: ISortInfo;
51
83
  paginationInfo?: IPaginationInfo;
52
84
  filterQueryInfo?: IFilterQueryInfo;
53
85
  filterInfo?: Partial<IFilterInfo>;
86
+ advanceSearchDateRanges?: IAdvanceSearchDateRanges;
54
87
  }
55
88
  export type IFilterKeys = keyof IFilterInfo;
56
89
  type IActionType = IAction<CaseListReducerEnum, ICaseListFilterState>;
57
90
  export type CaseListFilterDispatchType = (value: IActionType) => void;
58
91
  declare const caseListFilterReducer: (pState: ICaseListFilterState, action: any) => ICaseListFilterState;
59
92
  declare function updateSort(dispatch: CaseListFilterDispatchType, sortInfo: ISortInfo): void;
60
- declare function updatePagination(dispatch: CaseListFilterDispatchType, paginationInfo: IPaginationInfo): void;
61
93
  declare function updateFilter(dispatch: CaseListFilterDispatchType, { filterKey, values }: {
62
94
  filterKey: any;
63
95
  values: any;
@@ -71,5 +103,5 @@ declare const clearFilters: (dispatch: any, clearQueryString?: boolean) => void;
71
103
  declare function resetFilterToDefaultState(dispatch: any): void;
72
104
  declare function updateFilterQuery(dispatch: CaseListFilterDispatchType, filterQueryInfo: IFilterQueryInfo): void;
73
105
  declare function updateFilterState(dispatch: CaseListFilterDispatchType, newState: Partial<ICaseListFilterState>): void;
74
- export { updateSort, updatePagination, updateFilter, updateFilters, updateFilterQuery, removeFilterItem, clearFilters, updateFilterState, caseListFilterReducer, resetFilterToDefaultState, };
106
+ export { updateSort, updateFilter, updateFilters, updateFilterQuery, removeFilterItem, clearFilters, updateFilterState, caseListFilterReducer, resetFilterToDefaultState, };
75
107
  //# sourceMappingURL=CaseListFilterReducer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CaseListFilterReducer.d.ts","sourceRoot":"","sources":["../../../../src/components/case-list/CaseListFilterReducer.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CaseListFilterReducer.d.ts","sourceRoot":"","sources":["../../../../src/components/case-list/CaseListFilterReducer.tsx"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ export const initialFilterInfo = {
5
5
  [SolrKeys.status]: [],
6
6
  [SolrKeys.accountNumber]: [],
7
7
  [SolrKeys.group]: [],
8
+ [SolrKeys.caseLabel]: [],
8
9
  [SolrKeys.severity]: [],
9
10
  [SolrKeys.caseOwner]: [],
10
11
  [SolrKeys.escalation]: [],
@@ -18,7 +19,6 @@ var CaseListReducerEnum;
18
19
  CaseListReducerEnum["updateFilter"] = "UPDATE_FILTER";
19
20
  CaseListReducerEnum["updateFilters"] = "UPDATE_FILTERS";
20
21
  CaseListReducerEnum["updateSort"] = "UPDATE_SORT";
21
- CaseListReducerEnum["updatePagination"] = "UPDATE_PAGINATION";
22
22
  CaseListReducerEnum["updateFilterQuery"] = "UPDATE_FILTER_QUERY";
23
23
  CaseListReducerEnum["removeFilter"] = "REMOVE_FILTER";
24
24
  CaseListReducerEnum["clearFilters"] = "CLEAR_FILTERS";
@@ -30,6 +30,7 @@ export const emptyFilters = {
30
30
  [SolrKeys.status]: [],
31
31
  [SolrKeys.accountNumber]: [],
32
32
  [SolrKeys.group]: [],
33
+ [SolrKeys.caseLabel]: [],
33
34
  [SolrKeys.severity]: [],
34
35
  [SolrKeys.caseOwner]: [],
35
36
  [SolrKeys.escalation]: [],
@@ -39,6 +40,7 @@ export const emptyFilters = {
39
40
  [SolrKeys.caseSummary]: [],
40
41
  [SolrKeys.modifiedBy]: [],
41
42
  [SolrKeys.alternateId]: [],
43
+ [SolrKeys.openshiftClusterId]: [],
42
44
  [SolrKeys.isPrivate]: [],
43
45
  };
44
46
  const caseListFilterReducer = (pState, action) => {
@@ -54,10 +56,8 @@ const caseListFilterReducer = (pState, action) => {
54
56
  return Object.assign(Object.assign({}, pState), { filterInfo: newFilters, paginationInfo: newPaginationInfo });
55
57
  }
56
58
  case CaseListReducerEnum.updateSort: {
57
- return Object.assign(Object.assign({}, pState), { sortInfo: action.payload.sortInfo });
58
- }
59
- case CaseListReducerEnum.updatePagination: {
60
- return Object.assign(Object.assign({}, pState), { paginationInfo: action.payload.paginationInfo });
59
+ const newPaginationInfo = Object.assign(Object.assign({}, pState.paginationInfo), { currentPage: 1 });
60
+ return Object.assign(Object.assign({}, pState), { sortInfo: action.payload.sortInfo, paginationInfo: newPaginationInfo });
61
61
  }
62
62
  case CaseListReducerEnum.removeFilter: {
63
63
  const newValues = pState.filterInfo[action.payload.filterKey].filter((item) => {
@@ -89,12 +89,6 @@ function updateSort(dispatch, sortInfo) {
89
89
  payload: { sortInfo },
90
90
  });
91
91
  }
92
- function updatePagination(dispatch, paginationInfo) {
93
- dispatch({
94
- type: CaseListReducerEnum.updatePagination,
95
- payload: { paginationInfo },
96
- });
97
- }
98
92
  function updateFilter(dispatch, { filterKey, values }) {
99
93
  dispatch({
100
94
  type: CaseListReducerEnum.updateFilter,
@@ -141,4 +135,4 @@ function updateFilterState(dispatch, newState) {
141
135
  payload: newState,
142
136
  });
143
137
  }
144
- export { updateSort, updatePagination, updateFilter, updateFilters, updateFilterQuery, removeFilterItem, clearFilters, updateFilterState, caseListFilterReducer, resetFilterToDefaultState, };
138
+ 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 { ISolrResponseToFacetFields, ISolrResponseToPivotFields } from '@rh-support/utils';
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
- type IActionType = IAction<CaseListReducerEnum, ICaseListState>;
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
- export { caseListReducer, setCaseList, setChipsNameSsoMap, setIsFetching, setFilterValuesFromFacetResponse, setPivotValues, setCurrentQuery, };
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;AAClE,OAAO,EAAE,0BAA0B,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AAE3F,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACrF,OAAO,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAEnE,MAAM,WAAW,cAAc;IAC3B,QAAQ,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;IAC3C,UAAU,EAAE,OAAO,CAAC;IACpB,eAAe,CAAC,EAAE,gBAAgB,CAAC;IACnC,6BAA6B,EAAE,0BAA0B,CAAC,YAAY,CAAC,CAAC;IACxE,WAAW,EAAE,0BAA0B,CAAC,WAAW,EAAE,uBAAuB,CAAC,CAAC;IAC9E,YAAY,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,aAAa;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,gBAAgB;IAC7B,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,CAAC;CAChC;AAED,aAAK,mBAAmB;IACpB,WAAW,cAAc;CAC5B;AAED,KAAK,WAAW,GAAG,OAAO,CAAC,mBAAmB,EAAE,cAAc,CAAC,CAAC;AAChE,MAAM,MAAM,oBAAoB,GAAG,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;AAEhE,QAAA,MAAM,eAAe,GAAI,OAAO,cAAc,EAAE,QAAQ,WAAW,KAAG,cAMrE,CAAC;AAEF,QAAA,MAAM,WAAW,GAAI,UAAU,oBAAoB,EAAE,UAAU,aAAa,CAAC,iBAAiB,CAAC,SAK9F,CAAC;AAEF,QAAA,MAAM,kBAAkB,GAAI,UAAU,oBAAoB,EAAE,iBAAiB,gBAAgB,SAK5F,CAAC;AACF,QAAA,MAAM,aAAa,GAAI,UAAU,oBAAoB,EAAE,YAAY,OAAO,SAKzE,CAAC;AACF,QAAA,MAAM,gCAAgC,GAClC,UAAU,oBAAoB,EAC9B,+BAA+B,0BAA0B,CAAC,YAAY,CAAC,SAM1E,CAAC;AACF,QAAA,MAAM,cAAc,GAAI,UAAU,oBAAoB,EAAE,aAAa,YAAY,SAKhF,CAAC;AAEF,QAAA,MAAM,eAAe,GAAI,UAAU,oBAAoB,EAAE,cAAc,MAAM,SAK5E,CAAC;AAEF,OAAO,EACH,eAAe,EACf,WAAW,EACX,kBAAkB,EAClB,aAAa,EACb,gCAAgC,EAChC,cAAc,EACd,eAAe,GAClB,CAAC"}
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 setFilterValuesFromFacetResponse = (dispatch, filterValuesFromFacetResponse) => {
36
+ const setCurrentQuery = (dispatch, currentQuery) => {
31
37
  dispatch({
32
38
  type: CaseListReducerEnum.updateState,
33
- payload: { filterValuesFromFacetResponse },
39
+ payload: { currentQuery },
34
40
  });
35
41
  };
36
- const setPivotValues = (dispatch, pivotValues) => {
42
+ const setIsLoadingMore = (dispatch, isLoadingMore) => {
37
43
  dispatch({
38
44
  type: CaseListReducerEnum.updateState,
39
- payload: { pivotValues },
45
+ payload: { isLoadingMore },
40
46
  });
41
47
  };
42
- const setCurrentQuery = (dispatch, currentQuery) => {
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: { currentQuery },
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, setFilterValuesFromFacetResponse, setPivotValues, setCurrentQuery, };
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;AAQ1F,OAAO,KAAyC,MAAM,OAAO,CAAC;AAO9D,UAAU,MAAM;IACZ,uBAAuB,EAAE,OAAO,CAAC;CACpC;AAED,eAAO,MAAM,gCAAgC,GAAI,SAAS,QAAQ,WAMjE,CAAC;AACF,eAAO,MAAM,+BAA+B,GAAI,SAAS,OAAO,CAAC,sBAAsB,CAAC,WAEvF,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI,cAAS,EAAE,eAAU,QACgC,CAAC;AAE/E,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,qBA+F3C"}
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 { accounts } from '@cee-eng/hydrajs';
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 fields = ['accountNumber', 'accountId', 'name'].join(',');
75
- const params = {
76
- fields,
77
- orderBy: 'name',
78
- orderDirection: 'asc',
79
- accountNumberIn: accountsWithoutNames.map((item) => item.key).join(','),
80
- };
76
+ const accountNumbers = accountsWithoutNames.map((item) => item.key);
81
77
  try {
82
- const accountsDetail = yield accounts.getAccounts(params);
83
- const keyValueMap = accountsDetail.items.map((item) => ({ key: item.accountNumber, value: item.name }));
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.redhat_support_uiapi) === null || _a === void 0 ? void 0 : _a.query) === null || _b === void 0 ? void 0 : _b.RedHatSupportAccount) === 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,sBAgGhC"}
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,sBA6HhC"}
@@ -4,17 +4,29 @@ import isEmpty from 'lodash/isEmpty';
4
4
  import isEqual from 'lodash/isEqual';
5
5
  import React, { useContext, useEffect, useState } from 'react';
6
6
  import { Trans, useTranslation } from 'react-i18next';
7
- import { AdditionalFilterLabels, SolrKeys } from '../../../enums/filters';
7
+ import { AdditionalFilterLabels, ARCHIVED_STATUS, SolrKeys } from '../../../enums/filters';
8
8
  import { CaseListFilterDispatchContext, CaseListFilterStateContext } from '../CaseListFilterContext';
9
9
  import { updateFilter } from '../CaseListFilterReducer';
10
10
  export function AdditionalFilters() {
11
11
  const [escalated, setIsEscalated] = useState(false);
12
+ const [isArchived, setIsArchived] = useState(false);
12
13
  const [isPrivate, setIsPrivate] = useState(false);
13
14
  const { t } = useTranslation();
14
15
  const dispatch = useContext(CaseListFilterDispatchContext);
15
16
  const ability = useContext(AbilityContext);
16
17
  const canAccessPrivateCaseFilter = ability.can(resourceActions.PATCH, resources.CASE_LIST, CaseListFields.PRIVATE_CASE_FILTER);
17
- const { filterInfo: { case_customer_escalation, case_private }, } = useContext(CaseListFilterStateContext);
18
+ //canAccessPrivateCaseFilter is not used anywhere, so we need to void it to avoid linting error
19
+ void canAccessPrivateCaseFilter;
20
+ const { filterInfo: { case_customer_escalation, case_private, case_status = [] }, } = useContext(CaseListFilterStateContext);
21
+ const getSelectableStatuses = () => case_status.filter((status) => status !== ARCHIVED_STATUS);
22
+ const onArchivedChange = (checked) => {
23
+ const nextStatuses = checked ? [...getSelectableStatuses(), ARCHIVED_STATUS] : getSelectableStatuses();
24
+ updateFilter(dispatch, {
25
+ filterKey: SolrKeys.status,
26
+ values: nextStatuses,
27
+ });
28
+ setIsArchived(checked);
29
+ };
18
30
  const onEscalatedChange = (checked) => {
19
31
  updateFilter(dispatch, {
20
32
  filterKey: SolrKeys.escalation,
@@ -22,6 +34,8 @@ export function AdditionalFilters() {
22
34
  });
23
35
  setIsEscalated(checked);
24
36
  };
37
+ // @ts-ignore - kept for future use when GraphQL supports private cases filter
38
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
25
39
  const onisPrivateChange = (checked) => {
26
40
  updateFilter(dispatch, {
27
41
  filterKey: SolrKeys.isPrivate,
@@ -29,6 +43,7 @@ export function AdditionalFilters() {
29
43
  });
30
44
  setIsPrivate(checked);
31
45
  };
46
+ void onisPrivateChange;
32
47
  useEffect(() => {
33
48
  var _a, _b;
34
49
  updateFilter(dispatch, {
@@ -55,16 +70,17 @@ export function AdditionalFilters() {
55
70
  if (!isEmpty(case_customer_escalation)) {
56
71
  isEqual((_a = case_customer_escalation[0]) === null || _a === void 0 ? void 0 : _a.key, 'true') ? setIsEscalated(true) : setIsEscalated(false);
57
72
  }
73
+ setIsArchived(case_status.includes(ARCHIVED_STATUS));
58
74
  isEmpty(case_private) && isPrivate && setIsPrivate(false);
59
75
  if (!isEmpty(case_private)) {
60
76
  isEqual((_b = case_private[0]) === null || _b === void 0 ? void 0 : _b.key, 'true') ? setIsPrivate(true) : setIsPrivate(false);
61
77
  }
62
78
  // eslint-disable-next-line react-hooks/exhaustive-deps
63
- }, [case_customer_escalation, case_private]);
79
+ }, [case_customer_escalation, case_private, case_status]);
64
80
  return (React.createElement(React.Fragment, null,
65
81
  React.createElement("div", { className: "additional-filters" },
66
82
  React.createElement("h3", null,
67
83
  React.createElement(Trans, null, "More")),
68
84
  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" })))));
85
+ React.createElement(Checkbox, { label: t(AdditionalFilterLabels.archived), isChecked: isArchived, onChange: (_event, checked) => onArchivedChange(checked), "aria-label": t(AdditionalFilterLabels.archived), id: "archived", name: "archived", "data-tracking-id": "archived-filter-selector" }))));
70
86
  }
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ export declare function CaseLabelsFilter(): React.JSX.Element;
3
+ //# sourceMappingURL=CaseLabelsFilter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CaseLabelsFilter.d.ts","sourceRoot":"","sources":["../../../../../src/components/case-list/case-list-filters/CaseLabelsFilter.tsx"],"names":[],"mappings":"AAkBA,OAAO,KAA2D,MAAM,OAAO,CAAC;AAYhF,wBAAgB,gBAAgB,sBAgQ/B"}