@rh-support/troubleshoot 2.6.27 → 2.6.29

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 (128) hide show
  1. package/lib/esm/components/CaseEditView/ActiveCustomerEscalation/ActiveCustomerEscalation.d.ts +0 -1
  2. package/lib/esm/components/CaseEditView/ActiveCustomerEscalation/ActiveCustomerEscalation.d.ts.map +1 -1
  3. package/lib/esm/components/CaseEditView/ActiveCustomerEscalation/ActiveCustomerEscalation.js +5 -31
  4. package/lib/esm/components/CaseEditView/ActiveCustomerEscalation/RequestEscalationModal.d.ts.map +1 -1
  5. package/lib/esm/components/CaseEditView/ActiveCustomerEscalation/RequestEscalationModal.js +34 -33
  6. package/lib/esm/components/CaseEditView/CaseDetailsAside.d.ts.map +1 -1
  7. package/lib/esm/components/CaseEditView/CaseDetailsAside.js +2 -3
  8. package/lib/esm/components/CaseEditView/CaseDetailsTabs.d.ts.map +1 -1
  9. package/lib/esm/components/CaseEditView/CaseDetailsTabs.js +0 -1
  10. package/lib/esm/components/CaseEditView/CaseSolutions/CaseSolutions.d.ts.map +1 -1
  11. package/lib/esm/components/CaseEditView/CaseSolutions/CaseSolutions.js +15 -11
  12. package/lib/esm/components/CaseEditView/CaseSolutions/CaseSolutionsItem.js +1 -1
  13. package/lib/esm/components/CaseEditView/ConfirmationModals/ReopenCaseModal.d.ts.map +1 -1
  14. package/lib/esm/components/CaseEditView/ConfirmationModals/ReopenCaseModal.js +22 -16
  15. package/lib/esm/components/CaseEditView/RequestRemoteSession/ESSRemoteSession.d.ts.map +1 -1
  16. package/lib/esm/components/CaseEditView/RequestRemoteSession/ESSRemoteSession.js +2 -2
  17. package/lib/esm/components/CaseEditView/RequestRemoteSession/NewEssTermsModal.d.ts.map +1 -1
  18. package/lib/esm/components/CaseEditView/RequestRemoteSession/NewEssTermsModal.js +102 -53
  19. package/lib/esm/components/CaseEditView/RequestRemoteSession/RemoteSessionAgreement.d.ts.map +1 -1
  20. package/lib/esm/components/CaseEditView/RequestRemoteSession/RemoteSessionAgreement.js +1 -1
  21. package/lib/esm/components/CaseEditView/RequestRemoteSession/RemoteSessionAgreementModal.d.ts.map +1 -1
  22. package/lib/esm/components/CaseEditView/RequestRemoteSession/RemoteSessionAgreementModal.js +20 -22
  23. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CaseHostname.js +2 -4
  24. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CasePhoneNumberConfirmAlert.d.ts.map +1 -1
  25. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CasePhoneNumberConfirmAlert.js +5 -8
  26. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/VerifyCaseStatusModal/VerifyCaseStatusModal.d.ts.map +1 -1
  27. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/VerifyCaseStatusModal/VerifyCaseStatusModal.js +9 -7
  28. package/lib/esm/components/CaseEditView/Tabs/CaseHistory/Timeline.css +8 -0
  29. package/lib/esm/components/CaseInformation/Fts.d.ts.map +1 -1
  30. package/lib/esm/components/CaseInformation/Fts.js +2 -6
  31. package/lib/esm/components/CaseInformation/Severity.js +1 -1
  32. package/lib/esm/components/CaseInformation/SupportLevel.d.ts.map +1 -1
  33. package/lib/esm/components/CaseInformation/SupportLevel.js +1 -1
  34. package/lib/esm/components/CaseManagement/OpenshiftDropdownV4.d.ts.map +1 -1
  35. package/lib/esm/components/CaseManagement/OpenshiftDropdownV4.js +13 -1
  36. package/lib/esm/components/CaseManagement/RHAssociatesSelector.d.ts.map +1 -1
  37. package/lib/esm/components/CaseManagement/RHAssociatesSelector.js +8 -5
  38. package/lib/esm/components/CaseManagement/SendNotifications/CaseContactSelector.d.ts.map +1 -1
  39. package/lib/esm/components/CaseManagement/SendNotifications/CaseContactSelector.js +7 -7
  40. package/lib/esm/components/CaseManagement/SendNotifications/NonOrgCaseNotifyeesSelector.d.ts.map +1 -1
  41. package/lib/esm/components/CaseManagement/SendNotifications/NonOrgCaseNotifyeesSelector.js +1 -1
  42. package/lib/esm/components/Cve/CveModal.d.ts.map +1 -1
  43. package/lib/esm/components/Cve/CveModal.js +3 -2
  44. package/lib/esm/components/Cve/CveSidebar.js +1 -1
  45. package/lib/esm/components/OpenCase/SupportTypeSelectorPage.js +1 -1
  46. package/lib/esm/components/ProductSelector/AllProductsSelector.d.ts.map +1 -1
  47. package/lib/esm/components/ProductSelector/AllProductsSelector.js +9 -6
  48. package/lib/esm/components/ProductSelector/NewProductDropdownSelector.d.ts.map +1 -1
  49. package/lib/esm/components/ProductSelector/NewProductDropdownSelector.js +10 -1
  50. package/lib/esm/components/Recommendations/AsideResults.d.ts.map +1 -1
  51. package/lib/esm/components/Recommendations/AsideResults.js +2 -2
  52. package/lib/esm/components/Recommendations/ClusterRecommendationsModal.d.ts.map +1 -1
  53. package/lib/esm/components/Recommendations/ClusterRecommendationsModal.js +7 -4
  54. package/lib/esm/components/Recommendations/EARules/EARuleInfoAccordion.d.ts.map +1 -1
  55. package/lib/esm/components/Recommendations/EARules/EARuleInfoAccordion.js +3 -1
  56. package/lib/esm/components/Recommendations/InsightsResults.js +1 -1
  57. package/lib/esm/components/Recommendations/InsightsRuleInfo.d.ts.map +1 -1
  58. package/lib/esm/components/Recommendations/InsightsRuleInfo.js +9 -2
  59. package/lib/esm/components/Recommendations/RecommendationFeedbackModal.d.ts.map +1 -1
  60. package/lib/esm/components/Recommendations/RecommendationFeedbackModal.js +4 -4
  61. package/lib/esm/components/Recommendations/Recommendations.js +1 -1
  62. package/lib/esm/components/Recommendations/RulesModal.d.ts.map +1 -1
  63. package/lib/esm/components/Recommendations/RulesModal.js +7 -4
  64. package/lib/esm/components/Recommendations/WatsonxAiIcon.js +1 -1
  65. package/lib/esm/components/SessionRestore/RestoreLastSessionModal.d.ts.map +1 -1
  66. package/lib/esm/components/SessionRestore/RestoreLastSessionModal.js +5 -3
  67. package/lib/esm/components/SessionRestore/SessionRestore.js +1 -1
  68. package/lib/esm/components/Suggestions/Suggestions.d.ts.map +1 -1
  69. package/lib/esm/components/Suggestions/Suggestions.js +17 -12
  70. package/lib/esm/components/Suggestions/TopContent.d.ts.map +1 -1
  71. package/lib/esm/components/Suggestions/TopContent.js +13 -13
  72. package/lib/esm/components/TroubleshootSection/TroubleshootSection.d.ts +0 -7
  73. package/lib/esm/components/TroubleshootSection/TroubleshootSection.d.ts.map +1 -1
  74. package/lib/esm/components/TroubleshootSection/TroubleshootSection.js +13 -96
  75. package/lib/esm/components/shared/fileUpload/WidgetFileUploader.js +3 -3
  76. package/lib/esm/components/shared/fileUpload/css/fileSelector.css +1 -0
  77. package/lib/esm/components/shared/input/ContactSelectorInternal.d.ts +1 -0
  78. package/lib/esm/components/shared/input/ContactSelectorInternal.d.ts.map +1 -1
  79. package/lib/esm/components/shared/input/ContactSelectorInternal.js +6 -1
  80. package/lib/esm/components/shared/useIsSectionValid.d.ts.map +1 -1
  81. package/lib/esm/components/shared/useIsSectionValid.js +7 -1
  82. package/lib/esm/components/wizardLayout/GlobalTroubleshootEffects.d.ts.map +1 -1
  83. package/lib/esm/components/wizardLayout/GlobalTroubleshootEffects.js +8 -2
  84. package/lib/esm/components/wizardLayout/WizardAside.js +3 -3
  85. package/lib/esm/components/wizardLayout/WizardLayout.d.ts.map +1 -1
  86. package/lib/esm/components/wizardLayout/WizardLayout.js +4 -6
  87. package/lib/esm/components/wizardLayout/WizardMain.d.ts +1 -5
  88. package/lib/esm/components/wizardLayout/WizardMain.d.ts.map +1 -1
  89. package/lib/esm/components/wizardLayout/WizardMain.js +18 -147
  90. package/lib/esm/components/wizardLayout/WizardNavigation.d.ts +2 -4
  91. package/lib/esm/components/wizardLayout/WizardNavigation.d.ts.map +1 -1
  92. package/lib/esm/components/wizardLayout/WizardNavigation.js +16 -13
  93. package/lib/esm/components/wizardLayout/index.d.ts +0 -1
  94. package/lib/esm/components/wizardLayout/index.d.ts.map +1 -1
  95. package/lib/esm/components/wizardLayout/index.js +0 -1
  96. package/lib/esm/context/RootTroubleshootProvider.d.ts.map +1 -1
  97. package/lib/esm/context/RootTroubleshootProvider.js +6 -8
  98. package/lib/esm/css/app.css +5 -4
  99. package/lib/esm/css/case.css +12 -0
  100. package/lib/esm/css/results.css +2 -2
  101. package/lib/esm/hooks/useWizard.d.ts +0 -6
  102. package/lib/esm/hooks/useWizard.d.ts.map +1 -1
  103. package/lib/esm/hooks/useWizard.js +1 -1
  104. package/lib/esm/reducers/CaseConstNTypes.d.ts +0 -2
  105. package/lib/esm/reducers/CaseConstNTypes.d.ts.map +1 -1
  106. package/lib/esm/reducers/CaseConstNTypes.js +0 -2
  107. package/lib/esm/scss/_main.scss +54 -8
  108. package/lib/esm/scss/_pf-overrides.scss +18 -6
  109. package/package.json +6 -7
  110. package/lib/esm/components/TroubleshootSection/AskRedHat.d.ts +0 -7
  111. package/lib/esm/components/TroubleshootSection/AskRedHat.d.ts.map +0 -1
  112. package/lib/esm/components/TroubleshootSection/AskRedHat.js +0 -73
  113. package/lib/esm/components/TroubleshootSection/icons/CollapseIcon.d.ts +0 -9
  114. package/lib/esm/components/TroubleshootSection/icons/CollapseIcon.d.ts.map +0 -1
  115. package/lib/esm/components/TroubleshootSection/icons/CollapseIcon.js +0 -9
  116. package/lib/esm/components/TroubleshootSection/icons/StarIcon.d.ts +0 -9
  117. package/lib/esm/components/TroubleshootSection/icons/StarIcon.d.ts.map +0 -1
  118. package/lib/esm/components/TroubleshootSection/icons/StarIcon.js +0 -17
  119. package/lib/esm/context/AIResponseContext.d.ts +0 -10
  120. package/lib/esm/context/AIResponseContext.d.ts.map +0 -1
  121. package/lib/esm/context/AIResponseContext.js +0 -26
  122. package/lib/esm/css/AskRedHat.css +0 -338
  123. package/lib/esm/reducers/AIResponseConstNTypes.d.ts +0 -48
  124. package/lib/esm/reducers/AIResponseConstNTypes.d.ts.map +0 -1
  125. package/lib/esm/reducers/AIResponseConstNTypes.js +0 -16
  126. package/lib/esm/reducers/AIResponseReducer.d.ts +0 -9
  127. package/lib/esm/reducers/AIResponseReducer.d.ts.map +0 -1
  128. package/lib/esm/reducers/AIResponseReducer.js +0 -43
