@rh-support/troubleshoot 2.1.18 → 2.1.20-beta.0

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 (57) hide show
  1. package/lib/esm/components/CaseEditView/CaseOverview/CaseOwnerInfo.d.ts.map +1 -1
  2. package/lib/esm/components/CaseEditView/CaseOverview/CaseOwnerInfo.js +2 -1
  3. package/lib/esm/components/CaseEditView/CaseOverview/index.d.ts.map +1 -1
  4. package/lib/esm/components/CaseEditView/CaseOverview/index.js +8 -3
  5. package/lib/esm/components/CaseEditView/RequestRemoteSession/RemoteSessionAgreement.d.ts.map +1 -1
  6. package/lib/esm/components/CaseEditView/RequestRemoteSession/RemoteSessionAgreement.js +3 -3
  7. package/lib/esm/components/CaseEditView/ShareCase/PartnerCaseHelper.js +2 -2
  8. package/lib/esm/components/CaseEditView/ShareCase/TnC.d.ts +0 -2
  9. package/lib/esm/components/CaseEditView/ShareCase/TnC.d.ts.map +1 -1
  10. package/lib/esm/components/CaseEditView/ShareCase/TnC.js +2 -20
  11. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CaseDetailsManagement.d.ts.map +1 -1
  12. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CaseDetailsManagement.js +2 -0
  13. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CaseHostname.d.ts.map +1 -1
  14. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CaseHostname.js +2 -1
  15. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CasePhoneNumberSev1ConfirmAlert.d.ts +9 -0
  16. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CasePhoneNumberSev1ConfirmAlert.d.ts.map +1 -0
  17. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CasePhoneNumberSev1ConfirmAlert.js +69 -0
  18. package/lib/esm/components/CaseInformation/ContactPhoneNumber.js +1 -1
  19. package/lib/esm/components/CaseInformation/ContactPhoneNumberPopOver.d.ts.map +1 -1
  20. package/lib/esm/components/CaseInformation/ContactPhoneNumberPopOver.js +2 -1
  21. package/lib/esm/components/CaseInformation/FileDiag.d.ts +5 -1
  22. package/lib/esm/components/CaseInformation/FileDiag.d.ts.map +1 -1
  23. package/lib/esm/components/CaseInformation/FileDiag.js +2 -2
  24. package/lib/esm/components/CaseInformation/Severity.d.ts.map +1 -1
  25. package/lib/esm/components/CaseInformation/Severity.js +2 -1
  26. package/lib/esm/components/CaseInformation/SupportLevel.d.ts.map +1 -1
  27. package/lib/esm/components/CaseInformation/SupportLevel.js +2 -1
  28. package/lib/esm/components/CaseManagement/Cep.d.ts.map +1 -1
  29. package/lib/esm/components/CaseManagement/Cep.js +3 -3
  30. package/lib/esm/components/ProductSelector/ProductVersionDropdownSelector.d.ts.map +1 -1
  31. package/lib/esm/components/ProductSelector/ProductVersionDropdownSelector.js +6 -8
  32. package/lib/esm/components/Recommendations/CriticalSolutionsToast.d.ts.map +1 -1
  33. package/lib/esm/components/Recommendations/CriticalSolutionsToast.js +5 -2
  34. package/lib/esm/components/Recommendations/RecommendationFeedbackModal.js +1 -1
  35. package/lib/esm/components/Recommendations/RulesModal.d.ts.map +1 -1
  36. package/lib/esm/components/Recommendations/RulesModal.js +25 -9
  37. package/lib/esm/components/RemoteRider/RemoteRiderAcceptanceModal.d.ts.map +1 -1
  38. package/lib/esm/components/RemoteRider/RemoteRiderAcceptanceModal.js +2 -2
  39. package/lib/esm/components/TroubleshootSection/TroubleshootSection.d.ts.map +1 -1
  40. package/lib/esm/components/TroubleshootSection/TroubleshootSection.js +16 -11
  41. package/lib/esm/components/shared/fileUpload/FileLister.d.ts.map +1 -1
  42. package/lib/esm/components/shared/fileUpload/FileLister.js +2 -1
  43. package/lib/esm/components/wizardLayout/WizardAside.js +1 -1
  44. package/lib/esm/components/wizardLayout/WizardMain.js +1 -1
  45. package/lib/esm/components/wizardLayout/WizardNavigation.d.ts.map +1 -1
  46. package/lib/esm/components/wizardLayout/WizardNavigation.js +50 -4
  47. package/lib/esm/reducers/CaseConstNTypes.d.ts +1 -0
  48. package/lib/esm/reducers/CaseConstNTypes.d.ts.map +1 -1
  49. package/lib/esm/reducers/CaseConstNTypes.js +1 -0
  50. package/lib/esm/scss/_main.scss +22 -221
  51. package/lib/esm/scss/_pf4-overrides.scss +38 -13
  52. package/lib/esm/utils/remoteRiderUtils.d.ts.map +1 -1
  53. package/lib/esm/utils/remoteRiderUtils.js +2 -2
  54. package/package.json +8 -8
  55. package/lib/esm/constants/tncConstants.d.ts +0 -13
  56. package/lib/esm/constants/tncConstants.d.ts.map +0 -1
  57. package/lib/esm/constants/tncConstants.js +0 -12
