@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
@@ -1 +1 @@
1
- {"version":3,"file":"CaseOwnerInfo.d.ts","sourceRoot":"","sources":["../../../../../src/components/CaseEditView/CaseOverview/CaseOwnerInfo.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,qCAAqC,CAAC;AAG5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAI/D,UAAU,MAAM;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,gBAAgB,EAAE,mBAAmB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;CACzD;AAED,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,KAAK,EAAE,MAAM,eA+DlD"}
1
+ {"version":3,"file":"CaseOwnerInfo.d.ts","sourceRoot":"","sources":["../../../../../src/components/CaseEditView/CaseOverview/CaseOwnerInfo.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,qCAAqC,CAAC;AAI5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAI/D,UAAU,MAAM;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,gBAAgB,EAAE,mBAAmB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;CACzD;AAED,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,KAAK,EAAE,MAAM,eA+DlD"}
@@ -1,4 +1,5 @@
1
1
  import { Tooltip, TooltipPosition } from '@patternfly/react-core';
2
+ import QuestionCircleIcon from '@patternfly/react-icons/dist/js/icons/question-circle-icon';
2
3
  import { LoadingIndicator } from '@rh-support/components';
3
4
  import React from 'react';
4
5
  import { Trans } from 'react-i18next';
@@ -43,5 +44,5 @@ export default function CaseOwnerInfo(props) {
43
44
  React.createElement(Trans, null, "Office location")),
44
45
  ": ",
45
46
  props.caseDetailsHydra.data.caseOwner.officeLocation)) },
46
- React.createElement("i", { "aria-label": "Support Level info", className: "fa fa-question-circle" })))))));
47
+ React.createElement(QuestionCircleIcon, { className: "pf-u-ml-xs icon-size", "aria-label": "Support Level Info" })))))));
47
48
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/CaseEditView/CaseOverview/index.tsx"],"names":[],"mappings":"AAkBA,OAAO,KAA8D,MAAM,OAAO,CAAC;AA6BnF,UAAU,MAAM;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,KAAK,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;CACnD;AAED,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,KAAK,EAAE,MAAM,eA0ejD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/CaseEditView/CaseOverview/index.tsx"],"names":[],"mappings":"AA0BA,OAAO,KAA8D,MAAM,OAAO,CAAC;AA8BnF,UAAU,MAAM;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,KAAK,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;CACnD;AAED,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,KAAK,EAAE,MAAM,eA8ejD"}
@@ -7,7 +7,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
7
7
  step((generator = generator.apply(thisArg, _arguments || [])).next());
8
8
  });
9
9
  };
10
- import { Alert, AlertVariant, Button, ButtonVariant, ExpandableSection, Label } from '@patternfly/react-core';
10
+ import { Alert, AlertVariant, Button, ButtonVariant, ExpandableSection, Label, ModalVariant, } from '@patternfly/react-core';
11
11
  import { ToastNotification, useConfirmation } from '@rh-support/components';
12
12
  import { CloseCaseModal, fetchCaseSeverities, fetchCaseTypes, GlobalMetadataDispatchContext, GlobalMetadataStateContext, useCanEditCase, } from '@rh-support/react-context';
13
13
  import { AbilityContext, CaseDetailsFields, resourceActions, resources } from '@rh-support/user-permissions';
@@ -27,6 +27,7 @@ import { ReopenCaseModal } from '../ConfirmationModals/ReopenCaseModal';
27
27
  import { PDFContext } from '../PDFContainer';
28
28
  import { CaseInformation } from '../Tabs/CaseDetails/CaseInformation';
29
29
  import { CaseContactPhoneNumberAlert } from '../Tabs/CaseDetails/CasePhoneNumberConfirmAlert';
30
+ import { CasePhoneNumberSev1ConfirmAlert } from '../Tabs/CaseDetails/CasePhoneNumberSev1ConfirmAlert';
30
31
  import Summary from '../Tabs/CaseDetails/Summary';
31
32
  import CaseOwnerInfo from './CaseOwnerInfo';
32
33
  import CaseStatus from './CaseStatus';
@@ -172,8 +173,11 @@ export default function CaseOverview(props) {
172
173
  else {
173
174
  yield confirm({
174
175
  catchOnCancel: true,
175
- title: t(`Status has been changed`),
176
- description: t('Are you sure you want to change this case status to {{newStatus}}?', { newStatus }),
176
+ title: t(`Update the status of the case?`),
177
+ description: t('Are you sure you want to change the case status to {{newStatus}}?', { newStatus }),
178
+ confirmText: t('Yes, confirm'),
179
+ cancelText: t('No, cancel'),
180
+ modalVariant: ModalVariant.small,
177
181
  });
178
182
  updateStatusState(newStatus);
179
183
  }
@@ -229,6 +233,7 @@ export default function CaseOverview(props) {
229
233
  React.createElement("p", { className: "pf-u-mb-sm" },
230
234
  React.createElement(Trans, null, "The customer has received two warnings regarding inactivity. This case will be closed soon if we don't receive any input."))) })))),
231
235
  React.createElement(CaseContactPhoneNumberAlert, { isReview: true, tabRef: props.tabsRef }),
