@rh-support/troubleshoot 2.2.133 → 2.2.136
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/README.md +1 -1
- package/lib/esm/components/CaseEditView/Case.js +2 -2
- package/lib/esm/components/CaseEditView/CaseOverview/index.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/CaseOverview/index.js +2 -1
- package/lib/esm/components/CaseEditView/CaseSolutions/CaseSolutions.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/CaseSolutions/CaseSolutions.js +9 -8
- package/lib/esm/components/CaseEditView/CaseSolutions/CaseSolutionsItem.d.ts +1 -0
- package/lib/esm/components/CaseEditView/CaseSolutions/CaseSolutionsItem.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/CaseSolutions/CaseSolutionsItem.js +1 -1
- package/lib/esm/components/CaseEditView/CaseSolutions/HandpicketItem.d.ts +1 -0
- package/lib/esm/components/CaseEditView/CaseSolutions/HandpicketItem.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/CaseSolutions/HandpicketItem.js +1 -1
- package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/CaseDiscussion.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/CaseDiscussion.js +4 -2
- package/lib/esm/components/CaseInformation/CaseGroup.d.ts.map +1 -1
- package/lib/esm/components/CaseInformation/CaseGroup.js +9 -3
- package/lib/esm/components/CaseInformation/Fts.d.ts.map +1 -1
- package/lib/esm/components/CaseInformation/Fts.js +13 -7
- package/lib/esm/components/CaseInformation/Severity.d.ts.map +1 -1
- package/lib/esm/components/CaseInformation/Severity.js +1 -1
- package/lib/esm/components/Recommendations/EARules/EARule.d.ts +1 -1
- package/lib/esm/components/Recommendations/EARules/EARule.d.ts.map +1 -1
- package/lib/esm/components/Recommendations/EARules/EARule.js +5 -3
- package/lib/esm/components/Recommendations/EARules/EARuleInfoInline.d.ts.map +1 -1
- package/lib/esm/components/Recommendations/EARules/EARuleInfoInline.js +2 -2
- package/lib/esm/components/Recommendations/Recommendations.d.ts.map +1 -1
- package/lib/esm/components/Recommendations/Recommendations.js +3 -2
- package/lib/esm/components/Suggestions/TopContent.d.ts.map +1 -1
- package/lib/esm/components/Suggestions/TopContent.js +4 -1
- package/lib/esm/components/UpdateSeverityModal/UpdateSeverityModal.d.ts.map +1 -1
- package/lib/esm/components/UpdateSeverityModal/UpdateSeverityModal.js +15 -9
- package/lib/esm/components/wizardLayout/WizardLayout.d.ts.map +1 -1
- package/lib/esm/components/wizardLayout/WizardLayout.js +4 -2
- package/lib/esm/reducers/CaseConstNTypes.d.ts +1 -0
- package/lib/esm/reducers/CaseConstNTypes.d.ts.map +1 -1
- package/lib/esm/reducers/CaseConstNTypes.js +1 -0
- package/lib/esm/reducers/CaseReducer.d.ts +3 -3
- package/lib/esm/reducers/CaseReducer.d.ts.map +1 -1
- package/lib/esm/reducers/CaseReducer.js +28 -29
- package/package.json +6 -6
package/README.md
CHANGED
|
@@ -19,7 +19,7 @@ import { CaseDetailsWarningMessage } from './CaseDetailsWarningMessage';
|
|
|
19
19
|
import CaseOverview from './CaseOverview';
|
|
20
20
|
import { PDFContext } from './PDFContainer';
|
|
21
21
|
export default function Case(props) {
|
|
22
|
-
const { globalMetadataState: { loggedInUserRights, loggedInUsersAccount }, } = useContext(GlobalMetadataStateContext);
|
|
22
|
+
const { globalMetadataState: { loggedInUserRights, loggedInUsersAccount, loggedInUser }, } = useContext(GlobalMetadataStateContext);
|
|
23
23
|
const caseDetailsPageDispatch = useCaseDetailsPageDispatchContext();
|
|
24
24
|
const { t } = useTranslation();
|
|
25
25
|
// The `path` lets us build <Route> paths that are
|
|
@@ -82,7 +82,7 @@ export default function Case(props) {
|
|
|
82
82
|
return;
|
|
83
83
|
}
|
|
84
84
|
if (caseNumber) {
|
|
85
|
-
fetchCaseDetails(caseDispatch, caseNumber, loggedInUserRights.data);
|
|
85
|
+
fetchCaseDetails(caseDispatch, caseNumber, loggedInUserRights.data, loggedInUser.data);
|
|
86
86
|
canSeeRMEs &&
|
|
87
87
|
fetchCaseEscalations(caseDetailsPageDispatch, caseNumber, loggedInUserRights.data.getAccountNumber());
|
|
88
88
|
// fetch data in advance
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/CaseEditView/CaseOverview/index.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/CaseEditView/CaseOverview/index.tsx"],"names":[],"mappings":"AA6BA,OAAO,KAAkD,MAAM,OAAO,CAAC;AA6BvE,UAAU,MAAM;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,KAAK,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;CACnD;AAED,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,KAAK,EAAE,MAAM,qBAyfjD"}
|
|
@@ -11,7 +11,7 @@ import { Alert, AlertVariant, Button, ButtonVariant, ExpandableSection, Label, M
|
|
|
11
11
|
import { ToastNotification, useConfirmation } from '@rh-support/components';
|
|
12
12
|
import { CloseCaseModal, fetchCaseSeverities, fetchCaseTypes, GlobalMetadataDispatchContext, GlobalMetadataStateContext, useCanEditCase, } from '@rh-support/react-context';
|
|
13
13
|
import { AbilityContext, CaseDetailsFields, resourceActions, resources } from '@rh-support/user-permissions';
|
|
14
|
-
import { haventLoadedMetadata, isOpenShiftOnlineProduct, PreviousCaseTypes, toNewCaseTypeMapper, toNewCaseTypeSwitcher, } from '@rh-support/utils';
|
|
14
|
+
import { dtmTrackEvent, haventLoadedMetadata, isOpenShiftOnlineProduct, PreviousCaseTypes, toNewCaseTypeMapper, toNewCaseTypeSwitcher, } from '@rh-support/utils';
|
|
15
15
|
import isEqual from 'lodash/isEqual';
|
|
16
16
|
import React, { useContext, useEffect, useRef, useState } from 'react';
|
|
17
17
|
import { Trans, useTranslation } from 'react-i18next';
|
|
@@ -301,6 +301,7 @@ export default function CaseOverview(props) {
|
|
|
301
301
|
yield updateStatusState(CaseStatusEnum.CLOSED);
|
|
302
302
|
yield postCommentAfterStatusUpdate(commentBody);
|
|
303
303
|
setShowCaseCloseModal(false);
|
|
304
|
+
dtmTrackEvent('case closed - case details page', caseNumber, product);
|
|
304
305
|
}), isUpdating: (caseOverviewState.caseStatusUpdating && isCaseUpdating) || isPostingComment, onClose: () => {
|
|
305
306
|
setShowCaseCloseModal(false);
|
|
306
307
|
}, caseNumber: caseNumber })),
|
|
@@ -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;AAuE3E,UAAU,MAAM;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,sBAAsB,EAAE,OAAO,CAAC;CACnC;AAUD,eAAO,MAAM,aAAa,+
|
|
1
|
+
{"version":3,"file":"CaseSolutions.d.ts","sourceRoot":"","sources":["../../../../../src/components/CaseEditView/CaseSolutions/CaseSolutions.tsx"],"names":[],"mappings":"AAmBA,OAAO,KAAsD,MAAM,OAAO,CAAC;AAuE3E,UAAU,MAAM;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,sBAAsB,EAAE,OAAO,CAAC;CACnC;AAUD,eAAO,MAAM,aAAa,+EAkgBxB,CAAC"}
|
|
@@ -23,7 +23,7 @@ import { Accordion, AccordionContent, AccordionItem, AccordionToggle, Button, Mo
|
|
|
23
23
|
import { PaginatedList, ToastNotification } from '@rh-support/components';
|
|
24
24
|
import { useGlobalStateContext } from '@rh-support/react-context';
|
|
25
25
|
import { AbilityContext, CaseDetailsFields, resourceActions, resources } from '@rh-support/user-permissions';
|
|
26
|
-
import { getSolrParams } from '@rh-support/utils';
|
|
26
|
+
import { dtmTrackEvent, getSolrParams } from '@rh-support/utils';
|
|
27
27
|
import find from 'lodash/find';
|
|
28
28
|
import isEqual from 'lodash/isEqual';
|
|
29
29
|
import some from 'lodash/some';
|
|
@@ -150,7 +150,7 @@ export const CaseSolutions = forwardRef((props, ref) => {
|
|
|
150
150
|
};
|
|
151
151
|
if (recommendationToUpdate.resourceViewURI)
|
|
152
152
|
recommendation.resourceViewURI = recommendationToUpdate.resourceViewURI;
|
|
153
|
-
// for some doc types like Errata we don't have resourceURI. If resourceURI was not
|
|
153
|
+
// for some doc types like Errata we don't have resourceURI. If resourceURI was not available,
|
|
154
154
|
// we constructe a 'fake' one to be used when linking in SFDC
|
|
155
155
|
recommendation.resourceURI = recommendationToUpdate.resourceURI
|
|
156
156
|
? recommendationToUpdate.resourceURI
|
|
@@ -163,6 +163,7 @@ export const CaseSolutions = forwardRef((props, ref) => {
|
|
|
163
163
|
});
|
|
164
164
|
const canPinUnpin = ability.can(resourceActions.PATCH, resources.CASE_DETAILS, CaseDetailsFields.CASE_DETAILS_PIN_UNPIN_RESOURCES);
|
|
165
165
|
const canLinkUnlink = ability.can(resourceActions.PATCH, resources.CASE_DETAILS, CaseDetailsFields.CASE_DETAILS_LINK_UNLINK_RESOURCES);
|
|
166
|
+
const addDtmEvent = (eventName) => dtmTrackEvent(eventName, caseNumber, product);
|
|
166
167
|
const updateRecommendations = (recommendationToUpdate, isPinned, isLinked) => () => __awaiter(void 0, void 0, void 0, function* () {
|
|
167
168
|
try {
|
|
168
169
|
setIsPinLoading((prevPiningMap) => (Object.assign(Object.assign({}, prevPiningMap), { [recommendationToUpdate.resourceId]: true })));
|
|
@@ -267,17 +268,17 @@ export const CaseSolutions = forwardRef((props, ref) => {
|
|
|
267
268
|
}
|
|
268
269
|
}, [allDocs, isFetchingCaseDetails, isLoadingRecommendations, recomendationsObj]);
|
|
269
270
|
const renderTopRecommendations = (recommendation, index, type) => (React.createElement(React.Fragment, null,
|
|
270
|
-
canPinUnpin && (React.createElement(CaseSolutionsItem, { showPin: true, type: type, pinTitle: recommendation.isPinned ? t('Unpin') : t('Pin'), isPinLoading: isPinLoading, index: index, recommendation: recommendation, onPinClicked: updateRecommendations(recommendation, recommendation.isPinned, undefined) })),
|
|
271
|
-
canLinkUnlink && (React.createElement(CaseSolutionsItem, { showLink: true, type: type, pinTitle: recommendation.isLinked ? t('Unlink') : t('Link'), isPinLoading: isPinLoading, index: index, recommendation: recommendation, onPinClicked: updateRecommendations(recommendation, undefined, recommendation.isLinked) }))));
|
|
271
|
+
canPinUnpin && (React.createElement(CaseSolutionsItem, { showPin: true, type: type, pinTitle: recommendation.isPinned ? t('Unpin') : t('Pin'), isPinLoading: isPinLoading, index: index, recommendation: recommendation, onPinClicked: updateRecommendations(recommendation, recommendation.isPinned, undefined), onLinkClick: (name) => addDtmEvent(name) })),
|
|
272
|
+
canLinkUnlink && (React.createElement(CaseSolutionsItem, { showLink: true, type: type, pinTitle: recommendation.isLinked ? t('Unlink') : t('Link'), isPinLoading: isPinLoading, index: index, recommendation: recommendation, onPinClicked: updateRecommendations(recommendation, undefined, recommendation.isLinked), onLinkClick: (name) => addDtmEvent(name) }))));
|
|
272
273
|
// customer logged in: we show pins and perform pin/unpin
|
|
273
|
-
const renderPinsByCustomer = (recommendation, index, type) => (React.createElement(CaseSolutionsItem, { showPin: true, isPinned: true, type: type, pinTitle: recommendation.isPinned ? t('Unpin') : t('Pin'), isPinLoading: isPinLoading, index: index, recommendation: recommendation, onPinClicked: updateRecommendations(recommendation, recommendation.isPinned, undefined) }));
|
|
274
|
+
const renderPinsByCustomer = (recommendation, index, type) => (React.createElement(CaseSolutionsItem, { showPin: true, isPinned: true, type: type, pinTitle: recommendation.isPinned ? t('Unpin') : t('Pin'), isPinLoading: isPinLoading, index: index, recommendation: recommendation, onPinClicked: updateRecommendations(recommendation, recommendation.isPinned, undefined), onLinkClick: (name) => addDtmEvent(name) }));
|
|
274
275
|
// customer logged in: we show links but perform pin/unpin
|
|
275
|
-
const renderHandpickedCustomerView = (recommendation, index, type) => (React.createElement(HandpickedItem, { type: type, caseNumber: props.caseNumber, pinTitle: recommendation.isPinnedAndLinked ? t('Unpin') : t('Pin'), isPinLoading: isPinLoading, index: index, recommendation: recommendation, onRecommendationLike: () => setIsCloseCaseModalOpen(true) }));
|
|
276
|
+
const renderHandpickedCustomerView = (recommendation, index, type) => (React.createElement(HandpickedItem, { type: type, caseNumber: props.caseNumber, pinTitle: recommendation.isPinnedAndLinked ? t('Unpin') : t('Pin'), isPinLoading: isPinLoading, index: index, recommendation: recommendation, onRecommendationLike: () => setIsCloseCaseModalOpen(true), onLinkClick: (name) => addDtmEvent(name) }));
|
|
276
277
|
// redhatter logged in: we show pins but perform link/unlink
|
|
277
|
-
const renderPinnedByCustomerRedhatterView = (recommendation, index, type) => (React.createElement(CaseSolutionsItem, { showLink: true, type: type, pinTitle: recommendation.isPinnedAndLinked ? t('Unpin') : t('Pin'), isPinLoading: isPinLoading, index: index, recommendation: recommendation, onPinClicked: updateRecommendations(recommendation, undefined, recommendation.isLinked) }));
|
|
278
|
+
const renderPinnedByCustomerRedhatterView = (recommendation, index, type) => (React.createElement(CaseSolutionsItem, { showLink: true, type: type, pinTitle: recommendation.isPinnedAndLinked ? t('Unpin') : t('Pin'), isPinLoading: isPinLoading, index: index, recommendation: recommendation, onPinClicked: updateRecommendations(recommendation, undefined, recommendation.isLinked), onLinkClick: (name) => addDtmEvent(name) }));
|
|
278
279
|
// redhatter logged in: we show links and perform link/unlink
|
|
279
280
|
const renderHandPickedByRedHatter = (recommendation, index, type) => (React.createElement("div", { className: "pf-v5-u-ml-lg" },
|
|
280
|
-
React.createElement(CaseSolutionsItem, { showLink: true, type: type, pinTitle: recommendation.isLinked ? t('Unlink') : t('Link'), isPinLoading: isPinLoading, index: index, recommendation: recommendation, onPinClicked: updateRecommendations(recommendation, undefined, recommendation.isLinked) })));
|
|
281
|
+
React.createElement(CaseSolutionsItem, { showLink: true, type: type, pinTitle: recommendation.isLinked ? t('Unlink') : t('Link'), isPinLoading: isPinLoading, index: index, recommendation: recommendation, onPinClicked: updateRecommendations(recommendation, undefined, recommendation.isLinked), onLinkClick: (name) => addDtmEvent(name) })));
|
|
281
282
|
const linkedRecommendations = recommendations.filter((r) => r.isLinked);
|
|
282
283
|
const pinnedRecommendations = recommendations.filter((r) => r.isPinned);
|
|
283
284
|
const closeCaseModal = (React.createElement(Modal, { variant: ModalVariant.small, title: t('Did this solve your case?'), isOpen: isCloseCaseModalOpen && caseStatus !== CaseStatusEnum.CLOSED, onClose: () => setIsCloseCaseModalOpen(false), actions: [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CaseSolutionsItem.d.ts","sourceRoot":"","sources":["../../../../../src/components/CaseEditView/CaseSolutions/CaseSolutionsItem.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAQ5E,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,0BAA0B,EAAE,MAAM,yCAAyC,CAAC;AACrF,UAAU,MAAM;IACZ,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,8BAA8B,CAAC;IAC/C,YAAY,EAAE,GAAG,CAAC;IAClB,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"CaseSolutionsItem.d.ts","sourceRoot":"","sources":["../../../../../src/components/CaseEditView/CaseSolutions/CaseSolutionsItem.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAQ5E,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,0BAA0B,EAAE,MAAM,yCAAyC,CAAC;AACrF,UAAU,MAAM;IACZ,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,8BAA8B,CAAC;IAC/C,YAAY,EAAE,GAAG,CAAC;IAClB,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACvC;AAED,MAAM,WAAW,8BAA+B,SAAQ,OAAO,CAAC,iBAAiB,CAAC;IAC9E,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kBAAkB,CAAC,EAAE,0BAA0B,CAAC;CACnD;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,qBAuD9C"}
|
|
@@ -19,7 +19,7 @@ export function CaseSolutionsItem(props) {
|
|
|
19
19
|
!isLoading && props.showLink && React.createElement(LinkIcon, null)),
|
|
20
20
|
React.createElement("a", { href: props.recommendation.resourceViewURI, "data-tracking-id": `case-resource-${props.type}-link-${props.index}`, target: "_blank", rel: "noopener noreferrer", dangerouslySetInnerHTML: {
|
|
21
21
|
__html: DOMPurify.sanitize(truncate(decodeMarkTag(props.recommendation.title || ''), maxTitleLength)),
|
|
22
|
-
} })),
|
|
22
|
+
}, onClick: () => props.onLinkClick('case solution click') })),
|
|
23
23
|
React.createElement("div", { className: "result-body", dangerouslySetInnerHTML: {
|
|
24
24
|
__html: DOMPurify.sanitize(truncate(cleanupMarkDown(decodeMarkTag(props.recommendation.solutionAbstract || '')), maxAbstractLength)),
|
|
25
25
|
} })));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HandpicketItem.d.ts","sourceRoot":"","sources":["../../../../../src/components/CaseEditView/CaseSolutions/HandpicketItem.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAIxC,OAAO,EAAE,8BAA8B,EAAE,MAAM,qBAAqB,CAAC;AAErE,UAAU,MAAM;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,8BAA8B,CAAC;IAC/C,YAAY,EAAE,GAAG,CAAC;IAClB,oBAAoB,EAAE,MAAM,IAAI,CAAC;IACjC,IAAI,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"HandpicketItem.d.ts","sourceRoot":"","sources":["../../../../../src/components/CaseEditView/CaseSolutions/HandpicketItem.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAIxC,OAAO,EAAE,8BAA8B,EAAE,MAAM,qBAAqB,CAAC;AAErE,UAAU,MAAM;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,8BAA8B,CAAC;IAC/C,YAAY,EAAE,GAAG,CAAC;IAClB,oBAAoB,EAAE,MAAM,IAAI,CAAC;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACvC;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,qBAyH3C"}
|
|
@@ -62,7 +62,7 @@ export function HandpickedItem(props) {
|
|
|
62
62
|
React.createElement("div", { className: "recommendation-header" },
|
|
63
63
|
React.createElement("a", { href: recommendation.resourceViewURI, "data-tracking-id": `case-resource-${props.type}-link-${props.index}`, target: "_blank", rel: "noopener noreferrer", dangerouslySetInnerHTML: {
|
|
64
64
|
__html: DOMPurify.sanitize(truncate(decodeMarkTag(recommendation.title || ''), maxTitleLength)),
|
|
65
|
-
} })),
|
|
65
|
+
}, onClick: () => props.onLinkClick('recommendation hand picked click') })),
|
|
66
66
|
React.createElement("div", { className: "result-body", dangerouslySetInnerHTML: {
|
|
67
67
|
__html: DOMPurify.sanitize(truncate(cleanupMarkDown(decodeMarkTag(props.recommendation.solutionAbstract || '')), maxAbstractLength)),
|
|
68
68
|
} }),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CaseDiscussion.d.ts","sourceRoot":"","sources":["../../../../../../src/components/CaseEditView/Tabs/CaseDiscussion/CaseDiscussion.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,YAAY,EAA0B,MAAM,yCAAyC,CAAC;AAa1G,OAAO,KAAoE,MAAM,OAAO,CAAC;AAsCzF,UAAU,MAAM;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,YAAY,EAAE,CAAC;IAC7B,SAAS,EAAE,SAAS,EAAE,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,KAAK,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;IAC/C,eAAe,EAAE,OAAO,CAAC;CAC5B;AAOD,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,KAAK,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"CaseDiscussion.d.ts","sourceRoot":"","sources":["../../../../../../src/components/CaseEditView/Tabs/CaseDiscussion/CaseDiscussion.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,YAAY,EAA0B,MAAM,yCAAyC,CAAC;AAa1G,OAAO,KAAoE,MAAM,OAAO,CAAC;AAsCzF,UAAU,MAAM;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,YAAY,EAAE,CAAC;IAC7B,SAAS,EAAE,SAAS,EAAE,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,KAAK,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;IAC/C,eAAe,EAAE,OAAO,CAAC;CAC5B;AAOD,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,KAAK,EAAE,MAAM,qBA0mBnD"}
|
|
@@ -12,7 +12,7 @@ import { MenuToggle, Select, SelectList, SelectOption } from '@patternfly/react-
|
|
|
12
12
|
import { AlertMessage, AlertType, ErrorBoundary, LoadingIndicator, ToastNotification } from '@rh-support/components';
|
|
13
13
|
import { useGlobalStateContext } from '@rh-support/react-context';
|
|
14
14
|
import { AbilityContext, CaseDetailsFields, resourceActions, resources } from '@rh-support/user-permissions';
|
|
15
|
-
import { getDropdownBtnPlaceholder, getUrlParsedParams, scrollIntoView } from '@rh-support/utils';
|
|
15
|
+
import { dtmTrackEvent, getDropdownBtnPlaceholder, getUrlParsedParams, scrollIntoView } from '@rh-support/utils';
|
|
16
16
|
import cloneDeep from 'lodash/cloneDeep';
|
|
17
17
|
import filter from 'lodash/filter';
|
|
18
18
|
import findIndex from 'lodash/findIndex';
|
|
@@ -43,9 +43,10 @@ let cellMeasureCache = new CellMeasurerCache({
|
|
|
43
43
|
});
|
|
44
44
|
export default function CaseDiscussion(props) {
|
|
45
45
|
const { t } = useTranslation();
|
|
46
|
-
const { isPostingRemoteRequestCommentCompleted, screenSessionRequested } = useCaseSelector((state) => ({
|
|
46
|
+
const { isPostingRemoteRequestCommentCompleted, screenSessionRequested, product } = useCaseSelector((state) => ({
|
|
47
47
|
isPostingRemoteRequestCommentCompleted: state.isPostingRemoteRequestCommentCompleted,
|
|
48
48
|
screenSessionRequested: state.caseDetails.screenSessionRequested,
|
|
49
|
+
product: state.caseDetails.product,
|
|
49
50
|
}), isEqual);
|
|
50
51
|
const urlSearchParams = getUrlParsedParams(useLocation().search);
|
|
51
52
|
const discussionIdFromUrl = ((urlSearchParams === null || urlSearchParams === void 0 ? void 0 : urlSearchParams.commentId) ||
|
|
@@ -169,6 +170,7 @@ export default function CaseDiscussion(props) {
|
|
|
169
170
|
};
|
|
170
171
|
const onCommentAdded = () => __awaiter(this, void 0, void 0, function* () {
|
|
171
172
|
yield updateDiscussionStateComments(dispatchDiscussion, caseNumber, allDiscussions, sort, caseFeedbacksHydra.data, discussionFiltersListState);
|
|
173
|
+
dtmTrackEvent('comment', caseNumber, product);
|
|
172
174
|
});
|
|
173
175
|
const onAttachmentAdded = () => __awaiter(this, void 0, void 0, function* () {
|
|
174
176
|
yield updateDiscussionStateAttachments(dispatchDiscussion, caseNumber, allDiscussions, sort, loggedInUsersAccount.data.secureSupport, discussionFiltersListState);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CaseGroup.d.ts","sourceRoot":"","sources":["../../../../src/components/CaseInformation/CaseGroup.tsx"],"names":[],"mappings":"AASA,OAAO,KAA0C,MAAM,OAAO,CAAC;AAW/D,UAAU,MAAM;IACZ,IAAI,CAAC,EAAE,OAAO,CAAC;CAClB;AAWD,iBAAS,SAAS,CAAC,KAAK,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"CaseGroup.d.ts","sourceRoot":"","sources":["../../../../src/components/CaseInformation/CaseGroup.tsx"],"names":[],"mappings":"AASA,OAAO,KAA0C,MAAM,OAAO,CAAC;AAW/D,UAAU,MAAM;IACZ,IAAI,CAAC,EAAE,OAAO,CAAC;CAClB;AAWD,iBAAS,SAAS,CAAC,KAAK,EAAE,MAAM,qBAkQ/B;AAED,eAAe,SAAS,CAAC"}
|
|
@@ -33,7 +33,7 @@ const emptyCaseGroup = {
|
|
|
33
33
|
function CaseGroup(props) {
|
|
34
34
|
const { t } = useTranslation();
|
|
35
35
|
const caseUpdateError = useCaseUpdateErrorMessage();
|
|
36
|
-
const { groupNumber, caseNumber, accountNumber, selectedAccountDetails, ownersCaseGroups, groupName, isCaseOwnerUpdating, } = useCaseSelector((state) => ({
|
|
36
|
+
const { groupNumber, caseNumber, accountNumber, selectedAccountDetails, ownersCaseGroups, groupName, isCaseOwnerUpdating, contactSSOName, } = useCaseSelector((state) => ({
|
|
37
37
|
caseNumber: state.caseDetails.caseNumber,
|
|
38
38
|
groupNumber: state.caseDetails.groupNumber,
|
|
39
39
|
accountNumber: state.caseDetails.accountNumberRef,
|
|
@@ -41,6 +41,7 @@ function CaseGroup(props) {
|
|
|
41
41
|
selectedAccountDetails: state.selectedAccountDetails,
|
|
42
42
|
groupName: state.caseDetails.groupName,
|
|
43
43
|
isCaseOwnerUpdating: state.isCaseOwnerUpdating,
|
|
44
|
+
contactSSOName: state.caseDetails.contactSSOName,
|
|
44
45
|
}), isEqual);
|
|
45
46
|
const caseDispatch = useCaseDispatch();
|
|
46
47
|
const { isExportingPDF } = useContext(PDFContext);
|
|
@@ -51,7 +52,7 @@ function CaseGroup(props) {
|
|
|
51
52
|
const [isSelectedUngroupedInvalid, setIsSelectedUngroupedInvalid] = useState(false);
|
|
52
53
|
const [isCaseGroupUpdating, setCaseGroupUpdating] = useState(false);
|
|
53
54
|
const canEditCase = useCanEditCase();
|
|
54
|
-
const { globalMetadataState: { loggedInUserRights }, } = useContext(GlobalMetadataStateContext);
|
|
55
|
+
const { globalMetadataState: { loggedInUserRights, loggedInUser }, } = useContext(GlobalMetadataStateContext);
|
|
55
56
|
// value changed logic to show a non local group change
|
|
56
57
|
const [localGroupChange, setLocalGroupChange] = useState(false);
|
|
57
58
|
const afterGroupLocalChange = () => setLocalGroupChange(false);
|
|
@@ -166,6 +167,10 @@ function CaseGroup(props) {
|
|
|
166
167
|
});
|
|
167
168
|
const showHelperText = !isSelectedUngroupedInvalid || (!isCaseGroupInvalid && !isGroupMandatory);
|
|
168
169
|
const showEmptyValidationError = !caseNumber && isNextBtnClickedToShowValidationError && isCaseGroupInvalid;
|
|
170
|
+
const canNotChangeGroup = () => !loggedInUserRights.data.isInternal() &&
|
|
171
|
+
!loggedInUser.data.isOrgAdmin &&
|
|
172
|
+
loggedInUser.data.ssoUsername !== contactSSOName &&
|
|
173
|
+
!loggedInUserRights.data.isPartner();
|
|
169
174
|
return (React.createElement("div", { className: "form-group" },
|
|
170
175
|
React.createElement("label", { htmlFor: "get-support-group" },
|
|
171
176
|
React.createElement(Trans, null, "Group"),
|
|
@@ -174,7 +179,8 @@ function CaseGroup(props) {
|
|
|
174
179
|
React.createElement(Dropdown, { id: "get-support-group", searchable: (ownersCaseGroups.data || []).length > 10, onClearSelection: onCaseGroupClear, name: "get-support-group", placeholder: t(`Select a group`), title: t(`Select a group`), list: computeDropdownList(), selectedItem: toOption(selectedCaseGroup, { labelKey: 'name' }), disabled: ownersCaseGroups.isError ||
|
|
175
180
|
ownersCaseGroups.isFetching ||
|
|
176
181
|
isCaseGroupUpdating ||
|
|
177
|
-
isCaseOwnerUpdating
|
|
182
|
+
isCaseOwnerUpdating ||
|
|
183
|
+
canNotChangeGroup(), isLoadingList: !isCaseOwnerUpdating && (ownersCaseGroups.isFetching || isCaseGroupUpdating), onChange: onCaseGroupChange, isInValid: ownersCaseGroups.isError || showEmptyValidationError || (caseNumber && isSelectedUngroupedInvalid), required: isGroupMandatory, onOuterClick: onOuterClickGroupCheck, "data-tracking-id": "get-support-group", isExportingPDF: isExportingPDF }),
|
|
178
184
|
caseNumber && isSelectedUngroupedInvalid && !isExportingPDF && (React.createElement("p", { className: "form-instructions form-invalid" },
|
|
179
185
|
React.createElement(Trans, null, "'Ungrouped Case' cannot be selected. Please select a group."))),
|
|
180
186
|
showEmptyValidationError && isGroupMandatory && !isExportingPDF && (React.createElement("p", { className: "form-instructions form-invalid" },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Fts.d.ts","sourceRoot":"","sources":["../../../../src/components/CaseInformation/Fts.tsx"],"names":[],"mappings":"AAWA,OAAO,KAA0C,MAAM,OAAO,CAAC;AAS/D,UAAU,MAAM;IACZ,cAAc,EAAE,OAAO,CAAC;IACxB,cAAc,EAAE,OAAO,CAAC;IACxB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAQD,iBAAS,GAAG,CAAC,KAAK,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"Fts.d.ts","sourceRoot":"","sources":["../../../../src/components/CaseInformation/Fts.tsx"],"names":[],"mappings":"AAWA,OAAO,KAA0C,MAAM,OAAO,CAAC;AAS/D,UAAU,MAAM;IACZ,cAAc,EAAE,OAAO,CAAC;IACxB,cAAc,EAAE,OAAO,CAAC;IACxB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAQD,iBAAS,GAAG,CAAC,KAAK,EAAE,MAAM,qBAqOzB;kBArOQ,GAAG;;;AAwOZ,eAAe,GAAG,CAAC"}
|
|
@@ -17,7 +17,7 @@ import { Trans, useTranslation } from 'react-i18next';
|
|
|
17
17
|
import { useCaseDispatch, useCaseSelector } from '../../context/CaseContext';
|
|
18
18
|
import { useCaseUpdateErrorMessage } from '../../hooks/useCaseUpdateErrorMessage';
|
|
19
19
|
import { CONTACT_INFO_24X7_LIMIT } from '../../reducers/CaseConstNTypes';
|
|
20
|
-
import { setCaseDetails, updateCaseDetails } from '../../reducers/CaseReducer';
|
|
20
|
+
import { setCaseDetails, setCaseState, updateCaseDetails } from '../../reducers/CaseReducer';
|
|
21
21
|
import { PDFContext } from '../CaseEditView/PDFContainer';
|
|
22
22
|
const defaultProps = {
|
|
23
23
|
inlineEditable: false,
|
|
@@ -27,7 +27,7 @@ const defaultProps = {
|
|
|
27
27
|
function Fts(props) {
|
|
28
28
|
const { t } = useTranslation();
|
|
29
29
|
const caseUpdateError = useCaseUpdateErrorMessage();
|
|
30
|
-
const { fts, contactInfo24x7, caseNumber, severity, entitlementSla, caseType, phoneCountryCode, phoneAreaCodePrefixLineNumber, } = useCaseSelector((state) => ({
|
|
30
|
+
const { fts, contactInfo24x7, caseNumber, severity, entitlementSla, caseType, phoneCountryCode, phoneAreaCodePrefixLineNumber, ftsContactSameAsOwner, } = useCaseSelector((state) => ({
|
|
31
31
|
fts: state.caseDetails.fts,
|
|
32
32
|
caseNumber: state.caseDetails.caseNumber,
|
|
33
33
|
contactInfo24x7: state.caseDetails.contactInfo24x7,
|
|
@@ -36,6 +36,7 @@ function Fts(props) {
|
|
|
36
36
|
caseType: state.caseDetails.caseType,
|
|
37
37
|
phoneCountryCode: state.caseDetails.phoneCountryCode,
|
|
38
38
|
phoneAreaCodePrefixLineNumber: state.caseDetails.phoneAreaCodePrefixLineNumber || '',
|
|
39
|
+
ftsContactSameAsOwner: state.ftsContactSameAsOwner,
|
|
39
40
|
}), isEqual);
|
|
40
41
|
const isIdea = caseType === PreviousCaseTypes.FEATURE_ENHANCEMENT;
|
|
41
42
|
const { isExportingPDF } = useContext(PDFContext);
|
|
@@ -47,7 +48,6 @@ function Fts(props) {
|
|
|
47
48
|
const [contactInfo24X7State, setFtsContact] = useState(contactInfo24x7);
|
|
48
49
|
const [isFtsContactUpdating, setFtsContactUpdating] = useState(false);
|
|
49
50
|
const [isFtsUpdating, setFtsUpdating] = useState(false);
|
|
50
|
-
const [contactSameAsOwner, setContactSameAsOwner] = useState(false);
|
|
51
51
|
const canEditCase = useCanEditCase();
|
|
52
52
|
const onCaseFtsContactUpdate = (caseDetails) => __awaiter(this, void 0, void 0, function* () {
|
|
53
53
|
setFtsContactUpdating(true);
|
|
@@ -97,13 +97,12 @@ function Fts(props) {
|
|
|
97
97
|
const onSetContactSameAsOwner = (e) => {
|
|
98
98
|
if (canEditCase.alert())
|
|
99
99
|
return;
|
|
100
|
+
setCaseState(caseDispatch, { ftsContactSameAsOwner: e.target.checked });
|
|
100
101
|
if (!e.target.checked) {
|
|
101
|
-
setContactSameAsOwner(false);
|
|
102
102
|
return;
|
|
103
103
|
}
|
|
104
104
|
setFtsContact(`${phoneCountryCode}-${phoneAreaCodePrefixLineNumber}`);
|
|
105
105
|
setContactInfoIntoGlobalState(`${phoneCountryCode}-${phoneAreaCodePrefixLineNumber}`);
|
|
106
|
-
setContactSameAsOwner(true);
|
|
107
106
|
};
|
|
108
107
|
const onSave = (e) => __awaiter(this, void 0, void 0, function* () {
|
|
109
108
|
setContactInfoIntoGlobalState(contactInfo24X7State);
|
|
@@ -136,6 +135,13 @@ function Fts(props) {
|
|
|
136
135
|
onCaseDetailsChange({ contactInfo24x7: '' });
|
|
137
136
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
138
137
|
}, [fts, oldFts]);
|
|
138
|
+
useEffect(() => {
|
|
139
|
+
if (ftsContactSameAsOwner) {
|
|
140
|
+
setFtsContact(`${phoneCountryCode}-${phoneAreaCodePrefixLineNumber}`);
|
|
141
|
+
setContactInfoIntoGlobalState(`${phoneCountryCode}-${phoneAreaCodePrefixLineNumber}`);
|
|
142
|
+
}
|
|
143
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
144
|
+
}, [phoneAreaCodePrefixLineNumber, phoneCountryCode]);
|
|
139
145
|
const disableFtsNContact = !isEmpty(caseNumber) &&
|
|
140
146
|
(!isFtsEditableOnEditPage(entitlementSla, severity) || isFtsContactUpdating || isFtsUpdating);
|
|
141
147
|
const maxLengthErrorMessage = t('Contact information cannot be more than {{limit}} characters.', {
|
|
@@ -155,10 +161,10 @@ function Fts(props) {
|
|
|
155
161
|
React.createElement(LoadingIndicator, { size: "sm", isInline: true, show: isFtsUpdating, className: "pf-v5-u-ml-sm" })),
|
|
156
162
|
fts === true && (React.createElement(React.Fragment, null,
|
|
157
163
|
React.createElement(InlineEdit, { formClassName: "pf-v5-u-mb-md", labelProps: { htmlFor: 'get-support-24-7-contact' }, labelContent: React.createElement(Trans, null, "24x7 Contact"), allowInlineEdit: props.inlineEditable && !disableFtsNContact, hideSaveCancel: props.hideSaveCancel, initialIsEditing: props.initialIsEditing, content: contactInfo24x7, onSave: onSave, onCancel: onCancel, saveDisabled: isSaveDisabled, loadingIndicator: isFtsContactUpdating ? React.createElement(LoadingIndicator, { isInline: true }) : undefined, isExportingPDF: isExportingPDF },
|
|
158
|
-
React.createElement("input", { type: "checkbox", id: "same-as-case-owner-phone", name: "same-as-case-owner-phone", "data-tracking-id": "same-as-case-owner-phone", checked:
|
|
164
|
+
React.createElement("input", { type: "checkbox", id: "same-as-case-owner-phone", name: "same-as-case-owner-phone", "data-tracking-id": "same-as-case-owner-phone", checked: ftsContactSameAsOwner, onChange: onSetContactSameAsOwner }),
|
|
159
165
|
React.createElement("label", { htmlFor: "same-as-case-owner-phone", className: "pf-v5-u-font-weight-normal pf-v5-u-font-size-md" },
|
|
160
166
|
React.createElement(Trans, null, "Same as case owner's phone number")),
|
|
161
|
-
React.createElement(TextAreaAutosize, { id: "get-support-24-7-contact", className: `form-control`, name: "get-support-24-7-contact", value: contactInfo24X7State, onChange: onFtsContactChange, disabled: disableFtsNContact ||
|
|
167
|
+
React.createElement(TextAreaAutosize, { id: "get-support-24-7-contact", className: `form-control`, name: "get-support-24-7-contact", value: contactInfo24X7State, onChange: onFtsContactChange, disabled: disableFtsNContact || ftsContactSameAsOwner, "data-tracking-id": "get-support-24-7-contact" }),
|
|
162
168
|
React.createElement("p", { className: "form-instructions" },
|
|
163
169
|
React.createElement(Trans, null, "Please provide contact information where you can be reached at any time to help you with your case."))),
|
|
164
170
|
(contactInfo24X7State === null || contactInfo24X7State === void 0 ? void 0 : contactInfo24X7State.length) > CONTACT_INFO_24X7_LIMIT && (React.createElement("div", { className: "pull-top" },
|
|
@@ -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,EAAW,MAAM,0BAA0B,CAAC;AAerE,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,EAAW,MAAM,0BAA0B,CAAC;AAerE,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,qBA8Q9B;kBA9QQ,QAAQ;;;AAgRjB,eAAe,QAAQ,CAAC"}
|
|
@@ -168,7 +168,7 @@ function Severity(props) {
|
|
|
168
168
|
allCaseSeverities.isFetching ||
|
|
169
169
|
ownersEntitlements.isFetching ||
|
|
170
170
|
versionsDetails.isFetching, isLoadingList: props.isFetching, isInValid: allCaseSeverities.isError || isSeverityInValid, required: true, onChange: onSeverityChange, onOuterClick: setIsSeverityInValidLocal, "data-tracking-id": "get-support-severity" })),
|
|
171
|
-
React.createElement(UpdateSeverityModal, { isDisabled: props.isFetching, isFetching: props.isFetching, show: openUpdateSeverityModal, onClose: toggleModal }))) : (React.createElement(Dropdown, { name: "get-support-severity", placeholder: t(`Select a severity`), title: t(`Select a severity`), list: allCaseSeverities.data
|
|
171
|
+
openUpdateSeverityModal && (React.createElement(UpdateSeverityModal, { isDisabled: props.isFetching, isFetching: props.isFetching, show: openUpdateSeverityModal, onClose: toggleModal })))) : (React.createElement(Dropdown, { name: "get-support-severity", placeholder: t(`Select a severity`), title: t(`Select a severity`), list: allCaseSeverities.data
|
|
172
172
|
? toOptions(filteredSeverities, {
|
|
173
173
|
labelKey: 'label',
|
|
174
174
|
additionalInfoKey: 'additionalInfo',
|
|
@@ -2,7 +2,7 @@ import React from 'react';
|
|
|
2
2
|
import { IExtendedRule } from '../../../reducers/RulesReducer';
|
|
3
3
|
interface IEARuleContext {
|
|
4
4
|
rule: IExtendedRule;
|
|
5
|
-
onCtaClick: (link: string) => (event: React.MouseEvent<HTMLAnchorElement, MouseEvent>) => void;
|
|
5
|
+
onCtaClick: (link: string, title?: string) => (event: React.MouseEvent<HTMLAnchorElement, MouseEvent>) => void;
|
|
6
6
|
}
|
|
7
7
|
export declare const EARuleContext: React.Context<IEARuleContext>;
|
|
8
8
|
export declare function useEARuleContext(): IEARuleContext;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EARule.d.ts","sourceRoot":"","sources":["../../../../../src/components/Recommendations/EARules/EARule.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"EARule.d.ts","sourceRoot":"","sources":["../../../../../src/components/Recommendations/EARules/EARule.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAM1C,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAE/D,UAAU,cAAc;IACpB,IAAI,EAAE,aAAa,CAAC;IACpB,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,EAAE,UAAU,CAAC,KAAK,IAAI,CAAC;CAClH;AAGD,eAAO,MAAM,aAAa,+BAGxB,CAAC;AAEH,wBAAgB,gBAAgB,mBAM/B;AACD,wBAAgB,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE;;;;CAAA,qBAqClD;AAED,iBAAS,WAAW,sBAGnB;AAED,iBAAS,iBAAiB,sBA0BzB;AAED,iBAAS,aAAa,CAAC,EAAE,SAA6B,EAAE,SAAc,EAAE,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,qBA2BnH;AAED,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,aAAa,EAAE,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
2
2
|
import { pcm } from '@cee-eng/hydrajs';
|
|
3
|
+
import { dtmTrackEvent } from '@rh-support/utils';
|
|
3
4
|
import DOMPurify from 'dompurify';
|
|
4
5
|
import isEqual from 'lodash/isEqual';
|
|
5
6
|
import React, { useContext } from 'react';
|
|
@@ -28,8 +29,9 @@ export function EARule({ children, rule, ruleRank }) {
|
|
|
28
29
|
summary: state.caseDetails.summary,
|
|
29
30
|
}), isEqual);
|
|
30
31
|
const sessionRestoreDispatch = useContext(SessionRestoreDispatchContext);
|
|
31
|
-
const onCtaClick = (link) => () => {
|
|
32
|
+
const onCtaClick = (link, title) => () => {
|
|
32
33
|
createOrUpdateSessionResources(sessionRestoreDispatch, activeSessionId, sessionResourceTracking, SessionResourceSource.EDMOUND_ABOTT, [getSessResFromEA(link, SessionResourceVisibility.VISITED, ruleRank, rule.rule_id)], JSON.stringify({ product, version, summary }));
|
|
34
|
+
dtmTrackEvent(`insight rule button click: ${title}`, undefined, product);
|
|
33
35
|
};
|
|
34
36
|
return (React.createElement(EARuleContext.Provider, { value: {
|
|
35
37
|
rule,
|
|
@@ -60,8 +62,8 @@ function EARuleArticle({ linkTitle = 'Related Article', className = '' }) {
|
|
|
60
62
|
const { getTrackingULRWithQueryParams } = useParseRuleMarkdown();
|
|
61
63
|
if (!rule.cta)
|
|
62
64
|
return null;
|
|
63
|
-
return linkTitle === 'View details' ? (React.createElement("a", { className: `se-recommended ts-known-vuln ${className}`, rel: "noopener noreferrer", target: "_blank", "data-tracking-id": "se-recommended-asa-rule", onClick: onCtaClick(rule.cta), href: getTrackingULRWithQueryParams(rule.cta, SessionResourceSource.EDMOUND_ABOTT) },
|
|
64
|
-
React.createElement(Trans, null, linkTitle))) : (React.createElement("a", { className: `se-recommended ts-known-vuln ${className}`, rel: "noopener noreferrer", target: "_blank", "data-tracking-id": "se-recommended-asa-rule", onClick: onCtaClick(rule.cta), href: getTrackingULRWithQueryParams(rule.cta, SessionResourceSource.EDMOUND_ABOTT) },
|
|
65
|
+
return linkTitle === 'View details' ? (React.createElement("a", { className: `se-recommended ts-known-vuln ${className}`, rel: "noopener noreferrer", target: "_blank", "data-tracking-id": "se-recommended-asa-rule", onClick: onCtaClick(rule.cta, linkTitle), href: getTrackingULRWithQueryParams(rule.cta, SessionResourceSource.EDMOUND_ABOTT) },
|
|
66
|
+
React.createElement(Trans, null, linkTitle))) : (React.createElement("a", { className: `se-recommended ts-known-vuln ${className}`, rel: "noopener noreferrer", target: "_blank", "data-tracking-id": "se-recommended-asa-rule", onClick: onCtaClick(rule.cta, linkTitle), href: getTrackingULRWithQueryParams(rule.cta, SessionResourceSource.EDMOUND_ABOTT) },
|
|
65
67
|
React.createElement(Trans, null, linkTitle)));
|
|
66
68
|
}
|
|
67
69
|
export { EARuleTitle, EARuleDescription, EARuleArticle };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EARuleInfoInline.d.ts","sourceRoot":"","sources":["../../../../../src/components/Recommendations/EARules/EARuleInfoInline.tsx"],"names":[],"mappings":"AAUA,OAAO,KAA0C,MAAM,OAAO,CAAC;AAM/D,OAAO,EAAE,aAAa,EAAkD,MAAM,gCAAgC,CAAC;AAO/G,UAAU,MAAM;IACZ,OAAO,EAAE,aAAa,EAAE,CAAC;CAC5B;AAED,wBAAgB,gBAAgB,CAAC,EAAE,OAAY,EAAE,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"EARuleInfoInline.d.ts","sourceRoot":"","sources":["../../../../../src/components/Recommendations/EARules/EARuleInfoInline.tsx"],"names":[],"mappings":"AAUA,OAAO,KAA0C,MAAM,OAAO,CAAC;AAM/D,OAAO,EAAE,aAAa,EAAkD,MAAM,gCAAgC,CAAC;AAO/G,UAAU,MAAM;IACZ,OAAO,EAAE,aAAa,EAAE,CAAC;CAC5B;AAED,wBAAgB,gBAAgB,CAAC,EAAE,OAAY,EAAE,EAAE,MAAM,qBA2JxD"}
|
|
@@ -14,7 +14,7 @@ import CloseIcon from '@patternfly/react-icons/dist/js/icons/close-icon';
|
|
|
14
14
|
import InfoCircleIcon from '@patternfly/react-icons/dist/js/icons/info-circle-icon';
|
|
15
15
|
import { PaginationCompact, useFetch } from '@rh-support/components';
|
|
16
16
|
import { GlobalMetadataStateContext } from '@rh-support/react-context';
|
|
17
|
-
import { getResTypeFromUrl, getStyleVariantColor, StyleVariants } from '@rh-support/utils';
|
|
17
|
+
import { dtmTrackEvent, getResTypeFromUrl, getStyleVariantColor, StyleVariants } from '@rh-support/utils';
|
|
18
18
|
import isEqual from 'lodash/isEqual';
|
|
19
19
|
import some from 'lodash/some';
|
|
20
20
|
import React, { useContext, useEffect, useState } from 'react';
|
|
@@ -102,7 +102,7 @@ export function EARuleInfoInline({ eaRules = [] }) {
|
|
|
102
102
|
React.createElement(EARuleTitle, null))),
|
|
103
103
|
React.createElement("div", { className: "pf-v5-c-alert__action" },
|
|
104
104
|
React.createElement(Button, { style: { fontSize: 15 }, variant: ButtonVariant.link, "data-tracking-id": "se-recommended-asa-ignore", type: "button", onClick: onIgnoreBtnClick }, validEARulesLength > 1 ? React.createElement(Trans, null, "Skip") : React.createElement(CloseIcon, null))),
|
|
105
|
-
React.createElement("div", { className: "pf-v5-c-alert__description" },
|
|
105
|
+
React.createElement("div", { className: "pf-v5-c-alert__description", onClick: () => dtmTrackEvent('insight rule description click', undefined, product) },
|
|
106
106
|
React.createElement(EARuleDescription, null)),
|
|
107
107
|
React.createElement("div", { className: "pf-v5-c-alert__action-group pf-v5-u-display-flex" },
|
|
108
108
|
React.createElement(EARuleArticle, { className: "pf-v5-u-align-self-center pf-v5-u-mr-sm", linkTitle: "View details" }),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Recommendations.d.ts","sourceRoot":"","sources":["../../../../src/components/Recommendations/Recommendations.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Recommendations.d.ts","sourceRoot":"","sources":["../../../../src/components/Recommendations/Recommendations.tsx"],"names":[],"mappings":"AAmBA,OAAO,KAAkD,MAAM,OAAO,CAAC;AAEvE,OAAO,EAAE,mBAAmB,EAAa,MAAM,kBAAkB,CAAC;AAelE,OAAO,EAAoB,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAWpF,UAAU,MAAM;IACZ,UAAU,EAAE,mBAAmB,CAAC,eAAe,CAAC,CAAC;CACpD;AAED,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,KAAK,EAAE,MAAM,qBAsQpD"}
|
|
@@ -2,7 +2,7 @@ import { pcm } from '@cee-eng/hydrajs';
|
|
|
2
2
|
import { Label, Pagination, PaginationVariant } from '@patternfly/react-core';
|
|
3
3
|
import { LoadingDots, useDebounce, usePrevious } from '@rh-support/components';
|
|
4
4
|
import { useGlobalStateContext } from '@rh-support/react-context';
|
|
5
|
-
import { computeRecommendationAbstract, computeRecommendationTitle, formatDate, scrollIntoView, } from '@rh-support/utils';
|
|
5
|
+
import { computeRecommendationAbstract, computeRecommendationTitle, dtmTrackEvent, formatDate, scrollIntoView, } from '@rh-support/utils';
|
|
6
6
|
import differenceBy from 'lodash/differenceBy';
|
|
7
7
|
import isEmpty from 'lodash/isEmpty';
|
|
8
8
|
import isEqual from 'lodash/isEqual';
|
|
@@ -133,7 +133,8 @@ export default function Recommendations(props) {
|
|
|
133
133
|
createOrUpdateSessionResources(sessionRestoreDispatch, activeSessionId, sessionResourceTracking, SessionResourceSource.RECOMMENDATIONS, [
|
|
134
134
|
getSessResFromRec(doc, SessionResourceVisibility.VISITED, index + 1 + (pageSize || DEFAULTPAGESIZE) * ((recommendationState.currentPage || 1) - 1)),
|
|
135
135
|
], JSON.stringify(payload));
|
|
136
|
-
|
|
136
|
+
dtmTrackEvent('recommendation click', caseNumber, product);
|
|
137
|
+
};
|
|
137
138
|
return (React.createElement(React.Fragment, null,
|
|
138
139
|
React.createElement(LoadingDots, { className: "recommendation-loading-dots", show: recommendationState.isLoadingRecommendations && !isEmpty(summary) }),
|
|
139
140
|
React.createElement("div", { className: "recommendation-list pf-v5-u-pt-md", ref: resultRowRef },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TopContent.d.ts","sourceRoot":"","sources":["../../../../src/components/Suggestions/TopContent.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,2DAA2D,CAAC;
|
|
1
|
+
{"version":3,"file":"TopContent.d.ts","sourceRoot":"","sources":["../../../../src/components/Suggestions/TopContent.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,2DAA2D,CAAC;AAKxF,OAAO,KAAmB,MAAM,OAAO,CAAC;AASxC,UAAU,MAAM;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,CAAC;IAC7C,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,KAAK,EAAE,MAAM,qBAiJ/C"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { pcm } from '@cee-eng/hydrajs';
|
|
2
2
|
import { Accordion, AccordionContent, AccordionItem, AccordionToggle, Tooltip } from '@patternfly/react-core';
|
|
3
|
+
import { dtmTrackEvent } from '@rh-support/utils';
|
|
3
4
|
import isEqual from 'lodash/isEqual';
|
|
4
5
|
import map from 'lodash/map';
|
|
5
6
|
import React, { useState } from 'react';
|
|
@@ -13,7 +14,7 @@ export default function TopContent(props) {
|
|
|
13
14
|
const sessionRestoreDispatch = React.useContext(SessionRestoreDispatchContext);
|
|
14
15
|
const { sessionRestore: { activeSessionId, sessionResourceTracking }, } = React.useContext(SessionRestoreStateContext);
|
|
15
16
|
const [expanded, setExpanded] = useState('');
|
|
16
|
-
const { product, version, summary, issue, environment, periodicityOfIssue, timeFramesAndUrgency } = useCaseSelector((state) => ({
|
|
17
|
+
const { product, version, summary, issue, environment, periodicityOfIssue, timeFramesAndUrgency, caseNumber } = useCaseSelector((state) => ({
|
|
17
18
|
product: state.caseDetails.product,
|
|
18
19
|
version: state.caseDetails.version,
|
|
19
20
|
summary: state.caseDetails.summary,
|
|
@@ -21,9 +22,11 @@ export default function TopContent(props) {
|
|
|
21
22
|
environment: state.caseDetails.environment,
|
|
22
23
|
periodicityOfIssue: state.caseDetails.periodicityOfIssue,
|
|
23
24
|
timeFramesAndUrgency: state.caseDetails.timeFramesAndUrgency,
|
|
25
|
+
caseNumber: state.caseDetails.caseNumber,
|
|
24
26
|
}), isEqual);
|
|
25
27
|
const onLinkClick = (item) => (event) => {
|
|
26
28
|
props.onResourceClick && props.onResourceClick(item);
|
|
29
|
+
dtmTrackEvent('top content click', caseNumber, product);
|
|
27
30
|
};
|
|
28
31
|
const onToggle = (id) => {
|
|
29
32
|
if (id === expanded) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UpdateSeverityModal.d.ts","sourceRoot":"","sources":["../../../../src/components/UpdateSeverityModal/UpdateSeverityModal.tsx"],"names":[],"mappings":"AAuBA,OAAO,
|
|
1
|
+
{"version":3,"file":"UpdateSeverityModal.d.ts","sourceRoot":"","sources":["../../../../src/components/UpdateSeverityModal/UpdateSeverityModal.tsx"],"names":[],"mappings":"AAuBA,OAAO,KAA8D,MAAM,OAAO,CAAC;AAgBnF,UAAU,MAAM;IACZ,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAC;CACvB;AAED,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAAC,KAAK,EAAE,MAAM,qBA2iBxD"}
|
|
@@ -18,7 +18,7 @@ import includes from 'lodash/includes';
|
|
|
18
18
|
import isEmpty from 'lodash/isEmpty';
|
|
19
19
|
import isEqual from 'lodash/isEqual';
|
|
20
20
|
import map from 'lodash/map';
|
|
21
|
-
import React, { useContext, useEffect, useReducer, useState } from 'react';
|
|
21
|
+
import React, { useContext, useEffect, useReducer, useRef, useState } from 'react';
|
|
22
22
|
import { Trans, useTranslation } from 'react-i18next';
|
|
23
23
|
import { useCaseDispatch, useCaseSelector } from '../../context/CaseContext';
|
|
24
24
|
import { useCaseDetailsPageStateContext } from '../../context/CaseDetailsPageContext';
|
|
@@ -27,7 +27,7 @@ import { useCaseUpdateErrorMessage } from '../../hooks/useCaseUpdateErrorMessage
|
|
|
27
27
|
import { updateDiscussionStateComments } from '../../reducers/CaseDiscussionTabReducer';
|
|
28
28
|
import { getNewSeverityStringDef, getSeverityDescription } from '../../reducers/CaseHelpers';
|
|
29
29
|
import { caseOverviewReducer, initialCaseViewState, setSeverityUpdating } from '../../reducers/CaseOverviewReducer';
|
|
30
|
-
import { checkForCaseStatusToggleOnAttachOrComment,
|
|
30
|
+
import { checkForCaseStatusToggleOnAttachOrComment, setCaseState, updateCaseDetails } from '../../reducers/CaseReducer';
|
|
31
31
|
export default function UpdateSeverityModal(props) {
|
|
32
32
|
const { show, onClose, isDisabled, isFetching } = props;
|
|
33
33
|
const { t } = useTranslation();
|
|
@@ -40,7 +40,6 @@ export default function UpdateSeverityModal(props) {
|
|
|
40
40
|
const [isUpdateClickedToShowError, setIsUpdateClickedToShowError] = useState(false);
|
|
41
41
|
const [isSeverityInValid, setIsSeverityInValid] = useState(false);
|
|
42
42
|
const [seviritiesOptions, setSeveritiesOptions] = useState([]);
|
|
43
|
-
const [contactSameAsOwner, setContactSameAsOwner] = useState(false);
|
|
44
43
|
const { request: postCommentRequest, isFetching: isPostingComment } = useFetch(publicApi.kase.postComment, {
|
|
45
44
|
propgateErrors: true,
|
|
46
45
|
});
|
|
@@ -65,13 +64,15 @@ export default function UpdateSeverityModal(props) {
|
|
|
65
64
|
isCaseUpdating: state.isCaseUpdating,
|
|
66
65
|
versionsDetails: state.versionsDetails,
|
|
67
66
|
ownersEntitlements: state.ownersEntitlements,
|
|
67
|
+
ftsContactSameAsOwner: state.ftsContactSameAsOwner,
|
|
68
68
|
}), isEqual);
|
|
69
|
-
const { caseDetails, isCaseUpdating, ownersEntitlements, versionsDetails } = caseState;
|
|
69
|
+
const { caseDetails, isCaseUpdating, ownersEntitlements, versionsDetails, ftsContactSameAsOwner } = caseState;
|
|
70
70
|
const { entitlementSla, fts, contactInfo24x7, caseType, phoneAreaCodePrefixLineNumber, phoneCountryCode } = caseDetails;
|
|
71
71
|
const isIdea = caseType === PreviousCaseTypes.FEATURE_ENHANCEMENT;
|
|
72
72
|
const [currentSeverity, setCurrentSeverity] = useState(caseDetails.caseSeverity);
|
|
73
73
|
const [localFtsContact, setLocalFtsContact] = useState(contactInfo24x7 || '');
|
|
74
74
|
const [localFts, setLocalFts] = useState(isUndefined(fts) ? true : fts);
|
|
75
|
+
const initialContactSameAsOwnerRef = useRef(ftsContactSameAsOwner !== null && ftsContactSameAsOwner !== void 0 ? ftsContactSameAsOwner : false);
|
|
75
76
|
const isFtsEditable = isFtsEditableOnEditPage(entitlementSla, currentSeverity);
|
|
76
77
|
// To set the filtered severities from data
|
|
77
78
|
const filteredSeverities = map(allCaseSeverities.data, (s) => {
|
|
@@ -125,6 +126,10 @@ export default function UpdateSeverityModal(props) {
|
|
|
125
126
|
setDescriptionValue('');
|
|
126
127
|
setIsUpdateClickedToShowError(false);
|
|
127
128
|
onClose();
|
|
129
|
+
// change back to original state if cancelled
|
|
130
|
+
setCaseState(caseDispatch, { ftsContactSameAsOwner: initialContactSameAsOwnerRef.current });
|
|
131
|
+
setLocalFtsContact(contactInfo24x7 || '');
|
|
132
|
+
setLocalFts(isUndefined(fts) ? true : fts);
|
|
128
133
|
});
|
|
129
134
|
// To handle on successful submit
|
|
130
135
|
const onSuccessfulSubmit = () => {
|
|
@@ -166,6 +171,8 @@ export default function UpdateSeverityModal(props) {
|
|
|
166
171
|
}
|
|
167
172
|
finally {
|
|
168
173
|
onClose();
|
|
174
|
+
setDescriptionValue('');
|
|
175
|
+
setIsUpdateClickedToShowError(false);
|
|
169
176
|
}
|
|
170
177
|
});
|
|
171
178
|
const onSubmit = () => __awaiter(this, void 0, void 0, function* () {
|
|
@@ -213,7 +220,6 @@ export default function UpdateSeverityModal(props) {
|
|
|
213
220
|
onClose();
|
|
214
221
|
caseUpdateError.showError(e, t(`Failed to update case status. Please try again`));
|
|
215
222
|
yield updateCaseDetails(caseDispatch, caseDetails.caseNumber, Object.assign({ status: 'Waiting on Customer' }, updateCaseDetails));
|
|
216
|
-
setCaseDetails(caseDispatch, { status: 'Waiting on Customer' });
|
|
217
223
|
}
|
|
218
224
|
}
|
|
219
225
|
catch (e) {
|
|
@@ -239,6 +245,7 @@ export default function UpdateSeverityModal(props) {
|
|
|
239
245
|
finally {
|
|
240
246
|
yield updateDiscussionStateComments(dispatchDiscussion, caseDetails.caseNumber, allDiscussions, sort, caseFeedbacksHydra.data, discussionFiltersListState);
|
|
241
247
|
setIsUpdateClickedToShowError(false);
|
|
248
|
+
setDescriptionValue('');
|
|
242
249
|
}
|
|
243
250
|
});
|
|
244
251
|
// To check if description is valid
|
|
@@ -272,13 +279,12 @@ export default function UpdateSeverityModal(props) {
|
|
|
272
279
|
const onSetContactSameAsOwner = (e) => {
|
|
273
280
|
if (canEditCase.alert())
|
|
274
281
|
return;
|
|
282
|
+
setCaseState(caseDispatch, { ftsContactSameAsOwner: e.target.checked });
|
|
275
283
|
if (!e.target.checked) {
|
|
276
|
-
setContactSameAsOwner(false);
|
|
277
284
|
return;
|
|
278
285
|
}
|
|
279
286
|
setUpdatedCaseDetails((pre) => (Object.assign(Object.assign({}, pre), { contactInfo24x7: `${phoneCountryCode}-${phoneAreaCodePrefixLineNumber}` })));
|
|
280
287
|
setLocalFtsContact(`${phoneCountryCode}-${phoneAreaCodePrefixLineNumber}`);
|
|
281
|
-
setContactSameAsOwner(true);
|
|
282
288
|
};
|
|
283
289
|
const onFtsContactChange = (e) => {
|
|
284
290
|
if (canEditCase.alert())
|
|
@@ -393,10 +399,10 @@ export default function UpdateSeverityModal(props) {
|
|
|
393
399
|
React.createElement("label", { htmlFor: "update-severity-24-7-contact", className: "pf-v5-u-mt-xs" },
|
|
394
400
|
React.createElement(Trans, null, "Contact for 24x7 support")),
|
|
395
401
|
React.createElement("div", null,
|
|
396
|
-
React.createElement("input", { type: "checkbox", id: "update-severity-same-as-case-owner-phone", name: "update-severity-same-as-case-owner-phone", "data-tracking-id": "update-severity-same-as-case-owner-phone", checked:
|
|
402
|
+
React.createElement("input", { type: "checkbox", id: "update-severity-same-as-case-owner-phone", name: "update-severity-same-as-case-owner-phone", "data-tracking-id": "update-severity-same-as-case-owner-phone", checked: ftsContactSameAsOwner, onChange: onSetContactSameAsOwner }),
|
|
397
403
|
React.createElement("label", { htmlFor: "update-severity-same-as-case-owner-phone", className: "pf-v5-u-font-weight-normal pf-v5-u-font-size-md" },
|
|
398
404
|
React.createElement(Trans, null, "Same as case owner's phone number"))),
|
|
399
|
-
React.createElement(TextArea, { isDisabled: !localFts ||
|
|
405
|
+
React.createElement(TextArea, { isDisabled: !localFts || ftsContactSameAsOwner, value: localFtsContact, onChange: onFtsContactChange, resizeOrientation: "vertical", "aria-label": "update-severity-24-7-contact", id: "update-severity-24-7-contact", "data-tracking-id": "update-severity-24-7-contact", rows: 2, placeholder: t('Enter 24x7 contact details') }),
|
|
400
406
|
React.createElement("p", { className: "pf-v5-u-mt-xs" },
|
|
401
407
|
React.createElement(Trans, null, "Please provide contact information where we can reach you at any time"))))))))));
|
|
402
408
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WizardLayout.d.ts","sourceRoot":"","sources":["../../../../src/components/wizardLayout/WizardLayout.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAkD,MAAM,OAAO,CAAC;AAEvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAMvD,OAAO,EAAuC,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAavG,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":"AAOA,OAAO,KAAkD,MAAM,OAAO,CAAC;AAEvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAMvD,OAAO,EAAuC,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAavG,UAAU,MAAM;IACZ,UAAU,EAAE,mBAAmB,CAAC,eAAe,CAAC,CAAC;CACpD;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,qBAqKzC"}
|
|
@@ -11,7 +11,7 @@ import { Grid, GridItem } from '@patternfly/react-core';
|
|
|
11
11
|
import { SupportFeedbackForm } from '@rh-support/components';
|
|
12
12
|
import { fetchProducts, GlobalMetadataDispatchContext, GlobalMetadataStateContext } from '@rh-support/react-context';
|
|
13
13
|
import { ability, CaseListFields, resourceActions, resources } from '@rh-support/user-permissions';
|
|
14
|
-
import { getVersionIfOnlyVersion, pendoTrackEvent, PreviousCaseTypes } from '@rh-support/utils';
|
|
14
|
+
import { dtmTrackEvent, getVersionIfOnlyVersion, pendoTrackEvent, PreviousCaseTypes } from '@rh-support/utils';
|
|
15
15
|
import findIndex from 'lodash/findIndex';
|
|
16
16
|
import isEqual from 'lodash/isEqual';
|
|
17
17
|
import React, { useContext, useEffect, useRef, useState } from 'react';
|
|
@@ -32,12 +32,13 @@ import WizardAside from './WizardAside';
|
|
|
32
32
|
import WizardMain from './WizardMain';
|
|
33
33
|
export function WizardLayout(props) {
|
|
34
34
|
const { routeState: { activeSection, isCaseCreate }, } = useContext(RouteContext);
|
|
35
|
-
const { caseCreationError, contactSSOName, caseType, product, caseState } = useCaseSelector((state) => ({
|
|
35
|
+
const { caseCreationError, contactSSOName, caseType, product, caseState, caseNumber } = useCaseSelector((state) => ({
|
|
36
36
|
caseState: state,
|
|
37
37
|
caseCreationError: state.caseCreationError,
|
|
38
38
|
contactSSOName: state.caseDetails.contactSSOName,
|
|
39
39
|
caseType: state.caseDetails.caseType,
|
|
40
40
|
product: state.caseDetails.product,
|
|
41
|
+
caseNumber: state.caseDetails.caseNumber,
|
|
41
42
|
}), isEqual);
|
|
42
43
|
const sessionRestoreDispatch = useContext(SessionRestoreDispatchContext);
|
|
43
44
|
const caseDispatch = useCaseDispatch();
|
|
@@ -92,6 +93,7 @@ export function WizardLayout(props) {
|
|
|
92
93
|
React.createElement(SupportFeedbackForm, { isInline: true }),
|
|
93
94
|
" if you continue to see this message.")));
|
|
94
95
|
submitCase(caseDispatch, sessionRestoreDispatch, caseState, sessionItem, isCaseCreate, errorMessageCaseSubmit500, loggedInUser.data.ssoUsername, loggedInUsersAccount === null || loggedInUsersAccount === void 0 ? void 0 : loggedInUsersAccount.data.secureSupport, isReSubmitting || false);
|
|
96
|
+
dtmTrackEvent('submit', caseNumber, product);
|
|
95
97
|
// reset viewedModals on case submit
|
|
96
98
|
viewedConfirmationModalsList.current = [];
|
|
97
99
|
!isReSubmitting &&
|
|
@@ -219,6 +219,7 @@ export interface ICaseState {
|
|
|
219
219
|
isExistingPhoneNumber?: boolean;
|
|
220
220
|
hasLoggedInUserConfirmedPhoneNumber?: 'True' | 'False' | 'Deferred' | undefined;
|
|
221
221
|
shouldNotSetPhoneCountryCode?: boolean;
|
|
222
|
+
ftsContactSameAsOwner?: boolean;
|
|
222
223
|
}
|
|
223
224
|
export interface ICreateCasePayloadType extends ICaseState {
|
|
224
225
|
}
|
|
@@ -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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"}
|
|
@@ -214,6 +214,7 @@ export const initialCaseState = {
|
|
|
214
214
|
isExistingPhoneNumber: false,
|
|
215
215
|
hasLoggedInUserConfirmedPhoneNumber: 'False',
|
|
216
216
|
shouldNotSetPhoneCountryCode: false,
|
|
217
|
+
ftsContactSameAsOwner: false,
|
|
217
218
|
};
|
|
218
219
|
export const ORG_ADMIN_SEND_NOTIFCATION_KBASE_LINK = 'https://access.redhat.com/articles/5967811';
|
|
219
220
|
export const NON_ORG_ADMIN_SEND_NOTIFCATION_KBASE_LINK = 'https://access.redhat.com/articles/5967831';
|
|
@@ -36,10 +36,10 @@ export declare const deleteNotifiedUsers: (dispatch: CaseReducerDispatchType, ca
|
|
|
36
36
|
export declare const addingNotifiedUsers: (dispatch: CaseReducerDispatchType, caseNumber: string, addedUsers: IContact[]) => Promise<void>;
|
|
37
37
|
export declare const clearSelectedAccount: (dispatch: CaseReducerDispatchType) => void;
|
|
38
38
|
export declare const setCaseAccountNumber: (dispatch: CaseReducerDispatchType, accountNumber: string, isLoggedInUsersAccount?: boolean, loggedInUserAccount?: Partial<IAccount>) => Promise<void>;
|
|
39
|
-
export declare const setCaseOwner: (dispatch: CaseReducerDispatchType, owner: IContact, product: string, abortSignalCaseGroup?: AbortSignal, abortSignalEntitlements?: AbortSignal,
|
|
40
|
-
export declare const fetchCaseGroupsForSSO: (dispatch: CaseReducerDispatchType, contactSsoUsername: string,
|
|
39
|
+
export declare const setCaseOwner: (dispatch: CaseReducerDispatchType, owner: IContact, product: string, abortSignalCaseGroup?: AbortSignal, abortSignalEntitlements?: AbortSignal, setCaseGroupToUngroupedOrDefault?: boolean, caseGroupNumberToRestore?: string | undefined, canChangeGroup?: boolean) => Promise<void>;
|
|
40
|
+
export declare const fetchCaseGroupsForSSO: (dispatch: CaseReducerDispatchType, contactSsoUsername: string, setCaseGroupToUngroupedOrDefault?: boolean, abortSignal?: AbortSignal, caseGroupNumberToRestore?: string | undefined) => Promise<void>;
|
|
41
41
|
export declare const updateCaseWithSession: (dispatch: CaseReducerDispatchType, sessionItem: ISessionItem, loggedInUserAccountNumber: string, loggedInUserContact: IContact, loggedInUserAccount?: Partial<IAccount>) => Promise<void>;
|
|
42
|
-
export declare const fetchCaseDetails: (dispatch: CaseReducerDispatchType, caseNumber: string, loggedInUserRights: any,
|
|
42
|
+
export declare const fetchCaseDetails: (dispatch: CaseReducerDispatchType, caseNumber: string, loggedInUserRights: any, loggedInUser: any) => Promise<void>;
|
|
43
43
|
export declare const updateCaseDetails: (dispatch: CaseReducerDispatchType, caseNumber: string, caseDetails: Partial<ICasePayload>, dontSetDetails?: boolean) => Promise<never>;
|
|
44
44
|
export declare const getNotificationContacts4InternalUser: (dispatch: CaseReducerDispatchType, users: INotifiedUser[], caseOwnerSSO: string) => Promise<void>;
|
|
45
45
|
export declare const getNotificationContacts4ExternalUser: (dispatch: CaseReducerDispatchType, users: any, loggedInUserRights: any, accountNumber: any, caseOwnerSSO: string, fullNameCustom: string) => Promise<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;AAWxD,OAAO,EAEH,uBAAuB,EAEvB,UAAU,EAEb,MAAM,mBAAmB,CAAC;AAS3B,OAAO,EAAE,0BAA0B,EAAiB,MAAM,yBAAyB,CAAC;AAEpF,eAAO,MAAM,WAAW,WAAY,UAAU,UAAU,GAAG,KAAG,UAgN7D,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,0BACT,0BAA0B,eACrC,UAAU,eACV,YAAY,gBACX,OAAO,mBACJ,MAAM,GAAG,WAAW,2BACZ,MAAM,mBACd,OAAO,cACZ,OAAO,kBA8CtB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,oCAAoC,aAAc,uBAAuB,qBAUrF,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,6BAA6B,aAAc,uBAAuB,eAAe,OAAO,SAOpG,CAAC;AAEF,eAAO,MAAM,wBAAwB,aAAoB,uBAAuB,cAAc,MAAM,kBAsBnG,CAAC;AAGF,eAAO,MAAM,0BAA0B,oBAClB,OAAO,YACd,uBAAuB,0BACT,0BAA0B,eACrC,YAAY,cACb,MAAM,eACL,UAAU,kBAK1B,CAAC;AAGF,eAAO,MAAM,cAAc,2BACC,0BAA0B,eACrC,YAAY,cACb,MAAM,kBAQrB,CAAC;AAIF,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,
|
|
1
|
+
{"version":3,"file":"CaseReducer.d.ts","sourceRoot":"","sources":["../../../src/reducers/CaseReducer.ts"],"names":[],"mappings":"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"}
|
|
@@ -414,7 +414,7 @@ export const setCaseAccountNumber = (dispatch, accountNumber, isLoggedInUsersAcc
|
|
|
414
414
|
});
|
|
415
415
|
}
|
|
416
416
|
});
|
|
417
|
-
export const setCaseOwner = (dispatch, owner, product, abortSignalCaseGroup, abortSignalEntitlements,
|
|
417
|
+
export const setCaseOwner = (dispatch, owner, product, abortSignalCaseGroup, abortSignalEntitlements, setCaseGroupToUngroupedOrDefault = false, caseGroupNumberToRestore, canChangeGroup = true) => __awaiter(void 0, void 0, void 0, function* () {
|
|
418
418
|
if (isEmpty(owner) || isEmpty(owner.ssoUsername)) {
|
|
419
419
|
dispatch({
|
|
420
420
|
type: CaseReducerConstants.caseDetailChanged,
|
|
@@ -427,7 +427,7 @@ export const setCaseOwner = (dispatch, owner, product, abortSignalCaseGroup, abo
|
|
|
427
427
|
},
|
|
428
428
|
},
|
|
429
429
|
});
|
|
430
|
-
|
|
430
|
+
setCaseGroupToUngroupedOrDefault && setCaseDetails(dispatch, { groupNumber: '-1' });
|
|
431
431
|
dispatch({
|
|
432
432
|
type: CaseReducerConstants.caseStateChanged,
|
|
433
433
|
payload: {
|
|
@@ -446,7 +446,8 @@ export const setCaseOwner = (dispatch, owner, product, abortSignalCaseGroup, abo
|
|
|
446
446
|
type: CaseReducerConstants.caseDetailChanged,
|
|
447
447
|
payload: { caseDetails: { contactSSOName: owner.ssoUsername } },
|
|
448
448
|
});
|
|
449
|
-
|
|
449
|
+
canChangeGroup &&
|
|
450
|
+
fetchCaseGroupsForSSO(dispatch, owner.ssoUsername, setCaseGroupToUngroupedOrDefault, abortSignalCaseGroup, caseGroupNumberToRestore);
|
|
450
451
|
fetchCaseEntitlements(dispatch, owner.ssoUsername, product, abortSignalEntitlements);
|
|
451
452
|
});
|
|
452
453
|
const fetchCaseEntitlements = (dispatch, ssoUserName, product, abortSignal) => __awaiter(void 0, void 0, void 0, function* () {
|
|
@@ -470,7 +471,7 @@ const fetchCaseEntitlements = (dispatch, ssoUserName, product, abortSignal) => _
|
|
|
470
471
|
});
|
|
471
472
|
}
|
|
472
473
|
});
|
|
473
|
-
export const fetchCaseGroupsForSSO = (dispatch, contactSsoUsername,
|
|
474
|
+
export const fetchCaseGroupsForSSO = (dispatch, contactSsoUsername, setCaseGroupToUngroupedOrDefault = false, abortSignal, caseGroupNumberToRestore) => __awaiter(void 0, void 0, void 0, function* () {
|
|
474
475
|
var _c, _d;
|
|
475
476
|
dispatch({
|
|
476
477
|
type: CaseReducerConstants.caseStateChanged,
|
|
@@ -486,14 +487,14 @@ export const fetchCaseGroupsForSSO = (dispatch, contactSsoUsername, canUpdateCas
|
|
|
486
487
|
type: CaseReducerConstants.caseStateChanged,
|
|
487
488
|
payload: { ownersCaseGroups: getApiResourceObject(response, false) },
|
|
488
489
|
});
|
|
489
|
-
|
|
490
|
+
setCaseGroupToUngroupedOrDefault && setCaseDetails(dispatch, { groupNumber: defaultCaseGroup });
|
|
490
491
|
}
|
|
491
492
|
catch (e) {
|
|
492
493
|
dispatch({
|
|
493
494
|
type: CaseReducerConstants.caseStateChanged,
|
|
494
495
|
payload: { ownersCaseGroups: getApiResourceObject([], false, true, e.message) },
|
|
495
496
|
});
|
|
496
|
-
|
|
497
|
+
setCaseGroupToUngroupedOrDefault && setCaseDetails(dispatch, { groupNumber: '-1' });
|
|
497
498
|
}
|
|
498
499
|
});
|
|
499
500
|
const getSelectedNotificationContactsFromSession = (contacts, notifiedUsers) => {
|
|
@@ -564,7 +565,7 @@ const getAllRelevantContacts = (loggedInUserContact, caseAccountNumber, contactS
|
|
|
564
565
|
return uniqBy(contactsToReturn, 'ssoUsername');
|
|
565
566
|
}
|
|
566
567
|
});
|
|
567
|
-
export const fetchCaseDetails = (dispatch, caseNumber, loggedInUserRights,
|
|
568
|
+
export const fetchCaseDetails = (dispatch, caseNumber, loggedInUserRights, loggedInUser) => __awaiter(void 0, void 0, void 0, function* () {
|
|
568
569
|
var _j, _k;
|
|
569
570
|
dispatch({ type: CaseReducerConstants.requestCaseDetails, payload: { caseDetails: { caseNumber } } });
|
|
570
571
|
try {
|
|
@@ -631,30 +632,28 @@ export const fetchCaseDetails = (dispatch, caseNumber, loggedInUserRights, refre
|
|
|
631
632
|
hotfixDelivered: !!data.hotfixDelivered,
|
|
632
633
|
};
|
|
633
634
|
dispatch({ type: CaseReducerConstants.receivedCaseDetails, payload: Object.assign(Object.assign({}, caseState), { caseDetails }) });
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
}
|
|
635
|
+
setCaseAccountNumber(dispatch, data.accountNumberRef);
|
|
636
|
+
const canChangeGroup = loggedInUserRights.isInternal() ||
|
|
637
|
+
loggedInUser.isOrgAdmin ||
|
|
638
|
+
loggedInUser.ssoUsername === caseDetails.contactSSOName ||
|
|
639
|
+
loggedInUserRights.data.isPartner();
|
|
640
|
+
setCaseOwner(dispatch, { ssoUsername: data.contactSSOName, fullNameCustom: data.contactName }, '', undefined, undefined, false, undefined, canChangeGroup);
|
|
641
|
+
const notifiedListUsers = map(data.notifiedUsers, (o) => ({
|
|
642
|
+
ssoUsername: o.ssoUsername,
|
|
643
|
+
fullNameCustom: o.title,
|
|
644
|
+
}));
|
|
645
|
+
dispatch({
|
|
646
|
+
type: CaseReducerConstants.setLoadedNotificationContacts,
|
|
647
|
+
payload: { notifiedUsers: notifiedListUsers },
|
|
648
|
+
});
|
|
649
|
+
if (data.groupNumber && data.groupNumber !== '-1') {
|
|
650
|
+
setSelectedCaseGroupUsers(dispatch, data.accountNumberRef, data.groupNumber, loggedInUserRights);
|
|
651
|
+
}
|
|
652
|
+
if (loggedInUserRights.isInternal() && !loggedInUserRights.isSecureSupportTech()) {
|
|
653
|
+
getNotificationContacts4InternalUser(dispatch, notifiedListUsers, data.contactSSOName);
|
|
654
654
|
}
|
|
655
655
|
else {
|
|
656
|
-
|
|
657
|
-
setCaseOwner(dispatch, { ssoUsername: data.contactSSOName, fullNameCustom: data.contactSSOName }, '');
|
|
656
|
+
getNotificationContacts4ExternalUser(dispatch, notifiedListUsers, loggedInUserRights, data.accountNumberRef, data.contactSSOName, data.contactName);
|
|
658
657
|
}
|
|
659
658
|
}
|
|
660
659
|
catch (error) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rh-support/troubleshoot",
|
|
3
|
-
"version": "2.2.
|
|
3
|
+
"version": "2.2.136",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public",
|
|
6
6
|
"registry": "https://registry.npmjs.org"
|
|
@@ -60,11 +60,11 @@
|
|
|
60
60
|
"@progress/kendo-licensing": "1.3.5",
|
|
61
61
|
"@progress/kendo-react-pdf": "^5.16.0",
|
|
62
62
|
"@redux-devtools/extension": "^3.3.0",
|
|
63
|
-
"@rh-support/components": "2.1.
|
|
64
|
-
"@rh-support/react-context": "2.1.
|
|
63
|
+
"@rh-support/components": "2.1.66",
|
|
64
|
+
"@rh-support/react-context": "2.1.74",
|
|
65
65
|
"@rh-support/types": "2.0.4",
|
|
66
|
-
"@rh-support/user-permissions": "2.1.
|
|
67
|
-
"@rh-support/utils": "2.1.
|
|
66
|
+
"@rh-support/user-permissions": "2.1.47",
|
|
67
|
+
"@rh-support/utils": "2.1.36",
|
|
68
68
|
"@types/react-redux": "^7.1.33",
|
|
69
69
|
"@types/redux": "^3.6.0",
|
|
70
70
|
"dompurify": "^2.2.6",
|
|
@@ -131,5 +131,5 @@
|
|
|
131
131
|
"defaults and supports es6-module",
|
|
132
132
|
"maintained node versions"
|
|
133
133
|
],
|
|
134
|
-
"gitHead": "
|
|
134
|
+
"gitHead": "2de6088705cd7b7baacac1ff5faedd4b85275027"
|
|
135
135
|
}
|