@pega/react-sdk-components 0.25.2 → 0.25.3

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 (286) hide show
  1. package/lib/bridge/helpers/sdk_component_map.d.ts.map +1 -1
  2. package/lib/bridge/helpers/sdk_component_map.js +0 -6
  3. package/lib/bridge/helpers/sdk_component_map.js.map +1 -1
  4. package/lib/bridge/react_pconnect.js +11 -13
  5. package/lib/bridge/react_pconnect.js.map +1 -1
  6. package/lib/components/designSystemExtension/Banner/Banner.css +1 -1
  7. package/lib/components/designSystemExtension/Banner/Banner.js +2 -2
  8. package/lib/components/designSystemExtension/Banner/Banner.js.map +1 -1
  9. package/lib/components/designSystemExtension/CaseSummaryFields/CaseSummaryFields.d.ts.map +1 -1
  10. package/lib/components/designSystemExtension/CaseSummaryFields/CaseSummaryFields.js +5 -8
  11. package/lib/components/designSystemExtension/CaseSummaryFields/CaseSummaryFields.js.map +1 -1
  12. package/lib/components/designSystemExtension/DetailsFields/DetailsFields.d.ts.map +1 -1
  13. package/lib/components/designSystemExtension/DetailsFields/DetailsFields.js +6 -8
  14. package/lib/components/designSystemExtension/DetailsFields/DetailsFields.js.map +1 -1
  15. package/lib/components/designSystemExtension/FieldGroup/FieldGroup.d.ts.map +1 -1
  16. package/lib/components/designSystemExtension/FieldGroup/FieldGroup.js +3 -5
  17. package/lib/components/designSystemExtension/FieldGroup/FieldGroup.js.map +1 -1
  18. package/lib/components/designSystemExtension/FieldGroupList/FieldGroupList.js +2 -2
  19. package/lib/components/designSystemExtension/FieldGroupList/FieldGroupList.js.map +1 -1
  20. package/lib/components/designSystemExtension/FieldValueList/FieldValueList.d.ts.map +1 -1
  21. package/lib/components/designSystemExtension/FieldValueList/FieldValueList.js +4 -6
  22. package/lib/components/designSystemExtension/FieldValueList/FieldValueList.js.map +1 -1
  23. package/lib/components/designSystemExtension/Operator/Operator.d.ts.map +1 -1
  24. package/lib/components/designSystemExtension/Operator/Operator.js +3 -4
  25. package/lib/components/designSystemExtension/Operator/Operator.js.map +1 -1
  26. package/lib/components/designSystemExtension/RichTextEditor/RichTextEditor.d.ts.map +1 -1
  27. package/lib/components/designSystemExtension/RichTextEditor/RichTextEditor.js +27 -3
  28. package/lib/components/designSystemExtension/RichTextEditor/RichTextEditor.js.map +1 -1
  29. package/lib/components/designSystemExtension/WssQuickCreate/WssQuickCreate.css +4 -4
  30. package/lib/components/designSystemExtension/WssQuickCreate/WssQuickCreate.js +1 -1
  31. package/lib/components/designSystemExtension/WssQuickCreate/WssQuickCreate.js.map +1 -1
  32. package/lib/components/field/CancelAlert/CancelAlert.css +4 -4
  33. package/lib/components/field/CancelAlert/CancelAlert.js +2 -2
  34. package/lib/components/field/CancelAlert/CancelAlert.js.map +1 -1
  35. package/lib/components/field/Checkbox/Checkbox.d.ts +8 -0
  36. package/lib/components/field/Checkbox/Checkbox.d.ts.map +1 -1
  37. package/lib/components/field/Checkbox/Checkbox.js +52 -3
  38. package/lib/components/field/Checkbox/Checkbox.js.map +1 -1
  39. package/lib/components/field/Currency/currency-utils.d.ts.map +1 -1
  40. package/lib/components/field/Currency/currency-utils.js +0 -2
  41. package/lib/components/field/Currency/currency-utils.js.map +1 -1
  42. package/lib/components/field/Dropdown/Dropdown.d.ts.map +1 -1
  43. package/lib/components/field/Dropdown/Dropdown.js +2 -6
  44. package/lib/components/field/Dropdown/Dropdown.js.map +1 -1
  45. package/lib/components/field/Group/Group.js +2 -2
  46. package/lib/components/field/Group/Group.js.map +1 -1
  47. package/lib/components/field/Location/Location.d.ts +10 -0
  48. package/lib/components/field/Location/Location.d.ts.map +1 -0
  49. package/lib/components/field/Location/Location.js +157 -0
  50. package/lib/components/field/Location/Location.js.map +1 -0
  51. package/lib/components/field/Location/index.d.ts +2 -0
  52. package/lib/components/field/Location/index.d.ts.map +1 -0
  53. package/lib/components/field/Location/index.js +2 -0
  54. package/lib/components/field/Location/index.js.map +1 -0
  55. package/lib/components/field/ObjectReference/ObjectReference.d.ts +16 -0
  56. package/lib/components/field/ObjectReference/ObjectReference.d.ts.map +1 -0
  57. package/lib/components/field/ObjectReference/ObjectReference.js +165 -0
  58. package/lib/components/field/ObjectReference/ObjectReference.js.map +1 -0
  59. package/lib/components/field/ObjectReference/index.d.ts +2 -0
  60. package/lib/components/field/ObjectReference/index.d.ts.map +1 -0
  61. package/lib/components/field/ObjectReference/index.js +2 -0
  62. package/lib/components/field/ObjectReference/index.js.map +1 -0
  63. package/lib/components/field/ObjectReference/utils.d.ts +17 -0
  64. package/lib/components/field/ObjectReference/utils.d.ts.map +1 -0
  65. package/lib/components/field/ObjectReference/utils.js +99 -0
  66. package/lib/components/field/ObjectReference/utils.js.map +1 -0
  67. package/lib/components/field/RadioButtons/RadioButtons.d.ts +7 -0
  68. package/lib/components/field/RadioButtons/RadioButtons.d.ts.map +1 -1
  69. package/lib/components/field/RadioButtons/RadioButtons.js +12 -1
  70. package/lib/components/field/RadioButtons/RadioButtons.js.map +1 -1
  71. package/lib/components/field/ScalarList/ScalarList.d.ts.map +1 -1
  72. package/lib/components/field/ScalarList/ScalarList.js +1 -2
  73. package/lib/components/field/ScalarList/ScalarList.js.map +1 -1
  74. package/lib/components/field/SelectableCard/SelectableCard.d.ts +2 -0
  75. package/lib/components/field/SelectableCard/SelectableCard.d.ts.map +1 -0
  76. package/lib/components/field/SelectableCard/SelectableCard.js +57 -0
  77. package/lib/components/field/SelectableCard/SelectableCard.js.map +1 -0
  78. package/lib/components/field/SelectableCard/index.d.ts +2 -0
  79. package/lib/components/field/SelectableCard/index.d.ts.map +1 -0
  80. package/lib/components/field/SelectableCard/index.js +2 -0
  81. package/lib/components/field/SelectableCard/index.js.map +1 -0
  82. package/lib/components/field/SelectableCard/utils.d.ts +14 -0
  83. package/lib/components/field/SelectableCard/utils.d.ts.map +1 -0
  84. package/lib/components/field/SelectableCard/utils.js +185 -0
  85. package/lib/components/field/SelectableCard/utils.js.map +1 -0
  86. package/lib/components/field/SemanticLink/SemanticLink.d.ts +9 -1
  87. package/lib/components/field/SemanticLink/SemanticLink.d.ts.map +1 -1
  88. package/lib/components/field/SemanticLink/SemanticLink.js +128 -15
  89. package/lib/components/field/SemanticLink/SemanticLink.js.map +1 -1
  90. package/lib/components/field/SemanticLink/utils.js +1 -1
  91. package/lib/components/field/SemanticLink/utils.js.map +1 -1
  92. package/lib/components/field/TextContent/TextContent.d.ts.map +1 -1
  93. package/lib/components/field/TextContent/TextContent.js +0 -1
  94. package/lib/components/field/TextContent/TextContent.js.map +1 -1
  95. package/lib/components/field/UserReference/UserReference.d.ts.map +1 -1
  96. package/lib/components/field/UserReference/UserReference.js +0 -1
  97. package/lib/components/field/UserReference/UserReference.js.map +1 -1
  98. package/lib/components/helpers/attachmentHelpers.d.ts +14 -11
  99. package/lib/components/helpers/attachmentHelpers.d.ts.map +1 -1
  100. package/lib/components/helpers/attachmentHelpers.js +52 -30
  101. package/lib/components/helpers/attachmentHelpers.js.map +1 -1
  102. package/lib/components/helpers/common-utils.d.ts +1 -1
  103. package/lib/components/helpers/common-utils.js.map +1 -1
  104. package/lib/components/helpers/data_page.d.ts.map +1 -1
  105. package/lib/components/helpers/data_page.js +0 -1
  106. package/lib/components/helpers/data_page.js.map +1 -1
  107. package/lib/components/helpers/formatters/CurrencyMap.d.ts.map +1 -1
  108. package/lib/components/helpers/formatters/CurrencyMap.js +0 -1
  109. package/lib/components/helpers/formatters/CurrencyMap.js.map +1 -1
  110. package/lib/components/helpers/simpleTableHelpers.d.ts +15 -1
  111. package/lib/components/helpers/simpleTableHelpers.d.ts.map +1 -1
  112. package/lib/components/helpers/simpleTableHelpers.js +110 -4
  113. package/lib/components/helpers/simpleTableHelpers.js.map +1 -1
  114. package/lib/components/helpers/utils.d.ts +1 -0
  115. package/lib/components/helpers/utils.d.ts.map +1 -1
  116. package/lib/components/helpers/utils.js +7 -1
  117. package/lib/components/helpers/utils.js.map +1 -1
  118. package/lib/components/helpers/versionHelpers.d.ts.map +1 -1
  119. package/lib/components/helpers/versionHelpers.js +0 -1
  120. package/lib/components/helpers/versionHelpers.js.map +1 -1
  121. package/lib/components/infra/ActionButtons/ActionButtons.d.ts.map +1 -1
  122. package/lib/components/infra/ActionButtons/ActionButtons.js +12 -7
  123. package/lib/components/infra/ActionButtons/ActionButtons.js.map +1 -1
  124. package/lib/components/infra/Assignment/Assignment.js +0 -1
  125. package/lib/components/infra/Assignment/Assignment.js.map +1 -1
  126. package/lib/components/infra/Containers/FlowContainer/FlowContainer.d.ts.map +1 -1
  127. package/lib/components/infra/Containers/FlowContainer/FlowContainer.js +13 -77
  128. package/lib/components/infra/Containers/FlowContainer/FlowContainer.js.map +1 -1
  129. package/lib/components/infra/Containers/ModalViewContainer/ListViewActionButtons/ListViewActionButtons.d.ts.map +1 -1
  130. package/lib/components/infra/Containers/ModalViewContainer/ListViewActionButtons/ListViewActionButtons.js +0 -1
  131. package/lib/components/infra/Containers/ModalViewContainer/ListViewActionButtons/ListViewActionButtons.js.map +1 -1
  132. package/lib/components/infra/Containers/ModalViewContainer/ModalViewContainer.js +0 -2
  133. package/lib/components/infra/Containers/ModalViewContainer/ModalViewContainer.js.map +1 -1
  134. package/lib/components/infra/Containers/ViewContainer/ViewContainer.d.ts.map +1 -1
  135. package/lib/components/infra/Containers/ViewContainer/ViewContainer.js +3 -4
  136. package/lib/components/infra/Containers/ViewContainer/ViewContainer.js.map +1 -1
  137. package/lib/components/infra/Containers/container-helpers.d.ts +1 -0
  138. package/lib/components/infra/Containers/container-helpers.d.ts.map +1 -1
  139. package/lib/components/infra/Containers/container-helpers.js +46 -1
  140. package/lib/components/infra/Containers/container-helpers.js.map +1 -1
  141. package/lib/components/infra/DashboardFilter/DashboardFilter.d.ts.map +1 -1
  142. package/lib/components/infra/DashboardFilter/DashboardFilter.js +0 -2
  143. package/lib/components/infra/DashboardFilter/DashboardFilter.js.map +1 -1
  144. package/lib/components/infra/DashboardFilter/filterUtils.d.ts.map +1 -1
  145. package/lib/components/infra/DashboardFilter/filterUtils.js +2 -3
  146. package/lib/components/infra/DashboardFilter/filterUtils.js.map +1 -1
  147. package/lib/components/infra/DeferLoad/DeferLoad.d.ts.map +1 -1
  148. package/lib/components/infra/DeferLoad/DeferLoad.js +1 -3
  149. package/lib/components/infra/DeferLoad/DeferLoad.js.map +1 -1
  150. package/lib/components/infra/ErrorBoundary/ErrorBoundary.d.ts.map +1 -1
  151. package/lib/components/infra/ErrorBoundary/ErrorBoundary.js +0 -2
  152. package/lib/components/infra/ErrorBoundary/ErrorBoundary.js.map +1 -1
  153. package/lib/components/infra/MultiStep/MultiStep.css +8 -8
  154. package/lib/components/infra/NavBar/NavBar.css +1 -1
  155. package/lib/components/infra/NavBar/NavBar.d.ts.map +1 -1
  156. package/lib/components/infra/NavBar/NavBar.js +2 -3
  157. package/lib/components/infra/NavBar/NavBar.js.map +1 -1
  158. package/lib/components/infra/Reference/Reference.d.ts.map +1 -1
  159. package/lib/components/infra/Reference/Reference.js +2 -3
  160. package/lib/components/infra/Reference/Reference.js.map +1 -1
  161. package/lib/components/infra/RootContainer/RootContainer.d.ts.map +1 -1
  162. package/lib/components/infra/RootContainer/RootContainer.js +0 -1
  163. package/lib/components/infra/RootContainer/RootContainer.js.map +1 -1
  164. package/lib/components/template/AdvancedSearch/AdvancedSearch.d.ts.map +1 -1
  165. package/lib/components/template/AdvancedSearch/AdvancedSearch.js +0 -1
  166. package/lib/components/template/AdvancedSearch/AdvancedSearch.js.map +1 -1
  167. package/lib/components/template/AdvancedSearch/SearchGroup/persistUtils.d.ts +0 -1
  168. package/lib/components/template/AdvancedSearch/SearchGroup/persistUtils.d.ts.map +1 -1
  169. package/lib/components/template/AdvancedSearch/SearchGroup/persistUtils.js +2 -8
  170. package/lib/components/template/AdvancedSearch/SearchGroup/persistUtils.js.map +1 -1
  171. package/lib/components/template/AdvancedSearch/SearchGroups/SearchGroups.d.ts.map +1 -1
  172. package/lib/components/template/AdvancedSearch/SearchGroups/SearchGroups.js +3 -5
  173. package/lib/components/template/AdvancedSearch/SearchGroups/SearchGroups.js.map +1 -1
  174. package/lib/components/template/AdvancedSearch/SearchGroups/hooks.js +0 -1
  175. package/lib/components/template/AdvancedSearch/SearchGroups/hooks.js.map +1 -1
  176. package/lib/components/template/AppShell/AppShell.css +1 -1
  177. package/lib/components/template/AppShell/AppShell.d.ts.map +1 -1
  178. package/lib/components/template/AppShell/AppShell.js +4 -9
  179. package/lib/components/template/AppShell/AppShell.js.map +1 -1
  180. package/lib/components/template/CaseSummary/CaseSummary.d.ts.map +1 -1
  181. package/lib/components/template/CaseSummary/CaseSummary.js +0 -1
  182. package/lib/components/template/CaseSummary/CaseSummary.js.map +1 -1
  183. package/lib/components/template/CaseView/CaseView.d.ts.map +1 -1
  184. package/lib/components/template/CaseView/CaseView.js +4 -5
  185. package/lib/components/template/CaseView/CaseView.js.map +1 -1
  186. package/lib/components/template/Confirmation/Confirmation.d.ts.map +1 -1
  187. package/lib/components/template/Confirmation/Confirmation.js +0 -1
  188. package/lib/components/template/Confirmation/Confirmation.js.map +1 -1
  189. package/lib/components/template/DataReference/DataReference.d.ts.map +1 -1
  190. package/lib/components/template/DataReference/DataReference.js +8 -12
  191. package/lib/components/template/DataReference/DataReference.js.map +1 -1
  192. package/lib/components/template/DataReference/DataReferenceAdvancedSearchContext.d.ts +1 -1
  193. package/lib/components/template/DataReference/DataReferenceAdvancedSearchContext.d.ts.map +1 -1
  194. package/lib/components/template/DataReference/DataReferenceAdvancedSearchContext.js.map +1 -1
  195. package/lib/components/template/DataReference/SearchForm.d.ts.map +1 -1
  196. package/lib/components/template/DataReference/SearchForm.js +3 -2
  197. package/lib/components/template/DataReference/SearchForm.js.map +1 -1
  198. package/lib/components/template/DataReference/utils.d.ts +4 -4
  199. package/lib/components/template/DataReference/utils.d.ts.map +1 -1
  200. package/lib/components/template/DataReference/utils.js +1 -1
  201. package/lib/components/template/DataReference/utils.js.map +1 -1
  202. package/lib/components/template/DefaultForm/DefaultForm.js.map +1 -1
  203. package/lib/components/template/Details/Details/Details.js +2 -3
  204. package/lib/components/template/Details/Details/Details.js.map +1 -1
  205. package/lib/components/template/Details/DetailsThreeColumn/DetailsThreeColumn.js +2 -3
  206. package/lib/components/template/Details/DetailsThreeColumn/DetailsThreeColumn.js.map +1 -1
  207. package/lib/components/template/Details/DetailsTwoColumn/DetailsTwoColumn.js +2 -3
  208. package/lib/components/template/Details/DetailsTwoColumn/DetailsTwoColumn.js.map +1 -1
  209. package/lib/components/template/FieldGroupTemplate/FieldGroupTemplate.d.ts.map +1 -1
  210. package/lib/components/template/FieldGroupTemplate/FieldGroupTemplate.js +1 -2
  211. package/lib/components/template/FieldGroupTemplate/FieldGroupTemplate.js.map +1 -1
  212. package/lib/components/template/InlineDashboard/InlineDashboard.d.ts.map +1 -1
  213. package/lib/components/template/InlineDashboard/InlineDashboard.js +2 -2
  214. package/lib/components/template/InlineDashboard/InlineDashboard.js.map +1 -1
  215. package/lib/components/template/ListView/ListView.d.ts.map +1 -1
  216. package/lib/components/template/ListView/ListView.js +2 -13
  217. package/lib/components/template/ListView/ListView.js.map +1 -1
  218. package/lib/components/template/ListView/hooks.d.ts.map +1 -1
  219. package/lib/components/template/ListView/hooks.js +2 -5
  220. package/lib/components/template/ListView/hooks.js.map +1 -1
  221. package/lib/components/template/ListView/utils.js +0 -1
  222. package/lib/components/template/ListView/utils.js.map +1 -1
  223. package/lib/components/template/NarrowWide/NarrowWide/NarrowWide.js.map +1 -1
  224. package/lib/components/template/NarrowWide/NarrowWideDetails/NarrowWideDetails.js +2 -3
  225. package/lib/components/template/NarrowWide/NarrowWideDetails/NarrowWideDetails.js.map +1 -1
  226. package/lib/components/template/OneColumn/OneColumn/OneColumn.js +2 -2
  227. package/lib/components/template/OneColumn/OneColumn/OneColumn.js.map +1 -1
  228. package/lib/components/template/PromotedFilters/PromotedFilters.d.ts.map +1 -1
  229. package/lib/components/template/PromotedFilters/PromotedFilters.js +0 -1
  230. package/lib/components/template/PromotedFilters/PromotedFilters.js.map +1 -1
  231. package/lib/components/template/SimpleTable/SimpleTable/SimpleTable.d.ts.map +1 -1
  232. package/lib/components/template/SimpleTable/SimpleTable/SimpleTable.js +1 -2
  233. package/lib/components/template/SimpleTable/SimpleTable/SimpleTable.js.map +1 -1
  234. package/lib/components/template/SimpleTable/SimpleTableManual/SimpleTableManual.d.ts.map +1 -1
  235. package/lib/components/template/SimpleTable/SimpleTableManual/SimpleTableManual.js +32 -30
  236. package/lib/components/template/SimpleTable/SimpleTableManual/SimpleTableManual.js.map +1 -1
  237. package/lib/components/template/TwoColumn/TwoColumn/TwoColumn.d.ts.map +1 -1
  238. package/lib/components/template/TwoColumn/TwoColumn/TwoColumn.js +1 -2
  239. package/lib/components/template/TwoColumn/TwoColumn/TwoColumn.js.map +1 -1
  240. package/lib/components/template/TwoColumn/TwoColumnTab/TwoColumnTab.d.ts.map +1 -1
  241. package/lib/components/template/TwoColumn/TwoColumnTab/TwoColumnTab.js +1 -2
  242. package/lib/components/template/TwoColumn/TwoColumnTab/TwoColumnTab.js.map +1 -1
  243. package/lib/components/template/WideNarrow/WideNarrow/WideNarrow.js.map +1 -1
  244. package/lib/components/template/WideNarrow/WideNarrowDetails/WideNarrowDetails.js +2 -3
  245. package/lib/components/template/WideNarrow/WideNarrowDetails/WideNarrowDetails.js.map +1 -1
  246. package/lib/components/template/WssNavBar/WssNavBar.css +1 -1
  247. package/lib/components/template/WssNavBar/WssNavBar.js +2 -2
  248. package/lib/components/template/WssNavBar/WssNavBar.js.map +1 -1
  249. package/lib/components/widget/Attachment/Attachment.css +6 -8
  250. package/lib/components/widget/Attachment/Attachment.d.ts.map +1 -1
  251. package/lib/components/widget/Attachment/Attachment.js +52 -51
  252. package/lib/components/widget/Attachment/Attachment.js.map +1 -1
  253. package/lib/components/widget/CaseHistory/CaseHistory.js.map +1 -1
  254. package/lib/components/widget/FileUtility/ActionButtonsForFileUtil/ActionButtonsForFileUtil.css +0 -14
  255. package/lib/components/widget/FileUtility/ActionButtonsForFileUtil/ActionButtonsForFileUtil.js +1 -1
  256. package/lib/components/widget/FileUtility/ActionButtonsForFileUtil/ActionButtonsForFileUtil.js.map +1 -1
  257. package/lib/components/widget/FileUtility/FileUtility/FileUtility.css +7 -6
  258. package/lib/components/widget/FileUtility/FileUtility/FileUtility.d.ts.map +1 -1
  259. package/lib/components/widget/FileUtility/FileUtility/FileUtility.js +3 -4
  260. package/lib/components/widget/FileUtility/FileUtility/FileUtility.js.map +1 -1
  261. package/lib/components/widget/Followers/Followers.d.ts.map +1 -1
  262. package/lib/components/widget/Followers/Followers.js +0 -2
  263. package/lib/components/widget/Followers/Followers.js.map +1 -1
  264. package/lib/components/widget/QuickCreate/QuickCreate.d.ts.map +1 -1
  265. package/lib/components/widget/QuickCreate/QuickCreate.js +0 -1
  266. package/lib/components/widget/QuickCreate/QuickCreate.js.map +1 -1
  267. package/lib/components/widget/SummaryItem/SummaryItem.css +9 -11
  268. package/lib/components/widget/SummaryItem/SummaryItem.js +1 -1
  269. package/lib/components/widget/SummaryItem/SummaryItem.js.map +1 -1
  270. package/lib/components/widget/ToDo/ToDo.css +1 -13
  271. package/lib/components/widget/ToDo/ToDo.d.ts.map +1 -1
  272. package/lib/components/widget/ToDo/ToDo.js +11 -5
  273. package/lib/components/widget/ToDo/ToDo.js.map +1 -1
  274. package/lib/hooks/useGetTabsCount.d.ts.map +1 -1
  275. package/lib/hooks/useGetTabsCount.js +2 -3
  276. package/lib/hooks/useGetTabsCount.js.map +1 -1
  277. package/lib/sdk-pega-component-map.d.ts +6 -0
  278. package/lib/sdk-pega-component-map.d.ts.map +1 -1
  279. package/lib/sdk-pega-component-map.js +7 -0
  280. package/lib/sdk-pega-component-map.js.map +1 -1
  281. package/lib/theme.d.ts +24 -1
  282. package/lib/theme.d.ts.map +1 -1
  283. package/lib/theme.js +189 -2
  284. package/lib/theme.js.map +1 -1
  285. package/lib/types/PConnProps.d.ts +1 -1
  286. package/package.json +2 -1
