@rh-support/cases 2.4.10-beta.6 → 2.5.1
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/README.md +2 -0
- package/lib/esm/components/case/NewCaseButton.d.ts +2 -1
- package/lib/esm/components/case/NewCaseButton.d.ts.map +1 -1
- package/lib/esm/components/case-list/CaseList.d.ts +4 -3
- package/lib/esm/components/case-list/CaseList.d.ts.map +1 -1
- package/lib/esm/components/case-list/CaseList.js +42 -44
- package/lib/esm/components/case-list/CaseListContext.d.ts +1 -1
- package/lib/esm/components/case-list/CaseListContext.d.ts.map +1 -1
- package/lib/esm/components/case-list/CaseListFilterContext.d.ts +1 -1
- package/lib/esm/components/case-list/CaseListFilterContext.d.ts.map +1 -1
- package/lib/esm/components/case-list/CaseListFilterHelpers.d.ts.map +1 -1
- package/lib/esm/components/case-list/CaseListFilterReducer.d.ts +6 -3
- package/lib/esm/components/case-list/CaseListFilterReducer.d.ts.map +1 -1
- package/lib/esm/components/case-list/CaseListFilterReducer.js +3 -0
- package/lib/esm/components/case-list/CaseListReducer.d.ts +2 -2
- package/lib/esm/components/case-list/CaseListReducer.d.ts.map +1 -1
- package/lib/esm/components/case-list/case-list-filters/AccountsBookmarkedGroupFilter.d.ts +3 -2
- 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 +25 -11
- package/lib/esm/components/case-list/case-list-filters/AccountsFilter.d.ts +2 -1
- package/lib/esm/components/case-list/case-list-filters/AccountsFilter.d.ts.map +1 -1
- package/lib/esm/components/case-list/case-list-filters/AccountsFilter.js +10 -5
- package/lib/esm/components/case-list/case-list-filters/AdditionalFilters.d.ts +2 -1
- package/lib/esm/components/case-list/case-list-filters/AdditionalFilters.d.ts.map +1 -1
- package/lib/esm/components/case-list/case-list-filters/AdditionalFilters.js +19 -4
- package/lib/esm/components/case-list/case-list-filters/CaseListFilterChips.d.ts +2 -1
- package/lib/esm/components/case-list/case-list-filters/CaseListFilterChips.d.ts.map +1 -1
- package/lib/esm/components/case-list/case-list-filters/CaseListFilterChips.js +1 -1
- package/lib/esm/components/case-list/case-list-filters/CaseListFilters.d.ts +2 -1
- package/lib/esm/components/case-list/case-list-filters/CaseListFilters.d.ts.map +1 -1
- package/lib/esm/components/case-list/case-list-filters/CreatorSsoNameFilter.d.ts +12 -1
- 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 +138 -163
- package/lib/esm/components/case-list/case-list-filters/CreatorSsoNameFilterChip.d.ts +2 -1
- package/lib/esm/components/case-list/case-list-filters/CreatorSsoNameFilterChip.d.ts.map +1 -1
- package/lib/esm/components/case-list/case-list-filters/CreatorSsoNameFilterChip.js +1 -1
- package/lib/esm/components/case-list/case-list-filters/GroupsFilter.d.ts +2 -1
- package/lib/esm/components/case-list/case-list-filters/GroupsFilter.d.ts.map +1 -1
- package/lib/esm/components/case-list/case-list-filters/GroupsFilter.js +157 -27
- package/lib/esm/components/case-list/case-list-filters/InternalSsoNameFilter.d.ts +3 -0
- package/lib/esm/components/case-list/case-list-filters/InternalSsoNameFilter.d.ts.map +1 -0
- package/lib/esm/components/case-list/case-list-filters/InternalSsoNameFilter.js +207 -0
- package/lib/esm/components/case-list/case-list-filters/ProductFilterChip.d.ts +2 -1
- 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 -1
- package/lib/esm/components/case-list/case-list-filters/ProductsFilter.d.ts +2 -1
- 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 +7 -5
- package/lib/esm/components/case-list/case-list-filters/SeverityFilter.d.ts +2 -1
- package/lib/esm/components/case-list/case-list-filters/SeverityFilter.d.ts.map +1 -1
- package/lib/esm/components/case-list/case-list-filters/SeverityFilter.js +4 -4
- package/lib/esm/components/case-list/case-list-filters/StatusFilter.d.ts +2 -1
- package/lib/esm/components/case-list/case-list-filters/StatusFilter.d.ts.map +1 -1
- package/lib/esm/components/case-list/case-list-filters/StatusFilter.js +4 -4
- package/lib/esm/components/case-list/case-list-filters/TypeFilter.d.ts +2 -1
- package/lib/esm/components/case-list/case-list-filters/TypeFilter.d.ts.map +1 -1
- package/lib/esm/components/case-list/case-list-filters/TypeFilter.js +3 -3
- package/lib/esm/components/case-list/case-list-filters/VersionsFilter.d.ts +2 -1
- package/lib/esm/components/case-list/case-list-filters/VersionsFilter.d.ts.map +1 -1
- package/lib/esm/components/case-list/case-list-filters/VersionsFilter.js +35 -4
- package/lib/esm/components/case-list/case-list-table/CaseListTable.d.ts +2 -1
- 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 +211 -113
- package/lib/esm/components/case-list/case-list-table/CloseCaseBtn.d.ts +2 -1
- package/lib/esm/components/case-list/case-list-table/CloseCaseBtn.d.ts.map +1 -1
- package/lib/esm/components/case-list/case-list-table/CloseCaseBtn.js +7 -2
- package/lib/esm/components/case-list/case-list-table/DownloadCSVFileModal.d.ts +19 -0
- package/lib/esm/components/case-list/case-list-table/DownloadCSVFileModal.d.ts.map +1 -0
- package/lib/esm/components/case-list/case-list-table/DownloadCSVFileModal.js +296 -0
- package/lib/esm/components/case-list/case-list-table/DownloadCSVFileModal.scss +27 -0
- package/lib/esm/components/case-list/case-list-table/ExportCaseListCSV.d.ts +3 -1
- package/lib/esm/components/case-list/case-list-table/ExportCaseListCSV.d.ts.map +1 -1
- package/lib/esm/components/case-list/case-list-table/ExportCaseListCSV.js +19 -96
- package/lib/esm/components/case-list/case-list-table/SeverityLabel.d.ts +2 -1
- package/lib/esm/components/case-list/case-list-table/SeverityLabel.d.ts.map +1 -1
- package/lib/esm/components/case-list/case-list-table/table-column-selector/TableColumnSelector.d.ts +9 -0
- package/lib/esm/components/case-list/case-list-table/table-column-selector/TableColumnSelector.d.ts.map +1 -0
- package/lib/esm/components/case-list/case-list-table/table-column-selector/TableColumnSelector.js +53 -0
- package/lib/esm/components/case-list/case-list-table/table-column-selector/TableColumnSelector.scss +7 -0
- package/lib/esm/components/case-list/case-search/AdvanceSearch.d.ts +2 -1
- package/lib/esm/components/case-list/case-search/AdvanceSearch.d.ts.map +1 -1
- package/lib/esm/components/case-list/case-search/AdvanceSearch.js +18 -13
- package/lib/esm/components/case-list/case-search/BookmarkedSearchesSelector.d.ts +2 -1
- package/lib/esm/components/case-list/case-search/BookmarkedSearchesSelector.d.ts.map +1 -1
- package/lib/esm/components/case-list/case-search/BookmarkedSearchesSelector.js +7 -6
- package/lib/esm/components/case-list/case-search/CaseSearch.d.ts +2 -1
- package/lib/esm/components/case-list/case-search/CaseSearch.d.ts.map +1 -1
- package/lib/esm/components/case-list/case-search/CaseSearch.js +2 -2
- package/lib/esm/components/case-list/case-search/SaveCaseSearchModal.d.ts +2 -1
- package/lib/esm/components/case-list/case-search/SaveCaseSearchModal.d.ts.map +1 -1
- package/lib/esm/components/case-list/case-search/SaveCaseSearchModal.js +48 -40
- package/lib/esm/components/case-list/case-search/useAdvanceSearchParser.js +1 -1
- package/lib/esm/components/escalations/EscalationForm.d.ts +1 -1
- package/lib/esm/components/escalations/EscalationForm.d.ts.map +1 -1
- package/lib/esm/components/escalations/EscalationForm.js +18 -9
- package/lib/esm/components/escalations/PartnerEscalation.d.ts +2 -1
- package/lib/esm/components/escalations/PartnerEscalation.d.ts.map +1 -1
- package/lib/esm/components/index.d.ts +2 -8
- package/lib/esm/components/index.d.ts.map +1 -1
- package/lib/esm/components/index.js +5 -8
- package/lib/esm/css/caseList.css +85 -64
- package/lib/esm/css/caseSearch.css +1 -1
- package/lib/esm/css/escalation.css +4 -4
- package/lib/esm/enums/cache.d.ts +1 -1
- package/lib/esm/enums/cache.d.ts.map +1 -1
- package/lib/esm/enums/case.js +1 -1
- package/lib/esm/enums/filters.d.ts +1 -1
- package/lib/esm/enums/filters.d.ts.map +1 -1
- package/lib/esm/enums/filters.js +1 -1
- package/lib/esm/i18n/template-es.js +1 -1
- package/lib/esm/index.d.ts +0 -2
- package/lib/esm/index.d.ts.map +1 -1
- package/lib/esm/index.js +0 -2
- package/lib/esm/models/caseList.d.ts +5 -2
- package/lib/esm/models/caseList.d.ts.map +1 -1
- package/lib/esm/scss/_main.scss +11 -11
- package/lib/esm/scss/_pf-overrides.scss +40 -4
- package/lib/esm/scss/index.scss +0 -1
- package/lib/esm/test-utils/testSetup.d.ts +1 -1
- package/lib/esm/test-utils/testSetup.d.ts.map +1 -1
- package/lib/esm/test-utils/testSetup.js +1 -1
- package/lib/esm/test-utils/testUtils.d.ts +1 -1
- package/lib/esm/test-utils/testUtils.js +1 -1
- package/lib/esm/utils/caseListUtils.js +3 -3
- package/lib/esm/utils/caseSearchUtils.d.ts +3 -3
- package/lib/esm/utils/caseSearchUtils.d.ts.map +1 -1
- package/lib/esm/utils/caseSearchUtils.js +18 -5
- package/lib/esm/utils/constants.js +1 -1
- package/lib/esm/utils/routeUtils.js +2 -1
- package/package.json +35 -32
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { Button } from '@patternfly/react-core';
|
|
1
|
+
import { Button, Flex, FlexItem, Icon, TextInputGroup, TextInputGroupMain, TextInputGroupUtilities, } from '@patternfly/react-core';
|
|
2
|
+
import CheckCircleIcon from '@patternfly/react-icons/dist/js/icons/check-circle-icon';
|
|
2
3
|
import InfoIcon from '@patternfly/react-icons/dist/js/icons/info-circle-icon';
|
|
3
4
|
import TimesCircleIcon from '@patternfly/react-icons/dist/js/icons/times-circle-icon';
|
|
4
5
|
import isEmpty from 'lodash/isEmpty';
|
|
@@ -83,8 +84,8 @@ export function AdvanceSearch(props) {
|
|
|
83
84
|
document.removeEventListener('mousedown', handleClickOutside);
|
|
84
85
|
};
|
|
85
86
|
}, [isAutoCompleteListVisible]);
|
|
86
|
-
const onQueryStringChange = (
|
|
87
|
-
const query =
|
|
87
|
+
const onQueryStringChange = (value) => {
|
|
88
|
+
const query = value;
|
|
88
89
|
setInputString(query);
|
|
89
90
|
};
|
|
90
91
|
const autoCompleteSetup = (expectedArray = null, phrase = '') => {
|
|
@@ -211,18 +212,22 @@ export function AdvanceSearch(props) {
|
|
|
211
212
|
};
|
|
212
213
|
const isQueryInValid = inputString && !isParsingSuccessful;
|
|
213
214
|
return (React.createElement(React.Fragment, null,
|
|
214
|
-
React.createElement("div", { className: "pf-c-select pf-m-expanded", ref: dropdownWrapperRef },
|
|
215
|
-
React.createElement(
|
|
216
|
-
React.createElement("
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
215
|
+
React.createElement("div", { className: "pf-v5-c-select pf-m-expanded", ref: dropdownWrapperRef },
|
|
216
|
+
React.createElement(TextInputGroup, null,
|
|
217
|
+
React.createElement(TextInputGroupMain, { value: inputString, onChange: (event, value) => onQueryStringChange(value), onFocus: onInputFocus, ref: searchInputRef, onKeyDown: onKeyDown, placeholder: t('i18nEnterSolrQuery', 'Enter SOLR query, for example: severity:"1 (Urgent)" and status:"Waiting on Customer"'), className: "pf-v5-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" }),
|
|
218
|
+
inputString && (React.createElement(TextInputGroupUtilities, null,
|
|
219
|
+
React.createElement(Button, { onClick: onClear, variant: "plain", "data-tracking-id": "clear-search", "aria-label": t('Clear this search') }, inputString && isParsingSuccessful ? (React.createElement(Flex, { justifyContent: { default: 'justifyContentSpaceBetween' } },
|
|
220
|
+
React.createElement(FlexItem, null,
|
|
221
|
+
React.createElement(Icon, { size: "md" },
|
|
222
|
+
React.createElement(CheckCircleIcon, { color: "#3E8635" }))),
|
|
223
|
+
React.createElement(FlexItem, null,
|
|
224
|
+
React.createElement(TimesCircleIcon, null)))) : (React.createElement(TimesCircleIcon, null)))))),
|
|
225
|
+
isAutoCompleteListVisible && (React.createElement("ul", { className: "pf-v5-c-select__menu", "aria-labelledby": "advance-search-typeahead-label", role: "listbox" }, autoCompleteList.map((item, index) => (React.createElement("li", { key: index, role: "presentation", className: `pf-v5-c-select__menu-wrapper ${selectedItemIndex === index ? 'pf-m-focus' : ''}` },
|
|
226
|
+
React.createElement("button", { type: "button", onClick: (e) => onItemClick(item.value), className: "pf-v5-c-select__menu-item", "aria-selected": selectedItemIndex === index ? true : false, role: "option" }, item.display))))))),
|
|
227
|
+
React.createElement(Button, { type: "button", variant: "primary", "data-tracking-id": "case-list-adv-search-button", className: "pf-v5-u-ml-sm", onClick: onSearchSubmit, isDisabled: isAdvancedSearchButtonDisabled },
|
|
223
228
|
React.createElement(Trans, null, "Search")),
|
|
224
229
|
React.createElement(Button, { variant: "link", onClick: onBasicClick, "data-tracking-id": "case-list-basic-toggle-button" },
|
|
225
230
|
React.createElement(Trans, null, "Basic")),
|
|
226
|
-
React.createElement(Button, { variant: "link", className: "pf-u-px-0", component: "a", rel: "noopener noreferrer", target: "_blank", href: "https://source.redhat.com/communitiesatredhat/applications/integration-community-of-practice/all/testallin/all_in_blog/advanced_search_in_the_customer_support_tool", "data-tracking-id": "advance-search-guide" },
|
|
231
|
+
React.createElement(Button, { variant: "link", className: "pf-v5-u-px-0", component: "a", rel: "noopener noreferrer", target: "_blank", "aria-label": "Advanced search guide", href: "https://source.redhat.com/communitiesatredhat/applications/integration-community-of-practice/all/testallin/all_in_blog/advanced_search_in_the_customer_support_tool", "data-tracking-id": "advance-search-guide" },
|
|
227
232
|
React.createElement(InfoIcon, null))));
|
|
228
233
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import React from 'react';
|
|
1
2
|
import { CaseSearchQueryType } from '../../../enums/caseSearch';
|
|
2
3
|
interface IProps {
|
|
3
4
|
currentCaseSearchString: string;
|
|
@@ -5,6 +6,6 @@ interface IProps {
|
|
|
5
6
|
isAdvancedSearchValid: boolean;
|
|
6
7
|
defaultSavedSearchName: string;
|
|
7
8
|
}
|
|
8
|
-
export declare function BookmarkedSearchesSelector(props: IProps): JSX.Element;
|
|
9
|
+
export declare function BookmarkedSearchesSelector(props: IProps): React.JSX.Element;
|
|
9
10
|
export {};
|
|
10
11
|
//# sourceMappingURL=BookmarkedSearchesSelector.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BookmarkedSearchesSelector.d.ts","sourceRoot":"","sources":["../../../../../src/components/case-list/case-search/BookmarkedSearchesSelector.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"BookmarkedSearchesSelector.d.ts","sourceRoot":"","sources":["../../../../../src/components/case-list/case-search/BookmarkedSearchesSelector.tsx"],"names":[],"mappings":"AAkBA,OAAO,KAAkD,MAAM,OAAO,CAAC;AAGvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAahE,UAAU,MAAM;IACZ,uBAAuB,EAAE,MAAM,CAAC;IAChC,iBAAiB,EAAE,mBAAmB,CAAC;IACvC,qBAAqB,EAAE,OAAO,CAAC;IAC/B,sBAAsB,EAAE,MAAM,CAAC;CAClC;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,MAAM,qBAgTvD"}
|
|
@@ -7,7 +7,8 @@ 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,
|
|
10
|
+
import { Button, ButtonVariant, Split, SplitItem } from '@patternfly/react-core';
|
|
11
|
+
import { Dropdown, DropdownItem, DropdownSeparator, DropdownToggle, DropdownToggleAction, } from '@patternfly/react-core/deprecated';
|
|
11
12
|
import PencilAltIcon from '@patternfly/react-icons/dist/js/icons/pencil-alt-icon';
|
|
12
13
|
import StarIcon from '@patternfly/react-icons/dist/js/icons/star-icon';
|
|
13
14
|
import { ConfirmationServiceProvider } from '@rh-support/components';
|
|
@@ -166,16 +167,16 @@ export function BookmarkedSearchesSelector(props) {
|
|
|
166
167
|
.sort()
|
|
167
168
|
.map((bookmarkedSearch) => {
|
|
168
169
|
var _a;
|
|
169
|
-
return (React.createElement("li", { className: "pf-c-dropdown__menu-item pf-u-p-xs", key: bookmarkedSearch },
|
|
170
|
+
return (React.createElement("li", { className: "pf-v5-c-dropdown__menu-item pf-v5-u-p-xs", key: bookmarkedSearch },
|
|
170
171
|
React.createElement(Split, { key: `split-parent-${bookmarkedSearch}` },
|
|
171
172
|
React.createElement(SplitItem, { isFilled: true, key: `split-left-${bookmarkedSearch}` },
|
|
172
|
-
React.createElement(Button, { variant: ButtonVariant.plain, isBlock: true, className: "pf-u-text-align-left", onClick: onBookmarkSelectorChange(bookmarkedSearch, bookmarkedSearches[bookmarkedSearch], true) },
|
|
173
|
-
((_a = bookmarkedSearches[bookmarkedSearch]) === null || _a === void 0 ? void 0 : _a.defaultChecked) && (React.createElement(StarIcon, { title: "{t('Default search')}", color: "#F0AB00", className: "pf-u-mr-sm", "aria-label": t('Default search') })),
|
|
173
|
+
React.createElement(Button, { variant: ButtonVariant.plain, isBlock: true, className: "pf-v5-u-text-align-left", onClick: onBookmarkSelectorChange(bookmarkedSearch, bookmarkedSearches[bookmarkedSearch], true) },
|
|
174
|
+
((_a = bookmarkedSearches[bookmarkedSearch]) === null || _a === void 0 ? void 0 : _a.defaultChecked) && (React.createElement(StarIcon, { title: "{t('Default search')}", color: "#F0AB00", className: "pf-v5-u-mr-sm", "aria-label": t('Default search') })),
|
|
174
175
|
' ',
|
|
175
176
|
bookmarkedSearch)),
|
|
176
177
|
React.createElement(SplitItem, { key: `split-right-${bookmarkedSearch}` },
|
|
177
178
|
' ',
|
|
178
|
-
React.createElement(Button, { "aria-label": t('Edit or delete saved search'), className: "pf-u-pr-sm", onClick: onEditSavedSearchClick(bookmarkedSearch), variant: ButtonVariant.link, icon: React.createElement(PencilAltIcon, null) })))));
|
|
179
|
+
React.createElement(Button, { "aria-label": t('Edit or delete saved search'), className: "pf-v5-u-pr-sm", onClick: onEditSavedSearchClick(bookmarkedSearch), variant: ButtonVariant.link, icon: React.createElement(PencilAltIcon, null) })))));
|
|
179
180
|
});
|
|
180
181
|
const renderMostRecentSearch = [
|
|
181
182
|
React.createElement(DropdownItem, { key: "most-recent-search", component: "button", onClick: onBookmarkSelectorChange('', mostRecentSearch, true) },
|
|
@@ -193,7 +194,7 @@ export function BookmarkedSearchesSelector(props) {
|
|
|
193
194
|
const advancedSearchPhraseIsNotValid = filterState.filterQueryInfo.type === CaseSearchQueryType.ADVANCED && !props.isAdvancedSearchValid;
|
|
194
195
|
const noFilterOrSearchQueryApplied = !props.currentCaseSearchString && (isOnlyDefaultFilterApplied(filterState) || isNoFilterApplied(filterState));
|
|
195
196
|
return (React.createElement(React.Fragment, null,
|
|
196
|
-
React.createElement("div", { className: "bookmark-search-dropdown-wrapper" },
|
|
197
|
+
React.createElement("div", { className: "bookmark-search-dropdown-wrapper", "data-tracking-id": "bookmark-search-id" },
|
|
197
198
|
React.createElement(Dropdown, { className: "bookmark-search-dropdown", isOpen: isMenuOpen, dropdownItems: renderListItems, toggle: React.createElement(DropdownToggle, { splitButtonItems: [
|
|
198
199
|
React.createElement(DropdownToggleAction, { onClick: onSaveForLaterClick, key: "action", isDisabled: !!selectedSearch ||
|
|
199
200
|
noFilterOrSearchQueryApplied ||
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
import React from 'react';
|
|
1
2
|
interface IProps {
|
|
2
3
|
defaultSavedSearchName?: string;
|
|
3
4
|
}
|
|
4
|
-
export declare function CaseSearch(props: IProps): JSX.Element;
|
|
5
|
+
export declare function CaseSearch(props: IProps): React.JSX.Element;
|
|
5
6
|
export {};
|
|
6
7
|
//# sourceMappingURL=CaseSearch.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CaseSearch.d.ts","sourceRoot":"","sources":["../../../../../src/components/case-list/case-search/CaseSearch.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"CaseSearch.d.ts","sourceRoot":"","sources":["../../../../../src/components/case-list/case-search/CaseSearch.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAuD,MAAM,OAAO,CAAC;AAkB5E,UAAU,MAAM;IACZ,sBAAsB,CAAC,EAAE,MAAM,CAAC;CACnC;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,qBA0LvC"}
|
|
@@ -94,7 +94,7 @@ export function CaseSearch(props) {
|
|
|
94
94
|
const renderBasicSearch = () => {
|
|
95
95
|
return (React.createElement(React.Fragment, null,
|
|
96
96
|
React.createElement("div", { className: "case-search-input-container" },
|
|
97
|
-
React.createElement(SearchInput, { className: "pf-u-w-100", placeholder: t('Search by keyword or case ID'), value: searchVal === null || searchVal === void 0 ? void 0 : searchVal.trim(), "data-tracking-id": "search-cases-text-input", id: "case-search-basic", "aria-label": t('Search by keyword or case ID'), onChange: onSearchValChange, onClear: clearSearchVal }),
|
|
97
|
+
React.createElement(SearchInput, { className: "pf-v5-u-w-100", placeholder: t('Search by keyword or case ID'), value: searchVal === null || searchVal === void 0 ? void 0 : searchVal.trim(), "data-tracking-id": "search-cases-text-input", id: "case-search-basic", "aria-label": t('Search by keyword or case ID'), onChange: (_event, val) => onSearchValChange(val), onClear: clearSearchVal }),
|
|
98
98
|
React.createElement(Button, { variant: "primary", type: "submit", className: "search-btn", "data-tracking-id": "case-list-search-button", isDisabled: isSearchButtonDisabled },
|
|
99
99
|
React.createElement(Trans, null, "Search")),
|
|
100
100
|
canUseAdvancedSearch && (React.createElement(Button, { variant: "link", onClick: () => onSearchTypeChange(CaseSearchQueryType.ADVANCED), isDisabled: isFetching, "data-tracking-id": "case-list-adv-toggle-button" },
|
|
@@ -102,7 +102,7 @@ export function CaseSearch(props) {
|
|
|
102
102
|
};
|
|
103
103
|
const renderAdvanceSearch = () => {
|
|
104
104
|
return canUseAdvancedSearch ? (React.createElement(React.Fragment, null,
|
|
105
|
-
React.createElement(AdvanceSearch, { isSearchDisabled: isSearchButtonDisabled, onSearchValChange: onSearchValChange, onSearchClear: clearAdvancedSearchVal, onSearchSubmit: onCaseSearchAdvanced, onSearchTypeChange: onSearchTypeChange, onAdvancedSearchValidation: (isValid) => setIsAdvancedSearchValid(isValid) }))) : (
|
|
105
|
+
React.createElement(AdvanceSearch, { isSearchDisabled: isSearchButtonDisabled, onSearchValChange: onSearchValChange, onSearchClear: clearAdvancedSearchVal, onSearchSubmit: onCaseSearchAdvanced, onSearchTypeChange: onSearchTypeChange, onAdvancedSearchValidation: (isValid) => setIsAdvancedSearchValid(isValid) }))) : (renderBasicSearch());
|
|
106
106
|
};
|
|
107
107
|
return (React.createElement(React.Fragment, null,
|
|
108
108
|
React.createElement("form", { onSubmit: handleSubmit, onKeyDown: handleSearchInputKeyDown },
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import React from 'react';
|
|
1
2
|
interface IProps {
|
|
2
3
|
isModalOpen: boolean;
|
|
3
4
|
modalToggle: () => void;
|
|
@@ -7,6 +8,6 @@ interface IProps {
|
|
|
7
8
|
currentSearchType: string;
|
|
8
9
|
clearSearchName: () => void;
|
|
9
10
|
}
|
|
10
|
-
export declare function SaveCaseSearchModal({ isModalOpen, modalToggle, isAdding, selectedSearchNameToEdit, currentCaseSearchString, currentSearchType, clearSearchName, }: IProps): JSX.Element;
|
|
11
|
+
export declare function SaveCaseSearchModal({ isModalOpen, modalToggle, isAdding, selectedSearchNameToEdit, currentCaseSearchString, currentSearchType, clearSearchName, }: IProps): React.JSX.Element;
|
|
11
12
|
export {};
|
|
12
13
|
//# sourceMappingURL=SaveCaseSearchModal.d.ts.map
|
|
@@ -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":"AAyBA,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,qBA4SR"}
|
|
@@ -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, Modal, ModalVariant, TextArea, TextInput, } from '@patternfly/react-core';
|
|
10
|
+
import { Button, ButtonVariant, Checkbox, Form, FormGroup, FormHelperText, HelperText, HelperTextItem, Modal, 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';
|
|
@@ -31,6 +31,7 @@ export function SaveCaseSearchModal({ isModalOpen, modalToggle, isAdding, select
|
|
|
31
31
|
const [isUpdating, setIsUpdating] = useState(false);
|
|
32
32
|
const [isDuplicateNameError, setIsDuplicateNameError] = useState(false);
|
|
33
33
|
const [saveButtonIsClicked, setSaveButtonIsClicked] = useState(false);
|
|
34
|
+
const [queryStr, setQueryStr] = useState('');
|
|
34
35
|
const filterState = useContext(CaseListFilterStateContext);
|
|
35
36
|
const { filterQueryInfo, filterInfo, sortInfo } = filterState;
|
|
36
37
|
const { globalMetadataState } = useContext(GlobalMetadataStateContext);
|
|
@@ -137,39 +138,45 @@ export function SaveCaseSearchModal({ isModalOpen, modalToggle, isAdding, select
|
|
|
137
138
|
let queryStr = '';
|
|
138
139
|
let sort = '';
|
|
139
140
|
let dir = '';
|
|
140
|
-
if (
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
141
|
+
if (!hydraUserPreferences.isFetching) {
|
|
142
|
+
if (isAdding) {
|
|
143
|
+
// new saved search
|
|
144
|
+
queryStr =
|
|
145
|
+
currentSearchType === CaseSearchQueryType.BASIC
|
|
146
|
+
? createUserFriendlyQueryFromFilterState(filterInfo, currentCaseSearchString)
|
|
147
|
+
: currentCaseSearchString;
|
|
148
|
+
const sortInfo = filterState.sortInfo;
|
|
149
|
+
const sortField = sortInfo === null || sortInfo === void 0 ? void 0 : sortInfo.column;
|
|
150
|
+
sort = (caseTableColumSortNamesMap === null || caseTableColumSortNamesMap === void 0 ? void 0 : caseTableColumSortNamesMap[sortField]) || sortField || '';
|
|
151
|
+
dir = directionMap[sortInfo === null || sortInfo === void 0 ? void 0 : sortInfo.direction] || '';
|
|
152
|
+
}
|
|
153
|
+
else if (selectedSearchNameToEdit && previousBookmarkedSearchesObj[selectedSearchNameToEdit]) {
|
|
154
|
+
// already saved seach
|
|
155
|
+
queryStr =
|
|
156
|
+
currentSearchType === CaseSearchQueryType.BASIC
|
|
157
|
+
? createUserFriendlyQueryFromFilterState(previousBookmarkedSearchesObj[selectedSearchNameToEdit].filterState, previousBookmarkedSearchesObj[selectedSearchNameToEdit].queryString)
|
|
158
|
+
: previousBookmarkedSearchesObj[selectedSearchNameToEdit].queryString;
|
|
159
|
+
const sortInfo = (_a = previousBookmarkedSearchesObj[selectedSearchNameToEdit]) === null || _a === void 0 ? void 0 : _a.sortState;
|
|
160
|
+
const sortField = sortInfo === null || sortInfo === void 0 ? void 0 : sortInfo.column;
|
|
161
|
+
sort = (caseTableColumSortNamesMap === null || caseTableColumSortNamesMap === void 0 ? void 0 : caseTableColumSortNamesMap[sortField]) || sortField || '';
|
|
162
|
+
dir = directionMap[sortInfo === null || sortInfo === void 0 ? void 0 : sortInfo.direction] || '';
|
|
163
|
+
}
|
|
164
|
+
else {
|
|
165
|
+
// while saving search name is in progress and modal is open,
|
|
166
|
+
// localSavedSearchName in previousBookmarkedSearchesObj is used to populate query inputbox
|
|
167
|
+
queryStr = previousBookmarkedSearchesObj[localSavedSearchName] || '';
|
|
168
|
+
const sortInfo = (_b = previousBookmarkedSearchesObj[localSavedSearchName]) === null || _b === void 0 ? void 0 : _b.sortState;
|
|
169
|
+
const sortField = sortInfo === null || sortInfo === void 0 ? void 0 : sortInfo.column;
|
|
170
|
+
sort = (caseTableColumSortNamesMap === null || caseTableColumSortNamesMap === void 0 ? void 0 : caseTableColumSortNamesMap[sortField]) || sortField || '';
|
|
171
|
+
dir = directionMap[sortInfo === null || sortInfo === void 0 ? void 0 : sortInfo.direction] || '';
|
|
172
|
+
}
|
|
173
|
+
setQueryStr(queryStr ? `${queryStr} Sort by: ${sort}, ${dir}` : '');
|
|
170
174
|
}
|
|
171
|
-
return queryStr ? `${queryStr} Sort by: ${sort}, ${dir}` : '';
|
|
172
175
|
};
|
|
176
|
+
useEffect(() => {
|
|
177
|
+
getQueryStr();
|
|
178
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
179
|
+
}, [hydraUserPreferences]);
|
|
173
180
|
useEffect(() => {
|
|
174
181
|
var _a;
|
|
175
182
|
setLocalSavedSearchName(selectedSearchNameToEdit);
|
|
@@ -183,22 +190,23 @@ export function SaveCaseSearchModal({ isModalOpen, modalToggle, isAdding, select
|
|
|
183
190
|
React.createElement(Button, { key: "cancel", variant: ButtonVariant.secondary, "data-tracking-id": "case-list-bookmark-search-canceled", onClick: closeModal },
|
|
184
191
|
React.createElement(Trans, null, "Cancel")),
|
|
185
192
|
React.createElement(React.Fragment, null,
|
|
186
|
-
React.createElement(Checkbox, { className: "pf-u-ml-md save-search-set-default", key: "set-as-default", "aria-label": t('Set as default'), id: "case-list-bookmark-search-set-as-default", "data-tracking-id": "case-list-bookmark-search-set-as-default", isChecked: localDefaultChecked, onChange: (
|
|
193
|
+
React.createElement(Checkbox, { className: "pf-v5-u-ml-md save-search-set-default", key: "set-as-default", "aria-label": t('Set as default'), id: "case-list-bookmark-search-set-as-default", "data-tracking-id": "case-list-bookmark-search-set-as-default", isChecked: localDefaultChecked, onChange: (e, checkbox) => {
|
|
187
194
|
e.stopPropagation();
|
|
188
195
|
setLocalDefaultChecked(!localDefaultChecked);
|
|
189
196
|
} }),
|
|
190
|
-
' ',
|
|
191
197
|
"Set as default"),
|
|
192
198
|
React.createElement(React.Fragment, null, !isAdding && (React.createElement(Button, { key: "delete", variant: ButtonVariant.link, isDanger: true, "data-tracking-id": "case-list-bookmark-search-deleted", onClick: deleteSavedSearch, style: { marginLeft: 'auto' } },
|
|
193
199
|
React.createElement(Trans, null, "Remove")))),
|
|
194
200
|
] },
|
|
195
201
|
React.createElement(Form, { className: "save-search-form" },
|
|
196
|
-
React.createElement(FormGroup, { label: React.createElement("span", { className: "save-for-later-label-name" }, t('Name')), isRequired: true, fieldId: "save-search-name",
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
202
|
+
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" },
|
|
203
|
+
saveButtonIsClicked && isDuplicateNameError && (React.createElement(FormHelperText, null,
|
|
204
|
+
React.createElement(HelperText, null,
|
|
205
|
+
React.createElement(HelperTextItem, null,
|
|
206
|
+
React.createElement(Trans, null, "Filter with same name already exists. Please enter a unique name."))))),
|
|
207
|
+
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()))
|
|
200
208
|
? 'error'
|
|
201
209
|
: 'default' })),
|
|
202
|
-
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-u-mt-lg save-for-later-query"
|
|
203
|
-
React.createElement(TextArea, { isRequired: true, type: "text", id: "filter-query", name: "filter-query", "aria-describedby": "filter-query-helper", value:
|
|
210
|
+
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-v5-u-mt-lg save-for-later-query" },
|
|
211
|
+
React.createElement(TextArea, { isRequired: true, type: "text", id: "filter-query", name: "filter-query", "aria-describedby": "filter-query-helper", value: queryStr, isDisabled: true, resizeOrientation: "vertical" })))));
|
|
204
212
|
}
|
|
@@ -101,7 +101,7 @@ export default function useAdvanceSearchParser({ onInit }) {
|
|
|
101
101
|
/ "createdDate" {return "${SolrKeys.createdDate}";}
|
|
102
102
|
/ "closedDate" {return "${SolrKeys.caseClosedDate}";}
|
|
103
103
|
/ "description" {return "${SolrKeys.description}";}
|
|
104
|
-
/ "
|
|
104
|
+
/ "title" {return "${SolrKeys.caseSummary}";}
|
|
105
105
|
/ "lastModifiedDate" {return "${SolrKeys.modifiedDate}";}
|
|
106
106
|
/ "lastModifiedByName" {return "${SolrKeys.modifiedBy}";}
|
|
107
107
|
/ "ownerName" {return "${SolrKeys.contactName}";}
|
|
@@ -23,6 +23,6 @@ interface IProps {
|
|
|
23
23
|
type: escalationType;
|
|
24
24
|
onSuccessMessage?: string;
|
|
25
25
|
}
|
|
26
|
-
export declare function EscalationForm(props: IProps): JSX.Element;
|
|
26
|
+
export declare function EscalationForm(props: IProps): React.JSX.Element;
|
|
27
27
|
export {};
|
|
28
28
|
//# sourceMappingURL=EscalationForm.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EscalationForm.d.ts","sourceRoot":"","sources":["../../../../src/components/escalations/EscalationForm.tsx"],"names":[],"mappings":"AAAA,OAAO,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"EscalationForm.d.ts","sourceRoot":"","sources":["../../../../src/components/escalations/EscalationForm.tsx"],"names":[],"mappings":"AAAA,OAAO,0BAA0B,CAAC;AAoBlC,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAIzE,OAAO,KAA2B,MAAM,OAAO,CAAC;AAGhD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAKxD,MAAM,WAAW,UAAW,SAAQ,gBAAgB;IAChD,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC;IAC5B,SAAS,EAAE,OAAO,GAAG,UAAU,GAAG,QAAQ,GAAG,UAAU,CAAC;IACxD,IAAI,CAAC,EACC,MAAM,GACN,MAAM,GACN,gBAAgB,GAChB,OAAO,GACP,OAAO,GACP,QAAQ,GACR,UAAU,GACV,QAAQ,GACR,KAAK,GACL,MAAM,GACN,KAAK,CAAC;IACZ,OAAO,CAAC,EAAE,WAAW,EAAE,GAAG,MAAM,EAAE,CAAC;IACnC,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,GAAG,EAAE,CAAC;IACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,0BAA0B,CAAC,EAAE,OAAO,CAAC;CACxC;AAED,MAAM,WAAW,YAAY;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,UAAU,EAAE,CAAC;CAC/B;AAED,UAAU,MAAM;IACZ,YAAY,EAAE,YAAY,EAAE,CAAC;IAC7B,gBAAgB,EAAE,GAAG,CAAC;IACtB,IAAI,EAAE,cAAc,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAKD,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,qBAwP3C"}
|
|
@@ -20,7 +20,7 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
20
20
|
};
|
|
21
21
|
import '../../css/escalation.css';
|
|
22
22
|
import { escalations } from '@cee-eng/hydrajs';
|
|
23
|
-
import { ActionGroup, Button, Checkbox, Form, FormGroup, FormSelect, FormSelectOption, TextArea, TextInput, } from '@patternfly/react-core';
|
|
23
|
+
import { ActionGroup, Button, Checkbox, Form, FormGroup, FormHelperText, FormSelect, FormSelectOption, HelperText, HelperTextItem, TextArea, TextInput, } from '@patternfly/react-core';
|
|
24
24
|
import { AlertMessage, AlertType, useFetch } from '@rh-support/components';
|
|
25
25
|
import { useGlobalStateContext } from '@rh-support/react-context';
|
|
26
26
|
import { scrollIntoView } from '@rh-support/utils';
|
|
@@ -70,17 +70,17 @@ export function EscalationForm(props) {
|
|
|
70
70
|
? mapToValueLabel(field.options)
|
|
71
71
|
: field.options;
|
|
72
72
|
return (React.createElement(React.Fragment, null,
|
|
73
|
-
React.createElement(FormSelect, { isRequired: field.isRequired || false, id: field.id, onChange: onFormValueChange, value: formState[field.id], name: field.id }, options.map((option, index) => (React.createElement(FormSelectOption, { key: index, value: option.value, label: option.label })))),
|
|
74
|
-
field.showTextAreaForOtherOption && formState[field.id] === 'Other' && (React.createElement(TextArea, { id: `${field.id}Text`, value: formState[`${field.id}Text`], onChange: onFormValueChange, "aria-describedby": `${field.id}-helper`, name: `${field.id}Text
|
|
73
|
+
React.createElement(FormSelect, { isRequired: field.isRequired || false, id: field.id, onChange: (ev, value) => onFormValueChange(value, ev), value: formState[field.id], name: field.id }, options.map((option, index) => (React.createElement(FormSelectOption, { key: index, value: option.value, label: option.label })))),
|
|
74
|
+
field.showTextAreaForOtherOption && formState[field.id] === 'Other' && (React.createElement(TextArea, { id: `${field.id}Text`, value: formState[`${field.id}Text`], onChange: (ev, value) => onFormValueChange(value, ev), "aria-describedby": `${field.id}-helper`, name: `${field.id}Text`, resizeOrientation: "vertical" }))));
|
|
75
75
|
};
|
|
76
76
|
const renderTextInput = (field) => {
|
|
77
|
-
return (React.createElement(TextInput, { validated: checkIfValid(field) ? 'default' : 'error', isRequired: field.isRequired || false, id: field.id, type: field.type || 'text', value: formState[field.id], onChange: onFormValueChange, "aria-describedby": `${field.id}-helper`, name: field.id }));
|
|
77
|
+
return (React.createElement(TextInput, { validated: checkIfValid(field) ? 'default' : 'error', isRequired: field.isRequired || false, id: field.id, type: field.type || 'text', value: formState[field.id], onChange: (ev, value) => onFormValueChange(value, ev), "aria-describedby": `${field.id}-helper`, name: field.id }));
|
|
78
78
|
};
|
|
79
79
|
const renderTextArea = (field) => {
|
|
80
|
-
return (React.createElement(TextArea, { isRequired: field.isRequired || false, id: field.id, value: formState[field.id], onChange: onFormValueChange, "aria-describedby": `${field.id}-helper`, name: field.id }));
|
|
80
|
+
return (React.createElement(TextArea, { isRequired: field.isRequired || false, id: field.id, value: formState[field.id], onChange: (ev, value) => onFormValueChange(value, ev), "aria-describedby": `${field.id}-helper`, name: field.id, resizeOrientation: "vertical" }));
|
|
81
81
|
};
|
|
82
82
|
const renderCheckbox = (field) => {
|
|
83
|
-
return (React.createElement(Checkbox, { id: field.id, isChecked: formState[field.id], onChange: onFormValueChange, "aria-describedby": `${field.id}-helper`, name: field.id }));
|
|
83
|
+
return (React.createElement(Checkbox, { id: field.id, isChecked: formState[field.id], onChange: (ev, value) => onFormValueChange(value, ev), "aria-describedby": `${field.id}-helper`, name: field.id }));
|
|
84
84
|
};
|
|
85
85
|
const onFormValueChange = (value, ev) => {
|
|
86
86
|
const newValue = { [ev.target.name]: value };
|
|
@@ -127,6 +127,13 @@ export function EscalationForm(props) {
|
|
|
127
127
|
const isSendBtnDisabled = () => {
|
|
128
128
|
return (requiredFields.some((item) => isFieldValueEmpty(formState[item])) || invalidfields.length > 0 || isFetching);
|
|
129
129
|
};
|
|
130
|
+
const getHelperText = (field) => {
|
|
131
|
+
return checkIfValid(field)
|
|
132
|
+
? typeof field.helperText === 'string'
|
|
133
|
+
? t(field.helperText)
|
|
134
|
+
: ''
|
|
135
|
+
: t(field.helperTextInvalid || '');
|
|
136
|
+
};
|
|
130
137
|
return (React.createElement(React.Fragment, null,
|
|
131
138
|
React.createElement("div", { className: "escalation-alert-messages", ref: alertMessageSectionRef },
|
|
132
139
|
React.createElement(AlertMessage, { show: isFetching, variant: AlertType.INFO, title: t('Creating your escalation request') }),
|
|
@@ -142,9 +149,11 @@ export function EscalationForm(props) {
|
|
|
142
149
|
React.createElement("span", { className: "cp-step-icon-custom" }, index + 1)),
|
|
143
150
|
React.createElement("div", { className: "cp-step-content" }, section.sectionName)),
|
|
144
151
|
React.createElement("div", { className: "escalation-form-fields" }, section.sectionFields.map((field) => {
|
|
145
|
-
return (React.createElement(FormGroup, { key: field.id, label: t(field.label), isRequired: field.isRequired || false, fieldId: field.id
|
|
146
|
-
|
|
147
|
-
|
|
152
|
+
return (React.createElement(FormGroup, { key: field.id, label: t(field.label), isRequired: field.isRequired || false, fieldId: field.id },
|
|
153
|
+
React.createElement(FormHelperText, null,
|
|
154
|
+
React.createElement(HelperText, null,
|
|
155
|
+
React.createElement(HelperTextItem, { variant: checkIfValid(field) ? 'default' : 'error' }, getHelperText(field)))),
|
|
156
|
+
renderFormField(field)));
|
|
148
157
|
}))));
|
|
149
158
|
}),
|
|
150
159
|
React.createElement(ActionGroup, null,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PartnerEscalation.d.ts","sourceRoot":"","sources":["../../../../src/components/escalations/PartnerEscalation.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"PartnerEscalation.d.ts","sourceRoot":"","sources":["../../../../src/components/escalations/PartnerEscalation.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AA6C1B,wBAAgB,iBAAiB,sBA0KhC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import React from 'react';
|
|
2
2
|
import { RouteComponentProps } from 'react-router-dom';
|
|
3
3
|
export interface ICasesRouteURLParams {
|
|
4
4
|
}
|
|
@@ -10,23 +10,17 @@ declare global {
|
|
|
10
10
|
interface Window {
|
|
11
11
|
sessionjs: any;
|
|
12
12
|
MSInputMethodContext: any;
|
|
13
|
-
chrometwo_require: (component: string[], callback: (...params: any[]) => any) => any;
|
|
14
13
|
portal: any;
|
|
15
14
|
Raven: any;
|
|
16
|
-
chrometwo_ready: any;
|
|
17
15
|
seVersionInfo: {
|
|
18
16
|
packageVersion: string;
|
|
19
17
|
hydrajs: string;
|
|
20
18
|
};
|
|
21
19
|
}
|
|
22
|
-
namespace JSX {
|
|
23
|
-
interface IntrinsicElements extends IPfeCollapse {
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
20
|
interface Document {
|
|
27
21
|
documentMode: any;
|
|
28
22
|
}
|
|
29
23
|
}
|
|
30
|
-
export declare function Cases(props: IProps): JSX.Element;
|
|
24
|
+
export declare function Cases(props: IProps): React.JSX.Element;
|
|
31
25
|
export {};
|
|
32
26
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/index.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoB,MAAM,OAAO,CAAC;AACzC,OAAO,EAAmB,mBAAmB,EAAU,MAAM,kBAAkB,CAAC;AAQhF,MAAM,WAAW,oBAAoB;CAAG;AACxC,UAAU,MAAM;IACZ,UAAU,EAAE,mBAAmB,CAAC,oBAAoB,CAAC,CAAC;IACtD,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,MAAM;QACZ,SAAS,EAAE,GAAG,CAAC;QACf,oBAAoB,EAAE,GAAG,CAAC;QAC1B,MAAM,EAAE,GAAG,CAAC;QACZ,KAAK,EAAE,GAAG,CAAC;QACX,aAAa,EAAE;YACX,cAAc,EAAE,MAAM,CAAC;YACvB,OAAO,EAAE,MAAM,CAAC;SACnB,CAAC;KACL;IAED,UAAU,QAAQ;QACd,YAAY,EAAE,GAAG,CAAC;KACrB;CACJ;AAED,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,qBAqBlC"}
|
|
@@ -1,22 +1,19 @@
|
|
|
1
|
-
import { CustomElements, requireCustomElement } from '@rh-support/utils';
|
|
2
1
|
import React, { useEffect } from 'react';
|
|
3
2
|
import { Redirect, Route, Switch } from 'react-router-dom';
|
|
4
3
|
import RouteUtils from '../utils/routeUtils';
|
|
5
4
|
import { CaseList } from './case-list/CaseList';
|
|
5
|
+
import { CaseListProvider } from './case-list/CaseListContext';
|
|
6
|
+
import { CaseListFilterProvider } from './case-list/CaseListFilterContext';
|
|
6
7
|
import { PartnerEscalation } from './escalations/PartnerEscalation';
|
|
7
|
-
requireCustomElement([
|
|
8
|
-
{
|
|
9
|
-
element: CustomElements.pfeCollapse,
|
|
10
|
-
requireCb: () => require('@patternfly/pfe-collapse'),
|
|
11
|
-
},
|
|
12
|
-
]);
|
|
13
8
|
export function Cases(props) {
|
|
14
9
|
RouteUtils.casesBasePath = props.basePath || '';
|
|
15
10
|
// Loading app metadata
|
|
16
11
|
useEffect(() => { }, []);
|
|
17
12
|
return (React.createElement(Switch, null,
|
|
18
13
|
React.createElement(Route, { path: `${RouteUtils.casesBasePath}/list`, exact: true },
|
|
19
|
-
React.createElement(
|
|
14
|
+
React.createElement(CaseListProvider, null,
|
|
15
|
+
React.createElement(CaseListFilterProvider, null,
|
|
16
|
+
React.createElement(CaseList, { routeProps: props.routeProps })))),
|
|
20
17
|
React.createElement(Route, { path: `/partnerEscalationRequest`, exact: true },
|
|
21
18
|
React.createElement(PartnerEscalation, null)),
|
|
22
19
|
React.createElement(Redirect, { to: `${RouteUtils.casesBasePath}/list` })));
|