@rh-support/cases 2.4.10-beta.6 → 2.5.0

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 (130) hide show
  1. package/README.md +2 -0
  2. package/lib/esm/components/case/NewCaseButton.d.ts +2 -1
  3. package/lib/esm/components/case/NewCaseButton.d.ts.map +1 -1
  4. package/lib/esm/components/case-list/CaseList.d.ts +4 -3
  5. package/lib/esm/components/case-list/CaseList.d.ts.map +1 -1
  6. package/lib/esm/components/case-list/CaseList.js +42 -44
  7. package/lib/esm/components/case-list/CaseListContext.d.ts +1 -1
  8. package/lib/esm/components/case-list/CaseListContext.d.ts.map +1 -1
  9. package/lib/esm/components/case-list/CaseListFilterContext.d.ts +1 -1
  10. package/lib/esm/components/case-list/CaseListFilterContext.d.ts.map +1 -1
  11. package/lib/esm/components/case-list/CaseListFilterHelpers.d.ts.map +1 -1
  12. package/lib/esm/components/case-list/CaseListFilterReducer.d.ts +6 -3
  13. package/lib/esm/components/case-list/CaseListFilterReducer.d.ts.map +1 -1
  14. package/lib/esm/components/case-list/CaseListFilterReducer.js +3 -0
  15. package/lib/esm/components/case-list/CaseListReducer.d.ts +2 -2
  16. package/lib/esm/components/case-list/CaseListReducer.d.ts.map +1 -1
  17. package/lib/esm/components/case-list/case-list-filters/AccountsBookmarkedGroupFilter.d.ts +3 -2
  18. package/lib/esm/components/case-list/case-list-filters/AccountsBookmarkedGroupFilter.d.ts.map +1 -1
  19. package/lib/esm/components/case-list/case-list-filters/AccountsBookmarkedGroupFilter.js +25 -11
  20. package/lib/esm/components/case-list/case-list-filters/AccountsFilter.d.ts +2 -1
  21. package/lib/esm/components/case-list/case-list-filters/AccountsFilter.d.ts.map +1 -1
  22. package/lib/esm/components/case-list/case-list-filters/AccountsFilter.js +10 -5
  23. package/lib/esm/components/case-list/case-list-filters/AdditionalFilters.d.ts +2 -1
  24. package/lib/esm/components/case-list/case-list-filters/AdditionalFilters.d.ts.map +1 -1
  25. package/lib/esm/components/case-list/case-list-filters/AdditionalFilters.js +19 -4
  26. package/lib/esm/components/case-list/case-list-filters/CaseListFilterChips.d.ts +2 -1
  27. package/lib/esm/components/case-list/case-list-filters/CaseListFilterChips.d.ts.map +1 -1
  28. package/lib/esm/components/case-list/case-list-filters/CaseListFilterChips.js +1 -1
  29. package/lib/esm/components/case-list/case-list-filters/CaseListFilters.d.ts +2 -1
  30. package/lib/esm/components/case-list/case-list-filters/CaseListFilters.d.ts.map +1 -1
  31. package/lib/esm/components/case-list/case-list-filters/CreatorSsoNameFilter.d.ts +12 -1
  32. package/lib/esm/components/case-list/case-list-filters/CreatorSsoNameFilter.d.ts.map +1 -1
  33. package/lib/esm/components/case-list/case-list-filters/CreatorSsoNameFilter.js +139 -163
  34. package/lib/esm/components/case-list/case-list-filters/CreatorSsoNameFilterChip.d.ts +2 -1
  35. package/lib/esm/components/case-list/case-list-filters/CreatorSsoNameFilterChip.d.ts.map +1 -1
  36. package/lib/esm/components/case-list/case-list-filters/CreatorSsoNameFilterChip.js +1 -1
  37. package/lib/esm/components/case-list/case-list-filters/GroupsFilter.d.ts +2 -1
  38. package/lib/esm/components/case-list/case-list-filters/GroupsFilter.d.ts.map +1 -1
  39. package/lib/esm/components/case-list/case-list-filters/GroupsFilter.js +157 -27
  40. package/lib/esm/components/case-list/case-list-filters/InternalSsoNameFilter.d.ts +3 -0
  41. package/lib/esm/components/case-list/case-list-filters/InternalSsoNameFilter.d.ts.map +1 -0
  42. package/lib/esm/components/case-list/case-list-filters/InternalSsoNameFilter.js +207 -0
  43. package/lib/esm/components/case-list/case-list-filters/ProductFilterChip.d.ts +2 -1
  44. package/lib/esm/components/case-list/case-list-filters/ProductFilterChip.d.ts.map +1 -1
  45. package/lib/esm/components/case-list/case-list-filters/ProductFilterChip.js +1 -1
  46. package/lib/esm/components/case-list/case-list-filters/ProductsFilter.d.ts +2 -1
  47. package/lib/esm/components/case-list/case-list-filters/ProductsFilter.d.ts.map +1 -1
  48. package/lib/esm/components/case-list/case-list-filters/ProductsFilter.js +7 -5
  49. package/lib/esm/components/case-list/case-list-filters/SeverityFilter.d.ts +2 -1
  50. package/lib/esm/components/case-list/case-list-filters/SeverityFilter.d.ts.map +1 -1
  51. package/lib/esm/components/case-list/case-list-filters/SeverityFilter.js +4 -4
  52. package/lib/esm/components/case-list/case-list-filters/StatusFilter.d.ts +2 -1
  53. package/lib/esm/components/case-list/case-list-filters/StatusFilter.d.ts.map +1 -1
  54. package/lib/esm/components/case-list/case-list-filters/StatusFilter.js +4 -4
  55. package/lib/esm/components/case-list/case-list-filters/TypeFilter.d.ts +2 -1
  56. package/lib/esm/components/case-list/case-list-filters/TypeFilter.d.ts.map +1 -1
  57. package/lib/esm/components/case-list/case-list-filters/TypeFilter.js +3 -3
  58. package/lib/esm/components/case-list/case-list-filters/VersionsFilter.d.ts +2 -1
  59. package/lib/esm/components/case-list/case-list-filters/VersionsFilter.d.ts.map +1 -1
  60. package/lib/esm/components/case-list/case-list-filters/VersionsFilter.js +35 -4
  61. package/lib/esm/components/case-list/case-list-table/CaseListTable.d.ts +2 -1
  62. package/lib/esm/components/case-list/case-list-table/CaseListTable.d.ts.map +1 -1
  63. package/lib/esm/components/case-list/case-list-table/CaseListTable.js +211 -113
  64. package/lib/esm/components/case-list/case-list-table/CloseCaseBtn.d.ts +2 -1
  65. package/lib/esm/components/case-list/case-list-table/CloseCaseBtn.d.ts.map +1 -1
  66. package/lib/esm/components/case-list/case-list-table/CloseCaseBtn.js +7 -2
  67. package/lib/esm/components/case-list/case-list-table/DownloadCSVFileModal.d.ts +19 -0
  68. package/lib/esm/components/case-list/case-list-table/DownloadCSVFileModal.d.ts.map +1 -0
  69. package/lib/esm/components/case-list/case-list-table/DownloadCSVFileModal.js +296 -0
  70. package/lib/esm/components/case-list/case-list-table/DownloadCSVFileModal.scss +27 -0
  71. package/lib/esm/components/case-list/case-list-table/ExportCaseListCSV.d.ts +3 -1
  72. package/lib/esm/components/case-list/case-list-table/ExportCaseListCSV.d.ts.map +1 -1
  73. package/lib/esm/components/case-list/case-list-table/ExportCaseListCSV.js +19 -96
  74. package/lib/esm/components/case-list/case-list-table/SeverityLabel.d.ts +2 -1
  75. package/lib/esm/components/case-list/case-list-table/SeverityLabel.d.ts.map +1 -1
  76. package/lib/esm/components/case-list/case-list-table/table-column-selector/TableColumnSelector.d.ts +9 -0
  77. package/lib/esm/components/case-list/case-list-table/table-column-selector/TableColumnSelector.d.ts.map +1 -0
  78. package/lib/esm/components/case-list/case-list-table/table-column-selector/TableColumnSelector.js +53 -0
  79. package/lib/esm/components/case-list/case-list-table/table-column-selector/TableColumnSelector.scss +7 -0
  80. package/lib/esm/components/case-list/case-search/AdvanceSearch.d.ts +2 -1
  81. package/lib/esm/components/case-list/case-search/AdvanceSearch.d.ts.map +1 -1
  82. package/lib/esm/components/case-list/case-search/AdvanceSearch.js +18 -13
  83. package/lib/esm/components/case-list/case-search/BookmarkedSearchesSelector.d.ts +2 -1
  84. package/lib/esm/components/case-list/case-search/BookmarkedSearchesSelector.d.ts.map +1 -1
  85. package/lib/esm/components/case-list/case-search/BookmarkedSearchesSelector.js +7 -6
  86. package/lib/esm/components/case-list/case-search/CaseSearch.d.ts +2 -1
  87. package/lib/esm/components/case-list/case-search/CaseSearch.d.ts.map +1 -1
  88. package/lib/esm/components/case-list/case-search/CaseSearch.js +2 -2
  89. package/lib/esm/components/case-list/case-search/SaveCaseSearchModal.d.ts +2 -1
  90. package/lib/esm/components/case-list/case-search/SaveCaseSearchModal.d.ts.map +1 -1
  91. package/lib/esm/components/case-list/case-search/SaveCaseSearchModal.js +48 -40
  92. package/lib/esm/components/case-list/case-search/useAdvanceSearchParser.js +1 -1
  93. package/lib/esm/components/escalations/EscalationForm.d.ts +1 -1
  94. package/lib/esm/components/escalations/EscalationForm.d.ts.map +1 -1
  95. package/lib/esm/components/escalations/EscalationForm.js +18 -9
  96. package/lib/esm/components/escalations/PartnerEscalation.d.ts +2 -1
  97. package/lib/esm/components/escalations/PartnerEscalation.d.ts.map +1 -1
  98. package/lib/esm/components/index.d.ts +2 -8
  99. package/lib/esm/components/index.d.ts.map +1 -1
  100. package/lib/esm/components/index.js +5 -8
  101. package/lib/esm/css/caseList.css +85 -64
  102. package/lib/esm/css/caseSearch.css +1 -1
  103. package/lib/esm/css/escalation.css +4 -4
  104. package/lib/esm/enums/cache.d.ts +1 -1
  105. package/lib/esm/enums/cache.d.ts.map +1 -1
  106. package/lib/esm/enums/case.js +1 -1
  107. package/lib/esm/enums/filters.d.ts +1 -1
  108. package/lib/esm/enums/filters.d.ts.map +1 -1
  109. package/lib/esm/enums/filters.js +1 -1
  110. package/lib/esm/i18n/template-es.js +1 -1
  111. package/lib/esm/index.d.ts +0 -2
  112. package/lib/esm/index.d.ts.map +1 -1
  113. package/lib/esm/index.js +0 -2
  114. package/lib/esm/models/caseList.d.ts +5 -2
  115. package/lib/esm/models/caseList.d.ts.map +1 -1
  116. package/lib/esm/scss/_main.scss +11 -11
  117. package/lib/esm/scss/_pf-overrides.scss +40 -4
  118. package/lib/esm/scss/index.scss +0 -1
  119. package/lib/esm/test-utils/testSetup.d.ts +1 -1
  120. package/lib/esm/test-utils/testSetup.d.ts.map +1 -1
  121. package/lib/esm/test-utils/testSetup.js +1 -1
  122. package/lib/esm/test-utils/testUtils.d.ts +1 -1
  123. package/lib/esm/test-utils/testUtils.js +1 -1
  124. package/lib/esm/utils/caseListUtils.js +3 -3
  125. package/lib/esm/utils/caseSearchUtils.d.ts +3 -3
  126. package/lib/esm/utils/caseSearchUtils.d.ts.map +1 -1
  127. package/lib/esm/utils/caseSearchUtils.js +18 -5
  128. package/lib/esm/utils/constants.js +1 -1
  129. package/lib/esm/utils/routeUtils.js +2 -1
  130. package/package.json +35 -32
