@rh-support/troubleshoot 2.2.18-beta.0 → 2.2.19
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/AccountInfo/OwnerSelector.d.ts.map +1 -1
- package/lib/esm/components/AccountInfo/OwnerSelector.js +2 -2
- package/lib/esm/components/CaseEditView/CaseSolutions/CaseSolutionsItem.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/CaseSolutions/CaseSolutionsItem.js +3 -2
- package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CaseContactPhoneNumber.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CaseContactPhoneNumber.js +13 -18
- package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CaseInformation.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CaseInformation.js +2 -1
- package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/CaseChat.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/CaseChat.js +2 -1
- package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/CaseComments.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/CaseComments.js +3 -2
- package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/CaseExternalTrackerUpdate.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/CaseExternalTrackerUpdate.js +5 -3
- package/lib/esm/components/CaseEditView/Tabs/CasePrivateNotes/CasePrivateNotes.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/Tabs/CasePrivateNotes/CasePrivateNotes.js +4 -2
- package/lib/esm/components/CaseEditView/index.d.ts +5 -0
- package/lib/esm/components/CaseEditView/index.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/index.js +7 -0
- package/lib/esm/components/CaseInformation/ContactPhoneNumber.d.ts.map +1 -1
- package/lib/esm/components/CaseInformation/ContactPhoneNumber.js +11 -17
- package/lib/esm/components/CaseManagement/OpenshiftDropdownV4.d.ts.map +1 -1
- package/lib/esm/components/CaseManagement/OpenshiftDropdownV4.js +1 -1
- package/lib/esm/components/CaseManagement/SendNotifications/CaseContactSelector.js +1 -1
- package/lib/esm/components/EditDescription/EditDescription.d.ts.map +1 -1
- package/lib/esm/components/EditDescription/EditDescription.js +2 -1
- package/lib/esm/components/Recommendations/EARules/EARule.d.ts.map +1 -1
- package/lib/esm/components/Recommendations/EARules/EARule.js +4 -1
- package/lib/esm/components/Recommendations/InsightsRuleInfo.d.ts.map +1 -1
- package/lib/esm/components/Recommendations/InsightsRuleInfo.js +5 -3
- package/lib/esm/components/Recommendations/RulesModal.d.ts.map +1 -1
- package/lib/esm/components/Recommendations/RulesModal.js +2 -2
- package/lib/esm/components/SessionRestore/SessionItem.js +4 -4
- package/lib/esm/components/SessionRestore/SessionRestore.d.ts.map +1 -1
- package/lib/esm/components/SessionRestore/SessionRestore.js +4 -4
- package/lib/esm/components/Suggestions/TopContent.d.ts +1 -0
- package/lib/esm/components/Suggestions/TopContent.d.ts.map +1 -1
- package/lib/esm/components/Suggestions/TopContent.js +1 -0
- package/lib/esm/components/shared/Rule.d.ts.map +1 -1
- package/lib/esm/components/shared/Rule.js +2 -1
- package/lib/esm/components/shared/fileUpload/FileLister.d.ts.map +1 -1
- package/lib/esm/components/shared/fileUpload/FileLister.js +3 -6
- package/lib/esm/components/shared/utils.d.ts.map +1 -1
- package/lib/esm/components/shared/utils.js +1 -4
- package/lib/esm/components/wizardLayout/WizardLayout.d.ts.map +1 -1
- package/lib/esm/components/wizardLayout/WizardLayout.js +4 -3
- package/lib/esm/constants/caseDetailsConstants.d.ts +1 -2
- package/lib/esm/constants/caseDetailsConstants.d.ts.map +1 -1
- package/lib/esm/constants/caseDetailsConstants.js +1 -2
- package/lib/esm/reducers/CaseConstNTypes.d.ts +1 -1
- package/lib/esm/reducers/CaseConstNTypes.d.ts.map +1 -1
- package/lib/esm/reducers/CaseConstNTypes.js +1 -1
- package/lib/esm/reducers/CaseHelpers.d.ts.map +1 -1
- package/lib/esm/reducers/CaseHelpers.js +2 -0
- package/lib/esm/reducers/CaseReducer.d.ts +2 -1
- package/lib/esm/reducers/CaseReducer.d.ts.map +1 -1
- package/lib/esm/reducers/CaseReducer.js +5 -2
- package/lib/esm/reducers/SessionRestoreReducer.d.ts.map +1 -1
- package/package.json +13 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OwnerSelector.d.ts","sourceRoot":"","sources":["../../../../src/components/AccountInfo/OwnerSelector.tsx"],"names":[],"mappings":"AAqCA,UAAU,MAAM;CAAG;AAEnB,iBAAS,aAAa,CAAC,KAAK,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"OwnerSelector.d.ts","sourceRoot":"","sources":["../../../../src/components/AccountInfo/OwnerSelector.tsx"],"names":[],"mappings":"AAqCA,UAAU,MAAM;CAAG;AAEnB,iBAAS,aAAa,CAAC,KAAK,EAAE,MAAM,eA2VnC;AAED,OAAO,EAAE,aAAa,EAAE,CAAC"}
|
|
@@ -272,11 +272,11 @@ function OwnerSelector(props) {
|
|
|
272
272
|
const showUsersWithSelectedGroupAccess = caseNumber &&
|
|
273
273
|
(selectedCaseGroupUsers.isFetching ||
|
|
274
274
|
(!selectedCaseGroupUsers.isFetching && (selectedCaseGroupUsers.data || []).length > 0));
|
|
275
|
-
return (React.createElement("div", { className: "form-group get-support-owner-wapper" },
|
|
275
|
+
return (React.createElement("div", { className: "form-group get-support-owner-wapper", "data-tracking-id": "get-support-owner" },
|
|
276
276
|
React.createElement("label", { htmlFor: "get-support-owner" },
|
|
277
277
|
React.createElement(Trans, null, "Owner"),
|
|
278
278
|
React.createElement(ValueChangedIcon, { afterLocalChange: afterLocalChange, comparator: ownerComparator, isLocalChange: localOwnerChange, value: selectedOwner.data, getTooltipContent: getChangedValueTooltip(() => CaseValuesToWatch.owner, (v) => v.fullNameCustom) }),
|
|
279
279
|
React.createElement("span", { className: `form-required ${isExportingPDF ? 'hide-in-pdf' : ''}`, "aria-hidden": true }, "*")),
|
|
280
|
-
showUsersWithSelectedGroupAccess ? (React.createElement(Typeahead, { id: "get-support-owner", className: "react-select-custom", clearButton: true, isLoading: selectedCaseGroupUsers.isFetching || isCaseOwnerUpdating, options: usersWithGroupAccess, selected: !isEmpty(selectedOwner.data) ? [selectedOwner.data] : [], onChange: onCustomerContactSelect, labelKey: getHydraContactLabel, placeholder: t(`Search by name or username`), disabled: selectedCaseGroupUsers.isFetching || isCaseOwnerUpdating, renderMenuItemChildren: renderMenuItemChildren
|
|
280
|
+
showUsersWithSelectedGroupAccess ? (React.createElement(Typeahead, { id: "get-support-owner", className: "react-select-custom", clearButton: true, isLoading: selectedCaseGroupUsers.isFetching || isCaseOwnerUpdating, options: usersWithGroupAccess, selected: !isEmpty(selectedOwner.data) ? [selectedOwner.data] : [], onChange: onCustomerContactSelect, labelKey: getHydraContactLabel, placeholder: t(`Search by name or username`), disabled: selectedCaseGroupUsers.isFetching || isCaseOwnerUpdating, renderMenuItemChildren: renderMenuItemChildren })) : (React.createElement(CaseContactsSelectorExternal, { loggedInUserRights: loggedInUserRights.data, selectedAccountNumber: accountNumber, selected: !isEmpty(selectedOwner.data) ? [selectedOwner.data] : [], onChange: onCustomerContactSelect, placeholder: t(`Search by name or username`), clearButton: true, id: "get-support-owner", name: "get-support-owner", className: "react-select-custom", isUpdating: isCaseOwnerUpdating, isInvalid: isNextBtnClickedToShowValidationError && isEmpty(selectedOwner.data) }))));
|
|
281
281
|
}
|
|
282
282
|
export { OwnerSelector };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CaseSolutionsItem.d.ts","sourceRoot":"","sources":["../../../../../src/components/CaseEditView/CaseSolutions/CaseSolutionsItem.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"CaseSolutionsItem.d.ts","sourceRoot":"","sources":["../../../../../src/components/CaseEditView/CaseSolutions/CaseSolutionsItem.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAS5E,UAAU,MAAM;IACZ,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,8BAA8B,CAAC;IAC/C,YAAY,EAAE,GAAG,CAAC;IAClB,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,8BAA+B,SAAQ,OAAO,CAAC,iBAAiB,CAAC;IACvE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,eA4C9C"}
|
|
@@ -3,6 +3,7 @@ import LinkIcon from '@patternfly/react-icons/dist/js/icons/link-icon';
|
|
|
3
3
|
import ThumbTackIcon from '@patternfly/react-icons/dist/js/icons/thumb-tack-icon';
|
|
4
4
|
import { LoadingIndicator } from '@rh-support/components';
|
|
5
5
|
import { cleanupMarkDown, decodeMarkTag, truncate } from '@rh-support/utils';
|
|
6
|
+
import DOMPurify from 'dompurify';
|
|
6
7
|
import React from 'react';
|
|
7
8
|
export function CaseSolutionsItem(props) {
|
|
8
9
|
const maxTitleLength = 150;
|
|
@@ -15,9 +16,9 @@ export function CaseSolutionsItem(props) {
|
|
|
15
16
|
!isLoading && props.showPin && React.createElement(ThumbTackIcon, { className: "pinned-resource" }),
|
|
16
17
|
!isLoading && props.showLink && React.createElement(LinkIcon, null)),
|
|
17
18
|
React.createElement("a", { href: props.recommendation.resourceViewURI, "data-tracking-id": `case-resource-${props.type}-link-${props.index}`, target: "_blank", rel: "noopener noreferrer", dangerouslySetInnerHTML: {
|
|
18
|
-
__html: truncate(decodeMarkTag(props.recommendation.title || ''), maxTitleLength),
|
|
19
|
+
__html: DOMPurify.sanitize(truncate(decodeMarkTag(props.recommendation.title || ''), maxTitleLength)),
|
|
19
20
|
} })),
|
|
20
21
|
React.createElement("div", { className: "result-body", dangerouslySetInnerHTML: {
|
|
21
|
-
__html: truncate(cleanupMarkDown(decodeMarkTag(props.recommendation.solutionAbstract || '')), maxAbstractLength),
|
|
22
|
+
__html: DOMPurify.sanitize(truncate(cleanupMarkDown(decodeMarkTag(props.recommendation.solutionAbstract || '')), maxAbstractLength)),
|
|
22
23
|
} })));
|
|
23
24
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CaseContactPhoneNumber.d.ts","sourceRoot":"","sources":["../../../../../../src/components/CaseEditView/Tabs/CaseDetails/CaseContactPhoneNumber.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"CaseContactPhoneNumber.d.ts","sourceRoot":"","sources":["../../../../../../src/components/CaseEditView/Tabs/CaseDetails/CaseContactPhoneNumber.tsx"],"names":[],"mappings":"AAkBA,wBAAgB,sBAAsB,gBA4OrC"}
|
|
@@ -17,11 +17,10 @@ import isEmpty from 'lodash/isEmpty';
|
|
|
17
17
|
import isEqual from 'lodash/isEqual';
|
|
18
18
|
import React, { useContext, useEffect, useState } from 'react';
|
|
19
19
|
import { Trans, useTranslation } from 'react-i18next';
|
|
20
|
-
import { PHONE_INSTRUCTION, PHONE_IS_NOT_VALID,
|
|
20
|
+
import { PHONE_INSTRUCTION, PHONE_IS_NOT_VALID, PHONE_NO_CHAR_ERROR } from '../../../../constants/caseDetailsConstants';
|
|
21
21
|
import { useCaseDispatch, useCaseSelector } from '../../../../context/CaseContext';
|
|
22
22
|
import { useCaseUpdateErrorMessage } from '../../../../hooks/useCaseUpdateErrorMessage';
|
|
23
|
-
import {
|
|
24
|
-
import { updateCaseDetails } from '../../../../reducers/CaseReducer';
|
|
23
|
+
import { setCaseState, updateCaseDetails } from '../../../../reducers/CaseReducer';
|
|
25
24
|
import { ContactPhoneNumberPopOver } from '../../../CaseInformation/ContactPhoneNumberPopOver';
|
|
26
25
|
import { trimAndReplacePlus } from '../../../shared/utils';
|
|
27
26
|
import { PDFContext } from '../../PDFContainer';
|
|
@@ -43,6 +42,7 @@ export function CaseContactPhoneNumber() {
|
|
|
43
42
|
const [invalid, setInvalid] = useState(false);
|
|
44
43
|
const [isSaveClicked, setIsSavedClicked] = useState(false);
|
|
45
44
|
const [isShowOldPhone, setIsShowOldPhone] = useState(false);
|
|
45
|
+
const [phoneLength, setPhoneLength] = useState(localFullPhoneState === null || localFullPhoneState === void 0 ? void 0 : localFullPhoneState.length);
|
|
46
46
|
const caseDispatch = useCaseDispatch();
|
|
47
47
|
const caseUpdateError = useCaseUpdateErrorMessage();
|
|
48
48
|
const { t } = useTranslation();
|
|
@@ -51,6 +51,7 @@ export function CaseContactPhoneNumber() {
|
|
|
51
51
|
const onPhoneChange = (fullPhone) => __awaiter(this, void 0, void 0, function* () {
|
|
52
52
|
if (canEditCase.alert())
|
|
53
53
|
return;
|
|
54
|
+
setCaseState(caseDispatch, { isPhoneLengthInvalid: (fullPhone === null || fullPhone === void 0 ? void 0 : fullPhone.length) < phoneLength });
|
|
54
55
|
setLocalFullPhoneState(fullPhone);
|
|
55
56
|
});
|
|
56
57
|
const onCountryCodeChange = (countryCode) => {
|
|
@@ -60,11 +61,11 @@ export function CaseContactPhoneNumber() {
|
|
|
60
61
|
};
|
|
61
62
|
const onSave = () => __awaiter(this, void 0, void 0, function* () {
|
|
62
63
|
setIsSavedClicked(true);
|
|
63
|
-
if (isPhoneLineEmpty || isPhoneNumberInvalid)
|
|
64
|
+
if (isPhoneLineEmpty || isPhoneNumberInvalid || (localFullPhoneState === null || localFullPhoneState === void 0 ? void 0 : localFullPhoneState.length) < phoneLength)
|
|
64
65
|
return;
|
|
65
66
|
setCasePhoneUpdating(true);
|
|
66
67
|
const phoneLine = localFullPhoneState
|
|
67
|
-
.substring(localCountryCodeState.length, localFullPhoneState.length)
|
|
68
|
+
.substring(localCountryCodeState.length, localFullPhoneState === null || localFullPhoneState === void 0 ? void 0 : localFullPhoneState.length)
|
|
68
69
|
.trim();
|
|
69
70
|
const countryCode = localCountryCodeState.trim();
|
|
70
71
|
try {
|
|
@@ -112,14 +113,11 @@ export function CaseContactPhoneNumber() {
|
|
|
112
113
|
caseUpdateError.showError(e, t(`Phone number failed to update`));
|
|
113
114
|
}
|
|
114
115
|
});
|
|
115
|
-
const maxLengthErrorMessage = t('Phone number cannot be more than {{limit}} digits.', {
|
|
116
|
-
limit: PHONE_LIMIT,
|
|
117
|
-
});
|
|
118
116
|
const isPhoneNeedsReview = contactSSOName === loggedInUser.data.ssoUsername && suppliedPhoneNumberVerified === 'Deferred';
|
|
119
117
|
// To check if country code is given but phone number empty
|
|
120
118
|
const isPhoneLineEmpty = !isEmpty(localFullPhoneState) && isEmpty(localFullPhoneState === null || localFullPhoneState === void 0 ? void 0 : localFullPhoneState.replace(localCountryCodeState, ''));
|
|
121
119
|
const isPhoneNumberInvalid = isEmpty(localCountryCodeState) && !isEmpty(localFullPhoneState);
|
|
122
|
-
const isPhoneNumberValid = (localFullPhoneState === null || localFullPhoneState === void 0 ? void 0 : localFullPhoneState.length)
|
|
120
|
+
const isPhoneNumberValid = isSaveClicked && (localFullPhoneState === null || localFullPhoneState === void 0 ? void 0 : localFullPhoneState.length) < phoneLength
|
|
123
121
|
? ValidatedOptions.error
|
|
124
122
|
: isPhoneNeedsReview
|
|
125
123
|
? ValidatedOptions.warning
|
|
@@ -152,25 +150,22 @@ export function CaseContactPhoneNumber() {
|
|
|
152
150
|
React.createElement(Trans, null, "Case owner's phone number"),
|
|
153
151
|
!isExportingPDF ? ContactPhoneNumberPopOver() : ''),
|
|
154
152
|
React.createElement(InputGroupText, { variant: InputGroupTextVariant.plain },
|
|
155
|
-
React.createElement(PhoneInput, { phoneValue: localFullPhoneState, onPhoneValueChange: onPhoneChange, onCountryCodeChange: onCountryCodeChange, validations: isPhoneNumberValid, isDisabled: isCasePhoneUpdating || isCaseOwnerUpdating, isLoading: isCasePhoneUpdating, "data-tracking-id": "case-details-page-supplied-phone", invalid: invalid, setInvalid: setInvalid }),
|
|
156
|
-
React.createElement("button", { className: "btn btn-app btn-link pf-u-ml-sm", type: "button", "data-tracking-id": "case-details-page-supplied-phone-save", onClick: () => onSave(), disabled:
|
|
157
|
-
|
|
158
|
-
|
|
153
|
+
React.createElement(PhoneInput, { phoneValue: localFullPhoneState, onPhoneValueChange: onPhoneChange, onCountryCodeChange: onCountryCodeChange, validations: isPhoneNumberValid, isDisabled: isCasePhoneUpdating || isCaseOwnerUpdating, isLoading: isCasePhoneUpdating, "data-tracking-id": "case-details-page-supplied-phone", invalid: invalid, setInvalid: setInvalid, phoneLength: phoneLength, setPhoneLength: setPhoneLength }),
|
|
154
|
+
React.createElement("button", { className: "btn btn-app btn-link pf-u-ml-sm", type: "button", "data-tracking-id": "case-details-page-supplied-phone-save", onClick: () => onSave(), disabled: localFullPhoneState === phoneCountryCode + ' ' + phoneAreaCodePrefixLineNumber ||
|
|
155
|
+
(isSaveClicked &&
|
|
156
|
+
(isPhoneLineEmpty || isPhoneNumberInvalid || (localFullPhoneState === null || localFullPhoneState === void 0 ? void 0 : localFullPhoneState.length) < phoneLength)), style: { display: isExportingPDF ? 'none' : '' } },
|
|
159
157
|
React.createElement(CheckIcon, null)),
|
|
160
158
|
React.createElement("button", { className: "btn btn-app btn-link", type: "button", onClick: onClear, "data-tracking-id": "case-details-page-supplied-phone-cancel", style: { display: isExportingPDF ? 'none' : '' }, disabled: isEmpty(localFullPhoneState) },
|
|
161
159
|
React.createElement(TimesIcon, { color: "#6A6E73" }))),
|
|
162
160
|
!invalid &&
|
|
163
|
-
(localFullPhoneState === null || localFullPhoneState === void 0 ? void 0 : localFullPhoneState.length) <
|
|
161
|
+
!(isSaveClicked && (localFullPhoneState === null || localFullPhoneState === void 0 ? void 0 : localFullPhoneState.length) < phoneLength) &&
|
|
164
162
|
!(isPhoneLineEmpty && isSaveClicked) &&
|
|
165
163
|
!(isSaveClicked && isPhoneNumberInvalid) &&
|
|
166
164
|
!isShowOldPhone && (React.createElement("p", { className: "form-instructions" },
|
|
167
165
|
React.createElement(Trans, null, PHONE_INSTRUCTION))),
|
|
168
166
|
invalid && (React.createElement("p", { className: "form-instructions form-invalid" },
|
|
169
167
|
React.createElement(Trans, null, PHONE_NO_CHAR_ERROR))),
|
|
170
|
-
(localFullPhoneState === null || localFullPhoneState === void 0 ? void 0 : localFullPhoneState.length)
|
|
171
|
-
isSaveClicked && isPhoneLineEmpty && (React.createElement("p", { className: "form-instructions form-invalid" },
|
|
172
|
-
React.createElement(Trans, null, PHONE_LINE_CANNOT_BE_EMPTY))),
|
|
173
|
-
isSaveClicked && isPhoneNumberInvalid && (React.createElement("p", { className: "form-instructions form-invalid" },
|
|
168
|
+
isSaveClicked && (isPhoneNumberInvalid || (localFullPhoneState === null || localFullPhoneState === void 0 ? void 0 : localFullPhoneState.length) < phoneLength) && (React.createElement("p", { className: "form-instructions form-invalid" },
|
|
174
169
|
React.createElement(Trans, null, PHONE_IS_NOT_VALID))),
|
|
175
170
|
isShowOldPhone && (React.createElement("p", { className: "form-instructions form-invalid" },
|
|
176
171
|
React.createElement(Trans, null,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CaseInformation.d.ts","sourceRoot":"","sources":["../../../../../../src/components/CaseEditView/Tabs/CaseDetails/CaseInformation.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"CaseInformation.d.ts","sourceRoot":"","sources":["../../../../../../src/components/CaseEditView/Tabs/CaseDetails/CaseInformation.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAgB5D,UAAU,MAAO,SAAQ,gBAAgB;CAAG;AAE5C,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,eAqE5C"}
|
|
@@ -3,6 +3,7 @@ import { MoreOrLess } from '@rh-support/components';
|
|
|
3
3
|
import { useGlobalStateContext } from '@rh-support/react-context';
|
|
4
4
|
import { ability, CaseDetailsFields, resourceActions, resources } from '@rh-support/user-permissions';
|
|
5
5
|
import { PreviousCaseTypes } from '@rh-support/utils';
|
|
6
|
+
import DOMPurify from 'dompurify';
|
|
6
7
|
import isEqual from 'lodash/isEqual';
|
|
7
8
|
import React from 'react';
|
|
8
9
|
import { Trans } from 'react-i18next';
|
|
@@ -33,7 +34,7 @@ export function CaseInformation(props) {
|
|
|
33
34
|
text = encodeAngularBrackets(text);
|
|
34
35
|
text = linkifyWithCaseIDs(text);
|
|
35
36
|
text = linkifyBZIDs(text);
|
|
36
|
-
return { __html: text };
|
|
37
|
+
return { __html: DOMPurify.sanitize(text) };
|
|
37
38
|
};
|
|
38
39
|
const canEditDescription = ability.can(resourceActions.PATCH, resources.CASE_DETAILS, CaseDetailsFields.CASE_DETAILS_DESCRIPTION);
|
|
39
40
|
const hasCluster = isClusterIdEnabledForProduct(product, (_a = allProducts.data) === null || _a === void 0 ? void 0 : _a.productsResult);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CaseChat.d.ts","sourceRoot":"","sources":["../../../../../../src/components/CaseEditView/Tabs/CaseDiscussion/CaseChat.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"CaseChat.d.ts","sourceRoot":"","sources":["../../../../../../src/components/CaseEditView/Tabs/CaseDiscussion/CaseChat.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGpE,OAAO,KAAK,MAAM,OAAO,CAAC;AAO1B,UAAU,MAAM;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,SAAS,CAAC;IAChB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9C;AAED,QAAA,MAAM,QAAQ,4EAiDZ,CAAC;AACH,eAAe,QAAQ,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { formatDateTime } from '@rh-support/utils';
|
|
2
|
+
import DOMPurify from 'dompurify';
|
|
2
3
|
import React from 'react';
|
|
3
4
|
import { Trans } from 'react-i18next';
|
|
4
5
|
import { DiscussionType } from '../../../../reducers/CaseDiscussionTabReducer';
|
|
@@ -7,7 +8,7 @@ import { JumpAndCopyLink } from './JumpAndCopyLink';
|
|
|
7
8
|
const CaseChat = React.forwardRef((props, ref) => {
|
|
8
9
|
const { caseNumber } = props;
|
|
9
10
|
const sanetize = (html) => {
|
|
10
|
-
return { __html: html };
|
|
11
|
+
return { __html: DOMPurify.sanitize(html) };
|
|
11
12
|
};
|
|
12
13
|
const onJumpToComment = (chatId) => () => props.showJumpToComment && props.onJumpToComment && props.onJumpToComment(chatId);
|
|
13
14
|
return (React.createElement("section", { className: `prevent-split support-comment ${ref ? 'selected-case-comment' : ''}`, id: props.chat.id, ref: ref },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CaseComments.d.ts","sourceRoot":"","sources":["../../../../../../src/components/CaseEditView/Tabs/CaseDiscussion/CaseComments.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"CaseComments.d.ts","sourceRoot":"","sources":["../../../../../../src/components/CaseEditView/Tabs/CaseDiscussion/CaseComments.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AA8BvE,OAAO,KAA+B,MAAM,OAAO,CAAC;AAQpD,UAAU,MAAM;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,YAAY,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACzD,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IAClF,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,eAAe,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,kBAAkB,EAAE,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;CAChH;AAED,QAAA,MAAM,YAAY,4EAqThB,CAAC;AAEH,eAAe,YAAY,CAAC"}
|
|
@@ -20,6 +20,7 @@ import UserCircleIcon from '@patternfly/react-icons/dist/js/icons/user-circle-ic
|
|
|
20
20
|
import { EditorMode, LoadingIndicator, ToastNotification } from '@rh-support/components';
|
|
21
21
|
import { AbilityContext, CaseDetailsFields, CaseDiscussionFields, resourceActions, resources, } from '@rh-support/user-permissions';
|
|
22
22
|
import { formatDateTime, linkifyLinks } from '@rh-support/utils';
|
|
23
|
+
import DOMPurify from 'dompurify';
|
|
23
24
|
import isEmpty from 'lodash/isEmpty';
|
|
24
25
|
import React, { useContext, useState } from 'react';
|
|
25
26
|
import { Trans, useTranslation } from 'react-i18next';
|
|
@@ -127,11 +128,11 @@ const CaseComments = React.forwardRef((props, ref) => {
|
|
|
127
128
|
}
|
|
128
129
|
};
|
|
129
130
|
const commentText = (text) => {
|
|
130
|
-
return { __html: text };
|
|
131
|
+
return { __html: DOMPurify.sanitize(text) };
|
|
131
132
|
};
|
|
132
133
|
const commentMarkdown = (markdown) => {
|
|
133
134
|
const htmlString = parseCommentMarkdown(markdown, { showButtonForAttachmentLink: true }, { openLinksInNewTab: true, gfm: true, breaks: true });
|
|
134
|
-
return { __html: htmlString };
|
|
135
|
+
return { __html: DOMPurify.sanitize(htmlString) };
|
|
135
136
|
};
|
|
136
137
|
const onCommentAreaClick = (e) => {
|
|
137
138
|
let { event } = e.target['dataset'];
|
package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/CaseExternalTrackerUpdate.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CaseExternalTrackerUpdate.d.ts","sourceRoot":"","sources":["../../../../../../src/components/CaseEditView/Tabs/CaseDiscussion/CaseExternalTrackerUpdate.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"CaseExternalTrackerUpdate.d.ts","sourceRoot":"","sources":["../../../../../../src/components/CaseEditView/Tabs/CaseDiscussion/CaseExternalTrackerUpdate.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AAOjF,OAAO,KAAqB,MAAM,OAAO,CAAC;AAO1C,UAAU,MAAM;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,sBAAsB,CAAC;IACtC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,eAAe,CAAC,EAAE,CAAC,iBAAiB,EAAE,MAAM,KAAK,IAAI,CAAC;CACzD;AAID,QAAA,MAAM,yBAAyB,4EAuF7B,CAAC;AAEH,eAAe,yBAAyB,CAAC"}
|
|
@@ -2,6 +2,7 @@ import { markdownToHTML } from '@cee-eng/ui-toolkit';
|
|
|
2
2
|
import TopologyIcon from '@patternfly/react-icons/dist/js/icons/topology-icon';
|
|
3
3
|
import { AbilityContext, CaseDiscussionFields, resourceActions, resources } from '@rh-support/user-permissions';
|
|
4
4
|
import { formatDateTime } from '@rh-support/utils';
|
|
5
|
+
import DOMPurify from 'dompurify';
|
|
5
6
|
import includes from 'lodash/includes';
|
|
6
7
|
import React, { useContext } from 'react';
|
|
7
8
|
import { Trans } from 'react-i18next';
|
|
@@ -13,8 +14,9 @@ const CaseExternalTrackerUpdate = React.forwardRef((props, ref) => {
|
|
|
13
14
|
const { caseNumber } = props;
|
|
14
15
|
const ability = useContext(AbilityContext);
|
|
15
16
|
const canSeePrivateComments = ability.can(resourceActions.PATCH, resources.CASE_COMMENTS, CaseDiscussionFields.VIEW_PRIVATE_COMMENT);
|
|
16
|
-
const
|
|
17
|
-
|
|
17
|
+
const sanitize = (markdown) => {
|
|
18
|
+
const htmlString = markdownToHTML(markdown, { openLinksInNewTab: true });
|
|
19
|
+
return { __html: DOMPurify.sanitize(htmlString) };
|
|
18
20
|
};
|
|
19
21
|
const onJumpToComment = (externalTrackerId) => () => props.showJumpToComment && props.onJumpToComment && props.onJumpToComment(externalTrackerId);
|
|
20
22
|
// To check and set if a comment is private or not
|
|
@@ -30,7 +32,7 @@ const CaseExternalTrackerUpdate = React.forwardRef((props, ref) => {
|
|
|
30
32
|
React.createElement("time", null, formatDateTime(props.trackerUpdate.createdDate))),
|
|
31
33
|
React.createElement("div", { className: "comment-body" },
|
|
32
34
|
props.trackerUpdate.originatingSystem,
|
|
33
|
-
React.createElement("pre", { className: "push-top-narrow", dangerouslySetInnerHTML:
|
|
35
|
+
React.createElement("pre", { className: "push-top-narrow", dangerouslySetInnerHTML: sanitize(props.trackerUpdate.body) })),
|
|
34
36
|
React.createElement("footer", null,
|
|
35
37
|
isPrivateUpdate() && (React.createElement("div", { className: "comment-note" },
|
|
36
38
|
React.createElement(Trans, null,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CasePrivateNotes.d.ts","sourceRoot":"","sources":["../../../../../../src/components/CaseEditView/Tabs/CasePrivateNotes/CasePrivateNotes.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"CasePrivateNotes.d.ts","sourceRoot":"","sources":["../../../../../../src/components/CaseEditView/Tabs/CasePrivateNotes/CasePrivateNotes.tsx"],"names":[],"mappings":"AAcA,QAAA,MAAM,YAAY;;CAEjB,CAAC;AAEF,aAAK,YAAY,GAAG,OAAO,YAAY,CAAC;AAExC,UAAU,MAAO,SAAQ,YAAY;CAAG;AAExC,iBAAS,gBAAgB,CAAC,KAAK,EAAE,MAAM,eAuGtC;kBAvGQ,gBAAgB;;;;;AA0GzB,eAAe,gBAAgB,CAAC"}
|
|
@@ -17,6 +17,7 @@ import { Trans, useTranslation } from 'react-i18next';
|
|
|
17
17
|
import { useCaseDispatch, useCaseSelector } from '../../../../context/CaseContext';
|
|
18
18
|
import { useCaseUpdateErrorMessage } from '../../../../hooks/useCaseUpdateErrorMessage';
|
|
19
19
|
import { updateCaseDetails } from '../../../../reducers/CaseReducer';
|
|
20
|
+
import { PDFContext } from '../../PDFContainer';
|
|
20
21
|
const defaultProps = {
|
|
21
22
|
caseNumber: undefined,
|
|
22
23
|
};
|
|
@@ -30,6 +31,7 @@ function CasePrivateNotes(props) {
|
|
|
30
31
|
const [notesState, setNotes] = useState(notes);
|
|
31
32
|
const [formIsDirty, setFormIsDirty] = useState(false);
|
|
32
33
|
const [isUpdating, setIsUpdating] = useState(false);
|
|
34
|
+
const { isExportingPDF } = useContext(PDFContext);
|
|
33
35
|
const canEditCase = useCanEditCase();
|
|
34
36
|
useEffect(() => {
|
|
35
37
|
if (notes !== notesState) {
|
|
@@ -77,11 +79,11 @@ function CasePrivateNotes(props) {
|
|
|
77
79
|
canUpdatePrivateNotes && (React.createElement("form", null,
|
|
78
80
|
React.createElement(TextAreaResizable, { className: "form-control", style: { minHeight: '200px' }, id: "rha-case-notes", disabled: isUpdating, maxLength: 255, name: "notes", value: notesState, onChange: onChange }),
|
|
79
81
|
React.createElement("div", { className: "pf-u-mt-md" },
|
|
80
|
-
React.createElement("button", { className:
|
|
82
|
+
React.createElement("button", { className: `btn btn-app btn-primary ${isExportingPDF ? 'hide-in-pdf' : ''}`, onClick: updateCase, disabled: isPrivateNotesEmpty || isUpdating || !formIsDirty },
|
|
81
83
|
React.createElement(Trans, null, "Update"),
|
|
82
84
|
" ",
|
|
83
85
|
React.createElement(LoadingIndicator, { show: isUpdating, isInline: true })),
|
|
84
|
-
React.createElement("button", { className:
|
|
86
|
+
React.createElement("button", { className: `btn btn-app btn-link ${isExportingPDF ? 'hide-in-pdf' : ''}`, onClick: discardNotes, disabled: isUpdating || !formIsDirty },
|
|
85
87
|
React.createElement(Trans, null, "Discard Changes"))))),
|
|
86
88
|
React.createElement("p", { className: "pf-u-mt-xl" },
|
|
87
89
|
React.createElement(Trans, null, "Please note, contents of this field are not visible to Red Hat Support professionals."))));
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import '../../css/app.css';
|
|
2
2
|
import '../../css/case.css';
|
|
3
|
+
import { IPfeCollapse } from '@rh-support/types/pfe/pfe-collapse';
|
|
3
4
|
import { RouteComponentProps } from 'react-router-dom';
|
|
4
5
|
declare global {
|
|
5
6
|
interface Window {
|
|
@@ -14,6 +15,10 @@ declare global {
|
|
|
14
15
|
hydrajs: string;
|
|
15
16
|
};
|
|
16
17
|
}
|
|
18
|
+
namespace JSX {
|
|
19
|
+
interface IntrinsicElements extends IPfeCollapse {
|
|
20
|
+
}
|
|
21
|
+
}
|
|
17
22
|
interface Document {
|
|
18
23
|
documentMode: any;
|
|
19
24
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/CaseEditView/index.tsx"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,CAAC;AAC3B,OAAO,oBAAoB,CAAC;AAI5B,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AASvD,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,MAAM;QACZ,SAAS,EAAE,GAAG,CAAC;QACf,oBAAoB,EAAE,GAAG,CAAC;QAC1B,iBAAiB,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,MAAM,OAAA,KAAK,GAAG,KAAK,GAAG,CAAC;QAC9E,MAAM,EAAE,GAAG,CAAC;QACZ,KAAK,EAAE,GAAG,CAAC;QACX,eAAe,EAAE,GAAG,CAAC;QACrB,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,UAAU,MAAM;CAAG;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/CaseEditView/index.tsx"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,CAAC;AAC3B,OAAO,oBAAoB,CAAC;AAI5B,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAGlE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AASvD,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,MAAM;QACZ,SAAS,EAAE,GAAG,CAAC;QACf,oBAAoB,EAAE,GAAG,CAAC;QAC1B,iBAAiB,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,MAAM,OAAA,KAAK,GAAG,KAAK,GAAG,CAAC;QAC9E,MAAM,EAAE,GAAG,CAAC;QACZ,KAAK,EAAE,GAAG,CAAC;QACX,eAAe,EAAE,GAAG,CAAC;QACrB,aAAa,EAAE;YACX,cAAc,EAAE,MAAM,CAAC;YACvB,OAAO,EAAE,MAAM,CAAC;SACnB,CAAC;KACL;IAED,UAAU,GAAG,CAAC;QACV,UAAU,iBAAkB,SAAQ,YAAY;SAAG;KACtD;IAED,UAAU,QAAQ;QACd,YAAY,EAAE,GAAG,CAAC;KACrB;CACJ;AAED,UAAU,MAAM;CAAG;AASnB,wBAAgB,OAAO,CAAC,UAAU,EAAE,mBAAmB,CAAC,MAAM,CAAC,eAkB9D"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import '../../css/app.css';
|
|
2
2
|
import '../../css/case.css';
|
|
3
3
|
import { ConfirmationServiceProvider, ErrorBoundary } from '@rh-support/components';
|
|
4
|
+
import { CustomElements, requireCustomElement } from '@rh-support/utils';
|
|
4
5
|
import React from 'react';
|
|
5
6
|
import { CaseContextProvider } from '../../context/CaseContext';
|
|
6
7
|
import { CaseDetailsPageContextProvider } from '../../context/CaseDetailsPageContext';
|
|
@@ -8,6 +9,12 @@ import { CaseDiscussionTabContextProvider } from '../../context/CaseDiscussionTa
|
|
|
8
9
|
import { RecommendationContextProvider } from '../../context/RecommendationContext';
|
|
9
10
|
import Case from './Case';
|
|
10
11
|
import { PDFContainer } from './PDFContainer';
|
|
12
|
+
requireCustomElement([
|
|
13
|
+
{
|
|
14
|
+
element: CustomElements.pfeCollapse,
|
|
15
|
+
requireCb: () => require('@patternfly/pfe-collapse'),
|
|
16
|
+
},
|
|
17
|
+
]);
|
|
11
18
|
export function CaseApp(routeProps) {
|
|
12
19
|
return (React.createElement(ErrorBoundary, { isPageLevelError: true },
|
|
13
20
|
React.createElement(CaseContextProvider, null,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContactPhoneNumber.d.ts","sourceRoot":"","sources":["../../../../src/components/CaseInformation/ContactPhoneNumber.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ContactPhoneNumber.d.ts","sourceRoot":"","sources":["../../../../src/components/CaseInformation/ContactPhoneNumber.tsx"],"names":[],"mappings":"AAiBA,wBAAgB,kBAAkB,gBAqJjC"}
|
|
@@ -5,12 +5,11 @@ import { ability, CaseListFields, resourceActions, resources } from '@rh-support
|
|
|
5
5
|
import isEmpty from 'lodash/isEmpty';
|
|
6
6
|
import isEqual from 'lodash/isEqual';
|
|
7
7
|
import React, { useContext, useEffect, useState } from 'react';
|
|
8
|
-
import { Trans
|
|
9
|
-
import { PHONE_INSTRUCTION, PHONE_IS_NOT_VALID,
|
|
8
|
+
import { Trans } from 'react-i18next';
|
|
9
|
+
import { PHONE_INSTRUCTION, PHONE_IS_NOT_VALID, PHONE_NO_CHAR_ERROR } from '../../constants/caseDetailsConstants';
|
|
10
10
|
import { useCaseDispatch, useCaseSelector } from '../../context/CaseContext';
|
|
11
11
|
import { RouteContext } from '../../context/RouteContext';
|
|
12
|
-
import {
|
|
13
|
-
import { setCaseDetails } from '../../reducers/CaseReducer';
|
|
12
|
+
import { setCaseDetails, setCaseState } from '../../reducers/CaseReducer';
|
|
14
13
|
import { trimAndReplacePlus } from '../shared/utils';
|
|
15
14
|
import { ContactPhoneNumberPopOver } from './ContactPhoneNumberPopOver';
|
|
16
15
|
export function ContactPhoneNumber() {
|
|
@@ -24,10 +23,9 @@ export function ContactPhoneNumber() {
|
|
|
24
23
|
const { globalMetadataState: { loggedInUser }, } = useContext(GlobalMetadataStateContext);
|
|
25
24
|
const [invalid, setInvalid] = useState(false);
|
|
26
25
|
const [localFullPhone, setLocalFullPhone] = useState(phoneCountryCode + ' ' + phoneAreaCodePrefixLineNumber);
|
|
26
|
+
const [phoneLength, setPhoneLength] = useState(localFullPhone === null || localFullPhone === void 0 ? void 0 : localFullPhone.length);
|
|
27
27
|
const canChangeAccountInfo = ability.can(resourceActions.PATCH, resources.CASE_CREATE, CaseListFields.ACCOUNT_AND_OWNER);
|
|
28
|
-
const getPhone = () => phoneCountryCode + ' ' + phoneAreaCodePrefixLineNumber;
|
|
29
28
|
const caseDispatch = useCaseDispatch();
|
|
30
|
-
const { t } = useTranslation();
|
|
31
29
|
const onPhoneChange = (fullPhone) => {
|
|
32
30
|
setLocalFullPhone(fullPhone);
|
|
33
31
|
if (isEmpty(fullPhone)) {
|
|
@@ -41,14 +39,11 @@ export function ContactPhoneNumber() {
|
|
|
41
39
|
const onCountryCodeChange = (phoneCountryCode) => {
|
|
42
40
|
setCaseDetails(caseDispatch, { phoneCountryCode });
|
|
43
41
|
};
|
|
44
|
-
const maxLengthErrorMessage = t('Phone number cannot be more than {{limit}} digits.', {
|
|
45
|
-
limit: PHONE_LIMIT,
|
|
46
|
-
});
|
|
47
42
|
const isPhoneNumberInvalid = isEmpty(trimAndReplacePlus(phoneCountryCode)) && !isEmpty(phoneAreaCodePrefixLineNumber.trim());
|
|
48
43
|
// To check if country code is given but phone number empty
|
|
49
44
|
const isPhoneNumberEmpty = !isEmpty(trimAndReplacePlus(phoneCountryCode)) &&
|
|
50
45
|
isEmpty(phoneAreaCodePrefixLineNumber === null || phoneAreaCodePrefixLineNumber === void 0 ? void 0 : phoneAreaCodePrefixLineNumber.replace(phoneCountryCode, ''));
|
|
51
|
-
const isPhoneNumberValid =
|
|
46
|
+
const isPhoneNumberValid = isNextBtnClickedToShowValidationError && (localFullPhone === null || localFullPhone === void 0 ? void 0 : localFullPhone.length) < phoneLength
|
|
52
47
|
? ValidatedOptions.error
|
|
53
48
|
: severity === "1 (Urgent)" /* SEV_1 */ && isEmpty(suppliedPhoneNumberVerified)
|
|
54
49
|
? ValidatedOptions.warning
|
|
@@ -88,23 +83,22 @@ export function ContactPhoneNumber() {
|
|
|
88
83
|
else if (!isEmpty(localFullPhone) && !localFullPhone.startsWith('+')) {
|
|
89
84
|
setLocalFullPhone('+' + localFullPhone.replace(' ', ''));
|
|
90
85
|
}
|
|
86
|
+
setCaseState(caseDispatch, { isPhoneLengthInvalid: (localFullPhone === null || localFullPhone === void 0 ? void 0 : localFullPhone.length) < phoneLength });
|
|
91
87
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
92
88
|
}, [localFullPhone]);
|
|
93
89
|
return (React.createElement("div", { className: "form-group", style: { minWidth: '200px' } },
|
|
94
90
|
React.createElement("label", null,
|
|
95
91
|
React.createElement(Trans, null, "Case owner's phone number"),
|
|
96
92
|
ContactPhoneNumberPopOver()),
|
|
97
|
-
React.createElement(PhoneInput, { phoneValue: localFullPhone, onPhoneValueChange: onPhoneChange, onCountryCodeChange: onCountryCodeChange, validations: isPhoneNumberValid, invalid: invalid, setInvalid: setInvalid }),
|
|
93
|
+
React.createElement(PhoneInput, { phoneValue: localFullPhone, onPhoneValueChange: onPhoneChange, onCountryCodeChange: onCountryCodeChange, validations: isPhoneNumberValid, invalid: invalid, setInvalid: setInvalid, phoneLength: phoneLength, setPhoneLength: setPhoneLength }),
|
|
98
94
|
!invalid &&
|
|
99
|
-
getPhone().length < PHONE_LIMIT &&
|
|
100
95
|
!(isPhoneNumberEmpty && isNextBtnClickedToShowValidationError) &&
|
|
101
|
-
!(isNextBtnClickedToShowValidationError &&
|
|
96
|
+
!(isNextBtnClickedToShowValidationError &&
|
|
97
|
+
(isPhoneNumberInvalid || (localFullPhone === null || localFullPhone === void 0 ? void 0 : localFullPhone.length) < phoneLength)) && (React.createElement("p", { className: "form-instructions" },
|
|
102
98
|
React.createElement(Trans, null, PHONE_INSTRUCTION))),
|
|
103
99
|
invalid && (React.createElement("p", { className: "form-instructions form-invalid" },
|
|
104
100
|
React.createElement(Trans, null, PHONE_NO_CHAR_ERROR))),
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
React.createElement(Trans, null, PHONE_LINE_CANNOT_BE_EMPTY))),
|
|
108
|
-
isNextBtnClickedToShowValidationError && isPhoneNumberInvalid && (React.createElement("p", { className: "form-instructions form-invalid" },
|
|
101
|
+
isNextBtnClickedToShowValidationError &&
|
|
102
|
+
(isPhoneNumberInvalid || (localFullPhone === null || localFullPhone === void 0 ? void 0 : localFullPhone.length) < phoneLength) && (React.createElement("p", { className: "form-instructions form-invalid" },
|
|
109
103
|
React.createElement(Trans, null, PHONE_IS_NOT_VALID)))));
|
|
110
104
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpenshiftDropdownV4.d.ts","sourceRoot":"","sources":["../../../../src/components/CaseManagement/OpenshiftDropdownV4.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAG5E,OAAO,EAAE,gBAAgB,EAAuB,MAAM,0BAA0B,CAAC;AAWjF,UAAU,MAAO,SAAQ,gBAAgB;IACrC,uBAAuB,EAAE,MAAM,CAAC;IAChC,sBAAsB,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,oBAAoB,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACzF,kBAAkB,EAAE,OAAO,CAAC;IAC5B,iCAAiC,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;IAChD,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,IAAI,EAAE,OAAO,CAAC;IACd,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,4BAA4B,CAAC,EAAE,MAAM,CAAC;IACtC,oBAAoB,CAAC,EAAE,MAAM,CAAC;CACjC;AAuBD,iBAAS,mBAAmB,CAAC,KAAK,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"OpenshiftDropdownV4.d.ts","sourceRoot":"","sources":["../../../../src/components/CaseManagement/OpenshiftDropdownV4.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAG5E,OAAO,EAAE,gBAAgB,EAAuB,MAAM,0BAA0B,CAAC;AAWjF,UAAU,MAAO,SAAQ,gBAAgB;IACrC,uBAAuB,EAAE,MAAM,CAAC;IAChC,sBAAsB,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,oBAAoB,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACzF,kBAAkB,EAAE,OAAO,CAAC;IAC5B,iCAAiC,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;IAChD,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,IAAI,EAAE,OAAO,CAAC;IACd,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,4BAA4B,CAAC,EAAE,MAAM,CAAC;IACtC,oBAAoB,CAAC,EAAE,MAAM,CAAC;CACjC;AAuBD,iBAAS,mBAAmB,CAAC,KAAK,EAAE,MAAM,eAqXzC;kBArXQ,mBAAmB;;;AAwX5B,OAAO,EAAE,mBAAmB,EAAE,CAAC"}
|
|
@@ -100,7 +100,7 @@ function OpenshiftDropdownV4(props) {
|
|
|
100
100
|
React.createElement(SelectOption, { key: 'show-hide-archived-clusters', inputId: "check-box" },
|
|
101
101
|
React.createElement(Checkbox, { label: t('Show archived clusters'), key: "show-archived-clusters", "aria-label": t('Show archived clusters'), id: "show-archived-clusters", "data-tracking-id": "show-hide-archived-clusters", isChecked: showArchivedClusters, className: "archived-clusters-checkbox" })),
|
|
102
102
|
React.createElement(Divider, { component: "div", key: 'cluster-id-options-divider-e' }),
|
|
103
|
-
React.createElement(SelectOption, { key: 'dont-have-id', value: createState('dont-have-id', t("I don't have my Cluster ID")) }),
|
|
103
|
+
React.createElement(SelectOption, { key: 'dont-have-id', value: createState('dont-have-id', t("I don't have my Cluster ID")), "data-tracking-id": "dont-have-cluster-id" }),
|
|
104
104
|
...(props.isV3
|
|
105
105
|
? [
|
|
106
106
|
React.createElement(SelectOption, { key: 'v3-cluster', value: createState('v3-cluster', t('The case is for a v3 cluster')) }),
|
|
@@ -270,7 +270,7 @@ function CaseContactSelector(props) {
|
|
|
270
270
|
" is not listed under your account. You can always",
|
|
271
271
|
' ',
|
|
272
272
|
React.createElement(Button, { variant: "link", isInline: true, component: "span", onClick: onAddEmailToAccountBtnClick }, "add them at the account level"))))),
|
|
273
|
-
caseNumber && showAddWatchButton() && (React.createElement(Button, { variant: "secondary", onClick: addCurrentUser, type: "button", "data-tracking-id": "case-add-me-watcher" },
|
|
273
|
+
caseNumber && showAddWatchButton() && !isExportingPDF && (React.createElement(Button, { variant: "secondary", onClick: addCurrentUser, type: "button", "data-tracking-id": "case-add-me-watcher" },
|
|
274
274
|
React.createElement(Trans, null, "Add me as a watcher"))),
|
|
275
275
|
caseNumber && showRemoveWatchButton() && (React.createElement("div", { ref: toolTipRef, className: "remove-me-as-watcher pf-u-display-inline-block" }, isCurrentUserCaseContact ? (React.createElement(React.Fragment, null,
|
|
276
276
|
React.createElement(Tooltip, { trigger: 'mouseenter focus', reference: toolTipRef, position: TooltipPosition.top, content: React.createElement(Trans, null, "You are case contact and therefore you cannot be removed as watcher") }),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EditDescription.d.ts","sourceRoot":"","sources":["../../../../src/components/EditDescription/EditDescription.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"EditDescription.d.ts","sourceRoot":"","sources":["../../../../src/components/EditDescription/EditDescription.tsx"],"names":[],"mappings":"AAeA,UAAU,MAAM;IACZ,cAAc,EAAE,OAAO,CAAC;CAC3B;AAUD,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,KAAK,EAAE,MAAM,eAuEpD"}
|
|
@@ -10,6 +10,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
10
10
|
import { kase } from '@cee-eng/hydrajs';
|
|
11
11
|
import { encodeAngularBrackets, linkifyBZIDs, linkifyWithCaseIDs } from '@cee-eng/ui-toolkit';
|
|
12
12
|
import { InlineEdit, LoadingIndicator, TextAreaAutosize, ToastNotification } from '@rh-support/components';
|
|
13
|
+
import DOMPurify from 'dompurify';
|
|
13
14
|
import isEqual from 'lodash/isEqual';
|
|
14
15
|
import React, { useContext, useState } from 'react';
|
|
15
16
|
import { Trans, useTranslation } from 'react-i18next';
|
|
@@ -22,7 +23,7 @@ const linkifiedDescription = (text) => {
|
|
|
22
23
|
text = encodeAngularBrackets(text);
|
|
23
24
|
text = linkifyWithCaseIDs(text);
|
|
24
25
|
text = linkifyBZIDs(text);
|
|
25
|
-
return text;
|
|
26
|
+
return DOMPurify.sanitize(text);
|
|
26
27
|
};
|
|
27
28
|
export default function EditDescription(props) {
|
|
28
29
|
const { t } = useTranslation();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EARule.d.ts","sourceRoot":"","sources":["../../../../../src/components/Recommendations/EARules/EARule.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"EARule.d.ts","sourceRoot":"","sources":["../../../../../src/components/Recommendations/EARules/EARule.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAM1C,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAE/D,UAAU,cAAc;IACpB,IAAI,EAAE,aAAa,CAAC;IACpB,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,EAAE,UAAU,CAAC,KAAK,IAAI,CAAC;CAClG;AAGD,eAAO,MAAM,aAAa,+BAGxB,CAAC;AAEH,wBAAgB,gBAAgB,mBAM/B;AACD,wBAAgB,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE;;;CAAA,eAmCxC;AAED,iBAAS,WAAW,gBAGnB;AAED,iBAAS,iBAAiB,gBA0BzB;AAED,iBAAS,aAAa,CAAC,EAAE,SAA6B,EAAE,SAAc,EAAE,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,eA2BnH;AAED,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,aAAa,EAAE,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
2
2
|
import { pcm } from '@cee-eng/hydrajs';
|
|
3
|
+
import DOMPurify from 'dompurify';
|
|
3
4
|
import isEqual from 'lodash/isEqual';
|
|
4
5
|
import React, { useContext } from 'react';
|
|
5
6
|
import { Trans } from 'react-i18next';
|
|
@@ -49,7 +50,9 @@ function EARuleDescription() {
|
|
|
49
50
|
onCtaClick(target.href.split('?')[0])(ev);
|
|
50
51
|
}
|
|
51
52
|
};
|
|
52
|
-
return (React.createElement("div", { className: "ea-rule", onClick: onDescriptionClick, dangerouslySetInnerHTML:
|
|
53
|
+
return (React.createElement("div", { className: "ea-rule", onClick: onDescriptionClick, dangerouslySetInnerHTML: {
|
|
54
|
+
__html: DOMPurify.sanitize(parseMarkdownWithTracking(rule.description, SessionResourceSource.EDMOUND_ABOTT, 'ts-known-vuln', 'se-recommended-asa-rule').__html),
|
|
55
|
+
} }));
|
|
53
56
|
}
|
|
54
57
|
function EARuleArticle({ linkTitle = 'Related Article', className = '' }) {
|
|
55
58
|
const { rule, onCtaClick } = useEARuleContext();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InsightsRuleInfo.d.ts","sourceRoot":"","sources":["../../../../src/components/Recommendations/InsightsRuleInfo.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"InsightsRuleInfo.d.ts","sourceRoot":"","sources":["../../../../src/components/Recommendations/InsightsRuleInfo.tsx"],"names":[],"mappings":"AAeA,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAI7D,UAAU,MAAM;IACZ,GAAG,EAAE,wBAAwB,CAAC;IAC9B,UAAU,EAAE,OAAO,CAAC;IACpB,aAAa,EAAE,MAAM,EAAE,CAAC;CAC3B;AAOD,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,GAAG,CAAC;QACV,UAAU,iBAAiB;YACvB,SAAS,EAAE,GAAG,CAAC;SAClB;KACJ;CACJ;AAED,wBAAgB,gBAAgB,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,aAAa,EAAE,EAAE,MAAM,eAmK1E"}
|
|
@@ -3,6 +3,7 @@ import { Accordion, AccordionContent, AccordionItem, AccordionToggle, Label, Lab
|
|
|
3
3
|
import BullseyeIcon from '@patternfly/react-icons/dist/js/icons/bullseye-icon';
|
|
4
4
|
import InfoCircleIcon from '@patternfly/react-icons/dist/js/icons/info-circle-icon';
|
|
5
5
|
import { getRuleReasonHtml } from '@rh-support/utils';
|
|
6
|
+
import DOMPurify from 'dompurify';
|
|
6
7
|
import isEmpty from 'lodash/isEmpty';
|
|
7
8
|
import React, { useContext, useEffect, useRef, useState } from 'react';
|
|
8
9
|
import { Trans } from 'react-i18next';
|
|
@@ -41,7 +42,8 @@ export function InsightsRuleInfo({ doc, showNewTag, duplicateKeys }) {
|
|
|
41
42
|
createOrUpdateSessionResources(sessionRestoreDispatch, activeSessionId, sessionResourceTracking, SessionResourceSource.INSIGHTS, [getSessResFromRules(link, SessionResourceVisibility.VISITED, ruleData.rule_id)]);
|
|
42
43
|
};
|
|
43
44
|
const parseMoreInfo = (moreInfo, reportDetails) => {
|
|
44
|
-
|
|
45
|
+
const result = parseDotMarkdownWithTracking(moreInfo, reportDetails, SessionResourceSource.INSIGHTS, 'ts-result-insights', 'se-recommended-insights-rule');
|
|
46
|
+
return { __html: DOMPurify.sanitize(result.__html) };
|
|
45
47
|
};
|
|
46
48
|
const onAdditionalInfoElemClick = (ev) => {
|
|
47
49
|
const target = ev.target;
|
|
@@ -69,8 +71,8 @@ export function InsightsRuleInfo({ doc, showNewTag, duplicateKeys }) {
|
|
|
69
71
|
React.createElement(Trans, null, "Detected issues")),
|
|
70
72
|
React.createElement(AccordionContent, { isHidden: !isIssueExpanded },
|
|
71
73
|
React.createElement("p", { dangerouslySetInnerHTML: {
|
|
72
|
-
__html: getRuleReasonHtml(ruleData === null || ruleData === void 0 ? void 0 : ruleData.reason, (_e = insightsReport === null || insightsReport === void 0 ? void 0 : insightsReport.current) === null || _e === void 0 ? void 0 : _e.details) ||
|
|
73
|
-
'N/A',
|
|
74
|
+
__html: DOMPurify.sanitize(getRuleReasonHtml(ruleData === null || ruleData === void 0 ? void 0 : ruleData.reason, (_e = insightsReport === null || insightsReport === void 0 ? void 0 : insightsReport.current) === null || _e === void 0 ? void 0 : _e.details) ||
|
|
75
|
+
'N/A'),
|
|
74
76
|
} }))),
|
|
75
77
|
((_f = ruleData === null || ruleData === void 0 ? void 0 : ruleData.more_info) !== null && _f !== void 0 ? _f : false) && (React.createElement(AccordionItem, null,
|
|
76
78
|
React.createElement(AccordionToggle, { isExpanded: isAdditionalExpanded, onClick: () => setIsAdditionalExpanded(!isAdditionalExpanded), id: `${doc.id}-additional-info` },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RulesModal.d.ts","sourceRoot":"","sources":["../../../../src/components/Recommendations/RulesModal.tsx"],"names":[],"mappings":"AAmBA,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAI5D,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAG7D,UAAU,MAAM;IACZ,cAAc,EAAE,wBAAwB,EAAE,CAAC;IAC3C,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,aAAa,EAAE,MAAM,GAAG,CAAC;IACzB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"RulesModal.d.ts","sourceRoot":"","sources":["../../../../src/components/Recommendations/RulesModal.tsx"],"names":[],"mappings":"AAmBA,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAI5D,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAG7D,UAAU,MAAM;IACZ,cAAc,EAAE,wBAAwB,EAAE,CAAC;IAC3C,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,aAAa,EAAE,MAAM,GAAG,CAAC;IACzB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,eA8M/C"}
|
|
@@ -95,7 +95,7 @@ export function InsightResultModal(props) {
|
|
|
95
95
|
}, [selectedLocalFiles, props.EARule]);
|
|
96
96
|
if (props.isRenderedMain) {
|
|
97
97
|
setCaseState(caseDispatch, { isFileRecommendationsTriggered: true });
|
|
98
|
-
return (React.createElement(Card, { id: "expandable-card", className: "card-support top-recommendations", isExpanded: isExpanded, isCompact: true },
|
|
98
|
+
return (React.createElement(Card, { id: "expandable-card", className: "card-support top-recommendations pf-u-mt-md", isExpanded: isExpanded, isCompact: true },
|
|
99
99
|
React.createElement(CardHeader, { onExpand: onExpand, toggleButtonProps: {
|
|
100
100
|
id: 'toggle-button1',
|
|
101
101
|
'aria-label': t('File recommendations'),
|
|
@@ -105,7 +105,7 @@ export function InsightResultModal(props) {
|
|
|
105
105
|
React.createElement(CardTitle, { id: "expandable-card-title", className: "card-title" },
|
|
106
106
|
React.createElement(Trans, null, "File recommendations"))),
|
|
107
107
|
React.createElement(CardExpandableContent, null,
|
|
108
|
-
React.createElement(CardBody, { className: "file-recommendation" },
|
|
108
|
+
React.createElement(CardBody, { className: "file-recommendation", "data-tracking-id": "file-recommendation-tracking-id" },
|
|
109
109
|
React.createElement(Accordion, { headingLevel: "h5", asDefinitionList: false, isBordered: true },
|
|
110
110
|
props.insightResults.map((doc) => (React.createElement(InsightsRuleInfo, { duplicateKeys: duplicateKeys, showNewTag: canShowNewTag, key: doc.id + doc.attachmentId, doc: doc }))),
|
|
111
111
|
props.EARule.length > 0 &&
|
|
@@ -24,7 +24,7 @@ export function SessionItem(props) {
|
|
|
24
24
|
const sessionRestoreDispatch = useContext(SessionRestoreDispatchContext);
|
|
25
25
|
const { routeState: { isCaseCreate }, } = useContext(RouteContext);
|
|
26
26
|
const [isRestoring, setIsRestoring] = useState(false);
|
|
27
|
-
const [
|
|
27
|
+
const [isResolving, setIsResolving] = useState(false);
|
|
28
28
|
const [isDeactivating, setIsDeactivating] = useState(false);
|
|
29
29
|
const session = (_b = (_a = props.sessionItem) === null || _a === void 0 ? void 0 : _a.session) !== null && _b !== void 0 ? _b : {};
|
|
30
30
|
const sessionDetails = (_d = (_c = props.sessionItem) === null || _c === void 0 ? void 0 : _c.sessionDetails) !== null && _d !== void 0 ? _d : {};
|
|
@@ -43,12 +43,12 @@ export function SessionItem(props) {
|
|
|
43
43
|
});
|
|
44
44
|
const onResolve = (event) => __awaiter(this, void 0, void 0, function* () {
|
|
45
45
|
try {
|
|
46
|
-
|
|
46
|
+
setIsResolving(true);
|
|
47
47
|
const userAgent = getUserAgentForCaseMode(isCaseCreate);
|
|
48
48
|
yield updateSession(sessionRestoreDispatch, session.id, {}, { isActive: false, isResolved: true, userAgent });
|
|
49
49
|
}
|
|
50
50
|
finally {
|
|
51
|
-
|
|
51
|
+
setIsResolving(false);
|
|
52
52
|
setIsThumbsDownClicked(false);
|
|
53
53
|
}
|
|
54
54
|
});
|
|
@@ -80,7 +80,7 @@ export function SessionItem(props) {
|
|
|
80
80
|
askIfResolved && (React.createElement(React.Fragment, null,
|
|
81
81
|
React.createElement("label", null,
|
|
82
82
|
React.createElement(Trans, null, "Did you find a solution?")),
|
|
83
|
-
React.createElement("button", { className: "btn btn-link btn-app", onClick: onResolve, disabled:
|
|
83
|
+
React.createElement("button", { className: "btn btn-link btn-app", onClick: onResolve, disabled: isResolving, "data-tracking-id": "session-resolved-yes" }, isResolving ? React.createElement(LoadingIndicator, { isInline: true }) : React.createElement(OutlinedThumbsUpIcon, null)),
|
|
84
84
|
React.createElement("button", { className: "btn btn-link btn-app", onClick: onUnResolve, "data-tracking-id": "session-resolved-no" },
|
|
85
85
|
React.createElement(OutlinedThumbsDownIcon, null)))),
|
|
86
86
|
askToRestore && (React.createElement(React.Fragment, null,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SessionRestore.d.ts","sourceRoot":"","sources":["../../../../src/components/SessionRestore/SessionRestore.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SessionRestore.d.ts","sourceRoot":"","sources":["../../../../src/components/SessionRestore/SessionRestore.tsx"],"names":[],"mappings":"AAWA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAQvD,OAAO,EAGH,eAAe,EAElB,MAAM,iCAAiC,CAAC;AAgBzC,UAAU,MAAM;IACZ,UAAU,EAAE,mBAAmB,CAAC,eAAe,CAAC,CAAC;CACpD;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,eA+T3C"}
|
|
@@ -7,6 +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
|
+
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
10
11
|
import { pcm } from '@cee-eng/hydrajs';
|
|
11
12
|
import { useDebounce, useDeepCompareDebounce, usePrevious } from '@rh-support/components';
|
|
12
13
|
import { GlobalMetadataStateContext } from '@rh-support/react-context';
|
|
@@ -130,10 +131,9 @@ export function SessionRestore(props) {
|
|
|
130
131
|
? existingUserAgent
|
|
131
132
|
: userAgent;
|
|
132
133
|
let session = { userAgent, originatingSystem, caseCreationError: caseCreation500ErrorStatus };
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
updateSession(sessionRestoreDispatch, sessionRestore.activeSessionId, getSessionDetailsFromCase(caseDetails, selectedNotificationContacts), session);
|
|
134
|
+
// PCM-12337 - Moved the session patch call to submit case function in CaseReducer.ts
|
|
135
|
+
isEmpty(caseDetails.caseNumber) &&
|
|
136
|
+
updateSession(sessionRestoreDispatch, sessionRestore.activeSessionId, getSessionDetailsFromCase(caseDetails, selectedNotificationContacts), session);
|
|
137
137
|
}, [
|
|
138
138
|
caseDetails,
|
|
139
139
|
currentUrlSeSessionId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TopContent.d.ts","sourceRoot":"","sources":["../../../../src/components/Suggestions/TopContent.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"TopContent.d.ts","sourceRoot":"","sources":["../../../../src/components/Suggestions/TopContent.tsx"],"names":[],"mappings":"AAAA,OAAO,2BAA2B,CAAC;AAGnC,OAAO,EAAE,WAAW,EAAE,MAAM,2DAA2D,CAAC;AAQxF,UAAU,MAAM;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,CAAC;IAC7C,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,KAAK,EAAE,MAAM,eA6C/C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Rule.d.ts","sourceRoot":"","sources":["../../../../src/components/shared/Rule.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Rule.d.ts","sourceRoot":"","sources":["../../../../src/components/shared/Rule.tsx"],"names":[],"mappings":"AASA,UAAU,MAAM;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IACnC,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,CAAC,OAAO,UAAU,IAAI,CAAC,KAAK,EAAE,MAAM,eA2CzC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { pcm } from '@cee-eng/hydrajs';
|
|
2
2
|
import TimesIcon from '@patternfly/react-icons/dist/js/icons/times-icon';
|
|
3
|
+
import DOMPurify from 'dompurify';
|
|
3
4
|
import isEmpty from 'lodash/isEmpty';
|
|
4
5
|
import React from 'react';
|
|
5
6
|
import { useParseRuleMarkdown } from '../../hooks/useParseRuleMarkdown';
|
|
@@ -16,7 +17,7 @@ export default function Rule(props) {
|
|
|
16
17
|
return (React.createElement("div", { className: `pf-c-alert ea-rule-alert${props.isInline ? ' pf-m-inline' : ''}`, role: "alert" },
|
|
17
18
|
React.createElement("span", { className: "pf-c-alert__icon icon-info-circle", "aria-hidden": true }),
|
|
18
19
|
React.createElement("h3", { className: "pf-c-alert__title" }, !isEmpty(props.link) ? (React.createElement("a", { href: getTrackingULRWithQueryParams(props.link, SessionResourceSource.EDMOUND_ABOTT), target: "_blank", rel: "noopener noreferrer", className: "se-recommended ts-known-vuln", "data-tracking-id": "se-recommended-asa-rule", onClick: onCtaClick }, props.title)) : (props.title)),
|
|
19
|
-
React.createElement("div", { className: "pf-c-alert__description", dangerouslySetInnerHTML: { __html: parseMarkdown(props.description) } }),
|
|
20
|
+
React.createElement("div", { className: "pf-c-alert__description", dangerouslySetInnerHTML: { __html: DOMPurify.sanitize(parseMarkdown(props.description)) } }),
|
|
20
21
|
props.onHide && (React.createElement("div", { className: "pf-c-alert__action" },
|
|
21
22
|
React.createElement("button", { className: "pf-c-button pf-m-plain", type: "button", "aria-label": "Close", onClick: hide },
|
|
22
23
|
React.createElement(TimesIcon, { "aria-hidden": "true" }))))));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileLister.d.ts","sourceRoot":"","sources":["../../../../../src/components/shared/fileUpload/FileLister.tsx"],"names":[],"mappings":"AA+BA,OAAO,EAAiB,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAGxE,eAAO,MAAM,qBAAqB,2FAAyC,CAAC;AAiB5E,UAAU,MAAM;IACZ,kBAAkB,EAAE,UAAU,EAAE,CAAC;IACjC,UAAU,EAAE,CAAC,eAAe,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC;IACtG,YAAY,EAAE,CAAC,aAAa,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,UAAU,KAAK,IAAI,CAAC;IACtE,OAAO,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,eAAe,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;IACjD,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,KAAK,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"FileLister.d.ts","sourceRoot":"","sources":["../../../../../src/components/shared/fileUpload/FileLister.tsx"],"names":[],"mappings":"AA+BA,OAAO,EAAiB,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAGxE,eAAO,MAAM,qBAAqB,2FAAyC,CAAC;AAiB5E,UAAU,MAAM;IACZ,kBAAkB,EAAE,UAAU,EAAE,CAAC;IACjC,UAAU,EAAE,CAAC,eAAe,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC;IACtG,YAAY,EAAE,CAAC,aAAa,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,UAAU,KAAK,IAAI,CAAC;IACtE,OAAO,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,eAAe,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;IACjD,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,KAAK,EAAE,MAAM,eAwS/C"}
|
|
@@ -7,7 +7,7 @@ import capitalize from 'lodash/capitalize';
|
|
|
7
7
|
import isEmpty from 'lodash/isEmpty';
|
|
8
8
|
import isEqual from 'lodash/isEqual';
|
|
9
9
|
import map from 'lodash/map';
|
|
10
|
-
import React
|
|
10
|
+
import React from 'react';
|
|
11
11
|
import { Trans, useTranslation } from 'react-i18next';
|
|
12
12
|
import { useCaseSelector } from '../../../context/CaseContext';
|
|
13
13
|
import { ATTACHMENT_DESCRIPTION_LENGTH_LIMIT } from '../../../reducers/CaseConstNTypes';
|
|
@@ -40,10 +40,6 @@ export default function FileLister(props) {
|
|
|
40
40
|
const { caseType } = useCaseSelector((state) => ({
|
|
41
41
|
caseType: state.caseDetails.caseType,
|
|
42
42
|
}), isEqual);
|
|
43
|
-
const [isIdea, setIsIdea] = useState(false);
|
|
44
|
-
useEffect(() => {
|
|
45
|
-
setIsIdea(caseType === PreviousCaseTypes.FEATURE_ENHANCEMENT);
|
|
46
|
-
}, [caseType]);
|
|
47
43
|
// To retry file upload
|
|
48
44
|
const onRetry = (index) => () => {
|
|
49
45
|
props.onRetry && props.onRetry(index);
|
|
@@ -134,7 +130,8 @@ export default function FileLister(props) {
|
|
|
134
130
|
React.createElement("input", { id: `file-${index + 1}-description`, "data-tracking-id": `case-${props.isSessionId ? 'create' : 'details'}-file-${index + 1}-description`, className: "file-description form-control pf-u-my-sm", type: "text", value: localFile.description, onChange: onDescriptionChange(localFile, index), maxLength: 255, placeholder: t(`${shouldHideDescription(localFile, props.isSessionId)
|
|
135
131
|
? ''
|
|
136
132
|
: t('Enter a description')}`), hidden: shouldHideDescription(localFile, props.isSessionId) }),
|
|
137
|
-
isUploadedAndAnalysisSkipped(localFile) &&
|
|
133
|
+
isUploadedAndAnalysisSkipped(localFile) &&
|
|
134
|
+
!(caseType === PreviousCaseTypes.FEATURE_ENHANCEMENT) && (React.createElement("span", { className: "text-muted" }, localFile.analysisMetadata.analysisErrorMesssage)),
|
|
138
135
|
localFile.description.length === ATTACHMENT_DESCRIPTION_LENGTH_LIMIT ? (React.createElement("p", { className: "form-instructions" },
|
|
139
136
|
React.createElement(Trans, null, maxCaseAttachmentDescription))) : null,
|
|
140
137
|
isUploadedAndAnalysisFailed(localFile) && (React.createElement("span", { className: "text-danger" },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/components/shared/utils.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/components/shared/utils.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,EACpC,WAAW,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,KAAK,iBAAiB,EAC3D,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,KAAK,GAAG,kBAErB,CAAC,iBAAiB,CAAC,iBAQ5C;AAED,eAAO,MAAM,YAAY,gBAAiB,MAAM,aAAa,MAAM,KAAG,OAUrE,CAAC;AAEF,eAAO,MAAM,kBAAkB,UAAW,MAAM,WAG/C,CAAC"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import isEmpty from 'lodash/isEmpty';
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import { Trans } from 'react-i18next';
|
|
4
|
-
import { PHONE_LIMIT } from '../../reducers/CaseConstNTypes';
|
|
5
4
|
/**
|
|
6
5
|
*
|
|
7
6
|
* A function that returns a translated string for a tooltip of the given case value that is being watched
|
|
@@ -32,9 +31,7 @@ export const isPhoneValid = (countryCode, phoneLine) => {
|
|
|
32
31
|
// To validate case state if country code and phoneline both are available
|
|
33
32
|
// or none of them are available (xor)
|
|
34
33
|
const isCountryCodeFollowsByPhone = isEmpty(trimAndReplacePlus(countryCode)) === isEmpty(phoneLine === null || phoneLine === void 0 ? void 0 : phoneLine.trim()) ? true : false;
|
|
35
|
-
|
|
36
|
-
const hasSuppliedPhoneValidLength = phoneLength <= PHONE_LIMIT;
|
|
37
|
-
return isCountryCodeFollowsByPhone && hasSuppliedPhoneValidLength && phoneIncludesCorrectChars;
|
|
34
|
+
return isCountryCodeFollowsByPhone && phoneIncludesCorrectChars;
|
|
38
35
|
};
|
|
39
36
|
export const trimAndReplacePlus = (value) => {
|
|
40
37
|
var _a;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WizardLayout.d.ts","sourceRoot":"","sources":["../../../../src/components/wizardLayout/WizardLayout.tsx"],"names":[],"mappings":"AASA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAMvD,OAAO,EAAuC,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAavG,UAAU,MAAM;IACZ,UAAU,EAAE,mBAAmB,CAAC,eAAe,CAAC,CAAC;CACpD;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"WizardLayout.d.ts","sourceRoot":"","sources":["../../../../src/components/wizardLayout/WizardLayout.tsx"],"names":[],"mappings":"AASA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAMvD,OAAO,EAAuC,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAavG,UAAU,MAAM;IACZ,UAAU,EAAE,mBAAmB,CAAC,eAAe,CAAC,CAAC;CACpD;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,eA+IzC"}
|
|
@@ -18,7 +18,7 @@ import React, { useContext, useRef, useState } from 'react';
|
|
|
18
18
|
import { Trans } from 'react-i18next';
|
|
19
19
|
import { useCaseDispatch, useCaseSelector } from '../../context/CaseContext';
|
|
20
20
|
import { RouteContext } from '../../context/RouteContext';
|
|
21
|
-
import { SessionRestoreStateContext } from '../../context/SessionRestoreContext';
|
|
21
|
+
import { SessionRestoreDispatchContext, SessionRestoreStateContext } from '../../context/SessionRestoreContext';
|
|
22
22
|
import { submitCase } from '../../reducers/CaseReducer';
|
|
23
23
|
import { AppRouteSections } from '../../reducers/RouteConstNTypes';
|
|
24
24
|
import RouteUtils from '../../utils/routeUtils';
|
|
@@ -33,9 +33,10 @@ import WizardMain from './WizardMain';
|
|
|
33
33
|
export function WizardLayout(props) {
|
|
34
34
|
const { routeState: { activeSection, isCaseCreate }, } = useContext(RouteContext);
|
|
35
35
|
const caseState = useCaseSelector((state) => state, isEqual);
|
|
36
|
+
const sessionRestoreDispatch = useContext(SessionRestoreDispatchContext);
|
|
36
37
|
const caseDispatch = useCaseDispatch();
|
|
37
38
|
const { sessionRestore: { activeSessionId, previousSessions }, } = useContext(SessionRestoreStateContext);
|
|
38
|
-
const { globalMetadataState: { allProducts, loggedInUser }, } = useContext(GlobalMetadataStateContext);
|
|
39
|
+
const { globalMetadataState: { allProducts, loggedInUser, loggedInUsersAccount }, } = useContext(GlobalMetadataStateContext);
|
|
39
40
|
const canAddAttachments = ability.can(resourceActions.PATCH, resources.CASE_CREATE, CaseListFields.ATTACHMENTS);
|
|
40
41
|
const { attachmentState } = useContext(AttachmentStateContext);
|
|
41
42
|
const isAnyFileAttachedLocal = isAnyFileAttached(attachmentState.caseFiles.selectedLocalFiles);
|
|
@@ -84,7 +85,7 @@ export function WizardLayout(props) {
|
|
|
84
85
|
"Try submitting again after a minute. Please ",
|
|
85
86
|
React.createElement(SupportFeedbackForm, { isInline: true }),
|
|
86
87
|
" if you continue to see this message.")));
|
|
87
|
-
submitCase(caseDispatch, caseState, sessionItem, isCaseCreate, errorMessageCaseSubmit500, loggedInUser.data.ssoUsername);
|
|
88
|
+
submitCase(caseDispatch, sessionRestoreDispatch, caseState, sessionItem, isCaseCreate, errorMessageCaseSubmit500, loggedInUser.data.ssoUsername, loggedInUsersAccount === null || loggedInUsersAccount === void 0 ? void 0 : loggedInUsersAccount.data.secureSupport);
|
|
88
89
|
// reset viewedModals on case submit
|
|
89
90
|
viewedConfirmationModalsList.current = [];
|
|
90
91
|
!isReSubmitting &&
|
|
@@ -12,8 +12,7 @@ export declare enum CaseStatusEnum {
|
|
|
12
12
|
WAITING_ON_CUSTOMER = "Waiting on Customer",
|
|
13
13
|
WAITING_ON_REDHAT = "Waiting on Red Hat"
|
|
14
14
|
}
|
|
15
|
-
export declare const PHONE_LINE_CANNOT_BE_EMPTY = "Phone number cannot be empty when country code is given.";
|
|
16
15
|
export declare const PHONE_NO_CHAR_ERROR = "Phone number can only have digits.";
|
|
17
|
-
export declare const PHONE_IS_NOT_VALID = "Phone number is invalid.";
|
|
16
|
+
export declare const PHONE_IS_NOT_VALID = "Phone number length is invalid.";
|
|
18
17
|
export declare const PHONE_INSTRUCTION = "A current phone number with the country code helps us support you better.";
|
|
19
18
|
//# sourceMappingURL=caseDetailsConstants.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"caseDetailsConstants.d.ts","sourceRoot":"","sources":["../../../src/constants/caseDetailsConstants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oCAAoC,yBAAyB,CAAC;AAE3E,oBAAY,mBAAmB;IAC3B,UAAU,eAAe;IACzB,UAAU,eAAe;IACzB,QAAQ,aAAa;IACrB,WAAW,gBAAgB;IAC3B,aAAa,kBAAkB;IAC/B,UAAU,gBAAgB;CAC7B;AAED,oBAAY,cAAc;IACtB,MAAM,WAAW;IACjB,mBAAmB,wBAAwB;IAC3C,iBAAiB,uBAAuB;CAC3C;AAED,eAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"caseDetailsConstants.d.ts","sourceRoot":"","sources":["../../../src/constants/caseDetailsConstants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oCAAoC,yBAAyB,CAAC;AAE3E,oBAAY,mBAAmB;IAC3B,UAAU,eAAe;IACzB,UAAU,eAAe;IACzB,QAAQ,aAAa;IACrB,WAAW,gBAAgB;IAC3B,aAAa,kBAAkB;IAC/B,UAAU,gBAAgB;CAC7B;AAED,oBAAY,cAAc;IACtB,MAAM,WAAW;IACjB,mBAAmB,wBAAwB;IAC3C,iBAAiB,uBAAuB;CAC3C;AAED,eAAO,MAAM,mBAAmB,uCAAuC,CAAC;AAExE,eAAO,MAAM,kBAAkB,oCAAoC,CAAC;AAEpE,eAAO,MAAM,iBAAiB,8EAA8E,CAAC"}
|
|
@@ -14,7 +14,6 @@ export var CaseStatusEnum;
|
|
|
14
14
|
CaseStatusEnum["WAITING_ON_CUSTOMER"] = "Waiting on Customer";
|
|
15
15
|
CaseStatusEnum["WAITING_ON_REDHAT"] = "Waiting on Red Hat";
|
|
16
16
|
})(CaseStatusEnum || (CaseStatusEnum = {}));
|
|
17
|
-
export const PHONE_LINE_CANNOT_BE_EMPTY = 'Phone number cannot be empty when country code is given.';
|
|
18
17
|
export const PHONE_NO_CHAR_ERROR = 'Phone number can only have digits.';
|
|
19
|
-
export const PHONE_IS_NOT_VALID = 'Phone number is invalid.';
|
|
18
|
+
export const PHONE_IS_NOT_VALID = 'Phone number length is invalid.';
|
|
20
19
|
export const PHONE_INSTRUCTION = 'A current phone number with the country code helps us support you better.';
|
|
@@ -16,7 +16,6 @@ export declare const HOSTNAME_LENGTH_LIMIT = 255;
|
|
|
16
16
|
export declare const CONTACT_INFO_24X7_LIMIT = 32768;
|
|
17
17
|
export declare const CLUSTER_ID_LIMIT = 255;
|
|
18
18
|
export declare const CASE_REFERENCE_NUMBER_LIMIT = 100;
|
|
19
|
-
export declare const PHONE_LIMIT = 23;
|
|
20
19
|
export declare const SESSION_NOTIFIED_USERS_INTERNAL_LIMIT = 1024;
|
|
21
20
|
export declare const SESSION_NOTIFIED_USERS_EXTERNAL_LIMIT = 1024;
|
|
22
21
|
export declare const SESSION_TIME_FRAMES_URGENCY_LIMIT = 32768;
|
|
@@ -200,6 +199,7 @@ export interface ICaseState {
|
|
|
200
199
|
openshiftDisplayName?: string;
|
|
201
200
|
isCaseOwnerUpdating: boolean;
|
|
202
201
|
isFileRecommendationsTriggered?: boolean;
|
|
202
|
+
isPhoneLengthInvalid?: boolean;
|
|
203
203
|
}
|
|
204
204
|
export interface ICreateCasePayloadType extends ICaseState {
|
|
205
205
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CaseConstNTypes.d.ts","sourceRoot":"","sources":["../../../src/reducers/CaseConstNTypes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AACjH,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,+CAA+C,CAAC;AACvF,OAAO,EAAE,YAAY,EAAE,MAAM,iDAAiD,CAAC;AAC/E,OAAO,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAClE,OAAO,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AACjF,OAAO,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAEnF,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjC,eAAO,MAAM,oBAAoB,MAAM,CAAC;AACxC,eAAO,MAAM,mCAAmC,MAAM,CAAC;AACvD,eAAO,MAAM,+BAA+B,MAAM,CAAC;AACnD,eAAO,MAAM,wBAAwB,QAAQ,CAAC;AAC9C,eAAO,MAAM,iCAAiC,QAAQ,CAAC;AACvD,eAAO,MAAM,qBAAqB,MAAM,CAAC;AACzC,eAAO,MAAM,uBAAuB,QAAQ,CAAC;AAC7C,eAAO,MAAM,gBAAgB,MAAM,CAAC;AACpC,eAAO,MAAM,2BAA2B,MAAM,CAAC;AAC/C,eAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"CaseConstNTypes.d.ts","sourceRoot":"","sources":["../../../src/reducers/CaseConstNTypes.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,6 @@ export const HOSTNAME_LENGTH_LIMIT = 255;
|
|
|
8
8
|
export const CONTACT_INFO_24X7_LIMIT = 32768;
|
|
9
9
|
export const CLUSTER_ID_LIMIT = 255;
|
|
10
10
|
export const CASE_REFERENCE_NUMBER_LIMIT = 100;
|
|
11
|
-
export const PHONE_LIMIT = 23;
|
|
12
11
|
export const SESSION_NOTIFIED_USERS_INTERNAL_LIMIT = 1024;
|
|
13
12
|
export const SESSION_NOTIFIED_USERS_EXTERNAL_LIMIT = 1024;
|
|
14
13
|
export const SESSION_TIME_FRAMES_URGENCY_LIMIT = 32768;
|
|
@@ -193,6 +192,7 @@ export const initialCaseState = {
|
|
|
193
192
|
openshiftDisplayName: '',
|
|
194
193
|
isCaseOwnerUpdating: false,
|
|
195
194
|
isFileRecommendationsTriggered: false,
|
|
195
|
+
isPhoneLengthInvalid: false,
|
|
196
196
|
};
|
|
197
197
|
export const ORG_ADMIN_SEND_NOTIFCATION_KBASE_LINK = 'https://access.redhat.com/articles/5967811';
|
|
198
198
|
export const NON_ORG_ADMIN_SEND_NOTIFCATION_KBASE_LINK = 'https://access.redhat.com/articles/5967831';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CaseHelpers.d.ts","sourceRoot":"","sources":["../../../src/reducers/CaseHelpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,qDAAqD,CAAC;AACpG,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,yCAAyC,CAAC;AACvG,OAAO,EAAE,YAAY,EAAE,MAAM,iDAAiD,CAAC;AAC/E,OAAO,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAmB3D,OAAO,EAUH,UAAU,EAeb,MAAM,mBAAmB,CAAC;AAE3B,eAAO,MAAM,sBAAsB,SAAU,mBAAmB,EAAE,wBAMjE,CAAC;AAEF,eAAO,MAAM,2BAA2B,eAAgB,WAAW,KAAG,MAOrE,CAAC;AAEF,eAAO,MAAM,uBAAuB,QAAS,mBAAmB,SAAS,MAAM,sBAyB9E,CAAC;AAIF,eAAO,MAAM,qBAAqB,UACvB,MAAM,gBACC,MAAM,uBACC,MAAM,yBACJ,MAAM,kBACb,MAAM,YACZ,MAAM,YACN,MAAM,KACjB,MAyBF,CAAC;AAIF,eAAO,MAAM,oBAAoB,UACtB,MAAM,gBACC,MAAM,uBACC,MAAM,yBACJ,MAAM,KAC9B,MAQF,CAAC;AAEF,eAAO,MAAM,uBAAuB,iBAAkB,MAAM,YAAY,MAAM,KAAG,MAQhF,CAAC;AAEF,eAAO,MAAM,uBAAuB,iBAAkB,MAAM,YAAY,MAAM,KAAG,MAQhF,CAAC;AAEF,eAAO,MAAM,sBAAsB,aAAc,MAAM,KAAG,MAKzD,CAAC;AAEF,eAAO,MAAM,gBAAgB,+CAqC5B,CAAC;AAIF,eAAO,MAAM,gBAAgB,cAAe,UAAU,wBAAwB,QAAQ,eAAe,CAAC,KAAG,OA6BxG,CAAC;AAEF,eAAO,MAAM,oBAAoB,cAClB,UAAU,wBACC,QAAQ,eAAe,CAAC,KAC/C,OAyBF,CAAC;AAEF,eAAO,MAAM,0BAA0B,cACxB,UAAU,wBACC,QAAQ,eAAe,CAAC,KAC/C,
|
|
1
|
+
{"version":3,"file":"CaseHelpers.d.ts","sourceRoot":"","sources":["../../../src/reducers/CaseHelpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,qDAAqD,CAAC;AACpG,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,yCAAyC,CAAC;AACvG,OAAO,EAAE,YAAY,EAAE,MAAM,iDAAiD,CAAC;AAC/E,OAAO,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAmB3D,OAAO,EAUH,UAAU,EAeb,MAAM,mBAAmB,CAAC;AAE3B,eAAO,MAAM,sBAAsB,SAAU,mBAAmB,EAAE,wBAMjE,CAAC;AAEF,eAAO,MAAM,2BAA2B,eAAgB,WAAW,KAAG,MAOrE,CAAC;AAEF,eAAO,MAAM,uBAAuB,QAAS,mBAAmB,SAAS,MAAM,sBAyB9E,CAAC;AAIF,eAAO,MAAM,qBAAqB,UACvB,MAAM,gBACC,MAAM,uBACC,MAAM,yBACJ,MAAM,kBACb,MAAM,YACZ,MAAM,YACN,MAAM,KACjB,MAyBF,CAAC;AAIF,eAAO,MAAM,oBAAoB,UACtB,MAAM,gBACC,MAAM,uBACC,MAAM,yBACJ,MAAM,KAC9B,MAQF,CAAC;AAEF,eAAO,MAAM,uBAAuB,iBAAkB,MAAM,YAAY,MAAM,KAAG,MAQhF,CAAC;AAEF,eAAO,MAAM,uBAAuB,iBAAkB,MAAM,YAAY,MAAM,KAAG,MAQhF,CAAC;AAEF,eAAO,MAAM,sBAAsB,aAAc,MAAM,KAAG,MAKzD,CAAC;AAEF,eAAO,MAAM,gBAAgB,+CAqC5B,CAAC;AAIF,eAAO,MAAM,gBAAgB,cAAe,UAAU,wBAAwB,QAAQ,eAAe,CAAC,KAAG,OA6BxG,CAAC;AAEF,eAAO,MAAM,oBAAoB,cAClB,UAAU,wBACC,QAAQ,eAAe,CAAC,KAC/C,OAyBF,CAAC;AAEF,eAAO,MAAM,0BAA0B,cACxB,UAAU,wBACC,QAAQ,eAAe,CAAC,KAC/C,OAqBF,CAAC;AAIF,eAAO,MAAM,6BAA6B,cAC3B,UAAU,wBACC,QAAQ,eAAe,CAAC,KAC/C,OAuBF,CAAC;AAEF,eAAO,MAAM,iBAAiB,cACf,UAAU,gBACP,YAAY,iBACZ,OAAO,KACtB,QAAQ,YAAY,CA4EtB,CAAC;AAEF,eAAO,MAAM,wBAAwB,qBAAsB,YAAY,EAAE,KAAG,YAAY,EAEvF,CAAC;AACF,eAAO,MAAM,yBAAyB,qBAAsB,YAAY,EAAE,KAAG,OAE5E,CAAC;AAEF,eAAO,MAAM,yBAAyB,gBACrB,YAAY,6BACE,MAAM,mBAChB,MAAM,KACxB,QAAQ,YAAY,CAgCtB,CAAC;AACF,eAAO,MAAM,yBAAyB,gBACrB,QAAQ,YAAY,CAAC,gCACJ,QAAQ,EAAE,KACzC,eAgDF,CAAC"}
|
|
@@ -182,6 +182,7 @@ export const isIdeaCaseStateValid = (caseState, loggedInUserJwtToken) => {
|
|
|
182
182
|
};
|
|
183
183
|
export const isCaseManagementStateValid = (caseState, loggedInUserJwtToken) => {
|
|
184
184
|
const case_details = caseState.caseDetails;
|
|
185
|
+
const isPhoneLengthInvalid = caseState.isPhoneLengthInvalid;
|
|
185
186
|
return (isEmpty(case_details.caseNumber) &&
|
|
186
187
|
!caseState.hasLargeCaseDescription &&
|
|
187
188
|
!isEmpty(case_details.product) &&
|
|
@@ -195,6 +196,7 @@ export const isCaseManagementStateValid = (caseState, loggedInUserJwtToken) => {
|
|
|
195
196
|
? !isEmpty(case_details.groupNumber) && case_details.groupNumber !== '-1'
|
|
196
197
|
: true) &&
|
|
197
198
|
isPhoneValid(case_details.phoneCountryCode, case_details.phoneAreaCodePrefixLineNumber) &&
|
|
199
|
+
!isPhoneLengthInvalid &&
|
|
198
200
|
canManageCase(loggedInUserJwtToken));
|
|
199
201
|
};
|
|
200
202
|
// Add a !isEmpty to to make any KTQuestion Mandatory in isCaseInformationSectionValid
|
|
@@ -7,11 +7,12 @@ import { ISolrRecommendation } from '@cee-eng/hydrajs/@types/models/solr/solr';
|
|
|
7
7
|
import { IApiResponseDetails } from '@rh-support/types/shared';
|
|
8
8
|
import { UserAuth } from '@rh-support/user-permissions';
|
|
9
9
|
import { CaseReducerDispatchType, ICaseState } from './CaseConstNTypes';
|
|
10
|
+
import { SessionReducerDispatchType } from './SessionRestoreReducer';
|
|
10
11
|
export declare const caseReducer: (pState: ICaseState, action: any) => ICaseState;
|
|
11
12
|
export declare const setCaseDetails: (dispatch: CaseReducerDispatchType, caseState: Partial<ICasePayload>) => void;
|
|
12
13
|
export declare const setCaseState: (dispatch: CaseReducerDispatchType, caseState: Partial<ICaseState>) => void;
|
|
13
14
|
export declare const setNotifiedUser: (dispatch: CaseReducerDispatchType, selectedNotificationContacts: IContact[]) => void;
|
|
14
|
-
export declare const submitCase: (dispatch: CaseReducerDispatchType, caseDetails: ICaseState, sessionItem: ISessionItem, isCaseCreate: boolean, errorMessage500: string | JSX.Element,
|
|
15
|
+
export declare const submitCase: (dispatch: CaseReducerDispatchType, sessionRestoreDispatch: SessionReducerDispatchType, caseDetails: ICaseState, sessionItem: ISessionItem, isCaseCreate: boolean, errorMessage500: string | JSX.Element, loggedInUserSsoUsername: string, isSecureSupport?: boolean) => Promise<void>;
|
|
15
16
|
/**
|
|
16
17
|
* Update case details if there is HTTP 500 error while submitting case
|
|
17
18
|
* @param dispatch CaseReducerDispatchType
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CaseReducer.d.ts","sourceRoot":"","sources":["../../../src/reducers/CaseReducer.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,qDAAqD,CAAC;AACnF,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AAEtH,OAAO,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAClE,OAAO,EAAE,0BAA0B,EAA+B,MAAM,qCAAqC,CAAC;AAC9G,OAAO,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAE/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAUxD,OAAO,EAEH,uBAAuB,EAEvB,UAAU,EAEb,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"CaseReducer.d.ts","sourceRoot":"","sources":["../../../src/reducers/CaseReducer.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,6 +19,7 @@ import uniqBy from 'lodash/uniqBy';
|
|
|
19
19
|
import { trimAndReplacePlus } from '../components/shared/utils';
|
|
20
20
|
import { CaseReducerConstants, DESCRIPTION_LENGTH_LIMIT, initialCaseState, } from './CaseConstNTypes';
|
|
21
21
|
import { createCasePayload, getCaseFromSessionDetails, getCaseRecommendations, getCepCommentFromCepDetails, getHasInvalidEntitlements, getProcessedEntitlements, } from './CaseHelpers';
|
|
22
|
+
import { updateSession } from './SessionRestoreReducer';
|
|
22
23
|
export const caseReducer = (pState, action) => {
|
|
23
24
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
|
|
24
25
|
switch (action.type) {
|
|
@@ -149,13 +150,13 @@ export const setNotifiedUser = (dispatch, selectedNotificationContacts) => {
|
|
|
149
150
|
payload: { selectedNotificationContacts },
|
|
150
151
|
});
|
|
151
152
|
};
|
|
152
|
-
export const submitCase = (dispatch, caseDetails, sessionItem, isCaseCreate, errorMessage500,
|
|
153
|
+
export const submitCase = (dispatch, sessionRestoreDispatch, caseDetails, sessionItem, isCaseCreate, errorMessage500, loggedInUserSsoUsername, isSecureSupport = false) => __awaiter(void 0, void 0, void 0, function* () {
|
|
153
154
|
var _a;
|
|
154
155
|
dispatch({ type: CaseReducerConstants.isCreatingCase });
|
|
155
156
|
try {
|
|
156
157
|
const casePayload = createCasePayload(caseDetails, sessionItem, isCaseCreate);
|
|
157
158
|
const caseNumber = yield publicApi.kase.createCase(casePayload, caseDetails.selectedAccountDetails.data.secureSupport);
|
|
158
|
-
if (casePayload.contactSSOName ===
|
|
159
|
+
if (casePayload.contactSSOName === loggedInUserSsoUsername &&
|
|
159
160
|
!isEmpty((_a = casePayload.phoneAreaCodePrefixLineNumber) === null || _a === void 0 ? void 0 : _a.trim()) &&
|
|
160
161
|
!isEmpty(trimAndReplacePlus((casePayload === null || casePayload === void 0 ? void 0 : casePayload.phoneCountryCode) || ''))) {
|
|
161
162
|
contacts.updateContactBySSO(casePayload.contactSSOName, {
|
|
@@ -164,6 +165,8 @@ export const submitCase = (dispatch, caseDetails, sessionItem, isCaseCreate, err
|
|
|
164
165
|
});
|
|
165
166
|
}
|
|
166
167
|
postCaseCreationProcessing(dispatch, caseNumber, caseDetails);
|
|
168
|
+
!isSecureSupport &&
|
|
169
|
+
(yield updateSession(sessionRestoreDispatch, sessionItem.session.id, sessionItem.sessionDetails, sessionItem.session));
|
|
167
170
|
dispatch({ type: CaseReducerConstants.caseCreated, payload: { caseDetails: { caseNumber } } });
|
|
168
171
|
}
|
|
169
172
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SessionRestoreReducer.d.ts","sourceRoot":"","sources":["../../../src/reducers/SessionRestoreReducer.ts"],"names":[],"mappings":"AACA,OAAO,EACH,QAAQ,EACR,eAAe,EACf,YAAY,EACZ,gBAAgB,EAChB,qBAAqB,IAAI,sBAAsB,EAC/C,yBAAyB,IAAI,0BAA0B,EAC1D,MAAM,qDAAqD,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,2DAA2D,CAAC;AACzG,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAkB1G,OAAO,EAAwB,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAWlF,MAAM,WAAW,aAAa;IAC1B,CAAC,SAAS,EAAE,MAAM,GAAG,YAAY,CAAC;CACrC;AAED,MAAM,WAAW,iBAAiB;IAC9B,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;IACpB,gBAAgB,EAAE,gBAAgB,EAAE,CAAC;IACrC,kBAAkB,EAAE,gBAAgB,EAAE,CAAC;CAC1C;AACD,MAAM,WAAW,yBAAyB;IACtC,CAAC,MAAM,EAAE,MAAM,GAAG,iBAAiB,CAAC;CACvC;AACD,MAAM,WAAW,oBAAoB;IACjC,gBAAgB,EAAE,mBAAmB,CAAC,aAAa,CAAC,CAAC;IACrD,eAAe,EAAE,MAAM,CAAC;IACxB,0BAA0B,EAAE,OAAO,CAAC;IACpC,qBAAqB,EAAE,eAAe,CAAC;IACvC,qBAAqB,EAAE,eAAe,CAAC;IACvC,uBAAuB,EAAE,yBAAyB,CAAC;IACnD,WAAW,EAAE,MAAM,CAAC;IACpB,0BAA0B,EAAE,YAAY,GAAG,IAAI,CAAC;CACnD;AACD,MAAM,WAAW,0BAA2B,SAAQ,oBAAoB;IACpE,WAAW,EAAE,YAAY,CAAC;IAC1B,YAAY,EAAE,YAAY,EAAE,CAAC;IAC7B,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,gBAAgB,EAAE,CAAC;IACrC,kBAAkB,EAAE,gBAAgB,EAAE,CAAC;CAC1C;AAED,aAAK,WAAW,GAAG,OAAO,CAAC,uBAAuB,EAAE,0BAA0B,CAAC,CAAC;AAChF,oBAAY,0BAA0B,GAAG,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;AAGtE,oBAAY,uBAAuB;IAC/B,WAAW,gBAAgB;IAC3B,YAAY,iBAAiB;IAC7B,aAAa,kBAAkB;IAC/B,kBAAkB,uBAAuB;IACzC,uBAAuB,4BAA4B;IACnD,uBAAuB,4BAA4B;IACnD,6BAA6B,kCAAkC;IAC/D,sBAAsB,2BAA2B;IACjD,gCAAgC,qCAAqC;CACxE;AAED,eAAO,MAAM,0BAA0B,EAAE,oBASxC,CAAC;AAEF,oBAAY,0BAA0B,GAAG,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;AAGtE,eAAO,MAAM,qBAAqB,UAAW,oBAAoB,0BAAwB,oBAqFxF,CAAC;AAIF,eAAO,MAAM,oBAAoB,aACnB,0BAA0B,gBACtB,uBAAuB,kBA8CxC,CAAC;AAIF,eAAO,MAAM,aAAa,aACZ,0BAA0B,kBACpB,eAAe,WACtB,QAAQ,oBAkBpB,CAAC;AAIF,eAAO,MAAM,aAAa,aACZ,0BAA0B,aACzB,MAAM,mBACA,eAAe,YACtB,QAAQ,kBAgBrB,CAAC;
|
|
1
|
+
{"version":3,"file":"SessionRestoreReducer.d.ts","sourceRoot":"","sources":["../../../src/reducers/SessionRestoreReducer.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rh-support/troubleshoot",
|
|
3
|
-
"version": "2.2.
|
|
3
|
+
"version": "2.2.19",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public",
|
|
6
6
|
"registry": "https://registry.npmjs.org"
|
|
@@ -29,6 +29,9 @@
|
|
|
29
29
|
"@cee-eng/hydrajs": "4.15.87",
|
|
30
30
|
"@cee-eng/ui-toolkit": "1.1.6",
|
|
31
31
|
"@patternfly/patternfly": "4.196.7",
|
|
32
|
+
"@patternfly/pfe-accordion": "1.12.3",
|
|
33
|
+
"@patternfly/pfe-collapse": "1.12.3",
|
|
34
|
+
"@patternfly/pfe-tabs": "1.12.3",
|
|
32
35
|
"@patternfly/react-core": "4.264.0",
|
|
33
36
|
"dompurify": "^2.2.6",
|
|
34
37
|
"downshift": "^6.0.5",
|
|
@@ -56,14 +59,18 @@
|
|
|
56
59
|
"@cee-eng/hydrajs": "4.15.87",
|
|
57
60
|
"@cee-eng/ui-toolkit": "1.1.6",
|
|
58
61
|
"@patternfly/patternfly": "4.196.7",
|
|
62
|
+
"@patternfly/pfe-accordion": "1.12.3",
|
|
63
|
+
"@patternfly/pfe-collapse": "1.12.3",
|
|
64
|
+
"@patternfly/pfe-icon": "^1.12.3",
|
|
65
|
+
"@patternfly/pfe-tabs": "1.12.3",
|
|
59
66
|
"@patternfly/react-core": "4.264.0",
|
|
60
67
|
"@progress/kendo-drawing": "^1.6.0",
|
|
61
68
|
"@progress/kendo-react-pdf": "^3.12.0",
|
|
62
|
-
"@rh-support/components": "2.1.
|
|
63
|
-
"@rh-support/react-context": "2.1.
|
|
69
|
+
"@rh-support/components": "2.1.9",
|
|
70
|
+
"@rh-support/react-context": "2.1.9",
|
|
64
71
|
"@rh-support/types": "2.0.2",
|
|
65
|
-
"@rh-support/user-permissions": "2.1.
|
|
66
|
-
"@rh-support/utils": "2.1.
|
|
72
|
+
"@rh-support/user-permissions": "2.1.4",
|
|
73
|
+
"@rh-support/utils": "2.1.2",
|
|
67
74
|
"@types/react-redux": "^7.1.12",
|
|
68
75
|
"@types/redux": "^3.6.0",
|
|
69
76
|
"dompurify": "^2.4.1",
|
|
@@ -126,5 +133,5 @@
|
|
|
126
133
|
"defaults and supports es6-module",
|
|
127
134
|
"maintained node versions"
|
|
128
135
|
],
|
|
129
|
-
"gitHead": "
|
|
136
|
+
"gitHead": "8f7f0aee0461c78e8a5cc0e16777371c4ae1305d"
|
|
130
137
|
}
|