@rh-support/troubleshoot 2.6.361 → 2.6.364

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 (364) hide show
  1. package/lib/esm/components/AccountInfo/AccountSelector.d.ts.map +1 -1
  2. package/lib/esm/components/AccountInfo/AccountSelector.js +29 -19
  3. package/lib/esm/components/AccountInfo/OwnerSelector.d.ts.map +1 -1
  4. package/lib/esm/components/AccountInfo/OwnerSelector.js +17 -92
  5. package/lib/esm/components/CaseEditView/ActiveCustomerEscalation/ActiveCustomerEscalation.d.ts.map +1 -1
  6. package/lib/esm/components/CaseEditView/ActiveCustomerEscalation/ActiveCustomerEscalation.js +2 -6
  7. package/lib/esm/components/CaseEditView/ActiveCustomerEscalation/RequestEscalationModal.d.ts.map +1 -1
  8. package/lib/esm/components/CaseEditView/ActiveCustomerEscalation/RequestEscalationModal.js +32 -61
  9. package/lib/esm/components/CaseEditView/Case.d.ts.map +1 -1
  10. package/lib/esm/components/CaseEditView/Case.js +33 -60
  11. package/lib/esm/components/CaseEditView/CaseDetailsAside.d.ts.map +1 -1
  12. package/lib/esm/components/CaseEditView/CaseDetailsAside.js +9 -19
  13. package/lib/esm/components/CaseEditView/CaseDetailsErrorMessage.d.ts.map +1 -1
  14. package/lib/esm/components/CaseEditView/CaseDetailsErrorMessage.js +7 -28
  15. package/lib/esm/components/CaseEditView/CaseDetailsTabs.d.ts.map +1 -1
  16. package/lib/esm/components/CaseEditView/CaseDetailsTabs.js +57 -88
  17. package/lib/esm/components/CaseEditView/CaseOverview/CaseOwnerInfo.d.ts +0 -2
  18. package/lib/esm/components/CaseEditView/CaseOverview/CaseOwnerInfo.d.ts.map +1 -1
  19. package/lib/esm/components/CaseEditView/CaseOverview/CaseOwnerInfo.js +3 -3
  20. package/lib/esm/components/CaseEditView/CaseOverview/CaseStatus.d.ts +2 -3
  21. package/lib/esm/components/CaseEditView/CaseOverview/CaseStatus.d.ts.map +1 -1
  22. package/lib/esm/components/CaseEditView/CaseOverview/CaseStatus.js +11 -24
  23. package/lib/esm/components/CaseEditView/CaseOverview/index.d.ts.map +1 -1
  24. package/lib/esm/components/CaseEditView/CaseOverview/index.js +57 -92
  25. package/lib/esm/components/CaseEditView/CaseSolutions/CaseSolutions.d.ts.map +1 -1
  26. package/lib/esm/components/CaseEditView/CaseSolutions/CaseSolutions.js +109 -203
  27. package/lib/esm/components/CaseEditView/CaseSolutions/CaseSolutionsItem.d.ts +1 -0
  28. package/lib/esm/components/CaseEditView/CaseSolutions/CaseSolutionsItem.d.ts.map +1 -1
  29. package/lib/esm/components/CaseEditView/CaseSolutions/CaseSolutionsItem.js +5 -5
  30. package/lib/esm/components/CaseEditView/ConfirmationModals/ReopenCaseModal.d.ts +3 -1
  31. package/lib/esm/components/CaseEditView/ConfirmationModals/ReopenCaseModal.d.ts.map +1 -1
  32. package/lib/esm/components/CaseEditView/ConfirmationModals/ReopenCaseModal.js +9 -5
  33. package/lib/esm/components/CaseEditView/RequestRemoteSession/ESSRemoteSessionModal.d.ts.map +1 -1
  34. package/lib/esm/components/CaseEditView/RequestRemoteSession/ESSRemoteSessionModal.js +17 -18
  35. package/lib/esm/components/CaseEditView/RequestRemoteSession/NewEssTermsModal.d.ts.map +1 -1
  36. package/lib/esm/components/CaseEditView/RequestRemoteSession/NewEssTermsModal.js +49 -55
  37. package/lib/esm/components/CaseEditView/RequestRemoteSession/RemoteSessionAgreementModal.d.ts.map +1 -1
  38. package/lib/esm/components/CaseEditView/RequestRemoteSession/RemoteSessionAgreementModal.js +46 -53
  39. package/lib/esm/components/CaseEditView/Tabs/CaseActionPlan/CaseActionPlan.d.ts.map +1 -1
  40. package/lib/esm/components/CaseEditView/Tabs/CaseActionPlan/CaseActionPlan.js +3 -6
  41. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CaseContactPhoneNumber.d.ts.map +1 -1
  42. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CaseContactPhoneNumber.js +46 -52
  43. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CaseDetailsManagement.d.ts.map +1 -1
  44. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CaseDetailsManagement.js +17 -63
  45. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CaseHostname.js +2 -2
  46. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CaseInformation.d.ts.map +1 -1
  47. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CaseInformation.js +2 -0
  48. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CaseInternalStatus.d.ts.map +1 -1
  49. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CaseInternalStatus.js +3 -4
  50. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CaseOpenshiftClusterId/CaseOpenshiftClusterId.d.ts.map +1 -1
  51. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CaseOpenshiftClusterId/CaseOpenshiftClusterId.js +56 -131
  52. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CasePhoneNumberConfirmAlert.js +1 -1
  53. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CaseReferenceNumber.d.ts.map +1 -1
  54. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CaseReferenceNumber.js +6 -11
  55. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CaseSbrGroups.d.ts.map +1 -1
  56. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CaseSbrGroups.js +1 -3
  57. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/ProductVersion.d.ts.map +1 -1
  58. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/ProductVersion.js +71 -111
  59. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/Summary.d.ts.map +1 -1
  60. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/Summary.js +10 -17
  61. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/useCustomEmails.d.ts.map +1 -1
  62. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/useCustomEmails.js +2 -4
  63. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/AsaCommentFeedbackModal.d.ts +25 -0
  64. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/AsaCommentFeedbackModal.d.ts.map +1 -0
  65. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/AsaCommentFeedbackModal.js +102 -0
  66. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/CaseAttachment.d.ts.map +1 -1
  67. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/CaseAttachment.js +26 -42
  68. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/CaseComments.d.ts +4 -2
  69. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/CaseComments.d.ts.map +1 -1
  70. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/CaseComments.js +148 -152
  71. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/CaseDiscussion.d.ts +2 -10
  72. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/CaseDiscussion.d.ts.map +1 -1
  73. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/CaseDiscussion.js +146 -252
  74. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/CommentSearch.d.ts.map +1 -1
  75. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/CommentSearch.js +9 -22
  76. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/DiscussionItemLink.d.ts.map +1 -1
  77. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/DiscussionItemLink.js +2 -9
  78. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/JumpAndCopyLink.d.ts.map +1 -1
  79. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/JumpAndCopyLink.js +1 -8
  80. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/PostComment/useMarkdownFileUploader.d.ts +2 -2
  81. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/PostComment/useMarkdownFileUploader.d.ts.map +1 -1
  82. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/PostComment/useMarkdownFileUploader.js +7 -18
  83. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/PostComment.d.ts +3 -9
  84. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/PostComment.d.ts.map +1 -1
  85. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/PostComment.js +271 -215
  86. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/VerifyCaseStatusModal/VerifyCaseStatusModal.d.ts.map +1 -1
  87. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/VerifyCaseStatusModal/VerifyCaseStatusModal.js +4 -6
  88. package/lib/esm/components/CaseEditView/Tabs/CaseHistory/CaseHistory.d.ts.map +1 -1
  89. package/lib/esm/components/CaseEditView/Tabs/CaseHistory/CaseHistory.js +2 -7
  90. package/lib/esm/components/CaseEditView/Tabs/CaseHistory/Timeline.css +4 -4
  91. package/lib/esm/components/CaseEditView/Tabs/CaseHistory/Timeline.d.ts +3 -36
  92. package/lib/esm/components/CaseEditView/Tabs/CaseHistory/Timeline.d.ts.map +1 -1
  93. package/lib/esm/components/CaseEditView/Tabs/CaseHistory/Timeline.js +230 -62
  94. package/lib/esm/components/CaseEditView/Tabs/CasePrivateNotes/CasePrivateNotes.d.ts +5 -4
  95. package/lib/esm/components/CaseEditView/Tabs/CasePrivateNotes/CasePrivateNotes.d.ts.map +1 -1
  96. package/lib/esm/components/CaseEditView/Tabs/CasePrivateNotes/CasePrivateNotes.js +8 -24
  97. package/lib/esm/components/CaseEditView/Tabs/CaseSummary/CaseSummary.d.ts.map +1 -1
  98. package/lib/esm/components/CaseEditView/Tabs/CaseSummary/CaseSummary.js +2 -8
  99. package/lib/esm/components/CaseEditView/Tabs/RMEEscalations/RMEEscalationList.d.ts.map +1 -1
  100. package/lib/esm/components/CaseEditView/Tabs/RMEEscalations/RMEEscalationList.js +52 -38
  101. package/lib/esm/components/CaseInformation/CaseGroup.d.ts.map +1 -1
  102. package/lib/esm/components/CaseInformation/CaseGroup.js +62 -173
  103. package/lib/esm/components/CaseInformation/CaseInformation.d.ts.map +1 -1
  104. package/lib/esm/components/CaseInformation/CaseInformation.js +9 -10
  105. package/lib/esm/components/CaseInformation/ContactPhoneNumber.d.ts.map +1 -1
  106. package/lib/esm/components/CaseInformation/ContactPhoneNumber.js +31 -108
  107. package/lib/esm/components/CaseInformation/ContactPhoneNumberPopOver.js +2 -2
  108. package/lib/esm/components/CaseInformation/Description.js +1 -1
  109. package/lib/esm/components/CaseInformation/FileDiag.d.ts.map +1 -1
  110. package/lib/esm/components/CaseInformation/FileDiag.js +5 -2
  111. package/lib/esm/components/CaseInformation/Fts.d.ts.map +1 -1
  112. package/lib/esm/components/CaseInformation/Fts.js +19 -33
  113. package/lib/esm/components/CaseInformation/Severity.d.ts.map +1 -1
  114. package/lib/esm/components/CaseInformation/Severity.js +24 -33
  115. package/lib/esm/components/CaseInformation/SupportLevel.d.ts.map +1 -1
  116. package/lib/esm/components/CaseInformation/SupportLevel.js +55 -36
  117. package/lib/esm/components/CaseManagement/CaseLanguageSelector.d.ts.map +1 -1
  118. package/lib/esm/components/CaseManagement/CaseLanguageSelector.js +8 -2
  119. package/lib/esm/components/CaseManagement/CaseManagement.d.ts.map +1 -1
  120. package/lib/esm/components/CaseManagement/CaseManagement.js +10 -13
  121. package/lib/esm/components/CaseManagement/Cep.d.ts.map +1 -1
  122. package/lib/esm/components/CaseManagement/Cep.js +10 -12
  123. package/lib/esm/components/CaseManagement/NoClusterIDReasonSelector.d.ts +1 -2
  124. package/lib/esm/components/CaseManagement/NoClusterIDReasonSelector.d.ts.map +1 -1
  125. package/lib/esm/components/CaseManagement/NoClusterIDReasonSelector.js +3 -20
  126. package/lib/esm/components/CaseManagement/OpenShiftClusterId.d.ts.map +1 -1
  127. package/lib/esm/components/CaseManagement/OpenShiftClusterId.js +6 -6
  128. package/lib/esm/components/CaseManagement/OpenshiftDropdownV4.d.ts +1 -0
  129. package/lib/esm/components/CaseManagement/OpenshiftDropdownV4.d.ts.map +1 -1
  130. package/lib/esm/components/CaseManagement/OpenshiftDropdownV4.js +32 -19
  131. package/lib/esm/components/CaseManagement/RHAssociatesSelector.d.ts.map +1 -1
  132. package/lib/esm/components/CaseManagement/RHAssociatesSelector.js +2 -4
  133. package/lib/esm/components/CaseManagement/SendNotifications/CaseContactSelector.d.ts.map +1 -1
  134. package/lib/esm/components/CaseManagement/SendNotifications/CaseContactSelector.js +2 -4
  135. package/lib/esm/components/CaseManagement/SendNotifications/NonOrgCaseNotifyeesSelector.d.ts.map +1 -1
  136. package/lib/esm/components/CaseManagement/SendNotifications/NonOrgCaseNotifyeesSelector.js +40 -34
  137. package/lib/esm/components/ConfirmationModals/NoAttachmentSelectedModal.d.ts.map +1 -1
  138. package/lib/esm/components/ConfirmationModals/NoAttachmentSelectedModal.js +4 -8
  139. package/lib/esm/components/EditDescription/EditDescription.d.ts.map +1 -1
  140. package/lib/esm/components/EditDescription/EditDescription.js +2 -4
  141. package/lib/esm/components/IdeaInformation/IdeaInformation.d.ts.map +1 -1
  142. package/lib/esm/components/IdeaInformation/IdeaInformation.js +17 -23
  143. package/lib/esm/components/OpenCase/SupportTypeSelectorPage.d.ts.map +1 -1
  144. package/lib/esm/components/OpenCase/SupportTypeSelectorPage.js +2 -4
  145. package/lib/esm/components/ProductSelector/AllProductsSelector.d.ts +1 -0
  146. package/lib/esm/components/ProductSelector/AllProductsSelector.d.ts.map +1 -1
  147. package/lib/esm/components/ProductSelector/AllProductsSelector.js +15 -3
  148. package/lib/esm/components/ProductSelector/NewProductDropdownSelector.d.ts.map +1 -1
  149. package/lib/esm/components/ProductSelector/NewProductDropdownSelector.js +37 -13
  150. package/lib/esm/components/ProductSelector/NewProductVersionSelector.d.ts.map +1 -1
  151. package/lib/esm/components/ProductSelector/NewProductVersionSelector.js +50 -37
  152. package/lib/esm/components/ProductSelector/ProductSelector.d.ts.map +1 -1
  153. package/lib/esm/components/ProductSelector/ProductSelector.js +3 -1
  154. package/lib/esm/components/ProductSelector/ProductVersionDropdownSelector.d.ts.map +1 -1
  155. package/lib/esm/components/ProductSelector/ProductVersionDropdownSelector.js +1 -9
  156. package/lib/esm/components/Recommendations/AsideResults.d.ts.map +1 -1
  157. package/lib/esm/components/Recommendations/AsideResults.js +3 -4
  158. package/lib/esm/components/Recommendations/ClusterRecommendationToast.d.ts.map +1 -1
  159. package/lib/esm/components/Recommendations/ClusterRecommendationToast.js +4 -1
  160. package/lib/esm/components/Recommendations/ClusterRecommendations.d.ts.map +1 -1
  161. package/lib/esm/components/Recommendations/ClusterRecommendations.js +4 -1
  162. package/lib/esm/components/Recommendations/InsightsResults.js +3 -3
  163. package/lib/esm/components/Recommendations/Recommendations.d.ts.map +1 -1
  164. package/lib/esm/components/Recommendations/Recommendations.js +9 -3
  165. package/lib/esm/components/RemoteRider/RemoteRiderAcceptanceModal.d.ts.map +1 -1
  166. package/lib/esm/components/RemoteRider/RemoteRiderAcceptanceModal.js +8 -10
  167. package/lib/esm/components/Review/Review.d.ts.map +1 -1
  168. package/lib/esm/components/Review/Review.js +19 -25
  169. package/lib/esm/components/SessionRestore/SessionRestore.d.ts.map +1 -1
  170. package/lib/esm/components/SessionRestore/SessionRestore.js +1 -3
  171. package/lib/esm/components/SubmitCase/SubmitCase.d.ts.map +1 -1
  172. package/lib/esm/components/SubmitCase/SubmitCase.js +1 -1
  173. package/lib/esm/components/TroubleshootSection/TroubleshootSection.js +2 -2
  174. package/lib/esm/components/UpdateSeverityModal/UpdateSeverityModal.d.ts.map +1 -1
  175. package/lib/esm/components/UpdateSeverityModal/UpdateSeverityModal.js +93 -141
  176. package/lib/esm/components/shared/Constants.d.ts +0 -5
  177. package/lib/esm/components/shared/Constants.d.ts.map +1 -1
  178. package/lib/esm/components/shared/Constants.js +0 -5
  179. package/lib/esm/components/shared/fileUpload/FileLister.d.ts.map +1 -1
  180. package/lib/esm/components/shared/fileUpload/FileLister.js +3 -3
  181. package/lib/esm/components/shared/fileUpload/FileUpload.js +3 -2
  182. package/lib/esm/components/shared/fileUpload/FileUploader.d.ts.map +1 -1
  183. package/lib/esm/components/shared/fileUpload/FileUploader.js +1 -3
  184. package/lib/esm/components/shared/fileUpload/WidgetFileUploader.d.ts +0 -1
  185. package/lib/esm/components/shared/fileUpload/WidgetFileUploader.d.ts.map +1 -1
  186. package/lib/esm/components/shared/fileUpload/WidgetFileUploader.js +3 -4
  187. package/lib/esm/components/shared/fileUpload/fileSelectors/FileSelectorButton.d.ts +1 -1
  188. package/lib/esm/components/shared/fileUpload/fileSelectors/FileSelectorButton.d.ts.map +1 -1
  189. package/lib/esm/components/shared/fileUpload/reducer/AttachmentHelper.d.ts +5 -22
  190. package/lib/esm/components/shared/fileUpload/reducer/AttachmentHelper.d.ts.map +1 -1
  191. package/lib/esm/components/shared/fileUpload/reducer/AttachmentHelper.js +59 -307
  192. package/lib/esm/components/shared/fileUpload/reducer/AttachmentReducer.d.ts +1 -5
  193. package/lib/esm/components/shared/fileUpload/reducer/AttachmentReducer.d.ts.map +1 -1
  194. package/lib/esm/components/shared/fileUpload/reducer/AttachmentReducer.js +1 -36
  195. package/lib/esm/components/shared/fileUpload/types/index.d.ts +1 -5
  196. package/lib/esm/components/shared/fileUpload/types/index.d.ts.map +1 -1
  197. package/lib/esm/components/shared/fileUpload/useFileUploader.d.ts +2 -2
  198. package/lib/esm/components/shared/fileUpload/useFileUploader.d.ts.map +1 -1
  199. package/lib/esm/components/shared/fileUpload/useFileUploader.js +47 -119
  200. package/lib/esm/components/shared/useIsSectionValid.d.ts.map +1 -1
  201. package/lib/esm/components/shared/useIsSectionValid.js +57 -22
  202. package/lib/esm/components/shared/usePostComment.d.ts.map +1 -1
  203. package/lib/esm/components/shared/usePostComment.js +28 -16
  204. package/lib/esm/components/shared/utils.d.ts +0 -1
  205. package/lib/esm/components/shared/utils.d.ts.map +1 -1
  206. package/lib/esm/components/shared/utils.js +3 -9
  207. package/lib/esm/components/wizardLayout/GlobalTroubleshootEffects.d.ts.map +1 -1
  208. package/lib/esm/components/wizardLayout/GlobalTroubleshootEffects.js +38 -178
  209. package/lib/esm/components/wizardLayout/MainSection.d.ts.map +1 -1
  210. package/lib/esm/components/wizardLayout/MainSection.js +1 -2
  211. package/lib/esm/components/wizardLayout/WizardAside.d.ts.map +1 -1
  212. package/lib/esm/components/wizardLayout/WizardAside.js +4 -2
  213. package/lib/esm/components/wizardLayout/WizardLayout.d.ts.map +1 -1
  214. package/lib/esm/components/wizardLayout/WizardLayout.js +13 -12
  215. package/lib/esm/components/wizardLayout/WizardMain.d.ts.map +1 -1
  216. package/lib/esm/components/wizardLayout/WizardMain.js +0 -7
  217. package/lib/esm/components/wizardLayout/WizardNavigation.d.ts.map +1 -1
  218. package/lib/esm/components/wizardLayout/WizardNavigation.js +11 -14
  219. package/lib/esm/constants/caseDetailsConstants.d.ts +0 -5
  220. package/lib/esm/constants/caseDetailsConstants.d.ts.map +1 -1
  221. package/lib/esm/constants/caseDetailsConstants.js +0 -5
  222. package/lib/esm/context/CaseContext.d.ts.map +1 -1
  223. package/lib/esm/css/app.css +0 -28
  224. package/lib/esm/css/case.css +212 -209
  225. package/lib/esm/hooks/useAB.d.ts.map +1 -1
  226. package/lib/esm/hooks/useAB.js +23 -45
  227. package/lib/esm/hooks/useCaseUpdateErrorMessage.d.ts +1 -9
  228. package/lib/esm/hooks/useCaseUpdateErrorMessage.d.ts.map +1 -1
  229. package/lib/esm/hooks/useCaseUpdateErrorMessage.js +11 -108
  230. package/lib/esm/hooks/useResetCaseCreate.d.ts.map +1 -1
  231. package/lib/esm/hooks/useResetCaseCreate.js +11 -18
  232. package/lib/esm/hooks/useS3Upload.d.ts +4 -5
  233. package/lib/esm/hooks/useS3Upload.d.ts.map +1 -1
  234. package/lib/esm/hooks/useS3Upload.js +30 -28
  235. package/lib/esm/i18n/template-de.d.ts +2 -2
  236. package/lib/esm/i18n/template-de.js +2 -2
  237. package/lib/esm/i18n/template-es.d.ts +2 -2
  238. package/lib/esm/i18n/template-es.js +2 -2
  239. package/lib/esm/i18n/template-fr.d.ts +2 -2
  240. package/lib/esm/i18n/template-fr.js +2 -2
  241. package/lib/esm/i18n/template-it.d.ts +2 -2
  242. package/lib/esm/i18n/template-it.js +2 -2
  243. package/lib/esm/i18n/template-jp.d.ts +2 -2
  244. package/lib/esm/i18n/template-jp.js +2 -2
  245. package/lib/esm/i18n/template-ko.d.ts +2 -2
  246. package/lib/esm/i18n/template-ko.js +2 -2
  247. package/lib/esm/i18n/template-pt.d.ts +2 -2
  248. package/lib/esm/i18n/template-pt.js +2 -2
  249. package/lib/esm/i18n/template-ru.d.ts +2 -2
  250. package/lib/esm/i18n/template-ru.js +2 -2
  251. package/lib/esm/i18n/template-zh.d.ts +2 -2
  252. package/lib/esm/i18n/template-zh.js +2 -2
  253. package/lib/esm/index.js +0 -1
  254. package/lib/esm/models/cache.d.ts +2 -0
  255. package/lib/esm/models/cache.d.ts.map +1 -1
  256. package/lib/esm/reducers/CaseConstNTypes.d.ts +9 -123
  257. package/lib/esm/reducers/CaseConstNTypes.d.ts.map +1 -1
  258. package/lib/esm/reducers/CaseConstNTypes.js +7 -31
  259. package/lib/esm/reducers/CaseDetailsPageReducer.d.ts +5 -7
  260. package/lib/esm/reducers/CaseDetailsPageReducer.d.ts.map +1 -1
  261. package/lib/esm/reducers/CaseDetailsPageReducer.js +26 -58
  262. package/lib/esm/reducers/CaseDiscussionTabReducer.d.ts +12 -12
  263. package/lib/esm/reducers/CaseDiscussionTabReducer.d.ts.map +1 -1
  264. package/lib/esm/reducers/CaseDiscussionTabReducer.js +73 -88
  265. package/lib/esm/reducers/CaseHelpers.d.ts +1 -11
  266. package/lib/esm/reducers/CaseHelpers.d.ts.map +1 -1
  267. package/lib/esm/reducers/CaseHelpers.js +17 -119
  268. package/lib/esm/reducers/CaseOverviewReducer.d.ts +1 -3
  269. package/lib/esm/reducers/CaseOverviewReducer.d.ts.map +1 -1
  270. package/lib/esm/reducers/CaseOverviewReducer.js +5 -7
  271. package/lib/esm/reducers/CaseReducer.d.ts +11 -56
  272. package/lib/esm/reducers/CaseReducer.d.ts.map +1 -1
  273. package/lib/esm/reducers/CaseReducer.js +100 -284
  274. package/lib/esm/reducers/RecommendationsReducer.d.ts.map +1 -1
  275. package/lib/esm/reducers/RecommendationsReducer.js +18 -15
  276. package/lib/esm/scss/_main.scss +0 -9
  277. package/lib/esm/utils/caseOpenshiftClusterIdUtils.d.ts +2 -1
  278. package/lib/esm/utils/caseOpenshiftClusterIdUtils.d.ts.map +1 -1
  279. package/lib/esm/utils/caseOpenshiftClusterIdUtils.js +4 -4
  280. package/package.json +8 -10
  281. package/lib/esm/components/CaseEditView/ArchivedCaseBanner.d.ts +0 -8
  282. package/lib/esm/components/CaseEditView/ArchivedCaseBanner.d.ts.map +0 -1
  283. package/lib/esm/components/CaseEditView/ArchivedCaseBanner.js +0 -18
  284. package/lib/esm/components/CaseEditView/RequestRemoteSession/remoteSessionUtils.d.ts +0 -10
  285. package/lib/esm/components/CaseEditView/RequestRemoteSession/remoteSessionUtils.d.ts.map +0 -1
  286. package/lib/esm/components/CaseEditView/RequestRemoteSession/remoteSessionUtils.js +0 -31
  287. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/PostComment/useAttachmentUploadCompletion.d.ts +0 -29
  288. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/PostComment/useAttachmentUploadCompletion.d.ts.map +0 -1
  289. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/PostComment/useAttachmentUploadCompletion.js +0 -29
  290. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/PostComment/useCommentDrafts.d.ts +0 -17
  291. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/PostComment/useCommentDrafts.d.ts.map +0 -1
  292. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/PostComment/useCommentDrafts.js +0 -62
  293. package/lib/esm/components/CaseInformation/CaseLabels.d.ts +0 -3
  294. package/lib/esm/components/CaseInformation/CaseLabels.d.ts.map +0 -1
  295. package/lib/esm/components/CaseInformation/CaseLabels.js +0 -108
  296. package/lib/esm/components/CaseManagement/CaseLabelsCreate.d.ts +0 -4
  297. package/lib/esm/components/CaseManagement/CaseLabelsCreate.d.ts.map +0 -1
  298. package/lib/esm/components/CaseManagement/CaseLabelsCreate.js +0 -141
  299. package/lib/esm/components/ProductSelector/ProductNotEntitledWarning.d.ts +0 -3
  300. package/lib/esm/components/ProductSelector/ProductNotEntitledWarning.d.ts.map +0 -1
  301. package/lib/esm/components/ProductSelector/ProductNotEntitledWarning.js +0 -9
  302. package/lib/esm/graphql/index.d.ts +0 -4
  303. package/lib/esm/graphql/index.d.ts.map +0 -1
  304. package/lib/esm/graphql/index.js +0 -3
  305. package/lib/esm/graphql/mutations/createRMECaseEscalation.d.ts +0 -2
  306. package/lib/esm/graphql/mutations/createRMECaseEscalation.d.ts.map +0 -1
  307. package/lib/esm/graphql/mutations/createRMECaseEscalation.js +0 -24
  308. package/lib/esm/graphql/mutations/index.d.ts +0 -2
  309. package/lib/esm/graphql/mutations/index.d.ts.map +0 -1
  310. package/lib/esm/graphql/mutations/index.js +0 -1
  311. package/lib/esm/graphql/queries/getEscalationDetails.d.ts +0 -2
  312. package/lib/esm/graphql/queries/getEscalationDetails.d.ts.map +0 -1
  313. package/lib/esm/graphql/queries/getEscalationDetails.js +0 -36
  314. package/lib/esm/graphql/queries/index.d.ts +0 -2
  315. package/lib/esm/graphql/queries/index.d.ts.map +0 -1
  316. package/lib/esm/graphql/queries/index.js +0 -1
  317. package/lib/esm/graphql/schemas/escalation.d.ts +0 -66
  318. package/lib/esm/graphql/schemas/escalation.d.ts.map +0 -1
  319. package/lib/esm/graphql/schemas/escalation.js +0 -1
  320. package/lib/esm/graphql/schemas/index.d.ts +0 -2
  321. package/lib/esm/graphql/schemas/index.d.ts.map +0 -1
  322. package/lib/esm/graphql/schemas/index.js +0 -1
  323. package/lib/esm/hooks/useCaseComments/caseCommentsQuery.d.ts +0 -4
  324. package/lib/esm/hooks/useCaseComments/caseCommentsQuery.d.ts.map +0 -1
  325. package/lib/esm/hooks/useCaseComments/caseCommentsQuery.js +0 -57
  326. package/lib/esm/hooks/useCaseComments/index.d.ts +0 -8
  327. package/lib/esm/hooks/useCaseComments/index.d.ts.map +0 -1
  328. package/lib/esm/hooks/useCaseComments/index.js +0 -5
  329. package/lib/esm/hooks/useCaseComments/mapCaseComment.d.ts +0 -25
  330. package/lib/esm/hooks/useCaseComments/mapCaseComment.d.ts.map +0 -1
  331. package/lib/esm/hooks/useCaseComments/mapCaseComment.js +0 -75
  332. package/lib/esm/hooks/useCaseComments/types.d.ts +0 -93
  333. package/lib/esm/hooks/useCaseComments/types.d.ts.map +0 -1
  334. package/lib/esm/hooks/useCaseComments/types.js +0 -1
  335. package/lib/esm/hooks/useCaseComments/useCaseComments.d.ts +0 -26
  336. package/lib/esm/hooks/useCaseComments/useCaseComments.d.ts.map +0 -1
  337. package/lib/esm/hooks/useCaseComments/useCaseComments.js +0 -113
  338. package/lib/esm/hooks/useCaseComments/useCreateCaseComment.d.ts +0 -19
  339. package/lib/esm/hooks/useCaseComments/useCreateCaseComment.d.ts.map +0 -1
  340. package/lib/esm/hooks/useCaseComments/useCreateCaseComment.js +0 -33
  341. package/lib/esm/hooks/useCaseGroupUiState.d.ts +0 -3
  342. package/lib/esm/hooks/useCaseGroupUiState.d.ts.map +0 -1
  343. package/lib/esm/hooks/useCaseGroupUiState.js +0 -10
  344. package/lib/esm/hooks/useCaseHistory.d.ts +0 -26
  345. package/lib/esm/hooks/useCaseHistory.d.ts.map +0 -1
  346. package/lib/esm/hooks/useCaseHistory.js +0 -107
  347. package/lib/esm/hooks/useCaseLabelLinkMutations.d.ts +0 -23
  348. package/lib/esm/hooks/useCaseLabelLinkMutations.d.ts.map +0 -1
  349. package/lib/esm/hooks/useCaseLabelLinkMutations.js +0 -84
  350. package/lib/esm/models/caseHistory.d.ts +0 -86
  351. package/lib/esm/models/caseHistory.d.ts.map +0 -1
  352. package/lib/esm/models/caseHistory.js +0 -1
  353. package/lib/esm/utils/TimelineUtils.d.ts +0 -41
  354. package/lib/esm/utils/TimelineUtils.d.ts.map +0 -1
  355. package/lib/esm/utils/TimelineUtils.js +0 -135
  356. package/lib/esm/utils/caseHistoryUtils.d.ts +0 -85
  357. package/lib/esm/utils/caseHistoryUtils.d.ts.map +0 -1
  358. package/lib/esm/utils/caseHistoryUtils.js +0 -196
  359. package/lib/esm/utils/caseSeverityFtsGraphQLUtils.d.ts +0 -6
  360. package/lib/esm/utils/caseSeverityFtsGraphQLUtils.d.ts.map +0 -1
  361. package/lib/esm/utils/caseSeverityFtsGraphQLUtils.js +0 -26
  362. package/lib/esm/utils/linkifyHtmlTextNodes.d.ts +0 -8
  363. package/lib/esm/utils/linkifyHtmlTextNodes.d.ts.map +0 -1
  364. package/lib/esm/utils/linkifyHtmlTextNodes.js +0 -37
