@pega/dx-component-builder-sdk 0.242.14 → 0.242.16

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 (195) hide show
  1. package/README.md +3 -3
  2. package/package.json +1 -1
  3. package/src/constants.js +39 -6
  4. package/src/tasks/create/index.js +7 -5
  5. package/src/tasks/create/templates/Constellation/field/Date/demo.stories.tsx.mustache +0 -16
  6. package/src/tasks/create/templates/Constellation/field/DateTime/demo.stories.tsx.mustache +0 -17
  7. package/src/tasks/create/templates/Constellation/field/Decimal/demo.stories.tsx.mustache +0 -1
  8. package/src/tasks/create/templates/Constellation/field/Decimal-Currency/demo.stories.tsx.mustache +0 -1
  9. package/src/tasks/create/templates/Constellation/field/Decimal-Percentage/demo.stories.tsx.mustache +0 -1
  10. package/src/tasks/create/templates/Constellation/field/Decimal-Percentage/mock.ts.mustache +1 -0
  11. package/src/tasks/create/templates/Constellation/field/Icon-Button-URL/demo.stories.tsx.mustache +9 -20
  12. package/src/tasks/create/templates/Constellation/field/Picklist/demo.stories.tsx.mustache +0 -1
  13. package/src/tasks/create/templates/Constellation/field/Picklist-Autocomplete/demo.stories.tsx.mustache +0 -1
  14. package/src/tasks/create/templates/Constellation/field/Picklist-RadioButtons/demo.stories.tsx.mustache +0 -1
  15. package/src/tasks/create/templates/Constellation/field/Picklist-RadioButtons/index.tsx.mustache +3 -5
  16. package/src/tasks/create/templates/Constellation/field/Text/demo.stories.tsx.mustache +0 -1
  17. package/src/tasks/create/templates/Constellation/field/Text-Email/demo.stories.tsx.mustache +0 -1
  18. package/src/tasks/create/templates/Constellation/field/Text-Email/mock.ts.mustache +1 -0
  19. package/src/tasks/create/templates/Constellation/field/Text-Input/demo.stories.tsx.mustache +0 -1
  20. package/src/tasks/create/templates/Constellation/field/Text-Paragraph/demo.stories.tsx.mustache +0 -1
  21. package/src/tasks/create/templates/Constellation/field/Text-Phone/demo.stories.tsx.mustache +1 -2
  22. package/src/tasks/create/templates/Constellation/field/Text-URL/demo.stories.tsx.mustache +0 -1
  23. package/src/tasks/create/templates/Constellation/field/TimeOfDay/demo.stories.tsx.mustache +0 -1
  24. package/src/tasks/create/templates/Constellation/template/DETAILS/demo.stories.tsx.mustache +10 -0
  25. package/src/tasks/create/templates/Constellation/template/PAGE/demo.stories.tsx.mustache +0 -13
  26. package/src/tasks/create/templates/Constellation/widget/CASE/demo.stories.tsx.mustache +10 -32
  27. package/src/tasks/create/templates/Constellation/widget/CASE/index.tsx.mustache +2 -2
  28. package/src/tasks/create/templates/Constellation/widget/PAGE/demo.stories.tsx.mustache +10 -21
  29. package/src/tasks/create/templates/Constellation/widget/PAGE-CASE/demo.stories.tsx.mustache +10 -22
  30. package/src/tasks/create/templates/SDK-React/field/Date/demo.stories.tsx.mustache +0 -21
  31. package/src/tasks/create/templates/SDK-React/field/Date/index.tsx.mustache +5 -1
  32. package/src/tasks/create/templates/SDK-React/field/DateTime/demo.stories.tsx.mustache +0 -21
  33. package/src/tasks/create/templates/SDK-React/field/DateTime/index.tsx.mustache +13 -5
  34. package/src/tasks/create/templates/SDK-React/field/Decimal/demo.stories.tsx.mustache +0 -14
  35. package/src/tasks/create/templates/SDK-React/field/Decimal/index.tsx.mustache +6 -1
  36. package/src/tasks/create/templates/SDK-React/field/Decimal-Currency/demo.stories.tsx.mustache +0 -14
  37. package/src/tasks/create/templates/SDK-React/field/Decimal-Currency/index.tsx.mustache +6 -1
  38. package/src/tasks/create/templates/SDK-React/field/Decimal-Percentage/demo.stories.tsx.mustache +0 -14
  39. package/src/tasks/create/templates/SDK-React/field/Decimal-Percentage/index.tsx.mustache +5 -1
  40. package/src/tasks/create/templates/SDK-React/field/Icon-Button-URL/demo.stories.tsx.mustache +2 -6
  41. package/src/tasks/create/templates/SDK-React/field/Icon-Button-URL/index.tsx.mustache +1 -1
  42. package/src/tasks/create/templates/SDK-React/field/Integer/demo.stories.tsx.mustache +3 -0
  43. package/src/tasks/create/templates/SDK-React/field/Picklist/index.tsx.mustache +25 -20
  44. package/src/tasks/create/templates/SDK-React/field/Picklist-RadioButtons/index.tsx.mustache +1 -4
  45. package/src/tasks/create/templates/SDK-React/field/Text/demo.stories.tsx.mustache +3 -0
  46. package/src/tasks/create/templates/SDK-React/field/Text-Email/demo.stories.tsx.mustache +3 -0
  47. package/src/tasks/create/templates/SDK-React/field/Text-Input/demo.stories.tsx.mustache +3 -0
  48. package/src/tasks/create/templates/SDK-React/field/Text-Paragraph/demo.stories.tsx.mustache +3 -0
  49. package/src/tasks/create/templates/SDK-React/field/Text-Phone/demo.stories.tsx.mustache +3 -0
  50. package/src/tasks/create/templates/SDK-React/field/Text-URL/demo.stories.tsx.mustache +3 -0
  51. package/src/tasks/create/templates/SDK-React/field/TimeOfDay/index.tsx.mustache +1 -1
  52. package/src/tasks/create/templates/SDK-React/template/DETAILS/demo.stories.tsx.mustache +8 -28
  53. package/src/tasks/create/templates/SDK-React/template/DETAILS/index.tsx.mustache +7 -2
  54. package/src/tasks/create/templates/SDK-React/template/DETAILS-region/demo.stories.tsx.mustache +8 -28
  55. package/src/tasks/create/templates/SDK-React/template/DETAILS-region/index.tsx.mustache +7 -2
  56. package/src/tasks/create/templates/SDK-React/template/FORM/demo.stories.tsx.mustache +10 -16
  57. package/src/tasks/create/templates/SDK-React/template/FORM-region/index.tsx.mustache +5 -5
  58. package/src/tasks/create/templates/SDK-React/widget/CASE/demo.stories.tsx.mustache +10 -20
  59. package/src/tasks/create/templates/SDK-React/widget/CASE/index.tsx.mustache +2 -1
  60. package/src/tasks/create/templates/SDK-React/widget/PAGE/demo.stories.tsx.mustache +9 -19
  61. package/src/tasks/create/templates/SDK-React/widget/PAGE-CASE/demo.stories.tsx.mustache +10 -20
  62. package/src/tasks/quarantine/index.js +4 -2
  63. package/tests/assets/sdk-a/components/create/override-sdk/field/dropdown/dropdown.component.ts +122 -7
  64. package/tests/assets/sdk-a/components/create/override-sdk/template/case-view/case-view.component.html +4 -4
  65. package/tests/assets/sdk-a/components/create/override-sdk/template/case-view/case-view.component.ts +7 -12
  66. package/tests/assets/sdk-a/components/create/override-sdk/template/default-form/default-form.component.ts +2 -2
  67. package/tests/assets/sdk-a/components/create/override-sdk/template/details/details.component.ts +5 -39
  68. package/tests/assets/sdk-a/components/create/override-sdk/template/details-narrow-wide/details-narrow-wide.component.ts +5 -38
  69. package/tests/assets/sdk-a/components/create/override-sdk/template/details-one-column/details-one-column.component.ts +5 -40
  70. package/tests/assets/sdk-a/components/create/override-sdk/template/details-sub-tabs/details-sub-tabs.component.html +1 -2
  71. package/tests/assets/sdk-a/components/create/override-sdk/template/details-sub-tabs/details-sub-tabs.component.ts +5 -37
  72. package/tests/assets/sdk-a/components/create/override-sdk/template/details-three-column/details-three-column.component.ts +5 -41
  73. package/tests/assets/sdk-a/components/create/override-sdk/template/details-two-column/details-two-column.component.ts +5 -41
  74. package/tests/assets/sdk-a/components/create/override-sdk/template/details-wide-narrow/details-wide-narrow.component.ts +5 -40
  75. package/tests/assets/sdk-a/components/create/override-sdk/template/one-column/one-column.component.ts +2 -2
  76. package/tests/assets/sdk-a/components/create/override-sdk/template/simple-table-manual/simple-table-manual.component.scss +1 -0
  77. package/tests/assets/sdk-a/components/create/override-sdk/template/three-column/three-column.component.ts +2 -2
  78. package/tests/assets/sdk-a/components/create/override-sdk/template/two-column/two-column.component.ts +2 -2
  79. package/tests/assets/sdk-a/components/create/override-sdk/template/wide-narrow-form/wide-narrow-form.component.ts +2 -2
  80. package/tests/assets/sdk-a/components/createAll/custom-constellation/field/Pega_DXIL_MyRadioButtons/index.tsx +3 -5
  81. package/tests/assets/sdk-a/components/createAll/custom-sdk/field/pega-dxil-my-picklist/pega-dxil-my-picklist.component.ts +29 -15
  82. package/tests/assets/sdk-a/components/createAll/custom-sdk/template/pega-dxil-my-details/pega-dxil-my-details.component.ts +5 -39
  83. package/tests/assets/sdk-a/components/createAll/custom-sdk/template/pega-dxil-my-form/demo.stories.tsx +1 -4
  84. package/tests/assets/sdk-a/components/createAll/custom-sdk/template/pega-dxil-my-form/pega-dxil-my-form.component.ts +2 -2
  85. package/tests/assets/sdk-a/components/createAll/custom-sdk/template/pega-dxil-my-two-column-details/pega-dxil-my-two-column-details.component.ts +6 -42
  86. package/tests/assets/sdk-a/components/createAll/custom-sdk/template/pega-dxil-my-two-column-form/pega-dxil-my-two-column-form.component.ts +2 -2
  87. package/tests/assets/sdk-a/components/createAll/override-sdk/field/dropdown/dropdown.component.ts +122 -7
  88. package/tests/assets/sdk-a/components/createAll/override-sdk/template/case-view/case-view.component.html +4 -4
  89. package/tests/assets/sdk-a/components/createAll/override-sdk/template/case-view/case-view.component.ts +7 -12
  90. package/tests/assets/sdk-a/components/createAll/override-sdk/template/default-form/default-form.component.ts +2 -2
  91. package/tests/assets/sdk-a/components/createAll/override-sdk/template/details/details.component.ts +5 -39
  92. package/tests/assets/sdk-a/components/createAll/override-sdk/template/details-narrow-wide/details-narrow-wide.component.ts +5 -38
  93. package/tests/assets/sdk-a/components/createAll/override-sdk/template/details-one-column/details-one-column.component.ts +5 -40
  94. package/tests/assets/sdk-a/components/createAll/override-sdk/template/details-sub-tabs/details-sub-tabs.component.html +1 -2
  95. package/tests/assets/sdk-a/components/createAll/override-sdk/template/details-sub-tabs/details-sub-tabs.component.ts +5 -37
  96. package/tests/assets/sdk-a/components/createAll/override-sdk/template/details-three-column/details-three-column.component.ts +5 -41
  97. package/tests/assets/sdk-a/components/createAll/override-sdk/template/details-two-column/details-two-column.component.ts +5 -41
  98. package/tests/assets/sdk-a/components/createAll/override-sdk/template/details-wide-narrow/details-wide-narrow.component.ts +5 -40
  99. package/tests/assets/sdk-a/components/createAll/override-sdk/template/one-column/one-column.component.ts +2 -2
  100. package/tests/assets/sdk-a/components/createAll/override-sdk/template/simple-table-manual/simple-table-manual.component.scss +1 -0
  101. package/tests/assets/sdk-a/components/createAll/override-sdk/template/three-column/three-column.component.ts +2 -2
  102. package/tests/assets/sdk-a/components/createAll/override-sdk/template/two-column/two-column.component.ts +2 -2
  103. package/tests/assets/sdk-a/components/createAll/override-sdk/template/wide-narrow-form/wide-narrow-form.component.ts +2 -2
  104. package/tests/assets/sdk-r/components/create/custom-sdk/field/Pega_DXIL_MyTestText/demo.stories.tsx +3 -0
  105. package/tests/assets/sdk-r/components/create/override-sdk/designSystemExtension/FieldValueList/FieldValueList.tsx +2 -2
  106. package/tests/assets/sdk-r/components/create/override-sdk/field/Phone/Phone.tsx +5 -5
  107. package/tests/assets/sdk-r/components/create/override-sdk/infra/FlowContainer/FlowContainer.tsx +360 -0
  108. package/tests/assets/sdk-r/components/create/override-sdk/infra/FlowContainer/helpers.ts +138 -0
  109. package/tests/assets/sdk-r/components/create/override-sdk/infra/FlowContainer/index.tsx +1 -0
  110. package/tests/assets/sdk-r/components/create/override-sdk/infra/ModalViewContainer/ListViewActionButtons/ListViewActionButtons.tsx +68 -0
  111. package/tests/assets/sdk-r/components/create/override-sdk/infra/ModalViewContainer/ListViewActionButtons/index.tsx +1 -0
  112. package/tests/assets/sdk-r/components/create/override-sdk/infra/ModalViewContainer/ModalViewContainer.tsx +345 -0
  113. package/tests/assets/sdk-r/components/create/override-sdk/infra/ModalViewContainer/index.tsx +1 -0
  114. package/tests/assets/sdk-r/components/create/override-sdk/infra/NavBar/NavBar.css +1 -0
  115. package/tests/assets/sdk-r/components/create/override-sdk/infra/Reference/Reference.tsx +52 -0
  116. package/tests/assets/sdk-r/components/create/override-sdk/infra/Reference/index.tsx +1 -0
  117. package/tests/assets/sdk-r/components/create/override-sdk/infra/Region/Region.tsx +17 -0
  118. package/tests/assets/sdk-r/components/create/override-sdk/infra/Region/index.tsx +1 -0
  119. package/tests/assets/sdk-r/components/create/override-sdk/infra/RootContainer/RootContainer.tsx +240 -0
  120. package/tests/assets/sdk-r/components/create/override-sdk/infra/RootContainer/index.tsx +1 -0
  121. package/tests/assets/sdk-r/components/create/override-sdk/infra/SimpleView/SimpleView.tsx +48 -0
  122. package/tests/assets/sdk-r/components/create/override-sdk/infra/SimpleView/helper.ts +125 -0
  123. package/tests/assets/sdk-r/components/create/override-sdk/infra/SimpleView/index.tsx +1 -0
  124. package/tests/assets/sdk-r/components/create/override-sdk/infra/ViewContainer/ViewContainer.tsx +201 -0
  125. package/tests/assets/sdk-r/components/create/override-sdk/infra/ViewContainer/index.tsx +1 -0
  126. package/tests/assets/sdk-r/components/create/override-sdk/template/DynamicTabs/DynamicTabs.tsx +80 -0
  127. package/tests/assets/sdk-r/components/create/override-sdk/template/DynamicTabs/config.json +36 -0
  128. package/tests/assets/sdk-r/components/create/override-sdk/template/DynamicTabs/index.tsx +1 -0
  129. package/tests/assets/sdk-r/components/create/override-sdk/template/ListView/ListView.tsx +29 -28
  130. package/tests/assets/sdk-r/components/create/override-sdk/template/SimpleTableManual/SimpleTableManual.tsx +13 -5
  131. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyRadiobuttons/index.tsx +3 -5
  132. package/tests/assets/sdk-r/components/createAll/custom-constellation/widget/Pega_DXIL_MyCaseWidget/index.tsx +2 -2
  133. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyCurrency/index.tsx +6 -1
  134. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyDate/demo.stories.tsx +3 -0
  135. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyDate/index.tsx +5 -1
  136. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyDateTime/demo.stories.tsx +3 -0
  137. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyDateTime/index.tsx +13 -5
  138. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyDecimal/index.tsx +6 -1
  139. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyEmail/demo.stories.tsx +3 -0
  140. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyIconButtonURL/index.tsx +1 -1
  141. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyInteger/demo.stories.tsx +3 -0
  142. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyParagraph/demo.stories.tsx +3 -0
  143. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyPercentage/index.tsx +5 -1
  144. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyPhone/demo.stories.tsx +3 -0
  145. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyPhone/index.tsx +5 -5
  146. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyPicklist/index.tsx +25 -20
  147. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyRadiobuttons/index.tsx +1 -4
  148. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyText/demo.stories.tsx +3 -0
  149. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyTextInput/demo.stories.tsx +3 -0
  150. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyTimeOfDay/index.tsx +1 -1
  151. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyURL/demo.stories.tsx +3 -0
  152. package/tests/assets/sdk-r/components/createAll/custom-sdk/template/Pega_DXIL_MyDetails/index.tsx +7 -2
  153. package/tests/assets/sdk-r/components/createAll/custom-sdk/template/Pega_DXIL_MyTwoColumnDetails/index.tsx +7 -2
  154. package/tests/assets/sdk-r/components/createAll/custom-sdk/template/Pega_DXIL_MyTwoColumnForm/demo.stories.tsx +28 -13
  155. package/tests/assets/sdk-r/components/createAll/custom-sdk/template/Pega_DXIL_MyTwoColumnForm/index.tsx +5 -5
  156. package/tests/assets/sdk-r/components/createAll/custom-sdk/widget/Pega_DXIL_MyCaseWidget/index.tsx +2 -1
  157. package/tests/assets/sdk-r/components/createAll/override-sdk/designSystemExtension/FieldValueList/FieldValueList.tsx +2 -2
  158. package/tests/assets/sdk-r/components/createAll/override-sdk/field/Phone/Phone.tsx +5 -5
  159. package/tests/assets/sdk-r/components/createAll/override-sdk/infra/FlowContainer/FlowContainer.tsx +360 -0
  160. package/tests/assets/sdk-r/components/createAll/override-sdk/infra/FlowContainer/helpers.ts +138 -0
  161. package/tests/assets/sdk-r/components/createAll/override-sdk/infra/FlowContainer/index.tsx +1 -0
  162. package/tests/assets/sdk-r/components/createAll/override-sdk/infra/ModalViewContainer/ListViewActionButtons/ListViewActionButtons.tsx +68 -0
  163. package/tests/assets/sdk-r/components/createAll/override-sdk/infra/ModalViewContainer/ListViewActionButtons/index.tsx +1 -0
  164. package/tests/assets/sdk-r/components/createAll/override-sdk/infra/ModalViewContainer/ModalViewContainer.tsx +345 -0
  165. package/tests/assets/sdk-r/components/createAll/override-sdk/infra/ModalViewContainer/index.tsx +1 -0
  166. package/tests/assets/sdk-r/components/createAll/override-sdk/infra/NavBar/NavBar.css +1 -0
  167. package/tests/assets/sdk-r/components/createAll/override-sdk/infra/Reference/Reference.tsx +52 -0
  168. package/tests/assets/sdk-r/components/createAll/override-sdk/infra/Reference/index.tsx +1 -0
  169. package/tests/assets/sdk-r/components/createAll/override-sdk/infra/Region/Region.tsx +17 -0
  170. package/tests/assets/sdk-r/components/createAll/override-sdk/infra/Region/index.tsx +1 -0
  171. package/tests/assets/sdk-r/components/createAll/override-sdk/infra/RootContainer/RootContainer.tsx +240 -0
  172. package/tests/assets/sdk-r/components/createAll/override-sdk/infra/RootContainer/index.tsx +1 -0
  173. package/tests/assets/sdk-r/components/createAll/override-sdk/infra/SimpleView/SimpleView.tsx +48 -0
  174. package/tests/assets/sdk-r/components/createAll/override-sdk/infra/SimpleView/helper.ts +125 -0
  175. package/tests/assets/sdk-r/components/createAll/override-sdk/infra/SimpleView/index.tsx +1 -0
  176. package/tests/assets/sdk-r/components/createAll/override-sdk/infra/ViewContainer/ViewContainer.tsx +201 -0
  177. package/tests/assets/sdk-r/components/createAll/override-sdk/infra/ViewContainer/index.tsx +1 -0
  178. package/tests/assets/sdk-r/components/createAll/override-sdk/template/DynamicTabs/DynamicTabs.tsx +80 -0
  179. package/tests/assets/sdk-r/components/createAll/override-sdk/template/DynamicTabs/config.json +36 -0
  180. package/tests/assets/sdk-r/components/createAll/override-sdk/template/DynamicTabs/index.tsx +1 -0
  181. package/tests/assets/sdk-r/components/createAll/override-sdk/template/ListView/ListView.tsx +29 -28
  182. package/tests/assets/sdk-r/components/createAll/override-sdk/template/SimpleTableManual/SimpleTableManual.tsx +13 -5
  183. package/tests/functional/sdk-a/localCreateAllListDeleteAllCustom.test.js +5 -5
  184. package/tests/functional/sdk-a/localCreateAllListDeleteAllOverride.test.js +5 -5
  185. package/tests/functional/sdk-a/localCreateBuildAllDeleteAllCustom.test.js +2 -2
  186. package/tests/functional/sdk-a/localCreateBuildDeleteCustom.test.js +2 -2
  187. package/tests/functional/sdk-a/localCreateBuildDeleteOverride.test.js +2 -2
  188. package/tests/functional/sdk-a/localCreateListDeleteCustom.test.js +1 -1
  189. package/tests/functional/sdk-a/localCreateListDeleteOverride.test.js +1 -1
  190. package/tests/functional/sdk-a/localCreateMapAllClearMap.test.js +2 -2
  191. package/tests/functional/sdk-a/localCreatePublishAllDeleteAllCustom.test.js +2 -2
  192. package/tests/functional/sdk-a/localCreatePublishAllDeleteAllOverride.test.js +2 -2
  193. package/tests/functional/sdk-a/localCreatePublishDeleteCustom.test.js +2 -2
  194. package/tests/functional/sdk-a/localCreatePublishDeleteOverride.test.js +2 -2
  195. package/tests/functional/sdk-a/localCreateRenameDeleteCustom.test.js +1 -1
