@rh-support/troubleshoot 2.1.12 → 2.1.13-beta-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 (176) hide show
  1. package/lib/esm/components/AccountInfo/AccountSelector.js +1 -1
  2. package/lib/esm/components/AccountInfo/ManagedAccountsDropdown.js +1 -1
  3. package/lib/esm/components/AccountInfo/OwnerSelector.d.ts.map +1 -1
  4. package/lib/esm/components/AccountInfo/OwnerSelector.js +91 -26
  5. package/lib/esm/components/AccountInfo/css/accountSelector.css +4 -0
  6. package/lib/esm/components/CaseEditView/CaseDetailsAside.d.ts.map +1 -1
  7. package/lib/esm/components/CaseEditView/CaseDetailsAside.js +8 -15
  8. package/lib/esm/components/CaseEditView/CaseDetailsTabs.js +1 -1
  9. package/lib/esm/components/CaseEditView/CaseOverview/CaseOwnerInfo.d.ts.map +1 -1
  10. package/lib/esm/components/CaseEditView/CaseOverview/CaseOwnerInfo.js +2 -1
  11. package/lib/esm/components/CaseEditView/CaseOverview/CaseStatus.d.ts.map +1 -1
  12. package/lib/esm/components/CaseEditView/CaseOverview/CaseStatus.js +4 -2
  13. package/lib/esm/components/CaseEditView/CaseOverview/CaseType.d.ts.map +1 -1
  14. package/lib/esm/components/CaseEditView/CaseOverview/CaseType.js +4 -2
  15. package/lib/esm/components/CaseEditView/CaseOverview/DateTime.d.ts.map +1 -1
  16. package/lib/esm/components/CaseEditView/CaseOverview/DateTime.js +4 -2
  17. package/lib/esm/components/CaseEditView/CaseOverview/index.d.ts.map +1 -1
  18. package/lib/esm/components/CaseEditView/CaseOverview/index.js +3 -1
  19. package/lib/esm/components/CaseEditView/PDFContainer.d.ts.map +1 -1
  20. package/lib/esm/components/CaseEditView/PDFContainer.js +3 -10
  21. package/lib/esm/components/CaseEditView/RequestRemoteSession/RemoteSessionAgreement.d.ts.map +1 -1
  22. package/lib/esm/components/CaseEditView/RequestRemoteSession/RemoteSessionAgreement.js +3 -3
  23. package/lib/esm/components/CaseEditView/RequestRemoteSession/RemoteSessionAgreementModal.js +1 -1
  24. package/lib/esm/components/CaseEditView/RequestRemoteSession/index.d.ts +0 -1
  25. package/lib/esm/components/CaseEditView/RequestRemoteSession/index.d.ts.map +1 -1
  26. package/lib/esm/components/CaseEditView/RequestRemoteSession/index.js +0 -1
  27. package/lib/esm/components/CaseEditView/ShareCase/PartnerCaseHelper.js +2 -2
  28. package/lib/esm/components/CaseEditView/ShareCase/TnC.d.ts +0 -2
  29. package/lib/esm/components/CaseEditView/ShareCase/TnC.d.ts.map +1 -1
  30. package/lib/esm/components/CaseEditView/ShareCase/TnC.js +2 -20
  31. package/lib/esm/components/CaseEditView/Tabs/CaseActionPlan/CaseActionPlan.d.ts.map +1 -1
  32. package/lib/esm/components/CaseEditView/Tabs/CaseActionPlan/CaseActionPlan.js +5 -3
  33. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CaseContactPhoneNumber.d.ts.map +1 -1
  34. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CaseContactPhoneNumber.js +119 -42
  35. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CaseDetailsManagement.d.ts.map +1 -1
  36. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CaseDetailsManagement.js +2 -0
  37. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CaseHostname.d.ts.map +1 -1
  38. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CaseHostname.js +5 -2
  39. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CaseOpenshiftClusterId/CaseOpenshiftClusterId.d.ts.map +1 -1
  40. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CaseOpenshiftClusterId/CaseOpenshiftClusterId.js +3 -1
  41. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CasePhoneNumberConfirmAlert.d.ts.map +1 -1
  42. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CasePhoneNumberConfirmAlert.js +8 -5
  43. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CasePhoneNumberSev1ConfirmAlert.d.ts +9 -0
  44. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CasePhoneNumberSev1ConfirmAlert.d.ts.map +1 -0
  45. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CasePhoneNumberSev1ConfirmAlert.js +69 -0
  46. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CaseReferenceNumber.d.ts.map +1 -1
  47. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CaseReferenceNumber.js +5 -3
  48. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/ProductVersion.d.ts.map +1 -1
  49. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/ProductVersion.js +3 -1
  50. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/Summary.d.ts.map +1 -1
  51. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/Summary.js +4 -2
  52. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/CaseComments.d.ts.map +1 -1
  53. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/CaseComments.js +5 -3
  54. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/CaseDiscussion.d.ts.map +1 -1
  55. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/CaseDiscussion.js +1 -1
  56. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/PostComment.d.ts.map +1 -1
  57. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/PostComment.js +3 -1
  58. package/lib/esm/components/CaseInformation/CaseInformation.d.ts.map +1 -1
  59. package/lib/esm/components/CaseInformation/CaseInformation.js +3 -3
  60. package/lib/esm/components/CaseInformation/ContactPhoneNumber.d.ts.map +1 -1
  61. package/lib/esm/components/CaseInformation/ContactPhoneNumber.js +92 -29
  62. package/lib/esm/components/CaseInformation/ContactPhoneNumberPopOver.d.ts +1 -1
  63. package/lib/esm/components/CaseInformation/ContactPhoneNumberPopOver.d.ts.map +1 -1
  64. package/lib/esm/components/CaseInformation/ContactPhoneNumberPopOver.js +5 -8
  65. package/lib/esm/components/CaseInformation/FileDiag.d.ts +5 -1
  66. package/lib/esm/components/CaseInformation/FileDiag.d.ts.map +1 -1
  67. package/lib/esm/components/CaseInformation/FileDiag.js +2 -2
  68. package/lib/esm/components/CaseInformation/Fts.d.ts.map +1 -1
  69. package/lib/esm/components/CaseInformation/Fts.js +5 -3
  70. package/lib/esm/components/CaseInformation/Severity.d.ts.map +1 -1
  71. package/lib/esm/components/CaseInformation/Severity.js +3 -1
  72. package/lib/esm/components/CaseInformation/SupportLevel.d.ts.map +1 -1
  73. package/lib/esm/components/CaseInformation/SupportLevel.js +2 -1
  74. package/lib/esm/components/CaseManagement/CaseLanguageSelector.d.ts.map +1 -1
  75. package/lib/esm/components/CaseManagement/CaseLanguageSelector.js +2 -2
  76. package/lib/esm/components/CaseManagement/CaseManagement.d.ts.map +1 -1
  77. package/lib/esm/components/CaseManagement/CaseManagement.js +4 -17
  78. package/lib/esm/components/CaseManagement/Cep.d.ts.map +1 -1
  79. package/lib/esm/components/CaseManagement/Cep.js +7 -5
  80. package/lib/esm/components/CaseManagement/NoClusterIDReasonSelector.d.ts.map +1 -1
  81. package/lib/esm/components/CaseManagement/NoClusterIDReasonSelector.js +8 -4
  82. package/lib/esm/components/CaseManagement/OpenShiftV3Inputbox.d.ts.map +1 -1
  83. package/lib/esm/components/CaseManagement/OpenShiftV3Inputbox.js +5 -3
  84. package/lib/esm/components/CaseManagement/OpenshiftDropdownV4.d.ts.map +1 -1
  85. package/lib/esm/components/CaseManagement/OpenshiftDropdownV4.js +7 -5
  86. package/lib/esm/components/CaseManagement/RHAssociatesSelector.d.ts.map +1 -1
  87. package/lib/esm/components/CaseManagement/RHAssociatesSelector.js +1 -1
  88. package/lib/esm/components/CaseManagement/SendNotifications/CaseContactSelector.js +1 -1
  89. package/lib/esm/components/EditDescription/EditDescription.d.ts.map +1 -1
  90. package/lib/esm/components/EditDescription/EditDescription.js +4 -2
  91. package/lib/esm/components/IdeaInformation/IdeaInformtion.js +5 -5
  92. package/lib/esm/components/OpenCase/OpenCase.js +2 -2
  93. package/lib/esm/components/OpenCase/SupportTypeSelectorPage.d.ts.map +1 -1
  94. package/lib/esm/components/OpenCase/SupportTypeSelectorPage.js +9 -1
  95. package/lib/esm/components/ProductSelector/AllProductsSelector.js +2 -2
  96. package/lib/esm/components/ProductSelector/NewProductDropdownSelector.d.ts.map +1 -1
  97. package/lib/esm/components/ProductSelector/NewProductDropdownSelector.js +1 -1
  98. package/lib/esm/components/ProductSelector/NewProductVersionSelector.js +1 -1
  99. package/lib/esm/components/ProductSelector/ProductSelector.js +2 -2
  100. package/lib/esm/components/ProductSelector/ProductVersionDropdownSelector.d.ts.map +1 -1
  101. package/lib/esm/components/ProductSelector/ProductVersionDropdownSelector.js +6 -8
  102. package/lib/esm/components/Recommendations/AsideResults.js +1 -1
  103. package/lib/esm/components/Recommendations/ClusterRecommendations.d.ts.map +1 -1
  104. package/lib/esm/components/Recommendations/ClusterRecommendations.js +1 -1
  105. package/lib/esm/components/Recommendations/CriticalSolutionsToast.d.ts.map +1 -1
  106. package/lib/esm/components/Recommendations/CriticalSolutionsToast.js +6 -3
  107. package/lib/esm/components/Recommendations/InsightsResults.js +1 -1
  108. package/lib/esm/components/Recommendations/InsightsRuleInfo.js +1 -1
  109. package/lib/esm/components/Recommendations/RecommendationFeedbackModal.js +1 -1
  110. package/lib/esm/components/Recommendations/RulesModal.d.ts.map +1 -1
  111. package/lib/esm/components/Recommendations/RulesModal.js +25 -9
  112. package/lib/esm/components/RemoteRider/RemoteRiderAcceptanceModal.d.ts.map +1 -1
  113. package/lib/esm/components/RemoteRider/RemoteRiderAcceptanceModal.js +2 -2
  114. package/lib/esm/components/Review/Review.js +3 -3
  115. package/lib/esm/components/SubmitCase/SubmitCase.d.ts.map +1 -1
  116. package/lib/esm/components/SubmitCase/SubmitCase.js +9 -8
  117. package/lib/esm/components/Suggestions/Suggestions.d.ts.map +1 -1
  118. package/lib/esm/components/Suggestions/Suggestions.js +2 -2
  119. package/lib/esm/components/TroubleshootSection/TroubleshootSection.d.ts.map +1 -1
  120. package/lib/esm/components/TroubleshootSection/TroubleshootSection.js +30 -18
  121. package/lib/esm/components/shared/fileUpload/FileLister.d.ts.map +1 -1
  122. package/lib/esm/components/shared/fileUpload/FileLister.js +17 -7
  123. package/lib/esm/components/shared/fileUpload/UploadButton.d.ts.map +1 -1
  124. package/lib/esm/components/shared/fileUpload/UploadButton.js +2 -1
  125. package/lib/esm/components/shared/fileUpload/WidgetFileUploader.d.ts.map +1 -1
  126. package/lib/esm/components/shared/fileUpload/WidgetFileUploader.js +17 -3
  127. package/lib/esm/components/shared/fileUpload/css/fileSelector.css +1 -1
  128. package/lib/esm/components/shared/fileUpload/fileSelectors/FileSelectorButton.js +1 -1
  129. package/lib/esm/components/shared/fileUpload/fileSelectors/WidgetFileSelector.d.ts +2 -1
  130. package/lib/esm/components/shared/fileUpload/fileSelectors/WidgetFileSelector.d.ts.map +1 -1
  131. package/lib/esm/components/shared/fileUpload/fileSelectors/WidgetFileSelector.js +28 -10
  132. package/lib/esm/components/shared/useIsSectionValid.d.ts.map +1 -1
  133. package/lib/esm/components/shared/useIsSectionValid.js +26 -15
  134. package/lib/esm/components/shared/utils.d.ts +1 -0
  135. package/lib/esm/components/shared/utils.d.ts.map +1 -1
  136. package/lib/esm/components/shared/utils.js +12 -0
  137. package/lib/esm/components/wizardLayout/GlobalTroubleshootEffects.d.ts.map +1 -1
  138. package/lib/esm/components/wizardLayout/GlobalTroubleshootEffects.js +4 -0
  139. package/lib/esm/components/wizardLayout/WizardAside.js +1 -1
  140. package/lib/esm/components/wizardLayout/WizardLayout.d.ts.map +1 -1
  141. package/lib/esm/components/wizardLayout/WizardLayout.js +2 -2
  142. package/lib/esm/components/wizardLayout/WizardMain.js +1 -1
  143. package/lib/esm/components/wizardLayout/WizardNavigation.d.ts.map +1 -1
  144. package/lib/esm/components/wizardLayout/WizardNavigation.js +50 -4
  145. package/lib/esm/constants/caseDetailsConstants.d.ts +3 -0
  146. package/lib/esm/constants/caseDetailsConstants.d.ts.map +1 -1
  147. package/lib/esm/constants/caseDetailsConstants.js +3 -0
  148. package/lib/esm/hooks/useResetCaseCreate.d.ts.map +1 -1
  149. package/lib/esm/hooks/useResetCaseCreate.js +3 -1
  150. package/lib/esm/hooks/useWizard.d.ts.map +1 -1
  151. package/lib/esm/hooks/useWizard.js +3 -2
  152. package/lib/esm/reducers/CaseConstNTypes.d.ts +3 -2
  153. package/lib/esm/reducers/CaseConstNTypes.d.ts.map +1 -1
  154. package/lib/esm/reducers/CaseConstNTypes.js +7 -4
  155. package/lib/esm/reducers/CaseHelpers.d.ts.map +1 -1
  156. package/lib/esm/reducers/CaseHelpers.js +16 -8
  157. package/lib/esm/reducers/CaseReducer.d.ts +1 -1
  158. package/lib/esm/reducers/CaseReducer.d.ts.map +1 -1
  159. package/lib/esm/reducers/CaseReducer.js +9 -1
  160. package/lib/esm/scss/_main.scss +27 -221
  161. package/lib/esm/scss/_pf4-overrides.scss +90 -13
  162. package/lib/esm/utils/remoteRiderUtils.d.ts.map +1 -1
  163. package/lib/esm/utils/remoteRiderUtils.js +2 -2
  164. package/package.json +8 -8
  165. package/lib/esm/components/CaseEditView/RequestRemoteSession/ESSRemoteSession.d.ts +0 -11
  166. package/lib/esm/components/CaseEditView/RequestRemoteSession/ESSRemoteSession.d.ts.map +0 -1
  167. package/lib/esm/components/CaseEditView/RequestRemoteSession/ESSRemoteSession.js +0 -38
  168. package/lib/esm/components/CaseEditView/RequestRemoteSession/ESSRemoteSessionModal.d.ts +0 -15
  169. package/lib/esm/components/CaseEditView/RequestRemoteSession/ESSRemoteSessionModal.d.ts.map +0 -1
  170. package/lib/esm/components/CaseEditView/RequestRemoteSession/ESSRemoteSessionModal.js +0 -106
  171. package/lib/esm/components/CaseManagement/ESSRemoteSessionCheckBox.d.ts +0 -3
  172. package/lib/esm/components/CaseManagement/ESSRemoteSessionCheckBox.d.ts.map +0 -1
  173. package/lib/esm/components/CaseManagement/ESSRemoteSessionCheckBox.js +0 -41
  174. package/lib/esm/constants/tncConstants.d.ts +0 -13
  175. package/lib/esm/constants/tncConstants.d.ts.map +0 -1
  176. package/lib/esm/constants/tncConstants.js +0 -12
