@pega/react-sdk-components 24.1.10 → 24.2.10

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 (226) hide show
  1. package/lib/bridge/react_pconnect.d.ts.map +1 -1
  2. package/lib/bridge/react_pconnect.js +2 -1
  3. package/lib/bridge/react_pconnect.js.map +1 -1
  4. package/lib/components/designSystemExtension/AlertBanner/AlertBanner.js +1 -1
  5. package/lib/components/designSystemExtension/AlertBanner/AlertBanner.js.map +1 -1
  6. package/lib/components/designSystemExtension/Banner/Banner.js +1 -1
  7. package/lib/components/designSystemExtension/Banner/Banner.js.map +1 -1
  8. package/lib/components/designSystemExtension/CaseSummaryFields/CaseSummaryFields.css +0 -1
  9. package/lib/components/designSystemExtension/CaseSummaryFields/CaseSummaryFields.d.ts.map +1 -1
  10. package/lib/components/designSystemExtension/CaseSummaryFields/CaseSummaryFields.js +11 -11
  11. package/lib/components/designSystemExtension/CaseSummaryFields/CaseSummaryFields.js.map +1 -1
  12. package/lib/components/designSystemExtension/DetailsFields/DetailsFields.js +4 -4
  13. package/lib/components/designSystemExtension/DetailsFields/DetailsFields.js.map +1 -1
  14. package/lib/components/designSystemExtension/FieldGroup/FieldGroup.js +4 -4
  15. package/lib/components/designSystemExtension/FieldGroup/FieldGroup.js.map +1 -1
  16. package/lib/components/designSystemExtension/FieldGroupList/FieldGroupList.js +4 -4
  17. package/lib/components/designSystemExtension/FieldGroupList/FieldGroupList.js.map +1 -1
  18. package/lib/components/designSystemExtension/FieldValueList/FieldValueList.js +5 -5
  19. package/lib/components/designSystemExtension/FieldValueList/FieldValueList.js.map +1 -1
  20. package/lib/components/designSystemExtension/Operator/Operator.d.ts.map +1 -1
  21. package/lib/components/designSystemExtension/Operator/Operator.js +6 -6
  22. package/lib/components/designSystemExtension/Operator/Operator.js.map +1 -1
  23. package/lib/components/designSystemExtension/Pulse/Pulse.js +2 -2
  24. package/lib/components/designSystemExtension/Pulse/Pulse.js.map +1 -1
  25. package/lib/components/designSystemExtension/RichTextEditor/RichTextEditor.d.ts.map +1 -1
  26. package/lib/components/designSystemExtension/RichTextEditor/RichTextEditor.js +3 -2
  27. package/lib/components/designSystemExtension/RichTextEditor/RichTextEditor.js.map +1 -1
  28. package/lib/components/designSystemExtension/WssQuickCreate/WssQuickCreate.js +1 -1
  29. package/lib/components/designSystemExtension/WssQuickCreate/WssQuickCreate.js.map +1 -1
  30. package/lib/components/field/AutoComplete/AutoComplete.js +4 -4
  31. package/lib/components/field/AutoComplete/AutoComplete.js.map +1 -1
  32. package/lib/components/field/CancelAlert/CancelAlert.js +2 -2
  33. package/lib/components/field/CancelAlert/CancelAlert.js.map +1 -1
  34. package/lib/components/field/Checkbox/Checkbox.d.ts.map +1 -1
  35. package/lib/components/field/Checkbox/Checkbox.js +4 -4
  36. package/lib/components/field/Checkbox/Checkbox.js.map +1 -1
  37. package/lib/components/field/Currency/Currency.js +2 -2
  38. package/lib/components/field/Currency/Currency.js.map +1 -1
  39. package/lib/components/field/Date/Date.d.ts.map +1 -1
  40. package/lib/components/field/Date/Date.js +18 -9
  41. package/lib/components/field/Date/Date.js.map +1 -1
  42. package/lib/components/field/DateTime/DateTime.d.ts.map +1 -1
  43. package/lib/components/field/DateTime/DateTime.js +30 -8
  44. package/lib/components/field/DateTime/DateTime.js.map +1 -1
  45. package/lib/components/field/Decimal/Decimal.js +2 -2
  46. package/lib/components/field/Decimal/Decimal.js.map +1 -1
  47. package/lib/components/field/Dropdown/Dropdown.js +3 -3
  48. package/lib/components/field/Dropdown/Dropdown.js.map +1 -1
  49. package/lib/components/field/Email/Email.d.ts.map +1 -1
  50. package/lib/components/field/Email/Email.js +21 -5
  51. package/lib/components/field/Email/Email.js.map +1 -1
  52. package/lib/components/field/Group/Group.js +2 -2
  53. package/lib/components/field/Group/Group.js.map +1 -1
  54. package/lib/components/field/Integer/Integer.d.ts.map +1 -1
  55. package/lib/components/field/Integer/Integer.js +17 -6
  56. package/lib/components/field/Integer/Integer.js.map +1 -1
  57. package/lib/components/field/Multiselect/Multiselect.d.ts.map +1 -1
  58. package/lib/components/field/Multiselect/Multiselect.js +12 -8
  59. package/lib/components/field/Multiselect/Multiselect.js.map +1 -1
  60. package/lib/components/field/Percentage/Percentage.js +3 -3
  61. package/lib/components/field/Percentage/Percentage.js.map +1 -1
  62. package/lib/components/field/Phone/Phone.d.ts.map +1 -1
  63. package/lib/components/field/Phone/Phone.js +4 -4
  64. package/lib/components/field/Phone/Phone.js.map +1 -1
  65. package/lib/components/field/RadioButtons/RadioButtons.js +3 -3
  66. package/lib/components/field/RadioButtons/RadioButtons.js.map +1 -1
  67. package/lib/components/field/RichText/RichText.js +1 -1
  68. package/lib/components/field/RichText/RichText.js.map +1 -1
  69. package/lib/components/field/ScalarList/ScalarList.js +2 -2
  70. package/lib/components/field/ScalarList/ScalarList.js.map +1 -1
  71. package/lib/components/field/SemanticLink/SemanticLink.js +4 -4
  72. package/lib/components/field/SemanticLink/SemanticLink.js.map +1 -1
  73. package/lib/components/field/TextArea/TextArea.d.ts.map +1 -1
  74. package/lib/components/field/TextArea/TextArea.js +20 -4
  75. package/lib/components/field/TextArea/TextArea.js.map +1 -1
  76. package/lib/components/field/TextContent/TextContent.js +1 -1
  77. package/lib/components/field/TextContent/TextContent.js.map +1 -1
  78. package/lib/components/field/TextInput/TextInput.js +2 -2
  79. package/lib/components/field/TextInput/TextInput.js.map +1 -1
  80. package/lib/components/field/Time/Time.d.ts.map +1 -1
  81. package/lib/components/field/Time/Time.js +30 -7
  82. package/lib/components/field/Time/Time.js.map +1 -1
  83. package/lib/components/field/URL/URL.d.ts.map +1 -1
  84. package/lib/components/field/URL/URL.js +19 -4
  85. package/lib/components/field/URL/URL.js.map +1 -1
  86. package/lib/components/field/UserReference/UserReference.js +2 -2
  87. package/lib/components/field/UserReference/UserReference.js.map +1 -1
  88. package/lib/components/helpers/field-group-utils.js +2 -2
  89. package/lib/components/helpers/field-group-utils.js.map +1 -1
  90. package/lib/components/helpers/simpleTableHelpers.js +1 -1
  91. package/lib/components/helpers/simpleTableHelpers.js.map +1 -1
  92. package/lib/components/infra/ActionButtons/ActionButtons.js +3 -3
  93. package/lib/components/infra/ActionButtons/ActionButtons.js.map +1 -1
  94. package/lib/components/infra/Assignment/Assignment.d.ts.map +1 -1
  95. package/lib/components/infra/Assignment/Assignment.js +8 -5
  96. package/lib/components/infra/Assignment/Assignment.js.map +1 -1
  97. package/lib/components/infra/Containers/FlowContainer/FlowContainer.d.ts.map +1 -1
  98. package/lib/components/infra/Containers/FlowContainer/FlowContainer.js +8 -7
  99. package/lib/components/infra/Containers/FlowContainer/FlowContainer.js.map +1 -1
  100. package/lib/components/infra/Containers/ModalViewContainer/ListViewActionButtons/ListViewActionButtons.d.ts.map +1 -1
  101. package/lib/components/infra/Containers/ModalViewContainer/ListViewActionButtons/ListViewActionButtons.js +7 -4
  102. package/lib/components/infra/Containers/ModalViewContainer/ListViewActionButtons/ListViewActionButtons.js.map +1 -1
  103. package/lib/components/infra/Containers/ModalViewContainer/ModalViewContainer.js +7 -7
  104. package/lib/components/infra/Containers/ModalViewContainer/ModalViewContainer.js.map +1 -1
  105. package/lib/components/infra/Containers/ViewContainer/ViewContainer.js +1 -1
  106. package/lib/components/infra/Containers/ViewContainer/ViewContainer.js.map +1 -1
  107. package/lib/components/infra/DashboardFilter/DashboardFilter.js +1 -1
  108. package/lib/components/infra/DashboardFilter/DashboardFilter.js.map +1 -1
  109. package/lib/components/infra/DashboardFilter/filterUtils.d.ts.map +1 -1
  110. package/lib/components/infra/DashboardFilter/filterUtils.js +2 -2
  111. package/lib/components/infra/DashboardFilter/filterUtils.js.map +1 -1
  112. package/lib/components/infra/DeferLoad/DeferLoad.js +3 -3
  113. package/lib/components/infra/DeferLoad/DeferLoad.js.map +1 -1
  114. package/lib/components/infra/MultiStep/MultiStep.d.ts +1 -1
  115. package/lib/components/infra/MultiStep/MultiStep.d.ts.map +1 -1
  116. package/lib/components/infra/MultiStep/MultiStep.js +11 -6
  117. package/lib/components/infra/MultiStep/MultiStep.js.map +1 -1
  118. package/lib/components/infra/NavBar/NavBar.css +1 -0
  119. package/lib/components/infra/NavBar/NavBar.d.ts.map +1 -1
  120. package/lib/components/infra/NavBar/NavBar.js +24 -16
  121. package/lib/components/infra/NavBar/NavBar.js.map +1 -1
  122. package/lib/components/infra/RootContainer/RootContainer.d.ts.map +1 -1
  123. package/lib/components/infra/RootContainer/RootContainer.js +5 -6
  124. package/lib/components/infra/RootContainer/RootContainer.js.map +1 -1
  125. package/lib/components/infra/Stages/Stages.js +4 -4
  126. package/lib/components/infra/Stages/Stages.js.map +1 -1
  127. package/lib/components/infra/VerticalTabs/LeftAlignVerticalTabs/LeftAlignVerticalTabs.d.ts.map +1 -1
  128. package/lib/components/infra/VerticalTabs/LeftAlignVerticalTabs/LeftAlignVerticalTabs.js +4 -3
  129. package/lib/components/infra/VerticalTabs/LeftAlignVerticalTabs/LeftAlignVerticalTabs.js.map +1 -1
  130. package/lib/components/infra/VerticalTabs/VerticalTabs/VerticalTabs.js +2 -2
  131. package/lib/components/infra/VerticalTabs/VerticalTabs/VerticalTabs.js.map +1 -1
  132. package/lib/components/infra/View/View.d.ts +1 -0
  133. package/lib/components/infra/View/View.d.ts.map +1 -1
  134. package/lib/components/infra/View/View.js +32 -2
  135. package/lib/components/infra/View/View.js.map +1 -1
  136. package/lib/components/template/AppShell/AppShell.d.ts +2 -0
  137. package/lib/components/template/AppShell/AppShell.d.ts.map +1 -1
  138. package/lib/components/template/AppShell/AppShell.js +29 -6
  139. package/lib/components/template/AppShell/AppShell.js.map +1 -1
  140. package/lib/components/template/CaseView/CaseView.js +5 -5
  141. package/lib/components/template/CaseView/CaseView.js.map +1 -1
  142. package/lib/components/template/CaseViewActionsMenu/CaseViewActionsMenu.js +6 -6
  143. package/lib/components/template/CaseViewActionsMenu/CaseViewActionsMenu.js.map +1 -1
  144. package/lib/components/template/Confirmation/Confirmation.d.ts.map +1 -1
  145. package/lib/components/template/Confirmation/Confirmation.js +2 -1
  146. package/lib/components/template/Confirmation/Confirmation.js.map +1 -1
  147. package/lib/components/template/DataReference/DataReference.js +2 -2
  148. package/lib/components/template/DataReference/DataReference.js.map +1 -1
  149. package/lib/components/template/Details/Details/Details.js +2 -2
  150. package/lib/components/template/Details/Details/Details.js.map +1 -1
  151. package/lib/components/template/Details/DetailsSubTabs/DetailsSubTabs.js +3 -3
  152. package/lib/components/template/Details/DetailsSubTabs/DetailsSubTabs.js.map +1 -1
  153. package/lib/components/template/Details/DetailsThreeColumn/DetailsThreeColumn.js +2 -2
  154. package/lib/components/template/Details/DetailsThreeColumn/DetailsThreeColumn.js.map +1 -1
  155. package/lib/components/template/Details/DetailsTwoColumn/DetailsTwoColumn.js +2 -2
  156. package/lib/components/template/Details/DetailsTwoColumn/DetailsTwoColumn.js.map +1 -1
  157. package/lib/components/template/Details/DynamicTabs/DynamicTabs.d.ts.map +1 -1
  158. package/lib/components/template/Details/DynamicTabs/DynamicTabs.js +4 -3
  159. package/lib/components/template/Details/DynamicTabs/DynamicTabs.js.map +1 -1
  160. package/lib/components/template/FieldGroupTemplate/FieldGroupTemplate.d.ts.map +1 -1
  161. package/lib/components/template/FieldGroupTemplate/FieldGroupTemplate.js +9 -3
  162. package/lib/components/template/FieldGroupTemplate/FieldGroupTemplate.js.map +1 -1
  163. package/lib/components/template/InlineDashboard/InlineDashboard.js +2 -2
  164. package/lib/components/template/InlineDashboard/InlineDashboard.js.map +1 -1
  165. package/lib/components/template/ListView/ListView.d.ts.map +1 -1
  166. package/lib/components/template/ListView/ListView.js +44 -42
  167. package/lib/components/template/ListView/ListView.js.map +1 -1
  168. package/lib/components/template/ListView/utils.js +1 -1
  169. package/lib/components/template/ListView/utils.js.map +1 -1
  170. package/lib/components/template/NarrowWide/NarrowWideDetails/NarrowWideDetails.js +2 -2
  171. package/lib/components/template/NarrowWide/NarrowWideDetails/NarrowWideDetails.js.map +1 -1
  172. package/lib/components/template/OneColumn/OneColumn/OneColumn.js +2 -2
  173. package/lib/components/template/OneColumn/OneColumn/OneColumn.js.map +1 -1
  174. package/lib/components/template/PromotedFilters/PromotedFilters.js +1 -1
  175. package/lib/components/template/PromotedFilters/PromotedFilters.js.map +1 -1
  176. package/lib/components/template/SimpleTable/SimpleTableManual/SimpleTableManual.d.ts.map +1 -1
  177. package/lib/components/template/SimpleTable/SimpleTableManual/SimpleTableManual.js +32 -24
  178. package/lib/components/template/SimpleTable/SimpleTableManual/SimpleTableManual.js.map +1 -1
  179. package/lib/components/template/SubTabs/SubTabs.js +2 -2
  180. package/lib/components/template/SubTabs/SubTabs.js.map +1 -1
  181. package/lib/components/template/TwoColumn/TwoColumn/TwoColumn.js +2 -2
  182. package/lib/components/template/TwoColumn/TwoColumn/TwoColumn.js.map +1 -1
  183. package/lib/components/template/TwoColumn/TwoColumnTab/TwoColumnTab.js +2 -2
  184. package/lib/components/template/TwoColumn/TwoColumnTab/TwoColumnTab.js.map +1 -1
  185. package/lib/components/template/WideNarrow/WideNarrowDetails/WideNarrowDetails.js +2 -2
  186. package/lib/components/template/WideNarrow/WideNarrowDetails/WideNarrowDetails.js.map +1 -1
  187. package/lib/components/template/WssNavBar/WssNavBar.js +9 -9
  188. package/lib/components/template/WssNavBar/WssNavBar.js.map +1 -1
  189. package/lib/components/widget/AppAnnouncement/AppAnnouncement.js +2 -2
  190. package/lib/components/widget/AppAnnouncement/AppAnnouncement.js.map +1 -1
  191. package/lib/components/widget/Attachment/Attachment.d.ts.map +1 -1
  192. package/lib/components/widget/Attachment/Attachment.js +5 -3
  193. package/lib/components/widget/Attachment/Attachment.js.map +1 -1
  194. package/lib/components/widget/CaseHistory/CaseHistory.d.ts.map +1 -1
  195. package/lib/components/widget/CaseHistory/CaseHistory.js +8 -7
  196. package/lib/components/widget/CaseHistory/CaseHistory.js.map +1 -1
  197. package/lib/components/widget/FileUtility/ActionButtonsForFileUtil/ActionButtonsForFileUtil.js +1 -1
  198. package/lib/components/widget/FileUtility/ActionButtonsForFileUtil/ActionButtonsForFileUtil.js.map +1 -1
  199. package/lib/components/widget/FileUtility/FileUtility/FileUtility.d.ts.map +1 -1
  200. package/lib/components/widget/FileUtility/FileUtility/FileUtility.js +4 -4
  201. package/lib/components/widget/FileUtility/FileUtility/FileUtility.js.map +1 -1
  202. package/lib/components/widget/Followers/Followers.js +2 -2
  203. package/lib/components/widget/Followers/Followers.js.map +1 -1
  204. package/lib/components/widget/SummaryItem/SummaryItem.d.ts.map +1 -1
  205. package/lib/components/widget/SummaryItem/SummaryItem.js +3 -3
  206. package/lib/components/widget/SummaryItem/SummaryItem.js.map +1 -1
  207. package/lib/components/widget/ToDo/ToDo.d.ts.map +1 -1
  208. package/lib/components/widget/ToDo/ToDo.js +59 -16
  209. package/lib/components/widget/ToDo/ToDo.js.map +1 -1
  210. package/lib/hooks/index.d.ts +2 -0
  211. package/lib/hooks/index.d.ts.map +1 -1
  212. package/lib/hooks/index.js +2 -0
  213. package/lib/hooks/index.js.map +1 -1
  214. package/lib/hooks/useFocusFirstField.d.ts +7 -0
  215. package/lib/hooks/useFocusFirstField.d.ts.map +1 -0
  216. package/lib/hooks/useFocusFirstField.js +20 -0
  217. package/lib/hooks/useFocusFirstField.js.map +1 -0
  218. package/lib/hooks/useScrolltoTop.d.ts +7 -0
  219. package/lib/hooks/useScrolltoTop.d.ts.map +1 -0
  220. package/lib/hooks/useScrolltoTop.js +13 -0
  221. package/lib/hooks/useScrolltoTop.js.map +1 -0
  222. package/lib/theme.d.ts +11 -0
  223. package/lib/theme.d.ts.map +1 -0
  224. package/lib/theme.js +31 -0
  225. package/lib/theme.js.map +1 -0
  226. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Attachment.js","sourceRoot":"","sources":["../../../../src/components/widget/Attachment/Attachment.tsx"],"names":[],"mappings":"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","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 '@material-ui/core';\nimport MoreVertIcon from '@material-ui/icons/MoreVert';\nimport download from 'downloadjs';\n\nimport { buildFilePropsFromResponse, getIconFromFileType, validateMaxSize } from '../../helpers/attachmentHelpers';\nimport { Utils } from '../../helpers/utils';\nimport { 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 } = 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 // @ts-ignore\n messages: [\n {\n type: 'error',\n // @ts-ignore - Type '{ type: string; message: string; }' is not assignable to type 'MessagesConfigObject'.\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 // @ts-ignore\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.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.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 // @ts-ignore\n messages: [\n {\n type: 'error',\n // @ts-ignore - Type '{ type: string; message: string; }' is not assignable to type 'MessagesConfigObject'.\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 >\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> : ''}\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":"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","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 { 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 } = 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 // @ts-ignore\n messages: [\n {\n type: 'error',\n // @ts-ignore - Type '{ type: string; message: string; }' is not assignable to type 'MessagesConfigObject'.\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 // @ts-ignore\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 // @ts-ignore\n messages: [\n {\n type: 'error',\n // @ts-ignore - Type '{ type: string; message: string; }' is not assignable to type 'MessagesConfigObject'.\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> : ''}\n {files && files.length > 0 && <section>{fileDisplay}</section>}\n </div>\n );\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"CaseHistory.d.ts","sourceRoot":"","sources":["../../../../src/components/widget/CaseHistory/CaseHistory.tsx"],"names":[],"mappings":"AAWA,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAEvD,UAAU,gBAAiB,SAAQ,UAAU;CAE5C;AAoBD,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,KAAK,EAAE,gBAAgB,2CAqI1D"}
