@rh-support/troubleshoot 2.5.32 → 2.5.33

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 (44) hide show
  1. package/lib/esm/components/CaseEditView/Case.d.ts.map +1 -1
  2. package/lib/esm/components/CaseEditView/Case.js +31 -14
  3. package/lib/esm/components/CaseEditView/CaseDetailsTabs.d.ts.map +1 -1
  4. package/lib/esm/components/CaseEditView/CaseDetailsTabs.js +2 -1
  5. package/lib/esm/components/CaseEditView/CaseOverview/CaseStatus.js +1 -1
  6. package/lib/esm/components/CaseEditView/CaseOverview/index.js +1 -1
  7. package/lib/esm/components/CaseEditView/CaseSolutions/CaseSolutions.d.ts.map +1 -1
  8. package/lib/esm/components/CaseEditView/CaseSolutions/CaseSolutions.js +7 -2
  9. package/lib/esm/components/CaseEditView/RequestRemoteSession/NewEssTermsModal.d.ts.map +1 -1
  10. package/lib/esm/components/CaseEditView/RequestRemoteSession/NewEssTermsModal.js +6 -4
  11. package/lib/esm/components/CaseEditView/RequestRemoteSession/RemoteSessionAgreementModal.d.ts.map +1 -1
  12. package/lib/esm/components/CaseEditView/RequestRemoteSession/RemoteSessionAgreementModal.js +6 -4
  13. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/useCustomEmails.d.ts +2 -1
  14. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/useCustomEmails.d.ts.map +1 -1
  15. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/useCustomEmails.js +3 -2
  16. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/CaseComments.d.ts.map +1 -1
  17. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/CaseComments.js +2 -1
  18. package/lib/esm/components/CaseInformation/Severity.d.ts.map +1 -1
  19. package/lib/esm/components/CaseInformation/Severity.js +1 -1
  20. package/lib/esm/components/Cve/CveModal.d.ts.map +1 -1
  21. package/lib/esm/components/Cve/CveModal.js +3 -2
  22. package/lib/esm/components/ProductSelector/AllProductsSelector.d.ts.map +1 -1
  23. package/lib/esm/components/ProductSelector/AllProductsSelector.js +7 -5
  24. package/lib/esm/components/Recommendations/Recommendations.d.ts.map +1 -1
  25. package/lib/esm/components/Recommendations/Recommendations.js +9 -4
  26. package/lib/esm/components/shared/useIsSectionValid.js +12 -12
  27. package/lib/esm/components/wizardLayout/WizardAside.d.ts.map +1 -1
  28. package/lib/esm/components/wizardLayout/WizardAside.js +4 -3
  29. package/lib/esm/components/wizardLayout/WizardNavigation.d.ts.map +1 -1
  30. package/lib/esm/components/wizardLayout/WizardNavigation.js +13 -9
  31. package/lib/esm/css/case.css +5 -0
  32. package/lib/esm/enums/Kcs.d.ts +5 -0
  33. package/lib/esm/enums/Kcs.d.ts.map +1 -0
  34. package/lib/esm/enums/Kcs.js +5 -0
  35. package/lib/esm/hooks/useWizard.d.ts.map +1 -1
  36. package/lib/esm/hooks/useWizard.js +10 -8
  37. package/lib/esm/reducers/RouteConstNTypes.d.ts +3 -2
  38. package/lib/esm/reducers/RouteConstNTypes.d.ts.map +1 -1
  39. package/lib/esm/reducers/RouteConstNTypes.js +30 -26
  40. package/lib/esm/reducers/RulesReducer.d.ts.map +1 -1
  41. package/lib/esm/reducers/RulesReducer.js +5 -1
  42. package/lib/esm/utils/routeUtils.d.ts.map +1 -1
  43. package/lib/esm/utils/routeUtils.js +7 -3
  44. package/package.json +6 -6
@@ -1 +1 @@
1
- {"version":3,"file":"Case.d.ts","sourceRoot":"","sources":["../../../../src/components/CaseEditView/Case.tsx"],"names":[],"mappings":"AAcA,OAAO,KAAwC,MAAM,OAAO,CAAC;AAE7D,OAAO,EAAS,mBAAmB,EAAiD,MAAM,kBAAkB,CAAC;AAkB7G,UAAU,MAAM;IACZ,UAAU,EAAE,mBAAmB,CAAC;CACnC;AAED,MAAM,CAAC,OAAO,UAAU,IAAI,CAAC,KAAK,EAAE,MAAM,qBA6LzC"}
1
+ {"version":3,"file":"Case.d.ts","sourceRoot":"","sources":["../../../../src/components/CaseEditView/Case.tsx"],"names":[],"mappings":"AAcA,OAAO,KAAwC,MAAM,OAAO,CAAC;AAE7D,OAAO,EAAS,mBAAmB,EAAiD,MAAM,kBAAkB,CAAC;AAkB7G,UAAU,MAAM;IACZ,UAAU,EAAE,mBAAmB,CAAC;CACnC;AAED,MAAM,CAAC,OAAO,UAAU,IAAI,CAAC,KAAK,EAAE,MAAM,qBA+MzC"}
@@ -1,3 +1,12 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
1
10
  import { CoverSpinner, ErrorBoundary, OverviewContentLoader, ToastNotification, useDocumentTitle, usePrevious, } from '@rh-support/components';
2
11
  import { GlobalMetadataStateContext, HostnameAwarenessModal } from '@rh-support/react-context';
3
12
  import { AbilityContext, CaseDetailsFields, resourceActions, resources } from '@rh-support/user-permissions';
@@ -73,6 +82,8 @@ export default function Case(props) {
73
82
  }
74
83
  // eslint-disable-next-line react-hooks/exhaustive-deps
75
84
  }, [loggedInUsersAccount.data]);
