@rh-support/cases 2.6.218 → 2.6.227

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 (153) hide show
  1. package/lib/esm/components/case/NewCaseButton.js +1 -1
  2. package/lib/esm/components/case-list/CaseList.d.ts +7 -0
  3. package/lib/esm/components/case-list/CaseList.d.ts.map +1 -1
  4. package/lib/esm/components/case-list/CaseList.js +135 -366
  5. package/lib/esm/components/case-list/CaseListContext.d.ts.map +1 -1
  6. package/lib/esm/components/case-list/CaseListContext.js +2 -5
  7. package/lib/esm/components/case-list/CaseListFilterContext.d.ts.map +1 -1
  8. package/lib/esm/components/case-list/CaseListFilterContext.js +1 -2
  9. package/lib/esm/components/case-list/CaseListFilterHelpers.d.ts +2 -3
  10. package/lib/esm/components/case-list/CaseListFilterHelpers.d.ts.map +1 -1
  11. package/lib/esm/components/case-list/CaseListFilterHelpers.js +6 -19
  12. package/lib/esm/components/case-list/CaseListFilterReducer.d.ts +4 -36
  13. package/lib/esm/components/case-list/CaseListFilterReducer.d.ts.map +1 -1
  14. package/lib/esm/components/case-list/CaseListFilterReducer.js +12 -6
  15. package/lib/esm/components/case-list/CaseListReducer.d.ts +10 -22
  16. package/lib/esm/components/case-list/CaseListReducer.d.ts.map +1 -1
  17. package/lib/esm/components/case-list/CaseListReducer.js +7 -25
  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 +11 -18
  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 +2 -6
  22. package/lib/esm/components/case-list/case-list-filters/CaseListFilterChips.d.ts +7 -1
  23. package/lib/esm/components/case-list/case-list-filters/CaseListFilterChips.d.ts.map +1 -1
  24. package/lib/esm/components/case-list/case-list-filters/CaseListFilterChips.js +16 -12
  25. package/lib/esm/components/case-list/case-list-filters/CaseListFilters.d.ts +5 -2
  26. package/lib/esm/components/case-list/case-list-filters/CaseListFilters.d.ts.map +1 -1
  27. package/lib/esm/components/case-list/case-list-filters/CaseListFilters.js +13 -14
  28. package/lib/esm/components/case-list/case-list-filters/CreatorSsoNameFilter.d.ts.map +1 -1
  29. package/lib/esm/components/case-list/case-list-filters/CreatorSsoNameFilter.js +14 -21
  30. package/lib/esm/components/case-list/case-list-filters/CreatorSsoNameFilterChip.d.ts.map +1 -1
  31. package/lib/esm/components/case-list/case-list-filters/CreatorSsoNameFilterChip.js +0 -3
  32. package/lib/esm/components/case-list/case-list-filters/GroupsFilter.d.ts +1 -11
  33. package/lib/esm/components/case-list/case-list-filters/GroupsFilter.d.ts.map +1 -1
  34. package/lib/esm/components/case-list/case-list-filters/GroupsFilter.js +70 -90
  35. package/lib/esm/components/case-list/case-list-filters/ProductFilterChip.d.ts +3 -1
  36. package/lib/esm/components/case-list/case-list-filters/ProductFilterChip.d.ts.map +1 -1
  37. package/lib/esm/components/case-list/case-list-filters/ProductFilterChip.js +2 -2
  38. package/lib/esm/components/case-list/case-list-filters/ProductsFilter.d.ts +4 -5
  39. package/lib/esm/components/case-list/case-list-filters/ProductsFilter.d.ts.map +1 -1
  40. package/lib/esm/components/case-list/case-list-filters/ProductsFilter.js +54 -15
  41. package/lib/esm/components/case-list/case-list-filters/SeverityFilter.d.ts +3 -0
  42. package/lib/esm/components/case-list/case-list-filters/SeverityFilter.d.ts.map +1 -1
  43. package/lib/esm/components/case-list/case-list-filters/SeverityFilter.js +44 -18
  44. package/lib/esm/components/case-list/case-list-filters/StatusFilter.d.ts +3 -0
  45. package/lib/esm/components/case-list/case-list-filters/StatusFilter.d.ts.map +1 -1
  46. package/lib/esm/components/case-list/case-list-filters/StatusFilter.js +44 -14
  47. package/lib/esm/components/case-list/case-list-filters/VersionsFilter.d.ts +3 -1
  48. package/lib/esm/components/case-list/case-list-filters/VersionsFilter.d.ts.map +1 -1
  49. package/lib/esm/components/case-list/case-list-filters/VersionsFilter.js +59 -60
  50. package/lib/esm/components/case-list/case-list-table/CaseListTable.d.ts +3 -8
  51. package/lib/esm/components/case-list/case-list-table/CaseListTable.d.ts.map +1 -1
  52. package/lib/esm/components/case-list/case-list-table/CaseListTable.js +61 -77
  53. package/lib/esm/components/case-list/case-list-table/DownloadCSVFileModal.d.ts +5 -0
  54. package/lib/esm/components/case-list/case-list-table/DownloadCSVFileModal.d.ts.map +1 -1
  55. package/lib/esm/components/case-list/case-list-table/DownloadCSVFileModal.js +70 -42
  56. package/lib/esm/components/case-list/case-list-table/ExportCaseListCSV.d.ts.map +1 -1
  57. package/lib/esm/components/case-list/case-list-table/ExportCaseListCSV.js +15 -5
  58. package/lib/esm/components/case-list/case-list-table/SeverityLabel.js +1 -1
  59. package/lib/esm/components/case-list/case-list-table/TableActionsDropdown.d.ts.map +1 -1
  60. package/lib/esm/components/case-list/case-list-table/TableActionsDropdown.js +3 -2
  61. package/lib/esm/components/case-list/case-search/BookmarkedSearchesSelector.d.ts.map +1 -1
  62. package/lib/esm/components/case-list/case-search/BookmarkedSearchesSelector.js +0 -1
  63. package/lib/esm/components/case-list/case-search/CaseSearch.d.ts.map +1 -1
  64. package/lib/esm/components/case-list/case-search/CaseSearch.js +24 -55
  65. package/lib/esm/components/case-list/case-search/useAdvanceSearchParser.d.ts.map +1 -1
  66. package/lib/esm/components/case-list/case-search/useAdvanceSearchParser.js +1 -2
  67. package/lib/esm/css/caseList.css +22 -111
  68. package/lib/esm/css/caseSearch.css +0 -114
  69. package/lib/esm/enums/case.d.ts +4 -10
  70. package/lib/esm/enums/case.d.ts.map +1 -1
  71. package/lib/esm/enums/case.js +3 -21
  72. package/lib/esm/enums/caseSearch.d.ts +0 -3
  73. package/lib/esm/enums/caseSearch.d.ts.map +1 -1
  74. package/lib/esm/enums/caseSearch.js +1 -2
  75. package/lib/esm/enums/filters.d.ts +1 -3
  76. package/lib/esm/enums/filters.d.ts.map +1 -1
  77. package/lib/esm/enums/filters.js +0 -2
  78. package/lib/esm/hooks/useCloseCase.d.ts.map +1 -1
  79. package/lib/esm/hooks/useCloseCase.js +21 -38
  80. package/lib/esm/hooks/useExportCaseListCSV.d.ts.map +1 -1
  81. package/lib/esm/hooks/useExportCaseListCSV.js +9 -1
  82. package/lib/esm/hooks/useFilterStateOnLoad.d.ts +1 -1
  83. package/lib/esm/hooks/useFilterStateOnLoad.d.ts.map +1 -1
  84. package/lib/esm/hooks/useFilterStateOnLoad.js +5 -7
  85. package/lib/esm/index.js +0 -1
  86. package/lib/esm/test-utils/mockData.js +1 -1
  87. package/lib/esm/utils/caseSearchUtils.d.ts.map +1 -1
  88. package/lib/esm/utils/caseSearchUtils.js +2 -39
  89. package/lib/esm/utils/constants.d.ts +1 -5
  90. package/lib/esm/utils/constants.d.ts.map +1 -1
  91. package/lib/esm/utils/constants.js +2 -10
  92. package/lib/esm/utils/mockSolrResponse.js +1 -1
  93. package/package.json +8 -10
  94. package/lib/esm/components/case-list/case-list-filters/CaseLabelsFilter.d.ts +0 -3
  95. package/lib/esm/components/case-list/case-list-filters/CaseLabelsFilter.d.ts.map +0 -1
  96. package/lib/esm/components/case-list/case-list-filters/CaseLabelsFilter.js +0 -177
  97. package/lib/esm/components/case-list/case-search/AdvanceSearchToggleButton.d.ts +0 -8
  98. package/lib/esm/components/case-list/case-search/AdvanceSearchToggleButton.d.ts.map +0 -1
  99. package/lib/esm/components/case-list/case-search/AdvanceSearchToggleButton.js +0 -8
  100. package/lib/esm/components/case-list/case-search/advance-search-modal/AdvanceSearchAccountSection.d.ts +0 -10
  101. package/lib/esm/components/case-list/case-search/advance-search-modal/AdvanceSearchAccountSection.d.ts.map +0 -1
  102. package/lib/esm/components/case-list/case-search/advance-search-modal/AdvanceSearchAccountSection.js +0 -29
  103. package/lib/esm/components/case-list/case-search/advance-search-modal/AdvanceSearchAuditsSection.d.ts +0 -10
  104. package/lib/esm/components/case-list/case-search/advance-search-modal/AdvanceSearchAuditsSection.d.ts.map +0 -1
  105. package/lib/esm/components/case-list/case-search/advance-search-modal/AdvanceSearchAuditsSection.js +0 -16
  106. package/lib/esm/components/case-list/case-search/advance-search-modal/AdvanceSearchCaseSection.d.ts +0 -9
  107. package/lib/esm/components/case-list/case-search/advance-search-modal/AdvanceSearchCaseSection.d.ts.map +0 -1
  108. package/lib/esm/components/case-list/case-search/advance-search-modal/AdvanceSearchCaseSection.js +0 -21
  109. package/lib/esm/components/case-list/case-search/advance-search-modal/AdvanceSearchDateRangeField.d.ts +0 -12
  110. package/lib/esm/components/case-list/case-search/advance-search-modal/AdvanceSearchDateRangeField.d.ts.map +0 -1
  111. package/lib/esm/components/case-list/case-search/advance-search-modal/AdvanceSearchDateRangeField.js +0 -31
  112. package/lib/esm/components/case-list/case-search/advance-search-modal/AdvanceSearchFieldBlock.d.ts +0 -10
  113. package/lib/esm/components/case-list/case-search/advance-search-modal/AdvanceSearchFieldBlock.d.ts.map +0 -1
  114. package/lib/esm/components/case-list/case-search/advance-search-modal/AdvanceSearchFieldBlock.js +0 -10
  115. package/lib/esm/components/case-list/case-search/advance-search-modal/AdvanceSearchModal.d.ts +0 -10
  116. package/lib/esm/components/case-list/case-search/advance-search-modal/AdvanceSearchModal.d.ts.map +0 -1
  117. package/lib/esm/components/case-list/case-search/advance-search-modal/AdvanceSearchModal.js +0 -92
  118. package/lib/esm/components/case-list/case-search/advance-search-modal/AdvanceSearchOwnerSection.d.ts +0 -9
  119. package/lib/esm/components/case-list/case-search/advance-search-modal/AdvanceSearchOwnerSection.d.ts.map +0 -1
  120. package/lib/esm/components/case-list/case-search/advance-search-modal/AdvanceSearchOwnerSection.js +0 -20
  121. package/lib/esm/components/case-list/case-search/advance-search-modal/AdvanceSearchProductSection.d.ts +0 -9
  122. package/lib/esm/components/case-list/case-search/advance-search-modal/AdvanceSearchProductSection.d.ts.map +0 -1
  123. package/lib/esm/components/case-list/case-search/advance-search-modal/AdvanceSearchProductSection.js +0 -28
  124. package/lib/esm/components/case-list/case-search/advance-search-modal/ProductVersionDrilldownSelect.d.ts +0 -9
  125. package/lib/esm/components/case-list/case-search/advance-search-modal/ProductVersionDrilldownSelect.d.ts.map +0 -1
  126. package/lib/esm/components/case-list/case-search/advance-search-modal/ProductVersionDrilldownSelect.js +0 -241
  127. package/lib/esm/components/case-list/case-search/advance-search-modal/SelectableLabelFilter.d.ts +0 -11
  128. package/lib/esm/components/case-list/case-search/advance-search-modal/SelectableLabelFilter.d.ts.map +0 -1
  129. package/lib/esm/components/case-list/case-search/advance-search-modal/SelectableLabelFilter.js +0 -23
  130. package/lib/esm/hooks/useCaseLabels.d.ts +0 -14
  131. package/lib/esm/hooks/useCaseLabels.d.ts.map +0 -1
  132. package/lib/esm/hooks/useCaseLabels.js +0 -55
  133. package/lib/esm/utils/advanceSearchFormMapper.d.ts +0 -11
  134. package/lib/esm/utils/advanceSearchFormMapper.d.ts.map +0 -1
  135. package/lib/esm/utils/advanceSearchFormMapper.js +0 -71
  136. package/lib/esm/utils/advanceSearchUtils.d.ts +0 -24
  137. package/lib/esm/utils/advanceSearchUtils.d.ts.map +0 -1
  138. package/lib/esm/utils/advanceSearchUtils.js +0 -150
  139. package/lib/esm/utils/caseGroupDefaultFilterUtils.d.ts +0 -12
  140. package/lib/esm/utils/caseGroupDefaultFilterUtils.d.ts.map +0 -1
  141. package/lib/esm/utils/caseGroupDefaultFilterUtils.js +0 -34
  142. package/lib/esm/utils/caseGroupDefaultUtils.d.ts +0 -10
  143. package/lib/esm/utils/caseGroupDefaultUtils.d.ts.map +0 -1
  144. package/lib/esm/utils/caseGroupDefaultUtils.js +0 -20
  145. package/lib/esm/utils/caseListGraphQLUtils.d.ts +0 -28
  146. package/lib/esm/utils/caseListGraphQLUtils.d.ts.map +0 -1
  147. package/lib/esm/utils/caseListGraphQLUtils.js +0 -280
  148. package/lib/esm/utils/caseListMapper.d.ts +0 -6
  149. package/lib/esm/utils/caseListMapper.d.ts.map +0 -1
  150. package/lib/esm/utils/caseListMapper.js +0 -37
  151. package/lib/esm/utils/caseListVariablesBuilder.d.ts +0 -15
  152. package/lib/esm/utils/caseListVariablesBuilder.d.ts.map +0 -1
  153. package/lib/esm/utils/caseListVariablesBuilder.js +0 -517
