@rh-support/troubleshoot 2.1.18 → 2.1.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,2 +1,6 @@
1
- export declare function FileDiag(): JSX.Element;
1
+ interface IProps {
2
+ className?: string;
3
+ }
4
+ export declare function FileDiag(props: IProps): JSX.Element;
5
+ export {};
2
6
  //# sourceMappingURL=FileDiag.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FileDiag.d.ts","sourceRoot":"","sources":["../../../../src/components/CaseInformation/FileDiag.tsx"],"names":[],"mappings":"AAYA,wBAAgB,QAAQ,gBAgCvB"}
1
+ {"version":3,"file":"FileDiag.d.ts","sourceRoot":"","sources":["../../../../src/components/CaseInformation/FileDiag.tsx"],"names":[],"mappings":"AAYA,UAAU,MAAM;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,eAiCrC"}
@@ -8,7 +8,7 @@ import { RulesStateContext } from '../../context/RulesContext';
8
8
  import { SessionRestoreStateContext } from '../../context/SessionRestoreContext';
9
9
  import FileEARule, { getValidAttachmentRules } from '../ImproveCase/FileEARule';
10
10
  import { WidgetFileUploader } from '../shared/fileUpload/WidgetFileUploader';
11
- export function FileDiag() {
11
+ export function FileDiag(props) {
12
12
  const { sessionRestore: { activeSessionId }, } = useContext(SessionRestoreStateContext);
13
13
  const canAddAttachments = ability.can(resourceActions.PATCH, resources.CASE_CREATE, CaseListFields.ATTACHMENTS);
14
14
  const { globalMetadataState: { loggedInUsersAccount }, } = useContext(GlobalMetadataStateContext);
@@ -19,5 +19,5 @@ export function FileDiag() {
19
19
  const isIdea = caseType === PreviousCaseTypes.FEATURE_ENHANCEMENT;
20
20
  if (!canAddAttachments)
21
21
  return null;
22
- return (React.createElement(WidgetFileUploader, { idToUploadTo: activeSessionId, isPrivate: false, needsAnalyzing: isIdea ? false : true, isSessionId: true, isSecureSupport: loggedInUsersAccount.data.secureSupport, autoUploadOnSelect: loggedInUsersAccount.data.secureSupport ? false : true, helperText: getValidAttachmentRules(rulesState.EARules.rules).length > 0 ? React.createElement(FileEARule, null) : null, isIdea: isIdea }));
22
+ return (React.createElement(WidgetFileUploader, { className: props.className, idToUploadTo: activeSessionId, isPrivate: false, needsAnalyzing: isIdea ? false : true, isSessionId: true, isSecureSupport: loggedInUsersAccount.data.secureSupport, autoUploadOnSelect: loggedInUsersAccount.data.secureSupport ? false : true, helperText: getValidAttachmentRules(rulesState.EARules.rules).length > 0 ? React.createElement(FileEARule, null) : null, isIdea: isIdea }));
23
23
  }
@@ -1 +1 @@
1
- {"version":3,"file":"CriticalSolutionsToast.d.ts","sourceRoot":"","sources":["../../../../src/components/Recommendations/CriticalSolutionsToast.tsx"],"names":[],"mappings":"AAGA,OAAc,EAAE,EAAE,EAAmC,MAAM,OAAO,CAAC;AAMnE,UAAU,MAAM;IACZ,UAAU,EAAE,MAAM,IAAI,CAAC;CAC1B;AAED,QAAA,MAAM,sBAAsB,EAAE,EAAE,CAAC,MAAM,CA0DtC,CAAC;AAEF,eAAe,sBAAsB,CAAC"}
1
+ {"version":3,"file":"CriticalSolutionsToast.d.ts","sourceRoot":"","sources":["../../../../src/components/Recommendations/CriticalSolutionsToast.tsx"],"names":[],"mappings":"AAGA,OAAc,EAAE,EAAE,EAAmC,MAAM,OAAO,CAAC;AAOnE,UAAU,MAAM;IACZ,UAAU,EAAE,MAAM,IAAI,CAAC;CAC1B;AAED,QAAA,MAAM,sBAAsB,EAAE,EAAE,CAAC,MAAM,CA4DtC,CAAC;AAEF,eAAe,sBAAsB,CAAC"}
@@ -3,14 +3,16 @@ import { PreviousCaseTypes } from '@rh-support/utils';
3
3
  import isEqual from 'lodash/isEqual';
4
4
  import React, { useContext, useEffect, useState } from 'react';
5
5
  import { Trans, useTranslation } from 'react-i18next';
6
- import { useCaseSelector } from '../../context/CaseContext';
6
+ import { useCaseDispatch, useCaseSelector } from '../../context/CaseContext';
7
7
  import { RulesDispatchContext, RulesStateContext } from '../../context/RulesContext';
8
+ import { setCaseState } from '../../reducers/CaseReducer';
8
9
  import { RulesReducerConstants } from '../../reducers/RulesReducer';
9
10
  const CriticalSolutionsToast = (props) => {
10
11
  const { t } = useTranslation();
11
12
  const [showNotification, setShowNotification] = useState(false);
12
13
  const { rulesState } = useContext(RulesStateContext);
13
14
  const rulesDispatch = useContext(RulesDispatchContext);
15
+ const caseDispatch = useCaseDispatch();
14
16
  const { caseType } = useCaseSelector((state) => ({
15
17
  caseType: state.caseDetails.caseType,
16
18
  }), isEqual);
@@ -35,13 +37,14 @@ const CriticalSolutionsToast = (props) => {
35
37
  });
36
38
  };
37
39
  const viewCriticalSolution = () => {
40
+ setCaseState(caseDispatch, { isFileRecommendationsTriggered: true });
38
41
  onClose();
39
42
  setEAModalVisibility(true);
40
43
  props.userClosed();
41
44
  };
42
45
  if (!showNotification && !rulesState.triggerRuleNotification)
43
46
  return null;
44
- return (React.createElement(Alert, { isLiveRegion: true, variant: "success", title: t('File recommendations are ready to view'), "data-tracking-id": "toast-view-crit-sol", actionLinks: React.createElement(Button, { isInline: true, variant: "link", onClick: viewCriticalSolution },
47
+ return (React.createElement(Alert, { isLiveRegion: true, variant: "success", title: t('File recommendations are ready to view'), "data-tracking-id": "toast-view-critical-solutions", actionLinks: React.createElement(Button, { isInline: true, variant: "link", onClick: viewCriticalSolution },
45
48
  React.createElement(Trans, null, "Troubleshooting specific for your uploaded files.")), actionClose: React.createElement(AlertActionCloseButton, { variantLabel: "success alert", onClose: onClose }), timeout: caseType !== PreviousCaseTypes.FEATURE_ENHANCEMENT }));
46
49
  };
47
50
  export default CriticalSolutionsToast;
@@ -7,7 +7,7 @@ export function RecommendationFeedbackModal({ isModalOpen, handleModalToggle, mo
7
7
  React.createElement(Link, { "data-tracking-id": "resolved-feedback-cases", key: "view", className: "pf-c-button pf-m-primary", to: "/case/list" },
8
8
  React.createElement(Trans, null, "View your cases")),
9
9
  React.createElement(Button, { "data-tracking-id": "resolved-feedback-continue", key: "continue", variant: "link", onClick: handleModalToggle },
10
- React.createElement(Trans, null, "Continue")),
10
+ React.createElement(Trans, null, "Continue troubleshooting")),
11
11
  ] },
12
12
  React.createElement("h1", { id: "rec-feedback-modal" }, modalContent)));
13
13
  }
