@pega/react-sdk-components 0.23.7 → 0.23.9
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/designSystemExtensions/DetailsFields/DetailsFields.d.ts.map +1 -1
- package/lib/components/designSystemExtensions/DetailsFields/DetailsFields.js +11 -17
- package/lib/components/designSystemExtensions/DetailsFields/DetailsFields.js.map +1 -1
- package/lib/components/designSystemExtensions/FieldGroupList/FieldGroupList.d.ts.map +1 -1
- package/lib/components/designSystemExtensions/FieldGroupList/FieldGroupList.js +4 -4
- package/lib/components/designSystemExtensions/FieldGroupList/FieldGroupList.js.map +1 -1
- package/lib/components/forms/AutoComplete/AutoComplete.d.ts.map +1 -1
- package/lib/components/forms/AutoComplete/AutoComplete.js +7 -2
- package/lib/components/forms/AutoComplete/AutoComplete.js.map +1 -1
- package/lib/components/helpers/reactContextHelpers.d.ts +9 -0
- package/lib/components/helpers/reactContextHelpers.d.ts.map +1 -0
- package/lib/components/helpers/reactContextHelpers.js +9 -0
- package/lib/components/helpers/reactContextHelpers.js.map +1 -0
- package/lib/components/infra/Assignment/Assignment.d.ts +2 -2
- package/lib/components/infra/Assignment/Assignment.d.ts.map +1 -1
- package/lib/components/infra/Assignment/Assignment.js +6 -4
- package/lib/components/infra/Assignment/Assignment.js.map +1 -1
- package/lib/components/infra/Attachment/Attachment.d.ts.map +1 -1
- package/lib/components/infra/Attachment/Attachment.js +38 -3
- package/lib/components/infra/Attachment/Attachment.js.map +1 -1
- package/lib/components/infra/Containers/ModalViewContainer/ModalViewContainer.js +1 -1
- package/lib/components/infra/Containers/ModalViewContainer/ModalViewContainer.js.map +1 -1
- package/lib/components/infra/NavBar/NavBar.js +1 -1
- package/lib/components/infra/NavBar/NavBar.js.map +1 -1
- package/lib/components/infra/VerticalTabs/LeftAlignVerticalTabs/LeftAlignVerticalTabs.d.ts +3 -0
- package/lib/components/infra/VerticalTabs/LeftAlignVerticalTabs/LeftAlignVerticalTabs.d.ts.map +1 -0
- package/lib/components/infra/VerticalTabs/{LeftAlignVerticalTab.js → LeftAlignVerticalTabs/LeftAlignVerticalTabs.js} +3 -3
- package/lib/components/infra/VerticalTabs/LeftAlignVerticalTabs/LeftAlignVerticalTabs.js.map +1 -0
- package/lib/components/infra/VerticalTabs/LeftAlignVerticalTabs/index.d.ts +2 -0
- package/lib/components/infra/VerticalTabs/LeftAlignVerticalTabs/index.d.ts.map +1 -0
- package/lib/components/infra/VerticalTabs/LeftAlignVerticalTabs/index.js +2 -0
- package/lib/components/infra/VerticalTabs/LeftAlignVerticalTabs/index.js.map +1 -0
- package/lib/components/infra/VerticalTabs/{VerticalTabs.d.ts → VerticalTabs/VerticalTabs.d.ts} +0 -0
- package/lib/components/infra/VerticalTabs/VerticalTabs/VerticalTabs.d.ts.map +1 -0
- package/lib/components/infra/VerticalTabs/{VerticalTabs.js → VerticalTabs/VerticalTabs.js} +1 -1
- package/lib/components/infra/VerticalTabs/VerticalTabs/VerticalTabs.js.map +1 -0
- package/lib/components/infra/VerticalTabs/{index.d.ts → VerticalTabs/index.d.ts} +0 -0
- package/lib/components/infra/VerticalTabs/VerticalTabs/index.d.ts.map +1 -0
- package/lib/components/infra/VerticalTabs/{index.js → VerticalTabs/index.js} +0 -0
- package/lib/components/infra/VerticalTabs/VerticalTabs/index.js.map +1 -0
- package/lib/components/templates/AppShell/AppShell.d.ts +0 -4
- package/lib/components/templates/AppShell/AppShell.d.ts.map +1 -1
- package/lib/components/templates/AppShell/AppShell.js +2 -3
- package/lib/components/templates/AppShell/AppShell.js.map +1 -1
- package/lib/components/templates/AppShell/index.js.map +1 -1
- package/lib/components/templates/CaseView/CaseView.js +2 -2
- package/lib/components/templates/CaseView/CaseView.js.map +1 -1
- package/lib/components/templates/{CaseView → CaseViewActionsMenu}/CaseViewActionsMenu.d.ts +0 -0
- package/lib/components/templates/CaseViewActionsMenu/CaseViewActionsMenu.d.ts.map +1 -0
- package/lib/components/templates/{CaseView → CaseViewActionsMenu}/CaseViewActionsMenu.js +1 -1
- package/lib/components/templates/CaseViewActionsMenu/CaseViewActionsMenu.js.map +1 -0
- package/lib/components/templates/CaseViewActionsMenu/index.d.ts +2 -0
- package/lib/components/templates/CaseViewActionsMenu/index.d.ts.map +1 -0
- package/lib/components/templates/CaseViewActionsMenu/index.js +2 -0
- package/lib/components/templates/CaseViewActionsMenu/index.js.map +1 -0
- package/lib/components/templates/FieldGroupTemplate/FieldGroupTemplate.d.ts.map +1 -1
- package/lib/components/templates/FieldGroupTemplate/FieldGroupTemplate.js +3 -3
- package/lib/components/templates/FieldGroupTemplate/FieldGroupTemplate.js.map +1 -1
- package/lib/components/templates/SimpleTable/SimpleTableManual/SimpleTableManual.d.ts.map +1 -1
- package/lib/components/templates/SimpleTable/SimpleTableManual/SimpleTableManual.js +3 -1
- package/lib/components/templates/SimpleTable/SimpleTableManual/SimpleTableManual.js.map +1 -1
- package/lib/components/widgets/FileUtility/{ActionButtonsForFileUtil.css → ActionButtonsForFileUtil/ActionButtonsForFileUtil.css} +0 -0
- package/lib/components/widgets/FileUtility/{ActionButtonsForFileUtil.d.ts → ActionButtonsForFileUtil/ActionButtonsForFileUtil.d.ts} +0 -0
- package/lib/components/widgets/FileUtility/ActionButtonsForFileUtil/ActionButtonsForFileUtil.d.ts.map +1 -0
- package/lib/components/widgets/FileUtility/{ActionButtonsForFileUtil.js → ActionButtonsForFileUtil/ActionButtonsForFileUtil.js} +0 -0
- package/lib/components/widgets/FileUtility/ActionButtonsForFileUtil/ActionButtonsForFileUtil.js.map +1 -0
- package/lib/components/widgets/FileUtility/ActionButtonsForFileUtil/index.d.ts +2 -0
- package/lib/components/widgets/FileUtility/ActionButtonsForFileUtil/index.d.ts.map +1 -0
- package/lib/components/widgets/FileUtility/ActionButtonsForFileUtil/index.js +2 -0
- package/lib/components/widgets/FileUtility/ActionButtonsForFileUtil/index.js.map +1 -0
- package/lib/components/widgets/FileUtility/{FileUtility.css → FileUtility/FileUtility.css} +0 -0
- package/lib/components/widgets/FileUtility/{FileUtility.d.ts → FileUtility/FileUtility.d.ts} +0 -0
- package/lib/components/widgets/FileUtility/FileUtility/FileUtility.d.ts.map +1 -0
- package/lib/components/widgets/FileUtility/{FileUtility.js → FileUtility/FileUtility.js} +4 -4
- package/lib/components/widgets/FileUtility/FileUtility/FileUtility.js.map +1 -0
- package/lib/components/widgets/FileUtility/FileUtility/index.d.ts +2 -0
- package/lib/components/widgets/FileUtility/FileUtility/index.d.ts.map +1 -0
- package/lib/components/widgets/FileUtility/FileUtility/index.js +2 -0
- package/lib/components/widgets/FileUtility/FileUtility/index.js.map +1 -0
- package/lib/components/widgets/SummaryItem/SummaryItem.js +1 -1
- package/lib/components/widgets/SummaryItem/SummaryItem.js.map +1 -1
- package/lib/sdk-pega-component-map.d.ts +7 -1
- package/lib/sdk-pega-component-map.js +7 -1
- package/lib/sdk-pega-component-map.js.map +1 -1
- package/package.json +1 -1
- package/lib/components/infra/VerticalTabs/LeftAlignVerticalTab.d.ts +0 -3
- package/lib/components/infra/VerticalTabs/LeftAlignVerticalTab.d.ts.map +0 -1
- package/lib/components/infra/VerticalTabs/LeftAlignVerticalTab.js.map +0 -1
- package/lib/components/infra/VerticalTabs/VerticalTabs.d.ts.map +0 -1
- package/lib/components/infra/VerticalTabs/VerticalTabs.js.map +0 -1
- package/lib/components/infra/VerticalTabs/index.d.ts.map +0 -1
- package/lib/components/infra/VerticalTabs/index.js.map +0 -1
- package/lib/components/templates/CaseView/CaseViewActionsMenu.d.ts.map +0 -1
- package/lib/components/templates/CaseView/CaseViewActionsMenu.js.map +0 -1
- package/lib/components/widgets/FileUtility/ActionButtonsForFileUtil.d.ts.map +0 -1
- package/lib/components/widgets/FileUtility/ActionButtonsForFileUtil.js.map +0 -1
- package/lib/components/widgets/FileUtility/FileUtility.d.ts.map +0 -1
- package/lib/components/widgets/FileUtility/FileUtility.js.map +0 -1
- package/lib/components/widgets/FileUtility/index.d.ts +0 -1
- package/lib/components/widgets/FileUtility/index.d.ts.map +0 -1
- package/lib/components/widgets/FileUtility/index.js +0 -2
- package/lib/components/widgets/FileUtility/index.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DetailsFields.d.ts","sourceRoot":"","sources":["../../../../src/components/designSystemExtensions/DetailsFields/DetailsFields.tsx"],"names":[],"mappings":";AAEA,OAAO,SAAS,MAAM,YAAY,CAAC;AA+BnC,iBAAwB,aAAa,CAAC,KAAK,KAAA,
|
|
1
|
+
{"version":3,"file":"DetailsFields.d.ts","sourceRoot":"","sources":["../../../../src/components/designSystemExtensions/DetailsFields/DetailsFields.tsx"],"names":[],"mappings":";AAEA,OAAO,SAAS,MAAM,YAAY,CAAC;AA+BnC,iBAAwB,aAAa,CAAC,KAAK,KAAA,eA0G1C;kBA1GuB,aAAa;;;;;;;;eAAb,aAAa"}
|
|
@@ -35,23 +35,17 @@ export default function DetailsFields(props) {
|
|
|
35
35
|
fields?.forEach((field, index) => {
|
|
36
36
|
const thePConn = field.getPConnect();
|
|
37
37
|
const theCompType = thePConn.getComponentName().toLowerCase();
|
|
38
|
-
const { label
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
value: (React.createElement(React.Fragment, { key: index }, createElement(createPConnectComponent(), thePConn.getReferencedViewPConnect())))
|
|
50
|
-
});
|
|
51
|
-
}
|
|
52
|
-
else {
|
|
53
|
-
fieldComponents.push({ type: theCompType, value, label });
|
|
54
|
-
}
|
|
38
|
+
const { label } = thePConn.getConfigProps();
|
|
39
|
+
const configObj = thePConn?.getReferencedView();
|
|
40
|
+
configObj.config.readOnly = theCompType === 'reference';
|
|
41
|
+
configObj.config.displayMode = 'LABELS_LEFT';
|
|
42
|
+
const propToUse = { ...thePConn.getInheritedProps() };
|
|
43
|
+
configObj.config.label = theCompType === 'reference' ? propToUse?.label : label;
|
|
44
|
+
fieldComponents.push({
|
|
45
|
+
type: theCompType,
|
|
46
|
+
label,
|
|
47
|
+
value: (React.createElement(React.Fragment, { key: index }, createElement(createPConnectComponent(), thePConn.getReferencedViewPConnect())))
|
|
48
|
+
});
|
|
55
49
|
});
|
|
56
50
|
function getGridItemLabel(field, keyVal) {
|
|
57
51
|
const dispValue = field.label;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DetailsFields.js","sourceRoot":"","sources":["../../../../src/components/designSystemExtensions/DetailsFields/DetailsFields.tsx"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAC7D,OAAO,SAAS,MAAM,YAAY,CAAC;AACnC,OAAO,IAAI,MAAM,wBAAwB,CAAC;AAC1C,OAAO,UAAU,MAAM,8BAA8B,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEtD,OAAO,uBAAuB,MAAM,gCAAgC,CAAC;AAErE,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAElD,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;KAC/B;IACD,UAAU,EAAE;QACV,OAAO,EAAE,OAAO;QAChB,UAAU,EAAE,GAAG;QACf,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS;KACpC;IACD,UAAU,EAAE;QACV,UAAU,EAAE,GAAG;QACf,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO;KAClC;CACF,CAAC,CAAC,CAAC;AAEJ,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,KAAK;IACzC,yCAAyC;IACzC,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IACzB,MAAM,OAAO,GAAG,SAAS,EAAE,CAAC;IAC5B,MAAM,eAAe,GAAe,EAAE,CAAC;IAEvC,MAAM,EAAE,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QAC/B,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;QACrC,MAAM,WAAW,GAAG,QAAQ,CAAC,gBAAgB,EAAE,CAAC,WAAW,EAAE,CAAC;QAC9D,MAAM,EAAE,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"DetailsFields.js","sourceRoot":"","sources":["../../../../src/components/designSystemExtensions/DetailsFields/DetailsFields.tsx"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAC7D,OAAO,SAAS,MAAM,YAAY,CAAC;AACnC,OAAO,IAAI,MAAM,wBAAwB,CAAC;AAC1C,OAAO,UAAU,MAAM,8BAA8B,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEtD,OAAO,uBAAuB,MAAM,gCAAgC,CAAC;AAErE,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAElD,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;KAC/B;IACD,UAAU,EAAE;QACV,OAAO,EAAE,OAAO;QAChB,UAAU,EAAE,GAAG;QACf,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS;KACpC;IACD,UAAU,EAAE;QACV,UAAU,EAAE,GAAG;QACf,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO;KAClC;CACF,CAAC,CAAC,CAAC;AAEJ,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,KAAK;IACzC,yCAAyC;IACzC,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IACzB,MAAM,OAAO,GAAG,SAAS,EAAE,CAAC;IAC5B,MAAM,eAAe,GAAe,EAAE,CAAC;IAEvC,MAAM,EAAE,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QAC/B,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;QACrC,MAAM,WAAW,GAAG,QAAQ,CAAC,gBAAgB,EAAE,CAAC,WAAW,EAAE,CAAC;QAC9D,MAAM,EAAE,KAAK,EAAE,GAAG,QAAQ,CAAC,cAAc,EAAE,CAAC;QAC5C,MAAM,SAAS,GAAG,QAAQ,EAAE,iBAAiB,EAAE,CAAC;QAChD,SAAS,CAAC,MAAM,CAAC,QAAQ,GAAG,WAAW,KAAK,WAAW,CAAC;QACxD,SAAS,CAAC,MAAM,CAAC,WAAW,GAAG,aAAa,CAAC;QAC7C,MAAM,SAAS,GAAG,EAAE,GAAG,QAAQ,CAAC,iBAAiB,EAAE,EAAE,CAAC;QACtD,SAAS,CAAC,MAAM,CAAC,KAAK,GAAG,WAAW,KAAK,WAAW,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;QAChF,eAAe,CAAC,IAAI,CAAC;YACnB,IAAI,EAAE,WAAW;YACjB,KAAK;YACL,KAAK,EAAE,CACL,oBAAC,KAAK,CAAC,QAAQ,IAAC,GAAG,EAAE,KAAK,IACvB,aAAa,CAAC,uBAAuB,EAAE,EAAE,QAAQ,CAAC,yBAAyB,EAAE,CAAC,CAChE,CAClB;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,SAAS,gBAAgB,CAAC,KAAU,EAAE,MAAc;QAClD,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC;QAE9B,OAAO,CACL,oBAAC,IAAI,IAAC,IAAI,QAAC,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM;YAC3B,oBAAC,UAAU,IAAC,OAAO,EAAC,OAAO,EAAC,SAAS,EAAC,MAAM,EAAC,SAAS,EAAE,GAAG,OAAO,CAAC,UAAU,EAAE,IAC5E,SAAS,CACC,CACR,CACR,CAAC;IACJ,CAAC;IAED,SAAS,eAAe,CAAC,OAAY;QACnC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;QAChC,IAAI,YAAY,GAAG,KAAK,CAAC;QAEzB,mDAAmD;QACnD,QAAQ,IAAI,EAAE;YACZ,KAAK,MAAM;gBACT,YAAY,GAAG,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;gBACnC,MAAM;YAER;gBACE,uDAAuD;gBACvD,MAAM;SACT;QAED,wFAAwF;QACxF,IAAI,YAAY,KAAK,SAAS,IAAI,YAAY,KAAK,EAAE,EAAE;YACrD,YAAY,GAAG,KAAK,CAAC;SACtB;QAED,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,SAAS,gBAAgB,CAAC,KAAU,EAAE,MAAc;QAClD,MAAM,cAAc,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;QAE9C,OAAO,CACL,oBAAC,IAAI,IAAC,IAAI,QAAC,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM;YAC3B,oBAAC,UAAU,IAAC,OAAO,EAAC,OAAO,EAAC,SAAS,EAAC,MAAM,EAAC,SAAS,EAAE,OAAO,CAAC,UAAU,IACvE,cAAc,CACJ,CACR,CACR,CAAC;IACJ,CAAC;IAED,SAAS,WAAW,CAAC,KAAU,EAAE,MAAc;QAC7C,OAAO,CACL,oBAAC,IAAI,IAAC,IAAI,QAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM;YAC5B,oBAAC,UAAU,IAAC,OAAO,EAAC,OAAO,EAAC,SAAS,EAAC,MAAM,EAAC,SAAS,EAAE,OAAO,CAAC,UAAU,IACvE,KAAK,EAAE,KAAK,CACF,CACR,CACR,CAAC;IACJ,CAAC;IAED,SAAS,YAAY;QACnB,MAAM,SAAS,GAAe,eAAe,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YACjE,IAAI,KAAK,EAAE,IAAI,KAAK,WAAW,EAAE;gBAC/B,OAAO,KAAK,EAAE,KAAK,CAAC;aACrB;iBAAM,IAAI,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE;gBACvC,OAAO,CACL,oBAAC,IAAI,IAAC,SAAS,QAAC,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,GAAG,EAAE,KAAK,IAClE,WAAW,CAAC,KAAK,EAAE,GAAG,KAAK,OAAO,CAAC,CAC/B,CACR,CAAC;aACH;iBAAM;gBACL,OAAO,CACL,oBAAC,IAAI,IAAC,SAAS,QAAC,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,GAAG,EAAE,KAAK;oBAClE,gBAAgB,CAAC,KAAK,EAAE,GAAG,KAAK,QAAQ,CAAC;oBACzC,gBAAgB,CAAC,KAAK,EAAE,GAAG,KAAK,QAAQ,CAAC,CACrC,CACR,CAAC;aACH;QACH,CAAC,CAAC,CAAC;QACH,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,oBAAC,KAAK,CAAC,QAAQ,QAAE,YAAY,EAAE,CAAkB,CAAC;AAC3D,CAAC;AAED,aAAa,CAAC,YAAY,GAAG;IAC3B,MAAM,EAAE,EAAE;CACX,CAAC;AAEF,aAAa,CAAC,SAAS,GAAG;IACxB,MAAM,EAAE,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC;CACzC,CAAC","sourcesContent":["/* eslint-disable react/no-array-index-key */\nimport React, { createElement, isValidElement } from 'react';\nimport PropTypes from 'prop-types';\nimport Grid from '@material-ui/core/Grid';\nimport Typography from '@material-ui/core/Typography';\nimport { makeStyles } from '@material-ui/core/styles';\n\nimport createPConnectComponent from '../../../bridge/react_pconnect';\n\nimport { format } from '../../helpers/formatters';\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 },\n fieldLabel: {\n display: 'block',\n fontWeight: 400,\n color: theme.palette.text.secondary\n },\n fieldValue: {\n fontWeight: 400,\n color: theme.palette.text.primary\n }\n}));\n\nexport default function DetailsFields(props) {\n // const componentName = \"DetailsFields\";\n const { fields } = props;\n const classes = useStyles();\n const fieldComponents: Array<any> = [];\n\n fields?.forEach((field, index) => {\n const thePConn = field.getPConnect();\n const theCompType = thePConn.getComponentName().toLowerCase();\n const { label } = thePConn.getConfigProps();\n const configObj = thePConn?.getReferencedView();\n configObj.config.readOnly = theCompType === 'reference';\n configObj.config.displayMode = 'LABELS_LEFT';\n const propToUse = { ...thePConn.getInheritedProps() };\n configObj.config.label = theCompType === 'reference' ? propToUse?.label : label;\n fieldComponents.push({\n type: theCompType,\n label,\n value: (\n <React.Fragment key={index}>\n {createElement(createPConnectComponent(), thePConn.getReferencedViewPConnect())}\n </React.Fragment>\n )\n });\n });\n\n function getGridItemLabel(field: any, keyVal: string) {\n const dispValue = field.label;\n\n return (\n <Grid item xs={6} key={keyVal}>\n <Typography variant='body2' component='span' className={`${classes.fieldLabel}`}>\n {dispValue}\n </Typography>\n </Grid>\n );\n }\n\n function formatItemValue(inField: any) {\n const { type, value } = inField;\n let formattedVal = value;\n\n // eslint-disable-next-line sonarjs/no-small-switch\n switch (type) {\n case 'date':\n formattedVal = format(value, type);\n break;\n\n default:\n // No match means we return the value as we received it\n break;\n }\n\n // Finally, if the value is undefined or an empty string, we want to display it as \"---\"\n if (formattedVal === undefined || formattedVal === '') {\n formattedVal = '---';\n }\n\n return formattedVal;\n }\n\n function getGridItemValue(field: any, keyVal: string) {\n const formattedValue = formatItemValue(field);\n\n return (\n <Grid item xs={6} key={keyVal}>\n <Typography variant='body2' component='span' className={classes.fieldValue}>\n {formattedValue}\n </Typography>\n </Grid>\n );\n }\n\n function getGridItem(field: any, keyVal: string) {\n return (\n <Grid item xs={12} key={keyVal}>\n <Typography variant='body2' component='span' className={classes.fieldValue}>\n {field?.value}\n </Typography>\n </Grid>\n );\n }\n\n function getGridItems() {\n const gridItems: Array<any> = fieldComponents.map((field, index) => {\n if (field?.type === 'reference') {\n return field?.value;\n } else if (isValidElement(field?.value)) {\n return (\n <Grid container spacing={1} style={{ padding: '4px 0px' }} key={index}>\n {getGridItem(field, `${index}-item`)}\n </Grid>\n );\n } else {\n return (\n <Grid container spacing={1} style={{ padding: '4px 0px' }} key={index}>\n {getGridItemLabel(field, `${index}-label`)}\n {getGridItemValue(field, `${index}-value`)}\n </Grid>\n );\n }\n });\n return gridItems;\n }\n\n return <React.Fragment>{getGridItems()}</React.Fragment>;\n}\n\nDetailsFields.defaultProps = {\n fields: []\n};\n\nDetailsFields.propTypes = {\n fields: PropTypes.arrayOf(PropTypes.any)\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FieldGroupList.d.ts","sourceRoot":"","sources":["../../../../src/components/designSystemExtensions/FieldGroupList/FieldGroupList.tsx"],"names":[],"mappings":";AAUA,QAAA,MAAM,cAAc,
|
|
1
|
+
{"version":3,"file":"FieldGroupList.d.ts","sourceRoot":"","sources":["../../../../src/components/designSystemExtensions/FieldGroupList/FieldGroupList.tsx"],"names":[],"mappings":";AAUA,QAAA,MAAM,cAAc,6BA4CnB,CAAC;AAEF,eAAe,cAAc,CAAC"}
|
|
@@ -13,15 +13,15 @@ const FieldGroupList = props => {
|
|
|
13
13
|
React.createElement(Grid, { container: true, spacing: 1 },
|
|
14
14
|
props.items.map(item => (React.createElement(Grid, { item: true, style: { width: '100%' } },
|
|
15
15
|
React.createElement("b", null, item.name),
|
|
16
|
-
React.createElement("button", { type: 'button', style: { float: 'right' }, className: 'psdk-utility-button', id: `delete-row-${Utils.getLastChar(item.name)}`, onClick: () => {
|
|
16
|
+
props.onDelete && (React.createElement("button", { type: 'button', style: { float: 'right' }, className: 'psdk-utility-button', id: `delete-row-${Utils.getLastChar(item.name)}`, onClick: () => {
|
|
17
17
|
props.onDelete(item.id);
|
|
18
18
|
} },
|
|
19
|
-
React.createElement("img", { className: 'psdk-utility-card-action-svg-icon', src: menuIconOverride$ })),
|
|
19
|
+
React.createElement("img", { className: 'psdk-utility-card-action-svg-icon', src: menuIconOverride$ }))),
|
|
20
20
|
item.children,
|
|
21
21
|
React.createElement("br", null),
|
|
22
|
-
React.createElement(Divider, null),
|
|
22
|
+
props.onAdd && React.createElement(Divider, null),
|
|
23
23
|
React.createElement("br", null)))),
|
|
24
|
-
React.createElement(Link, { onClick: props.onAdd, style: { cursor: 'pointer' } }, "+Add")))));
|
|
24
|
+
props.onAdd && (React.createElement(Link, { onClick: props.onAdd, style: { cursor: 'pointer' } }, "+Add"))))));
|
|
25
25
|
};
|
|
26
26
|
export default FieldGroupList;
|
|
27
27
|
//# sourceMappingURL=FieldGroupList.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FieldGroupList.js","sourceRoot":"","sources":["../../../../src/components/designSystemExtensions/FieldGroupList/FieldGroupList.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,IAAI,MAAM,wBAAwB,CAAC;AAC1C,OAAO,OAAO,MAAM,2BAA2B,CAAC;AAChD,OAAO,IAAI,MAAM,wBAAwB,CAAC;AAE1C,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAI5C,MAAM,cAAc,GAAG,KAAK,CAAC,EAAE;IAC7B,IAAI,iBAAiB,GAAG,OAAO,CAAC;IAChC,IAAI,iBAAiB,EAAE;QACrB,iBAAiB,GAAG,KAAK,CAAC,WAAW,CACnC,iBAAiB,EACjB,KAAK,CAAC,cAAc,EAAE,CAAC,kBAAkB,EAAE,CAC5C,CAAC;KACH;IAED,OAAO,CACL,oBAAC,IAAI,IAAC,SAAS,QAAC,OAAO,EAAE,CAAC,EAAE,cAAc,EAAC,eAAe;QACxD,oBAAC,IAAI,IAAC,IAAI,QAAC,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE;YACjC,oBAAC,IAAI,IAAC,SAAS,QAAC,OAAO,EAAE,CAAC;gBACvB,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CACvB,oBAAC,IAAI,IAAC,IAAI,QAAC,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE;oBACjC,+BAAI,IAAI,CAAC,IAAI,CAAK;
|
|
1
|
+
{"version":3,"file":"FieldGroupList.js","sourceRoot":"","sources":["../../../../src/components/designSystemExtensions/FieldGroupList/FieldGroupList.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,IAAI,MAAM,wBAAwB,CAAC;AAC1C,OAAO,OAAO,MAAM,2BAA2B,CAAC;AAChD,OAAO,IAAI,MAAM,wBAAwB,CAAC;AAE1C,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAI5C,MAAM,cAAc,GAAG,KAAK,CAAC,EAAE;IAC7B,IAAI,iBAAiB,GAAG,OAAO,CAAC;IAChC,IAAI,iBAAiB,EAAE;QACrB,iBAAiB,GAAG,KAAK,CAAC,WAAW,CACnC,iBAAiB,EACjB,KAAK,CAAC,cAAc,EAAE,CAAC,kBAAkB,EAAE,CAC5C,CAAC;KACH;IAED,OAAO,CACL,oBAAC,IAAI,IAAC,SAAS,QAAC,OAAO,EAAE,CAAC,EAAE,cAAc,EAAC,eAAe;QACxD,oBAAC,IAAI,IAAC,IAAI,QAAC,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE;YACjC,oBAAC,IAAI,IAAC,SAAS,QAAC,OAAO,EAAE,CAAC;gBACvB,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CACvB,oBAAC,IAAI,IAAC,IAAI,QAAC,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE;oBACjC,+BAAI,IAAI,CAAC,IAAI,CAAK;oBACjB,KAAK,CAAC,QAAQ,IAAI,CACjB,gCACE,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,EACzB,SAAS,EAAC,qBAAqB,EAC/B,EAAE,EAAE,cAAc,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAChD,OAAO,EAAE,GAAG,EAAE;4BACZ,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;wBAC1B,CAAC;wBAED,6BAAK,SAAS,EAAC,mCAAmC,EAAC,GAAG,EAAE,iBAAiB,GAAQ,CAC1E,CACV;oBACA,IAAI,CAAC,QAAQ;oBACd,+BAAM;oBACL,KAAK,CAAC,KAAK,IAAI,oBAAC,OAAO,OAAG;oBAC3B,+BAAM,CACD,CACR,CAAC;gBACD,KAAK,CAAC,KAAK,IAAI,CACd,oBAAC,IAAI,IAAC,OAAO,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,WAEjD,CACR,CACI,CACF,CACF,CACR,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,cAAc,CAAC","sourcesContent":["import React from 'react';\n\nimport Grid from '@material-ui/core/Grid';\nimport Divider from '@material-ui/core/Divider';\nimport Link from '@material-ui/core/Link';\n\nimport { Utils } from '../../helpers/utils';\n\ndeclare const PCore: any;\n\nconst FieldGroupList = props => {\n let menuIconOverride$ = 'trash';\n if (menuIconOverride$) {\n menuIconOverride$ = Utils.getImageSrc(\n menuIconOverride$,\n PCore.getAssetLoader().getStaticServerUrl()\n );\n }\n\n return (\n <Grid container spacing={4} justifyContent='space-between'>\n <Grid item style={{ width: '100%' }}>\n <Grid container spacing={1}>\n {props.items.map(item => (\n <Grid item style={{ width: '100%' }}>\n <b>{item.name}</b>\n {props.onDelete && (\n <button\n type='button'\n style={{ float: 'right' }}\n className='psdk-utility-button'\n id={`delete-row-${Utils.getLastChar(item.name)}`}\n onClick={() => {\n props.onDelete(item.id);\n }}\n >\n <img className='psdk-utility-card-action-svg-icon' src={menuIconOverride$}></img>\n </button>\n )}\n {item.children}\n <br />\n {props.onAdd && <Divider />}\n <br />\n </Grid>\n ))}\n {props.onAdd && (\n <Link onClick={props.onAdd} style={{ cursor: 'pointer' }}>\n +Add\n </Link>\n )}\n </Grid>\n </Grid>\n </Grid>\n );\n};\n\nexport default FieldGroupList;\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AutoComplete.d.ts","sourceRoot":"","sources":["../../../../src/components/forms/AutoComplete/AutoComplete.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"AutoComplete.d.ts","sourceRoot":"","sources":["../../../../src/components/forms/AutoComplete/AutoComplete.tsx"],"names":[],"mappings":";AAqCA,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,KAAK,KAAA,eAuJzC"}
|
|
@@ -5,6 +5,7 @@ import Utils from '../../helpers/utils';
|
|
|
5
5
|
import TextInput from '../TextInput';
|
|
6
6
|
import isDeepEqual from 'fast-deep-equal/react';
|
|
7
7
|
import { getDataPage } from '../../helpers/data_page';
|
|
8
|
+
import handleEvent from '../../helpers/event-utils';
|
|
8
9
|
const preProcessColumns = columnList => {
|
|
9
10
|
return columnList.map(col => {
|
|
10
11
|
const tempColObj = { ...col };
|
|
@@ -28,7 +29,7 @@ const getDisplayFieldsMetaData = columnList => {
|
|
|
28
29
|
return metaDataObj;
|
|
29
30
|
};
|
|
30
31
|
export default function AutoComplete(props) {
|
|
31
|
-
const { getPConnect, label, required, placeholder, value = '', validatemessage,
|
|
32
|
+
const { getPConnect, label, required, placeholder, value = '', validatemessage, readOnly, testId, displayMode, deferDatasource, datasourceMetadata, status, helperText } = props;
|
|
32
33
|
let parameters = datasourceMetadata?.datasource?.parameters;
|
|
33
34
|
const context = getPConnect().getContextName();
|
|
34
35
|
let { listType, datasource = [], columns = [] } = props;
|
|
@@ -37,6 +38,9 @@ export default function AutoComplete(props) {
|
|
|
37
38
|
const [theDatasource, setDatasource] = useState(null);
|
|
38
39
|
let selectedValue = '';
|
|
39
40
|
const helperTextToDisplay = validatemessage || helperText;
|
|
41
|
+
const thePConn = getPConnect();
|
|
42
|
+
const actionsApi = thePConn.getActionsApi();
|
|
43
|
+
const propName = thePConn.getStateProps().value;
|
|
40
44
|
if (!isDeepEqual(datasource, theDatasource)) {
|
|
41
45
|
// inbound datasource is different, so update theDatasource (to trigger useEffect)
|
|
42
46
|
setDatasource(datasource);
|
|
@@ -108,7 +112,8 @@ export default function AutoComplete(props) {
|
|
|
108
112
|
}
|
|
109
113
|
}
|
|
110
114
|
const handleChange = (event, newValue) => {
|
|
111
|
-
|
|
115
|
+
const val = newValue ? newValue.key : '';
|
|
116
|
+
handleEvent(actionsApi, 'changeNblur', propName, val);
|
|
112
117
|
};
|
|
113
118
|
const handleInputValue = (event, newInputValue) => {
|
|
114
119
|
setInputValue(newInputValue);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AutoComplete.js","sourceRoot":"","sources":["../../../../src/components/forms/AutoComplete/AutoComplete.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useEffect, useState } from 'react';\nimport { TextField } from '@material-ui/core';\nimport Autocomplete from '@material-ui/lab/Autocomplete';\nimport Utils from '../../helpers/utils';\nimport TextInput from '../TextInput';\nimport isDeepEqual from 'fast-deep-equal/react';\nimport { getDataPage } from '../../helpers/data_page';\n\ninterface IOption {\n key: string;\n value: string;\n}\n\nconst preProcessColumns = columnList => {\n return columnList.map(col => {\n const tempColObj = { ...col };\n tempColObj.value = col.value && col.value.startsWith('.') ? col.value.substring(1) : col.value;\n return tempColObj;\n });\n};\n\nconst getDisplayFieldsMetaData = columnList => {\n const displayColumns = columnList.filter(col => col.display === 'true');\n const metaDataObj: any = { key: '', primary: '', secondary: [] };\n const keyCol = columnList.filter(col => col.key === 'true');\n metaDataObj.key = keyCol.length > 0 ? keyCol[0].value : 'auto';\n for (let index = 0; index < displayColumns.length; index += 1) {\n if (displayColumns[index].primary === 'true') {\n metaDataObj.primary = displayColumns[index].value;\n } else {\n metaDataObj.secondary.push(displayColumns[index].value);\n }\n }\n return metaDataObj;\n};\n\nexport default function AutoComplete(props) {\n const {\n getPConnect,\n label,\n required,\n placeholder,\n value = '',\n validatemessage,\n onChange,\n readOnly,\n testId,\n displayMode,\n deferDatasource,\n datasourceMetadata,\n status,\n helperText\n } = props;\n let parameters = datasourceMetadata?.datasource?.parameters;\n const context = getPConnect().getContextName();\n let { listType, datasource = [], columns = [] } = props;\n const [inputValue, setInputValue] = useState('');\n const [options, setOptions] = useState<Array<IOption>>([]);\n const [theDatasource, setDatasource] = useState(null);\n let selectedValue: any = '';\n const helperTextToDisplay = validatemessage || helperText;\n\n if (!isDeepEqual(datasource, theDatasource)) {\n // inbound datasource is different, so update theDatasource (to trigger useEffect)\n setDatasource(datasource);\n }\n\n const flattenParameters = (params = {}) => {\n const flatParams = {};\n Object.keys(params).forEach((key) => {\n const { name, value: theVal } = params[key];\n flatParams[name] = theVal;\n });\n\n return flatParams;\n };\n\n // convert associated to datapage listtype and transform props\n // Process deferDatasource when datapage name is present. WHhen tableType is promptList / localList\n if (deferDatasource && datasourceMetadata?.datasource?.name) {\n listType = 'datapage';\n datasource = datasourceMetadata.datasource.name;\n parameters = flattenParameters(parameters);\n const displayProp = datasourceMetadata.datasource.propertyForDisplayText.startsWith('@P')\n ? datasourceMetadata.datasource.propertyForDisplayText.substring(3)\n : datasourceMetadata.datasource.propertyForDisplayText;\n const valueProp = datasourceMetadata.datasource.propertyForValue.startsWith('@P')\n ? datasourceMetadata.datasource.propertyForValue.substring(3)\n : datasourceMetadata.datasource.propertyForValue;\n columns = [\n {\n key: 'true',\n setProperty: 'Associated property',\n value: valueProp\n },\n {\n display: 'true',\n primary: 'true',\n useForSearch: true,\n value: displayProp\n }\n ];\n }\n columns = preProcessColumns(columns);\n\n useEffect(() => {\n if (listType === 'associated') {\n setOptions(Utils.getOptionList(props, getPConnect().getDataObject()));\n }\n }, [theDatasource]);\n\n useEffect(() => {\n if (!displayMode && listType !== 'associated') {\n getDataPage(datasource, parameters, context).then((results: any) => {\n const optionsData: Array<any> = [];\n const displayColumn = getDisplayFieldsMetaData(columns);\n results?.forEach(element => {\n const val = element[displayColumn.primary]?.toString();\n const obj = {\n key: element[displayColumn.key] || element.pyGUID,\n value: val\n };\n optionsData.push(obj);\n });\n setOptions(optionsData);\n });\n }\n }, []);\n\n if (value) {\n const index = options?.findIndex(element => element.key === value);\n if (index > -1) {\n selectedValue = options[index].value;\n } else {\n selectedValue = value;\n }\n }\n\n const handleChange = (event: object, newValue) => {\n onChange({ value: newValue ? newValue.key : '' });\n };\n\n const handleInputValue = (event, newInputValue) => {\n setInputValue(newInputValue);\n };\n\n if (readOnly) {\n const theValAsString = options?.find(opt => opt.key === value)?.value;\n return <TextInput {...props} value={theValAsString} />;\n }\n // Need to use both getOptionLabel and getOptionSelected to map our\n // key/value structure to what Autocomplete expects\n return (\n <Autocomplete\n options={options}\n getOptionLabel={(option: IOption) => {\n return option.value ? option.value : '';\n }}\n getOptionSelected={(option: any) => {\n return option.value ? option.value : '';\n }}\n fullWidth\n onChange={handleChange}\n value={selectedValue}\n inputValue={inputValue || selectedValue}\n onInputChange={handleInputValue}\n renderInput={params => (\n <TextField\n {...params}\n fullWidth\n variant='outlined'\n helperText={helperTextToDisplay}\n placeholder={placeholder}\n size='small'\n required={required}\n error={status === 'error'}\n label={label}\n data-test-id={testId}\n />\n )}\n />\n );\n}\n"]}
|
|
1
|
+
{"version":3,"file":"AutoComplete.js","sourceRoot":"","sources":["../../../../src/components/forms/AutoComplete/AutoComplete.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useEffect, useState } from 'react';\nimport { TextField } from '@material-ui/core';\nimport Autocomplete from '@material-ui/lab/Autocomplete';\nimport Utils from '../../helpers/utils';\nimport TextInput from '../TextInput';\nimport isDeepEqual from 'fast-deep-equal/react';\nimport { getDataPage } from '../../helpers/data_page';\nimport handleEvent from '../../helpers/event-utils';\n\ninterface IOption {\n key: string;\n value: string;\n}\n\nconst preProcessColumns = columnList => {\n return columnList.map(col => {\n const tempColObj = { ...col };\n tempColObj.value = col.value && col.value.startsWith('.') ? col.value.substring(1) : col.value;\n return tempColObj;\n });\n};\n\nconst getDisplayFieldsMetaData = columnList => {\n const displayColumns = columnList.filter(col => col.display === 'true');\n const metaDataObj: any = { key: '', primary: '', secondary: [] };\n const keyCol = columnList.filter(col => col.key === 'true');\n metaDataObj.key = keyCol.length > 0 ? keyCol[0].value : 'auto';\n for (let index = 0; index < displayColumns.length; index += 1) {\n if (displayColumns[index].primary === 'true') {\n metaDataObj.primary = displayColumns[index].value;\n } else {\n metaDataObj.secondary.push(displayColumns[index].value);\n }\n }\n return metaDataObj;\n};\n\nexport default function AutoComplete(props) {\n const {\n getPConnect,\n label,\n required,\n placeholder,\n value = '',\n validatemessage,\n readOnly,\n testId,\n displayMode,\n deferDatasource,\n datasourceMetadata,\n status,\n helperText\n } = props;\n let parameters = datasourceMetadata?.datasource?.parameters;\n const context = getPConnect().getContextName();\n let { listType, datasource = [], columns = [] } = props;\n const [inputValue, setInputValue] = useState('');\n const [options, setOptions] = useState<Array<IOption>>([]);\n const [theDatasource, setDatasource] = useState(null);\n let selectedValue: any = '';\n const helperTextToDisplay = validatemessage || helperText;\n\n const thePConn = getPConnect();\n const actionsApi = thePConn.getActionsApi();\n const propName = thePConn.getStateProps().value;\n\n\n if (!isDeepEqual(datasource, theDatasource)) {\n // inbound datasource is different, so update theDatasource (to trigger useEffect)\n setDatasource(datasource);\n }\n\n const flattenParameters = (params = {}) => {\n const flatParams = {};\n Object.keys(params).forEach((key) => {\n const { name, value: theVal } = params[key];\n flatParams[name] = theVal;\n });\n\n return flatParams;\n };\n\n // convert associated to datapage listtype and transform props\n // Process deferDatasource when datapage name is present. WHhen tableType is promptList / localList\n if (deferDatasource && datasourceMetadata?.datasource?.name) {\n listType = 'datapage';\n datasource = datasourceMetadata.datasource.name;\n parameters = flattenParameters(parameters);\n const displayProp = datasourceMetadata.datasource.propertyForDisplayText.startsWith('@P')\n ? datasourceMetadata.datasource.propertyForDisplayText.substring(3)\n : datasourceMetadata.datasource.propertyForDisplayText;\n const valueProp = datasourceMetadata.datasource.propertyForValue.startsWith('@P')\n ? datasourceMetadata.datasource.propertyForValue.substring(3)\n : datasourceMetadata.datasource.propertyForValue;\n columns = [\n {\n key: 'true',\n setProperty: 'Associated property',\n value: valueProp\n },\n {\n display: 'true',\n primary: 'true',\n useForSearch: true,\n value: displayProp\n }\n ];\n }\n columns = preProcessColumns(columns);\n\n useEffect(() => {\n if (listType === 'associated') {\n setOptions(Utils.getOptionList(props, getPConnect().getDataObject()));\n }\n }, [theDatasource]);\n\n useEffect(() => {\n if (!displayMode && listType !== 'associated') {\n getDataPage(datasource, parameters, context).then((results: any) => {\n const optionsData: Array<any> = [];\n const displayColumn = getDisplayFieldsMetaData(columns);\n results?.forEach(element => {\n const val = element[displayColumn.primary]?.toString();\n const obj = {\n key: element[displayColumn.key] || element.pyGUID,\n value: val\n };\n optionsData.push(obj);\n });\n setOptions(optionsData);\n });\n }\n }, []);\n\n if (value) {\n const index = options?.findIndex(element => element.key === value);\n if (index > -1) {\n selectedValue = options[index].value;\n } else {\n selectedValue = value;\n }\n }\n\n const handleChange = (event: object, newValue) => {\n const val = newValue ? newValue.key : '' ;\n handleEvent(actionsApi, 'changeNblur', propName, val);\n };\n\n const handleInputValue = (event, newInputValue) => {\n setInputValue(newInputValue);\n };\n\n if (readOnly) {\n const theValAsString = options?.find(opt => opt.key === value)?.value;\n return <TextInput {...props} value={theValAsString} />;\n }\n // Need to use both getOptionLabel and getOptionSelected to map our\n // key/value structure to what Autocomplete expects\n return (\n <Autocomplete\n options={options}\n getOptionLabel={(option: IOption) => {\n return option.value ? option.value : '';\n }}\n getOptionSelected={(option: any) => {\n return option.value ? option.value : '';\n }}\n fullWidth\n onChange={handleChange}\n value={selectedValue}\n inputValue={inputValue || selectedValue}\n onInputChange={handleInputValue}\n renderInput={params => (\n <TextField\n {...params}\n fullWidth\n variant='outlined'\n helperText={helperTextToDisplay}\n placeholder={placeholder}\n size='small'\n required={required}\n error={status === 'error'}\n label={label}\n data-test-id={testId}\n />\n )}\n />\n );\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reactContextHelpers.d.ts","sourceRoot":"","sources":["../../../src/components/helpers/reactContextHelpers.js"],"names":[],"mappings":"AAQA;;;GAAwE;AACjE;;;EAA8C"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { createContext, useContext } from "react";
|
|
2
|
+
// This file contains a shared access point for any React contexts that may need to be
|
|
3
|
+
// defined/used across various components.
|
|
4
|
+
// For example, the AppShell wants to use a NavContext that interacts with
|
|
5
|
+
// that context's consumption in the NavBar to handle clicks for opening/closing
|
|
6
|
+
// aspects of the NavBar
|
|
7
|
+
export const NavContext = createContext({ open: false, setOpen: f => f });
|
|
8
|
+
export const useNavBar = () => useContext(NavContext);
|
|
9
|
+
//# sourceMappingURL=reactContextHelpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reactContextHelpers.js","sourceRoot":"","sources":["../../../src/components/helpers/reactContextHelpers.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAElD,sFAAsF;AACtF,2CAA2C;AAE3C,2EAA2E;AAC3E,iFAAiF;AACjF,yBAAyB;AACzB,MAAM,CAAC,MAAM,UAAU,GAAG,aAAa,CAAC,EAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAC,CAAC,CAAC;AACxE,MAAM,CAAC,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC","sourcesContent":["import { createContext, useContext } from \"react\";\n\n// This file contains a shared access point for any React contexts that may need to be\n// defined/used across various components.\n\n// For example, the AppShell wants to use a NavContext that interacts with\n// that context's consumption in the NavBar to handle clicks for opening/closing\n// aspects of the NavBar\nexport const NavContext = createContext({open: false, setOpen: f => f});\nexport const useNavBar = () => useContext(NavContext);\n"]}
|
|
@@ -6,11 +6,11 @@ declare namespace Assignment {
|
|
|
6
6
|
children: PropTypes.Validator<NonNullable<PropTypes.ReactNodeLike>>;
|
|
7
7
|
getPConnect: PropTypes.Validator<(...args: any[]) => any>;
|
|
8
8
|
itemKey: PropTypes.Requireable<string>;
|
|
9
|
-
|
|
9
|
+
isInModal: PropTypes.Requireable<boolean>;
|
|
10
10
|
};
|
|
11
11
|
var defaultProps: {
|
|
12
12
|
itemKey: null;
|
|
13
|
-
|
|
13
|
+
isInModal: boolean;
|
|
14
14
|
};
|
|
15
15
|
}
|
|
16
16
|
export default Assignment;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Assignment.d.ts","sourceRoot":"","sources":["../../../../src/components/infra/Assignment/Assignment.tsx"],"names":[],"mappings":";AACA,OAAO,SAAS,MAAM,YAAY,CAAC;AAUnC,iBAAwB,UAAU,CAAC,KAAK,KAAA,
|
|
1
|
+
{"version":3,"file":"Assignment.d.ts","sourceRoot":"","sources":["../../../../src/components/infra/Assignment/Assignment.tsx"],"names":[],"mappings":";AACA,OAAO,SAAS,MAAM,YAAY,CAAC;AAUnC,iBAAwB,UAAU,CAAC,KAAK,KAAA,eA2PvC;kBA3PuB,UAAU;;;;;;;;;;;;eAAV,UAAU"}
|
|
@@ -6,7 +6,7 @@ import Snackbar from '@material-ui/core/Snackbar';
|
|
|
6
6
|
import IconButton from '@material-ui/core/IconButton';
|
|
7
7
|
import CloseIcon from '@material-ui/icons/Close';
|
|
8
8
|
export default function Assignment(props) {
|
|
9
|
-
const { getPConnect, children, itemKey,
|
|
9
|
+
const { getPConnect, children, itemKey, isInModal } = props;
|
|
10
10
|
const thePConn = getPConnect();
|
|
11
11
|
const [bHasNavigation, setHasNavigation] = useState(false);
|
|
12
12
|
const [actionButtons, setActionButtons] = useState({});
|
|
@@ -123,7 +123,9 @@ export default function Assignment(props) {
|
|
|
123
123
|
// check if create stage (modal)
|
|
124
124
|
const { PUB_SUB_EVENTS } = PCore.getConstants();
|
|
125
125
|
const { publish } = PCore.getPubSubUtils();
|
|
126
|
-
|
|
126
|
+
const isAssignmentInCreateStage = thePConn.getCaseInfo().isAssignmentInCreateStage();
|
|
127
|
+
const isLocalAction = thePConn.getCaseInfo().isLocalAction() || getPConnect().getValue(PCore.getConstants().CASE_INFO.IS_LOCAL_ACTION);
|
|
128
|
+
if (isAssignmentInCreateStage && isInModal && !isLocalAction) {
|
|
127
129
|
const cancelPromise = cancelCreateStageAssignment(itemKey);
|
|
128
130
|
cancelPromise
|
|
129
131
|
.then(data => {
|
|
@@ -205,13 +207,13 @@ Assignment.propTypes = {
|
|
|
205
207
|
children: PropTypes.node.isRequired,
|
|
206
208
|
getPConnect: PropTypes.func.isRequired,
|
|
207
209
|
itemKey: PropTypes.string,
|
|
208
|
-
|
|
210
|
+
isInModal: PropTypes.bool
|
|
209
211
|
// actionButtons: PropTypes.object
|
|
210
212
|
// buildName: PropTypes.string
|
|
211
213
|
};
|
|
212
214
|
Assignment.defaultProps = {
|
|
213
215
|
itemKey: null,
|
|
214
|
-
|
|
216
|
+
isInModal: false
|
|
215
217
|
// buildName: null
|
|
216
218
|
};
|
|
217
219
|
//# sourceMappingURL=Assignment.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Assignment.js","sourceRoot":"","sources":["../../../../src/components/infra/Assignment/Assignment.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from \"react\";\nimport PropTypes from \"prop-types\";\n\nimport AssignmentCard from '../AssignmentCard';\nimport MultiStep from '../MultiStep';\nimport Snackbar from '@material-ui/core/Snackbar';\nimport IconButton from '@material-ui/core/IconButton';\nimport CloseIcon from '@material-ui/icons/Close';\n\ndeclare const PCore: any;\n\nexport default function Assignment(props) {\n const { getPConnect, children, itemKey, isCreateStage } = props;\n const thePConn = getPConnect();\n\n const [bHasNavigation, setHasNavigation] = useState(false);\n const [actionButtons, setActionButtons] = useState( {} );\n const [bIsVertical, setIsVertical] = useState(false);\n const [arCurrentStepIndicies, setArCurrentStepIndicies] = useState<Array<any>>([]);\n const [arNavigationSteps, setArNavigationSteps] = useState<Array<any>>([]);\n\n const actionsAPI = thePConn.getActionsApi();\n\n // store off bound functions to above pointers\n const finishAssignment = actionsAPI.finishAssignment.bind(actionsAPI);\n const navigateToStep = actionsAPI.navigateToStep.bind(actionsAPI);\n const cancelAssignment = actionsAPI.cancelAssignment.bind(actionsAPI);\n const saveAssignment = actionsAPI.saveAssignment?.bind(actionsAPI);\n const cancelCreateStageAssignment = actionsAPI.cancelCreateStageAssignment.bind(actionsAPI);\n // const showPage = actionsAPI.showPage.bind(actionsAPI);\n\n const [showSnackbar, setShowSnackbar] = useState(false);\n const [snackbarMessage, setSnackbarMessage] = useState(\"\");\n\n function findCurrentIndicies(arStepperSteps: Array<any>, arIndicies: Array<number>, depth: number) : Array<number> {\n\n let count = 0;\n arStepperSteps.forEach( (step) => {\n if (step.visited_status === \"current\") {\n arIndicies[depth] = count;\n\n // add in\n step[\"step_status\"] = \"\";\n }\n else if (step.visited_status === \"success\") {\n count += 1;\n step.step_status = \"completed\"\n }\n else {\n count += 1;\n step.step_status = \"\";\n }\n\n if (step.steps) {\n arIndicies = findCurrentIndicies(step.steps, arIndicies, depth + 1)\n }\n });\n\n return arIndicies;\n }\n\n\n useEffect( ()=> {\n\n if (children && children.length > 0) {\n\n // debugger;\n\n const oWorkItem = children[0].props.getPConnect();\n const oWorkData = oWorkItem.getDataObject();\n const oData = thePConn.getDataObject();\n\n if (oWorkData?.caseInfo && oWorkData.caseInfo.assignments !== null) {\n const oCaseInfo = oData.caseInfo;\n\n if (oCaseInfo && oCaseInfo.actionButtons) {\n setActionButtons(oCaseInfo.actionButtons);\n }\n\n if ( oCaseInfo?.navigation /* was oCaseInfo.navigation != null */) {\n setHasNavigation(true);\n\n if (oCaseInfo.navigation.template && oCaseInfo.navigation.template.toLowerCase() === \"standard\") {\n setHasNavigation(false);\n }\n else if (oCaseInfo.navigation.template && oCaseInfo.navigation.template.toLowerCase() === \"vertical\") {\n setIsVertical(true);\n }\n else {\n setIsVertical(false);\n }\n\n setArNavigationSteps(JSON.parse(JSON.stringify(oCaseInfo.navigation.steps)));\n setArCurrentStepIndicies(findCurrentIndicies(arNavigationSteps, arCurrentStepIndicies, 0));\n\n }\n }\n\n }\n\n\n }, [children]);\n\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\n function handleSnackbarClose(event: React.SyntheticEvent | React.MouseEvent, reason?: string) {\n if (reason === 'clickaway') {\n return;\n }\n setShowSnackbar(false);\n };\n\n function onSaveActionSuccess(data) {\n actionsAPI.cancelAssignment(itemKey).then(() => {\n PCore.getPubSubUtils().publish(PCore.getConstants().PUB_SUB_EVENTS.CASE_EVENTS.CREATE_STAGE_SAVED, data);\n });\n }\n\n function buttonPress(sAction: string, sButtonType: string) {\n\n if (sButtonType === \"secondary\") {\n\n switch (sAction) {\n case \"navigateToStep\": {\n const navigatePromise = navigateToStep( \"previous\", itemKey );\n\n navigatePromise\n .then(() => {\n })\n .catch(() => {\n showToast( `Navigation failed!`);\n });\n\n break;\n }\n\n case \"saveAssignment\": {\n const caseID = thePConn.getCaseInfo().getKey();\n const assignmentID = thePConn.getCaseInfo().getAssignmentID();\n const savePromise = saveAssignment(itemKey);\n\n savePromise\n .then(() => {\n const caseType = thePConn.getCaseInfo().c11nEnv.getValue(PCore.getConstants().CASE_INFO.CASE_TYPE_ID);\n onSaveActionSuccess({ caseType, caseID, assignmentID });\n })\n .catch(() => {\n showToast('Save failed');\n });\n\n break;\n }\n\n case \"cancelAssignment\": {\n // check if create stage (modal)\n const { PUB_SUB_EVENTS } = PCore.getConstants();\n const { publish } = PCore.getPubSubUtils();\n if (isCreateStage) {\n const cancelPromise = cancelCreateStageAssignment(itemKey);\n\n cancelPromise\n .then(data => {\n publish(PUB_SUB_EVENTS.EVENT_CANCEL, data);\n })\n .catch(() => {\n showToast(`Cancel failed!`);\n });\n } else {\n const cancelPromise = cancelAssignment(itemKey);\n\n cancelPromise\n .then(data => {\n publish(PUB_SUB_EVENTS.EVENT_CANCEL, data);\n })\n .catch(() => {\n showToast(`Cancel failed!`);\n });\n }\n break;\n }\n\n default:\n break;\n }\n }\n else if (sButtonType === \"primary\") {\n // eslint-disable-next-line sonarjs/no-small-switch\n switch (sAction) {\n case \"finishAssignment\" :\n {\n const finishPromise = finishAssignment(itemKey);\n\n finishPromise\n .then(() => {\n })\n .catch(() => {\n showToast( `Submit failed!`);\n });\n\n break;\n }\n\n default:\n break;\n }\n }\n\n }\n\n\n return (\n <div id=\"Assignment\">\n { bHasNavigation ?\n <React.Fragment>\n <MultiStep getPConnect={getPConnect} itemKey={itemKey} actionButtons={actionButtons} onButtonPress={buttonPress}\n bIsVertical={bIsVertical} arCurrentStepIndicies={arCurrentStepIndicies} arNavigationSteps={arNavigationSteps}>\n {children}\n </MultiStep>\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 </React.Fragment>\n : (\n <React.Fragment>\n <AssignmentCard getPConnect={getPConnect} itemKey={itemKey} actionButtons={actionButtons} onButtonPress={buttonPress} >\n {children}\n </AssignmentCard>\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 </React.Fragment>\n )\n }\n </div>\n )\n}\n\n// From WC SDK\n// const aHtml = html`\n// ${this.bHasNavigation?\n// html`\n// <div class=\"psdk-stepper\">\n// <multi-step-component .pConn=${this.pConn} .arChildren=${this.arChildren} itemKey=${this.itemKey}\n// .arMainButtons=${this.arMainButtons} .arSecondaryButtons=${this.arSecondaryButtons}\n// .bIsVertical=${this.bIsVertical} .arCurrentStepIndicies=${this.arCurrentStepIndicies}\n// .arNavigationSteps=${this.arNavigationSteps}\n// @MultiStepActionButtonClick=\"${this._onActionButtonClick}\">\n// </multi-step-component>\n// <lit-toast></lit-toast>\n// </div>`\n// :\n// html`\n// <div>\n// <assignment-card-component .pConn=${this.pConn} .arChildren=${this.arChildren} itemKey=${this.itemKey}\n// .arMainButtons=${this.arMainButtons} .arSecondaryButtons=${this.arSecondaryButtons}\n// @AssignmentActionButtonClick=\"${this._onActionButtonClick}\">\n// </assignment-card-component>\n// <lit-toast></lit-toast>\n// </div>`}\n// `;\n\n\nAssignment.propTypes = {\n children: PropTypes.node.isRequired,\n getPConnect: PropTypes.func.isRequired,\n itemKey: PropTypes.string,\n isCreateStage: PropTypes.bool\n // actionButtons: PropTypes.object\n // buildName: PropTypes.string\n};\n\nAssignment.defaultProps = {\n itemKey: null,\n isCreateStage: false\n // buildName: null\n};\n"]}
|
|
1
|
+
{"version":3,"file":"Assignment.js","sourceRoot":"","sources":["../../../../src/components/infra/Assignment/Assignment.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from \"react\";\nimport PropTypes from \"prop-types\";\n\nimport AssignmentCard from '../AssignmentCard';\nimport MultiStep from '../MultiStep';\nimport Snackbar from '@material-ui/core/Snackbar';\nimport IconButton from '@material-ui/core/IconButton';\nimport CloseIcon from '@material-ui/icons/Close';\n\ndeclare const PCore: any;\n\nexport default function Assignment(props) {\n const { getPConnect, children, itemKey, isInModal } = props;\n const thePConn = getPConnect();\n\n const [bHasNavigation, setHasNavigation] = useState(false);\n const [actionButtons, setActionButtons] = useState( {} );\n const [bIsVertical, setIsVertical] = useState(false);\n const [arCurrentStepIndicies, setArCurrentStepIndicies] = useState<Array<any>>([]);\n const [arNavigationSteps, setArNavigationSteps] = useState<Array<any>>([]);\n\n const actionsAPI = thePConn.getActionsApi();\n\n // store off bound functions to above pointers\n const finishAssignment = actionsAPI.finishAssignment.bind(actionsAPI);\n const navigateToStep = actionsAPI.navigateToStep.bind(actionsAPI);\n const cancelAssignment = actionsAPI.cancelAssignment.bind(actionsAPI);\n const saveAssignment = actionsAPI.saveAssignment?.bind(actionsAPI);\n const cancelCreateStageAssignment = actionsAPI.cancelCreateStageAssignment.bind(actionsAPI);\n // const showPage = actionsAPI.showPage.bind(actionsAPI);\n\n const [showSnackbar, setShowSnackbar] = useState(false);\n const [snackbarMessage, setSnackbarMessage] = useState(\"\");\n\n function findCurrentIndicies(arStepperSteps: Array<any>, arIndicies: Array<number>, depth: number) : Array<number> {\n\n let count = 0;\n arStepperSteps.forEach( (step) => {\n if (step.visited_status === \"current\") {\n arIndicies[depth] = count;\n\n // add in\n step[\"step_status\"] = \"\";\n }\n else if (step.visited_status === \"success\") {\n count += 1;\n step.step_status = \"completed\"\n }\n else {\n count += 1;\n step.step_status = \"\";\n }\n\n if (step.steps) {\n arIndicies = findCurrentIndicies(step.steps, arIndicies, depth + 1)\n }\n });\n\n return arIndicies;\n }\n\n\n useEffect( ()=> {\n\n if (children && children.length > 0) {\n\n // debugger;\n\n const oWorkItem = children[0].props.getPConnect();\n const oWorkData = oWorkItem.getDataObject();\n const oData = thePConn.getDataObject();\n\n if (oWorkData?.caseInfo && oWorkData.caseInfo.assignments !== null) {\n const oCaseInfo = oData.caseInfo;\n\n if (oCaseInfo && oCaseInfo.actionButtons) {\n setActionButtons(oCaseInfo.actionButtons);\n }\n\n if ( oCaseInfo?.navigation /* was oCaseInfo.navigation != null */) {\n setHasNavigation(true);\n\n if (oCaseInfo.navigation.template && oCaseInfo.navigation.template.toLowerCase() === \"standard\") {\n setHasNavigation(false);\n }\n else if (oCaseInfo.navigation.template && oCaseInfo.navigation.template.toLowerCase() === \"vertical\") {\n setIsVertical(true);\n }\n else {\n setIsVertical(false);\n }\n\n setArNavigationSteps(JSON.parse(JSON.stringify(oCaseInfo.navigation.steps)));\n setArCurrentStepIndicies(findCurrentIndicies(arNavigationSteps, arCurrentStepIndicies, 0));\n\n }\n }\n\n }\n\n\n }, [children]);\n\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\n function handleSnackbarClose(event: React.SyntheticEvent | React.MouseEvent, reason?: string) {\n if (reason === 'clickaway') {\n return;\n }\n setShowSnackbar(false);\n };\n\n function onSaveActionSuccess(data) {\n actionsAPI.cancelAssignment(itemKey).then(() => {\n PCore.getPubSubUtils().publish(PCore.getConstants().PUB_SUB_EVENTS.CASE_EVENTS.CREATE_STAGE_SAVED, data);\n });\n }\n\n function buttonPress(sAction: string, sButtonType: string) {\n\n if (sButtonType === \"secondary\") {\n\n switch (sAction) {\n case \"navigateToStep\": {\n const navigatePromise = navigateToStep( \"previous\", itemKey );\n\n navigatePromise\n .then(() => {\n })\n .catch(() => {\n showToast( `Navigation failed!`);\n });\n\n break;\n }\n\n case \"saveAssignment\": {\n const caseID = thePConn.getCaseInfo().getKey();\n const assignmentID = thePConn.getCaseInfo().getAssignmentID();\n const savePromise = saveAssignment(itemKey);\n\n savePromise\n .then(() => {\n const caseType = thePConn.getCaseInfo().c11nEnv.getValue(PCore.getConstants().CASE_INFO.CASE_TYPE_ID);\n onSaveActionSuccess({ caseType, caseID, assignmentID });\n })\n .catch(() => {\n showToast('Save failed');\n });\n\n break;\n }\n\n case \"cancelAssignment\": {\n // check if create stage (modal)\n const { PUB_SUB_EVENTS } = PCore.getConstants();\n const { publish } = PCore.getPubSubUtils();\n const isAssignmentInCreateStage = thePConn.getCaseInfo().isAssignmentInCreateStage();\n const isLocalAction = thePConn.getCaseInfo().isLocalAction() || getPConnect().getValue(PCore.getConstants().CASE_INFO.IS_LOCAL_ACTION);\n if (isAssignmentInCreateStage && isInModal && !isLocalAction) {\n const cancelPromise = cancelCreateStageAssignment(itemKey);\n\n cancelPromise\n .then(data => {\n publish(PUB_SUB_EVENTS.EVENT_CANCEL, data);\n })\n .catch(() => {\n showToast(`Cancel failed!`);\n });\n } else {\n const cancelPromise = cancelAssignment(itemKey);\n\n cancelPromise\n .then(data => {\n publish(PUB_SUB_EVENTS.EVENT_CANCEL, data);\n })\n .catch(() => {\n showToast(`Cancel failed!`);\n });\n }\n break;\n }\n\n default:\n break;\n }\n }\n else if (sButtonType === \"primary\") {\n // eslint-disable-next-line sonarjs/no-small-switch\n switch (sAction) {\n case \"finishAssignment\" :\n {\n const finishPromise = finishAssignment(itemKey);\n\n finishPromise\n .then(() => {\n })\n .catch(() => {\n showToast( `Submit failed!`);\n });\n\n break;\n }\n\n default:\n break;\n }\n }\n\n }\n\n\n return (\n <div id=\"Assignment\">\n { bHasNavigation ?\n <React.Fragment>\n <MultiStep getPConnect={getPConnect} itemKey={itemKey} actionButtons={actionButtons} onButtonPress={buttonPress}\n bIsVertical={bIsVertical} arCurrentStepIndicies={arCurrentStepIndicies} arNavigationSteps={arNavigationSteps}>\n {children}\n </MultiStep>\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 </React.Fragment>\n : (\n <React.Fragment>\n <AssignmentCard getPConnect={getPConnect} itemKey={itemKey} actionButtons={actionButtons} onButtonPress={buttonPress} >\n {children}\n </AssignmentCard>\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 </React.Fragment>\n )\n }\n </div>\n )\n}\n\n// From WC SDK\n// const aHtml = html`\n// ${this.bHasNavigation?\n// html`\n// <div class=\"psdk-stepper\">\n// <multi-step-component .pConn=${this.pConn} .arChildren=${this.arChildren} itemKey=${this.itemKey}\n// .arMainButtons=${this.arMainButtons} .arSecondaryButtons=${this.arSecondaryButtons}\n// .bIsVertical=${this.bIsVertical} .arCurrentStepIndicies=${this.arCurrentStepIndicies}\n// .arNavigationSteps=${this.arNavigationSteps}\n// @MultiStepActionButtonClick=\"${this._onActionButtonClick}\">\n// </multi-step-component>\n// <lit-toast></lit-toast>\n// </div>`\n// :\n// html`\n// <div>\n// <assignment-card-component .pConn=${this.pConn} .arChildren=${this.arChildren} itemKey=${this.itemKey}\n// .arMainButtons=${this.arMainButtons} .arSecondaryButtons=${this.arSecondaryButtons}\n// @AssignmentActionButtonClick=\"${this._onActionButtonClick}\">\n// </assignment-card-component>\n// <lit-toast></lit-toast>\n// </div>`}\n// `;\n\n\nAssignment.propTypes = {\n children: PropTypes.node.isRequired,\n getPConnect: PropTypes.func.isRequired,\n itemKey: PropTypes.string,\n isInModal: PropTypes.bool\n // actionButtons: PropTypes.object\n // buildName: PropTypes.string\n};\n\nAssignment.defaultProps = {\n itemKey: null,\n isInModal: false\n // buildName: null\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Attachment.d.ts","sourceRoot":"","sources":["../../../../src/components/infra/Attachment/Attachment.tsx"],"names":[],"mappings":";AAKA,OAAO,kBAAkB,CAAC;AAW1B,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,KAAK,KAAA,
|
|
1
|
+
{"version":3,"file":"Attachment.d.ts","sourceRoot":"","sources":["../../../../src/components/infra/Attachment/Attachment.tsx"],"names":[],"mappings":";AAKA,OAAO,kBAAkB,CAAC;AAW1B,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,KAAK,KAAA,eAsavC"}
|
|
@@ -114,12 +114,13 @@ export default function Attachment(props) {
|
|
|
114
114
|
},
|
|
115
115
|
primary: {
|
|
116
116
|
type: att.type,
|
|
117
|
-
name: att.name,
|
|
117
|
+
name: att.error ? att.fileName : att.name,
|
|
118
118
|
icon: "trash",
|
|
119
119
|
click: removeFile,
|
|
120
120
|
},
|
|
121
121
|
secondary: {
|
|
122
|
-
text: att.meta
|
|
122
|
+
text: att.meta,
|
|
123
|
+
error: att.error
|
|
123
124
|
},
|
|
124
125
|
actions
|
|
125
126
|
};
|
|
@@ -137,7 +138,41 @@ export default function Attachment(props) {
|
|
|
137
138
|
const arFiles$ = getFiles(event.target.files);
|
|
138
139
|
const myFiles = Array.from(arFiles$);
|
|
139
140
|
const onUploadProgress = () => { };
|
|
140
|
-
const errorHandler = () => {
|
|
141
|
+
const errorHandler = (isFetchCanceled) => {
|
|
142
|
+
return (error) => {
|
|
143
|
+
if (!isFetchCanceled(error)) {
|
|
144
|
+
let uploadFailMsg = pConn.getLocalizedValue('Something went wrong');
|
|
145
|
+
if (error.response && error.response.data && error.response.data.errorDetails) {
|
|
146
|
+
uploadFailMsg = pConn.getLocalizedValue(error.response.data.errorDetails[0].localizedValue);
|
|
147
|
+
}
|
|
148
|
+
myFiles[0].meta = uploadFailMsg;
|
|
149
|
+
myFiles[0].error = true;
|
|
150
|
+
myFiles[0].fileName = pConn.getLocalizedValue('Unable to upload file');
|
|
151
|
+
arFileList$ = myFiles.map((att) => {
|
|
152
|
+
return getNewListUtilityItemProps({
|
|
153
|
+
att,
|
|
154
|
+
downloadFile: null,
|
|
155
|
+
cancelFile: null,
|
|
156
|
+
deleteFile: null,
|
|
157
|
+
removeFile: null
|
|
158
|
+
});
|
|
159
|
+
});
|
|
160
|
+
setFile((current) => {
|
|
161
|
+
return {
|
|
162
|
+
...current,
|
|
163
|
+
props: {
|
|
164
|
+
...current.props,
|
|
165
|
+
arFileList$
|
|
166
|
+
},
|
|
167
|
+
inProgress: false,
|
|
168
|
+
attachmentUploaded: true,
|
|
169
|
+
showMenuIcon: false
|
|
170
|
+
};
|
|
171
|
+
});
|
|
172
|
+
}
|
|
173
|
+
throw error;
|
|
174
|
+
};
|
|
175
|
+
};
|
|
141
176
|
PCore.getAttachmentUtils()
|
|
142
177
|
.uploadAttachment(myFiles[0], onUploadProgress, errorHandler, pConn.getContextName())
|
|
143
178
|
.then((fileRes) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Attachment.js","sourceRoot":"","sources":["../../../../src/components/infra/Attachment/Attachment.tsx"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable react/jsx-boolean-value */\n\nimport { Button } from '@material-ui/core';\nimport React, { useState, useEffect } from 'react';\nimport { buildFilePropsFromResponse, getIconFromFileType, validateMaxSize, getIconForAttachment } from './AttachmentUtils';\nimport './Attachment.css';\nimport SummaryList from '../../widgets/SummaryList'\nimport { CircularProgress } from \"@material-ui/core\";\nimport download from \"downloadjs\";\n\ndeclare const PCore: any;\n\nfunction getCurrentAttachmentsList(context) {\n return PCore.getStoreValue('.attachmentsList', 'context_data', context) || [];\n}\n\nexport default function Attachment(props) {\n const {value, getPConnect, label} = props;\n /* this is a temporary fix because required is supposed to be passed as a boolean and NOT as a string */\n let { required, disabled } = props;\n [required, disabled] = [required, disabled].map(\n prop => prop === true || (typeof prop === 'string' && prop === 'true')\n );\n let arFileList$: Array<any> = [];\n const pConn = getPConnect();\n\n let fileTemp: any = {};\n\n let categoryName = '';\n if (value && value.pyCategoryName) {\n categoryName = value.pyCategoryName;\n }\n\n let valueRef = pConn.getStateProps().value;\n valueRef = valueRef.indexOf('.') === 0 ? valueRef.substring(1) : valueRef;\n const [file, setFile] = useState(fileTemp);\n\n const fileDownload = (data, fileName, ext) => {\n const fileData = ext ? `${fileName}.${ext}` : fileName;\n download(atob(data), fileData);\n };\n\n function _downloadFileFromList(fileObj: any) {\n PCore.getAttachmentUtils()\n .downloadAttachment(fileObj.pzInsKey, pConn.getContextName())\n .then((content) => {\n const extension = fileObj.pyAttachName.split(\".\").pop();\n fileDownload(content.data, fileObj.pyFileName, extension);\n })\n .catch(() => {});\n }\n\n function setNewFiles(arFiles) {\n let index = 0;\n for (const item of arFiles) {\n if (!validateMaxSize(item, 5)) {\n item.error = true;\n item.meta = \"File is too big. Max allowed size is 5MB.\";\n }\n item.mimeType = item.type;\n item.icon = getIconFromFileType(item.type);\n item.ID = `${new Date().getTime()}I${index}`;\n index+=1;\n }\n return arFiles;\n }\n\n function getFiles(arFiles: Array<any>) {\n return setNewFiles(arFiles);\n }\n\n function getNewListUtilityItemProps({\n att,\n cancelFile,\n downloadFile,\n deleteFile,\n removeFile\n }) {\n let actions;\n if (att.progress && att.progress !== 100) {\n actions = [\n {\n id: `Cancel-${att.ID}`,\n text: \"Cancel\",\n icon: \"times\",\n onClick: cancelFile\n }\n ];\n } else if (att.links) {\n const isFile = att.type === \"FILE\";\n const ID = att.ID.replace(/\\s/gi, \"\");\n const actionsMap = new Map([\n [\n \"download\",\n {\n id: `download-${ID}`,\n text: isFile ? \"Download\" : \"Open\",\n icon: isFile ? \"download\" : \"open\",\n onClick: downloadFile\n }\n ],\n [\n \"delete\",\n {\n id: `Delete-${ID}`,\n text: \"Delete\",\n icon: \"trash\",\n onClick: deleteFile\n }\n ]\n ]);\n actions = [];\n actionsMap.forEach((action, actionKey) => {\n if (att.links[actionKey]) {\n actions.push(action);\n }\n });\n } else if (att.error) {\n actions = [\n {\n id: `Remove-${att.ID}`,\n text: \"Remove\",\n icon: \"trash\",\n onClick: removeFile\n }\n ];\n }\n return {\n id: att.ID,\n visual: {\n icon: getIconForAttachment(att),\n progress: att.progress === 100 ? undefined: att.progress,\n },\n primary: {\n type: att.type,\n name: att.name,\n icon: \"trash\",\n click: removeFile,\n },\n secondary: {\n text: att.meta\n },\n actions\n };\n };\n\n const onFileAdded = (event) => {\n const addedFile = event.target.files[0];\n setFile({\n props: {\n name: addedFile.name,\n icon: getIconFromFileType(addedFile.type),\n },\n inProgress: true\n });\n const arFiles$ = getFiles(event.target.files);\n const myFiles: any = Array.from(arFiles$);\n\n const onUploadProgress = () => {};\n\n const errorHandler = () => {};\n\n PCore.getAttachmentUtils()\n .uploadAttachment(\n myFiles[0],\n onUploadProgress,\n errorHandler,\n pConn.getContextName()\n )\n .then((fileRes) => {\n let reqObj;\n if (PCore.getPCoreVersion()?.includes('8.7')) {\n reqObj = {\n type: \"File\",\n attachmentFieldName: valueRef,\n category: categoryName,\n ID: fileRes.ID\n };\n pConn.attachmentsInfo = reqObj;\n } else {\n reqObj = {\n type: \"File\",\n label: valueRef,\n category: categoryName,\n handle: fileRes.ID,\n ID: fileRes.clientFileID\n };\n const currentAttachmentList = getCurrentAttachmentsList(pConn.getContextName()).filter(\n (f) => f.label !== valueRef\n );\n PCore.getStateUtils().updateState(\n pConn.getContextName(),\n 'attachmentsList',\n [...currentAttachmentList, reqObj],\n {\n pageReference: 'context_data',\n isArrayDeepMerge: false\n }\n );\n }\n const fieldName = pConn.getStateProps().value;\n const context = pConn.getContextName();\n\n PCore.getMessageManager().clearMessages({\n type: PCore.getConstants().MESSAGES.MESSAGES_TYPE_ERROR,\n property: fieldName,\n pageReference: pConn.getPageReference(),\n context\n });\n myFiles[0].meta = \"Uploaded Successfully\";\n\n arFileList$ = myFiles.map((att) => {\n return getNewListUtilityItemProps({\n att,\n downloadFile: null,\n cancelFile: null,\n deleteFile: null,\n removeFile: null\n });\n });\n setFile((current) => {\n return {\n ...current,\n props: {\n ...current.props,\n arFileList$\n },\n inProgress: false,\n attachmentUploaded: true,\n showMenuIcon: false\n };\n });\n })\n\n .catch(() => {\n // just catching the rethrown error at uploadAttachment\n // to handle Unhandled rejections\n });\n };\n\n function _removeFileFromList(item: any, list) {\n const arFileList = file.props ? file.props.arFileList$ : list;\n const fileIndex = arFileList.findIndex(element => element?.id === item?.id);\n if (PCore.getPCoreVersion()?.includes('8.7')) {\n if (value) {\n pConn.attachmentsInfo = {\n type: \"File\",\n attachmentFieldName: valueRef,\n delete: true\n };\n }\n if (fileIndex > -1) { arFileList.splice(parseInt(fileIndex, 10), 1) };\n setFile((current) => {\n return {\n ...current,\n props: {\n ...current.props,\n arFileList\n },\n };\n });\n } else {\n const attachmentsList = [];\n const currentAttachmentList = getCurrentAttachmentsList(pConn.getContextName()).filter(\n (f) => f.label !== valueRef\n );\n if (value && value.pxResults && +value.pyCount > 0) {\n const deletedFile = {\n type: \"File\",\n label: valueRef,\n delete: true,\n responseProps: {\n pzInsKey: arFileList[fileIndex].id\n },\n };\n // updating the redux store to help form-handler in passing the data to delete the file from server\n PCore.getStateUtils().updateState(\n pConn.getContextName(),\n 'attachmentsList',\n [...currentAttachmentList, deletedFile],\n {\n pageReference: 'context_data',\n isArrayDeepMerge: false\n }\n );\n } else {\n PCore.getStateUtils().updateState(\n pConn.getContextName(),\n 'attachmentsList',\n [...currentAttachmentList, ...attachmentsList],\n {\n pageReference: 'context_data',\n isArrayDeepMerge: false\n }\n );\n }\n if (fileIndex > -1) { arFileList.splice(parseInt(fileIndex, 10), 1) };\n setFile((current) => {\n return {\n ...current,\n props: {\n ...current.props,\n arFileList\n },\n };\n });\n }\n }\n\n useEffect(() => {\n if (value && value.pxResults && +value.pyCount > 0) {\n fileTemp = buildFilePropsFromResponse(value.pxResults[0]);\n\n if (fileTemp.responseProps) {\n if (!pConn.attachmentsInfo) {\n pConn.attachmentsInfo = {\n type: \"File\",\n attachmentFieldName: valueRef,\n category: categoryName\n };\n }\n\n if (fileTemp.responseProps.pzInsKey && !fileTemp.responseProps.pzInsKey.includes(\"temp\")) {\n\n fileTemp.props.type = fileTemp.responseProps.pyMimeFileExtension;\n fileTemp.props.mimeType = fileTemp.responseProps.pyMimeFileExtension;\n fileTemp.props.ID = fileTemp.responseProps.pzInsKey;\n // create the actions for the \"more\" menu on the attachment\n const arMenuList: Array<any> = [];\n let oMenu: any = {};\n\n oMenu.icon = \"download\";\n oMenu.text = \"Download\";\n oMenu.onClick = () => { _downloadFileFromList(value.pxResults[0])}\n arMenuList.push(oMenu);\n oMenu = {};\n oMenu.icon = \"trash\";\n oMenu.text = \"Delete\";\n oMenu.onClick = () => { _removeFileFromList(arFileList$[0], arFileList$)}\n arMenuList.push(oMenu);\n\n arFileList$.push(getNewListUtilityItemProps({\n att: fileTemp.props,\n downloadFile: null,\n cancelFile: null,\n deleteFile: null,\n removeFile: null\n }));\n arFileList$[0].actions = arMenuList;\n\n setFile((current) => {\n return {\n ...current,\n props: {\n ...current.props,\n arFileList$\n },\n inProgress: false,\n attachmentUploaded: true,\n showMenuIcon: true\n };\n });\n }\n }\n }\n }, [\"\"]);\n\n let content = (\n <div className='file-div'>\n {file.inProgress && (<div className=\"progress-div\"><CircularProgress /></div>)}\n <div hidden={true} id=\"attachment-ID\">{valueRef}</div>\n <label htmlFor={valueRef}>\n <input\n style={{ display: 'none' }}\n id={valueRef}\n name='upload-photo'\n type='file'\n required={required}\n onChange={onFileAdded}\n />\n <Button variant='outlined' color='primary' component=\"span\">\n Upload file\n </Button>\n </label>\n </div>\n );\n\n if (file && file.attachmentUploaded && file.props.arFileList$ && file.props.arFileList$.length > 0) {\n content = (\n <div>\n {file.showMenuIcon && (<SummaryList arItems$={file.props.arFileList$} menuIconOverrideAction$={_removeFileFromList}></SummaryList>)}\n {!file.showMenuIcon && (<SummaryList menuIconOverride$='trash' arItems$={file.props.arFileList$} menuIconOverrideAction$={_removeFileFromList}></SummaryList>)}\n </div>\n\n );\n }\n\n return (\n <div className='file-upload-container'>\n <span className='label'>{label}</span>\n <section>{content}</section>\n </div>\n );\n}\n"]}
|
|
1
|
+
{"version":3,"file":"Attachment.js","sourceRoot":"","sources":["../../../../src/components/infra/Attachment/Attachment.tsx"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable react/jsx-boolean-value */\n\nimport { Button } from '@material-ui/core';\nimport React, { useState, useEffect } from 'react';\nimport { buildFilePropsFromResponse, getIconFromFileType, validateMaxSize, getIconForAttachment } from './AttachmentUtils';\nimport './Attachment.css';\nimport SummaryList from '../../widgets/SummaryList'\nimport { CircularProgress } from \"@material-ui/core\";\nimport download from \"downloadjs\";\n\ndeclare const PCore: any;\n\nfunction getCurrentAttachmentsList(context) {\n return PCore.getStoreValue('.attachmentsList', 'context_data', context) || [];\n}\n\nexport default function Attachment(props) {\n const {value, getPConnect, label} = props;\n /* this is a temporary fix because required is supposed to be passed as a boolean and NOT as a string */\n let { required, disabled } = props;\n [required, disabled] = [required, disabled].map(\n prop => prop === true || (typeof prop === 'string' && prop === 'true')\n );\n let arFileList$: Array<any> = [];\n const pConn = getPConnect();\n\n let fileTemp: any = {};\n\n let categoryName = '';\n if (value && value.pyCategoryName) {\n categoryName = value.pyCategoryName;\n }\n\n let valueRef = pConn.getStateProps().value;\n valueRef = valueRef.indexOf('.') === 0 ? valueRef.substring(1) : valueRef;\n const [file, setFile] = useState(fileTemp);\n\n const fileDownload = (data, fileName, ext) => {\n const fileData = ext ? `${fileName}.${ext}` : fileName;\n download(atob(data), fileData);\n };\n\n function _downloadFileFromList(fileObj: any) {\n PCore.getAttachmentUtils()\n .downloadAttachment(fileObj.pzInsKey, pConn.getContextName())\n .then((content) => {\n const extension = fileObj.pyAttachName.split(\".\").pop();\n fileDownload(content.data, fileObj.pyFileName, extension);\n })\n .catch(() => {});\n }\n\n function setNewFiles(arFiles) {\n let index = 0;\n for (const item of arFiles) {\n if (!validateMaxSize(item, 5)) {\n item.error = true;\n item.meta = \"File is too big. Max allowed size is 5MB.\";\n }\n item.mimeType = item.type;\n item.icon = getIconFromFileType(item.type);\n item.ID = `${new Date().getTime()}I${index}`;\n index+=1;\n }\n return arFiles;\n }\n\n function getFiles(arFiles: Array<any>) {\n return setNewFiles(arFiles);\n }\n\n function getNewListUtilityItemProps({\n att,\n cancelFile,\n downloadFile,\n deleteFile,\n removeFile\n }) {\n let actions;\n if (att.progress && att.progress !== 100) {\n actions = [\n {\n id: `Cancel-${att.ID}`,\n text: \"Cancel\",\n icon: \"times\",\n onClick: cancelFile\n }\n ];\n } else if (att.links) {\n const isFile = att.type === \"FILE\";\n const ID = att.ID.replace(/\\s/gi, \"\");\n const actionsMap = new Map([\n [\n \"download\",\n {\n id: `download-${ID}`,\n text: isFile ? \"Download\" : \"Open\",\n icon: isFile ? \"download\" : \"open\",\n onClick: downloadFile\n }\n ],\n [\n \"delete\",\n {\n id: `Delete-${ID}`,\n text: \"Delete\",\n icon: \"trash\",\n onClick: deleteFile\n }\n ]\n ]);\n actions = [];\n actionsMap.forEach((action, actionKey) => {\n if (att.links[actionKey]) {\n actions.push(action);\n }\n });\n } else if (att.error) {\n actions = [\n {\n id: `Remove-${att.ID}`,\n text: \"Remove\",\n icon: \"trash\",\n onClick: removeFile\n }\n ];\n }\n return {\n id: att.ID,\n visual: {\n icon: getIconForAttachment(att),\n progress: att.progress === 100 ? undefined: att.progress,\n },\n primary: {\n type: att.type,\n name: att.error ? att.fileName : att.name,\n icon: \"trash\",\n click: removeFile,\n },\n secondary: {\n text: att.meta,\n error: att.error\n },\n actions\n };\n };\n\n const onFileAdded = (event) => {\n const addedFile = event.target.files[0];\n setFile({\n props: {\n name: addedFile.name,\n icon: getIconFromFileType(addedFile.type),\n },\n inProgress: true\n });\n const arFiles$ = getFiles(event.target.files);\n const myFiles: any = Array.from(arFiles$);\n\n const onUploadProgress = () => {};\n\n const errorHandler = (isFetchCanceled) => {\n return (error) => {\n if (!isFetchCanceled(error)) {\n let uploadFailMsg = pConn.getLocalizedValue('Something went wrong');\n if (error.response && error.response.data && error.response.data.errorDetails) {\n uploadFailMsg = pConn.getLocalizedValue(error.response.data.errorDetails[0].localizedValue);\n }\n myFiles[0].meta = uploadFailMsg;\n myFiles[0].error = true;\n myFiles[0].fileName = pConn.getLocalizedValue('Unable to upload file');\n arFileList$ = myFiles.map((att) => {\n return getNewListUtilityItemProps({\n att,\n downloadFile: null,\n cancelFile: null,\n deleteFile: null,\n removeFile: null\n });\n });\n setFile((current) => {\n return {\n ...current,\n props: {\n ...current.props,\n arFileList$\n },\n inProgress: false,\n attachmentUploaded: true,\n showMenuIcon: false\n };\n });\n }\n throw error;\n };\n };\n\n PCore.getAttachmentUtils()\n .uploadAttachment(\n myFiles[0],\n onUploadProgress,\n errorHandler,\n pConn.getContextName()\n )\n .then((fileRes) => {\n let reqObj;\n if (PCore.getPCoreVersion()?.includes('8.7')) {\n reqObj = {\n type: \"File\",\n attachmentFieldName: valueRef,\n category: categoryName,\n ID: fileRes.ID\n };\n pConn.attachmentsInfo = reqObj;\n } else {\n reqObj = {\n type: \"File\",\n label: valueRef,\n category: categoryName,\n handle: fileRes.ID,\n ID: fileRes.clientFileID\n };\n const currentAttachmentList = getCurrentAttachmentsList(pConn.getContextName()).filter(\n (f) => f.label !== valueRef\n );\n PCore.getStateUtils().updateState(\n pConn.getContextName(),\n 'attachmentsList',\n [...currentAttachmentList, reqObj],\n {\n pageReference: 'context_data',\n isArrayDeepMerge: false\n }\n );\n }\n const fieldName = pConn.getStateProps().value;\n const context = pConn.getContextName();\n\n PCore.getMessageManager().clearMessages({\n type: PCore.getConstants().MESSAGES.MESSAGES_TYPE_ERROR,\n property: fieldName,\n pageReference: pConn.getPageReference(),\n context\n });\n myFiles[0].meta = \"Uploaded Successfully\";\n\n arFileList$ = myFiles.map((att) => {\n return getNewListUtilityItemProps({\n att,\n downloadFile: null,\n cancelFile: null,\n deleteFile: null,\n removeFile: null\n });\n });\n setFile((current) => {\n return {\n ...current,\n props: {\n ...current.props,\n arFileList$\n },\n inProgress: false,\n attachmentUploaded: true,\n showMenuIcon: false\n };\n });\n })\n\n .catch(() => {\n // just catching the rethrown error at uploadAttachment\n // to handle Unhandled rejections\n });\n };\n\n function _removeFileFromList(item: any, list) {\n const arFileList = file.props ? file.props.arFileList$ : list;\n const fileIndex = arFileList.findIndex(element => element?.id === item?.id);\n if (PCore.getPCoreVersion()?.includes('8.7')) {\n if (value) {\n pConn.attachmentsInfo = {\n type: \"File\",\n attachmentFieldName: valueRef,\n delete: true\n };\n }\n if (fileIndex > -1) { arFileList.splice(parseInt(fileIndex, 10), 1) };\n setFile((current) => {\n return {\n ...current,\n props: {\n ...current.props,\n arFileList\n },\n };\n });\n } else {\n const attachmentsList = [];\n const currentAttachmentList = getCurrentAttachmentsList(pConn.getContextName()).filter(\n (f) => f.label !== valueRef\n );\n if (value && value.pxResults && +value.pyCount > 0) {\n const deletedFile = {\n type: \"File\",\n label: valueRef,\n delete: true,\n responseProps: {\n pzInsKey: arFileList[fileIndex].id\n },\n };\n // updating the redux store to help form-handler in passing the data to delete the file from server\n PCore.getStateUtils().updateState(\n pConn.getContextName(),\n 'attachmentsList',\n [...currentAttachmentList, deletedFile],\n {\n pageReference: 'context_data',\n isArrayDeepMerge: false\n }\n );\n } else {\n PCore.getStateUtils().updateState(\n pConn.getContextName(),\n 'attachmentsList',\n [...currentAttachmentList, ...attachmentsList],\n {\n pageReference: 'context_data',\n isArrayDeepMerge: false\n }\n );\n }\n if (fileIndex > -1) { arFileList.splice(parseInt(fileIndex, 10), 1) };\n setFile((current) => {\n return {\n ...current,\n props: {\n ...current.props,\n arFileList\n },\n };\n });\n }\n }\n\n useEffect(() => {\n if (value && value.pxResults && +value.pyCount > 0) {\n fileTemp = buildFilePropsFromResponse(value.pxResults[0]);\n\n if (fileTemp.responseProps) {\n if (!pConn.attachmentsInfo) {\n pConn.attachmentsInfo = {\n type: \"File\",\n attachmentFieldName: valueRef,\n category: categoryName\n };\n }\n\n if (fileTemp.responseProps.pzInsKey && !fileTemp.responseProps.pzInsKey.includes(\"temp\")) {\n\n fileTemp.props.type = fileTemp.responseProps.pyMimeFileExtension;\n fileTemp.props.mimeType = fileTemp.responseProps.pyMimeFileExtension;\n fileTemp.props.ID = fileTemp.responseProps.pzInsKey;\n // create the actions for the \"more\" menu on the attachment\n const arMenuList: Array<any> = [];\n let oMenu: any = {};\n\n oMenu.icon = \"download\";\n oMenu.text = \"Download\";\n oMenu.onClick = () => { _downloadFileFromList(value.pxResults[0])}\n arMenuList.push(oMenu);\n oMenu = {};\n oMenu.icon = \"trash\";\n oMenu.text = \"Delete\";\n oMenu.onClick = () => { _removeFileFromList(arFileList$[0], arFileList$)}\n arMenuList.push(oMenu);\n\n arFileList$.push(getNewListUtilityItemProps({\n att: fileTemp.props,\n downloadFile: null,\n cancelFile: null,\n deleteFile: null,\n removeFile: null\n }));\n arFileList$[0].actions = arMenuList;\n\n setFile((current) => {\n return {\n ...current,\n props: {\n ...current.props,\n arFileList$\n },\n inProgress: false,\n attachmentUploaded: true,\n showMenuIcon: true\n };\n });\n }\n }\n }\n }, [\"\"]);\n\n let content = (\n <div className='file-div'>\n {file.inProgress && (<div className=\"progress-div\"><CircularProgress /></div>)}\n <div hidden={true} id=\"attachment-ID\">{valueRef}</div>\n <label htmlFor={valueRef}>\n <input\n style={{ display: 'none' }}\n id={valueRef}\n name='upload-photo'\n type='file'\n required={required}\n onChange={onFileAdded}\n />\n <Button variant='outlined' color='primary' component=\"span\">\n Upload file\n </Button>\n </label>\n </div>\n );\n\n if (file && file.attachmentUploaded && file.props.arFileList$ && file.props.arFileList$.length > 0) {\n content = (\n <div>\n {file.showMenuIcon && (<SummaryList arItems$={file.props.arFileList$} menuIconOverrideAction$={_removeFileFromList}></SummaryList>)}\n {!file.showMenuIcon && (<SummaryList menuIconOverride$='trash' arItems$={file.props.arFileList$} menuIconOverrideAction$={_removeFileFromList}></SummaryList>)}\n </div>\n\n );\n }\n\n return (\n <div className='file-upload-container'>\n <span className='label'>{label}</span>\n <section>{content}</section>\n </div>\n );\n}\n"]}
|