@pega/react-sdk-components 8.23.10 → 8.23.11-debug
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.
- package/lib/bridge/Context/StoreContext.d.ts +3 -2
- package/lib/bridge/Context/StoreContext.d.ts.map +1 -1
- package/lib/bridge/Context/StoreContext.js +2 -3
- package/lib/bridge/Context/StoreContext.js.map +1 -1
- package/lib/bridge/helpers/sdk_component_map.d.ts +1 -0
- package/lib/bridge/helpers/sdk_component_map.d.ts.map +1 -1
- package/lib/bridge/helpers/sdk_component_map.js +22 -0
- package/lib/bridge/helpers/sdk_component_map.js.map +1 -1
- package/lib/bridge/react_pconnect.d.ts.map +1 -1
- package/lib/bridge/react_pconnect.js +2 -14
- package/lib/bridge/react_pconnect.js.map +1 -1
- package/lib/components/designSystemExtension/AlertBanner/AlertBanner.d.ts +13 -0
- package/lib/components/designSystemExtension/AlertBanner/AlertBanner.d.ts.map +1 -0
- package/lib/components/designSystemExtension/AlertBanner/AlertBanner.js +26 -0
- package/lib/components/designSystemExtension/AlertBanner/AlertBanner.js.map +1 -0
- package/lib/components/designSystemExtension/AlertBanner/index.d.ts +2 -0
- package/lib/components/designSystemExtension/AlertBanner/index.d.ts.map +1 -0
- package/lib/components/designSystemExtension/AlertBanner/index.js +2 -0
- package/lib/components/designSystemExtension/AlertBanner/index.js.map +1 -0
- package/lib/components/designSystemExtension/FieldGroupList/FieldGroupList.d.ts.map +1 -1
- package/lib/components/designSystemExtension/FieldGroupList/FieldGroupList.js +1 -1
- package/lib/components/designSystemExtension/FieldGroupList/FieldGroupList.js.map +1 -1
- package/lib/components/designSystemExtension/Operator/Operator.d.ts.map +1 -1
- package/lib/components/designSystemExtension/Operator/Operator.js +12 -10
- package/lib/components/designSystemExtension/Operator/Operator.js.map +1 -1
- package/lib/components/designSystemExtension/WssQuickCreate/WssQuickCreate.js +2 -2
- package/lib/components/designSystemExtension/WssQuickCreate/WssQuickCreate.js.map +1 -1
- package/lib/components/field/CancelAlert/CancelAlert.d.ts.map +1 -1
- package/lib/components/field/CancelAlert/CancelAlert.js +9 -7
- package/lib/components/field/CancelAlert/CancelAlert.js.map +1 -1
- package/lib/components/field/Checkbox/Checkbox.d.ts.map +1 -1
- package/lib/components/field/Checkbox/Checkbox.js +3 -3
- package/lib/components/field/Checkbox/Checkbox.js.map +1 -1
- package/lib/components/field/Currency/currency-utils.d.ts +1 -1
- package/lib/components/field/Currency/currency-utils.d.ts.map +1 -1
- package/lib/components/field/Currency/currency-utils.js.map +1 -1
- package/lib/components/field/Date/Date.d.ts.map +1 -1
- package/lib/components/field/Date/Date.js +11 -5
- package/lib/components/field/Date/Date.js.map +1 -1
- package/lib/components/field/DateTime/DateTime.js +1 -1
- package/lib/components/field/DateTime/DateTime.js.map +1 -1
- package/lib/components/field/Decimal/Decimal.d.ts.map +1 -1
- package/lib/components/field/Decimal/Decimal.js +41 -8
- package/lib/components/field/Decimal/Decimal.js.map +1 -1
- package/lib/components/field/Dropdown/Dropdown.d.ts.map +1 -1
- package/lib/components/field/Dropdown/Dropdown.js +21 -7
- package/lib/components/field/Dropdown/Dropdown.js.map +1 -1
- package/lib/components/field/Phone/Phone.d.ts.map +1 -1
- package/lib/components/field/Phone/Phone.js +2 -1
- package/lib/components/field/Phone/Phone.js.map +1 -1
- package/lib/components/field/RadioButtons/RadioButtons.d.ts.map +1 -1
- package/lib/components/field/RadioButtons/RadioButtons.js +17 -4
- package/lib/components/field/RadioButtons/RadioButtons.js.map +1 -1
- package/lib/components/field/SemanticLink/utils.d.ts.map +1 -1
- package/lib/components/field/SemanticLink/utils.js.map +1 -1
- package/lib/components/field/TextInput/TextInput.d.ts.map +1 -1
- package/lib/components/field/TextInput/TextInput.js +20 -3
- package/lib/components/field/TextInput/TextInput.js.map +1 -1
- package/lib/components/field/Time/Time.d.ts.map +1 -1
- package/lib/components/field/Time/Time.js +6 -2
- package/lib/components/field/Time/Time.js.map +1 -1
- package/lib/components/field/URL/URL.d.ts.map +1 -1
- package/lib/components/field/URL/URL.js +6 -2
- package/lib/components/field/URL/URL.js.map +1 -1
- package/lib/components/field/UserReference/UserReference.d.ts.map +1 -1
- package/lib/components/field/UserReference/UserReference.js.map +1 -1
- package/lib/components/helpers/attachmentHelpers.d.ts +5 -5
- package/lib/components/helpers/attachmentHelpers.d.ts.map +1 -1
- package/lib/components/helpers/attachmentHelpers.js +2 -2
- package/lib/components/helpers/attachmentHelpers.js.map +1 -1
- package/lib/components/helpers/auth.d.ts.map +1 -1
- package/lib/components/helpers/auth.js +11 -3
- package/lib/components/helpers/auth.js.map +1 -1
- package/lib/components/helpers/authManager.d.ts.map +1 -1
- package/lib/components/helpers/authManager.js +15 -12
- package/lib/components/helpers/authManager.js.map +1 -1
- package/lib/components/helpers/case-utils.d.ts +20 -0
- package/lib/components/helpers/case-utils.d.ts.map +1 -0
- package/lib/components/helpers/case-utils.js +81 -0
- package/lib/components/helpers/case-utils.js.map +1 -0
- package/lib/components/helpers/common-utils.d.ts +2 -0
- package/lib/components/helpers/common-utils.d.ts.map +1 -0
- package/lib/components/helpers/common-utils.js +5 -0
- package/lib/components/helpers/common-utils.js.map +1 -0
- package/lib/components/helpers/config_access.d.ts.map +1 -1
- package/lib/components/helpers/config_access.js +75 -82
- package/lib/components/helpers/config_access.js.map +1 -1
- package/lib/components/helpers/data_page.d.ts.map +1 -1
- package/lib/components/helpers/data_page.js.map +1 -1
- package/lib/components/helpers/date-format-utils.d.ts.map +1 -1
- package/lib/components/helpers/date-format-utils.js +23 -14
- package/lib/components/helpers/date-format-utils.js.map +1 -1
- package/lib/components/helpers/event-utils.d.ts +1 -1
- package/lib/components/helpers/event-utils.d.ts.map +1 -1
- package/lib/components/helpers/event-utils.js.map +1 -1
- package/lib/components/helpers/field-group-utils.d.ts +15 -2
- package/lib/components/helpers/field-group-utils.d.ts.map +1 -1
- package/lib/components/helpers/field-group-utils.js +3 -3
- package/lib/components/helpers/field-group-utils.js.map +1 -1
- package/lib/components/helpers/formatters/Boolean.d.ts +3 -3
- package/lib/components/helpers/formatters/Boolean.d.ts.map +1 -1
- package/lib/components/helpers/formatters/Boolean.js.map +1 -1
- package/lib/components/helpers/formatters/Currency.d.ts.map +1 -1
- package/lib/components/helpers/formatters/Currency.js +4 -3
- package/lib/components/helpers/formatters/Currency.js.map +1 -1
- package/lib/components/helpers/formatters/CurrencyMap.d.ts +1132 -1399
- package/lib/components/helpers/formatters/CurrencyMap.d.ts.map +1 -1
- package/lib/components/helpers/formatters/CurrencyMap.js.map +1 -1
- package/lib/components/helpers/formatters/Date.d.ts.map +1 -1
- package/lib/components/helpers/formatters/Date.js +1 -1
- package/lib/components/helpers/formatters/Date.js.map +1 -1
- package/lib/components/helpers/formatters/common.d.ts +2 -2
- package/lib/components/helpers/formatters/common.d.ts.map +1 -1
- package/lib/components/helpers/formatters/common.js +4 -5
- package/lib/components/helpers/formatters/common.js.map +1 -1
- package/lib/components/helpers/formatters/index.d.ts +1 -1
- package/lib/components/helpers/formatters/index.d.ts.map +1 -1
- package/lib/components/helpers/formatters/index.js.map +1 -1
- package/lib/components/helpers/reactContextHelpers.d.ts +3 -2
- package/lib/components/helpers/reactContextHelpers.d.ts.map +1 -1
- package/lib/components/helpers/reactContextHelpers.js.map +1 -1
- package/lib/components/helpers/simpleTableHelpers.d.ts +2 -2
- package/lib/components/helpers/simpleTableHelpers.d.ts.map +1 -1
- package/lib/components/helpers/simpleTableHelpers.js +5 -2
- package/lib/components/helpers/simpleTableHelpers.js.map +1 -1
- package/lib/components/helpers/state-utils.d.ts +4 -0
- package/lib/components/helpers/state-utils.d.ts.map +1 -0
- package/lib/components/helpers/state-utils.js +36 -0
- package/lib/components/helpers/state-utils.js.map +1 -0
- package/lib/components/helpers/template-utils.d.ts.map +1 -1
- package/lib/components/helpers/template-utils.js +0 -1
- package/lib/components/helpers/template-utils.js.map +1 -1
- package/lib/components/helpers/utils.d.ts +1 -1
- package/lib/components/helpers/utils.d.ts.map +1 -1
- package/lib/components/helpers/utils.js +9 -3
- package/lib/components/helpers/utils.js.map +1 -1
- package/lib/components/helpers/versionHelpers.d.ts +0 -6
- package/lib/components/helpers/versionHelpers.d.ts.map +1 -1
- package/lib/components/helpers/versionHelpers.js +0 -6
- package/lib/components/helpers/versionHelpers.js.map +1 -1
- package/lib/components/infra/ActionButtons/ActionButtons.d.ts.map +1 -1
- package/lib/components/infra/ActionButtons/ActionButtons.js +4 -2
- package/lib/components/infra/ActionButtons/ActionButtons.js.map +1 -1
- package/lib/components/infra/Assignment/Assignment.d.ts +1 -0
- package/lib/components/infra/Assignment/Assignment.d.ts.map +1 -1
- package/lib/components/infra/Assignment/Assignment.js +27 -15
- package/lib/components/infra/Assignment/Assignment.js.map +1 -1
- package/lib/components/infra/Containers/FlowContainer/FlowContainer.d.ts.map +1 -1
- package/lib/components/infra/Containers/FlowContainer/FlowContainer.js +17 -9
- package/lib/components/infra/Containers/FlowContainer/FlowContainer.js.map +1 -1
- package/lib/components/infra/Containers/FlowContainer/helpers.d.ts +12 -12
- package/lib/components/infra/Containers/FlowContainer/helpers.d.ts.map +1 -1
- package/lib/components/infra/Containers/FlowContainer/helpers.js +17 -16
- package/lib/components/infra/Containers/FlowContainer/helpers.js.map +1 -1
- package/lib/components/infra/Containers/ModalViewContainer/ModalViewContainer.d.ts.map +1 -1
- package/lib/components/infra/Containers/ModalViewContainer/ModalViewContainer.js +17 -8
- package/lib/components/infra/Containers/ModalViewContainer/ModalViewContainer.js.map +1 -1
- package/lib/components/infra/Containers/ViewContainer/ViewContainer.d.ts.map +1 -1
- package/lib/components/infra/Containers/ViewContainer/ViewContainer.js +4 -2
- package/lib/components/infra/Containers/ViewContainer/ViewContainer.js.map +1 -1
- package/lib/components/infra/DashboardFilter/DashboardFilter.d.ts.map +1 -1
- package/lib/components/infra/DashboardFilter/DashboardFilter.js.map +1 -1
- package/lib/components/infra/DashboardFilter/filterUtils.d.ts.map +1 -1
- package/lib/components/infra/DashboardFilter/filterUtils.js.map +1 -1
- package/lib/components/infra/DeferLoad/DeferLoad.d.ts.map +1 -1
- package/lib/components/infra/DeferLoad/DeferLoad.js.map +1 -1
- package/lib/components/infra/ErrorBoundary/ErrorBoundary.d.ts.map +1 -1
- package/lib/components/infra/ErrorBoundary/ErrorBoundary.js +7 -4
- package/lib/components/infra/ErrorBoundary/ErrorBoundary.js.map +1 -1
- package/lib/components/infra/MultiStep/MultiStep.js +2 -2
- package/lib/components/infra/MultiStep/MultiStep.js.map +1 -1
- package/lib/components/infra/NavBar/NavBar.d.ts.map +1 -1
- package/lib/components/infra/NavBar/NavBar.js +6 -4
- package/lib/components/infra/NavBar/NavBar.js.map +1 -1
- package/lib/components/infra/RootContainer/RootContainer.d.ts.map +1 -1
- package/lib/components/infra/RootContainer/RootContainer.js +12 -15
- package/lib/components/infra/RootContainer/RootContainer.js.map +1 -1
- package/lib/components/infra/Stages/Stages.d.ts.map +1 -1
- package/lib/components/infra/Stages/Stages.js +2 -1
- package/lib/components/infra/Stages/Stages.js.map +1 -1
- package/lib/components/infra/View/View.d.ts +1 -1
- package/lib/components/infra/View/View.d.ts.map +1 -1
- package/lib/components/infra/View/View.js +6 -34
- package/lib/components/infra/View/View.js.map +1 -1
- package/lib/components/template/AppShell/AppShell.d.ts.map +1 -1
- package/lib/components/template/AppShell/AppShell.js +8 -8
- package/lib/components/template/AppShell/AppShell.js.map +1 -1
- package/lib/components/template/CaseView/CaseView.d.ts +1 -1
- package/lib/components/template/CaseView/CaseView.d.ts.map +1 -1
- package/lib/components/template/CaseView/CaseView.js +37 -28
- package/lib/components/template/CaseView/CaseView.js.map +1 -1
- package/lib/components/template/CaseViewActionsMenu/CaseViewActionsMenu.d.ts +3 -1
- package/lib/components/template/CaseViewActionsMenu/CaseViewActionsMenu.d.ts.map +1 -1
- package/lib/components/template/CaseViewActionsMenu/CaseViewActionsMenu.js +13 -8
- package/lib/components/template/CaseViewActionsMenu/CaseViewActionsMenu.js.map +1 -1
- package/lib/components/template/Confirmation/Confirmation.d.ts.map +1 -1
- package/lib/components/template/Confirmation/Confirmation.js.map +1 -1
- package/lib/components/template/DataReference/DataReference.d.ts.map +1 -1
- package/lib/components/template/DataReference/DataReference.js.map +1 -1
- package/lib/components/template/DefaultForm/DefaultForm.d.ts.map +1 -1
- package/lib/components/template/DefaultForm/DefaultForm.js +9 -5
- package/lib/components/template/DefaultForm/DefaultForm.js.map +1 -1
- package/lib/components/template/DefaultForm/utils/index.d.ts +3 -0
- package/lib/components/template/DefaultForm/utils/index.d.ts.map +1 -0
- package/lib/components/template/DefaultForm/utils/index.js +27 -0
- package/lib/components/template/DefaultForm/utils/index.js.map +1 -0
- package/lib/components/template/FieldGroupTemplate/FieldGroupTemplate.d.ts.map +1 -1
- package/lib/components/template/FieldGroupTemplate/FieldGroupTemplate.js +1 -1
- package/lib/components/template/FieldGroupTemplate/FieldGroupTemplate.js.map +1 -1
- package/lib/components/template/ListView/DefaultViewMeta.d.ts +1 -90
- package/lib/components/template/ListView/DefaultViewMeta.d.ts.map +1 -1
- package/lib/components/template/ListView/DefaultViewMeta.js.map +1 -1
- package/lib/components/template/ListView/ListView.d.ts.map +1 -1
- package/lib/components/template/ListView/ListView.js +1 -1
- package/lib/components/template/ListView/ListView.js.map +1 -1
- package/lib/components/template/ListView/hooks.d.ts.map +1 -1
- package/lib/components/template/ListView/hooks.js +0 -1
- package/lib/components/template/ListView/hooks.js.map +1 -1
- package/lib/components/template/ListView/utils.d.ts +28 -16
- package/lib/components/template/ListView/utils.d.ts.map +1 -1
- package/lib/components/template/ListView/utils.js +1 -2
- package/lib/components/template/ListView/utils.js.map +1 -1
- package/lib/components/template/MultiReferenceReadOnly/MultiReferenceReadOnly.d.ts.map +1 -1
- package/lib/components/template/MultiReferenceReadOnly/MultiReferenceReadOnly.js.map +1 -1
- package/lib/components/template/PromotedFilters/PromotedFilters.d.ts.map +1 -1
- package/lib/components/template/PromotedFilters/PromotedFilters.js +2 -2
- package/lib/components/template/PromotedFilters/PromotedFilters.js.map +1 -1
- package/lib/components/template/SimpleTable/SimpleTable/SimpleTable.d.ts.map +1 -1
- package/lib/components/template/SimpleTable/SimpleTable/SimpleTable.js.map +1 -1
- package/lib/components/template/SimpleTable/SimpleTableManual/SimpleTableManual.d.ts.map +1 -1
- package/lib/components/template/SimpleTable/SimpleTableManual/SimpleTableManual.js +3 -3
- package/lib/components/template/SimpleTable/SimpleTableManual/SimpleTableManual.js.map +1 -1
- package/lib/components/template/SimpleTable/SimpleTableSelect/SimpleTableSelect.d.ts.map +1 -1
- package/lib/components/template/SimpleTable/SimpleTableSelect/SimpleTableSelect.js.map +1 -1
- package/lib/components/template/SubTabs/tabUtils.d.ts.map +1 -1
- package/lib/components/template/SubTabs/tabUtils.js.map +1 -1
- package/lib/components/template/WssNavBar/WssNavBar.js +2 -2
- package/lib/components/template/WssNavBar/WssNavBar.js.map +1 -1
- package/lib/components/widget/Attachment/Attachment.css +15 -3
- package/lib/components/widget/Attachment/Attachment.d.ts.map +1 -1
- package/lib/components/widget/Attachment/Attachment.js +29 -25
- package/lib/components/widget/Attachment/Attachment.js.map +1 -1
- package/lib/components/widget/CaseHistory/CaseHistory.js +3 -3
- package/lib/components/widget/CaseHistory/CaseHistory.js.map +1 -1
- package/lib/components/widget/FileUtility/FileUtility/FileUtility.d.ts.map +1 -1
- package/lib/components/widget/FileUtility/FileUtility/FileUtility.js +17 -17
- package/lib/components/widget/FileUtility/FileUtility/FileUtility.js.map +1 -1
- package/lib/components/widget/QuickCreate/QuickCreate.d.ts.map +1 -1
- package/lib/components/widget/QuickCreate/QuickCreate.js +2 -2
- package/lib/components/widget/QuickCreate/QuickCreate.js.map +1 -1
- package/lib/components/widget/SummaryItem/SummaryItem.d.ts.map +1 -1
- package/lib/components/widget/SummaryItem/SummaryItem.js +2 -2
- package/lib/components/widget/SummaryItem/SummaryItem.js.map +1 -1
- package/lib/components/widget/ToDo/ToDo.d.ts.map +1 -1
- package/lib/components/widget/ToDo/ToDo.js +10 -6
- package/lib/components/widget/ToDo/ToDo.js.map +1 -1
- package/lib/components_map.d.ts +3 -3
- package/lib/components_map.d.ts.map +1 -1
- package/lib/components_map.js +819 -818
- package/lib/components_map.js.map +1 -1
- package/lib/doc/KeyReleaseUpdates.md +44 -9
- 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\nimport { Button } from '@material-ui/core';\nimport React, { useState, useEffect } from 'react';\nimport { buildFilePropsFromResponse, getIconFromFileType, validateMaxSize, getIconForAttachment } from '../../helpers/attachmentHelpers';\nimport './Attachment.css';\nimport SummaryList from '../SummaryList'\nimport { CircularProgress } from \"@material-ui/core\";\nimport download from \"downloadjs\";\n\ndeclare const PCore: any;\n\nfunction getCurrentAttachmentsList(context) {\n return PCore.getStoreValue('.attachmentsList', 'context_data', context) || [];\n}\n\nexport default function Attachment(props) {\n const {value, getPConnect, label} = 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(\n prop => prop === true || (typeof prop === 'string' && prop === 'true')\n );\n let arFileList$: Array<any> = [];\n const pConn = getPConnect();\n const caseID = PCore.getStoreValue('.pyID', 'caseInfo.content', pConn.getContextName());\n let fileTemp: any = {};\n\n let categoryName = '';\n if (value && value.pyCategoryName) {\n categoryName = value.pyCategoryName;\n }\n\n let valueRef = pConn.getStateProps().value;\n valueRef = valueRef.indexOf('.') === 0 ? valueRef.substring(1) : valueRef;\n const [file, setFile] = useState(fileTemp);\n\n const resetAttachmentStoredState = () => {\n PCore.getStateUtils().updateState(pConn.getContextName(), 'attachmentsList', 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 function _downloadFileFromList(fileObj: any) {\n PCore.getAttachmentUtils()\n .downloadAttachment(fileObj.pzInsKey, pConn.getContextName())\n .then((content) => {\n const extension = fileObj.pyAttachName.split(\".\").pop();\n fileDownload(content.data, fileObj.pyFileName, extension);\n })\n .catch(() => {});\n }\n\n function setNewFiles(arFiles) {\n let index = 0;\n for (const item of arFiles) {\n if (!validateMaxSize(item, 5)) {\n item.error = true;\n item.meta = \"File is too big. Max allowed size is 5MB.\";\n }\n item.mimeType = item.type;\n item.icon = getIconFromFileType(item.type);\n item.ID = `${new Date().getTime()}I${index}`;\n index+=1;\n }\n return arFiles;\n }\n\n function getFiles(arFiles: Array<any>) {\n return setNewFiles(arFiles);\n }\n\n function getNewListUtilityItemProps({\n att,\n cancelFile,\n downloadFile,\n deleteFile,\n removeFile\n }) {\n let actions;\n if (att.progress && att.progress !== 100) {\n actions = [\n {\n id: `Cancel-${att.ID}`,\n text: \"Cancel\",\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 ? \"Download\" : \"Open\",\n icon: isFile ? \"download\" : \"open\",\n onClick: downloadFile\n }\n ],\n [\n \"delete\",\n {\n id: `Delete-${ID}`,\n text: \"Delete\",\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: \"Remove\",\n icon: \"trash\",\n onClick: removeFile\n }\n ];\n }\n return {\n id: att.ID,\n visual: {\n icon: getIconForAttachment(att),\n progress: att.progress === 100 ? undefined: att.progress,\n },\n primary: {\n type: att.type,\n name: att.error ? att.fileName : att.name,\n icon: \"trash\",\n click: removeFile,\n },\n secondary: {\n text: att.meta,\n error: att.error\n },\n actions\n };\n };\n\n const onFileAdded = (event) => {\n const addedFile = event.target.files[0];\n setFile({\n props: {\n name: addedFile.name,\n icon: getIconFromFileType(addedFile.type),\n },\n inProgress: true\n });\n const arFiles$ = getFiles(event.target.files);\n const myFiles: any = Array.from(arFiles$);\n\n const onUploadProgress = () => {};\n\n const errorHandler = (isFetchCanceled) => {\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 myFiles[0].meta = uploadFailMsg;\n myFiles[0].error = true;\n myFiles[0].fileName = pConn.getLocalizedValue('Unable to upload file');\n arFileList$ = myFiles.map((att) => {\n return getNewListUtilityItemProps({\n att,\n downloadFile: null,\n cancelFile: null,\n deleteFile: null,\n removeFile: null\n });\n });\n setFile((current) => {\n return {\n ...current,\n props: {\n ...current.props,\n arFileList$\n },\n inProgress: false,\n attachmentUploaded: true,\n showMenuIcon: false\n };\n });\n }\n throw error;\n };\n };\n\n PCore.getAttachmentUtils()\n .uploadAttachment(\n myFiles[0],\n onUploadProgress,\n errorHandler,\n pConn.getContextName()\n )\n .then((fileRes) => {\n let reqObj;\n if (PCore.getPCoreVersion()?.includes('8.7')) {\n reqObj = {\n type: \"File\",\n attachmentFieldName: valueRef,\n category: categoryName,\n ID: fileRes.ID\n };\n pConn.attachmentsInfo = reqObj;\n } else {\n reqObj = {\n type: \"File\",\n label: valueRef,\n category: categoryName,\n handle: fileRes.ID,\n ID: fileRes.clientFileID\n };\n const currentAttachmentList = getCurrentAttachmentsList(pConn.getContextName()).filter(\n (f) => f.label !== valueRef\n );\n PCore.getStateUtils().updateState(\n pConn.getContextName(),\n 'attachmentsList',\n [...currentAttachmentList, reqObj],\n {\n pageReference: 'context_data',\n isArrayDeepMerge: false\n }\n );\n }\n const fieldName = pConn.getStateProps().value;\n const context = pConn.getContextName();\n\n PCore.getMessageManager().clearMessages({\n type: PCore.getConstants().MESSAGES.MESSAGES_TYPE_ERROR,\n property: fieldName,\n pageReference: pConn.getPageReference(),\n context\n });\n myFiles[0].meta = \"Uploaded Successfully\";\n\n arFileList$ = myFiles.map((att) => {\n return getNewListUtilityItemProps({\n att,\n downloadFile: null,\n cancelFile: null,\n deleteFile: null,\n removeFile: null\n });\n });\n setFile((current) => {\n return {\n ...current,\n props: {\n ...current.props,\n arFileList$\n },\n inProgress: false,\n attachmentUploaded: true,\n showMenuIcon: false\n };\n });\n })\n\n .catch(() => {\n // just catching the rethrown error at uploadAttachment\n // to handle Unhandled rejections\n });\n };\n\n function _removeFileFromList(item: any, list) {\n const arFileList = file.props ? file.props.arFileList$ : list;\n const fileIndex = arFileList.findIndex(element => element?.id === item?.id);\n if (PCore.getPCoreVersion()?.includes('8.7')) {\n if (value) {\n pConn.attachmentsInfo = {\n type: \"File\",\n attachmentFieldName: valueRef,\n delete: true\n };\n }\n if (fileIndex > -1) { arFileList.splice(parseInt(fileIndex, 10), 1) };\n setFile((current) => {\n return {\n ...current,\n props: {\n ...current.props,\n arFileList\n },\n };\n });\n } else {\n const attachmentsList = [];\n const currentAttachmentList = getCurrentAttachmentsList(pConn.getContextName()).filter(\n (f) => f.label !== valueRef\n );\n if (value && value.pxResults && +value.pyCount > 0) {\n const deletedFile = {\n type: \"File\",\n label: valueRef,\n delete: true,\n responseProps: {\n pzInsKey: arFileList[fileIndex].id\n },\n };\n // updating the redux store to help form-handler in passing the data to delete the file from server\n PCore.getStateUtils().updateState(\n pConn.getContextName(),\n 'attachmentsList',\n [...currentAttachmentList, deletedFile],\n {\n pageReference: 'context_data',\n isArrayDeepMerge: false\n }\n );\n } else {\n PCore.getStateUtils().updateState(\n pConn.getContextName(),\n 'attachmentsList',\n [...currentAttachmentList, ...attachmentsList],\n {\n pageReference: 'context_data',\n isArrayDeepMerge: false\n }\n );\n }\n if (fileIndex > -1) { arFileList.splice(parseInt(fileIndex, 10), 1) };\n setFile((current) => {\n return {\n ...current,\n props: {\n ...current.props,\n arFileList\n },\n };\n });\n }\n }\n\n useEffect(() => {\n if (value && value.pxResults && +value.pyCount > 0) {\n fileTemp = buildFilePropsFromResponse(value.pxResults[0]);\n\n if (fileTemp.responseProps) {\n if (!pConn.attachmentsInfo) {\n pConn.attachmentsInfo = {\n type: \"File\",\n attachmentFieldName: valueRef,\n category: categoryName\n };\n }\n\n if (fileTemp.responseProps.pzInsKey && !fileTemp.responseProps.pzInsKey.includes(\"temp\")) {\n\n fileTemp.props.type = fileTemp.responseProps.pyMimeFileExtension;\n fileTemp.props.mimeType = fileTemp.responseProps.pyMimeFileExtension;\n fileTemp.props.ID = fileTemp.responseProps.pzInsKey;\n // create the actions for the \"more\" menu on the attachment\n const arMenuList: Array<any> = [];\n let oMenu: any = {};\n\n oMenu.icon = \"download\";\n oMenu.text = \"Download\";\n oMenu.onClick = () => { _downloadFileFromList(value.pxResults[0])}\n arMenuList.push(oMenu);\n oMenu = {};\n oMenu.icon = \"trash\";\n oMenu.text = \"Delete\";\n oMenu.onClick = () => { _removeFileFromList(arFileList$[0], arFileList$)}\n arMenuList.push(oMenu);\n\n arFileList$.push(getNewListUtilityItemProps({\n att: fileTemp.props,\n downloadFile: null,\n cancelFile: null,\n deleteFile: null,\n removeFile: null\n }));\n arFileList$[0].actions = arMenuList;\n\n setFile((current) => {\n return {\n ...current,\n props: {\n ...current.props,\n arFileList$\n },\n inProgress: false,\n attachmentUploaded: true,\n showMenuIcon: true\n };\n });\n }\n\n if (fileTemp) {\n const currentAttachmentList = getCurrentAttachmentsList(pConn.getContextName());\n const index = currentAttachmentList.findIndex(element => element.props.ID === fileTemp.props.ID);\n let tempFiles: any = [];\n if (index < 0) {\n tempFiles = [fileTemp];\n }\n PCore.getStateUtils().updateState(\n pConn.getContextName(),\n 'attachmentsList',\n [...currentAttachmentList, ...tempFiles],\n {\n pageReference: 'context_data',\n isArrayDeepMerge: false\n }\n );\n }\n }\n }\n PCore.getPubSubUtils().subscribe(\n PCore.getConstants().PUB_SUB_EVENTS.CASE_EVENTS.ASSIGNMENT_SUBMISSION,\n resetAttachmentStoredState,\n caseID\n );\n return () => {\n PCore.getPubSubUtils().unsubscribe(PCore.getConstants().PUB_SUB_EVENTS.CASE_EVENTS.ASSIGNMENT_SUBMISSION, caseID);\n };\n }, []);\n\n let content = (\n <div className='file-div'>\n {file.inProgress && (<div className=\"progress-div\"><CircularProgress /></div>)}\n <div hidden={true} id=\"attachment-ID\">{valueRef}</div>\n <label htmlFor={valueRef}>\n <input\n style={{ display: 'none' }}\n id={valueRef}\n name='upload-photo'\n type='file'\n required={required}\n onChange={onFileAdded}\n />\n <Button variant='outlined' color='primary' component=\"span\">\n Upload file\n </Button>\n </label>\n </div>\n );\n\n if (file && file.attachmentUploaded && file.props.arFileList$ && file.props.arFileList$.length > 0) {\n content = (\n <div>\n {file.showMenuIcon && (<SummaryList arItems$={file.props.arFileList$} menuIconOverrideAction$={_removeFileFromList}></SummaryList>)}\n {!file.showMenuIcon && (<SummaryList menuIconOverride$='trash' arItems$={file.props.arFileList$} menuIconOverrideAction$={_removeFileFromList}></SummaryList>)}\n </div>\n\n );\n }\n\n return (\n <div className='file-upload-container'>\n <span className={`label ${required ? 'file-label' : ''}`}>{label}</span>\n <section>{content}</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\nimport { Button } from '@material-ui/core';\nimport React, { useState, useEffect } from 'react';\nimport { buildFilePropsFromResponse, getIconFromFileType, validateMaxSize, getIconForAttachment } from '../../helpers/attachmentHelpers';\nimport './Attachment.css';\nimport SummaryList from '../SummaryList'\nimport { CircularProgress } from \"@material-ui/core\";\nimport download from \"downloadjs\";\n\n// Remove this and use \"real\" PCore type once .d.ts is fixed (currently shows 2 errors)\ndeclare const PCore: any;\n\n\nconst getAttachmentKey = (name='') => name ? `attachmentsList.${name}` : 'attachmentsList';\n\nfunction getCurrentAttachmentsList(key, context) {\n return PCore.getStoreValue(`.${key}`, 'context_data', context) || [];\n}\n\nexport default function Attachment(props) {\n const PCoreVersion = PCore.getPCoreVersion();\n const {value, getPConnect, label, validatemessage} = 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(\n prop => prop === true || (typeof prop === 'string' && prop === 'true')\n );\n let arFileList$: Array<any> = [];\n const pConn = getPConnect();\n const caseID = PCore.getStoreValue('.pyID', 'caseInfo.content', pConn.getContextName());\n let fileTemp: any = {};\n\n let categoryName = '';\n if (value && value.pyCategoryName) {\n categoryName = value.pyCategoryName;\n }\n\n let valueRef = pConn.getStateProps().value;\n valueRef = valueRef.indexOf('.') === 0 ? valueRef.substring(1) : valueRef;\n const [file, setFile] = useState(fileTemp);\n\n const resetAttachmentStoredState = () => {\n PCore.getStateUtils().updateState(pConn.getContextName(), getAttachmentKey(PCoreVersion?.includes('8.23') ? 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 function _downloadFileFromList(fileObj: any) {\n PCore.getAttachmentUtils()\n .downloadAttachment(fileObj.pzInsKey, pConn.getContextName())\n .then((content) => {\n const extension = fileObj.pyAttachName.split(\".\").pop();\n fileDownload(content.data, fileObj.pyFileName, extension);\n })\n .catch(() => {});\n }\n\n function setNewFiles(arFiles) {\n let index = 0;\n const maxAttachmentSize = 5;\n for (const item of arFiles) {\n if (!validateMaxSize(item, maxAttachmentSize)) {\n item.error = true;\n item.meta = pConn.getLocalizedValue(`File is too big. Max allowed size is ${maxAttachmentSize}MB.`);\n }\n item.mimeType = item.type;\n item.icon = getIconFromFileType(item.type);\n item.ID = `${new Date().getTime()}I${index}`;\n index+=1;\n }\n return arFiles;\n }\n\n function getFiles(arFiles: Array<any>) {\n return setNewFiles(arFiles);\n }\n\n function getNewListUtilityItemProps(this: any, {\n att,\n cancelFile,\n downloadFile,\n deleteFile,\n removeFile\n }) {\n let actions;\n if (att.progress && att.progress !== 100) {\n actions = [\n {\n id: `Cancel-${att.ID}`,\n text: pConn.getLocalizedValue('Cancel'),\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 ? pConn.getLocalizedValue('Download') : pConn.getLocalizedValue('Open'),\n icon: isFile ? \"download\" : \"open\",\n onClick: downloadFile\n }\n ],\n [\n \"delete\",\n {\n id: `Delete-${ID}`,\n text: pConn.getLocalizedValue('Delete'),\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: pConn.getLocalizedValue('Remove'),\n icon: \"trash\",\n onClick: removeFile\n }\n ];\n }\n return {\n id: att.ID,\n visual: {\n icon: getIconForAttachment(this, att),\n progress: att.progress === 100 ? undefined: att.progress,\n },\n primary: {\n type: att.type,\n name: att.error ? att.fileName : att.name,\n icon: \"trash\",\n click: removeFile,\n },\n secondary: {\n text: att.meta,\n error: att.error\n },\n actions\n };\n };\n\n const onFileAdded = (event) => {\n const addedFile = event.target.files[0];\n setFile({\n props: {\n name: addedFile.name,\n icon: getIconFromFileType(addedFile.type),\n },\n inProgress: true\n });\n const arFiles$ = getFiles(event.target.files);\n const myFiles: any = Array.from(arFiles$);\n\n const onUploadProgress = () => {};\n\n const errorHandler = (isFetchCanceled) => {\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 myFiles[0].meta = uploadFailMsg;\n myFiles[0].error = true;\n myFiles[0].fileName = pConn.getLocalizedValue('Unable to upload file');\n arFileList$ = myFiles.map((att) => {\n return getNewListUtilityItemProps({\n att,\n downloadFile: null,\n cancelFile: null,\n deleteFile: null,\n removeFile: null\n });\n });\n setFile((current) => {\n return {\n ...current,\n props: {\n ...current.props,\n arFileList$\n },\n inProgress: false,\n attachmentUploaded: true,\n showMenuIcon: false\n };\n });\n }\n throw error;\n };\n };\n\n PCore.getAttachmentUtils()\n .uploadAttachment(\n myFiles[0],\n onUploadProgress,\n errorHandler,\n pConn.getContextName()\n )\n .then((fileRes) => {\n let reqObj;\n if (PCoreVersion?.includes('8.7')) {\n reqObj = {\n type: \"File\",\n attachmentFieldName: valueRef,\n category: categoryName,\n ID: fileRes.ID\n };\n pConn.attachmentsInfo = reqObj;\n } else {\n reqObj = {\n type: \"File\",\n label: valueRef,\n category: categoryName,\n handle: fileRes.ID,\n ID: fileRes.clientFileID\n };\n const currentAttachmentList = getCurrentAttachmentsList( getAttachmentKey(PCoreVersion?.includes('8.23') ? valueRef : ''), pConn.getContextName()).filter(\n (f) => f.label !== valueRef\n );\n PCore.getStateUtils().updateState(\n pConn.getContextName(),\n getAttachmentKey(PCoreVersion?.includes('8.23') ? valueRef : ''),\n [...currentAttachmentList, reqObj],\n {\n pageReference: 'context_data',\n isArrayDeepMerge: false\n }\n );\n }\n const fieldName = pConn.getStateProps().value;\n const context = pConn.getContextName();\n\n PCore.getMessageManager().clearMessages({\n type: PCore.getConstants().MESSAGES.MESSAGES_TYPE_ERROR,\n property: fieldName,\n pageReference: pConn.getPageReference(),\n context\n });\n myFiles[0].meta = pConn.getLocalizedValue('Uploaded successfully');\n\n arFileList$ = myFiles.map((att) => {\n return getNewListUtilityItemProps({\n att,\n downloadFile: null,\n cancelFile: null,\n deleteFile: null,\n removeFile: null\n });\n });\n setFile((current) => {\n return {\n ...current,\n props: {\n ...current.props,\n arFileList$\n },\n inProgress: false,\n attachmentUploaded: true,\n showMenuIcon: false\n };\n });\n })\n\n .catch(() => {\n // just catching the rethrown error at uploadAttachment\n // to handle Unhandled rejections\n });\n };\n\n function _removeFileFromList(item: any, list) {\n const arFileList = file.props ? file.props.arFileList$ : list;\n const fileIndex = arFileList.findIndex(element => element?.id === item?.id);\n if (PCoreVersion?.includes('8.7')) {\n if (value) {\n pConn.attachmentsInfo = {\n type: \"File\",\n attachmentFieldName: valueRef,\n delete: true\n };\n }\n if (fileIndex > -1) { arFileList.splice(parseInt(fileIndex, 10), 1) };\n setFile((current) => {\n return {\n ...current,\n props: {\n ...current.props,\n arFileList\n },\n };\n });\n } else {\n const attachmentsList = [];\n const currentAttachmentList = getCurrentAttachmentsList( getAttachmentKey(PCoreVersion?.includes('8.23') ? valueRef : ''), pConn.getContextName()).filter(\n (f) => f.label !== valueRef\n );\n if (value && value.pxResults && +value.pyCount > 0) {\n const deletedFile = {\n type: \"File\",\n label: valueRef,\n delete: true,\n responseProps: {\n pzInsKey: arFileList[fileIndex].id\n },\n };\n // updating the redux store to help form-handler in passing the data to delete the file from server\n PCore.getStateUtils().updateState(\n pConn.getContextName(),\n getAttachmentKey(PCoreVersion?.includes('8.23') ? valueRef : ''),\n [...currentAttachmentList, deletedFile],\n {\n pageReference: 'context_data',\n isArrayDeepMerge: false\n }\n );\n } else {\n PCore.getStateUtils().updateState(\n pConn.getContextName(),\n getAttachmentKey(PCoreVersion?.includes('8.23') ? valueRef : ''),\n [...currentAttachmentList, ...attachmentsList],\n {\n pageReference: 'context_data',\n isArrayDeepMerge: false\n }\n );\n }\n if (fileIndex > -1) { arFileList.splice(parseInt(fileIndex, 10), 1) };\n setFile((current) => {\n return {\n ...current,\n props: {\n ...current.props,\n arFileList\n },\n };\n });\n }\n }\n\n useEffect(() => {\n if (value && value.pxResults && +value.pyCount > 0) {\n fileTemp = buildFilePropsFromResponse(value.pxResults[0]);\n\n if (fileTemp.responseProps) {\n if (!pConn.attachmentsInfo) {\n pConn.attachmentsInfo = {\n type: \"File\",\n attachmentFieldName: valueRef,\n category: categoryName\n };\n }\n\n if (fileTemp.responseProps.pzInsKey && !fileTemp.responseProps.pzInsKey.includes(\"temp\")) {\n\n fileTemp.props.type = fileTemp.responseProps.pyMimeFileExtension;\n fileTemp.props.mimeType = fileTemp.responseProps.pyMimeFileExtension;\n fileTemp.props.ID = fileTemp.responseProps.pzInsKey;\n // create the actions for the \"more\" menu on the attachment\n const arMenuList: Array<any> = [];\n let oMenu: any = {};\n\n oMenu.icon = \"download\";\n oMenu.text = pConn.getLocalizedValue('Download');\n oMenu.onClick = () => { _downloadFileFromList(value.pxResults[0])}\n arMenuList.push(oMenu);\n oMenu = {};\n oMenu.icon = \"trash\";\n oMenu.text = pConn.getLocalizedValue('Delete');\n oMenu.onClick = () => { _removeFileFromList(arFileList$[0], arFileList$)}\n arMenuList.push(oMenu);\n\n arFileList$.push(getNewListUtilityItemProps({\n att: fileTemp.props,\n downloadFile: null,\n cancelFile: null,\n deleteFile: null,\n removeFile: null\n }));\n arFileList$[0].actions = arMenuList;\n\n setFile((current) => {\n return {\n ...current,\n props: {\n ...current.props,\n arFileList$\n },\n inProgress: false,\n attachmentUploaded: true,\n showMenuIcon: true\n };\n });\n }\n\n if (fileTemp) {\n const currentAttachmentList = getCurrentAttachmentsList( getAttachmentKey(PCoreVersion?.includes('8.23') ? valueRef : ''), pConn.getContextName());\n const index = currentAttachmentList.findIndex(element => element.props.ID === fileTemp.props.ID);\n let tempFiles: any = [];\n if (index < 0) {\n tempFiles = [fileTemp];\n }\n PCore.getStateUtils().updateState(\n pConn.getContextName(),\n getAttachmentKey(PCoreVersion?.includes('8.23') ? valueRef : ''),\n [...currentAttachmentList, ...tempFiles],\n {\n pageReference: 'context_data',\n isArrayDeepMerge: false\n }\n );\n }\n }\n }\n PCore.getPubSubUtils().subscribe(\n PCore.getConstants().PUB_SUB_EVENTS.CASE_EVENTS.ASSIGNMENT_SUBMISSION,\n resetAttachmentStoredState,\n caseID\n );\n return () => {\n PCore.getPubSubUtils().unsubscribe(PCore.getConstants().PUB_SUB_EVENTS.CASE_EVENTS.ASSIGNMENT_SUBMISSION, caseID);\n };\n }, []);\n\n let content = (\n <div className={`${validatemessage === '' ? 'file-div' : 'file-div-error'}`}>\n {file.inProgress && (<div className=\"progress-div\"><CircularProgress /></div>)}\n <div hidden={true} id=\"attachment-ID\">{valueRef}</div>\n <label htmlFor={valueRef}>\n <input\n style={{ display: 'none' }}\n id={valueRef}\n name='upload-photo'\n type='file'\n required={required}\n onChange={onFileAdded}\n />\n <Button variant='outlined' color='primary' component=\"span\">\n Upload file\n </Button>\n </label>\n </div>\n );\n\n if (file && file.attachmentUploaded && file.props.arFileList$ && file.props.arFileList$.length > 0) {\n content = (\n <div>\n {file.showMenuIcon && (<SummaryList arItems$={file.props.arFileList$} menuIconOverrideAction$={_removeFileFromList}></SummaryList>)}\n {!file.showMenuIcon && (<SummaryList menuIconOverride$='trash' arItems$={file.props.arFileList$} menuIconOverrideAction$={_removeFileFromList}></SummaryList>)}\n </div>\n\n );\n }\n\n return (\n <div className='file-upload-container'>\n <span className={`label ${required ? 'file-label' : ''}`}>{label}</span>\n <section>{content}</section>\n {validatemessage !== \"\" ? <span className='file-error'>{validatemessage}</span> : ''}\n </div>\n );\n}\n"]}
|
|
@@ -29,9 +29,9 @@ export default function CaseHistory(props) {
|
|
|
29
29
|
const thePConn = getPConnect();
|
|
30
30
|
// let waitingForData = true;
|
|
31
31
|
const displayedColumns = [
|
|
32
|
-
{ label:
|
|
33
|
-
{ label:
|
|
34
|
-
{ label:
|
|
32
|
+
{ label: thePConn.getLocalizedValue('Date'), type: "DateTime", fieldName: "pxTimeCreated" },
|
|
33
|
+
{ label: thePConn.getLocalizedValue('Description'), type: "TextInput", fieldName: "pyMessageKey" },
|
|
34
|
+
{ label: thePConn.getLocalizedValue('Performed by'), type: "TextInput", fieldName: "pyPerformer" }
|
|
35
35
|
];
|
|
36
36
|
const rowData = useRef([]);
|
|
37
37
|
// eslint-disable-next-line no-unused-vars, @typescript-eslint/no-unused-vars
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CaseHistory.js","sourceRoot":"","sources":["../../../../src/components/widget/CaseHistory/CaseHistory.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useState, useRef, useEffect } from \"react\";\nimport PropTypes from \"prop-types\";\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';\nimport { Utils } from '../../helpers/utils';\n\ndeclare const PCore;\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\n\nexport default function CaseHistory(props) {\n const { getPConnect } = props;\n const thePConn = getPConnect();\n // let waitingForData = true;\n\n const displayedColumns = [\n { label: \"Date\", type: \"DateTime\", fieldName: \"pxTimeCreated\" },\n { label: \"Description\", type: \"TextInput\", fieldName: \"pyMessageKey\" },\n { label: \"User\", type: \"TextInput\", fieldName: \"pyPerformer\" }\n ];\n\n const rowData: any = useRef([]);\n // eslint-disable-next-line no-unused-vars, @typescript-eslint/no-unused-vars\n const [waitingForData, setWaitingForData] = useState<boolean>(true);\n\n\n const caseID = thePConn.getValue(PCore.getConstants().CASE_INFO.CASE_INFO_ID);\n const dataViewName = \"D_pyWorkHistory\";\n const context = thePConn.getContextName();\n\n\n function computeRowData(rows: Array<Object>): void {\n const theRowData: Array<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: Object, rowValIndex) => {\n const theType = column[\"type\"];\n const theFieldName = column[\"fieldName\"];\n const theValue = ((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\n let bCallSetWaitingForData = true;\n\n const historyData = PCore.getDataApiUtils().getData(\n dataViewName, `{\"dataViewParameters\":[{\"CaseInstanceKey\":\"${caseID}\"}]}`,\n context\n );\n\n historyData.then( (historyJSON: Object) => {\n\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\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\n\n function getTableHeader() {\n const theRowKey = \"CaseHistory.TableHeader\";\n\n const theHeaderCells: Array<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\n function getTableData() {\n const theDataRows: Array<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: Array<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( <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>\n {getTableHeader()}\n </TableHead>\n <TableBody>\n {getTableData()}\n </TableBody>\n </Table>\n </TableContainer>\n </div>\n )\n}\n\nCaseHistory.propTypes = {\n getPConnect: PropTypes.func.isRequired\n};\n"]}
|
|
1
|
+
{"version":3,"file":"CaseHistory.js","sourceRoot":"","sources":["../../../../src/components/widget/CaseHistory/CaseHistory.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useState, useRef, useEffect } from \"react\";\nimport PropTypes from \"prop-types\";\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';\nimport { Utils } from '../../helpers/utils';\n\n// Remove this and use \"real\" PCore type once .d.ts is fixed (currently shows 2 errors)\ndeclare const PCore: any;\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\n\nexport default function CaseHistory(props) {\n const { getPConnect } = props;\n const thePConn = getPConnect();\n // let waitingForData = true;\n\n const displayedColumns = [\n { label: thePConn.getLocalizedValue('Date'), type: \"DateTime\", fieldName: \"pxTimeCreated\" },\n { label: thePConn.getLocalizedValue('Description'), type: \"TextInput\", fieldName: \"pyMessageKey\" },\n { label: thePConn.getLocalizedValue('Performed by'), type: \"TextInput\", fieldName: \"pyPerformer\" }\n ];\n\n const rowData: any = useRef([]);\n // eslint-disable-next-line no-unused-vars, @typescript-eslint/no-unused-vars\n const [waitingForData, setWaitingForData] = useState<boolean>(true);\n\n\n const caseID = thePConn.getValue(PCore.getConstants().CASE_INFO.CASE_INFO_ID);\n const dataViewName = \"D_pyWorkHistory\";\n const context = thePConn.getContextName();\n\n\n function computeRowData(rows: Array<Object>): void {\n const theRowData: Array<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: Object, rowValIndex) => {\n const theType = column[\"type\"];\n const theFieldName = column[\"fieldName\"];\n const theValue = ((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\n let bCallSetWaitingForData = true;\n\n const historyData = PCore.getDataApiUtils().getData(\n dataViewName, `{\"dataViewParameters\":[{\"CaseInstanceKey\":\"${caseID}\"}]}`,\n context\n );\n\n historyData.then( (historyJSON: Object) => {\n\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\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\n\n function getTableHeader() {\n const theRowKey = \"CaseHistory.TableHeader\";\n\n const theHeaderCells: Array<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\n function getTableData() {\n const theDataRows: Array<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: Array<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( <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>\n {getTableHeader()}\n </TableHead>\n <TableBody>\n {getTableData()}\n </TableBody>\n </Table>\n </TableContainer>\n </div>\n )\n}\n\nCaseHistory.propTypes = {\n getPConnect: PropTypes.func.isRequired\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileUtility.d.ts","sourceRoot":"","sources":["../../../../../src/components/widget/FileUtility/FileUtility/FileUtility.tsx"],"names":[],"mappings":";AAMA,OAAO,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"FileUtility.d.ts","sourceRoot":"","sources":["../../../../../src/components/widget/FileUtility/FileUtility/FileUtility.tsx"],"names":[],"mappings":";AAMA,OAAO,mBAAmB,CAAC;AAW3B,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,KAAK,KAAA,eAsiBxC"}
|
|
@@ -19,24 +19,24 @@ export default function FileUtility(props) {
|
|
|
19
19
|
count: 0
|
|
20
20
|
};
|
|
21
21
|
const [list, setList] = useState(listTemp);
|
|
22
|
-
const headerSvgIcon$ = Utils.getImageSrc('paper-clip',
|
|
23
|
-
const closeSvgIcon = Utils.getImageSrc("times",
|
|
22
|
+
const headerSvgIcon$ = Utils.getImageSrc('paper-clip', Utils.getSDKStaticConentUrl());
|
|
23
|
+
const closeSvgIcon = Utils.getImageSrc("times", Utils.getSDKStaticConentUrl());
|
|
24
24
|
const configProps = thePConn.resolveConfigProps(thePConn.getConfigProps());
|
|
25
25
|
const header = configProps.label;
|
|
26
26
|
const fileTemp = {
|
|
27
27
|
showfileModal: false,
|
|
28
28
|
fileList: [],
|
|
29
29
|
attachedFiles: [],
|
|
30
|
-
fileMainButtons: [{ actionID: "attach", jsAction: "attachFiles", name:
|
|
31
|
-
fileSecondaryButtons: [{ actionID: "cancel", jsAction: "cancel", name:
|
|
30
|
+
fileMainButtons: [{ actionID: "attach", jsAction: "attachFiles", name: thePConn.getLocalizedValue('Attach files') }],
|
|
31
|
+
fileSecondaryButtons: [{ actionID: "cancel", jsAction: "cancel", name: thePConn.getLocalizedValue('Cancel') }]
|
|
32
32
|
};
|
|
33
33
|
const [fileData, setFileData] = useState(fileTemp);
|
|
34
34
|
const linkTemp = {
|
|
35
35
|
showLinkModal: false,
|
|
36
36
|
linksList: [],
|
|
37
37
|
attachedLinks: [],
|
|
38
|
-
linkMainButtons: [{ actionID: "attach", jsAction: "attachLinks", name:
|
|
39
|
-
linkSecondaryButtons: [{ actionID: "cancel", jsAction: "cancel", name:
|
|
38
|
+
linkMainButtons: [{ actionID: "attach", jsAction: "attachLinks", name: thePConn.getLocalizedValue('Attach links') }],
|
|
39
|
+
linkSecondaryButtons: [{ actionID: "cancel", jsAction: "cancel", name: thePConn.getLocalizedValue('Cancel') }]
|
|
40
40
|
};
|
|
41
41
|
const [linkData, setLinkData] = useState(linkTemp);
|
|
42
42
|
const [anchorEl, setAnchorEl] = useState(null);
|
|
@@ -64,7 +64,7 @@ export default function FileUtility(props) {
|
|
|
64
64
|
actions = [
|
|
65
65
|
{
|
|
66
66
|
id: `Cancel-${att.ID}`,
|
|
67
|
-
text:
|
|
67
|
+
text: thePConn.getLocalizedValue('Cancel'),
|
|
68
68
|
icon: "times",
|
|
69
69
|
onClick: cancelFile
|
|
70
70
|
}
|
|
@@ -78,7 +78,7 @@ export default function FileUtility(props) {
|
|
|
78
78
|
"download",
|
|
79
79
|
{
|
|
80
80
|
id: `download-${ID}`,
|
|
81
|
-
text: isFile ?
|
|
81
|
+
text: isFile ? thePConn.getLocalizedValue('Download') : thePConn.getLocalizedValue('Open'),
|
|
82
82
|
icon: isFile ? "download" : "open",
|
|
83
83
|
onClick: downloadFile
|
|
84
84
|
}
|
|
@@ -87,7 +87,7 @@ export default function FileUtility(props) {
|
|
|
87
87
|
"delete",
|
|
88
88
|
{
|
|
89
89
|
id: `Delete-${ID}`,
|
|
90
|
-
text:
|
|
90
|
+
text: thePConn.getLocalizedValue('Delete'),
|
|
91
91
|
icon: "trash",
|
|
92
92
|
onClick: deleteFile
|
|
93
93
|
}
|
|
@@ -104,7 +104,7 @@ export default function FileUtility(props) {
|
|
|
104
104
|
actions = [
|
|
105
105
|
{
|
|
106
106
|
id: `Remove-${att.ID}`,
|
|
107
|
-
text:
|
|
107
|
+
text: thePConn.getLocalizedValue('Remove'),
|
|
108
108
|
icon: "trash",
|
|
109
109
|
onClick: removeFile
|
|
110
110
|
}
|
|
@@ -411,27 +411,27 @@ export default function FileUtility(props) {
|
|
|
411
411
|
React.createElement(IconButton, { id: "long-button", "aria-controls": open ? 'simple-menu' : undefined, "aria-expanded": open ? 'true' : undefined, "aria-haspopup": "true", onClick: handleClick },
|
|
412
412
|
React.createElement(MoreVertIcon, null)),
|
|
413
413
|
React.createElement(Menu, { style: { marginTop: '3rem' }, id: "simple-menu", anchorEl: anchorEl, keepMounted: true, open: Boolean(anchorEl), onClose: handleClose },
|
|
414
|
-
React.createElement(MenuItem, { style: { fontSize: '14px' }, onClick: onAddFilesClick },
|
|
415
|
-
React.createElement(MenuItem, { style: { fontSize: '14px' }, onClick: onAddLinksClick },
|
|
414
|
+
React.createElement(MenuItem, { style: { fontSize: '14px' }, onClick: onAddFilesClick }, thePConn.getLocalizedValue('Add files')),
|
|
415
|
+
React.createElement(MenuItem, { style: { fontSize: '14px' }, onClick: onAddLinksClick }, thePConn.getLocalizedValue('Add links'))))),
|
|
416
416
|
list.data.length > 0 && (React.createElement("div", { style: { marginTop: '1rem' } },
|
|
417
417
|
React.createElement(SummaryList, { "arItems$": list.data }))),
|
|
418
418
|
list.count > 3 && (React.createElement("div", { className: "psdk-utility-view-all" },
|
|
419
419
|
React.createElement(Button, { style: { textTransform: 'none' }, color: "primary", onClick: () => setViewAll(true) }, "View all"))),
|
|
420
420
|
fileData.showfileModal && (React.createElement("div", { className: "psdk-dialog-background" },
|
|
421
421
|
React.createElement("div", { className: "psdk-modal-file-top" },
|
|
422
|
-
React.createElement("h3", null,
|
|
422
|
+
React.createElement("h3", null, thePConn.getLocalizedValue('Add local files')),
|
|
423
423
|
React.createElement("div", { className: "psdk-modal-body" },
|
|
424
424
|
React.createElement("div", { className: "psdk-modal-file-selector" },
|
|
425
425
|
React.createElement("label", { htmlFor: 'upload-files' },
|
|
426
426
|
React.createElement("input", { style: { display: 'none' }, id: 'upload-files', name: 'upload-files', type: 'file', multiple: true, onChange: uploadMyFiles }),
|
|
427
|
-
React.createElement(Button, { variant: 'outlined', color: 'primary', component: "span" },
|
|
427
|
+
React.createElement(Button, { variant: 'outlined', color: 'primary', component: "span" }, thePConn.getLocalizedValue('Attach files')))),
|
|
428
428
|
fileData.fileList.length > 0 && (React.createElement("div", { style: { marginTop: '1rem' } },
|
|
429
429
|
React.createElement(SummaryList, { "menuIconOverride$": 'trash', "arItems$": fileData.fileList, "menuIconOverrideAction$": removeFileFromList }))),
|
|
430
430
|
fileData.fileList.length === 0 && (React.createElement("div", null)),
|
|
431
431
|
React.createElement(ActionButtonsForFileUtil, { arMainButtons: fileData.fileMainButtons, arSecondaryButtons: fileData.fileSecondaryButtons, primaryAction: onAttachFiles, secondaryAction: closeFilePopup }))))),
|
|
432
432
|
linkData.showLinkModal && (React.createElement("div", { className: "psdk-dialog-background" },
|
|
433
433
|
React.createElement("div", { className: "psdk-modal-file-top" },
|
|
434
|
-
React.createElement("h3", null,
|
|
434
|
+
React.createElement("h3", null, thePConn.getLocalizedValue('Add links')),
|
|
435
435
|
React.createElement("div", { className: "psdk-modal-body" },
|
|
436
436
|
React.createElement("div", { className: "psdk-modal-links-row" },
|
|
437
437
|
React.createElement("div", { className: "psdk-links-two-column" },
|
|
@@ -440,14 +440,14 @@ export default function FileUtility(props) {
|
|
|
440
440
|
React.createElement("div", { className: "psdk-modal-link-data" },
|
|
441
441
|
React.createElement(TextField, { fullWidth: true, variant: "outlined", label: "URL", size: "small", required: required, value: link.url, onChange: fieldurlOnChange }))),
|
|
442
442
|
React.createElement("div", { className: "psdk-modal-link-add" },
|
|
443
|
-
React.createElement(Button, { className: "psdk-add-link-action", color: "primary", variant: "contained", component: "span", onClick: addLink, disabled: link.disable },
|
|
443
|
+
React.createElement(Button, { className: "psdk-add-link-action", color: "primary", variant: "contained", component: "span", onClick: addLink, disabled: link.disable }, thePConn.getLocalizedValue('Add link')))),
|
|
444
444
|
linkData.linksList.length > 0 && (React.createElement("div", { style: { marginTop: '1rem' } },
|
|
445
445
|
React.createElement(SummaryList, { "menuIconOverride$": 'trash', "arItems$": linkData.linksList, "menuIconOverrideAction$": removeLinksFromList }))),
|
|
446
446
|
React.createElement(ActionButtonsForFileUtil, { arMainButtons: linkData.linkMainButtons, arSecondaryButtons: linkData.linkSecondaryButtons, primaryAction: onAttachLinks, secondaryAction: closeAddLinksPopup }))))),
|
|
447
447
|
showViewAllModal && (React.createElement("div", { className: "psdk-dialog-background" },
|
|
448
448
|
React.createElement("div", { className: "psdk-modal-file-top" },
|
|
449
449
|
React.createElement("div", { className: "psdk-view-all-header" },
|
|
450
|
-
React.createElement("h3", null,
|
|
450
|
+
React.createElement("h3", null, thePConn.getLocalizedValue('Attachments')),
|
|
451
451
|
React.createElement("button", { type: "button", className: "psdk-close-button", onClick: () => setViewAll(false) },
|
|
452
452
|
React.createElement("img", { className: "psdk-utility-card-actions-svg-icon", src: closeSvgIcon }))),
|
|
453
453
|
React.createElement("div", { className: "psdk-view-all-body" },
|
|
@@ -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 React, { useEffect, useState } from \"react\";\nimport TextField from '@material-ui/core/TextField';\nimport { Utils } from '../../../helpers/utils';\nimport download from \"downloadjs\";\nimport SummaryList from '../../SummaryList';\nimport ActionButtonsForFileUtil from '../ActionButtonsForFileUtil';\nimport './FileUtility.css';\nimport { IconButton, Menu, MenuItem } from '@material-ui/core';\nimport MoreVertIcon from '@material-ui/icons/MoreVert';\nimport { Button } from '@material-ui/core';\nimport { validateMaxSize } from '../../../helpers/attachmentHelpers';\nimport { CircularProgress } from \"@material-ui/core\";\n\ndeclare const PCore;\n\nexport default function FileUtility(props) {\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', PCore.getAssetLoader().getStaticServerUrl());\n const closeSvgIcon = Utils.getImageSrc(\"times\", PCore.getAssetLoader().getStaticServerUrl());\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: [{ actionID: \"attach\", jsAction: \"attachFiles\", name: \"Attach files\"}],\n fileSecondaryButtons: [{ actionID: \"cancel\", jsAction: \"cancel\", name: \"Cancel\"}]\n };\n const [fileData, setFileData] = useState(fileTemp);\n const linkTemp = {\n showLinkModal: false,\n linksList: [],\n attachedLinks: [],\n linkMainButtons: [{ actionID: \"attach\", jsAction: \"attachLinks\", name: \"Attach links\"}],\n linkSecondaryButtons: [{ actionID: \"cancel\", jsAction: \"cancel\", name: \"Cancel\"}]\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: Array<any> = []) {\n attsFromResp = attsFromResp.map((respAtt) => {\n const updatedAtt = {\n ...respAtt,\n meta: `${respAtt.category} . ${Utils.generateDateTime(respAtt.createTime, \"DateTime-Since\")}, ${\n respAtt.createdBy\n }`\n };\n if (updatedAtt.type === \"FILE\") {\n updatedAtt.nameWithExt = updatedAtt.fileName;\n }\n return updatedAtt;\n });\n return attsFromResp;\n }\n\n function getListUtilityItemProps({\n att,\n cancelFile,\n downloadFile,\n deleteFile,\n removeFile\n }) {\n let actions;\n\n\n if (att.progress && att.progress !== 100) {\n actions = [\n {\n id: `Cancel-${att.ID}`,\n text: \"Cancel\",\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 ? \"Download\" : \"Open\",\n icon: isFile ? \"download\" : \"open\",\n onClick: downloadFile\n }\n ],\n [\n \"delete\",\n {\n id: `Delete-${ID}`,\n text: \"Delete\",\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: \"Remove\",\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 .downloadAttachment(ID, context)\n .then((content) => {\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.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\n const attachmentUtils = PCore.getAttachmentUtils();\n const caseID = thePConn.getValue(PCore.getConstants().CASE_INFO.CASE_INFO_ID);\n\n if (caseID && caseID !== \"\") {\n const attPromise = attachmentUtils.getCaseAttachments(caseID, thePConn.getContextName());\n\n attPromise\n .then( (resp) => {\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\n useEffect(() => {\n PCore.getPubSubUtils().subscribe(\n PCore.getEvents().getCaseEvent().CASE_ATTACHMENTS_UPDATED_FROM_CASEVIEW,\n getAttachments,\n \"caseAttachmentsUpdateFromCaseview\"\n );\n\n return () => {\n PCore.getPubSubUtils().unsubscribe(\n PCore.getEvents().getCaseEvent().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: Array<any>): Array<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\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);\n const onUploadProgress = () => {};\n const errorHandler = () => {};\n closeFilePopup()\n if (fileData.attachedFiles && fileData.attachedFiles.length > 0 ) {\n setProgress(true);\n }\n for (const file of fileData.attachedFiles) {\n attachmentUtils\n .uploadAttachment(\n file,\n onUploadProgress,\n errorHandler,\n thePConn.getContextName()\n )\n .then((fileResponse) => {\n if (fileResponse.type === \"File\") {\n attachmentUtils.linkAttachmentsToCase(\n caseID,\n [ fileResponse ],\n \"File\",\n thePConn.getContextName()\n )\n .then(() => {\n setFileData((current) => {\n return {...current, fileList: [], attachedFiles: []};\n });\n getAttachments();\n })\n .catch();\n }\n })\n .catch();\n }\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 {...current, linksList: localList, attachedLinks: attachedListTemp}\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);\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\n .linkAttachmentsToCase(caseID, linksToAttach, \"URL\", thePConn.getContextName())\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\">\n {inProgress && (<div className=\"progress-div\"><CircularProgress /></div>)}\n <div className=\"psdk-header\">\n <img className=\"psdk-file-utility-card-svg-icon\" src={headerSvgIcon$}></img>\n <div className=\"header-text\">{header}</div>\n <div className=\"psdk-utility-count\" id=\"attachments-count\">{list.count}</div>\n <div style={{flexGrow: 1}}></div>\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'}}\n id=\"simple-menu\"\n anchorEl={anchorEl}\n keepMounted\n open={Boolean(anchorEl)}\n onClose={handleClose}\n >\n <MenuItem style={{fontSize: '14px'}} onClick={onAddFilesClick}>Add Files</MenuItem>\n <MenuItem style={{fontSize: '14px'}} onClick={onAddLinksClick}>Add Links</MenuItem>\n </Menu>\n </div>\n </div>\n {list.data.length > 0 && (<div style={{marginTop: '1rem'}}>\n <SummaryList arItems$={list.data}></SummaryList>\n </div>)}\n {list.count > 3 && (<div className=\"psdk-utility-view-all\">\n <Button style={{textTransform: 'none'}} color=\"primary\" onClick = {() => setViewAll(true)}>View all</Button>\n </div>)}\n {fileData.showfileModal && (\n <div className=\"psdk-dialog-background\">\n <div className=\"psdk-modal-file-top\">\n <h3>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\">Upload file(s)</Button>\n </label>\n </div>\n {fileData.fileList.length > 0 && (<div style={{marginTop: '1rem'}}>\n <SummaryList menuIconOverride$='trash' arItems$={fileData.fileList} menuIconOverrideAction$={removeFileFromList}></SummaryList>\n </div>)}\n {fileData.fileList.length === 0 && (<div></div>)}\n <ActionButtonsForFileUtil arMainButtons={fileData.fileMainButtons} arSecondaryButtons={fileData.fileSecondaryButtons}\n primaryAction={onAttachFiles} secondaryAction={closeFilePopup}></ActionButtonsForFileUtil>\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>Add links</h3>\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 fullWidth variant=\"outlined\" label=\"Link title\" size=\"small\" required={required} value={link.title} onChange={fieldlinkOnChange}/>\n </div>\n <div className=\"psdk-modal-link-data\">\n <TextField fullWidth variant=\"outlined\" label=\"URL\" size=\"small\" required={required} value={link.url} onChange={fieldurlOnChange}/>\n </div>\n </div>\n <div className=\"psdk-modal-link-add\">\n <Button className=\"psdk-add-link-action\" color=\"primary\" variant=\"contained\" component=\"span\" onClick={addLink} disabled={link.disable}>Add Link</Button>\n </div>\n </div>\n {linkData.linksList.length > 0 && (<div style={{marginTop: '1rem'}}>\n <SummaryList menuIconOverride$='trash' arItems$={linkData.linksList} menuIconOverrideAction$={removeLinksFromList}></SummaryList>\n </div>)}\n <ActionButtonsForFileUtil arMainButtons={linkData.linkMainButtons} arSecondaryButtons={linkData.linkSecondaryButtons}\n primaryAction={onAttachLinks} secondaryAction={closeAddLinksPopup}></ActionButtonsForFileUtil>\n </div>\n </div>\n </div>\n )}\n {showViewAllModal && (<div className=\"psdk-dialog-background\">\n <div className=\"psdk-modal-file-top\">\n <div className=\"psdk-view-all-header\">\n <h3>Attachments</h3>\n {/* eslint-disable-next-line jsx-a11y/control-has-associated-label */}\n <button type=\"button\" className=\"psdk-close-button\" onClick = {() => setViewAll(false)}><img className=\"psdk-utility-card-actions-svg-icon\" src={closeSvgIcon}></img></button>\n </div>\n <div className=\"psdk-view-all-body\"><SummaryList arItems$={vaItems}></SummaryList></div>\n </div>\n </div>)}\n </div>\n\n )\n}\n"]}
|
|
1
|
+
{"version":3,"file":"FileUtility.js","sourceRoot":"","sources":["../../../../../src/components/widget/FileUtility/FileUtility/FileUtility.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACnD,OAAO,SAAS,MAAM,6BAA6B,CAAC;AACpD,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAC/C,OAAO,QAAQ,MAAM,YAAY,CAAC;AAClC,OAAO,WAAW,MAAM,mBAAmB,CAAC;AAC5C,OAAO,wBAAwB,MAAM,6BAA6B,CAAC;AACnE,OAAO,mBAAmB,CAAC;AAC3B,OAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,YAAY,MAAM,6BAA6B,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAMrD,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,KAAK;IACvC,MAAM,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC;IAC9B,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC;IACtB,MAAM,QAAQ,GAAG;QACf,IAAI,EAAE,EAAE;QACR,KAAK,EAAE,CAAC;KACT,CAAC;IACF,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC3C,MAAM,cAAc,GAAG,KAAK,CAAC,WAAW,CAAC,YAAY,EAAE,KAAK,CAAC,qBAAqB,EAAE,CAAC,CAAC;IACtF,MAAM,YAAY,GAAG,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,qBAAqB,EAAE,CAAC,CAAC;IAC/E,MAAM,WAAW,GAAQ,QAAQ,CAAC,kBAAkB,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC,CAAC;IAEhF,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC;IACjC,MAAM,QAAQ,GAAG;QACf,aAAa,EAAE,KAAK;QACpB,QAAQ,EAAE,EAAE;QACZ,aAAa,EAAE,EAAE;QACjB,eAAe,EAAE,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,CAAC,iBAAiB,CAAC,cAAc,CAAC,EAAC,CAAC;QACnH,oBAAoB,EAAE,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAC,CAAC;KAC9G,CAAC;IACF,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACnD,MAAM,QAAQ,GAAG;QACf,aAAa,EAAE,KAAK;QACpB,SAAS,EAAE,EAAE;QACb,aAAa,EAAE,EAAE;QACjB,eAAe,EAAE,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,CAAC,iBAAiB,CAAC,cAAc,CAAC,EAAC,CAAC;QACnH,oBAAoB,EAAE,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAC,CAAC;KAC9G,CAAC;IACF,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACnD,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC/C,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC/B,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,EAAC,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAC,CAAC,CAAC;IACtE,MAAM,CAAC,UAAU,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClD,MAAM,CAAC,gBAAgB,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACvD,MAAM,CAAC,OAAO,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IAEnD,SAAS,cAAc,CAAC,eAA2B,EAAE;QAClD,YAAY,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;YAC1C,MAAM,UAAU,GAAG;gBACjB,GAAG,OAAO;gBACV,IAAI,EAAE,GAAG,OAAO,CAAC,QAAQ,MAAM,KAAK,CAAC,gBAAgB,CAAC,OAAO,CAAC,UAAU,EAAE,gBAAgB,CAAC,KACzF,OAAO,CAAC,SACV,EAAE;aACH,CAAC;YACF,IAAI,UAAU,CAAC,IAAI,KAAK,MAAM,EAAE;gBAC9B,UAAU,CAAC,WAAW,GAAG,UAAU,CAAC,QAAQ,CAAC;aAC9C;YACD,OAAO,UAAU,CAAC;QACpB,CAAC,CAAC,CAAC;QACH,OAAO,YAAY,CAAC;IACvB,CAAC;IAED,SAAS,uBAAuB,CAAC,EAC/B,GAAG,EACH,UAAU,EACV,YAAY,EACZ,UAAU,EACV,UAAU,EACX;QACC,IAAI,OAAO,CAAC;QAEZ,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,QAAQ,KAAK,GAAG,EAAE;YACxC,OAAO,GAAG;gBACR;oBACE,EAAE,EAAE,UAAU,GAAG,CAAC,EAAE,EAAE;oBACtB,IAAI,EAAE,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,CAAC;oBAC1C,IAAI,EAAE,OAAO;oBACb,OAAO,EAAE,UAAU;iBACpB;aACF,CAAC;SACH;aAAM,IAAI,GAAG,CAAC,KAAK,EAAE;YACpB,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,KAAK,MAAM,CAAC;YACnC,MAAM,EAAE,GAAG,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YACtC,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC;gBACzB;oBACE,UAAU;oBACV;wBACE,EAAE,EAAE,YAAY,EAAE,EAAE;wBACpB,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC,MAAM,CAAC;wBAC1F,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM;wBAClC,OAAO,EAAE,YAAY;qBACtB;iBACF;gBACD;oBACE,QAAQ;oBACR;wBACE,EAAE,EAAE,UAAU,EAAE,EAAE;wBAClB,IAAI,EAAE,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,CAAC;wBAC1C,IAAI,EAAE,OAAO;wBACb,OAAO,EAAE,UAAU;qBACpB;iBACF;aACF,CAAC,CAAC;YACH,OAAO,GAAG,EAAE,CAAC;YACb,UAAU,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE;gBACvC,IAAI,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE;oBACxB,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;iBACtB;YACH,CAAC,CAAC,CAAC;SACJ;aAAM,IAAI,GAAG,CAAC,KAAK,EAAE;YACpB,OAAO,GAAG;gBACR;oBACE,EAAE,EAAE,UAAU,GAAG,CAAC,EAAE,EAAE;oBACtB,IAAI,EAAE,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,CAAC;oBAC1C,IAAI,EAAE,OAAO;oBACb,OAAO,EAAE,UAAU;iBACpB;aACF,CAAC;SACH;QAED,OAAO;YACL,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,MAAM,EAAE;gBACN,IAAI,EAAE,KAAK,CAAC,oBAAoB,CAAC,GAAG,CAAC;gBACrC,QAAQ,EAAE,GAAG,CAAC,QAAQ,KAAK,GAAG,CAAC,CAAC,CAAC,SAAS,CAAA,CAAC,CAAC,GAAG,CAAC,QAAQ;aACzD;YACD,OAAO,EAAE;gBACP,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE,YAAY;aACpB;YACD,SAAS,EAAE;gBACT,IAAI,EAAE,GAAG,CAAC,IAAI;aACf;YACD,OAAO;SACR,CAAC;IACJ,CAAC;IAED,SAAS,YAAY,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG;QACvC,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,QAAQ,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;QACnD,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;IAC7B,CAAC;IAAA,CAAC;IAEF,SAAS,oBAAoB,CAAC,GAAQ;QACpC,MAAM,WAAW,GAAG,KAAK,CAAC,kBAAkB,EAAE,CAAC;QAC/C,MAAM,EAAC,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAC,GAAG,GAAG,CAAC;QACxC,MAAM,OAAO,GAAG,QAAQ,CAAC,cAAc,EAAE,CAAC;QAE1C,WAAW;aACV,kBAAkB,CAAC,EAAE,EAAE,OAAO,CAAC;aAC/B,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;YAChB,IAAI,IAAI,KAAK,MAAM,EAAE;gBACnB,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;aAC7C;iBAAM,IAAI,IAAI,KAAK,KAAK,EAAE;gBACzB,IAAI,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;gBACvB,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;oBACpC,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;iBACpB;gBACD,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;aACrC;QACH,CAAC,CAAC;aACD,KAAK,EAAE,CAAC;IACX,CAAC;IAED,SAAS,kBAAkB,CAAC,GAAQ;QAClC,MAAM,WAAW,GAAG,KAAK,CAAC,kBAAkB,EAAE,CAAC;QAC/C,MAAM,EAAC,EAAE,EAAC,GAAG,GAAG,CAAC;QACjB,MAAM,OAAO,GAAG,QAAQ,CAAC,cAAc,EAAE,CAAC;QAE1C,WAAW,CAAC,gBAAgB,CAAC,EAAE,EAAE,OAAO,CAAC;aACtC,IAAI,CAAC,GAAG,EAAE;YACT,mEAAmE;YACnE,cAAc,EAAE,CAAC;QACnB,CAAC,CAAC;aACD,KAAK,EAAE,CAAC;IACb,CAAC;IAED,MAAM,cAAc,GAAG,GAAG,EAAE;QAE1B,MAAM,eAAe,GAAG,KAAK,CAAC,kBAAkB,EAAE,CAAC;QACnD,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QAE9E,IAAI,MAAM,IAAI,MAAM,KAAK,EAAE,EAAE;YAC3B,MAAM,UAAU,GAAG,eAAe,CAAC,kBAAkB,CAAC,MAAM,EAAE,QAAQ,CAAC,cAAc,EAAE,CAAC,CAAC;YAEzF,UAAU;iBACP,IAAI,CAAE,CAAC,IAAI,EAAE,EAAE;gBACd,MAAM,qBAAqB,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;gBACnD,MAAM,gBAAgB,GAAG,qBAAqB,CAAC,MAAM,CAAC;gBACtD,MAAM,OAAO,GAAQ,qBAAqB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;oBACjE,OAAO,uBAAuB,CAAC;wBAC7B,GAAG;wBACH,YAAY,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI;wBACpE,UAAU,EAAE,IAAI;wBAChB,UAAU,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI;wBAChE,UAAU,EAAE,IAAI;qBACjB,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;gBACH,MAAM,cAAc,GAAQ,qBAAqB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;oBAC5D,OAAO,uBAAuB,CAAC;wBAC7B,GAAG;wBACH,YAAY,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI;wBACpE,UAAU,EAAE,IAAI;wBAChB,UAAU,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI;wBAChE,UAAU,EAAE,IAAI;qBACjB,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;gBACH,WAAW,CAAC,KAAK,CAAC,CAAC;gBACnB,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;oBAClB,OAAO,EAAC,GAAG,OAAO,EAAE,KAAK,EAAE,gBAAgB,EAAE,IAAI,EAAE,OAAO,EAAC,CAAA;gBAC7D,CAAC,CAAC,CAAC;gBACH,kBAAkB,CAAC,cAAc,CAAC,CAAC;YACrC,CAAC,CAAC,CAAC;SACN;IACH,CAAC,CAAA;IAED,SAAS,CAAC,GAAG,EAAE;QACb,cAAc,EAAE,CAAC;IACnB,CAAC,EAAE,EAAE,CAAC,CAAC;IAGP,SAAS,CAAC,GAAG,EAAE;QACb,KAAK,CAAC,cAAc,EAAE,CAAC,SAAS,CAC9B,KAAK,CAAC,SAAS,EAAE,CAAC,YAAY,EAAE,CAAC,sCAAsC,EACvE,cAAc,EACd,mCAAmC,CACpC,CAAC;QAEF,OAAO,GAAG,EAAE;YACV,KAAK,CAAC,cAAc,EAAE,CAAC,WAAW,CAChC,KAAK,CAAC,SAAS,EAAE,CAAC,YAAY,EAAE,CAAC,sCAAsC,EACvE,mCAAmC,CACpC,CAAC;QACJ,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,SAAS,WAAW,CAAC,OAAO;QAC1B,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE;YAC1B,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE;gBAC7B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;gBAClB,IAAI,CAAC,IAAI,GAAG,2CAA2C,CAAC;aACzD;YACD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;YAC1B,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjD,IAAI,CAAC,EAAE,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,IAAI,KAAK,EAAE,CAAC;YAC7C,KAAK,IAAE,CAAC,CAAC;SACV;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,SAAS,QAAQ,CAAC,OAAmB;QACnC,OAAO,WAAW,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;IAED,SAAS,aAAa,CAAC,KAAK;QAC1B,2DAA2D;QAC3D,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC7C,+BAA+B;QAC/B,MAAM,OAAO,GAAQ,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEzC,MAAM,WAAW,GAAQ,OAAO,CAAC,GAAG,CAAC,CAAC,GAAQ,EAAE,EAAE;YAChD,OAAO,uBAAuB,CAAC;gBAC7B,GAAG;gBACH,YAAY,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI;gBACpE,UAAU,EAAE,IAAI;gBAChB,UAAU,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI;gBAChE,UAAU,EAAE,IAAI;aACjB,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,WAAW,CAAC,CAAC,OAAO,EAAE,EAAE;YACtB,OAAO,EAAC,GAAG,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE,OAAO,EAAC,CAAA;QACpE,CAAC,CAAC,CAAC;IACL,CAAC;IAID,MAAM,WAAW,GAAG,CAAC,KAAK,EAAE,EAAE;QAC5B,WAAW,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IACnC,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,GAAG,EAAE;QACvB,WAAW,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC,CAAC;IAEF,SAAS,eAAe;QACtB,WAAW,CAAC,CAAC,OAAO,EAAE,EAAE;YACtB,OAAO,EAAC,GAAG,OAAO,EAAE,aAAa,EAAE,IAAI,EAAC,CAAA;QAC1C,CAAC,CAAC,CAAC;QACH,WAAW,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;IAED,SAAS,kBAAkB,CAAC,IAAS;QACnC,IAAI,aAAa,GAAQ,QAAQ,CAAC,aAAa,CAAC;QAChD,IAAI,QAAQ,GAAQ,QAAQ,CAAC,QAAQ,CAAC;QACtC,IAAI,IAAI,KAAK,IAAI,EAAE;YACjB,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC;YAChE,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC;YACtD,WAAW,CAAC,CAAC,OAAO,EAAE,EAAE;gBACtB,OAAO,EAAC,GAAG,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAC,CAAA;YAC9C,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAED,SAAS,cAAc;QACrB,WAAW,CAAC,CAAC,OAAO,EAAE,EAAE;YACtB,OAAO,EAAC,GAAG,OAAO,EAAE,aAAa,EAAE,KAAK,EAAC,CAAA;QAC3C,CAAC,CAAC,CAAC;IACL,CAAC;IAED,SAAS,aAAa;QACpB,MAAM,eAAe,GAAG,KAAK,CAAC,kBAAkB,EAAE,CAAC;QACnD,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QAC9E,MAAM,gBAAgB,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;QAClC,MAAM,YAAY,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;QAC9B,cAAc,EAAE,CAAA;QAChB,IAAI,QAAQ,CAAC,aAAa,IAAI,QAAQ,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAG;YAChE,WAAW,CAAC,IAAI,CAAC,CAAC;SACnB;QACD,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,aAAa,EAAE;YACzC,eAAe;iBACd,gBAAgB,CACf,IAAI,EACJ,gBAAgB,EAChB,YAAY,EACZ,QAAQ,CAAC,cAAc,EAAE,CAC1B;iBACA,IAAI,CAAC,CAAC,YAAY,EAAE,EAAE;gBACrB,IAAI,YAAY,CAAC,IAAI,KAAK,MAAM,EAAE;oBAChC,eAAe,CAAC,qBAAqB,CACnC,MAAM,EACN,CAAE,YAAY,CAAE,EAChB,MAAM,EACN,QAAQ,CAAC,cAAc,EAAE,CAC1B;yBACA,IAAI,CAAC,GAAG,EAAE;wBACT,WAAW,CAAC,CAAC,OAAO,EAAE,EAAE;4BACtB,OAAO,EAAC,GAAG,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,aAAa,EAAE,EAAE,EAAC,CAAC;wBACvD,CAAC,CAAC,CAAC;wBACH,cAAc,EAAE,CAAC;oBACnB,CAAC,CAAC;yBACD,KAAK,EAAE,CAAC;iBACV;YACH,CAAC,CAAC;iBACD,KAAK,EAAE,CAAC;SACV;IACH,CAAC;IAED,SAAS,eAAe;QACtB,WAAW,CAAC,CAAC,OAAO,EAAE,EAAE;YACtB,OAAO,EAAC,GAAG,OAAO,EAAE,aAAa,EAAE,IAAI,EAAC,CAAA;QAC1C,CAAC,CAAC,CAAC;QACH,WAAW,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;IAED,SAAS,kBAAkB;QACzB,WAAW,CAAC,CAAC,OAAO,EAAE,EAAE;YACtB,OAAO,EAAC,GAAG,OAAO,EAAE,aAAa,EAAE,KAAK,EAAC,CAAA;QAC3C,CAAC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,iBAAiB,GAAG,CAAC,KAAK,EAAE,EAAE;QAClC,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;QACjC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAClB,MAAM,WAAW,GAAG,EAAC,GAAG,OAAO,EAAE,KAAK,EAAC,CAAC;YACxC,WAAW,CAAC,OAAO,GAAG,CAAC,CAAC,WAAW,CAAC,KAAK,IAAI,WAAW,CAAC,GAAG,CAAC,CAAC;YAC9D,OAAO,WAAW,CAAC;QACrB,CAAC,CAAC,CAAC;IACL,CAAC,CAAA;IAED,SAAS,gBAAgB,CAAC,KAAK;QAC7B,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;QAC/B,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAClB,MAAM,WAAW,GAAG,EAAC,GAAG,OAAO,EAAE,GAAG,EAAC,CAAA;YACrC,WAAW,CAAC,OAAO,GAAG,CAAC,CAAC,WAAW,CAAC,KAAK,IAAI,WAAW,CAAC,GAAG,CAAC,CAAC;YAC9D,OAAO,WAAW,CAAC;QACrB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,SAAS,OAAO;QACd,oBAAoB;QACpB,MAAM,SAAS,GAAQ,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QAClD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QACrB,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;YACxC,IAAI,CAAC,GAAG,GAAI,UAAU,IAAI,CAAC,GAAG,EAAE,CAAC;SAClC;QAED,mBAAmB;QACnB,IAAI,KAAK,GAAQ,EAAE,CAAC;QACpB,KAAK,CAAC,IAAI,GAAG,OAAO,CAAC;QACrB,KAAK,CAAC,EAAE,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC;QACrC,KAAK,GAAG,uBAAuB,CAAC;YAC9B,GAAG,EAAE,KAAK;YACV,YAAY,EAAE,IAAI;YAClB,UAAU,EAAE,IAAI;YAChB,UAAU,EAAE,IAAI;YAChB,UAAU,EAAE,IAAI;SACjB,CAAC,CAAC;QACH,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC;QACnB,KAAK,CAAC,OAAO,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QAChC,KAAK,CAAC,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC;QAC5B,KAAK,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;QAChC,KAAK,CAAC,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC;QAC5B,KAAK,CAAC,SAAS,CAAC,IAAI,GAAG,GAAG,CAAC;QAE3B,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEtB,gCAAgC;QAChC,MAAM,gBAAgB,GAAQ,QAAQ,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QAC7D,MAAM,YAAY,GAAQ,EAAE,CAAC;QAC7B,YAAY,CAAC,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC;QAC3B,YAAY,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC;QACpC,YAAY,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QAC/B,YAAY,CAAC,GAAG,GAAG,GAAG,CAAC;QAEvB,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACpC,WAAW,CAAC,CAAC,OAAO,EAAE,EAAE;YACtB,OAAO,EAAC,GAAG,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,gBAAgB,EAAC,CAAA;QAC5E,CAAC,CAAC,CAAC;QACH,eAAe;QACf,OAAO,CAAC,EAAC,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAC,CAAC,CAAC;IAC/C,CAAC;IAED,SAAS,mBAAmB,CAAC,IAAS;QACpC,IAAI,aAAa,GAAQ,QAAQ,CAAC,aAAa,CAAC;QAChD,IAAI,SAAS,GAAQ,QAAQ,CAAC,SAAS,CAAC;QACxC,IAAI,IAAI,KAAK,IAAI,EAAE;YACjB,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC;YAChE,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC;YACxD,WAAW,CAAC,CAAC,OAAO,EAAE,EAAE;gBACtB,OAAO,EAAC,GAAG,OAAO,EAAE,SAAS,EAAE,aAAa,EAAC,CAAA;YAC/C,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAED,SAAS,aAAa;QACpB,MAAM,eAAe,GAAG,KAAK,CAAC,kBAAkB,EAAE,CAAC;QACnD,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QAC9E,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC;QACrC,kBAAkB,EAAE,CAAC;QACrB,MAAM,aAAa,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,CAAC;YAC9C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,KAAK;YACf,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,IAAI,EAAE,IAAI,CAAC,SAAS;SACrB,CAAC,CAAC,CAAC;QAEJ,IAAI,aAAa,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;YAC7C,WAAW,CAAC,IAAI,CAAC,CAAC;YAClB,eAAe;iBACd,qBAAqB,CAAC,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,QAAQ,CAAC,cAAc,EAAE,CAAC;iBAC9E,IAAI,CAAE,GAAG,EAAE;gBACV,WAAW,CAAC,CAAC,OAAO,EAAE,EAAE;oBACtB,OAAO,EAAC,GAAG,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,aAAa,EAAE,EAAE,EAAC,CAAC;gBACxD,CAAC,CAAC,CAAC;gBACH,cAAc,EAAE,CAAC;YACnB,CAAC,CAAC;iBACD,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;SAC5B;IACH,CAAC;IAED,OAAO,CACL,6BAAK,SAAS,EAAC,cAAc;QAC1B,UAAU,IAAI,CAAC,6BAAK,SAAS,EAAC,cAAc;YAAC,oBAAC,gBAAgB,OAAG,CAAM,CAAC;QACzE,6BAAK,SAAS,EAAC,aAAa;YAC1B,6BAAK,SAAS,EAAC,iCAAiC,EAAC,GAAG,EAAE,cAAc,GAAQ;YAC5E,6BAAK,SAAS,EAAC,aAAa,IAAE,MAAM,CAAO;YAC3C,6BAAK,SAAS,EAAC,oBAAoB,EAAC,EAAE,EAAC,mBAAmB,IAAE,IAAI,CAAC,KAAK,CAAO;YAC7E,6BAAK,KAAK,EAAE,EAAC,QAAQ,EAAE,CAAC,EAAC,GAAQ;YACjC;gBACE,oBAAC,UAAU,IACT,EAAE,EAAC,aAAa,mBACD,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,mBAChC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,mBAC1B,MAAM,EACpB,OAAO,EAAE,WAAW;oBAEtB,oBAAC,YAAY,OAAG,CACH;gBACb,oBAAC,IAAI,IAAC,KAAK,EAAE,EAAC,SAAS,EAAE,MAAM,EAAC,EAC9B,EAAE,EAAC,aAAa,EAChB,QAAQ,EAAE,QAAQ,EAClB,WAAW,QACX,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,EACvB,OAAO,EAAE,WAAW;oBAEpB,oBAAC,QAAQ,IAAC,KAAK,EAAE,EAAC,QAAQ,EAAE,MAAM,EAAC,EAAE,OAAO,EAAE,eAAe,IAAG,QAAQ,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAY;oBACnH,oBAAC,QAAQ,IAAC,KAAK,EAAE,EAAC,QAAQ,EAAE,MAAM,EAAC,EAAE,OAAO,EAAE,eAAe,IAAG,QAAQ,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAY,CAC9G,CACH,CACF;QACL,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,6BAAK,KAAK,EAAE,EAAC,SAAS,EAAE,MAAM,EAAC;YACvD,oBAAC,WAAW,gBAAW,IAAI,CAAC,IAAI,GAAgB,CAC5C,CAAC;QACN,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,6BAAK,SAAS,EAAC,uBAAuB;YACxD,oBAAC,MAAM,IAAC,KAAK,EAAE,EAAC,aAAa,EAAE,MAAM,EAAC,EAAE,KAAK,EAAC,SAAS,EAAC,OAAO,EAAI,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,eAAmB,CACxG,CAAC;QACN,QAAQ,CAAC,aAAa,IAAI,CACzB,6BAAK,SAAS,EAAC,wBAAwB;YACvC,6BAAK,SAAS,EAAC,qBAAqB;gBAClC,gCAAK,QAAQ,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAM;gBACxD,6BAAK,SAAS,EAAC,iBAAiB;oBAC9B,6BAAK,SAAS,EAAC,0BAA0B;wBACvC,+BAAO,OAAO,EAAC,cAAc;4BAC3B,+BAAO,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,EAAC,cAAc,EAAC,IAAI,EAAC,cAAc,EAAC,IAAI,EAAC,MAAM,EAAC,QAAQ,QAAC,QAAQ,EAAE,aAAa,GAAG;4BACxH,oBAAC,MAAM,IAAC,OAAO,EAAC,UAAU,EAAC,KAAK,EAAC,SAAS,EAAC,SAAS,EAAC,MAAM,IAAE,QAAQ,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAU,CAC3G,CACJ;oBACL,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,6BAAK,KAAK,EAAE,EAAC,SAAS,EAAE,MAAM,EAAC;wBAC/D,oBAAC,WAAW,yBAAmB,OAAO,cAAW,QAAQ,CAAC,QAAQ,6BAA2B,kBAAkB,GAAgB,CAC3H,CAAC;oBACN,QAAQ,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,gCAAW,CAAC;oBAChD,oBAAC,wBAAwB,IAAC,aAAa,EAAE,QAAQ,CAAC,eAAe,EAAE,kBAAkB,EAAE,QAAQ,CAAC,oBAAoB,EACnH,aAAa,EAAE,aAAa,EAAE,eAAe,EAAE,cAAc,GAA6B,CACvF,CACF,CACF,CACL;QACA,QAAQ,CAAC,aAAa,IAAI,CACzB,6BAAK,SAAS,EAAC,wBAAwB;YACrC,6BAAK,SAAS,EAAC,qBAAqB;gBAClC,gCAAK,QAAQ,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAM;gBAClD,6BAAK,SAAS,EAAC,iBAAiB;oBAC9B,6BAAK,SAAS,EAAC,sBAAsB;wBACjC,6BAAK,SAAS,EAAC,uBAAuB;4BACpC,6BAAK,SAAS,EAAC,sBAAsB;gCACnC,oBAAC,SAAS,IAAC,SAAS,QAAC,OAAO,EAAC,UAAU,EAAC,KAAK,EAAC,YAAY,EAAC,IAAI,EAAC,OAAO,EAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,iBAAiB,GAAG,CACzI;4BACN,6BAAK,SAAS,EAAC,sBAAsB;gCACnC,oBAAC,SAAS,IAAC,SAAS,QAAC,OAAO,EAAC,UAAU,EAAC,KAAK,EAAC,KAAK,EAAC,IAAI,EAAC,OAAO,EAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,gBAAgB,GAAG,CAC/H,CACF;wBACN,6BAAK,SAAS,EAAC,qBAAqB;4BAClC,oBAAC,MAAM,IAAC,SAAS,EAAC,sBAAsB,EAAC,KAAK,EAAC,SAAS,EAAC,OAAO,EAAC,WAAW,EAAC,SAAS,EAAC,MAAM,EAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,OAAO,IAAG,QAAQ,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAU,CACrL,CACF;oBACL,QAAQ,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,6BAAK,KAAK,EAAE,EAAC,SAAS,EAAE,MAAM,EAAC;wBAChE,oBAAC,WAAW,yBAAmB,OAAO,cAAW,QAAQ,CAAC,SAAS,6BAA2B,mBAAmB,GAAgB,CAC7H,CAAC;oBACP,oBAAC,wBAAwB,IAAC,aAAa,EAAE,QAAQ,CAAC,eAAe,EAAE,kBAAkB,EAAE,QAAQ,CAAC,oBAAoB,EACpH,aAAa,EAAE,aAAa,EAAE,eAAe,EAAE,kBAAkB,GAA6B,CAC5F,CACF,CACF,CACP;QACA,gBAAgB,IAAI,CAAC,6BAAK,SAAS,EAAC,wBAAwB;YAC3D,6BAAK,SAAS,EAAC,qBAAqB;gBAClC,6BAAK,SAAS,EAAC,sBAAsB;oBACjC,gCAAK,QAAQ,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAM;oBAEpD,gCAAQ,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAC,mBAAmB,EAAC,OAAO,EAAI,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC;wBAAE,6BAAK,SAAS,EAAC,oCAAoC,EAAC,GAAG,EAAE,YAAY,GAAQ,CAAS,CAC5K;gBACN,6BAAK,SAAS,EAAC,oBAAoB;oBAAC,oBAAC,WAAW,gBAAW,OAAO,GAAgB,CAAM,CACpF,CACF,CAAC,CACH,CAEP,CAAA;AACH,CAAC","sourcesContent":["import React, { useEffect, useState } from \"react\";\nimport TextField from '@material-ui/core/TextField';\nimport { Utils } from '../../../helpers/utils';\nimport download from \"downloadjs\";\nimport SummaryList from '../../SummaryList';\nimport ActionButtonsForFileUtil from '../ActionButtonsForFileUtil';\nimport './FileUtility.css';\nimport { IconButton, Menu, MenuItem } from '@material-ui/core';\nimport MoreVertIcon from '@material-ui/icons/MoreVert';\nimport { Button } from '@material-ui/core';\nimport { validateMaxSize } from '../../../helpers/attachmentHelpers';\nimport { CircularProgress } from \"@material-ui/core\";\n\n// Remove this and use \"real\" PCore type once .d.ts is fixed (currently shows 5 errors)\ndeclare const PCore: any;\n\n\nexport default function FileUtility(props) {\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: [{ actionID: \"attach\", jsAction: \"attachFiles\", name: thePConn.getLocalizedValue('Attach files')}],\n fileSecondaryButtons: [{ actionID: \"cancel\", jsAction: \"cancel\", name: thePConn.getLocalizedValue('Cancel')}]\n };\n const [fileData, setFileData] = useState(fileTemp);\n const linkTemp = {\n showLinkModal: false,\n linksList: [],\n attachedLinks: [],\n linkMainButtons: [{ actionID: \"attach\", jsAction: \"attachLinks\", name: thePConn.getLocalizedValue('Attach links')}],\n linkSecondaryButtons: [{ actionID: \"cancel\", jsAction: \"cancel\", name: thePConn.getLocalizedValue('Cancel')}]\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: Array<any> = []) {\n attsFromResp = attsFromResp.map((respAtt) => {\n const updatedAtt = {\n ...respAtt,\n meta: `${respAtt.category} . ${Utils.generateDateTime(respAtt.createTime, \"DateTime-Since\")}, ${\n respAtt.createdBy\n }`\n };\n if (updatedAtt.type === \"FILE\") {\n updatedAtt.nameWithExt = updatedAtt.fileName;\n }\n return updatedAtt;\n });\n return attsFromResp;\n }\n\n function getListUtilityItemProps({\n att,\n cancelFile,\n downloadFile,\n deleteFile,\n removeFile\n }) {\n let actions;\n\n if (att.progress && att.progress !== 100) {\n actions = [\n {\n id: `Cancel-${att.ID}`,\n text: thePConn.getLocalizedValue('Cancel'),\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'),\n icon: isFile ? \"download\" : \"open\",\n onClick: downloadFile\n }\n ],\n [\n \"delete\",\n {\n id: `Delete-${ID}`,\n text: thePConn.getLocalizedValue('Delete'),\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'),\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 .downloadAttachment(ID, context)\n .then((content) => {\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.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\n const attachmentUtils = PCore.getAttachmentUtils();\n const caseID = thePConn.getValue(PCore.getConstants().CASE_INFO.CASE_INFO_ID);\n\n if (caseID && caseID !== \"\") {\n const attPromise = attachmentUtils.getCaseAttachments(caseID, thePConn.getContextName());\n\n attPromise\n .then( (resp) => {\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\n useEffect(() => {\n PCore.getPubSubUtils().subscribe(\n PCore.getEvents().getCaseEvent().CASE_ATTACHMENTS_UPDATED_FROM_CASEVIEW,\n getAttachments,\n \"caseAttachmentsUpdateFromCaseview\"\n );\n\n return () => {\n PCore.getPubSubUtils().unsubscribe(\n PCore.getEvents().getCaseEvent().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: Array<any>): Array<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\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);\n const onUploadProgress = () => {};\n const errorHandler = () => {};\n closeFilePopup()\n if (fileData.attachedFiles && fileData.attachedFiles.length > 0 ) {\n setProgress(true);\n }\n for (const file of fileData.attachedFiles) {\n attachmentUtils\n .uploadAttachment(\n file,\n onUploadProgress,\n errorHandler,\n thePConn.getContextName()\n )\n .then((fileResponse) => {\n if (fileResponse.type === \"File\") {\n attachmentUtils.linkAttachmentsToCase(\n caseID,\n [ fileResponse ],\n \"File\",\n thePConn.getContextName()\n )\n .then(() => {\n setFileData((current) => {\n return {...current, fileList: [], attachedFiles: []};\n });\n getAttachments();\n })\n .catch();\n }\n })\n .catch();\n }\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 {...current, linksList: localList, attachedLinks: attachedListTemp}\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);\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\n .linkAttachmentsToCase(caseID, linksToAttach, \"URL\", thePConn.getContextName())\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\">\n {inProgress && (<div className=\"progress-div\"><CircularProgress /></div>)}\n <div className=\"psdk-header\">\n <img className=\"psdk-file-utility-card-svg-icon\" src={headerSvgIcon$}></img>\n <div className=\"header-text\">{header}</div>\n <div className=\"psdk-utility-count\" id=\"attachments-count\">{list.count}</div>\n <div style={{flexGrow: 1}}></div>\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'}}\n id=\"simple-menu\"\n anchorEl={anchorEl}\n keepMounted\n open={Boolean(anchorEl)}\n onClose={handleClose}\n >\n <MenuItem style={{fontSize: '14px'}} onClick={onAddFilesClick}>{thePConn.getLocalizedValue('Add files')}</MenuItem>\n <MenuItem style={{fontSize: '14px'}} onClick={onAddLinksClick}>{thePConn.getLocalizedValue('Add links')}</MenuItem>\n </Menu>\n </div>\n </div>\n {list.data.length > 0 && (<div style={{marginTop: '1rem'}}>\n <SummaryList arItems$={list.data}></SummaryList>\n </div>)}\n {list.count > 3 && (<div className=\"psdk-utility-view-all\">\n <Button style={{textTransform: 'none'}} color=\"primary\" onClick = {() => setViewAll(true)}>View all</Button>\n </div>)}\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\">{thePConn.getLocalizedValue('Attach files')}</Button>\n </label>\n </div>\n {fileData.fileList.length > 0 && (<div style={{marginTop: '1rem'}}>\n <SummaryList menuIconOverride$='trash' arItems$={fileData.fileList} menuIconOverrideAction$={removeFileFromList}></SummaryList>\n </div>)}\n {fileData.fileList.length === 0 && (<div></div>)}\n <ActionButtonsForFileUtil arMainButtons={fileData.fileMainButtons} arSecondaryButtons={fileData.fileSecondaryButtons}\n primaryAction={onAttachFiles} secondaryAction={closeFilePopup}></ActionButtonsForFileUtil>\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>\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 fullWidth variant=\"outlined\" label=\"Link title\" size=\"small\" required={required} value={link.title} onChange={fieldlinkOnChange}/>\n </div>\n <div className=\"psdk-modal-link-data\">\n <TextField fullWidth variant=\"outlined\" label=\"URL\" size=\"small\" required={required} value={link.url} onChange={fieldurlOnChange}/>\n </div>\n </div>\n <div className=\"psdk-modal-link-add\">\n <Button className=\"psdk-add-link-action\" color=\"primary\" variant=\"contained\" component=\"span\" onClick={addLink} disabled={link.disable}>{thePConn.getLocalizedValue('Add link')}</Button>\n </div>\n </div>\n {linkData.linksList.length > 0 && (<div style={{marginTop: '1rem'}}>\n <SummaryList menuIconOverride$='trash' arItems$={linkData.linksList} menuIconOverrideAction$={removeLinksFromList}></SummaryList>\n </div>)}\n <ActionButtonsForFileUtil arMainButtons={linkData.linkMainButtons} arSecondaryButtons={linkData.linkSecondaryButtons}\n primaryAction={onAttachLinks} secondaryAction={closeAddLinksPopup}></ActionButtonsForFileUtil>\n </div>\n </div>\n </div>\n )}\n {showViewAllModal && (<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>\n {/* eslint-disable-next-line jsx-a11y/control-has-associated-label */}\n <button type=\"button\" className=\"psdk-close-button\" onClick = {() => setViewAll(false)}><img className=\"psdk-utility-card-actions-svg-icon\" src={closeSvgIcon}></img></button>\n </div>\n <div className=\"psdk-view-all-body\"><SummaryList arItems$={vaItems}></SummaryList></div>\n </div>\n </div>)}\n </div>\n\n )\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QuickCreate.d.ts","sourceRoot":"","sources":["../../../../src/components/widget/QuickCreate/QuickCreate.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"QuickCreate.d.ts","sourceRoot":"","sources":["../../../../src/components/widget/QuickCreate/QuickCreate.tsx"],"names":[],"mappings":";AASA,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,KAAK,KAAA,eA+CxC"}
|
|
@@ -20,11 +20,11 @@ export default function QuickCreate(props) {
|
|
|
20
20
|
envInfo.environmentInfoObject.pyCaseTypeList &&
|
|
21
21
|
envInfo.environmentInfoObject.pyCaseTypeList.length > 0) {
|
|
22
22
|
classFilter.forEach((item) => {
|
|
23
|
-
let icon = Utils.getImageSrc('polaris-solid',
|
|
23
|
+
let icon = Utils.getImageSrc('polaris-solid', Utils.getSDKStaticConentUrl());
|
|
24
24
|
let label = '';
|
|
25
25
|
envInfo.environmentInfoObject.pyCaseTypeList.forEach((casetype) => {
|
|
26
26
|
if (casetype.pyWorkTypeImplementationClassName === item) {
|
|
27
|
-
icon = casetype.pxIcon && Utils.getImageSrc(casetype?.pxIcon,
|
|
27
|
+
icon = casetype.pxIcon && Utils.getImageSrc(casetype?.pxIcon, Utils.getSDKStaticConentUrl());
|
|
28
28
|
label = casetype.pyWorkTypeName ?? '';
|
|
29
29
|
}
|
|
30
30
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QuickCreate.js","sourceRoot":"","sources":["../../../../src/components/widget/QuickCreate/QuickCreate.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,cAAc,MAAM,4CAA4C,CAAC;AACxE,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"QuickCreate.js","sourceRoot":"","sources":["../../../../src/components/widget/QuickCreate/QuickCreate.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,cAAc,MAAM,4CAA4C,CAAC;AACxE,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAO5C,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,KAAK;IACvC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC;IACnE,MAAM,KAAK,GAAG,WAAW,EAAE,CAAC;IAC5B,MAAM,UAAU,GAAG,CAAC,SAAS,EAAE,EAAE;QAC/B,KAAK;aACF,aAAa,EAAE;aACf,UAAU,CAAC,SAAS,EAAE,EAAE,CAAC;aACzB,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YACf,sCAAsC;YACtC,OAAO,CAAC,GAAG,CAAC,0BAA0B,EAAE,KAAK,EAAE,OAAO,CAAC,CAAA;QACzD,CAAC,CAAC,CAAC;IACP,CAAC,CAAC;IAEF,MAAM,KAAK,GAAQ,EAAE,CAAC;IACtB,MAAM,OAAO,GAAG,KAAK,CAAC,kBAAkB,EAAE,CAAC;IAC3C,IACE,WAAW;QACX,OAAO,CAAC,qBAAqB;QAC7B,OAAO,CAAC,qBAAqB,CAAC,cAAc;QAC5C,OAAO,CAAC,qBAAqB,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EACvD;QACA,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YAC3B,IAAI,IAAI,GAAG,KAAK,CAAC,WAAW,CAAC,eAAe,EAAE,KAAK,CAAC,qBAAqB,EAAE,CAAC,CAAC;YAC7E,IAAI,KAAK,GAAG,EAAE,CAAC;YACf,OAAO,CAAC,qBAAqB,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;gBAChE,IAAI,QAAQ,CAAC,iCAAiC,KAAK,IAAI,EAAE;oBACvD,IAAI,GAAG,QAAQ,CAAC,MAAM,IAAI,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,qBAAqB,EAAE,CAAC,CAAC;oBAC7F,KAAK,GAAG,QAAQ,CAAC,cAAc,IAAI,EAAE,CAAC;iBACvC;YACH,CAAC,CAAC,CAAC;YACH,IAAI,KAAK,KAAK,EAAE,EAAE;gBAChB,KAAK,CAAC,IAAI,CAAC;oBACT,KAAK;oBACL,OAAO,EAAE,GAAG,EAAE;wBACZ,UAAU,CAAC,IAAI,CAAC,CAAC;oBACnB,CAAC;oBACD,GAAG,CAAC,aAAa,IAAI,EAAE,IAAI,EAAE,CAAC;iBAC/B,CAAC,CAAC;aACJ;QACH,CAAC,CAAC,CAAC;KACJ;IAED,OAAO,CACH;QACE,oBAAC,cAAc,IAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,GAAmB,CAC/D,CACP,CAAC;AACN,CAAC","sourcesContent":["import React from \"react\";\nimport WssQuickCreate from '../../designSystemExtension/WssQuickCreate';\nimport { Utils } from '../../helpers/utils';\n\nimport PCoreType from '@pega/pcore-pconnect-typedefs/types/pcore';\n\ndeclare const PCore: typeof PCoreType;\n\n\nexport default function QuickCreate(props) {\n const { getPConnect, heading, showCaseIcons, classFilter } = props;\n const pConn = getPConnect();\n const createCase = (className) => {\n pConn\n .getActionsApi()\n .createWork(className, {})\n .catch((error) => {\n // eslint-disable-next-line no-console\n console.log('Error in case creation: ', error?.message)\n });\n };\n\n const cases: any = [];\n const envInfo = PCore.getEnvironmentInfo();\n if (\n classFilter &&\n envInfo.environmentInfoObject &&\n envInfo.environmentInfoObject.pyCaseTypeList &&\n envInfo.environmentInfoObject.pyCaseTypeList.length > 0\n ) {\n classFilter.forEach((item) => {\n let icon = Utils.getImageSrc('polaris-solid', Utils.getSDKStaticConentUrl());\n let label = '';\n envInfo.environmentInfoObject.pyCaseTypeList.forEach((casetype) => {\n if (casetype.pyWorkTypeImplementationClassName === item) {\n icon = casetype.pxIcon && Utils.getImageSrc(casetype?.pxIcon, Utils.getSDKStaticConentUrl());\n label = casetype.pyWorkTypeName ?? '';\n }\n });\n if (label !== '') {\n cases.push({\n label,\n onClick: () => {\n createCase(item);\n },\n ...(showCaseIcons && { icon })\n });\n }\n });\n }\n\n return (\n <div>\n <WssQuickCreate heading={heading} actions={cases}></WssQuickCreate>\n </div>\n );\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SummaryItem.d.ts","sourceRoot":"","sources":["../../../../src/components/widget/SummaryItem/SummaryItem.tsx"],"names":[],"mappings":";AAEA,OAAO,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"SummaryItem.d.ts","sourceRoot":"","sources":["../../../../src/components/widget/SummaryItem/SummaryItem.tsx"],"names":[],"mappings":";AAEA,OAAO,mBAAmB,CAAA;AAI1B,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,KAAK,KAAA,eAuExC"}
|
|
@@ -7,13 +7,13 @@ export default function SummaryItem(props) {
|
|
|
7
7
|
let imagePath$ = "";
|
|
8
8
|
let menuIconOverride$;
|
|
9
9
|
menuIconOverride$ = props.menuIconOverride$;
|
|
10
|
-
imagePath$ = Utils.getIconPath(
|
|
10
|
+
imagePath$ = Utils.getIconPath(Utils.getSDKStaticConentUrl());
|
|
11
11
|
const item = props.arItems$;
|
|
12
12
|
const srcImg = `${imagePath$}${item.visual.icon}.svg`;
|
|
13
13
|
const [anchorEl, setAnchorEl] = useState(null);
|
|
14
14
|
const open = Boolean(anchorEl);
|
|
15
15
|
if (menuIconOverride$) {
|
|
16
|
-
menuIconOverride$ = Utils.getImageSrc(menuIconOverride$,
|
|
16
|
+
menuIconOverride$ = Utils.getImageSrc(menuIconOverride$, Utils.getSDKStaticConentUrl());
|
|
17
17
|
}
|
|
18
18
|
function removeAttachment() {
|
|
19
19
|
props.menuIconOverrideAction$(item);
|