@rh-support/troubleshoot 2.1.21 → 2.2.0

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 +2 -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 +12 -8
  48. package/lib/esm/reducers/CaseReducer.d.ts.map +1 -1
  49. package/lib/esm/reducers/CaseReducer.js +2 -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,eAiWtD"}
@@ -176,6 +176,8 @@ export function GlobalTroubleshootEffects(props) {
176
176
  useEffect(() => {
177
177
  setCaseDetails(caseDispatch, {
178
178
  phone: loggedInUser.data.phone,
179
+ phoneAreaCodePrefixLineNumber: loggedInUser.data.supportPhoneAreaCodePrefixLineNumber,
180
+ phoneCountryCode: loggedInUser.data.supportPhoneCountryCode,
179
181
  });
180
182
  }, [caseDispatch, loggedInUser.data]);
181
183
  /**
@@ -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,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,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"}
@@ -150,7 +150,7 @@ export const isCaseStateValid = (caseState, loggedInUserJwtToken) => {
150
150
  !isEmpty(case_details.severity) &&
151
151
  !isEmpty(case_details.accountNumberRef) &&
152
152
  !isEmpty(case_details.contactSSOName) &&
153
- case_details.phone.length <= PHONE_LIMIT &&
153
+ case_details.phoneCountryCode.length + case_details.phoneAreaCodePrefixLineNumber.length + 1 <= PHONE_LIMIT &&
154
154
  (caseState.selectedAccountDetails.data.requireCGroupOnCreate
155
155
  ? !isEmpty(case_details.groupNumber) && case_details.groupNumber !== '-1'
156
156
  : true) &&
@@ -173,7 +173,7 @@ export const isIdeaCaseStateValid = (caseState, loggedInUserJwtToken) => {
173
173
  !isEmpty(case_details.severity) &&
174
174
  !isEmpty(case_details.accountNumberRef) &&
175
175
  !isEmpty(case_details.contactSSOName) &&
176
- case_details.phone.length <= PHONE_LIMIT &&
176
+ case_details.phoneCountryCode.length + case_details.phoneAreaCodePrefixLineNumber.length + 1 <= PHONE_LIMIT &&
177
177
  (caseState.selectedAccountDetails.data.requireCGroupOnCreate
178
178
  ? !isEmpty(case_details.groupNumber) && case_details.groupNumber !== '-1'
179
179
  : true) &&
@@ -235,7 +235,9 @@ export const createCasePayload = (caseState, sessionItem, isCaseCreate = false)
235
235
  case_details.cep && (casePayload.cep = !!case_details.cep);
236
236
  !isEmpty(case_details.hostname) && (casePayload.hostname = case_details.hostname);
237
237
  !isEmpty(case_details.caseResourceLinks) && (casePayload.caseResourceLinks = case_details.caseResourceLinks);
238
- !isEmpty(case_details.phone) && (casePayload.phone = case_details.phone);
238
+ !isEmpty(case_details.phoneCountryCode) && (casePayload.phoneCountryCode = case_details.phoneCountryCode);
239
+ !isEmpty(case_details.phoneAreaCodePrefixLineNumber) &&
240
+ (casePayload.phoneAreaCodePrefixLineNumber = case_details.phoneAreaCodePrefixLineNumber);
239
241
  case_details.remoteSessionTermsAcked &&
240
242
  (casePayload.remoteSessionTermsAcked = !!case_details.remoteSessionTermsAcked);
241
243
  casePayload.suppliedPhoneNumberVerified = !isEmpty(case_details.suppliedPhoneNumberVerified)
@@ -288,7 +290,7 @@ export const getHasInvalidEntitlements = (caseEntitlements) => {
288
290
  return filter(unionBy(caseEntitlements, 'slaProcessId'), (e) => !!e.slaProcessId).length === 0;
289
291
  };
290
292
  export const getCaseFromSessionDetails = (sessionItem, loggedInUserAccountNumber, loggedInUserSSO) => {
291
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
293
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
292
294
  const { sessionDetails, session } = sessionItem;
293
295
  return {
294
296
  product: sessionDetails.product,
@@ -314,14 +316,15 @@ export const getCaseFromSessionDetails = (sessionItem, loggedInUserAccountNumber
314
316
  alternateId: (_h = sessionDetails.caseAlternateId) !== null && _h !== void 0 ? _h : '',
315
317
  noClusterIdReason: (_j = sessionDetails.noClusterIdReason) !== null && _j !== void 0 ? _j : '',
316
318
  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,
319
+ phoneCountryCode: (_l = sessionDetails.phoneCountryCode) !== null && _l !== void 0 ? _l : '',
320
+ phoneAreaCodePrefixLineNumber: (_m = sessionDetails.phoneAreaCodePrefixLineNumber) !== null && _m !== void 0 ? _m : '',
321
+ suppliedPhoneNumberVerified: (_o = sessionDetails.suppliedPhoneNumberVerified) !== null && _o !== void 0 ? _o : undefined,
319
322
  userAgent: session.userAgent,
320
323
  originatingSystem: session.originatingSystem,
321
324
  };
322
325
  };
323
326
  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;
327
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t;
325
328
  const notifiedUsersInternal = [];
326
329
  const notifiedUsersExternal = [];
327
330
  forEach(selectedNotificationContacts, (contact) => {
@@ -358,7 +361,8 @@ export const getSessionDetailsFromCase = (caseDetails, selectedNotificationConta
358
361
  caseAlternateId: (_o = (_m = caseDetails.alternateId) === null || _m === void 0 ? void 0 : _m.substring(0, CASE_REFERENCE_NUMBER_LIMIT)) !== null && _o !== void 0 ? _o : '',
359
362
  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
363
  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 : '',
364
+ phoneAreaCodePrefixLineNumber: (_t = caseDetails.phoneAreaCodePrefixLineNumber) === null || _t === void 0 ? void 0 : _t.substring(0, SESSION_PHONE_LENGTH_LIMIT - caseDetails.phoneCountryCode.length - 1),
365
+ phoneCountryCode: caseDetails.phoneCountryCode,
362
366
  suppliedPhoneNumberVerified: caseDetails.suppliedPhoneNumberVerified,
363
367
  };
364
368
  };
@@ -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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"}
@@ -538,6 +538,8 @@ export const fetchCaseDetails = (dispatch, caseNumber, loggedInUserRights, refre
538
538
  noClusterIdReason: data.noClusterIdReason || '',
539
539
  noClusterIdReasonExplanation: data.noClusterIdReasonExplanation || '',
540
540
  phone: data.phone || '',
541
+ phoneAreaCodePrefixLineNumber: data.phoneAreaCodePrefixLineNumber || '',
542
+ phoneCountryCode: data.phoneCountryCode || '',
541
543
  suppliedPhoneNumberVerified: data.suppliedPhoneNumberVerified || undefined,
542
544
  };
543
545
  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
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rh-support/troubleshoot",
3
- "version": "2.1.21",
3
+ "version": "2.2.0",
4
4
  "publishConfig": {
5
5
  "access": "public",
6
6
  "registry": "https://registry.npmjs.org"
@@ -26,7 +26,7 @@
26
26
  "lib/**/*"
27
27
  ],