1
+ {"version":3,"file":"CaseHistory.d.ts","sourceRoot":"","sources":["../../../../src/components/widget/CaseHistory/CaseHistory.tsx"],"names":[],"mappings":"AAaA,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAEvD,UAAU,gBAAiB,SAAQ,UAAU;CAE5C;AAoBD,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,KAAK,EAAE,gBAAgB,2CAqI1D"}
@@ -1,12 +1,13 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useEffect, useRef, useState } from 'react';
3
- import { withStyles, createStyles } from '@material-ui/core/styles';
4
- import Table from '@material-ui/core/Table';
5
- import TableBody from '@material-ui/core/TableBody';
6
- import TableCell from '@material-ui/core/TableCell';
7
- import TableContainer from '@material-ui/core/TableContainer';
8
- import TableHead from '@material-ui/core/TableHead';
9
- import TableRow from '@material-ui/core/TableRow';
3
+ import withStyles from '@mui/styles/withStyles';
4
+ import createStyles from '@mui/styles/createStyles';
5
+ import Table from '@mui/material/Table';
6
+ import TableBody from '@mui/material/TableBody';
7
+ import TableCell from '@mui/material/TableCell';
8
+ import TableContainer from '@mui/material/TableContainer';
9
+ import TableHead from '@mui/material/TableHead';
10
+ import TableRow from '@mui/material/TableRow';
10
11
  import isDeepEqual from 'fast-deep-equal/react';