@@ -0,0 +1,80 @@
1
+ import React, { Children, useMemo, useState } from 'react';
2
+ import { Tab, Tabs } from '@mui/material';
3
+ import { TabContext, TabPanel } from '@mui/lab';
4
+ import makeStyles from '@mui/styles/makeStyles';
5
+
6
+ import { buildView } from '@pega/react-sdk-components/lib/components/helpers/field-group-utils';
7
+ import { PConnProps } from '@pega/react-sdk-components/lib/types/PConnProps';
8
+
9
+ const useStyles = makeStyles(() => ({
10
+ tab: {
11
+ minWidth: '72px'
12
+ }
13
+ }));
14
+
15
+ interface DynamicTabsProps extends PConnProps {
16
+ // If any, enter additional props that only exist on this component
17
+ showLabel: boolean;
18
+ label: string;
19
+ referenceList?: any[];
20
+ }
21
+
22
+ function DynamicTabs(props: DynamicTabsProps) {
23
+ const classes = useStyles();
24
+ const { referenceList, showLabel, label, getPConnect } = props;
25
+ const pConnect = getPConnect();
26
+ // Get the inherited props from the parent to determine label settings
27
+ const propsToUse = { label, showLabel, ...pConnect.getInheritedProps() };
28
+ const defaultTabIndex = 0;
29
+ // @ts-ignore - Property 'getComponentConfig' is private and only accessible within class 'C11nEnv'.
30
+ const { tablabel } = pConnect.getComponentConfig();
31
+ const tablabelProp = PCore.getAnnotationUtils().getPropertyName(tablabel);
32
+ const referenceListData: any = pConnect.getValue(`${referenceList}.pxResults`, ''); // 2nd arg empty string until typedefs properly allow optional
33
+ const memoisedTabViews = useMemo(() => {
34
+ pConnect.setInheritedProp('displayMode', 'DISPLAY_ONLY');
35
+ pConnect.setInheritedProp('readOnly', true);
36
+
37
+ return (
38
+ referenceListData &&
39
+ Children.toArray(
40
+ referenceListData.map((item, index) => {
41
+ return <React.Fragment key={item[tablabelProp]}>{buildView(pConnect, index, '')}</React.Fragment>;
42
+ })
43
+ )
44
+ );
45
+ }, [referenceListData]);
46
+ const [panelShown, changePanel] = useState(defaultTabIndex);
47
+ const handleTabClick = (e, id) => {
48
+ changePanel(parseInt(id, 10));
49
+ };
50
+ // Loop over the tab contents and and pull out the labels for the navigation
51
+ const tabItems =
52
+ referenceListData?.map((item, i) => {
53
+ const currentTabLabel = item[tablabelProp] || PCore.getLocaleUtils().getLocaleValue('No label specified in config', 'Generic');
54
+ return {
55
+ name: currentTabLabel,
56
+ id: i
57
+ };
58
+ }) || [];
59
+
60
+ return (
61
+ <>
62
+ {propsToUse.label && <h3 id='dynamic-tabs-title'>{propsToUse.label}</h3>}
63
+ <TabContext value={panelShown.toString()}>
64
+ <Tabs onChange={handleTabClick} value={panelShown} variant='scrollable' scrollButtons='auto' indicatorColor='primary' id='dynamic-tabs'>
65
+ {tabItems.map((tab: any) => (
66
+ <Tab key={tab.id} label={tab.name} value={tab.id} className={classes.tab} />
67
+ ))}
68
+ </Tabs>
69
+
70
+ {tabItems.map((tab: any) => (
71
+ <TabPanel key={tab.id} value={tab.id.toString()} tabIndex={+tab.id} id='dynamic-tabpanel'>
72
+ <div>{memoisedTabViews[parseInt(tab.id, 10)] || 'No content exists'}</div>
73
+ </TabPanel>
74
+ ))}
75
+ </TabContext>
76
+ </>
77
+ );
78
+ }
79
+
80
+ export default DynamicTabs;
@@ -0,0 +1,36 @@
1
+ {
2
+ "name": "DynamicTabs",
3
+ "label": "Dynamic tabs (list)",
4
+ "description": "Dynamic tabs (list)",
5
+ "type": "Template",
6
+ "subtype": "DETAILS",
7
+ "icon": "DynamicTabs.svg",
8
+ "hideTemplateEdit": true,
9
+ "hideFromTemplatePicker": true,
10
+ "viewHeadingLabel": "Default heading",
11
+ "properties": [
12
+ {
13
+ "name": "referenceList",
14
+ "label": "Data page",
15
+ "format": "CONTENTPICKERSOURCE"
16
+ },
17
+ {
18
+ "name": "parameters",
19
+ "label": "Parameters",
20
+ "format": "PARAMETERS",
21
+ "showOverride": false
22
+ },
23
+ {
24
+ "name": "tablabel",
25
+ "label": "Tab label",
26
+ "format": "PROPERTY",
27
+ "ofContextClass": true
28
+ },
29
+ {
30
+ "format": "VIEWPICKER",
31
+ "name": "Views",
32
+ "label": "Tab content",
33
+ "ofContextClass": true
34
+ }
35
+ ]
36
+ }
@@ -0,0 +1 @@
1
+ export { default } from './DynamicTabs';
@@ -1034,34 +1034,35 @@ export default function ListView(props: ListViewProps) {
1034
1034
  </TableRow>
1035
1035
  </TableHead>
1036
1036
  <TableBody>
1037
- {stableSort(arRows, getComparator(order, orderBy))
1038
- .slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage)
1039
- .map(row => {
1040
- return (
1041
- <TableRow key={row.pxRefObjectInsName || row.pyID}>
1042
- {arColumns.map(column => {
1043
- const value = row[column.id];
1044
- return (
1045
- <TableCell key={column.id} align={column.align} className={classes.cell}>
1046
- {_showButton(column.id, row) || column.displayAsLink ? (
1047
- <Link
1048
- component='button'
1049
- onClick={() => {
1050
- _listViewClick(row, column);
1051
- }}
1052
- underline='hover'
1053
- >
1054
- {column.format && typeof value === 'number' ? column.format(value) : value}
1055
- </Link>
1056
- ) : (
1057
- <>{column.format && typeof value === 'number' ? column.format(value) : value || '---'}</>
1058
- )}
1059
- </TableCell>
1060
- );
1061
- })}
1062
- </TableRow>
1063
- );
1064
- })}
1037
+ {arRows &&
1038
+ stableSort(arRows, getComparator(order, orderBy))
1039
+ .slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage)
1040
+ .map(row => {
1041
+ return (
1042
+ <TableRow key={row.pxRefObjectInsName || row.pyID}>
1043
+ {arColumns.map(column => {
1044
+ const value = row[column.id];
1045
+ return (
1046
+ <TableCell key={column.id} align={column.align} className={classes.cell}>
1047
+ {_showButton(column.id, row) || column.displayAsLink ? (
1048
+ <Link
1049
+ component='button'
1050
+ onClick={() => {
1051
+ _listViewClick(row, column);
1052
+ }}
1053
+ underline='hover'
1054
+ >
1055
+ {column.format && typeof value === 'number' ? column.format(value) : value}
1056
+ </Link>
1057
+ ) : (
1058
+ <>{column.format && typeof value === 'number' ? column.format(value) : value || '---'}</>
1059
+ )}
1060
+ </TableCell>
1061
+ );
1062
+ })}
1063
+ </TableRow>
1064
+ );
1065
+ })}
1065
1066
  </TableBody>