@@ -0,0 +1,296 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import './DownloadCSVFileModal.scss';
11
+ import { publicApi } from '@cee-eng/hydrajs';
12
+ import { Button, Checkbox, Form, FormGroup, Grid, GridItem, InputGroup, Modal, ModalVariant, Spinner, TextInput, ValidatedOptions, } from '@patternfly/react-core';
13
+ import DownloadIcon from '@patternfly/react-icons/dist/js/icons/download-icon';
14
+ import TimesCircleIcon from '@patternfly/react-icons/dist/js/icons/times-circle-icon';
15
+ import { ToastNotification, useFetch } from '@rh-support/components';
16
+ import { downloadCSV, formatDateTime, toNewCaseTypeSwitcher } from '@rh-support/utils';
17
+ import { isEmpty } from 'lodash';
18
+ import React, { useEffect, useMemo, useState } from 'react';
19
+ import { useTranslation } from 'react-i18next';
20
+ import { SFDCKeys, SolrKeys } from '../../../enums/filters';
21
+ import { getCaseListFromSolr } from '../../../utils/caseListUtils';
22
+ import { createQueryForCSVDownload } from '../../../utils/caseSearchUtils';
23
+ const csvHeadersSolr = [
24
+ { label: 'Case number', key: SolrKeys.caseNumber },
25
+ {
26
+ label: 'Case link',
27
+ key: 'case_link',
28
+ },
29
+ { label: 'Title', key: SolrKeys.caseSummary },
30
+ ];
31
+ const csvHeadersSFDC = [
32
+ { label: 'Case number', key: SFDCKeys.caseNumber },
33
+ {
34
+ label: 'Case link',
35
+ key: 'case_link',
36
+ },
37
+ { label: 'Title', key: SFDCKeys.caseSummary },
38
+ ];
39
+ export default function DownloadCSVFileModal(props) {
40
+ const { onClose, onModalshow, isDisabled, loggedInUserRights, loggedInUsersAccount, filterState, selectedCases, filteredCaseCount, } = props;
41
+ const { t } = useTranslation();
42
+ const { isFetching, request } = useFetch(getCaseListFromSolr, { propgateErrors: true });
43
+ const [downloadCSVFileName, setDownloadCSVFileName] = useState('CaseList.csv');
44
+ const [isFetchingSFDC, setIsFetchingSFDC] = useState(false);
45
+ const [checkboxes, setCheckboxes] = useState({
46
+ selectAll: false,
47
+ ownerName: false,
48
+ modifiedBy: false,
49
+ severity: false,
50
+ status: false,
51
+ createdBy: false,
52
+ productVersion: false,
53
+ accountNumber: false,
54
+ alternateId: false,
55
+ type: false,
56
+ caseClosedDate: false,
57
+ group: false,
58
+ });
59
+ const [isSaveClicked, setIsSavedClicked] = useState(false);
60
+ function getKey(key, isSecureSupport) {
61
+ return isSecureSupport ? SFDCKeys[key] : SolrKeys[key];
62
+ }
63
+ const isSecureSupportUser = loggedInUsersAccount.data.secureSupport;
64
+ const headerDefinitions = useMemo(() => [
65
+ {
66
+ checkbox: checkboxes.ownerName,
67
+ key: getKey('ownerName', isSecureSupportUser),
68
+ label: 'Owner name',
69
+ },
70
+ {
71
+ checkbox: checkboxes.severity,
72
+ key: getKey('severity', isSecureSupportUser),
73
+ label: 'Severity',
74
+ },
75
+ {
76
+ checkbox: checkboxes.createdBy,
77
+ key: getKey('createdBy', isSecureSupportUser),
78
+ label: 'Created by',
79
+ },
80
+ {
81
+ checkbox: checkboxes.createdBy,
82
+ key: getKey('createdDate', isSecureSupportUser),
83
+ label: 'Created date',
84
+ transform: formatDateTime,
85
+ },
86
+ {
87
+ checkbox: checkboxes.accountNumber,
88
+ key: getKey('accountNumber', isSecureSupportUser),
89
+ label: 'Account number',
90
+ },
91
+ {
92
+ checkbox: checkboxes.type,
93
+ key: getKey(isSecureSupportUser ? 'caseType' : 'type', isSecureSupportUser),
94
+ label: 'Support type',
95
+ },
96
+ {
97
+ checkbox: checkboxes.modifiedBy,
98
+ key: getKey('modifiedBy', isSecureSupportUser),
99
+ label: 'Modified by',
100
+ },
101
+ {
102
+ checkbox: checkboxes.modifiedBy,
103
+ key: getKey('modifiedDate', isSecureSupportUser),
104
+ label: 'Modified date',
105
+ transform: formatDateTime,
106
+ },
107
+ {
108
+ checkbox: checkboxes.status,
109
+ key: getKey('status', isSecureSupportUser),
110
+ label: 'Status',
111
+ },
112
+ {
113
+ checkbox: checkboxes.productVersion,
114
+ key: getKey('product', isSecureSupportUser),
115
+ label: 'Product',
116
+ },
117
+ {
118
+ checkbox: checkboxes.productVersion,
119
+ key: getKey('version', isSecureSupportUser),
120
+ label: 'Version',
121
+ },
122
+ {
123
+ checkbox: checkboxes.alternateId,
124
+ key: getKey('alternateId', isSecureSupportUser),
125
+ label: 'Alternate ID',
126
+ },
127
+ {
128
+ checkbox: checkboxes.caseClosedDate,
129
+ key: getKey('caseClosedDate', isSecureSupportUser),
130
+ label: 'Closed date',
131
+ transform: formatDateTime,
132
+ },
133
+ {
134
+ checkbox: checkboxes.group,
135
+ key: getKey('groupName', isSecureSupportUser),
136
+ label: 'Group',
137
+ },
138
+ ], [checkboxes, isSecureSupportUser]);
139
+ const getHeaders = () => {
140
+ const updatedCsvHeaders = isSecureSupportUser ? csvHeadersSFDC : csvHeadersSolr;
141
+ headerDefinitions.forEach((headerDefinition) => {
142
+ const { checkbox, key, label, transform } = headerDefinition;
143
+ const index = updatedCsvHeaders.findIndex((header) => header.key === key);
144
+ if (checkbox) {
145
+ if (index === -1) {
146
+ updatedCsvHeaders.push({ key, label, transform });
147
+ }
148
+ }
149
+ else {
150
+ if (index !== -1) {
151
+ updatedCsvHeaders.splice(index, 1);
152
+ }
153
+ }
154
+ });
155
+ return updatedCsvHeaders;
156
+ };
157
+ const isFetchingCSVData = isFetching || isFetchingSFDC;
158
+ const partnerSearch = loggedInUserRights.data.hasManagedAccounts();
159
+ const splitExtensionName = downloadCSVFileName.split('.')[0].replace(/ +/g, ''); // To split and trim value before saving PDF
160
+ const onCancel = () => {
161
+ onClose && onClose();
162
+ setIsSavedClicked(false);
163
+ setDownloadCSVFileName('CaseList.csv');
164
+ };
165
+ const handleCSVFileNameChange = (value) => {
166
+ setDownloadCSVFileName(value);
167
+ };
168
+ const clearDownloadCSVFileName = () => {
169
+ setDownloadCSVFileName('');
170
+ };
171
+ const handleCheckboxChange = (key) => {
172
+ setCheckboxes((prevCheckboxes) => (Object.assign(Object.assign({}, prevCheckboxes), { [key]: !prevCheckboxes[key] })));
173
+ };
174
+ const checkboxValues = Object.values(checkboxes).slice(1); // as we don't want selectAll value
175
+ const allCheckBoxNotSelected = checkboxValues.includes(false);
176
+ // For SOLR
177
+ const onExportCSVClick = () => __awaiter(this, void 0, void 0, function* () {
178
+ try {
179
+ setIsSavedClicked(true);
180
+ if (!isEmpty(splitExtensionName)) {
181
+ const query = createQueryForCSVDownload(filterState, loggedInUserRights.data, loggedInUsersAccount.data, selectedCases);
182
+ const res = yield request(query, partnerSearch, null, isSecureSupportUser);
183
+ // To map the values in csv to new support type
184
+ const updatedCsvData = res.response.docs.map((row) => (Object.assign(Object.assign({}, row), { case_type: toNewCaseTypeSwitcher(row.case_type), case_link: `https://${window.location.host}${window.location.pathname}/#/case/${row.case_number}` })));
185
+ downloadCSV(updatedCsvData, getHeaders(), splitExtensionName ? `${splitExtensionName}.csv` : 'CaseList.csv');
186
+ onCancel();
187
+ ToastNotification.addSuccessMessage(t('File downloaded successfully!'));
188
+ setIsSavedClicked(false);
189
+ }
190
+ }
191
+ catch (e) {
192
+ onCancel();
193
+ ToastNotification.addDangerMessage(t('File could not be downloaded. Please try again! '));
194
+ }
195
+ });
196
+ // For SFDC
197
+ const onExportCSVClickSecureSupport = () => __awaiter(this, void 0, void 0, function* () {
198
+ try {
199
+ setIsSavedClicked(true);
200
+ if (!isEmpty(splitExtensionName)) {
201
+ const sfdcFilter = createQueryForCSVDownload(filterState, loggedInUserRights.data, loggedInUsersAccount.data, selectedCases);
202
+ setIsFetchingSFDC(true);
203
+ const sfdcResponse = yield publicApi.caseList.getCaseListFromSFDC(sfdcFilter, false, true);
204
+ setIsFetchingSFDC(false);
205
+ // To map the values in csv to new support type
206
+ const updatedCsvData = sfdcResponse.cases.map((row) => (Object.assign(Object.assign({}, row), { caseType: toNewCaseTypeSwitcher(row.caseType), case_link: `https://${window.location.host}${window.location.pathname}/#/case/${row.caseNumber}` })));
207
+ downloadCSV(updatedCsvData, getHeaders(), splitExtensionName ? `${splitExtensionName}.csv` : 'CaseList.csv');
208
+ onCancel();
209
+ ToastNotification.addSuccessMessage(t('File downloaded successfully!'));
210
+ setIsSavedClicked(false);
211
+ }
212
+ }
213
+ catch (e) {
214
+ setIsFetchingSFDC(false);
215
+ onCancel();
216
+ ToastNotification.addDangerMessage(t('Could not export CSV'));
217
+ }
218
+ });
219
+ const handleSelectAll = () => {
220
+ const newSelectAllState = !checkboxes.selectAll;
221
+ const updatedCheckboxes = {
222
+ ownerName: newSelectAllState,
223
+ modifiedBy: newSelectAllState,
224
+ severity: newSelectAllState,
225
+ status: newSelectAllState,
226
+ createdBy: newSelectAllState,
227
+ productVersion: newSelectAllState,
228
+ accountNumber: newSelectAllState,
229
+ alternateId: newSelectAllState,
230
+ type: newSelectAllState,
231
+ caseClosedDate: newSelectAllState,
232
+ group: newSelectAllState,
233
+ };
234
+ setCheckboxes((prevCheckboxes) => (Object.assign({ selectAll: !prevCheckboxes.selectAll }, updatedCheckboxes)));
235
+ };
236
+ const csvHeadersOne = [
237
+ { label: 'Owner', key: 'ownerName' },
238
+ { label: 'Severity', key: 'severity' },
239
+ { label: 'Created by', key: 'createdBy' },
240
+ { label: 'Account number', key: 'accountNumber' },
241
+ { label: 'Support type', key: 'type' },
242
+ { label: 'Group', key: 'group' },
243
+ ];
244
+ const csvHeadersTwo = [
245
+ { label: 'Modified by', key: 'modifiedBy' },
246
+ { label: 'Status', key: 'status' },
247
+ { label: 'Product and version', key: 'productVersion' },
248
+ { label: 'Personal reference number', key: 'alternateId' },
249
+ { label: 'Closed date', key: 'caseClosedDate' },
250
+ ];
251
+ const generateCheckboxes = (fieldDefinitions) => {
252
+ return fieldDefinitions.map((field) => (React.createElement(Checkbox, { key: field.key, className: "nested", label: t(field.label), isChecked: checkboxes[field.key], onChange: () => {
253
+ handleCheckboxChange(field.key);
254
+ }, id: field.key, name: field.key })));
255
+ };
256
+ // CSV Modal Body
257
+ const downloadCSVModalBody = () => {
258
+ return (React.createElement(Form, { className: "download-csv-modal-body" },
259
+ React.createElement(FormGroup, { label: t('File name'), fieldId: "download-csv-file-name", isRequired: true },
260
+ React.createElement(InputGroup, null,
261
+ React.createElement(TextInput, { type: "text", id: "csv-file-name", name: "download-csv-file-name", value: downloadCSVFileName, onChange: (_event, value) => handleCSVFileNameChange(value), placeholder: t('Enter a file name'), validated: isSaveClicked && isEmpty(splitExtensionName)
262
+ ? ValidatedOptions.error
263
+ : ValidatedOptions.default, isRequired: true }),
264
+ React.createElement(Button, { variant: "plain", onClick: clearDownloadCSVFileName, icon: React.createElement(TimesCircleIcon, null) }))),
265
+ React.createElement(FormGroup, { label: t('Please select the fields you want included in your download.'), fieldId: "download-csv-file-fields-select" },
266
+ React.createElement(Grid, null,
267
+ React.createElement(Checkbox, { label: t('Select all'), isChecked: checkboxes.selectAll, onChange: handleSelectAll, id: "selectAll", name: "selectAll" }),
268
+ React.createElement(GridItem, { span: 6 },
269
+ React.createElement(Checkbox, { className: "nested", label: t('Case ID'), defaultChecked: true, isDisabled: true, id: "controlled-check-2", name: "check2" }),
270
+ generateCheckboxes(csvHeadersOne)),
271
+ React.createElement(GridItem, { span: 6 },
272
+ React.createElement(Checkbox, { className: "nested", label: t('Title'), defaultChecked: true, isDisabled: true, id: "controlled-check-3", name: "check3" }),
273
+ generateCheckboxes(csvHeadersTwo))))));
274
+ };
275
+ const downloadCSVModalDescription = (numberOfCases) => {
276
+ if (numberOfCases <= 1000)
277
+ return t('Your download will include {{count}} cases.', { count: numberOfCases });
278
+ return t('Only the first 1000 cases will be included in your download. Please note this may take a while.');
279
+ };
280
+ // Download CSV modal buttons
281
+ const modalActions = [
282
+ React.createElement(Button, { key: "submit", icon: isFetchingCSVData ? React.createElement(Spinner, { size: "md" }) : React.createElement(DownloadIcon, null), variant: "primary", "data-tracking-id": "download-csv-modal-submit", onClick: isSecureSupportUser ? onExportCSVClickSecureSupport : onExportCSVClick, isDisabled: (isSaveClicked && isEmpty(splitExtensionName)) || isDisabled || isFetchingCSVData }, t('Download')),
283
+ React.createElement(Button, { key: "back", variant: "secondary", onClick: onCancel, isDisabled: isDisabled || isFetchingCSVData, "data-tracking-id": "download-csv-modal-cancel" }, t('Cancel')),
284
+ ];
285
+ // To handle select all checkbox when any of the column checkbox is checked or unchecked
286
+ useEffect(() => {
287
+ allCheckBoxNotSelected
288
+ ? setCheckboxes((prevCheckboxes) => (Object.assign(Object.assign({}, prevCheckboxes), { selectAll: false })))
289
+ : setCheckboxes((prevCheckboxes) => (Object.assign({}, prevCheckboxes)));
290
+ if (!checkboxes.selectAll && !allCheckBoxNotSelected) {
291
+ handleSelectAll(); // To check select all checkbox
292
+ }
293
+ // eslint-disable-next-line react-hooks/exhaustive-deps
294
+ }, [allCheckBoxNotSelected, checkboxes.selectAll]);
295
+ return (React.createElement(Modal, { title: t('Download CSV file'), description: downloadCSVModalDescription(selectedCases.length || filteredCaseCount), className: "download-csv-modal", variant: ModalVariant.large, isOpen: onModalshow, onClose: onCancel, actions: modalActions }, downloadCSVModalBody()));
296
+ }
@@ -0,0 +1,27 @@
1
+ .pf-c-form__group {
2
+ .pf-c-form__group-control {
3
+ .pf-l-grid {
4
+ .pf-c-check {
5
+ .pf-c-check__label {
6
+ font-size: 16px;
7
+ }
8
+ }
9
+ }
10
+ }
11
+ }
12
+ .pf-l-grid__item.pf-m-6-col {
13
+ .pf-c-check.nested {
14
+ margin-top: 8px;
15
+ }
16
+ margin-left: 21px;
17
+ }
18
+
19
+ .download-csv-select-all {
20
+ align-items: center;
21
+ }
22
+
23
+ .download-csv-modal {
24
+ .download-csv-modal-body {
25
+ overflow: hidden;
26
+ }
27
+ }
@@ -1,9 +1,11 @@
1
1
  import { ISolrResponse } from '@rh-support/types/shared';
