@pega/react-sdk-components 0.242.3 → 0.242.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (97) hide show
  1. package/lib/components/designSystemExtension/DetailsFields/DetailsFields.js +1 -1
  2. package/lib/components/designSystemExtension/DetailsFields/DetailsFields.js.map +1 -1
  3. package/lib/components/field/AutoComplete/AutoComplete.js +1 -1
  4. package/lib/components/field/AutoComplete/AutoComplete.js.map +1 -1
  5. package/lib/components/field/Checkbox/Checkbox.js +1 -1
  6. package/lib/components/field/Checkbox/Checkbox.js.map +1 -1
  7. package/lib/components/field/Currency/Currency.js +1 -1
  8. package/lib/components/field/Currency/Currency.js.map +1 -1
  9. package/lib/components/field/Date/Date.js +1 -1
  10. package/lib/components/field/Date/Date.js.map +1 -1
  11. package/lib/components/field/DateTime/DateTime.d.ts.map +1 -1
  12. package/lib/components/field/DateTime/DateTime.js +7 -2
  13. package/lib/components/field/DateTime/DateTime.js.map +1 -1
  14. package/lib/components/field/Decimal/Decimal.js +1 -1
  15. package/lib/components/field/Decimal/Decimal.js.map +1 -1
  16. package/lib/components/field/Dropdown/Dropdown.js +1 -1
  17. package/lib/components/field/Dropdown/Dropdown.js.map +1 -1
  18. package/lib/components/field/Email/Email.d.ts.map +1 -1
  19. package/lib/components/field/Email/Email.js +19 -3
  20. package/lib/components/field/Email/Email.js.map +1 -1
  21. package/lib/components/field/Group/Group.js +1 -1
  22. package/lib/components/field/Group/Group.js.map +1 -1
  23. package/lib/components/field/Integer/Integer.d.ts.map +1 -1
  24. package/lib/components/field/Integer/Integer.js +16 -5
  25. package/lib/components/field/Integer/Integer.js.map +1 -1
  26. package/lib/components/field/Percentage/Percentage.js +1 -1
  27. package/lib/components/field/Percentage/Percentage.js.map +1 -1
  28. package/lib/components/field/Phone/Phone.d.ts.map +1 -1
  29. package/lib/components/field/Phone/Phone.js +2 -2
  30. package/lib/components/field/Phone/Phone.js.map +1 -1
  31. package/lib/components/field/RadioButtons/RadioButtons.js +1 -1
  32. package/lib/components/field/RadioButtons/RadioButtons.js.map +1 -1
  33. package/lib/components/field/RichText/RichText.js +1 -1
  34. package/lib/components/field/RichText/RichText.js.map +1 -1
  35. package/lib/components/field/ScalarList/ScalarList.js +2 -2
  36. package/lib/components/field/ScalarList/ScalarList.js.map +1 -1
  37. package/lib/components/field/SemanticLink/SemanticLink.js +1 -1
  38. package/lib/components/field/SemanticLink/SemanticLink.js.map +1 -1
  39. package/lib/components/field/TextArea/TextArea.d.ts.map +1 -1
  40. package/lib/components/field/TextArea/TextArea.js +19 -3
  41. package/lib/components/field/TextArea/TextArea.js.map +1 -1
  42. package/lib/components/field/TextInput/TextInput.js +1 -1
  43. package/lib/components/field/TextInput/TextInput.js.map +1 -1
  44. package/lib/components/field/Time/Time.d.ts.map +1 -1
  45. package/lib/components/field/Time/Time.js +9 -5
  46. package/lib/components/field/Time/Time.js.map +1 -1
  47. package/lib/components/field/URL/URL.d.ts.map +1 -1
  48. package/lib/components/field/URL/URL.js +18 -3
  49. package/lib/components/field/URL/URL.js.map +1 -1
  50. package/lib/components/field/UserReference/UserReference.js +1 -1
  51. package/lib/components/field/UserReference/UserReference.js.map +1 -1
  52. package/lib/components/helpers/field-group-utils.js +2 -2
  53. package/lib/components/helpers/field-group-utils.js.map +1 -1
  54. package/lib/components/infra/Assignment/Assignment.js +1 -1
  55. package/lib/components/infra/Assignment/Assignment.js.map +1 -1
  56. package/lib/components/infra/DeferLoad/DeferLoad.js +1 -1
  57. package/lib/components/infra/DeferLoad/DeferLoad.js.map +1 -1
  58. package/lib/components/infra/MultiStep/MultiStep.d.ts +1 -1
  59. package/lib/components/infra/MultiStep/MultiStep.d.ts.map +1 -1
  60. package/lib/components/infra/MultiStep/MultiStep.js +11 -6
  61. package/lib/components/infra/MultiStep/MultiStep.js.map +1 -1
  62. package/lib/components/infra/NavBar/NavBar.d.ts.map +1 -1
  63. package/lib/components/infra/NavBar/NavBar.js +8 -1
  64. package/lib/components/infra/NavBar/NavBar.js.map +1 -1
  65. package/lib/components/infra/View/View.d.ts +1 -0
  66. package/lib/components/infra/View/View.d.ts.map +1 -1
  67. package/lib/components/infra/View/View.js +32 -2
  68. package/lib/components/infra/View/View.js.map +1 -1
  69. package/lib/components/template/AppShell/AppShell.d.ts +2 -0
  70. package/lib/components/template/AppShell/AppShell.d.ts.map +1 -1
  71. package/lib/components/template/AppShell/AppShell.js +9 -4
  72. package/lib/components/template/AppShell/AppShell.js.map +1 -1
  73. package/lib/components/template/DataReference/DataReference.js +1 -1
  74. package/lib/components/template/DataReference/DataReference.js.map +1 -1
  75. package/lib/components/template/Details/Details/Details.js +1 -1
  76. package/lib/components/template/Details/Details/Details.js.map +1 -1
  77. package/lib/components/template/Details/DetailsSubTabs/DetailsSubTabs.js +2 -2
  78. package/lib/components/template/Details/DetailsSubTabs/DetailsSubTabs.js.map +1 -1
  79. package/lib/components/template/Details/DetailsThreeColumn/DetailsThreeColumn.js +1 -1
  80. package/lib/components/template/Details/DetailsThreeColumn/DetailsThreeColumn.js.map +1 -1
  81. package/lib/components/template/Details/DetailsTwoColumn/DetailsTwoColumn.js +1 -1
  82. package/lib/components/template/Details/DetailsTwoColumn/DetailsTwoColumn.js.map +1 -1
  83. package/lib/components/template/Details/DynamicTabs/DynamicTabs.js +1 -1
  84. package/lib/components/template/Details/DynamicTabs/DynamicTabs.js.map +1 -1
  85. package/lib/components/template/FieldGroupTemplate/FieldGroupTemplate.d.ts.map +1 -1
  86. package/lib/components/template/FieldGroupTemplate/FieldGroupTemplate.js +9 -3
  87. package/lib/components/template/FieldGroupTemplate/FieldGroupTemplate.js.map +1 -1
  88. package/lib/components/template/ListView/utils.js +1 -1
  89. package/lib/components/template/ListView/utils.js.map +1 -1
  90. package/lib/components/template/NarrowWide/NarrowWideDetails/NarrowWideDetails.js +1 -1
  91. package/lib/components/template/NarrowWide/NarrowWideDetails/NarrowWideDetails.js.map +1 -1
  92. package/lib/components/template/WideNarrow/WideNarrowDetails/WideNarrowDetails.js +1 -1
  93. package/lib/components/template/WideNarrow/WideNarrowDetails/WideNarrowDetails.js.map +1 -1
  94. package/lib/components/widget/Attachment/Attachment.d.ts.map +1 -1
  95. package/lib/components/widget/Attachment/Attachment.js +2 -0
  96. package/lib/components/widget/Attachment/Attachment.js.map +1 -1
  97. package/package.json +1 -1