1066
1067
  </Table>
1067
1068
  </TableContainer>
@@ -258,11 +258,16 @@ export default function SimpleTableManual(props: PropsWithChildren<SimpleTableMa
258
258
  function generateRowsData() {
259
259
  // if referenceList is empty and dataPageName property value exists then make a datapage fetch call and get the list of data.
260
260
  if (!referenceList.length && dataPageName) {
261
- getDataPage(dataPageName, parameters, context).then(listData => {
262
- const data = formatRowsData(listData);
263
- myRows = data;
264
- setRowData(data);
265
- });
261
+ getDataPage(dataPageName, parameters, context)
262
+ .then(listData => {
263
+ const data = formatRowsData(listData);
264
+ myRows = data;
265
+ setRowData(data);
266
+ })
267
+ .catch(e => {
268
+ // eslint-disable-next-line no-console
269
+ console.log(e);
270
+ });
266
271
  } else {
267
272
  // The referenceList prop has the JSON data for each row to be displayed
268
273
  // in the table. So, iterate over referenceList to create the dataRows that
@@ -378,6 +383,9 @@ export default function SimpleTableManual(props: PropsWithChildren<SimpleTableMa
378
383
  };
379
384
 
380
385
  function descendingComparator<T>(a: T, b: T, orderedBy: keyof T) {
386
+ if (!orderedBy || (!a[orderedBy] && !b[orderedBy])) {
387
+ return 0;
388
+ }
381
389
  if (!b[orderedBy] || b[orderedBy] < a[orderedBy]) {
382
390
  return -1;
383
391
  }
@@ -12,7 +12,7 @@ describe('createAll list and deleteAll local custom', () => {
12
12
  // console.log(stdout);
13
13
  expect(stdout).not.toBeNull();
14
14
  expect(stderr).not.toBeNull();
15
- });
15
+ }, 50000);
16
16
 
17
17
  it('npm run createAll Local custom', async () => {
18
18
  const script = `npm run createAll "My" 0.0.1 DXIL "" Pega --prefix ../../..`;
@@ -42,7 +42,7 @@ describe('createAll list and deleteAll local custom', () => {
42
42
  // // remove it
43
43
  // fs.rmdirSync(fileDir, { recursive: true });
44
44
  // }
45
- }, 10000);
45
+ }, 900000);
46
46
 
47
47
  it('npm run list Local custom', async () => {
48
48
  const script = 'npm run list Local custom --prefix ../../..';
@@ -77,7 +77,7 @@ describe('createAll list and deleteAll local custom', () => {
77
77
  expect(stdout).toContain('Pega_DXIL_MyCaseWidget');
78
78
  expect(stdout).toContain('Pega_DXIL_MyPageWidget');
79
79
  expect(stdout).toContain('Pega_DXIL_MyPageCaseWidget');
80
- }, 10000);
80
+ }, 900000);
81
81
 
82
82
  it('compare created to default', async () => {
83
83
  const compList = [
@@ -129,7 +129,7 @@ describe('createAll list and deleteAll local custom', () => {
129
129
  expect(componentFileData).toEqual(assetFileData);
130
130
  });
131
131
  });
132
- }, 10000);
132
+ }, 900000);
133
133
 