@@ -1,12 +1,7 @@
1
- import { GlobalMetadataStateContext } from '@rh-support/react-context';
2
- import React, { useContext } from 'react';
3
- import { useCaseSelector } from '../../../../context/CaseContext';
1
+ import React from 'react';
4
2
  import Timeline from './Timeline';
5
3
  const CaseHistory = (props) => {
6
- const sfdcCaseId = useCaseSelector((state) => { var _a; return (_a = state.caseDetails) === null || _a === void 0 ? void 0 : _a.id; });
7
- const { globalMetadataState: { loggedInUserRights }, } = useContext(GlobalMetadataStateContext);
8
- const isViewerInternal = loggedInUserRights.data.isInternal();
9
4
  return (React.createElement("div", { className: "pf-v6-u-p-sm" },
10
- React.createElement(Timeline, { caseNumber: props.caseNumber, sfdcCaseId: sfdcCaseId !== null && sfdcCaseId !== void 0 ? sfdcCaseId : '', isViewerInternal: isViewerInternal })));
5
+ React.createElement(Timeline, { caseNumber: props.caseNumber })));
11
6
  };
12
7
  export default CaseHistory;
@@ -121,8 +121,8 @@
121
121
 
122
122
  .timeline-avatar {
123
123
  position: absolute;
124
- left: calc(20% + 2.5px);
125
- transform: translateX(-50%);
124
+ left: calc(20% + 15px);
125
+ transform: translateX(-91%);
126
126
  top: 12px;
127
127
  z-index: 5;
128
128
  }