@@ -1 +1 @@
1
- {"version":3,"file":"SeverityFilter.d.ts","sourceRoot":"","sources":["../../../../../src/components/case-list/case-list-filters/SeverityFilter.tsx"],"names":[],"mappings":"AAYA,OAAO,KAA0C,MAAM,OAAO,CAAC;AAQ/D,UAAU,MAAM;IACZ,iBAAiB,EAAE,MAAM,EAAE,CAAC;CAC/B;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,qBA0I3C"}
1
+ {"version":3,"file":"SeverityFilter.d.ts","sourceRoot":"","sources":["../../../../../src/components/case-list/case-list-filters/SeverityFilter.tsx"],"names":[],"mappings":"AAUA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAG1D,OAAO,KAA0C,MAAM,OAAO,CAAC;AAQ/D,UAAU,MAAM;IACZ,YAAY,EAAE,cAAc,EAAE,CAAC;IAC/B,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,gBAAgB,EAAE,OAAO,CAAC;CAC7B;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,qBAoL3C"}
@@ -1,5 +1,5 @@
1
1
  import { Button, MenuToggle, Select, SelectList, SelectOption, } from '@patternfly/react-core';
2
- import { useSelectKeyboardNavigator } from '@rh-support/components';
2
+ import { SingleSelectDropdown, useSelectKeyboardNavigator } from '@rh-support/components';
3
3
  import { getDropdownBtnPlaceholder } from '@rh-support/utils';
