@rh-support/troubleshoot 2.6.86 → 2.6.87
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 +52 -44
- package/lib/esm/components/CaseEditView/Tabs/CaseHistory/Timeline.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/Tabs/CaseHistory/Timeline.js +13 -10
- package/lib/esm/i18n/template-de.d.ts +41 -2
- package/lib/esm/i18n/template-de.d.ts.map +1 -1
- package/lib/esm/i18n/template-de.js +41 -2
- package/lib/esm/i18n/template-es.d.ts +41 -2
- package/lib/esm/i18n/template-es.d.ts.map +1 -1
- package/lib/esm/i18n/template-es.js +41 -2
- package/lib/esm/i18n/template-fr.d.ts +41 -2
- package/lib/esm/i18n/template-fr.d.ts.map +1 -1
- package/lib/esm/i18n/template-fr.js +41 -2
- package/lib/esm/i18n/template-it.d.ts +41 -2
- package/lib/esm/i18n/template-it.d.ts.map +1 -1
- package/lib/esm/i18n/template-it.js +41 -2
- package/lib/esm/i18n/template-jp.d.ts +41 -2
- package/lib/esm/i18n/template-jp.d.ts.map +1 -1
- package/lib/esm/i18n/template-jp.js +41 -2
- package/lib/esm/i18n/template-ko.d.ts +41 -2
- package/lib/esm/i18n/template-ko.d.ts.map +1 -1
- package/lib/esm/i18n/template-ko.js +41 -2
- package/lib/esm/i18n/template-pt.d.ts +41 -2
- package/lib/esm/i18n/template-pt.d.ts.map +1 -1
- package/lib/esm/i18n/template-pt.js +41 -2
- package/lib/esm/i18n/template-ru.d.ts +6 -1
- package/lib/esm/i18n/template-ru.d.ts.map +1 -1
- package/lib/esm/i18n/template-ru.js +6 -1
- package/lib/esm/i18n/template-zh.d.ts +18 -0
- package/lib/esm/i18n/template-zh.d.ts.map +1 -1
- package/lib/esm/i18n/template-zh.js +18 -0
- package/lib/esm/scss/_pf-overrides.scss +4 -8
- package/package.json +3 -3
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":"AAsCA,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,qBA63BnD"}
|
|
@@ -11,7 +11,6 @@ import { escalations, publicApi } from '@cee-eng/hydrajs';
|
|
|
11
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
|
-
import isEmpty from 'lodash/isEmpty';
|
|
15
14
|
import React, { useEffect, useState } from 'react';
|
|
16
15
|
import { Trans, useTranslation } from 'react-i18next';
|
|
17
16
|
import { useCaseDispatch } from '../../../context/CaseContext';
|
|
@@ -24,7 +23,7 @@ import { updateDiscussionStateComments } from '../../../reducers/CaseDiscussionT
|
|
|
24
23
|
import { checkForCaseStatusToggleOnAttachOrComment, fetchCaseDetails } from '../../../reducers/CaseReducer';
|
|
25
24
|
const customerGEOKeys = Object.keys(CustomerGEOs);
|
|
26
25
|
export function RequestEscalationModal(props) {
|
|
27
|
-
var _a;
|
|
26
|
+
var _a, _b, _c, _d, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u;
|
|
28
27
|
const { globalMetadataState: { loggedInUser, loggedInUserRights }, } = useGlobalStateContext();
|
|
29
28
|
const { t } = useTranslation();
|
|
30
29
|
const [categories, setCategories] = useState([]);
|
|
@@ -48,6 +47,11 @@ export function RequestEscalationModal(props) {
|
|
|
48
47
|
const [hasLargeSubject, setHasLargeSubject] = useState(false);
|
|
49
48
|
const [submitButtonIsClicked, setSubmitSaveButtonIsClicked] = useState(false);
|
|
50
49
|
const [isPhoneInvalid, setIsPhoneInvalid] = useState(false);
|
|
50
|
+
const isPhoneNumberValid = (phoneNumber) => {
|
|
51
|
+
const trimmedPhone = (phoneNumber || '').trim();
|
|
52
|
+
// Phone number should have some digits other than country code to be considered valid
|
|
53
|
+
return trimmedPhone.length >= 5;
|
|
54
|
+
};
|
|
51
55
|
// Function to check if "to" time is after "from" time
|
|
52
56
|
const isValidTimeRange = (fromTime, toTime) => {
|
|
53
57
|
if (!fromTime || !toTime)
|
|
@@ -83,7 +87,8 @@ export function RequestEscalationModal(props) {
|
|
|
83
87
|
formState.preferredTimeTo) {
|
|
84
88
|
return (hasAllFields &&
|
|
85
89
|
isValidTimeRange(formState.preferredTimeFrom, formState.preferredTimeTo) &&
|
|
86
|
-
!isPhoneInvalid
|
|
90
|
+
!isPhoneInvalid &&
|
|
91
|
+
isPhoneNumberValid(formState.phoneNumber));
|
|
87
92
|
}
|
|
88
93
|
return hasAllFields;
|
|
89
94
|
};
|
|
@@ -190,7 +195,7 @@ export function RequestEscalationModal(props) {
|
|
|
190
195
|
const hour12 = hour % 12 || 12;
|
|
191
196
|
return `${hour12}:${minutes}${ampm}`;
|
|
192
197
|
};
|
|
193
|
-
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
|
|
198
|
+
const fullComment = t('### Request Management Escalation:\n\n**Name**\n{{contactName}}\n\n**Title**\n{{contactTitle}}\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', {
|
|
194
199
|
category: formState.rmeCategory,
|
|
195
200
|
subject: formState.subject,
|
|
196
201
|
description: formState.description,
|
|
@@ -269,25 +274,26 @@ export function RequestEscalationModal(props) {
|
|
|
269
274
|
// Validate current step
|
|
270
275
|
const isCurrentStepValid = () => {
|
|
271
276
|
if (activeStep.id === 'escalation-details') {
|
|
272
|
-
return (
|
|
273
|
-
|
|
274
|
-
|
|
277
|
+
return ((formState.rmeCategory || '').trim().length > 0 &&
|
|
278
|
+
(formState.geo || '').trim().length > 0 &&
|
|
279
|
+
(formState.subject || '').trim().length > 0 &&
|
|
275
280
|
!hasLargeSubject &&
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
281
|
+
(formState.description || '').trim().length > 0 &&
|
|
282
|
+
(formState.expectations || '').trim().length > 0 &&
|
|
283
|
+
(formState.businessImpactDescription || '').trim().length > 0);
|
|
279
284
|
}
|
|
280
285
|
else if (activeStep.id === 'contact-details') {
|
|
281
|
-
const baseValidation =
|
|
282
|
-
|
|
283
|
-
|
|
286
|
+
const baseValidation = (formState.contactName || '').trim().length > 0 &&
|
|
287
|
+
(formState.contactTitle || '').trim().length > 0 &&
|
|
288
|
+
(formState.contactPreference || '').trim().length > 0;
|
|
284
289
|
// Additional validation if call options are selected
|
|
285
290
|
if (formState.contactPreference === 'call-me' || formState.contactPreference === 'call-if-necessary') {
|
|
286
291
|
return (baseValidation &&
|
|
287
|
-
|
|
292
|
+
isPhoneNumberValid(formState.phoneNumber) &&
|
|
288
293
|
!isPhoneInvalid &&
|
|
289
|
-
|
|
290
|
-
|
|
294
|
+
(formState.preferredTimeFrom || '').trim().length > 0 &&
|
|
295
|
+
(formState.preferredTimeTo || '').trim().length > 0 &&
|
|
296
|
+
(formState.timezone || '').trim().length > 0);
|
|
291
297
|
}
|
|
292
298
|
return baseValidation;
|
|
293
299
|
}
|
|
@@ -311,7 +317,7 @@ export function RequestEscalationModal(props) {
|
|
|
311
317
|
setSubmitSaveButtonIsClicked(false);
|
|
312
318
|
goToPrevStep({});
|
|
313
319
|
}, isDisabled: isLoading, "data-tracking-id": "request-rme-back" }, t('Back'))),
|
|
314
|
-
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')),
|
|
320
|
+
React.createElement(Button, { variant: "primary", onClick: isLastStep ? handleSubmit : handleNext, isDisabled: isLoading || (submitButtonIsClicked && !isCurrentStepValid()), isLoading: isLoading, "data-tracking-id": isLastStep ? 'request-rme-submit' : 'request-rme-next' }, isLastStep ? t('Submit') : t('Next')),
|
|
315
321
|
React.createElement(Button, { variant: "link", onClick: onCancel, isDisabled: isLoading, "data-tracking-id": "request-rme-cancel" }, t('Cancel'))));
|
|
316
322
|
};
|
|
317
323
|
const escalationDetailsStep = (React.createElement(WizardStep, { id: "escalation-details", name: t('Escalation details') },
|
|
@@ -321,10 +327,10 @@ export function RequestEscalationModal(props) {
|
|
|
321
327
|
React.createElement(Grid, { hasGutter: true },
|
|
322
328
|
React.createElement(GridItem, { span: 6 },
|
|
323
329
|
React.createElement(FormGroup, { isRequired: true, label: t('Category'), fieldId: "escalation-category" },
|
|
324
|
-
React.createElement(SingleSelectDropdown, { id: "customer-category-select", ariaLabel: t('Category'), selected: selectedCategory, options: categoryOptions, isDisabled: false, isLoading: isCategoriesFetching, isInvalid: submitButtonIsClicked &&
|
|
330
|
+
React.createElement(SingleSelectDropdown, { id: "customer-category-select", ariaLabel: t('Category'), selected: selectedCategory, options: categoryOptions, isDisabled: false, isLoading: isCategoriesFetching, isInvalid: submitButtonIsClicked && !((_a = formState.rmeCategory) === null || _a === void 0 ? void 0 : _a.trim()), placeholder: t('Select an option that best fits'), onSelect: (option) => setCategoryState(option), isScrollable: true }))),
|
|
325
331
|
React.createElement(GridItem, { span: 6 },
|
|
326
332
|
React.createElement(FormGroup, { isRequired: true, label: t('My region'), fieldId: "escalation-region" },
|
|
327
|
-
React.createElement(SingleSelectDropdown, { ariaLabel: t('My region'), id: "customer-geo-select", selected: selectedGeo, options: geoOptions, isInvalid: submitButtonIsClicked &&
|
|
333
|
+
React.createElement(SingleSelectDropdown, { ariaLabel: t('My region'), id: "customer-geo-select", selected: selectedGeo, options: geoOptions, isInvalid: submitButtonIsClicked && !((_b = formState.geo) === null || _b === void 0 ? void 0 : _b.trim()), placeholder: t('Select a location'), onSelect: (option) => setGeoState(option) }))),
|
|
328
334
|
React.createElement(GridItem, { span: 12 },
|
|
329
335
|
React.createElement(FormGroup, { isRequired: true, label: t('Subject'), fieldId: "escalation-subject" },
|
|
330
336
|
submitButtonIsClicked && hasLargeSubject && (React.createElement(FormHelperText, null,
|
|
@@ -332,33 +338,33 @@ export function RequestEscalationModal(props) {
|
|
|
332
338
|
React.createElement(HelperTextItem, { variant: ValidatedOptions.error }, t('Subject cannot be more than {{limit}} characters', {
|
|
333
339
|
limit: ESCALATION_SUBJECT_LENGTH_LIMIT,
|
|
334
340
|
}))))),
|
|
335
|
-
React.createElement(TextInput, { isRequired: true, validated: (submitButtonIsClicked &&
|
|
341
|
+
React.createElement(TextInput, { isRequired: true, validated: (submitButtonIsClicked && !((_c = formState.subject) === null || _c === void 0 ? void 0 : _c.trim())) || hasLargeSubject
|
|
336
342
|
? ValidatedOptions.error
|
|
337
343
|
: 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') }))),
|
|
338
344
|
React.createElement(GridItem, { span: 12 },
|
|
339
345
|
React.createElement(FormGroup, { isRequired: true, label: t('Description'), fieldId: "escalation-description" },
|
|
340
|
-
React.createElement(TextArea, { value: formState.description, onChange: (e, value) => setFormStateValue('description', value), isRequired: true, validated: submitButtonIsClicked &&
|
|
346
|
+
React.createElement(TextArea, { value: formState.description, onChange: (e, value) => setFormStateValue('description', value), isRequired: true, validated: submitButtonIsClicked && !((_d = formState.description) === null || _d === void 0 ? void 0 : _d.trim())
|
|
341
347
|
? ValidatedOptions.error
|
|
342
348
|
: ValidatedOptions.default, "aria-label": t('Description'), id: "description-textarea", placeholder: t('Provide a detailed comment for us to best assist you'), resizeOrientation: "vertical" }))),
|
|
343
349
|
React.createElement(GridItem, { span: 12 },
|
|
344
350
|
React.createElement(FormGroup, { isRequired: true, label: t('Expectations'), fieldId: "escalation-expectations" },
|
|
345
|
-
React.createElement(TextArea, { onChange: (e, value) => setFormStateValue('expectations', value), isRequired: true, validated: submitButtonIsClicked &&
|
|
351
|
+
React.createElement(TextArea, { onChange: (e, value) => setFormStateValue('expectations', value), isRequired: true, validated: submitButtonIsClicked && !((_f = formState.expectations) === null || _f === void 0 ? void 0 : _f.trim())
|
|
346
352
|
? ValidatedOptions.error
|
|
347
353
|
: 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" }))),
|
|
348
354
|
React.createElement(GridItem, { span: 12 },
|
|
349
355
|
React.createElement(FormGroup, { isRequired: true, label: t('Business impact'), fieldId: "escalation-business-impact" },
|
|
350
|
-
React.createElement(TextArea, { onChange: (e, value) => setFormStateValue('businessImpactDescription', value), isRequired: true, validated: submitButtonIsClicked &&
|
|
356
|
+
React.createElement(TextArea, { onChange: (e, value) => setFormStateValue('businessImpactDescription', value), isRequired: true, validated: submitButtonIsClicked && !((_g = formState.businessImpactDescription) === null || _g === void 0 ? void 0 : _g.trim())
|
|
351
357
|
? ValidatedOptions.error
|
|
352
358
|
: 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
359
|
// Check if first step is completed
|
|
354
360
|
const isFirstStepComplete = () => {
|
|
355
|
-
return (
|
|
356
|
-
|
|
357
|
-
|
|
361
|
+
return ((formState.rmeCategory || '').trim().length > 0 &&
|
|
362
|
+
(formState.geo || '').trim().length > 0 &&
|
|
363
|
+
(formState.subject || '').trim().length > 0 &&
|
|
358
364
|
!hasLargeSubject &&
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
365
|
+
(formState.description || '').trim().length > 0 &&
|
|
366
|
+
(formState.expectations || '').trim().length > 0 &&
|
|
367
|
+
(formState.businessImpactDescription || '').trim().length > 0);
|
|
362
368
|
};
|
|
363
369
|
const customNav = (isExpanded, steps, activeStep, goToStepByIndex) => (React.createElement(WizardNav, { isExpanded: isExpanded }, steps.map((step, index) => {
|
|
364
370
|
// Disable the second step if first step is not complete
|
|
@@ -374,20 +380,20 @@ export function RequestEscalationModal(props) {
|
|
|
374
380
|
React.createElement(FormGroup, { label: React.createElement(React.Fragment, null,
|
|
375
381
|
t('Name'),
|
|
376
382
|
" "), isRequired: true, fieldId: "contact-name" },
|
|
377
|
-
React.createElement(TextInput, { type: "text", validated: submitButtonIsClicked &&
|
|
383
|
+
React.createElement(TextInput, { type: "text", validated: submitButtonIsClicked && !((_h = formState.contactName) === null || _h === void 0 ? void 0 : _h.trim())
|
|
378
384
|
? ValidatedOptions.error
|
|
379
385
|
: 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') }),
|
|
380
|
-
submitButtonIsClicked &&
|
|
386
|
+
submitButtonIsClicked && !((_j = formState.contactName) === null || _j === void 0 ? void 0 : _j.trim()) && (React.createElement(FormHelperText, null,
|
|
381
387
|
React.createElement(HelperText, null,
|
|
382
388
|
React.createElement(HelperTextItem, { variant: ValidatedOptions.error }, t('Name is required'))))))),
|
|
383
389
|
React.createElement(GridItem, { span: 6 },
|
|
384
390
|
React.createElement(FormGroup, { label: React.createElement(React.Fragment, null,
|
|
385
391
|
t('Title'),
|
|
386
392
|
" "), isRequired: true, fieldId: "contact-title" },
|
|
387
|
-
React.createElement(TextInput, { type: "text", validated: submitButtonIsClicked &&
|
|
393
|
+
React.createElement(TextInput, { type: "text", validated: submitButtonIsClicked && !((_k = formState.contactTitle) === null || _k === void 0 ? void 0 : _k.trim())
|
|
388
394
|
? ValidatedOptions.error
|
|
389
395
|
: 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') }),
|
|
390
|
-
submitButtonIsClicked &&
|
|
396
|
+
submitButtonIsClicked && !((_l = formState.contactTitle) === null || _l === void 0 ? void 0 : _l.trim()) && (React.createElement(FormHelperText, null,
|
|
391
397
|
React.createElement(HelperText, null,
|
|
392
398
|
React.createElement(HelperTextItem, { variant: ValidatedOptions.error }, t('Title is required'))))))),
|
|
393
399
|
React.createElement(GridItem, { span: 12 },
|
|
@@ -395,8 +401,8 @@ export function RequestEscalationModal(props) {
|
|
|
395
401
|
t('Contact preference'),
|
|
396
402
|
" "), isRequired: true, fieldId: "contact-preference", role: "radiogroup" },
|
|
397
403
|
React.createElement("div", { className: "pf-v6-u-display-flex pf-v6-u-flex-direction-row contact-preference-group" },
|
|
398
|
-
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' })),
|
|
399
|
-
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' })),
|
|
404
|
+
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' })), style: { marginRight: '24px' } }),
|
|
405
|
+
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' })), style: { marginRight: '8px' } }),
|
|
400
406
|
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: '' })) })),
|
|
401
407
|
submitButtonIsClicked && !formState.contactPreference && (React.createElement(FormHelperText, null,
|
|
402
408
|
React.createElement(HelperText, null,
|
|
@@ -407,14 +413,16 @@ export function RequestEscalationModal(props) {
|
|
|
407
413
|
React.createElement(FormGroup, { label: React.createElement(React.Fragment, null,
|
|
408
414
|
t("Case owner's phone number"),
|
|
409
415
|
" "), isRequired: true, fieldId: "phone-number" },
|
|
410
|
-
React.createElement(PhoneInput, { phoneValue: formState.phoneNumber || '', countryCode: ((
|
|
416
|
+
React.createElement(PhoneInput, { phoneValue: formState.phoneNumber || '', countryCode: ((_m = formState.countryCode) === null || _m === void 0 ? void 0 : _m.replace('+', '')) || '', onPhoneValueChange: (phone) => setFormState(Object.assign(Object.assign({}, formState), { phoneNumber: phone })), onCountryCodeChange: (code) => setFormState(Object.assign(Object.assign({}, formState), { countryCode: code })), validations: (submitButtonIsClicked && !isPhoneNumberValid(formState.phoneNumber)) ||
|
|
411
417
|
isPhoneInvalid
|
|
412
418
|
? 'error'
|
|
413
419
|
: 'default', isDisabled: false, invalid: isPhoneInvalid, setInvalid: setIsPhoneInvalid }),
|
|
414
420
|
React.createElement(FormHelperText, null,
|
|
415
421
|
React.createElement(HelperText, null,
|
|
416
422
|
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.')))),
|
|
417
|
-
submitButtonIsClicked &&
|
|
423
|
+
submitButtonIsClicked &&
|
|
424
|
+
!isPhoneNumberValid(formState.phoneNumber) &&
|
|
425
|
+
!isPhoneInvalid && (React.createElement(FormHelperText, null,
|
|
418
426
|
React.createElement(HelperText, null,
|
|
419
427
|
React.createElement(HelperTextItem, { variant: ValidatedOptions.error }, t('Phone number is required'))))),
|
|
420
428
|
isPhoneInvalid && (React.createElement(FormHelperText, null,
|
|
@@ -429,7 +437,7 @@ export function RequestEscalationModal(props) {
|
|
|
429
437
|
value: '',
|
|
430
438
|
label: 'Select timezone',
|
|
431
439
|
}, options: TIMEZONE_OPTIONS, onSelect: (option) => setFormState(Object.assign(Object.assign({}, formState), { timezone: option.value })), placeholder: t('Select timezone') })),
|
|
432
|
-
submitButtonIsClicked &&
|
|
440
|
+
submitButtonIsClicked && !((_o = formState.timezone) === null || _o === void 0 ? void 0 : _o.trim()) && (React.createElement(FormHelperText, null,
|
|
433
441
|
React.createElement(HelperText, null,
|
|
434
442
|
React.createElement(HelperTextItem, { variant: ValidatedOptions.error }, t('Timezone is required'))))))),
|
|
435
443
|
React.createElement(GridItem, { span: 12 },
|
|
@@ -439,26 +447,26 @@ export function RequestEscalationModal(props) {
|
|
|
439
447
|
React.createElement("div", { className: "pf-v6-u-display-flex pf-v6-u-align-items-center pf-v6-u-flex-nowrap time-fields-container" },
|
|
440
448
|
React.createElement("span", { className: "time-label pf-v6-u-mr-sm" }, t('from')),
|
|
441
449
|
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: {
|
|
442
|
-
validated: submitButtonIsClicked &&
|
|
450
|
+
validated: submitButtonIsClicked && !((_p = formState.preferredTimeFrom) === null || _p === void 0 ? void 0 : _p.trim())
|
|
443
451
|
? ValidatedOptions.error
|
|
444
452
|
: ValidatedOptions.default,
|
|
445
453
|
} }),
|
|
446
454
|
React.createElement("span", { className: "time-label pf-v6-u-mx-md" }, t('to')),
|
|
447
455
|
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: {
|
|
448
456
|
validated: submitButtonIsClicked &&
|
|
449
|
-
(
|
|
457
|
+
(!((_q = formState.preferredTimeTo) === null || _q === void 0 ? void 0 : _q.trim()) ||
|
|
450
458
|
!isValidTimeRange(formState.preferredTimeFrom || '', formState.preferredTimeTo || ''))
|
|
451
459
|
? ValidatedOptions.error
|
|
452
460
|
: ValidatedOptions.default,
|
|
453
461
|
} })),
|
|
454
462
|
submitButtonIsClicked &&
|
|
455
|
-
(
|
|
456
|
-
|
|
463
|
+
(!((_r = formState.preferredTimeFrom) === null || _r === void 0 ? void 0 : _r.trim()) ||
|
|
464
|
+
!((_s = formState.preferredTimeTo) === null || _s === void 0 ? void 0 : _s.trim())) && (React.createElement(FormHelperText, null,
|
|
457
465
|
React.createElement(HelperText, null,
|
|
458
466
|
React.createElement(HelperTextItem, { variant: ValidatedOptions.error }, t('Preferred time is required'))))),
|
|
459
467
|
submitButtonIsClicked &&
|
|
460
|
-
formState.preferredTimeFrom &&
|
|
461
|
-
formState.preferredTimeTo &&
|
|
468
|
+
((_t = formState.preferredTimeFrom) === null || _t === void 0 ? void 0 : _t.trim()) &&
|
|
469
|
+
((_u = formState.preferredTimeTo) === null || _u === void 0 ? void 0 : _u.trim()) &&
|
|
462
470
|
!isValidTimeRange(formState.preferredTimeFrom, formState.preferredTimeTo) && (React.createElement(FormHelperText, null,
|
|
463
471
|
React.createElement(HelperText, null,
|
|
464
472
|
React.createElement(HelperTextItem, { variant: ValidatedOptions.error }, t('End time must be after start time'))))))))))))));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Timeline.d.ts","sourceRoot":"","sources":["../../../../../../src/components/CaseEditView/Tabs/CaseHistory/Timeline.tsx"],"names":[],"mappings":"AAAA,OAAO,gBAAgB,CAAC;AAwBxB,OAAO,KAAsC,MAAM,OAAO,CAAC;AA8W3D,QAAA,MAAM,QAAQ;;
|
|
1
|
+
{"version":3,"file":"Timeline.d.ts","sourceRoot":"","sources":["../../../../../../src/components/CaseEditView/Tabs/CaseHistory/Timeline.tsx"],"names":[],"mappings":"AAAA,OAAO,gBAAgB,CAAC;AAwBxB,OAAO,KAAsC,MAAM,OAAO,CAAC;AA8W3D,QAAA,MAAM,QAAQ;;uBAkVb,CAAC;AAEF,eAAe,QAAQ,CAAC"}
|
|
@@ -343,7 +343,7 @@ const Timeline = ({ caseNumber }) => {
|
|
|
343
343
|
}
|
|
344
344
|
catch (error) {
|
|
345
345
|
console.error('Failed to fetch history:', error);
|
|
346
|
-
setFetchError('Unable to connect');
|
|
346
|
+
setFetchError(t('Unable to connect'));
|
|
347
347
|
}
|
|
348
348
|
finally {
|
|
349
349
|
setIsFetchingData(false);
|
|
@@ -351,6 +351,7 @@ const Timeline = ({ caseNumber }) => {
|
|
|
351
351
|
});
|
|
352
352
|
}
|
|
353
353
|
fetchHistory();
|
|
354
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
354
355
|
}, [caseNumber]);
|
|
355
356
|
const futureDateValidator = (date) => {
|
|
356
357
|
const today = new Date();
|
|
@@ -440,11 +441,10 @@ const Timeline = ({ caseNumber }) => {
|
|
|
440
441
|
if (fetchError) {
|
|
441
442
|
return (React.createElement(EmptyState, { headingLevel: "h2", icon: ExclamationCircleIcon, titleText: "Unable to connect", variant: EmptyStateVariant.full },
|
|
442
443
|
React.createElement(EmptyStateBody, null,
|
|
443
|
-
React.createElement(Trans,
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
"or check back later"))));
|
|
444
|
+
React.createElement(Trans, { i18nKey: "Try <reloadLink>reloading the page</reloadLink> or check back later", components: {
|
|
445
|
+
// eslint-disable-next-line jsx-a11y/anchor-has-content, jsx-a11y/anchor-is-valid
|
|
446
|
+
reloadLink: React.createElement("a", { href: "#", onClick: handleReload }),
|
|
447
|
+
} }))));
|
|
448
448
|
}
|
|
449
449
|
if (filteredEvents.length < 1) {
|
|
450
450
|
return (React.createElement(EmptyState, { headingLevel: "h2", icon: SearchIcon, titleText: React.createElement(Trans, null, "No results found"), variant: EmptyStateVariant.full },
|
|
@@ -459,13 +459,16 @@ const Timeline = ({ caseNumber }) => {
|
|
|
459
459
|
React.createElement(SearchInput, { placeholder: t('Search for a user, action, or keyword'), value: searchValue, onChange: handleSearchChange, onClear: handleClear, className: "case-history-timeline-search" }),
|
|
460
460
|
React.createElement("div", { className: "case-history-timeline-datepicker" },
|
|
461
461
|
React.createElement(DatePicker, { value: dateValue, onChange: (_event, value) => handleDateChange(value), validators: [futureDateValidator] }),
|
|
462
|
-
React.createElement(Button, { className: "pf-v6-u-ml-xs", onClick: () => setDateValue(''), isDisabled: isEmpty(dateValue) },
|
|
462
|
+
React.createElement(Button, { className: "pf-v6-u-ml-xs", onClick: () => setDateValue(''), isDisabled: isEmpty(dateValue) },
|
|
463
|
+
React.createElement(Trans, null, "Reset")))),
|
|
463
464
|
React.createElement("div", { className: "timeline-controls" },
|
|
464
465
|
React.createElement("div", { className: "timeline-pagination" }, renderPagination()),
|
|
465
466
|
React.createElement("div", { className: "timeline-sort-order-select" },
|
|
466
|
-
React.createElement(Select, { id: "order-select", isOpen: isSelectOpen, selected: selectedOrder, onSelect: handleSelect, onOpenChange: (isOpen) => setIsSelectOpen(isOpen), shouldFocusToggleOnSelect: false, toggle: (toggleRef) => (React.createElement(MenuToggle, { ref: toggleRef, onClick: handleSelectToggle, isExpanded: isSelectOpen }, selectedOrder)) },
|
|
467
|
-
React.createElement(SelectOption, { value: "Newest to Oldest" },
|
|
468
|
-
|
|
467
|
+
React.createElement(Select, { id: "order-select", isOpen: isSelectOpen, selected: selectedOrder, onSelect: handleSelect, onOpenChange: (isOpen) => setIsSelectOpen(isOpen), shouldFocusToggleOnSelect: false, toggle: (toggleRef) => (React.createElement(MenuToggle, { ref: toggleRef, onClick: handleSelectToggle, isExpanded: isSelectOpen }, selectedOrder === 'Newest to Oldest' ? (React.createElement(Trans, null, "Newest to Oldest")) : (React.createElement(Trans, null, "Oldest to Newest")))) },
|
|
468
|
+
React.createElement(SelectOption, { value: "Newest to Oldest" },
|
|
469
|
+
React.createElement(Trans, null, "Newest to Oldest")),
|
|
470
|
+
React.createElement(SelectOption, { value: "Oldest to Newest" },
|
|
471
|
+
React.createElement(Trans, null, "Oldest to Newest"))))),
|
|
469
472
|
isFetchingData ? (React.createElement("div", { className: "timeline-loading-spinner" },
|
|
470
473
|
React.createElement(Spinner, { size: "xl" }))) : (React.createElement("div", { className: `timeline ${filteredEvents.length === 0 ? 'timeline-empty' : ''}` }, renderTimelineContent())),
|
|
471
474
|
React.createElement("div", { className: "timeline-controls" },
|
|
@@ -458,7 +458,6 @@ declare const _default: {
|
|
|
458
458
|
'No access': string;
|
|
459
459
|
'Bookmark Account': string;
|
|
460
460
|
'Submit request': string;
|
|
461
|
-
'Oldest to Newest': string;
|
|
462
461
|
i18RequestEscalationLearnMore: string;
|
|
463
462
|
'Private Notes': string;
|
|
464
463
|
on: string;
|
|
@@ -799,6 +798,47 @@ declare const _default: {
|
|
|
799
798
|
'Update info': string;
|
|
800
799
|
Summarize: string;
|
|
801
800
|
'Describe more': string;
|
|
801
|
+
'Newest to Oldest': string;
|
|
802
|
+
'Oldest to Newest': string;
|
|
803
|
+
Reset: string;
|
|
804
|
+
'Search for a user, action, or keyword': string;
|
|
805
|
+
'Try <reloadLink>reloading the page</reloadLink> or check back later': string;
|
|
806
|
+
'Try modifying your search query or changing the date range and try again.': string;
|
|
807
|
+
Resources: string;
|
|
808
|
+
'Upload a file for Red Hat to analyze': string;
|
|
809
|
+
'To help us provide the right guidance, upload a sosreport.': string;
|
|
810
|
+
'Describe your problem. Include specific actions and error messages.': string;
|
|
811
|
+
'How to create sosreport?': string;
|
|
812
|
+
'Articles recommended by OpenShift AI': string;
|
|
813
|
+
'Updating recommendations using OpenShift AI': string;
|
|
814
|
+
'Recommending articles using OpenShift AI': string;
|
|
815
|
+
'Exact match': string;
|
|
816
|
+
'Best match': string;
|
|
817
|
+
Match: string;
|
|
818
|
+
'Additional information': string;
|
|
819
|
+
'Support articles are matched to the product and version details you selected, not the problem details you entered.': string;
|
|
820
|
+
'convert to case': string;
|
|
821
|
+
'Please provide details about the location, device, software version, etc. where you encounter this issue': string;
|
|
822
|
+
'Describe the user or financial impact. Tell us about any legal, national, or medical urgency.': string;
|
|
823
|
+
'Describe when and how often the problem occurs, e.g., daily, after specific actions, at particular times of day, etc.': string;
|
|
824
|
+
"Describe the impact to you or the business'": string;
|
|
825
|
+
'In what environment are you experiencing this behavior?': string;
|
|
826
|
+
'How frequently does this behavior occur? Does it occur repeatedly or at certain times?': string;
|
|
827
|
+
i18nKeyPlaceHolderDetail: string;
|
|
828
|
+
'Example:': string;
|
|
829
|
+
'To expedite your case, include these details:': string;
|
|
830
|
+
Problem: string;
|
|
831
|
+
'Error Messages': string;
|
|
832
|
+
'Tips for describing your problem': string;
|
|
833
|
+
"There aren't any related tasks": string;
|
|
834
|
+
All: string;
|
|
835
|
+
Jira: string;
|
|
836
|
+
'Do you want to close this case?': string;
|
|
837
|
+
i18ConfirmResolution: string;
|
|
838
|
+
Resolution: string;
|
|
839
|
+
'Red Hat solved my issue or reviewed my request': string;
|
|
840
|
+
'The issue has been self-solved': string;
|
|
841
|
+
"I'm not experiencing the issue anymore": string;
|
|
802
842
|
'AI insights is currently unavailable, try reloading.': string;
|
|
803
843
|
'Back to resources': string;
|
|
804
844
|
'Chat with AI': string;
|
|
@@ -812,7 +852,6 @@ declare const _default: {
|
|
|
812
852
|
'Red Hat hand picked support articles': string;
|
|
813
853
|
Reload: string;
|
|
814
854
|
'Resolve your issue now with AI insights': string;
|
|
815
|
-
'Support articles are matched to the product and version details you selected, not the problem details you entered.': string;
|
|
816
855
|
'Troubleshoot with AI insights': string;
|
|
817
856
|
'Want to continue the conversation? Dive deeper with our AI assistant': string;
|
|
818
857
|
'Why did you choose this rating?': string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"template-de.d.ts","sourceRoot":"","sources":["../../../src/i18n/template-de.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"template-de.d.ts","sourceRoot":"","sources":["../../../src/i18n/template-de.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wBA4gCE"}
|
|
@@ -458,7 +458,6 @@ export default {
|
|
|
458
458
|
'No access': 'Kein Zugriff',
|
|
459
459
|
'Bookmark Account': 'Accounts als Lesezeichen abspeichern',
|
|
460
460
|
'Submit request': 'Anfrage absenden',
|
|
461
|
-
'Oldest to Newest': 'Älteste zuerst',
|
|
462
461
|
i18RequestEscalationLearnMore: 'Wenn das Problem schwerwiegender ist oder dem Ticket eine höhere Priorität zugeordnet werden soll, fügen Sie bitte einen ausführlichen Kommentar hinzu. Das Ticket wird anschließend von einem Support-Manager überprüft. <2>Learn more</2>',
|
|
463
462
|
'Private Notes': 'Private Notizen',
|
|
464
463
|
on: 'am',
|
|
@@ -801,7 +800,48 @@ export default {
|
|
|
801
800
|
'Update info': 'Info aktualisieren',
|
|
802
801
|
Summarize: 'Zusammenfassen',
|
|
803
802
|
'Describe more': 'Mehr beschreiben',
|
|
803
|
+
'Newest to Oldest': 'Neueste zuerst',
|
|
804
|
+
'Oldest to Newest': 'Älteste bis neueste',
|
|
805
|
+
Reset: 'Zurücksetzen',
|
|
806
|
+
'Search for a user, action, or keyword': 'Suche nach einem Benutzer, einer Aktion oder einem Schlüsselwort',
|
|
807
|
+
'Try <reloadLink>reloading the page</reloadLink> or check back later': 'Versuchen Sie, die Seite <reloadLink>neu zu laden</reloadLink> oder schauen Sie später noch einmal vorbei.',
|
|
808
|
+
'Try modifying your search query or changing the date range and try again.': 'Versuchen Sie, Ihre Suchanfrage oder den Datumsbereich zu ändern, und versuchen Sie es erneut.',
|
|
804
809
|
// Review: 'Überprüfung',
|
|
810
|
+
Resources: 'Ressourcen',
|
|
811
|
+
'Upload a file for Red Hat to analyze': 'Laden Sie eine Datei hoch, die Red Hat analysieren kann',
|
|
812
|
+
'To help us provide the right guidance, upload a sosreport.': 'Helfen Sie uns dabei, Ihnen die richtigen Anleitungen bereitzustellen, indem Sie einen Sosreport hochladen.',
|
|
813
|
+
'Describe your problem. Include specific actions and error messages.': 'Beschreiben Sie Ihr Problem. Geben Sie konkrete Aktionen und Fehlermeldungen an.',
|
|
814
|
+
'How to create sosreport?': 'Wie erstelle ich einen Sosreport?',
|
|
815
|
+
'Articles recommended by OpenShift AI': 'Von OpenShift AI empfohlene Artikel',
|
|
816
|
+
'Updating recommendations using OpenShift AI': 'Aktualisieren von Empfehlungen mit OpenShift AI',
|
|
817
|
+
'Recommending articles using OpenShift AI': 'Empfehlen von Artikeln mit OpenShift AI',
|
|
818
|
+
'Exact match': 'Genaue Übereinstimmung',
|
|
819
|
+
'Best match': 'Beste Übereinstimmung',
|
|
820
|
+
Match: 'Übereinstimmen',
|
|
821
|
+
'Additional information': 'Weitere Informationen',
|
|
822
|
+
'Support articles are matched to the product and version details you selected, not the problem details you entered.': 'Support-Artikel werden den von Ihnen ausgewählten Produkt- und Versionsdetails zugeordnet, nicht den von Ihnen eingegebenen Problemdetails.',
|
|
823
|
+
'convert to case': 'In Groß-/Kleinschreibung umwandeln',
|
|
824
|
+
'Please provide details about the location, device, software version, etc. where you encounter this issue': 'Bitte geben Sie Einzelheiten zu Ort, Gerät, Softwareversion usw. an, wo dieses Problem auftritt.',
|
|
825
|
+
'Describe the user or financial impact. Tell us about any legal, national, or medical urgency.': 'Beschreiben Sie die Auswirkungen für den Benutzer oder finanzielle Auswirkungen. Informieren Sie uns über rechtliche, nationale oder medizinische Dringlichkeiten.',
|
|
826
|
+
'Describe when and how often the problem occurs, e.g., daily, after specific actions, at particular times of day, etc.': 'Beschreiben Sie, wann und wie oft das Problem auftritt, z. B. täglich, nach bestimmten Aktionen, zu bestimmten Tageszeiten usw.',
|
|
827
|
+
"Describe the impact to you or the business'": 'Beschreiben Sie die Auswirkungen auf Sie oder das Unternehmen.',
|
|
828
|
+
'In what environment are you experiencing this behavior?': 'In welcher Umgebung tritt dieses Verhalten auf?',
|
|
829
|
+
'How frequently does this behavior occur? Does it occur repeatedly or at certain times?': 'Wie häufig tritt dieses Verhalten auf? Tritt es wiederholt oder zu bestimmten Zeiten auf?',
|
|
830
|
+
i18nKeyPlaceHolderDetail: 'Je mehr Details Sie angeben, desto einfacher ist es für uns, Ihnen zu helfen.',
|
|
831
|
+
'Example:': 'Beispiel:',
|
|
832
|
+
'To expedite your case, include these details:': 'Um die Bearbeitung Ihres Falles zu beschleunigen, geben Sie bitte die folgenden Details an:',
|
|
833
|
+
Problem: 'Problem',
|
|
834
|
+
'Error Messages': 'Fehlermeldungen',
|
|
835
|
+
'Tips for describing your problem': 'Tipps zur Beschreibung Ihres Problems',
|
|
836
|
+
"There aren't any related tasks": 'Es gibt keine zugehörigen Aufgaben',
|
|
837
|
+
All: 'Alle',
|
|
838
|
+
Jira: 'Jira',
|
|
839
|
+
'Do you want to close this case?': 'Möchten Sie diesen Fall abschließen?',
|
|
840
|
+
i18ConfirmResolution: 'Durch die Bestätigung wird der Status dieses Falls auf „Geschlossen“ gesetzt. Sie können den Fall auch nach Abschluss noch einsehen.',
|
|
841
|
+
Resolution: 'Lösung',
|
|
842
|
+
'Red Hat solved my issue or reviewed my request': 'Red Hat hat mein Problem gelöst oder meine Anfrage überprüft',
|
|
843
|
+
'The issue has been self-solved': 'Das Problem hat sich von selbst gelöst',
|
|
844
|
+
"I'm not experiencing the issue anymore": 'Das Problem tritt bei mir nicht mehr auf',
|
|
805
845
|
'AI insights is currently unavailable, try reloading.': 'AI insights ist derzeit nicht verfügbar. Versuchen Sie, es erneut zu laden.',
|
|
806
846
|
'Back to resources': 'Zurück zu den Ressourcen',
|
|
807
847
|
'Chat with AI': 'Mit KI chatten',
|
|
@@ -815,7 +855,6 @@ export default {
|
|
|
815
855
|
'Red Hat hand picked support articles': 'Von Red Hat ausgesuchte Support-Artikel',
|
|
816
856
|
Reload: 'Neu laden',
|
|
817
857
|
'Resolve your issue now with AI insights': 'Lösen Sie Ihr Problem jetzt mit AI insights',
|
|
818
|
-
'Support articles are matched to the product and version details you selected, not the problem details you entered.': 'Support-Artikel werden den von Ihnen ausgewählten Produkt- und Versionsdetails zugeordnet, nicht den von Ihnen eingegebenen Problemdetails.',
|
|
819
858
|
'Troubleshoot with AI insights': 'Fehlerbehebung mit AI insights',
|
|
820
859
|
'Want to continue the conversation? Dive deeper with our AI assistant': 'Möchten Sie die Unterhaltung fortsetzen? Tauchen Sie mit unserem KI-Assistenten noch tiefer ein',
|
|
821
860
|
'Why did you choose this rating?': 'Warum haben Sie diese Bewertung gewählt?',
|
|
@@ -460,7 +460,6 @@ declare const _default: {
|
|
|
460
460
|
'Bookmark account': string;
|
|
461
461
|
'Submit request': string;
|
|
462
462
|
'Active Customer Escalation (ACE)': string;
|
|
463
|
-
'Oldest to Newest': string;
|
|
464
463
|
i18RequestEscalationLearnMore: string;
|
|
465
464
|
'Private Notes': string;
|
|
466
465
|
on: string;
|
|
@@ -798,6 +797,41 @@ declare const _default: {
|
|
|
798
797
|
'Update info': string;
|
|
799
798
|
Summarize: string;
|
|
800
799
|
'Describe more': string;
|
|
800
|
+
Resources: string;
|
|
801
|
+
'Upload a file for Red Hat to analyze': string;
|
|
802
|
+
'To help us provide the right guidance, upload a sosreport.': string;
|
|
803
|
+
'Describe your problem. Include specific actions and error messages.': string;
|
|
804
|
+
'How to create sosreport?': string;
|
|
805
|
+
'Articles recommended by OpenShift AI': string;
|
|
806
|
+
'Updating recommendations using OpenShift AI': string;
|
|
807
|
+
'Recommending articles using OpenShift AI': string;
|
|
808
|
+
'Exact match': string;
|
|
809
|
+
'Best match': string;
|
|
810
|
+
Match: string;
|
|
811
|
+
'Additional information': string;
|
|
812
|
+
'Support articles are matched to the product and version details you selected, not the problem details you entered.': string;
|
|
813
|
+
'convert to case': string;
|
|
814
|
+
'Please provide details about the location, device, software version, etc. where you encounter this issue': string;
|
|
815
|
+
'Describe the user or financial impact. Tell us about any legal, national, or medical urgency.': string;
|
|
816
|
+
'Describe when and how often the problem occurs, e.g., daily, after specific actions, at particular times of day, etc.': string;
|
|
817
|
+
"Describe the impact to you or the business'": string;
|
|
818
|
+
'In what environment are you experiencing this behavior?': string;
|
|
819
|
+
'How frequently does this behavior occur? Does it occur repeatedly or at certain times?': string;
|
|
820
|
+
i18nKeyPlaceHolderDetail: string;
|
|
821
|
+
'Example:': string;
|
|
822
|
+
'To expedite your case, include these details:': string;
|
|
823
|
+
Problem: string;
|
|
824
|
+
'Error Messages': string;
|
|
825
|
+
'Tips for describing your problem': string;
|
|
826
|
+
"There aren't any related tasks": string;
|
|
827
|
+
All: string;
|
|
828
|
+
Jira: string;
|
|
829
|
+
'Do you want to close this case?': string;
|
|
830
|
+
i18ConfirmResolution: string;
|
|
831
|
+
Resolution: string;
|
|
832
|
+
'Red Hat solved my issue or reviewed my request': string;
|
|
833
|
+
'The issue has been self-solved': string;
|
|
834
|
+
"I'm not experiencing the issue anymore": string;
|
|
801
835
|
'AI insights is currently unavailable, try reloading.': string;
|
|
802
836
|
'Back to resources': string;
|
|
803
837
|
'Chat with AI': string;
|
|
@@ -811,7 +845,6 @@ declare const _default: {
|
|
|
811
845
|
'Red Hat hand picked support articles': string;
|
|
812
846
|
Reload: string;
|
|
813
847
|
'Resolve your issue now with AI insights': string;
|
|
814
|
-
'Support articles are matched to the product and version details you selected, not the problem details you entered.': string;
|
|
815
848
|
'Troubleshoot with AI insights': string;
|
|
816
849
|
'Want to continue the conversation? Dive deeper with our AI assistant': string;
|
|
817
850
|
'Why did you choose this rating?': string;
|
|
@@ -831,6 +864,12 @@ declare const _default: {
|
|
|
831
864
|
'Response recorded as unhelpful': string;
|
|
832
865
|
'Solved my issue': string;
|
|
833
866
|
'We appreciate your input. <br />It helps us improve this experience.': string;
|
|
867
|
+
'Newest to Oldest': string;
|
|
868
|
+
'Oldest to Newest': string;
|
|
869
|
+
Reset: string;
|
|
870
|
+
'Search for a user, action, or keyword': string;
|
|
871
|
+
'Try <reloadLink>reloading the page</reloadLink> or check back later': string;
|
|
872
|
+
'Try modifying your search query or changing the date range and try again.': string;
|
|
834
873
|
};
|
|
835
874
|
export default _default;
|
|
836
875
|
//# sourceMappingURL=template-es.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"template-es.d.ts","sourceRoot":"","sources":["../../../src/i18n/template-es.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"template-es.d.ts","sourceRoot":"","sources":["../../../src/i18n/template-es.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wBA6gCE"}
|