@@ -7,12 +7,13 @@ import { useCaseSelector } from '../../context/CaseContext';
7
7
  import { RecommendationStateContext } from '../../context/RecommendationContext';
8
8
  import { RouteContext } from '../../context/RouteContext';
9
9
  import { TCStateContext } from '../../context/TopContentContext';
10
- import { CASE_REFERENCE_NUMBER_LIMIT, CONTACT_INFO_24X7_LIMIT, DESCRIPTION_LENGTH_LIMIT, HOSTNAME_LENGTH_LIMIT, PHONE_LIMIT, SUMMARY_LENGTH_LIMIT, } from '../../reducers/CaseConstNTypes';
10
+ import { CASE_REFERENCE_NUMBER_LIMIT, CONTACT_INFO_24X7_LIMIT, DESCRIPTION_LENGTH_LIMIT, HOSTNAME_LENGTH_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, } = useCaseSelector((state) => ({
16
17
  caseState: state,
17
18
  caseType: state.caseDetails.caseType,
18
19
  product: state.caseDetails.product,
@@ -26,13 +27,23 @@ 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
30
  }), isEqual);
31
31
  const { globalMetadataState: { allProducts, loggedInUserJwtToken }, } = useContext(GlobalMetadataStateContext);
32
32
  const { topContentState: { topContent }, } = useContext(TCStateContext);