@@ -1 +1 @@
1
- {"version":3,"file":"RulesModal.d.ts","sourceRoot":"","sources":["../../../../src/components/Recommendations/RulesModal.tsx"],"names":[],"mappings":"AAQA,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAI5D,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAG7D,UAAU,MAAM;IACZ,cAAc,EAAE,wBAAwB,EAAE,CAAC;IAC3C,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,aAAa,EAAE,MAAM,GAAG,CAAC;IACzB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,eA+K/C"}
1
+ {"version":3,"file":"RulesModal.d.ts","sourceRoot":"","sources":["../../../../src/components/Recommendations/RulesModal.tsx"],"names":[],"mappings":"AAmBA,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAI5D,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAG7D,UAAU,MAAM;IACZ,cAAc,EAAE,wBAAwB,EAAE,CAAC;IAC3C,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,aAAa,EAAE,MAAM,GAAG,CAAC;IACzB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,eAyM/C"}
@@ -8,12 +8,14 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  });
9
9
  };
10
10
  import { pcm } from '@cee-eng/hydrajs';
11
- import { Accordion, Button, Modal } from '@patternfly/react-core';
11
+ import { Accordion, Button, Card, CardBody, CardExpandableContent, CardHeader, CardTitle, Modal, } from '@patternfly/react-core';
12
12
  import { useFetch } from '@rh-support/components';