@@ -11,7 +11,7 @@ export default function DetailsTwoColumn(props) {
11
11
  const propsToUse = { label, showLabel, ...getPConnect().getInheritedProps() };
12
12
  // Set display mode prop and re-create the children so this part of the dom tree renders
13
13
  // in a readonly (display) mode instead of a editable
14
- getPConnect().setInheritedProp('displayMode', 'LABELS_LEFT');
14
+ getPConnect().setInheritedProp('displayMode', 'DISPLAY_ONLY');
15
15
  getPConnect().setInheritedProp('readOnly', true);
16
16
  const children = getPConnect().getChildren().map((configObject, index) => createElement(createPConnectComponent(), {
17
17
  ...configObject,
@@ -1 +1 @@
1
- {"version":3,"file":"DetailsTwoColumn.js","sourceRoot":"","sources":["../../../../../src/components/template/Details/DetailsTwoColumn/DetailsTwoColumn.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,IAAI,MAAM,oBAAoB,CAAC;AAEtC,OAAO,uBAAuB,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AAUnF,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,KAA4B;IACnE,8EAA8E;IAC9E,MAAM,UAAU,GAAG,mBAAmB,CAAC,YAAY,CAAC,CAAC;IAErD,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,IAAI,EAAE,WAAW,EAAE,mBAAmB,GAAG,KAAK,EAAE,GAAG,KAAK,CAAC;IAEpF,sEAAsE;IACtE,MAAM,UAAU,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,WAAW,EAAE,CAAC,iBAAiB,EAAE,EAAE,CAAC;IAE9E,wFAAwF;IACxF,qDAAqD;IACrD,WAAW,EAAE,CAAC,gBAAgB,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;IAC7D,WAAW,EAAE,CAAC,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IACjD,MAAM,QAAQ,GAAI,WAAW,EAAE,CAAC,WAAW,EAAY,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,KAAK,EAAE,EAAE,CAClF,aAAa,CAAC,uBAAuB,EAAE,EAAE;QACvC,GAAG,YAAY;QACf,oDAAoD;QACpD,GAAG,EAAE,KAAK,CAAC,QAAQ,EAAE;KACtB,CAAC,CACH,CAAC;IAEF,4GAA4G;IAC5G,IAAI,kBAAkB,GAAG,EAAE,CAAC;IAC5B,IAAI,mBAAmB,EAAE;QACvB,MAAM,EAAE,eAAe,GAAG,EAAE,EAAE,GAAI,WAAW,EAAE,CAAC,cAAc,EAAU,CAAC,MAAM,CAAC;QAChF,kBAAkB,GAAG,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YAC/C,KAAK,CAAC,MAAM,CAAC,WAAW,GAAG,mBAAmB,CAAC;YAE/C,iDAAiD;YACjD,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,KAAK,kBAAkB,EAAE;gBAC7C,KAAK,CAAC,IAAI,GAAG,WAAW,CAAC;gBACzB,KAAK,CAAC,MAAM,CAAC,eAAe,GAAG,IAAI,CAAC;aACrC;YAED,OAAO,WAAW,EAAE,CAAC,eAAe,CAAC,KAAK,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,6FAA6F;QACvJ,CAAC,CAAC,CAAC;KACJ;IAED,OAAO,CACL,MAAC,UAAU,IAAC,IAAI,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,aAC3D,mBAAmB,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,IAAI,CACvD,KAAC,IAAI,IAAC,SAAS,QAAC,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,YACtD,kBAAkB,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,CACpC,KAAC,IAAI,IAAC,IAAI,QAAC,EAAE,EAAE,CAAC,YACb,KAAK,IADe,MAAM,CAAC,GAAG,CAAC,EAAE,CAE7B,CACR,CAAC,GACG,CACR,EACD,KAAC,IAAI,IAAC,SAAS,QAAC,OAAO,EAAE,CAAC,YACvB,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,CAC1B,KAAC,IAAI,IAAC,IAAI,QAAC,EAAE,EAAE,CAAC,YACb,KAAK,IADe,KAAK,CAAC,GAAG,CAAC,EAAE,CAE5B,CACR,CAAC,GACG,IACI,CACd,CAAC;AACJ,CAAC","sourcesContent":["import { createElement } from 'react';\nimport Grid from '@mui/material/Grid';\n\nimport createPConnectComponent from '../../../../bridge/react_pconnect';\nimport { getComponentFromMap } from '../../../../bridge/helpers/sdk_component_map';\nimport { PConnProps } from '../../../../types/PConnProps';\n\ninterface DetailsTwoColumnProps extends PConnProps {\n // If any, enter additional props that only exist on this component\n showLabel: boolean;\n label: string;\n showHighlightedData: boolean;\n}\n\nexport default function DetailsTwoColumn(props: DetailsTwoColumnProps) {\n // Get emitted components from map (so we can get any override that may exist)\n const FieldGroup = getComponentFromMap('FieldGroup');\n\n const { label, showLabel = true, getPConnect, showHighlightedData = false } = props;\n\n // Get the inherited props from the parent to determine label settings\n const propsToUse = { label, showLabel, ...getPConnect().getInheritedProps() };\n\n // Set display mode prop and re-create the children so this part of the dom tree renders\n // in a readonly (display) mode instead of a editable\n getPConnect().setInheritedProp('displayMode', 'LABELS_LEFT');\n getPConnect().setInheritedProp('readOnly', true);\n const children = (getPConnect().getChildren() as any[]).map((configObject, index) =>\n createElement(createPConnectComponent(), {\n ...configObject,\n // eslint-disable-next-line react/no-array-index-key\n key: index.toString()\n })\n );\n\n // Set up highlighted data to pass in return if is set to show, need raw metadata to pass to createComponent\n let highlightedDataArr = [];\n if (showHighlightedData) {\n const { highlightedData = [] } = (getPConnect().getRawMetadata() as any).config;\n highlightedDataArr = highlightedData.map(field => {\n field.config.displayMode = 'STACKED_LARGE_VAL';\n\n // Mark as status display when using pyStatusWork\n if (field.config.value === '@P .pyStatusWork') {\n field.type = 'TextInput';\n field.config.displayAsStatus = true;\n }\n\n return getPConnect().createComponent(field, '', 0, {}); // 2nd, 3rd, and 4th args empty string/object/null until typedef marked correctly as optional\n });\n }\n\n return (\n <FieldGroup name={propsToUse.showLabel ? propsToUse.label : ''}>\n {showHighlightedData && highlightedDataArr.length > 0 && (\n <Grid container spacing={1} style={{ padding: '0 0 1em' }}>\n {highlightedDataArr.map((child, i) => (\n <Grid item xs={6} key={`hf-${i + 1}`}>\n {child}\n </Grid>\n ))}\n </Grid>\n )}\n <Grid container spacing={1}>\n {children.map((child, i) => (\n <Grid item xs={6} key={`r-${i + 1}`}>\n {child}\n </Grid>\n ))}\n </Grid>\n </FieldGroup>\n );\n}\n"]}
1
+ {"version":3,"file":"DetailsTwoColumn.js","sourceRoot":"","sources":["../../../../../src/components/template/Details/DetailsTwoColumn/DetailsTwoColumn.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,IAAI,MAAM,oBAAoB,CAAC;AAEtC,OAAO,uBAAuB,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AAUnF,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,KAA4B;IACnE,8EAA8E;IAC9E,MAAM,UAAU,GAAG,mBAAmB,CAAC,YAAY,CAAC,CAAC;IAErD,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,IAAI,EAAE,WAAW,EAAE,mBAAmB,GAAG,KAAK,EAAE,GAAG,KAAK,CAAC;IAEpF,sEAAsE;IACtE,MAAM,UAAU,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,WAAW,EAAE,CAAC,iBAAiB,EAAE,EAAE,CAAC;IAE9E,wFAAwF;IACxF,qDAAqD;IACrD,WAAW,EAAE,CAAC,gBAAgB,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;IAC9D,WAAW,EAAE,CAAC,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IACjD,MAAM,QAAQ,GAAI,WAAW,EAAE,CAAC,WAAW,EAAY,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,KAAK,EAAE,EAAE,CAClF,aAAa,CAAC,uBAAuB,EAAE,EAAE;QACvC,GAAG,YAAY;QACf,oDAAoD;QACpD,GAAG,EAAE,KAAK,CAAC,QAAQ,EAAE;KACtB,CAAC,CACH,CAAC;IAEF,4GAA4G;IAC5G,IAAI,kBAAkB,GAAG,EAAE,CAAC;IAC5B,IAAI,mBAAmB,EAAE;QACvB,MAAM,EAAE,eAAe,GAAG,EAAE,EAAE,GAAI,WAAW,EAAE,CAAC,cAAc,EAAU,CAAC,MAAM,CAAC;QAChF,kBAAkB,GAAG,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YAC/C,KAAK,CAAC,MAAM,CAAC,WAAW,GAAG,mBAAmB,CAAC;YAE/C,iDAAiD;YACjD,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,KAAK,kBAAkB,EAAE;gBAC7C,KAAK,CAAC,IAAI,GAAG,WAAW,CAAC;gBACzB,KAAK,CAAC,MAAM,CAAC,eAAe,GAAG,IAAI,CAAC;aACrC;YAED,OAAO,WAAW,EAAE,CAAC,eAAe,CAAC,KAAK,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,6FAA6F;QACvJ,CAAC,CAAC,CAAC;KACJ;IAED,OAAO,CACL,MAAC,UAAU,IAAC,IAAI,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,aAC3D,mBAAmB,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,IAAI,CACvD,KAAC,IAAI,IAAC,SAAS,QAAC,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,YACtD,kBAAkB,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,CACpC,KAAC,IAAI,IAAC,IAAI,QAAC,EAAE,EAAE,CAAC,YACb,KAAK,IADe,MAAM,CAAC,GAAG,CAAC,EAAE,CAE7B,CACR,CAAC,GACG,CACR,EACD,KAAC,IAAI,IAAC,SAAS,QAAC,OAAO,EAAE,CAAC,YACvB,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,CAC1B,KAAC,IAAI,IAAC,IAAI,QAAC,EAAE,EAAE,CAAC,YACb,KAAK,IADe,KAAK,CAAC,GAAG,CAAC,EAAE,CAE5B,CACR,CAAC,GACG,IACI,CACd,CAAC;AACJ,CAAC","sourcesContent":["import { createElement } from 'react';\nimport Grid from '@mui/material/Grid';\n\nimport createPConnectComponent from '../../../../bridge/react_pconnect';\nimport { getComponentFromMap } from '../../../../bridge/helpers/sdk_component_map';\nimport { PConnProps } from '../../../../types/PConnProps';\n\ninterface DetailsTwoColumnProps extends PConnProps {\n // If any, enter additional props that only exist on this component\n showLabel: boolean;\n label: string;\n showHighlightedData: boolean;\n}\n\nexport default function DetailsTwoColumn(props: DetailsTwoColumnProps) {\n // Get emitted components from map (so we can get any override that may exist)\n const FieldGroup = getComponentFromMap('FieldGroup');\n\n const { label, showLabel = true, getPConnect, showHighlightedData = false } = props;\n\n // Get the inherited props from the parent to determine label settings\n const propsToUse = { label, showLabel, ...getPConnect().getInheritedProps() };\n\n // Set display mode prop and re-create the children so this part of the dom tree renders\n // in a readonly (display) mode instead of a editable\n getPConnect().setInheritedProp('displayMode', 'DISPLAY_ONLY');\n getPConnect().setInheritedProp('readOnly', true);\n const children = (getPConnect().getChildren() as any[]).map((configObject, index) =>\n createElement(createPConnectComponent(), {\n ...configObject,\n // eslint-disable-next-line react/no-array-index-key\n key: index.toString()\n })\n );\n\n // Set up highlighted data to pass in return if is set to show, need raw metadata to pass to createComponent\n let highlightedDataArr = [];\n if (showHighlightedData) {\n const { highlightedData = [] } = (getPConnect().getRawMetadata() as any).config;\n highlightedDataArr = highlightedData.map(field => {\n field.config.displayMode = 'STACKED_LARGE_VAL';\n\n // Mark as status display when using pyStatusWork\n if (field.config.value === '@P .pyStatusWork') {\n field.type = 'TextInput';\n field.config.displayAsStatus = true;\n }\n\n return getPConnect().createComponent(field, '', 0, {}); // 2nd, 3rd, and 4th args empty string/object/null until typedef marked correctly as optional\n });\n }\n\n return (\n <FieldGroup name={propsToUse.showLabel ? propsToUse.label : ''}>\n {showHighlightedData && highlightedDataArr.length > 0 && (\n <Grid container spacing={1} style={{ padding: '0 0 1em' }}>\n {highlightedDataArr.map((child, i) => (\n <Grid item xs={6} key={`hf-${i + 1}`}>\n {child}\n </Grid>\n ))}\n </Grid>\n )}\n <Grid container spacing={1}>\n {children.map((child, i) => (\n <Grid item xs={6} key={`r-${i + 1}`}>\n {child}\n </Grid>\n ))}\n </Grid>\n </FieldGroup>\n );\n}\n"]}
@@ -21,7 +21,7 @@ function DynamicTabs(props) {
21
21
  const tablabelProp = PCore.getAnnotationUtils().getPropertyName(tablabel);
22
22
  const referenceListData = pConnect.getValue(`${referenceList}.pxResults`, ''); // 2nd arg empty string until typedefs properly allow optional
23
23
  const memoisedTabViews = useMemo(() => {
24
- pConnect.setInheritedProp('displayMode', 'LABELS_LEFT');
24
+ pConnect.setInheritedProp('displayMode', 'DISPLAY_ONLY');
25
25
  pConnect.setInheritedProp('readOnly', true);
26
26
  return (referenceListData &&
27
27
  Children.toArray(referenceListData.map((item, index) => {
@@ -1 +1 @@
1
- {"version":3,"file":"DynamicTabs.js","sourceRoot":"","sources":["../../../../../src/components/template/Details/DynamicTabs/DynamicTabs.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { Children, useMemo, useState } from 'react';\nimport { Tab, Tabs } from '@mui/material';\nimport { TabContext, TabPanel } from '@mui/lab';\nimport makeStyles from '@mui/styles/makeStyles';\n\nimport { buildView } from '../../../helpers/field-group-utils';\nimport { PConnProps } from '../../../../types/PConnProps';\n\nconst useStyles = makeStyles(() => ({\n tab: {\n minWidth: '72px'\n }\n}));\n\ninterface DynamicTabsProps extends PConnProps {\n // If any, enter additional props that only exist on this component\n showLabel: boolean;\n label: string;\n referenceList?: any[];\n}\n\nfunction DynamicTabs(props: DynamicTabsProps) {\n const classes = useStyles();\n const { referenceList, showLabel, label, getPConnect } = props;\n const pConnect = getPConnect();\n // Get the inherited props from the parent to determine label settings\n const propsToUse = { label, showLabel, ...pConnect.getInheritedProps() };\n const defaultTabIndex = 0;\n // @ts-ignore - Property 'getComponentConfig' is private and only accessible within class 'C11nEnv'.\n const { tablabel } = pConnect.getComponentConfig();\n const tablabelProp = PCore.getAnnotationUtils().getPropertyName(tablabel);\n const referenceListData: any = pConnect.getValue(`${referenceList}.pxResults`, ''); // 2nd arg empty string until typedefs properly allow optional\n const memoisedTabViews = useMemo(() => {\n pConnect.setInheritedProp('displayMode', 'LABELS_LEFT');\n pConnect.setInheritedProp('readOnly', true);\n\n return (\n referenceListData &&\n Children.toArray(\n referenceListData.map((item, index) => {\n return <React.Fragment key={item[tablabelProp]}>{buildView(pConnect, index, '')}</React.Fragment>;\n })\n )\n );\n }, [referenceListData]);\n const [panelShown, changePanel] = useState(defaultTabIndex);\n const handleTabClick = (e, id) => {\n changePanel(parseInt(id, 10));\n };\n // Loop over the tab contents and and pull out the labels for the navigation\n const tabItems =\n referenceListData?.map((item, i) => {\n const currentTabLabel = item[tablabelProp] || PCore.getLocaleUtils().getLocaleValue('No label specified in config', 'Generic');\n return {\n name: currentTabLabel,\n id: i\n };\n }) || [];\n\n return (\n <>\n {propsToUse.label && <h3 id='dynamic-tabs-title'>{propsToUse.label}</h3>}\n <TabContext value={panelShown.toString()}>\n <Tabs onChange={handleTabClick} value={panelShown} variant='scrollable' scrollButtons='auto' indicatorColor='primary' id='dynamic-tabs'>\n {tabItems.map((tab: any) => (\n <Tab key={tab.id} label={tab.name} value={tab.id} className={classes.tab} />\n ))}\n </Tabs>\n\n {tabItems.map((tab: any) => (\n <TabPanel key={tab.id} value={tab.id.toString()} tabIndex={+tab.id} id='dynamic-tabpanel'>\n <div>{memoisedTabViews[parseInt(tab.id, 10)] || 'No content exists'}</div>\n </TabPanel>\n ))}\n </TabContext>\n </>\n );\n}\n\nexport default DynamicTabs;\n"]}
1
+ {"version":3,"file":"DynamicTabs.js","sourceRoot":"","sources":["../../../../../src/components/template/Details/DynamicTabs/DynamicTabs.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { Children, useMemo, useState } from 'react';\nimport { Tab, Tabs } from '@mui/material';\nimport { TabContext, TabPanel } from '@mui/lab';\nimport makeStyles from '@mui/styles/makeStyles';\n\nimport { buildView } from '../../../helpers/field-group-utils';\nimport { PConnProps } from '../../../../types/PConnProps';\n\nconst useStyles = makeStyles(() => ({\n tab: {\n minWidth: '72px'\n }\n}));\n\ninterface DynamicTabsProps extends PConnProps {\n // If any, enter additional props that only exist on this component\n showLabel: boolean;\n label: string;\n referenceList?: any[];\n}\n\nfunction DynamicTabs(props: DynamicTabsProps) {\n const classes = useStyles();\n const { referenceList, showLabel, label, getPConnect } = props;\n const pConnect = getPConnect();\n // Get the inherited props from the parent to determine label settings\n const propsToUse = { label, showLabel, ...pConnect.getInheritedProps() };\n const defaultTabIndex = 0;\n // @ts-ignore - Property 'getComponentConfig' is private and only accessible within class 'C11nEnv'.\n const { tablabel } = pConnect.getComponentConfig();\n const tablabelProp = PCore.getAnnotationUtils().getPropertyName(tablabel);\n const referenceListData: any = pConnect.getValue(`${referenceList}.pxResults`, ''); // 2nd arg empty string until typedefs properly allow optional\n const memoisedTabViews = useMemo(() => {\n pConnect.setInheritedProp('displayMode', 'DISPLAY_ONLY');\n pConnect.setInheritedProp('readOnly', true);\n\n return (\n referenceListData &&\n Children.toArray(\n referenceListData.map((item, index) => {\n return <React.Fragment key={item[tablabelProp]}>{buildView(pConnect, index, '')}</React.Fragment>;\n })\n )\n );\n }, [referenceListData]);\n const [panelShown, changePanel] = useState(defaultTabIndex);\n const handleTabClick = (e, id) => {\n changePanel(parseInt(id, 10));\n };\n // Loop over the tab contents and and pull out the labels for the navigation\n const tabItems =\n referenceListData?.map((item, i) => {\n const currentTabLabel = item[tablabelProp] || PCore.getLocaleUtils().getLocaleValue('No label specified in config', 'Generic');\n return {\n name: currentTabLabel,\n id: i\n };\n }) || [];\n\n return (\n <>\n {propsToUse.label && <h3 id='dynamic-tabs-title'>{propsToUse.label}</h3>}\n <TabContext value={panelShown.toString()}>\n <Tabs onChange={handleTabClick} value={panelShown} variant='scrollable' scrollButtons='auto' indicatorColor='primary' id='dynamic-tabs'>\n {tabItems.map((tab: any) => (\n <Tab key={tab.id} label={tab.name} value={tab.id} className={classes.tab} />\n ))}\n </Tabs>\n\n {tabItems.map((tab: any) => (\n <TabPanel key={tab.id} value={tab.id.toString()} tabIndex={+tab.id} id='dynamic-tabpanel'>\n <div>{memoisedTabViews[parseInt(tab.id, 10)] || 'No content exists'}</div>\n </TabPanel>\n ))}\n </TabContext>\n </>\n );\n}\n\nexport default DynamicTabs;\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,2CAqFxE"}
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) {
@@ -12,8 +12,14 @@ export default function FieldGroupTemplate(props) {
12
12
  const resolvedList = getReferenceList(pConn);
13
13
  pConn.setReferenceList(resolvedList);
14
14
  const pageReference = `${pConn.getPageReference()}${resolvedList}`;
15
- const isReadonlyMode = renderMode === 'ReadOnly' || displayMode === 'LABELS_LEFT';
15
+ const isReadonlyMode = renderMode === 'ReadOnly' || displayMode === 'DISPLAY_ONLY';
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)];
@@ -54,7 +60,7 @@ export default function FieldGroupTemplate(props) {
54
60
  }, [referenceList?.length]);
55
61
  return (_jsx(FieldGroupList, { items: MemoisedChildren, onAdd: allowAddEdit !== false ? addFieldGroupItem : undefined, onDelete: allowAddEdit !== false ? deleteFieldGroupItem : undefined }));
56
62
  }
57
- pConn.setInheritedProp('displayMode', 'LABELS_LEFT');
63
+ pConn.setInheritedProp('displayMode', 'DISPLAY_ONLY');
58
64
  const memoisedReadOnlyList = useMemo(() => {
59
65
  return referenceList.map((item, index) => {
60
66
  const key = item[heading] || `field-group-row-${index}`;
@@ -1 +1 @@
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 { 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 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
+ {"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 === 'DISPLAY_ONLY';\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', 'DISPLAY_ONLY');\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"]}
@@ -617,7 +617,7 @@ export const readContextResponse = async (context, params) => {
617
617
  const dataPageKeys = PCore.getDataTypeUtils().getDataPageKeys(dataViewName);
618
618
  dataPageKeys?.forEach(item => (item.isAlternateKeyStorage ? compositeKeys.push(item.linkedField) : compositeKeys.push(item.keyName)));
619
619
  if (compositeKeys.length) {
620
- otherContext.setCompositeKeys(compositeKeys);
620
+ otherContext?.setCompositeKeys(compositeKeys);
621
621
  }
622
622
  if (otherContext) {
623
623
  otherContext.fetchRowActionDetails = null;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/components/template/ListView/utils.ts"],"names":[],"mappings":"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","sourcesContent":["import getDefaultViewMeta from './DefaultViewMeta';\n\nconst USER_REFERENCE = 'UserReference';\nconst PAGE = '!P!';\nconst PAGELIST = '!PL!';\n\nexport const formatConstants = {\n WorkStatus: 'WorkStatus',\n Integer: 'Integer',\n WorkLink: 'WorkLink'\n};\n\nclass DataApi {\n mappedPropertyToOriginalProperty: any;\n originalPropertyToMappedProperty: any;\n constructor() {\n this.originalPropertyToMappedProperty = {};\n this.mappedPropertyToOriginalProperty = {};\n this.setPropertyMaps = this.setPropertyMaps.bind(this);\n this.getMappedProperty = this.getMappedProperty.bind(this);\n this.getOriginalProperty = this.getOriginalProperty.bind(this);\n }\n\n setPropertyMaps(originalToMappedPropertyObj = {}, mappedToOriginalPropertyObj = {}) {\n this.originalPropertyToMappedProperty = {\n ...this.originalPropertyToMappedProperty,\n ...originalToMappedPropertyObj\n };\n this.mappedPropertyToOriginalProperty = {\n ...this.mappedPropertyToOriginalProperty,\n ...mappedToOriginalPropertyObj\n };\n }\n\n getMappedProperty(propertyName) {\n return this.originalPropertyToMappedProperty[propertyName] ?? propertyName;\n }\n\n getOriginalProperty(propertyName) {\n return this.mappedPropertyToOriginalProperty[propertyName] ?? propertyName;\n }\n}\n\nexport async function getContext(componentConfig) {\n const {\n promisesArray = [] // array of promises which can be invoked paralelly,\n } = componentConfig;\n const promisesResponseArray = await Promise.all(promisesArray);\n const dataApi = new DataApi();\n return {\n promisesResponseArray,\n setPropertyMaps: dataApi.setPropertyMaps,\n getMappedProperty: dataApi.getMappedProperty,\n getOriginalProperty: dataApi.getOriginalProperty\n };\n}\n\n/**\n * [getFieldNameFromEmbeddedFieldName]\n * Description - converting embeddedField name starting with !P! or !PL! to normal field\n * @ignore\n * @param {string} propertyName EmbeddedField name starting with !P! or !PL!\n * @returns {string} returns converted string without !P! or !PL! and :\n *\n * @example <caption>Example for getFieldNameFromEmbeddedFieldName </caption>\n * getFieldNameFromEmbeddedFieldName('!P!Organisation:Name') return 'Organisation.Name'\n * getFieldNameFromEmbeddedFieldName('!PL!Employees:Name') return 'Employees.Name'\n */\nexport function getFieldNameFromEmbeddedFieldName(propertyName) {\n let value = propertyName;\n if (value.startsWith(PAGE) || value.startsWith(PAGELIST)) {\n value = value.substring(value.lastIndexOf('!') + 1);\n value = value.replace(/:/g, '.');\n }\n return value;\n}\n\n/**\n * [updateMetaEmbeddedFieldID]\n * Description - If the fieldID in meta starts with '!P!' or '!PL!' and contains ':' then replace them with .(dot)\n * @ignore\n * @param {Array} metaFields Fields metadata Array. Contains metadata of all the fields.\n */\nexport function updateMetaEmbeddedFieldID(metaFields) {\n return metaFields.forEach(metaField => {\n if (metaField.fieldID?.startsWith(PAGE) || metaField.fieldID?.startsWith(PAGELIST)) {\n metaField.fieldID = getFieldNameFromEmbeddedFieldName(metaField.fieldID);\n }\n });\n}\n\nexport const isEmbeddedField = field => {\n if (field?.startsWith('@')) {\n field = field.substring(field.indexOf(' ') + 1);\n if (field[0] === '.') field = field.substring(1);\n }\n return field?.indexOf('.') > 0;\n};\n\n/**\n * [isPageListProperty]\n * Description - checking if propertyName is pageList or not\n * @ignore\n * @param {string} propertyName PropertyName\n * @returns {boolean} true if property is pageList else false\n *\n * @example <caption>Example for isPageListProperty </caption>\n * isPageListProperty('!PL!Employees.Name') return true\n * isPageListProperty('!P!Employees.Name') return false\n * isPageListProperty('Name') return false\n */\nexport function isPageListProperty(propertyName) {\n return propertyName.startsWith(PAGELIST);\n}\n\nexport const isPageListInPath = (propertyName, currentClassID) => {\n if (!propertyName.includes('.')) {\n return false;\n }\n const [first, ...rest] = propertyName.split('.');\n const metadata: any = PCore.getMetadataUtils().getPropertyMetadata(first, currentClassID);\n if (metadata?.type === 'Page List') {\n return true;\n }\n return isPageListInPath(rest.join('.'), metadata?.pageClass);\n};\n\n/**\n * [getEmbeddedFieldName]\n * Description - converting normal field name to embedded field starting with !P! or !PL!\n * @ignore\n * @param {string} propertyName Field name\n * @param {string} classID classID of datapage\n * @returns {string} returns converted string with !P! or !PL! and :\n *\n * @example <caption>Example for getEmbeddedFieldName </caption>\n * For page property, getEmbeddedFieldName('Organisation.Name') return '!P!Organisation:Name'\n * For pageList property, getEmbeddedFieldName('Employees.Name') return '!PL!Employees:Name'\n */\n\nexport function getEmbeddedFieldName(propertyName, classID) {\n let value = propertyName;\n if (isPageListInPath(value, classID)) {\n value = `!PL!${value.replace(/\\./g, ':')}`;\n } else {\n value = `!P!${value.replace(/\\./g, ':')}`;\n }\n return value;\n}\n\n/**\n * [preparePropertyMaps]\n * Description - preparing maps for property names and set it in dataApi context\n * @ignore\n * @param {Array} fields fields array\n * @param {string} classID classID of datapage\n * @param {string} context dataApi context\n * @returns {boolean} true if pageListProperty is present\n */\nexport function preparePropertyMaps(fields, classID, context) {\n const { setPropertyMaps } = context;\n const maps = fields.reduce(\n (acc, field) => {\n let { value } = field.config;\n if (value.startsWith('@')) {\n value = value.substring(value.indexOf(' ') + 1);\n if (value[0] === '.') value = value.substring(1);\n }\n let name = value;\n // Preparing name for embedded property\n if (isEmbeddedField(name)) {\n name = getEmbeddedFieldName(name, classID);\n }\n if (isPageListProperty(name) && !acc[2]) {\n acc[2] = true;\n }\n acc[0][value] = name;\n acc[1][name] = value;\n\n return acc;\n },\n [{}, {}, false]\n );\n setPropertyMaps(maps[0], maps[1]);\n return maps[2];\n}\n\n/**\n * [getConfigEmbeddedFieldsMeta]\n * Description - Get the metadata for configured embedded fields\n * @ignore\n * @param {Set} configFields Set of config fields\n * @param {string} classID clasID of datapage\n * @returns {Array} Metadata of configured embedded fields\n */\nexport function getConfigEmbeddedFieldsMeta(configFields, classID) {\n const configEmbeddedFieldsMeta: any[] = [];\n configFields.forEach(field => {\n let value = field;\n if (isEmbeddedField(value)) {\n // conversion Page.PageList[].property => Page.PageList.property\n if (value.includes('[')) {\n value = value.substring(0, value.indexOf('[')) + value.substring(value.indexOf(']') + 1);\n }\n // @ts-ignore - Expected 3 arguments, but got 2.\n const meta: any = PCore.getMetadataUtils().getEmbeddedPropertyMetadata(value, classID);\n meta.fieldID = field;\n configEmbeddedFieldsMeta.push(meta);\n }\n });\n return configEmbeddedFieldsMeta;\n}\n\n/**\n * [mergeConfigEmbeddedFieldsMeta]\n * Description - Get the metadata for configured embedded fields\n * @ignore\n * @param {Array} configEmbeddedFieldsMeta config fields metadata.\n * @param {Array} metaFields Fields metadata Array. Contains metadata of all the fields\n */\nexport function mergeConfigEmbeddedFieldsMeta(configEmbeddedFieldsMeta, metaFields) {\n const mergedMetaFields = [...metaFields];\n configEmbeddedFieldsMeta.forEach(configFieldMeta => {\n const fieldMeta = metaFields.find(metaField => metaField.fieldID === configFieldMeta.fieldID);\n if (!fieldMeta) mergedMetaFields.push(configFieldMeta);\n });\n return mergedMetaFields;\n}\n\nconst oldToNewFieldTypeMapping = {\n 'Date Time': 'Date & time',\n Date: 'Date only'\n};\n\n/**\n * [updateFieldType]\n * Description - Updates the field type if its changed in the new implementation. Such mapping is maintained in oldToNewFieldTypeMapping.\n * @ignore\n * @param {Array} metaFields Fields metadata Array. Contains metadata of all the fields.\n */\nfunction updateFieldType(metaFields) {\n metaFields.forEach(metaField => {\n if (metaField.type) metaField.type = oldToNewFieldTypeMapping[metaField.type] || metaField.type;\n });\n}\n\nfunction getPresetMetaAttribute(attribute) {\n const {\n type,\n config: { label, value }\n } = attribute;\n return {\n type,\n name: value.startsWith('@') ? value.substring(4) : value,\n label: label.startsWith('@') ? label.substring(3) : label\n };\n}\n\n/**\n * [generateViewMetaData]\n * Description - Returns a list of metaobjects of the fields provided.\n * @ignore\n * @param {Array} rawFields List of fields to update meta for\n * @param {string} classID Class ID from the response\n * @returns {Array} List of fields with updated meta objects.\n */\nfunction generateViewMetaData(rawFields, classID, showField) {\n return rawFields.map(item => getDefaultViewMeta(item, classID, showField));\n}\n\n/**\n * [getConfigFields]\n * Description - Returns list of config fields with primary fields meta updated.\n * @ignore\n * @param {Array} configFields List of Authored fields\n * @param {Array} primaryFields List of Primary Fields\n * @param {Array} metaFields Metadata of all fields\n * @param {string} classID Class ID from the response\n * @returns {Array} List of all fields with their meta updated.\n */\nfunction getConfigFields(configFields, primaryFields, metaFields, classID) {\n const presetConfigFields = configFields;\n const primaryFieldsViewIndex = presetConfigFields.findIndex(field => field.config.value === 'pyPrimaryFields');\n if (!primaryFields || !primaryFields.length) {\n if (primaryFieldsViewIndex < 0) return presetConfigFields;\n\n presetConfigFields.splice(primaryFieldsViewIndex, 1);\n\n return presetConfigFields;\n }\n\n if (primaryFieldsViewIndex > -1) {\n // list of uncommon fields - non overlap of primary fields grouped view and independent entity columns of primary type\n const uncommonFieldsList = primaryFields.filter(\n primaryField => !presetConfigFields.some(presetConfigField => presetConfigField.config.value.split('.')[1] === primaryField)\n );\n const uncommonFieldsRawMeta: any[] = [];\n uncommonFieldsList.forEach(uncommonField => {\n const uncommonFieldMeta = metaFields.find(metaField => metaField.fieldID === uncommonField);\n if (uncommonFieldMeta) uncommonFieldsRawMeta.push(uncommonFieldMeta);\n });\n const uncommonFieldsConfigMeta = generateViewMetaData(uncommonFieldsRawMeta, classID, true);\n\n presetConfigFields.splice(primaryFieldsViewIndex, 1, ...uncommonFieldsConfigMeta);\n }\n return presetConfigFields;\n}\n\n/**\n * [getTableConfigFromPresetMeta]\n * Description - Get the table config from the presets meta.\n * @ignore\n * @param {object} presetMeta Presets meta\n * @param {boolean} isMetaWithPresets true if meta has presets else false\n * @param {Function} getPConnect Callback to get the PConnect object\n * @param {string} classID Class ID from the response\n * @param {Array} primaryFields List of Primary Fields\n * @param {Array} metaFields List of all metafields\n * @returns {object} Table config object\n */\nexport function getTableConfigFromPresetMeta(presetMeta, isMetaWithPresets, getPConnect, classID, primaryFields, metaFields) {\n let presetId;\n let presetName;\n let cardHeader;\n let secondaryText;\n let timelineDate;\n let timelineTitle;\n let timelineStatus;\n let timelineIcon;\n let { filterExpression } = getPConnect().getRawMetadata().config;\n let fieldsMeta;\n let configFields;\n if (isMetaWithPresets) {\n presetId = presetMeta.id;\n presetName = presetMeta.label;\n cardHeader = presetMeta.cardHeader && getPresetMetaAttribute(presetMeta.cardHeader);\n secondaryText = presetMeta.secondaryText && getPresetMetaAttribute(presetMeta.secondaryText);\n timelineDate = presetMeta.timelineDate && getPresetMetaAttribute(presetMeta.timelineDate);\n timelineTitle = presetMeta.timelineTitle && getPresetMetaAttribute(presetMeta.timelineTitle);\n timelineStatus = presetMeta.timelineStatus && getPresetMetaAttribute(presetMeta.timelineStatus);\n timelineIcon = presetMeta.timelineIcon && getPresetMetaAttribute(presetMeta.timelineIcon);\n filterExpression = presetMeta.config.filterExpression;\n [fieldsMeta] = presetMeta.children;\n if (\n presetMeta.timelineTitle &&\n !fieldsMeta.children.find(fieldMeta => {\n return fieldMeta?.config?.value === presetMeta.timelineTitle?.config?.value;\n })\n ) {\n const { type, config } = presetMeta.timelineTitle;\n fieldsMeta.children.push({ type, config: { ...config, show: false } });\n }\n if (\n presetMeta.timelineDate &&\n !fieldsMeta.children.find(fieldMeta => {\n return fieldMeta?.config?.value === presetMeta.timelineDate?.config?.value;\n })\n ) {\n const { type, config } = presetMeta.timelineDate;\n fieldsMeta.children.push({ type, config: { ...config, show: false } });\n }\n configFields = getConfigFields(fieldsMeta.children, primaryFields, metaFields, classID);\n } else {\n fieldsMeta = presetMeta.props;\n configFields = getConfigFields(\n fieldsMeta\n .getPConnect()\n .getChildren()\n ?.map(child => {\n return child.getPConnect().getRawMetadata();\n }),\n primaryFields,\n metaFields,\n classID\n );\n }\n return {\n presetId,\n presetName,\n cardHeader,\n secondaryText,\n timelineDate,\n timelineTitle,\n timelineStatus,\n timelineIcon,\n filterExpression,\n fieldsMeta,\n configFields\n };\n}\n\n/**\n * [getReportColumns]\n * Description - Returns a set of columns from the report response.\n * @ignore\n * @param {object} response -\n * @returns {Set} Set of columns from the report response\n */\nfunction getReportColumns(response) {\n const {\n data: { data: reportColumns }\n } = response;\n const reportColumnsSet = new Set();\n reportColumns?.forEach(item => {\n let val = item.pyFieldName;\n // Remove '.' from index 0 only, if '.' is present\n if (val[0] === '.') {\n val = val.substring(1);\n }\n reportColumnsSet.add(val);\n });\n return reportColumnsSet;\n}\n\n/**\n * [getConfigFieldValue]\n * Descritpion - Returns a valid value for a configuration field. Remove any annotations and also \".\"\n * @ignore\n * @param {object} config\n * config.value - Raw value\n * @returns {string} value - Value with out any annotations or \".\"\n */\nfunction getConfigFieldValue(config) {\n let { value } = config;\n if (value.startsWith('@')) {\n value = value.substring(value.indexOf(' ') + 1);\n if (value[0] === '.') value = value.substring(1);\n }\n return value;\n}\n\n/**\n * [prepareConfigFields]\n * Description - Prepares a set of configuration fields and pushes each config type to a set using the callback parameter.\n * @ignore\n * @param {object} configFields List of Authored fields\n * @param {Function} pushToComponentsList Callback to push the field type to a set.\n * @returns {Set} configFieldSet\n */\nfunction prepareConfigFields(configFields, pushToComponentsList) {\n const configFieldSet = new Set();\n configFields.forEach(item => {\n pushToComponentsList(item.type);\n const val = getConfigFieldValue(item.config);\n configFieldSet.add(val);\n });\n return configFieldSet;\n}\n\n/**\n * [findAuthoredField]\n * Description - Finds an authored field from yhe list of config fields.\n * @ignore\n * @param {Array} configFields List of Authored fields\n * @param {string} fieldID Filter\n * @returns {object} config with its field value equal to fieldID, which means an authored field\n */\nfunction findAuthoredField(configFields, fieldID) {\n return configFields.find(configField => {\n const val = getConfigFieldValue(configField.config);\n return val === fieldID;\n });\n}\n\n/**\n * [findAndUpdateAuthoredFieldConfig]\n * Description - Find the authored field, and update its config.\n * @ignore\n * @param {Array} configFields List of Authored fields\n * @param {object} item Field item to copy displayAs and category information\n * @param {string} classId classID from the response\n */\nfunction findAndUpdateAuthoredFieldConfig(configFields, item, classId) {\n const authoredField = findAuthoredField(configFields, item.fieldID);\n if (authoredField?.config) {\n if (item.displayAs) {\n authoredField.config.displayAs = item.displayAs;\n }\n authoredField.config.classID = item.classID ?? classId;\n\n if (authoredField.type === USER_REFERENCE) {\n authoredField.config.associationID = item.associationID || item.fieldID;\n }\n authoredField.config.category = item.category;\n // FieldType identifies whether the field is configured as pickList\n authoredField.config.fieldType = item.fieldType;\n // type defined on the property rule,\n // used for the picklist field to assign the appropriate type\n authoredField.config.propertyType = item.dataType || item.type;\n }\n}\n\n/**\n * [isAnExtraField]\n * Description - Returns true if the field is an extra field. Extra field is the one which is not authored but part of the report.\n * @ignore\n * @param {Array} configFields List of Authored fields\n * @param {Set} configFieldSet Set if Authored filed values\n * @param {Set} reportColumnsSet Set of columns from the report\n * @param {object} item Config field item\n * @param {string} classId Class ID from the response\n * @param {boolean} showDynamicFields Flag indicating whether fields are fetched dynamically at runtime\n * @returns {boolean} true If the field is an extra field else false.\n */\nfunction isAnExtraField(configFields, configFieldSet, reportColumnsSet, item, classId, showDynamicFields) {\n // Is the field already present in authoring metadata?\n // Mutates config fields to copy displayAs and category information\n if (configFieldSet.has(item.fieldID)) {\n findAndUpdateAuthoredFieldConfig(configFields, item, classId);\n return false;\n }\n\n // If field is not authored and not part of report columns then discard it\n return showDynamicFields || !!reportColumnsSet.has(item.fieldID);\n}\n\n/**\n * [prepareExtraFields]\n * Description - Returns a list of extra fields with their meta updated.\n * @ignore\n * @param {Array} metaFields List of fields\n * @param {Array} configFields List of Authored fields\n * @param {Set} configFieldSet Set if Authored filed values\n * @param {Set} reportColumnsSet Set of columns from the report\n * @param {string} classID Class ID from the response\n * @param {boolean} showDynamicFields Flag indicating whether fields are fetched dynamically at runtime\n * @returns {Array} List of extra fields with their meta updated.\n */\nfunction prepareExtraFields(metaFields, configFields, configFieldSet, reportColumnsSet, classID, showDynamicFields) {\n // Filter all the extra fields\n const extraFileds = metaFields.filter(item => {\n return isAnExtraField(configFields, configFieldSet, reportColumnsSet, item, classID, showDynamicFields);\n });\n return generateViewMetaData(extraFileds, classID, false);\n // Update the meta object of each of the extra fields.\n}\n\nconst AssignDashObjects = ['Assign-Worklist', 'Assign-WorkBasket'];\n\nfunction populateRenderingOptions(name, config, field) {\n const shouldDisplayAsSemanticLink = 'displayAsLink' in field.config && field.config.displayAsLink;\n if (shouldDisplayAsSemanticLink) {\n config.customObject.isAssignmentLink = AssignDashObjects.includes(field.config.classID);\n if (field.config.value.startsWith('@CA')) {\n config.customObject.isAssociation = true;\n }\n config.cellRenderer = formatConstants.WorkLink;\n } else if (name === 'pyStatusWork' || name === 'pyAssignmentStatus') {\n config.cellRenderer = formatConstants.WorkStatus;\n } else if (name === 'pxUrgencyWork') {\n config.cellRenderer = formatConstants.Integer;\n }\n}\nexport function initializeColumns(fields: any[] = [], getMappedProperty: any = null) {\n return fields.map((field, originalColIndex) => {\n let name = field.config.value;\n\n if (name.startsWith('@')) {\n name = name.substring(name.indexOf(' ') + 1);\n if (name[0] === '.') name = name.substring(1);\n }\n name = getMappedProperty?.(name) ?? name;\n\n let label = field.config.label || field.config.caption;\n const { show = true, displayAs } = field.config;\n if (label.startsWith('@')) {\n label = label.substring(3);\n }\n\n const config = {\n name,\n label,\n show,\n classID: field.config.classID,\n id: field.id || name || originalColIndex,\n displayAs,\n associationID: field.config.associationID,\n ...(field.config.classID && { category: field.config.category }),\n customObject: {},\n fieldType: field.config.fieldType,\n meta: {\n ...field\n }\n };\n\n populateRenderingOptions(name, config, field);\n\n return config;\n });\n}\n\nexport const getItemKey = fields => {\n let itemKey;\n if (fields.findIndex(field => field.id === 'pyGUID') > -1) {\n itemKey = 'pyGUID';\n } else {\n itemKey = 'pzInsKey';\n }\n return itemKey;\n};\n\nexport function preparePatchQueryFields(fields, isDataObject = false, classID = '') {\n const queryFields: any[] = [];\n fields.forEach(field => {\n const patchFields: any[] = [];\n if (field.cellRenderer === 'WorkLink') {\n if (field.customObject && field.customObject.isAssignmentLink) {\n const associationName = field.name.includes(':') ? `${field.name.split(':')[0]}:` : '';\n patchFields.push(`${associationName}pzInsKey`);\n patchFields.push(`${associationName}pxRefObjectClass`);\n } else if (field.customObject && field.customObject.isAssociation) {\n const associationCategory = field.name.split(':')[0];\n patchFields.push(`${associationCategory}:pyID`);\n patchFields.push(`${associationCategory}:pzInsKey`);\n patchFields.push(`${associationCategory}:pxObjClass`);\n } else if (isDataObject) {\n const dataViewName = PCore.getDataTypeUtils().getSavableDataPage(classID);\n const dataPageKeys = PCore.getDataTypeUtils().getDataPageKeys(dataViewName);\n dataPageKeys?.forEach(item => (item.isAlternateKeyStorage ? patchFields.push(item.linkedField) : patchFields.push(item.keyName)));\n } else {\n patchFields.push('pyID');\n patchFields.push('pzInsKey');\n patchFields.push('pxObjClass');\n }\n }\n patchFields.forEach(k => {\n if (!queryFields.find(q => q === k)) {\n queryFields.push(k);\n }\n });\n });\n\n return queryFields;\n}\n\n/**\n * Update the renderer type for the properties of type Page.\n */\nexport function updatePageFieldsConfig(configFields, parentClassID) {\n return configFields.forEach(item => {\n const {\n type,\n config: { value }\n } = item;\n const propertyName = PCore.getAnnotationUtils().getPropertyName(value);\n if (isEmbeddedField(value) && !isPageListInPath(propertyName, parentClassID)) {\n item.config.componentType = type;\n item.type = 'PagePropertyRenderer';\n }\n });\n}\n\nexport const readContextResponse = async (context, params) => {\n const { getPConnect, apiContext, setListContext, children, showDynamicFields, referenceList, isDataObject } = params;\n const { promisesResponseArray, apiContext: otherContext } = context;\n // eslint-disable-next-line sonarjs/no-unused-collection\n const listOfComponents: any[] = [];\n const {\n data: { fields: metaFields, classID, isQueryable }\n } = promisesResponseArray[0];\n let {\n data: { primaryFields }\n } = promisesResponseArray[0];\n // When list is configured with Include all class fields configuration, provide support for Primary fields column\n if (showDynamicFields) {\n const sourceMetadata: any = PCore.getMetadataUtils().getDataPageMetadata(referenceList);\n if (sourceMetadata?.primaryFields) {\n primaryFields = sourceMetadata.primaryFields;\n }\n // updating metaData fieldID to normal property if it has fieldID starts with !P! or !PL!\n updateMetaEmbeddedFieldID(metaFields);\n }\n updateFieldType(metaFields);\n\n if (isDataObject) {\n const compositeKeys: any[] = [];\n const dataViewName = PCore.getDataTypeUtils().getSavableDataPage(classID);\n const dataPageKeys = PCore.getDataTypeUtils().getDataPageKeys(dataViewName);\n dataPageKeys?.forEach(item => (item.isAlternateKeyStorage ? compositeKeys.push(item.linkedField) : compositeKeys.push(item.keyName)));\n if (compositeKeys.length) {\n otherContext.setCompositeKeys(compositeKeys);\n }\n if (otherContext) {\n otherContext.fetchRowActionDetails = null;\n }\n }\n\n const presetArray = [];\n const rawMetadata = getPConnect().getRawMetadata().config;\n const rawPresets = rawMetadata.presets;\n const isMetaWithPresets = rawPresets && rawPresets.length !== 0;\n const childrenIterator = isMetaWithPresets ? rawPresets : children;\n const resolvedPresets = getPConnect().getConfigProps().presets;\n let fields;\n let tableConfig;\n childrenIterator?.forEach((presetMeta, index) => {\n const { configFields } = getTableConfigFromPresetMeta(\n { ...presetMeta, label: resolvedPresets[index].label },\n isMetaWithPresets,\n getPConnect,\n classID,\n primaryFields,\n metaFields\n );\n const pushToComponentsList = fieldType => {\n listOfComponents.push(fieldType);\n };\n // read report columns response - in case of nonqueryable ignore the response and rely only on the fields configured at authoing time in presets\n const reportColumnsSet = isQueryable ? getReportColumns(promisesResponseArray[1]) : new Set();\n\n const configFieldSet = prepareConfigFields(configFields, pushToComponentsList);\n\n // FIXME #EmbeddedPropertyPatch\n // TODO: Remove this merge logic when the metadata response includes all optimized embedded page and pagelists\n // merging configured embedded properties with metadata so that while preparing extra fields, config fields can get other properties from meta(eg: category, displayAsLink)\n // get configured embedded properties metadata and get new mergedMetaFields\n const configEmbeddedFieldsMeta = getConfigEmbeddedFieldsMeta(configFieldSet, classID);\n const mergedMetaFields = mergeConfigEmbeddedFieldsMeta(configEmbeddedFieldsMeta, metaFields);\n\n const extraFields = prepareExtraFields(\n mergedMetaFields, // passing new merged meta fields which has meta of configured embedded fields of current preset\n configFields,\n configFieldSet,\n reportColumnsSet,\n classID,\n showDynamicFields\n );\n\n if (isQueryable) {\n updatePageFieldsConfig(configFields, classID);\n preparePropertyMaps([...configFields, ...extraFields], classID, context);\n }\n\n const { getMappedProperty } = context;\n\n fields = initializeColumns([...configFields, ...extraFields], getMappedProperty);\n const patchQueryFields = preparePatchQueryFields(fields, isDataObject, classID);\n const itemKey = getItemKey(fields);\n tableConfig = { fieldDefs: fields, patchQueryFields, itemKey, isQueryable };\n });\n const meta = tableConfig;\n setListContext({\n meta,\n presets: presetArray,\n apiContext: {\n ...apiContext\n }\n });\n};\n"]}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/components/template/ListView/utils.ts"],"names":[],"mappings":"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","sourcesContent":["import getDefaultViewMeta from './DefaultViewMeta';\n\nconst USER_REFERENCE = 'UserReference';\nconst PAGE = '!P!';\nconst PAGELIST = '!PL!';\n\nexport const formatConstants = {\n WorkStatus: 'WorkStatus',\n Integer: 'Integer',\n WorkLink: 'WorkLink'\n};\n\nclass DataApi {\n mappedPropertyToOriginalProperty: any;\n originalPropertyToMappedProperty: any;\n constructor() {\n this.originalPropertyToMappedProperty = {};\n this.mappedPropertyToOriginalProperty = {};\n this.setPropertyMaps = this.setPropertyMaps.bind(this);\n this.getMappedProperty = this.getMappedProperty.bind(this);\n this.getOriginalProperty = this.getOriginalProperty.bind(this);\n }\n\n setPropertyMaps(originalToMappedPropertyObj = {}, mappedToOriginalPropertyObj = {}) {\n this.originalPropertyToMappedProperty = {\n ...this.originalPropertyToMappedProperty,\n ...originalToMappedPropertyObj\n };\n this.mappedPropertyToOriginalProperty = {\n ...this.mappedPropertyToOriginalProperty,\n ...mappedToOriginalPropertyObj\n };\n }\n\n getMappedProperty(propertyName) {\n return this.originalPropertyToMappedProperty[propertyName] ?? propertyName;\n }\n\n getOriginalProperty(propertyName) {\n return this.mappedPropertyToOriginalProperty[propertyName] ?? propertyName;\n }\n}\n\nexport async function getContext(componentConfig) {\n const {\n promisesArray = [] // array of promises which can be invoked paralelly,\n } = componentConfig;\n const promisesResponseArray = await Promise.all(promisesArray);\n const dataApi = new DataApi();\n return {\n promisesResponseArray,\n setPropertyMaps: dataApi.setPropertyMaps,\n getMappedProperty: dataApi.getMappedProperty,\n getOriginalProperty: dataApi.getOriginalProperty\n };\n}\n\n/**\n * [getFieldNameFromEmbeddedFieldName]\n * Description - converting embeddedField name starting with !P! or !PL! to normal field\n * @ignore\n * @param {string} propertyName EmbeddedField name starting with !P! or !PL!\n * @returns {string} returns converted string without !P! or !PL! and :\n *\n * @example <caption>Example for getFieldNameFromEmbeddedFieldName </caption>\n * getFieldNameFromEmbeddedFieldName('!P!Organisation:Name') return 'Organisation.Name'\n * getFieldNameFromEmbeddedFieldName('!PL!Employees:Name') return 'Employees.Name'\n */\nexport function getFieldNameFromEmbeddedFieldName(propertyName) {\n let value = propertyName;\n if (value.startsWith(PAGE) || value.startsWith(PAGELIST)) {\n value = value.substring(value.lastIndexOf('!') + 1);\n value = value.replace(/:/g, '.');\n }\n return value;\n}\n\n/**\n * [updateMetaEmbeddedFieldID]\n * Description - If the fieldID in meta starts with '!P!' or '!PL!' and contains ':' then replace them with .(dot)\n * @ignore\n * @param {Array} metaFields Fields metadata Array. Contains metadata of all the fields.\n */\nexport function updateMetaEmbeddedFieldID(metaFields) {\n return metaFields.forEach(metaField => {\n if (metaField.fieldID?.startsWith(PAGE) || metaField.fieldID?.startsWith(PAGELIST)) {\n metaField.fieldID = getFieldNameFromEmbeddedFieldName(metaField.fieldID);\n }\n });\n}\n\nexport const isEmbeddedField = field => {\n if (field?.startsWith('@')) {\n field = field.substring(field.indexOf(' ') + 1);\n if (field[0] === '.') field = field.substring(1);\n }\n return field?.indexOf('.') > 0;\n};\n\n/**\n * [isPageListProperty]\n * Description - checking if propertyName is pageList or not\n * @ignore\n * @param {string} propertyName PropertyName\n * @returns {boolean} true if property is pageList else false\n *\n * @example <caption>Example for isPageListProperty </caption>\n * isPageListProperty('!PL!Employees.Name') return true\n * isPageListProperty('!P!Employees.Name') return false\n * isPageListProperty('Name') return false\n */\nexport function isPageListProperty(propertyName) {\n return propertyName.startsWith(PAGELIST);\n}\n\nexport const isPageListInPath = (propertyName, currentClassID) => {\n if (!propertyName.includes('.')) {\n return false;\n }\n const [first, ...rest] = propertyName.split('.');\n const metadata: any = PCore.getMetadataUtils().getPropertyMetadata(first, currentClassID);\n if (metadata?.type === 'Page List') {\n return true;\n }\n return isPageListInPath(rest.join('.'), metadata?.pageClass);\n};\n\n/**\n * [getEmbeddedFieldName]\n * Description - converting normal field name to embedded field starting with !P! or !PL!\n * @ignore\n * @param {string} propertyName Field name\n * @param {string} classID classID of datapage\n * @returns {string} returns converted string with !P! or !PL! and :\n *\n * @example <caption>Example for getEmbeddedFieldName </caption>\n * For page property, getEmbeddedFieldName('Organisation.Name') return '!P!Organisation:Name'\n * For pageList property, getEmbeddedFieldName('Employees.Name') return '!PL!Employees:Name'\n */\n\nexport function getEmbeddedFieldName(propertyName, classID) {\n let value = propertyName;\n if (isPageListInPath(value, classID)) {\n value = `!PL!${value.replace(/\\./g, ':')}`;\n } else {\n value = `!P!${value.replace(/\\./g, ':')}`;\n }\n return value;\n}\n\n/**\n * [preparePropertyMaps]\n * Description - preparing maps for property names and set it in dataApi context\n * @ignore\n * @param {Array} fields fields array\n * @param {string} classID classID of datapage\n * @param {string} context dataApi context\n * @returns {boolean} true if pageListProperty is present\n */\nexport function preparePropertyMaps(fields, classID, context) {\n const { setPropertyMaps } = context;\n const maps = fields.reduce(\n (acc, field) => {\n let { value } = field.config;\n if (value.startsWith('@')) {\n value = value.substring(value.indexOf(' ') + 1);\n if (value[0] === '.') value = value.substring(1);\n }\n let name = value;\n // Preparing name for embedded property\n if (isEmbeddedField(name)) {\n name = getEmbeddedFieldName(name, classID);\n }\n if (isPageListProperty(name) && !acc[2]) {\n acc[2] = true;\n }\n acc[0][value] = name;\n acc[1][name] = value;\n\n return acc;\n },\n [{}, {}, false]\n );\n setPropertyMaps(maps[0], maps[1]);\n return maps[2];\n}\n\n/**\n * [getConfigEmbeddedFieldsMeta]\n * Description - Get the metadata for configured embedded fields\n * @ignore\n * @param {Set} configFields Set of config fields\n * @param {string} classID clasID of datapage\n * @returns {Array} Metadata of configured embedded fields\n */\nexport function getConfigEmbeddedFieldsMeta(configFields, classID) {\n const configEmbeddedFieldsMeta: any[] = [];\n configFields.forEach(field => {\n let value = field;\n if (isEmbeddedField(value)) {\n // conversion Page.PageList[].property => Page.PageList.property\n if (value.includes('[')) {\n value = value.substring(0, value.indexOf('[')) + value.substring(value.indexOf(']') + 1);\n }\n // @ts-ignore - Expected 3 arguments, but got 2.\n const meta: any = PCore.getMetadataUtils().getEmbeddedPropertyMetadata(value, classID);\n meta.fieldID = field;\n configEmbeddedFieldsMeta.push(meta);\n }\n });\n return configEmbeddedFieldsMeta;\n}\n\n/**\n * [mergeConfigEmbeddedFieldsMeta]\n * Description - Get the metadata for configured embedded fields\n * @ignore\n * @param {Array} configEmbeddedFieldsMeta config fields metadata.\n * @param {Array} metaFields Fields metadata Array. Contains metadata of all the fields\n */\nexport function mergeConfigEmbeddedFieldsMeta(configEmbeddedFieldsMeta, metaFields) {\n const mergedMetaFields = [...metaFields];\n configEmbeddedFieldsMeta.forEach(configFieldMeta => {\n const fieldMeta = metaFields.find(metaField => metaField.fieldID === configFieldMeta.fieldID);\n if (!fieldMeta) mergedMetaFields.push(configFieldMeta);\n });\n return mergedMetaFields;\n}\n\nconst oldToNewFieldTypeMapping = {\n 'Date Time': 'Date & time',\n Date: 'Date only'\n};\n\n/**\n * [updateFieldType]\n * Description - Updates the field type if its changed in the new implementation. Such mapping is maintained in oldToNewFieldTypeMapping.\n * @ignore\n * @param {Array} metaFields Fields metadata Array. Contains metadata of all the fields.\n */\nfunction updateFieldType(metaFields) {\n metaFields.forEach(metaField => {\n if (metaField.type) metaField.type = oldToNewFieldTypeMapping[metaField.type] || metaField.type;\n });\n}\n\nfunction getPresetMetaAttribute(attribute) {\n const {\n type,\n config: { label, value }\n } = attribute;\n return {\n type,\n name: value.startsWith('@') ? value.substring(4) : value,\n label: label.startsWith('@') ? label.substring(3) : label\n };\n}\n\n/**\n * [generateViewMetaData]\n * Description - Returns a list of metaobjects of the fields provided.\n * @ignore\n * @param {Array} rawFields List of fields to update meta for\n * @param {string} classID Class ID from the response\n * @returns {Array} List of fields with updated meta objects.\n */\nfunction generateViewMetaData(rawFields, classID, showField) {\n return rawFields.map(item => getDefaultViewMeta(item, classID, showField));\n}\n\n/**\n * [getConfigFields]\n * Description - Returns list of config fields with primary fields meta updated.\n * @ignore\n * @param {Array} configFields List of Authored fields\n * @param {Array} primaryFields List of Primary Fields\n * @param {Array} metaFields Metadata of all fields\n * @param {string} classID Class ID from the response\n * @returns {Array} List of all fields with their meta updated.\n */\nfunction getConfigFields(configFields, primaryFields, metaFields, classID) {\n const presetConfigFields = configFields;\n const primaryFieldsViewIndex = presetConfigFields.findIndex(field => field.config.value === 'pyPrimaryFields');\n if (!primaryFields || !primaryFields.length) {\n if (primaryFieldsViewIndex < 0) return presetConfigFields;\n\n presetConfigFields.splice(primaryFieldsViewIndex, 1);\n\n return presetConfigFields;\n }\n\n if (primaryFieldsViewIndex > -1) {\n // list of uncommon fields - non overlap of primary fields grouped view and independent entity columns of primary type\n const uncommonFieldsList = primaryFields.filter(\n primaryField => !presetConfigFields.some(presetConfigField => presetConfigField.config.value.split('.')[1] === primaryField)\n );\n const uncommonFieldsRawMeta: any[] = [];\n uncommonFieldsList.forEach(uncommonField => {\n const uncommonFieldMeta = metaFields.find(metaField => metaField.fieldID === uncommonField);\n if (uncommonFieldMeta) uncommonFieldsRawMeta.push(uncommonFieldMeta);\n });\n const uncommonFieldsConfigMeta = generateViewMetaData(uncommonFieldsRawMeta, classID, true);\n\n presetConfigFields.splice(primaryFieldsViewIndex, 1, ...uncommonFieldsConfigMeta);\n }\n return presetConfigFields;\n}\n\n/**\n * [getTableConfigFromPresetMeta]\n * Description - Get the table config from the presets meta.\n * @ignore\n * @param {object} presetMeta Presets meta\n * @param {boolean} isMetaWithPresets true if meta has presets else false\n * @param {Function} getPConnect Callback to get the PConnect object\n * @param {string} classID Class ID from the response\n * @param {Array} primaryFields List of Primary Fields\n * @param {Array} metaFields List of all metafields\n * @returns {object} Table config object\n */\nexport function getTableConfigFromPresetMeta(presetMeta, isMetaWithPresets, getPConnect, classID, primaryFields, metaFields) {\n let presetId;\n let presetName;\n let cardHeader;\n let secondaryText;\n let timelineDate;\n let timelineTitle;\n let timelineStatus;\n let timelineIcon;\n let { filterExpression } = getPConnect().getRawMetadata().config;\n let fieldsMeta;\n let configFields;\n if (isMetaWithPresets) {\n presetId = presetMeta.id;\n presetName = presetMeta.label;\n cardHeader = presetMeta.cardHeader && getPresetMetaAttribute(presetMeta.cardHeader);\n secondaryText = presetMeta.secondaryText && getPresetMetaAttribute(presetMeta.secondaryText);\n timelineDate = presetMeta.timelineDate && getPresetMetaAttribute(presetMeta.timelineDate);\n timelineTitle = presetMeta.timelineTitle && getPresetMetaAttribute(presetMeta.timelineTitle);\n timelineStatus = presetMeta.timelineStatus && getPresetMetaAttribute(presetMeta.timelineStatus);\n timelineIcon = presetMeta.timelineIcon && getPresetMetaAttribute(presetMeta.timelineIcon);\n filterExpression = presetMeta.config.filterExpression;\n [fieldsMeta] = presetMeta.children;\n if (\n presetMeta.timelineTitle &&\n !fieldsMeta.children.find(fieldMeta => {\n return fieldMeta?.config?.value === presetMeta.timelineTitle?.config?.value;\n })\n ) {\n const { type, config } = presetMeta.timelineTitle;\n fieldsMeta.children.push({ type, config: { ...config, show: false } });\n }\n if (\n presetMeta.timelineDate &&\n !fieldsMeta.children.find(fieldMeta => {\n return fieldMeta?.config?.value === presetMeta.timelineDate?.config?.value;\n })\n ) {\n const { type, config } = presetMeta.timelineDate;\n fieldsMeta.children.push({ type, config: { ...config, show: false } });\n }\n configFields = getConfigFields(fieldsMeta.children, primaryFields, metaFields, classID);\n } else {\n fieldsMeta = presetMeta.props;\n configFields = getConfigFields(\n fieldsMeta\n .getPConnect()\n .getChildren()\n ?.map(child => {\n return child.getPConnect().getRawMetadata();\n }),\n primaryFields,\n metaFields,\n classID\n );\n }\n return {\n presetId,\n presetName,\n cardHeader,\n secondaryText,\n timelineDate,\n timelineTitle,\n timelineStatus,\n timelineIcon,\n filterExpression,\n fieldsMeta,\n configFields\n };\n}\n\n/**\n * [getReportColumns]\n * Description - Returns a set of columns from the report response.\n * @ignore\n * @param {object} response -\n * @returns {Set} Set of columns from the report response\n */\nfunction getReportColumns(response) {\n const {\n data: { data: reportColumns }\n } = response;\n const reportColumnsSet = new Set();\n reportColumns?.forEach(item => {\n let val = item.pyFieldName;\n // Remove '.' from index 0 only, if '.' is present\n if (val[0] === '.') {\n val = val.substring(1);\n }\n reportColumnsSet.add(val);\n });\n return reportColumnsSet;\n}\n\n/**\n * [getConfigFieldValue]\n * Descritpion - Returns a valid value for a configuration field. Remove any annotations and also \".\"\n * @ignore\n * @param {object} config\n * config.value - Raw value\n * @returns {string} value - Value with out any annotations or \".\"\n */\nfunction getConfigFieldValue(config) {\n let { value } = config;\n if (value.startsWith('@')) {\n value = value.substring(value.indexOf(' ') + 1);\n if (value[0] === '.') value = value.substring(1);\n }\n return value;\n}\n\n/**\n * [prepareConfigFields]\n * Description - Prepares a set of configuration fields and pushes each config type to a set using the callback parameter.\n * @ignore\n * @param {object} configFields List of Authored fields\n * @param {Function} pushToComponentsList Callback to push the field type to a set.\n * @returns {Set} configFieldSet\n */\nfunction prepareConfigFields(configFields, pushToComponentsList) {\n const configFieldSet = new Set();\n configFields.forEach(item => {\n pushToComponentsList(item.type);\n const val = getConfigFieldValue(item.config);\n configFieldSet.add(val);\n });\n return configFieldSet;\n}\n\n/**\n * [findAuthoredField]\n * Description - Finds an authored field from yhe list of config fields.\n * @ignore\n * @param {Array} configFields List of Authored fields\n * @param {string} fieldID Filter\n * @returns {object} config with its field value equal to fieldID, which means an authored field\n */\nfunction findAuthoredField(configFields, fieldID) {\n return configFields.find(configField => {\n const val = getConfigFieldValue(configField.config);\n return val === fieldID;\n });\n}\n\n/**\n * [findAndUpdateAuthoredFieldConfig]\n * Description - Find the authored field, and update its config.\n * @ignore\n * @param {Array} configFields List of Authored fields\n * @param {object} item Field item to copy displayAs and category information\n * @param {string} classId classID from the response\n */\nfunction findAndUpdateAuthoredFieldConfig(configFields, item, classId) {\n const authoredField = findAuthoredField(configFields, item.fieldID);\n if (authoredField?.config) {\n if (item.displayAs) {\n authoredField.config.displayAs = item.displayAs;\n }\n authoredField.config.classID = item.classID ?? classId;\n\n if (authoredField.type === USER_REFERENCE) {\n authoredField.config.associationID = item.associationID || item.fieldID;\n }\n authoredField.config.category = item.category;\n // FieldType identifies whether the field is configured as pickList\n authoredField.config.fieldType = item.fieldType;\n // type defined on the property rule,\n // used for the picklist field to assign the appropriate type\n authoredField.config.propertyType = item.dataType || item.type;\n }\n}\n\n/**\n * [isAnExtraField]\n * Description - Returns true if the field is an extra field. Extra field is the one which is not authored but part of the report.\n * @ignore\n * @param {Array} configFields List of Authored fields\n * @param {Set} configFieldSet Set if Authored filed values\n * @param {Set} reportColumnsSet Set of columns from the report\n * @param {object} item Config field item\n * @param {string} classId Class ID from the response\n * @param {boolean} showDynamicFields Flag indicating whether fields are fetched dynamically at runtime\n * @returns {boolean} true If the field is an extra field else false.\n */\nfunction isAnExtraField(configFields, configFieldSet, reportColumnsSet, item, classId, showDynamicFields) {\n // Is the field already present in authoring metadata?\n // Mutates config fields to copy displayAs and category information\n if (configFieldSet.has(item.fieldID)) {\n findAndUpdateAuthoredFieldConfig(configFields, item, classId);\n return false;\n }\n\n // If field is not authored and not part of report columns then discard it\n return showDynamicFields || !!reportColumnsSet.has(item.fieldID);\n}\n\n/**\n * [prepareExtraFields]\n * Description - Returns a list of extra fields with their meta updated.\n * @ignore\n * @param {Array} metaFields List of fields\n * @param {Array} configFields List of Authored fields\n * @param {Set} configFieldSet Set if Authored filed values\n * @param {Set} reportColumnsSet Set of columns from the report\n * @param {string} classID Class ID from the response\n * @param {boolean} showDynamicFields Flag indicating whether fields are fetched dynamically at runtime\n * @returns {Array} List of extra fields with their meta updated.\n */\nfunction prepareExtraFields(metaFields, configFields, configFieldSet, reportColumnsSet, classID, showDynamicFields) {\n // Filter all the extra fields\n const extraFileds = metaFields.filter(item => {\n return isAnExtraField(configFields, configFieldSet, reportColumnsSet, item, classID, showDynamicFields);\n });\n return generateViewMetaData(extraFileds, classID, false);\n // Update the meta object of each of the extra fields.\n}\n\nconst AssignDashObjects = ['Assign-Worklist', 'Assign-WorkBasket'];\n\nfunction populateRenderingOptions(name, config, field) {\n const shouldDisplayAsSemanticLink = 'displayAsLink' in field.config && field.config.displayAsLink;\n if (shouldDisplayAsSemanticLink) {\n config.customObject.isAssignmentLink = AssignDashObjects.includes(field.config.classID);\n if (field.config.value.startsWith('@CA')) {\n config.customObject.isAssociation = true;\n }\n config.cellRenderer = formatConstants.WorkLink;\n } else if (name === 'pyStatusWork' || name === 'pyAssignmentStatus') {\n config.cellRenderer = formatConstants.WorkStatus;\n } else if (name === 'pxUrgencyWork') {\n config.cellRenderer = formatConstants.Integer;\n }\n}\nexport function initializeColumns(fields: any[] = [], getMappedProperty: any = null) {\n return fields.map((field, originalColIndex) => {\n let name = field.config.value;\n\n if (name.startsWith('@')) {\n name = name.substring(name.indexOf(' ') + 1);\n if (name[0] === '.') name = name.substring(1);\n }\n name = getMappedProperty?.(name) ?? name;\n\n let label = field.config.label || field.config.caption;\n const { show = true, displayAs } = field.config;\n if (label.startsWith('@')) {\n label = label.substring(3);\n }\n\n const config = {\n name,\n label,\n show,\n classID: field.config.classID,\n id: field.id || name || originalColIndex,\n displayAs,\n associationID: field.config.associationID,\n ...(field.config.classID && { category: field.config.category }),\n customObject: {},\n fieldType: field.config.fieldType,\n meta: {\n ...field\n }\n };\n\n populateRenderingOptions(name, config, field);\n\n return config;\n });\n}\n\nexport const getItemKey = fields => {\n let itemKey;\n if (fields.findIndex(field => field.id === 'pyGUID') > -1) {\n itemKey = 'pyGUID';\n } else {\n itemKey = 'pzInsKey';\n }\n return itemKey;\n};\n\nexport function preparePatchQueryFields(fields, isDataObject = false, classID = '') {\n const queryFields: any[] = [];\n fields.forEach(field => {\n const patchFields: any[] = [];\n if (field.cellRenderer === 'WorkLink') {\n if (field.customObject && field.customObject.isAssignmentLink) {\n const associationName = field.name.includes(':') ? `${field.name.split(':')[0]}:` : '';\n patchFields.push(`${associationName}pzInsKey`);\n patchFields.push(`${associationName}pxRefObjectClass`);\n } else if (field.customObject && field.customObject.isAssociation) {\n const associationCategory = field.name.split(':')[0];\n patchFields.push(`${associationCategory}:pyID`);\n patchFields.push(`${associationCategory}:pzInsKey`);\n patchFields.push(`${associationCategory}:pxObjClass`);\n } else if (isDataObject) {\n const dataViewName = PCore.getDataTypeUtils().getSavableDataPage(classID);\n const dataPageKeys = PCore.getDataTypeUtils().getDataPageKeys(dataViewName);\n dataPageKeys?.forEach(item => (item.isAlternateKeyStorage ? patchFields.push(item.linkedField) : patchFields.push(item.keyName)));\n } else {\n patchFields.push('pyID');\n patchFields.push('pzInsKey');\n patchFields.push('pxObjClass');\n }\n }\n patchFields.forEach(k => {\n if (!queryFields.find(q => q === k)) {\n queryFields.push(k);\n }\n });\n });\n\n return queryFields;\n}\n\n/**\n * Update the renderer type for the properties of type Page.\n */\nexport function updatePageFieldsConfig(configFields, parentClassID) {\n return configFields.forEach(item => {\n const {\n type,\n config: { value }\n } = item;\n const propertyName = PCore.getAnnotationUtils().getPropertyName(value);\n if (isEmbeddedField(value) && !isPageListInPath(propertyName, parentClassID)) {\n item.config.componentType = type;\n item.type = 'PagePropertyRenderer';\n }\n });\n}\n\nexport const readContextResponse = async (context, params) => {\n const { getPConnect, apiContext, setListContext, children, showDynamicFields, referenceList, isDataObject } = params;\n const { promisesResponseArray, apiContext: otherContext } = context;\n // eslint-disable-next-line sonarjs/no-unused-collection\n const listOfComponents: any[] = [];\n const {\n data: { fields: metaFields, classID, isQueryable }\n } = promisesResponseArray[0];\n let {\n data: { primaryFields }\n } = promisesResponseArray[0];\n // When list is configured with Include all class fields configuration, provide support for Primary fields column\n if (showDynamicFields) {\n const sourceMetadata: any = PCore.getMetadataUtils().getDataPageMetadata(referenceList);\n if (sourceMetadata?.primaryFields) {\n primaryFields = sourceMetadata.primaryFields;\n }\n // updating metaData fieldID to normal property if it has fieldID starts with !P! or !PL!\n updateMetaEmbeddedFieldID(metaFields);\n }\n updateFieldType(metaFields);\n\n if (isDataObject) {\n const compositeKeys: any[] = [];\n const dataViewName = PCore.getDataTypeUtils().getSavableDataPage(classID);\n const dataPageKeys = PCore.getDataTypeUtils().getDataPageKeys(dataViewName);\n dataPageKeys?.forEach(item => (item.isAlternateKeyStorage ? compositeKeys.push(item.linkedField) : compositeKeys.push(item.keyName)));\n if (compositeKeys.length) {\n otherContext?.setCompositeKeys(compositeKeys);\n }\n if (otherContext) {\n otherContext.fetchRowActionDetails = null;\n }\n }\n\n const presetArray = [];\n const rawMetadata = getPConnect().getRawMetadata().config;\n const rawPresets = rawMetadata.presets;\n const isMetaWithPresets = rawPresets && rawPresets.length !== 0;\n const childrenIterator = isMetaWithPresets ? rawPresets : children;\n const resolvedPresets = getPConnect().getConfigProps().presets;\n let fields;\n let tableConfig;\n childrenIterator?.forEach((presetMeta, index) => {\n const { configFields } = getTableConfigFromPresetMeta(\n { ...presetMeta, label: resolvedPresets[index].label },\n isMetaWithPresets,\n getPConnect,\n classID,\n primaryFields,\n metaFields\n );\n const pushToComponentsList = fieldType => {\n listOfComponents.push(fieldType);\n };\n // read report columns response - in case of nonqueryable ignore the response and rely only on the fields configured at authoing time in presets\n const reportColumnsSet = isQueryable ? getReportColumns(promisesResponseArray[1]) : new Set();\n\n const configFieldSet = prepareConfigFields(configFields, pushToComponentsList);\n\n // FIXME #EmbeddedPropertyPatch\n // TODO: Remove this merge logic when the metadata response includes all optimized embedded page and pagelists\n // merging configured embedded properties with metadata so that while preparing extra fields, config fields can get other properties from meta(eg: category, displayAsLink)\n // get configured embedded properties metadata and get new mergedMetaFields\n const configEmbeddedFieldsMeta = getConfigEmbeddedFieldsMeta(configFieldSet, classID);\n const mergedMetaFields = mergeConfigEmbeddedFieldsMeta(configEmbeddedFieldsMeta, metaFields);\n\n const extraFields = prepareExtraFields(\n mergedMetaFields, // passing new merged meta fields which has meta of configured embedded fields of current preset\n configFields,\n configFieldSet,\n reportColumnsSet,\n classID,\n showDynamicFields\n );\n\n if (isQueryable) {\n updatePageFieldsConfig(configFields, classID);\n preparePropertyMaps([...configFields, ...extraFields], classID, context);\n }\n\n const { getMappedProperty } = context;\n\n fields = initializeColumns([...configFields, ...extraFields], getMappedProperty);\n const patchQueryFields = preparePatchQueryFields(fields, isDataObject, classID);\n const itemKey = getItemKey(fields);\n tableConfig = { fieldDefs: fields, patchQueryFields, itemKey, isQueryable };\n });\n const meta = tableConfig;\n setListContext({\n meta,\n presets: presetArray,\n apiContext: {\n ...apiContext\n }\n });\n};\n"]}
@@ -12,7 +12,7 @@ export default function NarrowWideDetails(props) {
12
12
  const propsToUse = { label, showLabel, ...getPConnect().getInheritedProps() };
13
13
  // Set display mode prop and re-create the children so this part of the dom tree renders
14
14
  // in a readonly (display) mode instead of a editable
15
- getPConnect().setInheritedProp('displayMode', 'LABELS_LEFT');
15
+ getPConnect().setInheritedProp('displayMode', 'DISPLAY_ONLY');
16
16
  getPConnect().setInheritedProp('readOnly', true);
17
17
  const children = getPConnect().getChildren().map((configObject, index) => createElement(createPConnectComponent(), {
18
18
  ...configObject,
@@ -1 +1 @@
1
- {"version":3,"file":"NarrowWideDetails.js","sourceRoot":"","sources":["../../../../../src/components/template/NarrowWide/NarrowWideDetails/NarrowWideDetails.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,IAAkB,MAAM,oBAAoB,CAAC;AAEpD,OAAO,uBAAuB,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AAWnF,MAAM,aAAa,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAE7B,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,KAA6B;IACrE,8EAA8E;IAC9E,MAAM,UAAU,GAAG,mBAAmB,CAAC,YAAY,CAAC,CAAC;IAErD,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,IAAI,EAAE,WAAW,EAAE,mBAAmB,GAAG,KAAK,EAAE,GAAG,KAAK,CAAC;IAEpF,sEAAsE;IACtE,MAAM,UAAU,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,WAAW,EAAE,CAAC,iBAAiB,EAAE,EAAE,CAAC;IAE9E,wFAAwF;IACxF,qDAAqD;IACrD,WAAW,EAAE,CAAC,gBAAgB,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;IAC7D,WAAW,EAAE,CAAC,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IACjD,MAAM,QAAQ,GAAI,WAAW,EAAE,CAAC,WAAW,EAAY,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,KAAK,EAAE,EAAE,CAClF,aAAa,CAAC,uBAAuB,EAAE,EAAE;QACvC,GAAG,YAAY;QACf,oDAAoD;QACpD,GAAG,EAAE,KAAK,CAAC,QAAQ,EAAE;KACtB,CAAC,CACH,CAAC;IAEF,4GAA4G;IAC5G,IAAI,kBAAkB,GAAG,EAAE,CAAC;IAC5B,IAAI,mBAAmB,EAAE;QACvB,MAAM,EAAE,eAAe,GAAG,EAAE,EAAE,GAAI,WAAW,EAAE,CAAC,cAAc,EAAU,CAAC,MAAM,CAAC;QAChF,kBAAkB,GAAG,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YAC/C,KAAK,CAAC,MAAM,CAAC,WAAW,GAAG,mBAAmB,CAAC;YAE/C,iDAAiD;YACjD,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,KAAK,kBAAkB,EAAE;gBAC7C,KAAK,CAAC,IAAI,GAAG,WAAW,CAAC;gBACzB,KAAK,CAAC,MAAM,CAAC,eAAe,GAAG,IAAI,CAAC;aACrC;YAED,OAAO,WAAW,EAAE,CAAC,eAAe,CAAC,KAAK,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,6FAA6F;QACvJ,CAAC,CAAC,CAAC;KACJ;IAED,OAAO,CACL,MAAC,UAAU,IAAC,IAAI,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,aAC3D,mBAAmB,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,IAAI,CACvD,KAAC,IAAI,IAAC,SAAS,QAAC,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,YACtD,kBAAkB,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,CACpC,KAAC,IAAI,IAAC,IAAI,QAAC,EAAE,EAAE,aAAa,CAAC,CAAC,CAAa,YACxC,KAAK,IAD0C,MAAM,CAAC,GAAG,CAAC,EAAE,CAExD,CACR,CAAC,GACG,CACR,EACD,KAAC,IAAI,IAAC,SAAS,QAAC,OAAO,EAAE,CAAC,YACvB,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,CAC1B,KAAC,IAAI,IAAC,IAAI,QAAC,EAAE,EAAE,aAAa,CAAC,CAAC,CAAa,YACxC,KAAK,IAD0C,KAAK,CAAC,GAAG,CAAC,EAAE,CAEvD,CACR,CAAC,GACG,IACI,CACd,CAAC;AACJ,CAAC","sourcesContent":["import { createElement } from 'react';\nimport Grid, { GridSize } from '@mui/material/Grid';\n\nimport createPConnectComponent from '../../../../bridge/react_pconnect';\nimport { getComponentFromMap } from '../../../../bridge/helpers/sdk_component_map';\n\nimport { PConnProps } from '../../../../types/PConnProps';\n\ninterface NarrowWideDetailsProps extends PConnProps {\n // If any, enter additional props that only exist on this component\n showLabel?: boolean;\n label: string;\n showHighlightedData?: boolean;\n}\n\nconst COLUMN_WIDTHS = [4, 8];\n\nexport default function NarrowWideDetails(props: NarrowWideDetailsProps) {\n // Get emitted components from map (so we can get any override that may exist)\n const FieldGroup = getComponentFromMap('FieldGroup');\n\n const { label, showLabel = true, getPConnect, showHighlightedData = false } = props;\n\n // Get the inherited props from the parent to determine label settings\n const propsToUse = { label, showLabel, ...getPConnect().getInheritedProps() };\n\n // Set display mode prop and re-create the children so this part of the dom tree renders\n // in a readonly (display) mode instead of a editable\n getPConnect().setInheritedProp('displayMode', 'LABELS_LEFT');\n getPConnect().setInheritedProp('readOnly', true);\n const children = (getPConnect().getChildren() as any[]).map((configObject, index) =>\n createElement(createPConnectComponent(), {\n ...configObject,\n // eslint-disable-next-line react/no-array-index-key\n key: index.toString()\n })\n );\n\n // Set up highlighted data to pass in return if is set to show, need raw metadata to pass to createComponent\n let highlightedDataArr = [];\n if (showHighlightedData) {\n const { highlightedData = [] } = (getPConnect().getRawMetadata() as any).config;\n highlightedDataArr = highlightedData.map(field => {\n field.config.displayMode = 'STACKED_LARGE_VAL';\n\n // Mark as status display when using pyStatusWork\n if (field.config.value === '@P .pyStatusWork') {\n field.type = 'TextInput';\n field.config.displayAsStatus = true;\n }\n\n return getPConnect().createComponent(field, '', 0, {}); // 2nd, 3rd, and 4th args empty string/object/null until typedef marked correctly as optional\n });\n }\n\n return (\n <FieldGroup name={propsToUse.showLabel ? propsToUse.label : ''}>\n {showHighlightedData && highlightedDataArr.length > 0 && (\n <Grid container spacing={1} style={{ padding: '0 0 1em' }}>\n {highlightedDataArr.map((child, i) => (\n <Grid item xs={COLUMN_WIDTHS[i] as GridSize} key={`hf-${i + 1}`}>\n {child}\n </Grid>\n ))}\n </Grid>\n )}\n <Grid container spacing={1}>\n {children.map((child, i) => (\n <Grid item xs={COLUMN_WIDTHS[i] as GridSize} key={`r-${i + 1}`}>\n {child}\n </Grid>\n ))}\n </Grid>\n </FieldGroup>\n );\n}\n"]}
1
+ {"version":3,"file":"NarrowWideDetails.js","sourceRoot":"","sources":["../../../../../src/components/template/NarrowWide/NarrowWideDetails/NarrowWideDetails.tsx"],"names":[],"mappings":"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","sourcesContent":["import { createElement } from 'react';\nimport Grid, { GridSize } from '@mui/material/Grid';\n\nimport createPConnectComponent from '../../../../bridge/react_pconnect';\nimport { getComponentFromMap } from '../../../../bridge/helpers/sdk_component_map';\n\nimport { PConnProps } from '../../../../types/PConnProps';\n\ninterface NarrowWideDetailsProps extends PConnProps {\n // If any, enter additional props that only exist on this component\n showLabel?: boolean;\n label: string;\n showHighlightedData?: boolean;\n}\n\nconst COLUMN_WIDTHS = [4, 8];\n\nexport default function NarrowWideDetails(props: NarrowWideDetailsProps) {\n // Get emitted components from map (so we can get any override that may exist)\n const FieldGroup = getComponentFromMap('FieldGroup');\n\n const { label, showLabel = true, getPConnect, showHighlightedData = false } = props;\n\n // Get the inherited props from the parent to determine label settings\n const propsToUse = { label, showLabel, ...getPConnect().getInheritedProps() };\n\n // Set display mode prop and re-create the children so this part of the dom tree renders\n // in a readonly (display) mode instead of a editable\n getPConnect().setInheritedProp('displayMode', 'DISPLAY_ONLY');\n getPConnect().setInheritedProp('readOnly', true);\n const children = (getPConnect().getChildren() as any[]).map((configObject, index) =>\n createElement(createPConnectComponent(), {\n ...configObject,\n // eslint-disable-next-line react/no-array-index-key\n key: index.toString()\n })\n );\n\n // Set up highlighted data to pass in return if is set to show, need raw metadata to pass to createComponent\n let highlightedDataArr = [];\n if (showHighlightedData) {\n const { highlightedData = [] } = (getPConnect().getRawMetadata() as any).config;\n highlightedDataArr = highlightedData.map(field => {\n field.config.displayMode = 'STACKED_LARGE_VAL';\n\n // Mark as status display when using pyStatusWork\n if (field.config.value === '@P .pyStatusWork') {\n field.type = 'TextInput';\n field.config.displayAsStatus = true;\n }\n\n return getPConnect().createComponent(field, '', 0, {}); // 2nd, 3rd, and 4th args empty string/object/null until typedef marked correctly as optional\n });\n }\n\n return (\n <FieldGroup name={propsToUse.showLabel ? propsToUse.label : ''}>\n {showHighlightedData && highlightedDataArr.length > 0 && (\n <Grid container spacing={1} style={{ padding: '0 0 1em' }}>\n {highlightedDataArr.map((child, i) => (\n <Grid item xs={COLUMN_WIDTHS[i] as GridSize} key={`hf-${i + 1}`}>\n {child}\n </Grid>\n ))}\n </Grid>\n )}\n <Grid container spacing={1}>\n {children.map((child, i) => (\n <Grid item xs={COLUMN_WIDTHS[i] as GridSize} key={`r-${i + 1}`}>\n {child}\n </Grid>\n ))}\n </Grid>\n </FieldGroup>\n );\n}\n"]}
@@ -12,7 +12,7 @@ export default function WideNarrowDetails(props) {
12
12
  const propsToUse = { label, showLabel, ...getPConnect().getInheritedProps() };
13
13
  // Set display mode prop and re-create the children so this part of the dom tree renders
14
14
  // in a readonly (display) mode instead of a editable
15
- getPConnect().setInheritedProp('displayMode', 'LABELS_LEFT');
15
+ getPConnect().setInheritedProp('displayMode', 'DISPLAY_ONLY');
16
16
  getPConnect().setInheritedProp('readOnly', true);
17
17
  const children = getPConnect().getChildren()?.map((configObject, index) => {
18
18
  let theConfigObject = configObject;
@@ -1 +1 @@
1
- {"version":3,"file":"WideNarrowDetails.js","sourceRoot":"","sources":["../../../../../src/components/template/WideNarrow/WideNarrowDetails/WideNarrowDetails.tsx"],"names":[],"mappings":"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","sourcesContent":["import { createElement } from 'react';\nimport Grid, { GridSize } from '@mui/material/Grid';\n\nimport createPConnectComponent from '../../../../bridge/react_pconnect';\nimport { getComponentFromMap } from '../../../../bridge/helpers/sdk_component_map';\n\nimport { PConnProps } from '../../../../types/PConnProps';\n\ninterface WideNarrowDetailsProps extends PConnProps {\n // If any, enter additional props that only exist on this component\n showLabel?: boolean;\n label?: string;\n showHighlightedData?: boolean;\n}\n\nconst COLUMN_WIDTHS = [8, 4];\n\nexport default function WideNarrowDetails(props: WideNarrowDetailsProps) {\n // Get emitted components from map (so we can get any override that may exist)\n const FieldGroup = getComponentFromMap('FieldGroup');\n\n const { label, showLabel = true, getPConnect, showHighlightedData = false } = props;\n\n // Get the inherited props from the parent to determine label settings\n const propsToUse = { label, showLabel, ...getPConnect().getInheritedProps() };\n\n // Set display mode prop and re-create the children so this part of the dom tree renders\n // in a readonly (display) mode instead of a editable\n getPConnect().setInheritedProp('displayMode', 'LABELS_LEFT');\n getPConnect().setInheritedProp('readOnly', true);\n const children = (getPConnect().getChildren() as any[])?.map((configObject, index) => {\n let theConfigObject: object = configObject;\n if (!theConfigObject) {\n theConfigObject = {};\n }\n\n return createElement(createPConnectComponent(), {\n ...theConfigObject,\n // eslint-disable-next-line react/no-array-index-key\n key: index.toString()\n });\n });\n\n // Set up highlighted data to pass in return if is set to show, need raw metadata to pass to createComponent\n let highlightedDataArr = [];\n if (showHighlightedData) {\n const { highlightedData = [] } = (getPConnect().getRawMetadata() as any).config;\n highlightedDataArr = highlightedData.map(field => {\n field.config.displayMode = 'STACKED_LARGE_VAL';\n\n // Mark as status display when using pyStatusWork\n if (field.config.value === '@P .pyStatusWork') {\n field.type = 'TextInput';\n field.config.displayAsStatus = true;\n }\n\n return getPConnect().createComponent(field, '', 0, {}); // 2nd, 3rd, and 4th args empty string/object/null until typedef marked correctly as optional\n });\n }\n\n let theName = '';\n if (propsToUse?.showLabel && propsToUse.label) {\n theName = propsToUse.label;\n }\n\n return (\n <FieldGroup name={theName}>\n {showHighlightedData && highlightedDataArr.length > 0 && (\n <Grid container spacing={1} style={{ padding: '0 0 1em' }}>\n {highlightedDataArr.map((child, i) => (\n <Grid item xs={COLUMN_WIDTHS[i] as GridSize} key={`hf-${i + 1}`}>\n {child}\n </Grid>\n ))}\n </Grid>\n )}\n <Grid container spacing={1}>\n {children?.map((child, i) => (\n <Grid item xs={COLUMN_WIDTHS[i] as GridSize} key={`r-${i + 1}`}>\n {child}\n </Grid>\n ))}\n </Grid>\n </FieldGroup>\n );\n}\n"]}
1
+ {"version":3,"file":"WideNarrowDetails.js","sourceRoot":"","sources":["../../../../../src/components/template/WideNarrow/WideNarrowDetails/WideNarrowDetails.tsx"],"names":[],"mappings":"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","sourcesContent":["import { createElement } from 'react';\nimport Grid, { GridSize } from '@mui/material/Grid';\n\nimport createPConnectComponent from '../../../../bridge/react_pconnect';\nimport { getComponentFromMap } from '../../../../bridge/helpers/sdk_component_map';\n\nimport { PConnProps } from '../../../../types/PConnProps';\n\ninterface WideNarrowDetailsProps extends PConnProps {\n // If any, enter additional props that only exist on this component\n showLabel?: boolean;\n label?: string;\n showHighlightedData?: boolean;\n}\n\nconst COLUMN_WIDTHS = [8, 4];\n\nexport default function WideNarrowDetails(props: WideNarrowDetailsProps) {\n // Get emitted components from map (so we can get any override that may exist)\n const FieldGroup = getComponentFromMap('FieldGroup');\n\n const { label, showLabel = true, getPConnect, showHighlightedData = false } = props;\n\n // Get the inherited props from the parent to determine label settings\n const propsToUse = { label, showLabel, ...getPConnect().getInheritedProps() };\n\n // Set display mode prop and re-create the children so this part of the dom tree renders\n // in a readonly (display) mode instead of a editable\n getPConnect().setInheritedProp('displayMode', 'DISPLAY_ONLY');\n getPConnect().setInheritedProp('readOnly', true);\n const children = (getPConnect().getChildren() as any[])?.map((configObject, index) => {\n let theConfigObject: object = configObject;\n if (!theConfigObject) {\n theConfigObject = {};\n }\n\n return createElement(createPConnectComponent(), {\n ...theConfigObject,\n // eslint-disable-next-line react/no-array-index-key\n key: index.toString()\n });\n });\n\n // Set up highlighted data to pass in return if is set to show, need raw metadata to pass to createComponent\n let highlightedDataArr = [];\n if (showHighlightedData) {\n const { highlightedData = [] } = (getPConnect().getRawMetadata() as any).config;\n highlightedDataArr = highlightedData.map(field => {\n field.config.displayMode = 'STACKED_LARGE_VAL';\n\n // Mark as status display when using pyStatusWork\n if (field.config.value === '@P .pyStatusWork') {\n field.type = 'TextInput';\n field.config.displayAsStatus = true;\n }\n\n return getPConnect().createComponent(field, '', 0, {}); // 2nd, 3rd, and 4th args empty string/object/null until typedef marked correctly as optional\n });\n }\n\n let theName = '';\n if (propsToUse?.showLabel && propsToUse.label) {\n theName = propsToUse.label;\n }\n\n return (\n <FieldGroup name={theName}>\n {showHighlightedData && highlightedDataArr.length > 0 && (\n <Grid container spacing={1} style={{ padding: '0 0 1em' }}>\n {highlightedDataArr.map((child, i) => (\n <Grid item xs={COLUMN_WIDTHS[i] as GridSize} key={`hf-${i + 1}`}>\n {child}\n </Grid>\n ))}\n </Grid>\n )}\n <Grid container spacing={1}>\n {children?.map((child, i) => (\n <Grid item xs={COLUMN_WIDTHS[i] as GridSize} key={`r-${i + 1}`}>\n {child}\n </Grid>\n ))}\n </Grid>\n </FieldGroup>\n );\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,2CA+axD"}
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) {