33
33
  const { recommendationState } = useContext(RecommendationStateContext);
34
34
  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
35
  const { routeState: { activeSection, isSearchIntent }, } = useContext(RouteContext);
36
+ const { attachmentState } = useContext(AttachmentStateContext);
37
+ const selectedLocalFiles = attachmentState.caseFiles.selectedLocalFiles;
38
+ const allowedTypesIdea = ['image/jpeg', 'image/png', 'image/jpg', 'image/gif'];
39
+ const checkUnallowedFiles = () => {
40
+ let unallowedFiles = [];
41
+ if (caseType === 'Feature / Enhancement Request') {
42
+ unallowedFiles = selectedLocalFiles.filter((file) => !allowedTypesIdea.includes(file.type));
43
+ }
44
+ let hasUnallowedFiles = (unallowedFiles === null || unallowedFiles === void 0 ? void 0 : unallowedFiles.length) > 0;
45
+ return !hasUnallowedFiles; // we want it false to trigger the error if its true
46
+ };
36
47
  const isGetSupportSectionValidLocal = () => {
37
48
  return (!isEmpty(caseType) &&
38
49
  !isEmpty(accountNumber) &&
@@ -40,6 +51,7 @@ export function useIsSectionValid(sectionName) {
40
51
  !selectedAccountDetails.data.subscriptionAbuse);
41
52
  };
42
53
  const isSummarizeSectionValid = () => {
54
+ var _a;
43
55
  return (!isEmpty(product) &&
44
56
  !isEmpty(version) &&
45
57
  !allProducts.isFetching &&
@@ -47,29 +59,27 @@ export function useIsSectionValid(sectionName) {
47
59
  !topContent.isFetching &&
48
60
  !isEmpty(summary) &&
49
61
  !recommendationState.isLoadingRecommendations &&
50
- summary.length < SUMMARY_LENGTH_LIMIT);
62
+ ((_a = summary) === null || _a === void 0 ? void 0 : _a.length) < SUMMARY_LENGTH_LIMIT);
51
63
  };
52
64
  const isCaseManagementSectionValid = () => {
53
65
  const hasContactInfo24x7ValidLength = contactInfo24x7
54
- ? contactInfo24x7.length <= CONTACT_INFO_24X7_LIMIT
66
+ ? (contactInfo24x7 === null || contactInfo24x7 === void 0 ? void 0 : contactInfo24x7.length) <= CONTACT_INFO_24X7_LIMIT
55
67
  : true;
56
- const hasAlternateCaseIdValidLength = alternateId ? alternateId.length <= CASE_REFERENCE_NUMBER_LIMIT : true;
57
- const hasSppliedPhoneValidLength = phone ? phone.length <= PHONE_LIMIT : true;
68
+ const hasAlternateCaseIdValidLength = alternateId ? (alternateId === null || alternateId === void 0 ? void 0 : alternateId.length) <= CASE_REFERENCE_NUMBER_LIMIT : true;
58
69
  return (isCaseManagementStateValid(caseState, loggedInUserJwtToken) &&
59
70
  hasContactInfo24x7ValidLength &&
60
- hasAlternateCaseIdValidLength &&
61
- hasSppliedPhoneValidLength);
71
+ hasAlternateCaseIdValidLength);
62
72
  };
63
73
  const isTroubleshootSectionValid = () => {
64
- var _a;
74
+ var _a, _b, _c;
65
75
  // don't check for entitled product if user is on search intent flow
66
76
  const isEntitledProductLocal = isSearchIntent ? true : isEntitledProduct;
67
77
  return (!recommendationState.isLoadingRecommendations &&
68
78
  !isEmpty(summary) &&
69
79
  isEntitledProductLocal &&
70
- summary.length <= SUMMARY_LENGTH_LIMIT &&
71
- description.length <= DESCRIPTION_LENGTH_LIMIT &&
72
- isClusterIDValid(caseState, (_a = allProducts.data) === null || _a === void 0 ? void 0 : _a.productsResult));
80
+ ((_a = summary) === null || _a === void 0 ? void 0 : _a.length) <= SUMMARY_LENGTH_LIMIT &&
81
+ ((_b = description) === null || _b === void 0 ? void 0 : _b.length) <= DESCRIPTION_LENGTH_LIMIT &&
82
+ isClusterIDValid(caseState, (_c = allProducts.data) === null || _c === void 0 ? void 0 : _c.productsResult));
73
83
  };
