@pega/react-sdk-components 0.242.2 → 0.242.4
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/components/field/DateTime/DateTime.d.ts.map +1 -1
- package/lib/components/field/DateTime/DateTime.js +6 -1
- package/lib/components/field/DateTime/DateTime.js.map +1 -1
- package/lib/components/field/Email/Email.d.ts.map +1 -1
- package/lib/components/field/Email/Email.js +18 -2
- package/lib/components/field/Email/Email.js.map +1 -1
- package/lib/components/field/Integer/Integer.d.ts.map +1 -1
- package/lib/components/field/Integer/Integer.js +15 -4
- package/lib/components/field/Integer/Integer.js.map +1 -1
- package/lib/components/field/Phone/Phone.d.ts.map +1 -1
- package/lib/components/field/Phone/Phone.js +1 -1
- package/lib/components/field/Phone/Phone.js.map +1 -1
- package/lib/components/field/TextArea/TextArea.d.ts.map +1 -1
- package/lib/components/field/TextArea/TextArea.js +18 -2
- package/lib/components/field/TextArea/TextArea.js.map +1 -1
- package/lib/components/field/Time/Time.d.ts.map +1 -1
- package/lib/components/field/Time/Time.js +8 -4
- package/lib/components/field/Time/Time.js.map +1 -1
- package/lib/components/field/URL/URL.d.ts.map +1 -1
- package/lib/components/field/URL/URL.js +17 -2
- package/lib/components/field/URL/URL.js.map +1 -1
- package/lib/components/infra/Assignment/Assignment.js +1 -1
- package/lib/components/infra/Assignment/Assignment.js.map +1 -1
- package/lib/components/infra/MultiStep/MultiStep.d.ts +1 -1
- package/lib/components/infra/MultiStep/MultiStep.d.ts.map +1 -1
- package/lib/components/infra/MultiStep/MultiStep.js +11 -6
- package/lib/components/infra/MultiStep/MultiStep.js.map +1 -1
- package/lib/components/infra/NavBar/NavBar.d.ts.map +1 -1
- package/lib/components/infra/NavBar/NavBar.js +8 -1
- package/lib/components/infra/NavBar/NavBar.js.map +1 -1
- package/lib/components/infra/View/View.d.ts.map +1 -1
- package/lib/components/infra/View/View.js +2 -1
- package/lib/components/infra/View/View.js.map +1 -1
- package/lib/components/template/AppShell/AppShell.d.ts +2 -0
- package/lib/components/template/AppShell/AppShell.d.ts.map +1 -1
- package/lib/components/template/AppShell/AppShell.js +9 -4
- package/lib/components/template/AppShell/AppShell.js.map +1 -1
- package/lib/components/template/Details/DetailsSubTabs/DetailsSubTabs.js +2 -2
- package/lib/components/template/Details/DetailsSubTabs/DetailsSubTabs.js.map +1 -1
- package/lib/components/template/FieldGroupTemplate/FieldGroupTemplate.d.ts.map +1 -1
- package/lib/components/template/FieldGroupTemplate/FieldGroupTemplate.js +7 -1
- package/lib/components/template/FieldGroupTemplate/FieldGroupTemplate.js.map +1 -1
- package/lib/components/widget/Attachment/Attachment.d.ts.map +1 -1
- package/lib/components/widget/Attachment/Attachment.js +2 -0
- package/lib/components/widget/Attachment/Attachment.js.map +1 -1
- package/lib/theme.d.ts.map +1 -1
- package/lib/theme.js +12 -0
- package/lib/theme.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
2
|
import { Children, useEffect, useState } from 'react';
|
|
3
|
-
import { Tab, Tabs
|
|
3
|
+
import { Tab, Tabs } from '@mui/material';
|
|
4
4
|
import { TabContext, TabPanel } from '@mui/lab';
|
|
5
5
|
import { getTransientTabs, getVisibleTabs, tabClick } from '../../SubTabs/tabUtils';
|
|
6
6
|
export default function DetailsSubTabs(props) {
|
|
@@ -23,6 +23,6 @@ export default function DetailsSubTabs(props) {
|
|
|
23
23
|
setCurrentTabId(index);
|
|
24
24
|
tabClick(index, availableTabs, currentTabId, setCurrentTabId, tabItems);
|
|
25
25
|
};
|
|
26
|
-
return (_jsxs(_Fragment, { children: [propsToUse.showLabel && _jsx(
|
|
26
|
+
return (_jsxs(_Fragment, { children: [propsToUse.showLabel && _jsx("h3", { children: propsToUse.label }), _jsxs(TabContext, { value: currentTabId.toString(), children: [_jsx(Tabs, { onChange: handleTabClick, value: currentTabId, children: tabItems.map((tab) => (_jsx(Tab, { label: tab.name, value: tab.id }, tab.id))) }), tabItems.map((tab) => (_jsx(TabPanel, { value: tab.id, tabIndex: +tab.id, children: _jsx("div", { children: tab.content ? tab.content : 'No content exists' }) }, tab.id)))] })] }));
|
|
27
27
|
}
|
|
28
28
|
//# sourceMappingURL=DetailsSubTabs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DetailsSubTabs.js","sourceRoot":"","sources":["../../../../../src/components/template/Details/DetailsSubTabs/DetailsSubTabs.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAqB,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACzE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"DetailsSubTabs.js","sourceRoot":"","sources":["../../../../../src/components/template/Details/DetailsSubTabs/DetailsSubTabs.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAqB,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACzE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEhD,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AASpF,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,KAA6C;IAClF,MAAM,EAAE,QAAQ,GAAG,EAAE,EAAE,KAAK,EAAE,SAAS,GAAG,IAAI,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC;IACtE,sEAAsE;IACtE,MAAM,UAAU,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,WAAW,EAAE,CAAC,iBAAiB,EAAE,EAAE,CAAC;IAE9E,MAAM,eAAe,GAAG,CAAC,CAAC;IAC1B,MAAM,eAAe,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IACtD,IAAI,aAAa,GAAG,EAAE,CAAC;IAEvB,SAAS,CAAC,GAAG,EAAE;QACb,aAAa,GAAG,cAAc,CAAC,eAAe,EAAE,gBAAgB,CAAC,CAAC;IACpE,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;IAEpB,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC,CAAC;IAE7E,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC5C,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,YAAY,GAAG,gBAAgB,CAAC,aAAa,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;QAC7E,UAAU,CAAC,YAAY,CAAC,CAAC;IAC3B,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IAEnB,MAAM,cAAc,GAAG,CAAC,EAAE,EAAE,KAAa,EAAE,EAAE;QAC3C,eAAe,CAAC,KAAK,CAAC,CAAC;QACvB,QAAQ,CAAC,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,eAAe,EAAE,QAAQ,CAAC,CAAC;IAC1E,CAAC,CAAC;IAEF,OAAO,CACL,8BACG,UAAU,CAAC,SAAS,IAAI,uBAAK,UAAU,CAAC,KAAK,GAAM,EACpD,MAAC,UAAU,IAAC,KAAK,EAAE,YAAY,CAAC,QAAQ,EAAE,aACxC,KAAC,IAAI,IAAC,QAAQ,EAAE,cAAc,EAAE,KAAK,EAAE,YAAY,YAChD,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAQ,EAAE,EAAE,CAAC,CAC1B,KAAC,GAAG,IAAc,KAAK,EAAE,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,IAAtC,GAAG,CAAC,EAAE,CAAoC,CACrD,CAAC,GACG,EAEN,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAQ,EAAE,EAAE,CAAC,CAC1B,KAAC,QAAQ,IAAc,KAAK,EAAE,GAAG,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,EAAE,YACrD,wBAAM,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,mBAAmB,GAAO,IAD/C,GAAG,CAAC,EAAE,CAEV,CACZ,CAAC,IACS,IACZ,CACJ,CAAC;AACJ,CAAC","sourcesContent":["import { Children, PropsWithChildren, useEffect, useState } from 'react';\nimport { Tab, Tabs } from '@mui/material';\nimport { TabContext, TabPanel } from '@mui/lab';\n\nimport { getTransientTabs, getVisibleTabs, tabClick } from '../../SubTabs/tabUtils';\nimport { PConnProps } from '../../../../types/PConnProps';\n\ninterface DetailsSubTabsProps extends PConnProps {\n // If any, enter additional props that only exist on this component\n showLabel: boolean;\n label: string;\n}\n\nexport default function DetailsSubTabs(props: PropsWithChildren<DetailsSubTabsProps>) {\n const { children = [], label, showLabel = true, getPConnect } = props;\n // Get the inherited props from the parent to determine label settings\n const propsToUse = { label, showLabel, ...getPConnect().getInheritedProps() };\n\n const defaultTabIndex = 0;\n const deferLoadedTabs = Children.toArray(children)[0];\n let availableTabs = [];\n\n useEffect(() => {\n availableTabs = getVisibleTabs(deferLoadedTabs, 'detailsSubTabs');\n }, [availableTabs]);\n\n const [currentTabId, setCurrentTabId] = useState(defaultTabIndex.toString());\n\n const [tabItems, setTabitem] = useState([]);\n useEffect(() => {\n const tempTabItems = getTransientTabs(availableTabs, currentTabId, tabItems);\n setTabitem(tempTabItems);\n }, [currentTabId]);\n\n const handleTabClick = (id, index: string) => {\n setCurrentTabId(index);\n tabClick(index, availableTabs, currentTabId, setCurrentTabId, tabItems);\n };\n\n return (\n <>\n {propsToUse.showLabel && <h3>{propsToUse.label}</h3>}\n <TabContext value={currentTabId.toString()}>\n <Tabs onChange={handleTabClick} value={currentTabId}>\n {tabItems.map((tab: any) => (\n <Tab key={tab.id} label={tab.name} value={tab.id} />\n ))}\n </Tabs>\n\n {tabItems.map((tab: any) => (\n <TabPanel key={tab.id} value={tab.id} tabIndex={+tab.id}>\n <div>{tab.content ? tab.content : 'No content exists'}</div>\n </TabPanel>\n ))}\n </TabContext>\n </>\n );\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FieldGroupTemplate.d.ts","sourceRoot":"","sources":["../../../../src/components/template/FieldGroupTemplate/FieldGroupTemplate.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAEvD,UAAU,uBAAwB,SAAQ,UAAU;IAElD,aAAa,CAAC,EAAE,GAAG,EAAE,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,
|
|
1
|
+
{"version":3,"file":"FieldGroupTemplate.d.ts","sourceRoot":"","sources":["../../../../src/components/template/FieldGroupTemplate/FieldGroupTemplate.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAEvD,UAAU,uBAAwB,SAAQ,UAAU;IAElD,aAAa,CAAC,EAAE,GAAG,EAAE,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,2CA4FxE"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
/* eslint-disable react-hooks/rules-of-hooks */
|
|
3
|
-
import { useMemo } from 'react';
|
|
3
|
+
import { useLayoutEffect, useMemo } from 'react';
|
|
4
4
|
import { getReferenceList, buildView } from '../../helpers/field-group-utils';
|
|
5
5
|
import { getComponentFromMap } from '../../../bridge/helpers/sdk_component_map';
|
|
6
6
|
export default function FieldGroupTemplate(props) {
|
|
@@ -14,6 +14,12 @@ export default function FieldGroupTemplate(props) {
|
|
|
14
14
|
const pageReference = `${pConn.getPageReference()}${resolvedList}`;
|
|
15
15
|
const isReadonlyMode = renderMode === 'ReadOnly' || displayMode === 'LABELS_LEFT';
|
|
16
16
|
const HEADING = heading ?? 'Row';
|
|
17
|
+
useLayoutEffect(() => {
|
|
18
|
+
if (!isReadonlyMode) {
|
|
19
|
+
// @ts-ignore - Expected 3 arguments, but got 1
|
|
20
|
+
pConn.getListActions().initDefaultPageInstructions(resolvedList);
|
|
21
|
+
}
|
|
22
|
+
}, [referenceList?.length]);
|
|
17
23
|
const getDynamicHeaderProp = (item, index) => {
|
|
18
24
|
if (fieldHeader === 'propertyRef' && heading && item[heading.substring(1)]) {
|
|
19
25
|
return item[heading.substring(1)];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FieldGroupTemplate.js","sourceRoot":"","sources":["../../../../src/components/template/FieldGroupTemplate/FieldGroupTemplate.tsx"],"names":[],"mappings":";AAAA,+CAA+C;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"FieldGroupTemplate.js","sourceRoot":"","sources":["../../../../src/components/template/FieldGroupTemplate/FieldGroupTemplate.tsx"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable react-hooks/rules-of-hooks */\nimport { useLayoutEffect, useMemo } from 'react';\n\nimport { getReferenceList, buildView } from '../../helpers/field-group-utils';\nimport { getComponentFromMap } from '../../../bridge/helpers/sdk_component_map';\nimport { PConnProps } from '../../../types/PConnProps';\n\ninterface FieldGroupTemplateProps extends PConnProps {\n // If any, enter additional props that only exist on this component\n referenceList?: any[];\n contextClass: string;\n renderMode?: string;\n heading?: string;\n lookForChildInConfig?: boolean;\n displayMode?: string;\n fieldHeader?: string;\n allowTableEdit: boolean;\n}\n\nexport default function FieldGroupTemplate(props: FieldGroupTemplateProps) {\n // Get emitted components from map (so we can get any override that may exist)\n const FieldGroup = getComponentFromMap('FieldGroup');\n const FieldGroupList = getComponentFromMap('FieldGroupList');\n\n const {\n referenceList = [],\n renderMode,\n contextClass,\n getPConnect,\n lookForChildInConfig,\n heading = '',\n displayMode,\n fieldHeader,\n allowTableEdit: allowAddEdit\n } = props;\n const pConn = getPConnect();\n const resolvedList = getReferenceList(pConn);\n pConn.setReferenceList(resolvedList);\n const pageReference = `${pConn.getPageReference()}${resolvedList}`;\n const isReadonlyMode = renderMode === 'ReadOnly' || displayMode === 'LABELS_LEFT';\n const HEADING = heading ?? 'Row';\n\n useLayoutEffect(() => {\n if (!isReadonlyMode) {\n // @ts-ignore - Expected 3 arguments, but got 1\n pConn.getListActions().initDefaultPageInstructions(resolvedList);\n }\n }, [referenceList?.length]);\n\n const getDynamicHeaderProp = (item, index) => {\n if (fieldHeader === 'propertyRef' && heading && item[heading.substring(1)]) {\n return item[heading.substring(1)];\n }\n return `Row ${index + 1}`;\n };\n\n const addRecord = () => {\n if (PCore.getPCoreVersion()?.includes('8.7')) {\n pConn.getListActions().insert({ classID: contextClass }, referenceList.length, pageReference);\n } else {\n // @ts-ignore - An argument for 'pageRef' was not provided.\n pConn.getListActions().insert({}, referenceList.length);\n }\n };\n\n if (!isReadonlyMode) {\n const addFieldGroupItem = () => {\n addRecord();\n };\n const deleteFieldGroupItem = index => {\n if (PCore.getPCoreVersion()?.includes('8.7')) {\n pConn.getListActions().deleteEntry(index, pageReference);\n } else {\n // @ts-ignore - An argument for 'pageRef' was not provided.\n pConn.getListActions().deleteEntry(index);\n }\n };\n if (referenceList.length === 0 && allowAddEdit !== false) {\n addFieldGroupItem();\n }\n\n const MemoisedChildren = useMemo(() => {\n return referenceList.map((item, index) => ({\n id: index,\n name: fieldHeader === 'propertyRef' ? getDynamicHeaderProp(item, index) : `${HEADING} ${index + 1}`,\n children: buildView(pConn, index, lookForChildInConfig)\n }));\n }, [referenceList?.length]);\n\n return (\n <FieldGroupList\n items={MemoisedChildren}\n onAdd={allowAddEdit !== false ? addFieldGroupItem : undefined}\n onDelete={allowAddEdit !== false ? deleteFieldGroupItem : undefined}\n />\n );\n }\n\n pConn.setInheritedProp('displayMode', 'LABELS_LEFT');\n const memoisedReadOnlyList = useMemo(() => {\n return referenceList.map((item, index) => {\n const key = item[heading] || `field-group-row-${index}`;\n return (\n <FieldGroup key={key} name={fieldHeader === 'propertyRef' ? getDynamicHeaderProp(item, index) : `${HEADING} ${index + 1}`}>\n {buildView(pConn, index, lookForChildInConfig)}\n </FieldGroup>\n );\n });\n }, []);\n\n return <div>{memoisedReadOnlyList}</div>;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Attachment.d.ts","sourceRoot":"","sources":["../../../../src/components/widget/Attachment/Attachment.tsx"],"names":[],"mappings":"AAUA,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE5D,OAAO,kBAAkB,CAAC;AAE1B,UAAU,eAAgB,SAAQ,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC;IAE9D,KAAK,EAAE,GAAG,CAAC;IACX,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;CACpB;AAeD,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,KAAK,EAAE,eAAe,
|
|
1
|
+
{"version":3,"file":"Attachment.d.ts","sourceRoot":"","sources":["../../../../src/components/widget/Attachment/Attachment.tsx"],"names":[],"mappings":"AAUA,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE5D,OAAO,kBAAkB,CAAC;AAE1B,UAAU,eAAgB,SAAQ,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC;IAE9D,KAAK,EAAE,GAAG,CAAC;IACX,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;CACpB;AAeD,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,KAAK,EAAE,eAAe,2CAibxD"}
|
|
@@ -185,10 +185,12 @@ export default function Attachment(props) {
|
|
|
185
185
|
};
|
|
186
186
|
if (!validateMaxSize(f, maxAttachmentSize)) {
|
|
187
187
|
f.props.error = true;
|
|
188
|
+
f.inProgress = false;
|
|
188
189
|
f.props.meta = pConn.getLocalizedValue(`File is too big. Max allowed size is ${maxAttachmentSize}MB.`, '', '');
|
|
189
190
|
}
|
|
190
191
|
else if (!validateFileExtension(f, extensions)) {
|
|
191
192
|
f.props.error = true;
|
|
193
|
+
f.inProgress = false;
|
|
192
194
|
f.props.meta = `${pConn.getLocalizedValue('File has invalid extension. Allowed extensions are:', '', '')} ${extensions.replaceAll('.', '')}`;
|
|
193
195
|
}
|
|
194
196
|
if (f.props.error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Attachment.js","sourceRoot":"","sources":["../../../../src/components/widget/Attachment/Attachment.tsx"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable react/jsx-boolean-value */\n/* eslint-disable react/no-array-index-key */\n/* eslint-disable no-nested-ternary */\nimport { useState, useEffect, useCallback } from 'react';\nimport { CircularProgress, IconButton, Menu, MenuItem, Button } from '@mui/material';\nimport MoreVertIcon from '@mui/icons-material/MoreVert';\nimport download from 'downloadjs';\n\nimport { buildFilePropsFromResponse, getIconFromFileType, validateMaxSize } from '../../helpers/attachmentHelpers';\nimport { Utils } from '../../helpers/utils';\nimport { PConnFieldProps } from '../../../types/PConnProps';\n\nimport './Attachment.css';\n\ninterface AttachmentProps extends Omit<PConnFieldProps, 'value'> {\n // If any, enter additional props that only exist on this component\n value: any;\n allowMultiple: string;\n extensions: string;\n}\n\nconst getAttachmentKey = (name = '') => (name ? `attachmentsList.${name}` : 'attachmentsList');\n\nconst getCurrentAttachmentsList = (key, context) => {\n return PCore.getStoreValue(`.${key}`, 'context_data', context) || [];\n};\n\nconst updateAttachmentState = (pConn, key, attachments) => {\n PCore.getStateUtils().updateState(pConn.getContextName(), key, attachments, {\n pageReference: 'context_data',\n isArrayDeepMerge: false\n });\n};\n\nexport default function Attachment(props: AttachmentProps) {\n const { value, getPConnect, label, validatemessage, allowMultiple, extensions, displayMode } = props;\n /* this is a temporary fix because required is supposed to be passed as a boolean and NOT as a string */\n let { required, disabled } = props;\n [required, disabled] = [required, disabled].map(prop => prop === true || (typeof prop === 'string' && prop === 'true'));\n const pConn = getPConnect();\n const caseID = PCore.getStoreValue('.pyID', 'caseInfo.content', pConn.getContextName());\n const localizedVal = PCore.getLocaleUtils().getLocaleValue;\n const localeCategory = 'CosmosFields';\n const uploadMultipleFilesLabel = localizedVal('file_upload_text_multiple', localeCategory);\n const uploadSingleFileLabel = localizedVal('file_upload_text_one', localeCategory);\n let categoryName = '';\n if (value && value.pyCategoryName) {\n categoryName = value.pyCategoryName;\n }\n const deleteIcon = Utils.getImageSrc('trash', Utils.getSDKStaticConentUrl());\n const srcImg = Utils.getImageSrc('document-doc', Utils.getSDKStaticConentUrl());\n let valueRef = (pConn.getStateProps() as any).value;\n valueRef = valueRef.indexOf('.') === 0 ? valueRef.substring(1) : valueRef;\n const [anchorEl, setAnchorEl] = useState(null);\n const open = Boolean(anchorEl);\n const [files, setFiles] = useState<any[]>(() =>\n value?.pxResults && +value.pyCount > 0 ? value.pxResults.map(f => buildFilePropsFromResponse(f)) : []\n );\n const [filesWithError, setFilesWithError] = useState<any[]>([]);\n const [toggleUploadBegin, setToggleUploadBegin] = useState(false);\n\n const resetAttachmentStoredState = () => {\n PCore.getStateUtils().updateState(pConn.getContextName(), getAttachmentKey(valueRef), undefined, {\n pageReference: 'context_data',\n isArrayDeepMerge: false\n });\n };\n\n const fileDownload = (data, fileName, ext) => {\n const fileData = ext ? `${fileName}.${ext}` : fileName;\n download(atob(data), fileData);\n };\n\n const downloadFile = (fileObj: any) => {\n setAnchorEl(null);\n PCore.getAttachmentUtils()\n // @ts-ignore - 3rd parameter \"responseEncoding\" should be optional\n .downloadAttachment(fileObj.pzInsKey, pConn.getContextName())\n .then((content: any) => {\n const extension = fileObj.pyAttachName.split('.').pop();\n fileDownload(content.data, fileObj.pyFileName, extension);\n })\n .catch(() => {});\n };\n\n const deleteFile = useCallback(\n file => {\n setAnchorEl(null);\n let attachmentsList: any[] = [];\n let currentAttachmentList = getCurrentAttachmentsList(getAttachmentKey(valueRef), pConn.getContextName());\n\n // If file to be deleted is the one added in previous stage i.e. for which a file instance is created in server\n // no need to filter currentAttachmentList as we will get another entry of file in redux with delete & label\n // eslint-disable-next-line no-unsafe-optional-chaining\n if (value && value?.pxResults && +value?.pyCount > 0 && file.responseProps && file?.responseProps?.pzInsKey !== 'temp') {\n const updatedAttachments = files.map(f => {\n if (f.responseProps && f.responseProps.pzInsKey === file.responseProps.pzInsKey) {\n return { ...f, delete: true, label: valueRef };\n }\n return f;\n });\n\n // updating the redux store to help form-handler in passing the data to delete the file from server\n updateAttachmentState(pConn, getAttachmentKey(valueRef), [...updatedAttachments]);\n setFiles(current => {\n const newlyAddedFiles = current.filter(f => !!f.ID);\n const filesPostDelete = current.filter(\n f => f.responseProps?.pzInsKey !== 'temp' && f.responseProps?.pzInsKey !== file.responseProps?.pzInsKey\n );\n attachmentsList = [...filesPostDelete, ...newlyAddedFiles];\n return attachmentsList;\n });\n } // if the file being deleted is the added in this stage i.e. whose data is not yet created in server\n else {\n // filter newly added files in this stage, later the updated current stage files will be added to redux once files state is updated in below setFiles()\n currentAttachmentList = currentAttachmentList.filter(f => f.label !== valueRef);\n setFiles(current => {\n attachmentsList = current.filter(f => f.ID !== file.ID);\n return attachmentsList;\n });\n updateAttachmentState(pConn, getAttachmentKey(valueRef), [...currentAttachmentList, ...attachmentsList]);\n if (file.inProgress) {\n // @ts-ignore - 3rd parameter \"responseEncoding\" should be optional\n PCore.getAttachmentUtils().cancelRequest(file.ID, pConn.getContextName());\n }\n }\n\n setToggleUploadBegin(false);\n setFilesWithError(prevFilesWithError => {\n return prevFilesWithError.filter(f => f.ID !== file.ID);\n });\n },\n [pConn, value, valueRef, filesWithError]\n );\n\n const onUploadProgress = () => {};\n\n const errorHandler = (isFetchCanceled, attachedFile) => {\n return error => {\n if (!isFetchCanceled(error)) {\n let uploadFailMsg = pConn.getLocalizedValue('Something went wrong', '', '');\n if (error.response && error.response.data && error.response.data.errorDetails) {\n uploadFailMsg = pConn.getLocalizedValue(error.response.data.errorDetails[0].localizedValue, '', '');\n }\n setFiles(current => {\n return current.map(f => {\n if (f.ID === attachedFile.ID) {\n f.props.meta = uploadFailMsg;\n f.props.error = true;\n f.props.onDelete = () => deleteFile(f);\n f.props.icon = getIconFromFileType(f.type);\n f.props.name = pConn.getLocalizedValue('Unable to upload file', '', '');\n f.inProgress = false;\n const fieldName = (pConn.getStateProps() as any).value;\n const context = pConn.getContextName();\n // set errors to property to block submit even on errors in file upload\n PCore.getMessageManager().addMessages({\n // @ts-ignore\n messages: [\n {\n type: 'error',\n // @ts-ignore - Type '{ type: string; message: string; }' is not assignable to type 'MessagesConfigObject'.\n message: pConn.getLocalizedValue('Error with one or more files', '', '')\n }\n ],\n property: fieldName,\n pageReference: pConn.getPageReference(),\n context\n });\n delete f.props.progress;\n }\n return f;\n });\n });\n }\n throw error;\n };\n };\n\n const validateFileExtension = (fileObj, allowedExtensions) => {\n if (!allowedExtensions) {\n return true;\n }\n const allowedExtensionList = allowedExtensions\n .toLowerCase()\n .split(',')\n .map(item => item.replaceAll('.', '').trim());\n const extension = fileObj.name.split('.').pop().toLowerCase();\n return allowedExtensionList.includes(extension);\n };\n\n const clearFieldErrorMessages = () => {\n const fieldName = (pConn.getStateProps() as any).value;\n const context = pConn.getContextName();\n // @ts-ignore\n PCore.getMessageManager().clearMessages({\n type: PCore.getConstants().MESSAGES.MESSAGES_TYPE_ERROR,\n property: fieldName,\n pageReference: pConn.getPageReference(),\n context\n });\n };\n\n const onFileAdded = event => {\n let addedFiles = Array.from(event.target.files);\n addedFiles = allowMultiple === 'true' ? addedFiles : [addedFiles[0]];\n const maxAttachmentSize = PCore.getEnvironmentInfo().getMaxAttachmentSize() || '5';\n const tempFilesToBeUploaded = [\n ...addedFiles.map((f: any, index) => {\n f.ID = `${new Date().getTime()}I${index}`;\n f.inProgress = true;\n f.props = {\n type: f.type,\n name: f.name,\n icon: getIconFromFileType(f.type),\n onDelete: () => deleteFile(f)\n };\n if (!validateMaxSize(f, maxAttachmentSize)) {\n f.props.error = true;\n f.props.meta = pConn.getLocalizedValue(`File is too big. Max allowed size is ${maxAttachmentSize}MB.`, '', '');\n } else if (!validateFileExtension(f, extensions)) {\n f.props.error = true;\n f.props.meta = `${pConn.getLocalizedValue('File has invalid extension. Allowed extensions are:', '', '')} ${extensions.replaceAll(\n '.',\n ''\n )}`;\n }\n if (f.props.error) {\n const fieldName = (pConn.getStateProps() as any).value;\n const context = pConn.getContextName();\n PCore.getMessageManager().addMessages({\n // @ts-ignore\n messages: [\n {\n type: 'error',\n // @ts-ignore - Type '{ type: string; message: string; }' is not assignable to type 'MessagesConfigObject'.\n message: pConn.getLocalizedValue('Error with one or more files', '', '')\n }\n ],\n property: fieldName,\n pageReference: pConn.getPageReference(),\n context\n });\n }\n return f;\n })\n ];\n const tempFilesWithError = tempFilesToBeUploaded.filter(f => f.props.error);\n if (tempFilesWithError.length > 0) {\n setFilesWithError(tempFilesWithError);\n }\n setFiles(current => (allowMultiple !== 'true' ? [...tempFilesToBeUploaded] : [...current, ...tempFilesToBeUploaded]));\n setToggleUploadBegin(true);\n };\n\n const uploadFiles = useCallback(() => {\n const filesToBeUploaded = files\n .filter(e => {\n const isFileUploaded = e.props && e.props.progress === 100;\n const fileHasError = e.props && e.props.error;\n const isFileUploadedinLastStep = e.responseProps && e.responseProps.pzInsKey;\n return !isFileUploaded && !fileHasError && !isFileUploadedinLastStep;\n })\n .map(f =>\n window.PCore.getAttachmentUtils().uploadAttachment(\n f,\n () => {\n onUploadProgress();\n },\n isFetchCanceled => {\n return errorHandler(isFetchCanceled, f);\n },\n pConn.getContextName()\n )\n );\n Promise.allSettled(filesToBeUploaded)\n .then((fileResponses: any) => {\n fileResponses = fileResponses.filter(fr => fr.status !== 'rejected'); // in case of deleting an in progress file, promise gets cancelled but still enters then block\n if (fileResponses.length > 0) {\n setFiles(current => {\n const tempFilesUploaded = [...current];\n tempFilesUploaded.forEach(f => {\n const index = fileResponses.findIndex((fr: any) => fr.value.clientFileID === f.ID);\n if (index >= 0) {\n f.props.meta = pConn.getLocalizedValue('Uploaded successfully', '', '');\n f.props.progress = 100;\n f.inProgress = false;\n f.handle = fileResponses[index].value.ID;\n f.label = valueRef;\n f.category = categoryName;\n f.responseProps = {\n pzInsKey: 'temp',\n pyAttachName: f.props.name\n };\n }\n });\n return tempFilesUploaded;\n });\n\n if (filesWithError.length === 0) {\n clearFieldErrorMessages();\n }\n }\n setToggleUploadBegin(false);\n })\n .catch(error => {\n // eslint-disable-next-line no-console\n console.log(error);\n setToggleUploadBegin(false);\n });\n }, [files, filesWithError]);\n\n useEffect(() => {\n if (toggleUploadBegin && files.length > 0) {\n uploadFiles();\n }\n }, [toggleUploadBegin]);\n\n useEffect(() => {\n if (files.length > 0 && displayMode !== 'DISPLAY_ONLY') {\n const currentAttachmentList = getCurrentAttachmentsList(getAttachmentKey(valueRef), pConn.getContextName());\n // block duplicate files to redux store when added 1 after another to prevent multiple duplicates being added to the case on submit\n const tempFiles = files.filter(f => currentAttachmentList.findIndex(fr => fr.ID === f.ID) === -1 && !f.inProgress && f.responseProps);\n\n const updatedAttList = [...currentAttachmentList, ...tempFiles];\n updateAttachmentState(pConn, getAttachmentKey(valueRef), updatedAttList);\n }\n }, [files]);\n\n useEffect(() => {\n if (filesWithError.length === 0) {\n clearFieldErrorMessages();\n }\n }, [filesWithError]);\n\n useEffect(() => {\n let tempUploadedFiles = getCurrentAttachmentsList(getAttachmentKey(valueRef), pConn.getContextName());\n tempUploadedFiles = tempUploadedFiles.filter(f => f.label === valueRef);\n setFiles(current => {\n return [\n ...current.map(f => {\n return f.responseProps.pzInsKey && !f.responseProps.pzInsKey.includes('temp')\n ? {\n ...f,\n props: {\n ...f.props,\n onDelete: () => deleteFile(f)\n }\n }\n : { ...f };\n }),\n ...tempUploadedFiles\n ];\n });\n PCore.getPubSubUtils().subscribe(PCore.getConstants().PUB_SUB_EVENTS.CASE_EVENTS.ASSIGNMENT_SUBMISSION, resetAttachmentStoredState, caseID);\n return () => {\n PCore.getPubSubUtils().unsubscribe(PCore.getConstants().PUB_SUB_EVENTS.CASE_EVENTS.ASSIGNMENT_SUBMISSION, caseID);\n };\n }, []);\n\n const handleClick = event => {\n setAnchorEl(event.currentTarget);\n };\n\n const handleClose = () => {\n setAnchorEl(null);\n };\n\n const content = (\n <div style={{ marginBottom: '8px' }}>\n <div className={`${disabled ? 'file-disabled' : ''} ${validatemessage === '' ? 'file-div' : 'file-div-error'}`}>\n <div hidden={true} id='attachment-ID'>\n {valueRef}\n </div>\n <label htmlFor={valueRef}>\n <input\n style={{ display: 'none' }}\n id={valueRef}\n name='upload-photo'\n type='file'\n multiple={allowMultiple === 'true'}\n required={required}\n disabled={disabled}\n onChange={onFileAdded}\n />\n <Button style={{ textTransform: 'none' }} variant='outlined' color='primary' component='span'>\n {allowMultiple === 'true'\n ? uploadMultipleFilesLabel === 'file_upload_text_multiple'\n ? 'Choose files'\n : uploadMultipleFilesLabel\n : uploadSingleFileLabel === 'file_upload_text_one'\n ? 'Choose a file'\n : uploadSingleFileLabel}\n </Button>\n </label>\n </div>\n </div>\n );\n\n const fileDisplay = (\n <div>\n {files &&\n files.length > 0 &&\n files.map((item, index) => {\n return (\n <div key={index} className='psdk-utility-card'>\n <div className='psdk-utility-card-icon'>\n {!item.inProgress && <img className='psdk-utility-card-svg-icon' src={srcImg} />}\n {item.inProgress && (\n <div>\n <CircularProgress />\n </div>\n )}\n </div>\n <div className='psdk-utility-card-main'>\n <div className='psdk-utility-card-main-primary-label'>{item.props.name}</div>\n {item.props.meta && <div style={{ color: item.props.error ? 'red' : undefined }}>{item.props.meta}</div>}\n </div>\n <div className='psdk-utility-action'>\n {item.ID && (\n <button type='button' className='psdk-utility-button' aria-label='Delete Attachment' onClick={() => deleteFile(item)}>\n <img className='psdk-utility-card-action-svg-icon' src={deleteIcon} />\n </button>\n )}\n {!item.ID && (\n <div>\n <IconButton\n id='setting-button'\n aria-controls={open ? 'file-menu' : undefined}\n aria-expanded={open ? 'true' : undefined}\n aria-haspopup='true'\n onClick={handleClick}\n size='large'\n >\n <MoreVertIcon />\n </IconButton>\n <Menu style={{ marginTop: '3rem' }} id='file-menu' anchorEl={anchorEl} keepMounted open={Boolean(anchorEl)} onClose={handleClose}>\n <MenuItem\n style={{ fontSize: '14px' }}\n key='download'\n onClick={() => downloadFile(item.responseProps ? item.responseProps : {})}\n >\n Download\n </MenuItem>\n <MenuItem style={{ fontSize: '14px' }} key='delete' onClick={() => deleteFile(item)}>\n Delete\n </MenuItem>\n </Menu>\n </div>\n )}\n </div>\n </div>\n );\n })}\n </div>\n );\n\n return (\n <div className='file-upload-container'>\n <span className={`label ${required ? 'file-label' : ''}`}>{label}</span>\n {((files.length === 0 && allowMultiple !== 'true') || allowMultiple === 'true') && <section>{content}</section>}\n {validatemessage !== '' ? <span className='file-error'>{validatemessage}</span> : ''}\n {files && files.length > 0 && <section>{fileDisplay}</section>}\n </div>\n );\n}\n"]}
|
|
1
|
+
{"version":3,"file":"Attachment.js","sourceRoot":"","sources":["../../../../src/components/widget/Attachment/Attachment.tsx"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable react/jsx-boolean-value */\n/* eslint-disable react/no-array-index-key */\n/* eslint-disable no-nested-ternary */\nimport { useState, useEffect, useCallback } from 'react';\nimport { CircularProgress, IconButton, Menu, MenuItem, Button } from '@mui/material';\nimport MoreVertIcon from '@mui/icons-material/MoreVert';\nimport download from 'downloadjs';\n\nimport { buildFilePropsFromResponse, getIconFromFileType, validateMaxSize } from '../../helpers/attachmentHelpers';\nimport { Utils } from '../../helpers/utils';\nimport { PConnFieldProps } from '../../../types/PConnProps';\n\nimport './Attachment.css';\n\ninterface AttachmentProps extends Omit<PConnFieldProps, 'value'> {\n // If any, enter additional props that only exist on this component\n value: any;\n allowMultiple: string;\n extensions: string;\n}\n\nconst getAttachmentKey = (name = '') => (name ? `attachmentsList.${name}` : 'attachmentsList');\n\nconst getCurrentAttachmentsList = (key, context) => {\n return PCore.getStoreValue(`.${key}`, 'context_data', context) || [];\n};\n\nconst updateAttachmentState = (pConn, key, attachments) => {\n PCore.getStateUtils().updateState(pConn.getContextName(), key, attachments, {\n pageReference: 'context_data',\n isArrayDeepMerge: false\n });\n};\n\nexport default function Attachment(props: AttachmentProps) {\n const { value, getPConnect, label, validatemessage, allowMultiple, extensions, displayMode } = props;\n /* this is a temporary fix because required is supposed to be passed as a boolean and NOT as a string */\n let { required, disabled } = props;\n [required, disabled] = [required, disabled].map(prop => prop === true || (typeof prop === 'string' && prop === 'true'));\n const pConn = getPConnect();\n const caseID = PCore.getStoreValue('.pyID', 'caseInfo.content', pConn.getContextName());\n const localizedVal = PCore.getLocaleUtils().getLocaleValue;\n const localeCategory = 'CosmosFields';\n const uploadMultipleFilesLabel = localizedVal('file_upload_text_multiple', localeCategory);\n const uploadSingleFileLabel = localizedVal('file_upload_text_one', localeCategory);\n let categoryName = '';\n if (value && value.pyCategoryName) {\n categoryName = value.pyCategoryName;\n }\n const deleteIcon = Utils.getImageSrc('trash', Utils.getSDKStaticConentUrl());\n const srcImg = Utils.getImageSrc('document-doc', Utils.getSDKStaticConentUrl());\n let valueRef = (pConn.getStateProps() as any).value;\n valueRef = valueRef.indexOf('.') === 0 ? valueRef.substring(1) : valueRef;\n const [anchorEl, setAnchorEl] = useState(null);\n const open = Boolean(anchorEl);\n const [files, setFiles] = useState<any[]>(() =>\n value?.pxResults && +value.pyCount > 0 ? value.pxResults.map(f => buildFilePropsFromResponse(f)) : []\n );\n const [filesWithError, setFilesWithError] = useState<any[]>([]);\n const [toggleUploadBegin, setToggleUploadBegin] = useState(false);\n\n const resetAttachmentStoredState = () => {\n PCore.getStateUtils().updateState(pConn.getContextName(), getAttachmentKey(valueRef), undefined, {\n pageReference: 'context_data',\n isArrayDeepMerge: false\n });\n };\n\n const fileDownload = (data, fileName, ext) => {\n const fileData = ext ? `${fileName}.${ext}` : fileName;\n download(atob(data), fileData);\n };\n\n const downloadFile = (fileObj: any) => {\n setAnchorEl(null);\n PCore.getAttachmentUtils()\n // @ts-ignore - 3rd parameter \"responseEncoding\" should be optional\n .downloadAttachment(fileObj.pzInsKey, pConn.getContextName())\n .then((content: any) => {\n const extension = fileObj.pyAttachName.split('.').pop();\n fileDownload(content.data, fileObj.pyFileName, extension);\n })\n .catch(() => {});\n };\n\n const deleteFile = useCallback(\n file => {\n setAnchorEl(null);\n let attachmentsList: any[] = [];\n let currentAttachmentList = getCurrentAttachmentsList(getAttachmentKey(valueRef), pConn.getContextName());\n\n // If file to be deleted is the one added in previous stage i.e. for which a file instance is created in server\n // no need to filter currentAttachmentList as we will get another entry of file in redux with delete & label\n // eslint-disable-next-line no-unsafe-optional-chaining\n if (value && value?.pxResults && +value?.pyCount > 0 && file.responseProps && file?.responseProps?.pzInsKey !== 'temp') {\n const updatedAttachments = files.map(f => {\n if (f.responseProps && f.responseProps.pzInsKey === file.responseProps.pzInsKey) {\n return { ...f, delete: true, label: valueRef };\n }\n return f;\n });\n\n // updating the redux store to help form-handler in passing the data to delete the file from server\n updateAttachmentState(pConn, getAttachmentKey(valueRef), [...updatedAttachments]);\n setFiles(current => {\n const newlyAddedFiles = current.filter(f => !!f.ID);\n const filesPostDelete = current.filter(\n f => f.responseProps?.pzInsKey !== 'temp' && f.responseProps?.pzInsKey !== file.responseProps?.pzInsKey\n );\n attachmentsList = [...filesPostDelete, ...newlyAddedFiles];\n return attachmentsList;\n });\n } // if the file being deleted is the added in this stage i.e. whose data is not yet created in server\n else {\n // filter newly added files in this stage, later the updated current stage files will be added to redux once files state is updated in below setFiles()\n currentAttachmentList = currentAttachmentList.filter(f => f.label !== valueRef);\n setFiles(current => {\n attachmentsList = current.filter(f => f.ID !== file.ID);\n return attachmentsList;\n });\n updateAttachmentState(pConn, getAttachmentKey(valueRef), [...currentAttachmentList, ...attachmentsList]);\n if (file.inProgress) {\n // @ts-ignore - 3rd parameter \"responseEncoding\" should be optional\n PCore.getAttachmentUtils().cancelRequest(file.ID, pConn.getContextName());\n }\n }\n\n setToggleUploadBegin(false);\n setFilesWithError(prevFilesWithError => {\n return prevFilesWithError.filter(f => f.ID !== file.ID);\n });\n },\n [pConn, value, valueRef, filesWithError]\n );\n\n const onUploadProgress = () => {};\n\n const errorHandler = (isFetchCanceled, attachedFile) => {\n return error => {\n if (!isFetchCanceled(error)) {\n let uploadFailMsg = pConn.getLocalizedValue('Something went wrong', '', '');\n if (error.response && error.response.data && error.response.data.errorDetails) {\n uploadFailMsg = pConn.getLocalizedValue(error.response.data.errorDetails[0].localizedValue, '', '');\n }\n setFiles(current => {\n return current.map(f => {\n if (f.ID === attachedFile.ID) {\n f.props.meta = uploadFailMsg;\n f.props.error = true;\n f.props.onDelete = () => deleteFile(f);\n f.props.icon = getIconFromFileType(f.type);\n f.props.name = pConn.getLocalizedValue('Unable to upload file', '', '');\n f.inProgress = false;\n const fieldName = (pConn.getStateProps() as any).value;\n const context = pConn.getContextName();\n // set errors to property to block submit even on errors in file upload\n PCore.getMessageManager().addMessages({\n // @ts-ignore\n messages: [\n {\n type: 'error',\n // @ts-ignore - Type '{ type: string; message: string; }' is not assignable to type 'MessagesConfigObject'.\n message: pConn.getLocalizedValue('Error with one or more files', '', '')\n }\n ],\n property: fieldName,\n pageReference: pConn.getPageReference(),\n context\n });\n delete f.props.progress;\n }\n return f;\n });\n });\n }\n throw error;\n };\n };\n\n const validateFileExtension = (fileObj, allowedExtensions) => {\n if (!allowedExtensions) {\n return true;\n }\n const allowedExtensionList = allowedExtensions\n .toLowerCase()\n .split(',')\n .map(item => item.replaceAll('.', '').trim());\n const extension = fileObj.name.split('.').pop().toLowerCase();\n return allowedExtensionList.includes(extension);\n };\n\n const clearFieldErrorMessages = () => {\n const fieldName = (pConn.getStateProps() as any).value;\n const context = pConn.getContextName();\n // @ts-ignore\n PCore.getMessageManager().clearMessages({\n type: PCore.getConstants().MESSAGES.MESSAGES_TYPE_ERROR,\n property: fieldName,\n pageReference: pConn.getPageReference(),\n context\n });\n };\n\n const onFileAdded = event => {\n let addedFiles = Array.from(event.target.files);\n addedFiles = allowMultiple === 'true' ? addedFiles : [addedFiles[0]];\n const maxAttachmentSize = PCore.getEnvironmentInfo().getMaxAttachmentSize() || '5';\n const tempFilesToBeUploaded = [\n ...addedFiles.map((f: any, index) => {\n f.ID = `${new Date().getTime()}I${index}`;\n f.inProgress = true;\n f.props = {\n type: f.type,\n name: f.name,\n icon: getIconFromFileType(f.type),\n onDelete: () => deleteFile(f)\n };\n if (!validateMaxSize(f, maxAttachmentSize)) {\n f.props.error = true;\n f.inProgress = false;\n f.props.meta = pConn.getLocalizedValue(`File is too big. Max allowed size is ${maxAttachmentSize}MB.`, '', '');\n } else if (!validateFileExtension(f, extensions)) {\n f.props.error = true;\n f.inProgress = false;\n f.props.meta = `${pConn.getLocalizedValue('File has invalid extension. Allowed extensions are:', '', '')} ${extensions.replaceAll(\n '.',\n ''\n )}`;\n }\n if (f.props.error) {\n const fieldName = (pConn.getStateProps() as any).value;\n const context = pConn.getContextName();\n PCore.getMessageManager().addMessages({\n // @ts-ignore\n messages: [\n {\n type: 'error',\n // @ts-ignore - Type '{ type: string; message: string; }' is not assignable to type 'MessagesConfigObject'.\n message: pConn.getLocalizedValue('Error with one or more files', '', '')\n }\n ],\n property: fieldName,\n pageReference: pConn.getPageReference(),\n context\n });\n }\n return f;\n })\n ];\n const tempFilesWithError = tempFilesToBeUploaded.filter(f => f.props.error);\n if (tempFilesWithError.length > 0) {\n setFilesWithError(tempFilesWithError);\n }\n setFiles(current => (allowMultiple !== 'true' ? [...tempFilesToBeUploaded] : [...current, ...tempFilesToBeUploaded]));\n setToggleUploadBegin(true);\n };\n\n const uploadFiles = useCallback(() => {\n const filesToBeUploaded = files\n .filter(e => {\n const isFileUploaded = e.props && e.props.progress === 100;\n const fileHasError = e.props && e.props.error;\n const isFileUploadedinLastStep = e.responseProps && e.responseProps.pzInsKey;\n return !isFileUploaded && !fileHasError && !isFileUploadedinLastStep;\n })\n .map(f =>\n window.PCore.getAttachmentUtils().uploadAttachment(\n f,\n () => {\n onUploadProgress();\n },\n isFetchCanceled => {\n return errorHandler(isFetchCanceled, f);\n },\n pConn.getContextName()\n )\n );\n Promise.allSettled(filesToBeUploaded)\n .then((fileResponses: any) => {\n fileResponses = fileResponses.filter(fr => fr.status !== 'rejected'); // in case of deleting an in progress file, promise gets cancelled but still enters then block\n if (fileResponses.length > 0) {\n setFiles(current => {\n const tempFilesUploaded = [...current];\n tempFilesUploaded.forEach(f => {\n const index = fileResponses.findIndex((fr: any) => fr.value.clientFileID === f.ID);\n if (index >= 0) {\n f.props.meta = pConn.getLocalizedValue('Uploaded successfully', '', '');\n f.props.progress = 100;\n f.inProgress = false;\n f.handle = fileResponses[index].value.ID;\n f.label = valueRef;\n f.category = categoryName;\n f.responseProps = {\n pzInsKey: 'temp',\n pyAttachName: f.props.name\n };\n }\n });\n return tempFilesUploaded;\n });\n\n if (filesWithError.length === 0) {\n clearFieldErrorMessages();\n }\n }\n setToggleUploadBegin(false);\n })\n .catch(error => {\n // eslint-disable-next-line no-console\n console.log(error);\n setToggleUploadBegin(false);\n });\n }, [files, filesWithError]);\n\n useEffect(() => {\n if (toggleUploadBegin && files.length > 0) {\n uploadFiles();\n }\n }, [toggleUploadBegin]);\n\n useEffect(() => {\n if (files.length > 0 && displayMode !== 'DISPLAY_ONLY') {\n const currentAttachmentList = getCurrentAttachmentsList(getAttachmentKey(valueRef), pConn.getContextName());\n // block duplicate files to redux store when added 1 after another to prevent multiple duplicates being added to the case on submit\n const tempFiles = files.filter(f => currentAttachmentList.findIndex(fr => fr.ID === f.ID) === -1 && !f.inProgress && f.responseProps);\n\n const updatedAttList = [...currentAttachmentList, ...tempFiles];\n updateAttachmentState(pConn, getAttachmentKey(valueRef), updatedAttList);\n }\n }, [files]);\n\n useEffect(() => {\n if (filesWithError.length === 0) {\n clearFieldErrorMessages();\n }\n }, [filesWithError]);\n\n useEffect(() => {\n let tempUploadedFiles = getCurrentAttachmentsList(getAttachmentKey(valueRef), pConn.getContextName());\n tempUploadedFiles = tempUploadedFiles.filter(f => f.label === valueRef);\n setFiles(current => {\n return [\n ...current.map(f => {\n return f.responseProps.pzInsKey && !f.responseProps.pzInsKey.includes('temp')\n ? {\n ...f,\n props: {\n ...f.props,\n onDelete: () => deleteFile(f)\n }\n }\n : { ...f };\n }),\n ...tempUploadedFiles\n ];\n });\n PCore.getPubSubUtils().subscribe(PCore.getConstants().PUB_SUB_EVENTS.CASE_EVENTS.ASSIGNMENT_SUBMISSION, resetAttachmentStoredState, caseID);\n return () => {\n PCore.getPubSubUtils().unsubscribe(PCore.getConstants().PUB_SUB_EVENTS.CASE_EVENTS.ASSIGNMENT_SUBMISSION, caseID);\n };\n }, []);\n\n const handleClick = event => {\n setAnchorEl(event.currentTarget);\n };\n\n const handleClose = () => {\n setAnchorEl(null);\n };\n\n const content = (\n <div style={{ marginBottom: '8px' }}>\n <div className={`${disabled ? 'file-disabled' : ''} ${validatemessage === '' ? 'file-div' : 'file-div-error'}`}>\n <div hidden={true} id='attachment-ID'>\n {valueRef}\n </div>\n <label htmlFor={valueRef}>\n <input\n style={{ display: 'none' }}\n id={valueRef}\n name='upload-photo'\n type='file'\n multiple={allowMultiple === 'true'}\n required={required}\n disabled={disabled}\n onChange={onFileAdded}\n />\n <Button style={{ textTransform: 'none' }} variant='outlined' color='primary' component='span'>\n {allowMultiple === 'true'\n ? uploadMultipleFilesLabel === 'file_upload_text_multiple'\n ? 'Choose files'\n : uploadMultipleFilesLabel\n : uploadSingleFileLabel === 'file_upload_text_one'\n ? 'Choose a file'\n : uploadSingleFileLabel}\n </Button>\n </label>\n </div>\n </div>\n );\n\n const fileDisplay = (\n <div>\n {files &&\n files.length > 0 &&\n files.map((item, index) => {\n return (\n <div key={index} className='psdk-utility-card'>\n <div className='psdk-utility-card-icon'>\n {!item.inProgress && <img className='psdk-utility-card-svg-icon' src={srcImg} />}\n {item.inProgress && (\n <div>\n <CircularProgress />\n </div>\n )}\n </div>\n <div className='psdk-utility-card-main'>\n <div className='psdk-utility-card-main-primary-label'>{item.props.name}</div>\n {item.props.meta && <div style={{ color: item.props.error ? 'red' : undefined }}>{item.props.meta}</div>}\n </div>\n <div className='psdk-utility-action'>\n {item.ID && (\n <button type='button' className='psdk-utility-button' aria-label='Delete Attachment' onClick={() => deleteFile(item)}>\n <img className='psdk-utility-card-action-svg-icon' src={deleteIcon} />\n </button>\n )}\n {!item.ID && (\n <div>\n <IconButton\n id='setting-button'\n aria-controls={open ? 'file-menu' : undefined}\n aria-expanded={open ? 'true' : undefined}\n aria-haspopup='true'\n onClick={handleClick}\n size='large'\n >\n <MoreVertIcon />\n </IconButton>\n <Menu style={{ marginTop: '3rem' }} id='file-menu' anchorEl={anchorEl} keepMounted open={Boolean(anchorEl)} onClose={handleClose}>\n <MenuItem\n style={{ fontSize: '14px' }}\n key='download'\n onClick={() => downloadFile(item.responseProps ? item.responseProps : {})}\n >\n Download\n </MenuItem>\n <MenuItem style={{ fontSize: '14px' }} key='delete' onClick={() => deleteFile(item)}>\n Delete\n </MenuItem>\n </Menu>\n </div>\n )}\n </div>\n </div>\n );\n })}\n </div>\n );\n\n return (\n <div className='file-upload-container'>\n <span className={`label ${required ? 'file-label' : ''}`}>{label}</span>\n {((files.length === 0 && allowMultiple !== 'true') || allowMultiple === 'true') && <section>{content}</section>}\n {validatemessage !== '' ? <span className='file-error'>{validatemessage}</span> : ''}\n {files && files.length > 0 && <section>{fileDisplay}</section>}\n </div>\n );\n}\n"]}
|
package/lib/theme.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../src/theme.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAE7C;;;GAGG;AACH,OAAO,QAAQ,0BAA0B,CAAC;IACxC,UAAU,YAAa,SAAQ,KAAK;KAAG;CACxC;AAGD,eAAO,MAAM,KAAK,
|
|
1
|
+
{"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../src/theme.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAE7C;;;GAGG;AACH,OAAO,QAAQ,0BAA0B,CAAC;IACxC,UAAU,YAAa,SAAQ,KAAK;KAAG;CACxC;AAGD,eAAO,MAAM,KAAK,OA2BhB,CAAC"}
|
package/lib/theme.js
CHANGED
|
@@ -1,6 +1,18 @@
|
|
|
1
1
|
import { createTheme } from '@mui/material';
|
|
2
2
|
// eslint-disable-next-line import/prefer-default-export
|
|
3
3
|
export const theme = createTheme({
|
|
4
|
+
components: {
|
|
5
|
+
MuiTextField: {
|
|
6
|
+
defaultProps: {
|
|
7
|
+
size: 'small'
|
|
8
|
+
},
|
|
9
|
+
styleOverrides: {
|
|
10
|
+
root: {
|
|
11
|
+
width: '100%'
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
},
|
|
4
16
|
palette: {
|
|
5
17
|
primary: {
|
|
6
18
|
contrastText: '#fff',
|
package/lib/theme.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme.js","sourceRoot":"","sources":["../src/theme.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAW5C,wDAAwD;AACxD,MAAM,CAAC,MAAM,KAAK,GAAG,WAAW,CAAC;IAC/B,OAAO,EAAE;QACP,OAAO,EAAE;YACP,YAAY,EAAE,MAAM;YACpB,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,SAAS;YAChB,IAAI,EAAE,SAAS;SAChB;QACD,SAAS,EAAE;YACT,YAAY,EAAE,MAAM;YACpB,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,SAAS;YAChB,IAAI,EAAE,SAAS;SAChB;KACF;CACF,CAAC,CAAC","sourcesContent":["import { createTheme } from '@mui/material';\nimport { Theme } from '@mui/material/styles';\n\n/**\n * Since makeStyles is now exported from @mui/styles package which does not know about Theme in the core package.\n * you need to augment the DefaultTheme (empty object) in @mui/styles with Theme from the core.\n */\ndeclare module '@mui/styles/defaultTheme' {\n interface DefaultTheme extends Theme {}\n}\n\n// eslint-disable-next-line import/prefer-default-export\nexport const theme = createTheme({\n palette: {\n primary: {\n contrastText: '#fff',\n dark: '#303f9f',\n light: '#7986cb',\n main: '#3f51b5'\n },\n secondary: {\n contrastText: '#fff',\n dark: '#c51162',\n light: '#ff4081',\n main: '#f50057'\n }\n }\n});\n"]}
|
|
1
|
+
{"version":3,"file":"theme.js","sourceRoot":"","sources":["../src/theme.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAW5C,wDAAwD;AACxD,MAAM,CAAC,MAAM,KAAK,GAAG,WAAW,CAAC;IAC/B,UAAU,EAAE;QACV,YAAY,EAAE;YACZ,YAAY,EAAE;gBACZ,IAAI,EAAE,OAAO;aACd;YACD,cAAc,EAAE;gBACd,IAAI,EAAE;oBACJ,KAAK,EAAE,MAAM;iBACd;aACF;SACF;KACF;IACD,OAAO,EAAE;QACP,OAAO,EAAE;YACP,YAAY,EAAE,MAAM;YACpB,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,SAAS;YAChB,IAAI,EAAE,SAAS;SAChB;QACD,SAAS,EAAE;YACT,YAAY,EAAE,MAAM;YACpB,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,SAAS;YAChB,IAAI,EAAE,SAAS;SAChB;KACF;CACF,CAAC,CAAC","sourcesContent":["import { createTheme } from '@mui/material';\nimport { Theme } from '@mui/material/styles';\n\n/**\n * Since makeStyles is now exported from @mui/styles package which does not know about Theme in the core package.\n * you need to augment the DefaultTheme (empty object) in @mui/styles with Theme from the core.\n */\ndeclare module '@mui/styles/defaultTheme' {\n interface DefaultTheme extends Theme {}\n}\n\n// eslint-disable-next-line import/prefer-default-export\nexport const theme = createTheme({\n components: {\n MuiTextField: {\n defaultProps: {\n size: 'small'\n },\n styleOverrides: {\n root: {\n width: '100%'\n }\n }\n }\n },\n palette: {\n primary: {\n contrastText: '#fff',\n dark: '#303f9f',\n light: '#7986cb',\n main: '#3f51b5'\n },\n secondary: {\n contrastText: '#fff',\n dark: '#c51162',\n light: '#ff4081',\n main: '#f50057'\n }\n }\n});\n"]}
|
package/package.json
CHANGED