134
134
  it('npm run deleteAll Local custom', async () => {
135
135
  const script = `npm run deleteAll Local custom Y --prefix ../../..`;
@@ -156,5 +156,5 @@ describe('createAll list and deleteAll local custom', () => {
156
156
  // const createFile = path.resolve('../../..', path.join(`src/components/${newFileName}`, 'index.jsx'));
157
157
  // const doesExist = fs.existsSync(createFile);
158
158
  // expect(doesExist).not.toBeTruthy();
159
- }, 10000);
159
+ }, 900000);
160
160
  });
@@ -12,7 +12,7 @@ describe('overrideAll list and deleteAll local override', () => {
12
12
  // console.log(stdout);
13
13
  expect(stdout).not.toBeNull();
14
14
  expect(stderr).not.toBeNull();
15
- });
15
+ }, 50000);
16
16
 
17
17
  it('npm run overrideAll Local', async () => {
18
18
  const script = `npm run overrideAll --prefix ../../..`;
@@ -42,7 +42,7 @@ describe('overrideAll list and deleteAll local override', () => {
42
42
  // // remove it
43
43
  // fs.rmdirSync(fileDir, { recursive: true });
44
44
  // }
45
- }, 20000);
45
+ }, 900000);
46
46
 
47
47
  it('npm run list Local override', async () => {
48
48
  const script = 'npm run list Local override --prefix ../../..';
@@ -62,7 +62,7 @@ describe('overrideAll list and deleteAll local override', () => {
62
62
  expect(stdout).toContain('navbar');
63
63
 
64
64
  // done();
65
- }, 10000);
65
+ }, 900000);
66
66
 