11
12
  import { Utils } from '../../helpers/utils';
12
13
  const StyledTableCell = withStyles((theme) => createStyles({
@@ -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 { withStyles, Theme, createStyles } from '@material-ui/core/styles';\nimport Table from '@material-ui/core/Table';\nimport TableBody from '@material-ui/core/TableBody';\nimport TableCell from '@material-ui/core/TableCell';\nimport TableContainer from '@material-ui/core/TableContainer';\nimport TableHead from '@material-ui/core/TableHead';\nimport TableRow from '@material-ui/core/TableRow';\nimport isDeepEqual from 'fast-deep-equal/react';\n\nimport { Utils } from '../../helpers/utils';\nimport { 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] : '---'}</StyledTableCell>\n <StyledTableCell>{dataRow[1] ? dataRow[1] : '---'}</StyledTableCell>\n <StyledTableCell>{dataRow[2] ? dataRow[2] : '---'}</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;QACD;YACE,KAAK,EAAE,QAAQ,CAAC,iBAAiB,CAAC,aAAa,EAAE,EAAE,EAAE,EAAE,CAAC;YACxD,IAAI,EAAE,WAAW;YACjB,SAAS,EAAE,cAAc;SAC1B;QACD;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;YAC7C,kFAAkF;YAClF,OAAO,CAAC,OAAO,GAAG,UAAU,CAAC;SAC9B;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;gBAC1B,iBAAiB,CAAC,KAAK,CAAC,CAAC;aAC1B;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;YAC9B,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;SACJ;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 { 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 { 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,5 +1,5 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { Button } from '@material-ui/core';
2
+ import { Button } from '@mui/material';
3
3
  import './ActionButtonsForFileUtil.css';
4
4
  export default function ActionButtonsForFileUtil(props) {
5
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))) })] }));
@@ -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,mBAAmB,CAAC;AAE3C,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 '@material-ui/core';\nimport { 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,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 { 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 +1 @@
1
- {"version":3,"file":"FileUtility.d.ts","sourceRoot":"","sources":["../../../../../src/components/widget/FileUtility/FileUtility/FileUtility.tsx"],"names":[],"mappings":"AAQA,OAAO,mBAAmB,CAAC;AAM3B,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAE1D,UAAU,gBAAiB,SAAQ,UAAU;CAE5C;AAED,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,KAAK,EAAE,gBAAgB,2CAgnB1D"}
1
+ {"version":3,"file":"FileUtility.d.ts","sourceRoot":"","sources":["../../../../../src/components/widget/FileUtility/FileUtility/FileUtility.tsx"],"names":[],"mappings":"AAQA,OAAO,mBAAmB,CAAC;AAM3B,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAE1D,UAAU,gBAAiB,SAAQ,UAAU;CAE5C;AAED,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,KAAK,EAAE,gBAAgB,2CAinB1D"}
@@ -1,13 +1,13 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useEffect, useState } from 'react';
3
- import TextField from '@material-ui/core/TextField';
3
+ import TextField from '@mui/material/TextField';
4
4
  import { Utils } from '../../../helpers/utils';
5
5
  import download from 'downloadjs';
6
6
  // import SummaryList from '../../SummaryList';
7
7
  // import ActionButtonsForFileUtil from '../ActionButtonsForFileUtil';
8
8
  import './FileUtility.css';
9
- import { IconButton, Menu, MenuItem, Button, CircularProgress } from '@material-ui/core';
10
- import MoreVertIcon from '@material-ui/icons/MoreVert';
9
+ import { IconButton, Menu, MenuItem, Button, CircularProgress } from '@mui/material';
10
+ import MoreVertIcon from '@mui/icons-material/MoreVert';
11
11
  import { validateMaxSize } from '../../../helpers/attachmentHelpers';
12
12
  import { getComponentFromMap } from '../../../../bridge/helpers/sdk_component_map';
13
13
  export default function FileUtility(props) {
@@ -432,6 +432,6 @@ export default function FileUtility(props) {
432
432
  .catch(() => setProgress(false));
433
433
  }
434
434
  }
435
- return (_jsxs("div", { className: 'psdk-utility', id: 'file-utility', children: [inProgress && (_jsx("div", { className: 'progress-div', children: _jsx(CircularProgress, {}) })), _jsxs("div", { className: 'psdk-header', children: [_jsx("img", { className: 'psdk-file-utility-card-svg-icon', src: headerSvgIcon$ }), _jsx("div", { className: 'header-text', children: header }), _jsx("div", { className: 'psdk-utility-count', id: 'attachments-count', children: list.count }), _jsx("div", { style: { flexGrow: 1 } }), _jsxs("div", { children: [_jsx(IconButton, { id: 'long-button', "aria-controls": open ? 'simple-menu' : undefined, "aria-expanded": open ? 'true' : undefined, "aria-haspopup": 'true', onClick: handleClick, children: _jsx(MoreVertIcon, {}) }), _jsxs(Menu, { style: { marginTop: '3rem' }, id: 'simple-menu', anchorEl: anchorEl, keepMounted: true, open: Boolean(anchorEl), onClose: handleClose, children: [_jsx(MenuItem, { style: { fontSize: '14px' }, onClick: onAddFilesClick, children: thePConn.getLocalizedValue('Add files', '', '') }), ' ', _jsx(MenuItem, { style: { fontSize: '14px' }, onClick: onAddLinksClick, children: thePConn.getLocalizedValue('Add links', '', '') }), ' '] })] })] }), list.data.length > 0 && (_jsx("div", { style: { marginTop: '1rem' }, children: _jsx(SummaryList, { "arItems$": list.data }) })), list.count > 3 && (_jsx("div", { className: 'psdk-utility-view-all', children: _jsx(Button, { style: { textTransform: 'none' }, color: 'primary', onClick: () => setViewAll(true), children: "View all" }) })), fileData.showfileModal && (_jsx("div", { className: 'psdk-dialog-background', children: _jsxs("div", { className: 'psdk-modal-file-top', children: [_jsx("h3", { children: thePConn.getLocalizedValue('Add local files', '', '') }), _jsxs("div", { className: 'psdk-modal-body', children: [_jsx("div", { className: 'psdk-modal-file-selector', children: _jsxs("label", { htmlFor: 'upload-files', children: [_jsx("input", { style: { display: 'none' }, id: 'upload-files', name: 'upload-files', type: 'file', multiple: true, onChange: uploadMyFiles }), _jsx(Button, { variant: 'outlined', color: 'primary', component: 'span', children: thePConn.getLocalizedValue('Attach files', '', '') }), ' '] }) }), fileData.fileList.length > 0 && (_jsx("div", { style: { marginTop: '1rem' }, children: _jsx(SummaryList, { "menuIconOverride$": 'trash', "arItems$": fileData.fileList, "menuIconOverrideAction$": removeFileFromList }) })), fileData.fileList.length === 0 && _jsx("div", {}), _jsx(ActionButtonsForFileUtil, { arMainButtons: fileData.fileMainButtons, arSecondaryButtons: fileData.fileSecondaryButtons, primaryAction: onAttachFiles, secondaryAction: closeFilePopup })] })] }) })), linkData.showLinkModal && (_jsx("div", { className: 'psdk-dialog-background', children: _jsxs("div", { className: 'psdk-modal-file-top', children: [_jsx("h3", { children: thePConn.getLocalizedValue('Add links', '', '') }), " ", _jsxs("div", { className: 'psdk-modal-body', children: [_jsxs("div", { className: 'psdk-modal-links-row', children: [_jsxs("div", { className: 'psdk-links-two-column', children: [_jsx("div", { className: 'psdk-modal-link-data', children: _jsx(TextField, { fullWidth: true, variant: 'outlined', label: 'Link title', size: 'small', required: required, value: link.title, onChange: fieldlinkOnChange }) }), _jsx("div", { className: 'psdk-modal-link-data', children: _jsx(TextField, { fullWidth: true, variant: 'outlined', label: 'URL', size: 'small', required: required, value: link.url, onChange: fieldurlOnChange }) })] }), _jsxs("div", { className: 'psdk-modal-link-add', children: [_jsx(Button, { className: 'psdk-add-link-action', color: 'primary', variant: 'contained', component: 'span', onClick: addLink, disabled: link.disable, children: thePConn.getLocalizedValue('Add link', '', '') }), ' '] })] }), linkData.linksList.length > 0 && (_jsx("div", { style: { marginTop: '1rem' }, children: _jsx(SummaryList, { "menuIconOverride$": 'trash', "arItems$": linkData.linksList, "menuIconOverrideAction$": removeLinksFromList }) })), _jsx(ActionButtonsForFileUtil, { arMainButtons: linkData.linkMainButtons, arSecondaryButtons: linkData.linkSecondaryButtons, primaryAction: onAttachLinks, secondaryAction: closeAddLinksPopup })] })] }) })), showViewAllModal && (_jsx("div", { className: 'psdk-dialog-background', children: _jsxs("div", { className: 'psdk-modal-file-top', children: [_jsxs("div", { className: 'psdk-view-all-header', children: [_jsx("h3", { children: thePConn.getLocalizedValue('Attachments', '', '') }), " ", _jsx("button", { type: 'button', className: 'psdk-close-button', onClick: () => setViewAll(false), children: _jsx("img", { className: 'psdk-utility-card-actions-svg-icon', src: closeSvgIcon }) })] }), _jsx("div", { className: 'psdk-view-all-body', children: _jsx(SummaryList, { "arItems$": vaItems }) })] }) }))] }));
435
+ return (_jsxs("div", { className: 'psdk-utility', id: 'file-utility', children: [inProgress && (_jsx("div", { className: 'progress-div', children: _jsx(CircularProgress, {}) })), _jsxs("div", { className: 'psdk-header', children: [_jsx("img", { className: 'psdk-file-utility-card-svg-icon', src: headerSvgIcon$ }), _jsx("div", { className: 'header-text', children: header }), _jsx("div", { className: 'psdk-utility-count', id: 'attachments-count', children: list.count }), _jsx("div", { style: { flexGrow: 1 } }), _jsxs("div", { children: [_jsx(IconButton, { id: 'long-button', "aria-controls": open ? 'simple-menu' : undefined, "aria-expanded": open ? 'true' : undefined, "aria-haspopup": 'true', onClick: handleClick, size: 'large', children: _jsx(MoreVertIcon, {}) }), _jsxs(Menu, { style: { marginTop: '3rem' }, id: 'simple-menu', anchorEl: anchorEl, keepMounted: true, open: Boolean(anchorEl), onClose: handleClose, children: [_jsx(MenuItem, { style: { fontSize: '14px' }, onClick: onAddFilesClick, children: thePConn.getLocalizedValue('Add files', '', '') }), ' ', _jsx(MenuItem, { style: { fontSize: '14px' }, onClick: onAddLinksClick, children: thePConn.getLocalizedValue('Add links', '', '') }), ' '] })] })] }), list.data.length > 0 && (_jsx("div", { style: { marginTop: '1rem' }, children: _jsx(SummaryList, { "arItems$": list.data }) })), list.count > 3 && (_jsx("div", { className: 'psdk-utility-view-all', children: _jsx(Button, { style: { textTransform: 'none' }, color: 'primary', onClick: () => setViewAll(true), children: "View all" }) })), fileData.showfileModal && (_jsx("div", { className: 'psdk-dialog-background', children: _jsxs("div", { className: 'psdk-modal-file-top', children: [_jsx("h3", { children: thePConn.getLocalizedValue('Add local files', '', '') }), _jsxs("div", { className: 'psdk-modal-body', children: [_jsx("div", { className: 'psdk-modal-file-selector', children: _jsxs("label", { htmlFor: 'upload-files', children: [_jsx("input", { style: { display: 'none' }, id: 'upload-files', name: 'upload-files', type: 'file', multiple: true, onChange: uploadMyFiles }), _jsx(Button, { variant: 'outlined', color: 'primary', component: 'span', children: thePConn.getLocalizedValue('Attach files', '', '') }), ' '] }) }), fileData.fileList.length > 0 && (_jsx("div", { style: { marginTop: '1rem' }, children: _jsx(SummaryList, { "menuIconOverride$": 'trash', "arItems$": fileData.fileList, "menuIconOverrideAction$": removeFileFromList }) })), fileData.fileList.length === 0 && _jsx("div", {}), _jsx(ActionButtonsForFileUtil, { arMainButtons: fileData.fileMainButtons, arSecondaryButtons: fileData.fileSecondaryButtons, primaryAction: onAttachFiles, secondaryAction: closeFilePopup })] })] }) })), linkData.showLinkModal && (_jsx("div", { className: 'psdk-dialog-background', children: _jsxs("div", { className: 'psdk-modal-file-top', children: [_jsx("h3", { children: thePConn.getLocalizedValue('Add links', '', '') }), " ", _jsxs("div", { className: 'psdk-modal-body', children: [_jsxs("div", { className: 'psdk-modal-links-row', children: [_jsxs("div", { className: 'psdk-links-two-column', children: [_jsx("div", { className: 'psdk-modal-link-data', children: _jsx(TextField, { fullWidth: true, variant: 'outlined', label: 'Link title', size: 'small', required: required, value: link.title, onChange: fieldlinkOnChange }) }), _jsx("div", { className: 'psdk-modal-link-data', children: _jsx(TextField, { fullWidth: true, variant: 'outlined', label: 'URL', size: 'small', required: required, value: link.url, onChange: fieldurlOnChange }) })] }), _jsxs("div", { className: 'psdk-modal-link-add', children: [_jsx(Button, { className: 'psdk-add-link-action', color: 'primary', variant: 'contained', component: 'span', onClick: addLink, disabled: link.disable, children: thePConn.getLocalizedValue('Add link', '', '') }), ' '] })] }), linkData.linksList.length > 0 && (_jsx("div", { style: { marginTop: '1rem' }, children: _jsx(SummaryList, { "menuIconOverride$": 'trash', "arItems$": linkData.linksList, "menuIconOverrideAction$": removeLinksFromList }) })), _jsx(ActionButtonsForFileUtil, { arMainButtons: linkData.linkMainButtons, arSecondaryButtons: linkData.linkSecondaryButtons, primaryAction: onAttachLinks, secondaryAction: closeAddLinksPopup })] })] }) })), showViewAllModal && (_jsx("div", { className: 'psdk-dialog-background', children: _jsxs("div", { className: 'psdk-modal-file-top', children: [_jsxs("div", { className: 'psdk-view-all-header', children: [_jsx("h3", { children: thePConn.getLocalizedValue('Attachments', '', '') }), " ", _jsx("button", { type: 'button', className: 'psdk-close-button', onClick: () => setViewAll(false), children: _jsx("img", { className: 'psdk-utility-card-actions-svg-icon', src: closeSvgIcon }) })] }), _jsx("div", { className: 'psdk-view-all-body', children: _jsx(SummaryList, { "arItems$": vaItems }) })] }) }))] }));
436
436
  }