@@ -1,5 +1,6 @@
1
1
  import { pcm } from '@cee-eng/hydrajs';
2
- import { Accordion, AccordionContent, AccordionItem, AccordionToggle, Tooltip } from '@patternfly/react-core';
2
+ import { AccordionContent, AccordionItem, AccordionToggle, Tooltip } from '@patternfly/react-core';
3
+ import { haltEvent } from '@rh-support/utils';
3
4
  import isEqual from 'lodash/isEqual';
4
5
  import map from 'lodash/map';
5
6
  import React, { useState } from 'react';
@@ -44,23 +45,22 @@ export default function TopContent(props) {
44
45
  }));
45
46
  };
46
47
  return (React.createElement(React.Fragment, null, props.helperText ? (React.createElement(Tooltip, { content: React.createElement("div", null, props.helperText) },
47
- React.createElement(Accordion, { className: "top-content-accordion" },
48
- React.createElement(AccordionItem, { isExpanded: expanded === `${props.topContentIndex}` },
49
- React.createElement(AccordionToggle, { onClick: () => {
50
- onToggle(`${props.topContentIndex}`);
51
- }, "data-tracking-id": `top-content-accordion-header-${props.topContentIndex}`, id: `${props.topContentIndex}` },
52
- React.createElement("h3", null, props.name)),
53
- React.createElement(AccordionContent, { id: `${props.topContentIndex}` },
54
- React.createElement("ul", { className: "list-flushleft", style: { listStyleType: 'disc' } }, map(props.items, (item, i) => (React.createElement("li", { key: i + item.contentTitle },
55
- React.createElement("p", null,
56
- React.createElement("a", { className: "se-recommended ts-top-problems", "data-tracking-id": "se-recommended-top-content", onClick: onLinkClick(item), href: `${item.contentUrl}?${RouteUtils.getSEResourceQueryParams(props.seSessionId, props.seResourceOriginID, SessionResourceSource.TOP_CONTENT)}`, target: "_blank", rel: "noopener noreferrer" }, item.contentTitle))))))))))) : (React.createElement(Accordion, null,
57
48
  React.createElement(AccordionItem, { isExpanded: expanded === `${props.topContentIndex}` },
58
- React.createElement(AccordionToggle, { onClick: () => {
49
+ React.createElement(AccordionToggle, { onClick: (e) => {
50
+ haltEvent(e);
59
51
  onToggle(`${props.topContentIndex}`);
60
52
  }, "data-tracking-id": `top-content-accordion-header-${props.topContentIndex}`, id: `${props.topContentIndex}` },
61
53
  React.createElement("h3", null, props.name)),
62
54
  React.createElement(AccordionContent, { id: `${props.topContentIndex}` },
63
55
  React.createElement("ul", { className: "list-flushleft", style: { listStyleType: 'disc' } }, map(props.items, (item, i) => (React.createElement("li", { key: i + item.contentTitle },
64
56
  React.createElement("p", null,
65
- React.createElement("a", { className: "se-recommended ts-top-problems", "data-tracking-id": "se-recommended-top-content", onClick: onLinkClick(item), href: `${item.contentUrl}?${RouteUtils.getSEResourceQueryParams(props.seSessionId, props.seResourceOriginID, SessionResourceSource.TOP_CONTENT)}`, target: "_blank", rel: "noopener noreferrer" }, item.contentTitle))))))))))));
57
+ React.createElement("a", { className: "se-recommended ts-top-problems", "data-tracking-id": "se-recommended-top-content", onClick: onLinkClick(item), href: `${item.contentUrl}?${RouteUtils.getSEResourceQueryParams(props.seSessionId, props.seResourceOriginID, SessionResourceSource.TOP_CONTENT)}`, target: "_blank", rel: "noopener noreferrer" }, item.contentTitle)))))))))) : (React.createElement(AccordionItem, { isExpanded: expanded === `${props.topContentIndex}` },
58
+ React.createElement(AccordionToggle, { onClick: () => {
59
+ onToggle(`${props.topContentIndex}`);
60
+ }, "data-tracking-id": `top-content-accordion-header-${props.topContentIndex}`, id: `${props.topContentIndex}` },
61
+ React.createElement("h3", null, props.name)),
62
+ React.createElement(AccordionContent, { id: `${props.topContentIndex}` },
63
+ React.createElement("ul", { className: "list-flushleft", style: { listStyleType: 'disc' } }, map(props.items, (item, i) => (React.createElement("li", { key: i + item.contentTitle },
64
+ React.createElement("p", null,
65
+ React.createElement("a", { className: "se-recommended ts-top-problems", "data-tracking-id": "se-recommended-top-content", onClick: onLinkClick(item), href: `${item.contentUrl}?${RouteUtils.getSEResourceQueryParams(props.seSessionId, props.seResourceOriginID, SessionResourceSource.TOP_CONTENT)}`, target: "_blank", rel: "noopener noreferrer" }, item.contentTitle)))))))))));
66
66
  }