@@ -1 +1 @@
1
- {"version":3,"file":"WssNavBar.js","sourceRoot":"","sources":["../../../../src/components/template/WssNavBar/WssNavBar.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useState } from 'react';\nimport makeStyles from '@mui/styles/makeStyles';\nimport AppBar from '@mui/material/AppBar';\nimport Box from '@mui/material/Box';\nimport Toolbar from '@mui/material/Toolbar';\nimport Container from '@mui/material/Container';\nimport { IconButton, Menu, MenuItem, Typography, Button } from '@mui/material';\nimport Avatar from '@mui/material/Avatar';\nimport MenuIcon from '@mui/icons-material/Menu';\nimport { logout } from '@pega/auth/lib/sdk-auth-manager';\nimport type { PConnProps } from '../../../types/PConnProps';\nimport './WssNavBar.css';\n\ninterface WssNavBarProps extends PConnProps {\n // If any, enter additional props that only exist on this component\n appInfo: any;\n navLinks: any[];\n operator: { currentUserInitials: string };\n navDisplayOptions: { alignment: string; position: string };\n // eslint-disable-next-line react/no-unused-prop-types\n portalName: string;\n imageSrc: string;\n // eslint-disable-next-line react/no-unused-prop-types\n fullImageSrc: string;\n appName: any;\n}\n\nconst useStyles = makeStyles(theme => ({\n root: {\n display: 'flex'\n },\n content: {\n flexGrow: 1,\n height: '100vh',\n marginLeft: theme.spacing(2),\n marginRight: theme.spacing(2)\n },\n appListLogo: {\n width: '3.6rem'\n },\n appName: {\n color: 'white',\n marginLeft: theme.spacing(2),\n marginRight: theme.spacing(4),\n fontSize: '1.5rem'\n }\n}));\n\nexport default function WssNavBar(props: WssNavBarProps) {\n const { appInfo, navLinks, operator, navDisplayOptions } = props;\n const { alignment, position } = navDisplayOptions;\n const classes = useStyles();\n\n const [anchorElNav, setAnchorElNav] = useState<null | HTMLElement>(null);\n const [anchorElUser, setAnchorElUser] = useState<null | HTMLElement>(null);\n\n const localizedVal = PCore.getLocaleUtils().getLocaleValue;\n const localeCategory = 'AppShell';\n\n const handleOpenNavMenu = (event: React.MouseEvent<HTMLElement>) => {\n setAnchorElNav(event.currentTarget);\n };\n const handleOpenUserMenu = (event: React.MouseEvent<HTMLElement>) => {\n setAnchorElUser(event.currentTarget);\n };\n\n const handleCloseNavMenu = () => {\n setAnchorElNav(null);\n };\n\n const handleCloseUserMenu = () => {\n setAnchorElUser(null);\n };\n\n const navLinksContent = (\n <Box id='nav-links' sx={{ flexGrow: 1, display: { xs: 'none', md: 'flex' } }} style={{ justifyContent: alignment }}>\n {navLinks.map(link => (\n <Button className='link-style' key={link.text} onClick={link.onClick}>\n {link.text}\n </Button>\n ))}\n </Box>\n );\n\n return (\n <div id='NavBar' className='nav-bar'>\n <AppBar position='static' color='primary'>\n <Container maxWidth='xl'>\n <Toolbar disableGutters style={{ justifyContent: 'space-between' }}>\n <Button id='appName' style={{ textTransform: 'capitalize' }} onClick={appInfo.onClick}>\n <img src={appInfo.imageSrc} className={classes.appListLogo} />\n <span className={classes.appName}>{appInfo.appName}</span>\n </Button>\n <Box sx={{ flexGrow: 1, display: { xs: 'flex', md: 'none' } }}>\n <IconButton\n size='small'\n aria-label='account of current user'\n aria-controls='menu-appbar'\n aria-haspopup='true'\n onClick={handleOpenNavMenu}\n color='inherit'\n >\n <MenuIcon />\n </IconButton>\n <Menu\n id='menu-appbar'\n anchorEl={anchorElNav}\n anchorOrigin={{\n vertical: 'bottom',\n horizontal: 'left'\n }}\n keepMounted\n transformOrigin={{\n vertical: 'top',\n horizontal: 'left'\n }}\n open={Boolean(anchorElNav)}\n onClose={handleCloseNavMenu}\n >\n {navLinks.map(link => (\n <MenuItem key={link.text} onClick={link.onClick}>\n <Typography>{link.text}</Typography>\n </MenuItem>\n ))}\n </Menu>\n </Box>\n\n {position === 'inline' && <>{navLinksContent}</>}\n\n <Box sx={{ flexGrow: 0 }}>\n <IconButton onClick={handleOpenUserMenu} size='large'>\n <Avatar>{operator.currentUserInitials}</Avatar>\n </IconButton>\n <Menu\n id='menu-appbar'\n anchorEl={anchorElUser}\n anchorOrigin={{\n vertical: 'top',\n horizontal: 'right'\n }}\n keepMounted\n transformOrigin={{\n vertical: 'top',\n horizontal: 'right'\n }}\n open={Boolean(anchorElUser)}\n onClose={handleCloseUserMenu}\n >\n <MenuItem onClick={logout}>\n <Typography>{localizedVal('Log off', localeCategory)}</Typography>\n </MenuItem>\n </Menu>\n </Box>\n </Toolbar>\n {position === 'below' && <>{navLinksContent}</>}\n </Container>\n </AppBar>\n </div>\n );\n}\n"]}
1
+ {"version":3,"file":"WssNavBar.js","sourceRoot":"","sources":["../../../../src/components/template/WssNavBar/WssNavBar.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,UAAU,MAAM,wBAAwB,CAAC;AAChD,OAAO,MAAM,MAAM,sBAAsB,CAAC;AAC1C,OAAO,GAAG,MAAM,mBAAmB,CAAC;AACpC,OAAO,OAAO,MAAM,uBAAuB,CAAC;AAC5C,OAAO,SAAS,MAAM,yBAAyB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAC/E,OAAO,MAAM,MAAM,sBAAsB,CAAC;AAC1C,OAAO,QAAQ,MAAM,0BAA0B,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAC;AAEzD,OAAO,iBAAiB,CAAC;AAgBzB,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACrC,IAAI,EAAE;QACJ,OAAO,EAAE,MAAM;KAChB;IACD,OAAO,EAAE;QACP,QAAQ,EAAE,CAAC;QACX,MAAM,EAAE,OAAO;QACf,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAC5B,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;KAC9B;IACD,WAAW,EAAE;QACX,KAAK,EAAE,QAAQ;QACf,MAAM,EAAE,kBAAkB;KAC3B;IACD,OAAO,EAAE;QACP,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAC5B,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAC7B,QAAQ,EAAE,QAAQ;KACnB;CACF,CAAC,CAAC,CAAC;AAEJ,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,KAAqB;IACrD,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,iBAAiB,EAAE,GAAG,KAAK,CAAC;IACjE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,iBAAiB,CAAC;IAClD,MAAM,OAAO,GAAG,SAAS,EAAE,CAAC;IAE5B,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAqB,IAAI,CAAC,CAAC;IACzE,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAqB,IAAI,CAAC,CAAC;IAE3E,MAAM,YAAY,GAAG,KAAK,CAAC,cAAc,EAAE,CAAC,cAAc,CAAC;IAC3D,MAAM,cAAc,GAAG,UAAU,CAAC;IAElC,MAAM,iBAAiB,GAAG,CAAC,KAAoC,EAAE,EAAE;QACjE,cAAc,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IACtC,CAAC,CAAC;IACF,MAAM,kBAAkB,GAAG,CAAC,KAAoC,EAAE,EAAE;QAClE,eAAe,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IACvC,CAAC,CAAC;IAEF,MAAM,kBAAkB,GAAG,GAAG,EAAE;QAC9B,cAAc,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC,CAAC;IAEF,MAAM,mBAAmB,GAAG,GAAG,EAAE;QAC/B,eAAe,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC,CAAC;IAEF,MAAM,eAAe,GAAG,CACtB,KAAC,GAAG,IAAC,EAAE,EAAC,WAAW,EAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,cAAc,EAAE,SAAS,EAAE,YAC/G,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CACpB,KAAC,MAAM,IAAC,SAAS,EAAC,YAAY,EAAiB,OAAO,EAAE,IAAI,CAAC,OAAO,YACjE,IAAI,CAAC,IAAI,IADwB,IAAI,CAAC,IAAI,CAEpC,CACV,CAAC,GACE,CACP,CAAC;IAEF,OAAO,CACL,cAAK,EAAE,EAAC,QAAQ,EAAC,SAAS,EAAC,SAAS,YAClC,KAAC,MAAM,IAAC,QAAQ,EAAC,QAAQ,EAAC,KAAK,EAAC,SAAS,YACvC,MAAC,SAAS,IAAC,QAAQ,EAAC,IAAI,aACtB,MAAC,OAAO,IAAC,cAAc,QAAC,KAAK,EAAE,EAAE,cAAc,EAAE,eAAe,EAAE,aAChE,MAAC,MAAM,IAAC,EAAE,EAAC,SAAS,EAAC,KAAK,EAAE,EAAE,aAAa,EAAE,YAAY,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,aACnF,cAAK,GAAG,EAAE,OAAO,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,WAAW,GAAI,EAC9D,eAAM,SAAS,EAAE,OAAO,CAAC,OAAO,YAAG,OAAO,CAAC,OAAO,GAAQ,IACnD,EACT,MAAC,GAAG,IAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,aAC3D,KAAC,UAAU,IACT,IAAI,EAAC,OAAO,gBACD,yBAAyB,mBACtB,aAAa,mBACb,MAAM,EACpB,OAAO,EAAE,iBAAiB,EAC1B,KAAK,EAAC,SAAS,YAEf,KAAC,QAAQ,KAAG,GACD,EACb,KAAC,IAAI,IACH,EAAE,EAAC,aAAa,EAChB,QAAQ,EAAE,WAAW,EACrB,YAAY,EAAE;4CACZ,QAAQ,EAAE,QAAQ;4CAClB,UAAU,EAAE,MAAM;yCACnB,EACD,WAAW,QACX,eAAe,EAAE;4CACf,QAAQ,EAAE,KAAK;4CACf,UAAU,EAAE,MAAM;yCACnB,EACD,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC,EAC1B,OAAO,EAAE,kBAAkB,YAE1B,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CACpB,KAAC,QAAQ,IAAiB,OAAO,EAAE,IAAI,CAAC,OAAO,YAC7C,KAAC,UAAU,cAAE,IAAI,CAAC,IAAI,GAAc,IADvB,IAAI,CAAC,IAAI,CAEb,CACZ,CAAC,GACG,IACH,EAEL,QAAQ,KAAK,QAAQ,IAAI,4BAAG,eAAe,GAAI,EAEhD,MAAC,GAAG,IAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,aACtB,KAAC,UAAU,IAAC,OAAO,EAAE,kBAAkB,EAAE,IAAI,EAAC,OAAO,YACnD,KAAC,MAAM,cAAE,QAAQ,CAAC,mBAAmB,GAAU,GACpC,EACb,KAAC,IAAI,IACH,EAAE,EAAC,aAAa,EAChB,QAAQ,EAAE,YAAY,EACtB,YAAY,EAAE;4CACZ,QAAQ,EAAE,KAAK;4CACf,UAAU,EAAE,OAAO;yCACpB,EACD,WAAW,QACX,eAAe,EAAE;4CACf,QAAQ,EAAE,KAAK;4CACf,UAAU,EAAE,OAAO;yCACpB,EACD,IAAI,EAAE,OAAO,CAAC,YAAY,CAAC,EAC3B,OAAO,EAAE,mBAAmB,YAE5B,KAAC,QAAQ,IAAC,OAAO,EAAE,MAAM,YACvB,KAAC,UAAU,cAAE,YAAY,CAAC,SAAS,EAAE,cAAc,CAAC,GAAc,GACzD,GACN,IACH,IACE,EACT,QAAQ,KAAK,OAAO,IAAI,4BAAG,eAAe,GAAI,IACrC,GACL,GACL,CACP,CAAC;AACJ,CAAC","sourcesContent":["import React, { useState } from 'react';\nimport makeStyles from '@mui/styles/makeStyles';\nimport AppBar from '@mui/material/AppBar';\nimport Box from '@mui/material/Box';\nimport Toolbar from '@mui/material/Toolbar';\nimport Container from '@mui/material/Container';\nimport { IconButton, Menu, MenuItem, Typography, Button } from '@mui/material';\nimport Avatar from '@mui/material/Avatar';\nimport MenuIcon from '@mui/icons-material/Menu';\nimport { logout } from '@pega/auth/lib/sdk-auth-manager';\nimport type { PConnProps } from '../../../types/PConnProps';\nimport './WssNavBar.css';\n\ninterface WssNavBarProps extends PConnProps {\n // If any, enter additional props that only exist on this component\n appInfo: any;\n navLinks: any[];\n operator: { currentUserInitials: string };\n navDisplayOptions: { alignment: string; position: string };\n\n portalName: string;\n imageSrc: string;\n\n fullImageSrc: string;\n appName: any;\n}\n\nconst useStyles = makeStyles(theme => ({\n root: {\n display: 'flex'\n },\n content: {\n flexGrow: 1,\n height: '100vh',\n marginLeft: theme.spacing(2),\n marginRight: theme.spacing(2)\n },\n appListLogo: {\n width: '3.6rem',\n filter: 'var(--svg-color)'\n },\n appName: {\n marginLeft: theme.spacing(2),\n marginRight: theme.spacing(4),\n fontSize: '1.5rem'\n }\n}));\n\nexport default function WssNavBar(props: WssNavBarProps) {\n const { appInfo, navLinks, operator, navDisplayOptions } = props;\n const { alignment, position } = navDisplayOptions;\n const classes = useStyles();\n\n const [anchorElNav, setAnchorElNav] = useState<null | HTMLElement>(null);\n const [anchorElUser, setAnchorElUser] = useState<null | HTMLElement>(null);\n\n const localizedVal = PCore.getLocaleUtils().getLocaleValue;\n const localeCategory = 'AppShell';\n\n const handleOpenNavMenu = (event: React.MouseEvent<HTMLElement>) => {\n setAnchorElNav(event.currentTarget);\n };\n const handleOpenUserMenu = (event: React.MouseEvent<HTMLElement>) => {\n setAnchorElUser(event.currentTarget);\n };\n\n const handleCloseNavMenu = () => {\n setAnchorElNav(null);\n };\n\n const handleCloseUserMenu = () => {\n setAnchorElUser(null);\n };\n\n const navLinksContent = (\n <Box id='nav-links' sx={{ flexGrow: 1, display: { xs: 'none', md: 'flex' } }} style={{ justifyContent: alignment }}>\n {navLinks.map(link => (\n <Button className='link-style' key={link.text} onClick={link.onClick}>\n {link.text}\n </Button>\n ))}\n </Box>\n );\n\n return (\n <div id='NavBar' className='nav-bar'>\n <AppBar position='static' color='primary'>\n <Container maxWidth='xl'>\n <Toolbar disableGutters style={{ justifyContent: 'space-between' }}>\n <Button id='appName' style={{ textTransform: 'capitalize' }} onClick={appInfo.onClick}>\n <img src={appInfo.imageSrc} className={classes.appListLogo} />\n <span className={classes.appName}>{appInfo.appName}</span>\n </Button>\n <Box sx={{ flexGrow: 1, display: { xs: 'flex', md: 'none' } }}>\n <IconButton\n size='small'\n aria-label='account of current user'\n aria-controls='menu-appbar'\n aria-haspopup='true'\n onClick={handleOpenNavMenu}\n color='inherit'\n >\n <MenuIcon />\n </IconButton>\n <Menu\n id='menu-appbar'\n anchorEl={anchorElNav}\n anchorOrigin={{\n vertical: 'bottom',\n horizontal: 'left'\n }}\n keepMounted\n transformOrigin={{\n vertical: 'top',\n horizontal: 'left'\n }}\n open={Boolean(anchorElNav)}\n onClose={handleCloseNavMenu}\n >\n {navLinks.map(link => (\n <MenuItem key={link.text} onClick={link.onClick}>\n <Typography>{link.text}</Typography>\n </MenuItem>\n ))}\n </Menu>\n </Box>\n\n {position === 'inline' && <>{navLinksContent}</>}\n\n <Box sx={{ flexGrow: 0 }}>\n <IconButton onClick={handleOpenUserMenu} size='large'>\n <Avatar>{operator.currentUserInitials}</Avatar>\n </IconButton>\n <Menu\n id='menu-appbar'\n anchorEl={anchorElUser}\n anchorOrigin={{\n vertical: 'top',\n horizontal: 'right'\n }}\n keepMounted\n transformOrigin={{\n vertical: 'top',\n horizontal: 'right'\n }}\n open={Boolean(anchorElUser)}\n onClose={handleCloseUserMenu}\n >\n <MenuItem onClick={logout}>\n <Typography>{localizedVal('Log off', localeCategory)}</Typography>\n </MenuItem>\n </Menu>\n </Box>\n </Toolbar>\n {position === 'below' && <>{navLinksContent}</>}\n </Container>\n </AppBar>\n </div>\n );\n}\n"]}
@@ -42,6 +42,10 @@
42
42
  flex-direction: row;
43
43
  padding: 0.25rem 0rem 0.25rem 0.25rem;
44
44
  margin-bottom: 0.5rem;
45
+ align-items: center;
46
+ border: 0.0625rem solid var(--utility-card-border-color);
47
+ border-radius: calc(0.25rem);
48
+ min-height: 3rem;
45
49
  }
