@pega/react-sdk-components 0.24.3 → 0.242.1
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/react_pconnect.d.ts.map +1 -1
- package/lib/bridge/react_pconnect.js +137 -140
- package/lib/bridge/react_pconnect.js.map +1 -1
- package/lib/components/designSystemExtension/AlertBanner/AlertBanner.js +1 -1
- package/lib/components/designSystemExtension/AlertBanner/AlertBanner.js.map +1 -1
- package/lib/components/designSystemExtension/Banner/Banner.js +1 -1
- package/lib/components/designSystemExtension/Banner/Banner.js.map +1 -1
- package/lib/components/designSystemExtension/CaseSummaryFields/CaseSummaryFields.d.ts.map +1 -1
- package/lib/components/designSystemExtension/CaseSummaryFields/CaseSummaryFields.js +11 -11
- package/lib/components/designSystemExtension/CaseSummaryFields/CaseSummaryFields.js.map +1 -1
- package/lib/components/designSystemExtension/DetailsFields/DetailsFields.js +3 -3
- package/lib/components/designSystemExtension/DetailsFields/DetailsFields.js.map +1 -1
- package/lib/components/designSystemExtension/FieldGroup/FieldGroup.js +4 -4
- package/lib/components/designSystemExtension/FieldGroup/FieldGroup.js.map +1 -1
- package/lib/components/designSystemExtension/FieldGroupList/FieldGroupList.js +4 -4
- package/lib/components/designSystemExtension/FieldGroupList/FieldGroupList.js.map +1 -1
- package/lib/components/designSystemExtension/FieldValueList/FieldValueList.js +3 -3
- package/lib/components/designSystemExtension/FieldValueList/FieldValueList.js.map +1 -1
- package/lib/components/designSystemExtension/Operator/Operator.d.ts.map +1 -1
- package/lib/components/designSystemExtension/Operator/Operator.js +6 -6
- package/lib/components/designSystemExtension/Operator/Operator.js.map +1 -1
- package/lib/components/designSystemExtension/Pulse/Pulse.js +2 -2
- package/lib/components/designSystemExtension/Pulse/Pulse.js.map +1 -1
- package/lib/components/designSystemExtension/RichTextEditor/RichTextEditor.d.ts.map +1 -1
- package/lib/components/designSystemExtension/RichTextEditor/RichTextEditor.js +3 -2
- package/lib/components/designSystemExtension/RichTextEditor/RichTextEditor.js.map +1 -1
- package/lib/components/designSystemExtension/WssQuickCreate/WssQuickCreate.js +1 -1
- package/lib/components/designSystemExtension/WssQuickCreate/WssQuickCreate.js.map +1 -1
- package/lib/components/field/AutoComplete/AutoComplete.js +3 -3
- package/lib/components/field/AutoComplete/AutoComplete.js.map +1 -1
- package/lib/components/field/CancelAlert/CancelAlert.js +2 -2
- 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.js +1 -1
- package/lib/components/field/Currency/Currency.js.map +1 -1
- package/lib/components/field/Date/Date.d.ts.map +1 -1
- package/lib/components/field/Date/Date.js +17 -8
- package/lib/components/field/Date/Date.js.map +1 -1
- package/lib/components/field/DateTime/DateTime.d.ts.map +1 -1
- package/lib/components/field/DateTime/DateTime.js +24 -7
- package/lib/components/field/DateTime/DateTime.js.map +1 -1
- package/lib/components/field/Decimal/Decimal.js +1 -1
- package/lib/components/field/Decimal/Decimal.js.map +1 -1
- package/lib/components/field/Dropdown/Dropdown.js +2 -2
- package/lib/components/field/Dropdown/Dropdown.js.map +1 -1
- package/lib/components/field/Email/Email.js +2 -2
- package/lib/components/field/Email/Email.js.map +1 -1
- package/lib/components/field/Group/Group.js +1 -1
- package/lib/components/field/Group/Group.js.map +1 -1
- package/lib/components/field/Integer/Integer.js +1 -1
- package/lib/components/field/Integer/Integer.js.map +1 -1
- package/lib/components/field/Multiselect/Multiselect.d.ts.map +1 -1
- package/lib/components/field/Multiselect/Multiselect.js +12 -8
- package/lib/components/field/Multiselect/Multiselect.js.map +1 -1
- package/lib/components/field/Percentage/Percentage.js +2 -2
- package/lib/components/field/Percentage/Percentage.js.map +1 -1
- package/lib/components/field/Phone/Phone.d.ts.map +1 -1
- package/lib/components/field/Phone/Phone.js +14 -8
- package/lib/components/field/Phone/Phone.js.map +1 -1
- package/lib/components/field/RadioButtons/RadioButtons.js +2 -2
- package/lib/components/field/RadioButtons/RadioButtons.js.map +1 -1
- package/lib/components/field/SemanticLink/SemanticLink.js +3 -3
- package/lib/components/field/SemanticLink/SemanticLink.js.map +1 -1
- package/lib/components/field/TextArea/TextArea.js +1 -1
- package/lib/components/field/TextArea/TextArea.js.map +1 -1
- package/lib/components/field/TextContent/TextContent.js +1 -1
- package/lib/components/field/TextContent/TextContent.js.map +1 -1
- package/lib/components/field/TextInput/TextInput.js +1 -1
- 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 +22 -3
- package/lib/components/field/Time/Time.js.map +1 -1
- package/lib/components/field/URL/URL.js +1 -1
- package/lib/components/field/URL/URL.js.map +1 -1
- package/lib/components/field/UserReference/UserReference.js +1 -1
- package/lib/components/field/UserReference/UserReference.js.map +1 -1
- package/lib/components/helpers/simpleTableHelpers.js +1 -1
- package/lib/components/helpers/simpleTableHelpers.js.map +1 -1
- package/lib/components/infra/ActionButtons/ActionButtons.js +3 -3
- package/lib/components/infra/ActionButtons/ActionButtons.js.map +1 -1
- package/lib/components/infra/Assignment/Assignment.d.ts.map +1 -1
- package/lib/components/infra/Assignment/Assignment.js +27 -4
- 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 +5 -6
- package/lib/components/infra/Containers/FlowContainer/FlowContainer.js.map +1 -1
- package/lib/components/infra/Containers/ModalViewContainer/ListViewActionButtons/ListViewActionButtons.js +2 -2
- package/lib/components/infra/Containers/ModalViewContainer/ListViewActionButtons/ListViewActionButtons.js.map +1 -1
- package/lib/components/infra/Containers/ModalViewContainer/ModalViewContainer.js +7 -7
- package/lib/components/infra/Containers/ModalViewContainer/ModalViewContainer.js.map +1 -1
- package/lib/components/infra/Containers/ViewContainer/ViewContainer.js +1 -1
- package/lib/components/infra/Containers/ViewContainer/ViewContainer.js.map +1 -1
- package/lib/components/infra/DashboardFilter/DashboardFilter.js +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 +2 -2
- package/lib/components/infra/DashboardFilter/filterUtils.js.map +1 -1
- package/lib/components/infra/DeferLoad/DeferLoad.js +2 -2
- package/lib/components/infra/DeferLoad/DeferLoad.js.map +1 -1
- package/lib/components/infra/NavBar/NavBar.d.ts.map +1 -1
- package/lib/components/infra/NavBar/NavBar.js +16 -15
- 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 +5 -6
- package/lib/components/infra/RootContainer/RootContainer.js.map +1 -1
- package/lib/components/infra/Stages/Stages.js +4 -4
- package/lib/components/infra/Stages/Stages.js.map +1 -1
- package/lib/components/infra/VerticalTabs/LeftAlignVerticalTabs/LeftAlignVerticalTabs.js +2 -2
- package/lib/components/infra/VerticalTabs/LeftAlignVerticalTabs/LeftAlignVerticalTabs.js.map +1 -1
- package/lib/components/infra/VerticalTabs/VerticalTabs/VerticalTabs.js +2 -2
- package/lib/components/infra/VerticalTabs/VerticalTabs/VerticalTabs.js.map +1 -1
- package/lib/components/template/AppShell/AppShell.d.ts.map +1 -1
- package/lib/components/template/AppShell/AppShell.js +20 -2
- package/lib/components/template/AppShell/AppShell.js.map +1 -1
- package/lib/components/template/CaseView/CaseView.js +5 -5
- package/lib/components/template/CaseView/CaseView.js.map +1 -1
- package/lib/components/template/CaseViewActionsMenu/CaseViewActionsMenu.js +6 -6
- 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 +2 -1
- package/lib/components/template/Confirmation/Confirmation.js.map +1 -1
- package/lib/components/template/DataReference/DataReference.js +1 -1
- package/lib/components/template/DataReference/DataReference.js.map +1 -1
- package/lib/components/template/Details/Details/Details.js +1 -1
- package/lib/components/template/Details/Details/Details.js.map +1 -1
- package/lib/components/template/Details/DetailsSubTabs/DetailsSubTabs.js +3 -3
- package/lib/components/template/Details/DetailsSubTabs/DetailsSubTabs.js.map +1 -1
- package/lib/components/template/Details/DetailsThreeColumn/DetailsThreeColumn.js +1 -1
- package/lib/components/template/Details/DetailsThreeColumn/DetailsThreeColumn.js.map +1 -1
- package/lib/components/template/Details/DetailsTwoColumn/DetailsTwoColumn.js +1 -1
- package/lib/components/template/Details/DetailsTwoColumn/DetailsTwoColumn.js.map +1 -1
- package/lib/components/template/Details/DynamicTabs/DynamicTabs.d.ts.map +1 -1
- package/lib/components/template/Details/DynamicTabs/DynamicTabs.js +3 -2
- package/lib/components/template/Details/DynamicTabs/DynamicTabs.js.map +1 -1
- package/lib/components/template/InlineDashboard/InlineDashboard.js +2 -2
- package/lib/components/template/InlineDashboard/InlineDashboard.js.map +1 -1
- package/lib/components/template/ListView/ListView.d.ts.map +1 -1
- package/lib/components/template/ListView/ListView.js +49 -57
- package/lib/components/template/ListView/ListView.js.map +1 -1
- package/lib/components/template/NarrowWide/NarrowWideDetails/NarrowWideDetails.js +1 -1
- package/lib/components/template/NarrowWide/NarrowWideDetails/NarrowWideDetails.js.map +1 -1
- package/lib/components/template/OneColumn/OneColumn/OneColumn.js +2 -2
- package/lib/components/template/OneColumn/OneColumn/OneColumn.js.map +1 -1
- package/lib/components/template/PromotedFilters/PromotedFilters.js +1 -1
- package/lib/components/template/PromotedFilters/PromotedFilters.js.map +1 -1
- package/lib/components/template/SimpleTable/SimpleTableManual/SimpleTableManual.d.ts.map +1 -1
- package/lib/components/template/SimpleTable/SimpleTableManual/SimpleTableManual.js +23 -23
- package/lib/components/template/SimpleTable/SimpleTableManual/SimpleTableManual.js.map +1 -1
- package/lib/components/template/SubTabs/SubTabs.js +2 -2
- package/lib/components/template/SubTabs/SubTabs.js.map +1 -1
- package/lib/components/template/TwoColumn/TwoColumn/TwoColumn.js +2 -2
- package/lib/components/template/TwoColumn/TwoColumn/TwoColumn.js.map +1 -1
- package/lib/components/template/TwoColumn/TwoColumnTab/TwoColumnTab.js +2 -2
- package/lib/components/template/TwoColumn/TwoColumnTab/TwoColumnTab.js.map +1 -1
- package/lib/components/template/WideNarrow/WideNarrowDetails/WideNarrowDetails.js +1 -1
- package/lib/components/template/WideNarrow/WideNarrowDetails/WideNarrowDetails.js.map +1 -1
- package/lib/components/template/WssNavBar/WssNavBar.js +9 -9
- package/lib/components/template/WssNavBar/WssNavBar.js.map +1 -1
- package/lib/components/widget/AppAnnouncement/AppAnnouncement.js +2 -2
- package/lib/components/widget/AppAnnouncement/AppAnnouncement.js.map +1 -1
- package/lib/components/widget/Attachment/Attachment.d.ts.map +1 -1
- package/lib/components/widget/Attachment/Attachment.js +3 -3
- package/lib/components/widget/Attachment/Attachment.js.map +1 -1
- package/lib/components/widget/CaseHistory/CaseHistory.d.ts.map +1 -1
- package/lib/components/widget/CaseHistory/CaseHistory.js +8 -7
- package/lib/components/widget/CaseHistory/CaseHistory.js.map +1 -1
- package/lib/components/widget/FileUtility/ActionButtonsForFileUtil/ActionButtonsForFileUtil.js +1 -1
- package/lib/components/widget/FileUtility/ActionButtonsForFileUtil/ActionButtonsForFileUtil.js.map +1 -1
- package/lib/components/widget/FileUtility/FileUtility/FileUtility.d.ts.map +1 -1
- package/lib/components/widget/FileUtility/FileUtility/FileUtility.js +4 -4
- package/lib/components/widget/FileUtility/FileUtility/FileUtility.js.map +1 -1
- package/lib/components/widget/Followers/Followers.js +2 -2
- package/lib/components/widget/Followers/Followers.js.map +1 -1
- package/lib/components/widget/SummaryItem/SummaryItem.d.ts.map +1 -1
- package/lib/components/widget/SummaryItem/SummaryItem.js +3 -3
- 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 +52 -16
- package/lib/components/widget/ToDo/ToDo.js.map +1 -1
- package/lib/doc/KeyReleaseUpdates.md +19 -7
- package/lib/hooks/index.d.ts +2 -0
- package/lib/hooks/index.d.ts.map +1 -1
- package/lib/hooks/index.js +2 -0
- package/lib/hooks/index.js.map +1 -1
- package/lib/hooks/useFocusFirstField.d.ts +7 -0
- package/lib/hooks/useFocusFirstField.d.ts.map +1 -0
- package/lib/hooks/useFocusFirstField.js +20 -0
- package/lib/hooks/useFocusFirstField.js.map +1 -0
- package/lib/hooks/useScrolltoTop.d.ts +7 -0
- package/lib/hooks/useScrolltoTop.d.ts.map +1 -0
- package/lib/hooks/useScrolltoTop.js +13 -0
- package/lib/hooks/useScrolltoTop.js.map +1 -0
- package/lib/theme.d.ts +11 -0
- package/lib/theme.d.ts.map +1 -0
- package/lib/theme.js +19 -0
- package/lib/theme.js.map +1 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileUtility.js","sourceRoot":"","sources":["../../../../../src/components/widget/FileUtility/FileUtility/FileUtility.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useEffect, useState } from 'react';\nimport TextField from '@material-ui/core/TextField';\n\nimport { Utils } from '../../../helpers/utils';\n\nimport download from 'downloadjs';\n// import SummaryList from '../../SummaryList';\n// import ActionButtonsForFileUtil from '../ActionButtonsForFileUtil';\nimport './FileUtility.css';\nimport { IconButton, Menu, MenuItem, Button, CircularProgress } from '@material-ui/core';\nimport MoreVertIcon from '@material-ui/icons/MoreVert';\n\nimport { validateMaxSize } from '../../../helpers/attachmentHelpers';\nimport { getComponentFromMap } from '../../../../bridge/helpers/sdk_component_map';\nimport { PConnProps } from '../../../../types/PConnProps';\n\ninterface FileUtilityProps extends PConnProps {\n // If any, enter additional props that only exist on this component\n}\n\nexport default function FileUtility(props: FileUtilityProps) {\n // Get emitted components from map (so we can get any override that may exist)\n const SummaryList = getComponentFromMap('SummaryList');\n const ActionButtonsForFileUtil = getComponentFromMap('ActionButtonsForFileUtil');\n\n const { getPConnect } = props;\n const thePConn = getPConnect();\n const required = true;\n const listTemp = {\n data: [],\n count: 0\n };\n const [list, setList] = useState(listTemp);\n const headerSvgIcon$ = Utils.getImageSrc('paper-clip', Utils.getSDKStaticConentUrl());\n const closeSvgIcon = Utils.getImageSrc('times', Utils.getSDKStaticConentUrl());\n const configProps: any = thePConn.resolveConfigProps(thePConn.getConfigProps());\n\n const header = configProps.label;\n const fileTemp = {\n showfileModal: false,\n fileList: [],\n attachedFiles: [],\n fileMainButtons: [\n {\n actionID: 'attach',\n jsAction: 'attachFiles',\n name: thePConn.getLocalizedValue('Attach files', '', '')\n }\n ], // 2nd and 3rd args empty string until typedef marked correctly\n fileSecondaryButtons: [\n {\n actionID: 'cancel',\n jsAction: 'cancel',\n name: thePConn.getLocalizedValue('Cancel', '', '')\n }\n ] // 2nd and 3rd args empty string until typedef marked correctly\n };\n const [fileData, setFileData] = useState(fileTemp);\n const linkTemp = {\n showLinkModal: false,\n linksList: [],\n attachedLinks: [],\n linkMainButtons: [\n {\n actionID: 'attach',\n jsAction: 'attachLinks',\n name: thePConn.getLocalizedValue('Attach links', '', '')\n }\n ], // 2nd and 3rd args empty string until typedef marked correctly\n linkSecondaryButtons: [\n {\n actionID: 'cancel',\n jsAction: 'cancel',\n name: thePConn.getLocalizedValue('Cancel', '', '')\n }\n ] // 2nd and 3rd args empty string until typedef marked correctly\n };\n const [linkData, setLinkData] = useState(linkTemp);\n const [anchorEl, setAnchorEl] = useState(null);\n const open = Boolean(anchorEl);\n const [link, setLink] = useState({ title: '', url: '', disable: true });\n const [inProgress, setProgress] = useState(false);\n const [showViewAllModal, setViewAll] = useState(false);\n const [vaItems, setFullAttachments] = useState([]);\n\n function addAttachments(attsFromResp: any[] = []) {\n attsFromResp = attsFromResp.map(respAtt => {\n const updatedAtt = {\n ...respAtt,\n meta: `${respAtt.category} . ${Utils.generateDateTime(respAtt.createTime, 'DateTime-Since')}, ${respAtt.createdBy}`\n };\n if (updatedAtt.type === 'FILE') {\n updatedAtt.nameWithExt = updatedAtt.fileName;\n }\n return updatedAtt;\n });\n return attsFromResp;\n }\n\n function getListUtilityItemProps({ att, cancelFile, downloadFile, deleteFile, removeFile }) {\n let actions;\n\n if (att.progress && att.progress !== 100) {\n actions = [\n {\n id: `Cancel-${att.ID}`,\n text: thePConn.getLocalizedValue('Cancel', '', ''), // 2nd and 3rd args empty string until typedef marked correctly\n icon: 'times',\n onClick: cancelFile\n }\n ];\n } else if (att.links) {\n const isFile = att.type === 'FILE';\n const ID = att.ID.replace(/\\s/gi, '');\n const actionsMap = new Map([\n [\n 'download',\n {\n id: `download-${ID}`,\n text: isFile ? thePConn.getLocalizedValue('Download', '', '') : thePConn.getLocalizedValue('Open', '', ''), // 2nd and 3rd args empty string until typedef marked correctly\n icon: isFile ? 'download' : 'open',\n onClick: downloadFile\n }\n ],\n [\n 'delete',\n {\n id: `Delete-${ID}`,\n text: thePConn.getLocalizedValue('Delete', '', ''), // 2nd and 3rd args empty string until typedef marked correctly\n icon: 'trash',\n onClick: deleteFile\n }\n ]\n ]);\n actions = [];\n actionsMap.forEach((action, actionKey) => {\n if (att.links[actionKey]) {\n actions.push(action);\n }\n });\n } else if (att.error) {\n actions = [\n {\n id: `Remove-${att.ID}`,\n text: thePConn.getLocalizedValue('Remove', '', ''), // 2nd and 3rd args empty string until typedef marked correctly\n icon: 'trash',\n onClick: removeFile\n }\n ];\n }\n\n return {\n id: att.ID,\n visual: {\n icon: Utils.getIconForAttachment(att),\n progress: att.progress === 100 ? undefined : att.progress\n },\n primary: {\n type: att.type,\n name: att.name,\n icon: 'open',\n click: downloadFile\n },\n secondary: {\n text: att.meta\n },\n actions\n };\n }\n\n function fileDownload(data, fileName, ext) {\n const file = ext ? `${fileName}.${ext}` : fileName;\n download(atob(data), file);\n }\n\n function downloadAttachedFile(att: any) {\n const attachUtils = PCore.getAttachmentUtils();\n const { ID, name, extension, type } = att;\n const context = thePConn.getContextName();\n\n attachUtils\n // @ts-ignore - 3rd parameter \"responseEncoding\" is optional\n .downloadAttachment(ID, context)\n .then((content: any) => {\n if (type === 'FILE') {\n fileDownload(content.data, name, extension);\n } else if (type === 'URL') {\n let { data } = content;\n if (!/^(http|https):\\/\\//.test(data)) {\n data = `//${data}`;\n }\n window.open(content.data, '_blank');\n }\n })\n .catch();\n }\n\n function deleteAttachedFile(att: any) {\n const attachUtils = PCore.getAttachmentUtils();\n const { ID } = att;\n const context = thePConn.getContextName();\n\n attachUtils\n .deleteAttachment(ID, context)\n .then(() => {\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n getAttachments();\n })\n .catch();\n }\n\n const getAttachments = () => {\n const attachmentUtils = PCore.getAttachmentUtils();\n const caseID = thePConn.getValue(PCore.getConstants().CASE_INFO.CASE_INFO_ID, ''); // 2nd arg empty string until typedef marked correctly\n\n if (caseID && caseID !== '') {\n const attPromise = attachmentUtils.getCaseAttachments(caseID, thePConn.getContextName());\n\n attPromise.then((resp: any) => {\n const arFullListAttachments = addAttachments(resp);\n const attachmentsCount = arFullListAttachments.length;\n const arItems: any = arFullListAttachments.slice(0, 3).map(att => {\n return getListUtilityItemProps({\n att,\n downloadFile: !att.progress ? () => downloadAttachedFile(att) : null,\n cancelFile: null,\n deleteFile: !att.progress ? () => deleteAttachedFile(att) : null,\n removeFile: null\n });\n });\n const viewAllarItems: any = arFullListAttachments.map(att => {\n return getListUtilityItemProps({\n att,\n downloadFile: !att.progress ? () => downloadAttachedFile(att) : null,\n cancelFile: null,\n deleteFile: !att.progress ? () => deleteAttachedFile(att) : null,\n removeFile: null\n });\n });\n setProgress(false);\n setList(current => {\n return { ...current, count: attachmentsCount, data: arItems };\n });\n setFullAttachments(viewAllarItems);\n });\n }\n };\n\n useEffect(() => {\n getAttachments();\n }, []);\n\n useEffect(() => {\n PCore.getPubSubUtils().subscribe(\n (PCore.getEvents().getCaseEvent() as any).CASE_ATTACHMENTS_UPDATED_FROM_CASEVIEW,\n getAttachments,\n 'caseAttachmentsUpdateFromCaseview'\n );\n\n return () => {\n PCore.getPubSubUtils().unsubscribe(\n (PCore.getEvents().getCaseEvent() as any).CASE_ATTACHMENTS_UPDATED_FROM_CASEVIEW,\n 'caseAttachmentsUpdateFromCaseview'\n );\n };\n }, []);\n\n function setNewFiles(arFiles) {\n let index = 0;\n for (const file of arFiles) {\n if (!validateMaxSize(file, '5')) {\n file.error = true;\n file.meta = 'File is too big. Max allowed size is 5MB.';\n }\n file.mimeType = file.type;\n file.icon = Utils.getIconFromFileType(file.type);\n file.ID = `${new Date().getTime()}I${index}`;\n index += 1;\n }\n return arFiles;\n }\n\n function getFiles(arFiles: any[]): any[] {\n return setNewFiles(arFiles);\n }\n\n function uploadMyFiles(event) {\n // alert($event.target.files[0]); // outputs the first file\n const arFiles = getFiles(event.target.files);\n // convert FileList to an array\n const myFiles: any = Array.from(arFiles);\n\n const arFileList$: any = myFiles.map((att: any) => {\n return getListUtilityItemProps({\n att,\n downloadFile: !att.progress ? () => downloadAttachedFile(att) : null,\n cancelFile: null,\n deleteFile: !att.progress ? () => deleteAttachedFile(att) : null,\n removeFile: null\n });\n });\n setFileData(current => {\n return { ...current, fileList: arFileList$, attachedFiles: myFiles };\n });\n }\n\n const handleClick = event => {\n setAnchorEl(event.currentTarget);\n };\n\n const handleClose = () => {\n setAnchorEl(null);\n };\n\n function onAddFilesClick() {\n setFileData(current => {\n return { ...current, showfileModal: true };\n });\n setAnchorEl(null);\n }\n\n function removeFileFromList(item: any) {\n let attachedFiles: any = fileData.attachedFiles;\n let fileList: any = fileData.fileList;\n if (item !== null) {\n attachedFiles = attachedFiles.filter(ele => ele.ID !== item.id);\n fileList = fileList.filter(ele => ele.id !== item.id);\n setFileData(current => {\n return { ...current, fileList, attachedFiles };\n });\n }\n }\n\n function closeFilePopup() {\n setFileData(current => {\n return { ...current, showfileModal: false };\n });\n }\n\n function onAttachFiles() {\n const attachmentUtils = PCore.getAttachmentUtils();\n const caseID = thePConn.getValue(PCore.getConstants().CASE_INFO.CASE_INFO_ID, ''); // 2nd arg empty string until typedef marked correctly\n const onUploadProgress = () => {};\n const errorHandler = () => {};\n closeFilePopup();\n if (fileData.attachedFiles && fileData.attachedFiles.length > 0) {\n setProgress(true);\n }\n\n Promise.allSettled(\n fileData.attachedFiles.map(file => attachmentUtils.uploadAttachment(file, onUploadProgress, errorHandler, thePConn.getContextName()))\n )\n .then((fileResponses: any) => {\n const uploadedFiles: any = [];\n fileResponses.forEach(fileResponse => {\n if (fileResponse.status === 'fulfilled') {\n uploadedFiles.push(fileResponse.value);\n }\n });\n if (uploadedFiles.length > 0) {\n (attachmentUtils.linkAttachmentsToCase(caseID, uploadedFiles, 'File', thePConn.getContextName()) as Promise<any>)\n .then(() => {\n setFileData(current => {\n return { ...current, fileList: [], attachedFiles: [] };\n });\n getAttachments();\n })\n .catch();\n }\n })\n .catch();\n }\n\n function onAddLinksClick() {\n setLinkData(current => {\n return { ...current, showLinkModal: true };\n });\n setAnchorEl(null);\n }\n\n function closeAddLinksPopup() {\n setLinkData(current => {\n return { ...current, showLinkModal: false };\n });\n }\n\n const fieldlinkOnChange = event => {\n const title = event.target.value;\n setLink(current => {\n const updatedData = { ...current, title };\n updatedData.disable = !(updatedData.title && updatedData.url);\n return updatedData;\n });\n };\n\n function fieldurlOnChange(event) {\n const url = event.target.value;\n setLink(current => {\n const updatedData = { ...current, url };\n updatedData.disable = !(updatedData.title && updatedData.url);\n return updatedData;\n });\n }\n\n function addLink() {\n // copy list locally\n const localList: any = linkData.linksList.slice();\n const url = link.url;\n if (!/^(http|https):\\/\\//.test(link.url)) {\n link.url = `http://${link.url}`;\n }\n\n // list for display\n let oLink: any = {};\n oLink.icon = 'chain';\n oLink.ID = `${new Date().getTime()}`;\n oLink = getListUtilityItemProps({\n att: oLink,\n downloadFile: null,\n cancelFile: null,\n deleteFile: null,\n removeFile: null\n });\n oLink.type = 'URL';\n oLink.primary.type = oLink.type;\n oLink.visual.icon = 'chain';\n oLink.primary.name = link.title;\n oLink.primary.icon = 'open';\n oLink.secondary.text = url;\n\n localList.push(oLink);\n\n // list for actually attachments\n const attachedListTemp: any = linkData.attachedLinks.slice();\n const attachedLink: any = {};\n attachedLink.id = oLink.id;\n attachedLink.linkTitle = link.title;\n attachedLink.type = oLink.type;\n attachedLink.url = url;\n\n attachedListTemp.push(attachedLink);\n setLinkData(current => {\n return {\n ...current,\n linksList: localList,\n attachedLinks: attachedListTemp\n };\n });\n // clear values\n setLink({ title: '', url: '', disable: true });\n }\n\n function removeLinksFromList(item: any) {\n let attachedLinks: any = linkData.attachedLinks;\n let linksList: any = linkData.linksList;\n if (item !== null) {\n attachedLinks = attachedLinks.filter(ele => ele.id !== item.id);\n linksList = linksList.filter(ele => ele.id !== item.id);\n setLinkData(current => {\n return { ...current, linksList, attachedLinks };\n });\n }\n }\n\n function onAttachLinks() {\n const attachmentUtils = PCore.getAttachmentUtils();\n const caseID = thePConn.getValue(PCore.getConstants().CASE_INFO.CASE_INFO_ID, ''); // 2nd arg empty string until typedef marked correctly\n const links = linkData.attachedLinks;\n closeAddLinksPopup();\n const linksToAttach = links.map((item: any) => ({\n type: 'URL',\n category: 'URL',\n url: item.url,\n name: item.linkTitle\n }));\n\n if (linksToAttach && linksToAttach.length > 0) {\n setProgress(true);\n (attachmentUtils.linkAttachmentsToCase(caseID, linksToAttach, 'URL', thePConn.getContextName()) as Promise<any>)\n .then(() => {\n setLinkData(current => {\n return { ...current, linksList: [], attachedLinks: [] };\n });\n getAttachments();\n })\n .catch(() => setProgress(false));\n }\n }\n\n return (\n <div className='psdk-utility' id='file-utility'>\n {inProgress && (\n <div className='progress-div'>\n <CircularProgress />\n </div>\n )}\n <div className='psdk-header'>\n <img className='psdk-file-utility-card-svg-icon' src={headerSvgIcon$} />\n <div className='header-text'>{header}</div>\n <div className='psdk-utility-count' id='attachments-count'>\n {list.count}\n </div>\n <div style={{ flexGrow: 1 }} />\n <div>\n <IconButton\n id='long-button'\n aria-controls={open ? 'simple-menu' : undefined}\n aria-expanded={open ? 'true' : undefined}\n aria-haspopup='true'\n onClick={handleClick}\n >\n <MoreVertIcon />\n </IconButton>\n <Menu style={{ marginTop: '3rem' }} id='simple-menu' anchorEl={anchorEl} keepMounted open={Boolean(anchorEl)} onClose={handleClose}>\n <MenuItem style={{ fontSize: '14px' }} onClick={onAddFilesClick}>\n {thePConn.getLocalizedValue('Add files', '', '')}\n </MenuItem>{' '}\n {/* 2nd and 3rd args empty string until typedef marked correctly */}\n <MenuItem style={{ fontSize: '14px' }} onClick={onAddLinksClick}>\n {thePConn.getLocalizedValue('Add links', '', '')}\n </MenuItem>{' '}\n {/* 2nd and 3rd args empty string until typedef marked correctly */}\n </Menu>\n </div>\n </div>\n {list.data.length > 0 && (\n <div style={{ marginTop: '1rem' }}>\n <SummaryList arItems$={list.data} />\n </div>\n )}\n {list.count > 3 && (\n <div className='psdk-utility-view-all'>\n <Button style={{ textTransform: 'none' }} color='primary' onClick={() => setViewAll(true)}>\n View all\n </Button>\n </div>\n )}\n {fileData.showfileModal && (\n <div className='psdk-dialog-background'>\n <div className='psdk-modal-file-top'>\n <h3>{thePConn.getLocalizedValue('Add local files', '', '')}</h3>\n <div className='psdk-modal-body'>\n <div className='psdk-modal-file-selector'>\n <label htmlFor='upload-files'>\n <input style={{ display: 'none' }} id='upload-files' name='upload-files' type='file' multiple onChange={uploadMyFiles} />\n <Button variant='outlined' color='primary' component='span'>\n {thePConn.getLocalizedValue('Attach files', '', '')}\n </Button>{' '}\n {/* 2nd and 3rd args empty string until typedef marked correctly */}\n </label>\n </div>\n {fileData.fileList.length > 0 && (\n <div style={{ marginTop: '1rem' }}>\n <SummaryList menuIconOverride$='trash' arItems$={fileData.fileList} menuIconOverrideAction$={removeFileFromList} />\n </div>\n )}\n {fileData.fileList.length === 0 && <div />}\n <ActionButtonsForFileUtil\n arMainButtons={fileData.fileMainButtons}\n arSecondaryButtons={fileData.fileSecondaryButtons}\n primaryAction={onAttachFiles}\n secondaryAction={closeFilePopup}\n />\n </div>\n </div>\n </div>\n )}\n {linkData.showLinkModal && (\n <div className='psdk-dialog-background'>\n <div className='psdk-modal-file-top'>\n <h3>{thePConn.getLocalizedValue('Add links', '', '')}</h3> {/* 2nd and 3rd args empty string until typedef marked correctly */}\n <div className='psdk-modal-body'>\n <div className='psdk-modal-links-row'>\n <div className='psdk-links-two-column'>\n <div className='psdk-modal-link-data'>\n <TextField\n fullWidth\n variant='outlined'\n label='Link title'\n size='small'\n required={required}\n value={link.title}\n onChange={fieldlinkOnChange}\n />\n </div>\n <div className='psdk-modal-link-data'>\n <TextField\n fullWidth\n variant='outlined'\n label='URL'\n size='small'\n required={required}\n value={link.url}\n onChange={fieldurlOnChange}\n />\n </div>\n </div>\n <div className='psdk-modal-link-add'>\n <Button\n className='psdk-add-link-action'\n color='primary'\n variant='contained'\n component='span'\n onClick={addLink}\n disabled={link.disable}\n >\n {thePConn.getLocalizedValue('Add link', '', '')}\n </Button>{' '}\n {/* 2nd and 3rd args empty string until typedef marked correctly */}\n </div>\n </div>\n {linkData.linksList.length > 0 && (\n <div style={{ marginTop: '1rem' }}>\n <SummaryList menuIconOverride$='trash' arItems$={linkData.linksList} menuIconOverrideAction$={removeLinksFromList} />\n </div>\n )}\n <ActionButtonsForFileUtil\n arMainButtons={linkData.linkMainButtons}\n arSecondaryButtons={linkData.linkSecondaryButtons}\n primaryAction={onAttachLinks}\n secondaryAction={closeAddLinksPopup}\n />\n </div>\n </div>\n </div>\n )}\n {showViewAllModal && (\n <div className='psdk-dialog-background'>\n <div className='psdk-modal-file-top'>\n <div className='psdk-view-all-header'>\n <h3>{thePConn.getLocalizedValue('Attachments', '', '')}</h3> {/* 2nd and 3rd args empty string until typedef marked correctly */}\n {/* eslint-disable-next-line jsx-a11y/control-has-associated-label */}\n <button type='button' className='psdk-close-button' onClick={() => setViewAll(false)}>\n <img className='psdk-utility-card-actions-svg-icon' src={closeSvgIcon} />\n </button>\n </div>\n <div className='psdk-view-all-body'>\n <SummaryList arItems$={vaItems} />\n </div>\n </div>\n </div>\n )}\n </div>\n );\n}\n"]}
|
|
1
|
+
{"version":3,"file":"FileUtility.js","sourceRoot":"","sources":["../../../../../src/components/widget/FileUtility/FileUtility/FileUtility.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useEffect, useState } from 'react';\nimport TextField from '@mui/material/TextField';\n\nimport { Utils } from '../../../helpers/utils';\n\nimport download from 'downloadjs';\n// import SummaryList from '../../SummaryList';\n// import ActionButtonsForFileUtil from '../ActionButtonsForFileUtil';\nimport './FileUtility.css';\nimport { IconButton, Menu, MenuItem, Button, CircularProgress } from '@mui/material';\nimport MoreVertIcon from '@mui/icons-material/MoreVert';\n\nimport { validateMaxSize } from '../../../helpers/attachmentHelpers';\nimport { getComponentFromMap } from '../../../../bridge/helpers/sdk_component_map';\nimport { PConnProps } from '../../../../types/PConnProps';\n\ninterface FileUtilityProps extends PConnProps {\n // If any, enter additional props that only exist on this component\n}\n\nexport default function FileUtility(props: FileUtilityProps) {\n // Get emitted components from map (so we can get any override that may exist)\n const SummaryList = getComponentFromMap('SummaryList');\n const ActionButtonsForFileUtil = getComponentFromMap('ActionButtonsForFileUtil');\n\n const { getPConnect } = props;\n const thePConn = getPConnect();\n const required = true;\n const listTemp = {\n data: [],\n count: 0\n };\n const [list, setList] = useState(listTemp);\n const headerSvgIcon$ = Utils.getImageSrc('paper-clip', Utils.getSDKStaticConentUrl());\n const closeSvgIcon = Utils.getImageSrc('times', Utils.getSDKStaticConentUrl());\n const configProps: any = thePConn.resolveConfigProps(thePConn.getConfigProps());\n\n const header = configProps.label;\n const fileTemp = {\n showfileModal: false,\n fileList: [],\n attachedFiles: [],\n fileMainButtons: [\n {\n actionID: 'attach',\n jsAction: 'attachFiles',\n name: thePConn.getLocalizedValue('Attach files', '', '')\n }\n ], // 2nd and 3rd args empty string until typedef marked correctly\n fileSecondaryButtons: [\n {\n actionID: 'cancel',\n jsAction: 'cancel',\n name: thePConn.getLocalizedValue('Cancel', '', '')\n }\n ] // 2nd and 3rd args empty string until typedef marked correctly\n };\n const [fileData, setFileData] = useState(fileTemp);\n const linkTemp = {\n showLinkModal: false,\n linksList: [],\n attachedLinks: [],\n linkMainButtons: [\n {\n actionID: 'attach',\n jsAction: 'attachLinks',\n name: thePConn.getLocalizedValue('Attach links', '', '')\n }\n ], // 2nd and 3rd args empty string until typedef marked correctly\n linkSecondaryButtons: [\n {\n actionID: 'cancel',\n jsAction: 'cancel',\n name: thePConn.getLocalizedValue('Cancel', '', '')\n }\n ] // 2nd and 3rd args empty string until typedef marked correctly\n };\n const [linkData, setLinkData] = useState(linkTemp);\n const [anchorEl, setAnchorEl] = useState(null);\n const open = Boolean(anchorEl);\n const [link, setLink] = useState({ title: '', url: '', disable: true });\n const [inProgress, setProgress] = useState(false);\n const [showViewAllModal, setViewAll] = useState(false);\n const [vaItems, setFullAttachments] = useState([]);\n\n function addAttachments(attsFromResp: any[] = []) {\n attsFromResp = attsFromResp.map(respAtt => {\n const updatedAtt = {\n ...respAtt,\n meta: `${respAtt.category} . ${Utils.generateDateTime(respAtt.createTime, 'DateTime-Since')}, ${respAtt.createdBy}`\n };\n if (updatedAtt.type === 'FILE') {\n updatedAtt.nameWithExt = updatedAtt.fileName;\n }\n return updatedAtt;\n });\n return attsFromResp;\n }\n\n function getListUtilityItemProps({ att, cancelFile, downloadFile, deleteFile, removeFile }) {\n let actions;\n\n if (att.progress && att.progress !== 100) {\n actions = [\n {\n id: `Cancel-${att.ID}`,\n text: thePConn.getLocalizedValue('Cancel', '', ''), // 2nd and 3rd args empty string until typedef marked correctly\n icon: 'times',\n onClick: cancelFile\n }\n ];\n } else if (att.links) {\n const isFile = att.type === 'FILE';\n const ID = att.ID.replace(/\\s/gi, '');\n const actionsMap = new Map([\n [\n 'download',\n {\n id: `download-${ID}`,\n text: isFile ? thePConn.getLocalizedValue('Download', '', '') : thePConn.getLocalizedValue('Open', '', ''), // 2nd and 3rd args empty string until typedef marked correctly\n icon: isFile ? 'download' : 'open',\n onClick: downloadFile\n }\n ],\n [\n 'delete',\n {\n id: `Delete-${ID}`,\n text: thePConn.getLocalizedValue('Delete', '', ''), // 2nd and 3rd args empty string until typedef marked correctly\n icon: 'trash',\n onClick: deleteFile\n }\n ]\n ]);\n actions = [];\n actionsMap.forEach((action, actionKey) => {\n if (att.links[actionKey]) {\n actions.push(action);\n }\n });\n } else if (att.error) {\n actions = [\n {\n id: `Remove-${att.ID}`,\n text: thePConn.getLocalizedValue('Remove', '', ''), // 2nd and 3rd args empty string until typedef marked correctly\n icon: 'trash',\n onClick: removeFile\n }\n ];\n }\n\n return {\n id: att.ID,\n visual: {\n icon: Utils.getIconForAttachment(att),\n progress: att.progress === 100 ? undefined : att.progress\n },\n primary: {\n type: att.type,\n name: att.name,\n icon: 'open',\n click: downloadFile\n },\n secondary: {\n text: att.meta\n },\n actions\n };\n }\n\n function fileDownload(data, fileName, ext) {\n const file = ext ? `${fileName}.${ext}` : fileName;\n download(atob(data), file);\n }\n\n function downloadAttachedFile(att: any) {\n const attachUtils = PCore.getAttachmentUtils();\n const { ID, name, extension, type } = att;\n const context = thePConn.getContextName();\n\n attachUtils\n // @ts-ignore - 3rd parameter \"responseEncoding\" is optional\n .downloadAttachment(ID, context)\n .then((content: any) => {\n if (type === 'FILE') {\n fileDownload(content.data, name, extension);\n } else if (type === 'URL') {\n let { data } = content;\n if (!/^(http|https):\\/\\//.test(data)) {\n data = `//${data}`;\n }\n window.open(content.data, '_blank');\n }\n })\n .catch();\n }\n\n function deleteAttachedFile(att: any) {\n const attachUtils = PCore.getAttachmentUtils();\n const { ID } = att;\n const context = thePConn.getContextName();\n\n attachUtils\n .deleteAttachment(ID, context)\n .then(() => {\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n getAttachments();\n })\n .catch();\n }\n\n const getAttachments = () => {\n const attachmentUtils = PCore.getAttachmentUtils();\n const caseID = thePConn.getValue(PCore.getConstants().CASE_INFO.CASE_INFO_ID, ''); // 2nd arg empty string until typedef marked correctly\n\n if (caseID && caseID !== '') {\n const attPromise = attachmentUtils.getCaseAttachments(caseID, thePConn.getContextName());\n\n attPromise.then((resp: any) => {\n const arFullListAttachments = addAttachments(resp);\n const attachmentsCount = arFullListAttachments.length;\n const arItems: any = arFullListAttachments.slice(0, 3).map(att => {\n return getListUtilityItemProps({\n att,\n downloadFile: !att.progress ? () => downloadAttachedFile(att) : null,\n cancelFile: null,\n deleteFile: !att.progress ? () => deleteAttachedFile(att) : null,\n removeFile: null\n });\n });\n const viewAllarItems: any = arFullListAttachments.map(att => {\n return getListUtilityItemProps({\n att,\n downloadFile: !att.progress ? () => downloadAttachedFile(att) : null,\n cancelFile: null,\n deleteFile: !att.progress ? () => deleteAttachedFile(att) : null,\n removeFile: null\n });\n });\n setProgress(false);\n setList(current => {\n return { ...current, count: attachmentsCount, data: arItems };\n });\n setFullAttachments(viewAllarItems);\n });\n }\n };\n\n useEffect(() => {\n getAttachments();\n }, []);\n\n useEffect(() => {\n PCore.getPubSubUtils().subscribe(\n (PCore.getEvents().getCaseEvent() as any).CASE_ATTACHMENTS_UPDATED_FROM_CASEVIEW,\n getAttachments,\n 'caseAttachmentsUpdateFromCaseview'\n );\n\n return () => {\n PCore.getPubSubUtils().unsubscribe(\n (PCore.getEvents().getCaseEvent() as any).CASE_ATTACHMENTS_UPDATED_FROM_CASEVIEW,\n 'caseAttachmentsUpdateFromCaseview'\n );\n };\n }, []);\n\n function setNewFiles(arFiles) {\n let index = 0;\n for (const file of arFiles) {\n if (!validateMaxSize(file, '5')) {\n file.error = true;\n file.meta = 'File is too big. Max allowed size is 5MB.';\n }\n file.mimeType = file.type;\n file.icon = Utils.getIconFromFileType(file.type);\n file.ID = `${new Date().getTime()}I${index}`;\n index += 1;\n }\n return arFiles;\n }\n\n function getFiles(arFiles: any[]): any[] {\n return setNewFiles(arFiles);\n }\n\n function uploadMyFiles(event) {\n // alert($event.target.files[0]); // outputs the first file\n const arFiles = getFiles(event.target.files);\n // convert FileList to an array\n const myFiles: any = Array.from(arFiles);\n\n const arFileList$: any = myFiles.map((att: any) => {\n return getListUtilityItemProps({\n att,\n downloadFile: !att.progress ? () => downloadAttachedFile(att) : null,\n cancelFile: null,\n deleteFile: !att.progress ? () => deleteAttachedFile(att) : null,\n removeFile: null\n });\n });\n setFileData(current => {\n return { ...current, fileList: arFileList$, attachedFiles: myFiles };\n });\n }\n\n const handleClick = event => {\n setAnchorEl(event.currentTarget);\n };\n\n const handleClose = () => {\n setAnchorEl(null);\n };\n\n function onAddFilesClick() {\n setFileData(current => {\n return { ...current, showfileModal: true };\n });\n setAnchorEl(null);\n }\n\n function removeFileFromList(item: any) {\n let attachedFiles: any = fileData.attachedFiles;\n let fileList: any = fileData.fileList;\n if (item !== null) {\n attachedFiles = attachedFiles.filter(ele => ele.ID !== item.id);\n fileList = fileList.filter(ele => ele.id !== item.id);\n setFileData(current => {\n return { ...current, fileList, attachedFiles };\n });\n }\n }\n\n function closeFilePopup() {\n setFileData(current => {\n return { ...current, showfileModal: false };\n });\n }\n\n function onAttachFiles() {\n const attachmentUtils = PCore.getAttachmentUtils();\n const caseID = thePConn.getValue(PCore.getConstants().CASE_INFO.CASE_INFO_ID, ''); // 2nd arg empty string until typedef marked correctly\n const onUploadProgress = () => {};\n const errorHandler = () => {};\n closeFilePopup();\n if (fileData.attachedFiles && fileData.attachedFiles.length > 0) {\n setProgress(true);\n }\n\n Promise.allSettled(\n fileData.attachedFiles.map(file => attachmentUtils.uploadAttachment(file, onUploadProgress, errorHandler, thePConn.getContextName()))\n )\n .then((fileResponses: any) => {\n const uploadedFiles: any = [];\n fileResponses.forEach(fileResponse => {\n if (fileResponse.status === 'fulfilled') {\n uploadedFiles.push(fileResponse.value);\n }\n });\n if (uploadedFiles.length > 0) {\n (attachmentUtils.linkAttachmentsToCase(caseID, uploadedFiles, 'File', thePConn.getContextName()) as Promise<any>)\n .then(() => {\n setFileData(current => {\n return { ...current, fileList: [], attachedFiles: [] };\n });\n getAttachments();\n })\n .catch();\n }\n })\n .catch();\n }\n\n function onAddLinksClick() {\n setLinkData(current => {\n return { ...current, showLinkModal: true };\n });\n setAnchorEl(null);\n }\n\n function closeAddLinksPopup() {\n setLinkData(current => {\n return { ...current, showLinkModal: false };\n });\n }\n\n const fieldlinkOnChange = event => {\n const title = event.target.value;\n setLink(current => {\n const updatedData = { ...current, title };\n updatedData.disable = !(updatedData.title && updatedData.url);\n return updatedData;\n });\n };\n\n function fieldurlOnChange(event) {\n const url = event.target.value;\n setLink(current => {\n const updatedData = { ...current, url };\n updatedData.disable = !(updatedData.title && updatedData.url);\n return updatedData;\n });\n }\n\n function addLink() {\n // copy list locally\n const localList: any = linkData.linksList.slice();\n const url = link.url;\n if (!/^(http|https):\\/\\//.test(link.url)) {\n link.url = `http://${link.url}`;\n }\n\n // list for display\n let oLink: any = {};\n oLink.icon = 'chain';\n oLink.ID = `${new Date().getTime()}`;\n oLink = getListUtilityItemProps({\n att: oLink,\n downloadFile: null,\n cancelFile: null,\n deleteFile: null,\n removeFile: null\n });\n oLink.type = 'URL';\n oLink.primary.type = oLink.type;\n oLink.visual.icon = 'chain';\n oLink.primary.name = link.title;\n oLink.primary.icon = 'open';\n oLink.secondary.text = url;\n\n localList.push(oLink);\n\n // list for actually attachments\n const attachedListTemp: any = linkData.attachedLinks.slice();\n const attachedLink: any = {};\n attachedLink.id = oLink.id;\n attachedLink.linkTitle = link.title;\n attachedLink.type = oLink.type;\n attachedLink.url = url;\n\n attachedListTemp.push(attachedLink);\n setLinkData(current => {\n return {\n ...current,\n linksList: localList,\n attachedLinks: attachedListTemp\n };\n });\n // clear values\n setLink({ title: '', url: '', disable: true });\n }\n\n function removeLinksFromList(item: any) {\n let attachedLinks: any = linkData.attachedLinks;\n let linksList: any = linkData.linksList;\n if (item !== null) {\n attachedLinks = attachedLinks.filter(ele => ele.id !== item.id);\n linksList = linksList.filter(ele => ele.id !== item.id);\n setLinkData(current => {\n return { ...current, linksList, attachedLinks };\n });\n }\n }\n\n function onAttachLinks() {\n const attachmentUtils = PCore.getAttachmentUtils();\n const caseID = thePConn.getValue(PCore.getConstants().CASE_INFO.CASE_INFO_ID, ''); // 2nd arg empty string until typedef marked correctly\n const links = linkData.attachedLinks;\n closeAddLinksPopup();\n const linksToAttach = links.map((item: any) => ({\n type: 'URL',\n category: 'URL',\n url: item.url,\n name: item.linkTitle\n }));\n\n if (linksToAttach && linksToAttach.length > 0) {\n setProgress(true);\n (attachmentUtils.linkAttachmentsToCase(caseID, linksToAttach, 'URL', thePConn.getContextName()) as Promise<any>)\n .then(() => {\n setLinkData(current => {\n return { ...current, linksList: [], attachedLinks: [] };\n });\n getAttachments();\n })\n .catch(() => setProgress(false));\n }\n }\n\n return (\n <div className='psdk-utility' id='file-utility'>\n {inProgress && (\n <div className='progress-div'>\n <CircularProgress />\n </div>\n )}\n <div className='psdk-header'>\n <img className='psdk-file-utility-card-svg-icon' src={headerSvgIcon$} />\n <div className='header-text'>{header}</div>\n <div className='psdk-utility-count' id='attachments-count'>\n {list.count}\n </div>\n <div style={{ flexGrow: 1 }} />\n <div>\n <IconButton\n id='long-button'\n aria-controls={open ? 'simple-menu' : undefined}\n aria-expanded={open ? 'true' : undefined}\n aria-haspopup='true'\n onClick={handleClick}\n size='large'\n >\n <MoreVertIcon />\n </IconButton>\n <Menu style={{ marginTop: '3rem' }} id='simple-menu' anchorEl={anchorEl} keepMounted open={Boolean(anchorEl)} onClose={handleClose}>\n <MenuItem style={{ fontSize: '14px' }} onClick={onAddFilesClick}>\n {thePConn.getLocalizedValue('Add files', '', '')}\n </MenuItem>{' '}\n {/* 2nd and 3rd args empty string until typedef marked correctly */}\n <MenuItem style={{ fontSize: '14px' }} onClick={onAddLinksClick}>\n {thePConn.getLocalizedValue('Add links', '', '')}\n </MenuItem>{' '}\n {/* 2nd and 3rd args empty string until typedef marked correctly */}\n </Menu>\n </div>\n </div>\n {list.data.length > 0 && (\n <div style={{ marginTop: '1rem' }}>\n <SummaryList arItems$={list.data} />\n </div>\n )}\n {list.count > 3 && (\n <div className='psdk-utility-view-all'>\n <Button style={{ textTransform: 'none' }} color='primary' onClick={() => setViewAll(true)}>\n View all\n </Button>\n </div>\n )}\n {fileData.showfileModal && (\n <div className='psdk-dialog-background'>\n <div className='psdk-modal-file-top'>\n <h3>{thePConn.getLocalizedValue('Add local files', '', '')}</h3>\n <div className='psdk-modal-body'>\n <div className='psdk-modal-file-selector'>\n <label htmlFor='upload-files'>\n <input style={{ display: 'none' }} id='upload-files' name='upload-files' type='file' multiple onChange={uploadMyFiles} />\n <Button variant='outlined' color='primary' component='span'>\n {thePConn.getLocalizedValue('Attach files', '', '')}\n </Button>{' '}\n {/* 2nd and 3rd args empty string until typedef marked correctly */}\n </label>\n </div>\n {fileData.fileList.length > 0 && (\n <div style={{ marginTop: '1rem' }}>\n <SummaryList menuIconOverride$='trash' arItems$={fileData.fileList} menuIconOverrideAction$={removeFileFromList} />\n </div>\n )}\n {fileData.fileList.length === 0 && <div />}\n <ActionButtonsForFileUtil\n arMainButtons={fileData.fileMainButtons}\n arSecondaryButtons={fileData.fileSecondaryButtons}\n primaryAction={onAttachFiles}\n secondaryAction={closeFilePopup}\n />\n </div>\n </div>\n </div>\n )}\n {linkData.showLinkModal && (\n <div className='psdk-dialog-background'>\n <div className='psdk-modal-file-top'>\n <h3>{thePConn.getLocalizedValue('Add links', '', '')}</h3> {/* 2nd and 3rd args empty string until typedef marked correctly */}\n <div className='psdk-modal-body'>\n <div className='psdk-modal-links-row'>\n <div className='psdk-links-two-column'>\n <div className='psdk-modal-link-data'>\n <TextField\n fullWidth\n variant='outlined'\n label='Link title'\n size='small'\n required={required}\n value={link.title}\n onChange={fieldlinkOnChange}\n />\n </div>\n <div className='psdk-modal-link-data'>\n <TextField\n fullWidth\n variant='outlined'\n label='URL'\n size='small'\n required={required}\n value={link.url}\n onChange={fieldurlOnChange}\n />\n </div>\n </div>\n <div className='psdk-modal-link-add'>\n <Button\n className='psdk-add-link-action'\n color='primary'\n variant='contained'\n component='span'\n onClick={addLink}\n disabled={link.disable}\n >\n {thePConn.getLocalizedValue('Add link', '', '')}\n </Button>{' '}\n {/* 2nd and 3rd args empty string until typedef marked correctly */}\n </div>\n </div>\n {linkData.linksList.length > 0 && (\n <div style={{ marginTop: '1rem' }}>\n <SummaryList menuIconOverride$='trash' arItems$={linkData.linksList} menuIconOverrideAction$={removeLinksFromList} />\n </div>\n )}\n <ActionButtonsForFileUtil\n arMainButtons={linkData.linkMainButtons}\n arSecondaryButtons={linkData.linkSecondaryButtons}\n primaryAction={onAttachLinks}\n secondaryAction={closeAddLinksPopup}\n />\n </div>\n </div>\n </div>\n )}\n {showViewAllModal && (\n <div className='psdk-dialog-background'>\n <div className='psdk-modal-file-top'>\n <div className='psdk-view-all-header'>\n <h3>{thePConn.getLocalizedValue('Attachments', '', '')}</h3> {/* 2nd and 3rd args empty string until typedef marked correctly */}\n {/* eslint-disable-next-line jsx-a11y/control-has-associated-label */}\n <button type='button' className='psdk-close-button' onClick={() => setViewAll(false)}>\n <img className='psdk-utility-card-actions-svg-icon' src={closeSvgIcon} />\n </button>\n </div>\n <div className='psdk-view-all-body'>\n <SummaryList arItems$={vaItems} />\n </div>\n </div>\n </div>\n )}\n </div>\n );\n}\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { Card, CardContent, CardHeader, Typography } from '@material
|
|
3
|
-
import
|
|
2
|
+
import { Card, CardContent, CardHeader, Typography } from '@mui/material';
|
|
3
|
+
import makeStyles from '@mui/styles/makeStyles';
|
|
4
4
|
const useStyles = makeStyles(theme => ({
|
|
5
5
|
root: {
|
|
6
6
|
paddingRight: theme.spacing(1),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Followers.js","sourceRoot":"","sources":["../../../../src/components/widget/Followers/Followers.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"Followers.js","sourceRoot":"","sources":["../../../../src/components/widget/Followers/Followers.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC1E,OAAO,UAAU,MAAM,wBAAwB,CAAC;AAOhD,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACrC,IAAI,EAAE;QACJ,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAC9B,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAC7B,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAC5B,aAAa,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAC/B,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAC7B,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAC5B,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAC3B,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAC9B,2BAA2B;QAC3B,8BAA8B;KAC/B;CACF,CAAC,CAAC,CAAC;AAEJ,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,KAAwC;IACxE,MAAM,aAAa,GAAG,WAAW,CAAC;IAClC,6DAA6D;IAC7D,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IAC3B,MAAM,OAAO,GAAG,SAAS,EAAE,CAAC;IAE5B,OAAO,CACL,MAAC,IAAI,IAAC,SAAS,EAAE,OAAO,CAAC,IAAI,aAC3B,KAAC,UAAU,IACT,KAAK,EACH,MAAC,UAAU,IAAC,OAAO,EAAC,IAAI,EAAC,SAAS,EAAC,KAAK,aACrC,aAAa,SAAI,uCAAoB,IAC3B,GAEf,EACF,KAAC,WAAW,cACV,MAAC,UAAU,eAAE,aAAa,gBAAsB,GACpC,IACT,CACR,CAAC;AACJ,CAAC","sourcesContent":["import { PropsWithChildren } from 'react';\nimport { Card, CardContent, CardHeader, Typography } from '@mui/material';\nimport makeStyles from '@mui/styles/makeStyles';\nimport { PConnProps } from '../../../types/PConnProps';\n\ninterface FollowersProps extends PConnProps {\n // If any, enter additional props that only exist on this component\n}\n\nconst useStyles = makeStyles(theme => ({\n root: {\n paddingRight: theme.spacing(1),\n paddingLeft: theme.spacing(1),\n paddingTop: theme.spacing(1),\n paddingBottom: theme.spacing(1),\n marginRight: theme.spacing(1),\n marginLeft: theme.spacing(1),\n marginTop: theme.spacing(1),\n marginBottom: theme.spacing(1)\n // borderLeft: \"6px solid\",\n // borderLeftColor: green[300]\n }\n}));\n\nexport default function Followers(props: PropsWithChildren<FollowersProps>) {\n const componentName = 'Followers';\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { children } = props;\n const classes = useStyles();\n\n return (\n <Card className={classes.root}>\n <CardHeader\n title={\n <Typography variant='h6' component='div'>\n {componentName} - <em>unsupported</em>\n </Typography>\n }\n />\n <CardContent>\n <Typography>{componentName} content</Typography>\n </CardContent>\n </Card>\n );\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SummaryItem.d.ts","sourceRoot":"","sources":["../../../../src/components/widget/SummaryItem/SummaryItem.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAEvD,OAAO,mBAAmB,CAAC;AAE3B,UAAU,gBAAiB,SAAQ,UAAU;IAE3C,iBAAiB,EAAE,MAAM,CAAC;IAC1B,uBAAuB,EAAE,GAAG,CAAC;IAC7B,QAAQ,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC;CACvB;AAED,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,KAAK,EAAE,gBAAgB,
|
|
1
|
+
{"version":3,"file":"SummaryItem.d.ts","sourceRoot":"","sources":["../../../../src/components/widget/SummaryItem/SummaryItem.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAEvD,OAAO,mBAAmB,CAAC;AAE3B,UAAU,gBAAiB,SAAQ,UAAU;IAE3C,iBAAiB,EAAE,MAAM,CAAC;IAC1B,uBAAuB,EAAE,GAAG,CAAC;IAC7B,QAAQ,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC;CACvB;AAED,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,KAAK,EAAE,gBAAgB,2CAyE1D"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { useState } from 'react';
|
|
3
|
-
import { IconButton, Menu, MenuItem } from '@material
|
|
4
|
-
import MoreVertIcon from '@
|
|
3
|
+
import { IconButton, Menu, MenuItem } from '@mui/material';
|
|
4
|
+
import MoreVertIcon from '@mui/icons-material/MoreVert';
|
|
5
5
|
import { Utils } from '../../helpers/utils';
|
|
6
6
|
import './SummaryItem.css';
|
|
7
7
|
export default function SummaryItem(props) {
|
|
@@ -25,7 +25,7 @@ export default function SummaryItem(props) {
|
|
|
25
25
|
const handleClose = () => {
|
|
26
26
|
setAnchorEl(null);
|
|
27
27
|
};
|
|
28
|
-
return (_jsxs("div", { className: 'psdk-utility-card', children: [_jsx("div", { className: 'psdk-utility-card-icon', children: _jsx("img", { className: 'psdk-utility-card-svg-icon', src: srcImg }) }), _jsxs("div", { className: 'psdk-utility-card-main', children: [item.primary.type !== 'URL' && _jsx("div", { className: 'psdk-utility-card-main-primary-label', children: item.primary.name }), item.primary.type === 'URL' && (_jsx("div", { className: 'psdk-utility-card-main-primary-url', children: _jsxs("button", { type: 'button', className: 'psdk-link-button', children: [item.primary.name, "\u00A0", _jsx("img", { className: 'psdk-utility-card-actions-svg-icon', src: `${imagePath$}${item.primary.icon}.svg` })] }) })), item.secondary.text && _jsx("div", { style: { color: item.secondary.error ? 'red' : undefined }, children: item.secondary.text })] }), _jsxs("div", { className: 'psdk-utility-action', children: [menuIconOverride$ && (_jsx("button", { type: 'button', className: 'psdk-utility-button', "aria-label": 'Delete Attachment', onClick: removeAttachment, children: _jsx("img", { className: 'psdk-utility-card-action-svg-icon', src: menuIconOverride$ }) })), !menuIconOverride$ && (_jsxs("div", { children: [_jsx(IconButton, { id: 'setting-button', "aria-controls": open ? 'file-menu' : undefined, "aria-expanded": open ? 'true' : undefined, "aria-haspopup": 'true', onClick: handleClick, children: _jsx(MoreVertIcon, {}) }), _jsx(Menu, { style: { marginTop: '3rem' }, id: 'file-menu', anchorEl: anchorEl, keepMounted: true, open: Boolean(anchorEl), onClose: handleClose, children: item.actions &&
|
|
28
|
+
return (_jsxs("div", { className: 'psdk-utility-card', children: [_jsx("div", { className: 'psdk-utility-card-icon', children: _jsx("img", { className: 'psdk-utility-card-svg-icon', src: srcImg }) }), _jsxs("div", { className: 'psdk-utility-card-main', children: [item.primary.type !== 'URL' && _jsx("div", { className: 'psdk-utility-card-main-primary-label', children: item.primary.name }), item.primary.type === 'URL' && (_jsx("div", { className: 'psdk-utility-card-main-primary-url', children: _jsxs("button", { type: 'button', className: 'psdk-link-button', children: [item.primary.name, "\u00A0", _jsx("img", { className: 'psdk-utility-card-actions-svg-icon', src: `${imagePath$}${item.primary.icon}.svg` })] }) })), item.secondary.text && _jsx("div", { style: { color: item.secondary.error ? 'red' : undefined }, children: item.secondary.text })] }), _jsxs("div", { className: 'psdk-utility-action', children: [menuIconOverride$ && (_jsx("button", { type: 'button', className: 'psdk-utility-button', "aria-label": 'Delete Attachment', onClick: removeAttachment, children: _jsx("img", { className: 'psdk-utility-card-action-svg-icon', src: menuIconOverride$ }) })), !menuIconOverride$ && (_jsxs("div", { children: [_jsx(IconButton, { id: 'setting-button', "aria-controls": open ? 'file-menu' : undefined, "aria-expanded": open ? 'true' : undefined, "aria-haspopup": 'true', onClick: handleClick, size: 'large', children: _jsx(MoreVertIcon, {}) }), _jsx(Menu, { style: { marginTop: '3rem' }, id: 'file-menu', anchorEl: anchorEl, keepMounted: true, open: Boolean(anchorEl), onClose: handleClose, children: item.actions &&
|
|
29
29
|
item.actions.map(option => (_jsx(MenuItem, { style: { fontSize: '14px' }, onClick: option.onClick, children: option.text }, option.id || option.text))) })] }))] })] }));
|
|
30
30
|
}
|
|
31
31
|
//# sourceMappingURL=SummaryItem.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SummaryItem.js","sourceRoot":"","sources":["../../../../src/components/widget/SummaryItem/SummaryItem.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"SummaryItem.js","sourceRoot":"","sources":["../../../../src/components/widget/SummaryItem/SummaryItem.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useState } from 'react';\nimport { IconButton, Menu, MenuItem } from '@mui/material';\nimport MoreVertIcon from '@mui/icons-material/MoreVert';\nimport { Utils } from '../../helpers/utils';\nimport { PConnProps } from '../../../types/PConnProps';\n\nimport './SummaryItem.css';\n\ninterface SummaryItemProps extends PConnProps {\n // If any, enter additional props that only exist on this component\n menuIconOverride$: string;\n menuIconOverrideAction$: any;\n arItems$: any[] | any;\n}\n\nexport default function SummaryItem(props: SummaryItemProps) {\n let imagePath$ = '';\n let menuIconOverride$;\n menuIconOverride$ = props.menuIconOverride$;\n imagePath$ = Utils.getIconPath(Utils.getSDKStaticConentUrl());\n const item = props.arItems$;\n const srcImg = `${imagePath$}${item.visual.icon}.svg`;\n const [anchorEl, setAnchorEl] = useState(null);\n const open = Boolean(anchorEl);\n if (menuIconOverride$) {\n menuIconOverride$ = Utils.getImageSrc(menuIconOverride$, Utils.getSDKStaticConentUrl());\n }\n\n function removeAttachment() {\n props.menuIconOverrideAction$(item);\n }\n\n const handleClick = event => {\n setAnchorEl(event.currentTarget);\n };\n\n const handleClose = () => {\n setAnchorEl(null);\n };\n\n return (\n <div className='psdk-utility-card'>\n <div className='psdk-utility-card-icon'>\n <img className='psdk-utility-card-svg-icon' src={srcImg} />\n </div>\n <div className='psdk-utility-card-main'>\n {item.primary.type !== 'URL' && <div className='psdk-utility-card-main-primary-label'>{item.primary.name}</div>}\n {item.primary.type === 'URL' && (\n <div className='psdk-utility-card-main-primary-url'>\n <button type='button' className='psdk-link-button'>\n {item.primary.name} \n <img className='psdk-utility-card-actions-svg-icon' src={`${imagePath$}${item.primary.icon}.svg`} />\n </button>\n </div>\n )}\n {item.secondary.text && <div style={{ color: item.secondary.error ? 'red' : undefined }}>{item.secondary.text}</div>}\n </div>\n <div className='psdk-utility-action'>\n {menuIconOverride$ && (\n <button type='button' className='psdk-utility-button' aria-label='Delete Attachment' onClick={removeAttachment}>\n <img className='psdk-utility-card-action-svg-icon' src={menuIconOverride$} />\n </button>\n )}\n {!menuIconOverride$ && (\n <div>\n <IconButton\n id='setting-button'\n aria-controls={open ? 'file-menu' : undefined}\n aria-expanded={open ? 'true' : undefined}\n aria-haspopup='true'\n onClick={handleClick}\n size='large'\n >\n <MoreVertIcon />\n </IconButton>\n <Menu style={{ marginTop: '3rem' }} id='file-menu' anchorEl={anchorEl} keepMounted open={Boolean(anchorEl)} onClose={handleClose}>\n {item.actions &&\n item.actions.map(option => (\n <MenuItem style={{ fontSize: '14px' }} key={option.id || option.text} onClick={option.onClick}>\n {option.text}\n </MenuItem>\n ))}\n </Menu>\n </div>\n )}\n </div>\n </div>\n );\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToDo.d.ts","sourceRoot":"","sources":["../../../../src/components/widget/ToDo/ToDo.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ToDo.d.ts","sourceRoot":"","sources":["../../../../src/components/widget/ToDo/ToDo.tsx"],"names":[],"mappings":"AAyBA,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAEvD,OAAO,YAAY,CAAC;AAkCpB,UAAU,SAAU,SAAQ,UAAU;IAEpC,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB,UAAU,CAAC,EAAE,GAAG,CAAC;IAEjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAwCD,MAAM,CAAC,OAAO,UAAU,IAAI,CAAC,KAAK,EAAE,SAAS,2CA8Q5C"}
|
|
@@ -1,15 +1,38 @@
|
|
|
1
1
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
/* eslint-disable @typescript-eslint/no-shadow */
|
|
3
|
-
import { useState } from 'react';
|
|
4
|
-
import { Box, Button, Card, CardContent, CardHeader, Avatar, Typography, Badge, List, ListItem, ListItemText, ListItemSecondaryAction } from '@material
|
|
5
|
-
import Snackbar from '@material
|
|
6
|
-
import IconButton from '@material
|
|
7
|
-
import CloseIcon from '@
|
|
8
|
-
import ArrowForwardIosOutlinedIcon from '@
|
|
9
|
-
import {
|
|
10
|
-
import
|
|
3
|
+
import { useCallback, useEffect, useState } from 'react';
|
|
4
|
+
import { Box, Button, Card, CardContent, CardHeader, Avatar, Typography, Badge, List, ListItem, ListItemText, ListItemSecondaryAction } from '@mui/material';
|
|
5
|
+
import Snackbar from '@mui/material/Snackbar';
|
|
6
|
+
import IconButton from '@mui/material/IconButton';
|
|
7
|
+
import CloseIcon from '@mui/icons-material/Close';
|
|
8
|
+
import ArrowForwardIosOutlinedIcon from '@mui/icons-material/ArrowForwardIosOutlined';
|
|
9
|
+
import { useTheme } from '@mui/material/styles';
|
|
10
|
+
import makeStyles from '@mui/styles/makeStyles';
|
|
11
|
+
import useMediaQuery from '@mui/material/useMediaQuery';
|
|
11
12
|
import { Utils } from '../../helpers/utils';
|
|
12
13
|
import './ToDo.css';
|
|
14
|
+
const fetchMyWorkList = (datapage, fields, numberOfRecords, includeTotalCount, context) => {
|
|
15
|
+
return PCore.getDataPageUtils()
|
|
16
|
+
.getDataAsync(datapage, context, {}, {
|
|
17
|
+
pageNumber: 1,
|
|
18
|
+
pageSize: numberOfRecords
|
|
19
|
+
}, {
|
|
20
|
+
select: Object.keys(fields).map(key => ({ field: PCore.getAnnotationUtils().getPropertyName(fields[key]) }))
|
|
21
|
+
}, {
|
|
22
|
+
additionalApiParams: {
|
|
23
|
+
includeTotalCount
|
|
24
|
+
}
|
|
25
|
+
})
|
|
26
|
+
.then(response => {
|
|
27
|
+
return {
|
|
28
|
+
...response,
|
|
29
|
+
data: (Array.isArray(response?.data) ? response.data : []).map(row => Object.keys(fields).reduce((obj, key) => {
|
|
30
|
+
obj[key] = row[PCore.getAnnotationUtils().getPropertyName(fields[key])];
|
|
31
|
+
return obj;
|
|
32
|
+
}, {}))
|
|
33
|
+
};
|
|
34
|
+
});
|
|
35
|
+
};
|
|
13
36
|
const isChildCase = assignment => {
|
|
14
37
|
return assignment.isChild;
|
|
15
38
|
};
|
|
@@ -45,10 +68,9 @@ const useStyles = makeStyles(theme => ({
|
|
|
45
68
|
}
|
|
46
69
|
}));
|
|
47
70
|
export default function ToDo(props) {
|
|
48
|
-
const { getPConnect, datasource = [], headerText = 'To do', showTodoList = true, myWorkList = {}, type = 'worklist', isConfirm = false } = props;
|
|
71
|
+
const { getPConnect, context, datasource = [], headerText = 'To do', showTodoList = true, myWorkList = {}, type = 'worklist', isConfirm = false } = props;
|
|
49
72
|
const CONSTS = PCore.getConstants();
|
|
50
73
|
const bLogging = true;
|
|
51
|
-
let assignmentCount = 0;
|
|
52
74
|
const currentUser = PCore.getEnvironmentInfo().getOperatorName();
|
|
53
75
|
const currentUserInitials = Utils.getInitials(currentUser);
|
|
54
76
|
const assignmentsSource = datasource?.source || myWorkList?.source;
|
|
@@ -66,15 +88,24 @@ export default function ToDo(props) {
|
|
|
66
88
|
const showlessLocalizedValue = localizedVal('show_less', 'CosmosFields');
|
|
67
89
|
const showMoreLocalizedValue = localizedVal('show_more', 'CosmosFields');
|
|
68
90
|
const canPerform = assignments?.[0]?.canPerform === 'true' || assignments?.[0]?.canPerform === true;
|
|
69
|
-
|
|
91
|
+
const [count, setCount] = useState(null);
|
|
92
|
+
const { WORK_BASKET: { MY_WORK_LIST } } = PCore.getConstants();
|
|
70
93
|
function initAssignments() {
|
|
71
94
|
if (assignmentsSource) {
|
|
72
|
-
assignmentCount = assignmentsSource.length;
|
|
73
95
|
return topThreeAssignments(assignmentsSource);
|
|
74
96
|
}
|
|
75
97
|
// turn off todolist
|
|
76
98
|
return [];
|
|
77
99
|
}
|
|
100
|
+
const deferLoadWorklistItems = useCallback(responseData => {
|
|
101
|
+
setCount(responseData.totalCount);
|
|
102
|
+
setAssignments(responseData.data);
|
|
103
|
+
}, [MY_WORK_LIST]);
|
|
104
|
+
useEffect(() => {
|
|
105
|
+
fetchMyWorkList(myWorkList.datapage, getPConnect().getComponentConfig()?.myWorkList.fields, 3, true, context).then(responseData => {
|
|
106
|
+
deferLoadWorklistItems(responseData);
|
|
107
|
+
});
|
|
108
|
+
}, []);
|
|
78
109
|
const getAssignmentId = assignment => {
|
|
79
110
|
return type === CONSTS.TODO ? assignment.ID : assignment.id;
|
|
80
111
|
};
|
|
@@ -99,11 +130,15 @@ export default function ToDo(props) {
|
|
|
99
130
|
}
|
|
100
131
|
function _showMore() {
|
|
101
132
|
setBShowMore(false);
|
|
102
|
-
|
|
133
|
+
if (type === CONSTS.WORKLIST && count && count > assignments.length) {
|
|
134
|
+
fetchMyWorkList(myWorkList.datapage, getPConnect().getComponentConfig()?.myWorkList.fields, count, false, context).then(response => {
|
|
135
|
+
setAssignments(response.data);
|
|
136
|
+
});
|
|
137
|
+
}
|
|
103
138
|
}
|
|
104
139
|
function _showLess() {
|
|
105
140
|
setBShowMore(true);
|
|
106
|
-
setAssignments(
|
|
141
|
+
setAssignments(assignments => assignments.slice(0, 3));
|
|
107
142
|
}
|
|
108
143
|
function clickGo(assignment) {
|
|
109
144
|
const id = getAssignmentId(assignment);
|
|
@@ -154,7 +189,8 @@ export default function ToDo(props) {
|
|
|
154
189
|
}
|
|
155
190
|
return (_jsxs(_Fragment, { children: [_jsx(Button, { size: 'small', color: 'primary', children: `${assignment.name} ${getID(assignment)}` }), ` \u2022 ${localizedVal('Urgency', localeCategory)} ${getPriority(assignment)}`] }));
|
|
156
191
|
};
|
|
157
|
-
const
|
|
158
|
-
|
|
192
|
+
const getCount = () => (type === CONSTS.WORKLIST ? (count ?? assignments.length) : assignments.length);
|
|
193
|
+
const toDoContent = (_jsxs(_Fragment, { children: [showTodoList && (_jsx(CardHeader, { title: _jsx(Badge, { badgeContent: getCount(), overlap: 'rectangular', color: 'primary', children: _jsxs(Typography, { variant: 'h6', children: [headerText, "\u00A0\u00A0\u00A0"] }) }) })), _jsx(List, { children: assignments.map(assignment => (_jsxs("div", { className: 'psdk-todo-avatar-header', children: [_jsx(Avatar, { className: classes.avatar, style: { marginRight: '16px' }, children: currentUserInitials }), _jsxs("div", { style: { display: 'block' }, children: [_jsx(Typography, { variant: 'h6', children: assignment?.name }), `${localizedVal('Task in', localeCategory)} ${renderTaskId(type, getPConnect, showTodoList, assignment)} \u2022 ${localizedVal('Urgency', localeCategory)} ${getPriority(assignment)}`] }), (!isConfirm || canPerform) && (_jsx("div", { style: { marginLeft: 'auto' }, children: _jsx(IconButton, { id: 'go-btn', onClick: () => clickGo(assignment), size: 'large', children: _jsx(ArrowForwardIosOutlinedIcon, {}) }) }))] }, getAssignmentId(assignment)))) })] }));
|
|
194
|
+
return (_jsxs(_Fragment, { children: [type === CONSTS.WORKLIST && (_jsxs(Card, { className: classes.root, children: [showTodoList && (_jsx(CardHeader, { title: _jsx(Badge, { badgeContent: getCount(), overlap: 'rectangular', color: 'primary', children: _jsxs(Typography, { variant: 'h6', children: [headerText, "\u00A0\u00A0\u00A0"] }) }), avatar: _jsx(Avatar, { className: classes.avatar, children: currentUserInitials }) })), _jsx(CardContent, { children: _jsx(List, { children: assignments.map(assignment => (_jsxs(ListItem, { dense: true, divider: true, onClick: () => clickGo(assignment), children: [_jsx(ListItemText, { primary: getAssignmentName(assignment), secondary: getListItemComponent(assignment) }), _jsx(ListItemSecondaryAction, { children: _jsx(IconButton, { onClick: () => clickGo(assignment), size: 'large', children: _jsx(ArrowForwardIosOutlinedIcon, {}) }) })] }, getAssignmentId(assignment)))) }) })] })), type === CONSTS.TODO && !isConfirm && _jsx(Card, { className: classes.todoWrapper, children: toDoContent }), type === CONSTS.TODO && isConfirm && _jsx(_Fragment, { children: toDoContent }), getCount() > 3 && (_jsx(Box, { display: 'flex', justifyContent: 'center', children: bShowMore ? (_jsx(Button, { color: 'primary', onClick: _showMore, children: showMoreLocalizedValue === 'show_more' ? 'Show more' : showMoreLocalizedValue })) : (_jsx(Button, { onClick: _showLess, children: showlessLocalizedValue === 'show_less' ? 'Show less' : showlessLocalizedValue })) })), _jsx(Snackbar, { open: showSnackbar, autoHideDuration: 3000, onClose: handleSnackbarClose, message: snackbarMessage, action: _jsx(IconButton, { size: 'small', "aria-label": 'close', color: 'inherit', onClick: handleSnackbarClose, children: _jsx(CloseIcon, { fontSize: 'small' }) }) })] }));
|
|
159
195
|
}
|
|
160
196
|
//# sourceMappingURL=ToDo.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToDo.js","sourceRoot":"","sources":["../../../../src/components/widget/ToDo/ToDo.tsx"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/no-shadow */\nimport React, { useState } from 'react';\nimport {\n Box,\n Button,\n Card,\n CardContent,\n CardHeader,\n Avatar,\n Typography,\n Badge,\n List,\n ListItem,\n ListItemText,\n ListItemSecondaryAction\n} from '@material-ui/core';\nimport Snackbar from '@material-ui/core/Snackbar';\nimport IconButton from '@material-ui/core/IconButton';\nimport CloseIcon from '@material-ui/icons/Close';\nimport ArrowForwardIosOutlinedIcon from '@material-ui/icons/ArrowForwardIosOutlined';\nimport { makeStyles, useTheme } from '@material-ui/core/styles';\nimport useMediaQuery from '@material-ui/core/useMediaQuery';\n\nimport { Utils } from '../../helpers/utils';\nimport { PConnProps } from '../../../types/PConnProps';\n\nimport './ToDo.css';\n\ninterface ToDoProps extends PConnProps {\n // If any, enter additional props that only exist on this component\n datasource?: any;\n myWorkList?: any;\n // eslint-disable-next-line react/no-unused-prop-types\n caseInfoID?: string;\n headerText?: string;\n // eslint-disable-next-line react/no-unused-prop-types\n itemKey?: string;\n showTodoList?: boolean;\n type?: string;\n // eslint-disable-next-line react/no-unused-prop-types\n context?: string;\n isConfirm?: boolean;\n}\n\nconst isChildCase = assignment => {\n return assignment.isChild;\n};\n\nfunction topThreeAssignments(assignmentsSource: any[]): any[] {\n return Array.isArray(assignmentsSource) ? assignmentsSource.slice(0, 3) : [];\n}\n\nfunction getID(assignment: any) {\n if (assignment.value) {\n const refKey = assignment.value;\n return refKey.substring(refKey.lastIndexOf(' ') + 1);\n }\n const refKey = assignment.ID;\n const arKeys = refKey.split('!')[0].split(' ');\n return arKeys[2];\n}\n\nconst useStyles = makeStyles(theme => ({\n root: {\n marginTop: theme.spacing(1),\n marginBottom: theme.spacing(1),\n paddingBottom: theme.spacing(1),\n borderLeft: '6px solid',\n borderLeftColor: theme.palette.primary.light\n },\n avatar: {\n backgroundColor: theme.palette.primary.light,\n color: theme.palette.getContrastText(theme.palette.primary.light)\n },\n todoWrapper: {\n borderLeft: '6px solid',\n borderLeftColor: theme.palette.primary.light,\n padding: theme.spacing(1),\n margin: theme.spacing(1)\n }\n}));\n\nexport default function ToDo(props: ToDoProps) {\n const { getPConnect, datasource = [], headerText = 'To do', showTodoList = true, myWorkList = {}, type = 'worklist', isConfirm = false } = props;\n\n const CONSTS = PCore.getConstants();\n\n const bLogging = true;\n let assignmentCount = 0;\n const currentUser = PCore.getEnvironmentInfo().getOperatorName();\n const currentUserInitials = Utils.getInitials(currentUser);\n const assignmentsSource = datasource?.source || myWorkList?.source;\n\n const [bShowMore, setBShowMore] = useState(true);\n const [showSnackbar, setShowSnackbar] = useState(false);\n const [snackbarMessage, setSnackbarMessage]: any = useState('');\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n const [assignments, setAssignments] = useState<any[]>(initAssignments());\n\n const thePConn = getPConnect();\n const classes = useStyles();\n const theme = useTheme();\n const isDesktop = useMediaQuery(theme.breakpoints.up('md'));\n const localizedVal = PCore.getLocaleUtils().getLocaleValue;\n const localeCategory = 'Todo';\n const showlessLocalizedValue = localizedVal('show_less', 'CosmosFields');\n const showMoreLocalizedValue = localizedVal('show_more', 'CosmosFields');\n const canPerform = assignments?.[0]?.canPerform === 'true' || assignments?.[0]?.canPerform === true;\n // const { setOpen } = useNavBar();\n\n function initAssignments(): any[] {\n if (assignmentsSource) {\n assignmentCount = assignmentsSource.length;\n return topThreeAssignments(assignmentsSource);\n }\n // turn off todolist\n return [];\n }\n\n const getAssignmentId = assignment => {\n return type === CONSTS.TODO ? assignment.ID : assignment.id;\n };\n\n const getPriority = assignment => {\n return type === CONSTS.TODO ? assignment.urgency : assignment.priority;\n };\n\n const getAssignmentName = assignment => {\n return type === CONSTS.TODO ? assignment.name : assignment.stepName;\n };\n\n function showToast(message: string) {\n const theMessage = `Assignment: ${message}`;\n // eslint-disable-next-line no-console\n console.error(theMessage);\n setSnackbarMessage(message);\n setShowSnackbar(true);\n }\n\n function handleSnackbarClose(event: React.SyntheticEvent | React.MouseEvent, reason?: string) {\n if (reason === 'clickaway') {\n return;\n }\n setShowSnackbar(false);\n }\n\n function _showMore() {\n setBShowMore(false);\n setAssignments(assignmentsSource);\n }\n\n function _showLess() {\n setBShowMore(true);\n setAssignments(topThreeAssignments(assignmentsSource));\n }\n\n function clickGo(assignment) {\n const id = getAssignmentId(assignment);\n let { classname = '' } = assignment;\n const sTarget = thePConn.getContainerName();\n const sTargetContainerName = sTarget;\n\n const options: any = {\n containerName: sTargetContainerName,\n channelName: ''\n };\n\n if (classname === null || classname === '') {\n classname = thePConn.getCaseInfo().getClassName();\n }\n\n if (sTarget === 'workarea') {\n options.isActionFromToDoList = true;\n options.target = '';\n options.context = null;\n options.isChild = isChildCase(assignment);\n } else {\n options.isActionFromToDoList = false;\n options.target = sTarget;\n }\n\n thePConn\n .getActionsApi()\n .openAssignment(id, classname, options)\n .then(() => {\n if (bLogging) {\n // eslint-disable-next-line no-console\n console.log(`openAssignment completed`);\n }\n })\n .catch(() => {\n showToast(`Submit failed!`);\n });\n }\n\n const renderTaskId = (type, getPConnect, showTodoList, assignment) => {\n const displayID = getID(assignment);\n\n if ((showTodoList && type !== CONSTS.TODO) || assignment.isChild === true) {\n /* Supress link for todo inside flow step */\n return <Button size='small' color='primary'>{`${assignment.name} ${getID(assignment)}`}</Button>;\n }\n return displayID;\n };\n\n const getListItemComponent = assignment => {\n if (isDesktop) {\n return (\n <>\n {localizedVal('Task in', localeCategory)}\n {renderTaskId(type, getPConnect, showTodoList, assignment)}\n {type === CONSTS.WORKLIST && assignment.status ? `\\u2022 ` : undefined}\n {type === CONSTS.WORKLIST && assignment.status ? <span className='psdk-todo-assignment-status'>{assignment.status}</span> : undefined}\n {` \\u2022 ${localizedVal('Urgency', localeCategory)} ${getPriority(assignment)}`}\n </>\n );\n }\n return (\n <>\n <Button size='small' color='primary'>{`${assignment.name} ${getID(assignment)}`}</Button>\n {` \\u2022 ${localizedVal('Urgency', localeCategory)} ${getPriority(assignment)}`}\n </>\n );\n };\n\n const toDoContent = (\n <>\n {showTodoList && (\n <CardHeader\n title={\n <Badge badgeContent={assignmentCount} overlap='rectangular' color='primary'>\n <Typography variant='h6'>{headerText} </Typography>\n </Badge>\n }\n />\n )}\n <List>\n {assignments.map(assignment => (\n <div className='psdk-todo-avatar-header' key={getAssignmentId(assignment)}>\n <Avatar className={classes.avatar} style={{ marginRight: '16px' }}>\n {currentUserInitials}\n </Avatar>\n <div style={{ display: 'block' }}>\n <Typography variant='h6'>{assignment?.name}</Typography>\n {`${localizedVal('Task in', localeCategory)} ${renderTaskId(type, getPConnect, showTodoList, assignment)} \\u2022 ${localizedVal(\n 'Urgency',\n localeCategory\n )} ${getPriority(assignment)}`}\n </div>\n {(!isConfirm || canPerform) && (\n <div style={{ marginLeft: 'auto' }}>\n <IconButton id='go-btn' onClick={() => clickGo(assignment)}>\n <ArrowForwardIosOutlinedIcon />\n </IconButton>\n </div>\n )}\n </div>\n ))}\n </List>\n </>\n );\n\n return (\n <>\n {type === CONSTS.WORKLIST && (\n <Card className={classes.root}>\n {showTodoList && (\n <CardHeader\n title={\n <Badge badgeContent={assignmentCount} overlap='rectangular' color='primary'>\n <Typography variant='h6'>{headerText} </Typography>\n </Badge>\n }\n avatar={<Avatar className={classes.avatar}>{currentUserInitials}</Avatar>}\n />\n )}\n <CardContent>\n <List>\n {assignments.map(assignment => (\n <ListItem key={getAssignmentId(assignment)} dense divider onClick={() => clickGo(assignment)}>\n <ListItemText primary={getAssignmentName(assignment)} secondary={getListItemComponent(assignment)} />\n <ListItemSecondaryAction>\n <IconButton onClick={() => clickGo(assignment)}>\n <ArrowForwardIosOutlinedIcon />\n </IconButton>\n </ListItemSecondaryAction>\n </ListItem>\n ))}\n </List>\n </CardContent>\n </Card>\n )}\n\n {type === CONSTS.TODO && !isConfirm && <Card className={classes.todoWrapper}>{toDoContent}</Card>}\n {type === CONSTS.TODO && isConfirm && <>{toDoContent}</>}\n\n {assignmentCount > 3 && (\n <Box display='flex' justifyContent='center'>\n {bShowMore ? (\n <Button color='primary' onClick={_showMore}>\n {showMoreLocalizedValue === 'show_more' ? 'Show more' : showMoreLocalizedValue}\n </Button>\n ) : (\n <Button onClick={_showLess}>{showlessLocalizedValue === 'show_less' ? 'Show less' : showlessLocalizedValue}</Button>\n )}\n </Box>\n )}\n\n <Snackbar\n open={showSnackbar}\n autoHideDuration={3000}\n onClose={handleSnackbarClose}\n message={snackbarMessage}\n action={\n <IconButton size='small' aria-label='close' color='inherit' onClick={handleSnackbarClose}>\n <CloseIcon fontSize='small' />\n </IconButton>\n }\n />\n </>\n );\n}\n"]}
|
|
1
|
+
{"version":3,"file":"ToDo.js","sourceRoot":"","sources":["../../../../src/components/widget/ToDo/ToDo.tsx"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/no-shadow */\nimport React, { useCallback, useEffect, useState } from 'react';\nimport {\n Box,\n Button,\n Card,\n CardContent,\n CardHeader,\n Avatar,\n Typography,\n Badge,\n List,\n ListItem,\n ListItemText,\n ListItemSecondaryAction\n} from '@mui/material';\nimport Snackbar from '@mui/material/Snackbar';\nimport IconButton from '@mui/material/IconButton';\nimport CloseIcon from '@mui/icons-material/Close';\nimport ArrowForwardIosOutlinedIcon from '@mui/icons-material/ArrowForwardIosOutlined';\nimport { useTheme } from '@mui/material/styles';\nimport makeStyles from '@mui/styles/makeStyles';\nimport useMediaQuery from '@mui/material/useMediaQuery';\n\nimport { Utils } from '../../helpers/utils';\nimport { PConnProps } from '../../../types/PConnProps';\n\nimport './ToDo.css';\n\nconst fetchMyWorkList = (datapage, fields, numberOfRecords, includeTotalCount, context) => {\n return PCore.getDataPageUtils()\n .getDataAsync(\n datapage,\n context,\n {},\n {\n pageNumber: 1,\n pageSize: numberOfRecords\n },\n {\n select: Object.keys(fields).map(key => ({ field: PCore.getAnnotationUtils().getPropertyName(fields[key]) }))\n },\n {\n additionalApiParams: {\n includeTotalCount\n }\n }\n )\n .then(response => {\n return {\n ...response,\n data: (Array.isArray(response?.data) ? response.data : []).map(row =>\n Object.keys(fields).reduce((obj, key) => {\n obj[key] = row[PCore.getAnnotationUtils().getPropertyName(fields[key])];\n return obj;\n }, {})\n )\n };\n });\n};\n\ninterface ToDoProps extends PConnProps {\n // If any, enter additional props that only exist on this component\n datasource?: any;\n myWorkList?: any;\n // eslint-disable-next-line react/no-unused-prop-types\n caseInfoID?: string;\n headerText?: string;\n // eslint-disable-next-line react/no-unused-prop-types\n itemKey?: string;\n showTodoList?: boolean;\n type?: string;\n\n context?: string;\n isConfirm?: boolean;\n}\n\nconst isChildCase = assignment => {\n return assignment.isChild;\n};\n\nfunction topThreeAssignments(assignmentsSource: any[]): any[] {\n return Array.isArray(assignmentsSource) ? assignmentsSource.slice(0, 3) : [];\n}\n\nfunction getID(assignment: any) {\n if (assignment.value) {\n const refKey = assignment.value;\n return refKey.substring(refKey.lastIndexOf(' ') + 1);\n }\n const refKey = assignment.ID;\n const arKeys = refKey.split('!')[0].split(' ');\n return arKeys[2];\n}\n\nconst useStyles = makeStyles(theme => ({\n root: {\n marginTop: theme.spacing(1),\n marginBottom: theme.spacing(1),\n paddingBottom: theme.spacing(1),\n borderLeft: '6px solid',\n borderLeftColor: theme.palette.primary.light\n },\n avatar: {\n backgroundColor: theme.palette.primary.light,\n color: theme.palette.getContrastText(theme.palette.primary.light)\n },\n todoWrapper: {\n borderLeft: '6px solid',\n borderLeftColor: theme.palette.primary.light,\n padding: theme.spacing(1),\n margin: theme.spacing(1)\n }\n}));\n\nexport default function ToDo(props: ToDoProps) {\n const {\n getPConnect,\n context,\n datasource = [],\n headerText = 'To do',\n showTodoList = true,\n myWorkList = {},\n type = 'worklist',\n isConfirm = false\n } = props;\n\n const CONSTS = PCore.getConstants();\n\n const bLogging = true;\n const currentUser = PCore.getEnvironmentInfo().getOperatorName();\n const currentUserInitials = Utils.getInitials(currentUser);\n const assignmentsSource = datasource?.source || myWorkList?.source;\n\n const [bShowMore, setBShowMore] = useState(true);\n const [showSnackbar, setShowSnackbar] = useState(false);\n const [snackbarMessage, setSnackbarMessage]: any = useState('');\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n const [assignments, setAssignments] = useState<any[]>(initAssignments());\n\n const thePConn = getPConnect();\n const classes = useStyles();\n const theme = useTheme();\n const isDesktop = useMediaQuery(theme.breakpoints.up('md'));\n const localizedVal = PCore.getLocaleUtils().getLocaleValue;\n const localeCategory = 'Todo';\n const showlessLocalizedValue = localizedVal('show_less', 'CosmosFields');\n const showMoreLocalizedValue = localizedVal('show_more', 'CosmosFields');\n const canPerform = assignments?.[0]?.canPerform === 'true' || assignments?.[0]?.canPerform === true;\n const [count, setCount] = useState(null);\n\n const {\n WORK_BASKET: { MY_WORK_LIST }\n } = PCore.getConstants();\n\n function initAssignments(): any[] {\n if (assignmentsSource) {\n return topThreeAssignments(assignmentsSource);\n }\n // turn off todolist\n return [];\n }\n\n const deferLoadWorklistItems = useCallback(\n responseData => {\n setCount(responseData.totalCount);\n setAssignments(responseData.data);\n },\n [MY_WORK_LIST]\n );\n\n useEffect(() => {\n fetchMyWorkList(myWorkList.datapage, getPConnect().getComponentConfig()?.myWorkList.fields, 3, true, context).then(responseData => {\n deferLoadWorklistItems(responseData);\n });\n }, []);\n\n const getAssignmentId = assignment => {\n return type === CONSTS.TODO ? assignment.ID : assignment.id;\n };\n\n const getPriority = assignment => {\n return type === CONSTS.TODO ? assignment.urgency : assignment.priority;\n };\n\n const getAssignmentName = assignment => {\n return type === CONSTS.TODO ? assignment.name : assignment.stepName;\n };\n\n function showToast(message: string) {\n const theMessage = `Assignment: ${message}`;\n // eslint-disable-next-line no-console\n console.error(theMessage);\n setSnackbarMessage(message);\n setShowSnackbar(true);\n }\n\n function handleSnackbarClose(event: React.SyntheticEvent<any> | Event, reason?: string) {\n if (reason === 'clickaway') {\n return;\n }\n setShowSnackbar(false);\n }\n\n function _showMore() {\n setBShowMore(false);\n if (type === CONSTS.WORKLIST && count && count > assignments.length) {\n fetchMyWorkList(myWorkList.datapage, getPConnect().getComponentConfig()?.myWorkList.fields, count, false, context).then(response => {\n setAssignments(response.data);\n });\n }\n }\n\n function _showLess() {\n setBShowMore(true);\n setAssignments(assignments => assignments.slice(0, 3));\n }\n\n function clickGo(assignment) {\n const id = getAssignmentId(assignment);\n let { classname = '' } = assignment;\n const sTarget = thePConn.getContainerName();\n const sTargetContainerName = sTarget;\n\n const options: any = {\n containerName: sTargetContainerName,\n channelName: ''\n };\n\n if (classname === null || classname === '') {\n classname = thePConn.getCaseInfo().getClassName();\n }\n\n if (sTarget === 'workarea') {\n options.isActionFromToDoList = true;\n options.target = '';\n options.context = null;\n options.isChild = isChildCase(assignment);\n } else {\n options.isActionFromToDoList = false;\n options.target = sTarget;\n }\n\n thePConn\n .getActionsApi()\n .openAssignment(id, classname, options)\n .then(() => {\n if (bLogging) {\n // eslint-disable-next-line no-console\n console.log(`openAssignment completed`);\n }\n })\n .catch(() => {\n showToast(`Submit failed!`);\n });\n }\n\n const renderTaskId = (type, getPConnect, showTodoList, assignment) => {\n const displayID = getID(assignment);\n\n if ((showTodoList && type !== CONSTS.TODO) || assignment.isChild === true) {\n /* Supress link for todo inside flow step */\n return <Button size='small' color='primary'>{`${assignment.name} ${getID(assignment)}`}</Button>;\n }\n return displayID;\n };\n\n const getListItemComponent = assignment => {\n if (isDesktop) {\n return (\n <>\n {localizedVal('Task in', localeCategory)}\n {renderTaskId(type, getPConnect, showTodoList, assignment)}\n {type === CONSTS.WORKLIST && assignment.status ? `\\u2022 ` : undefined}\n {type === CONSTS.WORKLIST && assignment.status ? <span className='psdk-todo-assignment-status'>{assignment.status}</span> : undefined}\n {` \\u2022 ${localizedVal('Urgency', localeCategory)} ${getPriority(assignment)}`}\n </>\n );\n }\n return (\n <>\n <Button size='small' color='primary'>{`${assignment.name} ${getID(assignment)}`}</Button>\n {` \\u2022 ${localizedVal('Urgency', localeCategory)} ${getPriority(assignment)}`}\n </>\n );\n };\n\n const getCount = () => (type === CONSTS.WORKLIST ? (count ?? assignments.length) : assignments.length);\n\n const toDoContent = (\n <>\n {showTodoList && (\n <CardHeader\n title={\n <Badge badgeContent={getCount()} overlap='rectangular' color='primary'>\n <Typography variant='h6'>{headerText} </Typography>\n </Badge>\n }\n />\n )}\n <List>\n {assignments.map(assignment => (\n <div className='psdk-todo-avatar-header' key={getAssignmentId(assignment)}>\n <Avatar className={classes.avatar} style={{ marginRight: '16px' }}>\n {currentUserInitials}\n </Avatar>\n <div style={{ display: 'block' }}>\n <Typography variant='h6'>{assignment?.name}</Typography>\n {`${localizedVal('Task in', localeCategory)} ${renderTaskId(type, getPConnect, showTodoList, assignment)} \\u2022 ${localizedVal(\n 'Urgency',\n localeCategory\n )} ${getPriority(assignment)}`}\n </div>\n {(!isConfirm || canPerform) && (\n <div style={{ marginLeft: 'auto' }}>\n <IconButton id='go-btn' onClick={() => clickGo(assignment)} size='large'>\n <ArrowForwardIosOutlinedIcon />\n </IconButton>\n </div>\n )}\n </div>\n ))}\n </List>\n </>\n );\n\n return (\n <>\n {type === CONSTS.WORKLIST && (\n <Card className={classes.root}>\n {showTodoList && (\n <CardHeader\n title={\n <Badge badgeContent={getCount()} overlap='rectangular' color='primary'>\n <Typography variant='h6'>{headerText} </Typography>\n </Badge>\n }\n avatar={<Avatar className={classes.avatar}>{currentUserInitials}</Avatar>}\n />\n )}\n <CardContent>\n <List>\n {assignments.map(assignment => (\n <ListItem key={getAssignmentId(assignment)} dense divider onClick={() => clickGo(assignment)}>\n <ListItemText primary={getAssignmentName(assignment)} secondary={getListItemComponent(assignment)} />\n <ListItemSecondaryAction>\n <IconButton onClick={() => clickGo(assignment)} size='large'>\n <ArrowForwardIosOutlinedIcon />\n </IconButton>\n </ListItemSecondaryAction>\n </ListItem>\n ))}\n </List>\n </CardContent>\n </Card>\n )}\n\n {type === CONSTS.TODO && !isConfirm && <Card className={classes.todoWrapper}>{toDoContent}</Card>}\n {type === CONSTS.TODO && isConfirm && <>{toDoContent}</>}\n\n {getCount() > 3 && (\n <Box display='flex' justifyContent='center'>\n {bShowMore ? (\n <Button color='primary' onClick={_showMore}>\n {showMoreLocalizedValue === 'show_more' ? 'Show more' : showMoreLocalizedValue}\n </Button>\n ) : (\n <Button onClick={_showLess}>{showlessLocalizedValue === 'show_less' ? 'Show less' : showlessLocalizedValue}</Button>\n )}\n </Box>\n )}\n\n <Snackbar\n open={showSnackbar}\n autoHideDuration={3000}\n onClose={handleSnackbarClose}\n message={snackbarMessage}\n action={\n <IconButton size='small' aria-label='close' color='inherit' onClick={handleSnackbarClose}>\n <CloseIcon fontSize='small' />\n </IconButton>\n }\n />\n </>\n );\n}\n"]}
|
|
@@ -1,5 +1,20 @@
|
|
|
1
|
-
### React SDK - Release Announcement -
|
|
1
|
+
### React SDK - Release Announcement - v24.1.10 (05 July 2024)
|
|
2
2
|
|
|
3
|
+
This release - **SDK-R v24.1.10** - is **only compatible with Pega Infinity 24**. This release is related to the [**release/24.1.10** branch of the React SDK repository](https://github.com/pegasystems/react-sdk/tree/release/24.1.10).
|
|
4
|
+
<br>
|
|
5
|
+
|
|
6
|
+
The SDK-R v24.1.10 release allow React SDK users to to take advantage of the latest [SDK enhancements and fixes noted in **What's New in the SDK?**](https://docs.pega.com/bundle/constellation-sdk/page/constellation-sdks/sdks/react-sdk-updates.html) including:
|
|
7
|
+
|
|
8
|
+
* Support has been added for the approve and reject case actions
|
|
9
|
+
* Formatting of currency values now works as expected
|
|
10
|
+
* Bug fixes
|
|
11
|
+
* Full set of merged PRs can be found in the [react-sdk-components GitHub repo list of merged PRs](https://github.com/pegasystems/react-sdk-components/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+). This release includes all PRs since (and including) #348.
|
|
12
|
+
<br />
|
|
13
|
+
<hr />
|
|
14
|
+
|
|
15
|
+
### Previous Releases
|
|
16
|
+
|
|
17
|
+
#### React SDK - v23.1.11 (10 April 2024)
|
|
3
18
|
This release - **SDK-R v23.1.11** - is **only compatible with Pega Infinity 23**. This release is related to the [**release/23.1.11** branch of the React SDK repository](https://github.com/pegasystems/react-sdk/tree/release/23.1.11).
|
|
4
19
|
<br>
|
|
5
20
|
|
|
@@ -10,14 +25,11 @@ The SDK-R v23.1.11 release allow React SDK users to to take advantage of the lat
|
|
|
10
25
|
* Added modal dialog edit view in table
|
|
11
26
|
* Added Lint support to improve code quality and Prettier support for code formatting.
|
|
12
27
|
* Bug fixes
|
|
13
|
-
*
|
|
14
|
-
|
|
15
|
-
<br />
|
|
28
|
+
* The @pega/react-sdk-components package (version 23.1.12) released in May 2024, you can check what has been added as part of this release in [**What's New in the SDK?**](https://docs.pega.com/bundle/constellation-sdk/page/constellation-sdks/sdks/react-sdk-updates.html)
|
|
29
|
+
* Full set of merged PRs can be found in the [react-sdk-components GitHub repo list of merged PRs](https://github.com/pegasystems/react-sdk-components/commits/release/23.1). This release includes all PRs since (and including) #232 and #354.
|
|
16
30
|
<hr />
|
|
17
31
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
#### React SDK - Release Announcement - v23.1.10 (08 November 2023)
|
|
32
|
+
#### React SDK - v23.1.10 (08 November 2023)
|
|
21
33
|
|
|
22
34
|
This release - **SDK-R v23.1.10** - is **only compatible with Pega Infinity 23**. This release is related to the [**release/23.1.10** branch of the React SDK repository](https://github.com/pegasystems/react-sdk/tree/release/23.1.10).
|
|
23
35
|
<br>
|