67
67
  it('compare created to default', async () => {
68
68
  let assetDir;
@@ -103,7 +103,7 @@ describe('overrideAll list and deleteAll local override', () => {
103
103
  });
104
104
  });
105
105
  });
106
- }, 20000);
106
+ }, 900000);
107
107
 
108
108
  it('npm run deleteAll Local override', async () => {
109
109
  const script = `npm run deleteAll Local override Y --prefix ../../..`;
@@ -130,5 +130,5 @@ describe('overrideAll list and deleteAll local override', () => {
130
130
  // const createFile = path.resolve('../../..', path.join(`src/components/${newFileName}`, 'index.jsx'));
131
131
  // const doesExist = fs.existsSync(createFile);
132
132
  // expect(doesExist).not.toBeTruthy();
133
- }, 10000);
133
+ }, 900000);
134
134
  });
@@ -12,7 +12,7 @@ describe('create buildAll and deleteAll local custom', () => {
12
12
  // console.log(stdout);
13
13
  expect(stdout).not.toBeNull();
14
14
  expect(stderr).not.toBeNull();
15
- });
15
+ }, 50000);
16
16
 
17
17
  it('npm run create Local text custom', async () => {
18
18
  const fileName = 'MyTestText';
@@ -138,7 +138,7 @@ describe('create buildAll and deleteAll local custom', () => {
138
138
  expect(stdout).toContain('Pega_DXIL_MyTestPage');
139
139
  expect(stdout).toContain('Pega_DXIL_MyTestDetails');
140
140
  // done();
141
- }, 100000);
141
+ }, 900000);
142
142
 