236
+ React.createElement(CasePhoneNumberSev1ConfirmAlert, { isReview: true, tabRef: props.tabsRef }),
232
237
  React.createElement("header", null,
233
238
  React.createElement("h2", { className: "case-ID" },
234
239
  React.createElement(Trans, null, "Case"),
@@ -1 +1 @@
1
- {"version":3,"file":"RemoteSessionAgreement.d.ts","sourceRoot":"","sources":["../../../../../src/components/CaseEditView/RequestRemoteSession/RemoteSessionAgreement.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAmD,MAAM,OAAO,CAAC;AAMxE,UAAU,MAAM;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,0BAA0B,EAAE,OAAO,CAAC;IACpC,QAAQ,EAAE,OAAO,CAAC;CACrB;AAED,eAAO,MAAM,sBAAsB,+EA8FjC,CAAC"}
1
+ {"version":3,"file":"RemoteSessionAgreement.d.ts","sourceRoot":"","sources":["../../../../../src/components/CaseEditView/RequestRemoteSession/RemoteSessionAgreement.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAmD,MAAM,OAAO,CAAC;AAKxE,UAAU,MAAM;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,0BAA0B,EAAE,OAAO,CAAC;IACpC,QAAQ,EAAE,OAAO,CAAC;CACrB;AAED,eAAO,MAAM,sBAAsB,+EA8FjC,CAAC"}
@@ -1,9 +1,9 @@
1
1
  import { Button, Popover, Tooltip } from '@patternfly/react-core';
2
2
  import InfoCircleIcon from '@patternfly/react-icons/dist/js/icons/info-circle-icon';
3
3
  import { GlobalMetadataStateContext, useCanEditCase } from '@rh-support/react-context';
4
+ import { TncConstants } from '@rh-support/utils';
4
5
  import React, { forwardRef, useContext, useRef, useState } from 'react';
5
6
  import { useTranslation } from 'react-i18next';
6
- import { TnC } from '../../../constants/tncConstants';
7
7
  import { RemoteSessionAgreementModal } from './RemoteSessionAgreementModal';
8
8
  export const RemoteSessionAgreement = forwardRef((props, ref) => {
9
9
  const tooltipRef = useRef();
@@ -22,7 +22,7 @@ export const RemoteSessionAgreement = forwardRef((props, ref) => {
22
22
  const RemoteSessionAgreementSectionBody = (React.createElement("div", { className: "card card-white card-support escalations", ref: ref },
23
23
  React.createElement("h3", { className: "card-heading pf-u-display-flex pf-u-justify-content-space-between" },
24
24
  t('Remote session agreement'),
25
- React.createElement(Popover, { "aria-label": t('Remote Session Helper Info'), bodyContent: t('Before Red Hat logs into your systems to analyze your support issue during a remote session, Red Hat needs your approval and authorization for such remote access'), footerContent: React.createElement("a", { href: "/articles/3566571", target: "_blank", rel: "noopener noreferrer", "aria-label": t('Read more about remote sessions') }, t('Read more about remote sessions')) },
25
+ React.createElement(Popover, { "aria-label": t('Remote Session Helper Info'), bodyContent: t('Before Red Hat logs into your systems to analyze your support issue during a remote session, Red Hat needs your approval and authorization for such remote access.'), footerContent: React.createElement("a", { href: "/articles/3566571", target: "_blank", rel: "noopener noreferrer", "aria-label": t('Read more about remote sessions') }, t('Read more about remote sessions')) },
26
26
  React.createElement(InfoCircleIcon, null))),
27
27
  React.createElement("div", { className: "card-body" },
28
28
  React.createElement("p", null,
@@ -35,5 +35,5 @@ export const RemoteSessionAgreement = forwardRef((props, ref) => {
35
35
  React.createElement(Button, { "aria-label": acceptedRemoteSessionTerms ? t('Agreement accepted') : t('Accept agreement'), variant: acceptedRemoteSessionTerms ? 'primary' : 'secondary', onClick: toggleRemoteSessionAgreementModal, "data-tracking-id": "accept-remote-session-agreement-trigger", isAriaDisabled: acceptedRemoteSessionTerms, ref: tooltipRef }, acceptedRemoteSessionTerms ? t('Agreement accepted') : t('Accept agreement')))));
36
36
  return (React.createElement(React.Fragment, null,
37
37
  RemoteSessionAgreementSectionBody,
38
- React.createElement(RemoteSessionAgreementModal, { caseNumber: caseNumber, caseStatus: caseStatus, show: openRequestRemoteSessionModal, onClose: toggleRemoteSessionAgreementModal, siteCode: TnC.REMOTE_RIDER_SITE_CODE, eventCode: TnC.REMOTER_RIDER_EVENT_CODE, loggedInUser: loggedInUser.data.ssoUsername === undefined ? '' : loggedInUser.data.ssoUsername, loggedInUserRights: loggedInUserRights, readOnly: readOnly })));
38
+ React.createElement(RemoteSessionAgreementModal, { caseNumber: caseNumber, caseStatus: caseStatus, show: openRequestRemoteSessionModal, onClose: toggleRemoteSessionAgreementModal, siteCode: TncConstants.REMOTE_RIDER_SITE_CODE, eventCode: TncConstants.REMOTER_RIDER_EVENT_CODE, loggedInUser: loggedInUser.data.ssoUsername === undefined ? '' : loggedInUser.data.ssoUsername, loggedInUserRights: loggedInUserRights, readOnly: readOnly })));
39
39
  });
@@ -7,10 +7,10 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
7
7
  step((generator = generator.apply(thisArg, _arguments || [])).next());
8
8
  });
9
9
  };
10
- import { getUrlParsedParams } from '@rh-support/utils';
10
+ import { getTnCHost, getUrlParsedParams } from '@rh-support/utils';
11
11
  import React, { useEffect, useState } from 'react';
12
12
  import { useLocation } from 'react-router';
13
- import { getTnCHost, handleTnCQueryParams } from './TnC';
13
+ import { handleTnCQueryParams } from './TnC';
14
14
  export function PartnerCaseHelper(props) {
15
15
  var _a, _b;
16
16
  const [isUpdating, setIsUpdating] = useState(false);
@@ -1,6 +1,4 @@
1
1
  import { RouteComponentProps } from 'react-router';
2
- export declare function getTnCHost(): string;
3
- export declare function baseTnCUrl(): string;
4
2
  export declare function getTnCUrl(accountNumber: any): string;
5
3
  export declare const handleTnCQueryParams: (caseNumber: string, routeProps: RouteComponentProps) => Promise<void>;
6
4
  //# sourceMappingURL=TnC.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TnC.d.ts","sourceRoot":"","sources":["../../../../../src/components/CaseEditView/ShareCase/TnC.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAInD,wBAAgB,UAAU,WAYzB;AAED,wBAAgB,UAAU,WAGzB;AAED,wBAAgB,SAAS,CAAC,aAAa,KAAA,UAQtC;AAMD,eAAO,MAAM,oBAAoB,eAAsB,MAAM,cAAc,mBAAmB,kBAc7F,CAAC"}
1
+ {"version":3,"file":"TnC.d.ts","sourceRoot":"","sources":["../../../../../src/components/CaseEditView/ShareCase/TnC.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAEnD,wBAAgB,SAAS,CAAC,aAAa,KAAA,UAQtC;AAMD,eAAO,MAAM,oBAAoB,eAAsB,MAAM,cAAc,mBAAmB,kBAc7F,CAAC"}
@@ -10,30 +10,12 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
10
  // code replicated from legacy PCM<TnC.js>
11
11
  import hydrajs from '@cee-eng/hydrajs';
12
12
  import { ToastNotification } from '@rh-support/components';
13
- import { getText } from '@rh-support/utils';
13
+ import { baseTnCUrl, getText, TncConstants } from '@rh-support/utils';
14
14
  import get from 'lodash/get';
15
- import { TnC } from '../../../constants/tncConstants';
16
- export function getTnCHost() {
17
- const env = hydrajs.Env.getEnvName();
18
- switch (env) {
19
- case 'QA':
20
- return TnC.HOSTS.QA;
21
- case 'DEV':
22
- return TnC.HOSTS.DEV;
23
- case 'Stage':
24
- return TnC.HOSTS.Stage;
25
- default:
26
- return TnC.HOSTS.PROD;
27
- }
28
- }
29
- export function baseTnCUrl() {
30
- const wejava_host = getTnCHost();
31
- return `https://${wejava_host}/wapps/tnc/ackrequired`;
32
- }
33
15
  export function getTnCUrl(accountNumber) {
34
16
  const redirectUrl = encodeURIComponent(window.location.href + (accountNumber ? `?partnerAccountNumber=${accountNumber}` : ''));
35
17
  const cancelRedirectUrl = encodeURIComponent(window.location.href + `?rejectedTnC=true`);
36
- return `${baseTnCUrl()}?site=${TnC.PARTNER_SHARE_SITE_CODE}&event=${TnC.PARTNER_SHARE_EVENT_CODE}&redirect=${redirectUrl}&cancelRedirect=${cancelRedirectUrl}`;
18
+ return `${baseTnCUrl()}?site=${TncConstants.PARTNER_SHARE_SITE_CODE}&event=${TncConstants.PARTNER_SHARE_EVENT_CODE}&redirect=${redirectUrl}&cancelRedirect=${cancelRedirectUrl}`;
37
19
  }
38
20
  const removeQueryParams = (routeProps) => {
39
21
  routeProps.history.replace({ search: '' });
@@ -1 +1 @@
1
- {"version":3,"file":"CaseDetailsManagement.d.ts","sourceRoot":"","sources":["../../../../../../src/components/CaseEditView/Tabs/CaseDetails/CaseDetailsManagement.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAG5D,OAAO,KAA+B,MAAM,OAAO,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAiBnD,UAAU,MAAO,SAAQ,gBAAgB;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,mBAAmB,CAAC;IAChC,MAAM,EAAE,KAAK,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;CAClD;AAED,MAAM,CAAC,OAAO,UAAU,qBAAqB,CAAC,KAAK,EAAE,MAAM,eA+D1D"}
1
+ {"version":3,"file":"CaseDetailsManagement.d.ts","sourceRoot":"","sources":["../../../../../../src/components/CaseEditView/Tabs/CaseDetails/CaseDetailsManagement.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAG5D,OAAO,KAA+B,MAAM,OAAO,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAkBnD,UAAU,MAAO,SAAQ,gBAAgB;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,mBAAmB,CAAC;IAChC,MAAM,EAAE,KAAK,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;CAClD;AAED,MAAM,CAAC,OAAO,UAAU,qBAAqB,CAAC,KAAK,EAAE,MAAM,eAgE1D"}
@@ -14,6 +14,7 @@ import { ShareWithPartner } from '../../ShareCase/PartnerShare';
14
14
  import { CaseContactPhoneNumber } from './CaseContactPhoneNumber';
15
15
  import CaseInternalStatus from './CaseInternalStatus';
16
16
  import { CaseContactPhoneNumberAlert } from './CasePhoneNumberConfirmAlert';
17
+ import { CasePhoneNumberSev1ConfirmAlert } from './CasePhoneNumberSev1ConfirmAlert';
17
18
  import CaseReferenceNumber from './CaseReferenceNumber';
18
19
  import CaseSbrGroups from './CaseSbrGroups';
19
20
  export default function CaseDetailsManagement(props) {
@@ -38,6 +39,7 @@ export default function CaseDetailsManagement(props) {
38
39
  React.createElement(FlexItem, { flex: { default: 'flex_1' } },
39
40
  React.createElement(CaseContactPhoneNumber, null))),
40
41
  React.createElement(CaseContactPhoneNumberAlert, { isConfirm: true }),
42
+ React.createElement(CasePhoneNumberSev1ConfirmAlert, { isConfirm: true }),
41
43
  canSeeInternalStatus && React.createElement(CaseInternalStatus, null),
42
44
  canSeeSBRGroups && React.createElement(CaseSbrGroups, null),
43
45
  React.createElement(CaseGroup, null),
@@ -1 +1 @@
1
- {"version":3,"file":"CaseHostname.d.ts","sourceRoot":"","sources":["../../../../../../src/components/CaseEditView/Tabs/CaseDetails/CaseHostname.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAY5D,UAAU,MAAO,SAAQ,gBAAgB;IACrC,cAAc,EAAE,OAAO,CAAC;CAC3B;AAMD,iBAAS,YAAY,CAAC,KAAK,EAAE,MAAM,eAqKlC;kBArKQ,YAAY;;;AAwKrB,OAAO,EAAE,YAAY,EAAE,CAAC"}
1
+ {"version":3,"file":"CaseHostname.d.ts","sourceRoot":"","sources":["../../../../../../src/components/CaseEditView/Tabs/CaseDetails/CaseHostname.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAa5D,UAAU,MAAO,SAAQ,gBAAgB;IACrC,cAAc,EAAE,OAAO,CAAC;CAC3B;AAMD,iBAAS,YAAY,CAAC,KAAK,EAAE,MAAM,eAqKlC;kBArKQ,YAAY;;;AAwKrB,OAAO,EAAE,YAAY,EAAE,CAAC"}
@@ -9,6 +9,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  };
10
10
  import { accounts } from '@cee-eng/hydrajs';
11
11
  import { Popover, PopoverPosition, Spinner, Switch } from '@patternfly/react-core';
12
+ import QuestionCircleIcon from '@patternfly/react-icons/dist/js/icons/question-circle-icon';
12
13
  import { InlineEdit, LoadingIndicator, ToastNotification, useFetch, ValueChangedIcon } from '@rh-support/components';
13
14
  import { GlobalMetadataStateContext, useCanEditCase } from '@rh-support/react-context';
14
15
  import { ability, CaseListFields, resourceActions, resources } from '@rh-support/user-permissions';
@@ -108,7 +109,7 @@ function CaseHostname(props) {
108
109
  React.createElement(InlineEdit, { labelProps: { htmlFor: 'case-details-hostname' }, formClassName: props.className || '', labelContent: React.createElement(React.Fragment, null,
109
110
  React.createElement(Trans, null, "Hostname"),
110
111
  React.createElement(ValueChangedIcon, { afterLocalChange: afterLocalChange, isLocalChange: localHostnameChange, value: hostname, getTooltipContent: getChangedValueTooltip(() => CaseValuesToWatch.hostname) })), helperContent: React.createElement(Popover, { "aria-label": "Hostname Info", position: PopoverPosition.auto, bodyContent: hostNameVisibilityContent, closeBtnAriaLabel: "Close", headerContent: 'Share hostname?', onShow: () => userOriginalHostnameValue() },
111
- React.createElement("i", { "aria-label": "Hostname Info", className: "m-l-1 fa fa-question-circle" })), allowInlineEdit: props.inlineEditable, content: hostname, saveDisabled: hostnameState === hostname || isHostnameUpdating || lengthError, onSave: onSave, onCancel: onCancel, initialIsEditing: false, loadingIndicator: isHostnameUpdating ? React.createElement(LoadingIndicator, { show: isHostnameUpdating, isInline: true }) : undefined },
112
+ React.createElement(QuestionCircleIcon, { className: "pf-u-ml-xs icon-size", "aria-label": "Hostname Info" })), allowInlineEdit: props.inlineEditable, content: hostname, saveDisabled: hostnameState === hostname || isHostnameUpdating || lengthError, onSave: onSave, onCancel: onCancel, initialIsEditing: false, loadingIndicator: isHostnameUpdating ? React.createElement(LoadingIndicator, { show: isHostnameUpdating, isInline: true }) : undefined },
112
113
  React.createElement("input", { type: "text", id: "case-details-hostname", className: `form-control${lengthError ? ' form-invalid' : ''}`, name: "case-details-hostname", value: hostnameState, onChange: onHostnameChange, disabled: isHostnameUpdating, "data-tracking-id": "case-details-hostname", "aria-invalid": lengthError })),
113
114
  lengthError && (React.createElement("div", { className: "pull-top" },
114
115
  React.createElement("p", { className: "form-instructions form-invalid" },
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ interface IProps {
3
+ isReview?: boolean;
4
+ isConfirm?: boolean;
5
+ tabRef?: React.MutableRefObject<HTMLDivElement>;
6
+ }
7
+ export declare function CasePhoneNumberSev1ConfirmAlert(props: IProps): JSX.Element;
8
+ export {};
9
+ //# sourceMappingURL=CasePhoneNumberSev1ConfirmAlert.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CasePhoneNumberSev1ConfirmAlert.d.ts","sourceRoot":"","sources":["../../../../../../src/components/CaseEditView/Tabs/CaseDetails/CasePhoneNumberSev1ConfirmAlert.tsx"],"names":[],"mappings":"AAMA,OAAO,KAA+B,MAAM,OAAO,CAAC;AASpD,UAAU,MAAM;IACZ,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,KAAK,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;CACnD;AAMD,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,MAAM,eAmG5D"}
@@ -0,0 +1,69 @@
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 { Alert, AlertVariant, Button, ButtonVariant } from '@patternfly/react-core';
11
+ import { ToastNotification } from '@rh-support/components';
12
+ import { GlobalMetadataStateContext } from '@rh-support/react-context';
13
+ import { scrollIntoView } from '@rh-support/utils';
14
+ import isEqual from 'lodash/isEqual';
15
+ import React, { useContext, useState } from 'react';
16
+ import { Trans, useTranslation } from 'react-i18next';
17
+ import { Link } from 'react-router-dom';
18
+ import { useCaseDispatch, useCaseSelector } from '../../../../context/CaseContext';
19
+ import { useCaseUpdateErrorMessage } from '../../../../hooks/useCaseUpdateErrorMessage';
20
+ import { updateCaseDetails } from '../../../../reducers/CaseReducer';
21
+ /*
22
+ On case detail page when case owner changes the sevirity to sev1, this alert will be displayed
23
+ // what happens when partner changes ???
24
+ */
25
+ export function CasePhoneNumberSev1ConfirmAlert(props) {
26
+ const { globalMetadataState: { loggedInUser }, } = useContext(GlobalMetadataStateContext);
27
+ const [isCaseUpdating, setCasUpdating] = useState(false);
28
+ const { caseNumber, suppliedPhoneNumberVerified, contactSSOName, severity } = useCaseSelector((state) => ({
29
+ caseNumber: state.caseDetails.caseNumber,
30
+ suppliedPhoneNumberVerified: state.caseDetails.suppliedPhoneNumberVerified,
31
+ contactSSOName: state.caseDetails.contactSSOName,
32
+ severity: state.caseDetails.severity,
33
+ }), isEqual);
34
+ const { t } = useTranslation();
35
+ const caseDispatch = useCaseDispatch();
36
+ const caseUpdateError = useCaseUpdateErrorMessage();
37
+ const onCaseDetailsChange = (caseDetails) => __awaiter(this, void 0, void 0, function* () {
38
+ setCasUpdating(true);
39
+ try {
40
+ yield updateCaseDetails(caseDispatch, caseNumber, caseDetails);
41
+ setCasUpdating(false);
42
+ ToastNotification.addSuccessMessage(t(`Phone number has been successfully confirmed`));
43
+ }
44
+ catch (e) {
45
+ setCasUpdating(false);
46
+ caseUpdateError.showError(e, t(`Phone number failed to be confirmed`));
47
+ }
48
+ });
49
+ const goToPhoneField = () => {
50
+ scrollIntoView(props.tabRef);
51
+ };
52
+ const isPhoneNeedsConfirm = contactSSOName === loggedInUser.data.ssoUsername &&
53
+ severity === "1 (Urgent)" /* SEV_1 */ &&
54
+ suppliedPhoneNumberVerified === 'False';
55
+ if (!isPhoneNeedsConfirm)
56
+ return React.createElement(React.Fragment, null);
57
+ return (React.createElement(React.Fragment, null, props.isReview ? (React.createElement(Alert, { className: "pf-u-mb-md", isInline: true, variant: AlertVariant.warning, title: t('Review phone number'), actionLinks: [
58
+ React.createElement(Link, { replace: true, to: {
59
+ pathname: `/case/${caseNumber}/management`,
60
+ search: 'hello',
61
+ }, onClick: () => goToPhoneField(), "data-tracking-id": "case-contact-phone-number-review" },
62
+ React.createElement(Trans, null, "Review phone number")),
63
+ ] },
64
+ React.createElement(Trans, null, "This case severity is urgent. Please confirm the phone number we have on file is correct."))) : props.isConfirm ? (React.createElement(Alert, { isInline: true, className: "pf-u-mb-md", variant: AlertVariant.warning, title: t('Review phone number'), actionLinks: [
65
+ React.createElement(Button, { variant: ButtonVariant.link, isInline: true, onClick: () => onCaseDetailsChange({ suppliedPhoneNumberVerified: 'True' }), "data-tracking-id": "case-contact-phone-number-confirm", isLoading: isCaseUpdating, isDisabled: isCaseUpdating },
66
+ React.createElement(Trans, null, "Confirm phone number")),
67
+ ] },
68
+ React.createElement(Trans, null, "This case severity is urgent. Please confirm the phone number we have on file is correct."))) : (React.createElement(React.Fragment, null))));
69
+ }
@@ -32,7 +32,7 @@ export function ContactPhoneNumber() {
32
32
  limit: PHONE_LIMIT,
33
33
  });
34
34
  return (React.createElement("div", { className: "form-group", style: { minWidth: '200px' } },
35
- React.createElement("h3", { className: "subheading subheading-sm" },
35
+ React.createElement("label", { className: "subheading subheading-sm" },
36
36
  React.createElement(Trans, null, "Case owner's phone number"),
37
37
  ContactPhoneNumberPopOver()),
38
38
  React.createElement(TextInput, { id: "case-phone-number", placeholder: "+1 555-555-5555", value: caseDetails.phone, onChange: handlePhoneChange, validated: ((_a = caseDetails.phone) === null || _a === void 0 ? void 0 : _a.length) > PHONE_LIMIT
@@ -1 +1 @@
1
- {"version":3,"file":"ContactPhoneNumberPopOver.d.ts","sourceRoot":"","sources":["../../../../src/components/CaseInformation/ContactPhoneNumberPopOver.tsx"],"names":[],"mappings":"AAIA,wBAAgB,yBAAyB,gBA2BxC"}
1
+ {"version":3,"file":"ContactPhoneNumberPopOver.d.ts","sourceRoot":"","sources":["../../../../src/components/CaseInformation/ContactPhoneNumberPopOver.tsx"],"names":[],"mappings":"AAKA,wBAAgB,yBAAyB,gBA2BxC"}
@@ -1,4 +1,5 @@
1
1
  import { Popover, PopoverPosition } from '@patternfly/react-core';
2
+ import QuestionCircleIcon from '@patternfly/react-icons/dist/js/icons/question-circle-icon';
2
3
  import React from 'react';
3
4
  import { Trans } from 'react-i18next';
4
5
  export function ContactPhoneNumberPopOver() {
@@ -8,5 +9,5 @@ export function ContactPhoneNumberPopOver() {
8
9
  ' ',
9
10
  React.createElement("a", { href: "https://www.redhat.com/wapps/ugc/protected/personalInfo.html", "data-tracking-id": "case-contact-phone-number-account-details", target: "_blank", rel: "noopener noreferrer" }, "your account details"),
10
11
  ".")), closeBtnAriaLabel: "Close" },
11
- React.createElement("i", { "aria-label": "Support Severity Level info", className: "fa fa-question-circle" })));
12
+ React.createElement(QuestionCircleIcon, { className: "pf-u-ml-xs icon-size", "aria-label": "Contact Phone Number Info" })));
12
13
  }
@@ -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":"Severity.d.ts","sourceRoot":"","sources":["../../../../src/components/CaseInformation/Severity.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AAKvE,OAAO,EAAE,gBAAgB,EAAW,MAAM,0BAA0B,CAAC;AAwBrE,UAAU,MAAO,SAAQ,gBAAgB;IACrC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,gBAAgB,CAAC,EAAE,CAAC,WAAW,EAAE,OAAO,CAAC,YAAY,CAAC,KAAK,IAAI,CAAC;IAChE,oBAAoB,EAAE,OAAO,CAAC;CACjC;AASD,MAAM,WAAW,gBAAgB;IAC7B,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,GAAG,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC;CACxD;AAED,iBAAS,QAAQ,CAAC,KAAK,EAAE,MAAM,eAqR9B;kBArRQ,QAAQ;;;AAuRjB,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"Severity.d.ts","sourceRoot":"","sources":["../../../../src/components/CaseInformation/Severity.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AAMvE,OAAO,EAAE,gBAAgB,EAAW,MAAM,0BAA0B,CAAC;AAwBrE,UAAU,MAAO,SAAQ,gBAAgB;IACrC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,gBAAgB,CAAC,EAAE,CAAC,WAAW,EAAE,OAAO,CAAC,YAAY,CAAC,KAAK,IAAI,CAAC;IAChE,oBAAoB,EAAE,OAAO,CAAC;CACjC;AASD,MAAM,WAAW,gBAAgB;IAC7B,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,GAAG,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC;CACxD;AAED,iBAAS,QAAQ,CAAC,KAAK,EAAE,MAAM,eAqR9B;kBArRQ,QAAQ;;;AAuRjB,eAAe,QAAQ,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { Popover, PopoverPosition, Tooltip, TooltipPosition } from '@patternfly/react-core';
2
+ import QuestionCircleIcon from '@patternfly/react-icons/dist/js/icons/question-circle-icon';
2
3
  import WarningTriangleIcon from '@patternfly/react-icons/dist/js/icons/warning-triangle-icon';
3
4
  import { Dropdown, ValueChangedIcon } from '@rh-support/components';
4
5
  import { GlobalMetadataStateContext } from '@rh-support/react-context';
@@ -159,7 +160,7 @@ function Severity(props) {
159
160
  ' ',
160
161
  React.createElement("a", { href: "/support/policy/severity", target: "_blank" },
161
162
  React.createElement(Trans, null, "Red Hat Support Severity Level Definitions"))), closeBtnAriaLabel: "Close" },
162
- React.createElement("i", { "aria-label": "Support Severity Level info", className: "fa fa-question-circle" }))),
163
+ React.createElement(QuestionCircleIcon, { className: "pf-u-ml-xs icon-size", "aria-label": "Support Severity Level Info" }))),
163
164
  "\u00A0",
164
165
  filteredSeverities.filter((s) => s.disabled).length !== 0 && (React.createElement(Tooltip, { position: TooltipPosition.top, content: React.createElement(Trans, null, "Only the enabled severity levels are supported for selected product and version.") },
165
166
  React.createElement(WarningTriangleIcon, { color: "#ec7a08", size: "sm", title: "Support Severity Level warning" }))),
@@ -1 +1 @@
1
- {"version":3,"file":"SupportLevel.d.ts","sourceRoot":"","sources":["../../../../src/components/CaseInformation/SupportLevel.tsx"],"names":[],"mappings":"AAUA,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAU5D,UAAU,MAAO,SAAQ,gBAAgB;CAAG;AAO5C,iBAAS,YAAY,CAAC,KAAK,EAAE,MAAM,eA4HlC;kBA5HQ,YAAY;;;AA8HrB,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"SupportLevel.d.ts","sourceRoot":"","sources":["../../../../src/components/CaseInformation/SupportLevel.tsx"],"names":[],"mappings":"AAWA,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAU5D,UAAU,MAAO,SAAQ,gBAAgB;CAAG;AAO5C,iBAAS,YAAY,CAAC,KAAK,EAAE,MAAM,eA4HlC;kBA5HQ,YAAY;;;AA8HrB,eAAe,YAAY,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { Popover, PopoverPosition, Select, SelectOption, SelectVariant, ValidatedOptions, } from '@patternfly/react-core';
2
+ import QuestionCircleIcon from '@patternfly/react-icons/dist/js/icons/question-circle-icon';
2
3
  import { GlobalMetadataStateContext } from '@rh-support/react-context';
3
4
  import { showFtsOnCaseViewEditPage, showFtsOnCreateCasePage } from '@rh-support/utils';
4
5
  import isEmpty from 'lodash/isEmpty';
@@ -81,7 +82,7 @@ function SupportLevel(props) {
81
82
  "Learn more about our",
82
83
  ' ',
83
84
  React.createElement("a", { href: "/support/offerings/production/sla", target: "_blank" }, "production support service level agreement"))), closeBtnAriaLabel: "Close" },
84
- React.createElement("i", { "aria-label": "Support Level info", className: "fa fa-question-circle" })),
85
+ React.createElement(QuestionCircleIcon, { className: "pf-u-ml-xs icon-size", "aria-label": "Support Level Info" })),
85
86
  React.createElement(Select, { variant: SelectVariant.single, "aria-label": t('Select Support Level'), onToggle: onToggle, onSelect: onEntitlementChange, selections: selectedSla, isOpen: isOpen, "aria-labelledby": 'get-support-supportLevel', isDisabled: ownersEntitlements.isError || isEmpty(ownersEntitlements.data), validated: isSupportLevelInValid ? ValidatedOptions.error : ValidatedOptions.default, "data-tracking-id": "get-support-supportLevel" }, getSlaList().map((sla, index) => (React.createElement(SelectOption, { key: index, value: sla })))),
86
87
  isEmpty(ownersEntitlements.data) && (React.createElement("p", { className: "form-instructions" }, ownersEntitlements.isError ? t('Error loading support levels') : t('No active subscriptions')))));
87
88
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Cep.d.ts","sourceRoot":"","sources":["../../../../src/components/CaseManagement/Cep.tsx"],"names":[],"mappings":"AAqCA,UAAU,MAAM;CAAG;AAEnB,wBAAgB,GAAG,CAAC,KAAK,EAAE,MAAM,eAkShC"}
1
+ {"version":3,"file":"Cep.d.ts","sourceRoot":"","sources":["../../../../src/components/CaseManagement/Cep.tsx"],"names":[],"mappings":"AAsCA,UAAU,MAAM;CAAG;AAEnB,wBAAgB,GAAG,CAAC,KAAK,EAAE,MAAM,eAkShC"}
@@ -8,6 +8,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  });
9
9
  };
