@rh-support/cases 2.6.9 → 2.6.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/esm/components/case-list/case-list-filters/AccountsBookmarkedGroupFilter.d.ts.map +1 -1
- package/lib/esm/components/case-list/case-list-filters/AccountsBookmarkedGroupFilter.js +4 -6
- package/lib/esm/components/case-list/case-list-filters/CreatorSsoNameFilter.d.ts.map +1 -1
- package/lib/esm/components/case-list/case-list-filters/CreatorSsoNameFilter.js +1 -2
- package/lib/esm/components/case-list/case-list-filters/GroupsFilter.d.ts.map +1 -1
- package/lib/esm/components/case-list/case-list-filters/GroupsFilter.js +8 -9
- package/lib/esm/components/case-list/case-list-filters/InternalSsoNameFilter.d.ts.map +1 -1
- package/lib/esm/components/case-list/case-list-filters/InternalSsoNameFilter.js +1 -2
- package/lib/esm/components/case-list/case-list-filters/ProductFilterChip.d.ts.map +1 -1
- package/lib/esm/components/case-list/case-list-filters/ProductFilterChip.js +1 -3
- package/lib/esm/components/case-list/case-list-filters/ProductsFilter.d.ts.map +1 -1
- package/lib/esm/components/case-list/case-list-filters/ProductsFilter.js +1 -2
- package/lib/esm/components/case-list/case-list-filters/SeverityFilter.js +1 -2
- package/lib/esm/components/case-list/case-list-filters/StatusFilter.js +1 -2
- package/lib/esm/components/case-list/case-list-filters/TypeFilter.js +1 -2
- package/lib/esm/components/case-list/case-list-filters/VersionsFilter.js +2 -3
- package/lib/esm/components/case-list/case-list-table/CaseListTable.d.ts.map +1 -1
- package/lib/esm/components/case-list/case-list-table/CaseListTable.js +2 -2
- package/lib/esm/components/case-list/case-list-table/DownloadCSVFileModal.d.ts.map +1 -1
- package/lib/esm/components/case-list/case-list-table/DownloadCSVFileModal.js +7 -4
- package/lib/esm/components/case-list/case-list-table/SeverityLabel.d.ts.map +1 -1
- package/lib/esm/components/case-list/case-list-table/SeverityLabel.js +0 -1
- package/lib/esm/components/case-list/case-list-table/table-column-selector/TableColumnSelector.d.ts.map +1 -1
- package/lib/esm/components/case-list/case-list-table/table-column-selector/TableColumnSelector.js +16 -13
- package/lib/esm/components/case-list/case-search/AdvanceSearch.d.ts.map +1 -1
- package/lib/esm/components/case-list/case-search/AdvanceSearch.js +35 -81
- package/lib/esm/components/case-list/case-search/SaveCaseSearchModal.d.ts.map +1 -1
- package/lib/esm/components/case-list/case-search/SaveCaseSearchModal.js +16 -13
- package/lib/esm/css/caseList.css +3 -0
- package/lib/esm/hooks/useCloseCase.d.ts +1 -1
- package/lib/esm/hooks/useExportCaseListCSV.d.ts +1 -1
- package/lib/esm/test-utils/testUtils.d.ts +0 -2
- package/lib/esm/test-utils/testUtils.d.ts.map +1 -1
- package/lib/esm/test-utils/testUtils.js +4 -7
- package/lib/esm/utils/constants.d.ts.map +1 -1
- package/lib/esm/utils/constants.js +19 -18
- package/package.json +6 -6
package/lib/esm/components/case-list/case-list-filters/AccountsBookmarkedGroupFilter.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AccountsBookmarkedGroupFilter.d.ts","sourceRoot":"","sources":["../../../../../src/components/case-list/case-list-filters/AccountsBookmarkedGroupFilter.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AccountsBookmarkedGroupFilter.d.ts","sourceRoot":"","sources":["../../../../../src/components/case-list/case-list-filters/AccountsBookmarkedGroupFilter.tsx"],"names":[],"mappings":"AAoBA,OAAO,KAAwC,MAAM,OAAO,CAAC;AAS7D,eAAO,MAAM,YAAY,eAAgB,MAAM,sBAQ9C,CAAC;AAEF,UAAU,MAAM;IACZ,uBAAuB,EAAE,OAAO,CAAC;IACjC,wBAAwB,EAAE,OAAO,CAAC;IAClC,yBAAyB,EAAE,OAAO,CAAC;CACtC;AAOD,eAAO,MAAM,QAAQ,cAAe,MAAM,eAAe,MAAM,WACiB,CAAC;AAEjF,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,MAAM,qBAqL1D"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Label, MenuToggle, Select, SelectOption, TextInputGroup, TextInputGroupMain, Tooltip, } from '@patternfly/react-core';
|
|
1
|
+
import { Label, MenuFooter, MenuToggle, Select, SelectOption, TextInputGroup, TextInputGroupMain, Tooltip, } from '@patternfly/react-core';
|
|
2
2
|
import InfoCircleIcon from '@patternfly/react-icons/dist/js/icons/info-circle-icon';
|
|
3
3
|
import { LoadingIndicator } from '@rh-support/components';
|
|
4
4
|
import { GlobalMetadataStateContext } from '@rh-support/react-context';
|
|
@@ -16,8 +16,7 @@ import { filterNamesMap } from '../../../utils/constants';
|
|
|
16
16
|
import { CaseListFilterDispatchContext, CaseListFilterStateContext } from '../CaseListFilterContext';
|
|
17
17
|
import { updateFilter } from '../CaseListFilterReducer';
|
|
18
18
|
export const appendToMenu = (listLength) => {
|
|
19
|
-
return (React.createElement(
|
|
20
|
-
listLength !== 0 && React.createElement("div", { className: "pf-v6-c-divider", role: "separator" }),
|
|
19
|
+
return (React.createElement(MenuFooter, { key: "menufooter" },
|
|
21
20
|
React.createElement(Link, { className: "cta cta-link pf-v6-c-select__menu-item", to: "/manage/bookmarks" },
|
|
22
21
|
React.createElement(Trans, null, "Manage bookmarks"))));
|
|
23
22
|
};
|
|
@@ -88,7 +87,7 @@ export function AccountsBookmarkedGroupFilter(props) {
|
|
|
88
87
|
...filteredOptions.map((b, id) => (React.createElement(SelectOption, { key: id, value: b, className: "pf-v6-c-select__menu-wrapper", role: "presentation" },
|
|
89
88
|
React.createElement("div", { className: "pf-v6-c-select__menu-item-main pf-v6-u-display-flex" },
|
|
90
89
|
React.createElement("div", { className: "pf-v6-c-select__menu-item-main" },
|
|
91
|
-
React.createElement("input", { className: "pf-v6-c-check__input pf-v6-u-mr-sm", type: "checkbox", checked: some(filterInfo[SolrKeys.accountNumber], b) }),
|
|
90
|
+
React.createElement("input", { className: "pf-v6-c-check__input pf-v6-u-mr-sm", type: "checkbox", checked: some(filterInfo[SolrKeys.accountNumber], b), onChange: () => { } }),
|
|
92
91
|
React.createElement("span", null, b.value)),
|
|
93
92
|
Array.isArray(b.key) && (React.createElement(Tooltip, { content: getInfoToolTip(b.value), "aria-label": t('Bookmarked Accounts List') },
|
|
94
93
|
React.createElement(Label, { color: "teal", className: "pf-v6-u-ml-auto pf-v6-u-mr-sm", icon: React.createElement(InfoCircleIcon, null), "aria-label": t('Bookmarked Accounts') }, b.key.length))))))),
|
|
@@ -107,10 +106,9 @@ export function AccountsBookmarkedGroupFilter(props) {
|
|
|
107
106
|
const toggle = (toggleRef) => (React.createElement(MenuToggle, { variant: "typeahead", onClick: onBookmarksToggle, innerRef: toggleRef, isExpanded: isOpen, isFullWidth: true },
|
|
108
107
|
React.createElement(TextInputGroup, { isPlain: true },
|
|
109
108
|
React.createElement(TextInputGroupMain, { value: input, onChange: (_, value) => onTextInputChange(value), onClick: (e) => {
|
|
110
|
-
e.stopPropagation();
|
|
111
109
|
setIsOpen(true);
|
|
112
110
|
}, autoComplete: "off", placeholder: getDropdownBtnPlaceholder(t(canAccessManagedAccounts ? 'Select an account' : 'Search for a bookmark'), canAccessManagedAccounts ? selectedAccounts : selectedBookmarks, '', dropdownOptions.length, canAccessManagedAccounts ? t('All accounts selected') : t('All bookmarks selected')), role: "combobox", isExpanded: isOpen, "aria-controls": "bookmark-account-select-listbox" }))));
|
|
113
111
|
return (React.createElement("div", { className: "pf-v6-c-select" },
|
|
114
112
|
React.createElement("label", { htmlFor: "case-list-account-filter", className: "case-list-account-filter-label" }, canAccessManagedAccounts ? t('Accounts') : t(filterNamesMap[SolrKeys.accountNumber])),
|
|
115
|
-
React.createElement(Select, { toggle: toggle, onSelect: onBookmarksSelect, isOpen: isOpen, onOpenChange: (nextOpen) => setIsOpen(nextOpen), "data-tracking-id": "accounts-filter", id: "case-list-account-filter", isScrollable: true, popperProps: { direction: 'down', enableFlip: false }
|
|
113
|
+
React.createElement(Select, { shouldFocusToggleOnSelect: true, shouldPreventScrollOnItemFocus: true, toggle: toggle, onSelect: onBookmarksSelect, isOpen: isOpen, onOpenChange: (nextOpen) => setIsOpen(nextOpen), "data-tracking-id": "accounts-filter", id: "case-list-account-filter", isScrollable: true, popperProps: { direction: 'down', enableFlip: false } }, bookmarkedAccountsOptions)));
|
|
116
114
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreatorSsoNameFilter.d.ts","sourceRoot":"","sources":["../../../../../src/components/case-list/case-list-filters/CreatorSsoNameFilter.tsx"],"names":[],"mappings":"AAuBA,OAAO,KAA2D,MAAM,OAAO,CAAC;AAYhF,eAAO,MAAM,WAAW,0BAIvB,CAAC;AAYF,eAAO,MAAM,eAAe;;;;;;;GAA6E,CAAC;AAE1G,eAAO,MAAM,kBAAkB,iEAyC9B,CAAC;AAEF,wBAAgB,oBAAoB,
|
|
1
|
+
{"version":3,"file":"CreatorSsoNameFilter.d.ts","sourceRoot":"","sources":["../../../../../src/components/case-list/case-list-filters/CreatorSsoNameFilter.tsx"],"names":[],"mappings":"AAuBA,OAAO,KAA2D,MAAM,OAAO,CAAC;AAYhF,eAAO,MAAM,WAAW,0BAIvB,CAAC;AAYF,eAAO,MAAM,eAAe;;;;;;;GAA6E,CAAC;AAE1G,eAAO,MAAM,kBAAkB,iEAyC9B,CAAC;AAEF,wBAAgB,oBAAoB,sBA8PnC"}
|
|
@@ -202,7 +202,6 @@ export function CreatorSsoNameFilter() {
|
|
|
202
202
|
setExternalQuery(query);
|
|
203
203
|
};
|
|
204
204
|
const onExternalToggle = (e) => {
|
|
205
|
-
e.stopPropagation();
|
|
206
205
|
setIsExternalOpen((pre) => !pre);
|
|
207
206
|
};
|
|
208
207
|
const externalToggle = (toggleRef) => (React.createElement(MenuToggle, { variant: "typeahead", onClick: onExternalToggle, innerRef: toggleRef, isExpanded: isExternalOpen, isFullWidth: true },
|
|
@@ -215,6 +214,6 @@ export function CreatorSsoNameFilter() {
|
|
|
215
214
|
return (React.createElement("div", null,
|
|
216
215
|
React.createElement("label", { htmlFor: "case-list-username-filter", className: "case-list-username-filter-label" },
|
|
217
216
|
React.createElement(Trans, null, filterNamesMap['usernameFilterTitle'])),
|
|
218
|
-
!loggedInUserRights.data.isInternal() ? (React.createElement(Select, { id: "external-ssousername-filter", "data-tracking-id": "external-ssousername-filter", isOpen: isExternalOpen, onOpenChange: () => setIsExternalOpen(false), toggle: isExternalNonOrgAdmin ? customToggle : externalToggle, popperProps: { direction: 'down', enableFlip: false }, isScrollable: true, onSelect: (_e, v) => onSelectExternal(v) },
|
|
217
|
+
!loggedInUserRights.data.isInternal() ? (React.createElement(Select, { shouldFocusToggleOnSelect: true, shouldPreventScrollOnItemFocus: true, id: "external-ssousername-filter", "data-tracking-id": "external-ssousername-filter", isOpen: isExternalOpen, onOpenChange: () => setIsExternalOpen(false), toggle: isExternalNonOrgAdmin ? customToggle : externalToggle, popperProps: { direction: 'down', enableFlip: false, maxWidth: '10rem' }, isScrollable: true, onSelect: (_e, v) => onSelectExternal(v) },
|
|
219
218
|
React.createElement(SelectList, null, filteredExternalList))) : (React.createElement(InternalSsoNameFilter, null))));
|
|
220
219
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GroupsFilter.d.ts","sourceRoot":"","sources":["../../../../../src/components/case-list/case-list-filters/GroupsFilter.tsx"],"names":[],"mappings":"AAmBA,OAAO,KAA2D,MAAM,OAAO,CAAC;AAShF,wBAAgB,YAAY,
|
|
1
|
+
{"version":3,"file":"GroupsFilter.d.ts","sourceRoot":"","sources":["../../../../../src/components/case-list/case-list-filters/GroupsFilter.tsx"],"names":[],"mappings":"AAmBA,OAAO,KAA2D,MAAM,OAAO,CAAC;AAShF,wBAAgB,YAAY,sBA+P3B"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Button,
|
|
1
|
+
import { Button, MenuFooter, MenuToggle, Select, SelectList, SelectOption, TextInputGroup, TextInputGroupMain, TextInputGroupUtilities, } from '@patternfly/react-core';
|
|
2
2
|
import TimesIcon from '@patternfly/react-icons/dist/js/icons/times-icon';
|
|
3
3
|
import { GlobalMetadataStateContext } from '@rh-support/react-context';
|
|
4
4
|
import { ability, resourceActions, resources } from '@rh-support/user-permissions';
|
|
@@ -30,7 +30,6 @@ export function GroupsFilter() {
|
|
|
30
30
|
const [selectedItems, setSelectedItems] = useState({});
|
|
31
31
|
const textInputRef = useRef();
|
|
32
32
|
const onToggleClick = (e) => {
|
|
33
|
-
e.stopPropagation();
|
|
34
33
|
setIsOpen(!isOpen);
|
|
35
34
|
};
|
|
36
35
|
const onSelect = (option) => {
|
|
@@ -163,11 +162,11 @@ export function GroupsFilter() {
|
|
|
163
162
|
return (React.createElement("div", { className: "group-filter" },
|
|
164
163
|
React.createElement("label", { htmlFor: "case-list-group-filter", className: "pf-v6-u-mb-sm group-filter-label" }, t(filterNamesMap[SolrKeys.group])),
|
|
165
164
|
React.createElement("div", { className: "pf-v6-c-select" },
|
|
166
|
-
React.createElement(Select, {
|
|
167
|
-
React.createElement(SelectList, null,
|
|
168
|
-
|
|
169
|
-
React.createElement(
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
165
|
+
React.createElement(Select, { shouldFocusToggleOnSelect: true, shouldPreventScrollOnItemFocus: true, "data-tracking-id": "groups-filter", id: "case-list-group-filter", title: t(filterNamesMap[SolrKeys.group]), isOpen: isOpen, selected: selectedItems, onSelect: (_e, v) => onSelect(v), onOpenChange: (nextOpen) => setIsOpen(nextOpen), popperProps: { direction: 'down', enableFlip: false }, toggle: toggle, isScrollable: true },
|
|
166
|
+
React.createElement(SelectList, null,
|
|
167
|
+
dropdownOptions,
|
|
168
|
+
canViewCaseGroups && (React.createElement(React.Fragment, null,
|
|
169
|
+
React.createElement(MenuFooter, { className: "group-filter-manage-groups-footer" },
|
|
170
|
+
React.createElement(Link, { className: "cta cta-link", to: "/manage/groups" },
|
|
171
|
+
React.createElement(Trans, null, "Manage groups"))))))))));
|
|
173
172
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InternalSsoNameFilter.d.ts","sourceRoot":"","sources":["../../../../../src/components/case-list/case-list-filters/InternalSsoNameFilter.tsx"],"names":[],"mappings":"AAwBA,OAAO,KAA2D,MAAM,OAAO,CAAC;AAUhF,MAAM,CAAC,OAAO,UAAU,qBAAqB,
|
|
1
|
+
{"version":3,"file":"InternalSsoNameFilter.d.ts","sourceRoot":"","sources":["../../../../../src/components/case-list/case-list-filters/InternalSsoNameFilter.tsx"],"names":[],"mappings":"AAwBA,OAAO,KAA2D,MAAM,OAAO,CAAC;AAUhF,MAAM,CAAC,OAAO,UAAU,qBAAqB,sBAiS5C"}
|
|
@@ -195,13 +195,12 @@ export default function InternalSsoNameFilter() {
|
|
|
195
195
|
onSearchAsync(query);
|
|
196
196
|
};
|
|
197
197
|
const onInternalToggle = (e) => {
|
|
198
|
-
e.stopPropagation();
|
|
199
198
|
setIsInternalOpen((pre) => !pre);
|
|
200
199
|
};
|
|
201
200
|
const internalToggle = (toggleRef) => (React.createElement(MenuToggle, { variant: "typeahead", onClick: onInternalToggle, innerRef: toggleRef, isExpanded: isInternalOpen, isFullWidth: true },
|
|
202
201
|
React.createElement(TextInputGroup, { isPlain: true },
|
|
203
202
|
React.createElement(TextInputGroupMain, { value: internalQuery, onClick: onInternalToggle, onKeyDown: onInputKeyDown, placeholder: getDropdownBtnPlaceholder(t('Search for a name'), selectedInternalContacts.map((i) => i.label), ' ', filteredInternalList.length, t('All selected')), onChange: onInternalQueryChange, isExpanded: isInternalOpen, innerRef: internalInputRef, "aria-controls": "internal-ssousername-filter", role: "combobox" }),
|
|
204
203
|
React.createElement(TextInputGroupUtilities, null, !isEmpty(internalQuery) && (React.createElement(Button, { icon: isFetchingInternalContacts ? (React.createElement(LoadingIndicator, { show: true, size: "sm" })) : (React.createElement(TimesCircleIcon, { "aria-hidden": true })), variant: "plain", onClick: () => setInternalQuery(''), isDisabled: isFetchingInternalContacts, "aria-label": t('Clear') }))))));
|
|
205
|
-
return (React.createElement(Select, { id: "internal-ssousername-filter", "data-tracking-id": "internal-ssousername-filter", isOpen: isInternalOpen, onOpenChange: () => setIsInternalOpen(false), toggle: internalToggle, popperProps: { direction: 'down', enableFlip: false }, isScrollable: true, onSelect: (_e, v) => onSelectInternal(v) },
|
|
204
|
+
return (React.createElement(Select, { shouldFocusToggleOnSelect: true, shouldPreventScrollOnItemFocus: true, id: "internal-ssousername-filter", "data-tracking-id": "internal-ssousername-filter", isOpen: isInternalOpen, onOpenChange: () => setIsInternalOpen(false), toggle: internalToggle, popperProps: { direction: 'down', enableFlip: false, maxWidth: '10rem' }, isScrollable: true, onSelect: (_e, v) => onSelectInternal(v) },
|
|
206
205
|
React.createElement(SelectList, null, filteredInternalList)));
|
|
207
206
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProductFilterChip.d.ts","sourceRoot":"","sources":["../../../../../src/components/case-list/case-list-filters/ProductFilterChip.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAqB,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"ProductFilterChip.d.ts","sourceRoot":"","sources":["../../../../../src/components/case-list/case-list-filters/ProductFilterChip.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAI1C,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAEtD,OAAO,EAAE,cAAc,EAAgB,MAAM,0BAA0B,CAAC;AAGxE,UAAU,MAAM;IACZ,WAAW,EAAE,cAAc,EAAE,CAAC;IAC9B,mBAAmB,EAAE,uBAAuB,EAAE,CAAC;CAClD;AAED,wBAAgB,iBAAiB,CAAC,EAAE,WAAW,EAAE,mBAAwB,EAAE,EAAE,MAAM,qBAsElF"}
|
|
@@ -2,7 +2,6 @@ import { Button, ButtonVariant, Label, LabelGroup } from '@patternfly/react-core
|
|
|
2
2
|
import TimesCircleIcon from '@patternfly/react-icons/dist/js/icons/times-circle-icon';
|
|
3
3
|
import { ability, CaseListFields, resourceActions, resources } from '@rh-support/user-permissions';
|
|
4
4
|
import React, { useContext } from 'react';
|
|
5
|
-
import { Trans } from 'react-i18next';
|
|
6
5
|
import { SolrKeys, SolrPivotKeys } from '../../../enums/filters';
|
|
7
6
|
import { filterNamesMap } from '../../../utils/constants';
|
|
8
7
|
import { CaseListFilterDispatchContext, CaseListFilterStateContext } from '../CaseListFilterContext';
|
|
@@ -25,8 +24,7 @@ export function ProductFilterChip({ productList, productVersionPivot = [] }) {
|
|
|
25
24
|
updateFilter(dispatch, { filterKey: SolrPivotKeys.product_version, values: updatedProducts });
|
|
26
25
|
};
|
|
27
26
|
return (React.createElement("div", { className: "filter-chip" },
|
|
28
|
-
React.createElement("span", { className: "filter-chip__heading" },
|
|
29
|
-
React.createElement(Trans, null, filterNamesMap[SolrKeys.product])),
|
|
27
|
+
React.createElement("span", { className: "filter-chip__heading" }, filterNamesMap[SolrKeys.product]),
|
|
30
28
|
canAccessVersionsFilter ? (React.createElement(React.Fragment, null, productList.map((currentProduct, index) => (React.createElement(LabelGroup, { numLabels: 10, key: `${currentProduct.value}-${index}`, categoryName: currentProduct.value },
|
|
31
29
|
React.createElement(VersionsFilter, { productInfo: currentProduct, productVersionPivot: productVersionPivot }),
|
|
32
30
|
currentProduct[SolrKeys.version].map((chip) => (React.createElement(Label, { variant: "outline", key: chip.value, onClose: () => deleteVersion(currentProduct, chip) }, chip.value))),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProductsFilter.d.ts","sourceRoot":"","sources":["../../../../../src/components/case-list/case-list-filters/ProductsFilter.tsx"],"names":[],"mappings":"AAaA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAI1D,OAAO,KAAkD,MAAM,OAAO,CAAC;AAQvE,UAAU,MAAM;IACZ,YAAY,EAAE,cAAc,EAAE,CAAC;IAC/B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,WAAW,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"ProductsFilter.d.ts","sourceRoot":"","sources":["../../../../../src/components/case-list/case-list-filters/ProductsFilter.tsx"],"names":[],"mappings":"AAaA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAI1D,OAAO,KAAkD,MAAM,OAAO,CAAC;AAQvE,UAAU,MAAM;IACZ,YAAY,EAAE,cAAc,EAAE,CAAC;IAC/B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,WAAW,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,qBA+P3C"}
|
|
@@ -78,7 +78,6 @@ export function ProductsFilter(props) {
|
|
|
78
78
|
});
|
|
79
79
|
};
|
|
80
80
|
const onToggleClick = (e) => {
|
|
81
|
-
e.stopPropagation();
|
|
82
81
|
setIsOpen(!isOpen);
|
|
83
82
|
};
|
|
84
83
|
const onClick = () => {
|
|
@@ -158,6 +157,6 @@ export function ProductsFilter(props) {
|
|
|
158
157
|
};
|
|
159
158
|
return (React.createElement("div", { className: "product-filter" },
|
|
160
159
|
React.createElement("label", { htmlFor: "case-list-products-filter", className: "pf-v6-u-mb-sm products-filter-label" }, t(filterNamesMap[SolrKeys.product])),
|
|
161
|
-
isSolrSearchDown ? (React.createElement(SingleSelectDropdown, { id: "case-list-products-filter", selected: selectedOption, options: singleSelectOptions, placeholder: allProducts.length > 0 ? t('Select a product') : t('No products available'), onSelect: (options) => onSingleSelectChange(options[0]), dataTrackingId: "products-filter", isScrollable: true, isDisabled: allProducts.length === 0 })) : (React.createElement(Select, { id: "case-list-products-filter", "data-tracking-id": "products-filter", isOpen: isOpen, selected: selectedItems, onSelect: (_e, v) => onSelect(v), onOpenChange: (nextOpen) => setIsOpen(nextOpen), toggle: toggleForMultiSelect, isScrollable: true, popperProps: { direction: 'down', enableFlip: false } },
|
|
160
|
+
isSolrSearchDown ? (React.createElement(SingleSelectDropdown, { id: "case-list-products-filter", selected: selectedOption, options: singleSelectOptions, placeholder: allProducts.length > 0 ? t('Select a product') : t('No products available'), onSelect: (options) => onSingleSelectChange(options[0]), dataTrackingId: "products-filter", isScrollable: true, isDisabled: allProducts.length === 0 })) : (React.createElement(Select, { shouldFocusToggleOnSelect: true, shouldPreventScrollOnItemFocus: true, id: "case-list-products-filter", "data-tracking-id": "products-filter", isOpen: isOpen, selected: selectedItems, onSelect: (_e, v) => onSelect(v), onOpenChange: (nextOpen) => setIsOpen(nextOpen), toggle: toggleForMultiSelect, isScrollable: true, popperProps: { direction: 'down', enableFlip: false } },
|
|
162
161
|
React.createElement(SelectList, null, renderOptions())))));
|
|
163
162
|
}
|
|
@@ -28,7 +28,6 @@ export function SeverityFilter(props) {
|
|
|
28
28
|
label: selectedSeverity,
|
|
29
29
|
};
|
|
30
30
|
const onToggleClick = (e) => {
|
|
31
|
-
e.stopPropagation();
|
|
32
31
|
setIsOpen(!isOpen);
|
|
33
32
|
};
|
|
34
33
|
const onSelect = (option) => {
|
|
@@ -99,6 +98,6 @@ export function SeverityFilter(props) {
|
|
|
99
98
|
}, [filterInfo[SolrKeys.severity], props.isSolrSearchDown]);
|
|
100
99
|
return (React.createElement("div", { className: "severity-filter" },
|
|
101
100
|
React.createElement("label", { htmlFor: "case-list-severity-filter", className: "pf-v6-u-mb-sm severity-filter-label" }, t(filterNamesMap[SolrKeys.severity])),
|
|
102
|
-
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, {
|
|
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 } },
|
|
103
102
|
React.createElement(SelectList, null, dropdownOptions)))));
|
|
104
103
|
}
|
|
@@ -27,7 +27,6 @@ export function StatusFilter(props) {
|
|
|
27
27
|
label: selectedStatus,
|
|
28
28
|
};
|
|
29
29
|
const onToggleClick = (e) => {
|
|
30
|
-
e.stopPropagation();
|
|
31
30
|
setIsOpen(!isOpen);
|
|
32
31
|
};
|
|
33
32
|
const onSelect = (option) => {
|
|
@@ -123,6 +122,6 @@ export function StatusFilter(props) {
|
|
|
123
122
|
const titleId = 'case-list-status-filter';
|
|
124
123
|
return (React.createElement("div", { className: "status-filter" },
|
|
125
124
|
React.createElement("label", { htmlFor: titleId, className: "pf-v6-u-mb-sm status-filter-label" }, t(filterNamesMap[SolrKeys.status])),
|
|
126
|
-
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, {
|
|
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 } },
|
|
127
126
|
React.createElement(SelectList, null, dropdownOptions)))));
|
|
128
127
|
}
|
|
@@ -47,7 +47,6 @@ export function TypeFilter(props) {
|
|
|
47
47
|
onSelect: onSelectHandler,
|
|
48
48
|
});
|
|
49
49
|
const onToggleClick = (e) => {
|
|
50
|
-
e.stopPropagation();
|
|
51
50
|
setIsOpen(!isOpen);
|
|
52
51
|
};
|
|
53
52
|
const onClick = () => {
|
|
@@ -79,6 +78,6 @@ export function TypeFilter(props) {
|
|
|
79
78
|
}, [filterInfo[SolrKeys.type]]);
|
|
80
79
|
return (React.createElement("div", { className: "type-filter" },
|
|
81
80
|
React.createElement("label", { htmlFor: "case-list-type-filter", className: "pf-v6-u-mb-sm case-list-type-filter-label" }, t(filterNamesMap[SolrKeys.type])),
|
|
82
|
-
React.createElement(Select, {
|
|
81
|
+
React.createElement(Select, { shouldFocusToggleOnSelect: true, shouldPreventScrollOnItemFocus: true, id: "case-list-type-filter", "data-tracking-id": "type-filter", isOpen: isOpen, selected: selectedItems, onSelect: (_e, v) => onSelectHandler(v), onOpenChange: (nextOpen) => setIsOpen(nextOpen), toggle: toggle, isScrollable: true, popperProps: { direction: 'down', enableFlip: false } },
|
|
83
82
|
React.createElement(SelectList, null, dropdownOptions))));
|
|
84
83
|
}
|
|
@@ -59,7 +59,6 @@ export function VersionsFilter({ productInfo, productVersionPivot }) {
|
|
|
59
59
|
}))) || [], [versions]);
|
|
60
60
|
const [selectOptions, setSelectOptions] = useState(list);
|
|
61
61
|
const onToggleClick = (e) => {
|
|
62
|
-
e.stopPropagation();
|
|
63
62
|
setIsOpen(!isOpen);
|
|
64
63
|
};
|
|
65
64
|
const onSelect = (option) => {
|
|
@@ -157,9 +156,9 @@ export function VersionsFilter({ productInfo, productVersionPivot }) {
|
|
|
157
156
|
setSelectedItems(selectedVersions);
|
|
158
157
|
}, [productInfo.case_version]);
|
|
159
158
|
const titleId = 'case-list-versions-filter';
|
|
160
|
-
return (React.createElement(React.Fragment, null, !isEmpty(versions) && (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
|
-
React.createElement(Select, {
|
|
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
163
|
React.createElement(SelectList, null, dropdownOptions)))))));
|
|
165
164
|
}
|
|
@@ -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;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,
|
|
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,qBA2kB1C"}
|
|
@@ -349,8 +349,8 @@ export function CaseListTable(props) {
|
|
|
349
349
|
React.createElement(TableActionsDropdown, { caseList: caseListData, selectedCases: selectedCases, onCasesCloseSuccess: onCasesCloseSuccess, currentFilteredCaseList: props.caseList })),
|
|
350
350
|
React.createElement("span", { className: "toolbar-pagination" },
|
|
351
351
|
React.createElement(TablePagination, { perPage: (_c = props.paginationInfo) === null || _c === void 0 ? void 0 : _c.pageSize, currentPage: (_d = props.paginationInfo) === null || _d === void 0 ? void 0 : _d.currentPage, onPerPageSelect: onPerPageSelect, onSetPage: onSetPage, variant: PaginationVariant.top, itemCount: getItemCount() }))),
|
|
352
|
-
React.createElement("div", { className: "pf-v6-c-scroll-inner-wrapper
|
|
353
|
-
React.createElement(Table, { variant: TableVariant.compact, "aria-label": "case-list", className: "case-list-table
|
|
352
|
+
React.createElement("div", { className: "pf-v6-c-scroll-inner-wrapper" },
|
|
353
|
+
React.createElement(Table, { variant: TableVariant.compact, "aria-label": "case-list", className: "case-list-table" },
|
|
354
354
|
React.createElement(Thead, null,
|
|
355
355
|
React.createElement(Tr, { key: "tableHeaderRow", isBorderRow: true },
|
|
356
356
|
React.createElement(Th, { select: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DownloadCSVFileModal.d.ts","sourceRoot":"","sources":["../../../../../src/components/case-list/case-list-table/DownloadCSVFileModal.tsx"],"names":[],"mappings":"AAAA,OAAO,6BAA6B,CAAC;AAGrC,OAAO,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;
|
|
1
|
+
{"version":3,"file":"DownloadCSVFileModal.d.ts","sourceRoot":"","sources":["../../../../../src/components/case-list/case-list-table/DownloadCSVFileModal.tsx"],"names":[],"mappings":"AAAA,OAAO,6BAA6B,CAAC;AAGrC,OAAO,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAqBlE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAGxD,OAAO,KAAuC,MAAM,OAAO,CAAC;AAM5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAEhE,UAAU,MAAM;IACZ,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;IACrB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,kBAAkB,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAClD,oBAAoB,EAAE,mBAAmB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC7D,WAAW,EAAE,oBAAoB,CAAC;IAClC,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,iBAAiB,EAAE,MAAM,CAAC;CAC7B;AAoBD,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAAC,KAAK,EAAE,MAAM,qBA4ZzD"}
|
|
@@ -9,7 +9,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
};
|
|
10
10
|
import './DownloadCSVFileModal.scss';
|
|
11
11
|
import { publicApi } from '@cee-eng/hydrajs';
|
|
12
|
-
import { Button, Checkbox, Form, FormGroup, Grid, GridItem, InputGroup, Modal, ModalFooter, ModalVariant, Spinner, TextInput, ValidatedOptions, } from '@patternfly/react-core';
|
|
12
|
+
import { Button, Checkbox, Form, FormGroup, Grid, GridItem, InputGroup, Modal, ModalBody, ModalFooter, ModalHeader, ModalVariant, Spinner, TextInput, ValidatedOptions, } from '@patternfly/react-core';
|
|
13
13
|
import DownloadIcon from '@patternfly/react-icons/dist/js/icons/download-icon';
|
|
14
14
|
import TimesCircleIcon from '@patternfly/react-icons/dist/js/icons/times-circle-icon';
|
|
15
15
|
import { ToastNotification, useFetch } from '@rh-support/components';
|
|
@@ -287,9 +287,12 @@ export default function DownloadCSVFileModal(props) {
|
|
|
287
287
|
}
|
|
288
288
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
289
289
|
}, [allCheckBoxNotSelected, checkboxes.selectAll]);
|
|
290
|
-
return (React.createElement(Modal, {
|
|
291
|
-
React.createElement(
|
|
292
|
-
|
|
290
|
+
return (React.createElement(Modal, { className: "download-csv-modal", variant: ModalVariant.large, isOpen: onModalshow, onClose: onCancel },
|
|
291
|
+
React.createElement(ModalHeader, null,
|
|
292
|
+
React.createElement("h2", null, t('Download CSV file'))),
|
|
293
|
+
React.createElement(ModalBody, null,
|
|
294
|
+
React.createElement("p", null, downloadCSVModalDescription(selectedCases.length || filteredCaseCount)),
|
|
295
|
+
downloadCSVModalBody()),
|
|
293
296
|
React.createElement(ModalFooter, null,
|
|
294
297
|
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')),
|
|
295
298
|
React.createElement(Button, { key: "back", variant: "secondary", onClick: onCancel, isDisabled: isDisabled || isFetchingCSVData, "data-tracking-id": "download-csv-modal-cancel" }, t('Cancel')))));
|
|
@@ -1 +1 @@
|
|
|
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,
|
|
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"}
|
|
@@ -1 +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;
|
|
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;AAMD,wBAAgB,mBAAmB,CAAC,EAAE,sBAAsB,EAAE,aAAa,EAAE,EAAE,MAAM,qBAgGpF"}
|
package/lib/esm/components/case-list/case-list-table/table-column-selector/TableColumnSelector.js
CHANGED
|
@@ -2,6 +2,9 @@ import './TableColumnSelector.scss';
|
|
|
2
2
|
import { Checkbox, Dropdown, DropdownList, Grid, GridItem, MenuToggle, } from '@patternfly/react-core';
|
|
3
3
|
import React, { useState } from 'react';
|
|
4
4
|
import { useTranslation } from 'react-i18next';
|
|
5
|
+
function getCheckboxId(key) {
|
|
6
|
+
return `${key}-column-selector`;
|
|
7
|
+
}
|
|
5
8
|
export function TableColumnSelector({ onColumnSelectorChange, cachedColumns }) {
|
|
6
9
|
const { t } = useTranslation();
|
|
7
10
|
const [isOpen, setIsOpen] = useState(false);
|
|
@@ -22,24 +25,24 @@ export function TableColumnSelector({ onColumnSelectorChange, cachedColumns }) {
|
|
|
22
25
|
setIsOpen(!isOpen);
|
|
23
26
|
};
|
|
24
27
|
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' },
|
|
28
|
+
{ label: t('Owner'), key: 'contactName' },
|
|
29
|
+
{ label: t('Severity'), key: 'severity' },
|
|
30
|
+
{ label: t('Created by'), key: 'createdDate' },
|
|
31
|
+
{ label: t('Account number'), key: 'accountNumber' },
|
|
32
|
+
{ label: t('Support type'), key: 'type' },
|
|
33
|
+
{ label: t('Group'), key: 'folderName' },
|
|
31
34
|
];
|
|
32
35
|
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' },
|
|
36
|
+
{ label: t('Modified by'), key: 'lastModifiedDate' },
|
|
37
|
+
{ label: t('Status'), key: 'status' },
|
|
38
|
+
{ label: t('Product and version'), key: 'product' },
|
|
39
|
+
{ label: t('Personal reference number'), key: 'alternateCaseId' },
|
|
40
|
+
{ label: t('Closed date'), key: 'closedDate' },
|
|
38
41
|
];
|
|
39
42
|
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:
|
|
43
|
+
return fieldDefinitions === null || fieldDefinitions === void 0 ? void 0 : fieldDefinitions.map((field) => (React.createElement(Checkbox, { key: field.key, className: "case-column-selector", label: field.label, isChecked: cachedColumns.includes(field.key), onChange: () => {
|
|
41
44
|
handleCheckboxChange(field.key);
|
|
42
|
-
}, id: field.key, name: field.key })));
|
|
45
|
+
}, id: getCheckboxId(field.key), name: field.key })));
|
|
43
46
|
};
|
|
44
47
|
return (React.createElement(Dropdown, { isOpen: isOpen, onOpenChange: (isOpen) => setIsOpen(isOpen), toggle: (toggleRef) => (React.createElement(MenuToggle, { className: "pf-v6-u-flex-1", 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
48
|
React.createElement(DropdownList, null,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AdvanceSearch.d.ts","sourceRoot":"","sources":["../../../../../src/components/case-list/case-search/AdvanceSearch.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AdvanceSearch.d.ts","sourceRoot":"","sources":["../../../../../src/components/case-list/case-search/AdvanceSearch.tsx"],"names":[],"mappings":"AAoBA,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;AAOD,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,qBA0S1C"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
|
-
import { Button, Flex, FlexItem, Icon, TextInputGroup, TextInputGroupMain, TextInputGroupUtilities, } from '@patternfly/react-core';
|
|
1
|
+
import { Button, Flex, FlexItem, Icon, MenuToggle, Select, SelectList, SelectOption, TextInputGroup, TextInputGroupMain, TextInputGroupUtilities, } from '@patternfly/react-core';
|
|
2
2
|
import CheckCircleIcon from '@patternfly/react-icons/dist/js/icons/check-circle-icon';
|
|
3
3
|
import InfoIcon from '@patternfly/react-icons/dist/js/icons/info-circle-icon';
|
|
4
4
|
import TimesCircleIcon from '@patternfly/react-icons/dist/js/icons/times-circle-icon';
|
|
5
|
+
import { LoadingIndicator, useSelectKeyboardNavigator } from '@rh-support/components';
|
|
5
6
|
import isEmpty from 'lodash/isEmpty';
|
|
7
|
+
import map from 'lodash/map';
|
|
6
8
|
import React, { useContext, useEffect, useRef, useState } from 'react';
|
|
7
9
|
import { Trans, useTranslation } from 'react-i18next';
|
|
8
10
|
import { CaseSearchQueryType } from '../../../enums/caseSearch';
|
|
@@ -15,7 +17,7 @@ export function AdvanceSearch(props) {
|
|
|
15
17
|
const isFirstMountRef = useRef(true);
|
|
16
18
|
const [inputString, setInputString] = useState('');
|
|
17
19
|
const [autoCompleteList, setAutoCompleteList] = useState([]);
|
|
18
|
-
const
|
|
20
|
+
const [isOpen, setIsOpen] = useState(false);
|
|
19
21
|
const parseQuery = () => {
|
|
20
22
|
try {
|
|
21
23
|
parse(inputString);
|
|
@@ -43,11 +45,10 @@ export function AdvanceSearch(props) {
|
|
|
43
45
|
}
|
|
44
46
|
};
|
|
45
47
|
const { parse, parseSafe, parserRef } = useAdvanceSearchParser({ onInit: parseQuery });
|
|
46
|
-
const [isAutoCompleteListVisible, setIsAutoCompleteListVisible] = useState(false);
|
|
47
48
|
const [isParsingSuccessful, setIsParsingSuccessful] = useState(false);
|
|
49
|
+
const [isParsing, setIsParsing] = useState(false);
|
|
48
50
|
const parserErrorRef = useRef(null);
|
|
49
51
|
const searchInputRef = useRef(null);
|
|
50
|
-
const [selectedItemIndex, setSelectedItemIndex] = useState(null);
|
|
51
52
|
useEffect(() => {
|
|
52
53
|
if (filterQueryInfo.type === CaseSearchQueryType.BASIC)
|
|
53
54
|
return;
|
|
@@ -74,25 +75,6 @@ export function AdvanceSearch(props) {
|
|
|
74
75
|
props.onSearchValChange && props.onSearchValChange(inputString);
|
|
75
76
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
76
77
|
}, [inputString]);
|
|
77
|
-
const handleClickOutside = (e) => {
|
|
78
|
-
if (dropdownWrapperRef.current.contains(e.target)) {
|
|
79
|
-
// inside click
|
|
80
|
-
return;
|
|
81
|
-
}
|
|
82
|
-
// outside click
|
|
83
|
-
setIsAutoCompleteListVisible(false);
|
|
84
|
-
};
|
|
85
|
-
useEffect(() => {
|
|
86
|
-
if (isAutoCompleteListVisible) {
|
|
87
|
-
document.addEventListener('mousedown', handleClickOutside);
|
|
88
|
-
}
|
|
89
|
-
else {
|
|
90
|
-
document.removeEventListener('mousedown', handleClickOutside);
|
|
91
|
-
}
|
|
92
|
-
return () => {
|
|
93
|
-
document.removeEventListener('mousedown', handleClickOutside);
|
|
94
|
-
};
|
|
95
|
-
}, [isAutoCompleteListVisible]);
|
|
96
78
|
const onQueryStringChange = (value) => {
|
|
97
79
|
const query = value;
|
|
98
80
|
setInputString(query);
|
|
@@ -152,63 +134,20 @@ export function AdvanceSearch(props) {
|
|
|
152
134
|
});
|
|
153
135
|
}
|
|
154
136
|
setAutoCompleteList(sortedList);
|
|
137
|
+
setIsParsing(false);
|
|
155
138
|
}
|
|
156
139
|
};
|
|
157
140
|
const onItemClick = (itemValue) => {
|
|
141
|
+
setIsParsing(true);
|
|
158
142
|
setInputString(inputString.substring(0, parserErrorRef.current.location.start.offset) + itemValue);
|
|
159
|
-
searchInputRef.current.focus();
|
|
160
|
-
};
|
|
161
|
-
const onInputFocus = () => {
|
|
162
|
-
setIsAutoCompleteListVisible(true);
|
|
163
|
-
};
|
|
164
|
-
const selectNextItem = (next = 1) => {
|
|
165
|
-
const selectedId = selectedItemIndex;
|
|
166
|
-
//select next item
|
|
167
|
-
let nextId;
|
|
168
|
-
if (selectedId !== null) {
|
|
169
|
-
nextId = (selectedId + next + autoCompleteList.length) % autoCompleteList.length;
|
|
170
|
-
}
|
|
171
|
-
else {
|
|
172
|
-
nextId = next === 1 ? 0 : autoCompleteList.length - 1;
|
|
173
|
-
}
|
|
174
|
-
setSelectedItemIndex(nextId);
|
|
175
143
|
};
|
|
176
144
|
// To determine if search button is enabled or not
|
|
177
145
|
const isAdvancedSearchButtonDisabled = props.isSearchDisabled ||
|
|
178
146
|
(isEmpty(inputString) && isEmpty(filterQueryInfo === null || filterQueryInfo === void 0 ? void 0 : filterQueryInfo.parsedQuery)) ||
|
|
179
147
|
!isParsingSuccessful;
|
|
180
|
-
const onKeyDown = (e) => {
|
|
181
|
-
setIsAutoCompleteListVisible(true);
|
|
182
|
-
const whichKey = e.which;
|
|
183
|
-
if (whichKey !== 38 && whichKey !== 40 && whichKey !== 13)
|
|
184
|
-
return;
|
|
185
|
-
e.preventDefault();
|
|
186
|
-
e.stopPropagation();
|
|
187
|
-
if (whichKey === 38) {
|
|
188
|
-
// key UP
|
|
189
|
-
selectNextItem(-1);
|
|
190
|
-
}
|
|
191
|
-
else if (whichKey === 40) {
|
|
192
|
-
// key DOWN
|
|
193
|
-
selectNextItem();
|
|
194
|
-
}
|
|
195
|
-
else if (whichKey === 13) {
|
|
196
|
-
//key ENTER
|
|
197
|
-
if (e.ctrlKey && !isAdvancedSearchButtonDisabled) {
|
|
198
|
-
onSearchSubmit();
|
|
199
|
-
}
|
|
200
|
-
else {
|
|
201
|
-
if (selectedItemIndex !== null) {
|
|
202
|
-
onItemClick(autoCompleteList[selectedItemIndex].value);
|
|
203
|
-
}
|
|
204
|
-
}
|
|
205
|
-
}
|
|
206
|
-
return false;
|
|
207
|
-
};
|
|
208
148
|
const onClear = () => {
|
|
209
149
|
setInputString('');
|
|
210
150
|
setAutoCompleteList([]);
|
|
211
|
-
setIsAutoCompleteListVisible(false);
|
|
212
151
|
props.onSearchClear && props.onSearchClear();
|
|
213
152
|
};
|
|
214
153
|
const onSearchSubmit = () => {
|
|
@@ -221,26 +160,41 @@ export function AdvanceSearch(props) {
|
|
|
221
160
|
parsedQuery += '*';
|
|
222
161
|
}
|
|
223
162
|
}
|
|
224
|
-
setIsAutoCompleteListVisible(false);
|
|
225
163
|
props.onSearchSubmit && props.onSearchSubmit(CaseSearchQueryType.ADVANCED, parsedQuery);
|
|
226
164
|
};
|
|
227
165
|
const onBasicClick = () => {
|
|
228
166
|
props.onSearchTypeChange && props.onSearchTypeChange(CaseSearchQueryType.BASIC);
|
|
229
167
|
};
|
|
230
168
|
const isQueryInValid = inputString && !isParsingSuccessful;
|
|
169
|
+
const { focusedItemIndex, onInputKeyDown } = useSelectKeyboardNavigator({
|
|
170
|
+
list: autoCompleteList,
|
|
171
|
+
isOpen,
|
|
172
|
+
resetIndexOnClose: true,
|
|
173
|
+
isDisabled: false,
|
|
174
|
+
setIsOpen,
|
|
175
|
+
onSelect: (item) => onItemClick(item.value),
|
|
176
|
+
});
|
|
177
|
+
const toggle = (toggleRef) => (React.createElement(MenuToggle, { variant: "typeahead", onClick: () => setIsOpen((open) => !open), onKeyDown: onInputKeyDown, innerRef: toggleRef, isExpanded: isOpen, isFullWidth: true },
|
|
178
|
+
React.createElement(TextInputGroup, { isPlain: true },
|
|
179
|
+
React.createElement(TextInputGroupMain, { value: inputString, onChange: (event, value) => onQueryStringChange(value), onClick: () => setIsOpen((open) => !open), ref: searchInputRef, placeholder: t('i18nEnterSolrQuery', 'Enter SOLR query, for example: severity:"1 (Urgent)" and status:"Waiting on Customer"'), className: "pf-v6-u-pr-2xl", type: "text", "aria-invalid": isQueryInValid ? true : false, autoComplete: "off", id: "advance-search-typeahead", "aria-label": t('Enter search query'), "aria-describedby": "advance-query-error-helper" }),
|
|
180
|
+
inputString && (React.createElement(TextInputGroupUtilities, null,
|
|
181
|
+
React.createElement(Button, { icon: inputString && isParsingSuccessful ? (React.createElement(Flex, { justifyContent: { default: 'justifyContentSpaceBetween' } },
|
|
182
|
+
React.createElement(FlexItem, null,
|
|
183
|
+
React.createElement(Icon, { size: "md" },
|
|
184
|
+
React.createElement(CheckCircleIcon, { color: "#3E8635" }))),
|
|
185
|
+
React.createElement(FlexItem, null,
|
|
186
|
+
React.createElement(TimesCircleIcon, null)))) : (React.createElement(TimesCircleIcon, null)), onClick: onClear, variant: "plain", "data-tracking-id": "clear-search", "aria-label": t('Clear this search') }))))));
|
|
231
187
|
return (React.createElement(React.Fragment, null,
|
|
232
|
-
React.createElement(
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
isAutoCompleteListVisible && (React.createElement("ul", { className: "pf-v6-c-select__menu", "aria-labelledby": "advance-search-typeahead-label", role: "listbox" }, autoCompleteList.map((item, index) => (React.createElement("li", { key: index, role: "presentation", className: `pf-v6-c-select__menu-wrapper ${selectedItemIndex === index ? 'pf-m-focus' : ''}` },
|
|
243
|
-
React.createElement("button", { type: "button", onClick: (e) => onItemClick(item.value), className: "pf-v6-c-select__menu-item", "aria-selected": selectedItemIndex === index ? true : false, role: "option" }, item.display))))))),
|
|
188
|
+
React.createElement(Select, { shouldFocusToggleOnSelect: true, shouldPreventScrollOnItemFocus: true, isOpen: isOpen, selected: null, onSelect: (_e, v) => onItemClick(v), onOpenChange: (open) => {
|
|
189
|
+
if (!isParsing) {
|
|
190
|
+
setIsOpen(open);
|
|
191
|
+
}
|
|
192
|
+
}, popperProps: { direction: 'down', enableFlip: false }, toggle: toggle, isScrollable: true },
|
|
193
|
+
React.createElement(SelectList, null,
|
|
194
|
+
!isParsing &&
|
|
195
|
+
map(autoCompleteList, (item, index) => (React.createElement(SelectOption, { key: item.value, value: item.value, isFocused: focusedItemIndex !== null && focusedItemIndex === index }, item.display))),
|
|
196
|
+
isParsing && (React.createElement(SelectOption, null,
|
|
197
|
+
React.createElement(LoadingIndicator, null))))),
|
|
244
198
|
React.createElement(Button, { type: "button", variant: "primary", "data-tracking-id": "case-list-adv-search-button", className: "search-btn", onClick: onSearchSubmit, isDisabled: isAdvancedSearchButtonDisabled },
|
|
245
199
|
React.createElement(Trans, null, "Search")),
|
|
246
200
|
React.createElement(Button, { hasNoPadding: true, className: "case-search-toggle", variant: "link", onClick: onBasicClick, "data-tracking-id": "case-list-basic-toggle-button" },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SaveCaseSearchModal.d.ts","sourceRoot":"","sources":["../../../../../src/components/case-list/case-search/SaveCaseSearchModal.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SaveCaseSearchModal.d.ts","sourceRoot":"","sources":["../../../../../src/components/case-list/case-search/SaveCaseSearchModal.tsx"],"names":[],"mappings":"AA4BA,OAAO,KAA0C,MAAM,OAAO,CAAC;AAO/D,UAAU,MAAM;IACZ,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,QAAQ,EAAE,OAAO,CAAC;IAClB,wBAAwB,EAAE,MAAM,CAAC;IACjC,uBAAuB,EAAE,MAAM,CAAC;IAChC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,MAAM,IAAI,CAAC;CAC/B;AAOD,wBAAgB,mBAAmB,CAAC,EAChC,WAAW,EACX,WAAW,EACX,QAAQ,EACR,wBAAwB,EACxB,uBAAuB,EACvB,iBAAiB,EACjB,eAAe,GAClB,EAAE,MAAM,qBAkTR"}
|
|
@@ -7,7 +7,7 @@ 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 { Button, ButtonVariant, Checkbox, Form, FormGroup, FormHelperText, HelperText, HelperTextItem, Modal, ModalFooter, ModalVariant, TextArea, TextInput, } from '@patternfly/react-core';
|
|
10
|
+
import { Button, ButtonVariant, Checkbox, Form, FormGroup, FormHelperText, HelperText, HelperTextItem, Modal, ModalBody, ModalFooter, ModalHeader, ModalVariant, TextArea, TextInput, } from '@patternfly/react-core';
|
|
11
11
|
import { ToastNotification, useConfirmation } from '@rh-support/components';
|
|
12
12
|
import { GlobalMetadataDispatchContext, GlobalMetadataStateContext, updateUserPreferences, UserPreferencesKeys, } from '@rh-support/react-context';
|
|
13
13
|
import find from 'lodash/find';
|
|
@@ -182,18 +182,21 @@ export function SaveCaseSearchModal({ isModalOpen, modalToggle, isAdding, select
|
|
|
182
182
|
setLocalDefaultChecked(((_a = previousBookmarkedSearchesObj[selectedSearchNameToEdit]) === null || _a === void 0 ? void 0 : _a.defaultChecked) || false);
|
|
183
183
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
184
184
|
}, [filterInfo, filterQueryInfo.queryString, isAdding, selectedSearchNameToEdit, currentCaseSearchString]);
|
|
185
|
-
return (React.createElement(Modal, { variant: ModalVariant.medium,
|
|
186
|
-
React.createElement(
|
|
187
|
-
React.createElement(
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
185
|
+
return (React.createElement(Modal, { variant: ModalVariant.medium, isOpen: isModalOpen, onClose: closeModal, style: { overflow: 'visible' }, className: "save-search-modal" },
|
|
186
|
+
React.createElement(ModalHeader, null,
|
|
187
|
+
React.createElement("h2", null, isAdding ? t('Save search and filters') : t('Edit saved search and filters'))),
|
|
188
|
+
React.createElement(ModalBody, null,
|
|
189
|
+
React.createElement(Form, { className: "save-search-form" },
|
|
190
|
+
React.createElement(FormGroup, { label: React.createElement("span", { className: "save-for-later-label-name" }, t('Name')), isRequired: true, fieldId: "save-search-name", className: "form-group pull-bottom-narrow save-for-later-name" },
|
|
191
|
+
saveButtonIsClicked && isDuplicateNameError && (React.createElement(FormHelperText, null,
|
|
192
|
+
React.createElement(HelperText, null,
|
|
193
|
+
React.createElement(HelperTextItem, null,
|
|
194
|
+
React.createElement(Trans, null, "Filter with same name already exists. Please enter a unique name."))))),
|
|
195
|
+
React.createElement(TextInput, { isRequired: true, type: "text", placeholder: t('Enter a unique name to reference in the future'), id: "save-search-name", name: "save-search-name", "aria-describedby": "save-search-name-helper", value: localSavedSearchName, onChange: (_event, value) => handleSaveSearchNameChange(value), validated: saveButtonIsClicked && (isDuplicateNameError || isEmpty(localSavedSearchName.trim()))
|
|
196
|
+
? 'error'
|
|
197
|
+
: 'default' })),
|
|
198
|
+
React.createElement(FormGroup, { label: React.createElement("span", { className: "save-for-later-label-query" }, t('Search and filter query')), isRequired: true, fieldId: "filter-query", className: "form-group pf-v6-u-mt-lg save-for-later-query" },
|
|
199
|
+
React.createElement(TextArea, { isRequired: true, type: "text", id: "filter-query", name: "filter-query", "aria-describedby": "filter-query-helper", value: queryStr, isDisabled: true, resizeOrientation: "vertical" })))),
|
|
197
200
|
React.createElement(ModalFooter, null,
|
|
198
201
|
React.createElement(Button, { key: "save", variant: ButtonVariant.primary, isLoading: isUpdating, spinnerAriaValueText: hydraUserPreferences.isFetching ? 'Saving' : undefined, isDisabled: hydraUserPreferences.isFetching ||
|
|
199
202
|
(saveButtonIsClicked && (isEmpty(localSavedSearchName.trim()) || isDuplicateNameError)), "data-tracking-id": isAdding ? 'case-list-bookmark-search-saved' : 'case-list-bookmark-search-edited', onClick: save },
|
package/lib/esm/css/caseList.css
CHANGED
|
@@ -14,7 +14,7 @@ export declare function useCloseCase(props: IUseCloseCaseProps): {
|
|
|
14
14
|
maxCasesSelected: boolean;
|
|
15
15
|
showWarning: boolean;
|
|
16
16
|
showError: boolean;
|
|
17
|
-
getTooltipContent: () =>
|
|
17
|
+
getTooltipContent: () => string;
|
|
18
18
|
onCancel: () => void;
|
|
19
19
|
onConfirm: (commentBody: any) => Promise<void>;
|
|
20
20
|
onBtnClick: () => void;
|
|
@@ -10,7 +10,7 @@ export declare function useExportCaseListCSV(props: IUseExportCaseListCSV): {
|
|
|
10
10
|
isExportButtonDisabled: boolean;
|
|
11
11
|
openUpdateSeverityModal: boolean;
|
|
12
12
|
showError: boolean;
|
|
13
|
-
getTooltipContent: () =>
|
|
13
|
+
getTooltipContent: () => string;
|
|
14
14
|
toggleDownloadCSVModal: () => void;
|
|
15
15
|
};
|
|
16
16
|
//# sourceMappingURL=useExportCaseListCSV.d.ts.map
|
|
@@ -9,8 +9,6 @@ export declare function renderWithRouter(ui: any, { route, history }?: {
|
|
|
9
9
|
}): IRenderWithRouter;
|
|
10
10
|
export declare const generateUrl: (path: string, pathParams: any) => string;
|
|
11
11
|
export declare class EscalationPageTestUtils {
|
|
12
|
-
private pageUtils;
|
|
13
|
-
constructor(utils: any);
|
|
14
12
|
get saveBtn(): HTMLElement;
|
|
15
13
|
get cancelBtn(): HTMLElement;
|
|
16
14
|
clickBtn(btn: any): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testUtils.d.ts","sourceRoot":"","sources":["../../../src/test-utils/testUtils.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAqB,YAAY,
|
|
1
|
+
{"version":3,"file":"testUtils.d.ts","sourceRoot":"","sources":["../../../src/test-utils/testUtils.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAqB,YAAY,EAAU,MAAM,wBAAwB,CAAC;AACjF,OAAO,EAAuB,aAAa,EAAE,MAAM,SAAS,CAAC;AAI7D,UAAU,iBAAkB,SAAQ,YAAY;IAC5C,OAAO,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC;CAC/B;AAED,wBAAgB,gBAAgB,CAC5B,EAAE,KAAA,EACF,EAAE,KAAW,EAAE,OAA0D,EAAE;;;CAAK,GACjF,iBAAiB,CAKnB;AAED,eAAO,MAAM,WAAW,SAAU,MAAM,sBAAe,MAUtD,CAAC;AAEF,qBAAa,uBAAuB;IAChC,IAAI,OAAO,gBAEV;IAED,IAAI,SAAS,gBAEZ;IAED,QAAQ,CAAC,GAAG,KAAA;IAIZ,OAAO,CAAC,KAAK;IAIb,IAAI,aAAa,gBAEhB;IAED,IAAI,YAAY,gBAEf;IAED,IAAI,WAAW,gBAEd;IAED,IAAI,UAAU,gBAEb;IAED,IAAI,eAAe,gBAElB;IAED,IAAI,gBAAgB,gBAEnB;IAED,IAAI,cAAc,gBAEjB;IAED,IAAI,OAAO,gBAEV;IAED,IAAI,QAAQ,gBAEX;IAED,IAAI,UAAU,gBAEb;IAED,IAAI,gBAAgB,gBAEnB;IAED,IAAI,YAAY,gBAEf;IAED,IAAI,gBAAgB,gBAEnB;IAED,IAAI,WAAW,gBAEd;IAED,gBAAgB,CAAC,KAAK,KAAA,EAAE,KAAK,KAAA;IAI7B,mCAAmC;IAYnC,uCAAuC;IAIvC,kCAAkC;CAYrC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { fireEvent, render } from '@testing-library/react';
|
|
1
|
+
import { fireEvent, render, screen } from '@testing-library/react';
|
|
2
2
|
import { createMemoryHistory } from 'history';
|
|
3
3
|
import React from 'react';
|
|
4
4
|
import { Router } from 'react-router-dom';
|
|
@@ -16,20 +16,17 @@ export const generateUrl = (path, pathParams) => {
|
|
|
16
16
|
return tempPath;
|
|
17
17
|
};
|
|
18
18
|
export class EscalationPageTestUtils {
|
|
19
|
-
constructor(utils) {
|
|
20
|
-
this.pageUtils = utils;
|
|
21
|
-
}
|
|
22
19
|
get saveBtn() {
|
|
23
|
-
return
|
|
20
|
+
return screen.getByRole('button', { name: /Send Request/i });
|
|
24
21
|
}
|
|
25
22
|
get cancelBtn() {
|
|
26
|
-
return
|
|
23
|
+
return screen.getByRole('button', { name: /Cancel/i });
|
|
27
24
|
}
|
|
28
25
|
clickBtn(btn) {
|
|
29
26
|
fireEvent.click(btn);
|
|
30
27
|
}
|
|
31
28
|
field(fieldLabel) {
|
|
32
|
-
return
|
|
29
|
+
return screen.getByLabelText(fieldLabel);
|
|
33
30
|
}
|
|
34
31
|
get requestorName() {
|
|
35
32
|
return this.field(/Your Name/i);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/utils/constants.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/utils/constants.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;CAmB1B,CAAC;AAEF,eAAO,MAAM,oBAAoB,iDAAiD,CAAC"}
|
|
@@ -1,23 +1,24 @@
|
|
|
1
|
+
import i18n from 'i18next';
|
|
1
2
|
import { SolrKeys } from '../enums/filters';
|
|
2
3
|
// used for adding title text for different solr fields
|
|
3
4
|
export const filterNamesMap = {
|
|
4
|
-
[SolrKeys.status]: 'Status',
|
|
5
|
-
[SolrKeys.severity]: 'Severity',
|
|
6
|
-
[SolrKeys.group]: 'Groups',
|
|
7
|
-
[SolrKeys.accountNumber]: 'Bookmarks',
|
|
8
|
-
[SolrKeys.caseSummary]: 'Title',
|
|
9
|
-
[SolrKeys.escalation]: 'Escalated',
|
|
10
|
-
[SolrKeys.contactName]: 'Owner',
|
|
11
|
-
[SolrKeys.product]: 'Products',
|
|
12
|
-
[SolrKeys.version]: 'Version',
|
|
13
|
-
[SolrKeys.createdBy]: 'Created by',
|
|
14
|
-
[SolrKeys.createdDate]: 'Created date',
|
|
15
|
-
[SolrKeys.modifiedBy]: 'Modified by',
|
|
16
|
-
[SolrKeys.uri]: 'Uri',
|
|
17
|
-
[SolrKeys.caseNumber]: 'Case number',
|
|
18
|
-
[SolrKeys.createdBySsoUsername]: 'Created by me',
|
|
19
|
-
[SolrKeys.caseContactSSO]: 'Owned by me',
|
|
20
|
-
[SolrKeys.type]: 'Support type',
|
|
21
|
-
usernameFilterTitle: 'Username',
|
|
5
|
+
[SolrKeys.status]: i18n.t('Status'),
|
|
6
|
+
[SolrKeys.severity]: i18n.t('Severity'),
|
|
7
|
+
[SolrKeys.group]: i18n.t('Groups'),
|
|
8
|
+
[SolrKeys.accountNumber]: i18n.t('Bookmarks'),
|
|
9
|
+
[SolrKeys.caseSummary]: i18n.t('Title'),
|
|
10
|
+
[SolrKeys.escalation]: i18n.t('Escalated'),
|
|
11
|
+
[SolrKeys.contactName]: i18n.t('Owner'),
|
|
12
|
+
[SolrKeys.product]: i18n.t('Products'),
|
|
13
|
+
[SolrKeys.version]: i18n.t('Version'),
|
|
14
|
+
[SolrKeys.createdBy]: i18n.t('Created by'),
|
|
15
|
+
[SolrKeys.createdDate]: i18n.t('Created date'),
|
|
16
|
+
[SolrKeys.modifiedBy]: i18n.t('Modified by'),
|
|
17
|
+
[SolrKeys.uri]: i18n.t('Uri'),
|
|
18
|
+
[SolrKeys.caseNumber]: i18n.t('Case number'),
|
|
19
|
+
[SolrKeys.createdBySsoUsername]: i18n.t('Created by me'),
|
|
20
|
+
[SolrKeys.caseContactSSO]: i18n.t('Owned by me'),
|
|
21
|
+
[SolrKeys.type]: i18n.t('Support type'),
|
|
22
|
+
usernameFilterTitle: i18n.t('Username'),
|
|
22
23
|
};
|
|
23
24
|
export const UpdatedCaseDataEvent = 'PCM-Next > case-list-data-background-refresh';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rh-support/cases",
|
|
3
|
-
"version": "2.6.
|
|
3
|
+
"version": "2.6.11",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public",
|
|
6
6
|
"registry": "https://registry.npmjs.org"
|
|
@@ -43,11 +43,11 @@
|
|
|
43
43
|
"@patternfly/patternfly": "6.2.1",
|
|
44
44
|
"@patternfly/react-core": "6.2.1",
|
|
45
45
|
"@patternfly/react-table": "6.2.1",
|
|
46
|
-
"@rh-support/components": "2.5.
|
|
47
|
-
"@rh-support/react-context": "2.5.
|
|
46
|
+
"@rh-support/components": "2.5.29",
|
|
47
|
+
"@rh-support/react-context": "2.5.31",
|
|
48
48
|
"@rh-support/types": "2.0.5",
|
|
49
|
-
"@rh-support/user-permissions": "2.5.
|
|
50
|
-
"@rh-support/utils": "2.5.
|
|
49
|
+
"@rh-support/user-permissions": "2.5.19",
|
|
50
|
+
"@rh-support/utils": "2.5.18",
|
|
51
51
|
"localforage": "^1.10.0",
|
|
52
52
|
"lodash": "^4.17.21",
|
|
53
53
|
"pegjs": "^0.10.0",
|
|
@@ -96,5 +96,5 @@
|
|
|
96
96
|
"defaults and supports es6-module",
|
|
97
97
|
"maintained node versions"
|
|
98
98
|
],
|
|
99
|
-
"gitHead": "
|
|
99
|
+
"gitHead": "e0bf8c7dfd320b0250ba6cb2efa66abcd1c0edf1"
|
|
100
100
|
}
|