@rh-support/troubleshoot 2.1.21 → 2.2.1

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.
Files changed (51) hide show
  1. package/lib/esm/components/AccountInfo/ManagedAccountsDropdown.js +1 -1
  2. package/lib/esm/components/AccountInfo/OwnerSelector.d.ts.map +1 -1
  3. package/lib/esm/components/AccountInfo/OwnerSelector.js +57 -19
  4. package/lib/esm/components/AccountInfo/css/accountSelector.css +4 -0
  5. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CaseContactPhoneNumber.d.ts.map +1 -1
  6. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CaseContactPhoneNumber.js +60 -16
  7. package/lib/esm/components/CaseInformation/CaseInformation.d.ts.map +1 -1
  8. package/lib/esm/components/CaseInformation/CaseInformation.js +3 -3
  9. package/lib/esm/components/CaseInformation/ContactPhoneNumber.d.ts.map +1 -1
  10. package/lib/esm/components/CaseInformation/ContactPhoneNumber.js +20 -13
  11. package/lib/esm/components/CaseInformation/ContactPhoneNumberPopOver.d.ts.map +1 -1
  12. package/lib/esm/components/CaseInformation/ContactPhoneNumberPopOver.js +1 -5
  13. package/lib/esm/components/CaseManagement/CaseManagement.js +4 -4
  14. package/lib/esm/components/CaseManagement/Cep.js +1 -1
  15. package/lib/esm/components/IdeaInformation/IdeaInformtion.d.ts.map +1 -1
  16. package/lib/esm/components/IdeaInformation/IdeaInformtion.js +4 -4
  17. package/lib/esm/components/ProductSelector/AllProductsSelector.js +2 -2
  18. package/lib/esm/components/ProductSelector/NewProductDropdownSelector.d.ts.map +1 -1
  19. package/lib/esm/components/ProductSelector/NewProductDropdownSelector.js +1 -1
  20. package/lib/esm/components/ProductSelector/NewProductVersionSelector.js +1 -1
  21. package/lib/esm/components/ProductSelector/ProductSelector.js +2 -2
  22. package/lib/esm/components/Recommendations/AsideResults.js +1 -1
  23. package/lib/esm/components/SubmitCase/SubmitCase.d.ts.map +1 -1
  24. package/lib/esm/components/SubmitCase/SubmitCase.js +9 -7
  25. package/lib/esm/components/Suggestions/Suggestions.js +1 -1
  26. package/lib/esm/components/TroubleshootSection/TroubleshootSection.d.ts.map +1 -1
  27. package/lib/esm/components/TroubleshootSection/TroubleshootSection.js +13 -6
  28. package/lib/esm/components/shared/fileUpload/FileLister.js +1 -1
  29. package/lib/esm/components/shared/fileUpload/UploadButton.d.ts.map +1 -1
  30. package/lib/esm/components/shared/fileUpload/UploadButton.js +2 -1
  31. package/lib/esm/components/shared/fileUpload/WidgetFileUploader.d.ts.map +1 -1
  32. package/lib/esm/components/shared/fileUpload/WidgetFileUploader.js +17 -3
  33. package/lib/esm/components/shared/fileUpload/css/fileSelector.css +1 -1
  34. package/lib/esm/components/shared/fileUpload/fileSelectors/WidgetFileSelector.d.ts +2 -1
  35. package/lib/esm/components/shared/fileUpload/fileSelectors/WidgetFileSelector.d.ts.map +1 -1
  36. package/lib/esm/components/shared/fileUpload/fileSelectors/WidgetFileSelector.js +28 -10
  37. package/lib/esm/components/shared/useIsSectionValid.d.ts.map +1 -1
  38. package/lib/esm/components/shared/useIsSectionValid.js +24 -6
  39. package/lib/esm/components/wizardLayout/GlobalTroubleshootEffects.d.ts.map +1 -1
  40. package/lib/esm/components/wizardLayout/GlobalTroubleshootEffects.js +4 -0
  41. package/lib/esm/constants/caseDetailsConstants.d.ts +0 -1
  42. package/lib/esm/constants/caseDetailsConstants.d.ts.map +1 -1
  43. package/lib/esm/constants/caseDetailsConstants.js +0 -1
  44. package/lib/esm/reducers/CaseConstNTypes.d.ts.map +1 -1
  45. package/lib/esm/reducers/CaseConstNTypes.js +4 -2
  46. package/lib/esm/reducers/CaseHelpers.d.ts.map +1 -1
  47. package/lib/esm/reducers/CaseHelpers.js +16 -8
  48. package/lib/esm/reducers/CaseReducer.d.ts.map +1 -1
  49. package/lib/esm/reducers/CaseReducer.js +6 -0
  50. package/lib/esm/scss/_pf4-overrides.scss +40 -0
  51. package/package.json +8 -8
@@ -9,6 +9,7 @@ import React, { useContext } from 'react';
9
9
  import { Trans, useTranslation } from 'react-i18next';
10
10
  import { useCaseSelector } from '../../context/CaseContext';
11
11
  import { TCStateContext } from '../../context/TopContentContext';
12
+ // import { isClusterIdEnabledForProduct } from '../../utils/caseOpenshiftClusterIdUtils';
12
13
  import { FileDiag } from '../CaseInformation/FileDiag';
13
14
  import { OpenShiftClusterId } from '../CaseManagement/OpenShiftClusterId';
14
15
  import ClusterRecommendations from '../Recommendations/ClusterRecommendations';