74
84
  const isReviewSectionValid = () => {
75
85
  var _a;
@@ -80,11 +90,12 @@ export function useIsSectionValid(sectionName) {
80
90
  const isDescribeIdeaSectionValid = () => {
81
91
  return (isCaseManagementStateValid(caseState, loggedInUserJwtToken) &&
82
92
  isEntitledProduct &&
83
- isIdeaCaseStateValid(caseState, loggedInUserJwtToken));
93
+ isIdeaCaseStateValid(caseState, loggedInUserJwtToken) &&
94
+ checkUnallowedFiles());
84
95
  };
85
96
  const isCaseDescribeMoreSectionValidLocal = () => {
86
97
  var _a;
87
- const hostnameIsValid = hostname ? hostname.length <= HOSTNAME_LENGTH_LIMIT : true;
98
+ const hostnameIsValid = hostname ? (hostname === null || hostname === void 0 ? void 0 : hostname.length) <= HOSTNAME_LENGTH_LIMIT : true;
88
99
  return (!caseState.hasInvalidEntitlements &&
89
100
  isClusterIDValid(caseState, (_a = allProducts.data) === null || _a === void 0 ? void 0 : _a.productsResult) &&
90
101
  isCaseInformationSectionValid(caseState, loggedInUserJwtToken) &&
@@ -9,4 +9,5 @@ import { CaseValuesToWatch } from './Constants';
9
9
  * should return a human readable form of the given object.
10
10
  */
11
11
  export declare function getChangedValueTooltip<T>(valueNameCb: (current: T, previous: T) => CaseValuesToWatch, accessor?: (value: T, otherValue: T) => any): (currentValue: T, previousValue: T) => JSX.Element;
12
+ export declare const isPhoneValid: (countryCode: string, phoneLine: string) => boolean;
12
13
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/components/shared/utils.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD;;;;;;;;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"}
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"}
@@ -1,5 +1,7 @@
1
+ import isEmpty from 'lodash/isEmpty';
1
2
  import React from 'react';
2
3
  import { Trans } from 'react-i18next';
4
+ import { PHONE_LIMIT } from '../../reducers/CaseConstNTypes';
3
5
  /**
4
6
  *
5
7
  * A function that returns a translated string for a tooltip of the given case value that is being watched
@@ -24,3 +26,13 @@ export function getChangedValueTooltip(valueNameCb, accessor) {
24
26
  accessor ? accessor(currentValue, previousValue) : currentValue,
25
27
  " ")));
26
28
  }
29
+ export const isPhoneValid = (countryCode, phoneLine) => {
30
+ const regex = /^[\d ()+-]+$/;
31
+ const phoneIncludesCorrectChars = phoneLine ? regex.test(phoneLine.replace(countryCode, '')) : true;
32
+ // To validate case state if country code and phoneline both are available
33
+ // or none of them are available (xor)
34
+ const isCountryCodeFollowsByPhone = isEmpty(countryCode === null || countryCode === void 0 ? void 0 : countryCode.replace('+', '')) === isEmpty(phoneLine) ? true : false;
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;
38
+ };
@@ -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
  /**
@@ -36,7 +36,7 @@ function WizardAside(props) {
36
36
  canShowFileRecommendationSectionsWidget && React.createElement(InsightsResults, { isDisplayOnMain: true }),
37
37
  React.createElement(ClusterRecommendations, { showClusterRecommendationsList: canShowClusterIdReportWidget }),
38
38
  canUseSessionManagement && !isCreatingCase && React.createElement(SessionRestore, { routeProps: props.routeProps }),
39
- canShowFileUploadWidget() && React.createElement(FileDiag, null))));
39
+ canShowFileUploadWidget() && React.createElement(FileDiag, { className: "pf-u-mt-md" }))));
40
40
  }
41
41
  WizardAside.defaultProps = defaultProps;
42
42
  export default WizardAside;
@@ -1 +1 @@
1
- {"version":3,"file":"WizardLayout.d.ts","sourceRoot":"","sources":["../../../../src/components/wizardLayout/WizardLayout.tsx"],"names":[],"mappings":"AASA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAMvD,OAAO,EAAuC,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAavG,UAAU,MAAM;IACZ,UAAU,EAAE,mBAAmB,CAAC,eAAe,CAAC,CAAC;CACpD;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,eAqIzC"}
1
+ {"version":3,"file":"WizardLayout.d.ts","sourceRoot":"","sources":["../../../../src/components/wizardLayout/WizardLayout.tsx"],"names":[],"mappings":"AASA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAMvD,OAAO,EAAuC,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAavG,UAAU,MAAM;IACZ,UAAU,EAAE,mBAAmB,CAAC,eAAe,CAAC,CAAC;CACpD;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,eA4IzC"}
@@ -35,7 +35,7 @@ export function WizardLayout(props) {
35
35
  const caseState = useCaseSelector((state) => state, isEqual);
36
36
  const caseDispatch = useCaseDispatch();
37
37
  const { sessionRestore: { activeSessionId, previousSessions }, } = useContext(SessionRestoreStateContext);
38
- const { globalMetadataState: { allProducts }, } = useContext(GlobalMetadataStateContext);
38
+ const { globalMetadataState: { allProducts, loggedInUser }, } = useContext(GlobalMetadataStateContext);
39
39
  const canAddAttachments = ability.can(resourceActions.PATCH, resources.CASE_CREATE, CaseListFields.ATTACHMENTS);
40
40
  const { attachmentState } = useContext(AttachmentStateContext);
41
41
  const isAnyFileAttachedLocal = isAnyFileAttached(attachmentState.caseFiles.selectedLocalFiles);
@@ -84,7 +84,7 @@ export function WizardLayout(props) {
84
84
  "Try submitting again after a minute. Please ",
85
85
  React.createElement(SupportFeedbackForm, { isInline: true }),
86
86
  " if you continue to see this message.")));
87
- submitCase(caseDispatch, caseState, sessionItem, isCaseCreate, errorMessageCaseSubmit500);
87
+ submitCase(caseDispatch, caseState, sessionItem, isCaseCreate, errorMessageCaseSubmit500, loggedInUser.data.ssoUsername);
88
88
  // reset viewedModals on case submit
89
89
  viewedConfirmationModalsList.current = [];
90
90
  !isReSubmitting &&
@@ -48,7 +48,7 @@ function WizardMain(props) {
48
48
  // in useWizard file then add it to step squences in RouteConstNTypes
49
49
  const steps = getStepsSequece(showRestFlag);
50
50
  return (React.createElement(React.Fragment, null,
51
- steps.length !== 0 && (React.createElement(Route, { path: `${RouteUtils.seBasePath}/(${steps[0].id}|describe-issue)`, render: () => (React.createElement(Wizard, { navAriaLabel: ` navAriaLabel steps `, mainAriaLabel: ` mainAriaLabel content `, steps: steps, footer: CustomFooter, onNext: onNext, onBack: onBack, hideClose: true, backButtonText: t('Go back'), onCurrentStepChanged: onCurrentStepChanged })) })),
51
+ steps.length !== 0 && (React.createElement(Route, { path: `${RouteUtils.seBasePath}/(${steps[0].id}|describe-issue|open-case)`, render: () => (React.createElement(Wizard, { navAriaLabel: ` navAriaLabel steps `, mainAriaLabel: ` mainAriaLabel content `, steps: steps, footer: CustomFooter, onNext: onNext, onBack: onBack, hideClose: true, backButtonText: t('Go back'), onCurrentStepChanged: onCurrentStepChanged })) })),
52
52
  React.createElement(Route, { exact: true, path: `${RouteUtils.seBasePath}/${AppRouteSections.SUBMIT_CASE}`, render: () => renderSubmitCasePage() })));
53
53
  }
54
54
  export default WizardMain;
@@ -1 +1 @@
1
- {"version":3,"file":"WizardNavigation.d.ts","sourceRoot":"","sources":["../../../../src/components/wizardLayout/WizardNavigation.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAInD,OAAO,EAAoB,eAAe,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAI3G,UAAU,MAAM;IACZ,UAAU,EAAE,mBAAmB,CAAC,eAAe,CAAC,CAAC;IACjD,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAC3C,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,mBAAmB,EAAE,CAAC,2BAA2B,EAAE,OAAO,EAAE,gCAAgC,EAAE,OAAO,KAAK,IAAI,CAAC;IAC/G,gBAAgB,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;CAC7C;AAGD,iBAAS,gBAAgB,CAAC,KAAK,EAAE,MAAM,eAoGtC;kBApGQ,gBAAgB;;;AAsGzB,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"WizardNavigation.d.ts","sourceRoot":"","sources":["../../../../src/components/wizardLayout/WizardNavigation.tsx"],"names":[],"mappings":"AASA,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAMnD,OAAO,EAAoB,eAAe,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAK3G,UAAU,MAAM;IACZ,UAAU,EAAE,mBAAmB,CAAC,eAAe,CAAC,CAAC;IACjD,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAC3C,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,mBAAmB,EAAE,CAAC,2BAA2B,EAAE,OAAO,EAAE,gCAAgC,EAAE,OAAO,KAAK,IAAI,CAAC;IAC/G,gBAAgB,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;CAC7C;AAGD,iBAAS,gBAAgB,CAAC,KAAK,EAAE,MAAM,eA4JtC;kBA5JQ,gBAAgB;;;AA8JzB,eAAe,gBAAgB,CAAC"}
@@ -1,12 +1,28 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import { pcm } from '@cee-eng/hydrajs';
11
+ import { Button, ButtonVariant } from '@patternfly/react-core';
12
+ import { useFetch } from '@rh-support/components';
1
13
  import { GlobalMetadataStateContext, useCanCreateCase } from '@rh-support/react-context';
14
+ import { getResTypeFromUrl } from '@rh-support/utils';
2
15
  import find from 'lodash/find';
3
16
  import isEqual from 'lodash/isEqual';
4
- import React, { useContext } from 'react';
17
+ import React, { useContext, useState } from 'react';
5
18
  import { useTranslation } from 'react-i18next';
6
- import { useCaseSelector } from '../../context/CaseContext';
19
+ import { useCaseDispatch, useCaseSelector } from '../../context/CaseContext';
7
20
  import { RouteContext, RouteDispatchContext } from '../../context/RouteContext';
21
+ import { SessionRestoreStateContext } from '../../context/SessionRestoreContext';
22
+ import { setCaseState } from '../../reducers/CaseReducer';
8
23
  import { AppRouteSections } from '../../reducers/RouteConstNTypes';
9
24
  import { updateisNextBtnClickedToShowValidationError } from '../../reducers/RouteReducer';
25
+ import { RecommendationFeedbackModal } from '../Recommendations/RecommendationFeedbackModal';
10
26
  import { useIsSectionValid } from '../shared/useIsSectionValid';
11
27
  const defaultProps = {};
12
28
  function WizardNavigation(props) {
@@ -22,6 +38,14 @@ function WizardNavigation(props) {
22
38
  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;
23
39
  const dispatchToRouteReducer = useContext(RouteDispatchContext);
24
40
  const { activeSectionError, isSectionValidFn } = useIsSectionValid(activeSection);
41
+ const [isRecsModalVisible, setIsRecsModalVisible] = useState(false);
42
+ const { request: resolveSessionRequest } = useFetch(pcm.preCase.session.resolveSession);
43
+ const { sessionRestore: { activeSessionId, sessionResourceTracking }, } = useContext(SessionRestoreStateContext);
44
+ const { SessionResourceSource } = pcm.preCase.session;
45
+ const { isFileRecommendationsTriggered } = useCaseSelector((state) => ({
46
+ isFileRecommendationsTriggered: state.isFileRecommendationsTriggered,
47
+ }), isEqual);
48
+ const caseDispatch = useCaseDispatch();
25
49
  const onNext = () => {
26
50
  var _a, _b;
27
51
  updateisNextBtnClickedToShowValidationError(dispatchToRouteReducer, true);
@@ -59,13 +83,35 @@ function WizardNavigation(props) {
59
83
  props.onShowRestUpdate(false);
60
84
  props.onBack();
61
85
  };
86
+ const onRecsFeedbackModalToggle = () => {
87
+ setIsRecsModalVisible((visible) => !visible);
88
+ };
89
+ // To handle self solving through file recommendations
90
+ const handleFileRecsSelfSolved = () => __awaiter(this, void 0, void 0, function* () {
91
+ var _c, _d, _e, _f;
92
+ try {
93
+ yield resolveSessionRequest(activeSessionId, {
94
+ sessionId: activeSessionId,
95
+ sessionResourceOriginId: (_d = (_c = sessionResourceTracking[SessionResourceSource.INSIGHTS]) === null || _c === void 0 ? void 0 : _c.resourceOriginId) !== null && _d !== void 0 ? _d : '',
96
+ type: getResTypeFromUrl(''),
97
+ source: SessionResourceSource.INSIGHTS,
98
+ resourceEntityId: (_f = (_e = sessionResourceTracking[SessionResourceSource.INSIGHTS]) === null || _e === void 0 ? void 0 : _e.resourceEntityId) !== null && _f !== void 0 ? _f : '',
99
+ url: '',
100
+ });
101
+ setCaseState(caseDispatch, { isFileRecommendationsTriggered: false });
102
+ setIsRecsModalVisible(true);
103
+ }
104
+ catch (e) { }
105
+ });
62
106
  // To handle entitled products
63
107
  const isEntitledProductLocal = isSearchIntent ? true : isEntitledProduct;
64
108
  return (React.createElement(React.Fragment, null,
65
- props.activeStep.order !== 0 && (React.createElement("button", { onClick: () => onBack(), className: "btn btn-app btn-open-white", "data-tracking-id": `prev-of-${activeSection}` }, t('Go back'))),
109
+ props.activeStep.order !== 0 && (React.createElement("button", { onClick: () => onBack(), className: "btn btn-app btn-open-white main-nav-button", "data-tracking-id": `prev-of-${activeSection}` }, t('Go back'))),
66
110
  React.createElement("button", { disabled: (!isEntitledProductLocal && props.activeStep.nextButtonLabel === 'Get support') ||
67
111
  (!isSectionValidFn(props.activeStep.id) && isNextBtnClickedToShowValidationError) ||
68
- noValidEntitlement, onClick: onNext, className: "btn btn-app btn-primary", "data-tracking-id": `next-of-${activeSection}` }, t(props.activeStep.nextButtonLabel)),
112
+ noValidEntitlement, onClick: onNext, className: "btn btn-app btn-primary main-nav-button", "data-tracking-id": `next-of-${activeSection}` }, t(props.activeStep.nextButtonLabel)),
113
+ activeSection === AppRouteSections.TROUBLESHOOT && isFileRecommendationsTriggered && (React.createElement(Button, { onClick: handleFileRecsSelfSolved, variant: ButtonVariant.secondary, className: "issue-solved-button solved-issue-button", "data-tracking-id": "troubleshoot-self-solved-issue" }, t('I solved my issue'))),
114
+ React.createElement(RecommendationFeedbackModal, { isModalOpen: isRecsModalVisible, handleModalToggle: onRecsFeedbackModalToggle, modalContent: t(`Great, we're glad that resolved your issue`) }),
69
115
  activeSectionError ? (React.createElement("small", { className: "pf-u-align-self-center pf-u-ml-md text-red" }, t(activeSectionError))) : null));
70
116
  }
71
117
  WizardNavigation.defaultProps = defaultProps;
@@ -12,5 +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.";
16
+ export declare const PHONE_NO_CHAR_ERROR = "Phone number can only have digits.";
17
+ export declare const PHONE_IS_NOT_VALID = "Phone number is invalid.";
15
18
  export declare const PHONE_INSTRUCTION = "A current phone number with the country code helps us support you better.";
16
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,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;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,4 +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.';
18
+ export const PHONE_NO_CHAR_ERROR = 'Phone number can only have digits.';
19
+ export const PHONE_IS_NOT_VALID = 'Phone number is invalid.';
17
20
  export const PHONE_INSTRUCTION = 'A current phone number with the country code helps us support you better.';
@@ -1 +1 @@
1
- {"version":3,"file":"useResetCaseCreate.d.ts","sourceRoot":"","sources":["../../../src/hooks/useResetCaseCreate.tsx"],"names":[],"mappings":"AAoBA,wBAAgB,kBAAkB;;EAoCjC"}
1
+ {"version":3,"file":"useResetCaseCreate.d.ts","sourceRoot":"","sources":["../../../src/hooks/useResetCaseCreate.tsx"],"names":[],"mappings":"AAqBA,wBAAgB,kBAAkB;;EAsCjC"}
@@ -1,4 +1,4 @@
1
- import { fetchLoggedInUsersAccount, GlobalMetadataDispatchContext, GlobalMetadataStateContext, } from '@rh-support/react-context';
1
+ import { fetchLoggedInUser, fetchLoggedInUsersAccount, GlobalMetadataDispatchContext, GlobalMetadataStateContext, } from '@rh-support/react-context';
2
2
  import { useContext } from 'react';
3
3
  import { AttachmentDispatchContext, resetAttachment } from '../components/shared/fileUpload';
4
4
  import { useCaseDispatch } from '../context/CaseContext';
@@ -22,6 +22,8 @@ export function useResetCaseCreate() {
22
22
  const clusterRecommendationsDispatch = useContext(ClusterRecommendationsDispatchContext);
23
23
  const { globalMetadataState: { loggedInUsersAccount, loggedInUserRights, loggedInUserJwtToken }, } = useContext(GlobalMetadataStateContext);
24
24
  const resetCaseCreateState = () => {
25
+ // On case creation we refetch the user contact details to get users updated phone number
26
+ fetchLoggedInUser(dispatchToGlobalMetadataReducer, loggedInUserJwtToken, {});
25
27
  resetAttachment(dispatchToAttachmentReducer);
26
28
  resetTopContent(tcDispatch);
27
29
  resetRecommendations(recommendationsDispatch);
@@ -1 +1 @@
1
- {"version":3,"file":"useWizard.d.ts","sourceRoot":"","sources":["../../../src/hooks/useWizard.tsx"],"names":[],"mappings":"AA+BA,wBAAgB,SAAS,CAAC,UAAU,KAAA;iCAuNG,OAAO;EAwC7C"}
1
+ {"version":3,"file":"useWizard.d.ts","sourceRoot":"","sources":["../../../src/hooks/useWizard.tsx"],"names":[],"mappings":"AA+BA,wBAAgB,SAAS,CAAC,UAAU,KAAA;iCAwNG,OAAO;EAwC7C"}
@@ -40,10 +40,11 @@ export function useWizard(routeProps) {
40
40
  };
41
41
  const alertMessage = () => {
42
42
  // alert title and variant based on multiple conditions for two different sections
43
- const title = topContent.isFetching || (isLoadingRecommendations && summary)
43
+ const isLoading = topContent.isFetching || (isLoadingRecommendations && summary);
44
+ const title = isLoading
44
45
  ? t('Please wait while recommendations are loading')
45
46
  : t('Please address the errors to proceed');
46
- return (React.createElement(AlertMessage, { show: isNextBtnClickedToShowValidationError && !isActiveSectionValid, variant: (isLoadingRecommendations && summary) || topContent.isFetching ? AlertType.INFO : AlertType.DANGER, isInline: true, title: title, className: "pf-u-mb-lg" }));
47
+ return (React.createElement(AlertMessage, { show: isNextBtnClickedToShowValidationError && !isActiveSectionValid, variant: (isLoadingRecommendations && summary) || topContent.isFetching ? AlertType.INFO : AlertType.DANGER, isInline: true, title: title, className: "pf-u-mb-lg", "data-tracking-id": isLoading ? 'wait-recommendations-loading' : 'proceed-address-errors' }));
47
48
  };
48
49
  // components that are used in wizard steps
49
50
  const appRouteConfugurations = {
@@ -16,7 +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 = 40;
19
+ export declare const PHONE_LIMIT = 23;
20
20
  export declare const SESSION_NOTIFIED_USERS_INTERNAL_LIMIT = 1024;
21
21
  export declare const SESSION_NOTIFIED_USERS_EXTERNAL_LIMIT = 1024;
22
22
  export declare const SESSION_TIME_FRAMES_URGENCY_LIMIT = 32768;
@@ -26,7 +26,7 @@ export declare const SESSION_ENVIRONMENT_LIMIT = 32768;
26
26
  export declare const SESSION_REFERRER_URL_LIMIT = 1024;
27
27
  export declare const SESSION_NO_CLUSTER_REASON_LENGTH_LIMIT = 255;
28
28
  export declare const SESSION_NO_CLUSTER_REASON_EXPLANATION_LENGTH_LIMIT = 255;
29
- export declare const SESSION_PHONE_LENGTH_LIMIT = 45;
29
+ export declare const SESSION_PHONE_LENGTH_LIMIT = 23;
30
30
  export declare const CASE_DEATILS_ISSUE_LIMIT = 20000;
31
31
  export declare const CASE_DETAILS_TIMEFRAMESANDURGENCY_LIMIT = 4000;
32
32
  export declare const CASE_DEATILS_ENVIRONMENT_LIMIT = 3000;
@@ -199,6 +199,7 @@ export interface ICaseState {
199
199
  caseCreation500ErrorStatus: boolean;
200
200
  openshiftDisplayName?: string;
201
201
  isCaseOwnerUpdating: boolean;
202
+ isFileRecommendationsTriggered?: boolean;
202
203
  }
203
204
  export interface ICreateCasePayloadType extends ICaseState {
204
205
  }
@@ -1 +1 @@
1
- {"version":3,"file":"CaseConstNTypes.d.ts","sourceRoot":"","sources":["../../../src/reducers/CaseConstNTypes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AACjH,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,+CAA+C,CAAC;AACvF,OAAO,EAAE,YAAY,EAAE,MAAM,iDAAiD,CAAC;AAC/E,OAAO,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAClE,OAAO,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AACjF,OAAO,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAEnF,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjC,eAAO,MAAM,oBAAoB,MAAM,CAAC;AACxC,eAAO,MAAM,mCAAmC,MAAM,CAAC;AACvD,eAAO,MAAM,+BAA+B,MAAM,CAAC;AACnD,eAAO,MAAM,wBAAwB,QAAQ,CAAC;AAC9C,eAAO,MAAM,iCAAiC,QAAQ,CAAC;AACvD,eAAO,MAAM,qBAAqB,MAAM,CAAC;AACzC,eAAO,MAAM,uBAAuB,QAAQ,CAAC;AAC7C,eAAO,MAAM,gBAAgB,MAAM,CAAC;AACpC,eAAO,MAAM,2BAA2B,MAAM,CAAC;AAC/C,eAAO,MAAM,WAAW,KAAK,CAAC;AAC9B,eAAO,MAAM,qCAAqC,OAAO,CAAC;AAC1D,eAAO,MAAM,qCAAqC,OAAO,CAAC;AAC1D,eAAO,MAAM,iCAAiC,QAAQ,CAAC;AACvD,eAAO,MAAM,kCAAkC,QAAQ,CAAC;AACxD,eAAO,MAAM,mBAAmB,QAAQ,CAAC;AACzC,eAAO,MAAM,yBAAyB,QAAQ,CAAC;AAC/C,eAAO,MAAM,0BAA0B,OAAO,CAAC;AAC/C,eAAO,MAAM,sCAAsC,MAAM,CAAC;AAC1D,eAAO,MAAM,kDAAkD,MAAM,CAAC;AACtE,eAAO,MAAM,0BAA0B,KAAK,CAAC;AAI7C,eAAO,MAAM,wBAAwB,QAAQ,CAAC;AAC9C,eAAO,MAAM,uCAAuC,OAAO,CAAC;AAC5D,eAAO,MAAM,8BAA8B,OAAO,CAAC;AACnD,eAAO,MAAM,qCAAqC,OAAO,CAAC;AAE1D,eAAO,MAAM,4BAA4B,2DAA2D,CAAC;AAGrG,oBAAY,kBAAkB;IAC1B,KAAK,iEAAiE;IACtE,oBAAoB,sDAAsD;IAC1E,WAAW,gEAAgE;IAC3E,kBAAkB,4EAA4E;IAC9F,SAAS,iCAAiC;CAC7C;AAED,0BAAkB,qBAAqB;IACnC,YAAY,gBAAgB;IAC5B,QAAQ,aAAa;IACrB,OAAO,YAAY;CACtB;AACD,0BAAkB,sBAAsB;IACpC,KAAK,eAAe;IACpB,KAAK,aAAa;IAClB,KAAK,eAAe;IACpB,KAAK,YAAY;CACpB;AAED,eAAO,MAAM,mBAAmB;;;;;;;;CAQ/B,CAAC;AAEF,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmB7B,CAAC;AAEF,eAAO,MAAM,mBAAmB;;;;;CAK/B,CAAC;AAEF,eAAO,MAAM,4BAA4B,yEAAyE,CAAC;AAEnH,oBAAY,oBAAoB;IAC5B,iBAAiB,sBAAsB;IACvC,gBAAgB,qBAAqB;IACrC,WAAW,gBAAgB;IAC3B,cAAc,mBAAmB;IACjC,+BAA+B,oCAAoC;IACnE,cAAc,mBAAmB;IACjC,oBAAoB,yBAAyB;IAC7C,sBAAsB,2BAA2B;IACjD,uBAAuB,4BAA4B;IACnD,uBAAuB,4BAA4B;IACnD,mBAAmB,wBAAwB;IAC3C,wBAAwB,6BAA6B;IACrD,eAAe,oBAAoB;IACnC,oBAAoB,yBAAyB;IAC7C,sBAAsB,2BAA2B;IACjD,wBAAwB,6BAA6B;IACrD,yBAAyB,8BAA8B;IACvD,iBAAiB,sBAAsB;IACvC,wBAAwB,6BAA6B;IACrD,mBAAmB,wBAAwB;IAC3C,kBAAkB,uBAAuB;IACzC,8BAA8B,mCAAmC;IACjE,kBAAkB,uBAAuB;IACzC,6BAA6B,kCAAkC;IAC/D,kCAAkC,uCAAuC;IACzE,gCAAgC,qCAAqC;IACrE,sBAAsB,2BAA2B;IACjD,yBAAyB,8BAA8B;IACvD,cAAc,mBAAmB;IACjC,eAAe,oBAAoB;IACnC,iBAAiB,sBAAsB;IACvC,0BAA0B,+BAA+B;CAC5D;AAED,eAAO,MAAM,gBAAgB,EAAE,UAoF9B,CAAC;AAEF,MAAM,WAAW,UAAU;IACvB,iBAAiB,EAAE,mBAAmB,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;IAC9D,WAAW,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IACnC,kBAAkB,EAAE,OAAO,CAAC;IAC5B,QAAQ,EAAE,OAAO,CAAC;IAClB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,aAAa,EAAE,aAAa,EAAE,CAAC;IAC/B,4BAA4B,EAAE,QAAQ,EAAE,CAAC;IACzC,gBAAgB,EAAE,OAAO,CAAC;IAC1B,eAAe,EAAE,OAAO,CAAC;IACzB,eAAe,EAAE,OAAO,CAAC;IACzB,cAAc,EAAE,OAAO,CAAC;IACxB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,wBAAwB,EAAE,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC;IAC/C,oBAAoB,EAAE,OAAO,CAAC;IAC9B,uBAAuB,EAAE,OAAO,CAAC;IACjC,yBAAyB,EAAE,OAAO,CAAC;IACnC,uBAAuB,EAAE,OAAO,CAAC;IACjC,aAAa,EAAE,OAAO,CAAC;IACvB,UAAU,EAAE,WAAW,CAAC;IACxB,YAAY,EAAE,OAAO,CAAC;IACtB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,wBAAwB,EAAE,MAAM,CAAC;IACjC,sBAAsB,EAAE,mBAAmB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC/D,aAAa,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAC7C,gBAAgB,EAAE,mBAAmB,CAAC,UAAU,EAAE,CAAC,CAAC;IACpD,sBAAsB,EAAE,mBAAmB,CAAC,UAAU,EAAE,CAAC,CAAC;IAC1D,gBAAgB,EAAE,mBAAmB,CAAC,OAAO,CAAC,0BAA0B,EAAE,CAAC,CAAC,CAAC;IAC7E,kBAAkB,EAAE,mBAAmB,CAAC,YAAY,EAAE,CAAC,CAAC;IACxD,sBAAsB,EAAE,OAAO,CAAC;IAChC,kBAAkB,EAAE,OAAO,CAAC;IAC5B,cAAc,EAAE,OAAO,CAAC;IACxB,gBAAgB,EAAE,SAAS,CAAC;IAC5B,0BAA0B,EAAE,OAAO,CAAC;IACpC,qBAAqB,EAAE,OAAO,CAAC;IAC/B,oCAAoC,EAAE,OAAO,CAAC;IAC9C,sCAAsC,EAAE,OAAO,CAAC;IAChD,eAAe,EAAE,mBAAmB,CAAC,gBAAgB,EAAE,CAAC,CAAC;IACzD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,0BAA0B,EAAE,OAAO,CAAC;IACpC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,mBAAmB,EAAE,OAAO,CAAC;CAChC;AAED,MAAM,WAAW,sBAAuB,SAAQ,UAAU;CAAG;AAC7D,oBAAY,eAAe,GAAG,OAAO,CAAC,oBAAoB,EAAE,sBAAsB,CAAC,CAAC;AACpF,oBAAY,uBAAuB,GAAG,QAAQ,CAAC,eAAe,CAAC,CAAC;AAEhE,eAAO,MAAM,qCAAqC,+CAA+C,CAAC;AAClG,eAAO,MAAM,yCAAyC,+CAA+C,CAAC"}
1
+ {"version":3,"file":"CaseConstNTypes.d.ts","sourceRoot":"","sources":["../../../src/reducers/CaseConstNTypes.ts"],"names":[],"mappings":"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"}
@@ -8,7 +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 = 40;
11
+ export const PHONE_LIMIT = 23;
12
12
  export const SESSION_NOTIFIED_USERS_INTERNAL_LIMIT = 1024;
13
13
  export const SESSION_NOTIFIED_USERS_EXTERNAL_LIMIT = 1024;
14
14
  export const SESSION_TIME_FRAMES_URGENCY_LIMIT = 32768;
@@ -18,7 +18,7 @@ export const SESSION_ENVIRONMENT_LIMIT = 32768;
18
18
  export const SESSION_REFERRER_URL_LIMIT = 1024;
19
19
  export const SESSION_NO_CLUSTER_REASON_LENGTH_LIMIT = 255;
20
20
  export const SESSION_NO_CLUSTER_REASON_EXPLANATION_LENGTH_LIMIT = 255;
21
- export const SESSION_PHONE_LENGTH_LIMIT = 45;
21
+ export const SESSION_PHONE_LENGTH_LIMIT = 23;
22
22
  //Case detail limits for each individual KT Question in order as they appear on troubleshoot/opencase
23
23
  //We are totaling 31k here to allow for the backend to accept response when combined with question copy.
24
24
  export const CASE_DEATILS_ISSUE_LIMIT = 20000; // 1st Q
@@ -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(),
@@ -190,6 +192,7 @@ export const initialCaseState = {
190
192
  caseCreation500ErrorStatus: false,
191
193
  openshiftDisplayName: '',
192
194
  isCaseOwnerUpdating: false,
195
+ isFileRecommendationsTriggered: false,
193
196
  };
194
197
  export const ORG_ADMIN_SEND_NOTIFCATION_KBASE_LINK = 'https://access.redhat.com/articles/5967811';
195
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;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,CAuEtB,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;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,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"}
@@ -6,8 +6,9 @@ import map from 'lodash/map';
6
6
  import some from 'lodash/some';
7
7
  import unionBy from 'lodash/unionBy';
8
8
  import uniqBy from 'lodash/uniqBy';
9
+ import { isPhoneValid } from '../components/shared/utils';
9
10
  import { getIsClusterIdInvalid, isClusterIdEnabledForProduct } from '../utils/caseOpenshiftClusterIdUtils';
10
- import { CASE_DEATILS_ENVIRONMENT_LIMIT, CASE_DEATILS_ISSUE_LIMIT, CASE_DEATILS_PERIODICITYOFISSUE_LIMIT, CASE_DETAILS_TIMEFRAMESANDURGENCY_LIMIT, CASE_REFERENCE_NUMBER_LIMIT, CLUSTER_ID_LIMIT, CONTACT_INFO_24X7_LIMIT, DESCRIPTION_LENGTH_LIMIT, HOSTNAME_LENGTH_LIMIT, ITRForSLASeverity, KtQuestionConstant, PHONE_LIMIT, SESSION_ENVIRONMENT_LIMIT, SESSION_ISSUE_LIMIT, SESSION_NO_CLUSTER_REASON_EXPLANATION_LENGTH_LIMIT, SESSION_NO_CLUSTER_REASON_LENGTH_LIMIT, SESSION_NOTIFIED_USERS_EXTERNAL_LIMIT, SESSION_NOTIFIED_USERS_INTERNAL_LIMIT, SESSION_PERIODICITY_OF_ISSUE_LIMIT, SESSION_PHONE_LENGTH_LIMIT, SESSION_TIME_FRAMES_URGENCY_LIMIT, SeverityDescription, SUMMARY_LENGTH_LIMIT, } from './CaseConstNTypes';
11
+ import { CASE_DEATILS_ENVIRONMENT_LIMIT, CASE_DEATILS_ISSUE_LIMIT, CASE_DEATILS_PERIODICITYOFISSUE_LIMIT, CASE_DETAILS_TIMEFRAMESANDURGENCY_LIMIT, CASE_REFERENCE_NUMBER_LIMIT, CLUSTER_ID_LIMIT, CONTACT_INFO_24X7_LIMIT, DESCRIPTION_LENGTH_LIMIT, HOSTNAME_LENGTH_LIMIT, ITRForSLASeverity, KtQuestionConstant, SESSION_ENVIRONMENT_LIMIT, SESSION_ISSUE_LIMIT, SESSION_NO_CLUSTER_REASON_EXPLANATION_LENGTH_LIMIT, SESSION_NO_CLUSTER_REASON_LENGTH_LIMIT, SESSION_NOTIFIED_USERS_EXTERNAL_LIMIT, SESSION_NOTIFIED_USERS_INTERNAL_LIMIT, SESSION_PERIODICITY_OF_ISSUE_LIMIT, SESSION_PHONE_LENGTH_LIMIT, SESSION_TIME_FRAMES_URGENCY_LIMIT, SeverityDescription, SUMMARY_LENGTH_LIMIT, } from './CaseConstNTypes';
11
12
  export const getCaseRecommendations = (docs, oldDocs) => {
12
13
  const recs = [];
13
14
  docs.forEach((doc, i) => {
@@ -150,7 +151,7 @@ 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
+ isPhoneValid(case_details.phoneCountryCode, case_details.phoneAreaCodePrefixLineNumber) &&
154
155
  (caseState.selectedAccountDetails.data.requireCGroupOnCreate
155
156
  ? !isEmpty(case_details.groupNumber) && case_details.groupNumber !== '-1'
156
157
  : true) &&
@@ -173,7 +174,7 @@ export const isIdeaCaseStateValid = (caseState, loggedInUserJwtToken) => {
173
174
  !isEmpty(case_details.severity) &&
174
175
  !isEmpty(case_details.accountNumberRef) &&
175
176
  !isEmpty(case_details.contactSSOName) &&
176
- case_details.phone.length <= PHONE_LIMIT &&
177
+ isPhoneValid(case_details.phoneCountryCode, case_details.phoneAreaCodePrefixLineNumber) &&
177
178
  (caseState.selectedAccountDetails.data.requireCGroupOnCreate
178
179
  ? !isEmpty(case_details.groupNumber) && case_details.groupNumber !== '-1'
179
180
  : true) &&
@@ -193,6 +194,7 @@ export const isCaseManagementStateValid = (caseState, loggedInUserJwtToken) => {
193
194
  (caseState.selectedAccountDetails.data.requireCGroupOnCreate
194
195
  ? !isEmpty(case_details.groupNumber) && case_details.groupNumber !== '-1'
195
196
  : true) &&
197
+ isPhoneValid(case_details.phoneCountryCode, case_details.phoneAreaCodePrefixLineNumber) &&
196
198
  canManageCase(loggedInUserJwtToken));
197
199
  };
198
200
  // Add a !isEmpty to to make any KTQuestion Mandatory in isCaseInformationSectionValid
@@ -235,7 +237,11 @@ export const createCasePayload = (caseState, sessionItem, isCaseCreate = false)
235
237
  case_details.cep && (casePayload.cep = !!case_details.cep);
236
238
  !isEmpty(case_details.hostname) && (casePayload.hostname = case_details.hostname);
237
239
  !isEmpty(case_details.caseResourceLinks) && (casePayload.caseResourceLinks = case_details.caseResourceLinks);
238
- !isEmpty(case_details.phone) && (casePayload.phone = case_details.phone);
240
+ !isEmpty(case_details.phoneCountryCode) && (casePayload.phoneCountryCode = case_details.phoneCountryCode);
241
+ !isEmpty(case_details.phoneAreaCodePrefixLineNumber) &&
242
+ (casePayload.phoneAreaCodePrefixLineNumber = case_details.phoneAreaCodePrefixLineNumber);
243
+ case_details.remoteSessionTermsAcked &&
244
+ (casePayload.remoteSessionTermsAcked = !!case_details.remoteSessionTermsAcked);
239
245
  casePayload.suppliedPhoneNumberVerified = !isEmpty(case_details.suppliedPhoneNumberVerified)
240
246
  ? case_details.suppliedPhoneNumberVerified
241
247
  : 'False';
@@ -286,7 +292,7 @@ export const getHasInvalidEntitlements = (caseEntitlements) => {
286
292
  return filter(unionBy(caseEntitlements, 'slaProcessId'), (e) => !!e.slaProcessId).length === 0;
287
293
  };
288
294
  export const getCaseFromSessionDetails = (sessionItem, loggedInUserAccountNumber, loggedInUserSSO) => {
289
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
295
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
290
296
  const { sessionDetails, session } = sessionItem;
291
297
  return {
292
298
  product: sessionDetails.product,
@@ -312,8 +318,9 @@ export const getCaseFromSessionDetails = (sessionItem, loggedInUserAccountNumber
312
318
  alternateId: (_h = sessionDetails.caseAlternateId) !== null && _h !== void 0 ? _h : '',
313
319
  noClusterIdReason: (_j = sessionDetails.noClusterIdReason) !== null && _j !== void 0 ? _j : '',
314
320
  noClusterIdReasonExplanation: (_k = sessionDetails.noClusterIdReasonExplanation) !== null && _k !== void 0 ? _k : '',
315
- phone: (_l = sessionDetails.phone) !== null && _l !== void 0 ? _l : '',
316
- suppliedPhoneNumberVerified: (_m = sessionDetails.suppliedPhoneNumberVerified) !== null && _m !== void 0 ? _m : undefined,
321
+ phoneCountryCode: (_l = sessionDetails.phoneCountryCode) !== null && _l !== void 0 ? _l : '',
322
+ phoneAreaCodePrefixLineNumber: (_m = sessionDetails.phoneAreaCodePrefixLineNumber) !== null && _m !== void 0 ? _m : '',
323
+ suppliedPhoneNumberVerified: (_o = sessionDetails.suppliedPhoneNumberVerified) !== null && _o !== void 0 ? _o : undefined,
317
324
  userAgent: session.userAgent,
318
325
  originatingSystem: session.originatingSystem,
319
326
  };
@@ -356,7 +363,8 @@ export const getSessionDetailsFromCase = (caseDetails, selectedNotificationConta
356
363
  caseAlternateId: (_o = (_m = caseDetails.alternateId) === null || _m === void 0 ? void 0 : _m.substring(0, CASE_REFERENCE_NUMBER_LIMIT)) !== null && _o !== void 0 ? _o : '',
357
364
  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 : '',
358
365
  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 : '',
359
- phone: (_u = (_t = caseDetails.phone) === null || _t === void 0 ? void 0 : _t.substring(0, SESSION_PHONE_LENGTH_LIMIT)) !== null && _u !== void 0 ? _u : '',
366
+ phoneAreaCodePrefixLineNumber: (_t = caseDetails.phoneAreaCodePrefixLineNumber) === null || _t === void 0 ? void 0 : _t.substring(0, SESSION_PHONE_LENGTH_LIMIT - (((_u = caseDetails.phoneCountryCode) === null || _u === void 0 ? void 0 : _u.length) || 0) - 1),
367
+ phoneCountryCode: caseDetails.phoneCountryCode,
360
368
  suppliedPhoneNumberVerified: caseDetails.suppliedPhoneNumberVerified,
361
369
  };
362
370
  };
@@ -11,7 +11,7 @@ export declare const caseReducer: (pState: ICaseState, action: any) => ICaseStat
11
11
  export declare const setCaseDetails: (dispatch: CaseReducerDispatchType, caseState: Partial<ICasePayload>) => void;
12
12
  export declare const setCaseState: (dispatch: CaseReducerDispatchType, caseState: Partial<ICaseState>) => void;
13
13
  export declare const setNotifiedUser: (dispatch: CaseReducerDispatchType, selectedNotificationContacts: IContact[]) => void;
14
- export declare const submitCase: (dispatch: CaseReducerDispatchType, caseDetails: ICaseState, sessionItem: ISessionItem, isCaseCreate: boolean, errorMessage500: string | JSX.Element) => Promise<void>;
14
+ export declare const submitCase: (dispatch: CaseReducerDispatchType, caseDetails: ICaseState, sessionItem: ISessionItem, isCaseCreate: boolean, errorMessage500: string | JSX.Element, loggedInUseeSsoUsername: string) => Promise<void>;
15
15
  /**
16
16
  * Update case details if there is HTTP 500 error while submitting case
17
17
  * @param dispatch CaseReducerDispatchType
@@ -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;AASxD,OAAO,EAEH,uBAAuB,EAEvB,UAAU,EAEb,MAAM,mBAAmB,CAAC;AAU3B,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,eACpB,UAAU,eACV,YAAY,gBACX,OAAO,mBACJ,MAAM,GAAG,WAAW,kBAoBxC,CAAC;AACF;;;;GAIG;AACH,eAAO,MAAM,oCAAoC,aAAc,uBAAuB,qBAUrF,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,6BAA6B,aAAc,uBAAuB,eAAe,OAAO,SAOpG,CAAC;AAEF,eAAO,MAAM,0BAA0B,aACzB,uBAAuB,cACrB,MAAM,eACL,UAAU,kBAG1B,CAAC;AAEF,eAAO,MAAM,cAAc,aACb,uBAAuB,cACrB,MAAM,cACN,WAAW,kBAoB1B,CAAC;AAEF,eAAO,MAAM,sBAAsB,aACrB,uBAAuB,QAC3B,mBAAmB,EAAE,sBACP,iBAAiB,EAAE,SAO1C,CAAC;AAEF,eAAO,MAAM,mBAAmB,aAAoB,uBAAuB,WAAW,MAAM,eAAe,MAAM,kBAYhH,CAAC;AAEF,eAAO,MAAM,kBAAkB,aACjB,uBAAuB,cACrB,MAAM,eACL,QAAQ,UAAU,CAAC,kBAmBnC,CAAC;AAEF,eAAO,MAAM,mBAAmB,aAClB,uBAAuB,cACrB,MAAM,gBACJ,MAAM,EAAE,kBAoBzB,CAAC;AAEF,eAAO,MAAM,mBAAmB,aAClB,uBAAuB,cACrB,MAAM,cACN,QAAQ,EAAE,kBAmBzB,CAAC;AAEF,eAAO,MAAM,oBAAoB,aAAc,uBAAuB,SASrE,CAAC;AAEF,eAAO,MAAM,oBAAoB,aACnB,uBAAuB,iBAClB,MAAM,0DAEA,QAAQ,QAAQ,CAAC,kBA8CzC,CAAC;AAEF,eAAO,MAAM,YAAY,aACX,uBAAuB,SAC1B,QAAQ,WACN,MAAM,yBACQ,WAAW,4BACR,WAAW,2DAEV,MAAM,GAAG,SAAS,kBAmChD,CAAC;AA8BF,eAAO,MAAM,qBAAqB,aACpB,uBAAuB,sBACb,MAAM,8CAEZ,WAAW,6BACE,MAAM,GAAG,SAAS,kBAyBhD,CAAC;AAIF,eAAO,MAAM,qBAAqB,aACpB,uBAAuB,eACpB,YAAY,6BACE,MAAM,uBACZ,QAAQ,wBACR,QAAQ,QAAQ,CAAC,kBAiDzC,CAAC;AAmCF,eAAO,MAAM,gBAAgB,aACf,uBAAuB,cACrB,MAAM,8DAGH,QAAQ,YAAY,CAAC,kBAoGvC,CAAC;AAEF,eAAO,MAAM,iBAAiB,aAChB,uBAAuB,cACrB,MAAM,eACL,QAAQ,YAAY,CAAC,mBACjB,OAAO,mBAiB3B,CAAC;AAEF,eAAO,MAAM,oCAAoC,aACnC,uBAAuB,SAC1B,aAAa,EAAE,gBACR,MAAM,kBAmCvB,CAAC;AAEF,eAAO,MAAM,oCAAoC,aACnC,uBAAuB,yEAInB,MAAM,kBACJ,MAAM,kBAgFzB,CAAC;AAEF,eAAO,MAAM,yCAAyC,aACxC,uBAAuB,cACrB,OAAO,iBACJ,MAAM,SAMxB,CAAC;AAIF,eAAO,MAAM,yBAAyB,aACxB,uBAAuB,iBAClB,MAAM,eACR,MAAM,sBACC,QAAQ,kBA6B/B,CAAC;AAEF,wBAAsB,2BAA2B,CAAC,QAAQ,EAAE,uBAAuB,EAAE,UAAU,EAAE,MAAM,iBAmBtG;AAGD,wBAAgB,oBAAoB,CAChC,QAAQ,EAAE,uBAAuB,EACjC,KAAK,EAAE,MAAM,EACb,gBAAgB,EAAE,mBAAmB,CAAC,OAAO,CAAC,0BAA0B,EAAE,CAAC,CAAC,EAC5E,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,0BAA0B,EAAE,QAO5D;AAED,wBAAsB,kBAAkB,CAAC,QAAQ,EAAE,uBAAuB,EAAE,OAAO,EAAE,MAAM,iBAiB1F;AAED,eAAO,MAAM,kBAAkB,aAAc,uBAAuB,QAAQ,OAAO,SAKlF,CAAC"}
1
+ {"version":3,"file":"CaseReducer.d.ts","sourceRoot":"","sources":["../../../src/reducers/CaseReducer.ts"],"names":[],"mappings":"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"}