@rh-support/troubleshoot 2.5.32 → 2.5.33
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/Case.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/Case.js +31 -14
- package/lib/esm/components/CaseEditView/CaseDetailsTabs.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/CaseDetailsTabs.js +2 -1
- package/lib/esm/components/CaseEditView/CaseOverview/CaseStatus.js +1 -1
- package/lib/esm/components/CaseEditView/CaseOverview/index.js +1 -1
- package/lib/esm/components/CaseEditView/CaseSolutions/CaseSolutions.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/CaseSolutions/CaseSolutions.js +7 -2
- package/lib/esm/components/CaseEditView/RequestRemoteSession/NewEssTermsModal.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/RequestRemoteSession/NewEssTermsModal.js +6 -4
- package/lib/esm/components/CaseEditView/RequestRemoteSession/RemoteSessionAgreementModal.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/RequestRemoteSession/RemoteSessionAgreementModal.js +6 -4
- package/lib/esm/components/CaseEditView/Tabs/CaseDetails/useCustomEmails.d.ts +2 -1
- package/lib/esm/components/CaseEditView/Tabs/CaseDetails/useCustomEmails.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/Tabs/CaseDetails/useCustomEmails.js +3 -2
- package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/CaseComments.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/CaseComments.js +2 -1
- package/lib/esm/components/CaseInformation/Severity.d.ts.map +1 -1
- package/lib/esm/components/CaseInformation/Severity.js +1 -1
- package/lib/esm/components/Cve/CveModal.d.ts.map +1 -1
- package/lib/esm/components/Cve/CveModal.js +3 -2
- package/lib/esm/components/ProductSelector/AllProductsSelector.d.ts.map +1 -1
- package/lib/esm/components/ProductSelector/AllProductsSelector.js +7 -5
- package/lib/esm/components/Recommendations/Recommendations.d.ts.map +1 -1
- package/lib/esm/components/Recommendations/Recommendations.js +9 -4
- package/lib/esm/components/shared/useIsSectionValid.js +12 -12
- package/lib/esm/components/wizardLayout/WizardAside.d.ts.map +1 -1
- package/lib/esm/components/wizardLayout/WizardAside.js +4 -3
- package/lib/esm/components/wizardLayout/WizardNavigation.d.ts.map +1 -1
- package/lib/esm/components/wizardLayout/WizardNavigation.js +13 -9
- package/lib/esm/css/case.css +5 -0
- package/lib/esm/enums/Kcs.d.ts +5 -0
- package/lib/esm/enums/Kcs.d.ts.map +1 -0
- package/lib/esm/enums/Kcs.js +5 -0
- package/lib/esm/hooks/useWizard.d.ts.map +1 -1
- package/lib/esm/hooks/useWizard.js +10 -8
- package/lib/esm/reducers/RouteConstNTypes.d.ts +3 -2
- package/lib/esm/reducers/RouteConstNTypes.d.ts.map +1 -1
- package/lib/esm/reducers/RouteConstNTypes.js +30 -26
- package/lib/esm/reducers/RulesReducer.d.ts.map +1 -1
- package/lib/esm/reducers/RulesReducer.js +5 -1
- package/lib/esm/utils/routeUtils.d.ts.map +1 -1
- package/lib/esm/utils/routeUtils.js +7 -3
- package/package.json +6 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Case.d.ts","sourceRoot":"","sources":["../../../../src/components/CaseEditView/Case.tsx"],"names":[],"mappings":"AAcA,OAAO,KAAwC,MAAM,OAAO,CAAC;AAE7D,OAAO,EAAS,mBAAmB,EAAiD,MAAM,kBAAkB,CAAC;AAkB7G,UAAU,MAAM;IACZ,UAAU,EAAE,mBAAmB,CAAC;CACnC;AAED,MAAM,CAAC,OAAO,UAAU,IAAI,CAAC,KAAK,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"Case.d.ts","sourceRoot":"","sources":["../../../../src/components/CaseEditView/Case.tsx"],"names":[],"mappings":"AAcA,OAAO,KAAwC,MAAM,OAAO,CAAC;AAE7D,OAAO,EAAS,mBAAmB,EAAiD,MAAM,kBAAkB,CAAC;AAkB7G,UAAU,MAAM;IACZ,UAAU,EAAE,mBAAmB,CAAC;CACnC;AAED,MAAM,CAAC,OAAO,UAAU,IAAI,CAAC,KAAK,EAAE,MAAM,qBA+MzC"}
|
|
@@ -1,3 +1,12 @@
|
|
|
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
|
+
};
|
|
1
10
|
import { CoverSpinner, ErrorBoundary, OverviewContentLoader, ToastNotification, useDocumentTitle, usePrevious, } from '@rh-support/components';
|
|
2
11
|
import { GlobalMetadataStateContext, HostnameAwarenessModal } from '@rh-support/react-context';
|
|
3
12
|
import { AbilityContext, CaseDetailsFields, resourceActions, resources } from '@rh-support/user-permissions';
|
|
@@ -73,6 +82,8 @@ export default function Case(props) {
|
|
|
73
82
|
}
|
|
74
83
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
75
84
|
}, [loggedInUsersAccount.data]);
|
|
85
|
+
// Create a ref to track the current case number
|
|
86
|
+
const currentCaseRef = useRef(caseNumber);
|
|
76
87
|
useEffect(() => {
|
|
77
88
|
if (caseNumber === previousCaseNumber)
|
|
78
89
|
return;
|
|
@@ -80,20 +91,26 @@ export default function Case(props) {
|
|
|
80
91
|
props.routeProps.history.replace('/case/list');
|
|
81
92
|
return;
|
|
82
93
|
}
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
94
|
+
currentCaseRef.current = caseNumber;
|
|
95
|
+
const handleCaseChange = () => __awaiter(this, void 0, void 0, function* () {
|
|
96
|
+
if (currentCaseRef.current === caseNumber) {
|
|
97
|
+
yield fetchCaseDetails(caseDispatch, caseNumber, loggedInUserRights.data, loggedInUser.data);
|
|
98
|
+
if (canSeeRMEs) {
|
|
99
|
+
fetchCaseEscalations(caseDetailsPageDispatch, caseNumber, loggedInUserRights.data.getAccountNumber());
|
|
100
|
+
}
|
|
101
|
+
if (canSeeAttachments) {
|
|
102
|
+
fetchAttachments(caseDetailsPageDispatch, caseNumber, loggedInUsersAccount.data.secureSupport);
|
|
103
|
+
}
|
|
104
|
+
if (canSeeExternalTracker) {
|
|
105
|
+
fetchExternalTrackers(caseDetailsPageDispatch, caseNumber);
|
|
106
|
+
}
|
|
107
|
+
checkRemoteSessionFlag();
|
|
108
|
+
if (canSeeFeedbackButtons) {
|
|
109
|
+
fetchFeedbacks(caseDetailsPageDispatch, caseNumber);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
});
|
|
113
|
+
handleCaseChange();
|
|
97
114
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
98
115
|
}, [
|
|
99
116
|
caseNumber,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CaseDetailsTabs.d.ts","sourceRoot":"","sources":["../../../../src/components/CaseEditView/CaseDetailsTabs.tsx"],"names":[],"mappings":"AAeA,OAAO,KAAiD,MAAM,OAAO,CAAC;AAEtE,OAAO,EAAE,mBAAmB,EAAa,MAAM,kBAAkB,CAAC;AAyBlE,UAAU,MAAM;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,mBAAmB,CAAC;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,KAAK,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;CACnD;AACD,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"CaseDetailsTabs.d.ts","sourceRoot":"","sources":["../../../../src/components/CaseEditView/CaseDetailsTabs.tsx"],"names":[],"mappings":"AAeA,OAAO,KAAiD,MAAM,OAAO,CAAC;AAEtE,OAAO,EAAE,mBAAmB,EAAa,MAAM,kBAAkB,CAAC;AAyBlE,UAAU,MAAM;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,mBAAmB,CAAC;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,KAAK,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;CACnD;AACD,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,qBAmO5C"}
|
|
@@ -20,7 +20,7 @@ const RMEEscalationList = React.lazy(() => import(/* webpackChunkName: 'RMEEscal
|
|
|
20
20
|
export function CaseDetailsTabs(props) {
|
|
21
21
|
const { caseNumber } = props;
|
|
22
22
|
const { activeTab } = useParams();
|
|
23
|
-
const { globalMetadataState: { loggedInUserRights, loggedInUsersAccount }, } = useContext(GlobalMetadataStateContext);
|
|
23
|
+
const { globalMetadataState: { loggedInUserRights, loggedInUsersAccount, viewAsCustomer }, } = useContext(GlobalMetadataStateContext);
|
|
24
24
|
const { accountNumber, chats, comments, status } = useCaseSelector((state) => ({
|
|
25
25
|
accountNumber: state.caseDetails.accountNumberRef,
|
|
26
26
|
chats: state.caseDetails.chats,
|
|
@@ -69,6 +69,7 @@ export function CaseDetailsTabs(props) {
|
|
|
69
69
|
component: (React.createElement(CaseDetailsManagement, { caseNumber: caseNumber, routeProps: props.routeProps, tabRef: managementTabRef })),
|
|
70
70
|
});
|
|
71
71
|
loggedInUserRights.data.isInternal() &&
|
|
72
|
+
!viewAsCustomer &&
|
|
72
73
|
tabsToRender.push({
|
|
73
74
|
'data-tracking-id': 'case-details-related-tasks-tab',
|
|
74
75
|
key: 'relatedTasks',
|
|
@@ -50,7 +50,7 @@ function CaseStatus(props) {
|
|
|
50
50
|
React.createElement(Trans, null, "Status"),
|
|
51
51
|
React.createElement(ValueChangedIcon, { afterLocalChange: afterLocalChange, isLocalChange: localStatusChange, value: props.selectedStatus, getTooltipContent: getChangedValueTooltip(() => CaseValuesToWatch.status) }),
|
|
52
52
|
React.createElement("span", { className: `form-required ${isExportingPDF ? 'hide-in-pdf' : ''}`, "aria-hidden": true }, "*")),
|
|
53
|
-
React.createElement(SingleSelectDropdown, { placeholder: t(`Select a status`), dataTrackingId: "case-details-status-selector", options: getDropdownOptions, selected: getSelectedDropdownOption, isDisabled: props.hasError || props.isDisabled, isLoading: props.isFetching, isInvalid: isCaseStatusInValid, onSelect: onCaseStatusChange })));
|
|
53
|
+
React.createElement(SingleSelectDropdown, { placeholder: t(`Select a status`), dataTrackingId: "case-details-status-selector", options: getDropdownOptions, selected: getSelectedDropdownOption, isDisabled: props.hasError || props.isDisabled || props.isFetching, isLoading: props.isFetching, isInvalid: isCaseStatusInValid, onSelect: onCaseStatusChange })));
|
|
54
54
|
}
|
|
55
55
|
CaseStatus.defaultProps = defaultProps;
|
|
56
56
|
export default CaseStatus;
|
|
@@ -244,7 +244,7 @@ export default function CaseOverview(props) {
|
|
|
244
244
|
props.caseNumber),
|
|
245
245
|
React.createElement("div", null,
|
|
246
246
|
exportPDFButton(props.caseNumber),
|
|
247
|
-
React.createElement(Button, Object.assign({ className: `pf-v5-u-ml-md ${isExportingPDF ? 'hide-in-pdf' : ''}`, isDisabled: !canManageCase
|
|
247
|
+
React.createElement(Button, Object.assign({ className: `pf-v5-u-ml-md ${isExportingPDF ? 'hide-in-pdf' : ''}`, isDisabled: !canManageCase }, ((showCloseCaseModal || showReOpenCaseModal) &&
|
|
248
248
|
isCaseUpdating && {
|
|
249
249
|
isLoading: true,
|
|
250
250
|
}), { onClick: () => (isCaseInOpenState ? onCaseClose() : onCaseReopen()), variant: isCaseInOpenState ? ButtonVariant.secondary : ButtonVariant.tertiary, "data-tracking-id": isCaseInOpenState
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CaseSolutions.d.ts","sourceRoot":"","sources":["../../../../../src/components/CaseEditView/CaseSolutions/CaseSolutions.tsx"],"names":[],"mappings":"AAmBA,OAAO,KAAsD,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"CaseSolutions.d.ts","sourceRoot":"","sources":["../../../../../src/components/CaseEditView/CaseSolutions/CaseSolutions.tsx"],"names":[],"mappings":"AAmBA,OAAO,KAAsD,MAAM,OAAO,CAAC;AAwE3E,UAAU,MAAM;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,sBAAsB,EAAE,OAAO,CAAC;CACnC;AAUD,eAAO,MAAM,aAAa,+EAohBxB,CAAC"}
|
|
@@ -33,6 +33,7 @@ import { CaseStatusEnum } from '../../../constants/caseDetailsConstants';
|
|
|
33
33
|
import { useCaseDispatch, useCaseSelector } from '../../../context/CaseContext';
|
|
34
34
|
import { CaseOverviewDispatchContext } from '../../../context/CaseOverviewContext';
|
|
35
35
|
import { useRecommendationDispatchContext, useRecommendationStateContext, } from '../../../context/RecommendationContext';
|
|
36
|
+
import { SolutionModerationStates } from '../../../enums/Kcs';
|
|
36
37
|
import { useCaseUpdateErrorMessage } from '../../../hooks/useCaseUpdateErrorMessage';
|
|
37
38
|
import { setStatusUpdating } from '../../../reducers/CaseOverviewReducer';
|
|
38
39
|
import { updateCaseDetails } from '../../../reducers/CaseReducer';
|
|
@@ -223,9 +224,13 @@ export const CaseSolutions = forwardRef((props, ref) => {
|
|
|
223
224
|
summary,
|
|
224
225
|
description: extractKTQuestion1FromDescription(description),
|
|
225
226
|
};
|
|
227
|
+
const additionalFilters = {
|
|
228
|
+
// Filter out any unpublished resources.
|
|
229
|
+
ModerationState: { values: [SolutionModerationStates.Draft], exclude: true },
|
|
230
|
+
};
|
|
226
231
|
!loggedInUsersAccount.data.secureSupport
|
|
227
|
-
? fetchWatsonXRecommendations(recommendationsDispatch, payload, 50, 5, 300, true)
|
|
228
|
-
: fetchRecommendations(recommendationsDispatch, payload, 50, 5, 300, false, caseNumber, isSecureSupportAccount);
|
|
232
|
+
? fetchWatsonXRecommendations(recommendationsDispatch, payload, 50, 5, 300, true, additionalFilters)
|
|
233
|
+
: fetchRecommendations(recommendationsDispatch, payload, 50, 5, 300, false, caseNumber, isSecureSupportAccount, additionalFilters);
|
|
229
234
|
}
|
|
230
235
|
}
|
|
231
236
|
fetchRecs();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NewEssTermsModal.d.ts","sourceRoot":"","sources":["../../../../../src/components/CaseEditView/RequestRemoteSession/NewEssTermsModal.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAExD,OAAO,KAA8B,MAAM,OAAO,CAAC;AAYnD,UAAU,MAAM;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,OAAO,CAAC;IACd,kBAAkB,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAClD,QAAQ,EAAE,OAAO,CAAC;CACrB;AAiBD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"NewEssTermsModal.d.ts","sourceRoot":"","sources":["../../../../../src/components/CaseEditView/RequestRemoteSession/NewEssTermsModal.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAExD,OAAO,KAA8B,MAAM,OAAO,CAAC;AAYnD,UAAU,MAAM;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,OAAO,CAAC;IACd,kBAAkB,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAClD,QAAQ,EAAE,OAAO,CAAC;CACrB;AAiBD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,qBA4W7C"}
|
|
@@ -104,7 +104,7 @@ export function NewEssTermsModal(props) {
|
|
|
104
104
|
};
|
|
105
105
|
// Function to ack remote session terms and post comment
|
|
106
106
|
const submitRemoteSessionAgreement = (pdfId) => __awaiter(this, void 0, void 0, function* () {
|
|
107
|
-
const requestComment = t(`Submitted a remote session request with following details:\n\n**Expectations
|
|
107
|
+
const requestComment = t(`Submitted a remote session request with following details:\n\n**Preferred Time and Expectations for Remote Session**\n${sessionExpectations}\n\n**Describe the impact to you or the business**\n${impact}\n\n${sessionLink ? `**Remote session link**\n[${sessionLink}](${sessionLink})\n\n` : ''}This action does not initiate a remote session. A Red Hat Associate will get back to you soon.`);
|
|
108
108
|
try {
|
|
109
109
|
yield updateCaseDetails(caseDispatch, props.caseNumber, {
|
|
110
110
|
remoteSessionTermsAcked: true,
|
|
@@ -168,7 +168,9 @@ export function NewEssTermsModal(props) {
|
|
|
168
168
|
// To check and if I agree button is loading
|
|
169
169
|
const isAgreeLoading = agreeLoading || isPostingComment;
|
|
170
170
|
const modalActions = [
|
|
171
|
-
React.createElement(Button, { "aria-label": t('I agree'), variant: ButtonVariant.primary, onClick: isRemoteSessionForm || remoteSessionTermsAcked ? onSubmit : toggleRemoteSessionForm, "data-tracking-id":
|
|
171
|
+
React.createElement(Button, { "aria-label": t('I agree'), variant: ButtonVariant.primary, onClick: isRemoteSessionForm || remoteSessionTermsAcked ? onSubmit : toggleRemoteSessionForm, "data-tracking-id": isRemoteSessionForm || remoteSessionTermsAcked
|
|
172
|
+
? 'remote-session-details-submission'
|
|
173
|
+
: 'remote-session-agreement-check', isLoading: isAgreeLoading, isDisabled: (isRemoteSessionForm || remoteSessionTermsAcked
|
|
172
174
|
? !sessionExpectations.trim() || !impact.trim()
|
|
173
175
|
: !isTermsChecked) || isAgreeLoading }, t(isRemoteSessionForm || remoteSessionTermsAcked ? 'Submit' : 'I agree')),
|
|
174
176
|
React.createElement(Button, { key: "cancel", variant: "link", onClick: onCancel, isDisabled: isAgreeLoading }, "Cancel"),
|
|
@@ -180,9 +182,9 @@ export function NewEssTermsModal(props) {
|
|
|
180
182
|
React.createElement("a", { href: "https://access.redhat.com/articles/3566571", target: "_blank", rel: "noopener noreferrer" }, "Read more.")) }),
|
|
181
183
|
React.createElement("div", null,
|
|
182
184
|
React.createElement("label", { className: "pf-v5-u-mt-md" },
|
|
183
|
-
React.createElement(Trans, null, "Expectations
|
|
185
|
+
React.createElement(Trans, null, "Preferred Time and Expectations for Remote Session"),
|
|
184
186
|
React.createElement("span", { className: "form-required", "aria-hidden": "true" }, "*")),
|
|
185
|
-
React.createElement(TextArea, { value: sessionExpectations, onChange: updateSessionExpectation, rows: 3, placeholder: "Please share anything that will help prepare for our meeting?", isRequired: true, "aria-label": "Expectations
|
|
187
|
+
React.createElement(TextArea, { value: sessionExpectations, onChange: updateSessionExpectation, rows: 3, placeholder: "Please share anything that will help prepare for our meeting?", isRequired: true, "aria-label": "Preferred Time and Expectations for Remote Session" })),
|
|
186
188
|
React.createElement("div", null,
|
|
187
189
|
React.createElement("label", { className: "pf-v5-u-mt-md" },
|
|
188
190
|
React.createElement(Trans, null, "Describe the impact to you or the business"),
|
package/lib/esm/components/CaseEditView/RequestRemoteSession/RemoteSessionAgreementModal.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RemoteSessionAgreementModal.d.ts","sourceRoot":"","sources":["../../../../../src/components/CaseEditView/RequestRemoteSession/RemoteSessionAgreementModal.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAExD,OAAO,KAA8B,MAAM,OAAO,CAAC;AAgBnD,UAAU,MAAM;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,OAAO,CAAC;IACd,kBAAkB,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAClD,QAAQ,EAAE,OAAO,CAAC;CACrB;AAiBD,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"RemoteSessionAgreementModal.d.ts","sourceRoot":"","sources":["../../../../../src/components/CaseEditView/RequestRemoteSession/RemoteSessionAgreementModal.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAExD,OAAO,KAA8B,MAAM,OAAO,CAAC;AAgBnD,UAAU,MAAM;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,OAAO,CAAC;IACd,kBAAkB,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAClD,QAAQ,EAAE,OAAO,CAAC;CACrB;AAiBD,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,MAAM,qBAsWxD"}
|
|
@@ -105,7 +105,7 @@ export function RemoteSessionAgreementModal(props) {
|
|
|
105
105
|
const toggleRemoteSessionForm = () => setIsRemoteSessionForm(true);
|
|
106
106
|
// Function to ack remote session terms and post comment
|
|
107
107
|
const submitRemoteSessionAgreement = (pdfId) => __awaiter(this, void 0, void 0, function* () {
|
|
108
|
-
const requestComment = t(`Submitted a remote session request with following details:\n\n**Expectations
|
|
108
|
+
const requestComment = t(`Submitted a remote session request with following details:\n\n**Preferred Time and Expectations for Remote Session**\n${sessionExpectations}\n\n**Describe the impact to you or the business**\n${impact}\n\n${sessionLink ? `**Remote session link**\n[${sessionLink}](${sessionLink})\n\n` : ''}This action does not initiate a remote session. A Red Hat Associate will get back to you soon.`);
|
|
109
109
|
try {
|
|
110
110
|
yield updateCaseDetails(caseDispatch, props.caseNumber, {
|
|
111
111
|
remoteSessionTermsAcked: true,
|
|
@@ -162,7 +162,9 @@ export function RemoteSessionAgreementModal(props) {
|
|
|
162
162
|
const isAgreeLoading = agreeLoading || isPostingComment;
|
|
163
163
|
// RSA Modal Actions
|
|
164
164
|
const modalActions = [
|
|
165
|
-
React.createElement(Button, { "aria-label": t('I agree'), variant: ButtonVariant.primary, onClick: isRemoteSessionForm || remoteSessionTermsAcked ? onSubmit : toggleRemoteSessionForm, "data-tracking-id":
|
|
165
|
+
React.createElement(Button, { "aria-label": t('I agree'), variant: ButtonVariant.primary, onClick: isRemoteSessionForm || remoteSessionTermsAcked ? onSubmit : toggleRemoteSessionForm, "data-tracking-id": isRemoteSessionForm || remoteSessionTermsAcked
|
|
166
|
+
? 'remote-session-details-submission'
|
|
167
|
+
: 'remote-session-agreement-check', isLoading: isAgreeLoading, isDisabled: (isRemoteSessionForm || remoteSessionTermsAcked
|
|
166
168
|
? !sessionExpectations.trim() || !impact.trim()
|
|
167
169
|
: !isTermsChecked) || isAgreeLoading }, t(isRemoteSessionForm || remoteSessionTermsAcked ? 'Submit' : 'I agree')),
|
|
168
170
|
React.createElement(Button, { key: "cancel", variant: "link", onClick: onCancel, isDisabled: isAgreeLoading }, "Cancel"),
|
|
@@ -174,9 +176,9 @@ export function RemoteSessionAgreementModal(props) {
|
|
|
174
176
|
React.createElement("a", { href: "https://access.redhat.com/articles/3566571", target: "_blank", rel: "noopener noreferrer" }, "Read more.")) }),
|
|
175
177
|
React.createElement("div", null,
|
|
176
178
|
React.createElement("label", { className: "pf-v5-u-mt-md" },
|
|
177
|
-
React.createElement(Trans, null, "Expectations
|
|
179
|
+
React.createElement(Trans, null, "Preferred Time and Expectations for Remote Session"),
|
|
178
180
|
React.createElement("span", { className: "form-required", "aria-hidden": "true" }, "*")),
|
|
179
|
-
React.createElement(TextArea, { value: sessionExpectations, onChange: updateSessionExpectation, rows: 3, placeholder: "Please share anything that will help prepare for our meeting?", isRequired: true, "aria-label": "Expectations
|
|
181
|
+
React.createElement(TextArea, { value: sessionExpectations, onChange: updateSessionExpectation, rows: 3, placeholder: "Please share anything that will help prepare for our meeting?", isRequired: true, "aria-label": "Preferred Time and Expectations for Remote Session" })),
|
|
180
182
|
React.createElement("div", null,
|
|
181
183
|
React.createElement("label", { className: "pf-v5-u-mt-md" },
|
|
182
184
|
React.createElement(Trans, null, "Describe the impact to you or the business"),
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { isEmailValid } from '@rh-support/utils';
|
|
1
|
+
import { isEmailValid, isEmailValidForCaseContactSelector } from '@rh-support/utils';
|
|
2
2
|
interface IProps {
|
|
3
3
|
caseNumber: string;
|
|
4
4
|
accountNumber: string;
|
|
@@ -9,6 +9,7 @@ export declare function useCustomEmails(props: IProps): {
|
|
|
9
9
|
canAddCustomEmail: boolean;
|
|
10
10
|
hideCustomEmails: boolean;
|
|
11
11
|
isEmailValid: typeof isEmailValid;
|
|
12
|
+
isEmailValidForCaseContactSelector: typeof isEmailValidForCaseContactSelector;
|
|
12
13
|
isUpdatingCustomEmails: boolean;
|
|
13
14
|
showAddEmailToAccountModal: (emailString: string) => Promise<boolean>;
|
|
14
15
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useCustomEmails.d.ts","sourceRoot":"","sources":["../../../../../../src/components/CaseEditView/Tabs/CaseDetails/useCustomEmails.tsx"],"names":[],"mappings":"AAQA,OAAO,EAAwB,YAAY,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"useCustomEmails.d.ts","sourceRoot":"","sources":["../../../../../../src/components/CaseEditView/Tabs/CaseDetails/useCustomEmails.tsx"],"names":[],"mappings":"AAQA,OAAO,EAAwB,YAAY,EAAE,kCAAkC,EAAE,MAAM,mBAAmB,CAAC;AAY3G,UAAU,MAAM;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;CACzB;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM;+BAyED,MAAM;+BAnCN,MAAM,UAAU,MAAM,IAAI;;;;;;8CAbX,MAAM;EAkGhE"}
|
|
@@ -11,7 +11,7 @@ import { kase } from '@cee-eng/hydrajs';
|
|
|
11
11
|
import { PromisifyModal, ToastNotification, useFetch } from '@rh-support/components';
|
|
12
12
|
import { fetchAccountCustomEmails, GlobalMetadataDispatchContext, GlobalMetadataStateContext, } from '@rh-support/react-context';
|
|
13
13
|
import { ability, CaseDetailsFields, resourceActions, resources } from '@rh-support/user-permissions';
|
|
14
|
-
import { haventLoadedMetadata, isEmailValid } from '@rh-support/utils';
|
|
14
|
+
import { haventLoadedMetadata, isEmailValid, isEmailValidForCaseContactSelector } from '@rh-support/utils';
|
|
15
15
|
import findIndex from 'lodash/findIndex';
|
|
16
16
|
import isEmpty from 'lodash/isEmpty';
|
|
17
17
|
import isEqual from 'lodash/isEqual';
|
|
@@ -44,7 +44,7 @@ export function useCustomEmails(props) {
|
|
|
44
44
|
});
|
|
45
45
|
const addCustomEmail = (emailVal_1, onAdd_1, ...args_1) => __awaiter(this, [emailVal_1, onAdd_1, ...args_1], void 0, function* (emailVal, onAdd, skipAccountCheck = false) {
|
|
46
46
|
try {
|
|
47
|
-
if (isEmpty(emailVal) || !
|
|
47
|
+
if (isEmpty(emailVal) || !isEmailValidForCaseContactSelector(emailVal)) {
|
|
48
48
|
return;
|
|
49
49
|
}
|
|
50
50
|
// lower case the email vals to avoid sfdc error
|
|
@@ -112,6 +112,7 @@ export function useCustomEmails(props) {
|
|
|
112
112
|
canAddCustomEmail,
|
|
113
113
|
hideCustomEmails,
|
|
114
114
|
isEmailValid,
|
|
115
|
+
isEmailValidForCaseContactSelector,
|
|
115
116
|
isUpdatingCustomEmails: deleteEmail.isFetching || addNewEmail.isFetching,
|
|
116
117
|
showAddEmailToAccountModal,
|
|
117
118
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CaseComments.d.ts","sourceRoot":"","sources":["../../../../../../src/components/CaseEditView/Tabs/CaseDiscussion/CaseComments.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"CaseComments.d.ts","sourceRoot":"","sources":["../../../../../../src/components/CaseEditView/Tabs/CaseDiscussion/CaseComments.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AA+BvE,OAAO,KAAkD,MAAM,OAAO,CAAC;AAQvE,UAAU,MAAM;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,YAAY,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACzD,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IAClF,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,eAAe,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,kBAAkB,EAAE,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;CAChH;AAED,QAAA,MAAM,YAAY,4EAkVhB,CAAC;AAEH,eAAe,YAAY,CAAC"}
|
|
@@ -22,6 +22,7 @@ import { AbilityContext, CaseDetailsFields, CaseDiscussionFields, resourceAction
|
|
|
22
22
|
import { formatDateTime, linkifyLinks } from '@rh-support/utils';
|
|
23
23
|
import DOMPurify from 'dompurify';
|
|
24
24
|
import isEmpty from 'lodash/isEmpty';
|
|
25
|
+
import isEqual from 'lodash/isEqual';
|
|
25
26
|
import React, { useContext, useEffect, useRef, useState } from 'react';
|
|
26
27
|
import { Trans, useTranslation } from 'react-i18next';
|
|
27
28
|
import { DiscussionType } from '../../../../reducers/CaseDiscussionTabReducer';
|
|
@@ -99,7 +100,7 @@ const CaseComments = React.forwardRef((props, ref) => {
|
|
|
99
100
|
}
|
|
100
101
|
};
|
|
101
102
|
const computePrivateComment = (comment) => {
|
|
102
|
-
if (!props.comment.isPublic) {
|
|
103
|
+
if (!props.comment.isPublic || isEqual(props.comment.visibility, 'Partner')) {
|
|
103
104
|
return 'private';
|
|
104
105
|
}
|
|
105
106
|
else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Severity.d.ts","sourceRoot":"","sources":["../../../../src/components/CaseInformation/Severity.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AAMvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAa5D,OAAO,KAA0C,MAAM,OAAO,CAAC;AAW/D,UAAU,MAAO,SAAQ,gBAAgB;IACrC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,gBAAgB,CAAC,EAAE,CAAC,WAAW,EAAE,OAAO,CAAC,YAAY,CAAC,KAAK,IAAI,CAAC;IAChE,oBAAoB,EAAE,OAAO,CAAC;CACjC;AASD,MAAM,WAAW,gBAAgB;IAC7B,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,GAAG,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC;CACxD;AAED,iBAAS,QAAQ,CAAC,KAAK,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"Severity.d.ts","sourceRoot":"","sources":["../../../../src/components/CaseInformation/Severity.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AAMvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAa5D,OAAO,KAA0C,MAAM,OAAO,CAAC;AAW/D,UAAU,MAAO,SAAQ,gBAAgB;IACrC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,gBAAgB,CAAC,EAAE,CAAC,WAAW,EAAE,OAAO,CAAC,YAAY,CAAC,KAAK,IAAI,CAAC;IAChE,oBAAoB,EAAE,OAAO,CAAC;CACjC;AASD,MAAM,WAAW,gBAAgB;IAC7B,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,GAAG,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC;CACxD;AAED,iBAAS,QAAQ,CAAC,KAAK,EAAE,MAAM,qBAyQ9B;kBAzQQ,QAAQ;;;AA2QjB,eAAe,QAAQ,CAAC"}
|
|
@@ -171,7 +171,7 @@ function Severity(props) {
|
|
|
171
171
|
props.isDisabled ||
|
|
172
172
|
allCaseSeverities.isFetching ||
|
|
173
173
|
ownersEntitlements.isFetching ||
|
|
174
|
-
versionsDetails.isFetching, isLoading: props.isFetching, placeholder: t(`Select a severity`), isInvalid: allCaseSeverities.isError || isSeverityInValid, isScrollable: true })),
|
|
174
|
+
versionsDetails.isFetching, isLoading: props.isFetching, placeholder: t(`Select a severity`), isInvalid: allCaseSeverities.isError || isSeverityInValid, isScrollable: true, isModalOpen: openUpdateSeverityModal })),
|
|
175
175
|
openUpdateSeverityModal && (React.createElement(UpdateSeverityModal, { isDisabled: props.isFetching, isFetching: props.isFetching, show: openUpdateSeverityModal, onClose: toggleModal })))) : (React.createElement("div", null,
|
|
176
176
|
React.createElement(SingleSelectDropdown, { className: "case-creation-severity-select", dataTrackingId: "get-support-severity", selected: getSelectedDropdownOption, options: getDropdownOptions, onSelect: onSeverityChange, isDisabled: allCaseSeverities.isError ||
|
|
177
177
|
props.isDisabled ||
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CveModal.d.ts","sourceRoot":"","sources":["../../../../src/components/Cve/CveModal.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAU1C,eAAO,MAAM,QAAQ,
|
|
1
|
+
{"version":3,"file":"CveModal.d.ts","sourceRoot":"","sources":["../../../../src/components/Cve/CveModal.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAU1C,eAAO,MAAM,QAAQ,yBAuEpB,CAAC"}
|
|
@@ -20,7 +20,7 @@ export const CveModal = () => {
|
|
|
20
20
|
isCveModalOpened: state.isCveModalOpened,
|
|
21
21
|
}), isEqual);
|
|
22
22
|
const { sessionRestore: { activeSessionId }, } = useContext(SessionRestoreStateContext);
|
|
23
|
-
const { routeState: { activeSection }, } = useContext(RouteContext);
|
|
23
|
+
const { routeState: { activeSection, isCaseCreate }, } = useContext(RouteContext);
|
|
24
24
|
const handleModalToggle = () => {
|
|
25
25
|
setCaseState(caseDispatch, { isCveModalOpened: !isCveModalOpened });
|
|
26
26
|
};
|
|
@@ -34,7 +34,8 @@ export const CveModal = () => {
|
|
|
34
34
|
};
|
|
35
35
|
return (React.createElement(Modal, { variant: ModalVariant.medium, title: React.createElement(Flex, { alignItems: { default: 'alignItemsCenter' } },
|
|
36
36
|
React.createElement(FlexItem, { spacer: { default: 'spacerSm' } }, cveWorkflowRecommendation.length > 1 ? (React.createElement(Trans, null, "Handpicked for these CVEs")) : (React.createElement(Trans, null, "Handpicked for this CVE"))),
|
|
37
|
-
React.createElement(Badge, { isRead: true }, size(cveWorkflowRecommendation))), isOpen: isCveModalOpened &&
|
|
37
|
+
React.createElement(Badge, { isRead: true }, size(cveWorkflowRecommendation))), isOpen: isCveModalOpened &&
|
|
38
|
+
activeSection === (isCaseCreate ? AppRouteSections.SUMMARIZE : AppRouteSections.TROUBLESHOOT), onClose: handleModalToggle, titleIconVariant: "info", disableFocusTrap: true, className: "cve-modal-fade-in-effect", onEscapePress: handleEscapePress, actions: [
|
|
38
39
|
React.createElement(Button, { key: "cve-checker-link", "data-tracking-id": "cve-checker-link", target: "_blank", variant: "secondary", isInline: true, component: "a", href: generateCveCheckerUrl() },
|
|
39
40
|
React.createElement(Trans, null, "Red Hat CVE Checker"),
|
|
40
41
|
" ",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AllProductsSelector.d.ts","sourceRoot":"","sources":["../../../../src/components/ProductSelector/AllProductsSelector.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAsD,MAAM,OAAO,CAAC;AAE3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAMvD,OAAO,EAAuC,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAMvG,UAAU,MAAM;IACZ,qBAAqB,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAChD,UAAU,EAAE,mBAAmB,CAAC,eAAe,CAAC,CAAC;IACjD,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAClC;AAQD;;;;;;;GAOG;AACH,QAAA,MAAM,mBAAmB,
|
|
1
|
+
{"version":3,"file":"AllProductsSelector.d.ts","sourceRoot":"","sources":["../../../../src/components/ProductSelector/AllProductsSelector.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAsD,MAAM,OAAO,CAAC;AAE3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAMvD,OAAO,EAAuC,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAMvG,UAAU,MAAM;IACZ,qBAAqB,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAChD,UAAU,EAAE,mBAAmB,CAAC,eAAe,CAAC,CAAC;IACjD,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAClC;AAQD;;;;;;;GAOG;AACH,QAAA,MAAM,mBAAmB,4EA4KvB,CAAC;AAGH,OAAO,EAAE,mBAAmB,EAAE,CAAC"}
|
|
@@ -40,7 +40,7 @@ const AllProductsSelector = forwardRef((props, ref) => {
|
|
|
40
40
|
ABTestVariation: state.ABTestVariation,
|
|
41
41
|
}), isEqual);
|
|
42
42
|
const { topContentState: { topContent }, } = useContext(TCStateContext);
|
|
43
|
-
const { routeState: { activeSection }, } = useContext(RouteContext);
|
|
43
|
+
const { routeState: { activeSection, isCaseCreate }, } = useContext(RouteContext);
|
|
44
44
|
const [isModalOpen, setIsModalOpen] = useState(false);
|
|
45
45
|
const [showModal, setShowModal] = useState(false);
|
|
46
46
|
const [showModalButton, setShowModalButton] = useState(false);
|
|
@@ -83,20 +83,22 @@ const AllProductsSelector = forwardRef((props, ref) => {
|
|
|
83
83
|
const isATestvariation = ABTestVariation === 'A';
|
|
84
84
|
const isBTestvariation = ABTestVariation === 'B' || isEmpty(ABTestVariation);
|
|
85
85
|
// Determine whether to render the ProductVersionDropdownSelector
|
|
86
|
-
const renderProductVersionDropdownSelector = (activeSection === AppRouteSections.SUMMARIZE
|
|
86
|
+
const renderProductVersionDropdownSelector = (activeSection === (isCaseCreate ? AppRouteSections.SUMMARIZE : AppRouteSections.TROUBLESHOOT) &&
|
|
87
|
+
!props.caseCreateExperience) ||
|
|
87
88
|
activeSection === AppRouteSections.GET_SUPPORT ||
|
|
88
89
|
isBTestvariation ||
|
|
89
90
|
(isATestvariation && (props.isOnGetSupportPage || props.isOnReviewPage));
|
|
90
91
|
// Determine whether to render the OpenCaseIssue component
|
|
91
92
|
const renderOpenCaseIssue = (isBTestvariation &&
|
|
92
|
-
(activeSection === AppRouteSections.SUMMARIZE ||
|
|
93
|
+
(activeSection === (isCaseCreate ? AppRouteSections.SUMMARIZE : AppRouteSections.TROUBLESHOOT) ||
|
|
93
94
|
activeSection === AppRouteSections.REVIEW ||
|
|
94
95
|
activeSection === AppRouteSections.SUBMIT_CASE)) ||
|
|
95
96
|
(isATestvariation &&
|
|
96
|
-
(activeSection === AppRouteSections.SUMMARIZE ||
|
|
97
|
+
(activeSection === (isCaseCreate ? AppRouteSections.SUMMARIZE : AppRouteSections.TROUBLESHOOT) ||
|
|
97
98
|
activeSection === AppRouteSections.REVIEW ||
|
|
98
99
|
activeSection === AppRouteSections.SUBMIT_CASE)) ||
|
|
99
|
-
(!props.caseCreateExperience &&
|
|
100
|
+
(!props.caseCreateExperience &&
|
|
101
|
+
activeSection === (isCaseCreate ? AppRouteSections.SUMMARIZE : AppRouteSections.TROUBLESHOOT));
|
|
100
102
|
return (React.createElement(React.Fragment, null,
|
|
101
103
|
renderProductVersionDropdownSelector && (React.createElement("div", { className: "form-group product-selector-wrapper" },
|
|
102
104
|
React.createElement("div", { className: "all-product-selector-dropdown" },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Recommendations.d.ts","sourceRoot":"","sources":["../../../../src/components/Recommendations/Recommendations.tsx"],"names":[],"mappings":"AAqBA,OAAO,KAAkD,MAAM,OAAO,CAAC;AAEvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAevD,OAAO,EAAoB,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAYpF,UAAU,MAAM;IACZ,UAAU,EAAE,mBAAmB,CAAC,eAAe,CAAC,CAAC;IACjD,uBAAuB,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC;IACzE,qCAAqC,CAAC,EAAE,OAAO,CAAC;IAChD,aAAa,EAAE,GAAG,CAAC;CACtB;AAED,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,KAAK,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"Recommendations.d.ts","sourceRoot":"","sources":["../../../../src/components/Recommendations/Recommendations.tsx"],"names":[],"mappings":"AAqBA,OAAO,KAAkD,MAAM,OAAO,CAAC;AAEvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAevD,OAAO,EAAoB,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAYpF,UAAU,MAAM;IACZ,UAAU,EAAE,mBAAmB,CAAC,eAAe,CAAC,CAAC;IACjD,uBAAuB,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC;IACzE,qCAAqC,CAAC,EAAE,OAAO,CAAC;IAChD,aAAa,EAAE,GAAG,CAAC;CACtB;AAED,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,KAAK,EAAE,MAAM,qBAuZpD"}
|
|
@@ -38,7 +38,7 @@ export default function Recommendations(props) {
|
|
|
38
38
|
}), isEqual);
|
|
39
39
|
const caseDispatch = useCaseDispatch();
|
|
40
40
|
const { t } = useTranslation();
|
|
41
|
-
const { routeState: { activeSection }, } = useContext(RouteContext);
|
|
41
|
+
const { routeState: { activeSection, isCaseCreate }, } = useContext(RouteContext);
|
|
42
42
|
const { sessionRestore: { activeSessionId, sessionResourceTracking }, } = useContext(SessionRestoreStateContext);
|
|
43
43
|
const sessionRestoreDispatch = useContext(SessionRestoreDispatchContext);
|
|
44
44
|
const [pageSize, setPageSize] = useState(null);
|
|
@@ -62,7 +62,9 @@ export default function Recommendations(props) {
|
|
|
62
62
|
// currently due to the debounce we use after the page load leads to some delay in the disbaling of next button
|
|
63
63
|
// since the state of the next button depends on the loading rec flag so we force the flag to be true every time the
|
|
64
64
|
// rec section is rendered for the first time except the case when we won't make a new search since there was no change in the rec payload.
|
|
65
|
-
if (activeSection !== AppRouteSections.SUMMARIZE
|
|
65
|
+
if (activeSection !== (isCaseCreate ? AppRouteSections.SUMMARIZE : AppRouteSections.TROUBLESHOOT) ||
|
|
66
|
+
!summary ||
|
|
67
|
+
isRecSearchPayloadSame) {
|
|
66
68
|
return;
|
|
67
69
|
}
|
|
68
70
|
!isRecSearchPayloadSame &&
|
|
@@ -77,7 +79,8 @@ export default function Recommendations(props) {
|
|
|
77
79
|
* Also, log the newly presented resources on the session
|
|
78
80
|
*/
|
|
79
81
|
useDebounce(() => {
|
|
80
|
-
if (activeSection !== AppRouteSections.SUMMARIZE
|
|
82
|
+
if (activeSection !== (isCaseCreate ? AppRouteSections.SUMMARIZE : AppRouteSections.TROUBLESHOOT) ||
|
|
83
|
+
isRecSearchPayloadSame) {
|
|
81
84
|
return;
|
|
82
85
|
}
|
|
83
86
|
setCurrentPage(recommendationDispatch, 1);
|
|
@@ -228,7 +231,9 @@ export default function Recommendations(props) {
|
|
|
228
231
|
React.createElement("time", { className: "moment_date meta", title: doc.lastModifiedDate.toString() }, formatDate(doc.lastModifiedDate)))),
|
|
229
232
|
React.createElement("p", { className: "result-body", dangerouslySetInnerHTML: computeRecommendationAbstract(doc, 300) })));
|
|
230
233
|
}))),
|
|
231
|
-
recommendationState.
|
|
234
|
+
!recommendationState.isLoadingRecommendations &&
|
|
235
|
+
recommendationState.numFound !== 0 &&
|
|
236
|
+
recommendationState.numFound > DEFAULTPAGESIZE && (React.createElement("div", { className: "pagination-footer" },
|
|
232
237
|
React.createElement(Pagination, { className: "push-top", itemCount: (_c = (_b = recommendationState.allDocs) === null || _b === void 0 ? void 0 : _b.length) !== null && _c !== void 0 ? _c : 0, perPage: recPageSize, page: recommendationState.currentPage, variant: PaginationVariant.bottom, onSetPage: pageChanged, dropDirection: "up", onPerPageSelect: onPageSizeChanged })))),
|
|
233
238
|
recommendationState.numFound === 0 &&
|
|
234
239
|
!recommendationState.isLoadingRecommendations &&
|
|
@@ -106,7 +106,7 @@ export function useIsSectionValid(sectionName) {
|
|
|
106
106
|
return !isEmpty(product) && !isEmpty(version) && !isEmpty(accountNumber) && !isEmpty(contactSSOName);
|
|
107
107
|
}
|
|
108
108
|
};
|
|
109
|
-
const
|
|
109
|
+
const isCaseConfigurationSectionValid = () => {
|
|
110
110
|
const hasContactInfo24x7ValidLength = contactInfo24x7
|
|
111
111
|
? (contactInfo24x7 === null || contactInfo24x7 === void 0 ? void 0 : contactInfo24x7.length) <= CONTACT_INFO_24X7_LIMIT
|
|
112
112
|
: true;
|
|
@@ -115,7 +115,7 @@ export function useIsSectionValid(sectionName) {
|
|
|
115
115
|
hasContactInfo24x7ValidLength &&
|
|
116
116
|
hasAlternateCaseIdValidLength);
|
|
117
117
|
};
|
|
118
|
-
const
|
|
118
|
+
const isResourcesSectionValid = () => {
|
|
119
119
|
var _a, _b;
|
|
120
120
|
if (isBTestvariation) {
|
|
121
121
|
//if we are in the new experience and user is troubleshoot we give them those validity fields
|
|
@@ -146,7 +146,7 @@ export function useIsSectionValid(sectionName) {
|
|
|
146
146
|
isCaseStateValid(caseState, loggedInUserJwtToken) &&
|
|
147
147
|
isClusterIDValid(caseState, (_a = allProducts.data) === null || _a === void 0 ? void 0 : _a.productsResult) &&
|
|
148
148
|
isSummarizeSectionValid() &&
|
|
149
|
-
|
|
149
|
+
isAdditionalInformationSectionValidLocal());
|
|
150
150
|
};
|
|
151
151
|
const isDescribeIdeaSectionValid = () => {
|
|
152
152
|
return (isCaseManagementStateValid(caseState, loggedInUserJwtToken) &&
|
|
@@ -154,7 +154,7 @@ export function useIsSectionValid(sectionName) {
|
|
|
154
154
|
isIdeaCaseStateValid(caseState, loggedInUserJwtToken) &&
|
|
155
155
|
checkUnallowedFiles());
|
|
156
156
|
};
|
|
157
|
-
const
|
|
157
|
+
const isAdditionalInformationSectionValidLocal = () => {
|
|
158
158
|
var _a;
|
|
159
159
|
const hostnameIsValid = hostname ? (hostname === null || hostname === void 0 ? void 0 : hostname.length) <= HOSTNAME_LENGTH_LIMIT : true;
|
|
160
160
|
return (!caseState.hasInvalidEntitlements &&
|
|
@@ -171,14 +171,14 @@ export function useIsSectionValid(sectionName) {
|
|
|
171
171
|
switch (sectionNameLocal) {
|
|
172
172
|
case AppRouteSections.GET_SUPPORT:
|
|
173
173
|
return isGetSupportSectionValidLocal();
|
|
174
|
-
case AppRouteSections.SUMMARIZE:
|
|
174
|
+
case isCaseCreate ? AppRouteSections.SUMMARIZE : AppRouteSections.TROUBLESHOOT:
|
|
175
175
|
return isSummarizeSectionValid();
|
|
176
|
-
case AppRouteSections.
|
|
177
|
-
return
|
|
178
|
-
case AppRouteSections.
|
|
179
|
-
return
|
|
180
|
-
case AppRouteSections.
|
|
181
|
-
return
|
|
176
|
+
case AppRouteSections.RESOURCES:
|
|
177
|
+
return isResourcesSectionValid();
|
|
178
|
+
case AppRouteSections.ADDITIONAL_INFORMATION:
|
|
179
|
+
return isAdditionalInformationSectionValidLocal();
|
|
180
|
+
case AppRouteSections.CONFIGURATION:
|
|
181
|
+
return isCaseConfigurationSectionValid();
|
|
182
182
|
case AppRouteSections.REVIEW:
|
|
183
183
|
return isReviewSectionValid();
|
|
184
184
|
case AppRouteSections.DESCRIBE_IDEA:
|
|
@@ -203,7 +203,7 @@ export function useIsSectionValid(sectionName) {
|
|
|
203
203
|
if (!sectionNameLocal)
|
|
204
204
|
return '';
|
|
205
205
|
switch (sectionNameLocal) {
|
|
206
|
-
case AppRouteSections.
|
|
206
|
+
case AppRouteSections.RESOURCES:
|
|
207
207
|
return recommendationSectionError();
|
|
208
208
|
default:
|
|
209
209
|
return '';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WizardAside.d.ts","sourceRoot":"","sources":["../../../../src/components/wizardLayout/WizardAside.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAIvD,OAAO,EAGH,eAAe,EAKlB,MAAM,iCAAiC,CAAC;AAQzC,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":"AAIA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAIvD,OAAO,EAGH,eAAe,EAKlB,MAAM,iCAAiC,CAAC;AAQzC,UAAU,MAAM;IACZ,UAAU,EAAE,mBAAmB,CAAC,eAAe,CAAC,CAAC;IACjD,2BAA2B,EAAE,OAAO,CAAC;CACxC;AAED,iBAAS,WAAW,CAAC,KAAK,EAAE,MAAM,qBAuDjC;kBAvDQ,WAAW;;;AAyDpB,eAAe,WAAW,CAAC"}
|
|
@@ -15,7 +15,7 @@ import InsightsResults from '../Recommendations/InsightsResults';
|
|
|
15
15
|
import { SessionRestore } from '../SessionRestore';
|
|
16
16
|
const defaultProps = {};
|
|
17
17
|
function WizardAside(props) {
|
|
18
|
-
const { routeState: { activeSection }, } = useContext(RouteContext);
|
|
18
|
+
const { routeState: { activeSection, isCaseCreate }, } = useContext(RouteContext);
|
|
19
19
|
const canAddAttachments = ability.can(resourceActions.PATCH, resources.CASE_CREATE, CaseListFields.ATTACHMENTS);
|
|
20
20
|
const { isCreatingCase, caseType, isCveModalOpened, ABTestVariation } = useCaseSelector((state) => ({
|
|
21
21
|
isCreatingCase: state.isCreatingCase,
|
|
@@ -40,8 +40,9 @@ function WizardAside(props) {
|
|
|
40
40
|
canUseSessionManagement && !isCreatingCase && activeSection !== AppRouteSections.SUBMIT_CASE && (React.createElement(SessionRestore, { routeProps: props.routeProps })),
|
|
41
41
|
canShowFileUploadWidget() && React.createElement(InsightsResults, null),
|
|
42
42
|
canShowFileUploadWidget() && React.createElement(FileDiag, { className: "pf-v5-u-mb-md" }),
|
|
43
|
-
activeSection === AppRouteSections.SUMMARIZE
|
|
44
|
-
|
|
43
|
+
activeSection === (isCaseCreate ? AppRouteSections.SUMMARIZE : AppRouteSections.TROUBLESHOOT) &&
|
|
44
|
+
!isCveModalOpened && React.createElement(CveSidebar, null),
|
|
45
|
+
activeSection === AppRouteSections.RESOURCES && React.createElement(CveSidebar, null),
|
|
45
46
|
canShowEARuleWidget && React.createElement(EARuleWidget, null),
|
|
46
47
|
!(isIdea && activeSection === 'submit-case') && (React.createElement(AsideResults, { routeProps: props.routeProps, className: "pf-v5-u-mb-md pf-v5-u-mt-0" })),
|
|
47
48
|
canShowFileRecommendationSectionsWidget && React.createElement(InsightsResults, { isDisplayOnMain: true }),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WizardNavigation.d.ts","sourceRoot":"","sources":["../../../../src/components/wizardLayout/WizardNavigation.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAkD,MAAM,OAAO,CAAC;AAEvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAOvD,OAAO,EAAoB,eAAe,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAM3G,UAAU,MAAM;IACZ,UAAU,EAAE,mBAAmB,CAAC,eAAe,CAAC,CAAC;IACjD,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAC3C,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,mBAAmB,EAAE,CAAC,gCAAgC,EAAE,OAAO,KAAK,IAAI,CAAC;IACzE,gBAAgB,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAC1C,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,0BAA0B,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC;IAC5E,kCAAkC,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC;IACpF,qCAAqC,CAAC,EAAE,OAAO,CAAC;IAChD,gCAAgC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC;IACjF,aAAa,CAAC,EAAE,GAAG,CAAC;IACpB,oBAAoB,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC;CACxE;AAGD,iBAAS,gBAAgB,CAAC,KAAK,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"WizardNavigation.d.ts","sourceRoot":"","sources":["../../../../src/components/wizardLayout/WizardNavigation.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAkD,MAAM,OAAO,CAAC;AAEvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAOvD,OAAO,EAAoB,eAAe,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAM3G,UAAU,MAAM;IACZ,UAAU,EAAE,mBAAmB,CAAC,eAAe,CAAC,CAAC;IACjD,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAC3C,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,mBAAmB,EAAE,CAAC,gCAAgC,EAAE,OAAO,KAAK,IAAI,CAAC;IACzE,gBAAgB,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAC1C,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,0BAA0B,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC;IAC5E,kCAAkC,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC;IACpF,qCAAqC,CAAC,EAAE,OAAO,CAAC;IAChD,gCAAgC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC;IACjF,aAAa,CAAC,EAAE,GAAG,CAAC;IACpB,oBAAoB,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC;CACxE;AAGD,iBAAS,gBAAgB,CAAC,KAAK,EAAE,MAAM,qBA6UtC;kBA7UQ,gBAAgB;;;AA+UzB,eAAe,gBAAgB,CAAC"}
|
|
@@ -71,7 +71,7 @@ function WizardNavigation(props) {
|
|
|
71
71
|
dtmTrackEventCaseCreationStepEncountered(isCreatingCase,
|
|
72
72
|
// @ts-ignore
|
|
73
73
|
props.activeStep.name, (_a = caseState.caseDetails) === null || _a === void 0 ? void 0 : _a.caseNumber, (_b = caseState.caseDetails) === null || _b === void 0 ? void 0 : _b.caseType, caseState.caseDetails.summary, caseState.caseDetails.product, caseState.caseDetails.version);
|
|
74
|
-
if (props.activeStep.id === AppRouteSections.
|
|
74
|
+
if (props.activeStep.id === AppRouteSections.RESOURCES) {
|
|
75
75
|
window.scrollTo({
|
|
76
76
|
top: 0,
|
|
77
77
|
behavior: 'instant',
|
|
@@ -81,7 +81,8 @@ function WizardNavigation(props) {
|
|
|
81
81
|
}, [props.activeStep.id]);
|
|
82
82
|
const [hasUserScrolled, setHasUserScrolled] = useState(false);
|
|
83
83
|
useEffect(() => {
|
|
84
|
-
if (props.activeStep.id !== AppRouteSections.SUMMARIZE
|
|
84
|
+
if (props.activeStep.id !== (isCaseCreate ? AppRouteSections.SUMMARIZE : AppRouteSections.TROUBLESHOOT) ||
|
|
85
|
+
recommendationState.numFound <= 2) {
|
|
85
86
|
return;
|
|
86
87
|
}
|
|
87
88
|
const observer = new IntersectionObserver(([entry]) => {
|
|
@@ -139,12 +140,13 @@ function WizardNavigation(props) {
|
|
|
139
140
|
observer.unobserve(resultsRowElement);
|
|
140
141
|
}
|
|
141
142
|
};
|
|
142
|
-
}, [recommendationState.numFound, hasUserScrolled, props]);
|
|
143
|
+
}, [recommendationState.numFound, hasUserScrolled, props, isCaseCreate]);
|
|
143
144
|
const onNext = () => {
|
|
144
145
|
var _a;
|
|
145
146
|
updateisNextBtnClickedToShowValidationError(dispatchToRouteReducer, true);
|
|
146
147
|
//handle the new changes for 13406:
|
|
147
|
-
if (props.activeStep.id === AppRouteSections.SUMMARIZE
|
|
148
|
+
if (props.activeStep.id === (isCaseCreate ? AppRouteSections.SUMMARIZE : AppRouteSections.TROUBLESHOOT) &&
|
|
149
|
+
recommendationState.numFound > 2) {
|
|
148
150
|
if (!hasUserScrolled) {
|
|
149
151
|
scrollIntoView(props.resultsRowRef, {
|
|
150
152
|
navBarRef,
|
|
@@ -157,11 +159,11 @@ function WizardNavigation(props) {
|
|
|
157
159
|
return;
|
|
158
160
|
}
|
|
159
161
|
}
|
|
160
|
-
const userCanNotOpenCase = props.activeStep.id === AppRouteSections.
|
|
162
|
+
const userCanNotOpenCase = props.activeStep.id === AppRouteSections.RESOURCES && canCreateCase.alert();
|
|
161
163
|
if (userCanNotOpenCase || !isSectionValidFn(props.activeStep.id))
|
|
162
164
|
return;
|
|
163
165
|
const hasPreferredSecureSupportAccount = (_a = loggedInUsersAccount === null || loggedInUsersAccount === void 0 ? void 0 : loggedInUsersAccount.data) === null || _a === void 0 ? void 0 : _a.hasPreferredSecureSupportAccount;
|
|
164
|
-
if (props.activeStep.id === AppRouteSections.
|
|
166
|
+
if (props.activeStep.id === AppRouteSections.RESOURCES && hasPreferredSecureSupportAccount) {
|
|
165
167
|
props.confirmSupportModal(hasPreferredSecureSupportAccount);
|
|
166
168
|
return;
|
|
167
169
|
}
|
|
@@ -213,7 +215,8 @@ function WizardNavigation(props) {
|
|
|
213
215
|
const nextButtonDisabledLogic = () => {
|
|
214
216
|
if (isBTestvariation) {
|
|
215
217
|
let value = ((isEmpty(summary) || isEmpty(issue) || isEmpty(product) || isEmpty(version)) &&
|
|
216
|
-
props.activeStep.id ===
|
|
218
|
+
props.activeStep.id ===
|
|
219
|
+
(isCaseCreate ? AppRouteSections.SUMMARIZE : AppRouteSections.TROUBLESHOOT)) ||
|
|
217
220
|
(!isEntitledProductLocal && props.activeStep.nextButtonLabel === 'Get support') ||
|
|
218
221
|
props.activeStep.nextButtonLabel === 'Troubleshoot' ||
|
|
219
222
|
(!isSectionValidFn(props.activeStep.id) && isNextBtnClickedToShowValidationError) ||
|
|
@@ -223,7 +226,8 @@ function WizardNavigation(props) {
|
|
|
223
226
|
}
|
|
224
227
|
else if (isATestvariation) {
|
|
225
228
|
let value = ((isEmpty(summary) || isEmpty(issue) || isEmpty(product) || isEmpty(version)) &&
|
|
226
|
-
props.activeStep.id ===
|
|
229
|
+
props.activeStep.id ===
|
|
230
|
+
(isCaseCreate ? AppRouteSections.SUMMARIZE : AppRouteSections.TROUBLESHOOT)) ||
|
|
227
231
|
(!isEntitledProductLocal && props.activeStep.nextButtonLabel === 'Get support') ||
|
|
228
232
|
props.activeStep.nextButtonLabel === 'Troubleshoot' ||
|
|
229
233
|
(!isSectionValidFn(props.activeStep.id) && isNextBtnClickedToShowValidationError) ||
|
|
@@ -252,7 +256,7 @@ function WizardNavigation(props) {
|
|
|
252
256
|
return (React.createElement(React.Fragment, null,
|
|
253
257
|
props.activeStep.order !== 0 && (React.createElement("button", { onClick: () => onBack(), className: "btn btn-app btn-open-white main-nav-button", "data-tracking-id": `prev-of-${activeSection}`, type: "button", disabled: isDisabledGoBack() }, t('Go back'))),
|
|
254
258
|
React.createElement("button", { disabled: nextButtonDisabledLogic(), onClick: onNext, className: "btn btn-app btn-primary main-nav-button", "data-tracking-id": `next-of-${activeSection}`, type: "button" }, t(props.activeStep.nextButtonLabel)),
|
|
255
|
-
activeSection === AppRouteSections.
|
|
259
|
+
activeSection === AppRouteSections.RESOURCES && isFileRecommendationsTriggered && (React.createElement(Button, { onClick: handleFileRecsSelfSolved, variant: ButtonVariant.secondary, className: "issue-solved-button solved-issue-button", "data-tracking-id": "troubleshoot-self-solved-issue" }, t('I solved my issue'))),
|
|
256
260
|
React.createElement(RecommendationFeedbackModal, { isModalOpen: isRecsModalVisible, handleModalToggle: onRecsFeedbackModalToggle, modalContent: t(`Great, we're glad that resolved your issue`) }),
|
|
257
261
|
activeSectionError ? (React.createElement("small", { className: "pf-v5-u-align-self-center pf-v5-u-ml-md text-red" }, activeSectionError)) : null));
|
|
258
262
|
}
|
package/lib/esm/css/case.css
CHANGED
|
@@ -305,6 +305,11 @@ input[aria-invalid='true'].pf-v5-c-form-control {
|
|
|
305
305
|
border-bottom-width: 2px !important;
|
|
306
306
|
}
|
|
307
307
|
|
|
308
|
+
.comment-body ul,
|
|
309
|
+
.markdown-preview ul {
|
|
310
|
+
list-style: '- ';
|
|
311
|
+
}
|
|
312
|
+
|
|
308
313
|
/* Improves the sidebar loading */
|
|
309
314
|
@media (min-width: 1450px) and (max-width: 2000px) {
|
|
310
315
|
#rh-support-case .card.card-support {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Kcs.d.ts","sourceRoot":"","sources":["../../../src/enums/Kcs.ts"],"names":[],"mappings":"AAAA,oBAAY,wBAAwB;IAChC,SAAS,cAAc;IACvB,KAAK,UAAU;CAClB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useWizard.d.ts","sourceRoot":"","sources":["../../../src/hooks/useWizard.tsx"],"names":[],"mappings":"AA+BA,UAAU,MAAM;IACZ,yBAAyB,CAAC,EAAE,GAAG,CAAC;IAChC,4BAA4B,EAAE,OAAO,CAAC;IACtC,6BAA6B,EAAE,OAAO,CAAC;IACvC,qCAAqC,EAAE,OAAO,CAAC;IAC/C,aAAa,EAAE,GAAG,CAAC;IACnB,iBAAiB,EAAE,OAAO,CAAC;CAC9B;AAED,wBAAgB,SAAS,CAAC,UAAU,KAAA,EAAE,KAAK,CAAC,EAAE,MAAM;
|
|
1
|
+
{"version":3,"file":"useWizard.d.ts","sourceRoot":"","sources":["../../../src/hooks/useWizard.tsx"],"names":[],"mappings":"AA+BA,UAAU,MAAM;IACZ,yBAAyB,CAAC,EAAE,GAAG,CAAC;IAChC,4BAA4B,EAAE,OAAO,CAAC;IACtC,6BAA6B,EAAE,OAAO,CAAC;IACvC,qCAAqC,EAAE,OAAO,CAAC;IAC/C,aAAa,EAAE,GAAG,CAAC;IACnB,iBAAiB,EAAE,OAAO,CAAC;CAC9B;AAED,wBAAgB,SAAS,CAAC,UAAU,KAAA,EAAE,KAAK,CAAC,EAAE,MAAM;iCA6Qb,OAAO;EAwC7C"}
|
|
@@ -58,35 +58,37 @@ export function useWizard(routeProps, props) {
|
|
|
58
58
|
React.createElement(Suspense, { fallback: React.createElement(LoadingIndicator, { size: "sm" }) },
|
|
59
59
|
alertMessage(),
|
|
60
60
|
React.createElement(OpenCase, { routeProps: routeProps, userSeenRecommendations: props.userSeenRecommendationsfn, userClickedNextonRecommendations: props.userClickedNextonRecommendationsValue, resultsRowRef: props.resultsRowRef })))), canJumpTo: isSectionValidFn(AppRouteSections.GET_SUPPORT) || activeSection === AppRouteSections.GET_SUPPORT }),
|
|
61
|
-
[AppRouteSections.SUMMARIZE]: Object.assign(Object.assign({}, defaultRouteConfiguration), { id: AppRouteSections.SUMMARIZE, name: isCaseCreate ? t('Summarize') : t('Troubleshoot'), component: (React.createElement(MainSection, { stepNumber: 2, totalSteps: 6, section: AppRouteSections.SUMMARIZE, title: t('What are you having an issue with?') },
|
|
61
|
+
[isCaseCreate ? AppRouteSections.SUMMARIZE : AppRouteSections.TROUBLESHOOT]: Object.assign(Object.assign({}, defaultRouteConfiguration), { id: isCaseCreate ? AppRouteSections.SUMMARIZE : AppRouteSections.TROUBLESHOOT, name: isCaseCreate ? t('Summarize') : t('Troubleshoot'), component: (React.createElement(MainSection, { stepNumber: 2, totalSteps: 6, section: isCaseCreate ? AppRouteSections.SUMMARIZE : AppRouteSections.TROUBLESHOOT, title: t('What are you having an issue with?') },
|
|
62
62
|
React.createElement(Suspense, { fallback: React.createElement(LoadingIndicator, { size: "sm" }) },
|
|
63
63
|
alertMessage(),
|
|
64
|
-
React.createElement(ProductSelector, { routeProps: routeProps, userSeenRecommendations: props.userSeenRecommendationsfn, userClickedNextonRecommendations: props.userClickedNextonRecommendationsValue, resultsRowRef: props.resultsRowRef, isOnGetSupportPage: false, caseCreateExperience: isCaseCreate })))), canJumpTo: isSectionValidFn(
|
|
64
|
+
React.createElement(ProductSelector, { routeProps: routeProps, userSeenRecommendations: props.userSeenRecommendationsfn, userClickedNextonRecommendations: props.userClickedNextonRecommendationsValue, resultsRowRef: props.resultsRowRef, isOnGetSupportPage: false, caseCreateExperience: isCaseCreate })))), canJumpTo: isSectionValidFn(isCaseCreate ? AppRouteSections.SUMMARIZE : AppRouteSections.TROUBLESHOOT) ||
|
|
65
|
+
activeSection === (isCaseCreate ? AppRouteSections.SUMMARIZE : AppRouteSections.TROUBLESHOOT), nextButtonLabel: ((summarizeNextButtonLabelLogic() || ((props === null || props === void 0 ? void 0 : props.userSeenRecommendationsValue) && numFound < 3)) &&
|
|
65
66
|
!isEmpty(issue)) ||
|
|
66
67
|
numFound === 0 // do this so that when user refreshes tab and state persists we don't cause edge 'continue' render
|
|
67
68
|
? t('Continue')
|
|
68
69
|
: t('See more options') }),
|
|
69
|
-
[AppRouteSections.
|
|
70
|
+
[AppRouteSections.RESOURCES]: Object.assign(Object.assign({}, defaultRouteConfiguration), { id: AppRouteSections.RESOURCES, name: isCaseCreate ? t('Resources') : t('Resources'), component: (React.createElement(MainSection, { stepNumber: 3, totalSteps: 6, section: AppRouteSections.RESOURCES, title: t('Recommendations') },
|
|
70
71
|
React.createElement(Suspense, { fallback: React.createElement(LoadingIndicator, { size: "sm" }) },
|
|
71
72
|
alertMessage(),
|
|
72
|
-
React.createElement(TroubleshootSection, null)))), canJumpTo: isSectionValidFn(AppRouteSections.
|
|
73
|
+
React.createElement(TroubleshootSection, null)))), canJumpTo: isSectionValidFn(AppRouteSections.RESOURCES || activeSection === AppRouteSections.RESOURCES) &&
|
|
73
74
|
(props === null || props === void 0 ? void 0 : props.userSeenRecommendationsValue) &&
|
|
74
75
|
(props === null || props === void 0 ? void 0 : props.userCanNavigateToTroubleshoot), nextButtonLabel: isCaseCreate ? t('Continue') : t('Convert to case') }),
|
|
75
|
-
[AppRouteSections.
|
|
76
|
+
[AppRouteSections.ADDITIONAL_INFORMATION]: Object.assign(Object.assign({}, defaultRouteConfiguration), { id: AppRouteSections.ADDITIONAL_INFORMATION, name: t('Additional information'), component: (React.createElement(MainSection, { stepNumber: 4, totalSteps: 6, section: AppRouteSections.ADDITIONAL_INFORMATION, title: React.createElement(React.Fragment, null,
|
|
76
77
|
t('Case information'),
|
|
77
78
|
isEmpty(RouteUtils.seBasePath) && isSelectedAccounntSecureSupport && (React.createElement("span", { className: "secured-support" },
|
|
78
79
|
React.createElement(Trans, null, "Secured Support")))), description: t('Provide the details of your issue.') },
|
|
79
80
|
React.createElement(Suspense, { fallback: React.createElement(LoadingIndicator, { size: "sm" }) },
|
|
80
81
|
alertMessage(),
|
|
81
|
-
React.createElement(CaseInformation, { routeProps: routeProps })))), canJumpTo: isSectionValidFn(AppRouteSections.
|
|
82
|
+
React.createElement(CaseInformation, { routeProps: routeProps })))), canJumpTo: isSectionValidFn(AppRouteSections.ADDITIONAL_INFORMATION) ||
|
|
83
|
+
activeSection === AppRouteSections.ADDITIONAL_INFORMATION }),
|
|
82
84
|
[AppRouteSections.DESCRIBE_IDEA]: Object.assign(Object.assign({}, defaultRouteConfiguration), { id: AppRouteSections.DESCRIBE_IDEA, name: t('Additional Information'), component: (React.createElement(MainSection, { stepNumber: 4, totalSteps: 6, section: AppRouteSections.DESCRIBE_IDEA, title: t('Idea information'), description: t("We'll be in contact with you shortly. Look for updates on this case.") },
|
|
83
85
|
React.createElement(Suspense, { fallback: React.createElement(LoadingIndicator, { size: "sm" }) },
|
|
84
86
|
alertMessage(),
|
|
85
87
|
React.createElement(IdeaInformation, null)))), canJumpTo: isSectionValidFn(AppRouteSections.DESCRIBE_IDEA) || activeSection === AppRouteSections.DESCRIBE_IDEA, nextButtonLabel: 'Submit', disableOtherSections: false }),
|
|
86
|
-
[AppRouteSections.
|
|
88
|
+
[AppRouteSections.CONFIGURATION]: Object.assign(Object.assign({}, defaultRouteConfiguration), { id: AppRouteSections.CONFIGURATION, name: t('Configuration'), component: (React.createElement(MainSection, { stepNumber: 5, totalSteps: 6, section: AppRouteSections.CONFIGURATION, title: t('Case management'), descriptionClassName: "text-medium-grey" },
|
|
87
89
|
React.createElement(Suspense, { fallback: React.createElement(LoadingIndicator, { size: "sm" }) },
|
|
88
90
|
alertMessage(),
|
|
89
|
-
React.createElement(CaseManagement, null)))), canJumpTo: isSectionValidFn(AppRouteSections.
|
|
91
|
+
React.createElement(CaseManagement, null)))), canJumpTo: isSectionValidFn(AppRouteSections.CONFIGURATION) || activeSection === AppRouteSections.CONFIGURATION }),
|
|
90
92
|
[AppRouteSections.REVIEW]: Object.assign(Object.assign({}, defaultRouteConfiguration), { id: AppRouteSections.REVIEW, name: t('Review'), component: (React.createElement(MainSection, { stepNumber: 6, totalSteps: 6, section: AppRouteSections.REVIEW, title: t('Preview case'), description: t('Before submitting, review the information you entered.') },
|
|
91
93
|
React.createElement(Suspense, { fallback: React.createElement(LoadingIndicator, { size: "sm" }) },
|
|
92
94
|
alertMessage(),
|
|
@@ -30,9 +30,10 @@ export declare enum AppRouteSections {
|
|
|
30
30
|
GET_SUPPORT = "get-support",
|
|
31
31
|
SUMMARIZE = "summarize",
|
|
32
32
|
TROUBLESHOOT = "troubleshoot",
|
|
33
|
-
|
|
33
|
+
RESOURCES = "resources",
|
|
34
|
+
ADDITIONAL_INFORMATION = "additional-information",
|
|
34
35
|
DESCRIBE_IDEA = "describe-idea",
|
|
35
|
-
|
|
36
|
+
CONFIGURATION = "configuration",
|
|
36
37
|
REVIEW = "review",
|
|
37
38
|
SUBMIT_CASE = "submit-case",
|
|
38
39
|
BREAK = "break"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RouteConstNTypes.d.ts","sourceRoot":"","sources":["../../../src/reducers/RouteConstNTypes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAE/D,MAAM,WAAW,iBAAiB;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qBAAqB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAIxC,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,qBAAsB,SAAQ,UAAU;IACrD,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IAGjB,eAAe,EAAE,MAAM,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,sBAAsB;IACnC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;CACjD;AAED,MAAM,WAAW,eAAe;CAAG;AACnC,oBAAY,gBAAgB;IACxB,WAAW,gBAAgB;IAC3B,SAAS,cAAc;IACvB,YAAY,iBAAiB;IAC7B,aAAa,kBAAkB;IAC/B,aAAa,kBAAkB;IAC/B,
|
|
1
|
+
{"version":3,"file":"RouteConstNTypes.d.ts","sourceRoot":"","sources":["../../../src/reducers/RouteConstNTypes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAE/D,MAAM,WAAW,iBAAiB;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qBAAqB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAIxC,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,qBAAsB,SAAQ,UAAU;IACrD,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IAGjB,eAAe,EAAE,MAAM,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,sBAAsB;IACnC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;CACjD;AAED,MAAM,WAAW,eAAe;CAAG;AACnC,oBAAY,gBAAgB;IACxB,WAAW,gBAAgB;IAC3B,SAAS,cAAc;IACvB,YAAY,iBAAiB;IAC7B,SAAS,cAAc;IACvB,sBAAsB,2BAA2B;IACjD,aAAa,kBAAkB;IAC/B,aAAa,kBAAkB;IAC/B,MAAM,WAAW;IACjB,WAAW,gBAAgB;IAC3B,KAAK,UAAU;CAClB;AAKD,eAAO,MAAM,4BAA4B,EAAE,gBAAgB,EAI1D,CAAC;AAEF,eAAO,MAAM,gCAAgC,EAAE,gBAAgB,EAK9D,CAAC;AAEF,eAAO,MAAM,iCAAiC,oBAQ7C,CAAC;AAEF,eAAO,MAAM,gCAAgC,oBAQ5C,CAAC;AAEF,eAAO,MAAM,4BAA4B,oBAQxC,CAAC;AAGF,eAAO,MAAM,0BAA0B,oBAAiC,CAAC;AAEzE,eAAO,MAAM,mCAAmC,oBAA+D,CAAC;AAEhH,eAAO,MAAM,kCAAkC,oBAO9C,CAAC;AAEF,eAAO,MAAM,+BAA+B,oBAM3C,CAAC;AAEF,eAAO,MAAM,0CAA0C,oBAQtD,CAAC;AAEF,eAAO,MAAM,sCAAsC,oBAA4D,CAAC;AAEhH,eAAO,MAAM,qCAAqC,oBAGjD,CAAC;AAEF,eAAO,MAAM,6BAA6B,oBAAiC,CAAC;AAE5E,eAAO,MAAM,wBAAwB,EAAE,gBAAgB,EAKtD,CAAC"}
|
|
@@ -3,9 +3,10 @@ export var AppRouteSections;
|
|
|
3
3
|
AppRouteSections["GET_SUPPORT"] = "get-support";
|
|
4
4
|
AppRouteSections["SUMMARIZE"] = "summarize";
|
|
5
5
|
AppRouteSections["TROUBLESHOOT"] = "troubleshoot";
|
|
6
|
-
AppRouteSections["
|
|
6
|
+
AppRouteSections["RESOURCES"] = "resources";
|
|
7
|
+
AppRouteSections["ADDITIONAL_INFORMATION"] = "additional-information";
|
|
7
8
|
AppRouteSections["DESCRIBE_IDEA"] = "describe-idea";
|
|
8
|
-
AppRouteSections["
|
|
9
|
+
AppRouteSections["CONFIGURATION"] = "configuration";
|
|
9
10
|
AppRouteSections["REVIEW"] = "review";
|
|
10
11
|
AppRouteSections["SUBMIT_CASE"] = "submit-case";
|
|
11
12
|
AppRouteSections["BREAK"] = "break";
|
|
@@ -19,71 +20,74 @@ export const openCaseNonTechnicalSequence = [
|
|
|
19
20
|
AppRouteSections.DESCRIBE_IDEA,
|
|
20
21
|
];
|
|
21
22
|
export const troubleshootNonTechnicalSequence = [
|
|
22
|
-
AppRouteSections.SUMMARIZE,
|
|
23
23
|
AppRouteSections.TROUBLESHOOT,
|
|
24
|
+
AppRouteSections.RESOURCES,
|
|
24
25
|
AppRouteSections.GET_SUPPORT,
|
|
25
26
|
AppRouteSections.DESCRIBE_IDEA,
|
|
26
27
|
];
|
|
27
28
|
export const troubleshootRouteSectionsSequence = [
|
|
28
|
-
AppRouteSections.SUMMARIZE,
|
|
29
29
|
AppRouteSections.TROUBLESHOOT,
|
|
30
|
+
AppRouteSections.RESOURCES,
|
|
30
31
|
AppRouteSections.BREAK,
|
|
31
32
|
AppRouteSections.GET_SUPPORT,
|
|
32
|
-
AppRouteSections.
|
|
33
|
-
AppRouteSections.
|
|
33
|
+
AppRouteSections.ADDITIONAL_INFORMATION,
|
|
34
|
+
AppRouteSections.CONFIGURATION,
|
|
34
35
|
AppRouteSections.REVIEW,
|
|
35
36
|
];
|
|
36
37
|
export const searchIntentRouteSectionSequence = [
|
|
37
38
|
AppRouteSections.GET_SUPPORT,
|
|
38
39
|
AppRouteSections.SUMMARIZE,
|
|
39
40
|
AppRouteSections.BREAK,
|
|
40
|
-
AppRouteSections.
|
|
41
|
-
AppRouteSections.
|
|
42
|
-
AppRouteSections.
|
|
41
|
+
AppRouteSections.RESOURCES,
|
|
42
|
+
AppRouteSections.ADDITIONAL_INFORMATION,
|
|
43
|
+
AppRouteSections.CONFIGURATION,
|
|
43
44
|
AppRouteSections.REVIEW,
|
|
44
45
|
];
|
|
45
46
|
export const openCaseRouteSectionSequence = [
|
|
46
47
|
AppRouteSections.GET_SUPPORT,
|
|
47
48
|
AppRouteSections.SUMMARIZE,
|
|
48
49
|
AppRouteSections.BREAK,
|
|
49
|
-
AppRouteSections.
|
|
50
|
-
AppRouteSections.
|
|
51
|
-
AppRouteSections.
|
|
50
|
+
AppRouteSections.RESOURCES,
|
|
51
|
+
AppRouteSections.ADDITIONAL_INFORMATION,
|
|
52
|
+
AppRouteSections.CONFIGURATION,
|
|
52
53
|
AppRouteSections.REVIEW,
|
|
53
54
|
];
|
|
54
55
|
// end of wizard steps sequences
|
|
55
56
|
export const sessionRestoreCardSections = [AppRouteSections.GET_SUPPORT];
|
|
56
57
|
export const hideFileUploadSidebarWidgetSections = [AppRouteSections.GET_SUPPORT, AppRouteSections.SUBMIT_CASE];
|
|
57
58
|
export const showSidebarRecommendationsSections = [
|
|
58
|
-
AppRouteSections.
|
|
59
|
-
AppRouteSections.
|
|
59
|
+
AppRouteSections.RESOURCES,
|
|
60
|
+
AppRouteSections.ADDITIONAL_INFORMATION,
|
|
60
61
|
AppRouteSections.DESCRIBE_IDEA,
|
|
61
|
-
AppRouteSections.
|
|
62
|
+
AppRouteSections.CONFIGURATION,
|
|
62
63
|
AppRouteSections.REVIEW,
|
|
63
64
|
AppRouteSections.SUBMIT_CASE,
|
|
64
65
|
];
|
|
65
66
|
export const showSideBarEARuleWidgetSections = [
|
|
66
|
-
AppRouteSections.
|
|
67
|
+
AppRouteSections.ADDITIONAL_INFORMATION,
|
|
67
68
|
AppRouteSections.DESCRIBE_IDEA,
|
|
68
|
-
AppRouteSections.
|
|
69
|
-
AppRouteSections.
|
|
69
|
+
AppRouteSections.RESOURCES,
|
|
70
|
+
AppRouteSections.CONFIGURATION,
|
|
70
71
|
AppRouteSections.GET_SUPPORT,
|
|
71
72
|
];
|
|
72
73
|
export const showSideBarEARuleWidgetSectionsExperienceA = [
|
|
73
74
|
AppRouteSections.SUMMARIZE,
|
|
74
|
-
AppRouteSections.
|
|
75
|
+
AppRouteSections.ADDITIONAL_INFORMATION,
|
|
75
76
|
AppRouteSections.DESCRIBE_IDEA,
|
|
76
|
-
AppRouteSections.
|
|
77
|
-
AppRouteSections.
|
|
77
|
+
AppRouteSections.RESOURCES,
|
|
78
|
+
AppRouteSections.CONFIGURATION,
|
|
78
79
|
AppRouteSections.GET_SUPPORT,
|
|
79
80
|
AppRouteSections.REVIEW,
|
|
80
81
|
];
|
|
81
|
-
export const showSideBarClusterIdRuleWidgetSections = [AppRouteSections.
|
|
82
|
-
export const showSideBarFileRecommendationSections = [
|
|
82
|
+
export const showSideBarClusterIdRuleWidgetSections = [AppRouteSections.CONFIGURATION, AppRouteSections.REVIEW];
|
|
83
|
+
export const showSideBarFileRecommendationSections = [
|
|
84
|
+
AppRouteSections.ADDITIONAL_INFORMATION,
|
|
85
|
+
AppRouteSections.CONFIGURATION,
|
|
86
|
+
];
|
|
83
87
|
export const hideSideBarClusterIdRuleToast = [AppRouteSections.SUBMIT_CASE];
|
|
84
88
|
export const hiddengetSupportSections = [
|
|
85
|
-
AppRouteSections.
|
|
86
|
-
AppRouteSections.
|
|
87
|
-
AppRouteSections.
|
|
89
|
+
AppRouteSections.RESOURCES,
|
|
90
|
+
AppRouteSections.ADDITIONAL_INFORMATION,
|
|
91
|
+
AppRouteSections.CONFIGURATION,
|
|
88
92
|
AppRouteSections.REVIEW,
|
|
89
93
|
];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RulesReducer.d.ts","sourceRoot":"","sources":["../../../src/reducers/RulesReducer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,KAAK,EAAE,MAAM,8CAA8C,CAAC;AAC1F,OAAO,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAC/E,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAMnD,oBAAY,qBAAqB;IAC7B,mCAAmC,wCAAwC;IAC3E,uBAAuB,4BAA4B;IACnD,wBAAwB,6BAA6B;IACrD,yBAAyB,8BAA8B;IACvD,8BAA8B,mCAAmC;IACjE,uBAAuB,4BAA4B;IACnD,kCAAkC,uCAAuC;IACzE,YAAY,iBAAiB;IAC7B,wBAAwB,6BAA6B;IACrD,kBAAkB,uBAAuB;IACzC,eAAe,oBAAoB;CACtC;AAED,MAAM,WAAW,SAAS;IACtB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,0BAA0B,EAAE,OAAO,CAAC;IACpC,+BAA+B,EAAE,OAAO,CAAC;IAEzC,uBAAuB,EAAE,OAAO,CAAC;IACjC,kBAAkB,EAAE,OAAO,CAAC;IAC5B,qBAAqB,EAAE,OAAO,CAAC;CAClC;AAED,MAAM,WAAW,aAAc,SAAQ,KAAK;IACxC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,2BAA4B,SAAQ,mBAAmB;IACpE,GAAG,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,gBAAiB,SAAQ,SAAS;IAC/C,IAAI,EAAE,aAAa,GAAG,2BAA2B,CAAC;IAClD,KAAK,EAAE,aAAa,EAAE,GAAG,2BAA2B,EAAE,CAAC;CAC1D;AACD,KAAK,WAAW,GAAG,OAAO,CAAC,qBAAqB,EAAE,gBAAgB,CAAC,CAAC;AACpE,MAAM,MAAM,iBAAiB,GAAG,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;AAE7D,MAAM,WAAW,MAAM;IACnB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,KAAK,CAAC,EAAE,aAAa,EAAE,CAAC;CAC3B;AAED,eAAO,MAAM,iBAAiB,EAAE,
|
|
1
|
+
{"version":3,"file":"RulesReducer.d.ts","sourceRoot":"","sources":["../../../src/reducers/RulesReducer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,KAAK,EAAE,MAAM,8CAA8C,CAAC;AAC1F,OAAO,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAC/E,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAMnD,oBAAY,qBAAqB;IAC7B,mCAAmC,wCAAwC;IAC3E,uBAAuB,4BAA4B;IACnD,wBAAwB,6BAA6B;IACrD,yBAAyB,8BAA8B;IACvD,8BAA8B,mCAAmC;IACjE,uBAAuB,4BAA4B;IACnD,kCAAkC,uCAAuC;IACzE,YAAY,iBAAiB;IAC7B,wBAAwB,6BAA6B;IACrD,kBAAkB,uBAAuB;IACzC,eAAe,oBAAoB;CACtC;AAED,MAAM,WAAW,SAAS;IACtB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,0BAA0B,EAAE,OAAO,CAAC;IACpC,+BAA+B,EAAE,OAAO,CAAC;IAEzC,uBAAuB,EAAE,OAAO,CAAC;IACjC,kBAAkB,EAAE,OAAO,CAAC;IAC5B,qBAAqB,EAAE,OAAO,CAAC;CAClC;AAED,MAAM,WAAW,aAAc,SAAQ,KAAK;IACxC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,2BAA4B,SAAQ,mBAAmB;IACpE,GAAG,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,gBAAiB,SAAQ,SAAS;IAC/C,IAAI,EAAE,aAAa,GAAG,2BAA2B,CAAC;IAClD,KAAK,EAAE,aAAa,EAAE,GAAG,2BAA2B,EAAE,CAAC;CAC1D;AACD,KAAK,WAAW,GAAG,OAAO,CAAC,qBAAqB,EAAE,gBAAgB,CAAC,CAAC;AACpE,MAAM,MAAM,iBAAiB,GAAG,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;AAE7D,MAAM,WAAW,MAAM;IACnB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,KAAK,CAAC,EAAE,aAAa,EAAE,CAAC;CAC3B;AAED,eAAO,MAAM,iBAAiB,EAAE,SA8B/B,CAAC;AAEF,eAAO,MAAM,YAAY,UAAW,SAAS,UAAU,WAAW,KAAG,SA0EpE,CAAC;AAGF,eAAO,MAAM,sCAAsC,aAAc,iBAAiB,QAAQ,KAAK,SAE9F,CAAC;AACF,eAAO,MAAM,0BAA0B,aAAc,iBAAiB,QAAQ,KAAK,SAElF,CAAC;AACF,eAAO,MAAM,YAAY,aAAc,iBAAiB,SAEvD,CAAC;AACF,eAAO,MAAM,sBAAsB,aACrB,iBAAiB,QACrB,OAAO,CAAC,mBAAmB,CAAC,iBACnB,CAAC,UAAU,EAAE,KAAK,EAAE,KAAK,IAAI,kBAa/C,CAAC;AAEF,eAAO,MAAM,wBAAwB,aAAc,iBAAiB,yBAAyB,OAAO,SAKnG,CAAC;AACF,eAAO,MAAM,kBAAkB,aAAc,iBAAiB,QAAQ,KAAK,SAE1E,CAAC;AACF,eAAO,MAAM,eAAe,aAAc,iBAAiB,eAAe,2BAA2B,EAAE,SAEtG,CAAC"}
|
|
@@ -42,7 +42,11 @@ export const initialRulesState = {
|
|
|
42
42
|
rules: [],
|
|
43
43
|
},
|
|
44
44
|
EARules: {
|
|
45
|
-
sidebarSections: [
|
|
45
|
+
sidebarSections: [
|
|
46
|
+
AppRouteSections.RESOURCES,
|
|
47
|
+
AppRouteSections.ADDITIONAL_INFORMATION,
|
|
48
|
+
AppRouteSections.CONFIGURATION,
|
|
49
|
+
],
|
|
46
50
|
mainSections: [AppRouteSections.SUMMARIZE],
|
|
47
51
|
rules: [],
|
|
48
52
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routeUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/routeUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,qDAAqD,CAAC;AAG5F,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAEpG,MAAM,CAAC,OAAO,OAAO,UAAU;IAC3B,MAAM,CAAC,UAAU,SAAM;IAEvB;;;;;;;OAOG;IACH,MAAM,CAAC,cAAc,CACjB,UAAU,EAAE,mBAAmB,CAAC,eAAe,CAAC,EAChD,kBAAkB,GAAE,iBAAsB;
|
|
1
|
+
{"version":3,"file":"routeUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/routeUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,qDAAqD,CAAC;AAG5F,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAEpG,MAAM,CAAC,OAAO,OAAO,UAAU;IAC3B,MAAM,CAAC,UAAU,SAAM;IAEvB;;;;;;;OAOG;IACH,MAAM,CAAC,cAAc,CACjB,UAAU,EAAE,mBAAmB,CAAC,eAAe,CAAC,EAChD,kBAAkB,GAAE,iBAAsB;IAqB9C,MAAM,CAAC,cAAc,CACjB,UAAU,EAAE,mBAAmB,CAAC,eAAe,CAAC,EAChD,iBAAiB,UAAQ,EACzB,UAAU,GAAE,eAAoB,GACjC,MAAM;IAKT,MAAM,CAAC,iBAAiB,CAAC,YAAY,EAAE,OAAO,EAAE,cAAc,EAAE,OAAO,GAAG,gBAAgB;IAU1F,MAAM,CAAC,uBAAuB,CAC1B,UAAU,EAAE,mBAAmB,CAAC,eAAe,CAAC,EAChD,YAAY,EAAE,OAAO,EACrB,cAAc,EAAE,OAAO,EACvB,iBAAiB,EAAE,OAAO,EAC1B,cAAc,GAAE,iBAAsB;IAS1C,MAAM,CAAC,iBAAiB,CACpB,UAAU,EAAE,mBAAmB,CAAC,eAAe,CAAC,EAChD,UAAU,EAAE,MAAM,EAClB,iBAAiB,EAAE,OAAO,EAC1B,cAAc,GAAE,iBAAsB;IAS1C,MAAM,CAAC,iBAAiB,CACpB,UAAU,EAAE,mBAAmB,CAAC,eAAe,CAAC,EAChD,SAAS,EAAE,iBAAiB,EAC5B,cAAc,UAAQ;IAY1B,MAAM,CAAC,wBAAwB,CAC3B,WAAW,EAAE,MAAM,EACnB,kBAAkB,EAAE,MAAM,EAC1B,QAAQ,EAAE,qBAAqB,EAC/B,IAAI,SAAO;CAMlB"}
|
|
@@ -11,8 +11,12 @@ class RouteUtils {
|
|
|
11
11
|
* is empty by lodash isEmpty standards it will be removed from the returned query object.
|
|
12
12
|
*/
|
|
13
13
|
static getQueryParams(routeProps, replacementQueries = {}) {
|
|
14
|
-
|
|
15
|
-
|
|
14
|
+
let { pathname, search } = routeProps.location;
|
|
15
|
+
// If the pathname is "/troubleshoot/summarize", replace it
|
|
16
|
+
if (pathname === '/troubleshoot/summarize') {
|
|
17
|
+
routeProps.history.replace({ pathname: '/troubleshoot/troubleshoot', search });
|
|
18
|
+
}
|
|
19
|
+
const queryObject = Object.assign(Object.assign({}, getUrlParsedParams(search)), replacementQueries);
|
|
16
20
|
// remove empty queries.
|
|
17
21
|
return Object.keys(queryObject).reduce((newQueryObject, key) => {
|
|
18
22
|
if (!isEmpty(queryObject[key])) {
|
|
@@ -30,7 +34,7 @@ class RouteUtils {
|
|
|
30
34
|
? AppRouteSections.GET_SUPPORT
|
|
31
35
|
: isCaseCreate
|
|
32
36
|
? AppRouteSections.GET_SUPPORT
|
|
33
|
-
: AppRouteSections.
|
|
37
|
+
: AppRouteSections.TROUBLESHOOT;
|
|
34
38
|
return routeSequence;
|
|
35
39
|
}
|
|
36
40
|
static navigateToDefaltSection(routeProps, isCaseCreate, isSearchIntent, resetSearchParams, newQueryParams = {}) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rh-support/troubleshoot",
|
|
3
|
-
"version": "2.5.
|
|
3
|
+
"version": "2.5.33",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public",
|
|
6
6
|
"registry": "https://registry.npmjs.org"
|
|
@@ -58,11 +58,11 @@
|
|
|
58
58
|
"@progress/kendo-licensing": "1.3.5",
|
|
59
59
|
"@progress/kendo-react-pdf": "^5.16.0",
|
|
60
60
|
"@redux-devtools/extension": "^3.3.0",
|
|
61
|
-
"@rh-support/components": "2.5.
|
|
62
|
-
"@rh-support/react-context": "2.5.
|
|
61
|
+
"@rh-support/components": "2.5.15",
|
|
62
|
+
"@rh-support/react-context": "2.5.17",
|
|
63
63
|
"@rh-support/types": "2.0.5",
|
|
64
|
-
"@rh-support/user-permissions": "2.5.
|
|
65
|
-
"@rh-support/utils": "2.5.
|
|
64
|
+
"@rh-support/user-permissions": "2.5.9",
|
|
65
|
+
"@rh-support/utils": "2.5.8",
|
|
66
66
|
"@types/react-redux": "^7.1.33",
|
|
67
67
|
"@types/redux": "^3.6.0",
|
|
68
68
|
"date-fns": "3.6.0",
|
|
@@ -134,5 +134,5 @@
|
|
|
134
134
|
"defaults and supports es6-module",
|
|
135
135
|
"maintained node versions"
|
|
136
136
|
],
|
|
137
|
-
"gitHead": "
|
|
137
|
+
"gitHead": "25dc755c973c1fd3169c76df597839acb07dde64"
|
|
138
138
|
}
|