@rh-support/troubleshoot 2.6.85 → 2.6.86
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/ActiveCustomerEscalation/RequestEscalationModal.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/ActiveCustomerEscalation/RequestEscalationModal.js +32 -7
- package/lib/esm/components/CaseEditView/RequestRemoteSession/NewEssTermsModal.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/RequestRemoteSession/NewEssTermsModal.js +9 -1
- package/lib/esm/components/CaseEditView/RequestRemoteSession/RemoteSessionAgreementModal.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/RequestRemoteSession/RemoteSessionAgreementModal.js +9 -1
- package/lib/esm/components/CaseInformation/Fts.js +1 -1
- package/lib/esm/components/Review/Review.d.ts.map +1 -1
- package/lib/esm/components/Review/Review.js +6 -4
- package/package.json +2 -2
package/lib/esm/components/CaseEditView/ActiveCustomerEscalation/RequestEscalationModal.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RequestEscalationModal.d.ts","sourceRoot":"","sources":["../../../../../src/components/CaseEditView/ActiveCustomerEscalation/RequestEscalationModal.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"RequestEscalationModal.d.ts","sourceRoot":"","sources":["../../../../../src/components/CaseEditView/ActiveCustomerEscalation/RequestEscalationModal.tsx"],"names":[],"mappings":"AAuCA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAqBnD,UAAU,MAAM;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,OAAO,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,IAAI,CAAC;CACvB;AAID,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,qBAk3BnD"}
|
|
@@ -8,7 +8,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
8
8
|
});
|
|
9
9
|
};
|
|
10
10
|
import { escalations, publicApi } from '@cee-eng/hydrajs';
|
|
11
|
-
import { Button, Form, FormGroup, FormHelperText, Grid, GridItem, HelperText, HelperTextItem, Modal, ModalBody, ModalHeader, ModalVariant, Radio, TextArea, TextInput, TimePicker, Title, ValidatedOptions, Wizard, WizardStep, } from '@patternfly/react-core';
|
|
11
|
+
import { Button, Form, FormGroup, FormHelperText, Grid, GridItem, HelperText, HelperTextItem, Modal, ModalBody, ModalHeader, ModalVariant, Radio, TextArea, TextInput, TimePicker, Title, ValidatedOptions, Wizard, WizardNav, WizardNavItem, WizardStep, } from '@patternfly/react-core';
|
|
12
12
|
import { AlertMessage, AlertType, PhoneInput, SingleSelectDropdown, ToastNotification, useFetch, } from '@rh-support/components';
|
|
13
13
|
import { useGlobalStateContext } from '@rh-support/react-context';
|
|
14
14
|
import isEmpty from 'lodash/isEmpty';
|
|
@@ -47,6 +47,7 @@ export function RequestEscalationModal(props) {
|
|
|
47
47
|
const [formState, setFormState] = useState(initialState);
|
|
48
48
|
const [hasLargeSubject, setHasLargeSubject] = useState(false);
|
|
49
49
|
const [submitButtonIsClicked, setSubmitSaveButtonIsClicked] = useState(false);
|
|
50
|
+
const [isPhoneInvalid, setIsPhoneInvalid] = useState(false);
|
|
50
51
|
// Function to check if "to" time is after "from" time
|
|
51
52
|
const isValidTimeRange = (fromTime, toTime) => {
|
|
52
53
|
if (!fromTime || !toTime)
|
|
@@ -80,7 +81,9 @@ export function RequestEscalationModal(props) {
|
|
|
80
81
|
if ((formState.contactPreference === 'call-me' || formState.contactPreference === 'call-if-necessary') &&
|
|
81
82
|
formState.preferredTimeFrom &&
|
|
82
83
|
formState.preferredTimeTo) {
|
|
83
|
-
return hasAllFields &&
|
|
84
|
+
return (hasAllFields &&
|
|
85
|
+
isValidTimeRange(formState.preferredTimeFrom, formState.preferredTimeTo) &&
|
|
86
|
+
!isPhoneInvalid);
|
|
84
87
|
}
|
|
85
88
|
return hasAllFields;
|
|
86
89
|
};
|
|
@@ -126,6 +129,7 @@ export function RequestEscalationModal(props) {
|
|
|
126
129
|
setSubmitSaveButtonIsClicked(false);
|
|
127
130
|
setFormState(initialState);
|
|
128
131
|
setHasLargeSubject(false);
|
|
132
|
+
setIsPhoneInvalid(false);
|
|
129
133
|
props.onClose();
|
|
130
134
|
};
|
|
131
135
|
const onSubmit = () => __awaiter(this, void 0, void 0, function* () {
|
|
@@ -210,6 +214,7 @@ export function RequestEscalationModal(props) {
|
|
|
210
214
|
setFormState(initialState);
|
|
211
215
|
setSubmitSaveButtonIsClicked(false);
|
|
212
216
|
setHasLargeSubject(false);
|
|
217
|
+
setIsPhoneInvalid(false);
|
|
213
218
|
setCreationError(false);
|
|
214
219
|
props.onClose();
|
|
215
220
|
}
|
|
@@ -280,6 +285,7 @@ export function RequestEscalationModal(props) {
|
|
|
280
285
|
if (formState.contactPreference === 'call-me' || formState.contactPreference === 'call-if-necessary') {
|
|
281
286
|
return (baseValidation &&
|
|
282
287
|
!isEmpty(formState.phoneNumber) &&
|
|
288
|
+
!isPhoneInvalid &&
|
|
283
289
|
!isEmpty(formState.preferredTimeFrom) &&
|
|
284
290
|
!isEmpty(formState.preferredTimeTo));
|
|
285
291
|
}
|
|
@@ -344,6 +350,21 @@ export function RequestEscalationModal(props) {
|
|
|
344
350
|
React.createElement(TextArea, { onChange: (e, value) => setFormStateValue('businessImpactDescription', value), isRequired: true, validated: submitButtonIsClicked && isEmpty(formState.businessImpactDescription)
|
|
345
351
|
? ValidatedOptions.error
|
|
346
352
|
: ValidatedOptions.default, placeholder: t('Does your business impact change with this escalation? Please describe how it changed.'), id: "business-impact-input", value: formState.businessImpactDescription, "aria-label": t('Business impact'), resizeOrientation: "vertical" }))))))));
|
|
353
|
+
// Check if first step is completed
|
|
354
|
+
const isFirstStepComplete = () => {
|
|
355
|
+
return (!isEmpty(formState.rmeCategory) &&
|
|
356
|
+
!isEmpty(formState.geo) &&
|
|
357
|
+
!isEmpty(formState.subject) &&
|
|
358
|
+
!hasLargeSubject &&
|
|
359
|
+
!isEmpty(formState.description) &&
|
|
360
|
+
!isEmpty(formState.expectations) &&
|
|
361
|
+
!isEmpty(formState.businessImpactDescription));
|
|
362
|
+
};
|
|
363
|
+
const customNav = (isExpanded, steps, activeStep, goToStepByIndex) => (React.createElement(WizardNav, { isExpanded: isExpanded }, steps.map((step, index) => {
|
|
364
|
+
// Disable the second step if first step is not complete
|
|
365
|
+
const isDisabled = step.id === 'contact-details' && !isFirstStepComplete();
|
|
366
|
+
return (React.createElement(WizardNavItem, { key: step.id, id: step.id, content: step.name, isCurrent: activeStep.id === step.id, isDisabled: isDisabled, stepIndex: step.index, onClick: () => !isDisabled && goToStepByIndex(step.index) }));
|
|
367
|
+
})));
|
|
347
368
|
const contactDetailsStep = (React.createElement(WizardStep, { id: "contact-details", name: t('Contact details') },
|
|
348
369
|
React.createElement("div", { className: "wizard-step-content" },
|
|
349
370
|
React.createElement(Title, { headingLevel: "h2", size: "2xl", className: "pf-v6-u-mb-lg" }, t('Contact details')),
|
|
@@ -386,15 +407,19 @@ export function RequestEscalationModal(props) {
|
|
|
386
407
|
React.createElement(FormGroup, { label: React.createElement(React.Fragment, null,
|
|
387
408
|
t("Case owner's phone number"),
|
|
388
409
|
" "), isRequired: true, fieldId: "phone-number" },
|
|
389
|
-
React.createElement(PhoneInput, { phoneValue: formState.phoneNumber || '', countryCode: ((_a = formState.countryCode) === null || _a === void 0 ? void 0 : _a.replace('+', '')) || '', onPhoneValueChange: (phone) => setFormState(Object.assign(Object.assign({}, formState), { phoneNumber: phone })), onCountryCodeChange: (code) => setFormState(Object.assign(Object.assign({}, formState), { countryCode: code })), validations: submitButtonIsClicked && isEmpty(formState.phoneNumber)
|
|
410
|
+
React.createElement(PhoneInput, { phoneValue: formState.phoneNumber || '', countryCode: ((_a = formState.countryCode) === null || _a === void 0 ? void 0 : _a.replace('+', '')) || '', onPhoneValueChange: (phone) => setFormState(Object.assign(Object.assign({}, formState), { phoneNumber: phone })), onCountryCodeChange: (code) => setFormState(Object.assign(Object.assign({}, formState), { countryCode: code })), validations: (submitButtonIsClicked && isEmpty(formState.phoneNumber)) ||
|
|
411
|
+
isPhoneInvalid
|
|
390
412
|
? 'error'
|
|
391
|
-
: 'default', isDisabled: false }),
|
|
413
|
+
: 'default', isDisabled: false, invalid: isPhoneInvalid, setInvalid: setIsPhoneInvalid }),
|
|
392
414
|
React.createElement(FormHelperText, null,
|
|
393
415
|
React.createElement(HelperText, null,
|
|
394
416
|
React.createElement(HelperTextItem, { variant: "default" }, t('Note: A current phone/mobile number with the country code helps us support you better. Phone number will be stored in case comments for escalation only – not used for marketing.')))),
|
|
395
|
-
submitButtonIsClicked && isEmpty(formState.phoneNumber) && (React.createElement(FormHelperText, null,
|
|
417
|
+
submitButtonIsClicked && isEmpty(formState.phoneNumber) && !isPhoneInvalid && (React.createElement(FormHelperText, null,
|
|
418
|
+
React.createElement(HelperText, null,
|
|
419
|
+
React.createElement(HelperTextItem, { variant: ValidatedOptions.error }, t('Phone number is required'))))),
|
|
420
|
+
isPhoneInvalid && (React.createElement(FormHelperText, null,
|
|
396
421
|
React.createElement(HelperText, null,
|
|
397
|
-
React.createElement(HelperTextItem, { variant: ValidatedOptions.error }, t('Phone number
|
|
422
|
+
React.createElement(HelperTextItem, { variant: ValidatedOptions.error }, t('Phone number can only have digits.'))))))),
|
|
398
423
|
React.createElement(GridItem, { span: 12 },
|
|
399
424
|
React.createElement(FormGroup, { label: React.createElement(React.Fragment, null,
|
|
400
425
|
t('Timezone'),
|
|
@@ -444,7 +469,7 @@ export function RequestEscalationModal(props) {
|
|
|
444
469
|
React.createElement(Trans, null, "Learn more about escalation cases."))),
|
|
445
470
|
React.createElement(ModalBody, null,
|
|
446
471
|
creationError && (React.createElement(AlertMessage, { variant: AlertType.DANGER, title: t('Could not create case escalation'), show: creationError, onClose: onErrorClose, isInline: true, className: "pf-v6-u-mb-md", "aria-label": t('Could not create case escalation') })),
|
|
447
|
-
React.createElement(Wizard, { navAriaLabel: t('Escalation request steps'), footer: CustomFooter },
|
|
472
|
+
React.createElement(Wizard, { navAriaLabel: t('Escalation request steps'), footer: CustomFooter, nav: customNav },
|
|
448
473
|
escalationDetailsStep,
|
|
449
474
|
contactDetailsStep))));
|
|
450
475
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NewEssTermsModal.d.ts","sourceRoot":"","sources":["../../../../../src/components/CaseEditView/RequestRemoteSession/NewEssTermsModal.tsx"],"names":[],"mappings":"AAiBA,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAExD,OAAO,KAA8B,MAAM,OAAO,CAAC;AAYnD,UAAU,MAAM;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,OAAO,CAAC;IACd,kBAAkB,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAClD,QAAQ,EAAE,OAAO,CAAC;CACrB;
|
|
1
|
+
{"version":3,"file":"NewEssTermsModal.d.ts","sourceRoot":"","sources":["../../../../../src/components/CaseEditView/RequestRemoteSession/NewEssTermsModal.tsx"],"names":[],"mappings":"AAiBA,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAExD,OAAO,KAA8B,MAAM,OAAO,CAAC;AAYnD,UAAU,MAAM;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,OAAO,CAAC;IACd,kBAAkB,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAClD,QAAQ,EAAE,OAAO,CAAC;CACrB;AA4BD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,qBAmY7C"}
|
|
@@ -35,6 +35,14 @@ const getLocaleNameFromLocalCode = (localeCode) => {
|
|
|
35
35
|
}
|
|
36
36
|
return localeCode;
|
|
37
37
|
};
|
|
38
|
+
const formatSessionLinks = (sessionLink) => {
|
|
39
|
+
const links = sessionLink
|
|
40
|
+
.split(/[;,| \n\r\t]+/)
|
|
41
|
+
.map((link) => link.trim())
|
|
42
|
+
.filter(Boolean);
|
|
43
|
+
const formattedLinks = links.map((link) => `[${link}](${link})`).join('\n');
|
|
44
|
+
return formattedLinks;
|
|
45
|
+
};
|
|
38
46
|
export function NewEssTermsModal(props) {
|
|
39
47
|
const { t } = useTranslation();
|
|
40
48
|
const { remoteSessionTermsAcked } = useCaseSelector((state) => ({
|
|
@@ -119,7 +127,7 @@ export function NewEssTermsModal(props) {
|
|
|
119
127
|
};
|
|
120
128
|
// Function to ack remote session terms and post comment
|
|
121
129
|
const submitRemoteSessionAgreement = (pdfId) => __awaiter(this, void 0, void 0, function* () {
|
|
122
|
-
const requestComment = t(`\n**Thank you for submitting the request for a remote session. A support manager will review the request, and updates will be provided in the support case. Please continue to provide any data requested by the support engineers in the case prior to the remote session (if applicable).**\n\nSubmitted a remote session request with following details:\n\n**Preferred Time and Expectations of remote session**\n${sessionExpectations}\n\n**Describe the impact to you or the business**\n${impact}\n\n${sessionLink ? `**Remote session link**\n${sessionLink}\n\n` : ''}This action does not initiate a remote session. A Red Hat Associate will get back to you soon.`);
|
|
130
|
+
const requestComment = t(`\n**Thank you for submitting the request for a remote session. A support manager will review the request, and updates will be provided in the support case. Please continue to provide any data requested by the support engineers in the case prior to the remote session (if applicable).**\n\nSubmitted a remote session request with following details:\n\n**Preferred Time and Expectations of remote session**\n${sessionExpectations}\n\n**Describe the impact to you or the business**\n${impact}\n\n${sessionLink ? `**Remote session link**\n${formatSessionLinks(sessionLink)}\n\n` : ''}This action does not initiate a remote session. A Red Hat Associate will get back to you soon.`);
|
|
123
131
|
try {
|
|
124
132
|
yield updateCaseDetails(caseDispatch, props.caseNumber, {
|
|
125
133
|
remoteSessionTermsAcked: true,
|
package/lib/esm/components/CaseEditView/RequestRemoteSession/RemoteSessionAgreementModal.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RemoteSessionAgreementModal.d.ts","sourceRoot":"","sources":["../../../../../src/components/CaseEditView/RequestRemoteSession/RemoteSessionAgreementModal.tsx"],"names":[],"mappings":"AAiBA,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAExD,OAAO,KAA8B,MAAM,OAAO,CAAC;AAgBnD,UAAU,MAAM;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,OAAO,CAAC;IACd,kBAAkB,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAClD,QAAQ,EAAE,OAAO,CAAC;CACrB;
|
|
1
|
+
{"version":3,"file":"RemoteSessionAgreementModal.d.ts","sourceRoot":"","sources":["../../../../../src/components/CaseEditView/RequestRemoteSession/RemoteSessionAgreementModal.tsx"],"names":[],"mappings":"AAiBA,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAExD,OAAO,KAA8B,MAAM,OAAO,CAAC;AAgBnD,UAAU,MAAM;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,OAAO,CAAC;IACd,kBAAkB,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAClD,QAAQ,EAAE,OAAO,CAAC;CACrB;AA4BD,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,MAAM,qBA0XxD"}
|
|
@@ -35,6 +35,14 @@ const getLocaleNameFromLocalCode = (localeCode) => {
|
|
|
35
35
|
}
|
|
36
36
|
return localeCode;
|
|
37
37
|
};
|
|
38
|
+
const formatSessionLinks = (sessionLink) => {
|
|
39
|
+
const links = sessionLink
|
|
40
|
+
.split(/[;,| \n\r\t]+/)
|
|
41
|
+
.map((link) => link.trim())
|
|
42
|
+
.filter(Boolean);
|
|
43
|
+
const formattedLinks = links.map((link) => `[${link}](${link})`).join('\n');
|
|
44
|
+
return formattedLinks;
|
|
45
|
+
};
|
|
38
46
|
export function RemoteSessionAgreementModal(props) {
|
|
39
47
|
const { t } = useTranslation();
|
|
40
48
|
const { remoteSessionTermsAcked } = useCaseSelector((state) => ({
|
|
@@ -109,7 +117,7 @@ export function RemoteSessionAgreementModal(props) {
|
|
|
109
117
|
const toggleRemoteSessionForm = () => setIsRemoteSessionForm(true);
|
|
110
118
|
// Function to ack remote session terms and post comment
|
|
111
119
|
const submitRemoteSessionAgreement = (pdfId) => __awaiter(this, void 0, void 0, function* () {
|
|
112
|
-
const requestComment = t(`\n**Thank you for submitting the request for a remote session. A support manager will review the request, and updates will be provided in the support case. Please continue to provide any data requested by the support engineers in the case prior to the remote session (if applicable).**\n\nSubmitted a remote session request with following details:\n\n**Preferred Time and Expectations of remote session**\n${sessionExpectations}\n\n**Describe the impact to you or the business**\n${impact}\n\n${sessionLink ? `**Remote session link**\n${sessionLink}\n\n` : ''}This action does not initiate a remote session. A Red Hat Associate will get back to you soon.`);
|
|
120
|
+
const requestComment = t(`\n**Thank you for submitting the request for a remote session. A support manager will review the request, and updates will be provided in the support case. Please continue to provide any data requested by the support engineers in the case prior to the remote session (if applicable).**\n\nSubmitted a remote session request with following details:\n\n**Preferred Time and Expectations of remote session**\n${sessionExpectations}\n\n**Describe the impact to you or the business**\n${impact}\n\n${sessionLink ? `**Remote session link**\n${formatSessionLinks(sessionLink)}\n\n` : ''}This action does not initiate a remote session. A Red Hat Associate will get back to you soon.`);
|
|
113
121
|
try {
|
|
114
122
|
yield updateCaseDetails(caseDispatch, props.caseNumber, {
|
|
115
123
|
remoteSessionTermsAcked: true,
|
|
@@ -154,7 +154,7 @@ function Fts(props) {
|
|
|
154
154
|
const maxLengthErrorMessage = t('Contact information cannot be more than {{limit}} characters.', {
|
|
155
155
|
limit: CONTACT_INFO_24X7_LIMIT,
|
|
156
156
|
});
|
|
157
|
-
if (isEmpty(caseNumber) && !showFtsOnCreateCasePage(entitlementSla, severity))
|
|
157
|
+
if (isEmpty(caseNumber) && (!showFtsOnCreateCasePage(entitlementSla, severity) || isIdea))
|
|
158
158
|
return React.createElement(React.Fragment, null);
|
|
159
159
|
if (!isEmpty(caseNumber) && (isIdea || !showFtsOnCaseViewEditPage(entitlementSla, severity)))
|
|
160
160
|
return React.createElement(React.Fragment, null);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Review.d.ts","sourceRoot":"","sources":["../../../../src/components/Review/Review.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Review.d.ts","sourceRoot":"","sources":["../../../../src/components/Review/Review.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAIvD,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAqBlE,UAAU,MAAM;IACZ,UAAU,EAAE,mBAAmB,CAAC,eAAe,CAAC,CAAC;CACpD;AACD,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,KAAK,EAAE,MAAM,qBA2E3C"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Grid, GridItem } from '@patternfly/react-core';
|
|
2
2
|
import { AbilityContext, CaseDetailsFields, resourceActions, resources } from '@rh-support/user-permissions';
|
|
3
|
+
import { PreviousCaseTypes } from '@rh-support/utils';
|
|
3
4
|
import isEmpty from 'lodash/isEmpty';
|
|
4
5
|
import isEqual from 'lodash/isEqual';
|
|
5
6
|
import React, { useContext } from 'react';
|
|
@@ -26,9 +27,10 @@ import { AllProductsSelector } from '../ProductSelector/AllProductsSelector';
|
|
|
26
27
|
import { EARuleWidget } from '../Recommendations/EARules/EARuleWidget';
|
|
27
28
|
export default function Review(props) {
|
|
28
29
|
const caseDispatch = useCaseDispatch();
|
|
29
|
-
const { contactInfo24x7, ABTestVariation } = useCaseSelector((state) => ({
|
|
30
|
+
const { contactInfo24x7, ABTestVariation, caseType } = useCaseSelector((state) => ({
|
|
30
31
|
contactInfo24x7: state.caseDetails.contactInfo24x7,
|
|
31
32
|
ABTestVariation: state.ABTestVariation,
|
|
33
|
+
caseType: state.caseDetails.caseType,
|
|
32
34
|
}), isEqual);
|
|
33
35
|
const ability = useContext(AbilityContext);
|
|
34
36
|
const canSeeEmailNotifications = ability.can(resourceActions.PATCH, resources.CASE_DETAILS, CaseDetailsFields.CASE_DETAILS_SEND_NOTIFICATIONS);
|
|
@@ -43,9 +45,9 @@ export default function Review(props) {
|
|
|
43
45
|
React.createElement(OwnerSelector, null),
|
|
44
46
|
React.createElement(AllProductsSelector, { routeProps: props.routeProps, loadTCOnChange: true, showTCAfterButtonClicked: true, checkEntitledProduct: true, isOnReviewPage: true }),
|
|
45
47
|
React.createElement(OpenShiftClusterId, null),
|
|
46
|
-
React.createElement(Hostname, null),
|
|
47
|
-
React.createElement(KtQuestions, { inlineEditable: true, hideSaveCancel: true }),
|
|
48
|
-
React.createElement(CaseType,
|
|
48
|
+
caseType !== PreviousCaseTypes.FEATURE_ENHANCEMENT && React.createElement(Hostname, null),
|
|
49
|
+
React.createElement(KtQuestions, { inlineEditable: true, hideSaveCancel: true, onlyShowKT4: caseType === PreviousCaseTypes.FEATURE_ENHANCEMENT }),
|
|
50
|
+
React.createElement(CaseType, null),
|
|
49
51
|
React.createElement(SupportLevel, null),
|
|
50
52
|
React.createElement(Grid, { hasGutter: true },
|
|
51
53
|
React.createElement(GridItem, { span: 12, xl2: 6, className: "pf-v6-u-mb-xl" },
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rh-support/troubleshoot",
|
|
3
|
-
"version": "2.6.
|
|
3
|
+
"version": "2.6.86",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public",
|
|
6
6
|
"registry": "https://registry.npmjs.org"
|
|
@@ -133,5 +133,5 @@
|
|
|
133
133
|
"defaults and supports es6-module",
|
|
134
134
|
"maintained node versions"
|
|
135
135
|
],
|
|
136
|
-
"gitHead": "
|
|
136
|
+
"gitHead": "836dabccddb3dee8d78da2cb88f51f1120596bf6"
|
|
137
137
|
}
|