@rh-support/troubleshoot 0.2.115 → 0.2.118
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/ActiveCustomerEscalation.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/ActiveCustomerEscalation/ActiveCustomerEscalation.js +6 -4
- package/lib/esm/components/CaseEditView/ActiveCustomerEscalation/RequestEscalationModal.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/ActiveCustomerEscalation/RequestEscalationModal.js +114 -52
- package/lib/esm/components/CaseEditView/ConfirmationModals/ReopenCaseModal.js +1 -1
- package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CaseOpenshiftClusterId/CaseOpenshiftClusterId.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CaseOpenshiftClusterId/CaseOpenshiftClusterId.js +27 -44
- package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/CaseDiscussion.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/PostComment.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/PostComment.js +14 -2
- package/lib/esm/components/CaseEditView/Tabs/RMEEscalations/RMEEscalationList.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/Tabs/RMEEscalations/RMEEscalationList.js +10 -11
- package/lib/esm/components/CaseManagement/OpenShiftClusterId.d.ts.map +1 -1
- package/lib/esm/components/CaseManagement/OpenShiftClusterId.js +38 -52
- package/lib/esm/components/CaseManagement/OpenshiftDropdownV4.d.ts +2 -2
- package/lib/esm/components/CaseManagement/OpenshiftDropdownV4.d.ts.map +1 -1
- package/lib/esm/components/CaseManagement/OpenshiftDropdownV4.js +122 -84
- package/lib/esm/components/Recommendations/AlertToastWrapper.d.ts +1 -0
- package/lib/esm/components/Recommendations/AlertToastWrapper.d.ts.map +1 -1
- package/lib/esm/components/Recommendations/AlertToastWrapper.js +4 -2
- package/lib/esm/components/SessionRestore/RestoreLastSessionModal.d.ts +9 -0
- package/lib/esm/components/SessionRestore/RestoreLastSessionModal.d.ts.map +1 -0
- package/lib/esm/components/SessionRestore/RestoreLastSessionModal.js +43 -0
- package/lib/esm/components/SessionRestore/SessionRestore.d.ts.map +1 -1
- package/lib/esm/components/SessionRestore/SessionRestore.js +11 -5
- package/lib/esm/components/SubmitCase/ResubmitToast.d.ts +7 -0
- package/lib/esm/components/SubmitCase/ResubmitToast.d.ts.map +1 -0
- package/lib/esm/components/SubmitCase/ResubmitToast.js +25 -0
- package/lib/esm/components/wizardLayout/GlobalTroubleshootEffects.d.ts.map +1 -1
- package/lib/esm/components/wizardLayout/GlobalTroubleshootEffects.js +4 -1
- package/lib/esm/components/wizardLayout/WizardAside.d.ts +1 -0
- package/lib/esm/components/wizardLayout/WizardAside.d.ts.map +1 -1
- package/lib/esm/components/wizardLayout/WizardAside.js +1 -1
- package/lib/esm/components/wizardLayout/WizardLayout.d.ts.map +1 -1
- package/lib/esm/components/wizardLayout/WizardLayout.js +6 -5
- package/lib/esm/reducers/CaseConstNTypes.d.ts +4 -1
- package/lib/esm/reducers/CaseConstNTypes.d.ts.map +1 -1
- package/lib/esm/reducers/CaseConstNTypes.js +4 -0
- package/lib/esm/reducers/CaseReducer.d.ts +12 -0
- package/lib/esm/reducers/CaseReducer.d.ts.map +1 -1
- package/lib/esm/reducers/CaseReducer.js +35 -1
- package/lib/esm/reducers/ClusterRecommendationsReducer.d.ts +5 -2
- package/lib/esm/reducers/ClusterRecommendationsReducer.d.ts.map +1 -1
- package/lib/esm/reducers/ClusterRecommendationsReducer.js +19 -6
- package/lib/esm/reducers/SessionRestoreReducer.d.ts +5 -2
- package/lib/esm/reducers/SessionRestoreReducer.d.ts.map +1 -1
- package/lib/esm/reducers/SessionRestoreReducer.js +24 -1
- package/lib/esm/scss/_pf4-overrides.scss +1 -1
- package/lib/esm/utils/caseOpenshiftClusterIdUtils.d.ts +4 -2
- package/lib/esm/utils/caseOpenshiftClusterIdUtils.d.ts.map +1 -1
- package/lib/esm/utils/caseOpenshiftClusterIdUtils.js +1 -9
- package/package.json +9 -9
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
import { Button, Modal, ModalVariant } from '@patternfly/react-core';
|
|
11
|
+
import { isEqual } from 'lodash';
|
|
12
|
+
import React from 'react';
|
|
13
|
+
import { Trans, useTranslation } from 'react-i18next';
|
|
14
|
+
import { useCaseDispatch, useCaseSelector } from '../../context/CaseContext';
|
|
15
|
+
import { updateCaseCreationErrorStatus } from '../../reducers/CaseReducer';
|
|
16
|
+
export const RestoreLastSessionModal = ({ onRestore, errorSession }) => {
|
|
17
|
+
const { t } = useTranslation();
|
|
18
|
+
const { caseCreation500ErrorStatus, caseCreationError } = useCaseSelector((state) => ({
|
|
19
|
+
caseCreation500ErrorStatus: state.caseCreation500ErrorStatus,
|
|
20
|
+
caseCreationError: state.caseCreationError,
|
|
21
|
+
}), isEqual);
|
|
22
|
+
const caseDispatch = useCaseDispatch();
|
|
23
|
+
/**
|
|
24
|
+
* On Restore
|
|
25
|
+
*/
|
|
26
|
+
const onRestoreClick = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
27
|
+
yield onRestore(errorSession);
|
|
28
|
+
updateCaseCreationErrorStatus(caseDispatch, false);
|
|
29
|
+
});
|
|
30
|
+
/**
|
|
31
|
+
* On Open a new case close the modal by setting `caseCreationError` false
|
|
32
|
+
*/
|
|
33
|
+
const onOpenNewCase = () => {
|
|
34
|
+
updateCaseCreationErrorStatus(caseDispatch, false);
|
|
35
|
+
};
|
|
36
|
+
return (React.createElement(Modal, { "data-tracking-id": "restore-session-modal", variant: ModalVariant.small, title: t('Restore last session?'), isOpen: !caseCreationError && caseCreation500ErrorStatus, onClose: onOpenNewCase, actions: [
|
|
37
|
+
React.createElement(Button, { key: "restore", variant: "primary", onClick: onRestoreClick, "data-tracking-id": "restore-session-button" },
|
|
38
|
+
React.createElement(Trans, null, " Restore")),
|
|
39
|
+
React.createElement(Button, { key: "openANewCase", variant: "secondary", onClick: onOpenNewCase, "data-tracking-id": "restore-session-open-case-button" },
|
|
40
|
+
React.createElement(Trans, null, "Open a new case")),
|
|
41
|
+
] },
|
|
42
|
+
React.createElement(Trans, null, "It looks like an error prevented your last case from being submitted. Would you like to restore the last session or open a new case?")));
|
|
43
|
+
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SessionRestore.d.ts","sourceRoot":"","sources":["../../../../src/components/SessionRestore/SessionRestore.tsx"],"names":[],"mappings":"AAUA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAQvD,OAAO,EAGH,eAAe,EAElB,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"SessionRestore.d.ts","sourceRoot":"","sources":["../../../../src/components/SessionRestore/SessionRestore.tsx"],"names":[],"mappings":"AAUA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAQvD,OAAO,EAGH,eAAe,EAElB,MAAM,iCAAiC,CAAC;AAiBzC,UAAU,MAAM;IACZ,UAAU,EAAE,mBAAmB,CAAC,eAAe,CAAC,CAAC;CACpD;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,eA4U3C"}
|
|
@@ -29,17 +29,19 @@ import RouteUtils from '../../utils/routeUtils';
|
|
|
29
29
|
import { resetAttachment } from '../shared/fileUpload';
|
|
30
30
|
import { restoreFilesFromSession } from '../shared/fileUpload/reducer/AttachmentHelper';
|
|
31
31
|
import { AttachmentDispatchContext } from '../shared/fileUpload/reducer/AttachmentReducerContext';
|
|
32
|
+
import { RestoreLastSessionModal } from './RestoreLastSessionModal';
|
|
32
33
|
import { SessionRestoreCard } from './SessionRestoreCard';
|
|
33
34
|
export function SessionRestore(props) {
|
|
34
35
|
const sessionRestoreDispatch = useContext(SessionRestoreDispatchContext);
|
|
35
36
|
const dispatchToAttachmentReducer = useContext(AttachmentDispatchContext);
|
|
36
37
|
const dispatchToRouteReducer = useRouteDispatchContext();
|
|
37
38
|
const { sessionRestore } = useContext(SessionRestoreStateContext);
|
|
38
|
-
const { selectedNotificationContacts, cepDetails, caseDetails } = useCaseSelector((state) => ({
|
|
39
|
+
const { selectedNotificationContacts, cepDetails, caseDetails, caseCreation500ErrorStatus } = useCaseSelector((state) => ({
|
|
39
40
|
openshiftClusterID: state.caseDetails.openshiftClusterID,
|
|
40
41
|
cepDetails: state.cepDetails,
|
|
41
42
|
selectedNotificationContacts: state.selectedNotificationContacts,
|
|
42
43
|
caseDetails: state.caseDetails,
|
|
44
|
+
caseCreation500ErrorStatus: state.caseCreation500ErrorStatus,
|
|
43
45
|
}), isEqual);
|
|
44
46
|
const caseDispatch = useCaseDispatch();
|
|
45
47
|
const { globalMetadataState: { loggedInUsersAccount, loggedInUserRights, referrerUrl }, } = useContext(GlobalMetadataStateContext);
|
|
@@ -54,8 +56,8 @@ export function SessionRestore(props) {
|
|
|
54
56
|
* Fetching previous sessions on load
|
|
55
57
|
*/
|
|
56
58
|
useEffect(() => {
|
|
57
|
-
loadPreviousSessions(sessionRestoreDispatch);
|
|
58
|
-
}, [sessionRestoreDispatch]);
|
|
59
|
+
loadPreviousSessions(sessionRestoreDispatch, caseDispatch);
|
|
60
|
+
}, [sessionRestoreDispatch, caseDispatch]);
|
|
59
61
|
/**
|
|
60
62
|
* Creating/use existing session new session if one doesn't exist when:
|
|
61
63
|
* 1. hasFetchedPreviousSessions
|
|
@@ -129,7 +131,7 @@ export function SessionRestore(props) {
|
|
|
129
131
|
: !isEmpty(existingUserAgent) && existingUserAgent !== userAgent
|
|
130
132
|
? existingUserAgent
|
|
131
133
|
: userAgent;
|
|
132
|
-
let session = { userAgent, originatingSystem };
|
|
134
|
+
let session = { userAgent, originatingSystem, caseCreationError: caseCreation500ErrorStatus };
|
|
133
135
|
if (!isEmpty(caseDetails.caseNumber)) {
|
|
134
136
|
session = Object.assign(Object.assign({}, session), { isActive: false, isResolved: true, caseNumber: caseDetails.caseNumber });
|
|
135
137
|
}
|
|
@@ -141,6 +143,7 @@ export function SessionRestore(props) {
|
|
|
141
143
|
sessionRestore.activeSessionId,
|
|
142
144
|
sessionRestore.hasFetchedPreviousSessions,
|
|
143
145
|
sessionRestoreDispatch,
|
|
146
|
+
caseCreation500ErrorStatus,
|
|
144
147
|
], 500);
|
|
145
148
|
/**
|
|
146
149
|
* Patch CEP Details
|
|
@@ -279,5 +282,8 @@ export function SessionRestore(props) {
|
|
|
279
282
|
], 1000);
|
|
280
283
|
if (!sessionRestoreCardSections.includes(activeSection))
|
|
281
284
|
return React.createElement(React.Fragment, null);
|
|
282
|
-
return (React.createElement(
|
|
285
|
+
return (React.createElement(React.Fragment, null,
|
|
286
|
+
' ',
|
|
287
|
+
React.createElement(SessionRestoreCard, { onRestore: restoreSession, previousSessions: previousSessions, onCardDismiss: onSessionRestoreCardDismiss }),
|
|
288
|
+
React.createElement(RestoreLastSessionModal, { onRestore: restoreSession, errorSession: sessionRestore.sessionOfCaseCreationError })));
|
|
283
289
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ResubmitToast.d.ts","sourceRoot":"","sources":["../../../../src/components/SubmitCase/ResubmitToast.tsx"],"names":[],"mappings":"AAEA,OAAc,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAMlC,UAAU,MAAM;IACZ,qBAAqB,EAAE,CAAC,cAAc,EAAE,OAAO,KAAK,IAAI,CAAC;CAC5D;AAED,eAAO,MAAM,aAAa,EAAE,EAAE,CAAC,MAAM,CAuCpC,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Alert, AlertActionCloseButton, AlertActionLink, AlertVariant } from '@patternfly/react-core';
|
|
2
|
+
import { isEqual } from 'lodash';
|
|
3
|
+
import React from 'react';
|
|
4
|
+
import { Trans, useTranslation } from 'react-i18next';
|
|
5
|
+
import { useCaseDispatch, useCaseSelector } from '../../context/CaseContext';
|
|
6
|
+
import { updateCaseCreationErrorStatus } from '../../reducers/CaseReducer';
|
|
7
|
+
export const ResubmitToast = ({ submitCaseAndNavigate }) => {
|
|
8
|
+
const { t } = useTranslation();
|
|
9
|
+
const { caseCreation500ErrorStatus, caseCreationError } = useCaseSelector((state) => ({
|
|
10
|
+
caseCreation500ErrorStatus: state.caseCreation500ErrorStatus,
|
|
11
|
+
caseCreationError: state.caseCreationError,
|
|
12
|
+
}), isEqual);
|
|
13
|
+
const caseDispatch = useCaseDispatch();
|
|
14
|
+
const onResubmit = () => {
|
|
15
|
+
updateCaseCreationErrorStatus(caseDispatch, false); // Hide the resubmit toast
|
|
16
|
+
submitCaseAndNavigate(true);
|
|
17
|
+
};
|
|
18
|
+
const onReturnToCase = () => {
|
|
19
|
+
updateCaseCreationErrorStatus(caseDispatch, false);
|
|
20
|
+
};
|
|
21
|
+
return caseCreationError && caseCreation500ErrorStatus ? (React.createElement(Alert, { "data-tracking-id": "resubmit-case-toast", variant: AlertVariant.danger, title: t('Case was not submitted due to an internal error'), actionClose: React.createElement(AlertActionCloseButton, { onClose: onReturnToCase }), actionLinks: React.createElement(React.Fragment, null,
|
|
22
|
+
React.createElement(AlertActionLink, { onClick: onResubmit }, t('Resubmit')),
|
|
23
|
+
React.createElement(AlertActionLink, { onClick: onReturnToCase }, t('Return to cases'))) },
|
|
24
|
+
React.createElement(Trans, null, "Don\u2019t panic\u2014we\u2019ve saved this case for you! You can try to submit again or restore your session at a later time."))) : null;
|
|
25
|
+
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GlobalTroubleshootEffects.d.ts","sourceRoot":"","sources":["../../../../src/components/wizardLayout/GlobalTroubleshootEffects.tsx"],"names":[],"mappings":"AAUA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAWvD,OAAO,EAAqB,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAOrF,UAAU,MAAM;IACZ,UAAU,EAAE,mBAAmB,CAAC,eAAe,CAAC,CAAC;CACpD;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"GlobalTroubleshootEffects.d.ts","sourceRoot":"","sources":["../../../../src/components/wizardLayout/GlobalTroubleshootEffects.tsx"],"names":[],"mappings":"AAUA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAWvD,OAAO,EAAqB,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAOrF,UAAU,MAAM;IACZ,UAAU,EAAE,mBAAmB,CAAC,eAAe,CAAC,CAAC;CACpD;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,MAAM,eA0XtD"}
|
|
@@ -293,7 +293,10 @@ export function GlobalTroubleshootEffects(props) {
|
|
|
293
293
|
const previousActiveSessionId = usePrevious(activeSessionId);
|
|
294
294
|
useEffect(() => {
|
|
295
295
|
var _a;
|
|
296
|
-
if (isEmpty(product) ||
|
|
296
|
+
if (isEmpty(product) ||
|
|
297
|
+
isEmpty(version) ||
|
|
298
|
+
activeSessionId !== previousActiveSessionId ||
|
|
299
|
+
isEmpty(previousVersion))
|
|
297
300
|
return;
|
|
298
301
|
// we need to reset openshift cluster states only when major version is different
|
|
299
302
|
const oldMajorVersion = previousVersion && getVersion(previousVersion).major;
|
|
@@ -3,6 +3,7 @@ import { IRouteUrlParams } from '../../reducers/RouteConstNTypes';
|
|
|
3
3
|
interface IProps {
|
|
4
4
|
routeProps: RouteComponentProps<IRouteUrlParams>;
|
|
5
5
|
isAttachmentUploadModalOpen: boolean;
|
|
6
|
+
submitCaseAndNavigate: (isReSubmitting: boolean) => void;
|
|
6
7
|
}
|
|
7
8
|
declare function WizardAside(props: IProps): JSX.Element;
|
|
8
9
|
declare namespace WizardAside {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WizardAside.d.ts","sourceRoot":"","sources":["../../../../src/components/wizardLayout/WizardAside.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAKnD,OAAO,EAEH,eAAe,EAGlB,MAAM,iCAAiC,CAAC;AASzC,UAAU,MAAM;IACZ,UAAU,EAAE,mBAAmB,CAAC,eAAe,CAAC,CAAC;IACjD,2BAA2B,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"WizardAside.d.ts","sourceRoot":"","sources":["../../../../src/components/wizardLayout/WizardAside.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAKnD,OAAO,EAEH,eAAe,EAGlB,MAAM,iCAAiC,CAAC;AASzC,UAAU,MAAM;IACZ,UAAU,EAAE,mBAAmB,CAAC,eAAe,CAAC,CAAC;IACjD,2BAA2B,EAAE,OAAO,CAAC;IACrC,qBAAqB,EAAE,CAAC,cAAc,EAAE,OAAO,KAAK,IAAI,CAAC;CAC5D;AAGD,iBAAS,WAAW,CAAC,KAAK,EAAE,MAAM,eA8CjC;kBA9CQ,WAAW;;;AAgDpB,eAAe,WAAW,CAAC"}
|
|
@@ -42,7 +42,7 @@ function WizardAside(props) {
|
|
|
42
42
|
canUseSessionManagement && React.createElement(SessionRestore, { routeProps: props.routeProps }),
|
|
43
43
|
React.createElement(AsideResults, null),
|
|
44
44
|
canShowFileUploadWidget() && React.createElement(FileDiag, null),
|
|
45
|
-
React.createElement(AlertToastWrapper,
|
|
45
|
+
React.createElement(AlertToastWrapper, { submitCaseAndNavigate: props.submitCaseAndNavigate }))));
|
|
46
46
|
}
|
|
47
47
|
WizardAside.defaultProps = defaultProps;
|
|
48
48
|
export default WizardAside;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WizardLayout.d.ts","sourceRoot":"","sources":["../../../../src/components/wizardLayout/WizardLayout.tsx"],"names":[],"mappings":"AAQA,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,
|
|
1
|
+
{"version":3,"file":"WizardLayout.d.ts","sourceRoot":"","sources":["../../../../src/components/wizardLayout/WizardLayout.tsx"],"names":[],"mappings":"AAQA,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,eAsJzC"}
|
|
@@ -62,7 +62,7 @@ export function WizardLayout(props) {
|
|
|
62
62
|
}
|
|
63
63
|
return isModalPresent;
|
|
64
64
|
};
|
|
65
|
-
const submitCaseAndNavigate = () => {
|
|
65
|
+
const submitCaseAndNavigate = (isReSubmitting) => {
|
|
66
66
|
confirmationModalType && setConfirmationModalType(null);
|
|
67
67
|
// if a confirmation modal exists, show it and don't submit the case as
|
|
68
68
|
// it will be handled by the confirmation modal itself
|
|
@@ -77,12 +77,13 @@ export function WizardLayout(props) {
|
|
|
77
77
|
submitCase(caseDispatch, caseState, sessionItem, isCaseCreate, errorMessageCaseSubmit500);
|
|
78
78
|
// reset viewedModals on case submit
|
|
79
79
|
viewedConfirmationModalsList.current = [];
|
|
80
|
-
|
|
80
|
+
!isReSubmitting &&
|
|
81
|
+
RouteUtils.navigateToSection(props.routeProps, appRouteConfugurations[activeSection].nextSection, appRouteSectionsSequence, isCaseCreate, isSearchIntent, false);
|
|
81
82
|
};
|
|
82
83
|
const onNext = (e) => {
|
|
83
84
|
var _a;
|
|
84
85
|
if (appRouteConfugurations[activeSection].nextSection === AppRouteSections.SUBMIT_CASE) {
|
|
85
|
-
submitCaseAndNavigate();
|
|
86
|
+
submitCaseAndNavigate(false);
|
|
86
87
|
return;
|
|
87
88
|
}
|
|
88
89
|
// confirmed state side support show modal logic
|
|
@@ -114,9 +115,9 @@ export function WizardLayout(props) {
|
|
|
114
115
|
setConfirmationModalType(null);
|
|
115
116
|
};
|
|
116
117
|
return (React.createElement(React.Fragment, null,
|
|
117
|
-
React.createElement(PreCaseConfirmationModals, { onModalClose: onModalClose, confirmationModalType: confirmationModalType, onConfirm: submitCaseAndNavigate }),
|
|
118
|
+
React.createElement(PreCaseConfirmationModals, { onModalClose: onModalClose, confirmationModalType: confirmationModalType, onConfirm: () => submitCaseAndNavigate(caseState.caseCreationError) }),
|
|
118
119
|
React.createElement(WizardProgress, { routeProps: props.routeProps, onNext: onNext }),
|
|
119
120
|
React.createElement(WizardMain, { routeProps: props.routeProps }),
|
|
120
121
|
React.createElement(WizardNavigation, { routeProps: props.routeProps, onNext: onNext }),
|
|
121
|
-
React.createElement(WizardAside, { isAttachmentUploadModalOpen: confirmationModalType === PreCaseConfirmationModalsEnum.NO_ATTACHMENT_MODAL, routeProps: props.routeProps })));
|
|
122
|
+
React.createElement(WizardAside, { isAttachmentUploadModalOpen: confirmationModalType === PreCaseConfirmationModalsEnum.NO_ATTACHMENT_MODAL, routeProps: props.routeProps, submitCaseAndNavigate: submitCaseAndNavigate })));
|
|
122
123
|
}
|
|
@@ -144,7 +144,8 @@ export declare enum CaseReducerConstants {
|
|
|
144
144
|
setSelectedCaseGroupUsers = "setSelectedCaseGroupUsers",
|
|
145
145
|
getCustomEmail = "getCustomEmail",
|
|
146
146
|
updateEmailList = "updateEmailList",
|
|
147
|
-
getVersionDetails = "getVersionDetails"
|
|
147
|
+
getVersionDetails = "getVersionDetails",
|
|
148
|
+
caseCreation500ErrorStatus = "caseCreation500ErrorStatus"
|
|
148
149
|
}
|
|
149
150
|
export declare const initialCaseState: ICaseState;
|
|
150
151
|
export interface ICaseState {
|
|
@@ -186,6 +187,8 @@ export interface ICaseState {
|
|
|
186
187
|
isFetchingSelectedNotificationContacts: boolean;
|
|
187
188
|
versionsDetails: IApiResponseDetails<IVersionsDetails[]>;
|
|
188
189
|
v3ClusterName?: string;
|
|
190
|
+
caseCreation500ErrorStatus: boolean;
|
|
191
|
+
openshiftDisplayName?: string;
|
|
189
192
|
}
|
|
190
193
|
export interface ICreateCasePayloadType extends ICaseState {
|
|
191
194
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CaseConstNTypes.d.ts","sourceRoot":"","sources":["../../../src/reducers/CaseConstNTypes.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"CaseConstNTypes.d.ts","sourceRoot":"","sources":["../../../src/reducers/CaseConstNTypes.ts"],"names":[],"mappings":"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"}
|
|
@@ -93,6 +93,7 @@ export var CaseReducerConstants;
|
|
|
93
93
|
CaseReducerConstants["getCustomEmail"] = "getCustomEmail";
|
|
94
94
|
CaseReducerConstants["updateEmailList"] = "updateEmailList";
|
|
95
95
|
CaseReducerConstants["getVersionDetails"] = "getVersionDetails";
|
|
96
|
+
CaseReducerConstants["caseCreation500ErrorStatus"] = "caseCreation500ErrorStatus";
|
|
96
97
|
})(CaseReducerConstants || (CaseReducerConstants = {}));
|
|
97
98
|
export const initialCaseState = {
|
|
98
99
|
isCreatingCase: false,
|
|
@@ -136,6 +137,7 @@ export const initialCaseState = {
|
|
|
136
137
|
notes: '',
|
|
137
138
|
noClusterIdReason: '',
|
|
138
139
|
noClusterIdReasonExplanation: '',
|
|
140
|
+
openshiftClusterVersion: '',
|
|
139
141
|
},
|
|
140
142
|
customerEscalation: false,
|
|
141
143
|
isClosed: false,
|
|
@@ -172,6 +174,8 @@ export const initialCaseState = {
|
|
|
172
174
|
isFetchingSelectedNotificationContacts: true,
|
|
173
175
|
versionsDetails: getApiResourceObject([]),
|
|
174
176
|
v3ClusterName: '',
|
|
177
|
+
caseCreation500ErrorStatus: false,
|
|
178
|
+
openshiftDisplayName: '',
|
|
175
179
|
};
|
|
176
180
|
export const ORG_ADMIN_SEND_NOTIFCATION_KBASE_LINK = 'https://access.redhat.com/articles/5967811';
|
|
177
181
|
export const NON_ORG_ADMIN_SEND_NOTIFCATION_KBASE_LINK = 'https://access.redhat.com/articles/5967831';
|
|
@@ -12,6 +12,18 @@ export declare const setCaseDetails: (dispatch: CaseReducerDispatchType, caseSta
|
|
|
12
12
|
export declare const setCaseState: (dispatch: CaseReducerDispatchType, caseState: Partial<ICaseState>) => void;
|
|
13
13
|
export declare const setNotifiedUser: (dispatch: CaseReducerDispatchType, selectedNotificationContacts: IContact[]) => void;
|
|
14
14
|
export declare const submitCase: (dispatch: CaseReducerDispatchType, caseDetails: ICaseState, sessionItem: ISessionItem, isCaseCreate: boolean, errorMessage500: string | JSX.Element) => Promise<void>;
|
|
15
|
+
/**
|
|
16
|
+
* Update case details if there is HTTP 500 error while submitting case
|
|
17
|
+
* @param dispatch CaseReducerDispatchType
|
|
18
|
+
* @param error Error
|
|
19
|
+
*/
|
|
20
|
+
export declare const updateCaseCreationErrorStatusOnError: (dispatch: CaseReducerDispatchType, error: any) => void;
|
|
21
|
+
/**
|
|
22
|
+
* Update `caseCreation500ErrorStatus` status
|
|
23
|
+
* @param dispatch CaseReducerDispatchType
|
|
24
|
+
* @param errorStatus Boolean
|
|
25
|
+
*/
|
|
26
|
+
export declare const updateCaseCreationErrorStatus: (dispatch: CaseReducerDispatchType, errorStatus: boolean) => void;
|
|
15
27
|
export declare const postCaseCreationProcessing: (dispatch: CaseReducerDispatchType, caseNumber: string, caseDetails: ICaseState) => Promise<void>;
|
|
16
28
|
export declare const postCepDetails: (dispatch: CaseReducerDispatchType, caseNumber: string, cepDetails: ICepDetails) => Promise<void>;
|
|
17
29
|
export declare const setCaseRecommendations: (dispatch: CaseReducerDispatchType, docs: ISolrRecommendation[], oldRecommendations: ICaseResourceLink[]) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CaseReducer.d.ts","sourceRoot":"","sources":["../../../src/reducers/CaseReducer.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,qDAAqD,CAAC;AACnF,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AAEtH,OAAO,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAClE,OAAO,EAAE,0BAA0B,EAA+B,MAAM,qCAAqC,CAAC;AAC9G,OAAO,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAE/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AASxD,OAAO,EAEH,uBAAuB,EAEvB,UAAU,EAEb,MAAM,mBAAmB,CAAC;AAU3B,eAAO,MAAM,WAAW,WAAY,UAAU,UAAU,GAAG,KAAG,
|
|
1
|
+
{"version":3,"file":"CaseReducer.d.ts","sourceRoot":"","sources":["../../../src/reducers/CaseReducer.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,qDAAqD,CAAC;AACnF,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AAEtH,OAAO,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAClE,OAAO,EAAE,0BAA0B,EAA+B,MAAM,qCAAqC,CAAC;AAC9G,OAAO,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAE/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AASxD,OAAO,EAEH,uBAAuB,EAEvB,UAAU,EAEb,MAAM,mBAAmB,CAAC;AAU3B,eAAO,MAAM,WAAW,WAAY,UAAU,UAAU,GAAG,KAAG,UA6L7D,CAAC;AAGF,eAAO,MAAM,cAAc,aAAc,uBAAuB,aAAa,QAAQ,YAAY,CAAC,SAEjG,CAAC;AAEF,eAAO,MAAM,YAAY,aAAc,uBAAuB,aAAa,QAAQ,UAAU,CAAC,SAE7F,CAAC;AAEF,eAAO,MAAM,eAAe,aAAc,uBAAuB,gCAAgC,QAAQ,EAAE,SAK1G,CAAC;AAEF,eAAO,MAAM,UAAU,aACT,uBAAuB,eACpB,UAAU,eACV,YAAY,gBACX,OAAO,mBACJ,MAAM,GAAG,WAAW,kBAoBxC,CAAC;AACF;;;;GAIG;AACH,eAAO,MAAM,oCAAoC,aAAc,uBAAuB,qBAUrF,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,6BAA6B,aAAc,uBAAuB,eAAe,OAAO,SAOpG,CAAC;AAEF,eAAO,MAAM,0BAA0B,aACzB,uBAAuB,cACrB,MAAM,eACL,UAAU,kBAG1B,CAAC;AAEF,eAAO,MAAM,cAAc,aACb,uBAAuB,cACrB,MAAM,cACN,WAAW,kBAoB1B,CAAC;AAEF,eAAO,MAAM,sBAAsB,aACrB,uBAAuB,QAC3B,mBAAmB,EAAE,sBACP,iBAAiB,EAAE,SAO1C,CAAC;AAEF,eAAO,MAAM,mBAAmB,aAAoB,uBAAuB,WAAW,MAAM,eAAe,MAAM,kBAYhH,CAAC;AAEF,eAAO,MAAM,kBAAkB,aACjB,uBAAuB,cACrB,MAAM,eACL,QAAQ,UAAU,CAAC,kBAmBnC,CAAC;AAEF,eAAO,MAAM,mBAAmB,aAClB,uBAAuB,cACrB,MAAM,gBACJ,MAAM,EAAE,kBAoBzB,CAAC;AAEF,eAAO,MAAM,mBAAmB,aAClB,uBAAuB,cACrB,MAAM,cACN,QAAQ,EAAE,kBAmBzB,CAAC;AAEF,eAAO,MAAM,oBAAoB,aAAc,uBAAuB,SASrE,CAAC;AAEF,eAAO,MAAM,oBAAoB,aACnB,uBAAuB,iBAClB,MAAM,0DAEA,QAAQ,QAAQ,CAAC,kBA8CzC,CAAC;AAEF,eAAO,MAAM,YAAY,aACX,uBAAuB,SAC1B,QAAQ,WACN,MAAM,yBACQ,WAAW,4BACR,WAAW,2DAEV,MAAM,GAAG,SAAS,kBAmChD,CAAC;AA8BF,eAAO,MAAM,qBAAqB,aACpB,uBAAuB,sBACb,MAAM,8CAEZ,WAAW,6BACE,MAAM,GAAG,SAAS,kBAyBhD,CAAC;AAIF,eAAO,MAAM,qBAAqB,aACpB,uBAAuB,eACpB,YAAY,6BACE,MAAM,uBACZ,QAAQ,wBACR,QAAQ,QAAQ,CAAC,kBAiDzC,CAAC;AAmCF,eAAO,MAAM,gBAAgB,aACf,uBAAuB,cACrB,MAAM,8DAGH,QAAQ,YAAY,CAAC,kBAkGvC,CAAC;AAEF,eAAO,MAAM,iBAAiB,aAChB,uBAAuB,cACrB,MAAM,eACL,QAAQ,YAAY,CAAC,mBACjB,OAAO,mBAiB3B,CAAC;AAEF,eAAO,MAAM,oCAAoC,aACnC,uBAAuB,SAC1B,aAAa,EAAE,gBACR,MAAM,kBAmCvB,CAAC;AAEF,eAAO,MAAM,oCAAoC,aACnC,uBAAuB,yEAInB,MAAM,kBACJ,MAAM,kBAgFzB,CAAC;AAEF,eAAO,MAAM,yCAAyC,aACxC,uBAAuB,cACrB,OAAO,iBACJ,MAAM,SAMxB,CAAC;AAIF,eAAO,MAAM,yBAAyB,aACxB,uBAAuB,iBAClB,MAAM,eACR,MAAM,sBACC,QAAQ,kBA6B/B,CAAC;AAEF,wBAAsB,2BAA2B,CAAC,QAAQ,EAAE,uBAAuB,EAAE,UAAU,EAAE,MAAM,iBAmBtG;AAGD,wBAAgB,oBAAoB,CAChC,QAAQ,EAAE,uBAAuB,EACjC,KAAK,EAAE,MAAM,EACb,gBAAgB,EAAE,mBAAmB,CAAC,OAAO,CAAC,0BAA0B,EAAE,CAAC,CAAC,EAC5E,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,0BAA0B,EAAE,QAO5D;AAED,wBAAsB,kBAAkB,CAAC,QAAQ,EAAE,uBAAuB,EAAE,OAAO,EAAE,MAAM,iBAiB1F;AAED,eAAO,MAAM,kBAAkB,aAAc,uBAAuB,QAAQ,OAAO,SAKlF,CAAC"}
|
|
@@ -54,7 +54,7 @@ export const caseReducer = (pState, action) => {
|
|
|
54
54
|
return Object.assign(Object.assign({}, pState), { caseDetails: Object.assign(Object.assign({}, pState.caseDetails), { caseNumber: null }), isCreatingCase: true, caseCreationError: false, caseCreationErrorMessage: '' });
|
|
55
55
|
}
|
|
56
56
|
case CaseReducerConstants.caseCreated: {
|
|
57
|
-
return Object.assign(Object.assign({}, pState), { caseDetails: Object.assign(Object.assign({}, pState.caseDetails), action.payload.caseDetails), isCreatingCase: false, caseCreationError: false, caseCreationErrorMessage: '' });
|
|
57
|
+
return Object.assign(Object.assign({}, pState), { caseDetails: Object.assign(Object.assign({}, pState.caseDetails), action.payload.caseDetails), isCreatingCase: false, caseCreationError: false, caseCreationErrorMessage: '', caseCreation500ErrorStatus: false });
|
|
58
58
|
}
|
|
59
59
|
case CaseReducerConstants.setCaseCreationError: {
|
|
60
60
|
return Object.assign(Object.assign({}, pState), { isCreatingCase: false, caseCreationError: true, caseCreationErrorMessage: action.payload.caseCreationErrorMessage });
|
|
@@ -127,6 +127,9 @@ export const caseReducer = (pState, action) => {
|
|
|
127
127
|
case CaseReducerConstants.getVersionDetails: {
|
|
128
128
|
return Object.assign(Object.assign({}, pState), { versionsDetails: action.payload.versionsDetails });
|
|
129
129
|
}
|
|
130
|
+
case CaseReducerConstants.caseCreation500ErrorStatus: {
|
|
131
|
+
return Object.assign(Object.assign({}, pState), { caseCreation500ErrorStatus: action.payload.caseCreation500ErrorStatus });
|
|
132
|
+
}
|
|
130
133
|
default: {
|
|
131
134
|
return pState;
|
|
132
135
|
}
|
|
@@ -155,12 +158,43 @@ export const submitCase = (dispatch, caseDetails, sessionItem, isCaseCreate, err
|
|
|
155
158
|
}
|
|
156
159
|
catch (error) {
|
|
157
160
|
const errorMessage = formattedApiErrorMessage(error, { '500': { message: errorMessage500 } });
|
|
161
|
+
// Set `caseCreationError` as true if there is HTTP 500 error
|
|
162
|
+
updateCaseCreationErrorStatusOnError(dispatch, error);
|
|
158
163
|
dispatch({
|
|
159
164
|
type: CaseReducerConstants.setCaseCreationError,
|
|
160
165
|
payload: { caseCreationErrorMessage: errorMessage },
|
|
161
166
|
});
|
|
162
167
|
}
|
|
163
168
|
});
|
|
169
|
+
/**
|
|
170
|
+
* Update case details if there is HTTP 500 error while submitting case
|
|
171
|
+
* @param dispatch CaseReducerDispatchType
|
|
172
|
+
* @param error Error
|
|
173
|
+
*/
|
|
174
|
+
export const updateCaseCreationErrorStatusOnError = (dispatch, error) => {
|
|
175
|
+
const errorCode = parseInt((error === null || error === void 0 ? void 0 : error.code) || (error === null || error === void 0 ? void 0 : error.status)) || '';
|
|
176
|
+
if (errorCode === 500) {
|
|
177
|
+
dispatch({
|
|
178
|
+
type: CaseReducerConstants.caseCreation500ErrorStatus,
|
|
179
|
+
payload: {
|
|
180
|
+
caseCreation500ErrorStatus: true,
|
|
181
|
+
},
|
|
182
|
+
});
|
|
183
|
+
}
|
|
184
|
+
};
|
|
185
|
+
/**
|
|
186
|
+
* Update `caseCreation500ErrorStatus` status
|
|
187
|
+
* @param dispatch CaseReducerDispatchType
|
|
188
|
+
* @param errorStatus Boolean
|
|
189
|
+
*/
|
|
190
|
+
export const updateCaseCreationErrorStatus = (dispatch, errorStatus) => {
|
|
191
|
+
dispatch({
|
|
192
|
+
type: CaseReducerConstants.caseCreation500ErrorStatus,
|
|
193
|
+
payload: {
|
|
194
|
+
caseCreation500ErrorStatus: errorStatus,
|
|
195
|
+
},
|
|
196
|
+
});
|
|
197
|
+
};
|
|
164
198
|
export const postCaseCreationProcessing = (dispatch, caseNumber, caseDetails) => __awaiter(void 0, void 0, void 0, function* () {
|
|
165
199
|
caseDetails.caseDetails.cep === true && postCepDetails(dispatch, caseNumber, caseDetails.cepDetails);
|
|
166
200
|
});
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { IClusterRecommendation } from '@cee-eng/hydrajs/@types/api/pcm/preCaseDiagnostics';
|
|
1
|
+
import { IClusterRecommendation, IClusterRecommendationsResult } from '@cee-eng/hydrajs/@types/api/pcm/preCaseDiagnostics';
|
|
2
2
|
import { IAction, IApiResponseDetails } from '@rh-support/types/shared';
|
|
3
3
|
export declare enum RulesReducerConstants {
|
|
4
4
|
requestClusterRecommendations = "requestClusterRecommendations",
|
|
@@ -11,11 +11,14 @@ export declare const initialClusterRecommendations: IApiResponseDetails<ICluster
|
|
|
11
11
|
export interface IInitialClusterRecommendationsStateType {
|
|
12
12
|
clusterRecommendations: IApiResponseDetails<IClusterRecommendation[]>;
|
|
13
13
|
isClusterRecommendationsModalOpen: boolean;
|
|
14
|
+
clusterRecommendationsCache: {
|
|
15
|
+
[key: string]: IClusterRecommendationsResult;
|
|
16
|
+
};
|
|
14
17
|
}
|
|
15
18
|
export declare const initialState: IInitialClusterRecommendationsStateType;
|
|
16
19
|
export declare const clusterRecommendationsReducer: (state: IInitialClusterRecommendationsStateType, action: IActionType) => IInitialClusterRecommendationsStateType;
|
|
17
20
|
export declare const resetClusterRecommendations: (dispatch: ClusterRecommendationsDispatchType) => void;
|
|
18
|
-
export declare const fetchClusterRecommendations: (dispatch: ClusterRecommendationsDispatchType, clusterId: string) => Promise<void>;
|
|
21
|
+
export declare const fetchClusterRecommendations: (dispatch: ClusterRecommendationsDispatchType, clusterId: string, clusterRecommendationsCache: any) => Promise<void>;
|
|
19
22
|
export declare const toggleClusterRecommendationModal: (dispatch: ClusterRecommendationsDispatchType, newModalVisibilityValue: boolean) => void;
|
|
20
23
|
export {};
|
|
21
24
|
//# sourceMappingURL=ClusterRecommendationsReducer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClusterRecommendationsReducer.d.ts","sourceRoot":"","sources":["../../../src/reducers/ClusterRecommendationsReducer.ts"],"names":[],"mappings":"AACA,OAAO,EACH,sBAAsB,
|
|
1
|
+
{"version":3,"file":"ClusterRecommendationsReducer.d.ts","sourceRoot":"","sources":["../../../src/reducers/ClusterRecommendationsReducer.ts"],"names":[],"mappings":"AACA,OAAO,EACH,sBAAsB,EACtB,6BAA6B,EAChC,MAAM,oDAAoD,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAGxE,oBAAY,qBAAqB;IAC7B,6BAA6B,kCAAkC;IAC/D,2BAA2B,gCAAgC;IAC3D,gCAAgC,qCAAqC;CACxE;AAED,aAAK,WAAW,GAAG,OAAO,CAAC,qBAAqB,EAAE,uCAAuC,CAAC,CAAC;AAC3F,oBAAY,kCAAkC,GAAG,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;AAE9E,eAAO,MAAM,6BAA6B,EAAE,mBAAmB,CAAC,sBAAsB,EAAE,CAA4B,CAAC;AAErH,MAAM,WAAW,uCAAuC;IACpD,sBAAsB,EAAE,mBAAmB,CAAC,sBAAsB,EAAE,CAAC,CAAC;IACtE,iCAAiC,EAAE,OAAO,CAAC;IAC3C,2BAA2B,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,6BAA6B,CAAA;KAAE,CAAC;CACjF;AAED,eAAO,MAAM,YAAY,EAAE,uCAI1B,CAAC;AAEF,eAAO,MAAM,6BAA6B,UAC/B,uCAAuC,0BAE/C,uCAmBF,CAAC;AAGF,eAAO,MAAM,2BAA2B,aAAc,kCAAkC,SAEvF,CAAC;AACF,eAAO,MAAM,2BAA2B,aAC1B,kCAAkC,aACjC,MAAM,oDAqCpB,CAAC;AACF,eAAO,MAAM,gCAAgC,aAC/B,kCAAkC,2BACnB,OAAO,SAMnC,CAAC"}
|
|
@@ -19,18 +19,19 @@ export const initialClusterRecommendations = getApiResourceObject([]);
|
|
|
19
19
|
export const initialState = {
|
|
20
20
|
clusterRecommendations: initialClusterRecommendations,
|
|
21
21
|
isClusterRecommendationsModalOpen: false,
|
|
22
|
+
clusterRecommendationsCache: {},
|
|
22
23
|
};
|
|
23
24
|
export const clusterRecommendationsReducer = (state, action) => {
|
|
24
25
|
switch (action.type) {
|
|
25
26
|
case RulesReducerConstants.requestClusterRecommendations: {
|
|
26
|
-
return Object.assign(Object.assign({}, state),
|
|
27
|
+
return Object.assign(Object.assign({}, state), action.payload);
|
|
27
28
|
}
|
|
28
29
|
// used for reseting the rules when reseting on a new troubleshoot issue.
|
|
29
30
|
case RulesReducerConstants.resetClusterRecommendations: {
|
|
30
31
|
return Object.assign(Object.assign({}, state), { clusterRecommendations: initialClusterRecommendations });
|
|
31
32
|
}
|
|
32
33
|
case RulesReducerConstants.toggleClusterRecommendationModal: {
|
|
33
|
-
return Object.assign(Object.assign({}, state),
|
|
34
|
+
return Object.assign(Object.assign({}, state), action.payload);
|
|
34
35
|
}
|
|
35
36
|
default: {
|
|
36
37
|
return state;
|
|
@@ -41,27 +42,39 @@ export const clusterRecommendationsReducer = (state, action) => {
|
|
|
41
42
|
export const resetClusterRecommendations = (dispatch) => {
|
|
42
43
|
dispatch({ type: RulesReducerConstants.resetClusterRecommendations });
|
|
43
44
|
};
|
|
44
|
-
export const fetchClusterRecommendations = (dispatch, clusterId) => __awaiter(void 0, void 0, void 0, function* () {
|
|
45
|
+
export const fetchClusterRecommendations = (dispatch, clusterId, clusterRecommendationsCache) => __awaiter(void 0, void 0, void 0, function* () {
|
|
45
46
|
var _a;
|
|
46
47
|
dispatch({
|
|
47
48
|
type: RulesReducerConstants.requestClusterRecommendations,
|
|
48
49
|
payload: {
|
|
49
50
|
clusterRecommendations: getApiResourceObject([], true),
|
|
51
|
+
clusterRecommendationsCache,
|
|
50
52
|
},
|
|
51
53
|
});
|
|
52
54
|
try {
|
|
53
|
-
|
|
55
|
+
let clusterInsight;
|
|
56
|
+
if (clusterRecommendationsCache[clusterId]) {
|
|
57
|
+
clusterInsight = clusterRecommendationsCache[clusterId];
|
|
58
|
+
}
|
|
59
|
+
else {
|
|
60
|
+
clusterInsight = yield pcm.preCase.diag.getClusterRecommendations(clusterId);
|
|
61
|
+
clusterRecommendationsCache[clusterId] = clusterInsight;
|
|
62
|
+
}
|
|
54
63
|
const rules = ((_a = clusterInsight === null || clusterInsight === void 0 ? void 0 : clusterInsight.report) === null || _a === void 0 ? void 0 : _a.data) || [];
|
|
55
64
|
dispatch({
|
|
56
65
|
type: RulesReducerConstants.requestClusterRecommendations,
|
|
57
|
-
payload: { clusterRecommendations: getApiResourceObject(rules) },
|
|
66
|
+
payload: { clusterRecommendations: getApiResourceObject(rules), clusterRecommendationsCache },
|
|
58
67
|
});
|
|
59
68
|
}
|
|
60
69
|
catch (e) {
|
|
61
70
|
console.log(e.message);
|
|
71
|
+
clusterRecommendationsCache[clusterId] = {};
|
|
62
72
|
dispatch({
|
|
63
73
|
type: RulesReducerConstants.requestClusterRecommendations,
|
|
64
|
-
payload: {
|
|
74
|
+
payload: {
|
|
75
|
+
clusterRecommendations: getApiResourceObject([], false, true, e.message),
|
|
76
|
+
clusterRecommendationsCache,
|
|
77
|
+
},
|
|
65
78
|
});
|
|
66
79
|
}
|
|
67
80
|
});
|
|
@@ -3,6 +3,7 @@ import { ICasePayload } from '@cee-eng/hydrajs/@types/api/public/case';
|
|
|
3
3
|
import { ISolrRecommendation } from '@cee-eng/hydrajs/@types/models/solr/solr';
|
|
4
4
|
import { ITopContent, ITopContentList } from '@cee-eng/hydrajs/@types/models/topContent/topContentModel';
|
|
5
5
|
import { IAction, IApiCreateState, IApiResponseDetails, IApiUpdateState } from '@rh-support/types/shared';
|
|
6
|
+
import { CaseReducerDispatchType } from './CaseConstNTypes';
|
|
6
7
|
export interface IPrevSessions {
|
|
7
8
|
[sessionId: string]: ISessionItem;
|
|
8
9
|
}
|
|
@@ -26,6 +27,7 @@ export interface ISessionRestoreState {
|
|
|
26
27
|
sessionUpdationStatus: IApiUpdateState;
|
|
27
28
|
sessionResourceTracking: ISessionResourcesTracking;
|
|
28
29
|
referrerUrl: string;
|
|
30
|
+
sessionOfCaseCreationError: ISessionItem | null;
|
|
29
31
|
}
|
|
30
32
|
export interface ISessionRestorePayloadType extends ISessionRestoreState {
|
|
31
33
|
sessionItem: ISessionItem;
|
|
@@ -46,12 +48,13 @@ export declare enum SessionRestoreConstants {
|
|
|
46
48
|
setSessionCreationState = "setSessionCreationState",
|
|
47
49
|
setSessionUpdationState = "setSessionUpdationState",
|
|
48
50
|
updateSessionResourceTracking = "updateSessionResourceTracking",
|
|
49
|
-
updatePreviousSessions = "updatePreviousSessions"
|
|
51
|
+
updatePreviousSessions = "updatePreviousSessions",
|
|
52
|
+
updateSessionOfCaseCreationError = "updateSessionOfCaseCreationError"
|
|
50
53
|
}
|
|
51
54
|
export declare const initialSessionRestoreState: ISessionRestoreState;
|
|
52
55
|
export declare type SessionRestoreDispatchType = (value: IActionType) => void;
|
|
53
56
|
export declare const sessionRestoreReducer: (state: ISessionRestoreState, action: IActionType) => ISessionRestoreState;
|
|
54
|
-
export declare const loadPreviousSessions: (dispatch: SessionReducerDispatchType) => Promise<void>;
|
|
57
|
+
export declare const loadPreviousSessions: (dispatch: SessionReducerDispatchType, caseDispatch: CaseReducerDispatchType) => Promise<void>;
|
|
55
58
|
export declare const createSession: (dispatch: SessionReducerDispatchType, sessionDetails: ISessionDetails, session: ISession) => Promise<void>;
|
|
56
59
|
export declare const updateSession: (dispatch: SessionReducerDispatchType, sessionId: string, sessionDetails?: ISessionDetails, session?: ISession) => Promise<void>;
|
|
57
60
|
export declare const updateActiveSessionId: (dispatch: SessionReducerDispatchType, activeSessionId: string) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SessionRestoreReducer.d.ts","sourceRoot":"","sources":["../../../src/reducers/SessionRestoreReducer.ts"],"names":[],"mappings":"AACA,OAAO,EACH,QAAQ,EACR,eAAe,EACf,YAAY,EACZ,gBAAgB,EAChB,qBAAqB,IAAI,sBAAsB,EAC/C,yBAAyB,IAAI,0BAA0B,EAC1D,MAAM,qDAAqD,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,2DAA2D,CAAC;AACzG,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"SessionRestoreReducer.d.ts","sourceRoot":"","sources":["../../../src/reducers/SessionRestoreReducer.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,6 +17,7 @@ import forEach from 'lodash/forEach';
|
|
|
17
17
|
import isEmpty from 'lodash/isEmpty';
|
|
18
18
|
import map from 'lodash/map';
|
|
19
19
|
import uniqBy from 'lodash/uniqBy';
|
|
20
|
+
import { CaseReducerConstants } from './CaseConstNTypes';
|
|
20
21
|
const { getSessions, patchSession, createNewSession, createSessionResources, updateSessionResources, createSessionCepDetails, SessionResourceVisibility, } = pcm.preCase.session;
|
|
21
22
|
// Constants
|
|
22
23
|
export var SessionRestoreConstants;
|
|
@@ -29,6 +30,7 @@ export var SessionRestoreConstants;
|
|
|
29
30
|
SessionRestoreConstants["setSessionUpdationState"] = "setSessionUpdationState";
|
|
30
31
|
SessionRestoreConstants["updateSessionResourceTracking"] = "updateSessionResourceTracking";
|
|
31
32
|
SessionRestoreConstants["updatePreviousSessions"] = "updatePreviousSessions";
|
|
33
|
+
SessionRestoreConstants["updateSessionOfCaseCreationError"] = "updateSessionOfCaseCreationError";
|
|
32
34
|
})(SessionRestoreConstants || (SessionRestoreConstants = {}));
|
|
33
35
|
export const initialSessionRestoreState = {
|
|
34
36
|
previousSessions: getApiResourceObject({}),
|
|
@@ -38,6 +40,7 @@ export const initialSessionRestoreState = {
|
|
|
38
40
|
sessionUpdationStatus: getApiUpdationStatus(),
|
|
39
41
|
sessionResourceTracking: {},
|
|
40
42
|
referrerUrl: null,
|
|
43
|
+
sessionOfCaseCreationError: null,
|
|
41
44
|
};
|
|
42
45
|
// Reducers
|
|
43
46
|
export const sessionRestoreReducer = (state, action) => {
|
|
@@ -101,13 +104,16 @@ export const sessionRestoreReducer = (state, action) => {
|
|
|
101
104
|
newState.previousSessions.data = Object.assign(Object.assign({}, newState.previousSessions.data), action.payload.previousSessions.data);
|
|
102
105
|
return newState;
|
|
103
106
|
}
|
|
107
|
+
case SessionRestoreConstants.updateSessionOfCaseCreationError: {
|
|
108
|
+
return Object.assign(Object.assign({}, state), { sessionOfCaseCreationError: action.payload.sessionOfCaseCreationError });
|
|
109
|
+
}
|
|
104
110
|
default: {
|
|
105
111
|
return state;
|
|
106
112
|
}
|
|
107
113
|
}
|
|
108
114
|
};
|
|
109
115
|
// Function to Load Previous Session
|
|
110
|
-
export const loadPreviousSessions = (dispatch) => __awaiter(void 0, void 0, void 0, function* () {
|
|
116
|
+
export const loadPreviousSessions = (dispatch, caseDispatch) => __awaiter(void 0, void 0, void 0, function* () {
|
|
111
117
|
dispatch({
|
|
112
118
|
type: SessionRestoreConstants.getSessions,
|
|
113
119
|
payload: { previousSessions: getApiResourceObject({}, true), hasFetchedPreviousSessions: false },
|
|
@@ -119,9 +125,26 @@ export const loadPreviousSessions = (dispatch) => __awaiter(void 0, void 0, void
|
|
|
119
125
|
modifiedAfter: getPastUTCDateFromNow(30),
|
|
120
126
|
});
|
|
121
127
|
const prevSessions = {};
|
|
128
|
+
let foundSessionWithCaseCreationError = {};
|
|
122
129
|
for (const s of sessions) {
|
|
123
130
|
prevSessions[s.session.id] = s;
|
|
131
|
+
s.session.caseCreationError && (foundSessionWithCaseCreationError = s);
|
|
124
132
|
}
|
|
133
|
+
// If session is having `caseCreationError` true then update case details store.
|
|
134
|
+
!isEmpty(foundSessionWithCaseCreationError) &&
|
|
135
|
+
caseDispatch({
|
|
136
|
+
type: CaseReducerConstants.caseCreation500ErrorStatus,
|
|
137
|
+
payload: {
|
|
138
|
+
caseCreation500ErrorStatus: true,
|
|
139
|
+
},
|
|
140
|
+
});
|
|
141
|
+
!isEmpty(foundSessionWithCaseCreationError) &&
|
|
142
|
+
dispatch({
|
|
143
|
+
type: SessionRestoreConstants.updateSessionOfCaseCreationError,
|
|
144
|
+
payload: {
|
|
145
|
+
sessionOfCaseCreationError: foundSessionWithCaseCreationError,
|
|
146
|
+
},
|
|
147
|
+
});
|
|
125
148
|
dispatch({
|
|
126
149
|
type: SessionRestoreConstants.getSessions,
|
|
127
150
|
payload: { previousSessions: getApiResourceObject(prevSessions), hasFetchedPreviousSessions: true },
|