85
+ // Create a ref to track the current case number
86
+ const currentCaseRef = useRef(caseNumber);
76
87
  useEffect(() => {
77
88
  if (caseNumber === previousCaseNumber)
78
89
  return;
@@ -80,20 +91,26 @@ export default function Case(props) {
80
91
  props.routeProps.history.replace('/case/list');
81
92
  return;
82
93
  }
83
- if (caseNumber) {
84
- fetchCaseDetails(caseDispatch, caseNumber, loggedInUserRights.data, loggedInUser.data);
85
- canSeeRMEs &&
86
- fetchCaseEscalations(caseDetailsPageDispatch, caseNumber, loggedInUserRights.data.getAccountNumber());
87
- // fetch data in advance
88
- canSeeAttachments &&
89
- fetchAttachments(caseDetailsPageDispatch, caseNumber, loggedInUsersAccount.data.secureSupport);
90
- canSeeExternalTracker && fetchExternalTrackers(caseDetailsPageDispatch, caseNumber);
91
- checkRemoteSessionFlag();
92
- }
93
- if (canSeeFeedbackButtons && caseNumber) {
94
- // fetch data in advance
95
- fetchFeedbacks(caseDetailsPageDispatch, caseNumber);
96
- }
94
+ currentCaseRef.current = caseNumber;
95
+ const handleCaseChange = () => __awaiter(this, void 0, void 0, function* () {
96
+ if (currentCaseRef.current === caseNumber) {
97
+ yield fetchCaseDetails(caseDispatch, caseNumber, loggedInUserRights.data, loggedInUser.data);
98
+ if (canSeeRMEs) {
99
+ fetchCaseEscalations(caseDetailsPageDispatch, caseNumber, loggedInUserRights.data.getAccountNumber());
100
+ }
101
+ if (canSeeAttachments) {
102
+ fetchAttachments(caseDetailsPageDispatch, caseNumber, loggedInUsersAccount.data.secureSupport);
103
+ }
104
+ if (canSeeExternalTracker) {
105
+ fetchExternalTrackers(caseDetailsPageDispatch, caseNumber);
106
+ }
107
+ checkRemoteSessionFlag();
108
+ if (canSeeFeedbackButtons) {
109
+ fetchFeedbacks(caseDetailsPageDispatch, caseNumber);
110
+ }
111
+ }
112
+ });
113
+ handleCaseChange();
97
114
  // eslint-disable-next-line react-hooks/exhaustive-deps
98
115
  }, [
99
116
  caseNumber,
@@ -1 +1 @@
1
- {"version":3,"file":"CaseDetailsTabs.d.ts","sourceRoot":"","sources":["../../../../src/components/CaseEditView/CaseDetailsTabs.tsx"],"names":[],"mappings":"AAeA,OAAO,KAAiD,MAAM,OAAO,CAAC;AAEtE,OAAO,EAAE,mBAAmB,EAAa,MAAM,kBAAkB,CAAC;AAyBlE,UAAU,MAAM;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,mBAAmB,CAAC;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,KAAK,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;CACnD;AACD,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,qBAkO5C"}
1
+ {"version":3,"file":"CaseDetailsTabs.d.ts","sourceRoot":"","sources":["../../../../src/components/CaseEditView/CaseDetailsTabs.tsx"],"names":[],"mappings":"AAeA,OAAO,KAAiD,MAAM,OAAO,CAAC;AAEtE,OAAO,EAAE,mBAAmB,EAAa,MAAM,kBAAkB,CAAC;AAyBlE,UAAU,MAAM;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,mBAAmB,CAAC;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,KAAK,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;CACnD;AACD,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,qBAmO5C"}
@@ -20,7 +20,7 @@ const RMEEscalationList = React.lazy(() => import(/* webpackChunkName: 'RMEEscal
20
20
  export function CaseDetailsTabs(props) {
21
21
  const { caseNumber } = props;
22
22
  const { activeTab } = useParams();
23
- const { globalMetadataState: { loggedInUserRights, loggedInUsersAccount }, } = useContext(GlobalMetadataStateContext);
23
+ const { globalMetadataState: { loggedInUserRights, loggedInUsersAccount, viewAsCustomer }, } = useContext(GlobalMetadataStateContext);
24
24
  const { accountNumber, chats, comments, status } = useCaseSelector((state) => ({
25
25
  accountNumber: state.caseDetails.accountNumberRef,
26
26
  chats: state.caseDetails.chats,
@@ -69,6 +69,7 @@ export function CaseDetailsTabs(props) {
69
69
  component: (React.createElement(CaseDetailsManagement, { caseNumber: caseNumber, routeProps: props.routeProps, tabRef: managementTabRef })),
70
70
  });
71
71
  loggedInUserRights.data.isInternal() &&
72
+ !viewAsCustomer &&
72
73
  tabsToRender.push({
73
74
  'data-tracking-id': 'case-details-related-tasks-tab',
74
75
  key: 'relatedTasks',
@@ -50,7 +50,7 @@ function CaseStatus(props) {
50
50
  React.createElement(Trans, null, "Status"),
51
51
  React.createElement(ValueChangedIcon, { afterLocalChange: afterLocalChange, isLocalChange: localStatusChange, value: props.selectedStatus, getTooltipContent: getChangedValueTooltip(() => CaseValuesToWatch.status) }),
52
52
  React.createElement("span", { className: `form-required ${isExportingPDF ? 'hide-in-pdf' : ''}`, "aria-hidden": true }, "*")),
53
- React.createElement(SingleSelectDropdown, { placeholder: t(`Select a status`), dataTrackingId: "case-details-status-selector", options: getDropdownOptions, selected: getSelectedDropdownOption, isDisabled: props.hasError || props.isDisabled, isLoading: props.isFetching, isInvalid: isCaseStatusInValid, onSelect: onCaseStatusChange })));
53
+ React.createElement(SingleSelectDropdown, { placeholder: t(`Select a status`), dataTrackingId: "case-details-status-selector", options: getDropdownOptions, selected: getSelectedDropdownOption, isDisabled: props.hasError || props.isDisabled || props.isFetching, isLoading: props.isFetching, isInvalid: isCaseStatusInValid, onSelect: onCaseStatusChange })));
54
54
  }
55
55
  CaseStatus.defaultProps = defaultProps;
56
56
  export default CaseStatus;
@@ -244,7 +244,7 @@ export default function CaseOverview(props) {
244
244
  props.caseNumber),
245
245
  React.createElement("div", null,
246
246
  exportPDFButton(props.caseNumber),
247
- React.createElement(Button, Object.assign({ className: `pf-v5-u-ml-md ${isExportingPDF ? 'hide-in-pdf' : ''}`, isDisabled: !canManageCase || (caseOverviewState.caseStatusUpdating && isCaseUpdating) }, (caseOverviewState.caseStatusUpdating &&
247
+ React.createElement(Button, Object.assign({ className: `pf-v5-u-ml-md ${isExportingPDF ? 'hide-in-pdf' : ''}`, isDisabled: !canManageCase }, ((showCloseCaseModal || showReOpenCaseModal) &&
248
248
  isCaseUpdating && {
249
249
  isLoading: true,
250
250
  }), { onClick: () => (isCaseInOpenState ? onCaseClose() : onCaseReopen()), variant: isCaseInOpenState ? ButtonVariant.secondary : ButtonVariant.tertiary, "data-tracking-id": isCaseInOpenState
@@ -1 +1 @@
1
- {"version":3,"file":"CaseSolutions.d.ts","sourceRoot":"","sources":["../../../../../src/components/CaseEditView/CaseSolutions/CaseSolutions.tsx"],"names":[],"mappings":"AAmBA,OAAO,KAAsD,MAAM,OAAO,CAAC;AAuE3E,UAAU,MAAM;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,sBAAsB,EAAE,OAAO,CAAC;CACnC;AAUD,eAAO,MAAM,aAAa,+EA8gBxB,CAAC"}
1
+ {"version":3,"file":"CaseSolutions.d.ts","sourceRoot":"","sources":["../../../../../src/components/CaseEditView/CaseSolutions/CaseSolutions.tsx"],"names":[],"mappings":"AAmBA,OAAO,KAAsD,MAAM,OAAO,CAAC;AAwE3E,UAAU,MAAM;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,sBAAsB,EAAE,OAAO,CAAC;CACnC;AAUD,eAAO,MAAM,aAAa,+EAohBxB,CAAC"}
@@ -33,6 +33,7 @@ import { CaseStatusEnum } from '../../../constants/caseDetailsConstants';
33
33
  import { useCaseDispatch, useCaseSelector } from '../../../context/CaseContext';
34
34
  import { CaseOverviewDispatchContext } from '../../../context/CaseOverviewContext';
35
35
  import { useRecommendationDispatchContext, useRecommendationStateContext, } from '../../../context/RecommendationContext';
36
+ import { SolutionModerationStates } from '../../../enums/Kcs';
36
37
  import { useCaseUpdateErrorMessage } from '../../../hooks/useCaseUpdateErrorMessage';
37
38
  import { setStatusUpdating } from '../../../reducers/CaseOverviewReducer';
38
39
  import { updateCaseDetails } from '../../../reducers/CaseReducer';
@@ -223,9 +224,13 @@ export const CaseSolutions = forwardRef((props, ref) => {
223
224
  summary,
224
225
  description: extractKTQuestion1FromDescription(description),
225
226
  };
227
+ const additionalFilters = {
228
+ // Filter out any unpublished resources.
229
+ ModerationState: { values: [SolutionModerationStates.Draft], exclude: true },
230
+ };
226
231
  !loggedInUsersAccount.data.secureSupport
227
- ? fetchWatsonXRecommendations(recommendationsDispatch, payload, 50, 5, 300, true)
228
- : fetchRecommendations(recommendationsDispatch, payload, 50, 5, 300, false, caseNumber, isSecureSupportAccount);
232
+ ? fetchWatsonXRecommendations(recommendationsDispatch, payload, 50, 5, 300, true, additionalFilters)
233
+ : fetchRecommendations(recommendationsDispatch, payload, 50, 5, 300, false, caseNumber, isSecureSupportAccount, additionalFilters);
229
234
  }
230
235
  }
231
236
  fetchRecs();
@@ -1 +1 @@
1
- {"version":3,"file":"NewEssTermsModal.d.ts","sourceRoot":"","sources":["../../../../../src/components/CaseEditView/RequestRemoteSession/NewEssTermsModal.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAExD,OAAO,KAA8B,MAAM,OAAO,CAAC;AAYnD,UAAU,MAAM;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,OAAO,CAAC;IACd,kBAAkB,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAClD,QAAQ,EAAE,OAAO,CAAC;CACrB;AAiBD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,qBAwW7C"}
1
+ {"version":3,"file":"NewEssTermsModal.d.ts","sourceRoot":"","sources":["../../../../../src/components/CaseEditView/RequestRemoteSession/NewEssTermsModal.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAExD,OAAO,KAA8B,MAAM,OAAO,CAAC;AAYnD,UAAU,MAAM;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,OAAO,CAAC;IACd,kBAAkB,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAClD,QAAQ,EAAE,OAAO,CAAC;CACrB;AAiBD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,qBA4W7C"}
@@ -104,7 +104,7 @@ export function NewEssTermsModal(props) {
104
104
  };
105
105
  // Function to ack remote session terms and post comment
106
106
  const submitRemoteSessionAgreement = (pdfId) => __awaiter(this, void 0, void 0, function* () {
107
- const requestComment = t(`Submitted a remote session request with following details:\n\n**Expectations of remote session**\n${sessionExpectations}\n\n**Describe the impact to you or the business**\n${impact}\n\n${sessionLink ? `**Remote session link**\n[${sessionLink}](${sessionLink})\n\n` : ''}This action does not initiate a remote session. A Red Hat Associate will get back to you soon.`);
107
+ const requestComment = t(`Submitted a remote session request with following details:\n\n**Preferred Time and Expectations for Remote Session**\n${sessionExpectations}\n\n**Describe the impact to you or the business**\n${impact}\n\n${sessionLink ? `**Remote session link**\n[${sessionLink}](${sessionLink})\n\n` : ''}This action does not initiate a remote session. A Red Hat Associate will get back to you soon.`);
108
108
  try {
109
109
  yield updateCaseDetails(caseDispatch, props.caseNumber, {
110
110
  remoteSessionTermsAcked: true,
@@ -168,7 +168,9 @@ export function NewEssTermsModal(props) {
168
168
  // To check and if I agree button is loading
169
169
  const isAgreeLoading = agreeLoading || isPostingComment;
170
170
  const modalActions = [
171
- React.createElement(Button, { "aria-label": t('I agree'), variant: ButtonVariant.primary, onClick: isRemoteSessionForm || remoteSessionTermsAcked ? onSubmit : toggleRemoteSessionForm, "data-tracking-id": "remote-session-agreement-check", isLoading: isAgreeLoading, isDisabled: (isRemoteSessionForm || remoteSessionTermsAcked
171
+ React.createElement(Button, { "aria-label": t('I agree'), variant: ButtonVariant.primary, onClick: isRemoteSessionForm || remoteSessionTermsAcked ? onSubmit : toggleRemoteSessionForm, "data-tracking-id": isRemoteSessionForm || remoteSessionTermsAcked
172
+ ? 'remote-session-details-submission'
173
+ : 'remote-session-agreement-check', isLoading: isAgreeLoading, isDisabled: (isRemoteSessionForm || remoteSessionTermsAcked
172
174
  ? !sessionExpectations.trim() || !impact.trim()
173
175
  : !isTermsChecked) || isAgreeLoading }, t(isRemoteSessionForm || remoteSessionTermsAcked ? 'Submit' : 'I agree')),
174
176
  React.createElement(Button, { key: "cancel", variant: "link", onClick: onCancel, isDisabled: isAgreeLoading }, "Cancel"),
@@ -180,9 +182,9 @@ export function NewEssTermsModal(props) {
180
182
  React.createElement("a", { href: "https://access.redhat.com/articles/3566571", target: "_blank", rel: "noopener noreferrer" }, "Read more.")) }),
181
183
  React.createElement("div", null,
182
184
  React.createElement("label", { className: "pf-v5-u-mt-md" },
183
- React.createElement(Trans, null, "Expectations of remote session"),
185
+ React.createElement(Trans, null, "Preferred Time and Expectations for Remote Session"),
184
186
  React.createElement("span", { className: "form-required", "aria-hidden": "true" }, "*")),
185
- React.createElement(TextArea, { value: sessionExpectations, onChange: updateSessionExpectation, rows: 3, placeholder: "Please share anything that will help prepare for our meeting?", isRequired: true, "aria-label": "Expectations of remote session" })),
187
+ React.createElement(TextArea, { value: sessionExpectations, onChange: updateSessionExpectation, rows: 3, placeholder: "Please share anything that will help prepare for our meeting?", isRequired: true, "aria-label": "Preferred Time and Expectations for Remote Session" })),
186
188
  React.createElement("div", null,
187
189
  React.createElement("label", { className: "pf-v5-u-mt-md" },
188
190
  React.createElement(Trans, null, "Describe the impact to you or the business"),
@@ -1 +1 @@
1
- {"version":3,"file":"RemoteSessionAgreementModal.d.ts","sourceRoot":"","sources":["../../../../../src/components/CaseEditView/RequestRemoteSession/RemoteSessionAgreementModal.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAExD,OAAO,KAA8B,MAAM,OAAO,CAAC;AAgBnD,UAAU,MAAM;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,OAAO,CAAC;IACd,kBAAkB,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAClD,QAAQ,EAAE,OAAO,CAAC;CACrB;AAiBD,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,MAAM,qBAkWxD"}
1
+ {"version":3,"file":"RemoteSessionAgreementModal.d.ts","sourceRoot":"","sources":["../../../../../src/components/CaseEditView/RequestRemoteSession/RemoteSessionAgreementModal.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAExD,OAAO,KAA8B,MAAM,OAAO,CAAC;AAgBnD,UAAU,MAAM;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,OAAO,CAAC;IACd,kBAAkB,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAClD,QAAQ,EAAE,OAAO,CAAC;CACrB;AAiBD,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,MAAM,qBAsWxD"}
@@ -105,7 +105,7 @@ export function RemoteSessionAgreementModal(props) {
105
105
  const toggleRemoteSessionForm = () => setIsRemoteSessionForm(true);
106
106
  // Function to ack remote session terms and post comment
107
107
  const submitRemoteSessionAgreement = (pdfId) => __awaiter(this, void 0, void 0, function* () {
108
- const requestComment = t(`Submitted a remote session request with following details:\n\n**Expectations of remote session**\n${sessionExpectations}\n\n**Describe the impact to you or the business**\n${impact}\n\n${sessionLink ? `**Remote session link**\n[${sessionLink}](${sessionLink})\n\n` : ''}This action does not initiate a remote session. A Red Hat Associate will get back to you soon.`);
108
+ const requestComment = t(`Submitted a remote session request with following details:\n\n**Preferred Time and Expectations for Remote Session**\n${sessionExpectations}\n\n**Describe the impact to you or the business**\n${impact}\n\n${sessionLink ? `**Remote session link**\n[${sessionLink}](${sessionLink})\n\n` : ''}This action does not initiate a remote session. A Red Hat Associate will get back to you soon.`);
109
109
  try {
110
110
  yield updateCaseDetails(caseDispatch, props.caseNumber, {
111
111
  remoteSessionTermsAcked: true,
@@ -162,7 +162,9 @@ export function RemoteSessionAgreementModal(props) {
162
162
  const isAgreeLoading = agreeLoading || isPostingComment;
163
163
  // RSA Modal Actions
164
164
  const modalActions = [
165
- React.createElement(Button, { "aria-label": t('I agree'), variant: ButtonVariant.primary, onClick: isRemoteSessionForm || remoteSessionTermsAcked ? onSubmit : toggleRemoteSessionForm, "data-tracking-id": "remote-session-agreement-check", isLoading: isAgreeLoading, isDisabled: (isRemoteSessionForm || remoteSessionTermsAcked
165
+ React.createElement(Button, { "aria-label": t('I agree'), variant: ButtonVariant.primary, onClick: isRemoteSessionForm || remoteSessionTermsAcked ? onSubmit : toggleRemoteSessionForm, "data-tracking-id": isRemoteSessionForm || remoteSessionTermsAcked
166
+ ? 'remote-session-details-submission'
167
+ : 'remote-session-agreement-check', isLoading: isAgreeLoading, isDisabled: (isRemoteSessionForm || remoteSessionTermsAcked
166
168
  ? !sessionExpectations.trim() || !impact.trim()
167
169
  : !isTermsChecked) || isAgreeLoading }, t(isRemoteSessionForm || remoteSessionTermsAcked ? 'Submit' : 'I agree')),
168
170
  React.createElement(Button, { key: "cancel", variant: "link", onClick: onCancel, isDisabled: isAgreeLoading }, "Cancel"),
@@ -174,9 +176,9 @@ export function RemoteSessionAgreementModal(props) {
174
176
  React.createElement("a", { href: "https://access.redhat.com/articles/3566571", target: "_blank", rel: "noopener noreferrer" }, "Read more.")) }),
175
177
  React.createElement("div", null,
176
178
  React.createElement("label", { className: "pf-v5-u-mt-md" },
177
- React.createElement(Trans, null, "Expectations of remote session"),
179
+ React.createElement(Trans, null, "Preferred Time and Expectations for Remote Session"),
178
180
  React.createElement("span", { className: "form-required", "aria-hidden": "true" }, "*")),
179
- React.createElement(TextArea, { value: sessionExpectations, onChange: updateSessionExpectation, rows: 3, placeholder: "Please share anything that will help prepare for our meeting?", isRequired: true, "aria-label": "Expectations of remote session" })),
181
+ React.createElement(TextArea, { value: sessionExpectations, onChange: updateSessionExpectation, rows: 3, placeholder: "Please share anything that will help prepare for our meeting?", isRequired: true, "aria-label": "Preferred Time and Expectations for Remote Session" })),
180
182
  React.createElement("div", null,
181
183
  React.createElement("label", { className: "pf-v5-u-mt-md" },
182
184
  React.createElement(Trans, null, "Describe the impact to you or the business"),
@@ -1,4 +1,4 @@
1
- import { isEmailValid } from '@rh-support/utils';
1
+ import { isEmailValid, isEmailValidForCaseContactSelector } from '@rh-support/utils';
2
2
  interface IProps {
3
3
  caseNumber: string;
4
4
  accountNumber: string;
@@ -9,6 +9,7 @@ export declare function useCustomEmails(props: IProps): {
9
9
  canAddCustomEmail: boolean;
10
10
  hideCustomEmails: boolean;
11
11
  isEmailValid: typeof isEmailValid;
12
+ isEmailValidForCaseContactSelector: typeof isEmailValidForCaseContactSelector;
12
13
  isUpdatingCustomEmails: boolean;
13
14
  showAddEmailToAccountModal: (emailString: string) => Promise<boolean>;
14
15
  };
@@ -1 +1 @@
1
- {"version":3,"file":"useCustomEmails.d.ts","sourceRoot":"","sources":["../../../../../../src/components/CaseEditView/Tabs/CaseDetails/useCustomEmails.tsx"],"names":[],"mappings":"AAQA,OAAO,EAAwB,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAYvE,UAAU,MAAM;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;CACzB;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM;+BAyED,MAAM;+BAnCN,MAAM,UAAU,MAAM,IAAI;;;;;8CAbX,MAAM;EAiGhE"}
1
+ {"version":3,"file":"useCustomEmails.d.ts","sourceRoot":"","sources":["../../../../../../src/components/CaseEditView/Tabs/CaseDetails/useCustomEmails.tsx"],"names":[],"mappings":"AAQA,OAAO,EAAwB,YAAY,EAAE,kCAAkC,EAAE,MAAM,mBAAmB,CAAC;AAY3G,UAAU,MAAM;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;CACzB;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM;+BAyED,MAAM;+BAnCN,MAAM,UAAU,MAAM,IAAI;;;;;;8CAbX,MAAM;EAkGhE"}
@@ -11,7 +11,7 @@ import { kase } from '@cee-eng/hydrajs';
11
11
  import { PromisifyModal, ToastNotification, useFetch } from '@rh-support/components';
12
12
  import { fetchAccountCustomEmails, GlobalMetadataDispatchContext, GlobalMetadataStateContext, } from '@rh-support/react-context';
13
13
  import { ability, CaseDetailsFields, resourceActions, resources } from '@rh-support/user-permissions';
14
- import { haventLoadedMetadata, isEmailValid } from '@rh-support/utils';
14
+ import { haventLoadedMetadata, isEmailValid, isEmailValidForCaseContactSelector } from '@rh-support/utils';
15
15
  import findIndex from 'lodash/findIndex';
16
16
  import isEmpty from 'lodash/isEmpty';
17
17
  import isEqual from 'lodash/isEqual';
@@ -44,7 +44,7 @@ export function useCustomEmails(props) {
44
44
  });
45
45
  const addCustomEmail = (emailVal_1, onAdd_1, ...args_1) => __awaiter(this, [emailVal_1, onAdd_1, ...args_1], void 0, function* (emailVal, onAdd, skipAccountCheck = false) {
46
46
  try {
47
- if (isEmpty(emailVal) || !isEmailValid(emailVal)) {
47
+ if (isEmpty(emailVal) || !isEmailValidForCaseContactSelector(emailVal)) {
48
48
  return;
49
49
  }
50
50
  // lower case the email vals to avoid sfdc error
@@ -112,6 +112,7 @@ export function useCustomEmails(props) {
112
112
  canAddCustomEmail,
113
113
  hideCustomEmails,
114
114
  isEmailValid,
115
+ isEmailValidForCaseContactSelector,
115
116
  isUpdatingCustomEmails: deleteEmail.isFetching || addNewEmail.isFetching,
116
117
  showAddEmailToAccountModal,
117
118
  };
@@ -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;AA8BvE,OAAO,KAAkD,MAAM,OAAO,CAAC;AAQvE,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,4EAkVhB,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;AA+BvE,OAAO,KAAkD,MAAM,OAAO,CAAC;AAQvE,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,4EAkVhB,CAAC;AAEH,eAAe,YAAY,CAAC"}
@@ -22,6 +22,7 @@ import { AbilityContext, CaseDetailsFields, CaseDiscussionFields, resourceAction
22
22
  import { formatDateTime, linkifyLinks } from '@rh-support/utils';
23
23
  import DOMPurify from 'dompurify';
24
24
  import isEmpty from 'lodash/isEmpty';
25
+ import isEqual from 'lodash/isEqual';
25
26
  import React, { useContext, useEffect, useRef, useState } from 'react';
26
27
  import { Trans, useTranslation } from 'react-i18next';
27
28
  import { DiscussionType } from '../../../../reducers/CaseDiscussionTabReducer';
@@ -99,7 +100,7 @@ const CaseComments = React.forwardRef((props, ref) => {
99
100
  }
100
101
  };
101
102
  const computePrivateComment = (comment) => {
102
- if (!props.comment.isPublic) {
103
+ if (!props.comment.isPublic || isEqual(props.comment.visibility, 'Partner')) {
103
104
  return 'private';
104
105
  }
105
106
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"Severity.d.ts","sourceRoot":"","sources":["../../../../src/components/CaseInformation/Severity.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AAMvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAa5D,OAAO,KAA0C,MAAM,OAAO,CAAC;AAW/D,UAAU,MAAO,SAAQ,gBAAgB;IACrC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,gBAAgB,CAAC,EAAE,CAAC,WAAW,EAAE,OAAO,CAAC,YAAY,CAAC,KAAK,IAAI,CAAC;IAChE,oBAAoB,EAAE,OAAO,CAAC;CACjC;AASD,MAAM,WAAW,gBAAgB;IAC7B,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,GAAG,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC;CACxD;AAED,iBAAS,QAAQ,CAAC,KAAK,EAAE,MAAM,qBAwQ9B;kBAxQQ,QAAQ;;;AA0QjB,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"Severity.d.ts","sourceRoot":"","sources":["../../../../src/components/CaseInformation/Severity.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AAMvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAa5D,OAAO,KAA0C,MAAM,OAAO,CAAC;AAW/D,UAAU,MAAO,SAAQ,gBAAgB;IACrC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,gBAAgB,CAAC,EAAE,CAAC,WAAW,EAAE,OAAO,CAAC,YAAY,CAAC,KAAK,IAAI,CAAC;IAChE,oBAAoB,EAAE,OAAO,CAAC;CACjC;AASD,MAAM,WAAW,gBAAgB;IAC7B,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,GAAG,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC;CACxD;AAED,iBAAS,QAAQ,CAAC,KAAK,EAAE,MAAM,qBAyQ9B;kBAzQQ,QAAQ;;;AA2QjB,eAAe,QAAQ,CAAC"}
@@ -171,7 +171,7 @@ function Severity(props) {
171
171
  props.isDisabled ||
172
172
  allCaseSeverities.isFetching ||
173
173
  ownersEntitlements.isFetching ||
174
- versionsDetails.isFetching, isLoading: props.isFetching, placeholder: t(`Select a severity`), isInvalid: allCaseSeverities.isError || isSeverityInValid, isScrollable: true })),
174
+ versionsDetails.isFetching, isLoading: props.isFetching, placeholder: t(`Select a severity`), isInvalid: allCaseSeverities.isError || isSeverityInValid, isScrollable: true, isModalOpen: openUpdateSeverityModal })),
175
175
  openUpdateSeverityModal && (React.createElement(UpdateSeverityModal, { isDisabled: props.isFetching, isFetching: props.isFetching, show: openUpdateSeverityModal, onClose: toggleModal })))) : (React.createElement("div", null,
176
176
  React.createElement(SingleSelectDropdown, { className: "case-creation-severity-select", dataTrackingId: "get-support-severity", selected: getSelectedDropdownOption, options: getDropdownOptions, onSelect: onSeverityChange, isDisabled: allCaseSeverities.isError ||
177
177
  props.isDisabled ||
@@ -1 +1 @@
1
- {"version":3,"file":"CveModal.d.ts","sourceRoot":"","sources":["../../../../src/components/Cve/CveModal.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAU1C,eAAO,MAAM,QAAQ,yBAoEpB,CAAC"}
1
+ {"version":3,"file":"CveModal.d.ts","sourceRoot":"","sources":["../../../../src/components/Cve/CveModal.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAU1C,eAAO,MAAM,QAAQ,yBAuEpB,CAAC"}
@@ -20,7 +20,7 @@ export const CveModal = () => {
20
20
  isCveModalOpened: state.isCveModalOpened,
21
21
  }), isEqual);
22
22
  const { sessionRestore: { activeSessionId }, } = useContext(SessionRestoreStateContext);
23
- const { routeState: { activeSection }, } = useContext(RouteContext);
23
+ const { routeState: { activeSection, isCaseCreate }, } = useContext(RouteContext);
24
24
  const handleModalToggle = () => {
25
25
  setCaseState(caseDispatch, { isCveModalOpened: !isCveModalOpened });
26
26
  };
@@ -34,7 +34,8 @@ export const CveModal = () => {
34
34
  };
35
35
  return (React.createElement(Modal, { variant: ModalVariant.medium, title: React.createElement(Flex, { alignItems: { default: 'alignItemsCenter' } },
36
36
  React.createElement(FlexItem, { spacer: { default: 'spacerSm' } }, cveWorkflowRecommendation.length > 1 ? (React.createElement(Trans, null, "Handpicked for these CVEs")) : (React.createElement(Trans, null, "Handpicked for this CVE"))),
37
- React.createElement(Badge, { isRead: true }, size(cveWorkflowRecommendation))), isOpen: isCveModalOpened && activeSection === AppRouteSections.SUMMARIZE, onClose: handleModalToggle, titleIconVariant: "info", disableFocusTrap: true, className: "cve-modal-fade-in-effect", onEscapePress: handleEscapePress, actions: [
37
+ React.createElement(Badge, { isRead: true }, size(cveWorkflowRecommendation))), isOpen: isCveModalOpened &&
38
+ activeSection === (isCaseCreate ? AppRouteSections.SUMMARIZE : AppRouteSections.TROUBLESHOOT), onClose: handleModalToggle, titleIconVariant: "info", disableFocusTrap: true, className: "cve-modal-fade-in-effect", onEscapePress: handleEscapePress, actions: [
38
39
  React.createElement(Button, { key: "cve-checker-link", "data-tracking-id": "cve-checker-link", target: "_blank", variant: "secondary", isInline: true, component: "a", href: generateCveCheckerUrl() },
39
40
  React.createElement(Trans, null, "Red Hat CVE Checker"),
40
41
  " ",
@@ -1 +1 @@
1
- {"version":3,"file":"AllProductsSelector.d.ts","sourceRoot":"","sources":["../../../../src/components/ProductSelector/AllProductsSelector.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAsD,MAAM,OAAO,CAAC;AAE3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAMvD,OAAO,EAAuC,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAMvG,UAAU,MAAM;IACZ,qBAAqB,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAChD,UAAU,EAAE,mBAAmB,CAAC,eAAe,CAAC,CAAC;IACjD,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAClC;AAQD;;;;;;;GAOG;AACH,QAAA,MAAM,mBAAmB,4EA0KvB,CAAC;AAGH,OAAO,EAAE,mBAAmB,EAAE,CAAC"}
1
+ {"version":3,"file":"AllProductsSelector.d.ts","sourceRoot":"","sources":["../../../../src/components/ProductSelector/AllProductsSelector.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAsD,MAAM,OAAO,CAAC;AAE3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAMvD,OAAO,EAAuC,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAMvG,UAAU,MAAM;IACZ,qBAAqB,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAChD,UAAU,EAAE,mBAAmB,CAAC,eAAe,CAAC,CAAC;IACjD,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAClC;AAQD;;;;;;;GAOG;AACH,QAAA,MAAM,mBAAmB,4EA4KvB,CAAC;AAGH,OAAO,EAAE,mBAAmB,EAAE,CAAC"}
@@ -40,7 +40,7 @@ const AllProductsSelector = forwardRef((props, ref) => {
40
40
  ABTestVariation: state.ABTestVariation,
41
41
  }), isEqual);
42
42
  const { topContentState: { topContent }, } = useContext(TCStateContext);
43
- const { routeState: { activeSection }, } = useContext(RouteContext);
43
+ const { routeState: { activeSection, isCaseCreate }, } = useContext(RouteContext);
44
44
  const [isModalOpen, setIsModalOpen] = useState(false);
45
45
  const [showModal, setShowModal] = useState(false);
46
46
  const [showModalButton, setShowModalButton] = useState(false);
@@ -83,20 +83,22 @@ const AllProductsSelector = forwardRef((props, ref) => {
83
83
  const isATestvariation = ABTestVariation === 'A';
84
84
  const isBTestvariation = ABTestVariation === 'B' || isEmpty(ABTestVariation);
85
85
  // Determine whether to render the ProductVersionDropdownSelector
86
- const renderProductVersionDropdownSelector = (activeSection === AppRouteSections.SUMMARIZE && !props.caseCreateExperience) ||
86
+ const renderProductVersionDropdownSelector = (activeSection === (isCaseCreate ? AppRouteSections.SUMMARIZE : AppRouteSections.TROUBLESHOOT) &&
87
+ !props.caseCreateExperience) ||
87
88
  activeSection === AppRouteSections.GET_SUPPORT ||
88
89
  isBTestvariation ||
89
90
  (isATestvariation && (props.isOnGetSupportPage || props.isOnReviewPage));
90
91
  // Determine whether to render the OpenCaseIssue component
91
92
  const renderOpenCaseIssue = (isBTestvariation &&
92
- (activeSection === AppRouteSections.SUMMARIZE ||
93
+ (activeSection === (isCaseCreate ? AppRouteSections.SUMMARIZE : AppRouteSections.TROUBLESHOOT) ||
93
94
  activeSection === AppRouteSections.REVIEW ||
94
95
  activeSection === AppRouteSections.SUBMIT_CASE)) ||
95
96
  (isATestvariation &&
96
- (activeSection === AppRouteSections.SUMMARIZE ||
97
+ (activeSection === (isCaseCreate ? AppRouteSections.SUMMARIZE : AppRouteSections.TROUBLESHOOT) ||
97
98
  activeSection === AppRouteSections.REVIEW ||
98
99
  activeSection === AppRouteSections.SUBMIT_CASE)) ||
99
- (!props.caseCreateExperience && activeSection === AppRouteSections.SUMMARIZE);
100
+ (!props.caseCreateExperience &&
101
+ activeSection === (isCaseCreate ? AppRouteSections.SUMMARIZE : AppRouteSections.TROUBLESHOOT));
100
102
  return (React.createElement(React.Fragment, null,
101
103
  renderProductVersionDropdownSelector && (React.createElement("div", { className: "form-group product-selector-wrapper" },
102
104
  React.createElement("div", { className: "all-product-selector-dropdown" },
@@ -1 +1 @@
1
- {"version":3,"file":"Recommendations.d.ts","sourceRoot":"","sources":["../../../../src/components/Recommendations/Recommendations.tsx"],"names":[],"mappings":"AAqBA,OAAO,KAAkD,MAAM,OAAO,CAAC;AAEvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAevD,OAAO,EAAoB,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAYpF,UAAU,MAAM;IACZ,UAAU,EAAE,mBAAmB,CAAC,eAAe,CAAC,CAAC;IACjD,uBAAuB,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC;IACzE,qCAAqC,CAAC,EAAE,OAAO,CAAC;IAChD,aAAa,EAAE,GAAG,CAAC;CACtB;AAED,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,KAAK,EAAE,MAAM,qBA8YpD"}
1
+ {"version":3,"file":"Recommendations.d.ts","sourceRoot":"","sources":["../../../../src/components/Recommendations/Recommendations.tsx"],"names":[],"mappings":"AAqBA,OAAO,KAAkD,MAAM,OAAO,CAAC;AAEvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAevD,OAAO,EAAoB,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAYpF,UAAU,MAAM;IACZ,UAAU,EAAE,mBAAmB,CAAC,eAAe,CAAC,CAAC;IACjD,uBAAuB,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC;IACzE,qCAAqC,CAAC,EAAE,OAAO,CAAC;IAChD,aAAa,EAAE,GAAG,CAAC;CACtB;AAED,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,KAAK,EAAE,MAAM,qBAuZpD"}
@@ -38,7 +38,7 @@ export default function Recommendations(props) {
38
38
  }), isEqual);
39
39
  const caseDispatch = useCaseDispatch();
40
40
  const { t } = useTranslation();
41
- const { routeState: { activeSection }, } = useContext(RouteContext);
41
+ const { routeState: { activeSection, isCaseCreate }, } = useContext(RouteContext);
42
42
  const { sessionRestore: { activeSessionId, sessionResourceTracking }, } = useContext(SessionRestoreStateContext);
43
43
  const sessionRestoreDispatch = useContext(SessionRestoreDispatchContext);
44
44
  const [pageSize, setPageSize] = useState(null);
@@ -62,7 +62,9 @@ export default function Recommendations(props) {
62
62
  // currently due to the debounce we use after the page load leads to some delay in the disbaling of next button
63
63
  // since the state of the next button depends on the loading rec flag so we force the flag to be true every time the
64
64
  // rec section is rendered for the first time except the case when we won't make a new search since there was no change in the rec payload.
65
- if (activeSection !== AppRouteSections.SUMMARIZE || !summary || isRecSearchPayloadSame) {
65
+ if (activeSection !== (isCaseCreate ? AppRouteSections.SUMMARIZE : AppRouteSections.TROUBLESHOOT) ||
66
+ !summary ||
67
+ isRecSearchPayloadSame) {
66
68
  return;
67
69
  }
68
70
  !isRecSearchPayloadSame &&
@@ -77,7 +79,8 @@ export default function Recommendations(props) {
77
79
  * Also, log the newly presented resources on the session
78
80
  */
79
81
  useDebounce(() => {
80
- if (activeSection !== AppRouteSections.SUMMARIZE || isRecSearchPayloadSame) {
82
+ if (activeSection !== (isCaseCreate ? AppRouteSections.SUMMARIZE : AppRouteSections.TROUBLESHOOT) ||
83
+ isRecSearchPayloadSame) {
81
84
  return;
82
85
  }
83
86
  setCurrentPage(recommendationDispatch, 1);
@@ -228,7 +231,9 @@ export default function Recommendations(props) {
228
231
  React.createElement("time", { className: "moment_date meta", title: doc.lastModifiedDate.toString() }, formatDate(doc.lastModifiedDate)))),
229
232
  React.createElement("p", { className: "result-body", dangerouslySetInnerHTML: computeRecommendationAbstract(doc, 300) })));
230
233
  }))),