437
437
  //# sourceMappingURL=FileUtility.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FileUtility.js","sourceRoot":"","sources":["../../../../../src/components/widget/FileUtility/FileUtility/FileUtility.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useEffect, useState } from 'react';\nimport TextField from '@material-ui/core/TextField';\n\nimport { Utils } from '../../../helpers/utils';\n\nimport download from 'downloadjs';\n// import SummaryList from '../../SummaryList';\n// import ActionButtonsForFileUtil from '../ActionButtonsForFileUtil';\nimport './FileUtility.css';\nimport { IconButton, Menu, MenuItem, Button, CircularProgress } from '@material-ui/core';\nimport MoreVertIcon from '@material-ui/icons/MoreVert';\n\nimport { validateMaxSize } from '../../../helpers/attachmentHelpers';\nimport { getComponentFromMap } from '../../../../bridge/helpers/sdk_component_map';\nimport { PConnProps } from '../../../../types/PConnProps';\n\ninterface FileUtilityProps extends PConnProps {\n // If any, enter additional props that only exist on this component\n}\n\nexport default function FileUtility(props: FileUtilityProps) {\n // Get emitted components from map (so we can get any override that may exist)\n const SummaryList = getComponentFromMap('SummaryList');\n const ActionButtonsForFileUtil = getComponentFromMap('ActionButtonsForFileUtil');\n\n const { getPConnect } = props;\n const thePConn = getPConnect();\n const required = true;\n const listTemp = {\n data: [],\n count: 0\n };\n const [list, setList] = useState(listTemp);\n const headerSvgIcon$ = Utils.getImageSrc('paper-clip', Utils.getSDKStaticConentUrl());\n const closeSvgIcon = Utils.getImageSrc('times', Utils.getSDKStaticConentUrl());\n const configProps: any = thePConn.resolveConfigProps(thePConn.getConfigProps());\n\n const header = configProps.label;\n const fileTemp = {\n showfileModal: false,\n fileList: [],\n attachedFiles: [],\n fileMainButtons: [\n {\n actionID: 'attach',\n jsAction: 'attachFiles',\n name: thePConn.getLocalizedValue('Attach files', '', '')\n }\n ], // 2nd and 3rd args empty string until typedef marked correctly\n fileSecondaryButtons: [\n {\n actionID: 'cancel',\n jsAction: 'cancel',\n name: thePConn.getLocalizedValue('Cancel', '', '')\n }\n ] // 2nd and 3rd args empty string until typedef marked correctly\n };\n const [fileData, setFileData] = useState(fileTemp);\n const linkTemp = {\n showLinkModal: false,\n linksList: [],\n attachedLinks: [],\n linkMainButtons: [\n {\n actionID: 'attach',\n jsAction: 'attachLinks',\n name: thePConn.getLocalizedValue('Attach links', '', '')\n }\n ], // 2nd and 3rd args empty string until typedef marked correctly\n linkSecondaryButtons: [\n {\n actionID: 'cancel',\n jsAction: 'cancel',\n name: thePConn.getLocalizedValue('Cancel', '', '')\n }\n ] // 2nd and 3rd args empty string until typedef marked correctly\n };\n const [linkData, setLinkData] = useState(linkTemp);\n const [anchorEl, setAnchorEl] = useState(null);\n const open = Boolean(anchorEl);\n const [link, setLink] = useState({ title: '', url: '', disable: true });\n const [inProgress, setProgress] = useState(false);\n const [showViewAllModal, setViewAll] = useState(false);\n const [vaItems, setFullAttachments] = useState([]);\n\n function addAttachments(attsFromResp: any[] = []) {\n attsFromResp = attsFromResp.map(respAtt => {\n const updatedAtt = {\n ...respAtt,\n meta: `${respAtt.category} . ${Utils.generateDateTime(respAtt.createTime, 'DateTime-Since')}, ${respAtt.createdBy}`\n };\n if (updatedAtt.type === 'FILE') {\n updatedAtt.nameWithExt = updatedAtt.fileName;\n }\n return updatedAtt;\n });\n return attsFromResp;\n }\n\n function getListUtilityItemProps({ att, cancelFile, downloadFile, deleteFile, removeFile }) {\n let actions;\n\n if (att.progress && att.progress !== 100) {\n actions = [\n {\n id: `Cancel-${att.ID}`,\n text: thePConn.getLocalizedValue('Cancel', '', ''), // 2nd and 3rd args empty string until typedef marked correctly\n icon: 'times',\n onClick: cancelFile\n }\n ];\n } else if (att.links) {\n const isFile = att.type === 'FILE';\n const ID = att.ID.replace(/\\s/gi, '');\n const actionsMap = new Map([\n [\n 'download',\n {\n id: `download-${ID}`,\n text: isFile ? thePConn.getLocalizedValue('Download', '', '') : thePConn.getLocalizedValue('Open', '', ''), // 2nd and 3rd args empty string until typedef marked correctly\n icon: isFile ? 'download' : 'open',\n onClick: downloadFile\n }\n ],\n [\n 'delete',\n {\n id: `Delete-${ID}`,\n text: thePConn.getLocalizedValue('Delete', '', ''), // 2nd and 3rd args empty string until typedef marked correctly\n icon: 'trash',\n onClick: deleteFile\n }\n ]\n ]);\n actions = [];\n actionsMap.forEach((action, actionKey) => {\n if (att.links[actionKey]) {\n actions.push(action);\n }\n });\n } else if (att.error) {\n actions = [\n {\n id: `Remove-${att.ID}`,\n text: thePConn.getLocalizedValue('Remove', '', ''), // 2nd and 3rd args empty string until typedef marked correctly\n icon: 'trash',\n onClick: removeFile\n }\n ];\n }\n\n return {\n id: att.ID,\n visual: {\n icon: Utils.getIconForAttachment(att),\n progress: att.progress === 100 ? undefined : att.progress\n },\n primary: {\n type: att.type,\n name: att.name,\n icon: 'open',\n click: downloadFile\n },\n secondary: {\n text: att.meta\n },\n actions\n };\n }\n\n function fileDownload(data, fileName, ext) {\n const file = ext ? `${fileName}.${ext}` : fileName;\n download(atob(data), file);\n }\n\n function downloadAttachedFile(att: any) {\n const attachUtils = PCore.getAttachmentUtils();\n const { ID, name, extension, type } = att;\n const context = thePConn.getContextName();\n\n attachUtils\n // @ts-ignore - 3rd parameter \"responseEncoding\" is optional\n .downloadAttachment(ID, context)\n .then((content: any) => {\n if (type === 'FILE') {\n fileDownload(content.data, name, extension);\n } else if (type === 'URL') {\n let { data } = content;\n if (!/^(http|https):\\/\\//.test(data)) {\n data = `//${data}`;\n }\n window.open(content.data, '_blank');\n }\n })\n .catch();\n }\n\n function deleteAttachedFile(att: any) {\n const attachUtils = PCore.getAttachmentUtils();\n const { ID } = att;\n const context = thePConn.getContextName();\n\n attachUtils\n .deleteAttachment(ID, context)\n .then(() => {\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n getAttachments();\n })\n .catch();\n }\n\n const getAttachments = () => {\n const attachmentUtils = PCore.getAttachmentUtils();\n const caseID = thePConn.getValue(PCore.getConstants().CASE_INFO.CASE_INFO_ID, ''); // 2nd arg empty string until typedef marked correctly\n\n if (caseID && caseID !== '') {\n const attPromise = attachmentUtils.getCaseAttachments(caseID, thePConn.getContextName());\n\n attPromise.then((resp: any) => {\n const arFullListAttachments = addAttachments(resp);\n const attachmentsCount = arFullListAttachments.length;\n const arItems: any = arFullListAttachments.slice(0, 3).map(att => {\n return getListUtilityItemProps({\n att,\n downloadFile: !att.progress ? () => downloadAttachedFile(att) : null,\n cancelFile: null,\n deleteFile: !att.progress ? () => deleteAttachedFile(att) : null,\n removeFile: null\n });\n });\n const viewAllarItems: any = arFullListAttachments.map(att => {\n return getListUtilityItemProps({\n att,\n downloadFile: !att.progress ? () => downloadAttachedFile(att) : null,\n cancelFile: null,\n deleteFile: !att.progress ? () => deleteAttachedFile(att) : null,\n removeFile: null\n });\n });\n setProgress(false);\n setList(current => {\n return { ...current, count: attachmentsCount, data: arItems };\n });\n setFullAttachments(viewAllarItems);\n });\n }\n };\n\n useEffect(() => {\n getAttachments();\n }, []);\n\n useEffect(() => {\n PCore.getPubSubUtils().subscribe(\n (PCore.getEvents().getCaseEvent() as any).CASE_ATTACHMENTS_UPDATED_FROM_CASEVIEW,\n getAttachments,\n 'caseAttachmentsUpdateFromCaseview'\n );\n\n return () => {\n PCore.getPubSubUtils().unsubscribe(\n (PCore.getEvents().getCaseEvent() as any).CASE_ATTACHMENTS_UPDATED_FROM_CASEVIEW,\n 'caseAttachmentsUpdateFromCaseview'\n );\n };\n }, []);\n\n function setNewFiles(arFiles) {\n let index = 0;\n for (const file of arFiles) {\n if (!validateMaxSize(file, '5')) {\n file.error = true;\n file.meta = 'File is too big. Max allowed size is 5MB.';\n }\n file.mimeType = file.type;\n file.icon = Utils.getIconFromFileType(file.type);\n file.ID = `${new Date().getTime()}I${index}`;\n index += 1;\n }\n return arFiles;\n }\n\n function getFiles(arFiles: any[]): any[] {\n return setNewFiles(arFiles);\n }\n\n function uploadMyFiles(event) {\n // alert($event.target.files[0]); // outputs the first file\n const arFiles = getFiles(event.target.files);\n // convert FileList to an array\n const myFiles: any = Array.from(arFiles);\n\n const arFileList$: any = myFiles.map((att: any) => {\n return getListUtilityItemProps({\n att,\n downloadFile: !att.progress ? () => downloadAttachedFile(att) : null,\n cancelFile: null,\n deleteFile: !att.progress ? () => deleteAttachedFile(att) : null,\n removeFile: null\n });\n });\n setFileData(current => {\n return { ...current, fileList: arFileList$, attachedFiles: myFiles };\n });\n }\n\n const handleClick = event => {\n setAnchorEl(event.currentTarget);\n };\n\n const handleClose = () => {\n setAnchorEl(null);\n };\n\n function onAddFilesClick() {\n setFileData(current => {\n return { ...current, showfileModal: true };\n });\n setAnchorEl(null);\n }\n\n function removeFileFromList(item: any) {\n let attachedFiles: any = fileData.attachedFiles;\n let fileList: any = fileData.fileList;\n if (item !== null) {\n attachedFiles = attachedFiles.filter(ele => ele.ID !== item.id);\n fileList = fileList.filter(ele => ele.id !== item.id);\n setFileData(current => {\n return { ...current, fileList, attachedFiles };\n });\n }\n }\n\n function closeFilePopup() {\n setFileData(current => {\n return { ...current, showfileModal: false };\n });\n }\n\n function onAttachFiles() {\n const attachmentUtils = PCore.getAttachmentUtils();\n const caseID = thePConn.getValue(PCore.getConstants().CASE_INFO.CASE_INFO_ID, ''); // 2nd arg empty string until typedef marked correctly\n const onUploadProgress = () => {};\n const errorHandler = () => {};\n closeFilePopup();\n if (fileData.attachedFiles && fileData.attachedFiles.length > 0) {\n setProgress(true);\n }\n\n Promise.allSettled(\n fileData.attachedFiles.map(file => attachmentUtils.uploadAttachment(file, onUploadProgress, errorHandler, thePConn.getContextName()))\n )\n .then((fileResponses: any) => {\n const uploadedFiles: any = [];\n fileResponses.forEach(fileResponse => {\n if (fileResponse.status === 'fulfilled') {\n uploadedFiles.push(fileResponse.value);\n }\n });\n if (uploadedFiles.length > 0) {\n (attachmentUtils.linkAttachmentsToCase(caseID, uploadedFiles, 'File', thePConn.getContextName()) as Promise<any>)\n .then(() => {\n setFileData(current => {\n return { ...current, fileList: [], attachedFiles: [] };\n });\n getAttachments();\n })\n .catch();\n }\n })\n .catch();\n }\n\n function onAddLinksClick() {\n setLinkData(current => {\n return { ...current, showLinkModal: true };\n });\n setAnchorEl(null);\n }\n\n function closeAddLinksPopup() {\n setLinkData(current => {\n return { ...current, showLinkModal: false };\n });\n }\n\n const fieldlinkOnChange = event => {\n const title = event.target.value;\n setLink(current => {\n const updatedData = { ...current, title };\n updatedData.disable = !(updatedData.title && updatedData.url);\n return updatedData;\n });\n };\n\n function fieldurlOnChange(event) {\n const url = event.target.value;\n setLink(current => {\n const updatedData = { ...current, url };\n updatedData.disable = !(updatedData.title && updatedData.url);\n return updatedData;\n });\n }\n\n function addLink() {\n // copy list locally\n const localList: any = linkData.linksList.slice();\n const url = link.url;\n if (!/^(http|https):\\/\\//.test(link.url)) {\n link.url = `http://${link.url}`;\n }\n\n // list for display\n let oLink: any = {};\n oLink.icon = 'chain';\n oLink.ID = `${new Date().getTime()}`;\n oLink = getListUtilityItemProps({\n att: oLink,\n downloadFile: null,\n cancelFile: null,\n deleteFile: null,\n removeFile: null\n });\n oLink.type = 'URL';\n oLink.primary.type = oLink.type;\n oLink.visual.icon = 'chain';\n oLink.primary.name = link.title;\n oLink.primary.icon = 'open';\n oLink.secondary.text = url;\n\n localList.push(oLink);\n\n // list for actually attachments\n const attachedListTemp: any = linkData.attachedLinks.slice();\n const attachedLink: any = {};\n attachedLink.id = oLink.id;\n attachedLink.linkTitle = link.title;\n attachedLink.type = oLink.type;\n attachedLink.url = url;\n\n attachedListTemp.push(attachedLink);\n setLinkData(current => {\n return {\n ...current,\n linksList: localList,\n attachedLinks: attachedListTemp\n };\n });\n // clear values\n setLink({ title: '', url: '', disable: true });\n }\n\n function removeLinksFromList(item: any) {\n let attachedLinks: any = linkData.attachedLinks;\n let linksList: any = linkData.linksList;\n if (item !== null) {\n attachedLinks = attachedLinks.filter(ele => ele.id !== item.id);\n linksList = linksList.filter(ele => ele.id !== item.id);\n setLinkData(current => {\n return { ...current, linksList, attachedLinks };\n });\n }\n }\n\n function onAttachLinks() {\n const attachmentUtils = PCore.getAttachmentUtils();\n const caseID = thePConn.getValue(PCore.getConstants().CASE_INFO.CASE_INFO_ID, ''); // 2nd arg empty string until typedef marked correctly\n const links = linkData.attachedLinks;\n closeAddLinksPopup();\n const linksToAttach = links.map((item: any) => ({\n type: 'URL',\n category: 'URL',\n url: item.url,\n name: item.linkTitle\n }));\n\n if (linksToAttach && linksToAttach.length > 0) {\n setProgress(true);\n (attachmentUtils.linkAttachmentsToCase(caseID, linksToAttach, 'URL', thePConn.getContextName()) as Promise<any>)\n .then(() => {\n setLinkData(current => {\n return { ...current, linksList: [], attachedLinks: [] };\n });\n getAttachments();\n })\n .catch(() => setProgress(false));\n }\n }\n\n return (\n <div className='psdk-utility' id='file-utility'>\n {inProgress && (\n <div className='progress-div'>\n <CircularProgress />\n </div>\n )}\n <div className='psdk-header'>\n <img className='psdk-file-utility-card-svg-icon' src={headerSvgIcon$} />\n <div className='header-text'>{header}</div>\n <div className='psdk-utility-count' id='attachments-count'>\n {list.count}\n </div>\n <div style={{ flexGrow: 1 }} />\n <div>\n <IconButton\n id='long-button'\n aria-controls={open ? 'simple-menu' : undefined}\n aria-expanded={open ? 'true' : undefined}\n aria-haspopup='true'\n onClick={handleClick}\n >\n <MoreVertIcon />\n </IconButton>\n <Menu style={{ marginTop: '3rem' }} id='simple-menu' anchorEl={anchorEl} keepMounted open={Boolean(anchorEl)} onClose={handleClose}>\n <MenuItem style={{ fontSize: '14px' }} onClick={onAddFilesClick}>\n {thePConn.getLocalizedValue('Add files', '', '')}\n </MenuItem>{' '}\n {/* 2nd and 3rd args empty string until typedef marked correctly */}\n <MenuItem style={{ fontSize: '14px' }} onClick={onAddLinksClick}>\n {thePConn.getLocalizedValue('Add links', '', '')}\n </MenuItem>{' '}\n {/* 2nd and 3rd args empty string until typedef marked correctly */}\n </Menu>\n </div>\n </div>\n {list.data.length > 0 && (\n <div style={{ marginTop: '1rem' }}>\n <SummaryList arItems$={list.data} />\n </div>\n )}\n {list.count > 3 && (\n <div className='psdk-utility-view-all'>\n <Button style={{ textTransform: 'none' }} color='primary' onClick={() => setViewAll(true)}>\n View all\n </Button>\n </div>\n )}\n {fileData.showfileModal && (\n <div className='psdk-dialog-background'>\n <div className='psdk-modal-file-top'>\n <h3>{thePConn.getLocalizedValue('Add local files', '', '')}</h3>\n <div className='psdk-modal-body'>\n <div className='psdk-modal-file-selector'>\n <label htmlFor='upload-files'>\n <input style={{ display: 'none' }} id='upload-files' name='upload-files' type='file' multiple onChange={uploadMyFiles} />\n <Button variant='outlined' color='primary' component='span'>\n {thePConn.getLocalizedValue('Attach files', '', '')}\n </Button>{' '}\n {/* 2nd and 3rd args empty string until typedef marked correctly */}\n </label>\n </div>\n {fileData.fileList.length > 0 && (\n <div style={{ marginTop: '1rem' }}>\n <SummaryList menuIconOverride$='trash' arItems$={fileData.fileList} menuIconOverrideAction$={removeFileFromList} />\n </div>\n )}\n {fileData.fileList.length === 0 && <div />}\n <ActionButtonsForFileUtil\n arMainButtons={fileData.fileMainButtons}\n arSecondaryButtons={fileData.fileSecondaryButtons}\n primaryAction={onAttachFiles}\n secondaryAction={closeFilePopup}\n />\n </div>\n </div>\n </div>\n )}\n {linkData.showLinkModal && (\n <div className='psdk-dialog-background'>\n <div className='psdk-modal-file-top'>\n <h3>{thePConn.getLocalizedValue('Add links', '', '')}</h3> {/* 2nd and 3rd args empty string until typedef marked correctly */}\n <div className='psdk-modal-body'>\n <div className='psdk-modal-links-row'>\n <div className='psdk-links-two-column'>\n <div className='psdk-modal-link-data'>\n <TextField\n fullWidth\n variant='outlined'\n label='Link title'\n size='small'\n required={required}\n value={link.title}\n onChange={fieldlinkOnChange}\n />\n </div>\n <div className='psdk-modal-link-data'>\n <TextField\n fullWidth\n variant='outlined'\n label='URL'\n size='small'\n required={required}\n value={link.url}\n onChange={fieldurlOnChange}\n />\n </div>\n </div>\n <div className='psdk-modal-link-add'>\n <Button\n className='psdk-add-link-action'\n color='primary'\n variant='contained'\n component='span'\n onClick={addLink}\n disabled={link.disable}\n >\n {thePConn.getLocalizedValue('Add link', '', '')}\n </Button>{' '}\n {/* 2nd and 3rd args empty string until typedef marked correctly */}\n </div>\n </div>\n {linkData.linksList.length > 0 && (\n <div style={{ marginTop: '1rem' }}>\n <SummaryList menuIconOverride$='trash' arItems$={linkData.linksList} menuIconOverrideAction$={removeLinksFromList} />\n </div>\n )}\n <ActionButtonsForFileUtil\n arMainButtons={linkData.linkMainButtons}\n arSecondaryButtons={linkData.linkSecondaryButtons}\n primaryAction={onAttachLinks}\n secondaryAction={closeAddLinksPopup}\n />\n </div>\n </div>\n </div>\n )}\n {showViewAllModal && (\n <div className='psdk-dialog-background'>\n <div className='psdk-modal-file-top'>\n <div className='psdk-view-all-header'>\n <h3>{thePConn.getLocalizedValue('Attachments', '', '')}</h3> {/* 2nd and 3rd args empty string until typedef marked correctly */}\n {/* eslint-disable-next-line jsx-a11y/control-has-associated-label */}\n <button type='button' className='psdk-close-button' onClick={() => setViewAll(false)}>\n <img className='psdk-utility-card-actions-svg-icon' src={closeSvgIcon} />\n </button>\n </div>\n <div className='psdk-view-all-body'>\n <SummaryList arItems$={vaItems} />\n </div>\n </div>\n </div>\n )}\n </div>\n );\n}\n"]}
