@rh-support/troubleshoot 2.6.81 → 2.6.83
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 +299 -49
- package/lib/esm/components/SubmitCase/SubmitCase.d.ts.map +1 -1
- package/lib/esm/components/SubmitCase/SubmitCase.js +5 -1
- package/lib/esm/reducers/CaseConstNTypes.d.ts +13 -0
- package/lib/esm/reducers/CaseConstNTypes.d.ts.map +1 -1
- package/lib/esm/reducers/CaseConstNTypes.js +12 -0
- package/lib/esm/scss/_pf-overrides.scss +201 -25
- 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":"AAoCA,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,qBA4zBnD"}
|
|
@@ -8,9 +8,8 @@ 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,
|
|
12
|
-
import
|
|
13
|
-
import { AlertMessage, AlertType, LoadingIndicator, SingleSelectDropdown, ToastNotification, useFetch, } from '@rh-support/components';
|
|
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';
|
|
12
|
+
import { AlertMessage, AlertType, PhoneInput, SingleSelectDropdown, ToastNotification, useFetch, } from '@rh-support/components';
|
|
14
13
|
import { useGlobalStateContext } from '@rh-support/react-context';
|
|
15
14
|
import isEmpty from 'lodash/isEmpty';
|
|
16
15
|
import React, { useEffect, useState } from 'react';
|
|
@@ -19,12 +18,13 @@ import { useCaseDispatch } from '../../../context/CaseContext';
|
|
|
19
18
|
import { useCaseDetailsPageDispatchContext, useCaseDetailsPageStateContext, } from '../../../context/CaseDetailsPageContext';
|
|
20
19
|
import { useCaseDiscussionTabDispatchContext, useCaseDiscussionTabStateContext, } from '../../../context/CaseDiscussionTabContext';
|
|
21
20
|
import { CustomerGEOs } from '../../../enums/customerGEOs';
|
|
22
|
-
import { ESCALATION_SUBJECT_LENGTH_LIMIT } from '../../../reducers/CaseConstNTypes';
|
|
21
|
+
import { ESCALATION_SUBJECT_LENGTH_LIMIT, TIMEZONE_OPTIONS, } from '../../../reducers/CaseConstNTypes';
|
|
23
22
|
import { fetchCaseEscalations } from '../../../reducers/CaseDetailsPageReducer';
|
|
24
23
|
import { updateDiscussionStateComments } from '../../../reducers/CaseDiscussionTabReducer';
|
|
25
24
|
import { checkForCaseStatusToggleOnAttachOrComment, fetchCaseDetails } from '../../../reducers/CaseReducer';
|
|
26
25
|
const customerGEOKeys = Object.keys(CustomerGEOs);
|
|
27
26
|
export function RequestEscalationModal(props) {
|
|
27
|
+
var _a;
|
|
28
28
|
const { globalMetadataState: { loggedInUser, loggedInUserRights }, } = useGlobalStateContext();
|
|
29
29
|
const { t } = useTranslation();
|
|
30
30
|
const [categories, setCategories] = useState([]);
|
|
@@ -35,12 +35,55 @@ export function RequestEscalationModal(props) {
|
|
|
35
35
|
geo: '',
|
|
36
36
|
businessImpactDescription: '',
|
|
37
37
|
rmeCategory: '',
|
|
38
|
+
contactName: '',
|
|
39
|
+
contactTitle: '',
|
|
40
|
+
contactPreference: '',
|
|
41
|
+
countryCode: '',
|
|
42
|
+
phoneNumber: '',
|
|
43
|
+
timezone: '',
|
|
44
|
+
preferredTimeFrom: '',
|
|
45
|
+
preferredTimeTo: '',
|
|
38
46
|
};
|
|
39
47
|
const [formState, setFormState] = useState(initialState);
|
|
40
48
|
const [hasLargeSubject, setHasLargeSubject] = useState(false);
|
|
41
49
|
const [submitButtonIsClicked, setSubmitSaveButtonIsClicked] = useState(false);
|
|
50
|
+
// Function to check if "to" time is after "from" time
|
|
51
|
+
const isValidTimeRange = (fromTime, toTime) => {
|
|
52
|
+
if (!fromTime || !toTime)
|
|
53
|
+
return true; // Don't validate if either is empty
|
|
54
|
+
// Convert time strings to comparable numbers (HH:MM -> HHMM)
|
|
55
|
+
const fromMinutes = fromTime.split(':').map(Number);
|
|
56
|
+
const toMinutes = toTime.split(':').map(Number);
|
|
57
|
+
if (fromMinutes.length !== 2 || toMinutes.length !== 2)
|
|
58
|
+
return true;
|
|
59
|
+
const fromTotal = fromMinutes[0] * 60 + fromMinutes[1];
|
|
60
|
+
const toTotal = toMinutes[0] * 60 + toMinutes[1];
|
|
61
|
+
return toTotal > fromTotal;
|
|
62
|
+
};
|
|
42
63
|
// checks if all the fields have values.
|
|
43
|
-
const hasRequiredInfo = () =>
|
|
64
|
+
const hasRequiredInfo = () => {
|
|
65
|
+
const requiredFields = [
|
|
66
|
+
'subject',
|
|
67
|
+
'description',
|
|
68
|
+
'expectations',
|
|
69
|
+
'geo',
|
|
70
|
+
'businessImpactDescription',
|
|
71
|
+
'rmeCategory',
|
|
72
|
+
'contactName',
|
|
73
|
+
'contactTitle',
|
|
74
|
+
'contactPreference',
|
|
75
|
+
];
|
|
76
|
+
if (formState.contactPreference === 'call-me' || formState.contactPreference === 'call-if-necessary') {
|
|
77
|
+
requiredFields.push('phoneNumber', 'timezone', 'preferredTimeFrom', 'preferredTimeTo');
|
|
78
|
+
}
|
|
79
|
+
const hasAllFields = requiredFields.every((field) => formState[field] && formState[field].toString().trim().length > 0);
|
|
80
|
+
if ((formState.contactPreference === 'call-me' || formState.contactPreference === 'call-if-necessary') &&
|
|
81
|
+
formState.preferredTimeFrom &&
|
|
82
|
+
formState.preferredTimeTo) {
|
|
83
|
+
return hasAllFields && isValidTimeRange(formState.preferredTimeFrom, formState.preferredTimeTo);
|
|
84
|
+
}
|
|
85
|
+
return hasAllFields;
|
|
86
|
+
};
|
|
44
87
|
const setFormStateValue = (key, value) => setFormState((pre) => (Object.assign(Object.assign({}, pre), { [key]: value })));
|
|
45
88
|
const createEscalationFetch = useFetch(escalations.createIceEscalation, { propgateErrors: true });
|
|
46
89
|
const { request: postCommentRequest, isFetching: isPostingComment } = useFetch(publicApi.kase.postComment, {
|
|
@@ -90,14 +133,72 @@ export function RequestEscalationModal(props) {
|
|
|
90
133
|
if (!hasRequiredInfo() || hasLargeSubject)
|
|
91
134
|
return;
|
|
92
135
|
try {
|
|
93
|
-
|
|
94
|
-
|
|
136
|
+
let contactDetailsString = '\n\n--- Contact Details ---';
|
|
137
|
+
contactDetailsString += `\nName: ${formState.contactName}`;
|
|
138
|
+
contactDetailsString += `\nTitle: ${formState.contactTitle}`;
|
|
139
|
+
const contactPrefMap = {
|
|
140
|
+
'call-me': 'Call me',
|
|
141
|
+
'call-if-necessary': 'Call only if necessary',
|
|
142
|
+
'do-not-call': 'Do not call',
|
|
143
|
+
};
|
|
144
|
+
contactDetailsString += `\nContact Preference: ${formState.contactPreference
|
|
145
|
+
? contactPrefMap[formState.contactPreference] || formState.contactPreference
|
|
146
|
+
: ''}`;
|
|
147
|
+
if (formState.contactPreference === 'call-me' || formState.contactPreference === 'call-if-necessary') {
|
|
148
|
+
contactDetailsString += `\nPhone Number: ${formState.phoneNumber}`;
|
|
149
|
+
contactDetailsString += `\nTimezone: ${formState.timezone}`;
|
|
150
|
+
contactDetailsString += `\nPreferred Time to Call: ${formState.preferredTimeFrom} to ${formState.preferredTimeTo}`;
|
|
151
|
+
}
|
|
152
|
+
const enhancedDescription = formState.description + contactDetailsString;
|
|
153
|
+
// Use contact phone if provided, otherwise use logged in user's phone
|
|
154
|
+
const requestorPhone = (formState.contactPreference === 'call-me' || formState.contactPreference === 'call-if-necessary') &&
|
|
155
|
+
formState.phoneNumber
|
|
156
|
+
? formState.phoneNumber
|
|
157
|
+
: loggedInUser.data.phone;
|
|
158
|
+
const res = yield createEscalationFetch.request({
|
|
159
|
+
subject: formState.subject,
|
|
160
|
+
description: enhancedDescription,
|
|
161
|
+
expectations: formState.expectations,
|
|
162
|
+
geo: formState.geo,
|
|
163
|
+
businessImpactDescription: formState.businessImpactDescription,
|
|
164
|
+
rmeCategory: formState.rmeCategory,
|
|
165
|
+
recordType: 'Active Customer Escalation',
|
|
166
|
+
escalationSource: 'RME Escalation',
|
|
167
|
+
status: 'New',
|
|
168
|
+
accountNumber: loggedInUserRights.data.getAccountNumber(),
|
|
169
|
+
caseNumber: props.caseNumber,
|
|
170
|
+
requestor: formState.contactName || `${loggedInUser.data.firstName} ${loggedInUser.data.lastName}`,
|
|
171
|
+
requestorEmail: loggedInUser.data.email,
|
|
172
|
+
requestorPhone: requestorPhone,
|
|
173
|
+
alreadyEscalated: false,
|
|
174
|
+
severity: props.severity ? props.severity.charAt(0) : '3',
|
|
175
|
+
});
|
|
176
|
+
const formattedContactPreference = formState.contactPreference
|
|
177
|
+
? contactPrefMap[formState.contactPreference] || formState.contactPreference
|
|
178
|
+
: '';
|
|
179
|
+
// Format time to 12-hour format
|
|
180
|
+
const formatTime = (time24) => {
|
|
181
|
+
if (!time24)
|
|
182
|
+
return '';
|
|
183
|
+
const [hours, minutes] = time24.split(':');
|
|
184
|
+
const hour = parseInt(hours);
|
|
185
|
+
const ampm = hour >= 12 ? 'pm' : 'am';
|
|
186
|
+
const hour12 = hour % 12 || 12;
|
|
187
|
+
return `${hour12}:${minutes}${ampm}`;
|
|
188
|
+
};
|
|
189
|
+
const fullComment = t('### Request Management Escalation:\n\n**Subject**\n{{subject}}\n\n**Category**\n{{rmeCategory}}\n\n**Description**\n{{description}}\n\n**Expectations**\n{{expectations}}\n\n**Business Impact**\n{{businessImpactDescription}}\n\n**Contact Preference**\n{{contactPreference}}{{phoneDetails}}\n\n', {
|
|
95
190
|
category: formState.rmeCategory,
|
|
96
191
|
subject: formState.subject,
|
|
97
192
|
description: formState.description,
|
|
98
193
|
expectations: formState.expectations,
|
|
99
194
|
businessImpactDescription: formState.businessImpactDescription,
|
|
100
195
|
rmeCategory: formState.rmeCategory,
|
|
196
|
+
contactName: formState.contactName || 'Not provided',
|
|
197
|
+
contactTitle: formState.contactTitle || 'Not provided',
|
|
198
|
+
contactPreference: formattedContactPreference || 'Not provided',
|
|
199
|
+
phoneDetails: formState.contactPreference === 'call-me' || formState.contactPreference === 'call-if-necessary'
|
|
200
|
+
? `\n\n**Case owner's phone number**\n${formState.phoneNumber}\nNote: Phone number will be stored in case comments for escalation only – not used for marketing.\n\n**Timezone**\n${formState.timezone}\n\n**Best time to connect regarding escalation**\nFrom ${formatTime(formState.preferredTimeFrom || '')} to ${formatTime(formState.preferredTimeTo || '')}`
|
|
201
|
+
: '',
|
|
101
202
|
});
|
|
102
203
|
try {
|
|
103
204
|
yield submitEscalationComment(res.name, fullComment);
|
|
@@ -105,6 +206,11 @@ export function RequestEscalationModal(props) {
|
|
|
105
206
|
catch (e) {
|
|
106
207
|
// silently fails, escalation is created but adding comment fails
|
|
107
208
|
}
|
|
209
|
+
// Reset form state before closing
|
|
210
|
+
setFormState(initialState);
|
|
211
|
+
setSubmitSaveButtonIsClicked(false);
|
|
212
|
+
setHasLargeSubject(false);
|
|
213
|
+
setCreationError(false);
|
|
108
214
|
props.onClose();
|
|
109
215
|
}
|
|
110
216
|
catch (error) {
|
|
@@ -112,11 +218,6 @@ export function RequestEscalationModal(props) {
|
|
|
112
218
|
setCreationError(true);
|
|
113
219
|
}
|
|
114
220
|
});
|
|
115
|
-
const header = (React.createElement(Title, { className: "pf-v6-u-mb-0", id: "custom-header-label", headingLevel: "h1" },
|
|
116
|
-
React.createElement(Trans, null, "Request an escalation"),
|
|
117
|
-
React.createElement(Popover, { showClose: false, position: 'top', hasAutoWidth: true, bodyContent: () => (React.createElement("a", { href: "/support/escalation", target: "_blank", "aria-label": t('Learn more about escalation cases.') },
|
|
118
|
-
React.createElement(Trans, null, "Learn more about escalation cases."))) },
|
|
119
|
-
React.createElement(InfoCircleIcon, { className: "pf-v6-u-ml-sm" }))));
|
|
120
221
|
// load rme categories as soon as user opens the modal
|
|
121
222
|
useEffect(() => {
|
|
122
223
|
if (!props.show || categories.length !== 0)
|
|
@@ -124,7 +225,7 @@ export function RequestEscalationModal(props) {
|
|
|
124
225
|
const fetchCategories = () => __awaiter(this, void 0, void 0, function* () {
|
|
125
226
|
try {
|
|
126
227
|
const categories = yield getRmeCategories();
|
|
127
|
-
setCategories((categories === null || categories === void 0 ? void 0 : categories.items) || []);
|
|
228
|
+
setCategories(((categories === null || categories === void 0 ? void 0 : categories.items) || []));
|
|
128
229
|
}
|
|
129
230
|
catch (e) {
|
|
130
231
|
console.log(e);
|
|
@@ -155,46 +256,195 @@ export function RequestEscalationModal(props) {
|
|
|
155
256
|
value: formState.geo,
|
|
156
257
|
label: findSelectedGeoLabel() || t('Select a location'),
|
|
157
258
|
};
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
259
|
+
// Create custom footer function for wizard
|
|
260
|
+
const CustomFooter = (activeStep, goToNextStep, goToPrevStep) => {
|
|
261
|
+
const isLastStep = activeStep.id === 'contact-details';
|
|
262
|
+
const isFirstStep = activeStep.id === 'escalation-details';
|
|
263
|
+
const isLoading = isPostingComment || isUpdatingCase || createEscalationFetch.isFetching;
|
|
264
|
+
// Validate current step
|
|
265
|
+
const isCurrentStepValid = () => {
|
|
266
|
+
if (activeStep.id === 'escalation-details') {
|
|
267
|
+
return (!isEmpty(formState.rmeCategory) &&
|
|
268
|
+
!isEmpty(formState.geo) &&
|
|
269
|
+
!isEmpty(formState.subject) &&
|
|
270
|
+
!hasLargeSubject &&
|
|
271
|
+
!isEmpty(formState.description) &&
|
|
272
|
+
!isEmpty(formState.expectations) &&
|
|
273
|
+
!isEmpty(formState.businessImpactDescription));
|
|
274
|
+
}
|
|
275
|
+
else if (activeStep.id === 'contact-details') {
|
|
276
|
+
const baseValidation = !isEmpty(formState.contactName) &&
|
|
277
|
+
!isEmpty(formState.contactTitle) &&
|
|
278
|
+
!isEmpty(formState.contactPreference);
|
|
279
|
+
// Additional validation if call options are selected
|
|
280
|
+
if (formState.contactPreference === 'call-me' || formState.contactPreference === 'call-if-necessary') {
|
|
281
|
+
return (baseValidation &&
|
|
282
|
+
!isEmpty(formState.phoneNumber) &&
|
|
283
|
+
!isEmpty(formState.preferredTimeFrom) &&
|
|
284
|
+
!isEmpty(formState.preferredTimeTo));
|
|
285
|
+
}
|
|
286
|
+
return baseValidation;
|
|
287
|
+
}
|
|
288
|
+
return false;
|
|
289
|
+
};
|
|
290
|
+
const handleNext = () => {
|
|
291
|
+
setSubmitSaveButtonIsClicked(true);
|
|
292
|
+
if (isCurrentStepValid()) {
|
|
293
|
+
setSubmitSaveButtonIsClicked(false); // Reset validation state when moving to next step
|
|
294
|
+
goToNextStep({});
|
|
295
|
+
}
|
|
296
|
+
};
|
|
297
|
+
const handleSubmit = () => {
|
|
298
|
+
setSubmitSaveButtonIsClicked(true);
|
|
299
|
+
if (isCurrentStepValid()) {
|
|
300
|
+
onSubmit();
|
|
301
|
+
}
|
|
302
|
+
};
|
|
303
|
+
return (React.createElement("div", { className: "pf-v6-c-wizard__footer" },
|
|
304
|
+
!isFirstStep && (React.createElement(Button, { variant: "secondary", onClick: () => {
|
|
305
|
+
setSubmitSaveButtonIsClicked(false);
|
|
306
|
+
goToPrevStep({});
|
|
307
|
+
}, isDisabled: isLoading, "data-tracking-id": "request-rme-back" }, t('Back'))),
|
|
308
|
+
React.createElement(Button, { variant: "primary", onClick: isLastStep ? handleSubmit : handleNext, isDisabled: isLoading || (submitButtonIsClicked && !isCurrentStepValid()), "data-tracking-id": isLastStep ? 'request-rme-submit' : 'request-rme-next' }, isLastStep ? t('Submit') : t('Next')),
|
|
309
|
+
React.createElement(Button, { variant: "link", onClick: onCancel, isDisabled: isLoading, "data-tracking-id": "request-rme-cancel" }, t('Cancel'))));
|
|
310
|
+
};
|
|
311
|
+
const escalationDetailsStep = (React.createElement(WizardStep, { id: "escalation-details", name: t('Escalation details') },
|
|
312
|
+
React.createElement("div", { className: "wizard-step-content" },
|
|
313
|
+
React.createElement(Title, { headingLevel: "h2", size: "2xl", className: "pf-v6-u-mb-lg" }, t('Escalation details')),
|
|
314
|
+
React.createElement(Form, { "aria-label": t('Escalation details form'), className: "request-escalation-form" },
|
|
315
|
+
React.createElement(Grid, { hasGutter: true },
|
|
166
316
|
React.createElement(GridItem, { span: 6 },
|
|
167
317
|
React.createElement(FormGroup, { isRequired: true, label: t('Category'), fieldId: "escalation-category" },
|
|
168
318
|
React.createElement(SingleSelectDropdown, { id: "customer-category-select", ariaLabel: t('Category'), selected: selectedCategory, options: categoryOptions, isDisabled: false, isLoading: isCategoriesFetching, isInvalid: submitButtonIsClicked && isEmpty(formState.rmeCategory), placeholder: t('Select an option that best fits'), onSelect: (option) => setCategoryState(option), isScrollable: true }))),
|
|
169
319
|
React.createElement(GridItem, { span: 6 },
|
|
170
320
|
React.createElement(FormGroup, { isRequired: true, label: t('My region'), fieldId: "escalation-region" },
|
|
171
321
|
React.createElement(SingleSelectDropdown, { ariaLabel: t('My region'), id: "customer-geo-select", selected: selectedGeo, options: geoOptions, isInvalid: submitButtonIsClicked && isEmpty(formState.geo), placeholder: t('Select a location'), onSelect: (option) => setGeoState(option) }))),
|
|
172
|
-
React.createElement(
|
|
173
|
-
|
|
174
|
-
React.createElement(
|
|
175
|
-
React.createElement(
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
React.createElement(
|
|
322
|
+
React.createElement(GridItem, { span: 12 },
|
|
323
|
+
React.createElement(FormGroup, { isRequired: true, label: t('Subject'), fieldId: "escalation-subject" },
|
|
324
|
+
submitButtonIsClicked && hasLargeSubject && (React.createElement(FormHelperText, null,
|
|
325
|
+
React.createElement(HelperText, null,
|
|
326
|
+
React.createElement(HelperTextItem, { variant: ValidatedOptions.error }, t('Subject cannot be more than {{limit}} characters', {
|
|
327
|
+
limit: ESCALATION_SUBJECT_LENGTH_LIMIT,
|
|
328
|
+
}))))),
|
|
329
|
+
React.createElement(TextInput, { isRequired: true, validated: (submitButtonIsClicked && isEmpty(formState.subject)) || hasLargeSubject
|
|
330
|
+
? ValidatedOptions.error
|
|
331
|
+
: ValidatedOptions.default, type: "text", placeholder: t('Enter a subject for your request'), id: "subject-input", name: "subject-input", value: formState.subject, onChange: (_event, subject) => onSubjectChange(subject), "aria-label": t('Subject') }))),
|
|
332
|
+
React.createElement(GridItem, { span: 12 },
|
|
333
|
+
React.createElement(FormGroup, { isRequired: true, label: t('Description'), fieldId: "escalation-description" },
|
|
334
|
+
React.createElement(TextArea, { value: formState.description, onChange: (e, value) => setFormStateValue('description', value), isRequired: true, validated: submitButtonIsClicked && isEmpty(formState.description)
|
|
335
|
+
? ValidatedOptions.error
|
|
336
|
+
: ValidatedOptions.default, "aria-label": t('Description'), id: "description-textarea", placeholder: t('Provide a detailed comment for us to best assist you'), resizeOrientation: "vertical" }))),
|
|
337
|
+
React.createElement(GridItem, { span: 12 },
|
|
338
|
+
React.createElement(FormGroup, { isRequired: true, label: t('Expectations'), fieldId: "escalation-expectations" },
|
|
339
|
+
React.createElement(TextArea, { onChange: (e, value) => setFormStateValue('expectations', value), isRequired: true, validated: submitButtonIsClicked && isEmpty(formState.expectations)
|
|
340
|
+
? ValidatedOptions.error
|
|
341
|
+
: ValidatedOptions.default, placeholder: t('What do you expect to happen with this escalation?'), id: "expectations-input", value: formState.expectations, "aria-label": t('Expectations'), resizeOrientation: "vertical" }))),
|
|
342
|
+
React.createElement(GridItem, { span: 12 },
|
|
343
|
+
React.createElement(FormGroup, { isRequired: true, label: t('Business impact'), fieldId: "escalation-business-impact" },
|
|
344
|
+
React.createElement(TextArea, { onChange: (e, value) => setFormStateValue('businessImpactDescription', value), isRequired: true, validated: submitButtonIsClicked && isEmpty(formState.businessImpactDescription)
|
|
345
|
+
? ValidatedOptions.error
|
|
346
|
+
: 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" }))))))));
|
|
347
|
+
const contactDetailsStep = (React.createElement(WizardStep, { id: "contact-details", name: t('Contact details') },
|
|
348
|
+
React.createElement("div", { className: "wizard-step-content" },
|
|
349
|
+
React.createElement(Title, { headingLevel: "h2", size: "2xl", className: "pf-v6-u-mb-lg" }, t('Contact details')),
|
|
350
|
+
React.createElement(Form, { "aria-label": t('Contact details form'), className: "request-escalation-form" },
|
|
351
|
+
React.createElement(Grid, { hasGutter: true },
|
|
352
|
+
React.createElement(GridItem, { span: 6 },
|
|
353
|
+
React.createElement(FormGroup, { label: React.createElement(React.Fragment, null,
|
|
354
|
+
t('Name'),
|
|
355
|
+
" "), isRequired: true, fieldId: "contact-name" },
|
|
356
|
+
React.createElement(TextInput, { type: "text", validated: submitButtonIsClicked && isEmpty(formState.contactName)
|
|
357
|
+
? ValidatedOptions.error
|
|
358
|
+
: ValidatedOptions.default, placeholder: t('Enter your name'), id: "contact-name", value: formState.contactName || '', onChange: (_e, value) => setFormState(Object.assign(Object.assign({}, formState), { contactName: value })), "aria-label": t('Contact name') }),
|
|
359
|
+
submitButtonIsClicked && isEmpty(formState.contactName) && (React.createElement(FormHelperText, null,
|
|
360
|
+
React.createElement(HelperText, null,
|
|
361
|
+
React.createElement(HelperTextItem, { variant: ValidatedOptions.error }, t('Name is required'))))))),
|
|
362
|
+
React.createElement(GridItem, { span: 6 },
|
|
363
|
+
React.createElement(FormGroup, { label: React.createElement(React.Fragment, null,
|
|
364
|
+
t('Title'),
|
|
365
|
+
" "), isRequired: true, fieldId: "contact-title" },
|
|
366
|
+
React.createElement(TextInput, { type: "text", validated: submitButtonIsClicked && isEmpty(formState.contactTitle)
|
|
367
|
+
? ValidatedOptions.error
|
|
368
|
+
: ValidatedOptions.default, placeholder: t('Enter your title (e.g. System Admin, DevOps, Project Man..)'), id: "contact-title", value: formState.contactTitle || '', onChange: (_e, value) => setFormState(Object.assign(Object.assign({}, formState), { contactTitle: value })), "aria-label": t('Contact title') }),
|
|
369
|
+
submitButtonIsClicked && isEmpty(formState.contactTitle) && (React.createElement(FormHelperText, null,
|
|
370
|
+
React.createElement(HelperText, null,
|
|
371
|
+
React.createElement(HelperTextItem, { variant: ValidatedOptions.error }, t('Title is required'))))))),
|
|
372
|
+
React.createElement(GridItem, { span: 12 },
|
|
373
|
+
React.createElement(FormGroup, { label: React.createElement(React.Fragment, null,
|
|
374
|
+
t('Contact preference'),
|
|
375
|
+
" "), isRequired: true, fieldId: "contact-preference", role: "radiogroup" },
|
|
376
|
+
React.createElement("div", { className: "pf-v6-u-display-flex pf-v6-u-flex-direction-row contact-preference-group" },
|
|
377
|
+
React.createElement(Radio, { id: "call-me", name: "contact-preference", label: t('Call me'), isChecked: formState.contactPreference === 'call-me', onChange: () => setFormState(Object.assign(Object.assign({}, formState), { contactPreference: 'call-me' })), className: "pf-v6-u-mr-lg" }),
|
|
378
|
+
React.createElement(Radio, { id: "call-if-necessary", name: "contact-preference", label: t('Call only if necessary'), isChecked: formState.contactPreference === 'call-if-necessary', onChange: () => setFormState(Object.assign(Object.assign({}, formState), { contactPreference: 'call-if-necessary' })), className: "pf-v6-u-mr-lg" }),
|
|
379
|
+
React.createElement(Radio, { id: "do-not-call", name: "contact-preference", label: t('Do not call'), isChecked: formState.contactPreference === 'do-not-call', onChange: () => setFormState(Object.assign(Object.assign({}, formState), { contactPreference: 'do-not-call', phoneNumber: '', timezone: '', preferredTimeFrom: '', preferredTimeTo: '' })) })),
|
|
380
|
+
submitButtonIsClicked && !formState.contactPreference && (React.createElement(FormHelperText, null,
|
|
381
|
+
React.createElement(HelperText, null,
|
|
382
|
+
React.createElement(HelperTextItem, { variant: ValidatedOptions.error }, t('Contact preference is required'))))))),
|
|
383
|
+
(formState.contactPreference === 'call-me' ||
|
|
384
|
+
formState.contactPreference === 'call-if-necessary') && (React.createElement(React.Fragment, null,
|
|
385
|
+
React.createElement(GridItem, { span: 12 },
|
|
386
|
+
React.createElement(FormGroup, { label: React.createElement(React.Fragment, null,
|
|
387
|
+
t("Case owner's phone number"),
|
|
388
|
+
" "), 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)
|
|
390
|
+
? 'error'
|
|
391
|
+
: 'default', isDisabled: false }),
|
|
392
|
+
React.createElement(FormHelperText, null,
|
|
393
|
+
React.createElement(HelperText, null,
|
|
394
|
+
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,
|
|
396
|
+
React.createElement(HelperText, null,
|
|
397
|
+
React.createElement(HelperTextItem, { variant: ValidatedOptions.error }, t('Phone number is required'))))))),
|
|
398
|
+
React.createElement(GridItem, { span: 12 },
|
|
399
|
+
React.createElement(FormGroup, { label: React.createElement(React.Fragment, null,
|
|
400
|
+
t('Timezone'),
|
|
401
|
+
" "), isRequired: true, fieldId: "timezone" },
|
|
402
|
+
React.createElement("div", { className: "timezone" },
|
|
403
|
+
React.createElement(SingleSelectDropdown, { selected: TIMEZONE_OPTIONS.find((opt) => opt.value === formState.timezone) || {
|
|
404
|
+
value: '',
|
|
405
|
+
label: 'Select timezone',
|
|
406
|
+
}, options: TIMEZONE_OPTIONS, onSelect: (option) => setFormState(Object.assign(Object.assign({}, formState), { timezone: option.value })), placeholder: t('Select timezone') })),
|
|
407
|
+
submitButtonIsClicked && isEmpty(formState.timezone) && (React.createElement(FormHelperText, null,
|
|
408
|
+
React.createElement(HelperText, null,
|
|
409
|
+
React.createElement(HelperTextItem, { variant: ValidatedOptions.error }, t('Timezone is required'))))))),
|
|
410
|
+
React.createElement(GridItem, { span: 12 },
|
|
411
|
+
React.createElement(FormGroup, { label: React.createElement(React.Fragment, null,
|
|
412
|
+
t('Best time to connect regarding escalation'),
|
|
413
|
+
" "), isRequired: true, fieldId: "preferred-time" },
|
|
414
|
+
React.createElement("div", { className: "pf-v6-u-display-flex pf-v6-u-align-items-center pf-v6-u-flex-nowrap time-fields-container" },
|
|
415
|
+
React.createElement("span", { className: "time-label pf-v6-u-mr-sm" }, t('from')),
|
|
416
|
+
React.createElement(TimePicker, { time: formState.preferredTimeFrom || '', onChange: (_event, time) => setFormState(Object.assign(Object.assign({}, formState), { preferredTimeFrom: time })), placeholder: "HH:MM", id: "preferred-time-from", "aria-label": t('Preferred time from'), className: "time-input", is24Hour: true, width: "150px", menuAppendTo: "parent", inputProps: {
|
|
417
|
+
validated: submitButtonIsClicked && isEmpty(formState.preferredTimeFrom)
|
|
418
|
+
? ValidatedOptions.error
|
|
419
|
+
: ValidatedOptions.default,
|
|
420
|
+
} }),
|
|
421
|
+
React.createElement("span", { className: "time-label pf-v6-u-mx-md" }, t('to')),
|
|
422
|
+
React.createElement(TimePicker, { time: formState.preferredTimeTo || '', onChange: (_event, time) => setFormState(Object.assign(Object.assign({}, formState), { preferredTimeTo: time })), placeholder: "HH:MM", id: "preferred-time-to", "aria-label": t('Preferred time to'), className: "time-input", is24Hour: true, width: "150px", menuAppendTo: "parent", inputProps: {
|
|
423
|
+
validated: submitButtonIsClicked &&
|
|
424
|
+
(isEmpty(formState.preferredTimeTo) ||
|
|
425
|
+
!isValidTimeRange(formState.preferredTimeFrom || '', formState.preferredTimeTo || ''))
|
|
426
|
+
? ValidatedOptions.error
|
|
427
|
+
: ValidatedOptions.default,
|
|
428
|
+
} })),
|
|
429
|
+
submitButtonIsClicked &&
|
|
430
|
+
(isEmpty(formState.preferredTimeFrom) ||
|
|
431
|
+
isEmpty(formState.preferredTimeTo)) && (React.createElement(FormHelperText, null,
|
|
432
|
+
React.createElement(HelperText, null,
|
|
433
|
+
React.createElement(HelperTextItem, { variant: ValidatedOptions.error }, t('Preferred time is required'))))),
|
|
434
|
+
submitButtonIsClicked &&
|
|
435
|
+
formState.preferredTimeFrom &&
|
|
436
|
+
formState.preferredTimeTo &&
|
|
437
|
+
!isValidTimeRange(formState.preferredTimeFrom, formState.preferredTimeTo) && (React.createElement(FormHelperText, null,
|
|
438
|
+
React.createElement(HelperText, null,
|
|
439
|
+
React.createElement(HelperTextItem, { variant: ValidatedOptions.error }, t('End time must be after start time'))))))))))))));
|
|
440
|
+
return (React.createElement(Modal, { id: "request-mgmt-escalation-modal", className: "request-escalation-modal pf-m-width-auto", isOpen: props.show, onClose: onCancel, "aria-label": t('Request an escalation'), variant: ModalVariant.large },
|
|
441
|
+
React.createElement("div", { className: "modal-wizard-header" },
|
|
442
|
+
React.createElement(ModalHeader, { title: t('Request an escalation') }),
|
|
443
|
+
React.createElement("a", { href: "/support/escalation", target: "_blank", rel: "noopener noreferrer", className: "pf-v6-u-font-size-sm pf-v6-u-color-200" },
|
|
444
|
+
React.createElement(Trans, null, "Learn more about escalation cases."))),
|
|
445
|
+
React.createElement(ModalBody, null,
|
|
446
|
+
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 },
|
|
448
|
+
escalationDetailsStep,
|
|
449
|
+
contactDetailsStep))));
|
|
200
450
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SubmitCase.d.ts","sourceRoot":"","sources":["../../../../src/components/SubmitCase/SubmitCase.tsx"],"names":[],"mappings":"AAeA,OAAO,KAAgC,MAAM,OAAO,CAAC;AAErD,OAAO,EAAQ,mBAAmB,EAAe,MAAM,kBAAkB,CAAC;AAQ1E,OAAO,EAAqB,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAWrF,UAAU,MAAM;IACZ,UAAU,EAAE,mBAAmB,CAAC,eAAe,CAAC,CAAC;CACpD;AAED,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,KAAK,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"SubmitCase.d.ts","sourceRoot":"","sources":["../../../../src/components/SubmitCase/SubmitCase.tsx"],"names":[],"mappings":"AAeA,OAAO,KAAgC,MAAM,OAAO,CAAC;AAErD,OAAO,EAAQ,mBAAmB,EAAe,MAAM,kBAAkB,CAAC;AAQ1E,OAAO,EAAqB,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAWrF,UAAU,MAAM;IACZ,UAAU,EAAE,mBAAmB,CAAC,eAAe,CAAC,CAAC;CACpD;AAED,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,KAAK,EAAE,MAAM,qBA6Y/C"}
|
|
@@ -142,7 +142,11 @@ export default function SubmitCase(props) {
|
|
|
142
142
|
}, []);
|
|
143
143
|
// Post visited resources comment when case is successfully created
|
|
144
144
|
useEffect(() => {
|
|
145
|
-
if (caseNoOfCreatedCase &&
|
|
145
|
+
if (caseNoOfCreatedCase &&
|
|
146
|
+
!isCreatingCase &&
|
|
147
|
+
!caseCreationError &&
|
|
148
|
+
!loggedInUsersAccount.data.secureSupport &&
|
|
149
|
+
!loggedInUsersAccount.data.hasConfirmedStatesideSupport) {
|
|
146
150
|
postVisitedResourcesComment(caseNoOfCreatedCase, getClickedResourcesSequence());
|
|
147
151
|
}
|
|
148
152
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
@@ -5,6 +5,8 @@ import { IEntitlement } from '@cee-eng/hydrajs/@types/api/public/entitlements';
|
|
|
5
5
|
import { IAccount } from '@cee-eng/hydrajs/@types/models/account';
|
|
6
6
|
import { ICaseNotificationAddresses } from '@cee-eng/hydrajs/@types/models/case';
|
|
7
7
|
import { IContact } from '@cee-eng/hydrajs/@types/models/contact';
|
|
8
|
+
import { ICaseEscalation } from '@cee-eng/hydrajs/@types/models/escalation';
|
|
9
|
+
import { ISingleSelectDropdownOption } from '@rh-support/components';
|
|
8
10
|
import { IAction, IAPIError, IApiResponseDetails } from '@rh-support/types/shared';
|
|
9
11
|
import { Dispatch } from 'react';
|
|
10
12
|
import { ICVEWorkflowRecommendation } from '../models/caseCreationWorkflows';
|
|
@@ -244,4 +246,15 @@ export declare const ORG_ADMIN_SEND_NOTIFCATION_KBASE_LINK = "https://access.red
|
|
|
244
246
|
export declare const NON_ORG_ADMIN_SEND_NOTIFCATION_KBASE_LINK = "https://access.redhat.com/articles/5967831";
|
|
245
247
|
export declare const excludedCaseTypesforARH: string[];
|
|
246
248
|
export declare const appSourceId_ARH = "PCM-001";
|
|
249
|
+
export interface IEscalationFormState extends Partial<ICaseEscalation> {
|
|
250
|
+
contactName?: string;
|
|
251
|
+
contactTitle?: string;
|
|
252
|
+
contactPreference?: string;
|
|
253
|
+
countryCode?: string;
|
|
254
|
+
phoneNumber?: string;
|
|
255
|
+
timezone?: string;
|
|
256
|
+
preferredTimeFrom?: string;
|
|
257
|
+
preferredTimeTo?: string;
|
|
258
|
+
}
|
|
259
|
+
export declare const TIMEZONE_OPTIONS: ISingleSelectDropdownOption[];
|
|
247
260
|
//# sourceMappingURL=CaseConstNTypes.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CaseConstNTypes.d.ts","sourceRoot":"","sources":["../../../src/reducers/CaseConstNTypes.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CaseConstNTypes.d.ts","sourceRoot":"","sources":["../../../src/reducers/CaseConstNTypes.ts"],"names":[],"mappings":"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"}
|
|
@@ -236,3 +236,15 @@ export const ORG_ADMIN_SEND_NOTIFCATION_KBASE_LINK = 'https://access.redhat.com/
|
|
|
236
236
|
export const NON_ORG_ADMIN_SEND_NOTIFCATION_KBASE_LINK = 'https://access.redhat.com/articles/5967831';
|
|
237
237
|
export const excludedCaseTypesforARH = ['Feature / Enhancement Request', 'Certification']; //Feature / Enhancement Request casetype is alias for Idea on PCM UI
|
|
238
238
|
export const appSourceId_ARH = 'PCM-001';
|
|
239
|
+
export const TIMEZONE_OPTIONS = [
|
|
240
|
+
{ value: 'UTC-08:00', label: 'UTC-08:00 (Pacific Standard Time)' },
|
|
241
|
+
{ value: 'UTC-07:00', label: 'UTC-07:00 (Mountain Standard Time)' },
|
|
242
|
+
{ value: 'UTC-06:00', label: 'UTC-06:00 (Central Standard Time)' },
|
|
243
|
+
{ value: 'UTC-05:00', label: 'UTC-05:00 (Eastern Standard Time)' },
|
|
244
|
+
{ value: 'UTC+00:00', label: 'UTC+00:00 (Greenwich Mean Time)' },
|
|
245
|
+
{ value: 'UTC+01:00', label: 'UTC+01:00 (Central European Time)' },
|
|
246
|
+
{ value: 'UTC+05:30', label: 'UTC+05:30 (India Standard Time)' },
|
|
247
|
+
{ value: 'UTC+08:00', label: 'UTC+08:00 (China, HK, Singapore Standard Time)' },
|
|
248
|
+
{ value: 'UTC+09:00', label: 'UTC+09:00 (Japan Standard Time)' },
|
|
249
|
+
{ value: 'UTC+10:00', label: 'UTC+10:00 (Australian Eastern Standard Time)' },
|
|
250
|
+
];
|
|
@@ -406,37 +406,213 @@ div#cep-details-modal.pf-v6-c-modal-box__body {
|
|
|
406
406
|
}
|
|
407
407
|
|
|
408
408
|
// To override font weight in Request Escalation Form - PCM-11644
|
|
409
|
+
// Target the modal box with the specific width-auto class
|
|
410
|
+
.pf-v6-c-modal-box.pf-m-width-auto {
|
|
411
|
+
max-width: 70vw !important;
|
|
412
|
+
min-width: 900px !important;
|
|
413
|
+
width: 70vw !important;
|
|
414
|
+
|
|
415
|
+
@media (max-width: 992px) {
|
|
416
|
+
min-width: auto !important;
|
|
417
|
+
max-width: 95vw !important;
|
|
418
|
+
width: 95vw !important;
|
|
419
|
+
}
|
|
420
|
+
|
|
421
|
+
// Override the global 50% max-width rule for large screens
|
|
422
|
+
@media (min-width: 1320px) {
|
|
423
|
+
width: 70vw !important;
|
|
424
|
+
max-width: 70vw !important;
|
|
425
|
+
}
|
|
426
|
+
}
|
|
427
|
+
|
|
409
428
|
div#request-mgmt-escalation-modal.request-escalation-modal {
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
429
|
+
.modal-wizard-header {
|
|
430
|
+
background-color: #f0f0f0;
|
|
431
|
+
padding: 1.5rem;
|
|
432
|
+
margin-top: -1px;
|
|
433
|
+
font-size: 0.875rem;
|
|
434
|
+
border-bottom: 1px solid #d2d2d2;
|
|
435
|
+
|
|
436
|
+
a {
|
|
437
|
+
font-size: 14px;
|
|
438
|
+
}
|
|
439
|
+
|
|
440
|
+
.pf-v6-c-modal-box__header {
|
|
441
|
+
padding: 0 !important;
|
|
442
|
+
margin-bottom: 8px;
|
|
443
|
+
}
|
|
444
|
+
|
|
445
|
+
.pf-v6-c-modal-box__title {
|
|
446
|
+
padding: 0 !important;
|
|
447
|
+
font-size: 28px;
|
|
448
|
+
font-weight: 500;
|
|
449
|
+
}
|
|
450
|
+
}
|
|
451
|
+
|
|
452
|
+
.pf-v6-c-modal-box__body {
|
|
453
|
+
padding: 0 !important;
|
|
454
|
+
|
|
455
|
+
& > div:first-child {
|
|
456
|
+
// margin-bottom: 1.5rem;
|
|
457
|
+
|
|
458
|
+
p {
|
|
459
|
+
color: var(--pf-v6-global--Color--200);
|
|
460
|
+
margin-bottom: 0.5rem;
|
|
414
461
|
}
|
|
415
462
|
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
463
|
+
a {
|
|
464
|
+
color: var(--pf-v6-global--link--Color);
|
|
465
|
+
font-size: 0.875rem;
|
|
466
|
+
}
|
|
467
|
+
}
|
|
468
|
+
}
|
|
469
|
+
|
|
470
|
+
// Wizard specific styles
|
|
471
|
+
.pf-v6-c-wizard {
|
|
472
|
+
height: 600px !important;
|
|
473
|
+
border: 1px solid var(--pf-v6-global--BorderColor--100) !important;
|
|
474
|
+
border-radius: 3px;
|
|
475
|
+
overflow: hidden;
|
|
476
|
+
background: white;
|
|
477
|
+
display: flex;
|
|
478
|
+
|
|
479
|
+
.pf-v6-c-wizard__header {
|
|
480
|
+
display: none;
|
|
481
|
+
}
|
|
482
|
+
|
|
483
|
+
.pf-v6-c-wizard__main {
|
|
484
|
+
overflow-y: auto;
|
|
485
|
+
}
|
|
486
|
+
|
|
487
|
+
.pf-v6-c-wizard__body {
|
|
488
|
+
padding: 2rem;
|
|
489
|
+
flex: 1;
|
|
490
|
+
overflow-y: auto;
|
|
491
|
+
overflow-x: hidden;
|
|
492
|
+
}
|
|
493
|
+
|
|
494
|
+
.pf-v6-c-wizard__footer {
|
|
495
|
+
padding: var(--global-spacer-lg, 24px);
|
|
496
|
+
background-color: var(--pf-v6-global--BackgroundColor--100);
|
|
497
|
+
border-top: 1px solid var(--pf-v6-global--BorderColor--100);
|
|
498
|
+
display: flex;
|
|
499
|
+
gap: 0.5rem;
|
|
500
|
+
justify-content: flex-start;
|
|
501
|
+
flex-shrink: 0;
|
|
502
|
+
border-top: 1px solid #d2d2d2;
|
|
503
|
+
|
|
504
|
+
button:last-child {
|
|
505
|
+
margin-left: 48px;
|
|
506
|
+
}
|
|
507
|
+
}
|
|
508
|
+
}
|
|
509
|
+
|
|
510
|
+
.wizard-step-content {
|
|
511
|
+
h2 {
|
|
512
|
+
font-size: var(--global-font-size-lg, 18px);
|
|
513
|
+
font-weight: 500;
|
|
514
|
+
margin-bottom: 1.5rem;
|
|
515
|
+
}
|
|
516
|
+
}
|
|
517
|
+
|
|
518
|
+
form.pf-v6-c-form.request-escalation-form {
|
|
519
|
+
.pf-m-textarea textarea {
|
|
520
|
+
resize: vertical !important;
|
|
521
|
+
min-height: 80px;
|
|
522
|
+
}
|
|
523
|
+
|
|
524
|
+
#description-textarea {
|
|
525
|
+
min-height: 100px;
|
|
526
|
+
}
|
|
527
|
+
|
|
528
|
+
.pf-v6-c-form__group {
|
|
529
|
+
margin-bottom: 0.5rem !important;
|
|
530
|
+
}
|
|
531
|
+
|
|
532
|
+
.pf-v6-u-flex-nowrap {
|
|
533
|
+
white-space: nowrap;
|
|
534
|
+
}
|
|
535
|
+
|
|
536
|
+
.pf-v6-c-form__label-text {
|
|
537
|
+
font-weight: 600 !important;
|
|
538
|
+
}
|
|
539
|
+
}
|
|
540
|
+
.pf-v6-c-radio__input {
|
|
541
|
+
margin: 0 !important;
|
|
542
|
+
}
|
|
543
|
+
|
|
544
|
+
.contact-preference-group {
|
|
545
|
+
gap: 24px !important;
|
|
546
|
+
|
|
547
|
+
.pf-v6-c-radio {
|
|
548
|
+
margin-bottom: 0 !important;
|
|
549
|
+
|
|
550
|
+
.pf-v6-c-radio__label {
|
|
551
|
+
font-weight: normal !important;
|
|
552
|
+
margin-left: 8px !important;
|
|
437
553
|
}
|
|
438
554
|
}
|
|
439
555
|
}
|
|
556
|
+
|
|
557
|
+
.request-escalation-form {
|
|
558
|
+
.pf-v6-l-grid {
|
|
559
|
+
--pf-v6-l-grid--m-gutter--GridGap: 0.5rem !important;
|
|
560
|
+
}
|
|
561
|
+
}
|
|
562
|
+
|
|
563
|
+
.phone-number-input {
|
|
564
|
+
width: 100% !important;
|
|
565
|
+
|
|
566
|
+
.phone-number-select {
|
|
567
|
+
min-width: 110px !important;
|
|
568
|
+
|
|
569
|
+
button {
|
|
570
|
+
min-width: 110px !important;
|
|
571
|
+
}
|
|
572
|
+
}
|
|
573
|
+
|
|
574
|
+
.pf-v6-c-input-group__item:first-child {
|
|
575
|
+
margin-right: 8px !important;
|
|
576
|
+
}
|
|
577
|
+
}
|
|
578
|
+
|
|
579
|
+
.timezone {
|
|
580
|
+
width: 154px !important;
|
|
581
|
+
max-width: 154px !important;
|
|
582
|
+
}
|
|
583
|
+
|
|
584
|
+
// Time fields container styling
|
|
585
|
+
.time-fields-container {
|
|
586
|
+
display: flex !important;
|
|
587
|
+
align-items: center !important;
|
|
588
|
+
gap: 12px !important;
|
|
589
|
+
|
|
590
|
+
.time-label {
|
|
591
|
+
font-size: 14px !important;
|
|
592
|
+
color: var(--pf-v6-global--Color--100) !important;
|
|
593
|
+
flex-shrink: 0 !important;
|
|
594
|
+
margin: 0 !important;
|
|
595
|
+
}
|
|
596
|
+
|
|
597
|
+
// Style the PatternFly TimePicker
|
|
598
|
+
.time-input {
|
|
599
|
+
.pf-v6-c-text-input {
|
|
600
|
+
width: 150px !important;
|
|
601
|
+
}
|
|
602
|
+
|
|
603
|
+
// Force dropdown to open downward
|
|
604
|
+
.pf-v6-c-menu {
|
|
605
|
+
top: 100% !important;
|
|
606
|
+
bottom: auto !important;
|
|
607
|
+
transform: none !important;
|
|
608
|
+
}
|
|
609
|
+
}
|
|
610
|
+
}
|
|
611
|
+
|
|
612
|
+
// Additional phone number field overrides
|
|
613
|
+
#phone-number {
|
|
614
|
+
width: 100% !important;
|
|
615
|
+
}
|
|
440
616
|
}
|
|
441
617
|
|
|
442
618
|
// To override font weight on reopen case modal - PCM-11644
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rh-support/troubleshoot",
|
|
3
|
-
"version": "2.6.
|
|
3
|
+
"version": "2.6.83",
|
|
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": "79e5da0bd031bf218194ac7d7b802e0444cce575"
|
|
137
137
|
}
|