231
- recommendationState.numFound !== 0 && recommendationState.numFound > DEFAULTPAGESIZE && (React.createElement("div", { className: "pagination-footer" },
234
+ !recommendationState.isLoadingRecommendations &&
235
+ recommendationState.numFound !== 0 &&
236
+ recommendationState.numFound > DEFAULTPAGESIZE && (React.createElement("div", { className: "pagination-footer" },
232
237
  React.createElement(Pagination, { className: "push-top", itemCount: (_c = (_b = recommendationState.allDocs) === null || _b === void 0 ? void 0 : _b.length) !== null && _c !== void 0 ? _c : 0, perPage: recPageSize, page: recommendationState.currentPage, variant: PaginationVariant.bottom, onSetPage: pageChanged, dropDirection: "up", onPerPageSelect: onPageSizeChanged })))),
233
238
  recommendationState.numFound === 0 &&
234
239
  !recommendationState.isLoadingRecommendations &&
@@ -106,7 +106,7 @@ export function useIsSectionValid(sectionName) {
106
106
  return !isEmpty(product) && !isEmpty(version) && !isEmpty(accountNumber) && !isEmpty(contactSSOName);
107
107
  }
108
108
  };
109
- const isCaseManagementSectionValid = () => {
109
+ const isCaseConfigurationSectionValid = () => {
110
110
  const hasContactInfo24x7ValidLength = contactInfo24x7
111
111
  ? (contactInfo24x7 === null || contactInfo24x7 === void 0 ? void 0 : contactInfo24x7.length) <= CONTACT_INFO_24X7_LIMIT
112
112
  : true;
@@ -115,7 +115,7 @@ export function useIsSectionValid(sectionName) {
115
115
  hasContactInfo24x7ValidLength &&
116
116
  hasAlternateCaseIdValidLength);
117
117
  };
118
- const isTroubleshootSectionValid = () => {
118
+ const isResourcesSectionValid = () => {
119
119
  var _a, _b;
120
120
  if (isBTestvariation) {
121
121
  //if we are in the new experience and user is troubleshoot we give them those validity fields
@@ -146,7 +146,7 @@ export function useIsSectionValid(sectionName) {
146
146
  isCaseStateValid(caseState, loggedInUserJwtToken) &&
147
147
  isClusterIDValid(caseState, (_a = allProducts.data) === null || _a === void 0 ? void 0 : _a.productsResult) &&
148
148
  isSummarizeSectionValid() &&
149
- isCaseDescribeMoreSectionValidLocal());
149
+ isAdditionalInformationSectionValidLocal());
150
150
  };
151
151
  const isDescribeIdeaSectionValid = () => {
152
152
  return (isCaseManagementStateValid(caseState, loggedInUserJwtToken) &&
@@ -154,7 +154,7 @@ export function useIsSectionValid(sectionName) {
154
154
  isIdeaCaseStateValid(caseState, loggedInUserJwtToken) &&
155
155
  checkUnallowedFiles());
156
156
  };
157
- const isCaseDescribeMoreSectionValidLocal = () => {
157
+ const isAdditionalInformationSectionValidLocal = () => {
158
158
  var _a;
159
159
  const hostnameIsValid = hostname ? (hostname === null || hostname === void 0 ? void 0 : hostname.length) <= HOSTNAME_LENGTH_LIMIT : true;
160
160
  return (!caseState.hasInvalidEntitlements &&
@@ -171,14 +171,14 @@ export function useIsSectionValid(sectionName) {
171
171
  switch (sectionNameLocal) {
172
172
  case AppRouteSections.GET_SUPPORT:
173
173
  return isGetSupportSectionValidLocal();
174
- case AppRouteSections.SUMMARIZE:
174
+ case isCaseCreate ? AppRouteSections.SUMMARIZE : AppRouteSections.TROUBLESHOOT:
175
175
  return isSummarizeSectionValid();
176
- case AppRouteSections.TROUBLESHOOT:
177
- return isTroubleshootSectionValid();
178
- case AppRouteSections.DESCRIBE_MORE:
179
- return isCaseDescribeMoreSectionValidLocal();
180
- case AppRouteSections.MANAGEMENT:
181
- return isCaseManagementSectionValid();
176
+ case AppRouteSections.RESOURCES:
177
+ return isResourcesSectionValid();
178
+ case AppRouteSections.ADDITIONAL_INFORMATION:
179
+ return isAdditionalInformationSectionValidLocal();
180
+ case AppRouteSections.CONFIGURATION:
181
+ return isCaseConfigurationSectionValid();
182
182
  case AppRouteSections.REVIEW:
183
183
  return isReviewSectionValid();
184
184
  case AppRouteSections.DESCRIBE_IDEA:
@@ -203,7 +203,7 @@ export function useIsSectionValid(sectionName) {
203
203
  if (!sectionNameLocal)
204
204
  return '';
205
205
  switch (sectionNameLocal) {
206
- case AppRouteSections.TROUBLESHOOT:
206
+ case AppRouteSections.RESOURCES:
207
207
  return recommendationSectionError();
208
208
  default:
209
209
  return '';
@@ -1 +1 @@
1
- {"version":3,"file":"WizardAside.d.ts","sourceRoot":"","sources":["../../../../src/components/wizardLayout/WizardAside.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAIvD,OAAO,EAGH,eAAe,EAKlB,MAAM,iCAAiC,CAAC;AAQzC,UAAU,MAAM;IACZ,UAAU,EAAE,mBAAmB,CAAC,eAAe,CAAC,CAAC;IACjD,2BAA2B,EAAE,OAAO,CAAC;CACxC;AAED,iBAAS,WAAW,CAAC,KAAK,EAAE,MAAM,qBAsDjC;kBAtDQ,WAAW;;;AAwDpB,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"WizardAside.d.ts","sourceRoot":"","sources":["../../../../src/components/wizardLayout/WizardAside.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAIvD,OAAO,EAGH,eAAe,EAKlB,MAAM,iCAAiC,CAAC;AAQzC,UAAU,MAAM;IACZ,UAAU,EAAE,mBAAmB,CAAC,eAAe,CAAC,CAAC;IACjD,2BAA2B,EAAE,OAAO,CAAC;CACxC;AAED,iBAAS,WAAW,CAAC,KAAK,EAAE,MAAM,qBAuDjC;kBAvDQ,WAAW;;;AAyDpB,eAAe,WAAW,CAAC"}
@@ -15,7 +15,7 @@ import InsightsResults from '../Recommendations/InsightsResults';
15
15
  import { SessionRestore } from '../SessionRestore';
16
16
  const defaultProps = {};
17
17
  function WizardAside(props) {
18
- const { routeState: { activeSection }, } = useContext(RouteContext);
18
+ const { routeState: { activeSection, isCaseCreate }, } = useContext(RouteContext);
19
19
  const canAddAttachments = ability.can(resourceActions.PATCH, resources.CASE_CREATE, CaseListFields.ATTACHMENTS);
20
20
  const { isCreatingCase, caseType, isCveModalOpened, ABTestVariation } = useCaseSelector((state) => ({
21
21
  isCreatingCase: state.isCreatingCase,
@@ -40,8 +40,9 @@ function WizardAside(props) {
40
40
  canUseSessionManagement && !isCreatingCase && activeSection !== AppRouteSections.SUBMIT_CASE && (React.createElement(SessionRestore, { routeProps: props.routeProps })),
41
41
  canShowFileUploadWidget() && React.createElement(InsightsResults, null),
42
42
  canShowFileUploadWidget() && React.createElement(FileDiag, { className: "pf-v5-u-mb-md" }),
43
- activeSection === AppRouteSections.SUMMARIZE && !isCveModalOpened && React.createElement(CveSidebar, null),
44
- activeSection === AppRouteSections.TROUBLESHOOT && React.createElement(CveSidebar, null),
43
+ activeSection === (isCaseCreate ? AppRouteSections.SUMMARIZE : AppRouteSections.TROUBLESHOOT) &&
44
+ !isCveModalOpened && React.createElement(CveSidebar, null),
45
+ activeSection === AppRouteSections.RESOURCES && React.createElement(CveSidebar, null),
45
46
  canShowEARuleWidget && React.createElement(EARuleWidget, null),
46
47
  !(isIdea && activeSection === 'submit-case') && (React.createElement(AsideResults, { routeProps: props.routeProps, className: "pf-v5-u-mb-md pf-v5-u-mt-0" })),
47
48
  canShowFileRecommendationSectionsWidget && React.createElement(InsightsResults, { isDisplayOnMain: true }),
@@ -1 +1 @@
1
- {"version":3,"file":"WizardNavigation.d.ts","sourceRoot":"","sources":["../../../../src/components/wizardLayout/WizardNavigation.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAkD,MAAM,OAAO,CAAC;AAEvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAOvD,OAAO,EAAoB,eAAe,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAM3G,UAAU,MAAM;IACZ,UAAU,EAAE,mBAAmB,CAAC,eAAe,CAAC,CAAC;IACjD,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAC3C,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,mBAAmB,EAAE,CAAC,gCAAgC,EAAE,OAAO,KAAK,IAAI,CAAC;IACzE,gBAAgB,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAC1C,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,0BAA0B,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC;IAC5E,kCAAkC,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC;IACpF,qCAAqC,CAAC,EAAE,OAAO,CAAC;IAChD,gCAAgC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC;IACjF,aAAa,CAAC,EAAE,GAAG,CAAC;IACpB,oBAAoB,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC;CACxE;AAGD,iBAAS,gBAAgB,CAAC,KAAK,EAAE,MAAM,qBAqUtC;kBArUQ,gBAAgB;;;AAuUzB,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"WizardNavigation.d.ts","sourceRoot":"","sources":["../../../../src/components/wizardLayout/WizardNavigation.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAkD,MAAM,OAAO,CAAC;AAEvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAOvD,OAAO,EAAoB,eAAe,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAM3G,UAAU,MAAM;IACZ,UAAU,EAAE,mBAAmB,CAAC,eAAe,CAAC,CAAC;IACjD,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAC3C,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,mBAAmB,EAAE,CAAC,gCAAgC,EAAE,OAAO,KAAK,IAAI,CAAC;IACzE,gBAAgB,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAC1C,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,0BAA0B,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC;IAC5E,kCAAkC,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC;IACpF,qCAAqC,CAAC,EAAE,OAAO,CAAC;IAChD,gCAAgC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC;IACjF,aAAa,CAAC,EAAE,GAAG,CAAC;IACpB,oBAAoB,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC;CACxE;AAGD,iBAAS,gBAAgB,CAAC,KAAK,EAAE,MAAM,qBA6UtC;kBA7UQ,gBAAgB;;;AA+UzB,eAAe,gBAAgB,CAAC"}
@@ -71,7 +71,7 @@ function WizardNavigation(props) {
71
71
  dtmTrackEventCaseCreationStepEncountered(isCreatingCase,
72
72
  // @ts-ignore
73
73
  props.activeStep.name, (_a = caseState.caseDetails) === null || _a === void 0 ? void 0 : _a.caseNumber, (_b = caseState.caseDetails) === null || _b === void 0 ? void 0 : _b.caseType, caseState.caseDetails.summary, caseState.caseDetails.product, caseState.caseDetails.version);
74
- if (props.activeStep.id === AppRouteSections.TROUBLESHOOT) {
74
+ if (props.activeStep.id === AppRouteSections.RESOURCES) {
75
75
  window.scrollTo({
76
76
  top: 0,
77
77
  behavior: 'instant',
@@ -81,7 +81,8 @@ function WizardNavigation(props) {
81
81
  }, [props.activeStep.id]);
82
82
  const [hasUserScrolled, setHasUserScrolled] = useState(false);
83
83
  useEffect(() => {
84
- if (props.activeStep.id !== AppRouteSections.SUMMARIZE || recommendationState.numFound <= 2) {
84
+ if (props.activeStep.id !== (isCaseCreate ? AppRouteSections.SUMMARIZE : AppRouteSections.TROUBLESHOOT) ||
85
+ recommendationState.numFound <= 2) {
85
86
  return;
86
87
  }
87
88
  const observer = new IntersectionObserver(([entry]) => {
@@ -139,12 +140,13 @@ function WizardNavigation(props) {
139
140
  observer.unobserve(resultsRowElement);
140
141
  }
141
142
  };
142
- }, [recommendationState.numFound, hasUserScrolled, props]);
143
+ }, [recommendationState.numFound, hasUserScrolled, props, isCaseCreate]);
143
144
  const onNext = () => {
144
145
  var _a;
145
146
  updateisNextBtnClickedToShowValidationError(dispatchToRouteReducer, true);
146
147
  //handle the new changes for 13406:
147
- if (props.activeStep.id === AppRouteSections.SUMMARIZE && recommendationState.numFound > 2) {
148
+ if (props.activeStep.id === (isCaseCreate ? AppRouteSections.SUMMARIZE : AppRouteSections.TROUBLESHOOT) &&
149
+ recommendationState.numFound > 2) {
148
150
  if (!hasUserScrolled) {
149
151
  scrollIntoView(props.resultsRowRef, {
150
152
  navBarRef,
@@ -157,11 +159,11 @@ function WizardNavigation(props) {
157
159
  return;
158
160
  }
159
161
  }
160
- const userCanNotOpenCase = props.activeStep.id === AppRouteSections.TROUBLESHOOT && canCreateCase.alert();
162
+ const userCanNotOpenCase = props.activeStep.id === AppRouteSections.RESOURCES && canCreateCase.alert();
161
163
  if (userCanNotOpenCase || !isSectionValidFn(props.activeStep.id))
162
164
  return;
163
165
  const hasPreferredSecureSupportAccount = (_a = loggedInUsersAccount === null || loggedInUsersAccount === void 0 ? void 0 : loggedInUsersAccount.data) === null || _a === void 0 ? void 0 : _a.hasPreferredSecureSupportAccount;
164
- if (props.activeStep.id === AppRouteSections.TROUBLESHOOT && hasPreferredSecureSupportAccount) {
166
+ if (props.activeStep.id === AppRouteSections.RESOURCES && hasPreferredSecureSupportAccount) {
165
167
  props.confirmSupportModal(hasPreferredSecureSupportAccount);
166
168
  return;
167
169
  }
@@ -213,7 +215,8 @@ function WizardNavigation(props) {
213
215
  const nextButtonDisabledLogic = () => {
214
216
  if (isBTestvariation) {
215
217
  let value = ((isEmpty(summary) || isEmpty(issue) || isEmpty(product) || isEmpty(version)) &&
216
- props.activeStep.id === AppRouteSections.SUMMARIZE) ||
218
+ props.activeStep.id ===
219
+ (isCaseCreate ? AppRouteSections.SUMMARIZE : AppRouteSections.TROUBLESHOOT)) ||
217
220
  (!isEntitledProductLocal && props.activeStep.nextButtonLabel === 'Get support') ||
218
221
  props.activeStep.nextButtonLabel === 'Troubleshoot' ||
219
222
  (!isSectionValidFn(props.activeStep.id) && isNextBtnClickedToShowValidationError) ||
@@ -223,7 +226,8 @@ function WizardNavigation(props) {
223
226
  }
224
227
  else if (isATestvariation) {
225
228
  let value = ((isEmpty(summary) || isEmpty(issue) || isEmpty(product) || isEmpty(version)) &&
226
- props.activeStep.id === AppRouteSections.SUMMARIZE) ||
229
+ props.activeStep.id ===
230
+ (isCaseCreate ? AppRouteSections.SUMMARIZE : AppRouteSections.TROUBLESHOOT)) ||
227
231
  (!isEntitledProductLocal && props.activeStep.nextButtonLabel === 'Get support') ||
228
232
  props.activeStep.nextButtonLabel === 'Troubleshoot' ||
229
233
  (!isSectionValidFn(props.activeStep.id) && isNextBtnClickedToShowValidationError) ||
@@ -252,7 +256,7 @@ function WizardNavigation(props) {
252
256
  return (React.createElement(React.Fragment, null,
253
257
  props.activeStep.order !== 0 && (React.createElement("button", { onClick: () => onBack(), className: "btn btn-app btn-open-white main-nav-button", "data-tracking-id": `prev-of-${activeSection}`, type: "button", disabled: isDisabledGoBack() }, t('Go back'))),
254
258
  React.createElement("button", { disabled: nextButtonDisabledLogic(), onClick: onNext, className: "btn btn-app btn-primary main-nav-button", "data-tracking-id": `next-of-${activeSection}`, type: "button" }, t(props.activeStep.nextButtonLabel)),
255
- activeSection === AppRouteSections.TROUBLESHOOT && isFileRecommendationsTriggered && (React.createElement(Button, { onClick: handleFileRecsSelfSolved, variant: ButtonVariant.secondary, className: "issue-solved-button solved-issue-button", "data-tracking-id": "troubleshoot-self-solved-issue" }, t('I solved my issue'))),
259
+ activeSection === AppRouteSections.RESOURCES && isFileRecommendationsTriggered && (React.createElement(Button, { onClick: handleFileRecsSelfSolved, variant: ButtonVariant.secondary, className: "issue-solved-button solved-issue-button", "data-tracking-id": "troubleshoot-self-solved-issue" }, t('I solved my issue'))),
256
260
  React.createElement(RecommendationFeedbackModal, { isModalOpen: isRecsModalVisible, handleModalToggle: onRecsFeedbackModalToggle, modalContent: t(`Great, we're glad that resolved your issue`) }),
257
261
  activeSectionError ? (React.createElement("small", { className: "pf-v5-u-align-self-center pf-v5-u-ml-md text-red" }, activeSectionError)) : null));
258
262
  }
@@ -305,6 +305,11 @@ input[aria-invalid='true'].pf-v5-c-form-control {
305
305
  border-bottom-width: 2px !important;
306
306
  }
307
307
 
308
+ .comment-body ul,
309
+ .markdown-preview ul {
310
+ list-style: '- ';
311
+ }
312
+
308
313
  /* Improves the sidebar loading */
309
314
  @media (min-width: 1450px) and (max-width: 2000px) {
310
315
  #rh-support-case .card.card-support {
@@ -0,0 +1,5 @@
1
+ export declare enum SolutionModerationStates {
2
+ Published = "published",
3
+ Draft = "draft"
4
+ }
5
+ //# sourceMappingURL=Kcs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Kcs.d.ts","sourceRoot":"","sources":["../../../src/enums/Kcs.ts"],"names":[],"mappings":"AAAA,oBAAY,wBAAwB;IAChC,SAAS,cAAc;IACvB,KAAK,UAAU;CAClB"}
@@ -0,0 +1,5 @@
1
+ export var SolutionModerationStates;
2
+ (function (SolutionModerationStates) {
3
+ SolutionModerationStates["Published"] = "published";
4
+ SolutionModerationStates["Draft"] = "draft";
5
+ })(SolutionModerationStates || (SolutionModerationStates = {}));
@@ -1 +1 @@
1
- {"version":3,"file":"useWizard.d.ts","sourceRoot":"","sources":["../../../src/hooks/useWizard.tsx"],"names":[],"mappings":"AA+BA,UAAU,MAAM;IACZ,yBAAyB,CAAC,EAAE,GAAG,CAAC;IAChC,4BAA4B,EAAE,OAAO,CAAC;IACtC,6BAA6B,EAAE,OAAO,CAAC;IACvC,qCAAqC,EAAE,OAAO,CAAC;IAC/C,aAAa,EAAE,GAAG,CAAC;IACnB,iBAAiB,EAAE,OAAO,CAAC;CAC9B;AAED,wBAAgB,SAAS,CAAC,UAAU,KAAA,EAAE,KAAK,CAAC,EAAE,MAAM;iCAyQb,OAAO;EAwC7C"}
1
+ {"version":3,"file":"useWizard.d.ts","sourceRoot":"","sources":["../../../src/hooks/useWizard.tsx"],"names":[],"mappings":"AA+BA,UAAU,MAAM;IACZ,yBAAyB,CAAC,EAAE,GAAG,CAAC;IAChC,4BAA4B,EAAE,OAAO,CAAC;IACtC,6BAA6B,EAAE,OAAO,CAAC;IACvC,qCAAqC,EAAE,OAAO,CAAC;IAC/C,aAAa,EAAE,GAAG,CAAC;IACnB,iBAAiB,EAAE,OAAO,CAAC;CAC9B;AAED,wBAAgB,SAAS,CAAC,UAAU,KAAA,EAAE,KAAK,CAAC,EAAE,MAAM;iCA6Qb,OAAO;EAwC7C"}
@@ -58,35 +58,37 @@ export function useWizard(routeProps, props) {
58
58
  React.createElement(Suspense, { fallback: React.createElement(LoadingIndicator, { size: "sm" }) },
59
59
  alertMessage(),
60
60
  React.createElement(OpenCase, { routeProps: routeProps, userSeenRecommendations: props.userSeenRecommendationsfn, userClickedNextonRecommendations: props.userClickedNextonRecommendationsValue, resultsRowRef: props.resultsRowRef })))), canJumpTo: isSectionValidFn(AppRouteSections.GET_SUPPORT) || activeSection === AppRouteSections.GET_SUPPORT }),
61
- [AppRouteSections.SUMMARIZE]: Object.assign(Object.assign({}, defaultRouteConfiguration), { id: AppRouteSections.SUMMARIZE, name: isCaseCreate ? t('Summarize') : t('Troubleshoot'), component: (React.createElement(MainSection, { stepNumber: 2, totalSteps: 6, section: AppRouteSections.SUMMARIZE, title: t('What are you having an issue with?') },
61
+ [isCaseCreate ? AppRouteSections.SUMMARIZE : AppRouteSections.TROUBLESHOOT]: Object.assign(Object.assign({}, defaultRouteConfiguration), { id: isCaseCreate ? AppRouteSections.SUMMARIZE : AppRouteSections.TROUBLESHOOT, name: isCaseCreate ? t('Summarize') : t('Troubleshoot'), component: (React.createElement(MainSection, { stepNumber: 2, totalSteps: 6, section: isCaseCreate ? AppRouteSections.SUMMARIZE : AppRouteSections.TROUBLESHOOT, title: t('What are you having an issue with?') },
62
62
  React.createElement(Suspense, { fallback: React.createElement(LoadingIndicator, { size: "sm" }) },
63
63
  alertMessage(),
64
- React.createElement(ProductSelector, { routeProps: routeProps, userSeenRecommendations: props.userSeenRecommendationsfn, userClickedNextonRecommendations: props.userClickedNextonRecommendationsValue, resultsRowRef: props.resultsRowRef, isOnGetSupportPage: false, caseCreateExperience: isCaseCreate })))), canJumpTo: isSectionValidFn(AppRouteSections.SUMMARIZE) || activeSection === AppRouteSections.SUMMARIZE, nextButtonLabel: ((summarizeNextButtonLabelLogic() || ((props === null || props === void 0 ? void 0 : props.userSeenRecommendationsValue) && numFound < 3)) &&
64
+ React.createElement(ProductSelector, { routeProps: routeProps, userSeenRecommendations: props.userSeenRecommendationsfn, userClickedNextonRecommendations: props.userClickedNextonRecommendationsValue, resultsRowRef: props.resultsRowRef, isOnGetSupportPage: false, caseCreateExperience: isCaseCreate })))), canJumpTo: isSectionValidFn(isCaseCreate ? AppRouteSections.SUMMARIZE : AppRouteSections.TROUBLESHOOT) ||
65
+ activeSection === (isCaseCreate ? AppRouteSections.SUMMARIZE : AppRouteSections.TROUBLESHOOT), nextButtonLabel: ((summarizeNextButtonLabelLogic() || ((props === null || props === void 0 ? void 0 : props.userSeenRecommendationsValue) && numFound < 3)) &&
65
66
  !isEmpty(issue)) ||
66
67
  numFound === 0 // do this so that when user refreshes tab and state persists we don't cause edge 'continue' render
67
68
  ? t('Continue')
68
69
  : t('See more options') }),
69
- [AppRouteSections.TROUBLESHOOT]: Object.assign(Object.assign({}, defaultRouteConfiguration), { id: AppRouteSections.TROUBLESHOOT, name: isCaseCreate ? t('Resources') : t('Resources'), component: (React.createElement(MainSection, { stepNumber: 3, totalSteps: 6, section: AppRouteSections.TROUBLESHOOT, title: t('Recommendations') },
70
+ [AppRouteSections.RESOURCES]: Object.assign(Object.assign({}, defaultRouteConfiguration), { id: AppRouteSections.RESOURCES, name: isCaseCreate ? t('Resources') : t('Resources'), component: (React.createElement(MainSection, { stepNumber: 3, totalSteps: 6, section: AppRouteSections.RESOURCES, title: t('Recommendations') },
70
71
  React.createElement(Suspense, { fallback: React.createElement(LoadingIndicator, { size: "sm" }) },
71
72
  alertMessage(),
72
- React.createElement(TroubleshootSection, null)))), canJumpTo: isSectionValidFn(AppRouteSections.TROUBLESHOOT || activeSection === AppRouteSections.TROUBLESHOOT) &&
73
+ React.createElement(TroubleshootSection, null)))), canJumpTo: isSectionValidFn(AppRouteSections.RESOURCES || activeSection === AppRouteSections.RESOURCES) &&
73
74
  (props === null || props === void 0 ? void 0 : props.userSeenRecommendationsValue) &&
74
75
  (props === null || props === void 0 ? void 0 : props.userCanNavigateToTroubleshoot), nextButtonLabel: isCaseCreate ? t('Continue') : t('Convert to case') }),
75
- [AppRouteSections.DESCRIBE_MORE]: Object.assign(Object.assign({}, defaultRouteConfiguration), { id: AppRouteSections.DESCRIBE_MORE, name: t('Additional information'), component: (React.createElement(MainSection, { stepNumber: 4, totalSteps: 6, section: AppRouteSections.DESCRIBE_MORE, title: React.createElement(React.Fragment, null,
76
+ [AppRouteSections.ADDITIONAL_INFORMATION]: Object.assign(Object.assign({}, defaultRouteConfiguration), { id: AppRouteSections.ADDITIONAL_INFORMATION, name: t('Additional information'), component: (React.createElement(MainSection, { stepNumber: 4, totalSteps: 6, section: AppRouteSections.ADDITIONAL_INFORMATION, title: React.createElement(React.Fragment, null,
76
77
  t('Case information'),
77
78
  isEmpty(RouteUtils.seBasePath) && isSelectedAccounntSecureSupport && (React.createElement("span", { className: "secured-support" },
78
79
  React.createElement(Trans, null, "Secured Support")))), description: t('Provide the details of your issue.') },
79
80
  React.createElement(Suspense, { fallback: React.createElement(LoadingIndicator, { size: "sm" }) },
80
81
  alertMessage(),
81
- React.createElement(CaseInformation, { routeProps: routeProps })))), canJumpTo: isSectionValidFn(AppRouteSections.DESCRIBE_MORE) || activeSection === AppRouteSections.DESCRIBE_MORE }),
82
+ React.createElement(CaseInformation, { routeProps: routeProps })))), canJumpTo: isSectionValidFn(AppRouteSections.ADDITIONAL_INFORMATION) ||
83
+ activeSection === AppRouteSections.ADDITIONAL_INFORMATION }),
82
84
  [AppRouteSections.DESCRIBE_IDEA]: Object.assign(Object.assign({}, defaultRouteConfiguration), { id: AppRouteSections.DESCRIBE_IDEA, name: t('Additional Information'), component: (React.createElement(MainSection, { stepNumber: 4, totalSteps: 6, section: AppRouteSections.DESCRIBE_IDEA, title: t('Idea information'), description: t("We'll be in contact with you shortly. Look for updates on this case.") },
83
85
  React.createElement(Suspense, { fallback: React.createElement(LoadingIndicator, { size: "sm" }) },
84
86
  alertMessage(),
85
87
  React.createElement(IdeaInformation, null)))), canJumpTo: isSectionValidFn(AppRouteSections.DESCRIBE_IDEA) || activeSection === AppRouteSections.DESCRIBE_IDEA, nextButtonLabel: 'Submit', disableOtherSections: false }),
86
- [AppRouteSections.MANAGEMENT]: Object.assign(Object.assign({}, defaultRouteConfiguration), { id: AppRouteSections.MANAGEMENT, name: t('Configuration'), component: (React.createElement(MainSection, { stepNumber: 5, totalSteps: 6, section: AppRouteSections.MANAGEMENT, title: t('Case management'), descriptionClassName: "text-medium-grey" },
88
+ [AppRouteSections.CONFIGURATION]: Object.assign(Object.assign({}, defaultRouteConfiguration), { id: AppRouteSections.CONFIGURATION, name: t('Configuration'), component: (React.createElement(MainSection, { stepNumber: 5, totalSteps: 6, section: AppRouteSections.CONFIGURATION, title: t('Case management'), descriptionClassName: "text-medium-grey" },
87
89
  React.createElement(Suspense, { fallback: React.createElement(LoadingIndicator, { size: "sm" }) },
88
90
  alertMessage(),
89
- React.createElement(CaseManagement, null)))), canJumpTo: isSectionValidFn(AppRouteSections.MANAGEMENT) || activeSection === AppRouteSections.MANAGEMENT }),
91
+ React.createElement(CaseManagement, null)))), canJumpTo: isSectionValidFn(AppRouteSections.CONFIGURATION) || activeSection === AppRouteSections.CONFIGURATION }),
90
92
  [AppRouteSections.REVIEW]: Object.assign(Object.assign({}, defaultRouteConfiguration), { id: AppRouteSections.REVIEW, name: t('Review'), component: (React.createElement(MainSection, { stepNumber: 6, totalSteps: 6, section: AppRouteSections.REVIEW, title: t('Preview case'), description: t('Before submitting, review the information you entered.') },
91
93
  React.createElement(Suspense, { fallback: React.createElement(LoadingIndicator, { size: "sm" }) },
92
94
  alertMessage(),
@@ -30,9 +30,10 @@ export declare enum AppRouteSections {
30
30
  GET_SUPPORT = "get-support",
31
31
  SUMMARIZE = "summarize",
32
32
  TROUBLESHOOT = "troubleshoot",
33
- DESCRIBE_MORE = "describe-more",
33
+ RESOURCES = "resources",
34
+ ADDITIONAL_INFORMATION = "additional-information",
34
35
  DESCRIBE_IDEA = "describe-idea",
35
- MANAGEMENT = "management",
36
+ CONFIGURATION = "configuration",
36
37
  REVIEW = "review",
37
38
  SUBMIT_CASE = "submit-case",
38
39
  BREAK = "break"
@@ -1 +1 @@
1
- {"version":3,"file":"RouteConstNTypes.d.ts","sourceRoot":"","sources":["../../../src/reducers/RouteConstNTypes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAE/D,MAAM,WAAW,iBAAiB;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qBAAqB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAIxC,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,qBAAsB,SAAQ,UAAU;IACrD,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IAGjB,eAAe,EAAE,MAAM,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,sBAAsB;IACnC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;CACjD;AAED,MAAM,WAAW,eAAe;CAAG;AACnC,oBAAY,gBAAgB;IACxB,WAAW,gBAAgB;IAC3B,SAAS,cAAc;IACvB,YAAY,iBAAiB;IAC7B,aAAa,kBAAkB;IAC/B,aAAa,kBAAkB;IAC/B,UAAU,eAAe;IACzB,MAAM,WAAW;IACjB,WAAW,gBAAgB;IAC3B,KAAK,UAAU;CAClB;AAKD,eAAO,MAAM,4BAA4B,EAAE,gBAAgB,EAI1D,CAAC;AAEF,eAAO,MAAM,gCAAgC,EAAE,gBAAgB,EAK9D,CAAC;AAEF,eAAO,MAAM,iCAAiC,oBAQ7C,CAAC;AAEF,eAAO,MAAM,gCAAgC,oBAQ5C,CAAC;AAEF,eAAO,MAAM,4BAA4B,oBAQxC,CAAC;AAGF,eAAO,MAAM,0BAA0B,oBAAiC,CAAC;AAEzE,eAAO,MAAM,mCAAmC,oBAA+D,CAAC;AAEhH,eAAO,MAAM,kCAAkC,oBAO9C,CAAC;AAEF,eAAO,MAAM,+BAA+B,oBAM3C,CAAC;AAEF,eAAO,MAAM,0CAA0C,oBAQtD,CAAC;AAEF,eAAO,MAAM,sCAAsC,oBAAyD,CAAC;AAE7G,eAAO,MAAM,qCAAqC,oBAAgE,CAAC;AAEnH,eAAO,MAAM,6BAA6B,oBAAiC,CAAC;AAE5E,eAAO,MAAM,wBAAwB,EAAE,gBAAgB,EAKtD,CAAC"}
1
+ {"version":3,"file":"RouteConstNTypes.d.ts","sourceRoot":"","sources":["../../../src/reducers/RouteConstNTypes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAE/D,MAAM,WAAW,iBAAiB;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qBAAqB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAIxC,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,qBAAsB,SAAQ,UAAU;IACrD,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IAGjB,eAAe,EAAE,MAAM,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,sBAAsB;IACnC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;CACjD;AAED,MAAM,WAAW,eAAe;CAAG;AACnC,oBAAY,gBAAgB;IACxB,WAAW,gBAAgB;IAC3B,SAAS,cAAc;IACvB,YAAY,iBAAiB;IAC7B,SAAS,cAAc;IACvB,sBAAsB,2BAA2B;IACjD,aAAa,kBAAkB;IAC/B,aAAa,kBAAkB;IAC/B,MAAM,WAAW;IACjB,WAAW,gBAAgB;IAC3B,KAAK,UAAU;CAClB;AAKD,eAAO,MAAM,4BAA4B,EAAE,gBAAgB,EAI1D,CAAC;AAEF,eAAO,MAAM,gCAAgC,EAAE,gBAAgB,EAK9D,CAAC;AAEF,eAAO,MAAM,iCAAiC,oBAQ7C,CAAC;AAEF,eAAO,MAAM,gCAAgC,oBAQ5C,CAAC;AAEF,eAAO,MAAM,4BAA4B,oBAQxC,CAAC;AAGF,eAAO,MAAM,0BAA0B,oBAAiC,CAAC;AAEzE,eAAO,MAAM,mCAAmC,oBAA+D,CAAC;AAEhH,eAAO,MAAM,kCAAkC,oBAO9C,CAAC;AAEF,eAAO,MAAM,+BAA+B,oBAM3C,CAAC;AAEF,eAAO,MAAM,0CAA0C,oBAQtD,CAAC;AAEF,eAAO,MAAM,sCAAsC,oBAA4D,CAAC;AAEhH,eAAO,MAAM,qCAAqC,oBAGjD,CAAC;AAEF,eAAO,MAAM,6BAA6B,oBAAiC,CAAC;AAE5E,eAAO,MAAM,wBAAwB,EAAE,gBAAgB,EAKtD,CAAC"}
@@ -3,9 +3,10 @@ export var AppRouteSections;
3
3
  AppRouteSections["GET_SUPPORT"] = "get-support";
4
4
  AppRouteSections["SUMMARIZE"] = "summarize";
5
5
  AppRouteSections["TROUBLESHOOT"] = "troubleshoot";
6
- AppRouteSections["DESCRIBE_MORE"] = "describe-more";
6
+ AppRouteSections["RESOURCES"] = "resources";
7
+ AppRouteSections["ADDITIONAL_INFORMATION"] = "additional-information";
7
8
  AppRouteSections["DESCRIBE_IDEA"] = "describe-idea";
8
- AppRouteSections["MANAGEMENT"] = "management";
9
+ AppRouteSections["CONFIGURATION"] = "configuration";
9
10
  AppRouteSections["REVIEW"] = "review";
10
11
  AppRouteSections["SUBMIT_CASE"] = "submit-case";
11
12
  AppRouteSections["BREAK"] = "break";
@@ -19,71 +20,74 @@ export const openCaseNonTechnicalSequence = [
19
20
  AppRouteSections.DESCRIBE_IDEA,
20
21
  ];
21
22
  export const troubleshootNonTechnicalSequence = [
22
- AppRouteSections.SUMMARIZE,
23
23
  AppRouteSections.TROUBLESHOOT,
24
+ AppRouteSections.RESOURCES,
24
25
  AppRouteSections.GET_SUPPORT,
25
26
  AppRouteSections.DESCRIBE_IDEA,
26
27
  ];
27
28
  export const troubleshootRouteSectionsSequence = [
28
- AppRouteSections.SUMMARIZE,
29
29
  AppRouteSections.TROUBLESHOOT,
30
+ AppRouteSections.RESOURCES,
30
31
  AppRouteSections.BREAK,
31
32
  AppRouteSections.GET_SUPPORT,
32
- AppRouteSections.DESCRIBE_MORE,
33
- AppRouteSections.MANAGEMENT,
33
+ AppRouteSections.ADDITIONAL_INFORMATION,
34
+ AppRouteSections.CONFIGURATION,
34
35
  AppRouteSections.REVIEW,
35
36
  ];
36
37
  export const searchIntentRouteSectionSequence = [
37
38
  AppRouteSections.GET_SUPPORT,
38
39
  AppRouteSections.SUMMARIZE,
39
40
  AppRouteSections.BREAK,
40
- AppRouteSections.TROUBLESHOOT,
41
- AppRouteSections.DESCRIBE_MORE,
42
- AppRouteSections.MANAGEMENT,
41
+ AppRouteSections.RESOURCES,
42
+ AppRouteSections.ADDITIONAL_INFORMATION,
43
+ AppRouteSections.CONFIGURATION,
43
44
  AppRouteSections.REVIEW,
44
45
  ];
45
46
  export const openCaseRouteSectionSequence = [
46
47
  AppRouteSections.GET_SUPPORT,
47
48
  AppRouteSections.SUMMARIZE,
48
49
  AppRouteSections.BREAK,
49
- AppRouteSections.TROUBLESHOOT,
50
- AppRouteSections.DESCRIBE_MORE,
51
- AppRouteSections.MANAGEMENT,
50
+ AppRouteSections.RESOURCES,
51
+ AppRouteSections.ADDITIONAL_INFORMATION,
52
+ AppRouteSections.CONFIGURATION,
52
53
  AppRouteSections.REVIEW,
53
54
  ];
54
55
  // end of wizard steps sequences
55
56
  export const sessionRestoreCardSections = [AppRouteSections.GET_SUPPORT];
56
57
  export const hideFileUploadSidebarWidgetSections = [AppRouteSections.GET_SUPPORT, AppRouteSections.SUBMIT_CASE];
57
58
  export const showSidebarRecommendationsSections = [
58
- AppRouteSections.TROUBLESHOOT,
59
- AppRouteSections.DESCRIBE_MORE,
59
+ AppRouteSections.RESOURCES,
60
+ AppRouteSections.ADDITIONAL_INFORMATION,
60
61
  AppRouteSections.DESCRIBE_IDEA,
61
- AppRouteSections.MANAGEMENT,
62
+ AppRouteSections.CONFIGURATION,
62
63
  AppRouteSections.REVIEW,
63
64
  AppRouteSections.SUBMIT_CASE,
64
65
  ];
65
66
  export const showSideBarEARuleWidgetSections = [
66
- AppRouteSections.DESCRIBE_MORE,
67
+ AppRouteSections.ADDITIONAL_INFORMATION,
67
68
  AppRouteSections.DESCRIBE_IDEA,
68
- AppRouteSections.TROUBLESHOOT,
69
- AppRouteSections.MANAGEMENT,
69
+ AppRouteSections.RESOURCES,
70
+ AppRouteSections.CONFIGURATION,
70
71
  AppRouteSections.GET_SUPPORT,
71
72
  ];
72
73
  export const showSideBarEARuleWidgetSectionsExperienceA = [
73
74
  AppRouteSections.SUMMARIZE,
74
- AppRouteSections.DESCRIBE_MORE,
75
+ AppRouteSections.ADDITIONAL_INFORMATION,
75
76
  AppRouteSections.DESCRIBE_IDEA,
76
- AppRouteSections.TROUBLESHOOT,
77
- AppRouteSections.MANAGEMENT,
77
+ AppRouteSections.RESOURCES,
78
+ AppRouteSections.CONFIGURATION,
78
79
  AppRouteSections.GET_SUPPORT,
79
80
  AppRouteSections.REVIEW,
80
81
  ];
81
- export const showSideBarClusterIdRuleWidgetSections = [AppRouteSections.MANAGEMENT, AppRouteSections.REVIEW];
82
- export const showSideBarFileRecommendationSections = [AppRouteSections.DESCRIBE_MORE, AppRouteSections.MANAGEMENT];
82
+ export const showSideBarClusterIdRuleWidgetSections = [AppRouteSections.CONFIGURATION, AppRouteSections.REVIEW];
83
+ export const showSideBarFileRecommendationSections = [
84
+ AppRouteSections.ADDITIONAL_INFORMATION,
85
+ AppRouteSections.CONFIGURATION,
86
+ ];
83
87
  export const hideSideBarClusterIdRuleToast = [AppRouteSections.SUBMIT_CASE];
84
88
  export const hiddengetSupportSections = [
85
- AppRouteSections.TROUBLESHOOT,
86
- AppRouteSections.DESCRIBE_MORE,
87
- AppRouteSections.MANAGEMENT,
89
+ AppRouteSections.RESOURCES,
90
+ AppRouteSections.ADDITIONAL_INFORMATION,
91
+ AppRouteSections.CONFIGURATION,
88
92
  AppRouteSections.REVIEW,
89
93
  ];
@@ -1 +1 @@
1
- {"version":3,"file":"RulesReducer.d.ts","sourceRoot":"","sources":["../../../src/reducers/RulesReducer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,KAAK,EAAE,MAAM,8CAA8C,CAAC;AAC1F,OAAO,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAC/E,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAMnD,oBAAY,qBAAqB;IAC7B,mCAAmC,wCAAwC;IAC3E,uBAAuB,4BAA4B;IACnD,wBAAwB,6BAA6B;IACrD,yBAAyB,8BAA8B;IACvD,8BAA8B,mCAAmC;IACjE,uBAAuB,4BAA4B;IACnD,kCAAkC,uCAAuC;IACzE,YAAY,iBAAiB;IAC7B,wBAAwB,6BAA6B;IACrD,kBAAkB,uBAAuB;IACzC,eAAe,oBAAoB;CACtC;AAED,MAAM,WAAW,SAAS;IACtB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,0BAA0B,EAAE,OAAO,CAAC;IACpC,+BAA+B,EAAE,OAAO,CAAC;IAEzC,uBAAuB,EAAE,OAAO,CAAC;IACjC,kBAAkB,EAAE,OAAO,CAAC;IAC5B,qBAAqB,EAAE,OAAO,CAAC;CAClC;AAED,MAAM,WAAW,aAAc,SAAQ,KAAK;IACxC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,2BAA4B,SAAQ,mBAAmB;IACpE,GAAG,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,gBAAiB,SAAQ,SAAS;IAC/C,IAAI,EAAE,aAAa,GAAG,2BAA2B,CAAC;IAClD,KAAK,EAAE,aAAa,EAAE,GAAG,2BAA2B,EAAE,CAAC;CAC1D;AACD,KAAK,WAAW,GAAG,OAAO,CAAC,qBAAqB,EAAE,gBAAgB,CAAC,CAAC;AACpE,MAAM,MAAM,iBAAiB,GAAG,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;AAE7D,MAAM,WAAW,MAAM;IACnB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,KAAK,CAAC,EAAE,aAAa,EAAE,CAAC;CAC3B;AAED,eAAO,MAAM,iBAAiB,EAAE,SA0B/B,CAAC;AAEF,eAAO,MAAM,YAAY,UAAW,SAAS,UAAU,WAAW,KAAG,SA0EpE,CAAC;AAGF,eAAO,MAAM,sCAAsC,aAAc,iBAAiB,QAAQ,KAAK,SAE9F,CAAC;AACF,eAAO,MAAM,0BAA0B,aAAc,iBAAiB,QAAQ,KAAK,SAElF,CAAC;AACF,eAAO,MAAM,YAAY,aAAc,iBAAiB,SAEvD,CAAC;AACF,eAAO,MAAM,sBAAsB,aACrB,iBAAiB,QACrB,OAAO,CAAC,mBAAmB,CAAC,iBACnB,CAAC,UAAU,EAAE,KAAK,EAAE,KAAK,IAAI,kBAa/C,CAAC;AAEF,eAAO,MAAM,wBAAwB,aAAc,iBAAiB,yBAAyB,OAAO,SAKnG,CAAC;AACF,eAAO,MAAM,kBAAkB,aAAc,iBAAiB,QAAQ,KAAK,SAE1E,CAAC;AACF,eAAO,MAAM,eAAe,aAAc,iBAAiB,eAAe,2BAA2B,EAAE,SAEtG,CAAC"}
1
+ {"version":3,"file":"RulesReducer.d.ts","sourceRoot":"","sources":["../../../src/reducers/RulesReducer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,KAAK,EAAE,MAAM,8CAA8C,CAAC;AAC1F,OAAO,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAC/E,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAMnD,oBAAY,qBAAqB;IAC7B,mCAAmC,wCAAwC;IAC3E,uBAAuB,4BAA4B;IACnD,wBAAwB,6BAA6B;IACrD,yBAAyB,8BAA8B;IACvD,8BAA8B,mCAAmC;IACjE,uBAAuB,4BAA4B;IACnD,kCAAkC,uCAAuC;IACzE,YAAY,iBAAiB;IAC7B,wBAAwB,6BAA6B;IACrD,kBAAkB,uBAAuB;IACzC,eAAe,oBAAoB;CACtC;AAED,MAAM,WAAW,SAAS;IACtB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,0BAA0B,EAAE,OAAO,CAAC;IACpC,+BAA+B,EAAE,OAAO,CAAC;IAEzC,uBAAuB,EAAE,OAAO,CAAC;IACjC,kBAAkB,EAAE,OAAO,CAAC;IAC5B,qBAAqB,EAAE,OAAO,CAAC;CAClC;AAED,MAAM,WAAW,aAAc,SAAQ,KAAK;IACxC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,2BAA4B,SAAQ,mBAAmB;IACpE,GAAG,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,gBAAiB,SAAQ,SAAS;IAC/C,IAAI,EAAE,aAAa,GAAG,2BAA2B,CAAC;IAClD,KAAK,EAAE,aAAa,EAAE,GAAG,2BAA2B,EAAE,CAAC;CAC1D;AACD,KAAK,WAAW,GAAG,OAAO,CAAC,qBAAqB,EAAE,gBAAgB,CAAC,CAAC;AACpE,MAAM,MAAM,iBAAiB,GAAG,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;AAE7D,MAAM,WAAW,MAAM;IACnB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,KAAK,CAAC,EAAE,aAAa,EAAE,CAAC;CAC3B;AAED,eAAO,MAAM,iBAAiB,EAAE,SA8B/B,CAAC;AAEF,eAAO,MAAM,YAAY,UAAW,SAAS,UAAU,WAAW,KAAG,SA0EpE,CAAC;AAGF,eAAO,MAAM,sCAAsC,aAAc,iBAAiB,QAAQ,KAAK,SAE9F,CAAC;AACF,eAAO,MAAM,0BAA0B,aAAc,iBAAiB,QAAQ,KAAK,SAElF,CAAC;AACF,eAAO,MAAM,YAAY,aAAc,iBAAiB,SAEvD,CAAC;AACF,eAAO,MAAM,sBAAsB,aACrB,iBAAiB,QACrB,OAAO,CAAC,mBAAmB,CAAC,iBACnB,CAAC,UAAU,EAAE,KAAK,EAAE,KAAK,IAAI,kBAa/C,CAAC;AAEF,eAAO,MAAM,wBAAwB,aAAc,iBAAiB,yBAAyB,OAAO,SAKnG,CAAC;AACF,eAAO,MAAM,kBAAkB,aAAc,iBAAiB,QAAQ,KAAK,SAE1E,CAAC;AACF,eAAO,MAAM,eAAe,aAAc,iBAAiB,eAAe,2BAA2B,EAAE,SAEtG,CAAC"}
@@ -42,7 +42,11 @@ export const initialRulesState = {
42
42
  rules: [],
43
43
  },
44
44
  EARules: {
45
- sidebarSections: [AppRouteSections.TROUBLESHOOT, AppRouteSections.DESCRIBE_MORE, AppRouteSections.MANAGEMENT],
45
+ sidebarSections: [
46
+ AppRouteSections.RESOURCES,
47
+ AppRouteSections.ADDITIONAL_INFORMATION,
48
+ AppRouteSections.CONFIGURATION,
49
+ ],
46
50
  mainSections: [AppRouteSections.SUMMARIZE],
47
51
  rules: [],
48
52
  },
@@ -1 +1 @@
1
- {"version":3,"file":"routeUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/routeUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,qDAAqD,CAAC;AAG5F,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAEpG,MAAM,CAAC,OAAO,OAAO,UAAU;IAC3B,MAAM,CAAC,UAAU,SAAM;IAEvB;;;;;;;OAOG;IACH,MAAM,CAAC,cAAc,CACjB,UAAU,EAAE,mBAAmB,CAAC,eAAe,CAAC,EAChD,kBAAkB,GAAE,iBAAsB;IAe9C,MAAM,CAAC,cAAc,CACjB,UAAU,EAAE,mBAAmB,CAAC,eAAe,CAAC,EAChD,iBAAiB,UAAQ,EACzB,UAAU,GAAE,eAAoB,GACjC,MAAM;IAKT,MAAM,CAAC,iBAAiB,CAAC,YAAY,EAAE,OAAO,EAAE,cAAc,EAAE,OAAO,GAAG,gBAAgB;IAU1F,MAAM,CAAC,uBAAuB,CAC1B,UAAU,EAAE,mBAAmB,CAAC,eAAe,CAAC,EAChD,YAAY,EAAE,OAAO,EACrB,cAAc,EAAE,OAAO,EACvB,iBAAiB,EAAE,OAAO,EAC1B,cAAc,GAAE,iBAAsB;IAS1C,MAAM,CAAC,iBAAiB,CACpB,UAAU,EAAE,mBAAmB,CAAC,eAAe,CAAC,EAChD,UAAU,EAAE,MAAM,EAClB,iBAAiB,EAAE,OAAO,EAC1B,cAAc,GAAE,iBAAsB;IAS1C,MAAM,CAAC,iBAAiB,CACpB,UAAU,EAAE,mBAAmB,CAAC,eAAe,CAAC,EAChD,SAAS,EAAE,iBAAiB,EAC5B,cAAc,UAAQ;IAY1B,MAAM,CAAC,wBAAwB,CAC3B,WAAW,EAAE,MAAM,EACnB,kBAAkB,EAAE,MAAM,EAC1B,QAAQ,EAAE,qBAAqB,EAC/B,IAAI,SAAO;CAMlB"}
1
+ {"version":3,"file":"routeUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/routeUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,qDAAqD,CAAC;AAG5F,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAEpG,MAAM,CAAC,OAAO,OAAO,UAAU;IAC3B,MAAM,CAAC,UAAU,SAAM;IAEvB;;;;;;;OAOG;IACH,MAAM,CAAC,cAAc,CACjB,UAAU,EAAE,mBAAmB,CAAC,eAAe,CAAC,EAChD,kBAAkB,GAAE,iBAAsB;IAqB9C,MAAM,CAAC,cAAc,CACjB,UAAU,EAAE,mBAAmB,CAAC,eAAe,CAAC,EAChD,iBAAiB,UAAQ,EACzB,UAAU,GAAE,eAAoB,GACjC,MAAM;IAKT,MAAM,CAAC,iBAAiB,CAAC,YAAY,EAAE,OAAO,EAAE,cAAc,EAAE,OAAO,GAAG,gBAAgB;IAU1F,MAAM,CAAC,uBAAuB,CAC1B,UAAU,EAAE,mBAAmB,CAAC,eAAe,CAAC,EAChD,YAAY,EAAE,OAAO,EACrB,cAAc,EAAE,OAAO,EACvB,iBAAiB,EAAE,OAAO,EAC1B,cAAc,GAAE,iBAAsB;IAS1C,MAAM,CAAC,iBAAiB,CACpB,UAAU,EAAE,mBAAmB,CAAC,eAAe,CAAC,EAChD,UAAU,EAAE,MAAM,EAClB,iBAAiB,EAAE,OAAO,EAC1B,cAAc,GAAE,iBAAsB;IAS1C,MAAM,CAAC,iBAAiB,CACpB,UAAU,EAAE,mBAAmB,CAAC,eAAe,CAAC,EAChD,SAAS,EAAE,iBAAiB,EAC5B,cAAc,UAAQ;IAY1B,MAAM,CAAC,wBAAwB,CAC3B,WAAW,EAAE,MAAM,EACnB,kBAAkB,EAAE,MAAM,EAC1B,QAAQ,EAAE,qBAAqB,EAC/B,IAAI,SAAO;CAMlB"}
@@ -11,8 +11,12 @@ class RouteUtils {
11
11
  * is empty by lodash isEmpty standards it will be removed from the returned query object.
12
12
  */
13
13
  static getQueryParams(routeProps, replacementQueries = {}) {
14
- // parse query string and replace old queries with new queries.
15
- const queryObject = Object.assign(Object.assign({}, getUrlParsedParams(routeProps.location.search)), replacementQueries);
14
+ let { pathname, search } = routeProps.location;
15
+ // If the pathname is "/troubleshoot/summarize", replace it
16
+ if (pathname === '/troubleshoot/summarize') {
17
+ routeProps.history.replace({ pathname: '/troubleshoot/troubleshoot', search });
18
+ }
19
+ const queryObject = Object.assign(Object.assign({}, getUrlParsedParams(search)), replacementQueries);
16
20
  // remove empty queries.
17
21
  return Object.keys(queryObject).reduce((newQueryObject, key) => {
18
22
  if (!isEmpty(queryObject[key])) {
@@ -30,7 +34,7 @@ class RouteUtils {
30
34
  ? AppRouteSections.GET_SUPPORT
31
35
  : isCaseCreate
32
36
  ? AppRouteSections.GET_SUPPORT
33
- : AppRouteSections.SUMMARIZE;
37
+ : AppRouteSections.TROUBLESHOOT;
34
38
  return routeSequence;
35
39
  }
36
40
  static navigateToDefaltSection(routeProps, isCaseCreate, isSearchIntent, resetSearchParams, newQueryParams = {}) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rh-support/troubleshoot",
3
- "version": "2.5.32",
3
+ "version": "2.5.33",
4
4
  "publishConfig": {
5
5
  "access": "public",
6
6
  "registry": "https://registry.npmjs.org"
@@ -58,11 +58,11 @@
58
58
  "@progress/kendo-licensing": "1.3.5",
59
59
  "@progress/kendo-react-pdf": "^5.16.0",
60
60
  "@redux-devtools/extension": "^3.3.0",
61
- "@rh-support/components": "2.5.14",
62
- "@rh-support/react-context": "2.5.16",
61
+ "@rh-support/components": "2.5.15",
62
+ "@rh-support/react-context": "2.5.17",
63
63
  "@rh-support/types": "2.0.5",
64
- "@rh-support/user-permissions": "2.5.8",
65
- "@rh-support/utils": "2.5.7",
64
+ "@rh-support/user-permissions": "2.5.9",
65
+ "@rh-support/utils": "2.5.8",
66
66
  "@types/react-redux": "^7.1.33",
67
67
  "@types/redux": "^3.6.0",
68
68
  "date-fns": "3.6.0",
@@ -134,5 +134,5 @@
134
134
  "defaults and supports es6-module",
135
135
  "maintained node versions"
136
136
  ],
137
- "gitHead": "8d1c5dd1d61bac1cfb8cc46ab6309ffdeec916d3"
137
+ "gitHead": "25dc755c973c1fd3169c76df597839acb07dde64"
138
138
  }