@@ -134,8 +134,8 @@
134
134
  width: 10px;
135
135
  height: 10px;
136
136
  z-index: 2;
137
- left: calc(20% + 2.5px);
138
- transform: translateX(-50%);
137
+ left: calc(20% + 18px);
138
+ transform: translateX(-195%);
139
139
  top: 25px;
140
140
  }
141
141
 
@@ -1,40 +1,7 @@
1
1
  import './Timeline.css';
2
2
  import React from 'react';
3
- import type { ICaseHistoryItem } from '../../../../models/caseHistory';
4
- import { type IHistoryChangeItem } from '../../../../utils/TimelineUtils';
5
- export interface ITimelineEvent {
6
- date: string;
7
- text: string;
8
- user?: string;
9
- useAvatar?: boolean;
10
- }
11
- export interface ITimelineNodeData {
12
- left: ITimelineEvent;
13
- right: ITimelineEvent;
14
- photoUrl?: string | null;
15
- userName?: string;
16
- }
17
- /**
18
- * Builds the display text for a "Change" history item by resolving values and
19
- * delegating to field-specific formatters.
20
- */
21
- export declare const applyReplacements: (item: IHistoryChangeItem | null | undefined) => string;
22
- /**
23
- * Converts normalized history items into timeline node data for rendering.
24
- *
25
- * Applies a secondary filter (excludes `FolderId__c` and `OwnerId` whose resolved
26
- * display names are unavailable), then maps each item to a left (date/time) and
27
- * right (user action text) event pair. Avatar/date-header boundaries are computed
28
- * sequentially: a new boundary is set on the first item, user change, or date change.
29
- */
30
- export declare const transformApiResponseToTimelineData: (apiResponse: {
31
- historyItems: ICaseHistoryItem[];
32
- }) => ITimelineNodeData[];
33
- interface ITimelineProps {
34
- caseNumber: string;
35
- sfdcCaseId: string | undefined;
36
- isViewerInternal: boolean;
37
- }
38
- declare const Timeline: ({ caseNumber, sfdcCaseId, isViewerInternal }: ITimelineProps) => React.JSX.Element;
3
+ declare const Timeline: ({ caseNumber }: {
4
+ caseNumber: any;
5
+ }) => React.JSX.Element;
39
6
  export default Timeline;
