@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.
Files changed (59) hide show
  1. package/lib/esm/components/AccountInfo/OwnerSelector.d.ts.map +1 -1
  2. package/lib/esm/components/AccountInfo/OwnerSelector.js +2 -2
  3. package/lib/esm/components/CaseEditView/CaseSolutions/CaseSolutionsItem.d.ts.map +1 -1
  4. package/lib/esm/components/CaseEditView/CaseSolutions/CaseSolutionsItem.js +3 -2
  5. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CaseContactPhoneNumber.d.ts.map +1 -1
  6. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CaseContactPhoneNumber.js +13 -18
  7. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CaseInformation.d.ts.map +1 -1
  8. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CaseInformation.js +2 -1
  9. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/CaseChat.d.ts.map +1 -1
  10. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/CaseChat.js +2 -1
  11. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/CaseComments.d.ts.map +1 -1
  12. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/CaseComments.js +3 -2
  13. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/CaseExternalTrackerUpdate.d.ts.map +1 -1
  14. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/CaseExternalTrackerUpdate.js +5 -3
  15. package/lib/esm/components/CaseEditView/Tabs/CasePrivateNotes/CasePrivateNotes.d.ts.map +1 -1
  16. package/lib/esm/components/CaseEditView/Tabs/CasePrivateNotes/CasePrivateNotes.js +4 -2
  17. package/lib/esm/components/CaseEditView/index.d.ts +5 -0
  18. package/lib/esm/components/CaseEditView/index.d.ts.map +1 -1
  19. package/lib/esm/components/CaseEditView/index.js +7 -0
  20. package/lib/esm/components/CaseInformation/ContactPhoneNumber.d.ts.map +1 -1
  21. package/lib/esm/components/CaseInformation/ContactPhoneNumber.js +11 -17
  22. package/lib/esm/components/CaseManagement/OpenshiftDropdownV4.d.ts.map +1 -1
  23. package/lib/esm/components/CaseManagement/OpenshiftDropdownV4.js +1 -1
  24. package/lib/esm/components/CaseManagement/SendNotifications/CaseContactSelector.js +1 -1
  25. package/lib/esm/components/EditDescription/EditDescription.d.ts.map +1 -1
  26. package/lib/esm/components/EditDescription/EditDescription.js +2 -1
  27. package/lib/esm/components/Recommendations/EARules/EARule.d.ts.map +1 -1
  28. package/lib/esm/components/Recommendations/EARules/EARule.js +4 -1
  29. package/lib/esm/components/Recommendations/InsightsRuleInfo.d.ts.map +1 -1
  30. package/lib/esm/components/Recommendations/InsightsRuleInfo.js +5 -3
  31. package/lib/esm/components/Recommendations/RulesModal.d.ts.map +1 -1
  32. package/lib/esm/components/Recommendations/RulesModal.js +2 -2
  33. package/lib/esm/components/SessionRestore/SessionItem.js +4 -4
  34. package/lib/esm/components/SessionRestore/SessionRestore.d.ts.map +1 -1
  35. package/lib/esm/components/SessionRestore/SessionRestore.js +4 -4
  36. package/lib/esm/components/Suggestions/TopContent.d.ts +1 -0
  37. package/lib/esm/components/Suggestions/TopContent.d.ts.map +1 -1
  38. package/lib/esm/components/Suggestions/TopContent.js +1 -0
  39. package/lib/esm/components/shared/Rule.d.ts.map +1 -1
  40. package/lib/esm/components/shared/Rule.js +2 -1
  41. package/lib/esm/components/shared/fileUpload/FileLister.d.ts.map +1 -1
  42. package/lib/esm/components/shared/fileUpload/FileLister.js +3 -6
  43. package/lib/esm/components/shared/utils.d.ts.map +1 -1
  44. package/lib/esm/components/shared/utils.js +1 -4
  45. package/lib/esm/components/wizardLayout/WizardLayout.d.ts.map +1 -1
  46. package/lib/esm/components/wizardLayout/WizardLayout.js +4 -3
  47. package/lib/esm/constants/caseDetailsConstants.d.ts +1 -2
  48. package/lib/esm/constants/caseDetailsConstants.d.ts.map +1 -1
  49. package/lib/esm/constants/caseDetailsConstants.js +1 -2
  50. package/lib/esm/reducers/CaseConstNTypes.d.ts +1 -1
  51. package/lib/esm/reducers/CaseConstNTypes.d.ts.map +1 -1
  52. package/lib/esm/reducers/CaseConstNTypes.js +1 -1
  53. package/lib/esm/reducers/CaseHelpers.d.ts.map +1 -1
  54. package/lib/esm/reducers/CaseHelpers.js +2 -0
  55. package/lib/esm/reducers/CaseReducer.d.ts +2 -1
  56. package/lib/esm/reducers/CaseReducer.d.ts.map +1 -1
  57. package/lib/esm/reducers/CaseReducer.js +5 -2
  58. package/lib/esm/reducers/SessionRestoreReducer.d.ts.map +1 -1
  59. 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,eA6VnC;AAED,OAAO,EAAE,aAAa,EAAE,CAAC"}
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, "data-tracking-id": "get-support-selected-group-owner" })) : (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), "data-tracking-id": "get-support-owner" }))));
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;AAQ5E,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,eAwC9C"}
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":"AAwBA,wBAAgB,sBAAsB,gBAmPrC"}
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, PHONE_LINE_CANNOT_BE_EMPTY, PHONE_NO_CHAR_ERROR, } from '../../../../constants/caseDetailsConstants';
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 { PHONE_LIMIT } from '../../../../reducers/CaseConstNTypes';
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) > PHONE_LIMIT
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: (localFullPhoneState === null || localFullPhoneState === void 0 ? void 0 : localFullPhoneState.length) > PHONE_LIMIT ||
157
- localFullPhoneState === phoneCountryCode + ' ' + phoneAreaCodePrefixLineNumber ||
158
- (isSaveClicked && (isPhoneLineEmpty || isPhoneNumberInvalid)), style: { display: isExportingPDF ? 'none' : '' } },
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) < PHONE_LIMIT &&
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) > PHONE_LIMIT && (React.createElement("p", { className: "form-instructions form-invalid" }, maxLengthErrorMessage)),
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;AAe5D,UAAU,MAAO,SAAQ,gBAAgB;CAAG;AAE5C,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,eAqE5C"}
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;AAEpE,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
+ {"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;AA6BvE,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"}
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'];
@@ -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;AAMjF,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,4EAsF7B,CAAC;AAEH,eAAe,yBAAyB,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 sanetize = (markdown) => {
17
- return { __html: markdownToHTML(markdown, { openLinksInNewTab: true }) };
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: sanetize(props.trackerUpdate.body) })),
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":"AAaA,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,eAqGtC;kBArGQ,gBAAgB;;;;;AAwGzB,eAAe,gBAAgB,CAAC"}
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: "btn btn-app btn-primary", onClick: updateCase, disabled: isPrivateNotesEmpty || isUpdating || !formIsDirty },
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: "btn btn-app btn-link", onClick: discardNotes, disabled: isUpdating || !formIsDirty },
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;AAEnB,wBAAgB,OAAO,CAAC,UAAU,EAAE,mBAAmB,CAAC,MAAM,CAAC,eAkB9D"}
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":"AAsBA,wBAAgB,kBAAkB,gBA4JjC"}
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, useTranslation } from 'react-i18next';
9
- import { PHONE_INSTRUCTION, PHONE_IS_NOT_VALID, PHONE_LINE_CANNOT_BE_EMPTY, PHONE_NO_CHAR_ERROR, } from '../../constants/caseDetailsConstants';
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 { PHONE_LIMIT } from '../../reducers/CaseConstNTypes';
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 = getPhone().length > PHONE_LIMIT
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 && isPhoneNumberInvalid) && (React.createElement("p", { className: "form-instructions" },
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
- getPhone().length > PHONE_LIMIT && (React.createElement("p", { className: "form-instructions form-invalid" }, maxLengthErrorMessage)),
106
- isPhoneNumberEmpty && isNextBtnClickedToShowValidationError && (React.createElement("p", { className: "form-instructions form-invalid" },
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,eAiXzC;kBAjXQ,mBAAmB;;;AAoX5B,OAAO,EAAE,mBAAmB,EAAE,CAAC"}
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":"AAcA,UAAU,MAAM;IACZ,cAAc,EAAE,OAAO,CAAC;CAC3B;AAUD,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,KAAK,EAAE,MAAM,eAuEpD"}
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":"AAGA,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,gBAsBzB;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
+ {"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: parseMarkdownWithTracking(rule.description, SessionResourceSource.EDMOUND_ABOTT, 'ts-known-vuln', 'se-recommended-asa-rule') }));
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":"AAcA,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,eAiK1E"}
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
- return parseDotMarkdownWithTracking(moreInfo, reportDetails, SessionResourceSource.INSIGHTS, 'ts-result-insights', 'se-recommended-insights-rule');
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,eAyM/C"}
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 [isResloving, setIsResloving] = useState(false);
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
- setIsResloving(true);
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
- setIsResloving(false);
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: isResloving, "data-tracking-id": "session-resolved-yes" }, isResloving ? React.createElement(LoadingIndicator, { isInline: true }) : React.createElement(OutlinedThumbsUpIcon, null)),
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":"AAUA,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,eAgU3C"}
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
- if (!isEmpty(caseDetails.caseNumber)) {
134
- session = Object.assign(Object.assign({}, session), { isActive: false, isResolved: true, caseNumber: caseDetails.caseNumber });
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,3 +1,4 @@
1
+ import '@patternfly/pfe-accordion';
1
2
  import { ITopContent } from '@cee-eng/hydrajs/@types/models/topContent/topContentModel';
2
3
  interface IProps {
3
4
  name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"TopContent.d.ts","sourceRoot":"","sources":["../../../../src/components/Suggestions/TopContent.tsx"],"names":[],"mappings":"AACA,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
+ {"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,3 +1,4 @@
1
+ import '@patternfly/pfe-accordion';
1
2
  import { pcm } from '@cee-eng/hydrajs';
2
3
  import { Tooltip } from '@patternfly/react-core';
3
4
  import map from 'lodash/map';
@@ -1 +1 @@
1
- {"version":3,"file":"Rule.d.ts","sourceRoot":"","sources":["../../../../src/components/shared/Rule.tsx"],"names":[],"mappings":"AAQA,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
+ {"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,eA2S/C"}
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, { useEffect, useState } from '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) && !isIdea && (React.createElement("span", { className: "text-muted" }, localFile.analysisMetadata.analysisErrorMesssage)),
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":"AAKA,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,OAarE,CAAC;AAEF,eAAO,MAAM,kBAAkB,UAAW,MAAM,WAG/C,CAAC"}
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
- const phoneLength = ((countryCode === null || countryCode === void 0 ? void 0 : countryCode.length) || 0) + ((phoneLine === null || phoneLine === void 0 ? void 0 : phoneLine.length) || 0) + 1;
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,eA4IzC"}
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,0BAA0B,6DAA6D,CAAC;AAErG,eAAO,MAAM,mBAAmB,uCAAuC,CAAC;AAExE,eAAO,MAAM,kBAAkB,6BAA6B,CAAC;AAE7D,eAAO,MAAM,iBAAiB,8EAA8E,CAAC"}
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":"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"}
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,OAmBF,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"}
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, loggedInUseeSsoUsername: string) => Promise<void>;
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":"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"}
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;AAS3B,OAAO,EAAE,0BAA0B,EAAiB,MAAM,yBAAyB,CAAC;AAEpF,eAAO,MAAM,WAAW,WAAY,UAAU,UAAU,GAAG,KAAG,UA6L7D,CAAC;AAGF,eAAO,MAAM,cAAc,aAAc,uBAAuB,aAAa,QAAQ,YAAY,CAAC,SAEjG,CAAC;AAEF,eAAO,MAAM,YAAY,aAAc,uBAAuB,aAAa,QAAQ,UAAU,CAAC,SAE7F,CAAC;AAEF,eAAO,MAAM,eAAe,aAAc,uBAAuB,gCAAgC,QAAQ,EAAE,SAK1G,CAAC;AAEF,eAAO,MAAM,UAAU,aACT,uBAAuB,0BACT,0BAA0B,eACrC,UAAU,eACV,YAAY,gBACX,OAAO,mBACJ,MAAM,GAAG,WAAW,2BACZ,MAAM,oBACd,OAAO,kBAqC3B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,oCAAoC,aAAc,uBAAuB,qBAUrF,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,6BAA6B,aAAc,uBAAuB,eAAe,OAAO,SAOpG,CAAC;AAEF,eAAO,MAAM,0BAA0B,aACzB,uBAAuB,cACrB,MAAM,eACL,UAAU,kBAG1B,CAAC;AAEF,eAAO,MAAM,cAAc,aACb,uBAAuB,cACrB,MAAM,cACN,WAAW,kBAoB1B,CAAC;AAEF,eAAO,MAAM,sBAAsB,aACrB,uBAAuB,QAC3B,mBAAmB,EAAE,sBACP,iBAAiB,EAAE,SAO1C,CAAC;AAEF,eAAO,MAAM,mBAAmB,aAAoB,uBAAuB,WAAW,MAAM,eAAe,MAAM,kBAYhH,CAAC;AAEF,eAAO,MAAM,kBAAkB,aACjB,uBAAuB,cACrB,MAAM,eACL,QAAQ,UAAU,CAAC,kBAmBnC,CAAC;AAEF,eAAO,MAAM,mBAAmB,aAClB,uBAAuB,cACrB,MAAM,gBACJ,MAAM,EAAE,kBAoBzB,CAAC;AAEF,eAAO,MAAM,mBAAmB,aAClB,uBAAuB,cACrB,MAAM,cACN,QAAQ,EAAE,kBAmBzB,CAAC;AAEF,eAAO,MAAM,oBAAoB,aAAc,uBAAuB,SASrE,CAAC;AAEF,eAAO,MAAM,oBAAoB,aACnB,uBAAuB,iBAClB,MAAM,0DAEA,QAAQ,QAAQ,CAAC,kBA8CzC,CAAC;AAEF,eAAO,MAAM,YAAY,aACX,uBAAuB,SAC1B,QAAQ,WACN,MAAM,yBACQ,WAAW,4BACR,WAAW,2DAEV,MAAM,GAAG,SAAS,kBAmChD,CAAC;AA8BF,eAAO,MAAM,qBAAqB,aACpB,uBAAuB,sBACb,MAAM,8CAEZ,WAAW,6BACE,MAAM,GAAG,SAAS,kBAyBhD,CAAC;AAIF,eAAO,MAAM,qBAAqB,aACpB,uBAAuB,eACpB,YAAY,6BACE,MAAM,uBACZ,QAAQ,wBACR,QAAQ,QAAQ,CAAC,kBAiDzC,CAAC;AAmCF,eAAO,MAAM,gBAAgB,aACf,uBAAuB,cACrB,MAAM,8DAGH,QAAQ,YAAY,CAAC,kBAsGvC,CAAC;AAEF,eAAO,MAAM,iBAAiB,aAChB,uBAAuB,cACrB,MAAM,eACL,QAAQ,YAAY,CAAC,mBACjB,OAAO,mBAiB3B,CAAC;AAEF,eAAO,MAAM,oCAAoC,aACnC,uBAAuB,SAC1B,aAAa,EAAE,gBACR,MAAM,kBAmCvB,CAAC;AAEF,eAAO,MAAM,oCAAoC,aACnC,uBAAuB,yEAInB,MAAM,kBACJ,MAAM,kBAgFzB,CAAC;AAEF,eAAO,MAAM,yCAAyC,aACxC,uBAAuB,cACrB,OAAO,iBACJ,MAAM,SAMxB,CAAC;AAIF,eAAO,MAAM,yBAAyB,aACxB,uBAAuB,iBAClB,MAAM,eACR,MAAM,sBACC,QAAQ,kBA6B/B,CAAC;AAEF,wBAAsB,2BAA2B,CAAC,QAAQ,EAAE,uBAAuB,EAAE,UAAU,EAAE,MAAM,iBAmBtG;AAGD,wBAAgB,oBAAoB,CAChC,QAAQ,EAAE,uBAAuB,EACjC,KAAK,EAAE,MAAM,EACb,gBAAgB,EAAE,mBAAmB,CAAC,OAAO,CAAC,0BAA0B,EAAE,CAAC,CAAC,EAC5E,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,0BAA0B,EAAE,QAO5D;AAED,wBAAsB,kBAAkB,CAAC,QAAQ,EAAE,uBAAuB,EAAE,OAAO,EAAE,MAAM,iBAiB1F;AAED,eAAO,MAAM,kBAAkB,aAAc,uBAAuB,QAAQ,OAAO,SAKlF,CAAC"}
@@ -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, loggedInUseeSsoUsername) => __awaiter(void 0, void 0, void 0, function* () {
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 === loggedInUseeSsoUsername &&
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":"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"}
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.18-beta.0",
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.8-beta.0",
63
- "@rh-support/react-context": "2.1.8-beta.0",
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.3-beta.0",
66
- "@rh-support/utils": "2.1.1-beta.0",
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": "26b230a88e7957f7162cbd51622a640abaa328f8"
136
+ "gitHead": "8f7f0aee0461c78e8a5cc0e16777371c4ae1305d"
130
137
  }