1
+ {"version":3,"file":"FileUtility.js","sourceRoot":"","sources":["../../../../../src/components/widget/FileUtility/FileUtility/FileUtility.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useEffect, useState } from 'react';\nimport TextField from '@mui/material/TextField';\n\nimport { Utils } from '../../../helpers/utils';\n\nimport download from 'downloadjs';\n// import SummaryList from '../../SummaryList';\n// import ActionButtonsForFileUtil from '../ActionButtonsForFileUtil';\nimport './FileUtility.css';\nimport { IconButton, Menu, MenuItem, Button, CircularProgress } from '@mui/material';\nimport MoreVertIcon from '@mui/icons-material/MoreVert';\n\nimport { validateMaxSize } from '../../../helpers/attachmentHelpers';\nimport { getComponentFromMap } from '../../../../bridge/helpers/sdk_component_map';\nimport { PConnProps } from '../../../../types/PConnProps';\n\ninterface FileUtilityProps extends PConnProps {\n // If any, enter additional props that only exist on this component\n}\n\nexport default function FileUtility(props: FileUtilityProps) {\n // Get emitted components from map (so we can get any override that may exist)\n const SummaryList = getComponentFromMap('SummaryList');\n const ActionButtonsForFileUtil = getComponentFromMap('ActionButtonsForFileUtil');\n\n const { getPConnect } = props;\n const thePConn = getPConnect();\n const required = true;\n const listTemp = {\n data: [],\n count: 0\n };\n const [list, setList] = useState(listTemp);\n const headerSvgIcon$ = Utils.getImageSrc('paper-clip', Utils.getSDKStaticConentUrl());\n const closeSvgIcon = Utils.getImageSrc('times', Utils.getSDKStaticConentUrl());\n const configProps: any = thePConn.resolveConfigProps(thePConn.getConfigProps());\n\n const header = configProps.label;\n const fileTemp = {\n showfileModal: false,\n fileList: [],\n attachedFiles: [],\n fileMainButtons: [\n {\n actionID: 'attach',\n jsAction: 'attachFiles',\n name: thePConn.getLocalizedValue('Attach files', '', '')\n }\n ], // 2nd and 3rd args empty string until typedef marked correctly\n fileSecondaryButtons: [\n {\n actionID: 'cancel',\n jsAction: 'cancel',\n name: thePConn.getLocalizedValue('Cancel', '', '')\n }\n ] // 2nd and 3rd args empty string until typedef marked correctly\n };\n const [fileData, setFileData] = useState(fileTemp);\n const linkTemp = {\n showLinkModal: false,\n linksList: [],\n attachedLinks: [],\n linkMainButtons: [\n {\n actionID: 'attach',\n jsAction: 'attachLinks',\n name: thePConn.getLocalizedValue('Attach links', '', '')\n }\n ], // 2nd and 3rd args empty string until typedef marked correctly\n linkSecondaryButtons: [\n {\n actionID: 'cancel',\n jsAction: 'cancel',\n name: thePConn.getLocalizedValue('Cancel', '', '')\n }\n ] // 2nd and 3rd args empty string until typedef marked correctly\n };\n const [linkData, setLinkData] = useState(linkTemp);\n const [anchorEl, setAnchorEl] = useState(null);\n const open = Boolean(anchorEl);\n const [link, setLink] = useState({ title: '', url: '', disable: true });\n const [inProgress, setProgress] = useState(false);\n const [showViewAllModal, setViewAll] = useState(false);\n const [vaItems, setFullAttachments] = useState([]);\n\n function addAttachments(attsFromResp: any[] = []) {\n attsFromResp = attsFromResp.map(respAtt => {\n const updatedAtt = {\n ...respAtt,\n meta: `${respAtt.category} . ${Utils.generateDateTime(respAtt.createTime, 'DateTime-Since')}, ${respAtt.createdBy}`\n };\n if (updatedAtt.type === 'FILE') {\n updatedAtt.nameWithExt = updatedAtt.fileName;\n }\n return updatedAtt;\n });\n return attsFromResp;\n }\n\n function getListUtilityItemProps({ att, cancelFile, downloadFile, deleteFile, removeFile }) {\n let actions;\n\n if (att.progress && att.progress !== 100) {\n actions = [\n {\n id: `Cancel-${att.ID}`,\n text: thePConn.getLocalizedValue('Cancel', '', ''), // 2nd and 3rd args empty string until typedef marked correctly\n icon: 'times',\n onClick: cancelFile\n }\n ];\n } else if (att.links) {\n const isFile = att.type === 'FILE';\n const ID = att.ID.replace(/\\s/gi, '');\n const actionsMap = new Map([\n [\n 'download',\n {\n id: `download-${ID}`,\n text: isFile ? thePConn.getLocalizedValue('Download', '', '') : thePConn.getLocalizedValue('Open', '', ''), // 2nd and 3rd args empty string until typedef marked correctly\n icon: isFile ? 'download' : 'open',\n onClick: downloadFile\n }\n ],\n [\n 'delete',\n {\n id: `Delete-${ID}`,\n text: thePConn.getLocalizedValue('Delete', '', ''), // 2nd and 3rd args empty string until typedef marked correctly\n icon: 'trash',\n onClick: deleteFile\n }\n ]\n ]);\n actions = [];\n actionsMap.forEach((action, actionKey) => {\n if (att.links[actionKey]) {\n actions.push(action);\n }\n });\n } else if (att.error) {\n actions = [\n {\n id: `Remove-${att.ID}`,\n text: thePConn.getLocalizedValue('Remove', '', ''), // 2nd and 3rd args empty string until typedef marked correctly\n icon: 'trash',\n onClick: removeFile\n }\n ];\n }\n\n return {\n id: att.ID,\n visual: {\n icon: Utils.getIconForAttachment(att),\n progress: att.progress === 100 ? undefined : att.progress\n },\n primary: {\n type: att.type,\n name: att.name,\n icon: 'open',\n click: downloadFile\n },\n secondary: {\n text: att.meta\n },\n actions\n };\n }\n\n function fileDownload(data, fileName, ext) {\n const file = ext ? `${fileName}.${ext}` : fileName;\n download(atob(data), file);\n }\n\n function downloadAttachedFile(att: any) {\n const attachUtils = PCore.getAttachmentUtils();\n const { ID, name, extension, type } = att;\n const context = thePConn.getContextName();\n\n attachUtils\n // @ts-ignore - 3rd parameter \"responseEncoding\" is optional\n .downloadAttachment(ID, context)\n .then((content: any) => {\n if (type === 'FILE') {\n fileDownload(content.data, name, extension);\n } else if (type === 'URL') {\n let { data } = content;\n if (!/^(http|https):\\/\\//.test(data)) {\n data = `//${data}`;\n }\n window.open(content.data, '_blank');\n }\n })\n .catch();\n }\n\n function deleteAttachedFile(att: any) {\n const attachUtils = PCore.getAttachmentUtils();\n const { ID } = att;\n const context = thePConn.getContextName();\n\n attachUtils\n .deleteAttachment(ID, context)\n .then(() => {\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n getAttachments();\n })\n .catch();\n }\n\n const getAttachments = () => {\n const attachmentUtils = PCore.getAttachmentUtils();\n const caseID = thePConn.getValue(PCore.getConstants().CASE_INFO.CASE_INFO_ID, ''); // 2nd arg empty string until typedef marked correctly\n\n if (caseID && caseID !== '') {\n const attPromise = attachmentUtils.getCaseAttachments(caseID, thePConn.getContextName());\n\n attPromise.then((resp: any) => {\n const arFullListAttachments = addAttachments(resp);\n const attachmentsCount = arFullListAttachments.length;\n const arItems: any = arFullListAttachments.slice(0, 3).map(att => {\n return getListUtilityItemProps({\n att,\n downloadFile: !att.progress ? () => downloadAttachedFile(att) : null,\n cancelFile: null,\n deleteFile: !att.progress ? () => deleteAttachedFile(att) : null,\n removeFile: null\n });\n });\n const viewAllarItems: any = arFullListAttachments.map(att => {\n return getListUtilityItemProps({\n att,\n downloadFile: !att.progress ? () => downloadAttachedFile(att) : null,\n cancelFile: null,\n deleteFile: !att.progress ? () => deleteAttachedFile(att) : null,\n removeFile: null\n });\n });\n setProgress(false);\n setList(current => {\n return { ...current, count: attachmentsCount, data: arItems };\n });\n setFullAttachments(viewAllarItems);\n });\n }\n };\n\n useEffect(() => {\n getAttachments();\n }, []);\n\n useEffect(() => {\n PCore.getPubSubUtils().subscribe(\n (PCore.getEvents().getCaseEvent() as any).CASE_ATTACHMENTS_UPDATED_FROM_CASEVIEW,\n getAttachments,\n 'caseAttachmentsUpdateFromCaseview'\n );\n\n return () => {\n PCore.getPubSubUtils().unsubscribe(\n (PCore.getEvents().getCaseEvent() as any).CASE_ATTACHMENTS_UPDATED_FROM_CASEVIEW,\n 'caseAttachmentsUpdateFromCaseview'\n );\n };\n }, []);\n\n function setNewFiles(arFiles) {\n let index = 0;\n for (const file of arFiles) {\n if (!validateMaxSize(file, '5')) {\n file.error = true;\n file.meta = 'File is too big. Max allowed size is 5MB.';\n }\n file.mimeType = file.type;\n file.icon = Utils.getIconFromFileType(file.type);\n file.ID = `${new Date().getTime()}I${index}`;\n index += 1;\n }\n return arFiles;\n }\n\n function getFiles(arFiles: any[]): any[] {\n return setNewFiles(arFiles);\n }\n\n function uploadMyFiles(event) {\n // alert($event.target.files[0]); // outputs the first file\n const arFiles = getFiles(event.target.files);\n // convert FileList to an array\n const myFiles: any = Array.from(arFiles);\n\n const arFileList$: any = myFiles.map((att: any) => {\n return getListUtilityItemProps({\n att,\n downloadFile: !att.progress ? () => downloadAttachedFile(att) : null,\n cancelFile: null,\n deleteFile: !att.progress ? () => deleteAttachedFile(att) : null,\n removeFile: null\n });\n });\n setFileData(current => {\n return { ...current, fileList: arFileList$, attachedFiles: myFiles };\n });\n }\n\n const handleClick = event => {\n setAnchorEl(event.currentTarget);\n };\n\n const handleClose = () => {\n setAnchorEl(null);\n };\n\n function onAddFilesClick() {\n setFileData(current => {\n return { ...current, showfileModal: true };\n });\n setAnchorEl(null);\n }\n\n function removeFileFromList(item: any) {\n let attachedFiles: any = fileData.attachedFiles;\n let fileList: any = fileData.fileList;\n if (item !== null) {\n attachedFiles = attachedFiles.filter(ele => ele.ID !== item.id);\n fileList = fileList.filter(ele => ele.id !== item.id);\n setFileData(current => {\n return { ...current, fileList, attachedFiles };\n });\n }\n }\n\n function closeFilePopup() {\n setFileData(current => {\n return { ...current, showfileModal: false };\n });\n }\n\n function onAttachFiles() {\n const attachmentUtils = PCore.getAttachmentUtils();\n const caseID = thePConn.getValue(PCore.getConstants().CASE_INFO.CASE_INFO_ID, ''); // 2nd arg empty string until typedef marked correctly\n const onUploadProgress = () => {};\n const errorHandler = () => {};\n closeFilePopup();\n if (fileData.attachedFiles && fileData.attachedFiles.length > 0) {\n setProgress(true);\n }\n\n Promise.allSettled(\n fileData.attachedFiles.map(file => attachmentUtils.uploadAttachment(file, onUploadProgress, errorHandler, thePConn.getContextName()))\n )\n .then((fileResponses: any) => {\n const uploadedFiles: any = [];\n fileResponses.forEach(fileResponse => {\n if (fileResponse.status === 'fulfilled') {\n uploadedFiles.push(fileResponse.value);\n }\n });\n if (uploadedFiles.length > 0) {\n (attachmentUtils.linkAttachmentsToCase(caseID, uploadedFiles, 'File', thePConn.getContextName()) as Promise<any>)\n .then(() => {\n setFileData(current => {\n return { ...current, fileList: [], attachedFiles: [] };\n });\n getAttachments();\n })\n .catch();\n }\n })\n .catch();\n }\n\n function onAddLinksClick() {\n setLinkData(current => {\n return { ...current, showLinkModal: true };\n });\n setAnchorEl(null);\n }\n\n function closeAddLinksPopup() {\n setLinkData(current => {\n return { ...current, showLinkModal: false };\n });\n }\n\n const fieldlinkOnChange = event => {\n const title = event.target.value;\n setLink(current => {\n const updatedData = { ...current, title };\n updatedData.disable = !(updatedData.title && updatedData.url);\n return updatedData;\n });\n };\n\n function fieldurlOnChange(event) {\n const url = event.target.value;\n setLink(current => {\n const updatedData = { ...current, url };\n updatedData.disable = !(updatedData.title && updatedData.url);\n return updatedData;\n });\n }\n\n function addLink() {\n // copy list locally\n const localList: any = linkData.linksList.slice();\n const url = link.url;\n if (!/^(http|https):\\/\\//.test(link.url)) {\n link.url = `http://${link.url}`;\n }\n\n // list for display\n let oLink: any = {};\n oLink.icon = 'chain';\n oLink.ID = `${new Date().getTime()}`;\n oLink = getListUtilityItemProps({\n att: oLink,\n downloadFile: null,\n cancelFile: null,\n deleteFile: null,\n removeFile: null\n });\n oLink.type = 'URL';\n oLink.primary.type = oLink.type;\n oLink.visual.icon = 'chain';\n oLink.primary.name = link.title;\n oLink.primary.icon = 'open';\n oLink.secondary.text = url;\n\n localList.push(oLink);\n\n // list for actually attachments\n const attachedListTemp: any = linkData.attachedLinks.slice();\n const attachedLink: any = {};\n attachedLink.id = oLink.id;\n attachedLink.linkTitle = link.title;\n attachedLink.type = oLink.type;\n attachedLink.url = url;\n\n attachedListTemp.push(attachedLink);\n setLinkData(current => {\n return {\n ...current,\n linksList: localList,\n attachedLinks: attachedListTemp\n };\n });\n // clear values\n setLink({ title: '', url: '', disable: true });\n }\n\n function removeLinksFromList(item: any) {\n let attachedLinks: any = linkData.attachedLinks;\n let linksList: any = linkData.linksList;\n if (item !== null) {\n attachedLinks = attachedLinks.filter(ele => ele.id !== item.id);\n linksList = linksList.filter(ele => ele.id !== item.id);\n setLinkData(current => {\n return { ...current, linksList, attachedLinks };\n });\n }\n }\n\n function onAttachLinks() {\n const attachmentUtils = PCore.getAttachmentUtils();\n const caseID = thePConn.getValue(PCore.getConstants().CASE_INFO.CASE_INFO_ID, ''); // 2nd arg empty string until typedef marked correctly\n const links = linkData.attachedLinks;\n closeAddLinksPopup();\n const linksToAttach = links.map((item: any) => ({\n type: 'URL',\n category: 'URL',\n url: item.url,\n name: item.linkTitle\n }));\n\n if (linksToAttach && linksToAttach.length > 0) {\n setProgress(true);\n (attachmentUtils.linkAttachmentsToCase(caseID, linksToAttach, 'URL', thePConn.getContextName()) as Promise<any>)\n .then(() => {\n setLinkData(current => {\n return { ...current, linksList: [], attachedLinks: [] };\n });\n getAttachments();\n })\n .catch(() => setProgress(false));\n }\n }\n\n return (\n <div className='psdk-utility' id='file-utility'>\n {inProgress && (\n <div className='progress-div'>\n <CircularProgress />\n </div>\n )}\n <div className='psdk-header'>\n <img className='psdk-file-utility-card-svg-icon' src={headerSvgIcon$} />\n <div className='header-text'>{header}</div>\n <div className='psdk-utility-count' id='attachments-count'>\n {list.count}\n </div>\n <div style={{ flexGrow: 1 }} />\n <div>\n <IconButton\n id='long-button'\n aria-controls={open ? 'simple-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='simple-menu' anchorEl={anchorEl} keepMounted open={Boolean(anchorEl)} onClose={handleClose}>\n <MenuItem style={{ fontSize: '14px' }} onClick={onAddFilesClick}>\n {thePConn.getLocalizedValue('Add files', '', '')}\n </MenuItem>{' '}\n {/* 2nd and 3rd args empty string until typedef marked correctly */}\n <MenuItem style={{ fontSize: '14px' }} onClick={onAddLinksClick}>\n {thePConn.getLocalizedValue('Add links', '', '')}\n </MenuItem>{' '}\n {/* 2nd and 3rd args empty string until typedef marked correctly */}\n </Menu>\n </div>\n </div>\n {list.data.length > 0 && (\n <div style={{ marginTop: '1rem' }}>\n <SummaryList arItems$={list.data} />\n </div>\n )}\n {list.count > 3 && (\n <div className='psdk-utility-view-all'>\n <Button style={{ textTransform: 'none' }} color='primary' onClick={() => setViewAll(true)}>\n View all\n </Button>\n </div>\n )}\n {fileData.showfileModal && (\n <div className='psdk-dialog-background'>\n <div className='psdk-modal-file-top'>\n <h3>{thePConn.getLocalizedValue('Add local files', '', '')}</h3>\n <div className='psdk-modal-body'>\n <div className='psdk-modal-file-selector'>\n <label htmlFor='upload-files'>\n <input style={{ display: 'none' }} id='upload-files' name='upload-files' type='file' multiple onChange={uploadMyFiles} />\n <Button variant='outlined' color='primary' component='span'>\n {thePConn.getLocalizedValue('Attach files', '', '')}\n </Button>{' '}\n {/* 2nd and 3rd args empty string until typedef marked correctly */}\n </label>\n </div>\n {fileData.fileList.length > 0 && (\n <div style={{ marginTop: '1rem' }}>\n <SummaryList menuIconOverride$='trash' arItems$={fileData.fileList} menuIconOverrideAction$={removeFileFromList} />\n </div>\n )}\n {fileData.fileList.length === 0 && <div />}\n <ActionButtonsForFileUtil\n arMainButtons={fileData.fileMainButtons}\n arSecondaryButtons={fileData.fileSecondaryButtons}\n primaryAction={onAttachFiles}\n secondaryAction={closeFilePopup}\n />\n </div>\n </div>\n </div>\n )}\n {linkData.showLinkModal && (\n <div className='psdk-dialog-background'>\n <div className='psdk-modal-file-top'>\n <h3>{thePConn.getLocalizedValue('Add links', '', '')}</h3> {/* 2nd and 3rd args empty string until typedef marked correctly */}\n <div className='psdk-modal-body'>\n <div className='psdk-modal-links-row'>\n <div className='psdk-links-two-column'>\n <div className='psdk-modal-link-data'>\n <TextField\n fullWidth\n variant='outlined'\n label='Link title'\n size='small'\n required={required}\n value={link.title}\n onChange={fieldlinkOnChange}\n />\n </div>\n <div className='psdk-modal-link-data'>\n <TextField\n fullWidth\n variant='outlined'\n label='URL'\n size='small'\n required={required}\n value={link.url}\n onChange={fieldurlOnChange}\n />\n </div>\n </div>\n <div className='psdk-modal-link-add'>\n <Button\n className='psdk-add-link-action'\n color='primary'\n variant='contained'\n component='span'\n onClick={addLink}\n disabled={link.disable}\n >\n {thePConn.getLocalizedValue('Add link', '', '')}\n </Button>{' '}\n {/* 2nd and 3rd args empty string until typedef marked correctly */}\n </div>\n </div>\n {linkData.linksList.length > 0 && (\n <div style={{ marginTop: '1rem' }}>\n <SummaryList menuIconOverride$='trash' arItems$={linkData.linksList} menuIconOverrideAction$={removeLinksFromList} />\n </div>\n )}\n <ActionButtonsForFileUtil\n arMainButtons={linkData.linkMainButtons}\n arSecondaryButtons={linkData.linkSecondaryButtons}\n primaryAction={onAttachLinks}\n secondaryAction={closeAddLinksPopup}\n />\n </div>\n </div>\n </div>\n )}\n {showViewAllModal && (\n <div className='psdk-dialog-background'>\n <div className='psdk-modal-file-top'>\n <div className='psdk-view-all-header'>\n <h3>{thePConn.getLocalizedValue('Attachments', '', '')}</h3> {/* 2nd and 3rd args empty string until typedef marked correctly */}\n {/* eslint-disable-next-line jsx-a11y/control-has-associated-label */}\n <button type='button' className='psdk-close-button' onClick={() => setViewAll(false)}>\n <img className='psdk-utility-card-actions-svg-icon' src={closeSvgIcon} />\n </button>\n </div>\n <div className='psdk-view-all-body'>\n <SummaryList arItems$={vaItems} />\n </div>\n </div>\n </div>\n )}\n </div>\n );\n}\n"]}
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { Card, CardContent, CardHeader, Typography } from '@material-ui/core';
3
- import { makeStyles } from '@material-ui/core/styles';
2
+ import { Card, CardContent, CardHeader, Typography } from '@mui/material';
3
+ import makeStyles from '@mui/styles/makeStyles';
4
4
  const useStyles = makeStyles(theme => ({
5
5
  root: {
6
6
  paddingRight: theme.spacing(1),
@@ -1 +1 @@
1
- {"version":3,"file":"Followers.js","sourceRoot":"","sources":["../../../../src/components/widget/Followers/Followers.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC9E,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAOtD,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACrC,IAAI,EAAE;QACJ,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAC9B,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAC7B,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAC5B,aAAa,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAC/B,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAC7B,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAC5B,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAC3B,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAC9B,2BAA2B;QAC3B,8BAA8B;KAC/B;CACF,CAAC,CAAC,CAAC;AAEJ,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,KAAwC;IACxE,MAAM,aAAa,GAAG,WAAW,CAAC;IAClC,6DAA6D;IAC7D,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IAC3B,MAAM,OAAO,GAAG,SAAS,EAAE,CAAC;IAE5B,OAAO,CACL,MAAC,IAAI,IAAC,SAAS,EAAE,OAAO,CAAC,IAAI,aAC3B,KAAC,UAAU,IACT,KAAK,EACH,MAAC,UAAU,IAAC,OAAO,EAAC,IAAI,EAAC,SAAS,EAAC,KAAK,aACrC,aAAa,SAAI,uCAAoB,IAC3B,GAEf,EACF,KAAC,WAAW,cACV,MAAC,UAAU,eAAE,aAAa,gBAAsB,GACpC,IACT,CACR,CAAC;AACJ,CAAC","sourcesContent":["import { PropsWithChildren } from 'react';\nimport { Card, CardContent, CardHeader, Typography } from '@material-ui/core';\nimport { makeStyles } from '@material-ui/core/styles';\nimport { PConnProps } from '../../../types/PConnProps';\n\ninterface FollowersProps extends PConnProps {\n // If any, enter additional props that only exist on this component\n}\n\nconst useStyles = makeStyles(theme => ({\n root: {\n paddingRight: theme.spacing(1),\n paddingLeft: theme.spacing(1),\n paddingTop: theme.spacing(1),\n paddingBottom: theme.spacing(1),\n marginRight: theme.spacing(1),\n marginLeft: theme.spacing(1),\n marginTop: theme.spacing(1),\n marginBottom: theme.spacing(1)\n // borderLeft: \"6px solid\",\n // borderLeftColor: green[300]\n }\n}));\n\nexport default function Followers(props: PropsWithChildren<FollowersProps>) {\n const componentName = 'Followers';\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { children } = props;\n const classes = useStyles();\n\n return (\n <Card className={classes.root}>\n <CardHeader\n title={\n <Typography variant='h6' component='div'>\n {componentName} - <em>unsupported</em>\n </Typography>\n }\n />\n <CardContent>\n <Typography>{componentName} content</Typography>\n </CardContent>\n </Card>\n );\n}\n"]}
1
+ {"version":3,"file":"Followers.js","sourceRoot":"","sources":["../../../../src/components/widget/Followers/Followers.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC1E,OAAO,UAAU,MAAM,wBAAwB,CAAC;AAOhD,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACrC,IAAI,EAAE;QACJ,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAC9B,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAC7B,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAC5B,aAAa,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAC/B,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAC7B,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAC5B,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAC3B,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAC9B,2BAA2B;QAC3B,8BAA8B;KAC/B;CACF,CAAC,CAAC,CAAC;AAEJ,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,KAAwC;IACxE,MAAM,aAAa,GAAG,WAAW,CAAC;IAClC,6DAA6D;IAC7D,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IAC3B,MAAM,OAAO,GAAG,SAAS,EAAE,CAAC;IAE5B,OAAO,CACL,MAAC,IAAI,IAAC,SAAS,EAAE,OAAO,CAAC,IAAI,aAC3B,KAAC,UAAU,IACT,KAAK,EACH,MAAC,UAAU,IAAC,OAAO,EAAC,IAAI,EAAC,SAAS,EAAC,KAAK,aACrC,aAAa,SAAI,uCAAoB,IAC3B,GAEf,EACF,KAAC,WAAW,cACV,MAAC,UAAU,eAAE,aAAa,gBAAsB,GACpC,IACT,CACR,CAAC;AACJ,CAAC","sourcesContent":["import { PropsWithChildren } from 'react';\nimport { Card, CardContent, CardHeader, Typography } from '@mui/material';\nimport makeStyles from '@mui/styles/makeStyles';\nimport { PConnProps } from '../../../types/PConnProps';\n\ninterface FollowersProps extends PConnProps {\n // If any, enter additional props that only exist on this component\n}\n\nconst useStyles = makeStyles(theme => ({\n root: {\n paddingRight: theme.spacing(1),\n paddingLeft: theme.spacing(1),\n paddingTop: theme.spacing(1),\n paddingBottom: theme.spacing(1),\n marginRight: theme.spacing(1),\n marginLeft: theme.spacing(1),\n marginTop: theme.spacing(1),\n marginBottom: theme.spacing(1)\n // borderLeft: \"6px solid\",\n // borderLeftColor: green[300]\n }\n}));\n\nexport default function Followers(props: PropsWithChildren<FollowersProps>) {\n const componentName = 'Followers';\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { children } = props;\n const classes = useStyles();\n\n return (\n <Card className={classes.root}>\n <CardHeader\n title={\n <Typography variant='h6' component='div'>\n {componentName} - <em>unsupported</em>\n </Typography>\n }\n />\n <CardContent>\n <Typography>{componentName} content</Typography>\n </CardContent>\n </Card>\n );\n}\n"]}