@@ -1,4 +1,3 @@
1
- import '@ifd-ui/ask-redhat-core/ask-redhat-core.css';
2
1
  import React from 'react';
3
2
  interface IProps {
4
3
  inlineEditable: boolean;
@@ -7,12 +6,6 @@ interface IProps {
7
6
  collapseOnBlur?: boolean;
8
7
  autoFocus?: boolean;
9
8
  hideSaveCancel?: boolean;
10
- isAIChatMode: boolean;
11
- setIsAIChatMode: (value: boolean) => void;
12
- onChatWithAIClick?: () => void;
13
- aiServicesAvailable: boolean;
14
- isSecureSupport?: boolean;
15
- hasConfirmedStatesideSupport?: boolean;
16
9
  }
17
10
  declare function TroubleshootSection(props: IProps): React.JSX.Element;
18
11
  declare namespace TroubleshootSection {
@@ -1 +1 @@
1
- {"version":3,"file":"TroubleshootSection.d.ts","sourceRoot":"","sources":["../../../../src/components/TroubleshootSection/TroubleshootSection.tsx"],"names":[],"mappings":"AAAA,OAAO,6CAA6C,CAAC;AAUrD,OAAO,KAAqB,MAAM,OAAO,CAAC;AAY1C,UAAU,MAAM;IACZ,cAAc,EAAE,OAAO,CAAC;IACxB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,YAAY,EAAE,OAAO,CAAC;IACtB,eAAe,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAC1C,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC/B,mBAAmB,EAAE,OAAO,CAAC;IAC7B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,4BAA4B,CAAC,EAAE,OAAO,CAAC;CAC1C;AAUD,iBAAS,mBAAmB,CAAC,KAAK,EAAE,MAAM,qBA2KzC;kBA3KQ,mBAAmB;;;AA8K5B,eAAe,mBAAmB,CAAC"}
1
+ {"version":3,"file":"TroubleshootSection.d.ts","sourceRoot":"","sources":["../../../../src/components/TroubleshootSection/TroubleshootSection.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAU1C,UAAU,MAAM;IACZ,cAAc,EAAE,OAAO,CAAC;IACxB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC5B;AASD,iBAAS,mBAAmB,CAAC,KAAK,EAAE,MAAM,qBAoFzC;kBApFQ,mBAAmB;;;AAuF5B,eAAe,mBAAmB,CAAC"}
@@ -1,16 +1,4 @@
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
- };
10
- import '@ifd-ui/ask-redhat-core/ask-redhat-core.css';
11
- import { Env } from '@cee-eng/hydrajs';
12
- import { AskRedHatChat, setAuthToken } from '@ifd-ui/ask-redhat-core';
13
- import { Button, Card, CardBody, CardHeader, Tooltip } from '@patternfly/react-core';
1
+ import { Card, CardBody, CardHeader, Tooltip } from '@patternfly/react-core';
14
2
  import InfoCircleIcon from '@patternfly/react-icons/dist/js/icons/info-circle-icon';
15
3
  import { ErrorBoundary, LoadingDots } from '@rh-support/components';
16
4
  import { PreviousCaseTypes } from '@rh-support/utils';
@@ -18,31 +6,23 @@ import isEmpty from 'lodash/isEmpty';
18
6
  import isEqual from 'lodash/isEqual';
19
7
  import React, { useContext } from 'react';
20
8
  import { Trans, useTranslation } from 'react-i18next';
21
- import { useAIResponseState } from '../../context/AIResponseContext';
22
9
  import { useCaseSelector } from '../../context/CaseContext';
23
10
  import { TCStateContext } from '../../context/TopContentContext';
24
- import { appSourceId_ARH, excludedCaseTypesforARH } from '../../reducers/CaseConstNTypes';
25
11
  import { OpenShiftClusterId } from '../CaseManagement/OpenShiftClusterId';
26
12
  import ClusterRecommendations from '../Recommendations/ClusterRecommendations';
27
13
  import InsightsResults from '../Recommendations/InsightsResults';
28
14
  import Suggestions from '../Suggestions/Suggestions';
29
- import { AskRedHat } from './AskRedHat';
30
15
  const defaultProps = {
31
16
  initialIsEditing: false,
32
17
  required: false,
33
18
  collapseOnBlur: false,
34
19
  autoFocus: false,
35
20
  hideSaveCancel: false,
36
- aiServicesAvailable: false,
37
21
  };
38
22
  function TroubleshootSection(props) {
39
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
23
+ var _a;
40
24
  const { t } = useTranslation();
41
- const { aiServicesAvailable, isAIChatMode, setIsAIChatMode, onChatWithAIClick } = props;
42
25
  const { topContentState: { topContent }, } = useContext(TCStateContext);
43
- const aiResponseState = useAIResponseState();
44
- const session = window === null || window === void 0 ? void 0 : window.sessionjs;
45
- const keycloakSession = (_b = (_a = session === null || session === void 0 ? void 0 : session._state) === null || _a === void 0 ? void 0 : _a.keycloak) !== null && _b !== void 0 ? _b : null;
46
26
  const { product, version, isCreatingCase, caseType } = useCaseSelector((state) => ({
47
27
  product: state.caseDetails.product,
48
28
  version: state.caseDetails.version,
@@ -52,81 +32,18 @@ function TroubleshootSection(props) {
52
32
  issue: state.caseDetails.issue,
53
33
  }), isEqual);
54
34
  const canShowTopProducts = isEmpty(product);
55
- const canShowTopContent = !canShowTopProducts && ((_c = topContent === null || topContent === void 0 ? void 0 : topContent.data) === null || _c === void 0 ? void 0 : _c.length) > 0;
35
+ const canShowTopContent = !canShowTopProducts && ((_a = topContent === null || topContent === void 0 ? void 0 : topContent.data) === null || _a === void 0 ? void 0 : _a.length) > 0;
56
36
  const isNotAnIdea = caseType !== PreviousCaseTypes.FEATURE_ENHANCEMENT;
57
- const shouldShowARHUI = () => {
58
- // Check if the case type is allowed (not in the excluded list)
59
- const isCaseTypeAllowed = !excludedCaseTypesforARH.includes(caseType !== null && caseType !== void 0 ? caseType : '');
60
- // Check if user is not a secure support or confirmed stateside support user
61
- const isNotSecureOrStatesideUser = !props.isSecureSupport && !props.hasConfirmedStatesideSupport;
62
- // Check if AI services are available
63
- const isAIServicesAvailable = aiServicesAvailable;
64
- return isCaseTypeAllowed && isNotSecureOrStatesideUser && isAIServicesAvailable;
65
- };
66
- const handleInitialized = (success, error) => {
67
- if (success) {
68
- console.log('Chat initialized successfully');
69
- }
70
- else {
71
- console.error('Chat initialization failed:', error);
72
- }
73
- };
74
- const preprocessRequest = () => __awaiter(this, void 0, void 0, function* () {
75
- var _a;
76
- if (!keycloakSession) {
77
- throw new Error('No Keycloak session available');
78
- }
79
- try {
80
- yield ((_a = session === null || session === void 0 ? void 0 : session.updateToken) === null || _a === void 0 ? void 0 : _a.call(session, 500));
81
- const token = session === null || session === void 0 ? void 0 : session.getEncodedToken();
82
- if (token) {
83
- setAuthToken(token);
84
- }
85
- else {
86
- throw new Error('No token available');
87
- }
88
- return Promise.resolve();
89
- }
90
- catch (error) {
91
- console.error('Failed to refresh token:', error);
92
- throw error;
93
- }
94
- });
95
- const initConfig = {
96
- packageVersion: (_d = window === null || window === void 0 ? void 0 : window.supportVersionInfo) === null || _d === void 0 ? void 0 : _d.packageVersion,
97
- appSourceId: appSourceId_ARH,
98
- enableDebugLogging: false,
99
- headerTitle: 'AI insights',
100
- appEnv: Env.getEnvName(),
101
- showWelcomeMessage: false,
102
- conversationId: ((_e = aiResponseState.aiResponse) === null || _e === void 0 ? void 0 : _e.conversationId) || undefined,
103
- enableHeaderMenu: false,
104
- enableTheme: false,
105
- tokenAuth: {
106
- auth: {
107
- userInfo: (_h = (_g = (_f = window === null || window === void 0 ? void 0 : window.sessionjs) === null || _f === void 0 ? void 0 : _f.getToken) === null || _g === void 0 ? void 0 : _g.call(_f)) !== null && _h !== void 0 ? _h : {},
108
- authToken: (_k = (_j = window === null || window === void 0 ? void 0 : window.sessionjs) === null || _j === void 0 ? void 0 : _j.getEncodedToken()) !== null && _k !== void 0 ? _k : '',
109
- },
110
- events: {
111
- preprocessRequest,
112
- isAuthenticated: () => {
113
- var _a, _b, _c;
114
- return (_c = (_b = (_a = window === null || window === void 0 ? void 0 : window.sessionjs) === null || _a === void 0 ? void 0 : _a.isAuthenticated) === null || _b === void 0 ? void 0 : _b.call(_a)) !== null && _c !== void 0 ? _c : false;
115
- },
116
- },
117
- },
118
- onInitialized: handleInitialized,
119
- };
120
- const handleChatWithAIClick = () => {
121
- setIsAIChatMode(true);
122
- onChatWithAIClick === null || onChatWithAIClick === void 0 ? void 0 : onChatWithAIClick();
123
- };
124
- return (React.createElement(React.Fragment, null, isAIChatMode ? (React.createElement(React.Fragment, null,
125
- React.createElement(AskRedHatChat, { initConfig: initConfig }),
126
- React.createElement("div", { className: "fullscreen-chat-footer" },
127
- React.createElement(Button, { onClick: () => props.setIsAIChatMode(false), variant: "link", className: "return-to-case-btn" }, t('Return to case creation'))))) : (React.createElement(React.Fragment, null,
37
+ return (React.createElement(React.Fragment, null,
128
38
  React.createElement("section", null,
129
- shouldShowARHUI() && React.createElement(AskRedHat, { onChatWithAIClick: handleChatWithAIClick }),
39
+ React.createElement("header", null,
40
+ React.createElement("p", { className: "pf-v6-u-pt-md" },
41
+ React.createElement("span", { className: "pf-v6-u-font-family-heading pf-v6-u-pr-xs" }, t('Product')),
42
+ " ",
43
+ product),
44
+ React.createElement("p", null,
45
+ React.createElement("span", { className: "pf-v6-u-font-family-heading pf-v6-u-pr-xs" }, t('Version')),
46
+ version)),
130
47
  !isCreatingCase && (React.createElement(OpenShiftClusterId, { className: "push-bottom", "data-tracking-id": "troubleshoot-section-openshift-cluster-id" })),
131
48
  React.createElement(LoadingDots, { show: topContent.isFetching }),
132
49
  topContent.data.length === 0 && (React.createElement(Card, { id: "card", className: "pf-v6-u-mb-md" },
@@ -139,7 +56,7 @@ function TroubleshootSection(props) {
139
56
  React.createElement(Trans, null, "No recommendations for this product")))),
140
57
  React.createElement(ErrorBoundary, { errorMsgInfo: { message: t('There was an error loading suggestions') } }, canShowTopContent && !isEmpty(version) && React.createElement(Suggestions, null)),
141
58
  !isCreatingCase && React.createElement(ClusterRecommendations, { className: "pf-v6-u-mt-lg" })),
142
- React.createElement("section", { className: "pf-v6-u-mt-lg" }, isNotAnIdea && (React.createElement(InsightsResults, { isDisplayOnMain: true, "data-tracking-id": "troubleshoot-section-file-recs" })))))));
59
+ React.createElement("section", { className: "pf-v6-u-mt-lg" }, isNotAnIdea && (React.createElement(InsightsResults, { isDisplayOnMain: true, "data-tracking-id": "troubleshoot-section-file-recs" })))));
143
60
  }
144
61
  TroubleshootSection.defaultProps = defaultProps;
145
62
  export default TroubleshootSection;
@@ -146,12 +146,12 @@ function WidgetFileUploader(props) {
146
146
  }
147
147
  }
148
148
  });