4
4
  import isEmpty from 'lodash/isEmpty';
5
5
  import React, { useContext, useEffect, useState } from 'react';
@@ -9,38 +9,56 @@ import { filterNamesMap } from '../../../utils/constants';
9
9
  import { CaseListFilterDispatchContext, CaseListFilterStateContext } from '../CaseListFilterContext';
10
10
  import { updateFilter } from '../CaseListFilterReducer';
11
11
  export function SeverityFilter(props) {
12
+ var _a;
12
13
  const { t } = useTranslation();
13
14
  const { filterInfo } = useContext(CaseListFilterStateContext);
14
15
  const dispatch = useContext(CaseListFilterDispatchContext);
15
16
  const [isOpen, setIsOpen] = useState(false);
16
17
  const [selectedItems, setSelectedItems] = useState({});
17
- const list = (props.allCaseSeverities || []).map((severity) => ({
18
- value: severity,
19
- key: severity,
18
+ const list = props.isSolrSearchDown
19
+ ? props.allCaseSeverities.map((severity) => ({ value: severity, key: severity }))
20
+ : props.filterValues.map((filterValue) => ({ value: filterValue.value, key: filterValue.value }));
21
+ const singleSelectOptions = list.map((item) => ({
22
+ value: item.value,
23
+ label: item.value,
20
24
  }));
25
+ const selectedSeverity = ((_a = filterInfo[SolrKeys.severity]) === null || _a === void 0 ? void 0 : _a[0]) || '';
26
+ const selectedOption = {
27
+ value: selectedSeverity,
28
+ label: selectedSeverity,
29
+ };
21
30
  const onToggleClick = (e) => {
22
31
  setIsOpen(!isOpen);
23
32
  };
24
33
  const onSelect = (option) => {
25
- const prevSelectedSeverities = Object.keys(selectedItems).filter((item) => selectedItems[item] && item);
26
- if (selectedItems[option.value]) {
27
- setSelectedItems((prevData) => (Object.assign(Object.assign({}, prevData), { [option.value]: false })));
34
+ if (props.isSolrSearchDown) {
28
35
  updateFilter(dispatch, {
29
36
  filterKey: SolrKeys.severity,
30
- values: prevSelectedSeverities.filter((item) => item !== option.value),
37
+ values: [option.value],
31
38
  });
39
+ setIsOpen(false);
40
+ return;
41
+ }
42
+ const prevSelectedSeverities = Object.keys(selectedItems).filter((item) => selectedItems[item] && item);
43
+ if (selectedItems[option.value]) {
44
+ setSelectedItems((prevData) => (Object.assign(Object.assign({}, prevData), { [option.value]: false })));
45
+ const index = prevSelectedSeverities.indexOf(option.value);
46
+ prevSelectedSeverities.splice(index, 1);
32
47
  }
33
48
  else {
34
49
  setSelectedItems((prevData) => (Object.assign(Object.assign({}, prevData), { [option.value]: true })));
35
- updateFilter(dispatch, {
36
- filterKey: SolrKeys.severity,
37
- values: [...prevSelectedSeverities, option.value],
38
- });
50
+ prevSelectedSeverities.push(option.value);
39
51
  }
52
+ updateFilter(dispatch, {
53
+ filterKey: SolrKeys.severity,
54
+ values: prevSelectedSeverities,
55
+ });
40
56
  };
57
+ // Use the keyboard navigator hook
41
58
  const { focusedItemIndex, onInputKeyDown } = useSelectKeyboardNavigator({
42
59
  list,
43
60
  isOpen,
61
+ resetIndexOnClose: true,
44
62
  setIsOpen,
45
63
  onSelect,
46
64
  });
@@ -51,17 +69,25 @@ export function SeverityFilter(props) {
51
69
  values: [],
52
70
  });
53
71
  };
54
- const placeholder = getDropdownBtnPlaceholder(t('Select a severity'), filterInfo[SolrKeys.severity], ' ', list.length, t('All selected'));
72
+ const placeholder = props.isSolrSearchDown
73
+ ? t('Select a severity')
74
+ : getDropdownBtnPlaceholder(t('Select a severity'), filterInfo[SolrKeys.severity], ' ', list.length, t('All selected'));
55
75
  const toggle = (toggleRef) => (React.createElement(MenuToggle, { variant: "default", onClick: onToggleClick, innerRef: toggleRef, isExpanded: isOpen, isFullWidth: true, onKeyDown: onInputKeyDown },
56
76
  placeholder,
57
77
  Object.keys(selectedItems).filter((key) => selectedItems[key] === true).length > 0 && (React.createElement(Button, { icon: "", variant: "plain", onClick: onClick, "aria-label": "Clear selection", className: "pf-v6-c-select__toggle-clear" }))));
58
- const dropdownOptions = list.map((option, index) => !isEmpty(option.value) && (React.createElement(SelectOption, { key: option.key, value: option, hasCheckbox: true, isSelected: selectedItems[option.value], isFocused: focusedItemIndex !== null && focusedItemIndex === index, id: `select-severity-${option.value.replace(' ', '-')}` }, option.value)));
78
+ const dropdownOptions = list.map((option, index) => !isEmpty(option.value) && (React.createElement(SelectOption, { key: option.key, value: option, hasCheckbox: !props.isSolrSearchDown, isSelected: selectedItems[option.value], isFocused: focusedItemIndex !== null && focusedItemIndex === index, id: `select-severity-${option.value.replace(' ', '-')}` }, option.value)));
79
+ const onSingleSelectChange = (option) => {
80
+ updateFilter(dispatch, {
81
+ filterKey: SolrKeys.severity,
82
+ values: [option.value],
83
+ });
84
+ };
59
85
  useEffect(() => {
60
86
  var _a;
61
87
  if (isEmpty(filterInfo[SolrKeys.severity])) {
62
88
  setSelectedItems({});
63
89
  }
64
- else {
90
+ else if (!props.isSolrSearchDown) {
65
91
  const selectedSeverities = (_a = filterInfo[SolrKeys.severity]) === null || _a === void 0 ? void 0 : _a.reduce((selection, severity) => {
66
92
  selection[severity] = true;
67
93
  return selection;
@@ -69,9 +95,9 @@ export function SeverityFilter(props) {
69
95
  setSelectedItems(selectedSeverities);
70
96
  }
71
97
  // eslint-disable-next-line react-hooks/exhaustive-deps
72
- }, [filterInfo[SolrKeys.severity]]);
98
+ }, [filterInfo[SolrKeys.severity], props.isSolrSearchDown]);
73
99
  return (React.createElement("div", { className: "severity-filter" },
74
100
  React.createElement("label", { htmlFor: "case-list-severity-filter", className: "pf-v6-u-mb-sm severity-filter-label" }, t(filterNamesMap[SolrKeys.severity])),
75
- React.createElement(Select, { shouldFocusToggleOnSelect: true, shouldPreventScrollOnItemFocus: true, id: "case-list-severity-filter", "data-tracking-id": "severity-filter", isOpen: isOpen, selected: selectedItems, onSelect: (_e, v) => onSelect(v), onOpenChange: (nextOpen) => setIsOpen(nextOpen), toggle: toggle, isScrollable: true, popperProps: { direction: 'down', enableFlip: false } },
76
- React.createElement(SelectList, null, dropdownOptions))));
101
+ props.isSolrSearchDown ? (React.createElement(SingleSelectDropdown, { id: "case-list-severity-filter", selected: selectedOption, options: singleSelectOptions, placeholder: t('Select a severity'), onSelect: onSingleSelectChange, dataTrackingId: "severity-filter", isScrollable: true })) : (React.createElement(Select, { shouldFocusToggleOnSelect: true, shouldPreventScrollOnItemFocus: true, id: "case-list-severity-filter", "data-tracking-id": "severity-filter", isOpen: isOpen, selected: selectedItems, onSelect: (_e, v) => onSelect(v), onOpenChange: (nextOpen) => setIsOpen(nextOpen), toggle: toggle, isScrollable: true, popperProps: { direction: 'down', enableFlip: false } },
102
+ React.createElement(SelectList, null, dropdownOptions)))));
77
103
  }
@@ -1,5 +1,8 @@
1
+ import { IFacetResponse } from '@rh-support/types/shared';
1
2
  import React from 'react';
2
3
  interface IProps {
4
+ filterValues: IFacetResponse[];
5
+ isSolrSearchDown: boolean;
3
6
  allCaseStatuses: string[];
4
7
  }
5
8
  export interface IStatusFilterOptions {
@@ -1 +1 @@
1
- {"version":3,"file":"StatusFilter.d.ts","sourceRoot":"","sources":["../../../../../src/components/case-list/case-list-filters/StatusFilter.tsx"],"names":[],"mappings":"AAWA,OAAO,KAA0C,MAAM,OAAO,CAAC;AAQ/D,UAAU,MAAM;IACZ,eAAe,EAAE,MAAM,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,oBAAoB;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,qBAqKzC"}
1
+ {"version":3,"file":"StatusFilter.d.ts","sourceRoot":"","sources":["../../../../../src/components/case-list/case-list-filters/StatusFilter.tsx"],"names":[],"mappings":"AAUA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,OAAO,KAA0C,MAAM,OAAO,CAAC;AAO/D,UAAU,MAAM;IACZ,YAAY,EAAE,cAAc,EAAE,CAAC;IAC/B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,eAAe,EAAE,MAAM,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,oBAAoB;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,qBAkNzC"}
@@ -1,23 +1,43 @@
1
1
  import { Button, MenuToggle, Select, SelectList, SelectOption, } from '@patternfly/react-core';
2
- import { useSelectKeyboardNavigator } from '@rh-support/components';
2
+ import { SingleSelectDropdown, useSelectKeyboardNavigator } from '@rh-support/components';
3
3
  import isEmpty from 'lodash/isEmpty';
4
4
  import React, { useContext, useEffect, useState } from 'react';
5
5
  import { useTranslation } from 'react-i18next';
6
6
  import { SolrKeys } from '../../../enums/filters';
7
- import { filterNamesMap, PORTAL_DISPLAY_STATUSES, PORTAL_OPEN_DISPLAY_STATUSES } from '../../../utils/constants';
7
+ import { filterNamesMap } from '../../../utils/constants';
8
8
  import { CaseListFilterDispatchContext, CaseListFilterStateContext } from '../CaseListFilterContext';
9
9
  import { updateFilter } from '../CaseListFilterReducer';
10
10
  export function StatusFilter(props) {
11
+ var _a;
11
12
  const dispatch = useContext(CaseListFilterDispatchContext);
12
13
  const { t } = useTranslation();
13
14
  const { filterInfo } = useContext(CaseListFilterStateContext);
14
15
  const [isOpen, setIsOpen] = useState(false);
15
16
  const [selectedItems, setSelectedItems] = useState({});
16
- const list = PORTAL_DISPLAY_STATUSES.map((status) => ({ value: status, key: status }));
17
+ const list = props.isSolrSearchDown
18
+ ? props.allCaseStatuses.map((status) => ({ value: status, key: status }))
19
+ : props.filterValues.map((filterValue) => ({ value: filterValue.value, key: filterValue.value }));
20
+ const singleSelectOptions = list.map((item) => ({
21
+ value: item.value,
22
+ label: item.value,
23
+ }));
24
+ const selectedStatus = ((_a = filterInfo === null || filterInfo === void 0 ? void 0 : filterInfo[SolrKeys.status]) === null || _a === void 0 ? void 0 : _a[0]) || '';
25
+ const selectedOption = {
26
+ value: selectedStatus,
27
+ label: selectedStatus,
28
+ };
17
29
  const onToggleClick = (e) => {
18
30
  setIsOpen(!isOpen);
19
31
  };
20
32
  const onSelect = (option) => {
33
+ if (props.isSolrSearchDown) {
34
+ updateFilter(dispatch, {
35
+ filterKey: SolrKeys.status,
36
+ values: [option.value],
37
+ });
38
+ setIsOpen(false);
39
+ return;
40
+ }
21
41
  const prevSelectedStatuses = Object.keys(selectedItems).filter((item) => selectedItems[item] && item);
22
42
  if (selectedItems[option.value]) {
23
43
  setSelectedItems((prevData) => (Object.assign(Object.assign({}, prevData), { [option.value]: false })));
@@ -55,32 +75,42 @@ export function StatusFilter(props) {
55
75
  else if (selectedValues && selectedValues.length === 1) {
56
76
  return selectedValues[0];
57
77
  }
58
- else if (selectedValues && totalLength && selectedValues.length === totalLength) {
78
+ else if (selectedValues && selectedValues.length === 3) {
59
79
  return t('All cases');
60
80
  }
61
81
  else {
62
- const hasAllOpenSelected = PORTAL_OPEN_DISPLAY_STATUSES.every((status) => selectedValues.includes(status)) &&
63
- !selectedValues.includes('Closed') &&
64
- !selectedValues.includes('Archived');
65
- if (hasAllOpenSelected) {
82
+ if (selectedValues &&
83
+ selectedValues.length === 2 &&
84
+ selectedValues.every((item) => item.includes('Waiting'))) {
66
85
  return t('All open cases');
67
86
  }
87
+ else if (selectedValues && totalLength && selectedValues.length === totalLength) {
88
+ return totalLengthString || btnPlaceholder;
89
+ }
68
90
  else {
69
91
  return `${selectedValues.length} ${type} selected`;
70
92
  }
71
93
  }
72
94
  };
73
- const placeholder = getBtnPlaceholder(t('Select a status'), (filterInfo === null || filterInfo === void 0 ? void 0 : filterInfo[SolrKeys.status]) || [], ' ', list.length, t('All selected'));
95
+ const placeholder = props.isSolrSearchDown
96
+ ? t('Select a status')
97
+ : getBtnPlaceholder(t('Select a status'), (filterInfo === null || filterInfo === void 0 ? void 0 : filterInfo[SolrKeys.status]) || [], ' ', list.length, t('All selected'));
74
98
  const toggle = (toggleRef) => (React.createElement(MenuToggle, { variant: "default", onClick: onToggleClick, innerRef: toggleRef, isExpanded: isOpen, isFullWidth: true, onKeyDown: onInputKeyDown },
75
99
  placeholder,
76
100
  Object.keys(selectedItems).filter((key) => selectedItems[key] === true).length > 0 && (React.createElement(Button, { icon: "", variant: "plain", onClick: onClick, "aria-label": "Clear selection", className: "pf-v6-c-select__toggle-clear" }))));
77
- const dropdownOptions = list.map((option, index) => !isEmpty(option.value) && (React.createElement(SelectOption, { key: option.key, value: option, hasCheckbox: true, isSelected: selectedItems[option.value], isFocused: focusedItemIndex !== null && focusedItemIndex === index, id: `select-status-${option.value.replace(' ', '-')}` }, option.value)));
101
+ const dropdownOptions = list.map((option, index) => !isEmpty(option.value) && (React.createElement(SelectOption, { key: option.key, value: option, hasCheckbox: !props.isSolrSearchDown, isSelected: selectedItems[option.value], isFocused: focusedItemIndex !== null && focusedItemIndex === index, id: `select-status-${option.value.replace(' ', '-')}` }, option.value)));
102
+ const onSingleSelectChange = (option) => {
103
+ updateFilter(dispatch, {
104
+ filterKey: SolrKeys.status,
105
+ values: [option.value],
106
+ });
107
+ };
78
108
  useEffect(() => {
79
109
  var _a;
80
110
  if (isEmpty(filterInfo === null || filterInfo === void 0 ? void 0 : filterInfo[SolrKeys.status])) {
81
111
  setSelectedItems({});
82
112
  }
83
- else {
113
+ else if (!props.isSolrSearchDown) {
84
114
  const selectedStatuses = (_a = filterInfo === null || filterInfo === void 0 ? void 0 : filterInfo[SolrKeys.status]) === null || _a === void 0 ? void 0 : _a.reduce((selection, status) => {
85
115
  selection[status] = true;
86
116
  return selection;
@@ -88,10 +118,10 @@ export function StatusFilter(props) {
88
118
  setSelectedItems(selectedStatuses || {});
89
119
  }
90
120
  // eslint-disable-next-line react-hooks/exhaustive-deps
91
- }, [filterInfo === null || filterInfo === void 0 ? void 0 : filterInfo[SolrKeys.status]]);
121
+ }, [filterInfo === null || filterInfo === void 0 ? void 0 : filterInfo[SolrKeys.status], props.isSolrSearchDown]);
92
122
  const titleId = 'case-list-status-filter';
93
123
  return (React.createElement("div", { className: "status-filter" },
94
124
  React.createElement("label", { htmlFor: titleId, className: "pf-v6-u-mb-sm status-filter-label" }, t(filterNamesMap[SolrKeys.status])),
95
- React.createElement(Select, { shouldFocusToggleOnSelect: true, shouldPreventScrollOnItemFocus: true, id: titleId, "data-tracking-id": "status-filter", isOpen: isOpen, selected: selectedItems, onSelect: (_e, v) => onSelect(v), onOpenChange: (nextOpen) => setIsOpen(nextOpen), toggle: toggle, isScrollable: true, popperProps: { direction: 'down', enableFlip: false } },
96
- React.createElement(SelectList, null, dropdownOptions))));
125
+ props.isSolrSearchDown ? (React.createElement(SingleSelectDropdown, { id: titleId, selected: selectedOption, options: singleSelectOptions, placeholder: t('Select a status'), onSelect: onSingleSelectChange, dataTrackingId: "status-filter", isScrollable: true })) : (React.createElement(Select, { shouldFocusToggleOnSelect: true, shouldPreventScrollOnItemFocus: true, id: titleId, "data-tracking-id": "status-filter", isOpen: isOpen, selected: selectedItems, onSelect: (_e, v) => onSelect(v), onOpenChange: (nextOpen) => setIsOpen(nextOpen), toggle: toggle, isScrollable: true, popperProps: { direction: 'down', enableFlip: false } },
126
+ React.createElement(SelectList, null, dropdownOptions)))));
97
127
  }
@@ -1,8 +1,10 @@
1
1
  import React from 'react';
2
+ import { IProductVersionPivotMap } from '../CaseList';
2
3
  import { IProductFilter } from '../CaseListFilterReducer';
3
4
  interface IProps {
4
5
  productInfo: IProductFilter;
6
+ productVersionPivot: IProductVersionPivotMap[];
5
7
  }
6
- export declare function VersionsFilter({ productInfo }: IProps): React.JSX.Element;
8
+ export declare function VersionsFilter({ productInfo, productVersionPivot }: IProps): React.JSX.Element;
7
9
  export {};
8
10
  //# sourceMappingURL=VersionsFilter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"VersionsFilter.d.ts","sourceRoot":"","sources":["../../../../../src/components/case-list/case-list-filters/VersionsFilter.tsx"],"names":[],"mappings":"AAkBA,OAAO,KAA2D,MAAM,OAAO,CAAC;AAKhF,OAAO,EAAE,cAAc,EAAgB,MAAM,0BAA0B,CAAC;AAExE,UAAU,MAAM;IACZ,WAAW,EAAE,cAAc,CAAC;CAC/B;AAED,wBAAgB,cAAc,CAAC,EAAE,WAAW,EAAE,EAAE,MAAM,qBAiQrD"}
1
+ {"version":3,"file":"VersionsFilter.d.ts","sourceRoot":"","sources":["../../../../../src/components/case-list/case-list-filters/VersionsFilter.tsx"],"names":[],"mappings":"AAeA,OAAO,KAA2D,MAAM,OAAO,CAAC;AAIhF,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAEtD,OAAO,EAAE,cAAc,EAAgB,MAAM,0BAA0B,CAAC;AAoCxE,UAAU,MAAM;IACZ,WAAW,EAAE,cAAc,CAAC;IAC5B,mBAAmB,EAAE,uBAAuB,EAAE,CAAC;CAClD;AAED,wBAAgB,cAAc,CAAC,EAAE,WAAW,EAAE,mBAAmB,EAAE,EAAE,MAAM,qBAkO1E"}
@@ -1,66 +1,64 @@
1
- import { useApolloClient } from '@apollo/client/react';
2
1
  import { Button, MenuToggle, Select, SelectList, SelectOption, TextInputGroup, TextInputGroupMain, TextInputGroupUtilities, } from '@patternfly/react-core';
3
2
  import TimesIcon from '@patternfly/react-icons/dist/js/icons/times-icon';
4
3
  import { useSelectKeyboardNavigator } from '@rh-support/components';
5
- import { GlobalMetadataStateContext } from '@rh-support/react-context';
6
- import { compareVersions, GET_PRODUCTS, handleGraphQLVersionsResponse } from '@rh-support/utils';
7
4
  import isEmpty from 'lodash/isEmpty';
8
5
  import React, { useContext, useEffect, useMemo, useRef, useState } from 'react';
9
6
  import { useTranslation } from 'react-i18next';
10
7
  import { SolrKeys, SolrPivotKeys } from '../../../enums/filters';
11
8
  import { CaseListFilterDispatchContext, CaseListFilterStateContext } from '../CaseListFilterContext';
12
9
  import { updateFilter } from '../CaseListFilterReducer';
13
- export function VersionsFilter({ productInfo }) {
10
+ function getVersionValuesForProduct(productPivot = [], productName) {
11
+ return (productPivot.find((item) => item.value === productName) || {}).case_version;
12
+ }
13
+ //split version into parts
14
+ function parseVersionIntoParts(version) {
15
+ //keep unknown version at last
16
+ if (version === 'Unknown')
17
+ return [Infinity];
18
+ //split dots and spaces
19
+ return version.split(/[.\s]/).map((p) => (isNaN(Number(p)) ? p : Number(p)));
20
+ }
21
+ function compareVersions(versionA, versionB) {
22
+ var _a, _b;
23
+ const pA = parseVersionIntoParts(versionA), pB = parseVersionIntoParts(versionB);
24
+ //compare each part
25
+ for (let i = 0; i < Math.max(pA.length, pB.length); i++) {
26
+ const a = (_a = pA[i]) !== null && _a !== void 0 ? _a : 0, b = (_b = pB[i]) !== null && _b !== void 0 ? _b : 0; //undefined as 0
27
+ if (a == b)
28
+ continue;
29
+ if (typeof a === 'number' && typeof b === 'number')
30
+ return a - b;
31
+ if (typeof a === 'string' && typeof b === 'string')
32
+ return a.localeCompare(b);
33
+ //one is string and other is number => string takes precendence
34
+ if (typeof a === 'string')
35
+ return -1;
36
+ if (typeof b == 'string')
37
+ return 1;
38
+ }
39
+ return 0;
40
+ }
41
+ export function VersionsFilter({ productInfo, productVersionPivot }) {
14
42
  const { t } = useTranslation();
15
43
  const { filterInfo } = useContext(CaseListFilterStateContext);
16
44
  const dispatch = useContext(CaseListFilterDispatchContext);
17
- const apolloClient = useApolloClient();
18
- const { globalMetadataState: { allProducts }, } = useContext(GlobalMetadataStateContext);
19
45
  const [inputValue, setInputValue] = useState('');
20
46
  const [activeItem, setActiveItem] = useState(null);
21
47
  const [isOpen, setIsOpen] = useState(false);
22
48
  const [selectedItems, setSelectedItems] = useState({});
23
- const [fetchedVersions, setFetchedVersions] = useState([]);
24
- const [isLoading, setIsLoading] = useState(false);
25
49
  const textInputRef = useRef();
26
- useEffect(() => {
27
- const productObj = allProducts.data.productsResult.find((p) => p.name === productInfo.value || p.product === productInfo.value);
28
- if (!(productObj === null || productObj === void 0 ? void 0 : productObj.productId))
29
- return;
30
- setIsLoading(true);
31
- apolloClient
32
- .query({
33
- query: GET_PRODUCTS,
34
- variables: {
35
- where: { ParentProduct__c: { eq: productObj.productId }, IsActive: { eq: true } },
36
- first: 200,
37
- orderBy: { Name: { order: 'ASC' } },
38
- },
39
- fetchPolicy: 'cache-first',
40
- })
41
- .then(({ data }) => {
42
- var _a, _b, _c, _d;
43
- 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.RedHatSupportProduct2) === null || _c === void 0 ? void 0 : _c.edges) !== null && _d !== void 0 ? _d : [];
44
- const versionData = handleGraphQLVersionsResponse(edges, productObj.name || productInfo.value);
45
- setFetchedVersions(versionData);
46
- })
47
- .catch((err) => {
48
- console.error('[VersionsFilter] Failed to fetch versions:', err);
49
- setFetchedVersions([]);
50
- })
51
- .finally(() => setIsLoading(false));
52
- // eslint-disable-next-line react-hooks/exhaustive-deps
53
- }, [productInfo.value, allProducts.data]);
54
- const list = useMemo(() => {
55
- const sorted = [...fetchedVersions].sort((a, b) => compareVersions(a.name, b.name));
56
- return sorted.map((version) => ({
57
- value: version.name,
58
- key: version.name,
59
- id: version.id,
60
- }));
61
- }, [fetchedVersions]);
50
+ // Memoize versions to prevent unnecessary recalculations
51
+ const versions = useMemo(() => {
52
+ const versionValues = getVersionValuesForProduct(productVersionPivot, productInfo.value);
53
+ return versionValues === null || versionValues === void 0 ? void 0 : versionValues.sort((a, b) => compareVersions(a.value, b.value));
54
+ }, [productVersionPivot, productInfo.value]);
55
+ // Memoize list to prevent unnecessary recreations
56
+ const list = useMemo(() => (versions === null || versions === void 0 ? void 0 : versions.map((version) => ({
57
+ value: version.value,
58
+ key: version.value,
59
+ }))) || [], [versions]);
62
60
  const [selectOptions, setSelectOptions] = useState(list);
63
- const onToggleClick = () => {
61
+ const onToggleClick = (e) => {
64
62
  setIsOpen(!isOpen);
65
63
  };
66
64
  const onSelect = (option) => {
@@ -74,17 +72,18 @@ export function VersionsFilter({ productInfo }) {
74
72
  setSelectedItems((prevData) => (Object.assign(Object.assign({}, prevData), { [option.value]: true })));
75
73
  prevSelectedVersions.push(option.value);
76
74
  }
77
- const newVersionState = prevSelectedVersions.map((version) => {
78
- const versionOption = list.find((item) => item.value === version);
79
- return {
80
- field: SolrKeys.version,
81
- value: version,
82
- productId: (versionOption === null || versionOption === void 0 ? void 0 : versionOption.id) || '',
83
- };
84
- });
85
- const productNewState = [...((filterInfo === null || filterInfo === void 0 ? void 0 : filterInfo[SolrPivotKeys.product_version]) || [])];
75
+ const newVersionState = prevSelectedVersions.map((version) => ({
76
+ field: SolrKeys.version,
77
+ value: version,
78
+ }));
79
+ const productNewState = [...filterInfo[SolrPivotKeys.product_version]];
86
80
  const objIndex = productNewState.findIndex((item) => item.value === productInfo.value);
87
- productNewState[objIndex] = Object.assign(Object.assign({}, productNewState[objIndex]), { field: SolrKeys.product, value: productInfo.value, [SolrKeys.version]: newVersionState });
81
+ // replace product with updated versions
82
+ productNewState[objIndex] = {
83
+ field: SolrKeys.product,
84
+ value: productInfo.value,
85
+ [SolrKeys.version]: newVersionState,
86
+ };
88
87
  updateFilter(dispatch, { filterKey: SolrPivotKeys.product_version, values: productNewState });
89
88
  };
90
89
  // Use the keyboard navigator hook
@@ -104,7 +103,7 @@ export function VersionsFilter({ productInfo }) {
104
103
  var _a;
105
104
  setInputValue('');
106
105
  setSelectedItems({});
107
- const productNewState = [...((filterInfo === null || filterInfo === void 0 ? void 0 : filterInfo[SolrPivotKeys.product_version]) || [])];
106
+ const productNewState = [...filterInfo[SolrPivotKeys.product_version]];
108
107
  const objIndex = productNewState.findIndex((item) => item.value === productInfo.value);
109
108
  productNewState[objIndex] = {
110
109
  field: SolrKeys.product,
@@ -118,7 +117,7 @@ export function VersionsFilter({ productInfo }) {
118
117
  useEffect(() => {
119
118
  if (focusedItemIndex !== null && list[focusedItemIndex]) {
120
119
  const focusedItem = list[focusedItemIndex];
121
- setActiveItem(`select-multi-typeahead-checkbox-${String(focusedItem === null || focusedItem === void 0 ? void 0 : focusedItem.value).replace(' ', '-')}`);
120
+ setActiveItem(`select-multi-typeahead-checkbox-${focusedItem === null || focusedItem === void 0 ? void 0 : focusedItem.value.replace(' ', '-')}`);
122
121
  }
123
122
  else {
124
123
  setActiveItem(null);
@@ -132,7 +131,7 @@ export function VersionsFilter({ productInfo }) {
132
131
  // Memoize dropdownOptions to prevent unnecessary rerenders
133
132
  const dropdownOptions = useMemo(() => {
134
133
  const optionsToRender = !isEmpty(selectOptions) ? selectOptions : list;
135
- return optionsToRender.map((option, index) => option.value && (React.createElement(SelectOption, { key: option.key, value: option, hasCheckbox: true, isSelected: selectedItems[String(option.value)], isFocused: focusedItemIndex !== null && focusedItemIndex === index, id: `select-multi-typeahead-${String(option.value).replace(' ', '-')}` }, option.value)));
134
+ return optionsToRender.map((option, index) => option.value && (React.createElement(SelectOption, { key: option.key, value: option, hasCheckbox: true, isSelected: selectedItems[option.value], isFocused: focusedItemIndex !== null && focusedItemIndex === index, id: `select-multi-typeahead-${option.value.replace(' ', '-')}` }, option.value)));
136
135
  }, [selectOptions, list, selectedItems, focusedItemIndex]);
137
136
  // Update selectOptions when input value changes
138
137
  useEffect(() => {
@@ -157,9 +156,9 @@ export function VersionsFilter({ productInfo }) {
157
156
  setSelectedItems(selectedVersions);
158
157
  }, [productInfo.case_version]);
159
158
  const titleId = 'case-list-versions-filter';
160
- return (React.createElement("div", { className: "version-filter-chip" },
159
+ return (React.createElement(React.Fragment, null, (!isEmpty(versions) || true) && (React.createElement("div", { className: "version-filter-chip" },
161
160
  React.createElement("label", { hidden: true, htmlFor: titleId }, t('Open versions dropdown')),
162
161
  React.createElement("div", { className: "pf-v6-c-select" },
163
162
  React.createElement(Select, { shouldFocusToggleOnSelect: true, shouldPreventScrollOnItemFocus: true, "data-tracking-id": "versions-filter", id: titleId, title: t('Version'), isOpen: isOpen, selected: selectedItems, onSelect: (_e, v) => onSelect(v), onOpenChange: (nextOpen) => setIsOpen(nextOpen), popperProps: { direction: 'down', enableFlip: false }, toggle: toggle, isScrollable: true },
164
- React.createElement(SelectList, null, isLoading ? React.createElement(SelectOption, { isDisabled: true }, t('Loading...')) : dropdownOptions)))));
163
+ React.createElement(SelectList, null, dropdownOptions)))))));
165
164
  }
@@ -3,21 +3,16 @@ import { ISolrResponse } from '@rh-support/types/shared';
3
3
  import { UserAuth } from '@rh-support/user-permissions';
4
4
  import React from 'react';
5
5
  import { ICaseListResponse } from '../../../models/caseList';
6
- import { ISortInfo } from '../CaseListFilterReducer';
6
+ import { IPaginationInfo, ISortInfo } from '../CaseListFilterReducer';
7
7
  interface IProps {
8
8
  caseList: ISolrResponse<ICaseListResponse>;
9
9
  caseGroups: ICaseGroup[];
10
10
  loggedInUserRights: UserAuth;
11
11
  sortInfo?: ISortInfo;
12
+ paginationInfo?: IPaginationInfo;
12
13
  isCaseListPageLoading: boolean;
13
14
  hasError: boolean;
14
- hasNextPage: boolean;
15
- isLoadingMore: boolean;
16
- loadMoreError: boolean;
17
- loadMoreRetryCount: number;
18
- onRetryLoadMore: () => void;
19
- onCasesCloseSuccess?: () => void;
20
- sentinelRef?: (node?: Element | null) => void;
15
+ isSolrDown?: boolean;
21
16
  }
22
17
  export declare function CaseListTable(props: IProps): React.JSX.Element;
23
18
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"CaseListTable.d.ts","sourceRoot":"","sources":["../../../../../src/components/case-list/case-list-table/CaseListTable.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,+CAA+C,CAAC;AAsB3E,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAaxD,OAAO,KAAkD,MAAM,OAAO,CAAC;AAKvE,OAAO,EAAE,iBAAiB,EAAyB,MAAM,0BAA0B,CAAC;AAEpF,OAAO,EAAgB,SAAS,EAAc,MAAM,0BAA0B,CAAC;AA4B/E,UAAU,MAAM;IACZ,QAAQ,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;IAC3C,UAAU,EAAE,UAAU,EAAE,CAAC;IACzB,kBAAkB,EAAE,QAAQ,CAAC;IAC7B,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,qBAAqB,EAAE,OAAO,CAAC;IAC/B,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,OAAO,CAAC;IACrB,aAAa,EAAE,OAAO,CAAC;IACvB,aAAa,EAAE,OAAO,CAAC;IACvB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,eAAe,EAAE,MAAM,IAAI,CAAC;IAC5B,mBAAmB,CAAC,EAAE,MAAM,IAAI,CAAC;IACjC,WAAW,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,KAAK,IAAI,CAAC;CACjD;AAsBD,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,qBA0oB1C"}
1
+ {"version":3,"file":"CaseListTable.d.ts","sourceRoot":"","sources":["../../../../../src/components/case-list/case-list-table/CaseListTable.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,+CAA+C,CAAC;AAqB3E,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAQxD,OAAO,KAAkD,MAAM,OAAO,CAAC;AAKvE,OAAO,EAAE,iBAAiB,EAAyB,MAAM,0BAA0B,CAAC;AAEpF,OAAO,EAEH,eAAe,EACf,SAAS,EAIZ,MAAM,0BAA0B,CAAC;AA4BlC,UAAU,MAAM;IACZ,QAAQ,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;IAC3C,UAAU,EAAE,UAAU,EAAE,CAAC;IACzB,kBAAkB,EAAE,QAAQ,CAAC;IAC7B,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,cAAc,CAAC,EAAE,eAAe,CAAC;IACjC,qBAAqB,EAAE,OAAO,CAAC;IAC/B,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;CACxB;AAsBD,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,qBA6kB1C"}