@rh-support/troubleshoot 2.6.312 → 2.6.314
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.js +2 -2
- package/lib/esm/components/CaseEditView/Case.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/Case.js +4 -3
- package/lib/esm/components/CaseEditView/CaseOverview/index.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/CaseOverview/index.js +2 -2
- package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CaseDetailsManagement.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CaseDetailsManagement.js +2 -2
- package/lib/esm/components/CaseEditView/Tabs/CaseDetails/ProductVersion.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/Tabs/CaseDetails/ProductVersion.js +64 -8
- package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/CaseAttachment.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/CaseAttachment.js +17 -20
- package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/CommentSearch.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/CommentSearch.js +7 -1
- package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/PostComment.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/PostComment.js +7 -8
- package/lib/esm/components/CaseInformation/CaseInformation.d.ts.map +1 -1
- package/lib/esm/components/CaseInformation/CaseInformation.js +3 -4
- package/lib/esm/components/CaseInformation/FileDiag.d.ts.map +1 -1
- package/lib/esm/components/CaseInformation/FileDiag.js +0 -4
- package/lib/esm/components/IdeaInformation/IdeaInformation.d.ts.map +1 -1
- package/lib/esm/components/IdeaInformation/IdeaInformation.js +3 -4
- package/lib/esm/components/ProductSelector/NewProductVersionSelector.d.ts.map +1 -1
- package/lib/esm/components/ProductSelector/NewProductVersionSelector.js +8 -1
- package/lib/esm/components/ProductSelector/ProductNotEntitledWarning.d.ts +3 -0
- package/lib/esm/components/ProductSelector/ProductNotEntitledWarning.d.ts.map +1 -0
- package/lib/esm/components/ProductSelector/ProductNotEntitledWarning.js +9 -0
- package/lib/esm/components/ProductSelector/ProductVersionDropdownSelector.d.ts.map +1 -1
- package/lib/esm/components/ProductSelector/ProductVersionDropdownSelector.js +9 -1
- package/lib/esm/components/Recommendations/AsideResults.d.ts.map +1 -1
- package/lib/esm/components/Recommendations/AsideResults.js +3 -2
- package/lib/esm/components/shared/fileUpload/FileUpload.js +2 -3
- package/lib/esm/components/shared/fileUpload/reducer/AttachmentHelper.d.ts +1 -0
- package/lib/esm/components/shared/fileUpload/reducer/AttachmentHelper.d.ts.map +1 -1
- package/lib/esm/components/shared/fileUpload/reducer/AttachmentHelper.js +17 -8
- package/lib/esm/components/shared/fileUpload/useFileUploader.d.ts.map +1 -1
- package/lib/esm/components/shared/fileUpload/useFileUploader.js +26 -8
- package/lib/esm/components/shared/useIsSectionValid.d.ts.map +1 -1
- package/lib/esm/components/shared/useIsSectionValid.js +21 -42
- package/lib/esm/components/wizardLayout/GlobalTroubleshootEffects.d.ts.map +1 -1
- package/lib/esm/components/wizardLayout/GlobalTroubleshootEffects.js +19 -12
- package/lib/esm/components/wizardLayout/WizardAside.d.ts.map +1 -1
- package/lib/esm/components/wizardLayout/WizardAside.js +2 -4
- package/lib/esm/components/wizardLayout/WizardLayout.d.ts.map +1 -1
- package/lib/esm/components/wizardLayout/WizardLayout.js +4 -36
- package/lib/esm/css/case.css +6 -0
- package/lib/esm/reducers/CaseConstNTypes.d.ts +0 -1
- package/lib/esm/reducers/CaseConstNTypes.d.ts.map +1 -1
- package/lib/esm/reducers/CaseConstNTypes.js +0 -1
- package/lib/esm/reducers/CaseReducer.d.ts +3 -1
- package/lib/esm/reducers/CaseReducer.d.ts.map +1 -1
- package/lib/esm/reducers/CaseReducer.js +30 -37
- package/package.json +7 -7
- package/lib/esm/components/ProductSelector/ProductNotEntitledModal.d.ts +0 -8
- package/lib/esm/components/ProductSelector/ProductNotEntitledModal.d.ts.map +0 -1
- package/lib/esm/components/ProductSelector/ProductNotEntitledModal.js +0 -11
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React, { useContext } from 'react';
|
|
2
2
|
import { Trans } from 'react-i18next';
|
|
3
3
|
import FileLister from './FileLister';
|
|
4
|
-
import { isUploadingAttachment } from './reducer/AttachmentHelper';
|
|
4
|
+
import { hasSomeSelectedFiles, isUploadingAttachment } from './reducer/AttachmentHelper';
|
|
5
5
|
import { AttachmentStateContext } from './reducer/AttachmentReducerContext';
|
|
6
6
|
import { FileUploadButton } from './UploadButton';
|
|
7
7
|
import { useFileUploader } from './useFileUploader';
|
|
@@ -14,12 +14,11 @@ const defaultProps = {
|
|
|
14
14
|
showDescriptionInfoMsg: false,
|
|
15
15
|
};
|
|
16
16
|
function FileUpload(props) {
|
|
17
|
-
var _a, _b, _c;
|
|
18
17
|
// Attachment Reducer Related
|
|
19
18
|
const { attachmentState } = useContext(AttachmentStateContext);
|
|
20
19
|
const { editFile, removeFile, retryUpload, uploadAll, retryAnalysis } = useFileUploader(props);
|
|
21
20
|
return (React.createElement("section", { className: `${props.className}`, id: `${props.id}` },
|
|
22
|
-
(
|
|
21
|
+
hasSomeSelectedFiles(attachmentState.caseFiles.selectedLocalFiles) && (React.createElement(React.Fragment, null,
|
|
23
22
|
!props.isSessionId ? (React.createElement("h4", null,
|
|
24
23
|
React.createElement(Trans, null, "Uploading attachment(s)"))) : null,
|
|
25
24
|
React.createElement(FileLister, { onRetryAnalysis: retryAnalysis, selectedLocalFiles: attachmentState.caseFiles.selectedLocalFiles, onFileEdit: editFile, onFileRemove: removeFile, onRetry: retryUpload, isSessionId: props.isSessionId, showSlowUploadMsg: attachmentState.showUploadingOnSlowConnectionMsg }))),
|
|
@@ -34,6 +34,7 @@ export declare const hasSomeUnUploadedAttachments: (selectedLocalFiles: IFileLoc
|
|
|
34
34
|
export declare const hasQueuedAttachmentUploads: (selectedLocalFiles: IFileLocal[]) => boolean;
|
|
35
35
|
/** Aborted/failed rows should stay in the upload panel until the user clicks Remove. */
|
|
36
36
|
export declare const hasAbortedOrFailedAttachments: (selectedLocalFiles: IFileLocal[]) => boolean;
|
|
37
|
+
/** True when at least one non-deleted file remains in the upload queue (UI visibility). */
|
|
37
38
|
export declare const hasSomeSelectedFiles: (selectedLocalFiles: IFileLocal[]) => boolean;
|
|
38
39
|
export declare const isUploadingAttachment: (selectedLocalFiles: IFileLocal[]) => boolean;
|
|
39
40
|
export declare const isAnalysingAnyAttachment: (selectedLocalFiles: IFileLocal[]) => boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AttachmentHelper.d.ts","sourceRoot":"","sources":["../../../../../../src/components/shared/fileUpload/reducer/AttachmentHelper.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,oDAAoD,CAAC;AAC3F,OAAO,EAAE,0BAA0B,EAAE,MAAM,2CAA2C,CAAC;AAEvF,OAAO,EACH,iBAAiB,
|
|
1
|
+
{"version":3,"file":"AttachmentHelper.d.ts","sourceRoot":"","sources":["../../../../../../src/components/shared/fileUpload/reducer/AttachmentHelper.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,7 +9,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
};
|
|
10
10
|
import { Config, pcm, sessionAttachments } from '@cee-eng/hydrajs';
|
|
11
11
|
import { ToastNotification } from '@rh-support/components';
|
|
12
|
-
import { fetchCaseDetailsByCaseNumber, GET_CONTENT_DOCUMENT_IDS, getText, MultipartUploadError, pendoTrackEvent, pollAttachmentUploadStatus, pollContentVersionStatus, uploadCaseAttachment, } from '@rh-support/utils';
|
|
12
|
+
import { CaseAttachmentUploadError, fetchCaseDetailsByCaseNumber, GET_CONTENT_DOCUMENT_IDS, getText, MultipartUploadError, pendoTrackEvent, pollAttachmentUploadStatus, pollContentVersionStatus, uploadCaseAttachment, } from '@rh-support/utils';
|
|
13
13
|
import find from 'lodash/find';
|
|
14
14
|
import forEach from 'lodash/forEach';
|
|
15
15
|
import includes from 'lodash/includes';
|
|
@@ -98,7 +98,8 @@ export const hasQueuedAttachmentUploads = (selectedLocalFiles) => !isEmpty(find(
|
|
|
98
98
|
/** Aborted/failed rows should stay in the upload panel until the user clicks Remove. */
|
|
99
99
|
export const hasAbortedOrFailedAttachments = (selectedLocalFiles) => !isEmpty(find(selectedLocalFiles, (localFile) => isUploadAborted(localFile.uploadProgress.uploadStatus) ||
|
|
100
100
|
isUploadFailed(localFile.uploadProgress.uploadStatus)));
|
|
101
|
-
|
|
101
|
+
/** True when at least one non-deleted file remains in the upload queue (UI visibility). */
|
|
102
|
+
export const hasSomeSelectedFiles = (selectedLocalFiles) => !isEmpty(find(selectedLocalFiles, (localFile) => !isFileDeleted(localFile.uploadProgress.uploadStatus)));
|
|
102
103
|
export const isUploadingAttachment = (selectedLocalFiles) => !isEmpty(find(selectedLocalFiles, (localFile) => isUploading(localFile.uploadProgress.uploadStatus)));
|
|
103
104
|
export const isAnalysingAnyAttachment = (selectedLocalFiles) => !isEmpty(find(selectedLocalFiles, (localFile) => isAnalysingFile(localFile.analysisMetadata.analysisStatus)));
|
|
104
105
|
export const canShowProgressBar = (file) => isUploading(file.uploadProgress.uploadStatus) || isAnalysingFile(file.analysisMetadata.analysisStatus);
|
|
@@ -106,6 +107,7 @@ export const shouldHideDescription = (file, isSessionUpload) => !file.uploadabil
|
|
|
106
107
|
isUploading(file.uploadProgress.uploadStatus) ||
|
|
107
108
|
(!isSessionUpload &&
|
|
108
109
|
(isUploadAborted(file.uploadProgress.uploadStatus) ||
|
|
110
|
+
isUploadFailed(file.uploadProgress.uploadStatus) ||
|
|
109
111
|
(file.uploadability.ableToUpload &&
|
|
110
112
|
file.uploadProgress.percentUploaded > 0 &&
|
|
111
113
|
(file.description || '').length === 0) ||
|
|
@@ -153,6 +155,7 @@ needsAnalyzing = false, isSessionId = false, slowUploadConfig = {}, apolloClient
|
|
|
153
155
|
export const uploadFile = (_a) => __awaiter(void 0, [_a], void 0, function* ({ dispatch, idToUploadTo, localFile, originalFile, index,
|
|
154
156
|
// isSecureSupport = false, // TODO: Re-enable when Hydra/GraphQL attachment APIs support secure support again
|
|
155
157
|
needsAnalyzing = false, isSessionId = false, slowUploadConfig = {}, apolloClient, caseSalesforceId, onCaseFileUploaded, }) {
|
|
158
|
+
var _b;
|
|
156
159
|
if (!localFile.uploadability.ableToUpload) {
|
|
157
160
|
return;
|
|
158
161
|
}
|
|
@@ -169,6 +172,8 @@ needsAnalyzing = false, isSessionId = false, slowUploadConfig = {}, apolloClient
|
|
|
169
172
|
Metadata: Object.assign(Object.assign(Object.assign(Object.assign({}, (localFile.description && { 'x-amz-meta-description': localFile.description })), (localFile.name && { 'x-amz-meta-fileName': localFile.name })), (localFile.size && { 'x-amz-meta-byteLength': localFile.size.toString() })), (localFile.type && { 'x-amz-meta-content-type': localFile.type })),
|
|
170
173
|
};
|
|
171
174
|
let triggerTrackSlowUpload = true;
|
|
175
|
+
// Hoisted so catch can treat S3 403-after-abort as user cancel, not a hard failure.
|
|
176
|
+
let userAborted = false;
|
|
172
177
|
try {
|
|
173
178
|
const listener = (progress, abort, isUploadingWithSlowConfig) => {
|
|
174
179
|
if (isUploadingWithSlowConfig && triggerTrackSlowUpload) {
|
|
@@ -224,7 +229,6 @@ needsAnalyzing = false, isSessionId = false, slowUploadConfig = {}, apolloClient
|
|
|
224
229
|
else {
|
|
225
230
|
// Mirror master Hydra listener behavior for circular progress + abort button.
|
|
226
231
|
let abortUpload;
|
|
227
|
-
let userAborted = false;
|
|
228
232
|
const onAbort = (abortedFileIndex) => {
|
|
229
233
|
userAborted = true;
|
|
230
234
|
const abortPayload = {
|
|
@@ -309,11 +313,16 @@ needsAnalyzing = false, isSessionId = false, slowUploadConfig = {}, apolloClient
|
|
|
309
313
|
}
|
|
310
314
|
}
|
|
311
315
|
catch (error) {
|
|
312
|
-
|
|
316
|
+
const isUserAbort = userAborted || (error === null || error === void 0 ? void 0 : error.message) === 'Request aborted by user';
|
|
317
|
+
const attachmentIdFromError = (error instanceof MultipartUploadError && ((_b = error.resumeData) === null || _b === void 0 ? void 0 : _b.attachmentId)) ||
|
|
318
|
+
(error instanceof CaseAttachmentUploadError && error.attachmentId) ||
|
|
319
|
+
undefined;
|
|
320
|
+
if (attachmentIdFromError) {
|
|
321
|
+
updateAttachmentIdForFile(dispatch, attachmentIdFromError, index);
|
|
322
|
+
}
|
|
323
|
+
if (isUserAbort) {
|
|
313
324
|
const resumeState = error instanceof MultipartUploadError ? error.resumeData : undefined;
|
|
314
|
-
|
|
315
|
-
updateUploadMetadata(dispatch, index, { multipartResumeState: resumeState });
|
|
316
|
-
}
|
|
325
|
+
updateUploadMetadata(dispatch, index, Object.assign({ uploadStatus: UploadStatusConstants.aborted, uploadErrorMessage: '', onAbort: undefined, percentUploaded: 0 }, (resumeState && resumeState.completedParts.length > 0 ? { multipartResumeState: resumeState } : {})));
|
|
317
326
|
}
|
|
318
327
|
else {
|
|
319
328
|
console.error(error);
|
|
@@ -328,7 +337,6 @@ needsAnalyzing = false, isSessionId = false, slowUploadConfig = {}, apolloClient
|
|
|
328
337
|
if (!uploadErrorPayload.multipartResumeState) {
|
|
329
338
|
uploadErrorPayload.percentUploaded = 0;
|
|
330
339
|
}
|
|
331
|
-
updateAttachmentIdForFile(dispatch, null, index);
|
|
332
340
|
updateUploadMetadata(dispatch, index, uploadErrorPayload);
|
|
333
341
|
}
|
|
334
342
|
}
|
|
@@ -439,6 +447,7 @@ export function moveSessionAttachmentToCase(dispatch, caseNumber, sessionId, loc
|
|
|
439
447
|
fileSize: String(localFile.size),
|
|
440
448
|
totalChunks: String(totalChunks),
|
|
441
449
|
clientId: 'pcm',
|
|
450
|
+
description: localFile.description,
|
|
442
451
|
},
|
|
443
452
|
],
|
|
444
453
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFileUploader.d.ts","sourceRoot":"","sources":["../../../../../src/components/shared/fileUpload/useFileUploader.tsx"],"names":[],"mappings":"AAaA,OAAO,KAA8D,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"useFileUploader.d.ts","sourceRoot":"","sources":["../../../../../src/components/shared/fileUpload/useFileUploader.tsx"],"names":[],"mappings":"AAaA,OAAO,KAA8D,MAAM,OAAO,CAAC;AAgBnF,OAAO,EACH,UAAU,EAKb,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAC;AAEnD,wBAAgB,eAAe,CAAC,KAAK,EAAE,wBAAwB;gCA8EjB,MAAM;gCAYA,UAAU,mBAAmB,MAAM,WAAW,UAAU;oCAOpD,MAAM,QAAQ,UAAU;wBA4DzC,KAAK,CAAC,UAAU,CAAC,iBAAiB,EAAE,UAAU,CAAC;4BA+B3C,MAAM;kCAzGN,MAAM;EAmIhD"}
|
|
@@ -18,8 +18,8 @@ import { SessionRestoreDispatchContext, SessionRestoreStateContext } from '../..
|
|
|
18
18
|
import { SESSION_REFERRER_URL_LIMIT } from '../../../reducers/CaseConstNTypes';
|
|
19
19
|
import { getSessionDetailsFromCase } from '../../../reducers/CaseHelpers';
|
|
20
20
|
import { createSession } from '../../../reducers/SessionRestoreReducer';
|
|
21
|
-
import { doSosReportAnalysisForFile, isAnalysingAnyAttachment, isUploadedSuccessfully, isUploadingAttachment, updateUploadMetadata, uploadAllFiles, uploadFile, } from './reducer/AttachmentHelper';
|
|
22
|
-
import { onFileEdit, onFileRemove, UploadStatusConstants } from './reducer/AttachmentReducer';
|
|
21
|
+
import { doSosReportAnalysisForFile, hasSomeSelectedFiles, isAnalysingAnyAttachment, isUploadedSuccessfully, isUploadingAttachment, updateUploadMetadata, uploadAllFiles, uploadFile, } from './reducer/AttachmentHelper';
|
|
22
|
+
import { onFileEdit, onFileRemove, resetAttachment, UploadStatusConstants, } from './reducer/AttachmentReducer';
|
|
23
23
|
import { AttachmentDispatchContext, AttachmentStateContext } from './reducer/AttachmentReducerContext';
|
|
24
24
|
export function useFileUploader(props) {
|
|
25
25
|
const { attachmentState, attachmentState: { caseFiles }, } = useContext(AttachmentStateContext);
|
|
@@ -83,23 +83,41 @@ export function useFileUploader(props) {
|
|
|
83
83
|
debounceSessionMetadataUpdate(editedLocalFile, changes);
|
|
84
84
|
});
|
|
85
85
|
const onFileRemoveLocal = (fileIndexToRemove, file) => __awaiter(this, void 0, void 0, function* () {
|
|
86
|
-
var _a, _b;
|
|
86
|
+
var _a, _b, _c;
|
|
87
87
|
// Stop in-flight S3 transfer if Remove is used while upload/verify is still active
|
|
88
88
|
(_b = (_a = file.uploadProgress).onAbort) === null || _b === void 0 ? void 0 : _b.call(_a, fileIndexToRemove);
|
|
89
|
+
const attachmentIdToDelete = file.attachmentId || ((_c = file.uploadProgress.multipartResumeState) === null || _c === void 0 ? void 0 : _c.attachmentId);
|
|
89
90
|
const selectedLocalFiles = attachmentState.caseFiles.selectedLocalFiles;
|
|
90
|
-
|
|
91
|
+
const isBusy = isUploadingAttachment(selectedLocalFiles) || isAnalysingAnyAttachment(selectedLocalFiles);
|
|
92
|
+
let nextLocalFiles;
|
|
93
|
+
if (!isBusy) {
|
|
91
94
|
onFileRemove(dispatch, fileIndexToRemove);
|
|
95
|
+
nextLocalFiles = selectedLocalFiles.filter((_, index) => index !== fileIndexToRemove);
|
|
92
96
|
}
|
|
93
97
|
else {
|
|
94
98
|
updateUploadMetadata(dispatch, fileIndexToRemove, {
|
|
95
99
|
uploadStatus: UploadStatusConstants.deleted,
|
|
96
100
|
onAbort: undefined,
|
|
97
101
|
});
|
|
102
|
+
nextLocalFiles = selectedLocalFiles.map((localFile, index) => index === fileIndexToRemove
|
|
103
|
+
? Object.assign(Object.assign({}, localFile), { uploadProgress: Object.assign(Object.assign({}, localFile.uploadProgress), { uploadStatus: UploadStatusConstants.deleted, onAbort: undefined }) }) : localFile);
|
|
104
|
+
}
|
|
105
|
+
// Drop soft-deleted stubs so "Uploading attachment(s)" / Upload new file do not linger
|
|
106
|
+
if (!hasSomeSelectedFiles(nextLocalFiles)) {
|
|
107
|
+
resetAttachment(dispatch);
|
|
108
|
+
}
|
|
109
|
+
if (attachmentIdToDelete && isSessionId && isUploadedSuccessfully(file)) {
|
|
110
|
+
deleteSessionAttachment(idToUploadTo, attachmentIdToDelete);
|
|
111
|
+
}
|
|
112
|
+
// Abort/fail after Hydra init still has an attachmentId — clean up SFDC "In Progress" on Remove only
|
|
113
|
+
if (attachmentIdToDelete && !isSessionId) {
|
|
114
|
+
try {
|
|
115
|
+
yield deleteCaseAttachmentRequest(idToUploadTo, attachmentIdToDelete);
|
|
116
|
+
}
|
|
117
|
+
catch (_d) {
|
|
118
|
+
// Best-effort: row is already removed from the PCM queue
|
|
119
|
+
}
|
|
98
120
|
}
|
|
99
|
-
isUploadedSuccessfully(file) && isSessionId && deleteSessionAttachment(idToUploadTo, file.attachmentId);
|
|
100
|
-
// TODO: Re-enable when delete API accepts isSecureSupport again
|
|
101
|
-
// isUploadedSuccessfully(file) && !isSessionId && deleteCaseAttachment(idToUploadTo, file.attachmentId, isSecureSupport);
|
|
102
|
-
isUploadedSuccessfully(file) && !isSessionId && deleteCaseAttachmentRequest(idToUploadTo, file.attachmentId);
|
|
103
121
|
});
|
|
104
122
|
const resolveCaseSalesforceId = () => __awaiter(this, void 0, void 0, function* () {
|
|
105
123
|
if (caseSalesforceIdRef.current || isSessionId || !idToUploadTo || !apolloClient) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useIsSectionValid.d.ts","sourceRoot":"","sources":["../../../../src/components/shared/useIsSectionValid.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useIsSectionValid.d.ts","sourceRoot":"","sources":["../../../../src/components/shared/useIsSectionValid.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAgC,MAAM,OAAO,CAAC;AAuBrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAKnE,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,gBAAgB;;;;;EAoP9D"}
|
|
@@ -1,19 +1,16 @@
|
|
|
1
|
-
// import { contacts } from '@cee-eng/hydrajs';
|
|
2
1
|
import { GlobalMetadataStateContext } from '@rh-support/react-context';
|
|
3
|
-
// import find from 'lodash/find';
|
|
4
2
|
import isEmpty from 'lodash/isEmpty';
|
|
5
3
|
import isEqual from 'lodash/isEqual';
|
|
6
|
-
import React, { useContext } from 'react';
|
|
7
|
-
// import React, { useContext, useEffect, useState } from 'react';
|
|
4
|
+
import React, { useContext, useEffect } from 'react';
|
|
8
5
|
import { Trans } from 'react-i18next';
|
|
9
6
|
import { useCaseSelector } from '../../context/CaseContext';
|
|
10
|
-
import { RouteContext } from '../../context/RouteContext';
|
|
11
|
-
// import { RouteContext, useRouteDispatchContext } from '../../context/RouteContext';
|
|
7
|
+
import { RouteContext, useRouteDispatchContext } from '../../context/RouteContext';
|
|
12
8
|
import { TCStateContext } from '../../context/TopContentContext';
|
|
13
9
|
import { useAB } from '../../hooks/useAB';
|
|
14
10
|
import { CASE_DEATILS_ENVIRONMENT_LIMIT, CASE_REFERENCE_NUMBER_LIMIT, CONTACT_INFO_24X7_LIMIT, HOSTNAME_LENGTH_LIMIT, ISSUE_SUMMARY_LENGTH_LIMIT, KTQUESTION_MAX_LIMIT, TITLE_SUMMARY_LENGTH_LIMIT, } from '../../reducers/CaseConstNTypes';
|
|
15
11
|
import { isCaseInformationSectionValid, isCaseManagementStateValid, isCaseStateValid, isClusterIDValid, isIdeaCaseStateValid, } from '../../reducers/CaseHelpers';
|
|
16
12
|
import { AppRouteSections } from '../../reducers/RouteConstNTypes';
|
|
13
|
+
import { setNoValidEntitlement } from '../../reducers/RouteReducer';
|
|
17
14
|
import { AttachmentStateContext } from './fileUpload/reducer/AttachmentReducerContext';
|
|
18
15
|
export function useIsSectionValid(sectionName) {
|
|
19
16
|
const { isVariationA } = useAB();
|
|
@@ -36,34 +33,15 @@ export function useIsSectionValid(sectionName) {
|
|
|
36
33
|
// ssoUsername: state.selectedOwner.data.ssoUsername,
|
|
37
34
|
manageSupportCases: state.selectedOwner.data.manageSupportCases,
|
|
38
35
|
}), isEqual);
|
|
39
|
-
|
|
40
|
-
// const [isEntitlement, setIsEntitlement] = useState<boolean | null>(null);
|
|
41
|
-
// useEffect(() => {
|
|
42
|
-
// const fetchContactDetails = async () => {
|
|
43
|
-
// if (ssoUsername) {
|
|
44
|
-
// try {
|
|
45
|
-
// const response = await contacts.getSFDCContactBySso(ssoUsername);
|
|
46
|
-
// setIsEntitlement(response?.isEntitled ?? null);
|
|
47
|
-
// setNoValidEntitlement(routeDispatch, !response?.isEntitled);
|
|
48
|
-
// } catch (error) {
|
|
49
|
-
// console.error('Error fetching contact details:', error);
|
|
50
|
-
// setIsEntitlement(null);
|
|
51
|
-
// setNoValidEntitlement(routeDispatch, null);
|
|
52
|
-
// }
|
|
53
|
-
// }
|
|
54
|
-
// };
|
|
55
|
-
// fetchContactDetails();
|
|
56
|
-
// }, [ssoUsername, routeDispatch]);
|
|
57
|
-
// Contact-level entitlement hardcoded to true — now resolved from SFDCProductJSON__c
|
|
58
|
-
const isEntitlement = true;
|
|
36
|
+
const routeDispatch = useRouteDispatchContext();
|
|
59
37
|
const { routeState: { isCaseCreate }, } = useContext(RouteContext);
|
|
60
38
|
const { globalMetadataState: { allProducts, loggedInUserRights }, } = useContext(GlobalMetadataStateContext);
|
|
39
|
+
// Global entitlement from subscription GraphQL → loggedInUser.isEntitled → UserAuth.isEntitled()
|
|
40
|
+
const isEntitlement = loggedInUserRights.data.isEntitled();
|
|
41
|
+
useEffect(() => {
|
|
42
|
+
setNoValidEntitlement(routeDispatch, !isEntitlement);
|
|
43
|
+
}, [isEntitlement, routeDispatch]);
|
|
61
44
|
const { topContentState: { topContent }, } = useContext(TCStateContext);
|
|
62
|
-
// isEntitledProduct — commented out; product-level entitlement now resolved from SFDCProductJSON__c
|
|
63
|
-
// const isEntitledProduct = find(
|
|
64
|
-
// allProducts?.data?.productsResult,
|
|
65
|
-
// (p) => p.product === caseState.caseDetails.product
|
|
66
|
-
// )?.isEntitledProduct;
|
|
67
45
|
const { routeState: { activeSection }, } = useContext(RouteContext);
|
|
68
46
|
const { attachmentState } = useContext(AttachmentStateContext);
|
|
69
47
|
const selectedLocalFiles = attachmentState.caseFiles.selectedLocalFiles;
|
|
@@ -143,7 +121,7 @@ export function useIsSectionValid(sectionName) {
|
|
|
143
121
|
const isAdditionalInformationSectionValidLocal = () => {
|
|
144
122
|
var _a;
|
|
145
123
|
const hostnameIsValid = hostname ? (hostname === null || hostname === void 0 ? void 0 : hostname.length) <= HOSTNAME_LENGTH_LIMIT : true;
|
|
146
|
-
return (
|
|
124
|
+
return (isEntitlement &&
|
|
147
125
|
isClusterIDValid(caseState, (_a = allProducts.data) === null || _a === void 0 ? void 0 : _a.productsResult) &&
|
|
148
126
|
isCaseInformationSectionValid(caseState, loggedInUserRights) &&
|
|
149
127
|
hostnameIsValid &&
|
|
@@ -179,7 +157,7 @@ export function useIsSectionValid(sectionName) {
|
|
|
179
157
|
// isEntitledProduct check removed — product-level entitlement now resolved from SFDCProductJSON__c
|
|
180
158
|
return '';
|
|
181
159
|
};
|
|
182
|
-
const
|
|
160
|
+
const getEntitlementSectionError = () => {
|
|
183
161
|
if (manageSupportCases === false) {
|
|
184
162
|
return (React.createElement(Trans, { i18nKey: "i18ManageCaseContactCustomerService" },
|
|
185
163
|
"You need additional access to manage cases.\u00A0 Please contact",
|
|
@@ -187,14 +165,13 @@ export function useIsSectionValid(sectionName) {
|
|
|
187
165
|
React.createElement("a", { href: "/support/contact/customerService" }, "Customer Service"),
|
|
188
166
|
" for assistance."));
|
|
189
167
|
}
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
// }
|
|
168
|
+
if (isEntitlement === false) {
|
|
169
|
+
return (React.createElement(Trans, { i18nKey: "i18ValidEntitlementContactCustomerService" },
|
|
170
|
+
"You need a valid entitlement to create a case.\u00A0 Please contact",
|
|
171
|
+
' ',
|
|
172
|
+
React.createElement("a", { href: "/support/contact/customerService" }, "Customer Service"),
|
|
173
|
+
" for assistance."));
|
|
174
|
+
}
|
|
198
175
|
return '';
|
|
199
176
|
};
|
|
200
177
|
const activeSectionError = (sectionNameLocal) => {
|
|
@@ -204,7 +181,9 @@ export function useIsSectionValid(sectionName) {
|
|
|
204
181
|
case AppRouteSections.RESOURCES:
|
|
205
182
|
return recommendationSectionError();
|
|
206
183
|
case AppRouteSections.GET_SUPPORT:
|
|
207
|
-
|
|
184
|
+
case AppRouteSections.SUMMARIZE:
|
|
185
|
+
case AppRouteSections.TROUBLESHOOT:
|
|
186
|
+
return getEntitlementSectionError();
|
|
208
187
|
default:
|
|
209
188
|
return '';
|
|
210
189
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GlobalTroubleshootEffects.d.ts","sourceRoot":"","sources":["../../../../src/components/wizardLayout/GlobalTroubleshootEffects.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"GlobalTroubleshootEffects.d.ts","sourceRoot":"","sources":["../../../../src/components/wizardLayout/GlobalTroubleshootEffects.tsx"],"names":[],"mappings":"AAcA,OAAO,KAAkD,MAAM,OAAO,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAgBvD,OAAO,EAAuC,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAYvG,UAAU,MAAM;IACZ,UAAU,EAAE,mBAAmB,CAAC,eAAe,CAAC,CAAC;CACpD;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,MAAM,qBA2dtD"}
|
|
@@ -10,7 +10,6 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
10
10
|
import { useApolloClient } from '@apollo/client/react';
|
|
11
11
|
import { useDebounce } from '@rh-support/components';
|
|
12
12
|
import { GlobalMetadataStateContext, useUserPreferences } from '@rh-support/react-context';
|
|
13
|
-
import { ability, CaseListFields, resourceActions, resources } from '@rh-support/user-permissions';
|
|
14
13
|
import { GET_ACCOUNT_CONTACTS, resolveProductServiceLevelsForAccount, } from '@rh-support/utils';
|
|
15
14
|
import findIndex from 'lodash/findIndex';
|
|
16
15
|
import includes from 'lodash/includes';
|
|
@@ -69,7 +68,6 @@ export function GlobalTroubleshootEffects(props) {
|
|
|
69
68
|
const isFirstMountProduct = useRef(true);
|
|
70
69
|
const { getPreferredLanguage } = useUserPreferences();
|
|
71
70
|
const rulesDispatch = useContext(RulesDispatchContext);
|
|
72
|
-
const canAddAttachments = ability.can(resourceActions.PATCH, resources.CASE_CREATE, CaseListFields.ATTACHMENTS);
|
|
73
71
|
// top content state
|
|
74
72
|
const { topContentState: { topContentPayload }, } = useContext(TCStateContext);
|
|
75
73
|
const tcDispatch = useContext(TCDispatchContext);
|
|
@@ -107,16 +105,16 @@ export function GlobalTroubleshootEffects(props) {
|
|
|
107
105
|
RouteUtils.updateQueryParams(props.routeProps, newParams);
|
|
108
106
|
return;
|
|
109
107
|
}
|
|
110
|
-
// product in url is valid
|
|
108
|
+
// product in url is valid — versions are loaded separately via GetProducts
|
|
111
109
|
const productVersions = allProducts.data.productsResult[index].versions;
|
|
112
110
|
let versionToSet;
|
|
113
|
-
if (
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
111
|
+
if (!isEmpty(versionFromUrl)) {
|
|
112
|
+
if (!isEmpty(productVersions)) {
|
|
113
|
+
versionToSet = includes(productVersions, versionFromUrl) ? versionFromUrl : undefined;
|
|
114
|
+
}
|
|
115
|
+
else {
|
|
116
|
+
versionToSet = versionFromUrl;
|
|
117
|
+
}
|
|
120
118
|
}
|
|
121
119
|
if (product !== productFromUrl || version !== versionToSet) {
|
|
122
120
|
setCaseDetails(caseDispatch, {
|
|
@@ -275,7 +273,16 @@ export function GlobalTroubleshootEffects(props) {
|
|
|
275
273
|
fetchTopContent(tcDispatch, { product, version });
|
|
276
274
|
}, [product, tcDispatch, topContentPayload, version]);
|
|
277
275
|
useEffect(() => {
|
|
278
|
-
if (isEmpty(product)
|
|
276
|
+
if (isEmpty(product)) {
|
|
277
|
+
setCaseState(caseDispatch, {
|
|
278
|
+
isProductNotEntitled: false,
|
|
279
|
+
productServiceLevel: undefined,
|
|
280
|
+
otherServiceLevels: [],
|
|
281
|
+
selectedEntitlementId: undefined,
|
|
282
|
+
});
|
|
283
|
+
return;
|
|
284
|
+
}
|
|
285
|
+
if (selectedAccountDetails.isFetching || isEmpty(selectedAccountDetails.data))
|
|
279
286
|
return;
|
|
280
287
|
const serviceLevels = resolveProductServiceLevelsForAccount(selectedAccountDetails.data, allProducts.data.productsResult, product);
|
|
281
288
|
if (!serviceLevels || !serviceLevels.productServiceLevel) {
|
|
@@ -338,7 +345,7 @@ export function GlobalTroubleshootEffects(props) {
|
|
|
338
345
|
session_id: activeSessionId,
|
|
339
346
|
}, accountType: {
|
|
340
347
|
isSecure: selectedAccountDetails.data.securedEnvironment || false,
|
|
341
|
-
},
|
|
348
|
+
}, fields: ['title', 'cta', 'description', 'rule_type', 'rule_sub_type', 'rule_id'] }, ((selectedLocalFiles === null || selectedLocalFiles === void 0 ? void 0 : selectedLocalFiles.length) && {
|
|
342
349
|
attachment: selectedLocalFiles.map((file) => ({
|
|
343
350
|
uuid: file.attachmentId,
|
|
344
351
|
fileName: file.name,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WizardAside.d.ts","sourceRoot":"","sources":["../../../../src/components/wizardLayout/WizardAside.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAMvD,OAAO,EAGH,eAAe,EAIlB,MAAM,iCAAiC,CAAC;AAWzC,UAAU,MAAM;IACZ,UAAU,EAAE,mBAAmB,CAAC,eAAe,CAAC,CAAC;IACjD,2BAA2B,EAAE,OAAO,CAAC;CACxC;AAED,iBAAS,WAAW,CAAC,KAAK,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"WizardAside.d.ts","sourceRoot":"","sources":["../../../../src/components/wizardLayout/WizardAside.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAMvD,OAAO,EAGH,eAAe,EAIlB,MAAM,iCAAiC,CAAC;AAWzC,UAAU,MAAM;IACZ,UAAU,EAAE,mBAAmB,CAAC,eAAe,CAAC,CAAC;IACjD,2BAA2B,EAAE,OAAO,CAAC;CACxC;AAED,iBAAS,WAAW,CAAC,KAAK,EAAE,MAAM,qBA0EjC;kBA1EQ,WAAW;;;AA4EpB,eAAe,WAAW,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { GlobalMetadataStateContext } from '@rh-support/react-context';
|
|
2
|
-
import { ability,
|
|
2
|
+
import { ability, resourceActions, resources } from '@rh-support/user-permissions';
|
|
3
3
|
import { PreviousCaseTypes } from '@rh-support/utils';
|
|
4
4
|
import isEmpty from 'lodash/isEmpty';
|
|
5
5
|
import isEqual from 'lodash/isEqual';
|
|
@@ -27,7 +27,6 @@ function WizardAside(props) {
|
|
|
27
27
|
const { routeState: { activeSection, isCaseCreate }, } = useContext(RouteContext);
|
|
28
28
|
const { topContentState: { topContent }, } = useContext(TCStateContext);
|
|
29
29
|
const { globalMetadataState: { loggedInUsersAccount }, } = useContext(GlobalMetadataStateContext);
|
|
30
|
-
const canAddAttachments = ability.can(resourceActions.PATCH, resources.CASE_CREATE, CaseListFields.ATTACHMENTS);
|
|
31
30
|
const { isCreatingCase, caseType, isCveModalOpened, version, product } = useCaseSelector((state) => ({
|
|
32
31
|
isCreatingCase: state.isCreatingCase,
|
|
33
32
|
caseType: state.caseDetails.caseType,
|
|
@@ -39,8 +38,7 @@ function WizardAside(props) {
|
|
|
39
38
|
const canUseSessionManagement = ability.can(resourceActions.CREATE, resources.SESSION_TRACKING);
|
|
40
39
|
const isSecureSupportOrCSS = loggedInUsersAccount.data.hasConfirmedStatesideSupport || loggedInUsersAccount.data.secureSupport;
|
|
41
40
|
const isOpenShiftProduct = (_a = product === null || product === void 0 ? void 0 : product.toLowerCase().includes('openshift')) !== null && _a !== void 0 ? _a : false;
|
|
42
|
-
const canShowFileUploadWidget = () =>
|
|
43
|
-
!props.isAttachmentUploadModalOpen &&
|
|
41
|
+
const canShowFileUploadWidget = () => !props.isAttachmentUploadModalOpen &&
|
|
44
42
|
!isUndefined(activeSection) &&
|
|
45
43
|
!hideFileUploadSidebarWidgetSections.includes(activeSection);
|
|
46
44
|
const canShowEARuleWidget = activeSection
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WizardLayout.d.ts","sourceRoot":"","sources":["../../../../src/components/wizardLayout/WizardLayout.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"WizardLayout.d.ts","sourceRoot":"","sources":["../../../../src/components/wizardLayout/WizardLayout.tsx"],"names":[],"mappings":"AASA,OAAO,KAAkD,MAAM,OAAO,CAAC;AAEvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAMvD,OAAO,EAAuC,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAcvG,UAAU,MAAM;IACZ,UAAU,EAAE,mBAAmB,CAAC,eAAe,CAAC,CAAC;CACpD;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,qBAiLzC"}
|
|
@@ -11,7 +11,6 @@ import { useApolloClient } from '@apollo/client/react';
|
|
|
11
11
|
import { Grid, GridItem } from '@patternfly/react-core';
|
|
12
12
|
import { SupportFeedbackForm } from '@rh-support/components';
|
|
13
13
|
import { fetchProducts, GlobalMetadataDispatchContext, GlobalMetadataStateContext } from '@rh-support/react-context';
|
|
14
|
-
import { ability, CaseListFields, resourceActions, resources } from '@rh-support/user-permissions';
|
|
15
14
|
import { getVersionIfOnlyVersion, pendoTrackEvent, PreviousCaseTypes } from '@rh-support/utils';
|
|
16
15
|
import findIndex from 'lodash/findIndex';
|
|
17
16
|
import isEmpty from 'lodash/isEmpty';
|
|
@@ -21,12 +20,11 @@ import { Trans } from 'react-i18next';
|
|
|
21
20
|
import { useCaseDispatch, useCaseSelector } from '../../context/CaseContext';
|
|
22
21
|
import { RouteContext } from '../../context/RouteContext';
|
|
23
22
|
import { SessionRestoreDispatchContext, SessionRestoreStateContext } from '../../context/SessionRestoreContext';
|
|
24
|
-
import {
|
|
23
|
+
import { submitCase } from '../../reducers/CaseReducer';
|
|
25
24
|
import { AppRouteSections } from '../../reducers/RouteConstNTypes';
|
|
26
25
|
import { useMetadata } from '../../utils/metadataUtil';
|
|
27
26
|
import RouteUtils from '../../utils/routeUtils';
|
|
28
27
|
import PreCaseConfirmationModals, { PreCaseConfirmationModalsEnum, } from '../ConfirmationModals/PreCaseConfirmationModals';
|
|
29
|
-
import { ProductNotEntitledModal } from '../ProductSelector/ProductNotEntitledModal';
|
|
30
28
|
import AlertToastWrapper from '../Recommendations/AlertToastWrapper';
|
|
31
29
|
import { preferredSSModalOpenPendoEvent } from '../shared/Constants';
|
|
32
30
|
import { AttachmentStateContext } from '../shared/fileUpload';
|
|
@@ -39,17 +37,12 @@ export function WizardLayout(props) {
|
|
|
39
37
|
const { routeState: { activeSection, isCaseCreate }, } = useContext(RouteContext);
|
|
40
38
|
const { getMetadata } = useMetadata();
|
|
41
39
|
const [isAIChatMode, setIsAIChatMode] = useState(false);
|
|
42
|
-
const
|
|
43
|
-
const entitlementTimerRef = useRef(null);
|
|
44
|
-
const { caseCreationError, caseType, product, caseState, hasInvalidEntitlements, isProductNotEntitled, entitlementWarningDismissedForProduct, isAccountLoaded, } = useCaseSelector((state) => ({
|
|
40
|
+
const { caseCreationError, caseType, product, caseState, hasInvalidEntitlements } = useCaseSelector((state) => ({
|
|
45
41
|
caseState: state,
|
|
46
42
|
caseCreationError: state.caseCreationError,
|
|
47
43
|
caseType: state.caseDetails.caseType,
|
|
48
44
|
product: state.caseDetails.product,
|
|
49
45
|
hasInvalidEntitlements: state.hasInvalidEntitlements,
|
|
50
|
-
isProductNotEntitled: state.isProductNotEntitled,
|
|
51
|
-
entitlementWarningDismissedForProduct: state.entitlementWarningDismissedForProduct,
|
|
52
|
-
isAccountLoaded: !state.selectedAccountDetails.isFetching && !isEmpty(state.selectedAccountDetails.data),
|
|
53
46
|
}), isEqual);
|
|
54
47
|
const sessionRestoreDispatch = useContext(SessionRestoreDispatchContext);
|
|
55
48
|
const caseDispatch = useCaseDispatch();
|
|
@@ -57,26 +50,6 @@ export function WizardLayout(props) {
|
|
|
57
50
|
const { globalMetadataState: { allProducts, loggedInUser, loggedInUsersAccount, loggedInUserRights }, } = useContext(GlobalMetadataStateContext);
|
|
58
51
|
const dispatchToGlobalMetadataReducer = useContext(GlobalMetadataDispatchContext);
|
|
59
52
|
const apolloClient = useApolloClient();
|
|
60
|
-
useEffect(() => {
|
|
61
|
-
if (entitlementTimerRef.current) {
|
|
62
|
-
clearTimeout(entitlementTimerRef.current);
|
|
63
|
-
entitlementTimerRef.current = null;
|
|
64
|
-
}
|
|
65
|
-
if (!isProductNotEntitled || isEmpty(product) || !isAccountLoaded) {
|
|
66
|
-
setShowEntitlementModal(false);
|
|
67
|
-
return;
|
|
68
|
-
}
|
|
69
|
-
if (product === entitlementWarningDismissedForProduct)
|
|
70
|
-
return;
|
|
71
|
-
entitlementTimerRef.current = setTimeout(() => {
|
|
72
|
-
setShowEntitlementModal(true);
|
|
73
|
-
}, 300);
|
|
74
|
-
return () => {
|
|
75
|
-
if (entitlementTimerRef.current)
|
|
76
|
-
clearTimeout(entitlementTimerRef.current);
|
|
77
|
-
};
|
|
78
|
-
}, [isProductNotEntitled, product, isAccountLoaded, entitlementWarningDismissedForProduct]);
|
|
79
|
-
const canAddAttachments = ability.can(resourceActions.PATCH, resources.CASE_CREATE, CaseListFields.ATTACHMENTS);
|
|
80
53
|
const { attachmentState } = useContext(AttachmentStateContext);
|
|
81
54
|
const isAnyFileAttachedLocal = isAnyFileAttached(attachmentState.caseFiles.selectedLocalFiles);
|
|
82
55
|
const [confirmationModalType, setConfirmationModalType] = useState(null);
|
|
@@ -102,8 +75,7 @@ export function WizardLayout(props) {
|
|
|
102
75
|
viewedConfirmationModalsList.current.push(PreCaseConfirmationModalsEnum.ROCM_MODAL);
|
|
103
76
|
isModalPresent = true;
|
|
104
77
|
}
|
|
105
|
-
else if (
|
|
106
|
-
!isAnyFileAttachedLocal &&
|
|
78
|
+
else if (!isAnyFileAttachedLocal &&
|
|
107
79
|
!viewedConfirmationModalsList.current.includes(PreCaseConfirmationModalsEnum.NO_ATTACHMENT_MODAL)) {
|
|
108
80
|
setConfirmationModalType(PreCaseConfirmationModalsEnum.NO_ATTACHMENT_MODAL);
|
|
109
81
|
viewedConfirmationModalsList.current.push(PreCaseConfirmationModalsEnum.NO_ATTACHMENT_MODAL);
|
|
@@ -157,9 +129,5 @@ export function WizardLayout(props) {
|
|
|
157
129
|
React.createElement(WizardMain, { routeProps: props.routeProps, submitCaseAndNavigate: submitCaseAndNavigate, confirmSupportModal: confirmSupportModal, isAIChatMode: isAIChatMode, setIsAIChatMode: setIsAIChatMode, isSecureSupport: (_a = loggedInUsersAccount === null || loggedInUsersAccount === void 0 ? void 0 : loggedInUsersAccount.data) === null || _a === void 0 ? void 0 : _a.secureSupport, hasConfirmedStatesideSupport: (_b = loggedInUsersAccount === null || loggedInUsersAccount === void 0 ? void 0 : loggedInUsersAccount.data) === null || _b === void 0 ? void 0 : _b.hasConfirmedStatesideSupport, isUserExternal: (_d = (_c = loggedInUserRights === null || loggedInUserRights === void 0 ? void 0 : loggedInUserRights.data) === null || _c === void 0 ? void 0 : _c.isExternal()) !== null && _d !== void 0 ? _d : false, hasInvalidEntitlements: hasInvalidEntitlements })),
|
|
158
130
|
!isAIChatMode && (React.createElement(GridItem, { span: 4, className: "grid-wizard-aside-content" },
|
|
159
131
|
React.createElement(WizardAside, { isAttachmentUploadModalOpen: confirmationModalType === PreCaseConfirmationModalsEnum.NO_ATTACHMENT_MODAL, routeProps: props.routeProps })))),
|
|
160
|
-
React.createElement(AlertToastWrapper, { submitCaseAndNavigate: submitCaseAndNavigate, routeProps: props.routeProps })
|
|
161
|
-
React.createElement(ProductNotEntitledModal, { isOpen: showEntitlementModal, onClose: () => {
|
|
162
|
-
setShowEntitlementModal(false);
|
|
163
|
-
setCaseState(caseDispatch, { entitlementWarningDismissedForProduct: product });
|
|
164
|
-
} })));
|
|
132
|
+
React.createElement(AlertToastWrapper, { submitCaseAndNavigate: submitCaseAndNavigate, routeProps: props.routeProps })));
|
|
165
133
|
}
|
package/lib/esm/css/case.css
CHANGED
|
@@ -240,7 +240,13 @@ button,
|
|
|
240
240
|
}
|
|
241
241
|
|
|
242
242
|
.comment-body .attachment-download-btn {
|
|
243
|
+
--pf-v6-c-button--m-link--m-inline--TextDecorationLine: none;
|
|
244
|
+
--pf-v6-c-button--m-link--m-inline--hover--TextDecorationLine: none;
|
|
245
|
+
--pf-v6-c-button--TextDecorationLine: none;
|
|
246
|
+
--pf-v6-c-button--hover--TextDecorationLine: none;
|
|
243
247
|
padding: 0px 3px;
|
|
248
|
+
white-space: nowrap;
|
|
249
|
+
text-decoration: none;
|
|
244
250
|
}
|
|
245
251
|
|
|
246
252
|
.downshift input[disabled] + label {
|
|
@@ -276,7 +276,6 @@ export interface ICaseState {
|
|
|
276
276
|
ownersEntitlements: IApiResponseDetails<IEntitlement[]>;
|
|
277
277
|
hasInvalidEntitlements: boolean;
|
|
278
278
|
isProductNotEntitled: boolean;
|
|
279
|
-
entitlementWarningDismissedForProduct: string | null;
|
|
280
279
|
hasCaseUpdateError: boolean;
|
|
281
280
|
isCaseUpdating: boolean;
|
|
282
281
|
caseDetailsError: IAPIError;
|
|
@@ -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":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAC5E,OAAO,EACH,aAAa,EACb,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,iBAAiB,EACjB,WAAW,EACX,aAAa,EAChB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,+CAA+C,CAAC;AACvF,OAAO,EAAE,YAAY,EAAE,MAAM,iDAAiD,CAAC;AAC/E,OAAO,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAClE,OAAO,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AACjF,OAAO,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACnF,OAAO,EAAwB,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC5E,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjC,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAE7E,eAAO,MAAM,0BAA0B,MAAM,CAAC;AAC9C,eAAO,MAAM,0BAA0B,QAAQ,CAAC;AAEhD,eAAO,MAAM,oBAAoB,MAAM,CAAC;AAExC,eAAO,MAAM,oBAAoB,OAAO,CAAC;AAEzC,eAAO,MAAM,gCAAgC,QAAQ,CAAC;AAEtD,eAAO,MAAM,mCAAmC,MAAM,CAAC;AACvD,eAAO,MAAM,+BAA+B,MAAM,CAAC;AACnD,eAAO,MAAM,wBAAwB,QAAQ,CAAC;AAC9C,eAAO,MAAM,iCAAiC,QAAQ,CAAC;AACvD,eAAO,MAAM,qBAAqB,MAAM,CAAC;AACzC,eAAO,MAAM,uBAAuB,QAAQ,CAAC;AAC7C,eAAO,MAAM,gBAAgB,MAAM,CAAC;AACpC,eAAO,MAAM,2BAA2B,UAavC,CAAC;AACF,eAAO,MAAM,2BAA2B,MAAM,CAAC;AAC/C,eAAO,MAAM,WAAW,KAAK,CAAC;AAC9B,eAAO,MAAM,qCAAqC,OAAO,CAAC;AAC1D,eAAO,MAAM,qCAAqC,OAAO,CAAC;AAC1D,eAAO,MAAM,iCAAiC,QAAQ,CAAC;AACvD,eAAO,MAAM,kCAAkC,QAAQ,CAAC;AACxD,eAAO,MAAM,mBAAmB,QAAQ,CAAC;AACzC,eAAO,MAAM,yBAAyB,QAAQ,CAAC;AAC/C,eAAO,MAAM,0BAA0B,OAAO,CAAC;AAC/C,eAAO,MAAM,sCAAsC,MAAM,CAAC;AAC1D,eAAO,MAAM,kDAAkD,MAAM,CAAC;AACtE,eAAO,MAAM,0BAA0B,KAAK,CAAC;AAC7C,eAAO,MAAM,qBAAqB,MAAM,CAAC;AACzC,eAAO,MAAM,yBAAyB,OAAO,CAAC;AAI9C,eAAO,MAAM,wBAAwB,QAAQ,CAAC;AAC9C,eAAO,MAAM,uCAAuC,OAAO,CAAC;AAC5D,eAAO,MAAM,8BAA8B,OAAO,CAAC;AACnD,eAAO,MAAM,qCAAqC,OAAO,CAAC;AAC1D,eAAO,MAAM,kCAAkC,MAAM,CAAC;AAEtD,eAAO,MAAM,4BAA4B,2DAA2D,CAAC;AAGrG,oBAAY,kBAAkB;IAC1B,KAAK,wEAAwE;IAC7E,oBAAoB,+CAA+C;IACnE,WAAW,4DAA4D;IACvE,kBAAkB,2FAA2F;IAC7G,SAAS,iCAAiC;CAC7C;AAED,eAAO,MAAM,eAAe,iEAAiE,CAAC;AAC9F,eAAO,MAAM,eAAe,iEAAiE,CAAC;AAC9F,eAAO,MAAM,eAAe,iEAAiE,CAAC;AAC9F,eAAO,MAAM,qBAAqB,kEAAkE,CAAC;AAErG,0BAAkB,qBAAqB;IACnC,YAAY,gBAAgB;IAC5B,QAAQ,aAAa;IACrB,OAAO,YAAY;CACtB;AACD,0BAAkB,sBAAsB;IACpC,KAAK,eAAe;IACpB,KAAK,aAAa;IAClB,KAAK,eAAe;IACpB,KAAK,YAAY;CACpB;AAGD,eAAO,MAAM,mBAAmB;;;;;;;;CAQ/B,CAAC;AAEF,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmB7B,CAAC;AAEF,eAAO,MAAM,mBAAmB;;;;;CAK/B,CAAC;AAEF,eAAO,MAAM,0BAA0B;;;;;CAStC,CAAC;AAEF,eAAO,MAAM,4BAA4B,yEAAyE,CAAC;AAEnH,oBAAY,oBAAoB;IAC5B,iBAAiB,sBAAsB;IACvC,gBAAgB,qBAAqB;IACrC,WAAW,gBAAgB;IAC3B,cAAc,mBAAmB;IACjC,+BAA+B,oCAAoC;IACnE,cAAc,mBAAmB;IACjC,oBAAoB,yBAAyB;IAC7C,sBAAsB,2BAA2B;IACjD,uBAAuB,4BAA4B;IACnD,uBAAuB,4BAA4B;IACnD,mBAAmB,wBAAwB;IAC3C,wBAAwB,6BAA6B;IACrD,eAAe,oBAAoB;IACnC,oBAAoB,yBAAyB;IAC7C,sBAAsB,2BAA2B;IACjD,wBAAwB,6BAA6B;IACrD,yBAAyB,8BAA8B;IACvD,iBAAiB,sBAAsB;IACvC,wBAAwB,6BAA6B;IACrD,mBAAmB,wBAAwB;IAC3C,kBAAkB,uBAAuB;IACzC,8BAA8B,mCAAmC;IACjE,kBAAkB,uBAAuB;IACzC,6BAA6B,kCAAkC;IAC/D,kCAAkC,uCAAuC;IACzE,gCAAgC,qCAAqC;IACrE,sBAAsB,2BAA2B;IACjD,yBAAyB,8BAA8B;IACvD,cAAc,mBAAmB;IACjC,eAAe,oBAAoB;IACnC,iBAAiB,sBAAsB;IACvC,0BAA0B,+BAA+B;IACzD,wBAAwB,6BAA6B;IACrD,yCAAyC,8CAA8C;IACvF,8CAA8C,mDAAmD;IACjG,kBAAkB,uBAAuB;CAC5C;AAED,eAAO,MAAM,gBAAgB,EAAE,UA0G9B,CAAC;AAEF,MAAM,WAAW,iBAAiB;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE,aAAa,EAAE,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACxC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,SAAS,EAAE,CAAC;IACpB,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,OAAO,EAAE,CAAC;IAC7B,gCAAgC,CAAC,EAAE,MAAM,CAAC;IAC1C,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,4BAA4B,CAAC,EAAE,MAAM,CAAC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6BAA6B,CAAC,EAAE,MAAM,CAAC;IACvC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,iCAAiC,CAAC,EAAE,MAAM,CAAC;IAC3C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,2BAA2B,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,UAAU,CAAC;IAC5D,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC/B;AACD,MAAM,WAAW,UAAU;IACvB,iBAAiB,EAAE,mBAAmB,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;IAC9D,WAAW,EAAE,iBAAiB,CAAC;IAC/B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,QAAQ,EAAE,OAAO,CAAC;IAClB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,aAAa,EAAE,aAAa,EAAE,CAAC;IAC/B,4BAA4B,EAAE,QAAQ,EAAE,CAAC;IACzC,gBAAgB,EAAE,OAAO,CAAC;IAC1B,eAAe,EAAE,OAAO,CAAC;IACzB,eAAe,EAAE,OAAO,CAAC;IACzB,cAAc,EAAE,OAAO,CAAC;IACxB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,wBAAwB,EAAE,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC;IAC/C,qBAAqB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxC,oBAAoB,EAAE,OAAO,CAAC;IAC9B,uBAAuB,EAAE,OAAO,CAAC;IACjC,yBAAyB,EAAE,OAAO,CAAC;IACnC,uBAAuB,EAAE,OAAO,CAAC;IACjC,aAAa,EAAE,OAAO,CAAC;IACvB,UAAU,EAAE,WAAW,CAAC;IACxB,YAAY,EAAE,OAAO,CAAC;IACtB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,wBAAwB,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7C,sBAAsB,EAAE,mBAAmB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC/D,aAAa,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAC7C,gBAAgB,EAAE,mBAAmB,CAAC,UAAU,EAAE,CAAC,CAAC;IACpD,sBAAsB,EAAE,mBAAmB,CAAC,UAAU,EAAE,CAAC,CAAC;IAC1D,gBAAgB,EAAE,mBAAmB,CAAC,OAAO,CAAC,0BAA0B,EAAE,CAAC,CAAC,CAAC;IAC7E,kBAAkB,EAAE,mBAAmB,CAAC,YAAY,EAAE,CAAC,CAAC;IACxD,sBAAsB,EAAE,OAAO,CAAC;IAChC,oBAAoB,EAAE,OAAO,CAAC;IAC9B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,cAAc,EAAE,OAAO,CAAC;IACxB,gBAAgB,EAAE,SAAS,CAAC;IAC5B,0BAA0B,EAAE,OAAO,CAAC;IACpC,qBAAqB,EAAE,OAAO,CAAC;IAC/B,oCAAoC,EAAE,OAAO,CAAC;IAC9C,sCAAsC,EAAE,OAAO,CAAC;IAChD,eAAe,EAAE,mBAAmB,CAAC,gBAAgB,EAAE,CAAC,CAAC;IACzD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,0BAA0B,EAAE,OAAO,CAAC;IACpC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,mBAAmB,EAAE,OAAO,CAAC;IAC7B,8BAA8B,CAAC,EAAE,OAAO,CAAC;IACzC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,sCAAsC,CAAC,EAAE,OAAO,CAAC;IACjD,kDAAkD,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACxE,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,mCAAmC,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,UAAU,GAAG,SAAS,CAAC;IAChF,4BAA4B,CAAC,EAAE,OAAO,CAAC;IACvC,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,yBAAyB,CAAC,EAAE,0BAA0B,EAAE,CAAC;IACzD,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,4BAA4B,CAAC,EAAE,MAAM,CAAC;IACtC,mBAAmB,CAAC,EAAE,iBAAiB,CAAC;IACxC,kBAAkB,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACzC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,mBAAmB;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,6BAA6B,CAAC,EAAE,MAAM,CAAC;IACvC,6BAA6B,CAAC,EAAE,MAAM,CAAC;IACvC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,sBAAuB,SAAQ,UAAU;CAAG;AAC7D,MAAM,MAAM,eAAe,GAAG,OAAO,CAAC,oBAAoB,EAAE,sBAAsB,CAAC,CAAC;AACpF,MAAM,MAAM,uBAAuB,GAAG,QAAQ,CAAC,eAAe,CAAC,CAAC;AAEhE,eAAO,MAAM,qCAAqC,+CAA+C,CAAC;AAClG,eAAO,MAAM,yCAAyC,+CAA+C,CAAC;AAEtG,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAA6C,CAAC;AAE9F,eAAO,MAAM,uBAAuB,UAAoC,CAAC;AACzE,eAAO,MAAM,eAAe,YAAY,CAAC"}
|
|
@@ -221,7 +221,6 @@ export const initialCaseState = {
|
|
|
221
221
|
customEmailsList: getApiResourceObject([]),
|
|
222
222
|
hasInvalidEntitlements: false,
|
|
223
223
|
isProductNotEntitled: false,
|
|
224
|
-
entitlementWarningDismissedForProduct: null,
|
|
225
224
|
hasCaseUpdateError: false,
|
|
226
225
|
isCaseUpdating: false,
|
|
227
226
|
caseDetailsError: null,
|