40
7
  //# sourceMappingURL=Timeline.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Timeline.d.ts","sourceRoot":"","sources":["../../../../../../src/components/CaseEditView/Tabs/CaseHistory/Timeline.tsx"],"names":[],"mappings":"AAAA,OAAO,gBAAgB,CAAC;AAsBxB,OAAO,KAAsC,MAAM,OAAO,CAAC;AAI3D,OAAO,KAAK,EAAwB,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAE7F,OAAO,EAAE,KAAK,kBAAkB,EAA0C,MAAM,iCAAiC,CAAC;AAElH,MAAM,WAAW,cAAc;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,OAAO,CAAC;CACvB;AACD,MAAM,WAAW,iBAAiB;IAC9B,IAAI,EAAE,cAAc,CAAC;IACrB,KAAK,EAAE,cAAc,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAmID;;;GAGG;AACH,eAAO,MAAM,iBAAiB,GAAI,MAAM,kBAAkB,GAAG,IAAI,GAAG,SAAS,KAAG,MAU/E,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,kCAAkC,GAAI,aAAa;IAC5D,YAAY,EAAE,gBAAgB,EAAE,CAAC;CACpC,KAAG,iBAAiB,EAoDpB,CAAC;AAEF,UAAU,cAAc;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,gBAAgB,EAAE,OAAO,CAAC;CAC7B;AAED,QAAA,MAAM,QAAQ,GAAI,8CAA8C,cAAc,sBAgU7E,CAAC;AAEF,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"Timeline.d.ts","sourceRoot":"","sources":["../../../../../../src/components/CaseEditView/Tabs/CaseHistory/Timeline.tsx"],"names":[],"mappings":"AAAA,OAAO,gBAAgB,CAAC;AAwBxB,OAAO,KAAsC,MAAM,OAAO,CAAC;AA8W3D,QAAA,MAAM,QAAQ,GAAI;;CAAc,sBAmV/B,CAAC;AAEF,eAAe,QAAQ,CAAC"}