28
28
  "peerDependencies": {
29
- "@cee-eng/hydrajs": "4.15.82",
29
+ "@cee-eng/hydrajs": "4.15.86",
30
30
  "@cee-eng/ui-toolkit": "1.1.6",
31
31
  "@patternfly/patternfly": "4.196.7",
32
32
  "@patternfly/pfe-accordion": "1.12.3",
@@ -56,7 +56,7 @@
56
56
  "react-virtualized": "^9.21.2"
57
57
  },
58
58
  "dependencies": {
59
- "@cee-eng/hydrajs": "4.15.82",
59
+ "@cee-eng/hydrajs": "4.15.86",
60
60
  "@cee-eng/ui-toolkit": "1.1.6",
61
61
  "@patternfly/patternfly": "4.196.7",
62
62
  "@patternfly/pfe-accordion": "1.12.3",
@@ -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.0.13",
70
- "@rh-support/react-context": "2.0.13",
69
+ "@rh-support/components": "2.1.0",
70
+ "@rh-support/react-context": "2.1.0",
71
71
  "@rh-support/types": "2.0.2",
72
- "@rh-support/user-permissions": "2.0.11",
73
- "@rh-support/utils": "2.0.11",
72
+ "@rh-support/user-permissions": "2.1.0",
73
+ "@rh-support/utils": "2.1.0",
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": "85c2e3c4430046b6e7e7b5efbee6ed47d7941feb"
136
+ "gitHead": "44f98fdf017d720df673a15bd27a2ac3e3309a88"
137
137
  }