149
- return (React.createElement(Card, { id: "file-uploader-card", className: `file-diag pf-v6-u-m-sm`, onPaste: handlePaste },
149
+ return (React.createElement(Card, { id: "file-uploader-card", className: "file-diag", onPaste: handlePaste },
150
150
  React.createElement(CardHeader, { "aria-label": t('File uploader') },
151
151
  React.createElement("h3", { id: "file-uploader-title" }, props.isIdea || props.isSecureSupport ? (React.createElement(Trans, null, "File uploader")) : (React.createElement(Trans, null, "Upload a file for Red Hat to analyze")))),
152
- React.createElement(CardBody, { "aria-label": t('File upload area'), className: "file-upload-body pf-v6-u-pt-md" },
152
+ React.createElement(CardBody, { "aria-label": t('File upload area'), className: "file-upload-body" },
153
153
  React.createElement(WidgetFileSelector, { isSessionId: props.isSessionId, isPrivate: props.isPrivate, isIdea: props.isIdea, showFileExceed: fileExceedInfo }),
154
- !hasSomeSelectedFiles(selectedLocalFiles) ? ((!props.isIdea && props.helperText) || (React.createElement("p", { className: "pf-v6-u-mt-sm" },
154
+ !hasSomeSelectedFiles(selectedLocalFiles) ? ((!props.isIdea && props.helperText) || (React.createElement("p", { className: "pf-v6-u-mt-md" },
155
155
  !props.isIdea ? (React.createElement(React.Fragment, null,
156
156
  React.createElement(Trans, null, "To help us provide the right guidance, upload a sosreport."),
157
157
  React.createElement("br", null),
@@ -73,6 +73,7 @@ i.web-icon-check {
73
73
  color: #06c;
74
74
  font-size: 14px;
75
75
  text-align: center;
76
+ margin-bottom: 0;
76
77
  }
77
78
 
78
79
  .file-diag .file-diag-dragndrop:hover,
@@ -8,6 +8,7 @@ export interface IProps {
8
8
  disabled?: boolean;
9
9
  selectedContacts?: IContact[];
10
10
  contactsToExclude?: IContact[];
11
+ disableContactRemoval?: IContact[];
11
12
  className?: string;
12
13
  id: string;
13
14
  typeAheadSize?: 'sm' | 'md' | 'lg';
@@ -1 +1 @@
1
- {"version":3,"file":"ContactSelectorInternal.d.ts","sourceRoot":"","sources":["../../../../../src/components/shared/input/ContactSelectorInternal.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,iDAAiD,CAAC;AAqBrF,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,WAAW,MAAM;IACnB,QAAQ,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,GAAG,CAAC;IACxC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,kBAAkB,CAAC;IACvC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gBAAgB,CAAC,EAAE,QAAQ,EAAE,CAAC;IAC9B,iBAAiB,CAAC,EAAE,QAAQ,EAAE,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,aAAa,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IACnC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,CAAC,MAAM,KAAA,EAAE,KAAK,KAAA,EAAE,GAAG,KAAA,KAAK,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC;CAClE;AAED,MAAM,WAAW,MAAM;IACnB,OAAO,EAAE,QAAQ,EAAE,CAAC;IACpB,gBAAgB,CAAC,EAAE,QAAQ,EAAE,CAAC;IAC9B,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,OAAO,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;CACnC;AAED,qBAAa,uBAAwB,SAAQ,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;IACxE,UAAU,EAAE,eAAe,CAAC;IAC5B,aAAa,EAAE,MAAM,CAAC,OAAO,GAAG,IAAI,CAAQ;IAC5C,QAAQ,oCAAuC;IAE/C,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,MAAM,CAAC,CAalC;gBAEU,KAAK,EAAE,MAAM;IAYzB,gBAAgB,YAAa,QAAQ,KAAG,MAAM,CAS5C;IAEF,mBAAmB,aAAc,QAAQ,EAAE,KAAG,QAAQ,EAAE,CAGtD;IAEF,sBAAsB,MAAO,QAAQ,KAAG,OAAO,CAE7C;IAEF,kBAAkB,CAAC,SAAS,EAAE,MAAM;IAmBpC,QAAQ,aAAoB,QAAQ,EAAE,mBAKpC;IAEF,YAAY,UAAiB,MAAM,mBA0CjC;IAEF,iBAAiB,UAAW,MAAM,UAiBhC;IAEF,YAAY,UAAW,GAAG,aAAa,GAAG,UAkBxC;IAEF,mBAAmB,oBAAqB,QAAQ,UAI9C;IAEF,aAAa,UAAW,KAAK,CAAC,aAAa,UAkCzC;IAEF,WAAW,aAIT;IAEF,UAAU,aAKR;IAEF,WAAW,aAGT;IAEF,QAAQ,aAEN;IAEF,MAAM;CAqGT"}
1
+ {"version":3,"file":"ContactSelectorInternal.d.ts","sourceRoot":"","sources":["../../../../../src/components/shared/input/ContactSelectorInternal.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,iDAAiD,CAAC;AAsBrF,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,WAAW,MAAM;IACnB,QAAQ,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,GAAG,CAAC;IACxC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,kBAAkB,CAAC;IACvC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gBAAgB,CAAC,EAAE,QAAQ,EAAE,CAAC;IAC9B,iBAAiB,CAAC,EAAE,QAAQ,EAAE,CAAC;IAC/B,qBAAqB,CAAC,EAAE,QAAQ,EAAE,CAAC;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,aAAa,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IACnC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,CAAC,MAAM,KAAA,EAAE,KAAK,KAAA,EAAE,GAAG,KAAA,KAAK,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC;CAClE;AAED,MAAM,WAAW,MAAM;IACnB,OAAO,EAAE,QAAQ,EAAE,CAAC;IACpB,gBAAgB,CAAC,EAAE,QAAQ,EAAE,CAAC;IAC9B,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,OAAO,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;CACnC;AAED,qBAAa,uBAAwB,SAAQ,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;IACxE,UAAU,EAAE,eAAe,CAAC;IAC5B,aAAa,EAAE,MAAM,CAAC,OAAO,GAAG,IAAI,CAAQ;IAC5C,QAAQ,oCAAuC;IAE/C,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,MAAM,CAAC,CAalC;gBAEU,KAAK,EAAE,MAAM;IAYzB,gBAAgB,YAAa,QAAQ,KAAG,MAAM,CAS5C;IAEF,mBAAmB,aAAc,QAAQ,EAAE,KAAG,QAAQ,EAAE,CAGtD;IAEF,sBAAsB,MAAO,QAAQ,KAAG,OAAO,CAE7C;IAEF,kBAAkB,CAAC,SAAS,EAAE,MAAM;IAmBpC,QAAQ,aAAoB,QAAQ,EAAE,mBAKpC;IAEF,YAAY,UAAiB,MAAM,mBA0CjC;IAEF,iBAAiB,UAAW,MAAM,UAiBhC;IAEF,YAAY,UAAW,GAAG,aAAa,GAAG,UAkBxC;IAEF,mBAAmB,oBAAqB,QAAQ,UAI9C;IAEF,aAAa,UAAW,KAAK,CAAC,aAAa,UAkCzC;IAEF,WAAW,aAIT;IAEF,UAAU,aAKR;IAEF,WAAW,aAGT;IAEF,QAAQ,aAEN;IAEF,MAAM;CA6GT"}
@@ -10,6 +10,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
10
  import { contacts } from '@cee-eng/hydrajs';
11
11
  import { Button, Label, LabelGroup, MenuToggle, Select, SelectList, SelectOption, Spinner, TextInputGroup, TextInputGroupMain, TextInputGroupUtilities, } from '@patternfly/react-core';
12
12
  import TimesCircleIcon from '@patternfly/react-icons/dist/esm/icons/times-circle-icon';
13
+ import { haltEvent } from '@rh-support/utils';
13
14
  import assign from 'lodash/assign';
14
15
  import differenceBy from 'lodash/differenceBy';
15
16
  import filter from 'lodash/filter';
@@ -212,7 +213,11 @@ export class ContactSelectorInternal extends React.Component {
212
213
  : searchValue;
213
214
  const toggle = (toggleRef) => (React.createElement(MenuToggle, { ref: toggleRef, variant: "typeahead", onClick: this.onToggle, isExpanded: isOpen, isDisabled: this.props.disabled || this.props.isUpdating, isFullWidth: true },
214
215
  React.createElement(TextInputGroup, { isPlain: true },
215
- React.createElement(TextInputGroupMain, { value: displayValue, onChange: (_, value) => this.handleInputChange(value), onFocus: this.handleFocus, onBlur: this.handleBlur, onKeyDown: this.handleKeyDown, placeholder: this.props.placeholder || 'Search contact by name or username', ref: this.inputRef, autoComplete: "off", isExpanded: isOpen, role: "combobox" }, this.props.multiple && selectedContacts.length > 0 && (React.createElement(LabelGroup, { "aria-label": "Selected contacts" }, selectedContacts.map((contact, index) => (React.createElement(Label, { key: contact.ssoUsername, variant: "outline", color: "blue", onClose: () => this.handleRemoveContact(contact) }, this.getSelectedLabel(contact))))))),
216
+ React.createElement(TextInputGroupMain, { value: displayValue, onChange: (_, value) => this.handleInputChange(value), onFocus: this.handleFocus, onBlur: this.handleBlur, onKeyDown: this.handleKeyDown, placeholder: this.props.placeholder || 'Search contact by name or username', ref: this.inputRef, autoComplete: "off", isExpanded: isOpen, role: "combobox" }, this.props.multiple && selectedContacts.length > 0 && (React.createElement(LabelGroup, { "aria-label": "Selected contacts" }, selectedContacts.map((contact, index) => {
217
+ var _a, _b;
218
+ const isDisabled = !!((_b = (_a = this.props) === null || _a === void 0 ? void 0 : _a.disableContactRemoval) === null || _b === void 0 ? void 0 : _b.find((v) => v.ssoUsername === contact.ssoUsername));
219
+ return (React.createElement(Label, { key: contact.ssoUsername, variant: "outline", color: "blue", onClick: haltEvent, onClose: () => this.handleRemoveContact(contact), isDisabled: isDisabled }, this.getSelectedLabel(contact)));
220
+ })))),
216
221
  React.createElement(TextInputGroupUtilities, null,
217
222
  isLoading && React.createElement(Spinner, { size: "sm" }),
218
223
  this.props.clearButton && (searchValue || selectedContacts.length > 0) && (React.createElement(Button, { variant: "plain", icon: React.createElement(TimesCircleIcon, null), onClick: this.handleClear, "aria-label": "Clear input" }))))));
@@ -1 +1 @@
1
- {"version":3,"file":"useIsSectionValid.d.ts","sourceRoot":"","sources":["../../../../src/components/shared/useIsSectionValid.tsx"],"names":[],"mappings":"AAKA,OAAO,KAA0C,MAAM,OAAO,CAAC;AAuB/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAKnE,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,gBAAgB;;;;;EA8T9D"}
1
+ {"version":3,"file":"useIsSectionValid.d.ts","sourceRoot":"","sources":["../../../../src/components/shared/useIsSectionValid.tsx"],"names":[],"mappings":"AAKA,OAAO,KAA0C,MAAM,OAAO,CAAC;AAuB/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAKnE,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,gBAAgB;;;;;EAmU9D"}
@@ -161,6 +161,7 @@ export function useIsSectionValid(sectionName) {
161
161
  !isEmpty(version) &&
162
162
  !isEmpty(summary) &&
163
163
  !isEmpty(issue) &&
164
+ isEntitlement === true &&
164
165
  isClusterIDValid(caseState, (_a = allProducts.data) === null || _a === void 0 ? void 0 : _a.productsResult);
165
166
  return isValid;
166
167
  }
@@ -252,7 +253,12 @@ export function useIsSectionValid(sectionName) {
252
253
  return '';
253
254
  switch (sectionNameLocal) {
254
255
  case AppRouteSections.RESOURCES:
255
- return recommendationSectionError();
256
+ if (isCaseCreate === false) {
257
+ return getSupportSectionError();
258
+ }
259
+ else {
260
+ return recommendationSectionError();
261
+ }
256
262
  case AppRouteSections.GET_SUPPORT:
257
263
  return getSupportSectionError();
258
264
  default:
@@ -1 +1 @@
1
- {"version":3,"file":"GlobalTroubleshootEffects.d.ts","sourceRoot":"","sources":["../../../../src/components/wizardLayout/GlobalTroubleshootEffects.tsx"],"names":[],"mappings":"AASA,OAAO,KAAkD,MAAM,OAAO,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAWvD,OAAO,EAAqB,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAQrF,UAAU,MAAM;IACZ,UAAU,EAAE,mBAAmB,CAAC,eAAe,CAAC,CAAC;CACpD;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,MAAM,qBAgTtD"}
1
+ {"version":3,"file":"GlobalTroubleshootEffects.d.ts","sourceRoot":"","sources":["../../../../src/components/wizardLayout/GlobalTroubleshootEffects.tsx"],"names":[],"mappings":"AASA,OAAO,KAAkD,MAAM,OAAO,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAWvD,OAAO,EAAuC,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAYvG,UAAU,MAAM;IACZ,UAAU,EAAE,mBAAmB,CAAC,eAAe,CAAC,CAAC;CACpD;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,MAAM,qBAuTtD"}
@@ -24,7 +24,8 @@ import { useResetCaseCreate } from '../../hooks/useResetCaseCreate';
24
24
  import { CASE_DEATILS_SOURCE_REFERRER_LIMIT } from '../../reducers/CaseConstNTypes';
25
25
  import { getDescriptionWOQues } from '../../reducers/CaseHelpers';
26
26
  import { setCaseAccountNumber, setCaseDetails, setCaseOwner } from '../../reducers/CaseReducer';
27
- import { setRouteFlags } from '../../reducers/RouteReducer';
27
+ import { AppRouteSections } from '../../reducers/RouteConstNTypes';
28
+ import { setActiveSectionChanged, setRouteFlags, updateisNextBtnClickedToShowValidationError, } from '../../reducers/RouteReducer';
28
29
  import { fetchEdmundAbbottRules } from '../../reducers/RulesReducer';
29
30
  import { fetchTopContent } from '../../reducers/TopContentReducer';
30
31
  import RouteUtils from '../../utils/routeUtils';
@@ -117,6 +118,8 @@ export function GlobalTroubleshootEffects(props) {
117
118
  }, [allProducts.data.productsResult, caseDispatch, props.routeProps]);
118
119
  // if you want to hide any section on page load then the logic will go here..
119
120
  useEffect(() => {
121
+ // Reset validation error state when the troubleshoot app loads freshly
122
+ updateisNextBtnClickedToShowValidationError(dispatchToRouteReducer, false);
120
123
  if (!isFirstMount.current && loggedInUser.data && managedAccounts.data)
121
124
  return;
122
125
  if (isFirstMount.current) {
@@ -143,11 +146,14 @@ export function GlobalTroubleshootEffects(props) {
143
146
  */
144
147
  useEffect(() => {
145
148
  if (props.routeProps.location.pathname === RouteUtils.seBasePath) {
149
+ // Set the active section to the default section when navigating to base path
150
+ const defaultSection = isCaseCreate ? AppRouteSections.GET_SUPPORT : AppRouteSections.TROUBLESHOOT;
151
+ setActiveSectionChanged(dispatchToRouteReducer, defaultSection, '');
146
152
  RouteUtils.navigateToDefaltSection(props.routeProps, isCaseCreate, isSearchIntent, false);
147
153
  !isSearchIntent && resetCaseCreateState();
148
154
  }
149
155
  // eslint-disable-next-line react-hooks/exhaustive-deps
150
- }, [dispatchToRouteReducer, props.routeProps, isCaseCreate, isSearchIntent]);
156
+ }, [dispatchToRouteReducer, props.routeProps.location.pathname, isCaseCreate, isSearchIntent]);
151
157
  /**
152
158
  * Setting Default AccountNumber and ContactSsoUsername from loggedInUsersAccount
153
159
  * Disabling exhaustive-deps rule as we don't want to reset default values if user manually clears these from UI.
@@ -39,14 +39,14 @@ function WizardAside(props) {
39
39
  React.createElement("section", { className: "grid-aside-content" },
40
40
  canUseSessionManagement && !isCreatingCase && activeSection !== AppRouteSections.SUBMIT_CASE && (React.createElement(SessionRestore, { routeProps: props.routeProps })),
41
41
  canShowFileUploadWidget() && React.createElement(InsightsResults, null),
42
- canShowFileUploadWidget() && React.createElement(FileDiag, { className: "pf-v6-u-mb-md" }),
42
+ canShowFileUploadWidget() && React.createElement(FileDiag, { className: "pf-v6-u-mb-lg" }),
43
43
  activeSection === (isCaseCreate ? AppRouteSections.SUMMARIZE : AppRouteSections.TROUBLESHOOT) &&
44
44
  !isCveModalOpened && React.createElement(CveSidebar, null),
45
45
  activeSection === AppRouteSections.RESOURCES && React.createElement(CveSidebar, null),
46
46
  canShowEARuleWidget && React.createElement(EARuleWidget, null),
47
- !(isIdea && activeSection === 'submit-case') && (React.createElement(AsideResults, { routeProps: props.routeProps, className: "pf-v6-u-mb-md pf-v6-u-mt-0" })),
47
+ !(isIdea && activeSection === 'submit-case') && (React.createElement(AsideResults, { routeProps: props.routeProps, className: "pf-v6-u-mb-lg pf-v6-u-mt-0" })),
48
48
  canShowFileRecommendationSectionsWidget && React.createElement(InsightsResults, { isDisplayOnMain: true }),
49
- React.createElement(ClusterRecommendations, { showClusterRecommendationsList: canShowClusterIdReportWidget, className: "pf-v6-u-mb-md pf-v6-u-mt-0" }))));
49
+ React.createElement(ClusterRecommendations, { showClusterRecommendationsList: canShowClusterIdReportWidget, className: "pf-v6-u-mb-lg pf-v6-u-mt-0" }))));
50
50
  }
51
51
  WizardAside.defaultProps = defaultProps;
52
52
  export default WizardAside;
@@ -1 +1 @@
1
- {"version":3,"file":"WizardLayout.d.ts","sourceRoot":"","sources":["../../../../src/components/wizardLayout/WizardLayout.tsx"],"names":[],"mappings":"AAgBA,OAAO,KAAkD,MAAM,OAAO,CAAC;AAEvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAMvD,OAAO,EAAuC,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAcvG,UAAU,MAAM;IACZ,UAAU,EAAE,mBAAmB,CAAC,eAAe,CAAC,CAAC;CACpD;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,qBA2NzC"}
1
+ {"version":3,"file":"WizardLayout.d.ts","sourceRoot":"","sources":["../../../../src/components/wizardLayout/WizardLayout.tsx"],"names":[],"mappings":"AAgBA,OAAO,KAAkD,MAAM,OAAO,CAAC;AAEvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAMvD,OAAO,EAAuC,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAcvG,UAAU,MAAM;IACZ,UAAU,EAAE,mBAAmB,CAAC,eAAe,CAAC,CAAC;CACpD;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,qBAoNzC"}
@@ -33,10 +33,8 @@ import { GlobalTroubleshootEffects } from './GlobalTroubleshootEffects';
33
33
  import WizardAside from './WizardAside';
34
34
  import WizardMain from './WizardMain';
35
35
  export function WizardLayout(props) {
36
- var _a, _b;
37
36
  const { routeState: { activeSection, isCaseCreate }, } = useContext(RouteContext);
38
37
  const { getMetadata } = useMetadata();
39
- const [isAIChatMode, setIsAIChatMode] = useState(false);
40
38
  const { caseCreationError, contactSSOName, caseType, product, caseState, ABTestVariation } = useCaseSelector((state) => ({
41
39
  caseState: state,
42
40
  caseCreationError: state.caseCreationError,
@@ -154,9 +152,9 @@ export function WizardLayout(props) {
154
152
  React.createElement(GlobalTroubleshootEffects, { routeProps: props.routeProps }),
155
153
  activeSection !== AppRouteSections.DESCRIBE_IDEA && (React.createElement(PreCaseConfirmationModals, { onModalClose: onModalClose, confirmationModalType: confirmationModalType, onConfirm: () => submitCaseAndNavigate(caseCreationError) })),
156
154
  React.createElement(Grid, { style: { height: '100%' } },
157
- React.createElement(GridItem, { sm: 12, md: 12, lg: isAIChatMode ? 12 : 8, xl2: isAIChatMode ? 12 : 8 },
158
- React.createElement(WizardMain, { routeProps: props.routeProps, submitCaseAndNavigate: submitCaseAndNavigate, confirmSupportModal: confirmSupportModal, isAIChatMode: isAIChatMode, setIsAIChatMode: setIsAIChatMode, isSecureSupport: (_a = loggedInUsersAccount === null || loggedInUsersAccount === void 0 ? void 0 : loggedInUsersAccount.data) === null || _a === void 0 ? void 0 : _a.secureSupport, hasConfirmedStatesideSupport: (_b = loggedInUsersAccount === null || loggedInUsersAccount === void 0 ? void 0 : loggedInUsersAccount.data) === null || _b === void 0 ? void 0 : _b.hasConfirmedStatesideSupport })),
159
- !isAIChatMode && (React.createElement(GridItem, { span: 4, className: "grid-wizard-aside-content" },
160
- React.createElement(WizardAside, { isAttachmentUploadModalOpen: confirmationModalType === PreCaseConfirmationModalsEnum.NO_ATTACHMENT_MODAL, routeProps: props.routeProps })))),
155
+ React.createElement(GridItem, { sm: 12, md: 12, lg: 8, xl2: 8 },
156
+ React.createElement(WizardMain, { routeProps: props.routeProps, submitCaseAndNavigate: submitCaseAndNavigate, confirmSupportModal: confirmSupportModal })),
157
+ React.createElement(GridItem, { span: 4, className: "grid-wizard-aside-content" },
158
+ React.createElement(WizardAside, { isAttachmentUploadModalOpen: confirmationModalType === PreCaseConfirmationModalsEnum.NO_ATTACHMENT_MODAL, routeProps: props.routeProps }))),
161
159
  React.createElement(AlertToastWrapper, { submitCaseAndNavigate: submitCaseAndNavigate, routeProps: props.routeProps })));
162
160
  }
@@ -1,14 +1,10 @@
1
- import React, { Dispatch, SetStateAction } from 'react';
1
+ import React from 'react';
2
2
  import { RouteComponentProps } from 'react-router-dom';
3
3
  import { IRouteUrlParams } from '../../reducers/RouteConstNTypes';
4
4
  interface IProps {
5
5
  routeProps: RouteComponentProps<IRouteUrlParams>;
6
6
  submitCaseAndNavigate: (isReSubmitting: boolean) => void;
7
7
  confirmSupportModal: (hasPreferredSecureSupportAccount: boolean) => void;
8
- isAIChatMode: boolean;
9
- setIsAIChatMode: Dispatch<SetStateAction<boolean>>;
10
- isSecureSupport?: boolean;
11
- hasConfirmedStatesideSupport?: boolean;
12
8
  }
13
9
  declare function WizardMain(props: IProps): React.JSX.Element;
14
10
  export default WizardMain;
@@ -1 +1 @@
1
- {"version":3,"file":"WizardMain.d.ts","sourceRoot":"","sources":["../../../../src/components/wizardLayout/WizardMain.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,cAAc,EAAqD,MAAM,OAAO,CAAC;AAE3G,OAAO,EAAS,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAU9D,OAAO,EAAoB,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAyCpF,UAAU,MAAM;IACZ,UAAU,EAAE,mBAAmB,CAAC,eAAe,CAAC,CAAC;IACjD,qBAAqB,EAAE,CAAC,cAAc,EAAE,OAAO,KAAK,IAAI,CAAC;IACzD,mBAAmB,EAAE,CAAC,gCAAgC,EAAE,OAAO,KAAK,IAAI,CAAC;IACzE,YAAY,EAAE,OAAO,CAAC;IACtB,eAAe,EAAE,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;IACnD,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,4BAA4B,CAAC,EAAE,OAAO,CAAC;CAC1C;AAED,iBAAS,UAAU,CAAC,KAAK,EAAE,MAAM,qBA+ThC;AACD,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"WizardMain.d.ts","sourceRoot":"","sources":["../../../../src/components/wizardLayout/WizardMain.tsx"],"names":[],"mappings":"AAUA,OAAO,KAA4D,MAAM,OAAO,CAAC;AAEjF,OAAO,EAAS,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAO9D,OAAO,EAAoB,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAOpF,UAAU,MAAM;IACZ,UAAU,EAAE,mBAAmB,CAAC,eAAe,CAAC,CAAC;IACjD,qBAAqB,EAAE,CAAC,cAAc,EAAE,OAAO,KAAK,IAAI,CAAC;IACzD,mBAAmB,EAAE,CAAC,gCAAgC,EAAE,OAAO,KAAK,IAAI,CAAC;CAC5E;AAED,iBAAS,UAAU,CAAC,KAAK,EAAE,MAAM,qBAwMhC;AACD,eAAe,UAAU,CAAC"}