@@ -1,16 +1,23 @@
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
+ };
1
10
  import './Timeline.css';
11
+ import { caseHistory } from '@cee-eng/hydrajs';
2
12
  import { Avatar, Button, DatePicker, EmptyState, EmptyStateBody, EmptyStateVariant, MenuToggle, Pagination, SearchInput, Select, SelectOption, Spinner, } from '@patternfly/react-core';
3
13
  import ExclamationCircleIcon from '@patternfly/react-icons/dist/js/icons/exclamation-circle-icon';
4
14
  import SearchIcon from '@patternfly/react-icons/dist/js/icons/search-icon';
5
15
  import { haltEvent } from '@rh-support/utils';
6
- import { format, isSameDay, parse, parseISO } from 'date-fns';
16
+ import { format, fromUnixTime, isSameDay, parse } from 'date-fns';
7
17
  import debounce from 'lodash/debounce';
8
18
  import isEmpty from 'lodash/isEmpty';
9
19
  import React, { useEffect, useRef, useState } from 'react';
10
20
  import { Trans, useTranslation } from 'react-i18next';
11
- import { useCaseHistory } from '../../../../hooks/useCaseHistory';
12
- import { getFieldDisplayName } from '../../../../utils/caseHistoryUtils';
13
- import { applyPostProcessing, handleFieldChange } from '../../../../utils/TimelineUtils';
14
21
  const CustomHighlighter = ({ search, children, highlightDate, }) => {
15
22
  const createHighlight = (text) => React.createElement("mark", { className: "timeline-highlight" }, text);
16
23
  if (highlightDate) {
@@ -18,7 +25,7 @@ const CustomHighlighter = ({ search, children, highlightDate, }) => {
18
25
  }
19
26
  if (search) {
20
27
  const escapedSearch = search.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
21
- const regex = new RegExp(`(${escapedSearch})`, 'i');
28
+ const regex = new RegExp(`(${escapedSearch})`, 'gi');
22
29
  const parts = children.split(regex);
23
30
  return React.createElement(React.Fragment, null, parts.map((part, index) => (regex.test(part) ? createHighlight(part) : part)));
24
31
  }
@@ -45,58 +52,193 @@ const TimelineEvent = ({ date, text, side, user, useAvatar, searchValue, highlig
45
52
  text && (React.createElement("p", { className: `content-time-${side}-history` },
46
53
  React.createElement(CustomHighlighter, { search: searchValue || '' }, text))))));
47
54
  };