2
+ import React from 'react';
2
3
  import { ICaseListResponse } from '../../../models/caseList';
3
4
  interface IProps {
4
5
  currentFilteredCaseList: ISolrResponse<ICaseListResponse>;
5
6
  isExportCsvDisabled?: boolean;
7
+ selectedCases: string[];
6
8
  }
7
- export declare function ExportCaseListCSV(props: IProps): JSX.Element;
9
+ export declare function ExportCaseListCSV({ currentFilteredCaseList, selectedCases, isExportCsvDisabled }: IProps): React.JSX.Element;
8
10
  export {};
9
11
  //# sourceMappingURL=ExportCaseListCSV.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ExportCaseListCSV.d.ts","sourceRoot":"","sources":["../../../../../src/components/case-list/case-list-table/ExportCaseListCSV.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAMzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAgD7D,UAAU,MAAM;IACZ,uBAAuB,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;IAC1D,mBAAmB,CAAC,EAAE,OAAO,CAAC;CACjC;AAID,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,eAoG9C"}
1
+ {"version":3,"file":"ExportCaseListCSV.d.ts","sourceRoot":"","sources":["../../../../../src/components/case-list/case-list-table/ExportCaseListCSV.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAA+B,MAAM,OAAO,CAAC;AAGpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAK7D,UAAU,MAAM;IACZ,uBAAuB,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;IAC1D,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,aAAa,EAAE,MAAM,EAAE,CAAC;CAC3B;AAID,wBAAgB,iBAAiB,CAAC,EAAE,uBAAuB,EAAE,aAAa,EAAE,mBAAmB,EAAE,EAAE,MAAM,qBAqExG"}
@@ -1,119 +1,42 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
- import { publicApi } from '@cee-eng/hydrajs';
11
1
  import { Button, Spinner } from '@patternfly/react-core';
12
- import { ToastNotification, useFetch } from '@rh-support/components';
2
+ import { useFetch } from '@rh-support/components';
13
3
  import { GlobalMetadataStateContext } from '@rh-support/react-context';
14
- import { downloadCSV, formatDateTime, toNewCaseTypeSwitcher } from '@rh-support/utils';
15
4
  import React, { useContext, useState } from 'react';
16
5
  import { Trans, useTranslation } from 'react-i18next';
17
- import { SFDCKeys, SolrKeys } from '../../../enums/filters';
18
6
  import { getCaseListFromSolr } from '../../../utils/caseListUtils';
19
- import { createQueryForCSVDownload } from '../../../utils/caseSearchUtils';
20
7
  import { CaseListFilterStateContext } from '../CaseListFilterContext';
21
- const csvHeadersSolr = [
22
- { label: 'Account number', key: SolrKeys.accountNumber },
23
- { label: 'Case number', key: SolrKeys.caseNumber },
24
- { label: 'Summary', key: SolrKeys.caseSummary },
25
- { label: 'Status', key: SolrKeys.status },
26
- { label: 'Severity', key: SolrKeys.severity },
27
- { label: 'Escalated', key: SolrKeys.escalation },
28
- { label: 'Owner', key: SolrKeys.contactName },
29
- { label: 'Product', key: SolrKeys.product },
30
- { label: 'Version', key: SolrKeys.version },
31
- { label: 'Created by', key: SolrKeys.createdBy },
32
- { label: 'Created date', key: SolrKeys.createdDate, transform: formatDateTime },
33
- { label: 'Modified by', key: SolrKeys.modifiedBy },
34
- { label: 'Modified date', key: SolrKeys.modifiedDate, transform: formatDateTime },
35
- { label: 'Uri', key: SolrKeys.uri },
36
- { label: 'Personal reference number', key: SolrKeys.alternateId },
37
- { label: 'Support type', key: SolrKeys.type },
38
- { label: 'Closed date', key: SolrKeys.caseClosedDate, transform: formatDateTime },
39
- ];
40
- const csvHeadersSFDC = [
41
- { label: 'Account number', key: SFDCKeys.accountNumber },
42
- { label: 'Case number', key: SFDCKeys.caseNumber },
43
- { label: 'Summary', key: SFDCKeys.caseSummary },
44
- { label: 'Status', key: SFDCKeys.status },
45
- { label: 'Severity', key: SFDCKeys.severity },
46
- { label: 'Escalated', key: SFDCKeys.escalation },
47
- { label: 'Owner', key: SFDCKeys.ownerName },
48
- { label: 'Product', key: SFDCKeys.product },
49
- { label: 'Version', key: SFDCKeys.version },
50
- { label: 'Created by', key: SFDCKeys.createdBy },
51
- { label: 'Created date', key: SFDCKeys.createdDate, transform: formatDateTime },
52
- { label: 'Modified by', key: SFDCKeys.lastPublicUpdateDateBy },
53
- { label: 'Modified date', key: SFDCKeys.lastPublicUpdateDate, transform: formatDateTime },
54
- { label: 'Uri', key: SFDCKeys.uri },
55
- { label: 'Personal reference number', key: SFDCKeys.alternateId },
56
- { label: 'Support type', key: SFDCKeys.caseType },
57
- { label: 'Closed date', key: SFDCKeys.caseClosedDate, transform: formatDateTime },
58
- ];
59
- const groupHeaderSOLR = { label: 'Group', key: SolrKeys.groupName };
60
- const groupHeaderSFDC = { label: 'Group', key: SFDCKeys.groupName };
8
+ import DownloadCSVFileModal from './DownloadCSVFileModal';
61
9
  const MAX_LIMIT = 1000;
62
- export function ExportCaseListCSV(props) {
63
- var _a, _b;
10
+ export function ExportCaseListCSV({ currentFilteredCaseList, selectedCases, isExportCsvDisabled }) {
11
+ var _a;
64
12
  const { t } = useTranslation();
65
13
  const btnToolTip = t('Export the current list of cases to CSV. Please note that exporting a large number of cases may take a while.');
66
14
  const maxLengthTooltip = t('Export the current list of cases to CSV. Please note that only the top {{limit}} cases will be exported and that it may take awhile.', { limit: MAX_LIMIT });
67
- const currentFilteredCaseCount = (_b = (_a = props.currentFilteredCaseList) === null || _a === void 0 ? void 0 : _a.numFound) !== null && _b !== void 0 ? _b : 0;
68
- const { isFetching, request } = useFetch(getCaseListFromSolr, { propgateErrors: true });
69
- const [isFetchingSFDC, setIsFetchingSFDC] = useState(false);
70
- const isFetchingCSVData = isFetching || isFetchingSFDC;
15
+ const currentFilteredCaseCount = (_a = currentFilteredCaseList === null || currentFilteredCaseList === void 0 ? void 0 : currentFilteredCaseList.numFound) !== null && _a !== void 0 ? _a : 0;
16
+ const { isFetching } = useFetch(getCaseListFromSolr, { propgateErrors: true });
17
+ const [openUpdateSeverityModal, setOpenUpdateSeverityModal] = useState(false);
18
+ const isFetchingCSVData = isFetching;
71
19
  const isBtnDisabled = isFetchingCSVData || currentFilteredCaseCount === 0;
72
20
  let btnTitle = currentFilteredCaseCount >= MAX_LIMIT ? maxLengthTooltip : btnToolTip;
73
21
  const filterState = useContext(CaseListFilterStateContext);
74
22
  const { globalMetadataState: { loggedInUserRights, loggedInUsersAccount }, } = useContext(GlobalMetadataStateContext);
75
- const isOrgAdmin = loggedInUserRights.data.isOrgAdmin();
76
- // CSV For Secure Support Users
77
- const onExportCSVClickSecureSupport = () => __awaiter(this, void 0, void 0, function* () {
78
- try {
79
- const sfdcFilter = createQueryForCSVDownload(filterState, loggedInUserRights.data, loggedInUsersAccount.data);
80
- setIsFetchingSFDC(true);
81
- const sfdcResponse = yield publicApi.caseList.getCaseListFromSFDC(sfdcFilter, false, true);
82
- setIsFetchingSFDC(false);
83
- const headers = isOrgAdmin ? [...csvHeadersSFDC, groupHeaderSFDC] : csvHeadersSFDC;
84
- // To map the values in csv to new support type
85
- const updatedCsvData = sfdcResponse.cases.map((row) => (Object.assign(Object.assign({}, row), { caseType: toNewCaseTypeSwitcher(row.caseType) })));
86
- downloadCSV(updatedCsvData, headers, 'CaseList.csv');
87
- }
88
- catch (e) {
89
- setIsFetchingSFDC(false);
90
- ToastNotification.addDangerMessage(t('Could not export CSV'));
91
- }
92
- });
93
- const partnerSearch = loggedInUserRights.data.isPartner();
94
- // CSV For Normal Users
95
- const onExportCSVClick = () => __awaiter(this, void 0, void 0, function* () {
96
- try {
97
- const res = yield request(createQueryForCSVDownload(filterState, loggedInUserRights.data, loggedInUsersAccount.data), partnerSearch, null, loggedInUsersAccount.data.secureSupport);
98
- const headers = isOrgAdmin ? [...csvHeadersSolr, groupHeaderSOLR] : csvHeadersSolr;
99
- // To map the values in csv to new support type
100
- const updatedCsvData = res.response.docs.map((row) => (Object.assign(Object.assign({}, row), { case_type: toNewCaseTypeSwitcher(row.case_type) })));
101
- downloadCSV(updatedCsvData, headers, 'CaseList.csv');
102
- }
103
- catch (e) {
104
- ToastNotification.addDangerMessage(t('Could not export CSV'));
105
- }
106
- });
107
23
  // To show tooltip if export csv is disabled when SOLR is down
108
24
  const getTooltipContent = () => {
109
25
  let tooltipText = t('Export Cases');
110
- if (props.isExportCsvDisabled) {
26
+ if (isExportCsvDisabled) {
111
27
  tooltipText = t('Unable to export while access to search is limited');
112
28
  }
113
29
  return tooltipText;
114
30
  };
115
- return (React.createElement("span", { title: (props.isExportCsvDisabled && getTooltipContent()) || '' },
116
- React.createElement(Button, { variant: "tertiary", isDisabled: isBtnDisabled || props.isExportCsvDisabled, onClick: loggedInUsersAccount.data.secureSupport ? onExportCSVClickSecureSupport : onExportCSVClick, title: btnTitle, "data-tracking-id": "case-list-toolbar-export-csv" }, isFetchingCSVData ? (React.createElement(React.Fragment, null,
31
+ // To check if export csv button is disabled
32
+ const isExportButtonDisabled = isBtnDisabled || isExportCsvDisabled;
33
+ // To toggle download csv modal
34
+ const toggleDownloadCSVModal = () => {
35
+ setOpenUpdateSeverityModal((openUpdateSeverityModal) => !openUpdateSeverityModal);
36
+ };
37
+ return (React.createElement("span", { title: (isExportCsvDisabled && getTooltipContent()) || '' },
38
+ React.createElement(Button, { variant: "tertiary", onClick: toggleDownloadCSVModal, title: btnTitle, "data-tracking-id": "case-list-toolbar-export-csv", isDisabled: isExportButtonDisabled }, isFetchingCSVData ? (React.createElement(React.Fragment, null,
117
39
  React.createElement(Trans, null, "Exporting CSV"),
118
- React.createElement(Spinner, { isSVG: true, size: "md", "aria-label": "loading", className: "export-csv-loader pf-u-ml-xs" }))) : (React.createElement(Trans, null, "Export CSV")))));
40
+ React.createElement(Spinner, { size: "md", "aria-label": "loading", className: "export-csv-loader pf-v5-u-ml-xs" }))) : (React.createElement(Trans, null, "Export CSV"))),
41
+ React.createElement(DownloadCSVFileModal, { filterState: filterState, loggedInUserRights: loggedInUserRights, loggedInUsersAccount: loggedInUsersAccount, isDisabled: isExportButtonDisabled, onModalshow: openUpdateSeverityModal, onClose: toggleDownloadCSVModal, selectedCases: selectedCases, filteredCaseCount: currentFilteredCaseCount })));
119
42
  }
@@ -1,6 +1,7 @@
1
+ import React from 'react';
1
2
  interface IProps {
2
3
  sevValue: string;
3
4
  }
4
- export default function SeverityLabel({ sevValue }: IProps): JSX.Element;
5
+ export default function SeverityLabel({ sevValue }: IProps): React.JSX.Element;
5
6
  export {};
6
7
  //# sourceMappingURL=SeverityLabel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SeverityLabel.d.ts","sourceRoot":"","sources":["../../../../../src/components/case-list/case-list-table/SeverityLabel.tsx"],"names":[],"mappings":"AAIA,UAAU,MAAM;IACZ,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,EAAE,QAAQ,EAAE,EAAE,MAAM,eAmBzD"}
1
+ {"version":3,"file":"SeverityLabel.d.ts","sourceRoot":"","sources":["../../../../../src/components/case-list/case-list-table/SeverityLabel.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,UAAU,MAAM;IACZ,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,EAAE,QAAQ,EAAE,EAAE,MAAM,qBAmBzD"}
@@ -0,0 +1,9 @@
1
+ import './TableColumnSelector.scss';
2
+ import React from 'react';
3
+ interface IProps {
4
+ onColumnSelectorChange: (columns: string[]) => void;
5
+ cachedColumns: string[];
6
+ }
7
+ export declare function TableColumnSelector({ onColumnSelectorChange, cachedColumns }: IProps): React.JSX.Element;
8
+ export {};
9
+ //# sourceMappingURL=TableColumnSelector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TableColumnSelector.d.ts","sourceRoot":"","sources":["../../../../../../src/components/case-list/case-list-table/table-column-selector/TableColumnSelector.tsx"],"names":[],"mappings":"AAAA,OAAO,4BAA4B,CAAC;AAWpC,OAAO,KAAmB,MAAM,OAAO,CAAC;AAGxC,UAAU,MAAM;IACZ,sBAAsB,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACpD,aAAa,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,wBAAgB,mBAAmB,CAAC,EAAE,sBAAsB,EAAE,aAAa,EAAE,EAAE,MAAM,qBAgGpF"}
@@ -0,0 +1,53 @@
1
+ import './TableColumnSelector.scss';
2
+ import { Checkbox, Dropdown, DropdownList, Grid, GridItem, MenuToggle, } from '@patternfly/react-core';
3
+ import React, { useState } from 'react';
4
+ import { useTranslation } from 'react-i18next';
5
+ export function TableColumnSelector({ onColumnSelectorChange, cachedColumns }) {
6
+ const { t } = useTranslation();
7
+ const [isOpen, setIsOpen] = useState(false);
8
+ const handleCheckboxChange = (key) => {
9
+ const index = cachedColumns.indexOf(key);
10
+ if (index === -1) {
11
+ // selected column not found, add it to the array
12
+ onColumnSelectorChange([...cachedColumns, key]);
13
+ }
14
+ else {
15
+ // selected column found, remove it from the array
16
+ const selectedCols = [...cachedColumns];
17
+ selectedCols.splice(index, 1);
18
+ onColumnSelectorChange(selectedCols);
19
+ }
20
+ };
21
+ const onToggleClick = () => {
22
+ setIsOpen(!isOpen);
23
+ };
24
+ const caseListColumnHeaderOne = [
25
+ { label: 'Owner', key: 'contactName' },
26
+ { label: 'Severity', key: 'severity' },
27
+ { label: 'Created by', key: 'createdDate' },
28
+ { label: 'Account number', key: 'accountNumber' },
29
+ { label: 'Support type', key: 'type' },
30
+ { label: 'Group', key: 'folderName' },
31
+ ];
32
+ const caseListColumnHeaderTwo = [
33
+ { label: 'Modified by', key: 'lastModifiedDate' },
34
+ { label: 'Status', key: 'status' },
35
+ { label: 'Product and version', key: 'product' },
36
+ { label: 'Personal reference number', key: 'alternateCaseId' },
37
+ { label: 'Closed date', key: 'closedDate' },
38
+ ];
39
+ const generateCheckboxes = (fieldDefinitions) => {
40
+ return fieldDefinitions === null || fieldDefinitions === void 0 ? void 0 : fieldDefinitions.map((field) => (React.createElement(Checkbox, { key: field.key, className: "case-column-selector", label: t(field.label), isChecked: cachedColumns.includes(field.key), onChange: () => {
41
+ handleCheckboxChange(field.key);
42
+ }, id: field.key, name: field.key })));
43
+ };
44
+ return (React.createElement(Dropdown, { isOpen: isOpen, onOpenChange: (isOpen) => setIsOpen(isOpen), toggle: (toggleRef) => (React.createElement(MenuToggle, { ref: toggleRef, onClick: onToggleClick, isExpanded: isOpen }, t('Columns'))), shouldFocusToggleOnSelect: true, id: "case-list-table-column-dropdown", "data-tracking-id": "case-list-table-column-dropdown", className: "column-selector" },
45
+ React.createElement(DropdownList, null,
46
+ React.createElement(Grid, { hasGutter: true },
47
+ React.createElement(GridItem, { span: 6 },
48
+ React.createElement(Checkbox, { className: "case-column-selector", label: t('Case ID'), defaultChecked: true, isDisabled: true, id: "case-id-check", name: "caseIDCheck" }),
49
+ generateCheckboxes(caseListColumnHeaderOne)),
50
+ React.createElement(GridItem, { span: 6 },
51
+ React.createElement(Checkbox, { className: "case-column-selector", label: t('Title'), defaultChecked: true, isDisabled: true, id: "problem-statement-check", name: "problemStatementCheck" }),
52
+ generateCheckboxes(caseListColumnHeaderTwo))))));
53
+ }
@@ -0,0 +1,7 @@
1
+ #case-list-table-column-dropdown {
2
+ z-index: 9 !important;
3
+ }
4
+
5
+ .case-column-selector {
6
+ margin: 15px 4px 0px 18px !important;
7
+ }
@@ -1,3 +1,4 @@
1
+ import React from 'react';
1
2
  import { CaseSearchQueryType } from '../../../enums/caseSearch';
2
3
  interface IProps {
3
4
  onSearchValChange?: (newVal: string) => void;
@@ -7,6 +8,6 @@ interface IProps {
7
8
  onAdvancedSearchValidation: (validation: boolean) => void;
8
9
  isSearchDisabled?: boolean;
9
10
  }
10
- export declare function AdvanceSearch(props: IProps): JSX.Element;
11
+ export declare function AdvanceSearch(props: IProps): React.JSX.Element;
11
12
  export {};
12
13
  //# sourceMappingURL=AdvanceSearch.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AdvanceSearch.d.ts","sourceRoot":"","sources":["../../../../../src/components/case-list/case-search/AdvanceSearch.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAIhE,UAAU,MAAM;IACZ,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,kBAAkB,CAAC,EAAE,CAAC,OAAO,EAAE,mBAAmB,KAAK,IAAI,CAAC;IAC5D,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,cAAc,EAAE,CAAC,IAAI,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IACzE,0BAA0B,EAAE,CAAC,UAAU,EAAE,OAAO,KAAK,IAAI,CAAC;IAC1D,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,eA8S1C"}
1
+ {"version":3,"file":"AdvanceSearch.d.ts","sourceRoot":"","sources":["../../../../../src/components/case-list/case-search/AdvanceSearch.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAkD,MAAM,OAAO,CAAC;AAGvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAIhE,UAAU,MAAM;IACZ,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,kBAAkB,CAAC,EAAE,CAAC,OAAO,EAAE,mBAAmB,KAAK,IAAI,CAAC;IAC5D,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,cAAc,EAAE,CAAC,IAAI,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IACzE,0BAA0B,EAAE,CAAC,UAAU,EAAE,OAAO,KAAK,IAAI,CAAC;IAC1D,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,qBA6T1C"}