143
143
  it('npm run deleteAll Local custom', async () => {
144
144
  const script = `npm run deleteAll Local custom Y --prefix ../../..`;
@@ -12,7 +12,7 @@ describe('create build and delete local custom', () => {
12
12
  // console.log(stdout);
13
13
  expect(stdout).not.toBeNull();
14
14
  expect(stderr).not.toBeNull();
15
- });
15
+ }, 50000);
16
16
 
17
17
  it('npm run create Local custom', async () => {
18
18
  const fileName = 'MyTestText';
@@ -62,7 +62,7 @@ describe('create build and delete local custom', () => {
62
62
  expect(stdout).toContain(`${newFileNameConstellation} schema is valid`);
63
63
  // expect(stdout).toContain('Compiled successfully.');
64
64
  // done();
65
- }, 60000);
65
+ }, 900000);
66
66
 
67
67
  it('npm run delete Local custom', async () => {
68
68
  const fileName = 'MyTestText';
@@ -12,7 +12,7 @@ describe('create build and delete local override', () => {
12
12
  // console.log(stdout);
13
13
  expect(stdout).not.toBeNull();
14
14
  expect(stderr).not.toBeNull();
15
- });
15
+ }, 50000);
16
16
 
17
17
  it('npm run create Local override', async () => {
18
18
  const fileName = 'auto-complete';
@@ -49,7 +49,7 @@ describe('create build and delete local override', () => {
49
49
  // expect(stdout).toContain(`${newFileNameConstellation} schema is valid`);
50
50
  // expect(stdout).toContain('Compiled successfully.');
51
51
  // done();
52
- }, 50000);
52
+ }, 900000);
53
53
 