@@ -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":"RemoteRiderAcceptanceModal.d.ts","sourceRoot":"","sources":["../../../../src/components/RemoteRider/RemoteRiderAcceptanceModal.tsx"],"names":[],"mappings":"AAOA,UAAU,MAAM;IACZ,WAAW,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,CAAC,OAAO,UAAU,0BAA0B,CAAC,KAAK,EAAE,MAAM,eA2B/D"}
1
+ {"version":3,"file":"RemoteRiderAcceptanceModal.d.ts","sourceRoot":"","sources":["../../../../src/components/RemoteRider/RemoteRiderAcceptanceModal.tsx"],"names":[],"mappings":"AAMA,UAAU,MAAM;IACZ,WAAW,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,CAAC,OAAO,UAAU,0BAA0B,CAAC,KAAK,EAAE,MAAM,eA2B/D"}
@@ -10,8 +10,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
10
  import { publicApi } from '@cee-eng/hydrajs';
11
11
  import { AcceptTermsModal, useFetch } from '@rh-support/components';
12
12
  import { GlobalMetadataStateContext } from '@rh-support/react-context';
13
+ import { TncConstants } from '@rh-support/utils';
13
14
  import React, { useContext } from 'react';
14
- import { TnC } from '../../constants/tncConstants';
15
15
  export default function RemoteRiderAcceptanceModal(props) {
16
16
  const { globalMetadataState: { loggedInUser }, } = useContext(GlobalMetadataStateContext);
17
17
  const { request, isFetching } = useFetch(publicApi.kase.acknowledgeRemoteSessionTerms, { propgateErrors: true });
@@ -24,5 +24,5 @@ export default function RemoteRiderAcceptanceModal(props) {
24
24
  props.onFailure && props.onFailure();
25
25
  }
26
26
  });
27
- return (React.createElement(AcceptTermsModal, { isSubmitting: isFetching, siteCode: TnC.REMOTE_RIDER_SITE_CODE, eventCode: TnC.REMOTER_RIDER_EVENT_CODE, loggedInUser: loggedInUser.data.ssoUsername, isModalOpen: props.isModalOpen, onModalClose: props.onModalClose, dataTrackingId: props.isCaseDetailsPage ? 'rar-case-details' : 'rar-case-submit', onConfirm: onConfirm }));
27
+ return (React.createElement(AcceptTermsModal, { isSubmitting: isFetching, siteCode: TncConstants.REMOTE_RIDER_SITE_CODE, eventCode: TncConstants.REMOTER_RIDER_EVENT_CODE, loggedInUser: loggedInUser.data.ssoUsername, isModalOpen: props.isModalOpen, onModalClose: props.onModalClose, dataTrackingId: props.isCaseDetailsPage ? 'rar-case-details' : 'rar-case-submit', onConfirm: onConfirm }));
28
28
  }