10
10
  import { Button, Form, FormGroup, Modal, ModalVariant, Popover, PopoverPosition, TextArea, TextInput, ValidatedOptions, } from '@patternfly/react-core';
11
+ import QuestionCircleIcon from '@patternfly/react-icons/dist/js/icons/question-circle-icon';
11
12
  import { LoadingIndicator, ToastNotification, useConfirmation } from '@rh-support/components';
12
13
  import { GlobalMetadataStateContext, useCanEditCase } from '@rh-support/react-context';
13
14
  import { AbilityContext, CaseListFields, resourceActions, resources } from '@rh-support/user-permissions';
@@ -135,12 +136,11 @@ export function Cep(props) {
135
136
  return React.createElement(React.Fragment, null);
136
137
  }
137
138
  return (React.createElement("div", { className: "form-group push-top" },
138
- React.createElement("input", { type: "checkbox", id: "get-support-cep", name: "get-support-cep", checked: cep, onChange: onCepChange, "data-tracking-id": "get-support-cep" }),
139
+ React.createElement("input", { type: "checkbox", id: "get-support-cep", name: "get-support-cep", checked: isEqual(cep, undefined) ? false : cep, onChange: onCepChange, "data-tracking-id": "get-support-cep" }),
139
140
  React.createElement("label", { htmlFor: "get-support-cep" },
140
141
  React.createElement(Trans, null, "Consultant has been engaged")),
141
142
  React.createElement(Popover, { "aria-label": "CEP info", position: PopoverPosition.top, bodyContent: React.createElement(Trans, null, "Used by consultants to indicate that a consulting engagement is in progress and the issue requires increased attention from support resources."), closeBtnAriaLabel: "Close" },
142
- React.createElement("i", { "aria-label": "CEP info", className: "fa fa-question-circle" })),
143
- ' ',
143
+ React.createElement(QuestionCircleIcon, { className: "pf-u-ml-xs icon-size", "aria-label": "CEP Info" })),
144
144
  React.createElement(LoadingIndicator, { show: isCaseUpdating && isPostingCep, isInline: true, size: "sm" }),
145
145
  React.createElement(Modal, { id: "cep-details-modal", title: t('Consultant engagement is in progress'), "aria-describedby": "cep-modal-description", isOpen: isCepModalOpen, showClose: true, variant: ModalVariant.large, onClose: onCancel, actions: [
146
146
  React.createElement(Button, { key: "confirm", variant: "primary", className: "btn btn-app btn-primary", onClick: onSubmit, isDisabled: saveButtonIsClicked && isFormInvalid, "data-tracking-id": "cep-details-save" },
@@ -1 +1 @@
1
- {"version":3,"file":"ProductVersionDropdownSelector.d.ts","sourceRoot":"","sources":["../../../../src/components/ProductSelector/ProductVersionDropdownSelector.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,wCAAwC,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAiC,MAAM,OAAO,CAAC;AAOtD,UAAU,MAAO,SAAQ,gBAAgB;IACrC,QAAQ,EAAE,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;IAChC,eAAe,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IACrC,eAAe,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,KAAK,GAAG,CAAC;IACvD,eAAe,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,GAAG,CAAC;IAC1C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACnB;AAOD,QAAA,MAAM,8BAA8B,wEA2ClC,CAAC;AAEH,OAAO,EAAE,8BAA8B,EAAE,CAAC"}
1
+ {"version":3,"file":"ProductVersionDropdownSelector.d.ts","sourceRoot":"","sources":["../../../../src/components/ProductSelector/ProductVersionDropdownSelector.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,wCAAwC,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAiC,MAAM,OAAO,CAAC;AAOtD,UAAU,MAAO,SAAQ,gBAAgB;IACrC,QAAQ,EAAE,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;IAChC,eAAe,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IACrC,eAAe,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,KAAK,GAAG,CAAC;IACvD,eAAe,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,GAAG,CAAC;IAC1C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACnB;AAOD,QAAA,MAAM,8BAA8B,wEAuClC,CAAC;AAEH,OAAO,EAAE,8BAA8B,EAAE,CAAC"}
@@ -12,17 +12,15 @@ const ProductVersionDropdownSelector = forwardRef((props, ref) => {
12
12
  return (React.createElement(React.Fragment, null,
13
13
  React.createElement("div", { className: "product-selector-wrapper" },
14
14
  React.createElement("label", { htmlFor: "product-selector-dropdown-downshift-search", ref: ref },
15
- React.createElement("h3", { className: "subheading subheading-sm" },
16
- React.createElement(Trans, null, "Product"),
17
- ' ',
18
- React.createElement("span", { className: "form-required", "aria-hidden": true }, "*"))),
15
+ React.createElement(Trans, null, "Product"),
16
+ ' ',
17
+ React.createElement("span", { className: "form-required", "aria-hidden": true }, "*")),
19
18
  React.createElement(NewProductDropdownSelector, { products: props.products, onProductChange: props.onProductChange, selectedProduct: props.selectedProduct, onVersionChange: props.onVersionChange, isNextBtnClickedToShowValidationError: isNextBtnClickedToShowValidationError, isCaseCreate: isCaseCreate })),
20
19
  React.createElement("div", { className: "version-selector-wrapper" },
21
20
  React.createElement("label", { htmlFor: "version-selector-dropdown-toggle" },
22
- React.createElement("h3", { className: "subheading subheading-sm" },
23
- React.createElement(Trans, null, "Version"),
24
- ' ',
25
- React.createElement("span", { className: "form-required", "aria-hidden": true }, "*"))),
21
+ React.createElement(Trans, null, "Version"),
22
+ ' ',
23
+ React.createElement("span", { className: "form-required", "aria-hidden": true }, "*")),
26
24
  React.createElement(NewProductVersionSelector, { selectedProduct: props.selectedProduct, onVersionChange: props.onVersionChange, versionState: props.version, isNextBtnClickedToShowValidationError: isNextBtnClickedToShowValidationError }))));
27
25
  });
28
26
  ProductVersionDropdownSelector.defaultProps = defaultProps;
@@ -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"}