13
13
  import { getResTypeFromUrl } from '@rh-support/utils';
14
14
  import React, { useContext, useEffect, useState } from 'react';
15
15
  import { Trans, useTranslation } from 'react-i18next';
16
+ import { useCaseDispatch } from '../../context/CaseContext';
16
17
  import { SessionRestoreDispatchContext, SessionRestoreStateContext } from '../../context/SessionRestoreContext';
18
+ import { setCaseState } from '../../reducers/CaseReducer';
17
19
  import { createOrUpdateSessionResources, getSessResFromRecs } from '../../reducers/SessionRestoreReducer';
18
20
  import { AttachmentStateContext } from '../shared/fileUpload/reducer/AttachmentReducerContext';
19
21
  import { EARuleInfoAccordion } from './EARules/EARuleInfoAccordion';
@@ -40,6 +42,9 @@ export function InsightResultModal(props) {
40
42
  const { request: resolveSessionRequest, isFetching } = useFetch(pcm.preCase.session.resolveSession);
41
43
  const { sessionRestore: { activeSessionId, sessionResourceTracking }, } = useContext(SessionRestoreStateContext);
42
44
  const [isModalVisible, setIsModalVisible] = useState(false);
45
+ const caseDispatch = useCaseDispatch();
46
+ const [isExpanded, setIsExpanded] = React.useState(true);
47
+ // To handle self solving of issues
43
48
  const handleSolvedIssue = () => __awaiter(this, void 0, void 0, function* () {
44
49
  var _a, _b, _c, _d;
45
50
  try {
@@ -59,6 +64,9 @@ export function InsightResultModal(props) {
59
64
  const onModalToggle = () => {
60
65
  setIsModalVisible((visible) => !visible);
61
66
  };
67
+ const onExpand = (event, id) => {
68
+ setIsExpanded(!isExpanded);
69
+ };
62
70
  useEffect(() => {
63
71
  props.isOpen &&
64
72
  createOrUpdateSessionResources(sessionRestoreDispatch, activeSessionId, sessionResourceTracking, SessionResourceSource.INSIGHTS, getSessResFromRecs(props.insightResults, SessionResourceVisibility.PRESENTED));
@@ -86,14 +94,22 @@ export function InsightResultModal(props) {
86
94
  setCanShowNewTag(!(total === trueValues));
87
95
  }, [selectedLocalFiles, props.EARule]);
88
96
  if (props.isRenderedMain) {
89
- return (React.createElement("div", { className: "card card-white card-support top-recommendations" },
90
- React.createElement("h3", { className: "card-heading popular-solutions" },
91
- React.createElement(Trans, null, "File recommendations")),
92
- React.createElement("div", { className: "card-body file-recommendations" },
93
- React.createElement(Accordion, { headingLevel: "h5", asDefinitionList: false, isBordered: true },
94
- props.insightResults.map((doc) => (React.createElement(InsightsRuleInfo, { duplicateKeys: duplicateKeys, showNewTag: canShowNewTag, key: doc.id + doc.attachmentId, doc: doc }))),
95
- props.EARule.length > 0 &&
96
- props.EARule.map((rule, index) => (React.createElement(EARuleInfoAccordion, { showNewTag: canShowNewTag, key: `${index}_eaRule`, rule: rule })))))));
97
+ setCaseState(caseDispatch, { isFileRecommendationsTriggered: true });
98
+ return (React.createElement(Card, { id: "expandable-card", className: "card-support top-recommendations", isExpanded: isExpanded, isCompact: true },
99
+ React.createElement(CardHeader, { onExpand: onExpand, toggleButtonProps: {
100
+ id: 'toggle-button1',
101
+ 'aria-label': t('File recommendations'),
102
+ 'aria-labelledby': 'expandable-card-title toggle-button1',
103
+ 'aria-expanded': isExpanded,
104
+ }, className: "popular-solutions" },
105
+ React.createElement(CardTitle, { id: "expandable-card-title", className: "card-title" },
106
+ React.createElement(Trans, null, "File recommendations"))),
107
+ React.createElement(CardExpandableContent, null,
108
+ React.createElement(CardBody, { className: "file-recommendation" },
109
+ React.createElement(Accordion, { headingLevel: "h5", asDefinitionList: false, isBordered: true },
110
+ props.insightResults.map((doc) => (React.createElement(InsightsRuleInfo, { duplicateKeys: duplicateKeys, showNewTag: canShowNewTag, key: doc.id + doc.attachmentId, doc: doc }))),
111
+ props.EARule.length > 0 &&
112
+ props.EARule.map((rule, index) => (React.createElement(EARuleInfoAccordion, { showNewTag: canShowNewTag, key: `${index}_eaRule`, rule: rule }))))))));
97
113
  }
98
114
  return (React.createElement(React.Fragment, null,
99
115
  React.createElement(RecommendationFeedbackModal, { isModalOpen: isModalVisible, handleModalToggle: onModalToggle, modalContent: t(`Great, we're glad that resolved your issue`) }),
@@ -1 +1 @@
1
- {"version":3,"file":"TroubleshootSection.d.ts","sourceRoot":"","sources":["../../../../src/components/TroubleshootSection/TroubleshootSection.tsx"],"names":[],"mappings":"AAiBA,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,eAyFzC;kBAzFQ,mBAAmB;;;AA4F5B,eAAe,mBAAmB,CAAC"}
1
+ {"version":3,"file":"TroubleshootSection.d.ts","sourceRoot":"","sources":["../../../../src/components/TroubleshootSection/TroubleshootSection.tsx"],"names":[],"mappings":"AAkBA,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,eA0GzC;kBA1GQ,mBAAmB;;;AA6G5B,eAAe,mBAAmB,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { Card, CardBody, CardHeader, CardTitle } from '@patternfly/react-core';
1
2
  import { ErrorBoundary, LoadingDots } from '@rh-support/components';
2
3
  import { GlobalMetadataStateContext } from '@rh-support/react-context';
3
4
  import { ability, CaseListFields, resourceActions, resources } from '@rh-support/user-permissions';
@@ -31,7 +32,6 @@ function TroubleshootSection(props) {
31
32
  isCreatingCase: state.isCreatingCase,
32
33
  caseType: state.caseDetails.caseType,
33
34
  }), isEqual);
34
- const isIdea = caseType === PreviousCaseTypes.FEATURE_ENHANCEMENT;
35
35
  const canShowTopProducts = isEmpty(product);
36
36
  const canShowTopContent = !canShowTopProducts && ((_a = topContent === null || topContent === void 0 ? void 0 : topContent.data) === null || _a === void 0 ? void 0 : _a.length) > 0;
37
37
  const canAddAttachments = ability.can(resourceActions.PATCH, resources.CASE_CREATE, CaseListFields.ATTACHMENTS);
@@ -47,21 +47,26 @@ function TroubleshootSection(props) {
47
47
  ' ',
48
48
  React.createElement("p", { className: "pf-u-font-weight-bold selected-product-suggestion" }, product))),
49
49
  React.createElement(LoadingDots, { show: topContent.isFetching }),
50
- topContent.data.length === 0 && (React.createElement("div", { className: "card card-white card-support" },
51
- React.createElement("h3", { className: "card-heading popular-solutions" },
52
- React.createElement(Trans, { i18nKey: 'i18nKeyPopularSolutions' }, "Popular solutions and docs")),
53
- React.createElement("div", { className: "card-body" },
50
+ topContent.data.length === 0 && (React.createElement(Card, { id: "card", className: "card-support top-recommendations pf-u-mb-md", isCompact: true },
51
+ React.createElement(CardHeader, { "aria-label": t('Popular solutions and docs'), className: "popular-solutions" },
52
+ React.createElement(CardTitle, { id: "card-title", className: "card-title" },
53
+ React.createElement(Trans, { i18nKey: 'i18nKeyPopularSolutions' }, "Popular solutions and docs"))),
54
+ React.createElement(CardBody, { "aria-label": t('No recommendations for this product'), className: "file-recs-no-recommendation pf-u-mt-md" },
54
55
  React.createElement(Trans, null, "No recommendations for this product")))),
55
56
  React.createElement(ErrorBoundary, { errorMsgInfo: { message: t('There was an error loading suggestions') } }, canShowTopContent && !isEmpty(version) && React.createElement(Suggestions, null)),
56
57
  !isCreatingCase && React.createElement(ClusterRecommendations, { className: "push-top" }))),
57
58
  React.createElement("section", { className: "pf-u-mt-lg" },
58
59
  isNotAnIdea && React.createElement(InsightsResults, { isDisplayOnMain: true }),
59
- React.createElement("div", { className: "push-top" }, canAddAttachments ? (React.createElement(FileDiag, null)) : (React.createElement("div", { className: "card card-white card-support file-diag" },
60
- React.createElement("h3", { className: "card-heading" }, isIdea || loggedInUsersAccount.data.secureSupport ? (React.createElement(Trans, null, "File uploader")) : (React.createElement(Trans, null, "Upload file to analyze"))),
61
- React.createElement("div", { className: "card-body" },
62
- React.createElement("div", { className: "display-dashed pf-u-font-weight-bold pf-u-text-align-center" },
63
- React.createElement(Trans, null, "You do not have access to upload files"),
64
- "."))))))));
60
+ React.createElement("div", { className: "push-top" }, canAddAttachments ? (React.createElement(FileDiag, null)) : (React.createElement(React.Fragment, null,
61
+ React.createElement(Card, { id: "card", className: "card-support card-white file-diag", isCompact: true },
62
+ React.createElement(CardHeader, { "aria-label": !isNotAnIdea || loggedInUsersAccount.data.secureSupport
63
+ ? t('File uploader')
64
+ : t('Upload file to analyze'), className: "card-heading" },
65
+ React.createElement(CardTitle, { id: "card-title", className: "card-title" }, !isNotAnIdea || loggedInUsersAccount.data.secureSupport ? (React.createElement(Trans, null, "File uploader")) : (React.createElement(Trans, null, "Upload file to analyze")))),
66
+ React.createElement(CardBody, { "aria-label": t('No recommendations for this product'), className: "no-access-file-diag" },
67
+ React.createElement("div", { className: "display-dashed pf-u-font-weight-bold pf-u-text-align-center pf-u-mt-md" },
68
+ React.createElement(Trans, null, "You do not have access to upload files"),
69
+ ".")))))))));
65
70
  }
66
71
  TroubleshootSection.defaultProps = defaultProps;
67
72
  export default TroubleshootSection;
@@ -36,7 +36,7 @@ function WizardAside(props) {
36
36
  canShowFileRecommendationSectionsWidget && React.createElement(InsightsResults, { isDisplayOnMain: true }),
37
37
  React.createElement(ClusterRecommendations, { showClusterRecommendationsList: canShowClusterIdReportWidget }),
38
38
  canUseSessionManagement && !isCreatingCase && React.createElement(SessionRestore, { routeProps: props.routeProps }),
39
- canShowFileUploadWidget() && React.createElement(FileDiag, null))));
39
+ canShowFileUploadWidget() && React.createElement(FileDiag, { className: "pf-u-mt-md" }))));
40
40
  }