@@ -36,16 +37,22 @@ function TroubleshootSection(props) {
36
37
  const canShowTopContent = !canShowTopProducts && ((_a = topContent === null || topContent === void 0 ? void 0 : topContent.data) === null || _a === void 0 ? void 0 : _a.length) > 0;
37
38
  const canAddAttachments = ability.can(resourceActions.PATCH, resources.CASE_CREATE, CaseListFields.ATTACHMENTS);
38
39
  const isNotAnIdea = caseType !== PreviousCaseTypes.FEATURE_ENHANCEMENT;
40
+ const ParentSection = ({ children }) => {
41
+ if (!children) {
42
+ return null;
43
+ }
44
+ return React.createElement("section", { className: "parent-section" }, children);
45
+ };
39
46
  return (React.createElement(React.Fragment, null,
40
- !isCreatingCase && (React.createElement("section", null,
47
+ !isCreatingCase && (React.createElement(ParentSection, null,
41
48
  React.createElement(OpenShiftClusterId, { className: "push-bottom" }))),
42
49
  React.createElement("section", null,
43
50
  React.createElement("header", null,
44
51
  React.createElement("h3", null,
45
- React.createElement(Trans, null,
52
+ React.createElement("p", { className: "selected-product-suggestion" },
46
53
  t('Because you selected'),
47
- ' ',
48
- React.createElement("p", { className: "pf-u-font-weight-bold selected-product-suggestion" }, product))),
54
+ " ",
55
+ React.createElement("b", null, product))),
49
56
  React.createElement(LoadingDots, { show: topContent.isFetching }),
50
57
  topContent.data.length === 0 && (React.createElement(Card, { id: "card", className: "card-support top-recommendations pf-u-mb-md", isCompact: true },
51
58
  React.createElement(CardHeader, { "aria-label": t('Popular solutions and docs'), className: "popular-solutions" },
@@ -54,10 +61,10 @@ function TroubleshootSection(props) {
54
61
  React.createElement(CardBody, { "aria-label": t('No recommendations for this product'), className: "file-recs-no-recommendation pf-u-mt-md" },
55
62
  React.createElement(Trans, null, "No recommendations for this product")))),
56
63
  React.createElement(ErrorBoundary, { errorMsgInfo: { message: t('There was an error loading suggestions') } }, canShowTopContent && !isEmpty(version) && React.createElement(Suggestions, null)),
57
- !isCreatingCase && React.createElement(ClusterRecommendations, { className: "push-top" }))),
64
+ !isCreatingCase && React.createElement(ClusterRecommendations, { className: "pf-u-mt-lg" }))),
58
65
  React.createElement("section", { className: "pf-u-mt-lg" },
59
66
  isNotAnIdea && React.createElement(InsightsResults, { isDisplayOnMain: true }),
60
- React.createElement("div", { className: "push-top" }, canAddAttachments ? (React.createElement(FileDiag, null)) : (React.createElement(React.Fragment, null,
67
+ React.createElement("div", { className: "pf-u-mt-lg" }, canAddAttachments ? (React.createElement(FileDiag, null)) : (React.createElement(React.Fragment, null,
61
68
  React.createElement(Card, { id: "card", className: "card-support card-white file-diag", isCompact: true },
62
69
  React.createElement(CardHeader, { "aria-label": !isNotAnIdea || loggedInUsersAccount.data.secureSupport
63
70
  ? t('File uploader')
@@ -95,7 +95,7 @@ export default function FileLister(props) {
95
95
  React.createElement("span", { className: "sr-only" }, "Selected files"),
96
96
  React.createElement("ul", { className: "file-diag-list" }, map(props.selectedLocalFiles, (localFile, index) => {
97
97
  var _a;
98
- return isFileDeleted(localFile.uploadProgress.uploadStatus) ? (React.createElement(React.Fragment, { key: index })) : (React.createElement("li", { key: index, className: `${localFile.uploadability.ableToUpload
98
+ return isFileDeleted(localFile.uploadProgress.uploadStatus) ? (React.createElement(React.Fragment, { key: index })) : (React.createElement("li", { key: index, className: `file-upload-group ${localFile.uploadability.ableToUpload
99
99
  ? `file-${index + 1}`
100
100
  : `file-${index + 1} text-error`}` },
101
101
  React.createElement("div", { className: "file-name" },
@@ -1 +1 @@
1
- {"version":3,"file":"UploadButton.d.ts","sourceRoot":"","sources":["../../../../../src/components/shared/fileUpload/UploadButton.tsx"],"names":[],"mappings":"AACA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAO1C,QAAA,MAAM,YAAY;;;;;CAKjB,CAAC;AAEF,aAAK,YAAY,GAAG,OAAO,YAAY,CAAC;AAExC,MAAM,WAAW,MAAO,SAAQ,YAAY;IACxC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,WAAW,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,EAAE,UAAU,CAAC,KAAK,IAAI,CAAC;IAC9E,WAAW,EAAE,OAAO,CAAC;CACxB;AAED,iBAAS,gBAAgB,CAAC,KAAK,EAAE,MAAM,eAyCtC;kBAzCQ,gBAAgB;;;;;;;;AA4CzB,OAAO,EAAE,gBAAgB,EAAE,CAAC"}
1
+ {"version":3,"file":"UploadButton.d.ts","sourceRoot":"","sources":["../../../../../src/components/shared/fileUpload/UploadButton.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAO1C,QAAA,MAAM,YAAY;;;;;CAKjB,CAAC;AAEF,aAAK,YAAY,GAAG,OAAO,YAAY,CAAC;AAExC,MAAM,WAAW,MAAO,SAAQ,YAAY;IACxC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,WAAW,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,EAAE,UAAU,CAAC,KAAK,IAAI,CAAC;IAC9E,WAAW,EAAE,OAAO,CAAC;CACxB;AAED,iBAAS,gBAAgB,CAAC,KAAK,EAAE,MAAM,eAyCtC;kBAzCQ,gBAAgB;;;;;;;;AA4CzB,OAAO,EAAE,gBAAgB,EAAE,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { Button } from '@patternfly/react-core';
1
2
  import { ability, resourceActions, resources } from '@rh-support/user-permissions';
2
3
  import React, { useContext } from 'react';
3
4
  import { useTranslation } from 'react-i18next';
@@ -24,7 +25,7 @@ function FileUploadButton(props) {
24
25
  if (props.isSessionId && !canUseSessionManagement) {
25
26
  return React.createElement(React.Fragment, null);
26
27
  }
27
- return (React.createElement(React.Fragment, null, hasSomeSelectedFiles(selectedLocalFiles) && (React.createElement("div", { className: props.className }, hasSomeUnUploadedAttachments(selectedLocalFiles) ? (React.createElement("button", { type: "button", className: "btn btn-app", "data-tracking-id": "file-upload-all", onClick: onUploadAll }, t(props.uploadBtnLabel))) : props.uploadAnotherBtn ? (React.createElement(FileSelectorButton, { isSessionId: props.isSessionId, isPrivate: props.isPrivate, "data-tracking-id": "file-selector-button", className: `pf-m-secondary ${hasSomeUnUploadedAttachments(selectedLocalFiles) && 'm-l-1'}`, buttonLabel: t('Upload new file') })) : null))));
28
+ return (React.createElement(React.Fragment, null, hasSomeSelectedFiles(selectedLocalFiles) && (React.createElement("div", { className: props.className }, hasSomeUnUploadedAttachments(selectedLocalFiles) ? (React.createElement(Button, { type: "button", className: "btn btn-app", "data-tracking-id": "file-upload-all", onClick: onUploadAll }, t(props.uploadBtnLabel))) : props.uploadAnotherBtn ? (React.createElement(FileSelectorButton, { isSessionId: props.isSessionId, isPrivate: props.isPrivate, "data-tracking-id": "file-selector-button", className: `pf-m-secondary ${hasSomeUnUploadedAttachments(selectedLocalFiles) && 'm-l-1'}`, buttonLabel: t('Upload new file') })) : null))));
28
29
  }
29
30
  FileUploadButton.defaultProps = defaultProps;
30
31
  export { FileUploadButton };
@@ -1 +1 @@
1
- {"version":3,"file":"WidgetFileUploader.d.ts","sourceRoot":"","sources":["../../../../../src/components/shared/fileUpload/WidgetFileUploader.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAE5D,OAAO,KAA0C,MAAM,OAAO,CAAC;AA2B/D,OAAO,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAC;AAInD,UAAU,MAAO,SAAQ,wBAAwB,EAAE,gBAAgB;IAC/D,UAAU,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC;IACtC,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;CACpB;AAYD,iBAAS,kBAAkB,CAAC,KAAK,EAAE,MAAM,eAwLxC;kBAxLQ,kBAAkB;;;AA4L3B,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
1
+ {"version":3,"file":"WidgetFileUploader.d.ts","sourceRoot":"","sources":["../../../../../src/components/shared/fileUpload/WidgetFileUploader.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAE5D,OAAO,KAA0C,MAAM,OAAO,CAAC;AA0B/D,OAAO,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAC;AAInD,UAAU,MAAO,SAAQ,wBAAwB,EAAE,gBAAgB;IAC/D,UAAU,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC;IACtC,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;CACpB;AAYD,iBAAS,kBAAkB,CAAC,KAAK,EAAE,MAAM,eA+MxC;kBA/MQ,kBAAkB;;;AAmN3B,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
@@ -7,7 +7,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
7
7
  step((generator = generator.apply(thisArg, _arguments || [])).next());
8
8
  });
9
9
  };
10
- import { Button } from '@patternfly/react-core';
10
+ import { Alert, Button } from '@patternfly/react-core';
11
11
  import { ToastNotification } from '@rh-support/components';
12
12
  import { getText } from '@rh-support/utils';
13
13
  import React, { useContext, useEffect, useState } from 'react';
@@ -16,7 +16,6 @@ import { RulesDispatchContext, RulesStateContext } from '../../../context/RulesC
16
16
  import { RulesReducerConstants } from '../../../reducers/RulesReducer';
17
17
  import FileLister from './FileLister';
18
18
  import WidgetFileSelector from './fileSelectors/WidgetFileSelector';
19
- import WidgetFileSelectorImage from './fileSelectors/WidgetFileSelectorImage';
20
19
  import { doSosReportAnalysisForFile, hasAnalysedSomeAttachments, hasSomeSelectedFiles, hasUploadedSomeAttachments, isAnalysingAnyAttachment, isAnalysisNotStarted, isRestoredFromSession, } from './reducer/AttachmentHelper';
21
20
  import { defaultAnalysisMetadata, defaultUploadMetadata, onFilesSelect, UploadStatusConstants, } from './reducer/AttachmentReducer';
22
21
  import { AttachmentDispatchContext, AttachmentStateContext } from './reducer/AttachmentReducerContext';
@@ -40,12 +39,26 @@ function WidgetFileUploader(props) {
40
39
  const { rulesState } = useContext(RulesStateContext);
41
40
  const [showViewRecBtn, setShowViewRecBtn] = useState(false);
42
41
  const { editFile, removeFile, retryUpload, uploadAll, retryAnalysis } = useFileUploader(props);
42
+ const [unallowedLocalFileExists, setUnallowedLocalFileExists] = useState(false);
43
43
  useEffect(() => {
44
44
  if (rulesState.triggerRuleNotification) {
45
45
  !showViewRecBtn && setShowViewRecBtn(true);
46
46
  }
47
47
  // eslint-disable-next-line react-hooks/exhaustive-deps
48
48
  }, [rulesState.triggerRuleNotification]);
49
+ const allowedTypesIdea = ['image/jpeg', 'image/png', 'image/jpg', 'image/gif'];
50
+ useEffect(() => {
51
+ const checkUnallowedFiles = (selectedLocalFiles, isIdea) => {
52
+ let unallowedFiles = [];
53
+ if (isIdea) {
54
+ unallowedFiles = selectedLocalFiles.filter((file) => !allowedTypesIdea.includes(file.type));
55
+ }
56
+ let hasUnallowedFiles = unallowedFiles.length > 0;
57
+ setUnallowedLocalFileExists(hasUnallowedFiles);
58
+ };
59
+ checkUnallowedFiles(selectedLocalFiles, props.isIdea);
60
+ // eslint-disable-next-line react-hooks/exhaustive-deps
61
+ }, [selectedLocalFiles]);
49
62
  const onViewRecBtnClick = () => {
50
63
  rulesDispatch({
51
64
  type: RulesReducerConstants.triggerEARulesModalVisibiltyChange,
@@ -125,7 +138,7 @@ function WidgetFileUploader(props) {
125
138
  return (React.createElement("div", { className: `card card-white card-support file-diag ${props.className || ''}`, onPaste: handlePaste },
126
139
  React.createElement("h3", { className: "card-heading" }, props.isIdea || props.isSecureSupport ? (React.createElement(Trans, null, "File uploader")) : (React.createElement(Trans, null, "Upload file to analyze"))),
127
140
  React.createElement("div", { className: "card-body" },
128
- props.isIdea ? (React.createElement(WidgetFileSelectorImage, { isSessionId: props.isSessionId, isPrivate: props.isPrivate })) : (React.createElement(WidgetFileSelector, { isSessionId: props.isSessionId, isPrivate: props.isPrivate })),
141
+ React.createElement(WidgetFileSelector, { isSessionId: props.isSessionId, isPrivate: props.isPrivate, isIdea: props.isIdea }),
129
142
  !hasSomeSelectedFiles(selectedLocalFiles) ? ((!props.isIdea && props.helperText) || (React.createElement("p", { className: "pf-u-mt-sm" },
130
143
  !props.isIdea ? (React.createElement(Trans, { i18nKey: "i18nUploadSosReport" },
131
144
  "Upload a",
@@ -134,6 +147,7 @@ function WidgetFileUploader(props) {
134
147
  "to help us provide the best solutions for your system.")) : (React.createElement("span", { className: "pf-u-font-family-redhatVF-heading-sans-serif pf-u-color-300" },
135
148
  React.createElement(Trans, null, "Allowed file types: png, gif, jpg, jpeg."))),
136
149
  ' '))) : (React.createElement(React.Fragment, null,
150
+ unallowedLocalFileExists && (React.createElement(Alert, { variant: "danger", title: "File type is not allowed on this case type. Please remove file to proceed." })),
137
151
  React.createElement(FileLister, { selectedLocalFiles: attachmentState.caseFiles.selectedLocalFiles, onFileEdit: editFile, onFileRemove: removeFile, onRetry: retryUpload, onRetryAnalysis: retryAnalysis, isSessionId: props.isSessionId, showSlowUploadMsg: attachmentState.showUploadingOnSlowConnectionMsg }),
138
152
  hasUploadedSomeAttachments(selectedLocalFiles) && !props.isIdea && (React.createElement("p", null,
139
153
  React.createElement(Trans, null, "If you can't find a solution, all files are moved to your case."))))),
@@ -113,7 +113,7 @@ i.web-icon-check {
113
113
  }
114
114
 
115
115
  .file-diag .file-diag-list li:not(.text-error) label {
116
- padding-bottom: 6px;
116
+ padding-bottom: 16px;
117
117
  }
118
118
 
119
119
  .file-diag .file-diag-list label i.icon-warning,
@@ -2,7 +2,8 @@ import { IDClassNameProps } from '@rh-support/types/shared';
2
2
  interface IProps extends IDClassNameProps {
3
3
  isSessionId: boolean;
4
4
  isPrivate: boolean;
5
+ isIdea?: boolean;
5
6
  }
6
- declare function WidgetFileSelector({ id, className, isSessionId, isPrivate }: IProps): JSX.Element;
7
+ declare function WidgetFileSelector({ id, className, isSessionId, isPrivate, isIdea }: IProps): JSX.Element;
7
8
  export default WidgetFileSelector;
8
9
  //# sourceMappingURL=WidgetFileSelector.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"WidgetFileSelector.d.ts","sourceRoot":"","sources":["../../../../../../src/components/shared/fileUpload/fileSelectors/WidgetFileSelector.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAQ5D,UAAU,MAAO,SAAQ,gBAAgB;IACrC,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;CACtB;AAED,iBAAS,kBAAkB,CAAC,EAAE,EAAO,EAAE,SAAc,EAAE,WAAW,EAAE,SAAiB,EAAE,EAAE,MAAM,eAqC9F;AAED,eAAe,kBAAkB,CAAC"}
1
+ {"version":3,"file":"WidgetFileSelector.d.ts","sourceRoot":"","sources":["../../../../../../src/components/shared/fileUpload/fileSelectors/WidgetFileSelector.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAS5D,UAAU,MAAO,SAAQ,gBAAgB;IACrC,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,iBAAS,kBAAkB,CAAC,EAAE,EAAO,EAAE,SAAc,EAAE,WAAW,EAAE,SAAiB,EAAE,MAAc,EAAE,EAAE,MAAM,eAiE9G;AAED,eAAe,kBAAkB,CAAC"}
@@ -1,28 +1,46 @@
1
+ import { humanizeSize } from '@rh-support/utils';
1
2
  import React, { useContext } from 'react';
2
3
  import { useDropzone } from 'react-dropzone';
3
4
  import { Trans, useTranslation } from 'react-i18next';
4
5
  import { onDrop } from '../reducer/AttachmentHelper';
5
6
  import { AttachmentDispatchContext } from '../reducer/AttachmentReducerContext';
6
- function WidgetFileSelector({ id = '', className = '', isSessionId, isPrivate = false }) {
7
+ function WidgetFileSelector({ id = '', className = '', isSessionId, isPrivate = false, isIdea = false }) {
7
8
  const { t } = useTranslation();
9
+ const MAX_SIZE = isIdea ? 5242880 : undefined;
8
10
  // Attachment Reducer Related
9
11
  const dispatchToAttachmentReducer = useContext(AttachmentDispatchContext);
10
- const { getRootProps, getInputProps, isDragActive, inputRef } = useDropzone({
12
+ const dropzoneProps = {
11
13
  onDrop: onDrop(dispatchToAttachmentReducer, isSessionId, isPrivate),
12
- });
14
+ accept: isIdea ? ['.jpeg', '.png', '.jpg', '.gif'] : undefined,
15
+ maxSize: MAX_SIZE,
16
+ };
17
+ const { getRootProps, getInputProps, isDragActive, inputRef, rejectedFiles } = useDropzone(dropzoneProps);
13
18
  const onLabelClick = (evt) => {
14
19
  // so that file selector doesn't open twice
15
20
  // https://github.com/react-dropzone/react-dropzone/issues/182
16
21
  evt.stopPropagation();
17
- // since we are stopping the propogation the click event handler inside the
22
+ // since we are stopping the propagation the click event handler inside the
18
23
  // react-dropzone doesn't get triggered. So we need to manually clear the input value
19
- // so that user can attach same file twice
24
+ // so that user can attach the same file twice
20
25
  inputRef.current.value = null;
21
26
  };
22
- return (React.createElement("label", Object.assign({ className: "file-diag-dragndrop", htmlFor: "file-diag-selector" }, getRootProps({ onClick: onLabelClick }), { "data-tracking-id": "file-selector-widget-main" }),
23
- React.createElement("input", Object.assign({ id: "file-diag-selector" }, getInputProps())),
24
- isDragActive ? (t(`Drop your file here...`)) : (React.createElement(React.Fragment, null,
25
- React.createElement("span", null,
26
- React.createElement(Trans, null, "Drag and drop, paste, or browse to upload a file"))))));
27
+ return (React.createElement(React.Fragment, null,
28
+ React.createElement("label", Object.assign({ className: "file-diag-dragndrop", htmlFor: "file-diag-selector" }, getRootProps({ onClick: onLabelClick }), { "data-tracking-id": "file-selector-widget-main" }),
29
+ React.createElement("input", Object.assign({ id: "file-diag-selector" }, getInputProps())),
30
+ isDragActive ? (t(`Drop your file here...`)) : (React.createElement(Trans, null, "Drag and drop, paste, or browse to upload a file")),
31
+ isIdea && (React.createElement("div", { className: "pf-u-text-align-center pf-u-color-300 pf-u-font-weight-normal" },
32
+ React.createElement(Trans, null, "Files must be less than 5 MB.")))),
33
+ isIdea && (React.createElement("p", { className: "pf-u-danger-color-200" }, rejectedFiles.map((rejectedFile) => {
34
+ const isImage = /image\/(png|gif|jpe?g)/.test(rejectedFile.type);
35
+ return !isImage ? (React.createElement("div", null,
36
+ rejectedFile.name,
37
+ " ",
38
+ React.createElement(Trans, null, "is not an allowed file type or an image "))) : rejectedFile.size > MAX_SIZE ? (React.createElement("div", null,
39
+ rejectedFile.name,
40
+ " ",
41
+ React.createElement(Trans, null, "exceeded max size limit of"),
42
+ " ",
43
+ humanizeSize(MAX_SIZE))) : ('');
44
+ })))));
27
45
  }
28
46
  export default WidgetFileSelector;
@@ -1 +1 @@
1
- {"version":3,"file":"useIsSectionValid.d.ts","sourceRoot":"","sources":["../../../../src/components/shared/useIsSectionValid.tsx"],"names":[],"mappings":"AAyBA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAEnE,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,gBAAgB;;;;;EA4K9D"}
1
+ {"version":3,"file":"useIsSectionValid.d.ts","sourceRoot":"","sources":["../../../../src/components/shared/useIsSectionValid.tsx"],"names":[],"mappings":"AAyBA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAInE,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,gBAAgB;;;;;EAmM9D"}
@@ -10,9 +10,10 @@ import { TCStateContext } from '../../context/TopContentContext';
10
10
  import { CASE_REFERENCE_NUMBER_LIMIT, CONTACT_INFO_24X7_LIMIT, DESCRIPTION_LENGTH_LIMIT, HOSTNAME_LENGTH_LIMIT, PHONE_LIMIT, SUMMARY_LENGTH_LIMIT, } from '../../reducers/CaseConstNTypes';
11
11
  import { isCaseInformationSectionValid, isCaseManagementStateValid, isCaseStateValid, isClusterIDValid, isIdeaCaseStateValid, } from '../../reducers/CaseHelpers';
12
12
  import { AppRouteSections } from '../../reducers/RouteConstNTypes';
13
+ import { AttachmentStateContext } from './fileUpload/reducer/AttachmentReducerContext';
13
14
  export function useIsSectionValid(sectionName) {
14
15
  var _a, _b;
15
- const { caseState, caseType, product, version, contactSSOName, accountNumber, summary, description, hostname, contactInfo24x7, alternateId, selectedAccountDetails, phone, } = useCaseSelector((state) => ({
16
+ const { caseState, caseType, product, version, contactSSOName, accountNumber, summary, description, hostname, contactInfo24x7, alternateId, selectedAccountDetails, phoneCountryCode, phoneAreaCodePrefixLineNumber, } = useCaseSelector((state) => ({
16
17
  caseState: state,
17
18
  caseType: state.caseDetails.caseType,
18
19
  product: state.caseDetails.product,
@@ -26,13 +27,25 @@ export function useIsSectionValid(sectionName) {
26
27
  contactInfo24x7: state.caseDetails.contactInfo24x7,
27
28
  alternateId: state.caseDetails.alternateId,
28
29
  selectedAccountDetails: state.selectedAccountDetails,
29
- phone: state.caseDetails.phone,
30
+ phoneCountryCode: state.caseDetails.phoneCountryCode,
31
+ phoneAreaCodePrefixLineNumber: state.caseDetails.phoneAreaCodePrefixLineNumber,
30
32
  }), isEqual);
31
33
  const { globalMetadataState: { allProducts, loggedInUserJwtToken }, } = useContext(GlobalMetadataStateContext);
32
34
  const { topContentState: { topContent }, } = useContext(TCStateContext);
33
35
  const { recommendationState } = useContext(RecommendationStateContext);
34
36
  const isEntitledProduct = (_b = find((_a = allProducts === null || allProducts === void 0 ? void 0 : allProducts.data) === null || _a === void 0 ? void 0 : _a.productsResult, (p) => p.product === caseState.caseDetails.product)) === null || _b === void 0 ? void 0 : _b.isEntitledProduct;
35
37
  const { routeState: { activeSection, isSearchIntent }, } = useContext(RouteContext);
38
+ const { attachmentState } = useContext(AttachmentStateContext);
39
+ const selectedLocalFiles = attachmentState.caseFiles.selectedLocalFiles;
40
+ const allowedTypesIdea = ['image/jpeg', 'image/png', 'image/jpg', 'image/gif'];
41
+ const checkUnallowedFiles = () => {
42
+ let unallowedFiles = [];
43
+ if (caseType === 'Feature / Enhancement Request') {
44
+ unallowedFiles = selectedLocalFiles.filter((file) => !allowedTypesIdea.includes(file.type));
45
+ }
46
+ let hasUnallowedFiles = unallowedFiles.length > 0;
47
+ return !hasUnallowedFiles; // we want it false to trigger the error if its true
48
+ };
36
49
  const isGetSupportSectionValidLocal = () => {
37
50
  return (!isEmpty(caseType) &&
38
51
  !isEmpty(accountNumber) &&
@@ -54,11 +67,13 @@ export function useIsSectionValid(sectionName) {
54
67
  ? contactInfo24x7.length <= CONTACT_INFO_24X7_LIMIT
55
68
  : true;
56
69
  const hasAlternateCaseIdValidLength = alternateId ? alternateId.length <= CASE_REFERENCE_NUMBER_LIMIT : true;
57
- const hasSppliedPhoneValidLength = phone ? phone.length <= PHONE_LIMIT : true;
70
+ const hasSuppliedPhoneValidLength = phoneAreaCodePrefixLineNumber || phoneCountryCode
71
+ ? phoneCountryCode.length + phoneAreaCodePrefixLineNumber.length + 1 <= PHONE_LIMIT
72
+ : true;
58
73
  return (isCaseManagementStateValid(caseState, loggedInUserJwtToken) &&
59
74
  hasContactInfo24x7ValidLength &&
60
75
  hasAlternateCaseIdValidLength &&
61
- hasSppliedPhoneValidLength);
76
+ hasSuppliedPhoneValidLength);
62
77
  };
63
78
  const isTroubleshootSectionValid = () => {
64
79
  var _a;
@@ -80,7 +95,8 @@ export function useIsSectionValid(sectionName) {
80
95
  const isDescribeIdeaSectionValid = () => {
81
96
  return (isCaseManagementStateValid(caseState, loggedInUserJwtToken) &&
82
97
  isEntitledProduct &&
83
- isIdeaCaseStateValid(caseState, loggedInUserJwtToken));
98
+ isIdeaCaseStateValid(caseState, loggedInUserJwtToken) &&
99
+ checkUnallowedFiles());
84
100
  };
85
101
  const isCaseDescribeMoreSectionValidLocal = () => {
86
102
  var _a;
@@ -88,7 +104,9 @@ export function useIsSectionValid(sectionName) {
88
104
  return (!caseState.hasInvalidEntitlements &&
89
105
  isClusterIDValid(caseState, (_a = allProducts.data) === null || _a === void 0 ? void 0 : _a.productsResult) &&
90
106
  isCaseInformationSectionValid(caseState, loggedInUserJwtToken) &&
91
- hostnameIsValid);
107
+ hostnameIsValid
108
+ //here
109
+ );
92
110
  };
93
111
  const isSectionValid = (sectionNameLocal) => {
94
112
  if (!sectionNameLocal)
@@ -1 +1 @@
1
- {"version":3,"file":"GlobalTroubleshootEffects.d.ts","sourceRoot":"","sources":["../../../../src/components/wizardLayout/GlobalTroubleshootEffects.tsx"],"names":[],"mappings":"AAWA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAWvD,OAAO,EAAqB,eAAe,EAAE,MAAM,iCAAiC,CAAC;AASrF,UAAU,MAAM;IACZ,UAAU,EAAE,mBAAmB,CAAC,eAAe,CAAC,CAAC;CACpD;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,MAAM,eA+VtD"}
1
+ {"version":3,"file":"GlobalTroubleshootEffects.d.ts","sourceRoot":"","sources":["../../../../src/components/wizardLayout/GlobalTroubleshootEffects.tsx"],"names":[],"mappings":"AAWA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAWvD,OAAO,EAAqB,eAAe,EAAE,MAAM,iCAAiC,CAAC;AASrF,UAAU,MAAM;IACZ,UAAU,EAAE,mBAAmB,CAAC,eAAe,CAAC,CAAC;CACpD;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,MAAM,eAmWtD"}
@@ -174,8 +174,12 @@ export function GlobalTroubleshootEffects(props) {
174
174
  * Setting supplied phone number
175
175
  */
176
176
  useEffect(() => {
177
+ // Since we are receiving both `phone` and `supportPhoneNumber` from the user contact API, it is causing confusion regarding which field should be used to pre-populate the user contact information.
178
+ // Hence, we are going to honor `supportPhoneAreaCodePrefixLineNumber` and `supportPhoneCountryCode` for it.
177
179
  setCaseDetails(caseDispatch, {
178
180
  phone: loggedInUser.data.phone,
181
+ phoneAreaCodePrefixLineNumber: loggedInUser.data.supportPhoneAreaCodePrefixLineNumber,
182
+ phoneCountryCode: loggedInUser.data.supportPhoneCountryCode,
179
183
  });
180
184
  }, [caseDispatch, loggedInUser.data]);
181
185
  /**
@@ -12,5 +12,4 @@ 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_INSTRUCTION = "A current phone number with the country code helps us support you better.";
16
15
  //# 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,iBAAiB,8EAA8E,CAAC"}
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"}
@@ -14,4 +14,3 @@ 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_INSTRUCTION = 'A current phone number with the country code helps us support you better.';
@@ -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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"}
@@ -136,7 +136,7 @@ export const initialCaseState = {
136
136
  caseResourceLinks: [],
137
137
  hostname: undefined,
138
138
  cep: undefined,
139
- createdDate: null,
139
+ createdDate: '',
140
140
  createdById: '',
141
141
  ownerId: '',
142
142
  alternateId: '',
@@ -150,6 +150,8 @@ export const initialCaseState = {
150
150
  noClusterIdReasonExplanation: '',
151
151
  openshiftClusterVersion: '',
152
152
  phone: '',
153
+ phoneCountryCode: '',
154
+ phoneAreaCodePrefixLineNumber: '',
153
155
  suppliedPhoneNumberVerified: undefined,
154
156
  },
155
157
  customerEscalation: false,
@@ -169,7 +171,7 @@ export const initialCaseState = {
169
171
  },
170
172
  isPostingCep: false,
171
173
  isPostingCepError: false,
172
- isPostingCepErrorMessage: undefined,
174
+ isPostingCepErrorMessage: '',
173
175
  selectedAccountDetails: getApiResourceObject({}),
174
176
  selectedOwner: getApiResourceObject({}),
175
177
  ownersCaseGroups: getApiResourceObject(),
@@ -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;AAkB3D,OAAO,EAUH,UAAU,EAgBb,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,OAiBF,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,CAyEtB,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,CA+BtB,CAAC;AACF,eAAO,MAAM,yBAAyB,gBACrB,QAAQ,YAAY,CAAC,gCACJ,QAAQ,EAAE,KACzC,eA2CF,CAAC"}
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;AAkB3D,OAAO,EAUH,UAAU,EAgBb,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,OA8BxG,CAAC;AAEF,eAAO,MAAM,oBAAoB,cAClB,UAAU,wBACC,QAAQ,eAAe,CAAC,KAC/C,OA0BF,CAAC;AAEF,eAAO,MAAM,0BAA0B,cACxB,UAAU,wBACC,QAAQ,eAAe,CAAC,KAC/C,OAiBF,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,CA2EtB,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,eA+CF,CAAC"}
@@ -130,6 +130,7 @@ export const isClusterIDValid = (caseState, allProducts) => {
130
130
  };
131
131
  // Add a !isEmpty to to make any KTQuestion Mandatory in isCaseStateValid
132
132
  export const isCaseStateValid = (caseState, loggedInUserJwtToken) => {
133
+ var _a, _b;
133
134
  const case_details = caseState.caseDetails;
134
135
  return (!isEmpty(case_details.issue) &&
135
136
  isEmpty(case_details.caseNumber) &&
@@ -150,13 +151,15 @@ export const isCaseStateValid = (caseState, loggedInUserJwtToken) => {
150
151
  !isEmpty(case_details.severity) &&
151
152
  !isEmpty(case_details.accountNumberRef) &&
152
153
  !isEmpty(case_details.contactSSOName) &&
153
- case_details.phone.length <= PHONE_LIMIT &&
154
+ ((_a = case_details.phoneCountryCode) === null || _a === void 0 ? void 0 : _a.length) + ((_b = case_details.phoneAreaCodePrefixLineNumber) === null || _b === void 0 ? void 0 : _b.length) + 1 <=
155
+ PHONE_LIMIT &&
154
156
  (caseState.selectedAccountDetails.data.requireCGroupOnCreate
155
157
  ? !isEmpty(case_details.groupNumber) && case_details.groupNumber !== '-1'
156
158
  : true) &&
157
159
  canManageCase(loggedInUserJwtToken));
158
160
  };
159
161
  export const isIdeaCaseStateValid = (caseState, loggedInUserJwtToken) => {
162
+ var _a, _b;
160
163
  const case_details = caseState.caseDetails;
161
164
  return (!isEmpty(case_details.issue) &&
162
165
  isEmpty(case_details.caseNumber) &&
@@ -173,7 +176,8 @@ export const isIdeaCaseStateValid = (caseState, loggedInUserJwtToken) => {
173
176
  !isEmpty(case_details.severity) &&
174
177
  !isEmpty(case_details.accountNumberRef) &&
175
178
  !isEmpty(case_details.contactSSOName) &&
176
- case_details.phone.length <= PHONE_LIMIT &&
179
+ ((_a = case_details.phoneCountryCode) === null || _a === void 0 ? void 0 : _a.length) + ((_b = case_details.phoneAreaCodePrefixLineNumber) === null || _b === void 0 ? void 0 : _b.length) + 1 <=
180
+ PHONE_LIMIT &&
177
181
  (caseState.selectedAccountDetails.data.requireCGroupOnCreate
178
182
  ? !isEmpty(case_details.groupNumber) && case_details.groupNumber !== '-1'
179
183
  : true) &&
@@ -235,7 +239,9 @@ export const createCasePayload = (caseState, sessionItem, isCaseCreate = false)
235
239
  case_details.cep && (casePayload.cep = !!case_details.cep);
236
240
  !isEmpty(case_details.hostname) && (casePayload.hostname = case_details.hostname);
237
241
  !isEmpty(case_details.caseResourceLinks) && (casePayload.caseResourceLinks = case_details.caseResourceLinks);
238
- !isEmpty(case_details.phone) && (casePayload.phone = case_details.phone);
242
+ !isEmpty(case_details.phoneCountryCode) && (casePayload.phoneCountryCode = case_details.phoneCountryCode);
243
+ !isEmpty(case_details.phoneAreaCodePrefixLineNumber) &&
244
+ (casePayload.phoneAreaCodePrefixLineNumber = case_details.phoneAreaCodePrefixLineNumber);
239
245
  case_details.remoteSessionTermsAcked &&
240
246
  (casePayload.remoteSessionTermsAcked = !!case_details.remoteSessionTermsAcked);
241
247
  casePayload.suppliedPhoneNumberVerified = !isEmpty(case_details.suppliedPhoneNumberVerified)
@@ -288,7 +294,7 @@ export const getHasInvalidEntitlements = (caseEntitlements) => {
288
294
  return filter(unionBy(caseEntitlements, 'slaProcessId'), (e) => !!e.slaProcessId).length === 0;
289
295
  };
290
296
  export const getCaseFromSessionDetails = (sessionItem, loggedInUserAccountNumber, loggedInUserSSO) => {
291
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
297
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
292
298
  const { sessionDetails, session } = sessionItem;
293
299
  return {
294
300
  product: sessionDetails.product,
@@ -314,14 +320,15 @@ export const getCaseFromSessionDetails = (sessionItem, loggedInUserAccountNumber
314
320
  alternateId: (_h = sessionDetails.caseAlternateId) !== null && _h !== void 0 ? _h : '',
315
321
  noClusterIdReason: (_j = sessionDetails.noClusterIdReason) !== null && _j !== void 0 ? _j : '',
316
322
  noClusterIdReasonExplanation: (_k = sessionDetails.noClusterIdReasonExplanation) !== null && _k !== void 0 ? _k : '',
317
- phone: (_l = sessionDetails.phone) !== null && _l !== void 0 ? _l : '',
318
- suppliedPhoneNumberVerified: (_m = sessionDetails.suppliedPhoneNumberVerified) !== null && _m !== void 0 ? _m : undefined,
323
+ phoneCountryCode: (_l = sessionDetails.phoneCountryCode) !== null && _l !== void 0 ? _l : '',
324
+ phoneAreaCodePrefixLineNumber: (_m = sessionDetails.phoneAreaCodePrefixLineNumber) !== null && _m !== void 0 ? _m : '',
325
+ suppliedPhoneNumberVerified: (_o = sessionDetails.suppliedPhoneNumberVerified) !== null && _o !== void 0 ? _o : undefined,
319
326
  userAgent: session.userAgent,
320
327
  originatingSystem: session.originatingSystem,
321
328
  };
322
329
  };
323
330
  export const getSessionDetailsFromCase = (caseDetails, selectedNotificationContacts) => {
324
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u;
331
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t;
325
332
  const notifiedUsersInternal = [];
326
333
  const notifiedUsersExternal = [];
327
334
  forEach(selectedNotificationContacts, (contact) => {
@@ -358,7 +365,8 @@ export const getSessionDetailsFromCase = (caseDetails, selectedNotificationConta
358
365
  caseAlternateId: (_o = (_m = caseDetails.alternateId) === null || _m === void 0 ? void 0 : _m.substring(0, CASE_REFERENCE_NUMBER_LIMIT)) !== null && _o !== void 0 ? _o : '',
359
366
  noClusterIdReason: (_q = (_p = caseDetails.noClusterIdReason) === null || _p === void 0 ? void 0 : _p.substring(0, SESSION_NO_CLUSTER_REASON_LENGTH_LIMIT)) !== null && _q !== void 0 ? _q : '',
360
367
  noClusterIdReasonExplanation: (_s = (_r = caseDetails.noClusterIdReasonExplanation) === null || _r === void 0 ? void 0 : _r.substring(0, SESSION_NO_CLUSTER_REASON_EXPLANATION_LENGTH_LIMIT)) !== null && _s !== void 0 ? _s : '',
361
- phone: (_u = (_t = caseDetails.phone) === null || _t === void 0 ? void 0 : _t.substring(0, SESSION_PHONE_LENGTH_LIMIT)) !== null && _u !== void 0 ? _u : '',
368
+ phoneAreaCodePrefixLineNumber: (_t = caseDetails.phoneAreaCodePrefixLineNumber) === null || _t === void 0 ? void 0 : _t.substring(0, SESSION_PHONE_LENGTH_LIMIT - caseDetails.phoneCountryCode.length - 1),
369
+ phoneCountryCode: caseDetails.phoneCountryCode,
362
370
  suppliedPhoneNumberVerified: caseDetails.suppliedPhoneNumberVerified,
363
371
  };
364
372
  };
@@ -1 +1 @@
1
- {"version":3,"file":"CaseReducer.d.ts","sourceRoot":"","sources":["../../../src/reducers/CaseReducer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CaseReducer.d.ts","sourceRoot":"","sources":["../../../src/reducers/CaseReducer.ts"],"names":[],"mappings":"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"}
@@ -153,6 +153,10 @@ export const submitCase = (dispatch, caseDetails, sessionItem, isCaseCreate, err
153
153
  try {
154
154
  const casePayload = createCasePayload(caseDetails, sessionItem, isCaseCreate);
155
155
  const caseNumber = yield publicApi.kase.createCase(casePayload, caseDetails.selectedAccountDetails.data.secureSupport);
156
+ contacts.updateContactBySSO(casePayload.contactSSOName, {
157
+ supportPhoneCountryCode: casePayload.phoneCountryCode,
158
+ supportPhoneAreaCodePrefixLineNumber: casePayload.phoneAreaCodePrefixLineNumber,
159
+ });
156
160
  postCaseCreationProcessing(dispatch, caseNumber, caseDetails);
157
161
  dispatch({ type: CaseReducerConstants.caseCreated, payload: { caseDetails: { caseNumber } } });
158
162
  }
@@ -538,6 +542,8 @@ export const fetchCaseDetails = (dispatch, caseNumber, loggedInUserRights, refre
538
542
  noClusterIdReason: data.noClusterIdReason || '',
539
543
  noClusterIdReasonExplanation: data.noClusterIdReasonExplanation || '',
540
544
  phone: data.phone || '',
545
+ phoneAreaCodePrefixLineNumber: data.phoneAreaCodePrefixLineNumber || '',
546
+ phoneCountryCode: data.phoneCountryCode || '',
541
547
  suppliedPhoneNumberVerified: data.suppliedPhoneNumberVerified || undefined,
542
548
  };
543
549
  caseDetails.chats = data === null || data === void 0 ? void 0 : data.chats;
@@ -448,3 +448,43 @@ pfe-accordion {
448
448
  z-index: 90 !important;
449
449
  }
450
450
  }
451
+
452
+ div.case-details-summary {
453
+ margin-bottom: 1.5rem;
454
+ }
455
+
456
+ div.suggestions-result-section {
457
+ margin-top: 2rem;
458
+ }
459
+
460
+ .all-product-selector-dropdown .pf-c-select__menu-group-title:empty {
461
+ display: none;
462
+ }
463
+
464
+ .green-card-heading {
465
+ font-size: 16px !important;
466
+ }
467
+
468
+ .severity-flex-case-management {
469
+ margin-bottom: 2rem;
470
+ }
471
+
472
+ .update-info-button {
473
+ --pf-c-button--BackgroundColor: #fff;
474
+ --pf-c-button--hover--BackgroundColor: #ededed;
475
+ --pf-c-button--active--BackgroundColor: #ededed;
476
+ --pf-c-button--focus--BackgroundColor: #ededed;
477
+ }
478
+
479
+ .submit-case-check-icon {
480
+ margin-right: 1rem;
481
+ }
482
+
483
+ .file-upload-group {
484
+ margin-top: 1rem !important;
485
+ margin-bottom: 1rem !important;
486
+ }
487
+
488
+ .pf-c-alert p {
489
+ margin-bottom: 0;
490
+ }