@@ -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;
@@ -1 +1 @@
1
- {"version":3,"file":"FileLister.d.ts","sourceRoot":"","sources":["../../../../../src/components/shared/fileUpload/FileLister.tsx"],"names":[],"mappings":"AA4BA,OAAO,EAAiB,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAGxE,eAAO,MAAM,qBAAqB,2FAAyC,CAAC;AAiB5E,UAAU,MAAM;IACZ,kBAAkB,EAAE,UAAU,EAAE,CAAC;IACjC,UAAU,EAAE,CAAC,eAAe,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC;IACtG,YAAY,EAAE,CAAC,aAAa,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,UAAU,KAAK,IAAI,CAAC;IACtE,OAAO,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,eAAe,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;IACjD,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,KAAK,EAAE,MAAM,eAsR/C"}
1
+ {"version":3,"file":"FileLister.d.ts","sourceRoot":"","sources":["../../../../../src/components/shared/fileUpload/FileLister.tsx"],"names":[],"mappings":"AA6BA,OAAO,EAAiB,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAGxE,eAAO,MAAM,qBAAqB,2FAAyC,CAAC;AAiB5E,UAAU,MAAM;IACZ,kBAAkB,EAAE,UAAU,EAAE,CAAC;IACjC,UAAU,EAAE,CAAC,eAAe,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC;IACtG,YAAY,EAAE,CAAC,aAAa,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,UAAU,KAAK,IAAI,CAAC;IACtE,OAAO,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,eAAe,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;IACjD,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,KAAK,EAAE,MAAM,eAsR/C"}
@@ -1,5 +1,6 @@
1
1
  import { pcm } from '@cee-eng/hydrajs';
2
2
  import { Button, ButtonVariant, Label, Progress, ProgressMeasureLocation } from '@patternfly/react-core';
3
+ import HistoryIcon from '@patternfly/react-icons/dist/js/icons/history-icon';
3
4
  import { CircularProgressbar } from '@rh-support/components';
4
5
  import { humanizeSize } from '@rh-support/utils';
5
6
  import capitalize from 'lodash/capitalize';
@@ -113,7 +114,7 @@ export default function FileLister(props) {
113
114
  ((_a = localFile === null || localFile === void 0 ? void 0 : localFile.description) === null || _a === void 0 ? void 0 : _a.length) > 1 && (React.createElement("span", { className: "character-counter text-muted" }, 255 - localFile.description.length)),
114
115
  (isUploadFailed(localFile.uploadProgress.uploadStatus) ||
115
116
  isUploadAborted(localFile.uploadProgress.uploadStatus)) && (React.createElement("button", { type: "button", "aria-label": "Failed to upload, Retry", title: "Failed to upload, Retry", className: "btn btn-link btn-xs", "data-tracking-id": "file-lister-retry", onClick: onRetry(index) },
116
- React.createElement("i", { className: "nimbus-icon-backup" }))),
117
+ React.createElement(HistoryIcon, null))),
117
118
  !isVerifyingUpload(localFile.uploadProgress.uploadStatus) &&