41
41
  WizardAside.defaultProps = defaultProps;
42
42
  export default WizardAside;
@@ -1 +1 @@
1
- {"version":3,"file":"WizardNavigation.d.ts","sourceRoot":"","sources":["../../../../src/components/wizardLayout/WizardNavigation.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAInD,OAAO,EAAoB,eAAe,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAI3G,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,2BAA2B,EAAE,OAAO,EAAE,gCAAgC,EAAE,OAAO,KAAK,IAAI,CAAC;IAC/G,gBAAgB,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;CAC7C;AAGD,iBAAS,gBAAgB,CAAC,KAAK,EAAE,MAAM,eAoGtC;kBApGQ,gBAAgB;;;AAsGzB,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"WizardNavigation.d.ts","sourceRoot":"","sources":["../../../../src/components/wizardLayout/WizardNavigation.tsx"],"names":[],"mappings":"AASA,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAMnD,OAAO,EAAoB,eAAe,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAK3G,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,2BAA2B,EAAE,OAAO,EAAE,gCAAgC,EAAE,OAAO,KAAK,IAAI,CAAC;IAC/G,gBAAgB,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;CAC7C;AAGD,iBAAS,gBAAgB,CAAC,KAAK,EAAE,MAAM,eA4JtC;kBA5JQ,gBAAgB;;;AA8JzB,eAAe,gBAAgB,CAAC"}
@@ -1,12 +1,28 @@
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 { pcm } from '@cee-eng/hydrajs';
11
+ import { Button, ButtonVariant } from '@patternfly/react-core';
12
+ import { useFetch } from '@rh-support/components';
1
13
  import { GlobalMetadataStateContext, useCanCreateCase } from '@rh-support/react-context';
14
+ import { getResTypeFromUrl } from '@rh-support/utils';
2
15
  import find from 'lodash/find';
3
16
  import isEqual from 'lodash/isEqual';
4
- import React, { useContext } from 'react';
17
+ import React, { useContext, useState } from 'react';
5
18
  import { useTranslation } from 'react-i18next';
6
- import { useCaseSelector } from '../../context/CaseContext';
19
+ import { useCaseDispatch, useCaseSelector } from '../../context/CaseContext';
7
20
  import { RouteContext, RouteDispatchContext } from '../../context/RouteContext';
21
+ import { SessionRestoreStateContext } from '../../context/SessionRestoreContext';
22
+ import { setCaseState } from '../../reducers/CaseReducer';
8
23
  import { AppRouteSections } from '../../reducers/RouteConstNTypes';
9
24
  import { updateisNextBtnClickedToShowValidationError } from '../../reducers/RouteReducer';
25
+ import { RecommendationFeedbackModal } from '../Recommendations/RecommendationFeedbackModal';
10
26
  import { useIsSectionValid } from '../shared/useIsSectionValid';
11
27
  const defaultProps = {};
12
28
  function WizardNavigation(props) {
@@ -22,6 +38,14 @@ function WizardNavigation(props) {
22
38
  const isEntitledProduct = (_b = find((_a = allProducts === null || allProducts === void 0 ? void 0 : allProducts.data) === null || _a === void 0 ? void 0 : _a.productsResult, (p) => p.product === caseState.caseDetails.product)) === null || _b === void 0 ? void 0 : _b.isEntitledProduct;
23
39
  const dispatchToRouteReducer = useContext(RouteDispatchContext);
24
40
  const { activeSectionError, isSectionValidFn } = useIsSectionValid(activeSection);
41
+ const [isRecsModalVisible, setIsRecsModalVisible] = useState(false);
42
+ const { request: resolveSessionRequest } = useFetch(pcm.preCase.session.resolveSession);
43
+ const { sessionRestore: { activeSessionId, sessionResourceTracking }, } = useContext(SessionRestoreStateContext);
44
+ const { SessionResourceSource } = pcm.preCase.session;
45
+ const { isFileRecommendationsTriggered } = useCaseSelector((state) => ({
46
+ isFileRecommendationsTriggered: state.isFileRecommendationsTriggered,
47
+ }), isEqual);
48
+ const caseDispatch = useCaseDispatch();
25
49
  const onNext = () => {
26
50
  var _a, _b;
27
51
  updateisNextBtnClickedToShowValidationError(dispatchToRouteReducer, true);
@@ -59,13 +83,35 @@ function WizardNavigation(props) {
59
83
  props.onShowRestUpdate(false);
60
84
  props.onBack();
61
85
  };
86
+ const onRecsFeedbackModalToggle = () => {
87
+ setIsRecsModalVisible((visible) => !visible);
88
+ };
89
+ // To handle self solving through file recommendations
90
+ const handleFileRecsSelfSolved = () => __awaiter(this, void 0, void 0, function* () {
91
+ var _c, _d, _e, _f;
92
+ try {
93
+ yield resolveSessionRequest(activeSessionId, {
94
+ sessionId: activeSessionId,
95
+ sessionResourceOriginId: (_d = (_c = sessionResourceTracking[SessionResourceSource.INSIGHTS]) === null || _c === void 0 ? void 0 : _c.resourceOriginId) !== null && _d !== void 0 ? _d : '',
96
+ type: getResTypeFromUrl(''),
97
+ source: SessionResourceSource.INSIGHTS,
98
+ resourceEntityId: (_f = (_e = sessionResourceTracking[SessionResourceSource.INSIGHTS]) === null || _e === void 0 ? void 0 : _e.resourceEntityId) !== null && _f !== void 0 ? _f : '',
99
+ url: '',
100
+ });
101
+ setCaseState(caseDispatch, { isFileRecommendationsTriggered: false });
102
+ setIsRecsModalVisible(true);
103
+ }
104
+ catch (e) { }
105
+ });
62
106
  // To handle entitled products
63
107
  const isEntitledProductLocal = isSearchIntent ? true : isEntitledProduct;
64
108
  return (React.createElement(React.Fragment, null,
65
- props.activeStep.order !== 0 && (React.createElement("button", { onClick: () => onBack(), className: "btn btn-app btn-open-white", "data-tracking-id": `prev-of-${activeSection}` }, t('Go back'))),
109
+ 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}` }, t('Go back'))),
66
110
  React.createElement("button", { disabled: (!isEntitledProductLocal && props.activeStep.nextButtonLabel === 'Get support') ||
67
111
  (!isSectionValidFn(props.activeStep.id) && isNextBtnClickedToShowValidationError) ||
68
- noValidEntitlement, onClick: onNext, className: "btn btn-app btn-primary", "data-tracking-id": `next-of-${activeSection}` }, t(props.activeStep.nextButtonLabel)),
112
+ noValidEntitlement, onClick: onNext, className: "btn btn-app btn-primary main-nav-button", "data-tracking-id": `next-of-${activeSection}` }, t(props.activeStep.nextButtonLabel)),
113
+ 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'))),
114
+ React.createElement(RecommendationFeedbackModal, { isModalOpen: isRecsModalVisible, handleModalToggle: onRecsFeedbackModalToggle, modalContent: t(`Great, we're glad that resolved your issue`) }),
69
115
  activeSectionError ? (React.createElement("small", { className: "pf-u-align-self-center pf-u-ml-md text-red" }, t(activeSectionError))) : null));
70
116
  }
71
117
  WizardNavigation.defaultProps = defaultProps;
@@ -199,6 +199,7 @@ export interface ICaseState {
199
199
  caseCreation500ErrorStatus: boolean;
200
200
  openshiftDisplayName?: string;
201
201
  isCaseOwnerUpdating: boolean;
202
+ isFileRecommendationsTriggered?: boolean;
202
203
  }
203
204
  export interface ICreateCasePayloadType extends ICaseState {
204
205
  }
@@ -1 +1 @@
1
- {"version":3,"file":"CaseConstNTypes.d.ts","sourceRoot":"","sources":["../../../src/reducers/CaseConstNTypes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CaseConstNTypes.d.ts","sourceRoot":"","sources":["../../../src/reducers/CaseConstNTypes.ts"],"names":[],"mappings":"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"}
@@ -190,6 +190,7 @@ export const initialCaseState = {
190
190
  caseCreation500ErrorStatus: false,
191
191
  openshiftDisplayName: '',
192
192
  isCaseOwnerUpdating: false,
193
+ isFileRecommendationsTriggered: false,
193
194
  };
194
195
  export const ORG_ADMIN_SEND_NOTIFCATION_KBASE_LINK = 'https://access.redhat.com/articles/5967811';
195
196
  export const NON_ORG_ADMIN_SEND_NOTIFCATION_KBASE_LINK = 'https://access.redhat.com/articles/5967831';
@@ -1077,3 +1077,16 @@ li.pf-c-wizard__nav-item button.pf-m-disabled::before {
1077
1077
  border: 2px dashed var(--pf-global--palette--black-600);
1078
1078
  background-color: var(--pf-global--palette--black-300);
1079
1079
  }
1080
+ .pf-c-wizard__footer {
1081
+ display: flex !important;
1082
+ align-items: center !important;
1083
+ padding: 10px !important;
1084
+ }
1085
+
1086
+ .main-nav-button {
1087
+ display: flex !important;
1088
+ }
1089
+
1090
+ .solved-issue-button {
1091
+ margin-left: auto !important;
1092
+ }
@@ -147,7 +147,7 @@
147
147
  padding: 0 10px;
148
148
 
149
149
  &:hover svg {
150
- color: #004080 !important;
150
+ color: var(--pf-global--palette--blue-500) !important;
151
151
  }
152
152
  }
153
153
  }
@@ -276,6 +276,29 @@
276
276
 
277
277
  .popular-solutions {
278
278
  background-color: #286869 !important;
279
+ .card-title {
280
+ color: #fff !important;
281
+ }
282
+ div > button > span > svg {
283
+ color: white !important;
284
+ }
285
+ .file-recs-actions-toggle {
286
+ color: white !important;
287
+ }
288
+ }
289
+ .file-diag {
290
+ border: 1px solid #ededed;
291
+ }
292
+
293
+ .file-diag > .card-heading {
294
+ display: flex;
295
+ -ms-flex-align: center;
296
+ margin-bottom: 0;
297
+ padding: 0.5rem 0.8rem;
298
+ font-size: 15px;
299
+ background-color: var(--pf-global--palette--black-500);
300
+ border: 1px solid var(--pf-global--palette--black-500);
301
+ color: var(--pf-global--palette--white);
279
302
  }
280
303
 
281
304
  .file-diag .file-buttons .pf-c-switch .pf-c-switch__label {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rh-support/troubleshoot",
3
- "version": "2.1.18",
3
+ "version": "2.1.19",
4
4
  "publishConfig": {
5
5
  "access": "public",
6
6
  "registry": "https://registry.npmjs.org"
@@ -133,5 +133,5 @@
133
133
  "defaults and supports es6-module",
134
134
  "maintained node versions"
135
135
  ],
136
- "gitHead": "70dfc36e7b1c55fcfe9776a68fb65fb931e6b7cf"
136
+ "gitHead": "847c33cd666971e8c8529b15192437cd74d995bb"
137
137
  }