@rh-support/troubleshoot 2.2.19 → 2.2.22
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 +1 -0
- package/lib/esm/components/CaseEditView/CaseOverview/CaseOwnerInfo.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/CaseOverview/CaseOwnerInfo.js +4 -2
- package/lib/esm/components/CaseEditView/PDFContainer.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/PDFContainer.js +2 -0
- package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CaseContactPhoneNumber.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CaseContactPhoneNumber.js +18 -13
- package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CasePhoneNumberConfirmAlert.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CasePhoneNumberConfirmAlert.js +4 -2
- package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CasePhoneNumberSev1ConfirmAlert.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CasePhoneNumberSev1ConfirmAlert.js +4 -2
- package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/CaseAttachment.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/CaseAttachment.js +2 -2
- package/lib/esm/components/CaseInformation/CaseGroup.d.ts.map +1 -1
- package/lib/esm/components/CaseInformation/CaseGroup.js +6 -4
- package/lib/esm/components/CaseInformation/ContactPhoneNumber.d.ts.map +1 -1
- package/lib/esm/components/CaseInformation/ContactPhoneNumber.js +17 -11
- package/lib/esm/components/CaseInformation/ContactPhoneNumberAlert.d.ts.map +1 -1
- package/lib/esm/components/CaseInformation/ContactPhoneNumberAlert.js +4 -2
- package/lib/esm/components/CaseManagement/RHAssociatesSelector.d.ts.map +1 -1
- package/lib/esm/components/CaseManagement/RHAssociatesSelector.js +4 -2
- package/lib/esm/components/CaseManagement/SendNotifications/CaseContactSelector.js +3 -3
- package/lib/esm/components/IdeaInformation/IdeaInformtion.js +3 -3
- package/lib/esm/components/shared/fileUpload/FileLister.js +3 -3
- package/lib/esm/components/shared/utils.d.ts.map +1 -1
- package/lib/esm/components/shared/utils.js +4 -1
- package/lib/esm/constants/caseDetailsConstants.d.ts +2 -1
- package/lib/esm/constants/caseDetailsConstants.d.ts.map +1 -1
- package/lib/esm/constants/caseDetailsConstants.js +2 -1
- package/lib/esm/reducers/CaseConstNTypes.d.ts +2 -2
- package/lib/esm/reducers/CaseConstNTypes.d.ts.map +1 -1
- package/lib/esm/reducers/CaseConstNTypes.js +1 -1
- package/lib/esm/reducers/CaseHelpers.d.ts.map +1 -1
- package/lib/esm/reducers/CaseHelpers.js +0 -2
- package/lib/esm/reducers/CaseReducer.d.ts +2 -1
- package/lib/esm/reducers/CaseReducer.d.ts.map +1 -1
- package/lib/esm/reducers/CaseReducer.js +11 -5
- package/package.json +6 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Case.d.ts","sourceRoot":"","sources":["../../../../src/components/CaseEditView/Case.tsx"],"names":[],"mappings":"AAgBA,OAAO,EAAS,mBAAmB,EAAiD,MAAM,kBAAkB,CAAC;AAmB7G,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":"AAgBA,OAAO,EAAS,mBAAmB,EAAiD,MAAM,kBAAkB,CAAC;AAmB7G,UAAU,MAAM;IACZ,UAAU,EAAE,mBAAmB,CAAC;CACnC;AAED,MAAM,CAAC,OAAO,UAAU,IAAI,CAAC,KAAK,EAAE,MAAM,eA8LzC"}
|
|
@@ -46,6 +46,7 @@ export default function Case(props) {
|
|
|
46
46
|
const { isExportingPDF } = useContext(PDFContext);
|
|
47
47
|
useDocumentTitle(`Case ${caseNumber} - Red Hat Customer Portal`);
|
|
48
48
|
const previousCaseNumber = usePrevious(caseNumber);
|
|
49
|
+
// To check for remote session flag
|
|
49
50
|
const checkRemoteSessionFlag = () => {
|
|
50
51
|
if (isEmpty(queryParams))
|
|
51
52
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CaseOwnerInfo.d.ts","sourceRoot":"","sources":["../../../../../src/components/CaseEditView/CaseOverview/CaseOwnerInfo.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,qCAAqC,CAAC;AAI5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"CaseOwnerInfo.d.ts","sourceRoot":"","sources":["../../../../../src/components/CaseEditView/CaseOverview/CaseOwnerInfo.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,qCAAqC,CAAC;AAI5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAM/D,UAAU,MAAM;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,gBAAgB,EAAE,mBAAmB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;CACzD;AAED,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,KAAK,EAAE,MAAM,eAiElD"}
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import { Tooltip, TooltipPosition } from '@patternfly/react-core';
|
|
2
2
|
import QuestionCircleIcon from '@patternfly/react-icons/dist/js/icons/question-circle-icon';
|
|
3
3
|
import { LoadingIndicator } from '@rh-support/components';
|
|
4
|
-
import React from 'react';
|
|
4
|
+
import React, { useContext } from 'react';
|
|
5
5
|
import { Trans } from 'react-i18next';
|
|
6
|
+
import { PDFContext } from '../PDFContainer';
|
|
6
7
|
export default function CaseOwnerInfo(props) {
|
|
7
8
|
var _a, _b;
|
|
8
|
-
|
|
9
|
+
const { isExportingPDF } = useContext(PDFContext);
|
|
10
|
+
return (React.createElement("div", { className: `case-owner ${isExportingPDF ? 'hide-in-pdf' : ''}` },
|
|
9
11
|
React.createElement(LoadingIndicator, { isInline: true, show: props.caseDetailsHydra.isFetching }),
|
|
10
12
|
props.caseDetailsHydra.isError && React.createElement("div", null, "There was error loading case owner info"),
|
|
11
13
|
!props.caseDetailsHydra.isFetching && !props.caseDetailsHydra.isError && (React.createElement("div", null,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PDFContainer.d.ts","sourceRoot":"","sources":["../../../../src/components/CaseEditView/PDFContainer.tsx"],"names":[],"mappings":"AAGA,OAAO,KAA2B,MAAM,OAAO,CAAC;AAGhD,UAAU,MAAM;IACZ,QAAQ,EAAE,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC;CACzC;AAED,UAAU,UAAU;IAChB,SAAS,EAAE,SAAS,GAAG,UAAU,CAAC;CACrC;AAED,MAAM,WAAW,WAAY,SAAQ,UAAU;IAC3C,cAAc,EAAE,OAAO,CAAC;IACxB,eAAe,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,GAAG,CAAC,OAAO,CAAC;CACpD;AAED,eAAO,MAAM,UAAU,4BAIN,CAAC;AAYlB,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"PDFContainer.d.ts","sourceRoot":"","sources":["../../../../src/components/CaseEditView/PDFContainer.tsx"],"names":[],"mappings":"AAGA,OAAO,KAA2B,MAAM,OAAO,CAAC;AAGhD,UAAU,MAAM;IACZ,QAAQ,EAAE,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC;CACzC;AAED,UAAU,UAAU;IAChB,SAAS,EAAE,SAAS,GAAG,UAAU,CAAC;CACrC;AAED,MAAM,WAAW,WAAY,SAAQ,UAAU;IAC3C,cAAc,EAAE,OAAO,CAAC;IACxB,eAAe,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,GAAG,CAAC,OAAO,CAAC;CACpD;AAED,eAAO,MAAM,UAAU,4BAIN,CAAC;AAYlB,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,eA4JzC"}
|
|
@@ -25,12 +25,14 @@ export function PDFContainer(props) {
|
|
|
25
25
|
caseNumber = number;
|
|
26
26
|
};
|
|
27
27
|
}
|
|
28
|
+
// To handle modal toggle
|
|
28
29
|
function handleModalToggle() {
|
|
29
30
|
setShowModal(false);
|
|
30
31
|
}
|
|
31
32
|
function handleButtonConfirmAction(event) {
|
|
32
33
|
handleConfirmAction(event);
|
|
33
34
|
}
|
|
35
|
+
// To handle form confirm
|
|
34
36
|
function handleFormConfirmAction(event) {
|
|
35
37
|
handleConfirmAction(event);
|
|
36
38
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CaseContactPhoneNumber.d.ts","sourceRoot":"","sources":["../../../../../../src/components/CaseEditView/Tabs/CaseDetails/CaseContactPhoneNumber.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"CaseContactPhoneNumber.d.ts","sourceRoot":"","sources":["../../../../../../src/components/CaseEditView/Tabs/CaseDetails/CaseContactPhoneNumber.tsx"],"names":[],"mappings":"AAwBA,wBAAgB,sBAAsB,gBAmPrC"}
|
|
@@ -17,10 +17,11 @@ import isEmpty from 'lodash/isEmpty';
|
|
|
17
17
|
import isEqual from 'lodash/isEqual';
|
|
18
18
|
import React, { useContext, useEffect, useState } from 'react';
|
|
19
19
|
import { Trans, useTranslation } from 'react-i18next';
|
|
20
|
-
import { PHONE_INSTRUCTION, PHONE_IS_NOT_VALID, PHONE_NO_CHAR_ERROR } from '../../../../constants/caseDetailsConstants';
|
|
20
|
+
import { PHONE_INSTRUCTION, PHONE_IS_NOT_VALID, PHONE_LINE_CANNOT_BE_EMPTY, PHONE_NO_CHAR_ERROR, } from '../../../../constants/caseDetailsConstants';
|
|
21
21
|
import { useCaseDispatch, useCaseSelector } from '../../../../context/CaseContext';
|
|
22
22
|
import { useCaseUpdateErrorMessage } from '../../../../hooks/useCaseUpdateErrorMessage';
|
|
23
|
-
import {
|
|
23
|
+
import { PHONE_LIMIT } from '../../../../reducers/CaseConstNTypes';
|
|
24
|
+
import { updateCaseDetails } from '../../../../reducers/CaseReducer';
|
|
24
25
|
import { ContactPhoneNumberPopOver } from '../../../CaseInformation/ContactPhoneNumberPopOver';
|
|
25
26
|
import { trimAndReplacePlus } from '../../../shared/utils';
|
|
26
27
|
import { PDFContext } from '../../PDFContainer';
|
|
@@ -42,7 +43,6 @@ export function CaseContactPhoneNumber() {
|
|
|
42
43
|
const [invalid, setInvalid] = useState(false);
|
|
43
44
|
const [isSaveClicked, setIsSavedClicked] = useState(false);
|
|
44
45
|
const [isShowOldPhone, setIsShowOldPhone] = useState(false);
|
|
45
|
-
const [phoneLength, setPhoneLength] = useState(localFullPhoneState === null || localFullPhoneState === void 0 ? void 0 : localFullPhoneState.length);
|
|
46
46
|
const caseDispatch = useCaseDispatch();
|
|
47
47
|
const caseUpdateError = useCaseUpdateErrorMessage();
|
|
48
48
|
const { t } = useTranslation();
|
|
@@ -51,7 +51,6 @@ export function CaseContactPhoneNumber() {
|
|
|
51
51
|
const onPhoneChange = (fullPhone) => __awaiter(this, void 0, void 0, function* () {
|
|
52
52
|
if (canEditCase.alert())
|
|
53
53
|
return;
|
|
54
|
-
setCaseState(caseDispatch, { isPhoneLengthInvalid: (fullPhone === null || fullPhone === void 0 ? void 0 : fullPhone.length) < phoneLength });
|
|
55
54
|
setLocalFullPhoneState(fullPhone);
|
|
56
55
|
});
|
|
57
56
|
const onCountryCodeChange = (countryCode) => {
|
|
@@ -61,11 +60,11 @@ export function CaseContactPhoneNumber() {
|
|
|
61
60
|
};
|
|
62
61
|
const onSave = () => __awaiter(this, void 0, void 0, function* () {
|
|
63
62
|
setIsSavedClicked(true);
|
|
64
|
-
if (isPhoneLineEmpty || isPhoneNumberInvalid
|
|
63
|
+
if (isPhoneLineEmpty || isPhoneNumberInvalid)
|
|
65
64
|
return;
|
|
66
65
|
setCasePhoneUpdating(true);
|
|
67
66
|
const phoneLine = localFullPhoneState
|
|
68
|
-
.substring(localCountryCodeState.length, localFullPhoneState
|
|
67
|
+
.substring(localCountryCodeState.length, localFullPhoneState.length)
|
|
69
68
|
.trim();
|
|
70
69
|
const countryCode = localCountryCodeState.trim();
|
|
71
70
|
try {
|
|
@@ -113,11 +112,14 @@ export function CaseContactPhoneNumber() {
|
|
|
113
112
|
caseUpdateError.showError(e, t(`Phone number failed to update`));
|
|
114
113
|
}
|
|
115
114
|
});
|
|
115
|
+
const maxLengthErrorMessage = t('Phone number cannot be more than {{limit}} digits.', {
|
|
116
|
+
limit: PHONE_LIMIT,
|
|
117
|
+
});
|
|
116
118
|
const isPhoneNeedsReview = contactSSOName === loggedInUser.data.ssoUsername && suppliedPhoneNumberVerified === 'Deferred';
|
|
117
119
|
// To check if country code is given but phone number empty
|
|
118
120
|
const isPhoneLineEmpty = !isEmpty(localFullPhoneState) && isEmpty(localFullPhoneState === null || localFullPhoneState === void 0 ? void 0 : localFullPhoneState.replace(localCountryCodeState, ''));
|
|
119
121
|
const isPhoneNumberInvalid = isEmpty(localCountryCodeState) && !isEmpty(localFullPhoneState);
|
|
120
|
-
const isPhoneNumberValid =
|
|
122
|
+
const isPhoneNumberValid = (localFullPhoneState === null || localFullPhoneState === void 0 ? void 0 : localFullPhoneState.length) > PHONE_LIMIT
|
|
121
123
|
? ValidatedOptions.error
|
|
122
124
|
: isPhoneNeedsReview
|
|
123
125
|
? ValidatedOptions.warning
|
|
@@ -150,22 +152,25 @@ export function CaseContactPhoneNumber() {
|
|
|
150
152
|
React.createElement(Trans, null, "Case owner's phone number"),
|
|
151
153
|
!isExportingPDF ? ContactPhoneNumberPopOver() : ''),
|
|
152
154
|
React.createElement(InputGroupText, { variant: InputGroupTextVariant.plain },
|
|
153
|
-
React.createElement(PhoneInput, { phoneValue: localFullPhoneState, onPhoneValueChange: onPhoneChange, onCountryCodeChange: onCountryCodeChange, validations: isPhoneNumberValid, isDisabled: isCasePhoneUpdating || isCaseOwnerUpdating, isLoading: isCasePhoneUpdating, "data-tracking-id": "case-details-page-supplied-phone", invalid: invalid, setInvalid: setInvalid
|
|
154
|
-
React.createElement("button", { className: "btn btn-app btn-link pf-u-ml-sm", type: "button", "data-tracking-id": "case-details-page-supplied-phone-save", onClick: () => onSave(), disabled: localFullPhoneState ===
|
|
155
|
-
|
|
156
|
-
|
|
155
|
+
React.createElement(PhoneInput, { phoneValue: localFullPhoneState, onPhoneValueChange: onPhoneChange, onCountryCodeChange: onCountryCodeChange, validations: isPhoneNumberValid, isDisabled: isCasePhoneUpdating || isCaseOwnerUpdating, isLoading: isCasePhoneUpdating, "data-tracking-id": "case-details-page-supplied-phone", invalid: invalid, setInvalid: setInvalid }),
|
|
156
|
+
React.createElement("button", { className: "btn btn-app btn-link pf-u-ml-sm", type: "button", "data-tracking-id": "case-details-page-supplied-phone-save", onClick: () => onSave(), disabled: (localFullPhoneState === null || localFullPhoneState === void 0 ? void 0 : localFullPhoneState.length) > PHONE_LIMIT ||
|
|
157
|
+
localFullPhoneState === phoneCountryCode + ' ' + phoneAreaCodePrefixLineNumber ||
|
|
158
|
+
(isSaveClicked && (isPhoneLineEmpty || isPhoneNumberInvalid)), style: { display: isExportingPDF ? 'none' : '' } },
|
|
157
159
|
React.createElement(CheckIcon, null)),
|
|
158
160
|
React.createElement("button", { className: "btn btn-app btn-link", type: "button", onClick: onClear, "data-tracking-id": "case-details-page-supplied-phone-cancel", style: { display: isExportingPDF ? 'none' : '' }, disabled: isEmpty(localFullPhoneState) },
|
|
159
161
|
React.createElement(TimesIcon, { color: "#6A6E73" }))),
|
|
160
162
|
!invalid &&
|
|
161
|
-
|
|
163
|
+
(localFullPhoneState === null || localFullPhoneState === void 0 ? void 0 : localFullPhoneState.length) < PHONE_LIMIT &&
|
|
162
164
|
!(isPhoneLineEmpty && isSaveClicked) &&
|
|
163
165
|
!(isSaveClicked && isPhoneNumberInvalid) &&
|
|
164
166
|
!isShowOldPhone && (React.createElement("p", { className: "form-instructions" },
|
|
165
167
|
React.createElement(Trans, null, PHONE_INSTRUCTION))),
|
|
166
168
|
invalid && (React.createElement("p", { className: "form-instructions form-invalid" },
|
|
167
169
|
React.createElement(Trans, null, PHONE_NO_CHAR_ERROR))),
|
|
168
|
-
|
|
170
|
+
(localFullPhoneState === null || localFullPhoneState === void 0 ? void 0 : localFullPhoneState.length) > PHONE_LIMIT && (React.createElement("p", { className: "form-instructions form-invalid" }, maxLengthErrorMessage)),
|
|
171
|
+
isSaveClicked && isPhoneLineEmpty && (React.createElement("p", { className: "form-instructions form-invalid" },
|
|
172
|
+
React.createElement(Trans, null, PHONE_LINE_CANNOT_BE_EMPTY))),
|
|
173
|
+
isSaveClicked && isPhoneNumberInvalid && (React.createElement("p", { className: "form-instructions form-invalid" },
|
|
169
174
|
React.createElement(Trans, null, PHONE_IS_NOT_VALID))),
|
|
170
175
|
isShowOldPhone && (React.createElement("p", { className: "form-instructions form-invalid" },
|
|
171
176
|
React.createElement(Trans, null,
|
package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CasePhoneNumberConfirmAlert.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CasePhoneNumberConfirmAlert.d.ts","sourceRoot":"","sources":["../../../../../../src/components/CaseEditView/Tabs/CaseDetails/CasePhoneNumberConfirmAlert.tsx"],"names":[],"mappings":"AAMA,OAAO,KAA+B,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"CasePhoneNumberConfirmAlert.d.ts","sourceRoot":"","sources":["../../../../../../src/components/CaseEditView/Tabs/CaseDetails/CasePhoneNumberConfirmAlert.tsx"],"names":[],"mappings":"AAMA,OAAO,KAA+B,MAAM,OAAO,CAAC;AAUpD,UAAU,MAAM;IACZ,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,KAAK,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;CACnD;AAED,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,MAAM,eAkGxD"}
|
|
@@ -18,6 +18,7 @@ import { Link } from 'react-router-dom';
|
|
|
18
18
|
import { useCaseDispatch, useCaseSelector } from '../../../../context/CaseContext';
|
|
19
19
|
import { useCaseUpdateErrorMessage } from '../../../../hooks/useCaseUpdateErrorMessage';
|
|
20
20
|
import { updateCaseDetails } from '../../../../reducers/CaseReducer';
|
|
21
|
+
import { PDFContext } from '../../PDFContainer';
|
|
21
22
|
export function CaseContactPhoneNumberAlert(props) {
|
|
22
23
|
const { globalMetadataState: { loggedInUser }, } = useContext(GlobalMetadataStateContext);
|
|
23
24
|
const [isCaseUpdating, setCasUpdating] = useState(false);
|
|
@@ -30,6 +31,7 @@ export function CaseContactPhoneNumberAlert(props) {
|
|
|
30
31
|
const { t } = useTranslation();
|
|
31
32
|
const caseDispatch = useCaseDispatch();
|
|
32
33
|
const caseUpdateError = useCaseUpdateErrorMessage();
|
|
34
|
+
const { isExportingPDF } = useContext(PDFContext);
|
|
33
35
|
const onCaseDetailsChange = (caseDetails) => __awaiter(this, void 0, void 0, function* () {
|
|
34
36
|
setCasUpdating(true);
|
|
35
37
|
try {
|
|
@@ -51,13 +53,13 @@ export function CaseContactPhoneNumberAlert(props) {
|
|
|
51
53
|
const NEW_OWNER_MSG = 'You are the new owner for this case. Is the new phone number correct?';
|
|
52
54
|
if (!isPhoneNeedsReview)
|
|
53
55
|
return React.createElement(React.Fragment, null);
|
|
54
|
-
return (React.createElement(React.Fragment, null, props.isReview ? (React.createElement(Alert, { className: "pf-u-mb-md", isInline: true, variant: AlertVariant.warning, title: t('Review phone number'), actionLinks: [
|
|
56
|
+
return (React.createElement(React.Fragment, null, props.isReview && !isExportingPDF ? (React.createElement(Alert, { className: "pf-u-mb-md", isInline: true, variant: AlertVariant.warning, title: t('Review phone number'), actionLinks: [
|
|
55
57
|
React.createElement(Link, { replace: true, to: {
|
|
56
58
|
pathname: `/case/${caseNumber}/management`,
|
|
57
59
|
}, onClick: () => goToPhoneField(), "data-tracking-id": "case-contact-phone-number-review" },
|
|
58
60
|
React.createElement(Trans, null, "Review phone number")),
|
|
59
61
|
] },
|
|
60
|
-
React.createElement(Trans, null, NEW_OWNER_MSG))) : props.isConfirm ? (React.createElement(Alert, { isInline: true, className: "pf-u-mb-md", variant: AlertVariant.warning, title: t('Review phone number'), actionLinks: [
|
|
62
|
+
React.createElement(Trans, null, NEW_OWNER_MSG))) : props.isConfirm && !isExportingPDF ? (React.createElement(Alert, { isInline: true, className: "pf-u-mb-md", variant: AlertVariant.warning, title: t('Review phone number'), actionLinks: [
|
|
61
63
|
React.createElement(Button, { variant: ButtonVariant.link, isInline: true, onClick: () => onCaseDetailsChange({ suppliedPhoneNumberVerified: 'True' }), "data-tracking-id": "case-contact-phone-number-confirm", isLoading: isCaseUpdating, isDisabled: isCaseUpdating },
|
|
62
64
|
React.createElement(Trans, null, "Confirm phone number")),
|
|
63
65
|
] },
|
package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CasePhoneNumberSev1ConfirmAlert.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CasePhoneNumberSev1ConfirmAlert.d.ts","sourceRoot":"","sources":["../../../../../../src/components/CaseEditView/Tabs/CaseDetails/CasePhoneNumberSev1ConfirmAlert.tsx"],"names":[],"mappings":"AAMA,OAAO,KAA+B,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"CasePhoneNumberSev1ConfirmAlert.d.ts","sourceRoot":"","sources":["../../../../../../src/components/CaseEditView/Tabs/CaseDetails/CasePhoneNumberSev1ConfirmAlert.tsx"],"names":[],"mappings":"AAMA,OAAO,KAA+B,MAAM,OAAO,CAAC;AAUpD,UAAU,MAAM;IACZ,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,KAAK,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;CACnD;AAMD,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,MAAM,eAkG5D"}
|
|
@@ -18,6 +18,7 @@ import { Link } from 'react-router-dom';
|
|
|
18
18
|
import { useCaseDispatch, useCaseSelector } from '../../../../context/CaseContext';
|
|
19
19
|
import { useCaseUpdateErrorMessage } from '../../../../hooks/useCaseUpdateErrorMessage';
|
|
20
20
|
import { updateCaseDetails } from '../../../../reducers/CaseReducer';
|
|
21
|
+
import { PDFContext } from '../../PDFContainer';
|
|
21
22
|
/*
|
|
22
23
|
On case detail page when case owner changes the sevirity to sev1, this alert will be displayed
|
|
23
24
|
// what happens when partner changes ???
|
|
@@ -34,6 +35,7 @@ export function CasePhoneNumberSev1ConfirmAlert(props) {
|
|
|
34
35
|
const { t } = useTranslation();
|
|
35
36
|
const caseDispatch = useCaseDispatch();
|
|
36
37
|
const caseUpdateError = useCaseUpdateErrorMessage();
|
|
38
|
+
const { isExportingPDF } = useContext(PDFContext);
|
|
37
39
|
const onCaseDetailsChange = (caseDetails) => __awaiter(this, void 0, void 0, function* () {
|
|
38
40
|
setCasUpdating(true);
|
|
39
41
|
try {
|
|
@@ -55,13 +57,13 @@ export function CasePhoneNumberSev1ConfirmAlert(props) {
|
|
|
55
57
|
const SEV1_MSG = 'This case severity is urgent. Please confirm the phone number we have on file is correct.';
|
|
56
58
|
if (!isPhoneNeedsConfirm)
|
|
57
59
|
return React.createElement(React.Fragment, null);
|
|
58
|
-
return (React.createElement(React.Fragment, null, props.isReview ? (React.createElement(Alert, { className: "pf-u-mb-md", isInline: true, variant: AlertVariant.warning, title: t('Review phone number'), actionLinks: [
|
|
60
|
+
return (React.createElement(React.Fragment, null, props.isReview && !isExportingPDF ? (React.createElement(Alert, { className: "pf-u-mb-md", isInline: true, variant: AlertVariant.warning, title: t('Review phone number'), actionLinks: [
|
|
59
61
|
React.createElement(Link, { replace: true, to: {
|
|
60
62
|
pathname: `/case/${caseNumber}/management`,
|
|
61
63
|
}, onClick: () => goToPhoneField(), "data-tracking-id": "case-contact-phone-number-review" },
|
|
62
64
|
React.createElement(Trans, null, "Review phone number")),
|
|
63
65
|
] },
|
|
64
|
-
React.createElement(Trans, null, SEV1_MSG))) : props.isConfirm ? (React.createElement(Alert, { isInline: true, className: "pf-u-mb-md", variant: AlertVariant.warning, title: t('Review phone number'), actionLinks: [
|
|
66
|
+
React.createElement(Trans, null, SEV1_MSG))) : props.isConfirm && !isExportingPDF ? (React.createElement(Alert, { isInline: true, className: "pf-u-mb-md", variant: AlertVariant.warning, title: t('Review phone number'), actionLinks: [
|
|
65
67
|
React.createElement(Button, { variant: ButtonVariant.link, isInline: true, onClick: () => onCaseDetailsChange({ suppliedPhoneNumberVerified: 'True' }), "data-tracking-id": "case-contact-phone-number-confirm", isLoading: isCaseUpdating, isDisabled: isCaseUpdating },
|
|
66
68
|
React.createElement(Trans, null, "Confirm phone number")),
|
|
67
69
|
] },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CaseAttachment.d.ts","sourceRoot":"","sources":["../../../../../../src/components/CaseEditView/Tabs/CaseDiscussion/CaseAttachment.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,2CAA2C,CAAC;AAcxE,OAAO,KAAuC,MAAM,OAAO,CAAC;AAS5D,UAAU,MAAM;IACZ,UAAU,EAAE,WAAW,CAAC;IACxB,kBAAkB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,gBAAgB,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,iBAAiB,EAAE,WAAW,KAAK,IAAI,CAAC;IACzE,eAAe,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;IACjD,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,cAAc,
|
|
1
|
+
{"version":3,"file":"CaseAttachment.d.ts","sourceRoot":"","sources":["../../../../../../src/components/CaseEditView/Tabs/CaseDiscussion/CaseAttachment.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,2CAA2C,CAAC;AAcxE,OAAO,KAAuC,MAAM,OAAO,CAAC;AAS5D,UAAU,MAAM;IACZ,UAAU,EAAE,WAAW,CAAC;IACxB,kBAAkB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,gBAAgB,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,iBAAiB,EAAE,WAAW,KAAK,IAAI,CAAC;IACzE,eAAe,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;IACjD,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,cAAc,4EAqPlB,CAAC;AAEH,eAAe,cAAc,CAAC"}
|
|
@@ -142,7 +142,7 @@ const CaseAttachment = React.forwardRef((props, ref) => {
|
|
|
142
142
|
React.createElement(InlineEdit, { labelProps: { htmlFor: `case-details-file-description-${props.attachment.id}` }, allowInlineEdit: true, labelContent: t('Description'), content: React.createElement("div", { className: "clip-content-wrapper code-block" }, props.attachment.description), hideSaveCancel: false, onSave: onDescriptionSave, onCancel: onDescriptionCancel, dataTrackingId: "case-details-file-description", initialIsEditing: props.attachment.description ? false : true, saveDisabled: isCaseAttachmentDescriptionLengthy ||
|
|
143
143
|
isCaseAttachmentDescription ||
|
|
144
144
|
attachmentDescription === props.attachment.description ||
|
|
145
|
-
isUpdating, loadingIndicator: isUpdating ? React.createElement(LoadingIndicator, { isInline: true }) : undefined },
|
|
145
|
+
isUpdating, loadingIndicator: isUpdating ? React.createElement(LoadingIndicator, { isInline: true }) : undefined, isExportingPDF: isExportingPDF },
|
|
146
146
|
React.createElement("input", { id: `case-details-file-description-${props.attachment.id}`, value: attachmentDescription, type: "text", className: "form-control", placeholder: t(`Enter a description`), onChange: onDescriptionChange, disabled: isUpdating, "data-tracking-id": `case-details-file-description-input` })))),
|
|
147
147
|
isCaseAttachmentDescriptionLengthy && (React.createElement("p", { className: "form-instructions form-invalid" },
|
|
148
148
|
React.createElement(Trans, null, maxCaseAttachmentDescription))),
|
|
@@ -151,7 +151,7 @@ const CaseAttachment = React.forwardRef((props, ref) => {
|
|
|
151
151
|
React.createElement("span", { className: "pull-right pf-l-flex pf-m-align-items-center" },
|
|
152
152
|
props.showJumpToComment && (React.createElement(DiscussionItemLink, { onClick: onJumpToComment(props.attachment.id), discussionType: DiscussionType.ATTACHMENT, itemId: props.attachment.id, caseNumber: props.attachment.caseNumber, isCopyLink: false },
|
|
153
153
|
React.createElement(Trans, null, "Jump to attachment"))),
|
|
154
|
-
React.createElement("button", { className:
|
|
154
|
+
React.createElement("button", { className: `btn btn-app btn-link text-danger ${isExportingPDF ? 'hide-in-pdf' : ''}`, title: "Delete attachment", onClick: deleteAttachment(props.attachment), "data-tracking-id": "delete-attachmentid-button" },
|
|
155
155
|
React.createElement(Trans, null, "Delete")),
|
|
156
156
|
React.createElement(JumpAndCopyLink, { caseNumber: props.attachment.caseNumber, cardId: props.attachment.id, discussionType: DiscussionType.ATTACHMENT })))));
|
|
157
157
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CaseGroup.d.ts","sourceRoot":"","sources":["../../../../src/components/CaseInformation/CaseGroup.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"CaseGroup.d.ts","sourceRoot":"","sources":["../../../../src/components/CaseInformation/CaseGroup.tsx"],"names":[],"mappings":"AAoBA,UAAU,MAAM;IACZ,IAAI,CAAC,EAAE,OAAO,CAAC;CAClB;AAWD,iBAAS,SAAS,CAAC,KAAK,EAAE,MAAM,eAyP/B;AAED,eAAe,SAAS,CAAC"}
|
|
@@ -19,6 +19,7 @@ import { useCaseDispatch, useCaseSelector } from '../../context/CaseContext';
|
|
|
19
19
|
import { RouteContext } from '../../context/RouteContext';
|
|
20
20
|
import { useCaseUpdateErrorMessage } from '../../hooks/useCaseUpdateErrorMessage';
|
|
21
21
|
import { setCaseDetails, setSelectedCaseGroupUsers, updateCaseDetails } from '../../reducers/CaseReducer';
|
|
22
|
+
import { PDFContext } from '../CaseEditView/PDFContainer';
|
|
22
23
|
import { CaseValuesToWatch } from '../shared/Constants';
|
|
23
24
|
import { getChangedValueTooltip } from '../shared/utils';
|
|
24
25
|
const emptyCaseGroup = {
|
|
@@ -42,6 +43,7 @@ function CaseGroup(props) {
|
|
|
42
43
|
isCaseOwnerUpdating: state.isCaseOwnerUpdating,
|
|
43
44
|
}), isEqual);
|
|
44
45
|
const caseDispatch = useCaseDispatch();
|
|
46
|
+
const { isExportingPDF } = useContext(PDFContext);
|
|
45
47
|
const { routeState: { isNextBtnClickedToShowValidationError }, } = useContext(RouteContext);
|
|
46
48
|
const isGroupMandatory = selectedAccountDetails.data.requireCGroupOnCreate;
|
|
47
49
|
const [selectedCaseGroup, setSelectedCaseGroup] = useState(isGroupMandatory ? undefined : emptyCaseGroup);
|
|
@@ -168,14 +170,14 @@ function CaseGroup(props) {
|
|
|
168
170
|
React.createElement("label", { htmlFor: "get-support-group" },
|
|
169
171
|
React.createElement(Trans, null, "Group"),
|
|
170
172
|
React.createElement(ValueChangedIcon, { afterLocalChange: afterGroupLocalChange, comparator: groupComparator, isLocalChange: localGroupChange, value: selectedCaseGroup, getTooltipContent: getChangedValueTooltip(() => CaseValuesToWatch.group, (v) => v.name) }),
|
|
171
|
-
isGroupMandatory && (React.createElement("span", { className: "form-required", "aria-hidden": true }, "*"))),
|
|
173
|
+
isGroupMandatory && !isExportingPDF && (React.createElement("span", { className: "form-required", "aria-hidden": true }, "*"))),
|
|
172
174
|
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 ||
|
|
173
175
|
ownersCaseGroups.isFetching ||
|
|
174
176
|
isCaseGroupUpdating ||
|
|
175
|
-
isCaseOwnerUpdating, isLoadingList: !isCaseOwnerUpdating && (ownersCaseGroups.isFetching || isCaseGroupUpdating), onChange: onCaseGroupChange, isInValid: ownersCaseGroups.isError || showEmptyValidationError || (caseNumber && isSelectedUngroupedInvalid), required: isGroupMandatory, onOuterClick: onOuterClickGroupCheck, "data-tracking-id": "get-support-group" }),
|
|
176
|
-
caseNumber && isSelectedUngroupedInvalid && (React.createElement("p", { className: "form-instructions form-invalid" },
|
|
177
|
+
isCaseOwnerUpdating, 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
|
+
caseNumber && isSelectedUngroupedInvalid && !isExportingPDF && (React.createElement("p", { className: "form-instructions form-invalid" },
|
|
177
179
|
React.createElement(Trans, null, "'Ungrouped Case' cannot be selected. Please select a group."))),
|
|
178
|
-
showEmptyValidationError && isGroupMandatory && (React.createElement("p", { className: "form-instructions form-invalid" },
|
|
180
|
+
showEmptyValidationError && isGroupMandatory && !isExportingPDF && (React.createElement("p", { className: "form-instructions form-invalid" },
|
|
179
181
|
React.createElement(Trans, null, "Case group cannot be empty."))),
|
|
180
182
|
showHelperText && (React.createElement("p", { className: "form-instructions" },
|
|
181
183
|
React.createElement(Trans, null, "Organization administrators have the permission to manage groups.")))));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContactPhoneNumber.d.ts","sourceRoot":"","sources":["../../../../src/components/CaseInformation/ContactPhoneNumber.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ContactPhoneNumber.d.ts","sourceRoot":"","sources":["../../../../src/components/CaseInformation/ContactPhoneNumber.tsx"],"names":[],"mappings":"AAsBA,wBAAgB,kBAAkB,gBA4JjC"}
|
|
@@ -5,11 +5,12 @@ import { ability, CaseListFields, resourceActions, resources } from '@rh-support
|
|
|
5
5
|
import isEmpty from 'lodash/isEmpty';
|
|
6
6
|
import isEqual from 'lodash/isEqual';
|
|
7
7
|
import React, { useContext, useEffect, useState } from 'react';
|
|
8
|
-
import { Trans } from 'react-i18next';
|
|
9
|
-
import { PHONE_INSTRUCTION, PHONE_IS_NOT_VALID, PHONE_NO_CHAR_ERROR } from '../../constants/caseDetailsConstants';
|
|
8
|
+
import { Trans, useTranslation } from 'react-i18next';
|
|
9
|
+
import { PHONE_INSTRUCTION, PHONE_IS_NOT_VALID, PHONE_LINE_CANNOT_BE_EMPTY, PHONE_NO_CHAR_ERROR, } from '../../constants/caseDetailsConstants';
|
|
10
10
|
import { useCaseDispatch, useCaseSelector } from '../../context/CaseContext';
|
|
11
11
|
import { RouteContext } from '../../context/RouteContext';
|
|
12
|
-
import {
|
|
12
|
+
import { PHONE_LIMIT } from '../../reducers/CaseConstNTypes';
|
|
13
|
+
import { setCaseDetails } from '../../reducers/CaseReducer';
|
|
13
14
|
import { trimAndReplacePlus } from '../shared/utils';
|
|
14
15
|
import { ContactPhoneNumberPopOver } from './ContactPhoneNumberPopOver';
|
|
15
16
|
export function ContactPhoneNumber() {
|
|
@@ -23,9 +24,10 @@ export function ContactPhoneNumber() {
|
|
|
23
24
|
const { globalMetadataState: { loggedInUser }, } = useContext(GlobalMetadataStateContext);
|
|
24
25
|
const [invalid, setInvalid] = useState(false);
|
|
25
26
|
const [localFullPhone, setLocalFullPhone] = useState(phoneCountryCode + ' ' + phoneAreaCodePrefixLineNumber);
|
|
26
|
-
const [phoneLength, setPhoneLength] = useState(localFullPhone === null || localFullPhone === void 0 ? void 0 : localFullPhone.length);
|
|
27
27
|
const canChangeAccountInfo = ability.can(resourceActions.PATCH, resources.CASE_CREATE, CaseListFields.ACCOUNT_AND_OWNER);
|
|
28
|
+
const getPhone = () => phoneCountryCode + ' ' + phoneAreaCodePrefixLineNumber;
|
|
28
29
|
const caseDispatch = useCaseDispatch();
|
|
30
|
+
const { t } = useTranslation();
|
|
29
31
|
const onPhoneChange = (fullPhone) => {
|
|
30
32
|
setLocalFullPhone(fullPhone);
|
|
31
33
|
if (isEmpty(fullPhone)) {
|
|
@@ -39,11 +41,14 @@ export function ContactPhoneNumber() {
|
|
|
39
41
|
const onCountryCodeChange = (phoneCountryCode) => {
|
|
40
42
|
setCaseDetails(caseDispatch, { phoneCountryCode });
|
|
41
43
|
};
|
|
44
|
+
const maxLengthErrorMessage = t('Phone number cannot be more than {{limit}} digits.', {
|
|
45
|
+
limit: PHONE_LIMIT,
|
|
46
|
+
});
|
|
42
47
|
const isPhoneNumberInvalid = isEmpty(trimAndReplacePlus(phoneCountryCode)) && !isEmpty(phoneAreaCodePrefixLineNumber.trim());
|
|
43
48
|
// To check if country code is given but phone number empty
|
|
44
49
|
const isPhoneNumberEmpty = !isEmpty(trimAndReplacePlus(phoneCountryCode)) &&
|
|
45
50
|
isEmpty(phoneAreaCodePrefixLineNumber === null || phoneAreaCodePrefixLineNumber === void 0 ? void 0 : phoneAreaCodePrefixLineNumber.replace(phoneCountryCode, ''));
|
|
46
|
-
const isPhoneNumberValid =
|
|
51
|
+
const isPhoneNumberValid = getPhone().length > PHONE_LIMIT
|
|
47
52
|
? ValidatedOptions.error
|
|
48
53
|
: severity === "1 (Urgent)" /* SEV_1 */ && isEmpty(suppliedPhoneNumberVerified)
|
|
49
54
|
? ValidatedOptions.warning
|
|
@@ -83,22 +88,23 @@ export function ContactPhoneNumber() {
|
|
|
83
88
|
else if (!isEmpty(localFullPhone) && !localFullPhone.startsWith('+')) {
|
|
84
89
|
setLocalFullPhone('+' + localFullPhone.replace(' ', ''));
|
|
85
90
|
}
|
|
86
|
-
setCaseState(caseDispatch, { isPhoneLengthInvalid: (localFullPhone === null || localFullPhone === void 0 ? void 0 : localFullPhone.length) < phoneLength });
|
|
87
91
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
88
92
|
}, [localFullPhone]);
|
|
89
93
|
return (React.createElement("div", { className: "form-group", style: { minWidth: '200px' } },
|
|
90
94
|
React.createElement("label", null,
|
|
91
95
|
React.createElement(Trans, null, "Case owner's phone number"),
|
|
92
96
|
ContactPhoneNumberPopOver()),
|
|
93
|
-
React.createElement(PhoneInput, { phoneValue: localFullPhone, onPhoneValueChange: onPhoneChange, onCountryCodeChange: onCountryCodeChange, validations: isPhoneNumberValid, invalid: invalid, setInvalid: setInvalid
|
|
97
|
+
React.createElement(PhoneInput, { phoneValue: localFullPhone, onPhoneValueChange: onPhoneChange, onCountryCodeChange: onCountryCodeChange, validations: isPhoneNumberValid, invalid: invalid, setInvalid: setInvalid }),
|
|
94
98
|
!invalid &&
|
|
99
|
+
getPhone().length < PHONE_LIMIT &&
|
|
95
100
|
!(isPhoneNumberEmpty && isNextBtnClickedToShowValidationError) &&
|
|
96
|
-
!(isNextBtnClickedToShowValidationError &&
|
|
97
|
-
(isPhoneNumberInvalid || (localFullPhone === null || localFullPhone === void 0 ? void 0 : localFullPhone.length) < phoneLength)) && (React.createElement("p", { className: "form-instructions" },
|
|
101
|
+
!(isNextBtnClickedToShowValidationError && isPhoneNumberInvalid) && (React.createElement("p", { className: "form-instructions" },
|
|
98
102
|
React.createElement(Trans, null, PHONE_INSTRUCTION))),
|
|
99
103
|
invalid && (React.createElement("p", { className: "form-instructions form-invalid" },
|
|
100
104
|
React.createElement(Trans, null, PHONE_NO_CHAR_ERROR))),
|
|
101
|
-
|
|
102
|
-
|
|
105
|
+
getPhone().length > PHONE_LIMIT && (React.createElement("p", { className: "form-instructions form-invalid" }, maxLengthErrorMessage)),
|
|
106
|
+
isPhoneNumberEmpty && isNextBtnClickedToShowValidationError && (React.createElement("p", { className: "form-instructions form-invalid" },
|
|
107
|
+
React.createElement(Trans, null, PHONE_LINE_CANNOT_BE_EMPTY))),
|
|
108
|
+
isNextBtnClickedToShowValidationError && isPhoneNumberInvalid && (React.createElement("p", { className: "form-instructions form-invalid" },
|
|
103
109
|
React.createElement(Trans, null, PHONE_IS_NOT_VALID)))));
|
|
104
110
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContactPhoneNumberAlert.d.ts","sourceRoot":"","sources":["../../../../src/components/CaseInformation/ContactPhoneNumberAlert.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ContactPhoneNumberAlert.d.ts","sourceRoot":"","sources":["../../../../src/components/CaseInformation/ContactPhoneNumberAlert.tsx"],"names":[],"mappings":"AAYA,wBAAgB,uBAAuB,gBA0DtC"}
|
|
@@ -1,16 +1,18 @@
|
|
|
1
1
|
import { Alert, AlertVariant, Button, ButtonVariant } from '@patternfly/react-core';
|
|
2
2
|
import isEmpty from 'lodash/isEmpty';
|
|
3
3
|
import isEqual from 'lodash/isEqual';
|
|
4
|
-
import React, { useEffect } from 'react';
|
|
4
|
+
import React, { useContext, useEffect } from 'react';
|
|
5
5
|
import { Trans, useTranslation } from 'react-i18next';
|
|
6
6
|
import { useCaseDispatch, useCaseSelector } from '../../context/CaseContext';
|
|
7
7
|
import { setCaseDetails } from '../../reducers/CaseReducer';
|
|
8
|
+
import { PDFContext } from '../CaseEditView/PDFContainer';
|
|
8
9
|
export function ContactPhoneNumberAlert() {
|
|
9
10
|
const { t } = useTranslation();
|
|
10
11
|
const caseDispatch = useCaseDispatch();
|
|
11
12
|
const { caseDetails } = useCaseSelector((state) => ({
|
|
12
13
|
caseDetails: state.caseDetails,
|
|
13
14
|
}), isEqual);
|
|
15
|
+
const { isExportingPDF } = useContext(PDFContext);
|
|
14
16
|
const onCaseDetailsChange = (caseDetails) => {
|
|
15
17
|
setCaseDetails(caseDispatch, caseDetails);
|
|
16
18
|
};
|
|
@@ -23,7 +25,7 @@ export function ContactPhoneNumberAlert() {
|
|
|
23
25
|
const hideAlert = caseDetails.severity !== "1 (Urgent)" /* SEV_1 */ || !isEmpty(caseDetails.suppliedPhoneNumberVerified);
|
|
24
26
|
if (hideAlert)
|
|
25
27
|
return React.createElement(React.Fragment, null);
|
|
26
|
-
return (React.createElement(Alert, { className:
|
|
28
|
+
return (React.createElement(Alert, { className: `form-group ${isExportingPDF ? 'hide-in-pdf' : ''}`, isInline: true, variant: AlertVariant.warning, title: t('Review phone number'), actionLinks: [
|
|
27
29
|
React.createElement(Button, { variant: ButtonVariant.link, isInline: true, onClick: () => onCaseDetailsChange({ suppliedPhoneNumberVerified: 'True' }), "data-tracking-id": "case-contact-phone-number-confirm" },
|
|
28
30
|
React.createElement(Trans, null, "Confirm phone number")),
|
|
29
31
|
React.createElement(Button, { variant: ButtonVariant.link, isInline: true, onClick: () => onCaseDetailsChange({ suppliedPhoneNumberVerified: 'Deferred' }), "data-tracking-id": "case-contact-phone-number-dont-know" },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RHAssociatesSelector.d.ts","sourceRoot":"","sources":["../../../../src/components/CaseManagement/RHAssociatesSelector.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"RHAssociatesSelector.d.ts","sourceRoot":"","sources":["../../../../src/components/CaseManagement/RHAssociatesSelector.tsx"],"names":[],"mappings":"AAqBA,MAAM,WAAW,MAAM;CAAG;AAG1B,iBAAS,oBAAoB,CAAC,KAAK,EAAE,MAAM,eAoM1C;AAED,OAAO,EAAE,oBAAoB,EAAE,CAAC"}
|
|
@@ -23,12 +23,14 @@ import { Token } from 'react-bootstrap-typeahead';
|
|
|
23
23
|
import { Trans, useTranslation } from 'react-i18next';
|
|
24
24
|
import { useCaseDispatch, useCaseSelector } from '../../context/CaseContext';
|
|
25
25
|
import { addingNotifiedUsers, deleteNotifiedUsers, setNotifiedUser } from '../../reducers/CaseReducer';
|
|
26
|
+
import { PDFContext } from '../CaseEditView/PDFContainer';
|
|
26
27
|
import { ContactSelectorInternal } from '../shared/input/ContactSelectorInternal';
|
|
27
28
|
function RHAssociatesSelector(props) {
|
|
28
29
|
const { t } = useTranslation();
|
|
29
30
|
const { globalMetadataState: { loggedInUser, loggedInUserRights }, } = useContext(GlobalMetadataStateContext);
|
|
30
31
|
const [isRHAssociatesUpdating, setIsRHAssociatesUpdating] = useState(false);
|
|
31
32
|
const ability = useContext(AbilityContext);
|
|
33
|
+
const { isExportingPDF } = useContext(PDFContext);
|
|
32
34
|
const { caseNumber, contactSsoUsername, selectedOwner, selectedNotificationContacts } = useCaseSelector((state) => ({
|
|
33
35
|
caseNumber: state.caseDetails.caseNumber,
|
|
34
36
|
contactSsoUsername: state.caseDetails.contactSSOName,
|
|
@@ -111,9 +113,9 @@ function RHAssociatesSelector(props) {
|
|
|
111
113
|
internal: false,
|
|
112
114
|
isInternalContact: true,
|
|
113
115
|
}, placeholder: t(`Add an internal associate to watch this case`), onSelect: onNotifiedUserChange, renderToken: renderToken, isUpdating: isRHAssociatesUpdating, "data-tracking-id": "case-contact-select-rh-watcher" }),
|
|
114
|
-
caseNumber && showAddWatchButton() && (React.createElement(Button, { variant: "secondary", onClick: addCurrentUser, type: "button", "data-tracking-id": "case-add-me-rh-watcher" },
|
|
116
|
+
caseNumber && showAddWatchButton() && !isExportingPDF && (React.createElement(Button, { variant: "secondary", onClick: addCurrentUser, type: "button", "data-tracking-id": "case-add-me-rh-watcher" },
|
|
115
117
|
React.createElement(Trans, null, "Add me as a watcher"))),
|
|
116
|
-
caseNumber && showRemoveWatchButton() && (React.createElement("div", { ref: toolTipRef, className: "remove-me-as-watcher pf-u-display-inline-block" }, isCurrentUserCaseContact ? (React.createElement(React.Fragment, null,
|
|
118
|
+
caseNumber && showRemoveWatchButton() && !isExportingPDF && (React.createElement("div", { ref: toolTipRef, className: "remove-me-as-watcher pf-u-display-inline-block" }, isCurrentUserCaseContact ? (React.createElement(React.Fragment, null,
|
|
117
119
|
React.createElement(Tooltip, { trigger: 'mouseenter focus', reference: toolTipRef, position: TooltipPosition.top, content: React.createElement(Trans, null, "You are case contact and therefore you cannot be removed as watcher") }),
|
|
118
120
|
React.createElement(Button, { variant: "tertiary", onClick: removeCurrentUser, type: "button", isDisabled: true, "data-tracking-id": "case-remove-me-rh-watcher-case-contact" },
|
|
119
121
|
React.createElement(Trans, null, "Remove me as a watcher")))) : (React.createElement(Button, { variant: "secondary", onClick: removeCurrentUser, type: "button", "data-tracking-id": "case-remove-me-rh-watcher" },
|
|
@@ -259,20 +259,20 @@ function CaseContactSelector(props) {
|
|
|
259
259
|
], contactsToExclude: !isEmpty(selectedOwner.data) ? [selectedOwner.data] : [], onChange: onNotifiedUserChange, clearButton: true, multiple: true, placeholder: t(`Search for an email address or username of the person you want to notify`), id: "open-case-notifications", name: "open-case-notifications", className: "react-select-custom", renderToken: renderToken, isUpdating: isAssociatesUpdating || customEmailsList.isFetching || isUpdatingCustomEmails, isExportingPDF: isExportingPDF, allowNew: onAddNew, newSelectionPrefix: t('Add to your account: '), customEmails: accountCustomEmails.data || [] })),
|
|
260
260
|
!showGroupPermissionError && !showAccountPermissionError && (React.createElement("p", { className: "form-instructions" },
|
|
261
261
|
React.createElement(Trans, null, "Include someone from your account to inform about the status of this case."))),
|
|
262
|
-
showGroupPermissionError && (React.createElement("p", { className: "form-instructions form-invalid" }, loggedInUserRights.data.isOrgAdmin() && (React.createElement(Trans, null,
|
|
262
|
+
showGroupPermissionError && !isExportingPDF && (React.createElement("p", { className: "form-instructions form-invalid" }, loggedInUserRights.data.isOrgAdmin() && (React.createElement(Trans, null,
|
|
263
263
|
"Please",
|
|
264
264
|
' ',
|
|
265
265
|
React.createElement(Button, { variant: "link", isInline: true, component: "span", onClick: onAddContactToGroupBtnClick }, "add this person to the selected group"),
|
|
266
266
|
' ',
|
|
267
267
|
"if you want to send notifications about this case.")))),
|
|
268
|
-
showAccountPermissionError && (React.createElement("p", { className: "form-instructions form-invalid" }, loggedInUserRights.data.isOrgAdmin() && (React.createElement(Trans, null,
|
|
268
|
+
showAccountPermissionError && !isExportingPDF && (React.createElement("p", { className: "form-instructions form-invalid" }, loggedInUserRights.data.isOrgAdmin() && (React.createElement(Trans, null,
|
|
269
269
|
emailToAdd,
|
|
270
270
|
" is not listed under your account. You can always",
|
|
271
271
|
' ',
|
|
272
272
|
React.createElement(Button, { variant: "link", isInline: true, component: "span", onClick: onAddEmailToAccountBtnClick }, "add them at the account level"))))),
|
|
273
273
|
caseNumber && showAddWatchButton() && !isExportingPDF && (React.createElement(Button, { variant: "secondary", onClick: addCurrentUser, type: "button", "data-tracking-id": "case-add-me-watcher" },
|
|
274
274
|
React.createElement(Trans, null, "Add me as a watcher"))),
|
|
275
|
-
caseNumber && showRemoveWatchButton() && (React.createElement("div", { ref: toolTipRef, className: "remove-me-as-watcher pf-u-display-inline-block" }, isCurrentUserCaseContact ? (React.createElement(React.Fragment, null,
|
|
275
|
+
caseNumber && showRemoveWatchButton() && !isExportingPDF && (React.createElement("div", { ref: toolTipRef, className: "remove-me-as-watcher pf-u-display-inline-block" }, isCurrentUserCaseContact ? (React.createElement(React.Fragment, null,
|
|
276
276
|
React.createElement(Tooltip, { trigger: 'mouseenter focus', reference: toolTipRef, position: TooltipPosition.top, content: React.createElement(Trans, null, "You are case contact and therefore you cannot be removed as watcher") }),
|
|
277
277
|
React.createElement(Button, { variant: "tertiary", onClick: removeCurrentUser, type: "button", isDisabled: true, "data-tracking-id": "case-remove-me-watcher" },
|
|
278
278
|
React.createElement(Trans, null, "Remove me as a watcher")))) : (React.createElement(Button, { variant: "secondary", onClick: removeCurrentUser, type: "button", "data-tracking-id": "case-remove-me-watcher" },
|
|
@@ -93,12 +93,12 @@ export default function IdeaInformation() {
|
|
|
93
93
|
React.createElement("form", null,
|
|
94
94
|
React.createElement(Description, { inlineEditable: false, customTitle: t('Please describe your request') }),
|
|
95
95
|
React.createElement(KtQuestions, { onlyShowKT4: true }),
|
|
96
|
+
React.createElement(SupportLevel, null),
|
|
96
97
|
React.createElement(Flex, { direction: { default: 'column', '2xl': 'row' } },
|
|
97
98
|
React.createElement(FlexItem, { flex: { default: 'flex_1' }, className: "pf-u-mb-xl" },
|
|
98
|
-
React.createElement(
|
|
99
|
+
React.createElement(Severity, { showSeverityInfoIcon: true, onSeverityChange: onSeverityChange })),
|
|
99
100
|
React.createElement(FlexItem, { flex: { default: 'flex_1' }, className: "pf-u-mb-xl" },
|
|
100
|
-
React.createElement(
|
|
101
|
-
React.createElement(ContactPhoneNumber, null),
|
|
101
|
+
React.createElement(ContactPhoneNumber, null))),
|
|
102
102
|
React.createElement(ContactPhoneNumberAlert, null),
|
|
103
103
|
React.createElement(CaseLanguageSelector, { isManageStep: true }),
|
|
104
104
|
React.createElement(CaseGroup, { init: true }),
|
|
@@ -99,7 +99,7 @@ export default function FileLister(props) {
|
|
|
99
99
|
React.createElement("div", { className: "file-diag-selected" },
|
|
100
100
|
React.createElement("span", { className: "sr-only" }, "Selected files"),
|
|
101
101
|
React.createElement("ul", { className: "file-diag-list" }, map(props.selectedLocalFiles, (localFile, index) => {
|
|
102
|
-
var _a;
|
|
102
|
+
var _a, _b, _c;
|
|
103
103
|
return isFileDeleted(localFile.uploadProgress.uploadStatus) ? (React.createElement(React.Fragment, { key: index })) : (React.createElement("li", { key: index, className: `file-upload-group ${localFile.uploadability.ableToUpload
|
|
104
104
|
? `file-${index + 1}`
|
|
105
105
|
: `file-${index + 1} text-error`}` },
|
|
@@ -116,7 +116,7 @@ export default function FileLister(props) {
|
|
|
116
116
|
localFile.isPrivate && (React.createElement(Label, { color: "red", className: "pf-u-ml-sm" },
|
|
117
117
|
React.createElement(Trans, null, "Private")))),
|
|
118
118
|
!shouldHideDescription(localFile, props.isSessionId) &&
|
|
119
|
-
((_a = localFile === null || localFile === void 0 ? void 0 : localFile.description) === null || _a === void 0 ? void 0 : _a.length) > 1 && (React.createElement("span", { className: "character-counter text-muted" }, 255 - localFile.description.length)),
|
|
119
|
+
((_a = localFile === null || localFile === void 0 ? void 0 : localFile.description) === null || _a === void 0 ? void 0 : _a.length) > 1 && (React.createElement("span", { className: "character-counter text-muted" }, 255 - ((_b = localFile.description) === null || _b === void 0 ? void 0 : _b.length))),
|
|
120
120
|
(isUploadFailed(localFile.uploadProgress.uploadStatus) ||
|
|
121
121
|
isUploadAborted(localFile.uploadProgress.uploadStatus)) && (React.createElement("button", { type: "button", "aria-label": "Failed to upload, Retry", title: "Failed to upload, Retry", className: "btn btn-link btn-xs", "data-tracking-id": "file-lister-retry", onClick: onRetry(index) },
|
|
122
122
|
React.createElement(HistoryIcon, null))),
|
|
@@ -132,7 +132,7 @@ export default function FileLister(props) {
|
|
|
132
132
|
: t('Enter a description')}`), hidden: shouldHideDescription(localFile, props.isSessionId) }),
|
|
133
133
|
isUploadedAndAnalysisSkipped(localFile) &&
|
|
134
134
|
!(caseType === PreviousCaseTypes.FEATURE_ENHANCEMENT) && (React.createElement("span", { className: "text-muted" }, localFile.analysisMetadata.analysisErrorMesssage)),
|
|
135
|
-
localFile.description.length === ATTACHMENT_DESCRIPTION_LENGTH_LIMIT ? (React.createElement("p", { className: "form-instructions" },
|
|
135
|
+
((_c = localFile.description) === null || _c === void 0 ? void 0 : _c.length) === ATTACHMENT_DESCRIPTION_LENGTH_LIMIT ? (React.createElement("p", { className: "form-instructions" },
|
|
136
136
|
React.createElement(Trans, null, maxCaseAttachmentDescription))) : null,
|
|
137
137
|
isUploadedAndAnalysisFailed(localFile) && (React.createElement("span", { className: "text-danger" },
|
|
138
138
|
React.createElement(Trans, null, "Something went wrong during file analysis."),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/components/shared/utils.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/components/shared/utils.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,EACpC,WAAW,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,KAAK,iBAAiB,EAC3D,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,KAAK,GAAG,kBAErB,CAAC,iBAAiB,CAAC,iBAQ5C;AAED,eAAO,MAAM,YAAY,gBAAiB,MAAM,aAAa,MAAM,KAAG,OAarE,CAAC;AAEF,eAAO,MAAM,kBAAkB,UAAW,MAAM,WAG/C,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import isEmpty from 'lodash/isEmpty';
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import { Trans } from 'react-i18next';
|
|
4
|
+
import { PHONE_LIMIT } from '../../reducers/CaseConstNTypes';
|
|
4
5
|
/**
|
|
5
6
|
*
|
|
6
7
|
* A function that returns a translated string for a tooltip of the given case value that is being watched
|
|
@@ -31,7 +32,9 @@ export const isPhoneValid = (countryCode, phoneLine) => {
|
|
|
31
32
|
// To validate case state if country code and phoneline both are available
|
|
32
33
|
// or none of them are available (xor)
|
|
33
34
|
const isCountryCodeFollowsByPhone = isEmpty(trimAndReplacePlus(countryCode)) === isEmpty(phoneLine === null || phoneLine === void 0 ? void 0 : phoneLine.trim()) ? true : false;
|
|
34
|
-
|
|
35
|
+
const phoneLength = ((countryCode === null || countryCode === void 0 ? void 0 : countryCode.length) || 0) + ((phoneLine === null || phoneLine === void 0 ? void 0 : phoneLine.length) || 0) + 1;
|
|
36
|
+
const hasSuppliedPhoneValidLength = phoneLength <= PHONE_LIMIT;
|
|
37
|
+
return isCountryCodeFollowsByPhone && hasSuppliedPhoneValidLength && phoneIncludesCorrectChars;
|
|
35
38
|
};
|
|
36
39
|
export const trimAndReplacePlus = (value) => {
|
|
37
40
|
var _a;
|
|
@@ -12,7 +12,8 @@ export declare enum CaseStatusEnum {
|
|
|
12
12
|
WAITING_ON_CUSTOMER = "Waiting on Customer",
|
|
13
13
|
WAITING_ON_REDHAT = "Waiting on Red Hat"
|
|
14
14
|
}
|
|
15
|
+
export declare const PHONE_LINE_CANNOT_BE_EMPTY = "Phone number cannot be empty when country code is given.";
|
|
15
16
|
export declare const PHONE_NO_CHAR_ERROR = "Phone number can only have digits.";
|
|
16
|
-
export declare const PHONE_IS_NOT_VALID = "Phone number
|
|
17
|
+
export declare const PHONE_IS_NOT_VALID = "Phone number is invalid.";
|
|
17
18
|
export declare const PHONE_INSTRUCTION = "A current phone number with the country code helps us support you better.";
|
|
18
19
|
//# sourceMappingURL=caseDetailsConstants.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"caseDetailsConstants.d.ts","sourceRoot":"","sources":["../../../src/constants/caseDetailsConstants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oCAAoC,yBAAyB,CAAC;AAE3E,oBAAY,mBAAmB;IAC3B,UAAU,eAAe;IACzB,UAAU,eAAe;IACzB,QAAQ,aAAa;IACrB,WAAW,gBAAgB;IAC3B,aAAa,kBAAkB;IAC/B,UAAU,gBAAgB;CAC7B;AAED,oBAAY,cAAc;IACtB,MAAM,WAAW;IACjB,mBAAmB,wBAAwB;IAC3C,iBAAiB,uBAAuB;CAC3C;AAED,eAAO,MAAM,mBAAmB,uCAAuC,CAAC;AAExE,eAAO,MAAM,kBAAkB,
|
|
1
|
+
{"version":3,"file":"caseDetailsConstants.d.ts","sourceRoot":"","sources":["../../../src/constants/caseDetailsConstants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oCAAoC,yBAAyB,CAAC;AAE3E,oBAAY,mBAAmB;IAC3B,UAAU,eAAe;IACzB,UAAU,eAAe;IACzB,QAAQ,aAAa;IACrB,WAAW,gBAAgB;IAC3B,aAAa,kBAAkB;IAC/B,UAAU,gBAAgB;CAC7B;AAED,oBAAY,cAAc;IACtB,MAAM,WAAW;IACjB,mBAAmB,wBAAwB;IAC3C,iBAAiB,uBAAuB;CAC3C;AAED,eAAO,MAAM,0BAA0B,6DAA6D,CAAC;AAErG,eAAO,MAAM,mBAAmB,uCAAuC,CAAC;AAExE,eAAO,MAAM,kBAAkB,6BAA6B,CAAC;AAE7D,eAAO,MAAM,iBAAiB,8EAA8E,CAAC"}
|
|
@@ -14,6 +14,7 @@ export var CaseStatusEnum;
|
|
|
14
14
|
CaseStatusEnum["WAITING_ON_CUSTOMER"] = "Waiting on Customer";
|
|
15
15
|
CaseStatusEnum["WAITING_ON_REDHAT"] = "Waiting on Red Hat";
|
|
16
16
|
})(CaseStatusEnum || (CaseStatusEnum = {}));
|
|
17
|
+
export const PHONE_LINE_CANNOT_BE_EMPTY = 'Phone number cannot be empty when country code is given.';
|
|
17
18
|
export const PHONE_NO_CHAR_ERROR = 'Phone number can only have digits.';
|
|
18
|
-
export const PHONE_IS_NOT_VALID = 'Phone number
|
|
19
|
+
export const PHONE_IS_NOT_VALID = 'Phone number is invalid.';
|
|
19
20
|
export const PHONE_INSTRUCTION = 'A current phone number with the country code helps us support you better.';
|
|
@@ -16,6 +16,7 @@ export declare const HOSTNAME_LENGTH_LIMIT = 255;
|
|
|
16
16
|
export declare const CONTACT_INFO_24X7_LIMIT = 32768;
|
|
17
17
|
export declare const CLUSTER_ID_LIMIT = 255;
|
|
18
18
|
export declare const CASE_REFERENCE_NUMBER_LIMIT = 100;
|
|
19
|
+
export declare const PHONE_LIMIT = 23;
|
|
19
20
|
export declare const SESSION_NOTIFIED_USERS_INTERNAL_LIMIT = 1024;
|
|
20
21
|
export declare const SESSION_NOTIFIED_USERS_EXTERNAL_LIMIT = 1024;
|
|
21
22
|
export declare const SESSION_TIME_FRAMES_URGENCY_LIMIT = 32768;
|
|
@@ -178,7 +179,7 @@ export interface ICaseState {
|
|
|
178
179
|
cepDetails: ICepDetails;
|
|
179
180
|
isPostingCep: boolean;
|
|
180
181
|
isPostingCepError: boolean;
|
|
181
|
-
isPostingCepErrorMessage: string;
|
|
182
|
+
isPostingCepErrorMessage: string | undefined;
|
|
182
183
|
selectedAccountDetails: IApiResponseDetails<Partial<IAccount>>;
|
|
183
184
|
selectedOwner: IApiResponseDetails<IContact>;
|
|
184
185
|
ownersCaseGroups: IApiResponseDetails<ICaseGroup[]>;
|
|
@@ -199,7 +200,6 @@ export interface ICaseState {
|
|
|
199
200
|
openshiftDisplayName?: string;
|
|
200
201
|
isCaseOwnerUpdating: boolean;
|
|
201
202
|
isFileRecommendationsTriggered?: boolean;
|
|
202
|
-
isPhoneLengthInvalid?: boolean;
|
|
203
203
|
}
|
|
204
204
|
export interface ICreateCasePayloadType extends ICaseState {
|
|
205
205
|
}
|
|
@@ -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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"}
|
|
@@ -8,6 +8,7 @@ export const HOSTNAME_LENGTH_LIMIT = 255;
|
|
|
8
8
|
export const CONTACT_INFO_24X7_LIMIT = 32768;
|
|
9
9
|
export const CLUSTER_ID_LIMIT = 255;
|
|
10
10
|
export const CASE_REFERENCE_NUMBER_LIMIT = 100;
|
|
11
|
+
export const PHONE_LIMIT = 23;
|
|
11
12
|
export const SESSION_NOTIFIED_USERS_INTERNAL_LIMIT = 1024;
|
|
12
13
|
export const SESSION_NOTIFIED_USERS_EXTERNAL_LIMIT = 1024;
|
|
13
14
|
export const SESSION_TIME_FRAMES_URGENCY_LIMIT = 32768;
|
|
@@ -192,7 +193,6 @@ export const initialCaseState = {
|
|
|
192
193
|
openshiftDisplayName: '',
|
|
193
194
|
isCaseOwnerUpdating: false,
|
|
194
195
|
isFileRecommendationsTriggered: false,
|
|
195
|
-
isPhoneLengthInvalid: false,
|
|
196
196
|
};
|
|
197
197
|
export const ORG_ADMIN_SEND_NOTIFCATION_KBASE_LINK = 'https://access.redhat.com/articles/5967811';
|
|
198
198
|
export const NON_ORG_ADMIN_SEND_NOTIFCATION_KBASE_LINK = 'https://access.redhat.com/articles/5967831';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CaseHelpers.d.ts","sourceRoot":"","sources":["../../../src/reducers/CaseHelpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,qDAAqD,CAAC;AACpG,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,yCAAyC,CAAC;AACvG,OAAO,EAAE,YAAY,EAAE,MAAM,iDAAiD,CAAC;AAC/E,OAAO,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAmB3D,OAAO,EAUH,UAAU,EAeb,MAAM,mBAAmB,CAAC;AAE3B,eAAO,MAAM,sBAAsB,SAAU,mBAAmB,EAAE,wBAMjE,CAAC;AAEF,eAAO,MAAM,2BAA2B,eAAgB,WAAW,KAAG,MAOrE,CAAC;AAEF,eAAO,MAAM,uBAAuB,QAAS,mBAAmB,SAAS,MAAM,sBAyB9E,CAAC;AAIF,eAAO,MAAM,qBAAqB,UACvB,MAAM,gBACC,MAAM,uBACC,MAAM,yBACJ,MAAM,kBACb,MAAM,YACZ,MAAM,YACN,MAAM,KACjB,MAyBF,CAAC;AAIF,eAAO,MAAM,oBAAoB,UACtB,MAAM,gBACC,MAAM,uBACC,MAAM,yBACJ,MAAM,KAC9B,MAQF,CAAC;AAEF,eAAO,MAAM,uBAAuB,iBAAkB,MAAM,YAAY,MAAM,KAAG,MAQhF,CAAC;AAEF,eAAO,MAAM,uBAAuB,iBAAkB,MAAM,YAAY,MAAM,KAAG,MAQhF,CAAC;AAEF,eAAO,MAAM,sBAAsB,aAAc,MAAM,KAAG,MAKzD,CAAC;AAEF,eAAO,MAAM,gBAAgB,+CAqC5B,CAAC;AAIF,eAAO,MAAM,gBAAgB,cAAe,UAAU,wBAAwB,QAAQ,eAAe,CAAC,KAAG,OA6BxG,CAAC;AAEF,eAAO,MAAM,oBAAoB,cAClB,UAAU,wBACC,QAAQ,eAAe,CAAC,KAC/C,OAyBF,CAAC;AAEF,eAAO,MAAM,0BAA0B,cACxB,UAAU,wBACC,QAAQ,eAAe,CAAC,KAC/C,
|
|
1
|
+
{"version":3,"file":"CaseHelpers.d.ts","sourceRoot":"","sources":["../../../src/reducers/CaseHelpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,qDAAqD,CAAC;AACpG,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,yCAAyC,CAAC;AACvG,OAAO,EAAE,YAAY,EAAE,MAAM,iDAAiD,CAAC;AAC/E,OAAO,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAmB3D,OAAO,EAUH,UAAU,EAeb,MAAM,mBAAmB,CAAC;AAE3B,eAAO,MAAM,sBAAsB,SAAU,mBAAmB,EAAE,wBAMjE,CAAC;AAEF,eAAO,MAAM,2BAA2B,eAAgB,WAAW,KAAG,MAOrE,CAAC;AAEF,eAAO,MAAM,uBAAuB,QAAS,mBAAmB,SAAS,MAAM,sBAyB9E,CAAC;AAIF,eAAO,MAAM,qBAAqB,UACvB,MAAM,gBACC,MAAM,uBACC,MAAM,yBACJ,MAAM,kBACb,MAAM,YACZ,MAAM,YACN,MAAM,KACjB,MAyBF,CAAC;AAIF,eAAO,MAAM,oBAAoB,UACtB,MAAM,gBACC,MAAM,uBACC,MAAM,yBACJ,MAAM,KAC9B,MAQF,CAAC;AAEF,eAAO,MAAM,uBAAuB,iBAAkB,MAAM,YAAY,MAAM,KAAG,MAQhF,CAAC;AAEF,eAAO,MAAM,uBAAuB,iBAAkB,MAAM,YAAY,MAAM,KAAG,MAQhF,CAAC;AAEF,eAAO,MAAM,sBAAsB,aAAc,MAAM,KAAG,MAKzD,CAAC;AAEF,eAAO,MAAM,gBAAgB,+CAqC5B,CAAC;AAIF,eAAO,MAAM,gBAAgB,cAAe,UAAU,wBAAwB,QAAQ,eAAe,CAAC,KAAG,OA6BxG,CAAC;AAEF,eAAO,MAAM,oBAAoB,cAClB,UAAU,wBACC,QAAQ,eAAe,CAAC,KAC/C,OAyBF,CAAC;AAEF,eAAO,MAAM,0BAA0B,cACxB,UAAU,wBACC,QAAQ,eAAe,CAAC,KAC/C,OAmBF,CAAC;AAIF,eAAO,MAAM,6BAA6B,cAC3B,UAAU,wBACC,QAAQ,eAAe,CAAC,KAC/C,OAuBF,CAAC;AAEF,eAAO,MAAM,iBAAiB,cACf,UAAU,gBACP,YAAY,iBACZ,OAAO,KACtB,QAAQ,YAAY,CA4EtB,CAAC;AAEF,eAAO,MAAM,wBAAwB,qBAAsB,YAAY,EAAE,KAAG,YAAY,EAEvF,CAAC;AACF,eAAO,MAAM,yBAAyB,qBAAsB,YAAY,EAAE,KAAG,OAE5E,CAAC;AAEF,eAAO,MAAM,yBAAyB,gBACrB,YAAY,6BACE,MAAM,mBAChB,MAAM,KACxB,QAAQ,YAAY,CAgCtB,CAAC;AACF,eAAO,MAAM,yBAAyB,gBACrB,QAAQ,YAAY,CAAC,gCACJ,QAAQ,EAAE,KACzC,eAgDF,CAAC"}
|
|
@@ -182,7 +182,6 @@ export const isIdeaCaseStateValid = (caseState, loggedInUserJwtToken) => {
|
|
|
182
182
|
};
|
|
183
183
|
export const isCaseManagementStateValid = (caseState, loggedInUserJwtToken) => {
|
|
184
184
|
const case_details = caseState.caseDetails;
|
|
185
|
-
const isPhoneLengthInvalid = caseState.isPhoneLengthInvalid;
|
|
186
185
|
return (isEmpty(case_details.caseNumber) &&
|
|
187
186
|
!caseState.hasLargeCaseDescription &&
|
|
188
187
|
!isEmpty(case_details.product) &&
|
|
@@ -196,7 +195,6 @@ export const isCaseManagementStateValid = (caseState, loggedInUserJwtToken) => {
|
|
|
196
195
|
? !isEmpty(case_details.groupNumber) && case_details.groupNumber !== '-1'
|
|
197
196
|
: true) &&
|
|
198
197
|
isPhoneValid(case_details.phoneCountryCode, case_details.phoneAreaCodePrefixLineNumber) &&
|
|
199
|
-
!isPhoneLengthInvalid &&
|
|
200
198
|
canManageCase(loggedInUserJwtToken));
|
|
201
199
|
};
|
|
202
200
|
// Add a !isEmpty to to make any KTQuestion Mandatory in isCaseInformationSectionValid
|
|
@@ -25,7 +25,8 @@ export declare const updateCaseCreationErrorStatusOnError: (dispatch: CaseReduce
|
|
|
25
25
|
* @param errorStatus Boolean
|
|
26
26
|
*/
|
|
27
27
|
export declare const updateCaseCreationErrorStatus: (dispatch: CaseReducerDispatchType, errorStatus: boolean) => void;
|
|
28
|
-
export declare const postCaseCreationProcessing: (dispatch: CaseReducerDispatchType, caseNumber: string, caseDetails: ICaseState) => Promise<void>;
|
|
28
|
+
export declare const postCaseCreationProcessing: (isSecureSupport: boolean, dispatch: CaseReducerDispatchType, sessionRestoreDispatch: SessionReducerDispatchType, sessionItem: ISessionItem, caseNumber: string, caseDetails: ICaseState) => Promise<void>;
|
|
29
|
+
export declare const resolveSession: (sessionRestoreDispatch: SessionReducerDispatchType, sessionItem: ISessionItem, caseNumber: string) => Promise<void>;
|
|
29
30
|
export declare const postCepDetails: (dispatch: CaseReducerDispatchType, caseNumber: string, cepDetails: ICepDetails) => Promise<void>;
|
|
30
31
|
export declare const setCaseRecommendations: (dispatch: CaseReducerDispatchType, docs: ISolrRecommendation[], oldRecommendations: ICaseResourceLink[]) => void;
|
|
31
32
|
export declare const setDetectedLanguage: (dispatch: CaseReducerDispatchType, subject: string, description: 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;AAUxD,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,UA6L7D,CAAC;AAGF,eAAO,MAAM,cAAc,aAAc,uBAAuB,aAAa,QAAQ,YAAY,CAAC,SAEjG,CAAC;AAEF,eAAO,MAAM,YAAY,aAAc,uBAAuB,aAAa,QAAQ,UAAU,CAAC,SAE7F,CAAC;AAEF,eAAO,MAAM,eAAe,aAAc,uBAAuB,gCAAgC,QAAQ,EAAE,SAK1G,CAAC;AAEF,eAAO,MAAM,UAAU,aACT,uBAAuB,0BACT,0BAA0B,eACrC,UAAU,eACV,YAAY,gBACX,OAAO,mBACJ,MAAM,GAAG,WAAW,2BACZ,MAAM,oBACd,OAAO,
|
|
1
|
+
{"version":3,"file":"CaseReducer.d.ts","sourceRoot":"","sources":["../../../src/reducers/CaseReducer.ts"],"names":[],"mappings":"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"}
|
|
@@ -53,7 +53,7 @@ export const caseReducer = (pState, action) => {
|
|
|
53
53
|
return Object.assign(Object.assign({}, pState), initialCaseState);
|
|
54
54
|
}
|
|
55
55
|
case CaseReducerConstants.isCreatingCase: {
|
|
56
|
-
return Object.assign(Object.assign({}, pState), { caseDetails: Object.assign(Object.assign({}, pState.caseDetails), { caseNumber:
|
|
56
|
+
return Object.assign(Object.assign({}, pState), { caseDetails: Object.assign(Object.assign({}, pState.caseDetails), { caseNumber: undefined }), isCreatingCase: true, caseCreationError: false, caseCreationErrorMessage: '' });
|
|
57
57
|
}
|
|
58
58
|
case CaseReducerConstants.caseCreated: {
|
|
59
59
|
return Object.assign(Object.assign({}, pState), { caseDetails: Object.assign(Object.assign({}, pState.caseDetails), action.payload.caseDetails), isCreatingCase: false, caseCreationError: false, caseCreationErrorMessage: '', caseCreation500ErrorStatus: false });
|
|
@@ -164,9 +164,8 @@ export const submitCase = (dispatch, sessionRestoreDispatch, caseDetails, sessio
|
|
|
164
164
|
supportPhoneAreaCodePrefixLineNumber: casePayload.phoneAreaCodePrefixLineNumber,
|
|
165
165
|
});
|
|
166
166
|
}
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
(yield updateSession(sessionRestoreDispatch, sessionItem.session.id, sessionItem.sessionDetails, sessionItem.session));
|
|
167
|
+
// For updating the sessions and posting cep details after case creation
|
|
168
|
+
postCaseCreationProcessing(isSecureSupport, dispatch, sessionRestoreDispatch, sessionItem, caseNumber, caseDetails);
|
|
170
169
|
dispatch({ type: CaseReducerConstants.caseCreated, payload: { caseDetails: { caseNumber } } });
|
|
171
170
|
}
|
|
172
171
|
catch (error) {
|
|
@@ -208,9 +207,16 @@ export const updateCaseCreationErrorStatus = (dispatch, errorStatus) => {
|
|
|
208
207
|
},
|
|
209
208
|
});
|
|
210
209
|
};
|
|
211
|
-
|
|
210
|
+
// For all post case creation processing contexts
|
|
211
|
+
export const postCaseCreationProcessing = (isSecureSupport, dispatch, sessionRestoreDispatch, sessionItem, caseNumber, caseDetails) => __awaiter(void 0, void 0, void 0, function* () {
|
|
212
|
+
isSecureSupport === false && resolveSession(sessionRestoreDispatch, sessionItem, caseNumber);
|
|
212
213
|
caseDetails.caseDetails.cep === true && postCepDetails(dispatch, caseNumber, caseDetails.cepDetails);
|
|
213
214
|
});
|
|
215
|
+
// To resolve or update session API
|
|
216
|
+
export const resolveSession = (sessionRestoreDispatch, sessionItem, caseNumber) => __awaiter(void 0, void 0, void 0, function* () {
|
|
217
|
+
yield updateSession(sessionRestoreDispatch, sessionItem.session.id, sessionItem.sessionDetails, Object.assign(Object.assign({}, sessionItem.session), { isActive: false, isResolved: true, caseNumber: caseNumber }));
|
|
218
|
+
});
|
|
219
|
+
// To post cep comment after case creation
|
|
214
220
|
export const postCepDetails = (dispatch, caseNumber, cepDetails) => __awaiter(void 0, void 0, void 0, function* () {
|
|
215
221
|
dispatch({ type: CaseReducerConstants.setIsPostingCep, payload: { isPostingCep: true } });
|
|
216
222
|
try {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rh-support/troubleshoot",
|
|
3
|
-
"version": "2.2.
|
|
3
|
+
"version": "2.2.22",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public",
|
|
6
6
|
"registry": "https://registry.npmjs.org"
|
|
@@ -66,11 +66,11 @@
|
|
|
66
66
|
"@patternfly/react-core": "4.264.0",
|
|
67
67
|
"@progress/kendo-drawing": "^1.6.0",
|
|
68
68
|
"@progress/kendo-react-pdf": "^3.12.0",
|
|
69
|
-
"@rh-support/components": "2.1.
|
|
70
|
-
"@rh-support/react-context": "2.1.
|
|
69
|
+
"@rh-support/components": "2.1.12",
|
|
70
|
+
"@rh-support/react-context": "2.1.12",
|
|
71
71
|
"@rh-support/types": "2.0.2",
|
|
72
|
-
"@rh-support/user-permissions": "2.1.
|
|
73
|
-
"@rh-support/utils": "2.1.
|
|
72
|
+
"@rh-support/user-permissions": "2.1.6",
|
|
73
|
+
"@rh-support/utils": "2.1.3",
|
|
74
74
|
"@types/react-redux": "^7.1.12",
|
|
75
75
|
"@types/redux": "^3.6.0",
|
|
76
76
|
"dompurify": "^2.4.1",
|
|
@@ -133,5 +133,5 @@
|
|
|
133
133
|
"defaults and supports es6-module",
|
|
134
134
|
"maintained node versions"
|
|
135
135
|
],
|
|
136
|
-
"gitHead": "
|
|
136
|
+
"gitHead": "54bc1f4ec262c366c2f13ccf03a0df500b97af6a"
|
|
137
137
|
}
|