118
119
  !isAnalysingFile(localFile.analysisMetadata.analysisStatus) && (React.createElement(React.Fragment, null,
119
120
  canShowAbortBtn(localFile.uploadProgress.uploadStatus) && (React.createElement(Button, { variant: ButtonVariant.link, isDanger: true, "aria-label": t('Cancel Upload'), title: t('Cancel Upload'), className: "btn btn-link btn-app remove-file", "data-tracking-id": "file-lister-abort", onClick: onAbortClick(localFile, index), hidden: !localFile.uploadability.ableToUpload, isDisabled: !(localFile.uploadProgress.percentUploaded > 0) },
@@ -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;
@@ -48,7 +48,7 @@ function WizardMain(props) {
48
48
  // in useWizard file then add it to step squences in RouteConstNTypes
49
49
  const steps = getStepsSequece(showRestFlag);
50
50
  return (React.createElement(React.Fragment, null,
51
- steps.length !== 0 && (React.createElement(Route, { path: `${RouteUtils.seBasePath}/(${steps[0].id}|describe-issue)`, render: () => (React.createElement(Wizard, { navAriaLabel: ` navAriaLabel steps `, mainAriaLabel: ` mainAriaLabel content `, steps: steps, footer: CustomFooter, onNext: onNext, onBack: onBack, hideClose: true, backButtonText: t('Go back'), onCurrentStepChanged: onCurrentStepChanged })) })),
51
+ steps.length !== 0 && (React.createElement(Route, { path: `${RouteUtils.seBasePath}/(${steps[0].id}|describe-issue|open-case)`, render: () => (React.createElement(Wizard, { navAriaLabel: ` navAriaLabel steps `, mainAriaLabel: ` mainAriaLabel content `, steps: steps, footer: CustomFooter, onNext: onNext, onBack: onBack, hideClose: true, backButtonText: t('Go back'), onCurrentStepChanged: onCurrentStepChanged })) })),
52
52
  React.createElement(Route, { exact: true, path: `${RouteUtils.seBasePath}/${AppRouteSections.SUBMIT_CASE}`, render: () => renderSubmitCasePage() })));
53
53
  }
54
54
  export default WizardMain;
@@ -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":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AACjH,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,+CAA+C,CAAC;AACvF,OAAO,EAAE,YAAY,EAAE,MAAM,iDAAiD,CAAC;AAC/E,OAAO,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAClE,OAAO,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AACjF,OAAO,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAEnF,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjC,eAAO,MAAM,oBAAoB,MAAM,CAAC;AACxC,eAAO,MAAM,mCAAmC,MAAM,CAAC;AACvD,eAAO,MAAM,+BAA+B,MAAM,CAAC;AACnD,eAAO,MAAM,wBAAwB,QAAQ,CAAC;AAC9C,eAAO,MAAM,iCAAiC,QAAQ,CAAC;AACvD,eAAO,MAAM,qBAAqB,MAAM,CAAC;AACzC,eAAO,MAAM,uBAAuB,QAAQ,CAAC;AAC7C,eAAO,MAAM,gBAAgB,MAAM,CAAC;AACpC,eAAO,MAAM,2BAA2B,MAAM,CAAC;AAC/C,eAAO,MAAM,WAAW,KAAK,CAAC;AAC9B,eAAO,MAAM,qCAAqC,OAAO,CAAC;AAC1D,eAAO,MAAM,qCAAqC,OAAO,CAAC;AAC1D,eAAO,MAAM,iCAAiC,QAAQ,CAAC;AACvD,eAAO,MAAM,kCAAkC,QAAQ,CAAC;AACxD,eAAO,MAAM,mBAAmB,QAAQ,CAAC;AACzC,eAAO,MAAM,yBAAyB,QAAQ,CAAC;AAC/C,eAAO,MAAM,0BAA0B,OAAO,CAAC;AAC/C,eAAO,MAAM,sCAAsC,MAAM,CAAC;AAC1D,eAAO,MAAM,kDAAkD,MAAM,CAAC;AACtE,eAAO,MAAM,0BAA0B,KAAK,CAAC;AAI7C,eAAO,MAAM,wBAAwB,QAAQ,CAAC;AAC9C,eAAO,MAAM,uCAAuC,OAAO,CAAC;AAC5D,eAAO,MAAM,8BAA8B,OAAO,CAAC;AACnD,eAAO,MAAM,qCAAqC,OAAO,CAAC;AAE1D,eAAO,MAAM,4BAA4B,2DAA2D,CAAC;AAGrG,oBAAY,kBAAkB;IAC1B,KAAK,iEAAiE;IACtE,oBAAoB,sDAAsD;IAC1E,WAAW,gEAAgE;IAC3E,kBAAkB,4EAA4E;IAC9F,SAAS,iCAAiC;CAC7C;AAED,0BAAkB,qBAAqB;IACnC,YAAY,gBAAgB;IAC5B,QAAQ,aAAa;IACrB,OAAO,YAAY;CACtB;AACD,0BAAkB,sBAAsB;IACpC,KAAK,eAAe;IACpB,KAAK,aAAa;IAClB,KAAK,eAAe;IACpB,KAAK,YAAY;CACpB;AAED,eAAO,MAAM,mBAAmB;;;;;;;;CAQ/B,CAAC;AAEF,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmB7B,CAAC;AAEF,eAAO,MAAM,mBAAmB;;;;;CAK/B,CAAC;AAEF,eAAO,MAAM,4BAA4B,yEAAyE,CAAC;AAEnH,oBAAY,oBAAoB;IAC5B,iBAAiB,sBAAsB;IACvC,gBAAgB,qBAAqB;IACrC,WAAW,gBAAgB;IAC3B,cAAc,mBAAmB;IACjC,+BAA+B,oCAAoC;IACnE,cAAc,mBAAmB;IACjC,oBAAoB,yBAAyB;IAC7C,sBAAsB,2BAA2B;IACjD,uBAAuB,4BAA4B;IACnD,uBAAuB,4BAA4B;IACnD,mBAAmB,wBAAwB;IAC3C,wBAAwB,6BAA6B;IACrD,eAAe,oBAAoB;IACnC,oBAAoB,yBAAyB;IAC7C,sBAAsB,2BAA2B;IACjD,wBAAwB,6BAA6B;IACrD,yBAAyB,8BAA8B;IACvD,iBAAiB,sBAAsB;IACvC,wBAAwB,6BAA6B;IACrD,mBAAmB,wBAAwB;IAC3C,kBAAkB,uBAAuB;IACzC,8BAA8B,mCAAmC;IACjE,kBAAkB,uBAAuB;IACzC,6BAA6B,kCAAkC;IAC/D,kCAAkC,uCAAuC;IACzE,gCAAgC,qCAAqC;IACrE,sBAAsB,2BAA2B;IACjD,yBAAyB,8BAA8B;IACvD,cAAc,mBAAmB;IACjC,eAAe,oBAAoB;IACnC,iBAAiB,sBAAsB;IACvC,0BAA0B,+BAA+B;CAC5D;AAED,eAAO,MAAM,gBAAgB,EAAE,UAoF9B,CAAC;AAEF,MAAM,WAAW,UAAU;IACvB,iBAAiB,EAAE,mBAAmB,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;IAC9D,WAAW,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IACnC,kBAAkB,EAAE,OAAO,CAAC;IAC5B,QAAQ,EAAE,OAAO,CAAC;IAClB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,aAAa,EAAE,aAAa,EAAE,CAAC;IAC/B,4BAA4B,EAAE,QAAQ,EAAE,CAAC;IACzC,gBAAgB,EAAE,OAAO,CAAC;IAC1B,eAAe,EAAE,OAAO,CAAC;IACzB,eAAe,EAAE,OAAO,CAAC;IACzB,cAAc,EAAE,OAAO,CAAC;IACxB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,wBAAwB,EAAE,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC;IAC/C,oBAAoB,EAAE,OAAO,CAAC;IAC9B,uBAAuB,EAAE,OAAO,CAAC;IACjC,yBAAyB,EAAE,OAAO,CAAC;IACnC,uBAAuB,EAAE,OAAO,CAAC;IACjC,aAAa,EAAE,OAAO,CAAC;IACvB,UAAU,EAAE,WAAW,CAAC;IACxB,YAAY,EAAE,OAAO,CAAC;IACtB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,wBAAwB,EAAE,MAAM,CAAC;IACjC,sBAAsB,EAAE,mBAAmB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC/D,aAAa,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAC7C,gBAAgB,EAAE,mBAAmB,CAAC,UAAU,EAAE,CAAC,CAAC;IACpD,sBAAsB,EAAE,mBAAmB,CAAC,UAAU,EAAE,CAAC,CAAC;IAC1D,gBAAgB,EAAE,mBAAmB,CAAC,OAAO,CAAC,0BAA0B,EAAE,CAAC,CAAC,CAAC;IAC7E,kBAAkB,EAAE,mBAAmB,CAAC,YAAY,EAAE,CAAC,CAAC;IACxD,sBAAsB,EAAE,OAAO,CAAC;IAChC,kBAAkB,EAAE,OAAO,CAAC;IAC5B,cAAc,EAAE,OAAO,CAAC;IACxB,gBAAgB,EAAE,SAAS,CAAC;IAC5B,0BAA0B,EAAE,OAAO,CAAC;IACpC,qBAAqB,EAAE,OAAO,CAAC;IAC/B,oCAAoC,EAAE,OAAO,CAAC;IAC9C,sCAAsC,EAAE,OAAO,CAAC;IAChD,eAAe,EAAE,mBAAmB,CAAC,gBAAgB,EAAE,CAAC,CAAC;IACzD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,0BAA0B,EAAE,OAAO,CAAC;IACpC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,mBAAmB,EAAE,OAAO,CAAC;CAChC;AAED,MAAM,WAAW,sBAAuB,SAAQ,UAAU;CAAG;AAC7D,oBAAY,eAAe,GAAG,OAAO,CAAC,oBAAoB,EAAE,sBAAsB,CAAC,CAAC;AACpF,oBAAY,uBAAuB,GAAG,QAAQ,CAAC,eAAe,CAAC,CAAC;AAEhE,eAAO,MAAM,qCAAqC,+CAA+C,CAAC;AAClG,eAAO,MAAM,yCAAyC,+CAA+C,CAAC"}
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';
@@ -11,129 +11,6 @@ div.support-grid-case-details.support-case {
11
11
  margin-bottom: -2.5rem;
12
12
  padding: 0;
13
13
 
14
- /* Layout - progress section */
15
- .grid-progress {
16
- grid-area: progress;
17
- }
18
-
19
- .grid-progress .grid-progress-content {
20
- padding: 1.5rem 1rem 1.5rem 2rem;
21
-
22
- & > button {
23
- margin-top: 0.5rem;
24
- margin-bottom: 1rem;
25
- }
26
-
27
- & > .back-to-app {
28
- margin-left: -0.8rem;
29
- margin-bottom: 2rem;
30
- }
31
-
32
- .grid-progress-steps {
33
- counter-reset: wizard-step-count;
34
- display: -webkit-box;
35
- display: -ms-flexbox;
36
- display: flex;
37
- -webkit-box-orient: horizontal;
38
- -webkit-box-direction: normal;
39
- -ms-flex-direction: row;
40
- flex-direction: row;
41
- -webkit-box-align: center;
42
- -ms-flex-align: center;
43
- align-items: center;
44
- -webkit-box-pack: start;
45
- -ms-flex-pack: start;
46
- justify-content: flex-start;
47
- margin: 0;
48
- padding: 0 0.5rem;
49
- list-style: none;
50
-
51
- li {
52
- padding: 0 1rem;
53
-
54
- button {
55
- position: relative;
56
- text-align: left;
57
- font-weight: 400;
58
-
59
- &::before {
60
- position: absolute;
61
- display: inline-flex;
62
- align-items: center;
63
- justify-content: center;
64
- top: 0px;
65
- left: 0px;
66
- color: #fff;
67
- counter-increment: wizard-step-count;
68
- content: counter(wizard-step-count);
69
- font-size: 12px;
70
- font-weight: 600;
71
- line-height: 1;
72
- width: 1.5rem;
73
- height: 1.5rem;
74
- border-radius: 50%;
75
- transform: matrix(1, 0, 0, 1, -18, 4);
76
- }
77
-
78
- span {
79
- display: none;
80
- }
81
- }
82
-
83
- &.on button {
84
- background-color: #06c;
85
- font-weight: 600;
86
-
87
- &::before {
88
- background-color: #06c;
89
- border-color: #06c;
90
- }
91
- }
92
-
93
- &.next button,
94
- &.future button {
95
- color: #151515;
96
-
97
- &::before {
98
- background-color: #ededed;
99
- color: #151515;
100
- }
101
-
102
- &[disabled] {
103
- background-color: transparent;
104
- border-color: #8b8d8f;
105
- color: #8b8d8f;
106
-
107
- &::before {
108
- color: #8d8e8f;
109
- }
110
- }
111
-
112
- &:hover {
113
- color: #06c;
114
- }
115
- }
116
-
117
- &.completed button {
118
- color: #151515;
119
-
120
- &::before {
121
- background-color: #ededed;
122
- color: #151515;
123
- }
124
-
125
- &:hover {
126
- color: #06c;
127
- }
128
- }
129
-
130
- &:last-child {
131
- margin-bottom: 0;
132
- }
133
- }
134
- }
135
- }
136
-
137
14
  .grid-main {
138
15
  -ms-grid-row: 1;
139
16
  -ms-grid-column: 1;
@@ -156,32 +33,6 @@ div.support-grid-case-details.support-case {
156
33
  } /* ONLY until step refactoring */
157
34
  }
158
35
 
159
- .grid-navigation {
160
- -ms-grid-row: 2;
161
- -ms-grid-column: 1;
162
- grid-area: nav;
163
- position: -webkit-sticky;
164
- position: sticky;
165
- bottom: 0;
166
- display: -webkit-box;
167
- display: -ms-flexbox;
168
- display: flex;
169
- padding: 1rem;
170
- background-color: #fff;
171
- border: 1px solid #d9d9d9;
172
- border-bottom: initial;
173
- border-left: initial;
174
-
175
- /* Layout - navigation section */
176
- button:first-child {
177
- margin-right: 1em;
178
- }
179
-
180
- button:last-child:not(.btn-primary) {
181
- margin-left: auto;
182
- }
183
- }
184
-
185
36
  .grid-aside {
186
37
  grid-area: aside;
187
38
  background-color: #e7e7e7;
@@ -243,51 +94,6 @@ div.support-grid-case-details.support-case {
243
94
  'progress main'
244
95
  'progress nav';
245
96
 
246
- .grid-progress {
247
- -ms-grid-row: 1;
248
- -ms-grid-row-span: 2;
249
- -ms-grid-column: 1;
250
- display: inline-block;
251
- border-right: 1px solid #d9d9d9;
252
- padding: 1rem;
253
-
254
- & > button {
255
- margin-top: 0;
256
- margin-bottom: 1.5rem;
257
- margin-left: -0.9rem;
258
- }
259
-
260
- .grid-progress-content {
261
- position: -webkit-sticky;
262
- position: sticky;
263
- top: 8rem;
264
-
265
- .grid-progress-steps {
266
- -webkit-box-orient: vertical;
267
- -ms-flex-direction: column;
268
- flex-direction: column;
269
- -webkit-box-align: start;
270
- -ms-flex-align: start;
271
- align-items: flex-start;
272
- -webkit-box-pack: center;
273
- -ms-flex-pack: center;
274
- justify-content: center;
275
- padding: 0;
276
-
277
- li {
278
- margin-right: 0;
279
- margin-bottom: 1.5rem;
280
- padding: 0;
281
-
282
- button {
283
- white-space: nowrap;
284
- font-size: 15px;
285
- }
286
- }
287
- }
288
- }
289
- }
290
-
291
97
  .grid-main {
292
98
  -ms-grid-row: 1;
293
99
  -ms-grid-column: 2;
@@ -299,12 +105,6 @@ div.support-grid-case-details.support-case {
299
105
  position: sticky;
300
106
  top: 8rem;
301
107
  }
302
-
303
- .grid-navigation {
304
- -ms-grid-row: 2;
305
- -ms-grid-column: 2;
306
- padding: 1rem 2rem;
307
- }
308
108
  }
309
109
 
310
110
  /* Large devices - add aside */
@@ -317,8 +117,7 @@ div.support-grid-case-details.support-case {
317
117
  'progress main aside'
318
118
  'progress nav aside';
319
119
 
320
- .grid-main,
321
- .grid-navigation {
120
+ .grid-main {
322
121
  border-right: 1px solid #e7e7e7;
323
122
  }
324
123
 
@@ -337,21 +136,6 @@ div.support-grid-case-details.support-case {
337
136
  padding: 2.5rem 1.5rem;
338
137
  }
339
138
  }
340
-
341
- .grid-navigation {
342
- -ms-grid-row: 2;
343
- -ms-grid-column: 2;
344
- }
345
-
346
- .grid-progress {
347
- -ms-grid-row: 1;
348
- -ms-grid-row-span: 2;
349
- -ms-grid-column: 1;
350
-
351
- & > .grid-main-section {
352
- padding: 2rem 1rem;
353
- }
354
- }
355
139
  }
356
140
 
357
141
  /* XL devices - Add step names to progress section */
@@ -364,10 +148,6 @@ div.support-grid-case-details.support-case {
364
148
  @media (min-width: 2000px) {
365
149
  -ms-grid-columns: 300px 1fr 33%;
366
150
  grid-template-columns: 300px auto 33%;
367
-
368
- .grid-progress {
369
- padding: 1rem;
370
- }
371
151
  }
372
152
 
373
153
  /* Case details grid */
@@ -1077,3 +857,24 @@ li.pf-c-wizard__nav-item button.pf-m-disabled::before {
1077
857
  border: 2px dashed var(--pf-global--palette--black-600);
1078
858
  background-color: var(--pf-global--palette--black-300);
1079
859
  }
860
+ .pf-c-wizard__footer {
861
+ display: flex !important;
862
+ align-items: center !important;
863
+ padding: 10px !important;
864
+ }
865
+
866
+ .main-nav-button {
867
+ display: flex !important;
868
+ }
869
+
870
+ .solved-issue-button {
871
+ margin-left: auto !important;
872
+ }
873
+
874
+ svg.pf-c-spinner.pf-m-md.export-csv-loader {
875
+ --pf-c-spinner--Color: var(--pf-global--Color--200) !important;
876
+ }
877
+
878
+ svg.pf-u-ml-xs.icon-size {
879
+ width: 14px;
880
+ }