46
50
 
47
51
  .psdk-utility-card-icon {
@@ -54,6 +58,7 @@
54
58
  .psdk-utility-card-svg-icon {
55
59
  width: 2.5rem;
56
60
  display: inline-block;
61
+ filter: var(--svg-color);
57
62
  }
58
63
 
59
64
  .psdk-utility-card-main {
@@ -71,14 +76,7 @@
71
76
  .psdk-utility-card-action-svg-icon {
72
77
  width: 1.4rem;
73
78
  display: inline-block;
74
- }
75
-
76
- .psdk-utility-card {
77
- display: flex;
78
- align-items: center;
79
- border: 0.0625rem solid rgb(207, 207, 207);
80
- border-radius: calc(0.25rem);
81
- min-height: 3rem;
79
+ filter: var(--svg-color);
82
80
  }
83
81
 
84
82
  .psdk-utility-button {
@@ -1 +1 @@
1
- {"version":3,"file":"Attachment.d.ts","sourceRoot":"","sources":["../../../../src/components/widget/Attachment/Attachment.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAEjE,OAAO,kBAAkB,CAAC;AAE1B,UAAU,eAAgB,SAAQ,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC;IAE9D,KAAK,EAAE,GAAG,CAAC;IACX,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;CACpB;AAeD,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,KAAK,EAAE,eAAe,2CA4axD"}
1
+ {"version":3,"file":"Attachment.d.ts","sourceRoot":"","sources":["../../../../src/components/widget/Attachment/Attachment.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAEjE,OAAO,kBAAkB,CAAC;AAE1B,UAAU,eAAgB,SAAQ,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC;IAE9D,KAAK,EAAE,GAAG,CAAC;IACX,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;CACpB;AAiBD,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,KAAK,EAAE,eAAe,2CAibxD"}
@@ -1,15 +1,13 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- /* eslint-disable react/jsx-boolean-value */
3
- /* eslint-disable react/no-array-index-key */
4
- /* eslint-disable no-nested-ternary */
5
- import { useState, useEffect, useCallback } from 'react';
2
+ import { useState, useEffect, useCallback, useMemo, useRef } from 'react';
6
3
  import { CircularProgress, IconButton, Menu, MenuItem, Button } from '@mui/material';
7
4
  import MoreVertIcon from '@mui/icons-material/MoreVert';
8
- import download from 'downloadjs';
9
- import { buildFilePropsFromResponse, getIconFromFileType, validateMaxSize } from '../../helpers/attachmentHelpers';
5
+ import { getIconFromFileType, isFileUploadedToServer, useFileDownload, validateMaxSize } from '../../helpers/attachmentHelpers';
10
6
  import { Utils } from '../../helpers/utils';
11
7
  import './Attachment.css';
12
- const getAttachmentKey = (name = '') => (name ? `attachmentsList.${name}` : 'attachmentsList');
8
+ const getAttachmentKey = (name, embeddedReference) => {
9
+ return `attachmentsList${embeddedReference}.${name}`;
10
+ };
13
11
  const getCurrentAttachmentsList = (key, context) => {
14
12
  return PCore.getStoreValue(`.${key}`, 'context_data', context) || [];
15
13
  };
@@ -25,53 +23,53 @@ export default function Attachment(props) {
25
23
  let { required, disabled } = props;
26
24
  [required, disabled] = [required, disabled].map(prop => prop === true || (typeof prop === 'string' && prop === 'true'));
27
25
  const pConn = getPConnect();
26
+ const actionSequencer = useMemo(() => PCore.getActionsSequencer(), []);
28
27
  const caseID = PCore.getStoreValue('.pyID', 'caseInfo.content', pConn.getContextName());
29
28
  const localizedVal = PCore.getLocaleUtils().getLocaleValue;
30
29
  const localeCategory = 'CosmosFields';
31
30
  const uploadMultipleFilesLabel = localizedVal('file_upload_text_multiple', localeCategory);
32
31
  const uploadSingleFileLabel = localizedVal('file_upload_text_one', localeCategory);
33
- let categoryName = '';
34
- if (value && value.pyCategoryName) {
35
- categoryName = value.pyCategoryName;
36
- }
37
32
  const deleteIcon = Utils.getImageSrc('trash', Utils.getSDKStaticConentUrl());
38
33
  const srcImg = Utils.getImageSrc('document-doc', Utils.getSDKStaticConentUrl());
39
34
  let valueRef = pConn.getStateProps().value;
40
35
  valueRef = valueRef.indexOf('.') === 0 ? valueRef.substring(1) : valueRef;
41
36
  const [anchorEl, setAnchorEl] = useState(null);
42
37
  const open = Boolean(anchorEl);
43
- const [files, setFiles] = useState(() => value?.pxResults && +value.pyCount > 0 ? value.pxResults.map(f => buildFilePropsFromResponse(f)) : []);
38
+ const rawValue = pConn.getComponentConfig().value;
39
+ const isAttachmentAnnotationPresent = typeof rawValue === 'object' ? false : rawValue?.includes('@ATTACHMENT');
40
+ const { hasUploadedFiles, attachments, categoryName } = isAttachmentAnnotationPresent
41
+ ? value
42
+ : PCore.getAttachmentUtils().prepareAttachmentData(value);
43
+ const fileInputRef = useRef(null);
44
+ const [files, setFiles] = useState(attachments);
44
45
  const [filesWithError, setFilesWithError] = useState([]);
45
46
  const [toggleUploadBegin, setToggleUploadBegin] = useState(false);
47
+ const context = pConn.getContextName();
48
+ const onFileDownload = useFileDownload(context);
49
+ let embeddedProperty = pConn
50
+ .getPageReference()
51
+ .replace(PCore.getConstants().CASE_INFO.CASE_INFO_CONTENT, '')
52
+ .replace(PCore.getConstants().DATA_INFO.DATA_INFO_CONTENT, '');
53
+ if (valueRef?.indexOf('.') > 0) {
54
+ embeddedProperty = valueRef.substring(0, valueRef.indexOf('.') + 1);
55
+ }
46
56
  const resetAttachmentStoredState = () => {
47
- PCore.getStateUtils().updateState(pConn.getContextName(), getAttachmentKey(valueRef), undefined, {
57
+ PCore.getStateUtils().updateState(pConn.getContextName(), getAttachmentKey(valueRef, embeddedProperty), undefined, {
48
58
  pageReference: 'context_data',
49
59
  isArrayDeepMerge: false
50
60
  });
51
61
  };
52
- const fileDownload = (data, fileName, ext) => {
53
- const fileData = ext ? `${fileName}.${ext}` : fileName;
54
- download(atob(data), fileData);
55
- };
56
- const downloadFile = (fileObj) => {
57
- setAnchorEl(null);
58
- PCore.getAttachmentUtils()
59
- // @ts-ignore - 3rd parameter "responseEncoding" should be optional
60
- .downloadAttachment(fileObj.pzInsKey, pConn.getContextName())
61
- .then((content) => {
62
- const extension = fileObj.pyAttachName.split('.').pop();
63
- fileDownload(content.data, fileObj.pyFileName, extension);
64
- })
65
- .catch(() => { });
66
- };
67
62
  const deleteFile = useCallback(file => {
68
63
  setAnchorEl(null);
64
+ // reset the file input so that it will allow re-uploading the same file after deletion
65
+ if (fileInputRef.current) {
66
+ fileInputRef.current.value = ''; // Reset the input
67
+ }
69
68
  let attachmentsList = [];
70
- let currentAttachmentList = getCurrentAttachmentsList(getAttachmentKey(valueRef), pConn.getContextName());
69
+ let currentAttachmentList = getCurrentAttachmentsList(getAttachmentKey(valueRef, embeddedProperty), pConn.getContextName());
71
70
  // If file to be deleted is the one added in previous stage i.e. for which a file instance is created in server
72
71
  // no need to filter currentAttachmentList as we will get another entry of file in redux with delete & label
73
- // eslint-disable-next-line no-unsafe-optional-chaining
74
- if (value && value?.pxResults && +value?.pyCount > 0 && file.responseProps && file?.responseProps?.pzInsKey !== 'temp') {
72
+ if (hasUploadedFiles && isFileUploadedToServer(file)) {
75
73
  const updatedAttachments = files.map(f => {
76
74
  if (f.responseProps && f.responseProps.pzInsKey === file.responseProps.pzInsKey) {
77
75
  return { ...f, delete: true, label: valueRef };
@@ -79,32 +77,32 @@ export default function Attachment(props) {
79
77
  return f;
80
78
  });
81
79
  // updating the redux store to help form-handler in passing the data to delete the file from server
82
- updateAttachmentState(pConn, getAttachmentKey(valueRef), [...updatedAttachments]);
80
+ updateAttachmentState(pConn, getAttachmentKey(valueRef, embeddedProperty), [...updatedAttachments]);
83
81
  setFiles(current => {
84
82
  const newlyAddedFiles = current.filter(f => !!f.ID);
85
- const filesPostDelete = current.filter(f => f.responseProps?.pzInsKey !== 'temp' && f.responseProps?.pzInsKey !== file.responseProps?.pzInsKey);
83
+ const filesPostDelete = current.filter(f => isFileUploadedToServer(f) && f.responseProps?.ID !== file.responseProps?.ID);
86
84
  attachmentsList = [...filesPostDelete, ...newlyAddedFiles];
87
85
  return attachmentsList;
88
86
  });
89
87
  } // if the file being deleted is the added in this stage i.e. whose data is not yet created in server
90
88
  else {
91
89
  // filter newly added files in this stage, later the updated current stage files will be added to redux once files state is updated in below setFiles()
92
- currentAttachmentList = currentAttachmentList.filter(f => f.label !== valueRef);
93
- setFiles(current => {
94
- attachmentsList = current.filter(f => f.ID !== file.ID);
95
- return attachmentsList;
96
- });
97
- updateAttachmentState(pConn, getAttachmentKey(valueRef), [...currentAttachmentList, ...attachmentsList]);
90
+ currentAttachmentList = currentAttachmentList.filter(f => !f.props.error && (f.delete || f.label !== valueRef));
91
+ setFiles(current => current.filter(f => f.ID !== file.ID));
92
+ updateAttachmentState(pConn, getAttachmentKey(valueRef, embeddedProperty), [...currentAttachmentList, ...attachmentsList]);
98
93
  if (file.inProgress) {
99
- // @ts-ignore - 3rd parameter "responseEncoding" should be optional
94
+ // @ts-expect-error - 3rd parameter "responseEncoding" should be optional
100
95
  PCore.getAttachmentUtils().cancelRequest(file.ID, pConn.getContextName());
96
+ actionSequencer.deRegisterBlockingAction(pConn.getContextName()).catch(error => {
97
+ console.log(error);
98
+ });
101
99
  }
102
100
  }
103
101
  setToggleUploadBegin(false);
104
102
  setFilesWithError(prevFilesWithError => {
105
103
  return prevFilesWithError.filter(f => f.ID !== file.ID);
106
104
  });
107
- }, [pConn, value, valueRef, filesWithError]);
105
+ }, [valueRef, pConn, hasUploadedFiles, filesWithError, hasUploadedFiles, actionSequencer]);
108
106
  const onUploadProgress = () => { };
109
107
  const errorHandler = (isFetchCanceled, attachedFile) => {
110
108
  return error => {
@@ -123,7 +121,6 @@ export default function Attachment(props) {
123
121
  f.props.name = pConn.getLocalizedValue('Unable to upload file', '', '');
124
122
  f.inProgress = false;
125
123
  const fieldName = pConn.getStateProps().value;
126
- const context = pConn.getContextName();
127
124
  // set errors to property to block submit even on errors in file upload
128
125
  PCore.getMessageManager().addMessages({
129
126
  messages: [
@@ -158,7 +155,6 @@ export default function Attachment(props) {
158
155
  };
159
156
  const clearFieldErrorMessages = () => {
160
157
  const fieldName = pConn.getStateProps().value;
161
- const context = pConn.getContextName();
162
158
  PCore.getMessageManager().clearMessages({
163
159
  type: PCore.getConstants().MESSAGES.MESSAGES_TYPE_ERROR,
164
160
  property: fieldName,
@@ -192,7 +188,6 @@ export default function Attachment(props) {
192
188
  }
193
189
  if (f.props.error) {
194
190
  const fieldName = pConn.getStateProps().value;
195
- const context = pConn.getContextName();
196
191
  PCore.getMessageManager().addMessages({
197
192
  messages: [
198
193
  {
@@ -258,7 +253,6 @@ export default function Attachment(props) {
258
253
  setToggleUploadBegin(false);
259
254
  })
260
255
  .catch(error => {
261
- // eslint-disable-next-line no-console
262
256
  console.log(error);
263
257
  setToggleUploadBegin(false);
264
258
  });
@@ -270,11 +264,11 @@ export default function Attachment(props) {
270
264
  }, [toggleUploadBegin]);
271
265
  useEffect(() => {
272
266
  if (files.length > 0 && displayMode !== 'DISPLAY_ONLY') {
273
- const currentAttachmentList = getCurrentAttachmentsList(getAttachmentKey(valueRef), pConn.getContextName());
267
+ const currentAttachmentList = getCurrentAttachmentsList(getAttachmentKey(valueRef, embeddedProperty), pConn.getContextName());
274
268
  // block duplicate files to redux store when added 1 after another to prevent multiple duplicates being added to the case on submit
275
269
  const tempFiles = files.filter(f => currentAttachmentList.findIndex(fr => fr.ID === f.ID) === -1 && !f.inProgress && f.responseProps);
276
270
  const updatedAttList = [...currentAttachmentList, ...tempFiles];
277
- updateAttachmentState(pConn, getAttachmentKey(valueRef), updatedAttList);
271
+ updateAttachmentState(pConn, getAttachmentKey(valueRef, embeddedProperty), updatedAttList);
278
272
  }
279
273
  }, [files]);
280
274
  useEffect(() => {
@@ -283,7 +277,7 @@ export default function Attachment(props) {
283
277
  }
284
278
  }, [filesWithError]);
285
279
  useEffect(() => {
286
- let tempUploadedFiles = getCurrentAttachmentsList(getAttachmentKey(valueRef), pConn.getContextName());
280
+ let tempUploadedFiles = getCurrentAttachmentsList(getAttachmentKey(valueRef, embeddedProperty), pConn.getContextName());
287
281
  tempUploadedFiles = tempUploadedFiles.filter(f => f.label === valueRef);
288
282
  setFiles(current => {
289
283
  return [
@@ -301,9 +295,13 @@ export default function Attachment(props) {
301
295
  ...tempUploadedFiles
302
296
  ];
303
297
  });
304
- PCore.getPubSubUtils().subscribe(PCore.getConstants().PUB_SUB_EVENTS.CASE_EVENTS.ASSIGNMENT_SUBMISSION, resetAttachmentStoredState, caseID);
298
+ if (displayMode !== 'DISPLAY_ONLY') {
299
+ PCore.getPubSubUtils().subscribe(PCore.getConstants().PUB_SUB_EVENTS.CASE_EVENTS.ASSIGNMENT_SUBMISSION, resetAttachmentStoredState, caseID);
300
+ }
305
301
  return () => {
306
- PCore.getPubSubUtils().unsubscribe(PCore.getConstants().PUB_SUB_EVENTS.CASE_EVENTS.ASSIGNMENT_SUBMISSION, caseID);
302
+ if (displayMode !== 'DISPLAY_ONLY') {
303
+ PCore.getPubSubUtils().unsubscribe(PCore.getConstants().PUB_SUB_EVENTS.CASE_EVENTS.ASSIGNMENT_SUBMISSION, caseID);
304
+ }
307
305
  };
308
306
  }, []);
309
307
  const handleClick = event => {
@@ -322,7 +320,10 @@ export default function Attachment(props) {
322
320
  const fileDisplay = (_jsx("div", { children: files &&
323
321
  files.length > 0 &&
324
322
  files.map((item, index) => {
325
- return (_jsxs("div", { className: 'psdk-utility-card', children: [_jsxs("div", { className: 'psdk-utility-card-icon', children: [!item.inProgress && _jsx("img", { className: 'psdk-utility-card-svg-icon', src: srcImg }), item.inProgress && (_jsx("div", { children: _jsx(CircularProgress, {}) }))] }), _jsxs("div", { className: 'psdk-utility-card-main', children: [_jsx("div", { className: 'psdk-utility-card-main-primary-label', children: item.props.name }), item.props.meta && _jsx("div", { style: { color: item.props.error ? 'red' : undefined }, children: item.props.meta })] }), _jsxs("div", { className: 'psdk-utility-action', children: [item.ID && (_jsx("button", { type: 'button', className: 'psdk-utility-button', "aria-label": 'Delete Attachment', onClick: () => deleteFile(item), children: _jsx("img", { className: 'psdk-utility-card-action-svg-icon', src: deleteIcon }) })), !item.ID && (_jsxs("div", { children: [_jsx(IconButton, { id: 'setting-button', "aria-controls": open ? 'file-menu' : undefined, "aria-expanded": open ? 'true' : undefined, "aria-haspopup": 'true', onClick: handleClick, size: 'large', children: _jsx(MoreVertIcon, {}) }), _jsxs(Menu, { style: { marginTop: '3rem' }, id: 'file-menu', anchorEl: anchorEl, keepMounted: true, open: Boolean(anchorEl), onClose: handleClose, children: [_jsx(MenuItem, { style: { fontSize: '14px' }, onClick: () => downloadFile(item.responseProps ? item.responseProps : {}), children: "Download" }, 'download'), _jsx(MenuItem, { style: { fontSize: '14px' }, onClick: () => deleteFile(item), children: "Delete" }, 'delete')] })] }))] })] }, index));
323
+ return (_jsxs("div", { className: 'psdk-utility-card', children: [_jsxs("div", { className: 'psdk-utility-card-icon', children: [!item.inProgress && _jsx("img", { className: 'psdk-utility-card-svg-icon', src: srcImg }), item.inProgress && (_jsx("div", { children: _jsx(CircularProgress, {}) }))] }), _jsxs("div", { className: 'psdk-utility-card-main', children: [_jsx("div", { className: 'psdk-utility-card-main-primary-label', children: item.props.name }), item.props.meta && _jsx("div", { style: { color: item.props.error ? 'red' : undefined }, children: item.props.meta })] }), _jsxs("div", { className: 'psdk-utility-action', children: [item.ID && (_jsx("button", { type: 'button', className: 'psdk-utility-button', "aria-label": 'Delete Attachment', onClick: () => deleteFile(item), children: _jsx("img", { className: 'psdk-utility-card-action-svg-icon', src: deleteIcon }) })), !item.ID && (_jsxs("div", { children: [_jsx(IconButton, { id: 'setting-button', "aria-controls": open ? 'file-menu' : undefined, "aria-expanded": open ? 'true' : undefined, "aria-haspopup": 'true', onClick: handleClick, size: 'large', children: _jsx(MoreVertIcon, {}) }), _jsxs(Menu, { style: { marginTop: '3rem' }, id: 'file-menu', anchorEl: anchorEl, keepMounted: true, open: Boolean(anchorEl), onClose: handleClose, children: [_jsx(MenuItem, { style: { fontSize: '14px' }, onClick: () => {
324
+ setAnchorEl(null);
325
+ onFileDownload(item.responseProps ? item.responseProps : {});
326
+ }, children: "Download" }, 'download'), _jsx(MenuItem, { style: { fontSize: '14px' }, onClick: () => deleteFile(item), children: "Delete" }, 'delete')] })] }))] })] }, index));
326
327
  }) }));
327
328
  return (_jsxs("div", { className: 'file-upload-container', children: [_jsx("span", { className: `label ${required ? 'file-label' : ''}`, children: label }), ((files.length === 0 && allowMultiple !== 'true') || allowMultiple === 'true') && _jsx("section", { children: content }), validatemessage !== '' ? _jsx("span", { className: 'file-error', children: validatemessage }) : _jsx("span", { style: { fontSize: '14px' }, children: helperText }), files && files.length > 0 && _jsx("section", { children: fileDisplay })] }));
328
329
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Attachment.js","sourceRoot":"","sources":["../../../../src/components/widget/Attachment/Attachment.tsx"],"names":[],"mappings":";AAAA,4CAA4C;AAC5C,6CAA6C;AAC7C,sCAAsC;AACtC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACrF,OAAO,YAAY,MAAM,8BAA8B,CAAC;AACxD,OAAO,QAAQ,MAAM,YAAY,CAAC;AAElC,OAAO,EAAE,0BAA0B,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AACnH,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAG5C,OAAO,kBAAkB,CAAC;AAS1B,MAAM,gBAAgB,GAAG,CAAC,IAAI,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;AAE/F,MAAM,yBAAyB,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE;IACjD,OAAO,KAAK,CAAC,aAAa,CAAC,IAAI,GAAG,EAAE,EAAE,cAAc,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;AACvE,CAAC,CAAC;AAEF,MAAM,qBAAqB,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,WAAW,EAAE,EAAE;IACxD,KAAK,CAAC,aAAa,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,cAAc,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE;QAC1E,aAAa,EAAE,cAAc;QAC7B,gBAAgB,EAAE,KAAK;KACxB,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,KAAsB;IACvD,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;IACjH,wGAAwG;IACxG,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IACnC,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC;IACxH,MAAM,KAAK,GAAG,WAAW,EAAE,CAAC;IAC5B,MAAM,MAAM,GAAG,KAAK,CAAC,aAAa,CAAC,OAAO,EAAE,kBAAkB,EAAE,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC;IACxF,MAAM,YAAY,GAAG,KAAK,CAAC,cAAc,EAAE,CAAC,cAAc,CAAC;IAC3D,MAAM,cAAc,GAAG,cAAc,CAAC;IACtC,MAAM,wBAAwB,GAAG,YAAY,CAAC,2BAA2B,EAAE,cAAc,CAAC,CAAC;IAC3F,MAAM,qBAAqB,GAAG,YAAY,CAAC,sBAAsB,EAAE,cAAc,CAAC,CAAC;IACnF,IAAI,YAAY,GAAG,EAAE,CAAC;IACtB,IAAI,KAAK,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;QAClC,YAAY,GAAG,KAAK,CAAC,cAAc,CAAC;IACtC,CAAC;IACD,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,qBAAqB,EAAE,CAAC,CAAC;IAC7E,MAAM,MAAM,GAAG,KAAK,CAAC,WAAW,CAAC,cAAc,EAAE,KAAK,CAAC,qBAAqB,EAAE,CAAC,CAAC;IAChF,IAAI,QAAQ,GAAI,KAAK,CAAC,aAAa,EAAU,CAAC,KAAK,CAAC;IACpD,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC1E,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC/C,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC/B,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAQ,GAAG,EAAE,CAC7C,KAAK,EAAE,SAAS,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,0BAA0B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CACtG,CAAC;IACF,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAQ,EAAE,CAAC,CAAC;IAChE,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAElE,MAAM,0BAA0B,GAAG,GAAG,EAAE;QACtC,KAAK,CAAC,aAAa,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,cAAc,EAAE,EAAE,gBAAgB,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE;YAC/F,aAAa,EAAE,cAAc;YAC7B,gBAAgB,EAAE,KAAK;SACxB,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE;QAC3C,MAAM,QAAQ,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,QAAQ,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;QACvD,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,CAAC;IACjC,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,CAAC,OAAY,EAAE,EAAE;QACpC,WAAW,CAAC,IAAI,CAAC,CAAC;QAClB,KAAK,CAAC,kBAAkB,EAAE;YACxB,mEAAmE;aAClE,kBAAkB,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,cAAc,EAAE,CAAC;aAC5D,IAAI,CAAC,CAAC,OAAY,EAAE,EAAE;YACrB,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;YACxD,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QAC5D,CAAC,CAAC;aACD,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACrB,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,WAAW,CAC5B,IAAI,CAAC,EAAE;QACL,WAAW,CAAC,IAAI,CAAC,CAAC;QAClB,IAAI,eAAe,GAAU,EAAE,CAAC;QAChC,IAAI,qBAAqB,GAAG,yBAAyB,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC;QAE1G,+GAA+G;QAC/G,4GAA4G;QAC5G,uDAAuD;QACvD,IAAI,KAAK,IAAI,KAAK,EAAE,SAAS,IAAI,CAAC,KAAK,EAAE,OAAO,GAAG,CAAC,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,EAAE,aAAa,EAAE,QAAQ,KAAK,MAAM,EAAE,CAAC;YACvH,MAAM,kBAAkB,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;gBACvC,IAAI,CAAC,CAAC,aAAa,IAAI,CAAC,CAAC,aAAa,CAAC,QAAQ,KAAK,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;oBAChF,OAAO,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;gBACjD,CAAC;gBACD,OAAO,CAAC,CAAC;YACX,CAAC,CAAC,CAAC;YAEH,mGAAmG;YACnG,qBAAqB,CAAC,KAAK,EAAE,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC;YAClF,QAAQ,CAAC,OAAO,CAAC,EAAE;gBACjB,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACpD,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CACpC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,EAAE,QAAQ,KAAK,MAAM,IAAI,CAAC,CAAC,aAAa,EAAE,QAAQ,KAAK,IAAI,CAAC,aAAa,EAAE,QAAQ,CACxG,CAAC;gBACF,eAAe,GAAG,CAAC,GAAG,eAAe,EAAE,GAAG,eAAe,CAAC,CAAC;gBAC3D,OAAO,eAAe,CAAC;YACzB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,sGAAsG;aACnG,CAAC;YACJ,uJAAuJ;YACvJ,qBAAqB,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC;YAChF,QAAQ,CAAC,OAAO,CAAC,EAAE;gBACjB,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC;gBACxD,OAAO,eAAe,CAAC;YACzB,CAAC,CAAC,CAAC;YACH,qBAAqB,CAAC,KAAK,EAAE,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,qBAAqB,EAAE,GAAG,eAAe,CAAC,CAAC,CAAC;YACzG,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBACpB,mEAAmE;gBACnE,KAAK,CAAC,kBAAkB,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC;YAC5E,CAAC;QACH,CAAC;QAED,oBAAoB,CAAC,KAAK,CAAC,CAAC;QAC5B,iBAAiB,CAAC,kBAAkB,CAAC,EAAE;YACrC,OAAO,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC;IACL,CAAC,EACD,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,cAAc,CAAC,CACzC,CAAC;IAEF,MAAM,gBAAgB,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;IAElC,MAAM,YAAY,GAAG,CAAC,eAAe,EAAE,YAAY,EAAE,EAAE;QACrD,OAAO,KAAK,CAAC,EAAE;YACb,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC5B,IAAI,aAAa,GAAG,KAAK,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;gBAC5E,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;oBAC9E,aAAa,GAAG,KAAK,CAAC,iBAAiB,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;gBACtG,CAAC;gBACD,QAAQ,CAAC,OAAO,CAAC,EAAE;oBACjB,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;wBACrB,IAAI,CAAC,CAAC,EAAE,KAAK,YAAY,CAAC,EAAE,EAAE,CAAC;4BAC7B,CAAC,CAAC,KAAK,CAAC,IAAI,GAAG,aAAa,CAAC;4BAC7B,CAAC,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC;4BACrB,CAAC,CAAC,KAAK,CAAC,QAAQ,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;4BACvC,CAAC,CAAC,KAAK,CAAC,IAAI,GAAG,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;4BAC3C,CAAC,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,iBAAiB,CAAC,uBAAuB,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;4BACxE,CAAC,CAAC,UAAU,GAAG,KAAK,CAAC;4BACrB,MAAM,SAAS,GAAI,KAAK,CAAC,aAAa,EAAU,CAAC,KAAK,CAAC;4BACvD,MAAM,OAAO,GAAG,KAAK,CAAC,cAAc,EAAE,CAAC;4BACvC,uEAAuE;4BACvE,KAAK,CAAC,iBAAiB,EAAE,CAAC,WAAW,CAAC;gCACpC,QAAQ,EAAE;oCACR;wCACE,IAAI,EAAE,OAAO;wCACb,OAAO,EAAE,KAAK,CAAC,iBAAiB,CAAC,8BAA8B,EAAE,EAAE,EAAE,EAAE,CAAC;qCACzE;iCACF;gCACD,QAAQ,EAAE,SAAS;gCACnB,aAAa,EAAE,KAAK,CAAC,gBAAgB,EAAE;gCACvC,OAAO;6BACR,CAAC,CAAC;4BACH,OAAO,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC;wBAC1B,CAAC;wBACD,OAAO,CAAC,CAAC;oBACX,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;YACL,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM,qBAAqB,GAAG,CAAC,OAAO,EAAE,iBAAiB,EAAE,EAAE;QAC3D,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,oBAAoB,GAAG,iBAAiB;aAC3C,WAAW,EAAE;aACb,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAChD,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC;QAC9D,OAAO,oBAAoB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAClD,CAAC,CAAC;IAEF,MAAM,uBAAuB,GAAG,GAAG,EAAE;QACnC,MAAM,SAAS,GAAI,KAAK,CAAC,aAAa,EAAU,CAAC,KAAK,CAAC;QACvD,MAAM,OAAO,GAAG,KAAK,CAAC,cAAc,EAAE,CAAC;QACvC,KAAK,CAAC,iBAAiB,EAAE,CAAC,aAAa,CAAC;YACtC,IAAI,EAAE,KAAK,CAAC,YAAY,EAAE,CAAC,QAAQ,CAAC,mBAAmB;YACvD,QAAQ,EAAE,SAAS;YACnB,aAAa,EAAE,KAAK,CAAC,gBAAgB,EAAE;YACvC,OAAO;SACR,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,KAAK,CAAC,EAAE;QAC1B,IAAI,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAChD,UAAU,GAAG,aAAa,KAAK,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;QACrE,MAAM,iBAAiB,GAAG,KAAK,CAAC,kBAAkB,EAAE,CAAC,oBAAoB,EAAE,IAAI,GAAG,CAAC;QACnF,MAAM,qBAAqB,GAAG;YAC5B,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,KAAK,EAAE,EAAE;gBAClC,CAAC,CAAC,EAAE,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,IAAI,KAAK,EAAE,CAAC;gBAC1C,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC;gBACpB,CAAC,CAAC,KAAK,GAAG;oBACR,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,IAAI,EAAE,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC;oBACjC,QAAQ,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;iBAC9B,CAAC;gBACF,IAAI,CAAC,eAAe,CAAC,CAAC,EAAE,iBAAiB,CAAC,EAAE,CAAC;oBAC3C,CAAC,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC;oBACrB,CAAC,CAAC,UAAU,GAAG,KAAK,CAAC;oBACrB,CAAC,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,iBAAiB,CAAC,wCAAwC,iBAAiB,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;gBACjH,CAAC;qBAAM,IAAI,CAAC,qBAAqB,CAAC,CAAC,EAAE,UAAU,CAAC,EAAE,CAAC;oBACjD,CAAC,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC;oBACrB,CAAC,CAAC,UAAU,GAAG,KAAK,CAAC;oBACrB,CAAC,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,KAAK,CAAC,iBAAiB,CAAC,qDAAqD,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,UAAU,CAAC,UAAU,CAC/H,GAAG,EACH,EAAE,CACH,EAAE,CAAC;gBACN,CAAC;gBACD,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;oBAClB,MAAM,SAAS,GAAI,KAAK,CAAC,aAAa,EAAU,CAAC,KAAK,CAAC;oBACvD,MAAM,OAAO,GAAG,KAAK,CAAC,cAAc,EAAE,CAAC;oBACvC,KAAK,CAAC,iBAAiB,EAAE,CAAC,WAAW,CAAC;wBACpC,QAAQ,EAAE;4BACR;gCACE,IAAI,EAAE,OAAO;gCACb,OAAO,EAAE,KAAK,CAAC,iBAAiB,CAAC,8BAA8B,EAAE,EAAE,EAAE,EAAE,CAAC;6BACzE;yBACF;wBACD,QAAQ,EAAE,SAAS;wBACnB,aAAa,EAAE,KAAK,CAAC,gBAAgB,EAAE;wBACvC,OAAO;qBACR,CAAC,CAAC;gBACL,CAAC;gBACD,OAAO,CAAC,CAAC;YACX,CAAC,CAAC;SACH,CAAC;QACF,MAAM,kBAAkB,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC5E,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;QACxC,CAAC;QACD,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,aAAa,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACtH,oBAAoB,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,EAAE;QACnC,MAAM,iBAAiB,GAAG,KAAK;aAC5B,MAAM,CAAC,CAAC,CAAC,EAAE;YACV,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC,QAAQ,KAAK,GAAG,CAAC;YAC3D,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC;YAC9C,MAAM,wBAAwB,GAAG,CAAC,CAAC,aAAa,IAAI,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC;YAC7E,OAAO,CAAC,cAAc,IAAI,CAAC,YAAY,IAAI,CAAC,wBAAwB,CAAC;QACvE,CAAC,CAAC;aACD,GAAG,CAAC,CAAC,CAAC,EAAE,CACP,MAAM,CAAC,KAAK,CAAC,kBAAkB,EAAE,CAAC,gBAAgB,CAChD,CAAC,EACD,GAAG,EAAE;YACH,gBAAgB,EAAE,CAAC;QACrB,CAAC,EACD,eAAe,CAAC,EAAE;YAChB,OAAO,YAAY,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;QAC1C,CAAC,EACD,KAAK,CAAC,cAAc,EAAE,CACvB,CACF,CAAC;QACJ,OAAO,CAAC,UAAU,CAAC,iBAAiB,CAAC;aAClC,IAAI,CAAC,CAAC,aAAkB,EAAE,EAAE;YAC3B,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,8FAA8F;YACpK,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7B,QAAQ,CAAC,OAAO,CAAC,EAAE;oBACjB,MAAM,iBAAiB,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC;oBACvC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;wBAC5B,MAAM,KAAK,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC,EAAO,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,YAAY,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;wBACnF,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;4BACf,CAAC,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,iBAAiB,CAAC,uBAAuB,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;4BACxE,CAAC,CAAC,KAAK,CAAC,QAAQ,GAAG,GAAG,CAAC;4BACvB,CAAC,CAAC,UAAU,GAAG,KAAK,CAAC;4BACrB,CAAC,CAAC,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;4BACzC,CAAC,CAAC,KAAK,GAAG,QAAQ,CAAC;4BACnB,CAAC,CAAC,QAAQ,GAAG,YAAY,CAAC;4BAC1B,CAAC,CAAC,aAAa,GAAG;gCAChB,QAAQ,EAAE,MAAM;gCAChB,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI;6BAC3B,CAAC;wBACJ,CAAC;oBACH,CAAC,CAAC,CAAC;oBACH,OAAO,iBAAiB,CAAC;gBAC3B,CAAC,CAAC,CAAC;gBAEH,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAChC,uBAAuB,EAAE,CAAC;gBAC5B,CAAC;YACH,CAAC;YACD,oBAAoB,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC,CAAC;aACD,KAAK,CAAC,KAAK,CAAC,EAAE;YACb,sCAAsC;YACtC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACnB,oBAAoB,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;IACP,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC;IAE5B,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,iBAAiB,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1C,WAAW,EAAE,CAAC;QAChB,CAAC;IACH,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAExB,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,WAAW,KAAK,cAAc,EAAE,CAAC;YACvD,MAAM,qBAAqB,GAAG,yBAAyB,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC;YAC5G,mIAAmI;YACnI,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,qBAAqB,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,aAAa,CAAC,CAAC;YAEtI,MAAM,cAAc,GAAG,CAAC,GAAG,qBAAqB,EAAE,GAAG,SAAS,CAAC,CAAC;YAChE,qBAAqB,CAAC,KAAK,EAAE,gBAAgB,CAAC,QAAQ,CAAC,EAAE,cAAc,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChC,uBAAuB,EAAE,CAAC;QAC5B,CAAC;IACH,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;IAErB,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,iBAAiB,GAAG,yBAAyB,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC;QACtG,iBAAiB,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC;QACxE,QAAQ,CAAC,OAAO,CAAC,EAAE;YACjB,OAAO;gBACL,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;oBACjB,OAAO,CAAC,CAAC,aAAa,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC;wBAC3E,CAAC,CAAC;4BACE,GAAG,CAAC;4BACJ,KAAK,EAAE;gCACL,GAAG,CAAC,CAAC,KAAK;gCACV,QAAQ,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;6BAC9B;yBACF;wBACH,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;gBACf,CAAC,CAAC;gBACF,GAAG,iBAAiB;aACrB,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,cAAc,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,cAAc,CAAC,WAAW,CAAC,qBAAqB,EAAE,0BAA0B,EAAE,MAAM,CAAC,CAAC;QAC5I,OAAO,GAAG,EAAE;YACV,KAAK,CAAC,cAAc,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,cAAc,CAAC,WAAW,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;QACpH,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,WAAW,GAAG,KAAK,CAAC,EAAE;QAC1B,WAAW,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IACnC,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,GAAG,EAAE;QACvB,WAAW,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC,CAAC;IAEF,MAAM,OAAO,GAAG,CACd,cAAK,KAAK,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,YACjC,eAAK,SAAS,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,IAAI,eAAe,KAAK,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,gBAAgB,EAAE,aAC5G,cAAK,MAAM,EAAE,IAAI,EAAE,EAAE,EAAC,eAAe,YAClC,QAAQ,GACL,EACN,iBAAO,OAAO,EAAE,QAAQ,aACtB,gBACE,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,EAC1B,EAAE,EAAE,QAAQ,EACZ,IAAI,EAAC,cAAc,EACnB,IAAI,EAAC,MAAM,EACX,QAAQ,EAAE,aAAa,KAAK,MAAM,EAClC,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,WAAW,GACrB,EACF,KAAC,MAAM,IAAC,KAAK,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,EAAE,OAAO,EAAC,UAAU,EAAC,KAAK,EAAC,SAAS,EAAC,SAAS,EAAC,MAAM,YAC1F,aAAa,KAAK,MAAM;gCACvB,CAAC,CAAC,wBAAwB,KAAK,2BAA2B;oCACxD,CAAC,CAAC,cAAc;oCAChB,CAAC,CAAC,wBAAwB;gCAC5B,CAAC,CAAC,qBAAqB,KAAK,sBAAsB;oCAChD,CAAC,CAAC,eAAe;oCACjB,CAAC,CAAC,qBAAqB,GACpB,IACH,IACJ,GACF,CACP,CAAC;IAEF,MAAM,WAAW,GAAG,CAClB,wBACG,KAAK;YACJ,KAAK,CAAC,MAAM,GAAG,CAAC;YAChB,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;gBACxB,OAAO,CACL,eAAiB,SAAS,EAAC,mBAAmB,aAC5C,eAAK,SAAS,EAAC,wBAAwB,aACpC,CAAC,IAAI,CAAC,UAAU,IAAI,cAAK,SAAS,EAAC,4BAA4B,EAAC,GAAG,EAAE,MAAM,GAAI,EAC/E,IAAI,CAAC,UAAU,IAAI,CAClB,wBACE,KAAC,gBAAgB,KAAG,GAChB,CACP,IACG,EACN,eAAK,SAAS,EAAC,wBAAwB,aACrC,cAAK,SAAS,EAAC,sCAAsC,YAAE,IAAI,CAAC,KAAK,CAAC,IAAI,GAAO,EAC5E,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,cAAK,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,EAAE,YAAG,IAAI,CAAC,KAAK,CAAC,IAAI,GAAO,IACpG,EACN,eAAK,SAAS,EAAC,qBAAqB,aACjC,IAAI,CAAC,EAAE,IAAI,CACV,iBAAQ,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAC,qBAAqB,gBAAY,mBAAmB,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,YAClH,cAAK,SAAS,EAAC,mCAAmC,EAAC,GAAG,EAAE,UAAU,GAAI,GAC/D,CACV,EACA,CAAC,IAAI,CAAC,EAAE,IAAI,CACX,0BACE,KAAC,UAAU,IACT,EAAE,EAAC,gBAAgB,mBACJ,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,mBAC9B,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,mBAC1B,MAAM,EACpB,OAAO,EAAE,WAAW,EACpB,IAAI,EAAC,OAAO,YAEZ,KAAC,YAAY,KAAG,GACL,EACb,MAAC,IAAI,IAAC,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,EAAC,WAAW,EAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,QAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,WAAW,aAC9H,KAAC,QAAQ,IACP,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,EAE3B,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,0BADrE,UAAU,CAIL,EACX,KAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAe,OAAO,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,wBAAxC,QAAQ,CAExC,IACN,IACH,CACP,IACG,KA7CE,KAAK,CA8CT,CACP,CAAC;YACJ,CAAC,CAAC,GACA,CACP,CAAC;IAEF,OAAO,CACL,eAAK,SAAS,EAAC,uBAAuB,aACpC,eAAM,SAAS,EAAE,SAAS,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,YAAG,KAAK,GAAQ,EACvE,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,aAAa,KAAK,MAAM,CAAC,IAAI,aAAa,KAAK,MAAM,CAAC,IAAI,4BAAU,OAAO,GAAW,EAC9G,eAAe,KAAK,EAAE,CAAC,CAAC,CAAC,eAAM,SAAS,EAAC,YAAY,YAAE,eAAe,GAAQ,CAAC,CAAC,CAAC,eAAM,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAG,UAAU,GAAQ,EACvI,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,4BAAU,WAAW,GAAW,IAC1D,CACP,CAAC;AACJ,CAAC","sourcesContent":["/* eslint-disable react/jsx-boolean-value */\n/* eslint-disable react/no-array-index-key */\n/* eslint-disable no-nested-ternary */\nimport { useState, useEffect, useCallback } from 'react';\nimport { CircularProgress, IconButton, Menu, MenuItem, Button } from '@mui/material';\nimport MoreVertIcon from '@mui/icons-material/MoreVert';\nimport download from 'downloadjs';\n\nimport { buildFilePropsFromResponse, getIconFromFileType, validateMaxSize } from '../../helpers/attachmentHelpers';\nimport { Utils } from '../../helpers/utils';\nimport type { PConnFieldProps } from '../../../types/PConnProps';\n\nimport './Attachment.css';\n\ninterface AttachmentProps extends Omit<PConnFieldProps, 'value'> {\n // If any, enter additional props that only exist on this component\n value: any;\n allowMultiple: string;\n extensions: string;\n}\n\nconst getAttachmentKey = (name = '') => (name ? `attachmentsList.${name}` : 'attachmentsList');\n\nconst getCurrentAttachmentsList = (key, context) => {\n return PCore.getStoreValue(`.${key}`, 'context_data', context) || [];\n};\n\nconst updateAttachmentState = (pConn, key, attachments) => {\n PCore.getStateUtils().updateState(pConn.getContextName(), key, attachments, {\n pageReference: 'context_data',\n isArrayDeepMerge: false\n });\n};\n\nexport default function Attachment(props: AttachmentProps) {\n const { value, getPConnect, label, validatemessage, allowMultiple, extensions, displayMode, helperText } = props;\n /* this is a temporary fix because required is supposed to be passed as a boolean and NOT as a string */\n let { required, disabled } = props;\n [required, disabled] = [required, disabled].map(prop => prop === true || (typeof prop === 'string' && prop === 'true'));\n const pConn = getPConnect();\n const caseID = PCore.getStoreValue('.pyID', 'caseInfo.content', pConn.getContextName());\n const localizedVal = PCore.getLocaleUtils().getLocaleValue;\n const localeCategory = 'CosmosFields';\n const uploadMultipleFilesLabel = localizedVal('file_upload_text_multiple', localeCategory);\n const uploadSingleFileLabel = localizedVal('file_upload_text_one', localeCategory);\n let categoryName = '';\n if (value && value.pyCategoryName) {\n categoryName = value.pyCategoryName;\n }\n const deleteIcon = Utils.getImageSrc('trash', Utils.getSDKStaticConentUrl());\n const srcImg = Utils.getImageSrc('document-doc', Utils.getSDKStaticConentUrl());\n let valueRef = (pConn.getStateProps() as any).value;\n valueRef = valueRef.indexOf('.') === 0 ? valueRef.substring(1) : valueRef;\n const [anchorEl, setAnchorEl] = useState(null);\n const open = Boolean(anchorEl);\n const [files, setFiles] = useState<any[]>(() =>\n value?.pxResults && +value.pyCount > 0 ? value.pxResults.map(f => buildFilePropsFromResponse(f)) : []\n );\n const [filesWithError, setFilesWithError] = useState<any[]>([]);\n const [toggleUploadBegin, setToggleUploadBegin] = useState(false);\n\n const resetAttachmentStoredState = () => {\n PCore.getStateUtils().updateState(pConn.getContextName(), getAttachmentKey(valueRef), undefined, {\n pageReference: 'context_data',\n isArrayDeepMerge: false\n });\n };\n\n const fileDownload = (data, fileName, ext) => {\n const fileData = ext ? `${fileName}.${ext}` : fileName;\n download(atob(data), fileData);\n };\n\n const downloadFile = (fileObj: any) => {\n setAnchorEl(null);\n PCore.getAttachmentUtils()\n // @ts-ignore - 3rd parameter \"responseEncoding\" should be optional\n .downloadAttachment(fileObj.pzInsKey, pConn.getContextName())\n .then((content: any) => {\n const extension = fileObj.pyAttachName.split('.').pop();\n fileDownload(content.data, fileObj.pyFileName, extension);\n })\n .catch(() => {});\n };\n\n const deleteFile = useCallback(\n file => {\n setAnchorEl(null);\n let attachmentsList: any[] = [];\n let currentAttachmentList = getCurrentAttachmentsList(getAttachmentKey(valueRef), pConn.getContextName());\n\n // If file to be deleted is the one added in previous stage i.e. for which a file instance is created in server\n // no need to filter currentAttachmentList as we will get another entry of file in redux with delete & label\n // eslint-disable-next-line no-unsafe-optional-chaining\n if (value && value?.pxResults && +value?.pyCount > 0 && file.responseProps && file?.responseProps?.pzInsKey !== 'temp') {\n const updatedAttachments = files.map(f => {\n if (f.responseProps && f.responseProps.pzInsKey === file.responseProps.pzInsKey) {\n return { ...f, delete: true, label: valueRef };\n }\n return f;\n });\n\n // updating the redux store to help form-handler in passing the data to delete the file from server\n updateAttachmentState(pConn, getAttachmentKey(valueRef), [...updatedAttachments]);\n setFiles(current => {\n const newlyAddedFiles = current.filter(f => !!f.ID);\n const filesPostDelete = current.filter(\n f => f.responseProps?.pzInsKey !== 'temp' && f.responseProps?.pzInsKey !== file.responseProps?.pzInsKey\n );\n attachmentsList = [...filesPostDelete, ...newlyAddedFiles];\n return attachmentsList;\n });\n } // if the file being deleted is the added in this stage i.e. whose data is not yet created in server\n else {\n // filter newly added files in this stage, later the updated current stage files will be added to redux once files state is updated in below setFiles()\n currentAttachmentList = currentAttachmentList.filter(f => f.label !== valueRef);\n setFiles(current => {\n attachmentsList = current.filter(f => f.ID !== file.ID);\n return attachmentsList;\n });\n updateAttachmentState(pConn, getAttachmentKey(valueRef), [...currentAttachmentList, ...attachmentsList]);\n if (file.inProgress) {\n // @ts-ignore - 3rd parameter \"responseEncoding\" should be optional\n PCore.getAttachmentUtils().cancelRequest(file.ID, pConn.getContextName());\n }\n }\n\n setToggleUploadBegin(false);\n setFilesWithError(prevFilesWithError => {\n return prevFilesWithError.filter(f => f.ID !== file.ID);\n });\n },\n [pConn, value, valueRef, filesWithError]\n );\n\n const onUploadProgress = () => {};\n\n const errorHandler = (isFetchCanceled, attachedFile) => {\n return error => {\n if (!isFetchCanceled(error)) {\n let uploadFailMsg = pConn.getLocalizedValue('Something went wrong', '', '');\n if (error.response && error.response.data && error.response.data.errorDetails) {\n uploadFailMsg = pConn.getLocalizedValue(error.response.data.errorDetails[0].localizedValue, '', '');\n }\n setFiles(current => {\n return current.map(f => {\n if (f.ID === attachedFile.ID) {\n f.props.meta = uploadFailMsg;\n f.props.error = true;\n f.props.onDelete = () => deleteFile(f);\n f.props.icon = getIconFromFileType(f.type);\n f.props.name = pConn.getLocalizedValue('Unable to upload file', '', '');\n f.inProgress = false;\n const fieldName = (pConn.getStateProps() as any).value;\n const context = pConn.getContextName();\n // set errors to property to block submit even on errors in file upload\n PCore.getMessageManager().addMessages({\n messages: [\n {\n type: 'error',\n message: pConn.getLocalizedValue('Error with one or more files', '', '')\n }\n ],\n property: fieldName,\n pageReference: pConn.getPageReference(),\n context\n });\n delete f.props.progress;\n }\n return f;\n });\n });\n }\n throw error;\n };\n };\n\n const validateFileExtension = (fileObj, allowedExtensions) => {\n if (!allowedExtensions) {\n return true;\n }\n const allowedExtensionList = allowedExtensions\n .toLowerCase()\n .split(',')\n .map(item => item.replaceAll('.', '').trim());\n const extension = fileObj.name.split('.').pop().toLowerCase();\n return allowedExtensionList.includes(extension);\n };\n\n const clearFieldErrorMessages = () => {\n const fieldName = (pConn.getStateProps() as any).value;\n const context = pConn.getContextName();\n PCore.getMessageManager().clearMessages({\n type: PCore.getConstants().MESSAGES.MESSAGES_TYPE_ERROR,\n property: fieldName,\n pageReference: pConn.getPageReference(),\n context\n });\n };\n\n const onFileAdded = event => {\n let addedFiles = Array.from(event.target.files);\n addedFiles = allowMultiple === 'true' ? addedFiles : [addedFiles[0]];\n const maxAttachmentSize = PCore.getEnvironmentInfo().getMaxAttachmentSize() || '5';\n const tempFilesToBeUploaded = [\n ...addedFiles.map((f: any, index) => {\n f.ID = `${new Date().getTime()}I${index}`;\n f.inProgress = true;\n f.props = {\n type: f.type,\n name: f.name,\n icon: getIconFromFileType(f.type),\n onDelete: () => deleteFile(f)\n };\n if (!validateMaxSize(f, maxAttachmentSize)) {\n f.props.error = true;\n f.inProgress = false;\n f.props.meta = pConn.getLocalizedValue(`File is too big. Max allowed size is ${maxAttachmentSize}MB.`, '', '');\n } else if (!validateFileExtension(f, extensions)) {\n f.props.error = true;\n f.inProgress = false;\n f.props.meta = `${pConn.getLocalizedValue('File has invalid extension. Allowed extensions are:', '', '')} ${extensions.replaceAll(\n '.',\n ''\n )}`;\n }\n if (f.props.error) {\n const fieldName = (pConn.getStateProps() as any).value;\n const context = pConn.getContextName();\n PCore.getMessageManager().addMessages({\n messages: [\n {\n type: 'error',\n message: pConn.getLocalizedValue('Error with one or more files', '', '')\n }\n ],\n property: fieldName,\n pageReference: pConn.getPageReference(),\n context\n });\n }\n return f;\n })\n ];\n const tempFilesWithError = tempFilesToBeUploaded.filter(f => f.props.error);\n if (tempFilesWithError.length > 0) {\n setFilesWithError(tempFilesWithError);\n }\n setFiles(current => (allowMultiple !== 'true' ? [...tempFilesToBeUploaded] : [...current, ...tempFilesToBeUploaded]));\n setToggleUploadBegin(true);\n };\n\n const uploadFiles = useCallback(() => {\n const filesToBeUploaded = files\n .filter(e => {\n const isFileUploaded = e.props && e.props.progress === 100;\n const fileHasError = e.props && e.props.error;\n const isFileUploadedinLastStep = e.responseProps && e.responseProps.pzInsKey;\n return !isFileUploaded && !fileHasError && !isFileUploadedinLastStep;\n })\n .map(f =>\n window.PCore.getAttachmentUtils().uploadAttachment(\n f,\n () => {\n onUploadProgress();\n },\n isFetchCanceled => {\n return errorHandler(isFetchCanceled, f);\n },\n pConn.getContextName()\n )\n );\n Promise.allSettled(filesToBeUploaded)\n .then((fileResponses: any) => {\n fileResponses = fileResponses.filter(fr => fr.status !== 'rejected'); // in case of deleting an in progress file, promise gets cancelled but still enters then block\n if (fileResponses.length > 0) {\n setFiles(current => {\n const tempFilesUploaded = [...current];\n tempFilesUploaded.forEach(f => {\n const index = fileResponses.findIndex((fr: any) => fr.value.clientFileID === f.ID);\n if (index >= 0) {\n f.props.meta = pConn.getLocalizedValue('Uploaded successfully', '', '');\n f.props.progress = 100;\n f.inProgress = false;\n f.handle = fileResponses[index].value.ID;\n f.label = valueRef;\n f.category = categoryName;\n f.responseProps = {\n pzInsKey: 'temp',\n pyAttachName: f.props.name\n };\n }\n });\n return tempFilesUploaded;\n });\n\n if (filesWithError.length === 0) {\n clearFieldErrorMessages();\n }\n }\n setToggleUploadBegin(false);\n })\n .catch(error => {\n // eslint-disable-next-line no-console\n console.log(error);\n setToggleUploadBegin(false);\n });\n }, [files, filesWithError]);\n\n useEffect(() => {\n if (toggleUploadBegin && files.length > 0) {\n uploadFiles();\n }\n }, [toggleUploadBegin]);\n\n useEffect(() => {\n if (files.length > 0 && displayMode !== 'DISPLAY_ONLY') {\n const currentAttachmentList = getCurrentAttachmentsList(getAttachmentKey(valueRef), pConn.getContextName());\n // block duplicate files to redux store when added 1 after another to prevent multiple duplicates being added to the case on submit\n const tempFiles = files.filter(f => currentAttachmentList.findIndex(fr => fr.ID === f.ID) === -1 && !f.inProgress && f.responseProps);\n\n const updatedAttList = [...currentAttachmentList, ...tempFiles];\n updateAttachmentState(pConn, getAttachmentKey(valueRef), updatedAttList);\n }\n }, [files]);\n\n useEffect(() => {\n if (filesWithError.length === 0) {\n clearFieldErrorMessages();\n }\n }, [filesWithError]);\n\n useEffect(() => {\n let tempUploadedFiles = getCurrentAttachmentsList(getAttachmentKey(valueRef), pConn.getContextName());\n tempUploadedFiles = tempUploadedFiles.filter(f => f.label === valueRef);\n setFiles(current => {\n return [\n ...current.map(f => {\n return f.responseProps.pzInsKey && !f.responseProps.pzInsKey.includes('temp')\n ? {\n ...f,\n props: {\n ...f.props,\n onDelete: () => deleteFile(f)\n }\n }\n : { ...f };\n }),\n ...tempUploadedFiles\n ];\n });\n PCore.getPubSubUtils().subscribe(PCore.getConstants().PUB_SUB_EVENTS.CASE_EVENTS.ASSIGNMENT_SUBMISSION, resetAttachmentStoredState, caseID);\n return () => {\n PCore.getPubSubUtils().unsubscribe(PCore.getConstants().PUB_SUB_EVENTS.CASE_EVENTS.ASSIGNMENT_SUBMISSION, caseID);\n };\n }, []);\n\n const handleClick = event => {\n setAnchorEl(event.currentTarget);\n };\n\n const handleClose = () => {\n setAnchorEl(null);\n };\n\n const content = (\n <div style={{ marginBottom: '8px' }}>\n <div className={`${disabled ? 'file-disabled' : ''} ${validatemessage === '' ? 'file-div' : 'file-div-error'}`}>\n <div hidden={true} id='attachment-ID'>\n {valueRef}\n </div>\n <label htmlFor={valueRef}>\n <input\n style={{ display: 'none' }}\n id={valueRef}\n name='upload-photo'\n type='file'\n multiple={allowMultiple === 'true'}\n required={required}\n disabled={disabled}\n onChange={onFileAdded}\n />\n <Button style={{ textTransform: 'none' }} variant='outlined' color='primary' component='span'>\n {allowMultiple === 'true'\n ? uploadMultipleFilesLabel === 'file_upload_text_multiple'\n ? 'Choose files'\n : uploadMultipleFilesLabel\n : uploadSingleFileLabel === 'file_upload_text_one'\n ? 'Choose a file'\n : uploadSingleFileLabel}\n </Button>\n </label>\n </div>\n </div>\n );\n\n const fileDisplay = (\n <div>\n {files &&\n files.length > 0 &&\n files.map((item, index) => {\n return (\n <div key={index} className='psdk-utility-card'>\n <div className='psdk-utility-card-icon'>\n {!item.inProgress && <img className='psdk-utility-card-svg-icon' src={srcImg} />}\n {item.inProgress && (\n <div>\n <CircularProgress />\n </div>\n )}\n </div>\n <div className='psdk-utility-card-main'>\n <div className='psdk-utility-card-main-primary-label'>{item.props.name}</div>\n {item.props.meta && <div style={{ color: item.props.error ? 'red' : undefined }}>{item.props.meta}</div>}\n </div>\n <div className='psdk-utility-action'>\n {item.ID && (\n <button type='button' className='psdk-utility-button' aria-label='Delete Attachment' onClick={() => deleteFile(item)}>\n <img className='psdk-utility-card-action-svg-icon' src={deleteIcon} />\n </button>\n )}\n {!item.ID && (\n <div>\n <IconButton\n id='setting-button'\n aria-controls={open ? 'file-menu' : undefined}\n aria-expanded={open ? 'true' : undefined}\n aria-haspopup='true'\n onClick={handleClick}\n size='large'\n >\n <MoreVertIcon />\n </IconButton>\n <Menu style={{ marginTop: '3rem' }} id='file-menu' anchorEl={anchorEl} keepMounted open={Boolean(anchorEl)} onClose={handleClose}>\n <MenuItem\n style={{ fontSize: '14px' }}\n key='download'\n onClick={() => downloadFile(item.responseProps ? item.responseProps : {})}\n >\n Download\n </MenuItem>\n <MenuItem style={{ fontSize: '14px' }} key='delete' onClick={() => deleteFile(item)}>\n Delete\n </MenuItem>\n </Menu>\n </div>\n )}\n </div>\n </div>\n );\n })}\n </div>\n );\n\n return (\n <div className='file-upload-container'>\n <span className={`label ${required ? 'file-label' : ''}`}>{label}</span>\n {((files.length === 0 && allowMultiple !== 'true') || allowMultiple === 'true') && <section>{content}</section>}\n {validatemessage !== '' ? <span className='file-error'>{validatemessage}</span> : <span style={{ fontSize: '14px' }}>{helperText}</span>}\n {files && files.length > 0 && <section>{fileDisplay}</section>}\n </div>\n );\n}\n"]}
1
+ {"version":3,"file":"Attachment.js","sourceRoot":"","sources":["../../../../src/components/widget/Attachment/Attachment.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACrF,OAAO,YAAY,MAAM,8BAA8B,CAAC;AAExD,OAAO,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAEhI,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAG5C,OAAO,kBAAkB,CAAC;AAS1B,MAAM,gBAAgB,GAAG,CAAC,IAAI,EAAE,iBAAiB,EAAE,EAAE;IACnD,OAAO,kBAAkB,iBAAiB,IAAI,IAAI,EAAE,CAAC;AACvD,CAAC,CAAC;AAEF,MAAM,yBAAyB,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE;IACjD,OAAO,KAAK,CAAC,aAAa,CAAC,IAAI,GAAG,EAAE,EAAE,cAAc,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;AACvE,CAAC,CAAC;AAEF,MAAM,qBAAqB,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,WAAW,EAAE,EAAE;IACxD,KAAK,CAAC,aAAa,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,cAAc,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE;QAC1E,aAAa,EAAE,cAAc;QAC7B,gBAAgB,EAAE,KAAK;KACxB,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,KAAsB;IACvD,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;IACjH,wGAAwG;IACxG,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IACnC,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC;IACxH,MAAM,KAAK,GAAG,WAAW,EAAE,CAAC;IAE5B,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,mBAAmB,EAAE,EAAE,EAAE,CAAC,CAAC;IACvE,MAAM,MAAM,GAAG,KAAK,CAAC,aAAa,CAAC,OAAO,EAAE,kBAAkB,EAAE,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC;IACxF,MAAM,YAAY,GAAG,KAAK,CAAC,cAAc,EAAE,CAAC,cAAc,CAAC;IAC3D,MAAM,cAAc,GAAG,cAAc,CAAC;IACtC,MAAM,wBAAwB,GAAG,YAAY,CAAC,2BAA2B,EAAE,cAAc,CAAC,CAAC;IAC3F,MAAM,qBAAqB,GAAG,YAAY,CAAC,sBAAsB,EAAE,cAAc,CAAC,CAAC;IACnF,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,qBAAqB,EAAE,CAAC,CAAC;IAC7E,MAAM,MAAM,GAAG,KAAK,CAAC,WAAW,CAAC,cAAc,EAAE,KAAK,CAAC,qBAAqB,EAAE,CAAC,CAAC;IAChF,IAAI,QAAQ,GAAI,KAAK,CAAC,aAAa,EAAU,CAAC,KAAK,CAAC;IACpD,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC1E,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC/C,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAE/B,MAAM,QAAQ,GAAG,KAAK,CAAC,kBAAkB,EAAE,CAAC,KAAK,CAAC;IAClD,MAAM,6BAA6B,GAAG,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC;IAC/G,MAAM,EAAE,gBAAgB,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,6BAA6B;QACnF,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,KAAK,CAAC,kBAAkB,EAAE,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;IAE5D,MAAM,YAAY,GAAG,MAAM,CAAmB,IAAI,CAAC,CAAC;IACpD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAQ,WAAW,CAAC,CAAC;IACvD,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAQ,EAAE,CAAC,CAAC;IAChE,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAElE,MAAM,OAAO,GAAG,KAAK,CAAC,cAAc,EAAE,CAAC;IACvC,MAAM,cAAc,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IAEhD,IAAI,gBAAgB,GAAG,KAAK;SACzB,gBAAgB,EAAE;SAClB,OAAO,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,SAAS,CAAC,iBAAiB,EAAE,EAAE,CAAC;SAC7D,OAAO,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,SAAS,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;IAEjE,IAAI,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/B,gBAAgB,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IACtE,CAAC;IAED,MAAM,0BAA0B,GAAG,GAAG,EAAE;QACtC,KAAK,CAAC,aAAa,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,cAAc,EAAE,EAAE,gBAAgB,CAAC,QAAQ,EAAE,gBAAgB,CAAC,EAAE,SAAS,EAAE;YACjH,aAAa,EAAE,cAAc;YAC7B,gBAAgB,EAAE,KAAK;SACxB,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,WAAW,CAC5B,IAAI,CAAC,EAAE;QACL,WAAW,CAAC,IAAI,CAAC,CAAC;QAElB,uFAAuF;QACvF,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC;YACzB,YAAY,CAAC,OAAO,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,kBAAkB;QACrD,CAAC;QAED,IAAI,eAAe,GAAU,EAAE,CAAC;QAChC,IAAI,qBAAqB,GAAG,yBAAyB,CAAC,gBAAgB,CAAC,QAAQ,EAAE,gBAAgB,CAAC,EAAE,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC;QAE5H,+GAA+G;QAC/G,4GAA4G;QAC5G,IAAI,gBAAgB,IAAI,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC;YACrD,MAAM,kBAAkB,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;gBACvC,IAAI,CAAC,CAAC,aAAa,IAAI,CAAC,CAAC,aAAa,CAAC,QAAQ,KAAK,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;oBAChF,OAAO,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;gBACjD,CAAC;gBACD,OAAO,CAAC,CAAC;YACX,CAAC,CAAC,CAAC;YAEH,mGAAmG;YACnG,qBAAqB,CAAC,KAAK,EAAE,gBAAgB,CAAC,QAAQ,EAAE,gBAAgB,CAAC,EAAE,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC;YACpG,QAAQ,CAAC,OAAO,CAAC,EAAE;gBACjB,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACpD,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,sBAAsB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,EAAE,KAAK,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;gBACzH,eAAe,GAAG,CAAC,GAAG,eAAe,EAAE,GAAG,eAAe,CAAC,CAAC;gBAC3D,OAAO,eAAe,CAAC;YACzB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,sGAAsG;aACnG,CAAC;YACJ,uJAAuJ;YACvJ,qBAAqB,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC;YAChH,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YAC3D,qBAAqB,CAAC,KAAK,EAAE,gBAAgB,CAAC,QAAQ,EAAE,gBAAgB,CAAC,EAAE,CAAC,GAAG,qBAAqB,EAAE,GAAG,eAAe,CAAC,CAAC,CAAC;YAC3H,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBACpB,yEAAyE;gBACzE,KAAK,CAAC,kBAAkB,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC;gBAC1E,eAAe,CAAC,wBAAwB,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;oBAC7E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACrB,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,oBAAoB,CAAC,KAAK,CAAC,CAAC;QAC5B,iBAAiB,CAAC,kBAAkB,CAAC,EAAE;YACrC,OAAO,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC;IACL,CAAC,EACD,CAAC,QAAQ,EAAE,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,gBAAgB,EAAE,eAAe,CAAC,CACvF,CAAC;IAEF,MAAM,gBAAgB,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;IAElC,MAAM,YAAY,GAAG,CAAC,eAAe,EAAE,YAAY,EAAE,EAAE;QACrD,OAAO,KAAK,CAAC,EAAE;YACb,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC5B,IAAI,aAAa,GAAG,KAAK,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;gBAC5E,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;oBAC9E,aAAa,GAAG,KAAK,CAAC,iBAAiB,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;gBACtG,CAAC;gBACD,QAAQ,CAAC,OAAO,CAAC,EAAE;oBACjB,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;wBACrB,IAAI,CAAC,CAAC,EAAE,KAAK,YAAY,CAAC,EAAE,EAAE,CAAC;4BAC7B,CAAC,CAAC,KAAK,CAAC,IAAI,GAAG,aAAa,CAAC;4BAC7B,CAAC,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC;4BACrB,CAAC,CAAC,KAAK,CAAC,QAAQ,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;4BACvC,CAAC,CAAC,KAAK,CAAC,IAAI,GAAG,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;4BAC3C,CAAC,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,iBAAiB,CAAC,uBAAuB,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;4BACxE,CAAC,CAAC,UAAU,GAAG,KAAK,CAAC;4BACrB,MAAM,SAAS,GAAI,KAAK,CAAC,aAAa,EAAU,CAAC,KAAK,CAAC;4BACvD,uEAAuE;4BACvE,KAAK,CAAC,iBAAiB,EAAE,CAAC,WAAW,CAAC;gCACpC,QAAQ,EAAE;oCACR;wCACE,IAAI,EAAE,OAAO;wCACb,OAAO,EAAE,KAAK,CAAC,iBAAiB,CAAC,8BAA8B,EAAE,EAAE,EAAE,EAAE,CAAC;qCACzE;iCACF;gCACD,QAAQ,EAAE,SAAS;gCACnB,aAAa,EAAE,KAAK,CAAC,gBAAgB,EAAE;gCACvC,OAAO;6BACR,CAAC,CAAC;4BACH,OAAO,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC;wBAC1B,CAAC;wBACD,OAAO,CAAC,CAAC;oBACX,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;YACL,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM,qBAAqB,GAAG,CAAC,OAAO,EAAE,iBAAiB,EAAE,EAAE;QAC3D,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,oBAAoB,GAAG,iBAAiB;aAC3C,WAAW,EAAE;aACb,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAChD,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC;QAC9D,OAAO,oBAAoB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAClD,CAAC,CAAC;IAEF,MAAM,uBAAuB,GAAG,GAAG,EAAE;QACnC,MAAM,SAAS,GAAI,KAAK,CAAC,aAAa,EAAU,CAAC,KAAK,CAAC;QACvD,KAAK,CAAC,iBAAiB,EAAE,CAAC,aAAa,CAAC;YACtC,IAAI,EAAE,KAAK,CAAC,YAAY,EAAE,CAAC,QAAQ,CAAC,mBAAmB;YACvD,QAAQ,EAAE,SAAS;YACnB,aAAa,EAAE,KAAK,CAAC,gBAAgB,EAAE;YACvC,OAAO;SACR,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,KAAK,CAAC,EAAE;QAC1B,IAAI,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAChD,UAAU,GAAG,aAAa,KAAK,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;QACrE,MAAM,iBAAiB,GAAG,KAAK,CAAC,kBAAkB,EAAE,CAAC,oBAAoB,EAAE,IAAI,GAAG,CAAC;QACnF,MAAM,qBAAqB,GAAG;YAC5B,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,KAAK,EAAE,EAAE;gBAClC,CAAC,CAAC,EAAE,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,IAAI,KAAK,EAAE,CAAC;gBAC1C,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC;gBACpB,CAAC,CAAC,KAAK,GAAG;oBACR,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,IAAI,EAAE,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC;oBACjC,QAAQ,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;iBAC9B,CAAC;gBACF,IAAI,CAAC,eAAe,CAAC,CAAC,EAAE,iBAAiB,CAAC,EAAE,CAAC;oBAC3C,CAAC,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC;oBACrB,CAAC,CAAC,UAAU,GAAG,KAAK,CAAC;oBACrB,CAAC,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,iBAAiB,CAAC,wCAAwC,iBAAiB,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;gBACjH,CAAC;qBAAM,IAAI,CAAC,qBAAqB,CAAC,CAAC,EAAE,UAAU,CAAC,EAAE,CAAC;oBACjD,CAAC,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC;oBACrB,CAAC,CAAC,UAAU,GAAG,KAAK,CAAC;oBACrB,CAAC,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,KAAK,CAAC,iBAAiB,CAAC,qDAAqD,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,UAAU,CAAC,UAAU,CAC/H,GAAG,EACH,EAAE,CACH,EAAE,CAAC;gBACN,CAAC;gBACD,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;oBAClB,MAAM,SAAS,GAAI,KAAK,CAAC,aAAa,EAAU,CAAC,KAAK,CAAC;oBACvD,KAAK,CAAC,iBAAiB,EAAE,CAAC,WAAW,CAAC;wBACpC,QAAQ,EAAE;4BACR;gCACE,IAAI,EAAE,OAAO;gCACb,OAAO,EAAE,KAAK,CAAC,iBAAiB,CAAC,8BAA8B,EAAE,EAAE,EAAE,EAAE,CAAC;6BACzE;yBACF;wBACD,QAAQ,EAAE,SAAS;wBACnB,aAAa,EAAE,KAAK,CAAC,gBAAgB,EAAE;wBACvC,OAAO;qBACR,CAAC,CAAC;gBACL,CAAC;gBACD,OAAO,CAAC,CAAC;YACX,CAAC,CAAC;SACH,CAAC;QACF,MAAM,kBAAkB,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC5E,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;QACxC,CAAC;QACD,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,aAAa,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACtH,oBAAoB,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,EAAE;QACnC,MAAM,iBAAiB,GAAG,KAAK;aAC5B,MAAM,CAAC,CAAC,CAAC,EAAE;YACV,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC,QAAQ,KAAK,GAAG,CAAC;YAC3D,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC;YAC9C,MAAM,wBAAwB,GAAG,CAAC,CAAC,aAAa,IAAI,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC;YAC7E,OAAO,CAAC,cAAc,IAAI,CAAC,YAAY,IAAI,CAAC,wBAAwB,CAAC;QACvE,CAAC,CAAC;aACD,GAAG,CAAC,CAAC,CAAC,EAAE,CACP,MAAM,CAAC,KAAK,CAAC,kBAAkB,EAAE,CAAC,gBAAgB,CAChD,CAAC,EACD,GAAG,EAAE;YACH,gBAAgB,EAAE,CAAC;QACrB,CAAC,EACD,eAAe,CAAC,EAAE;YAChB,OAAO,YAAY,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;QAC1C,CAAC,EACD,KAAK,CAAC,cAAc,EAAE,CACvB,CACF,CAAC;QACJ,OAAO,CAAC,UAAU,CAAC,iBAAiB,CAAC;aAClC,IAAI,CAAC,CAAC,aAAkB,EAAE,EAAE;YAC3B,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,8FAA8F;YACpK,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7B,QAAQ,CAAC,OAAO,CAAC,EAAE;oBACjB,MAAM,iBAAiB,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC;oBACvC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;wBAC5B,MAAM,KAAK,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC,EAAO,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,YAAY,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;wBACnF,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;4BACf,CAAC,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,iBAAiB,CAAC,uBAAuB,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;4BACxE,CAAC,CAAC,KAAK,CAAC,QAAQ,GAAG,GAAG,CAAC;4BACvB,CAAC,CAAC,UAAU,GAAG,KAAK,CAAC;4BACrB,CAAC,CAAC,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;4BACzC,CAAC,CAAC,KAAK,GAAG,QAAQ,CAAC;4BACnB,CAAC,CAAC,QAAQ,GAAG,YAAY,CAAC;4BAC1B,CAAC,CAAC,aAAa,GAAG;gCAChB,QAAQ,EAAE,MAAM;gCAChB,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI;6BAC3B,CAAC;wBACJ,CAAC;oBACH,CAAC,CAAC,CAAC;oBACH,OAAO,iBAAiB,CAAC;gBAC3B,CAAC,CAAC,CAAC;gBAEH,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAChC,uBAAuB,EAAE,CAAC;gBAC5B,CAAC;YACH,CAAC;YACD,oBAAoB,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC,CAAC;aACD,KAAK,CAAC,KAAK,CAAC,EAAE;YACb,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACnB,oBAAoB,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;IACP,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC;IAE5B,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,iBAAiB,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1C,WAAW,EAAE,CAAC;QAChB,CAAC;IACH,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAExB,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,WAAW,KAAK,cAAc,EAAE,CAAC;YACvD,MAAM,qBAAqB,GAAG,yBAAyB,CAAC,gBAAgB,CAAC,QAAQ,EAAE,gBAAgB,CAAC,EAAE,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC;YAC9H,mIAAmI;YACnI,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,qBAAqB,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,aAAa,CAAC,CAAC;YAEtI,MAAM,cAAc,GAAG,CAAC,GAAG,qBAAqB,EAAE,GAAG,SAAS,CAAC,CAAC;YAChE,qBAAqB,CAAC,KAAK,EAAE,gBAAgB,CAAC,QAAQ,EAAE,gBAAgB,CAAC,EAAE,cAAc,CAAC,CAAC;QAC7F,CAAC;IACH,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChC,uBAAuB,EAAE,CAAC;QAC5B,CAAC;IACH,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;IAErB,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,iBAAiB,GAAG,yBAAyB,CAAC,gBAAgB,CAAC,QAAQ,EAAE,gBAAgB,CAAC,EAAE,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC;QACxH,iBAAiB,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC;QACxE,QAAQ,CAAC,OAAO,CAAC,EAAE;YACjB,OAAO;gBACL,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;oBACjB,OAAO,CAAC,CAAC,aAAa,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC;wBAC3E,CAAC,CAAC;4BACE,GAAG,CAAC;4BACJ,KAAK,EAAE;gCACL,GAAG,CAAC,CAAC,KAAK;gCACV,QAAQ,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;6BAC9B;yBACF;wBACH,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;gBACf,CAAC,CAAC;gBACF,GAAG,iBAAiB;aACrB,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,IAAI,WAAW,KAAK,cAAc,EAAE,CAAC;YACnC,KAAK,CAAC,cAAc,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,cAAc,CAAC,WAAW,CAAC,qBAAqB,EAAE,0BAA0B,EAAE,MAAM,CAAC,CAAC;QAC9I,CAAC;QACD,OAAO,GAAG,EAAE;YACV,IAAI,WAAW,KAAK,cAAc,EAAE,CAAC;gBACnC,KAAK,CAAC,cAAc,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,cAAc,CAAC,WAAW,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;YACpH,CAAC;QACH,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,WAAW,GAAG,KAAK,CAAC,EAAE;QAC1B,WAAW,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IACnC,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,GAAG,EAAE;QACvB,WAAW,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC,CAAC;IAEF,MAAM,OAAO,GAAG,CACd,cAAK,KAAK,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,YACjC,eAAK,SAAS,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,IAAI,eAAe,KAAK,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,gBAAgB,EAAE,aAC5G,cAAK,MAAM,EAAE,IAAI,EAAE,EAAE,EAAC,eAAe,YAClC,QAAQ,GACL,EACN,iBAAO,OAAO,EAAE,QAAQ,aACtB,gBACE,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,EAC1B,EAAE,EAAE,QAAQ,EACZ,IAAI,EAAC,cAAc,EACnB,IAAI,EAAC,MAAM,EACX,QAAQ,EAAE,aAAa,KAAK,MAAM,EAClC,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,WAAW,GACrB,EACF,KAAC,MAAM,IAAC,KAAK,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,EAAE,OAAO,EAAC,UAAU,EAAC,KAAK,EAAC,SAAS,EAAC,SAAS,EAAC,MAAM,YAC1F,aAAa,KAAK,MAAM;gCACvB,CAAC,CAAC,wBAAwB,KAAK,2BAA2B;oCACxD,CAAC,CAAC,cAAc;oCAChB,CAAC,CAAC,wBAAwB;gCAC5B,CAAC,CAAC,qBAAqB,KAAK,sBAAsB;oCAChD,CAAC,CAAC,eAAe;oCACjB,CAAC,CAAC,qBAAqB,GACpB,IACH,IACJ,GACF,CACP,CAAC;IAEF,MAAM,WAAW,GAAG,CAClB,wBACG,KAAK;YACJ,KAAK,CAAC,MAAM,GAAG,CAAC;YAChB,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;gBACxB,OAAO,CACL,eAAiB,SAAS,EAAC,mBAAmB,aAC5C,eAAK,SAAS,EAAC,wBAAwB,aACpC,CAAC,IAAI,CAAC,UAAU,IAAI,cAAK,SAAS,EAAC,4BAA4B,EAAC,GAAG,EAAE,MAAM,GAAI,EAC/E,IAAI,CAAC,UAAU,IAAI,CAClB,wBACE,KAAC,gBAAgB,KAAG,GAChB,CACP,IACG,EACN,eAAK,SAAS,EAAC,wBAAwB,aACrC,cAAK,SAAS,EAAC,sCAAsC,YAAE,IAAI,CAAC,KAAK,CAAC,IAAI,GAAO,EAC5E,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,cAAK,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,EAAE,YAAG,IAAI,CAAC,KAAK,CAAC,IAAI,GAAO,IACpG,EACN,eAAK,SAAS,EAAC,qBAAqB,aACjC,IAAI,CAAC,EAAE,IAAI,CACV,iBAAQ,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAC,qBAAqB,gBAAY,mBAAmB,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,YAClH,cAAK,SAAS,EAAC,mCAAmC,EAAC,GAAG,EAAE,UAAU,GAAI,GAC/D,CACV,EACA,CAAC,IAAI,CAAC,EAAE,IAAI,CACX,0BACE,KAAC,UAAU,IACT,EAAE,EAAC,gBAAgB,mBACJ,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,mBAC9B,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,mBAC1B,MAAM,EACpB,OAAO,EAAE,WAAW,EACpB,IAAI,EAAC,OAAO,YAEZ,KAAC,YAAY,KAAG,GACL,EACb,MAAC,IAAI,IAAC,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,EAAC,WAAW,EAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,QAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,WAAW,aAC9H,KAAC,QAAQ,IACP,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,EAE3B,OAAO,EAAE,GAAG,EAAE;wDACZ,WAAW,CAAC,IAAI,CAAC,CAAC;wDAClB,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oDAC/D,CAAC,0BAJG,UAAU,CAOL,EACX,KAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAe,OAAO,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,wBAAxC,QAAQ,CAExC,IACN,IACH,CACP,IACG,KAhDE,KAAK,CAiDT,CACP,CAAC;YACJ,CAAC,CAAC,GACA,CACP,CAAC;IAEF,OAAO,CACL,eAAK,SAAS,EAAC,uBAAuB,aACpC,eAAM,SAAS,EAAE,SAAS,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,YAAG,KAAK,GAAQ,EACvE,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,aAAa,KAAK,MAAM,CAAC,IAAI,aAAa,KAAK,MAAM,CAAC,IAAI,4BAAU,OAAO,GAAW,EAC9G,eAAe,KAAK,EAAE,CAAC,CAAC,CAAC,eAAM,SAAS,EAAC,YAAY,YAAE,eAAe,GAAQ,CAAC,CAAC,CAAC,eAAM,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAG,UAAU,GAAQ,EACvI,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,4BAAU,WAAW,GAAW,IAC1D,CACP,CAAC;AACJ,CAAC","sourcesContent":["import { useState, useEffect, useCallback, useMemo, useRef } from 'react';\nimport { CircularProgress, IconButton, Menu, MenuItem, Button } from '@mui/material';\nimport MoreVertIcon from '@mui/icons-material/MoreVert';\n\nimport { getIconFromFileType, isFileUploadedToServer, useFileDownload, validateMaxSize } from '../../helpers/attachmentHelpers';\n\nimport { Utils } from '../../helpers/utils';\nimport type { PConnFieldProps } from '../../../types/PConnProps';\n\nimport './Attachment.css';\n\ninterface AttachmentProps extends Omit<PConnFieldProps, 'value'> {\n // If any, enter additional props that only exist on this component\n value: any;\n allowMultiple: string;\n extensions: string;\n}\n\nconst getAttachmentKey = (name, embeddedReference) => {\n return `attachmentsList${embeddedReference}.${name}`;\n};\n\nconst getCurrentAttachmentsList = (key, context) => {\n return PCore.getStoreValue(`.${key}`, 'context_data', context) || [];\n};\n\nconst updateAttachmentState = (pConn, key, attachments) => {\n PCore.getStateUtils().updateState(pConn.getContextName(), key, attachments, {\n pageReference: 'context_data',\n isArrayDeepMerge: false\n });\n};\n\nexport default function Attachment(props: AttachmentProps) {\n const { value, getPConnect, label, validatemessage, allowMultiple, extensions, displayMode, helperText } = props;\n /* this is a temporary fix because required is supposed to be passed as a boolean and NOT as a string */\n let { required, disabled } = props;\n [required, disabled] = [required, disabled].map(prop => prop === true || (typeof prop === 'string' && prop === 'true'));\n const pConn = getPConnect();\n\n const actionSequencer = useMemo(() => PCore.getActionsSequencer(), []);\n const caseID = PCore.getStoreValue('.pyID', 'caseInfo.content', pConn.getContextName());\n const localizedVal = PCore.getLocaleUtils().getLocaleValue;\n const localeCategory = 'CosmosFields';\n const uploadMultipleFilesLabel = localizedVal('file_upload_text_multiple', localeCategory);\n const uploadSingleFileLabel = localizedVal('file_upload_text_one', localeCategory);\n const deleteIcon = Utils.getImageSrc('trash', Utils.getSDKStaticConentUrl());\n const srcImg = Utils.getImageSrc('document-doc', Utils.getSDKStaticConentUrl());\n let valueRef = (pConn.getStateProps() as any).value;\n valueRef = valueRef.indexOf('.') === 0 ? valueRef.substring(1) : valueRef;\n const [anchorEl, setAnchorEl] = useState(null);\n const open = Boolean(anchorEl);\n\n const rawValue = pConn.getComponentConfig().value;\n const isAttachmentAnnotationPresent = typeof rawValue === 'object' ? false : rawValue?.includes('@ATTACHMENT');\n const { hasUploadedFiles, attachments, categoryName } = isAttachmentAnnotationPresent\n ? value\n : PCore.getAttachmentUtils().prepareAttachmentData(value);\n\n const fileInputRef = useRef<HTMLInputElement>(null);\n const [files, setFiles] = useState<any[]>(attachments);\n const [filesWithError, setFilesWithError] = useState<any[]>([]);\n const [toggleUploadBegin, setToggleUploadBegin] = useState(false);\n\n const context = pConn.getContextName();\n const onFileDownload = useFileDownload(context);\n\n let embeddedProperty = pConn\n .getPageReference()\n .replace(PCore.getConstants().CASE_INFO.CASE_INFO_CONTENT, '')\n .replace(PCore.getConstants().DATA_INFO.DATA_INFO_CONTENT, '');\n\n if (valueRef?.indexOf('.') > 0) {\n embeddedProperty = valueRef.substring(0, valueRef.indexOf('.') + 1);\n }\n\n const resetAttachmentStoredState = () => {\n PCore.getStateUtils().updateState(pConn.getContextName(), getAttachmentKey(valueRef, embeddedProperty), undefined, {\n pageReference: 'context_data',\n isArrayDeepMerge: false\n });\n };\n\n const deleteFile = useCallback(\n file => {\n setAnchorEl(null);\n\n // reset the file input so that it will allow re-uploading the same file after deletion\n if (fileInputRef.current) {\n fileInputRef.current.value = ''; // Reset the input\n }\n\n let attachmentsList: any[] = [];\n let currentAttachmentList = getCurrentAttachmentsList(getAttachmentKey(valueRef, embeddedProperty), pConn.getContextName());\n\n // If file to be deleted is the one added in previous stage i.e. for which a file instance is created in server\n // no need to filter currentAttachmentList as we will get another entry of file in redux with delete & label\n if (hasUploadedFiles && isFileUploadedToServer(file)) {\n const updatedAttachments = files.map(f => {\n if (f.responseProps && f.responseProps.pzInsKey === file.responseProps.pzInsKey) {\n return { ...f, delete: true, label: valueRef };\n }\n return f;\n });\n\n // updating the redux store to help form-handler in passing the data to delete the file from server\n updateAttachmentState(pConn, getAttachmentKey(valueRef, embeddedProperty), [...updatedAttachments]);\n setFiles(current => {\n const newlyAddedFiles = current.filter(f => !!f.ID);\n const filesPostDelete = current.filter(f => isFileUploadedToServer(f) && f.responseProps?.ID !== file.responseProps?.ID);\n attachmentsList = [...filesPostDelete, ...newlyAddedFiles];\n return attachmentsList;\n });\n } // if the file being deleted is the added in this stage i.e. whose data is not yet created in server\n else {\n // filter newly added files in this stage, later the updated current stage files will be added to redux once files state is updated in below setFiles()\n currentAttachmentList = currentAttachmentList.filter(f => !f.props.error && (f.delete || f.label !== valueRef));\n setFiles(current => current.filter(f => f.ID !== file.ID));\n updateAttachmentState(pConn, getAttachmentKey(valueRef, embeddedProperty), [...currentAttachmentList, ...attachmentsList]);\n if (file.inProgress) {\n // @ts-expect-error - 3rd parameter \"responseEncoding\" should be optional\n PCore.getAttachmentUtils().cancelRequest(file.ID, pConn.getContextName());\n actionSequencer.deRegisterBlockingAction(pConn.getContextName()).catch(error => {\n console.log(error);\n });\n }\n }\n\n setToggleUploadBegin(false);\n setFilesWithError(prevFilesWithError => {\n return prevFilesWithError.filter(f => f.ID !== file.ID);\n });\n },\n [valueRef, pConn, hasUploadedFiles, filesWithError, hasUploadedFiles, actionSequencer]\n );\n\n const onUploadProgress = () => {};\n\n const errorHandler = (isFetchCanceled, attachedFile) => {\n return error => {\n if (!isFetchCanceled(error)) {\n let uploadFailMsg = pConn.getLocalizedValue('Something went wrong', '', '');\n if (error.response && error.response.data && error.response.data.errorDetails) {\n uploadFailMsg = pConn.getLocalizedValue(error.response.data.errorDetails[0].localizedValue, '', '');\n }\n setFiles(current => {\n return current.map(f => {\n if (f.ID === attachedFile.ID) {\n f.props.meta = uploadFailMsg;\n f.props.error = true;\n f.props.onDelete = () => deleteFile(f);\n f.props.icon = getIconFromFileType(f.type);\n f.props.name = pConn.getLocalizedValue('Unable to upload file', '', '');\n f.inProgress = false;\n const fieldName = (pConn.getStateProps() as any).value;\n // set errors to property to block submit even on errors in file upload\n PCore.getMessageManager().addMessages({\n messages: [\n {\n type: 'error',\n message: pConn.getLocalizedValue('Error with one or more files', '', '')\n }\n ],\n property: fieldName,\n pageReference: pConn.getPageReference(),\n context\n });\n delete f.props.progress;\n }\n return f;\n });\n });\n }\n throw error;\n };\n };\n\n const validateFileExtension = (fileObj, allowedExtensions) => {\n if (!allowedExtensions) {\n return true;\n }\n const allowedExtensionList = allowedExtensions\n .toLowerCase()\n .split(',')\n .map(item => item.replaceAll('.', '').trim());\n const extension = fileObj.name.split('.').pop().toLowerCase();\n return allowedExtensionList.includes(extension);\n };\n\n const clearFieldErrorMessages = () => {\n const fieldName = (pConn.getStateProps() as any).value;\n PCore.getMessageManager().clearMessages({\n type: PCore.getConstants().MESSAGES.MESSAGES_TYPE_ERROR,\n property: fieldName,\n pageReference: pConn.getPageReference(),\n context\n });\n };\n\n const onFileAdded = event => {\n let addedFiles = Array.from(event.target.files);\n addedFiles = allowMultiple === 'true' ? addedFiles : [addedFiles[0]];\n const maxAttachmentSize = PCore.getEnvironmentInfo().getMaxAttachmentSize() || '5';\n const tempFilesToBeUploaded = [\n ...addedFiles.map((f: any, index) => {\n f.ID = `${new Date().getTime()}I${index}`;\n f.inProgress = true;\n f.props = {\n type: f.type,\n name: f.name,\n icon: getIconFromFileType(f.type),\n onDelete: () => deleteFile(f)\n };\n if (!validateMaxSize(f, maxAttachmentSize)) {\n f.props.error = true;\n f.inProgress = false;\n f.props.meta = pConn.getLocalizedValue(`File is too big. Max allowed size is ${maxAttachmentSize}MB.`, '', '');\n } else if (!validateFileExtension(f, extensions)) {\n f.props.error = true;\n f.inProgress = false;\n f.props.meta = `${pConn.getLocalizedValue('File has invalid extension. Allowed extensions are:', '', '')} ${extensions.replaceAll(\n '.',\n ''\n )}`;\n }\n if (f.props.error) {\n const fieldName = (pConn.getStateProps() as any).value;\n PCore.getMessageManager().addMessages({\n messages: [\n {\n type: 'error',\n message: pConn.getLocalizedValue('Error with one or more files', '', '')\n }\n ],\n property: fieldName,\n pageReference: pConn.getPageReference(),\n context\n });\n }\n return f;\n })\n ];\n const tempFilesWithError = tempFilesToBeUploaded.filter(f => f.props.error);\n if (tempFilesWithError.length > 0) {\n setFilesWithError(tempFilesWithError);\n }\n setFiles(current => (allowMultiple !== 'true' ? [...tempFilesToBeUploaded] : [...current, ...tempFilesToBeUploaded]));\n setToggleUploadBegin(true);\n };\n\n const uploadFiles = useCallback(() => {\n const filesToBeUploaded = files\n .filter(e => {\n const isFileUploaded = e.props && e.props.progress === 100;\n const fileHasError = e.props && e.props.error;\n const isFileUploadedinLastStep = e.responseProps && e.responseProps.pzInsKey;\n return !isFileUploaded && !fileHasError && !isFileUploadedinLastStep;\n })\n .map(f =>\n window.PCore.getAttachmentUtils().uploadAttachment(\n f,\n () => {\n onUploadProgress();\n },\n isFetchCanceled => {\n return errorHandler(isFetchCanceled, f);\n },\n pConn.getContextName()\n )\n );\n Promise.allSettled(filesToBeUploaded)\n .then((fileResponses: any) => {\n fileResponses = fileResponses.filter(fr => fr.status !== 'rejected'); // in case of deleting an in progress file, promise gets cancelled but still enters then block\n if (fileResponses.length > 0) {\n setFiles(current => {\n const tempFilesUploaded = [...current];\n tempFilesUploaded.forEach(f => {\n const index = fileResponses.findIndex((fr: any) => fr.value.clientFileID === f.ID);\n if (index >= 0) {\n f.props.meta = pConn.getLocalizedValue('Uploaded successfully', '', '');\n f.props.progress = 100;\n f.inProgress = false;\n f.handle = fileResponses[index].value.ID;\n f.label = valueRef;\n f.category = categoryName;\n f.responseProps = {\n pzInsKey: 'temp',\n pyAttachName: f.props.name\n };\n }\n });\n return tempFilesUploaded;\n });\n\n if (filesWithError.length === 0) {\n clearFieldErrorMessages();\n }\n }\n setToggleUploadBegin(false);\n })\n .catch(error => {\n console.log(error);\n setToggleUploadBegin(false);\n });\n }, [files, filesWithError]);\n\n useEffect(() => {\n if (toggleUploadBegin && files.length > 0) {\n uploadFiles();\n }\n }, [toggleUploadBegin]);\n\n useEffect(() => {\n if (files.length > 0 && displayMode !== 'DISPLAY_ONLY') {\n const currentAttachmentList = getCurrentAttachmentsList(getAttachmentKey(valueRef, embeddedProperty), pConn.getContextName());\n // block duplicate files to redux store when added 1 after another to prevent multiple duplicates being added to the case on submit\n const tempFiles = files.filter(f => currentAttachmentList.findIndex(fr => fr.ID === f.ID) === -1 && !f.inProgress && f.responseProps);\n\n const updatedAttList = [...currentAttachmentList, ...tempFiles];\n updateAttachmentState(pConn, getAttachmentKey(valueRef, embeddedProperty), updatedAttList);\n }\n }, [files]);\n\n useEffect(() => {\n if (filesWithError.length === 0) {\n clearFieldErrorMessages();\n }\n }, [filesWithError]);\n\n useEffect(() => {\n let tempUploadedFiles = getCurrentAttachmentsList(getAttachmentKey(valueRef, embeddedProperty), pConn.getContextName());\n tempUploadedFiles = tempUploadedFiles.filter(f => f.label === valueRef);\n setFiles(current => {\n return [\n ...current.map(f => {\n return f.responseProps.pzInsKey && !f.responseProps.pzInsKey.includes('temp')\n ? {\n ...f,\n props: {\n ...f.props,\n onDelete: () => deleteFile(f)\n }\n }\n : { ...f };\n }),\n ...tempUploadedFiles\n ];\n });\n if (displayMode !== 'DISPLAY_ONLY') {\n PCore.getPubSubUtils().subscribe(PCore.getConstants().PUB_SUB_EVENTS.CASE_EVENTS.ASSIGNMENT_SUBMISSION, resetAttachmentStoredState, caseID);\n }\n return () => {\n if (displayMode !== 'DISPLAY_ONLY') {\n PCore.getPubSubUtils().unsubscribe(PCore.getConstants().PUB_SUB_EVENTS.CASE_EVENTS.ASSIGNMENT_SUBMISSION, caseID);\n }\n };\n }, []);\n\n const handleClick = event => {\n setAnchorEl(event.currentTarget);\n };\n\n const handleClose = () => {\n setAnchorEl(null);\n };\n\n const content = (\n <div style={{ marginBottom: '8px' }}>\n <div className={`${disabled ? 'file-disabled' : ''} ${validatemessage === '' ? 'file-div' : 'file-div-error'}`}>\n <div hidden={true} id='attachment-ID'>\n {valueRef}\n </div>\n <label htmlFor={valueRef}>\n <input\n style={{ display: 'none' }}\n id={valueRef}\n name='upload-photo'\n type='file'\n multiple={allowMultiple === 'true'}\n required={required}\n disabled={disabled}\n onChange={onFileAdded}\n />\n <Button style={{ textTransform: 'none' }} variant='outlined' color='primary' component='span'>\n {allowMultiple === 'true'\n ? uploadMultipleFilesLabel === 'file_upload_text_multiple'\n ? 'Choose files'\n : uploadMultipleFilesLabel\n : uploadSingleFileLabel === 'file_upload_text_one'\n ? 'Choose a file'\n : uploadSingleFileLabel}\n </Button>\n </label>\n </div>\n </div>\n );\n\n const fileDisplay = (\n <div>\n {files &&\n files.length > 0 &&\n files.map((item, index) => {\n return (\n <div key={index} className='psdk-utility-card'>\n <div className='psdk-utility-card-icon'>\n {!item.inProgress && <img className='psdk-utility-card-svg-icon' src={srcImg} />}\n {item.inProgress && (\n <div>\n <CircularProgress />\n </div>\n )}\n </div>\n <div className='psdk-utility-card-main'>\n <div className='psdk-utility-card-main-primary-label'>{item.props.name}</div>\n {item.props.meta && <div style={{ color: item.props.error ? 'red' : undefined }}>{item.props.meta}</div>}\n </div>\n <div className='psdk-utility-action'>\n {item.ID && (\n <button type='button' className='psdk-utility-button' aria-label='Delete Attachment' onClick={() => deleteFile(item)}>\n <img className='psdk-utility-card-action-svg-icon' src={deleteIcon} />\n </button>\n )}\n {!item.ID && (\n <div>\n <IconButton\n id='setting-button'\n aria-controls={open ? 'file-menu' : undefined}\n aria-expanded={open ? 'true' : undefined}\n aria-haspopup='true'\n onClick={handleClick}\n size='large'\n >\n <MoreVertIcon />\n </IconButton>\n <Menu style={{ marginTop: '3rem' }} id='file-menu' anchorEl={anchorEl} keepMounted open={Boolean(anchorEl)} onClose={handleClose}>\n <MenuItem\n style={{ fontSize: '14px' }}\n key='download'\n onClick={() => {\n setAnchorEl(null);\n onFileDownload(item.responseProps ? item.responseProps : {});\n }}\n >\n Download\n </MenuItem>\n <MenuItem style={{ fontSize: '14px' }} key='delete' onClick={() => deleteFile(item)}>\n Delete\n </MenuItem>\n </Menu>\n </div>\n )}\n </div>\n </div>\n );\n })}\n </div>\n );\n\n return (\n <div className='file-upload-container'>\n <span className={`label ${required ? 'file-label' : ''}`}>{label}</span>\n {((files.length === 0 && allowMultiple !== 'true') || allowMultiple === 'true') && <section>{content}</section>}\n {validatemessage !== '' ? <span className='file-error'>{validatemessage}</span> : <span style={{ fontSize: '14px' }}>{helperText}</span>}\n {files && files.length > 0 && <section>{fileDisplay}</section>}\n </div>\n );\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"CaseHistory.js","sourceRoot":"","sources":["../../../../src/components/widget/CaseHistory/CaseHistory.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useEffect, useRef, useState } from 'react';\nimport type { Theme } from '@mui/material/styles';\nimport withStyles from '@mui/styles/withStyles';\nimport createStyles from '@mui/styles/createStyles';\nimport Table from '@mui/material/Table';\nimport TableBody from '@mui/material/TableBody';\nimport TableCell from '@mui/material/TableCell';\nimport TableContainer from '@mui/material/TableContainer';\nimport TableHead from '@mui/material/TableHead';\nimport TableRow from '@mui/material/TableRow';\nimport isDeepEqual from 'fast-deep-equal/react';\n\nimport { Utils } from '../../helpers/utils';\nimport type { PConnProps } from '../../../types/PConnProps';\n\ninterface CaseHistoryProps extends PConnProps {\n // If any, enter additional props that only exist on this component\n}\n\nconst StyledTableCell = withStyles((theme: Theme) =>\n createStyles({\n head: {\n borderWidth: '1px',\n borderStyle: 'solid',\n borderColor: 'silver',\n backgroundColor: theme.palette.text.disabled,\n color: theme.palette.getContrastText(theme.palette.text.disabled)\n },\n body: {\n borderWidth: '1px',\n borderStyle: 'solid',\n borderColor: 'silver'\n // fontSize: 14,\n }\n })\n)(TableCell);\n\nexport default function CaseHistory(props: CaseHistoryProps) {\n const { getPConnect } = props;\n const thePConn = getPConnect();\n // let waitingForData = true;\n\n const displayedColumns = [\n {\n label: thePConn.getLocalizedValue('Date', '', ''),\n type: 'DateTime',\n fieldName: 'pxTimeCreated'\n }, // 2nd and 3rd args empty string until typedef marked correctly\n {\n label: thePConn.getLocalizedValue('Description', '', ''),\n type: 'TextInput',\n fieldName: 'pyMessageKey'\n }, // 2nd and 3rd args empty string until typedef marked correctly\n {\n label: thePConn.getLocalizedValue('Performed by', '', ''),\n type: 'TextInput',\n fieldName: 'pyPerformer'\n } // 2nd and 3rd args empty string until typedef marked correctly\n ];\n\n const rowData: any = useRef([]);\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const [waitingForData, setWaitingForData] = useState<boolean>(true);\n\n const caseID = thePConn.getValue(PCore.getConstants().CASE_INFO.CASE_INFO_ID, ''); // 2nd arg empty string until typedef marked correctly\n const dataViewName = 'D_pyWorkHistory';\n const context = thePConn.getContextName();\n\n function computeRowData(rows: Object[]): void {\n const theRowData: Object[] = [];\n\n rows.forEach((row: any, rowIndex: number) => {\n // Now, for each property in the index of row properties (displayedColumns), add an object\n // to a new array of values\n const rowDisplayValues: any = [];\n\n displayedColumns.forEach((column: any, rowValIndex) => {\n const theType = column.type;\n const theFieldName = column.fieldName;\n const theValue =\n theType === 'Date' || theType === 'DateTime' ? Utils.generateDateTime(row[theFieldName], 'DateTime-Short') : row[theFieldName];\n rowDisplayValues[rowValIndex] = theValue;\n });\n\n theRowData[rowIndex] = rowDisplayValues;\n });\n\n if (!isDeepEqual(theRowData, rowData.current)) {\n // Only update rowData.current when it actually changes (to prevent infinite loop)\n rowData.current = theRowData;\n }\n }\n\n // Get the case history data when component mounted/initialized\n useEffect(() => {\n let bCallSetWaitingForData = true;\n\n const historyData = PCore.getDataApiUtils().getData(\n dataViewName,\n { dataViewParameters: [{ CaseInstanceKey: caseID }] } as any,\n context\n ) as Promise<any>;\n\n historyData.then((historyJSON: any) => {\n const tableDataResults = historyJSON.data.data;\n\n // compute the rowData using the tableDataResults\n computeRowData(tableDataResults);\n\n // At this point, if we have data ready to render and haven't been asked\n // to NOT call setWaitingForData, we can stop progress indicator\n if (bCallSetWaitingForData) {\n setWaitingForData(false);\n }\n });\n\n return () => {\n // Inspired by https://juliangaramendy.dev/blog/use-promise-subscription\n // The useEffect closure lets us have access to the bCallSetWaitingForData\n // variable inside the useEffect and inside the \"then\" clause of the\n // historyData promise\n // So, if this cleanup code gets run before the promise .then is called,\n // we can avoid calling the useState setter which would otherwise show a warning\n bCallSetWaitingForData = false;\n };\n }, []);\n\n function getTableHeader() {\n const theRowKey = 'CaseHistory.TableHeader';\n\n const theHeaderCells: any[] = displayedColumns.map((headerCol, index) => {\n const theCellKey = `${theRowKey}.${index}`;\n return <StyledTableCell key={theCellKey}>{headerCol.label}</StyledTableCell>;\n });\n\n return <TableRow key={theRowKey}>{theHeaderCells}</TableRow>;\n }\n\n function getTableData() {\n const theDataRows: any[] = [];\n\n // Note: using rowData.current since we're using useRef as a mutatable\n // value that's only updated when it changes.\n if (rowData.current.length > 0) {\n rowData.current.forEach((dataRow: Object[], index) => {\n // using dataRow[0]-dataRow[1] as the array key since it's a unique value\n const theKey = `CaseHistory-${index}`;\n theDataRows.push(\n <TableRow key={theKey}>\n <StyledTableCell>{dataRow[0] ? dataRow[0] : ('---' as any)}</StyledTableCell>\n <StyledTableCell>{dataRow[1] ? dataRow[1] : ('---' as any)}</StyledTableCell>\n <StyledTableCell>{dataRow[2] ? dataRow[2] : ('---' as any)}</StyledTableCell>\n </TableRow>\n );\n });\n }\n\n return theDataRows;\n }\n\n return (\n <div id='CaseHistory'>\n <TableContainer>\n <Table>\n <TableHead>{getTableHeader()}</TableHead>\n <TableBody>{getTableData()}</TableBody>\n </Table>\n </TableContainer>\n </div>\n );\n}\n"]}
1
+ {"version":3,"file":"CaseHistory.js","sourceRoot":"","sources":["../../../../src/components/widget/CaseHistory/CaseHistory.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEpD,OAAO,UAAU,MAAM,wBAAwB,CAAC;AAChD,OAAO,YAAY,MAAM,0BAA0B,CAAC;AACpD,OAAO,KAAK,MAAM,qBAAqB,CAAC;AACxC,OAAO,SAAS,MAAM,yBAAyB,CAAC;AAChD,OAAO,SAAS,MAAM,yBAAyB,CAAC;AAChD,OAAO,cAAc,MAAM,8BAA8B,CAAC;AAC1D,OAAO,SAAS,MAAM,yBAAyB,CAAC;AAChD,OAAO,QAAQ,MAAM,wBAAwB,CAAC;AAC9C,OAAO,WAAW,MAAM,uBAAuB,CAAC;AAEhD,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAO5C,MAAM,eAAe,GAAG,UAAU,CAAC,CAAC,KAAY,EAAE,EAAE,CAClD,YAAY,CAAC;IACX,IAAI,EAAE;QACJ,WAAW,EAAE,KAAK;QAClB,WAAW,EAAE,OAAO;QACpB,WAAW,EAAE,QAAQ;QACrB,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ;QAC5C,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC;KAClE;IACD,IAAI,EAAE;QACJ,WAAW,EAAE,KAAK;QAClB,WAAW,EAAE,OAAO;QACpB,WAAW,EAAE,QAAQ;QACrB,gBAAgB;KACjB;CACF,CAAC,CACH,CAAC,SAAS,CAAC,CAAC;AAEb,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,KAAuB;IACzD,MAAM,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC;IAC9B,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,6BAA6B;IAE7B,MAAM,gBAAgB,GAAG;QACvB;YACE,KAAK,EAAE,QAAQ,CAAC,iBAAiB,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC;YACjD,IAAI,EAAE,UAAU;YAChB,SAAS,EAAE,eAAe;SAC3B,EAAE,+DAA+D;QAClE;YACE,KAAK,EAAE,QAAQ,CAAC,iBAAiB,CAAC,aAAa,EAAE,EAAE,EAAE,EAAE,CAAC;YACxD,IAAI,EAAE,WAAW;YACjB,SAAS,EAAE,cAAc;SAC1B,EAAE,+DAA+D;QAClE;YACE,KAAK,EAAE,QAAQ,CAAC,iBAAiB,CAAC,cAAc,EAAE,EAAE,EAAE,EAAE,CAAC;YACzD,IAAI,EAAE,WAAW;YACjB,SAAS,EAAE,aAAa;SACzB,CAAC,+DAA+D;KAClE,CAAC;IAEF,MAAM,OAAO,GAAQ,MAAM,CAAC,EAAE,CAAC,CAAC;IAChC,6DAA6D;IAC7D,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAU,IAAI,CAAC,CAAC;IAEpE,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,SAAS,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,CAAC,sDAAsD;IACzI,MAAM,YAAY,GAAG,iBAAiB,CAAC;IACvC,MAAM,OAAO,GAAG,QAAQ,CAAC,cAAc,EAAE,CAAC;IAE1C,SAAS,cAAc,CAAC,IAAc;QACpC,MAAM,UAAU,GAAa,EAAE,CAAC;QAEhC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAQ,EAAE,QAAgB,EAAE,EAAE;YAC1C,0FAA0F;YAC1F,4BAA4B;YAC5B,MAAM,gBAAgB,GAAQ,EAAE,CAAC;YAEjC,gBAAgB,CAAC,OAAO,CAAC,CAAC,MAAW,EAAE,WAAW,EAAE,EAAE;gBACpD,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC;gBAC5B,MAAM,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC;gBACtC,MAAM,QAAQ,GACZ,OAAO,KAAK,MAAM,IAAI,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;gBACjI,gBAAgB,CAAC,WAAW,CAAC,GAAG,QAAQ,CAAC;YAC3C,CAAC,CAAC,CAAC;YAEH,UAAU,CAAC,QAAQ,CAAC,GAAG,gBAAgB,CAAC;QAC1C,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YAC9C,kFAAkF;YAClF,OAAO,CAAC,OAAO,GAAG,UAAU,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,+DAA+D;IAC/D,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,sBAAsB,GAAG,IAAI,CAAC;QAElC,MAAM,WAAW,GAAG,KAAK,CAAC,eAAe,EAAE,CAAC,OAAO,CACjD,YAAY,EACZ,EAAE,kBAAkB,EAAE,CAAC,EAAE,eAAe,EAAE,MAAM,EAAE,CAAC,EAAS,EAC5D,OAAO,CACQ,CAAC;QAElB,WAAW,CAAC,IAAI,CAAC,CAAC,WAAgB,EAAE,EAAE;YACpC,MAAM,gBAAgB,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;YAE/C,iDAAiD;YACjD,cAAc,CAAC,gBAAgB,CAAC,CAAC;YAEjC,wEAAwE;YACxE,iEAAiE;YACjE,IAAI,sBAAsB,EAAE,CAAC;gBAC3B,iBAAiB,CAAC,KAAK,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,GAAG,EAAE;YACV,wEAAwE;YACxE,0EAA0E;YAC1E,qEAAqE;YACrE,uBAAuB;YACvB,yEAAyE;YACzE,iFAAiF;YACjF,sBAAsB,GAAG,KAAK,CAAC;QACjC,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,SAAS,cAAc;QACrB,MAAM,SAAS,GAAG,yBAAyB,CAAC;QAE5C,MAAM,cAAc,GAAU,gBAAgB,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE;YACtE,MAAM,UAAU,GAAG,GAAG,SAAS,IAAI,KAAK,EAAE,CAAC;YAC3C,OAAO,KAAC,eAAe,cAAmB,SAAS,CAAC,KAAK,IAA5B,UAAU,CAAqC,CAAC;QAC/E,CAAC,CAAC,CAAC;QAEH,OAAO,KAAC,QAAQ,cAAkB,cAAc,IAA1B,SAAS,CAA6B,CAAC;IAC/D,CAAC;IAED,SAAS,YAAY;QACnB,MAAM,WAAW,GAAU,EAAE,CAAC;QAE9B,sEAAsE;QACtE,8CAA8C;QAC9C,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/B,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,OAAiB,EAAE,KAAK,EAAE,EAAE;gBACnD,yEAAyE;gBACzE,MAAM,MAAM,GAAG,eAAe,KAAK,EAAE,CAAC;gBACtC,WAAW,CAAC,IAAI,CACd,MAAC,QAAQ,eACP,KAAC,eAAe,cAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,KAAa,GAAmB,EAC7E,KAAC,eAAe,cAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,KAAa,GAAmB,EAC7E,KAAC,eAAe,cAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,KAAa,GAAmB,KAHhE,MAAM,CAIV,CACZ,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC;QAED,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,OAAO,CACL,cAAK,EAAE,EAAC,aAAa,YACnB,KAAC,cAAc,cACb,MAAC,KAAK,eACJ,KAAC,SAAS,cAAE,cAAc,EAAE,GAAa,EACzC,KAAC,SAAS,cAAE,YAAY,EAAE,GAAa,IACjC,GACO,GACb,CACP,CAAC;AACJ,CAAC","sourcesContent":["import { useEffect, useRef, useState } from 'react';\nimport type { Theme } from '@mui/material/styles';\nimport withStyles from '@mui/styles/withStyles';\nimport createStyles from '@mui/styles/createStyles';\nimport Table from '@mui/material/Table';\nimport TableBody from '@mui/material/TableBody';\nimport TableCell from '@mui/material/TableCell';\nimport TableContainer from '@mui/material/TableContainer';\nimport TableHead from '@mui/material/TableHead';\nimport TableRow from '@mui/material/TableRow';\nimport isDeepEqual from 'fast-deep-equal/react';\n\nimport { Utils } from '../../helpers/utils';\nimport type { PConnProps } from '../../../types/PConnProps';\n\ninterface CaseHistoryProps extends PConnProps {\n // If any, enter additional props that only exist on this component\n}\n\nconst StyledTableCell = withStyles((theme: Theme) =>\n createStyles({\n head: {\n borderWidth: '1px',\n borderStyle: 'solid',\n borderColor: 'silver',\n backgroundColor: theme.palette.text.disabled,\n color: theme.palette.getContrastText(theme.palette.text.disabled)\n },\n body: {\n borderWidth: '1px',\n borderStyle: 'solid',\n borderColor: 'silver'\n // fontSize: 14,\n }\n })\n)(TableCell);\n\nexport default function CaseHistory(props: CaseHistoryProps) {\n const { getPConnect } = props;\n const thePConn = getPConnect();\n // let waitingForData = true;\n\n const displayedColumns = [\n {\n label: thePConn.getLocalizedValue('Date', '', ''),\n type: 'DateTime',\n fieldName: 'pxTimeCreated'\n }, // 2nd and 3rd args empty string until typedef marked correctly\n {\n label: thePConn.getLocalizedValue('Description', '', ''),\n type: 'TextInput',\n fieldName: 'pyMessageKey'\n }, // 2nd and 3rd args empty string until typedef marked correctly\n {\n label: thePConn.getLocalizedValue('Performed by', '', ''),\n type: 'TextInput',\n fieldName: 'pyPerformer'\n } // 2nd and 3rd args empty string until typedef marked correctly\n ];\n\n const rowData: any = useRef([]);\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const [waitingForData, setWaitingForData] = useState<boolean>(true);\n\n const caseID = thePConn.getValue(PCore.getConstants().CASE_INFO.CASE_INFO_ID, ''); // 2nd arg empty string until typedef marked correctly\n const dataViewName = 'D_pyWorkHistory';\n const context = thePConn.getContextName();\n\n function computeRowData(rows: object[]): void {\n const theRowData: object[] = [];\n\n rows.forEach((row: any, rowIndex: number) => {\n // Now, for each property in the index of row properties (displayedColumns), add an object\n // to a new array of values\n const rowDisplayValues: any = [];\n\n displayedColumns.forEach((column: any, rowValIndex) => {\n const theType = column.type;\n const theFieldName = column.fieldName;\n const theValue =\n theType === 'Date' || theType === 'DateTime' ? Utils.generateDateTime(row[theFieldName], 'DateTime-Short') : row[theFieldName];\n rowDisplayValues[rowValIndex] = theValue;\n });\n\n theRowData[rowIndex] = rowDisplayValues;\n });\n\n if (!isDeepEqual(theRowData, rowData.current)) {\n // Only update rowData.current when it actually changes (to prevent infinite loop)\n rowData.current = theRowData;\n }\n }\n\n // Get the case history data when component mounted/initialized\n useEffect(() => {\n let bCallSetWaitingForData = true;\n\n const historyData = PCore.getDataApiUtils().getData(\n dataViewName,\n { dataViewParameters: [{ CaseInstanceKey: caseID }] } as any,\n context\n ) as Promise<any>;\n\n historyData.then((historyJSON: any) => {\n const tableDataResults = historyJSON.data.data;\n\n // compute the rowData using the tableDataResults\n computeRowData(tableDataResults);\n\n // At this point, if we have data ready to render and haven't been asked\n // to NOT call setWaitingForData, we can stop progress indicator\n if (bCallSetWaitingForData) {\n setWaitingForData(false);\n }\n });\n\n return () => {\n // Inspired by https://juliangaramendy.dev/blog/use-promise-subscription\n // The useEffect closure lets us have access to the bCallSetWaitingForData\n // variable inside the useEffect and inside the \"then\" clause of the\n // historyData promise\n // So, if this cleanup code gets run before the promise .then is called,\n // we can avoid calling the useState setter which would otherwise show a warning\n bCallSetWaitingForData = false;\n };\n }, []);\n\n function getTableHeader() {\n const theRowKey = 'CaseHistory.TableHeader';\n\n const theHeaderCells: any[] = displayedColumns.map((headerCol, index) => {\n const theCellKey = `${theRowKey}.${index}`;\n return <StyledTableCell key={theCellKey}>{headerCol.label}</StyledTableCell>;\n });\n\n return <TableRow key={theRowKey}>{theHeaderCells}</TableRow>;\n }\n\n function getTableData() {\n const theDataRows: any[] = [];\n\n // Note: using rowData.current since we're using useRef as a mutatable\n // value that's only updated when it changes.\n if (rowData.current.length > 0) {\n rowData.current.forEach((dataRow: object[], index) => {\n // using dataRow[0]-dataRow[1] as the array key since it's a unique value\n const theKey = `CaseHistory-${index}`;\n theDataRows.push(\n <TableRow key={theKey}>\n <StyledTableCell>{dataRow[0] ? dataRow[0] : ('---' as any)}</StyledTableCell>\n <StyledTableCell>{dataRow[1] ? dataRow[1] : ('---' as any)}</StyledTableCell>\n <StyledTableCell>{dataRow[2] ? dataRow[2] : ('---' as any)}</StyledTableCell>\n </TableRow>\n );\n });\n }\n\n return theDataRows;\n }\n\n return (\n <div id='CaseHistory'>\n <TableContainer>\n <Table>\n <TableHead>{getTableHeader()}</TableHead>\n <TableBody>{getTableData()}</TableBody>\n </Table>\n </TableContainer>\n </div>\n );\n}\n"]}
@@ -11,17 +11,3 @@
11
11
  justify-content: center;
12
12
  display: flex;
13
13
  }
14
-
15
- .primary-button {
16
- background-color: #3f51b5 !important;
17
- color: white !important;
18
- padding: 6px 14px !important;
19
- text-transform: unset !important;
20
- font-size: 14px;
21
- }
22
-
23
- .secondary-button {
24
- box-shadow: 0px 5px 10px 0px rgb(0 0 0 / 20%);
25
- text-transform: unset !important;
26
- padding: 6px 14px !important;
27
- }
@@ -2,6 +2,6 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { Button } from '@mui/material';
3
3
  import './ActionButtonsForFileUtil.css';
4
4
  export default function ActionButtonsForFileUtil(props) {
5
- return (_jsxs("div", { className: 'psdk-actions', children: [_jsx("div", { className: 'psdk-action-buttons', children: props.arSecondaryButtons.map(file => (_jsx(Button, { className: 'secondary-button', onClick: props.secondaryAction, children: file.name }, file.actionID))) }), _jsx("div", { className: 'psdk-action-buttons', children: props.arMainButtons.map(file => (_jsx(Button, { className: 'primary-button', onClick: props.primaryAction, children: file.name }, file.actionID))) })] }));
5
+ return (_jsxs("div", { className: 'psdk-actions', children: [_jsx("div", { className: 'psdk-action-buttons', children: props.arSecondaryButtons.map(file => (_jsx(Button, { className: 'secondary-button', color: 'secondary', variant: 'contained', onClick: props.secondaryAction, children: file.name }, file.actionID))) }), _jsx("div", { className: 'psdk-action-buttons', children: props.arMainButtons.map(file => (_jsx(Button, { className: 'primary-button', color: 'primary', variant: 'contained', onClick: props.primaryAction, children: file.name }, file.actionID))) })] }));
6
6
  }
7
7
  //# sourceMappingURL=ActionButtonsForFileUtil.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ActionButtonsForFileUtil.js","sourceRoot":"","sources":["../../../../../src/components/widget/FileUtility/ActionButtonsForFileUtil/ActionButtonsForFileUtil.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAEvC,OAAO,gCAAgC,CAAC;AAUxC,MAAM,CAAC,OAAO,UAAU,wBAAwB,CAAC,KAAoC;IACnF,OAAO,CACL,eAAK,SAAS,EAAC,cAAc,aAC3B,cAAK,SAAS,EAAC,qBAAqB,YACjC,KAAK,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CACpC,KAAC,MAAM,IAAC,SAAS,EAAC,kBAAkB,EAAqB,OAAO,EAAE,KAAK,CAAC,eAAe,YACpF,IAAI,CAAC,IAAI,IAD8B,IAAI,CAAC,QAAQ,CAE9C,CACV,CAAC,GACE,EACN,cAAK,SAAS,EAAC,qBAAqB,YACjC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAC/B,KAAC,MAAM,IAAC,SAAS,EAAC,gBAAgB,EAAqB,OAAO,EAAE,KAAK,CAAC,aAAa,YAChF,IAAI,CAAC,IAAI,IAD4B,IAAI,CAAC,QAAQ,CAE5C,CACV,CAAC,GACE,IACF,CACP,CAAC;AACJ,CAAC","sourcesContent":["import { Button } from '@mui/material';\nimport type { PConnProps } from '../../../../types/PConnProps';\nimport './ActionButtonsForFileUtil.css';\n\ninterface ActionButtonsForFileUtilProps extends PConnProps {\n // If any, enter additional props that only exist on this component\n arMainButtons: any[];\n arSecondaryButtons: any[];\n primaryAction: any;\n secondaryAction: any;\n}\n\nexport default function ActionButtonsForFileUtil(props: ActionButtonsForFileUtilProps) {\n return (\n <div className='psdk-actions'>\n <div className='psdk-action-buttons'>\n {props.arSecondaryButtons.map(file => (\n <Button className='secondary-button' key={file.actionID} onClick={props.secondaryAction}>\n {file.name}\n </Button>\n ))}\n </div>\n <div className='psdk-action-buttons'>\n {props.arMainButtons.map(file => (\n <Button className='primary-button' key={file.actionID} onClick={props.primaryAction}>\n {file.name}\n </Button>\n ))}\n </div>\n </div>\n );\n}\n"]}
1
+ {"version":3,"file":"ActionButtonsForFileUtil.js","sourceRoot":"","sources":["../../../../../src/components/widget/FileUtility/ActionButtonsForFileUtil/ActionButtonsForFileUtil.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAEvC,OAAO,gCAAgC,CAAC;AAUxC,MAAM,CAAC,OAAO,UAAU,wBAAwB,CAAC,KAAoC;IACnF,OAAO,CACL,eAAK,SAAS,EAAC,cAAc,aAC3B,cAAK,SAAS,EAAC,qBAAqB,YACjC,KAAK,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CACpC,KAAC,MAAM,IAAC,SAAS,EAAC,kBAAkB,EAAC,KAAK,EAAC,WAAW,EAAC,OAAO,EAAC,WAAW,EAAqB,OAAO,EAAE,KAAK,CAAC,eAAe,YAC1H,IAAI,CAAC,IAAI,IADoE,IAAI,CAAC,QAAQ,CAEpF,CACV,CAAC,GACE,EACN,cAAK,SAAS,EAAC,qBAAqB,YACjC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAC/B,KAAC,MAAM,IAAC,SAAS,EAAC,gBAAgB,EAAC,KAAK,EAAC,SAAS,EAAC,OAAO,EAAC,WAAW,EAAqB,OAAO,EAAE,KAAK,CAAC,aAAa,YACpH,IAAI,CAAC,IAAI,IADgE,IAAI,CAAC,QAAQ,CAEhF,CACV,CAAC,GACE,IACF,CACP,CAAC;AACJ,CAAC","sourcesContent":["import { Button } from '@mui/material';\nimport type { PConnProps } from '../../../../types/PConnProps';\nimport './ActionButtonsForFileUtil.css';\n\ninterface ActionButtonsForFileUtilProps extends PConnProps {\n // If any, enter additional props that only exist on this component\n arMainButtons: any[];\n arSecondaryButtons: any[];\n primaryAction: any;\n secondaryAction: any;\n}\n\nexport default function ActionButtonsForFileUtil(props: ActionButtonsForFileUtilProps) {\n return (\n <div className='psdk-actions'>\n <div className='psdk-action-buttons'>\n {props.arSecondaryButtons.map(file => (\n <Button className='secondary-button' color='secondary' variant='contained' key={file.actionID} onClick={props.secondaryAction}>\n {file.name}\n </Button>\n ))}\n </div>\n <div className='psdk-action-buttons'>\n {props.arMainButtons.map(file => (\n <Button className='primary-button' color='primary' variant='contained' key={file.actionID} onClick={props.primaryAction}>\n {file.name}\n </Button>\n ))}\n </div>\n </div>\n );\n}\n"]}