48
- const DEFAULT_AVATAR_SRC = 'https://www.patternfly.org/images/668560cd.svg';
49
- const TimelineNode = React.forwardRef(({ leftEvent, rightEvent, user, useAvatar, photoUrl, searchValue, highlightDate }, ref) => {
50
- const [imgSrc, setImgSrc] = useState(photoUrl || DEFAULT_AVATAR_SRC);
55
+ const TimelineNode = React.forwardRef(({ leftEvent, rightEvent, user, useAvatar, searchValue, highlightDate }, ref) => {
51
56
  return (React.createElement("div", { className: "timeline-node", role: "region", "aria-label": "Timeline node" },
52
57
  leftEvent && (React.createElement(TimelineEvent, Object.assign({}, leftEvent, { side: "left", useAvatar: useAvatar, searchValue: searchValue, highlightDate: highlightDate }))),
53
- React.createElement("div", { ref: ref, "aria-label": `${useAvatar ? 'User profile picture' : 'Timeline marker'}`, tabIndex: -1 }, useAvatar ? (React.createElement(Avatar, { src: imgSrc, className: `timeline-avatar timeline-avatar-${user}`, alt: `${user}'s avatar`, onError: () => setImgSrc(DEFAULT_AVATAR_SRC) })) : (React.createElement("div", { className: `timeline-marker timeline-${user}` }))),
58
+ React.createElement("div", { ref: ref, "aria-label": `${useAvatar ? 'User profile picture' : 'Timeline marker'}`, tabIndex: -1 }, useAvatar ? (React.createElement(Avatar, { src: 'https://www.patternfly.org/images/668560cd.svg', className: `timeline-avatar timeline-avatar-${user}`, alt: `${user}'s avatar` })) : (React.createElement("div", { className: `timeline-marker timeline-${user}` }))),
54
59
  rightEvent && React.createElement(TimelineEvent, Object.assign({}, rightEvent, { side: "right", searchValue: searchValue }))));
55
60
  });
56
61
  /**
57
- * Builds the display text for a "Change" history item by resolving values and
58
- * delegating to field-specific formatters.
62
+ *
63
+ * @param {Object} item - The item object to process.
64
+ * @returns {string} The formatted text string.
59
65
  */
60
- export const applyReplacements = (item) => {
61
- var _a, _b;
66
+ const applyReplacements = (item) => {
62
67
  if (!item || typeof item !== 'object')
63
68
  return '';
64
- const fieldName = item.displayName || getFieldDisplayName(item.fieldName) || item.fieldName;
65
- const newValue = String((_a = item.newValue) !== null && _a !== void 0 ? _a : '');
66
- const oldValue = String((_b = item.oldValue) !== null && _b !== void 0 ? _b : '');
67
- const text = handleFieldChange(item, fieldName, oldValue, newValue);
68
- return applyPostProcessing(text, item);
69
+ // API field names to easy to read display names
70
+ const fieldNameMapping = {
71
+ ContactId: 'Contact',
72
+ RH_Product__c: 'Product',
73
+ RH_Version__c: 'Version',
74
+ EntitlementId: 'Entitlement',
75
+ AccountId: 'Account',
76
+ OwnerId: 'Owner',
77
+ BusinessHoursId: 'Business Hours',
78
+ FolderId__c: 'Case Group',
79
+ Status: 'Status',
80
+ Customer_Escalation__c: 'Customer Escalation',
81
+ SlaStartDate: 'SLA Start Date',
82
+ Case_Language__c: 'Case Language',
83
+ Alternate_Id__c: 'Personal reference number',
84
+ SBR_Group__c: 'SBR Group',
85
+ };
86
+ // https://help.salesforce.com/s/articleView?id=000384484&type=1
87
+ // adding in option for multiselect fields provided by salesforce.
88
+ // in future for more multiselect fields just add to below array.
89
+ const multiSelectFields = ['SBR_Group__c'];
90
+ // language codes to language names
91
+ const languageCodeMapping = {
92
+ de: 'German',
93
+ en: 'English',
94
+ es: 'Spanish',
95
+ fr: 'French',
96
+ it: 'Italian',
97
+ pt: 'Portuguese',
98
+ ko: 'Korean',
99
+ ja: 'Japanese',
100
+ zh: 'Chinese',
101
+ zh_CN: 'Chinese',
102
+ zh_HK: 'Chinese (Hong Kong)',
103
+ zh_TW: 'Chinese (Taiwan)',
104
+ ru: 'Russian',
105
+ };
106
+ // field display names to prefix keys used in item properties
107
+ const keyMap = {
108
+ Product: 'product',
109
+ Version: 'version',
110
+ Account: 'account',
111
+ Contact: 'contact',
112
+ Entitlement: 'entitlement',
113
+ 'Business Hours': 'businessHours',
114
+ Owner: 'queueNameOwner',
115
+ 'Customer Escalation': 'customerEscalation',
116
+ 'Case Group': 'caseGroup',
117
+ 'SLA Start Date': 'slaStartDate',
118
+ 'Case Language': 'caseLanguage',
119
+ 'Personal reference number': 'alternateId',
120
+ };
121
+ // get the mapped display name for a field
122
+ const getMappedFieldName = (fieldName) => fieldNameMapping[fieldName] || item.fieldLabel || fieldName || '';
123
+ // get the new or old value using the prefix
124
+ const getNameValue = (prefix) => item[`${keyMap[getMappedFieldName(item.fieldName)]}${prefix}Name`] ||
125
+ item[`${prefix}Value`] ||
126
+ item[`${prefix.toLowerCase()}Value`] ||
127
+ '';
128
+ // formatting functions
129
+ const formatLanguageChange = (fieldName, oldLanguage, newLanguage) => `changed ${fieldName} from ${oldLanguage} to ${newLanguage}`;
130
+ const formatSimpleChange = (fieldName, value) => `set ${fieldName} to ${value}`;
131
+ const formatBooleanChange = (fieldName, value) => `set ${fieldName} to ${value}`;
132
+ // get field name and values
133
+ const fieldName = getMappedFieldName(item.fieldName);
134
+ const newValue = getNameValue('New');
135
+ const oldValue = getNameValue('Old');
136
+ let newText = '';
137
+ // special field handling below, useful for future exposed case history fields etc / api changes
138
+ switch (item.fieldName) {
139
+ case 'Case_Language__c': {
140
+ const newLanguage = languageCodeMapping[item.newValue] || item.newValue;
141
+ const oldLanguage = languageCodeMapping[item.oldValue] || item.oldValue;
142
+ newText =
143
+ item.oldValue && item.newValue
144
+ ? formatLanguageChange(fieldName, oldLanguage, newLanguage)
145
+ : formatSimpleChange(fieldName, newLanguage || 'empty');
146
+ break;
147
+ }
148
+ case 'OwnerId':
149
+ if (item.createdByUserName)
150
+ newText = formatSimpleChange(fieldName, item.createdByUserName);
151
+ break;
152
+ case 'Status':
153
+ newText =
154
+ item.oldValue && item.newValue
155
+ ? `changed ${fieldName} from ${item.oldValue} to ${item.newValue}`
156
+ : formatSimpleChange(fieldName, item.newValue || 'empty');
157
+ break;
158
+ case 'Customer_Escalation__c':
159
+ if (item.createdByUserName)
160
+ newText = 'started Escalation for this ticket';
161
+ break;
162
+ case 'SlaStartDate':
163
+ if (item.newValue)
164
+ newText = formatSimpleChange(fieldName, item.newValue);
165
+ break;
166
+ case 'RemoteSessionTermsAckedBy__c':
167
+ newText = 'Acked Remote Rider terms';
168
+ break;
169
+ default:
170
+ if (oldValue && newValue) {
171
+ if (multiSelectFields.includes(item.fieldName)) {
172
+ // in salesforce multi-select picklist values are stored as a single string, with each value separated by a semicolon
173
+ const oldValues = oldValue.split(';').map((s) => s.trim());
174
+ const newValues = newValue.split(';').map((s) => s.trim());
175
+ const added = newValues.filter((nv) => !oldValues.includes(nv));
176
+ const removed = oldValues.filter((ov) => !newValues.includes(ov));
177
+ if (added.length > 0 && removed.length === 0) {
178
+ newText = `added ${added.join(', ')} to ${fieldName}`;
179
+ }
180
+ else if (removed.length > 0 && added.length === 0) {
181
+ newText = `removed ${removed.join(', ')} from ${fieldName}`;
182
+ }
183
+ else if (added.length > 0 && removed.length > 0) {
184
+ newText = `changed ${fieldName}, added ${added.join(', ')} and removed ${removed.join(', ')}`;
185
+ }
186
+ else {
187
+ newText = `changed ${fieldName} from ${oldValue} to ${newValue}`;
188
+ }
189
+ }
190
+ else {
191
+ newText = `changed ${fieldName} from ${oldValue} to ${newValue}`;
192
+ }
193
+ }
194
+ else if (newValue) {
195
+ newText = formatSimpleChange(fieldName, newValue);
196
+ }
197
+ else if (oldValue && (newValue === undefined || newValue === '')) {
198
+ newText = `removed ${fieldName}, was ${oldValue}`;
199
+ }
200
+ else if (item.newValue !== undefined) {
201
+ newText = formatSimpleChange(fieldName, item.newValue);
202
+ }
203
+ break;
204
+ }
205
+ if (typeof item.newValue === 'boolean')
206
+ newText = formatBooleanChange(fieldName, item.newValue);
207
+ if (typeof newText === 'string')
208
+ newText = newText.replace(/Problem Statement/g, 'Title');
209
+ if (typeof newText === 'string')
210
+ newText = newText.replace(/Case Type/g, 'Support Type');
211
+ return newText;
69
212
  };
70
- /**
71
- * Converts normalized history items into timeline node data for rendering.
72
- *
73
- * Applies a secondary filter (excludes `FolderId__c` and `OwnerId` whose resolved
74
- * display names are unavailable), then maps each item to a left (date/time) and
75
- * right (user action text) event pair. Avatar/date-header boundaries are computed
76
- * sequentially: a new boundary is set on the first item, user change, or date change.
77
- */
78
- export const transformApiResponseToTimelineData = (apiResponse) => {
213
+ // function to change the apiResponse
214
+ const transformApiResponseToTimelineData = (apiResponse) => {
79
215
  let previousUser = null;
80
216
  let previousDate = null;
81
217
  const timelineEvents = apiResponse.historyItems
82
- // Second-layer field-name filter on top of filterSfdcIdEntries (which is pattern-based).
83
- // FolderId__c (Case Group) and OwnerId are excluded because their resolved display
84
- // names (queue name, owner name) are not available in the history payload.
218
+ // Filter out 'Case Group' and 'OwnerId' changes because we don't have decode of value
85
219
  .filter((item) => item.fieldName !== 'FolderId__c' && item.fieldName !== 'OwnerId')
86
220
  .map((item, index) => {
87
221
  const currentUser = item.createdByUserName;
88
- const eventDate = parseISO(item.createdDate);
222
+ let eventDate;
223
+ if (typeof item.createdDate === 'string' && item.createdDate.includes('T')) {
224
+ eventDate = parse(item.createdDate, "yyyy-MM-dd'T'HH:mm:ss'Z'", new Date());
225
+ }
226
+ else {
227
+ eventDate = fromUnixTime(item.createdDate / 1000);
228
+ }
89
229
  const currentDate = format(eventDate, 'MMMM d, yyyy');
90
- // Show avatar + date header when: (1) first item, (2) user changed from
91
- // previous event, or (3) calendar date changed. After any list mutation
92
- // (filter, sort, paginate) applyAvatarLogic must be re-run so boundaries
93
- // remain correct.
94
230
  const useAvatar = index === 0 ||
95
- (previousUser !== null && currentUser !== previousUser) ||
96
- (previousDate !== null && currentDate !== previousDate);
231
+ (!!previousUser && currentUser !== previousUser) ||
232
+ (!!previousDate && currentDate !== previousDate);
97
233
  previousUser = currentUser;
98
234
  previousDate = currentDate;
99
- const user = item.createdByCustomer ? 'customer' : 'internal';
235
+ const user = item.createdByCustomer !== undefined
236
+ ? item.createdByCustomer
237
+ ? 'customer'
238
+ : 'internal'
239
+ : currentUser === 'Case Diagnostics' || currentUser === 'GSS Tools'
240
+ ? 'internal'
241
+ : 'customer';
100
242
  const leftEvent = {
101
243
  date: currentDate,
102
244
  text: format(eventDate, 'h:mm a zzz'),
@@ -105,8 +247,11 @@ export const transformApiResponseToTimelineData = (apiResponse) => {
105
247
  if (item.type === 'Change') {
106
248
  outputText = applyReplacements(item);
107
249
  }
250
+ else {
251
+ outputText = stripHTML(outputText);
252
+ }
108
253
  const rightEvent = {
109
- date: item.createdByUserName ? `${item.createdByUserName} ${outputText}` : outputText,
254
+ date: `${item.createdByUserName} ${outputText}`,
110
255
  text: '',
111
256
  user: user,
112
257
  useAvatar: useAvatar,
@@ -114,24 +259,27 @@ export const transformApiResponseToTimelineData = (apiResponse) => {
114
259
  return {
115
260
  left: leftEvent,
116
261
  right: rightEvent,
117
- photoUrl: item.photoUrl,
118
- userName: currentUser,
119
262
  };
120
263
  });
121
264
  return timelineEvents;
122
265
  };
123
- const Timeline = ({ caseNumber, sfdcCaseId, isViewerInternal }) => {
266
+ function stripHTML(htmlString) {
267
+ const anchorTagRegex = /<a[^>]*>(.*?)<\/a>/g;
268
+ // We are trying to return the text without having the info in the anchor.
269
+ return htmlString.replace(anchorTagRegex, '');
270
+ }
271
+ const Timeline = ({ caseNumber }) => {
124
272
  const { t } = useTranslation();
125
273
  const [timelineEvents, setTimelineEvents] = useState([]);
274
+ const [originalTimelineEvents, setOriginalTimelineEvents] = useState([]);
275
+ const [isFetchingData, setIsFetchingData] = useState();
126
276
  const lastNodeRef = useRef(null);
127
- const [sortOrder, setSortOrder] = useState('DESC');
128
- const { historyItems, loading: isFetchingData, error } = useCaseHistory(sfdcCaseId, isViewerInternal, sortOrder);
129
- const fetchError = error ? t('Unable to connect') : null;
130
277
  const [dateValue, setDateValue] = useState('');
131
278
  const [searchValue, setSearchValue] = useState('');
132
279
  const [filteredEvents, setFilteredEvents] = useState([]);
133
280
  const [isSelectOpen, setIsSelectOpen] = useState(false);
134
281
  const [selectedOrder, setSelectedOrder] = useState('Newest to Oldest');
282
+ const [fetchError, setFetchError] = useState(null);
135
283
  const [page, setPage] = useState(1);
136
284
  const [perPage, setPerPage] = useState(20);
137
285
  const onSetPage = (_, newPage) => {
@@ -155,31 +303,56 @@ const Timeline = ({ caseNumber, sfdcCaseId, isViewerInternal }) => {
155
303
  e.preventDefault();
156
304
  if (value !== selectedOrder) {
157
305
  setSelectedOrder(value);
158
- setSortOrder(value === 'Newest to Oldest' ? 'DESC' : 'ASC');
306
+ reorderTimelineEvents(value);
159
307
  }
160
308
  setIsSelectOpen(false);
161
309
  };
162
- // Re-derives avatar/date-header boundaries after list mutations (filter, sort, paginate).
310
+ const reorderTimelineEvents = (order) => {
311
+ const events = order === 'Newest to Oldest' ? [...originalTimelineEvents] : [...originalTimelineEvents].reverse();
312
+ setTimelineEvents(applyAvatarLogic(events));
313
+ };
163
314
  const applyAvatarLogic = (events) => {
164
315
  let previousUser = null;
165
316
  let previousDate = null;
166
317
  return events.map((event, index) => {
167
- const currentUser = event.userName || '';
318
+ const currentUser = event.right.date.split(' ')[0];
168
319
  const currentDate = event.left.date;
169
320
  const useAvatar = index === 0 ||
170
- (previousUser !== null && currentUser !== previousUser) ||
171
- (previousDate !== null && currentDate !== previousDate);
321
+ (!!previousUser && currentUser !== previousUser) ||
322
+ (!!previousDate && currentDate !== previousDate);
172
323
  previousUser = currentUser;
173
324
  previousDate = currentDate;
174
325
  return Object.assign(Object.assign({}, event), { right: Object.assign(Object.assign({}, event.right), { useAvatar: useAvatar }) });
175
326
  });
176
327
  };
177
328
  useEffect(() => {
178
- if (historyItems.length > 0) {
179
- const transformedData = transformApiResponseToTimelineData({ historyItems });
180
- setTimelineEvents(transformedData);
329
+ function fetchHistory() {
330
+ return __awaiter(this, void 0, void 0, function* () {
331
+ setIsFetchingData(true);
332
+ setFetchError(null);
333
+ const options = {
334
+ sortField: 'createdDate',
335
+ sortOrder: 'DESC',
336
+ showVerbose: true,
337
+ };
338
+ try {
339
+ const response = yield caseHistory.getHistoryv1(caseNumber, options);
340
+ const transformedData = transformApiResponseToTimelineData(response);
341
+ setTimelineEvents(transformedData);
342
+ setOriginalTimelineEvents(transformedData);
343
+ }
344
+ catch (error) {
345
+ console.error('Failed to fetch history:', error);
346
+ setFetchError(t('Unable to connect'));
347
+ }
348
+ finally {
349
+ setIsFetchingData(false);
350
+ }
351
+ });
181
352
  }
182
- }, [historyItems]);
353
+ fetchHistory();
354
+ // eslint-disable-next-line react-hooks/exhaustive-deps
355
+ }, [caseNumber]);
183
356
  const futureDateValidator = (date) => {
184
357
  const today = new Date();
185
358
  today.setHours(0, 0, 0, 0); // Normalize to midnight
@@ -188,9 +361,6 @@ const Timeline = ({ caseNumber, sfdcCaseId, isViewerInternal }) => {
188
361
  }
189
362
  return '';
190
363
  };
191
- // Measures the DOM to shorten the vertical timeline connector line so it does not
192
- // extend past the last node. Sets the --timeline-bottom CSS variable, recomputed
193
- // on resize and list changes via requestAnimationFrame.
194
364
  const updateLineStyle = () => {
195
365
  const timelineElement = document.querySelector('.timeline');
196
366
  if (timelineElement) {
@@ -225,10 +395,7 @@ const Timeline = ({ caseNumber, sfdcCaseId, isViewerInternal }) => {
225
395
  timelineElement.style.setProperty('--timeline-bottom', '0px');
226
396
  }
227
397
  }
228
- return () => {
229
- debouncedUpdateLineStyle.cancel();
230
- window.removeEventListener('resize', debouncedUpdateLineStyle);
231
- };
398
+ return () => window.removeEventListener('resize', debouncedUpdateLineStyle);
232
399
  }, [isFetchingData, filteredEvents, page, perPage]);
233
400
  const handleSearchChange = (_, value) => {
234
401
  setSearchValue(value.trim());
@@ -267,6 +434,7 @@ const Timeline = ({ caseNumber, sfdcCaseId, isViewerInternal }) => {
267
434
  }, [searchValue, dateValue, timelineEvents]);
268
435
  const handleReload = (e) => {
269
436
  e.preventDefault();
437
+ window.location.href = window.location.href;
270
438
  window.location.reload();
271
439
  };
272
440
  const renderTimelineContent = () => {
@@ -284,7 +452,7 @@ const Timeline = ({ caseNumber, sfdcCaseId, isViewerInternal }) => {
284
452
  React.createElement(Trans, null, "Try modifying your search query or changing the date range and try again."))));
285
453
  }
286
454
  const paginatedEvents = filteredEvents.slice((page - 1) * perPage, page * perPage);
287
- return (React.createElement(React.Fragment, null, paginatedEvents.map((node, index) => (React.createElement(TimelineNode, { key: index, leftEvent: node.left, rightEvent: node.right, user: node.right.user, useAvatar: node.right.useAvatar, photoUrl: node.photoUrl, searchValue: searchValue, highlightDate: !!dateValue, ref: index === paginatedEvents.length - 1 ? lastNodeRef : null })))));
455
+ return (React.createElement(React.Fragment, null, paginatedEvents.map((node, index) => (React.createElement(TimelineNode, { key: index, leftEvent: node.left, rightEvent: node.right, user: node.right.user, useAvatar: node.right.useAvatar, searchValue: searchValue, highlightDate: !!dateValue, ref: index === paginatedEvents.length - 1 ? lastNodeRef : null })))));
288
456
  };
289
457
  return (React.createElement(React.Fragment, null,
290
458
  React.createElement("div", { className: "timelineMenu" },
@@ -1,13 +1,14 @@
1
1
  import React from 'react';
2
- interface IProps {
3
- caseNumber?: string;
4
- privateNotes?: string;
2
+ declare const defaultProps: {
3
+ caseNumber: any;
4
+ };
5
+ type DefaultProps = typeof defaultProps;
6
+ interface IProps extends DefaultProps {
5
7
  }
6
8
  declare function CasePrivateNotes(props: IProps): React.JSX.Element;
7
9
  declare namespace CasePrivateNotes {
8
10
  var defaultProps: {
9
11
  caseNumber: any;
10
- privateNotes: string | undefined;
11
12
  };
12
13
  }
13
14
  export default CasePrivateNotes;
@@ -1 +1 @@
1
- {"version":3,"file":"CasePrivateNotes.d.ts","sourceRoot":"","sources":["../../../../../../src/components/CaseEditView/Tabs/CasePrivateNotes/CasePrivateNotes.tsx"],"names":[],"mappings":"AAOA,OAAO,KAA0C,MAAM,OAAO,CAAC;AAa/D,UAAU,MAAM;IACZ,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,iBAAS,gBAAgB,CAAC,KAAK,EAAE,MAAM,qBAyHtC;kBAzHQ,gBAAgB;;;sBARM,MAAM,GAAG,SAAS;;;AAoIjD,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"CasePrivateNotes.d.ts","sourceRoot":"","sources":["../../../../../../src/components/CaseEditView/Tabs/CasePrivateNotes/CasePrivateNotes.tsx"],"names":[],"mappings":"AAOA,OAAO,KAA0C,MAAM,OAAO,CAAC;AAQ/D,QAAA,MAAM,YAAY;;CAEjB,CAAC;AAEF,KAAK,YAAY,GAAG,OAAO,YAAY,CAAC;AAExC,UAAU,MAAO,SAAQ,YAAY;CAAG;AAExC,iBAAS,gBAAgB,CAAC,KAAK,EAAE,MAAM,qBAwGtC;kBAxGQ,gBAAgB;;;;;AA2GzB,eAAe,gBAAgB,CAAC"}
@@ -7,7 +7,6 @@ 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 { useApolloClient } from '@apollo/client/react';
11
10
  import { Button } from '@patternfly/react-core';
12
11
  import { LoadingIndicator, TextAreaResizable, ToastNotification } from '@rh-support/components';
13
12
  import { useCanEditCase } from '@rh-support/react-context';
@@ -18,24 +17,17 @@ import React, { useContext, useEffect, useState } from 'react';
18
17
  import { Trans, useTranslation } from 'react-i18next';
19
18
  import { useCaseDispatch, useCaseSelector } from '../../../../context/CaseContext';
20
19
  import { useCaseUpdateErrorMessage } from '../../../../hooks/useCaseUpdateErrorMessage';
21
- import { updateCaseDetailsGraphQL } from '../../../../reducers/CaseReducer';
20
+ import { updateCaseDetails } from '../../../../reducers/CaseReducer';
22
21
  import { PDFContext } from '../../PDFContainer';
23
22
  const defaultProps = {
24
23
  caseNumber: undefined,
25
- privateNotes: undefined,
26
24
  };
27
25
  function CasePrivateNotes(props) {
28
- var _a;
29
26
  const { t } = useTranslation();
30
27
  const caseUpdateError = useCaseUpdateErrorMessage();
31
28
  const ability = useContext(AbilityContext);
32
- const apolloClient = useApolloClient();
33
29
  const canUpdatePrivateNotes = ability.can(resourceActions.PATCH, resources.CASE_DETAILS, CaseDetailsFields.CASE_DETAILS_PRIVATE_NOTES_EDIT);
34
- const { caseSalesforceId, existingCaseDetails } = useCaseSelector((state) => ({
35
- caseSalesforceId: state.caseDetails.id,
36
- existingCaseDetails: state.caseDetails,
37
- }), isEqual);
38
- const notes = (_a = props.privateNotes) !== null && _a !== void 0 ? _a : '';
30
+ const notes = useCaseSelector((state) => state.caseDetails.notes, isEqual);
39
31
  const caseDispatch = useCaseDispatch();
40
32
  const [notesState, setNotes] = useState(notes);
41
33
  const [formIsDirty, setFormIsDirty] = useState(false);
@@ -45,33 +37,24 @@ function CasePrivateNotes(props) {
45
37
  useEffect(() => {
46
38
  if (notes !== notesState) {
47
39
  setNotes(notes);
48
- setFormIsDirty(false);
49
40
  }
50
41
  // eslint-disable-next-line react-hooks/exhaustive-deps
51
42
  }, [notes]);
52
- const persistNotes = () => __awaiter(this, void 0, void 0, function* () {
53
- if (!props.caseNumber) {
54
- return;
55
- }
43
+ const updateCase = (event) => __awaiter(this, void 0, void 0, function* () {
44
+ event.preventDefault();
56
45
  setIsUpdating(true);
57
46
  try {
58
- yield updateCaseDetailsGraphQL(caseDispatch, apolloClient, props.caseNumber, { notes: notesState }, false, {
59
- salesforceCaseId: caseSalesforceId,
60
- existingCaseDetails,
61
- });
47
+ const caseDetails = { notes: notesState };
48
+ yield updateCaseDetails(caseDispatch, props.caseNumber, caseDetails);
62
49
  setFormIsDirty(false);
63
50
  ToastNotification.addSuccessMessage(t(`Notes has been successfully updated`));
64
51
  setIsUpdating(false);
65
52
  }
66
53
  catch (e) {
67
- caseUpdateError.showFieldError(e, t('Private notes'), persistNotes);
54
+ caseUpdateError.showError(e, t(`Failed to update notes`));
68
55
  setIsUpdating(false);
69
56
  }
70
57
  });
71
- const updateCase = (event) => __awaiter(this, void 0, void 0, function* () {
72
- event.preventDefault();
73
- yield persistNotes();
74
- });
75
58
  const discardNotes = (event) => {
76
59
  event.preventDefault();
77
60
  setNotes(notes);
@@ -88,6 +71,7 @@ function CasePrivateNotes(props) {
88
71
  }
89
72
  setNotes(notesState);
90
73
  };
74
+ // To check if private notes is empty
91
75
  const isPrivateNotesEmpty = isEmpty(notesState === null || notesState === void 0 ? void 0 : notesState.trim());
92
76
  return (React.createElement(React.Fragment, null,
93
77
  React.createElement("div", null,
@@ -1 +1 @@
1
- {"version":3,"file":"CaseSummary.d.ts","sourceRoot":"","sources":["../../../../../../src/components/CaseEditView/Tabs/CaseSummary/CaseSummary.tsx"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,CAAC;AAuB3B,OAAO,KAA0C,MAAM,OAAO,CAAC;AAQ/D,UAAU,MAAM;IACZ,UAAU,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,WAAW,GAAI,OAAO,MAAM,sBA+LxC,CAAC"}
1
+ {"version":3,"file":"CaseSummary.d.ts","sourceRoot":"","sources":["../../../../../../src/components/CaseEditView/Tabs/CaseSummary/CaseSummary.tsx"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,CAAC;AAuB3B,OAAO,KAA0C,MAAM,OAAO,CAAC;AAO/D,UAAU,MAAM;IACZ,UAAU,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,WAAW,GAAI,OAAO,MAAM,sBA0LxC,CAAC"}
@@ -22,7 +22,6 @@ import React, { useContext, useEffect, useState } from 'react';
22
22
  import { Trans } from 'react-i18next';
23
23
  import { CaseSummaryStates } from '../../../../constants/caseDetailsConstants';
24
24
  import { useCaseSelector } from '../../../../context/CaseContext';
25
- import { useCaseComments } from '../../../../hooks/useCaseComments';
26
25
  import { CaseSummaryErrorMessage } from './CaseSummaryErrorMessage';
27
26
  export const CaseSummary = (props) => {
28
27
  var _a, _b, _c, _d, _e, _f;
@@ -30,15 +29,10 @@ export const CaseSummary = (props) => {
30
29
  const [caseSummaryData, setCaseSummaryData] = useState(getApiResourceObject(null, true));
31
30
  const [caseSummaryState, setCaseSummaryState] = useState();
32
31
  const [errorMessage, setErrorMessage] = useState('');
33
- const { caseLanguage, caseSalesforceId } = useCaseSelector((state) => ({
32
+ const { caseComments, caseLanguage } = useCaseSelector((state) => ({
33
+ caseComments: state.caseDetails.comments,
34
34
  caseLanguage: state.caseDetails.caseLanguage,
35
- caseSalesforceId: state.caseDetails.id,
36
35
  }), isEqual);
37
- const { comments: caseComments } = useCaseComments({
38
- caseId: caseSalesforceId,
39
- skip: !caseSalesforceId,
40
- first: 2000,
41
- });
42
36
  const { globalMetadataState: { loggedInUserRights }, } = useContext(GlobalMetadataStateContext);
43
37
  const isInternal = (_b = (_a = loggedInUserRights === null || loggedInUserRights === void 0 ? void 0 : loggedInUserRights.data) === null || _a === void 0 ? void 0 : _a.isInternal) === null || _b === void 0 ? void 0 : _b.call(_a);
44
38
  const onCloseFeedbackModal = () => {
@@ -1 +1 @@
1
- {"version":3,"file":"RMEEscalationList.d.ts","sourceRoot":"","sources":["../../../../../../src/components/CaseEditView/Tabs/RMEEscalations/RMEEscalationList.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAC;AAS5E,OAAO,KAAsC,MAAM,OAAO,CAAC;AAU3D,UAAU,MAAM;IACZ,WAAW,EAAE,eAAe,EAAE,CAAC;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACtB;AAOD,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,KAAK,EAAE,MAAM,qBAqLtD"}
1
+ {"version":3,"file":"RMEEscalationList.d.ts","sourceRoot":"","sources":["../../../../../../src/components/CaseEditView/Tabs/RMEEscalations/RMEEscalationList.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAqB,MAAM,2CAA2C,CAAC;AAe/F,OAAO,KAAsC,MAAM,OAAO,CAAC;AAiB3D,UAAU,MAAM;IACZ,WAAW,EAAE,eAAe,EAAE,CAAC;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACtB;AAOD,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,KAAK,EAAE,MAAM,qBA8MtD"}