54
54
  it('npm run delete Local override', async () => {
55
55
  const fileName = 'auto-complete';
@@ -12,7 +12,7 @@ describe('create list and delete local custom', () => {
12
12
  // console.log(stdout);
13
13
  expect(stdout).not.toBeNull();
14
14
  expect(stderr).not.toBeNull();
15
- });
15
+ }, 50000);
16
16
 
17
17
  it('npm run create Local custom', async () => {
18
18
  const fileName = 'MyTestText';
@@ -12,7 +12,7 @@ describe('create list and delete local override', () => {
12
12
  // console.log(stdout);
13
13
  expect(stdout).not.toBeNull();
14
14
  expect(stderr).not.toBeNull();
15
- });
15
+ }, 50000);
16
16
 
17
17
  it('npm run create Local override', async () => {
18
18
  const fileName = 'auto-complete';
@@ -12,7 +12,7 @@ describe('create mapAll clearMap custom local', () => {
12
12
  // console.log(stdout);
13
13
  expect(stdout).not.toBeNull();
14
14
  expect(stderr).not.toBeNull();
15
- });
15
+ }, 100000);
16
16
 
17
17
  it('npm run create Local text custom', async () => {
18
18
  const fileName = 'MyTestText';
@@ -203,7 +203,7 @@ describe('create mapAll clearMap custom local', () => {
203
203
  const blankMapData = fs.readFileSync(blankMap, { encoding: 'utf8' });
204
204
 
205
205
  expect(mapDataAng).toEqual(blankMapData);
206
- }, 10000);
206
+ }, 100000);
207
207
 
