@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.
- package/lib/esm/components/CaseEditView/CaseOverview/CaseOwnerInfo.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/CaseOverview/CaseOwnerInfo.js +2 -1
- package/lib/esm/components/CaseEditView/CaseOverview/index.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/CaseOverview/index.js +8 -3
- package/lib/esm/components/CaseEditView/RequestRemoteSession/RemoteSessionAgreement.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/RequestRemoteSession/RemoteSessionAgreement.js +3 -3
- package/lib/esm/components/CaseEditView/ShareCase/PartnerCaseHelper.js +2 -2
- package/lib/esm/components/CaseEditView/ShareCase/TnC.d.ts +0 -2
- package/lib/esm/components/CaseEditView/ShareCase/TnC.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/ShareCase/TnC.js +2 -20
- package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CaseDetailsManagement.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CaseDetailsManagement.js +2 -0
- package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CaseHostname.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CaseHostname.js +2 -1
- package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CasePhoneNumberSev1ConfirmAlert.d.ts +9 -0
- package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CasePhoneNumberSev1ConfirmAlert.d.ts.map +1 -0
- package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CasePhoneNumberSev1ConfirmAlert.js +69 -0
- package/lib/esm/components/CaseInformation/ContactPhoneNumber.js +1 -1
- package/lib/esm/components/CaseInformation/ContactPhoneNumberPopOver.d.ts.map +1 -1
- package/lib/esm/components/CaseInformation/ContactPhoneNumberPopOver.js +2 -1
- package/lib/esm/components/CaseInformation/FileDiag.d.ts +5 -1
- package/lib/esm/components/CaseInformation/FileDiag.d.ts.map +1 -1
- package/lib/esm/components/CaseInformation/FileDiag.js +2 -2
- package/lib/esm/components/CaseInformation/Severity.d.ts.map +1 -1
- package/lib/esm/components/CaseInformation/Severity.js +2 -1
- package/lib/esm/components/CaseInformation/SupportLevel.d.ts.map +1 -1
- package/lib/esm/components/CaseInformation/SupportLevel.js +2 -1
- package/lib/esm/components/CaseManagement/Cep.d.ts.map +1 -1
- package/lib/esm/components/CaseManagement/Cep.js +3 -3
- package/lib/esm/components/ProductSelector/ProductVersionDropdownSelector.d.ts.map +1 -1
- package/lib/esm/components/ProductSelector/ProductVersionDropdownSelector.js +6 -8
- package/lib/esm/components/Recommendations/CriticalSolutionsToast.d.ts.map +1 -1
- package/lib/esm/components/Recommendations/CriticalSolutionsToast.js +5 -2
- package/lib/esm/components/Recommendations/RecommendationFeedbackModal.js +1 -1
- package/lib/esm/components/Recommendations/RulesModal.d.ts.map +1 -1
- package/lib/esm/components/Recommendations/RulesModal.js +25 -9
- package/lib/esm/components/RemoteRider/RemoteRiderAcceptanceModal.d.ts.map +1 -1
- package/lib/esm/components/RemoteRider/RemoteRiderAcceptanceModal.js +2 -2
- package/lib/esm/components/TroubleshootSection/TroubleshootSection.d.ts.map +1 -1
- package/lib/esm/components/TroubleshootSection/TroubleshootSection.js +16 -11
- package/lib/esm/components/shared/fileUpload/FileLister.d.ts.map +1 -1
- package/lib/esm/components/shared/fileUpload/FileLister.js +2 -1
- package/lib/esm/components/wizardLayout/WizardAside.js +1 -1
- package/lib/esm/components/wizardLayout/WizardMain.js +1 -1
- package/lib/esm/components/wizardLayout/WizardNavigation.d.ts.map +1 -1
- package/lib/esm/components/wizardLayout/WizardNavigation.js +50 -4
- package/lib/esm/reducers/CaseConstNTypes.d.ts +1 -0
- package/lib/esm/reducers/CaseConstNTypes.d.ts.map +1 -1
- package/lib/esm/reducers/CaseConstNTypes.js +1 -0
- package/lib/esm/scss/_main.scss +22 -221
- package/lib/esm/scss/_pf4-overrides.scss +38 -13
- package/lib/esm/utils/remoteRiderUtils.d.ts.map +1 -1
- package/lib/esm/utils/remoteRiderUtils.js +2 -2
- package/package.json +8 -8
- package/lib/esm/constants/tncConstants.d.ts +0 -13
- package/lib/esm/constants/tncConstants.d.ts.map +0 -1
- 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;
|
|
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(
|
|
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":"
|
|
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(`
|
|
176
|
-
description: t('Are you sure you want to change
|
|
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"),
|
package/lib/esm/components/CaseEditView/RequestRemoteSession/RemoteSessionAgreement.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RemoteSessionAgreement.d.ts","sourceRoot":"","sources":["../../../../../src/components/CaseEditView/RequestRemoteSession/RemoteSessionAgreement.tsx"],"names":[],"mappings":"
|
|
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:
|
|
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 {
|
|
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;
|
|
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=${
|
|
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;
|
|
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":"
|
|
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(
|
|
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
|
package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CasePhoneNumberSev1ConfirmAlert.d.ts.map
ADDED
|
@@ -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("
|
|
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":"
|
|
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(
|
|
12
|
+
React.createElement(QuestionCircleIcon, { className: "pf-u-ml-xs icon-size", "aria-label": "Contact Phone Number Info" })));
|
|
12
13
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileDiag.d.ts","sourceRoot":"","sources":["../../../../src/components/CaseInformation/FileDiag.tsx"],"names":[],"mappings":"AAYA,wBAAgB,QAAQ,
|
|
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;
|
|
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(
|
|
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":"
|
|
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(
|
|
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":"
|
|
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(
|
|
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,
|
|
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(
|
|
16
|
-
|
|
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(
|
|
23
|
-
|
|
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;
|
|
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-
|
|
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":"
|
|
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"}
|