208
208
  it('npm run deleteAll Local verify not in map custom', async () => {
209
209
  const script = `npm run deleteAll Local custom Y --prefix ../../..`;
@@ -12,7 +12,7 @@ describe('create publish and deleteAll local', () => {
12
12
  // console.log(stdout);
13
13
  expect(stdout).not.toBeNull();
14
14
  expect(stderr).not.toBeNull();
15
- });
15
+ }, 50000);
16
16
 
17
17
  it('npm run create Local text custom', async () => {
18
18
  const fileName = 'MyTestText';
@@ -185,7 +185,7 @@ describe('create publish and deleteAll local', () => {
185
185
  expect(isInMap).toBeTruthy();
186
186
 
187
187
  // done();
188
- }, 100000);
188
+ }, 900000);
189
189
 
190
190
  it('npm run deleteAll Local verify not in map custom', async () => {
191
191
  const script = `npm run deleteAll Local custom Y --prefix ../../..`;
@@ -12,7 +12,7 @@ describe('override publish and deleteAll local override', () => {
12
12
  // console.log(stdout);
13
13
  expect(stdout).not.toBeNull();
14
14
  expect(stderr).not.toBeNull();
15
- });
15
+ }, 50000);
16
16
 
17
17
  it('npm run override auto complete override', async () => {
18
18
  const fileName = 'auto-complete';
@@ -133,7 +133,7 @@ describe('override publish and deleteAll local override', () => {
133
133
  }
134
134
 
135
135
  expect(isInMap).toBeTruthy();
136
- }, 100000);
136
+ }, 900000);
137
137
 
138
138
  it('npm run deleteAll Local override verify removed from map', async () => {
139
139
  const script = `npm run deleteAll Local override Y --prefix ../../..`;
@@ -12,7 +12,7 @@ describe('create publish and delete local custom', () => {
12
12
  // console.log(stdout);
13
13
  expect(stdout).not.toBeNull();
14
14
  expect(stderr).not.toBeNull();
15
- });
15
+ }, 50000);
16
16
 
17
17
  it('npm run create Local custom', async () => {
18
18
  const fileName = 'MyTestText';
@@ -91,7 +91,7 @@ describe('create publish and delete local custom', () => {
91
91
  expect(isInMap).toBeTruthy();
92
92
 
93
93
  // done();
94
- }, 60000);
94
+ }, 900000);
95
95
 
96
96
  it('npm run delete Local custom verify removed from map', async () => {
97
97
  const fileName = 'MyTestText';
@@ -12,7 +12,7 @@ describe('create publish and delete local override', () => {
12
12
  // console.log(stdout);
13
13
  expect(stdout).not.toBeNull();
14
14
  expect(stderr).not.toBeNull();
15
- });
15
+ }, 50000);
16
16
 
17
17
  it('npm run create Local override', async () => {
18
18
  const fileName = 'auto-complete';
@@ -66,7 +66,7 @@ describe('create publish and delete local override', () => {
66
66
  }
67
67
 
68
68
  expect(isInMap).toBeTruthy();
69
- }, 50000);
69
+ }, 900000);
70
70
 
71
71
  it('npm run delete Local override verify removed from map', async () => {
72
72
  const fileName = 'auto-complete';
@@ -12,7 +12,7 @@ describe('create rename and delete local', () => {
12
12
  // console.log(stdout);
13
13
  expect(stdout).not.toBeNull();
14
14
  expect(stderr).not.toBeNull();
15
- });
15
+ }, 50000);
16
16
 
17
17
  it('npm run create Local custom', async () => {
18
18
  const fileName = 'MyTestText';