@pega/dx-component-builder-sdk 23.1.13 → 23.1.15

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 (342) hide show
  1. package/README.md +4 -4
  2. package/package.json +1 -1
  3. package/src/cli.js +6 -0
  4. package/src/constants.js +10 -0
  5. package/src/tasks/build-jest-assets/index.js +153 -0
  6. package/src/tasks/create/templates/Constellation/field/Boolean/Boolean.ts.mustache +35 -0
  7. package/src/tasks/create/templates/Constellation/field/Boolean/demo.stories.tsx.mustache +71 -0
  8. package/src/tasks/create/templates/Constellation/field/Boolean/index.tsx.mustache +11 -48
  9. package/src/tasks/create/templates/Constellation/field/Boolean/mock.ts.mustache +2 -1
  10. package/src/tasks/create/templates/Constellation/field/Boolean/styles.ts.mustache +7 -14
  11. package/{tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyDate/DateFormatter.js → src/tasks/create/templates/Constellation/field/Date/DateFormatter.ts.mustache} +6 -6
  12. package/src/tasks/create/templates/Constellation/field/Date/FormattedText.tsx.mustache +20 -0
  13. package/src/tasks/create/templates/Constellation/field/Date/{date.js.mustache → date.ts.mustache} +3 -2
  14. package/src/tasks/create/templates/Constellation/field/Date/demo.stories.tsx.mustache +31 -24
  15. package/src/tasks/create/templates/Constellation/field/Date/index.tsx.mustache +19 -60
  16. package/src/tasks/create/templates/Constellation/field/Date/mock.ts.mustache +2 -1
  17. package/src/tasks/create/templates/Constellation/field/Date/styles.ts.mustache +7 -14
  18. package/src/tasks/create/templates/Constellation/field/DateTime/{date-time.js.mustache → date-time.ts.mustache} +12 -12
  19. package/{tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyTimeOfDay/time-of-day.js → src/tasks/create/templates/Constellation/field/DateTime/date-utils.ts.mustache} +27 -26
  20. package/{tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyDateTime/date.js → src/tasks/create/templates/Constellation/field/DateTime/date.ts.mustache} +1 -0
  21. package/src/tasks/create/templates/Constellation/field/DateTime/demo.stories.tsx.mustache +32 -25
  22. package/src/tasks/create/templates/Constellation/field/DateTime/index.tsx.mustache +13 -60
  23. package/src/tasks/create/templates/Constellation/field/DateTime/mock.ts.mustache +3 -1
  24. package/src/tasks/create/templates/Constellation/field/DateTime/styles.ts.mustache +7 -14
  25. package/src/tasks/create/templates/Constellation/field/Decimal/demo.stories.tsx.mustache +25 -13
  26. package/src/tasks/create/templates/Constellation/field/Decimal/index.tsx.mustache +15 -68
  27. package/src/tasks/create/templates/Constellation/field/Decimal/mock.ts.mustache +9 -1
  28. package/src/tasks/create/templates/Constellation/field/Decimal/styles.ts.mustache +7 -14
  29. package/src/tasks/create/templates/Constellation/field/Decimal-Currency/demo.stories.tsx.mustache +28 -15
  30. package/src/tasks/create/templates/Constellation/field/Decimal-Currency/index.tsx.mustache +24 -76
  31. package/src/tasks/create/templates/Constellation/field/Decimal-Currency/mock.ts.mustache +11 -1
  32. package/src/tasks/create/templates/Constellation/field/Decimal-Currency/styles.ts.mustache +7 -14
  33. package/src/tasks/create/templates/Constellation/field/Decimal-Percentage/demo.stories.tsx.mustache +25 -12
  34. package/src/tasks/create/templates/Constellation/field/Decimal-Percentage/index.tsx.mustache +14 -55
  35. package/src/tasks/create/templates/Constellation/field/Decimal-Percentage/mock.ts.mustache +9 -2
  36. package/src/tasks/create/templates/Constellation/field/Decimal-Percentage/styles.ts.mustache +7 -14
  37. package/src/tasks/create/templates/Constellation/field/Integer/demo.stories.tsx.mustache +25 -12
  38. package/src/tasks/create/templates/Constellation/field/Integer/index.tsx.mustache +24 -88
  39. package/src/tasks/create/templates/Constellation/field/Integer/mock.ts.mustache +8 -2
  40. package/src/tasks/create/templates/Constellation/field/Integer/styles.ts.mustache +7 -14
  41. package/src/tasks/create/templates/Constellation/field/Picklist/demo.stories.tsx.mustache +25 -12
  42. package/src/tasks/create/templates/Constellation/field/Picklist/index.tsx.mustache +13 -61
  43. package/src/tasks/create/templates/Constellation/field/Picklist/mock.ts.mustache +9 -1
  44. package/src/tasks/create/templates/Constellation/field/Picklist/styles.ts.mustache +7 -14
  45. package/{tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MySearchbox/date.js → src/tasks/create/templates/Constellation/field/Picklist-Autocomplete/date.ts.mustache} +2 -1
  46. package/src/tasks/create/templates/Constellation/field/Picklist-Autocomplete/demo.stories.tsx.mustache +26 -14
  47. package/{tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MySearchbox/embed-utils.js → src/tasks/create/templates/Constellation/field/Picklist-Autocomplete/embed-utils.ts.mustache} +2 -1
  48. package/src/tasks/create/templates/Constellation/field/Picklist-Autocomplete/index.tsx.mustache +15 -76
  49. package/src/tasks/create/templates/Constellation/field/Picklist-Autocomplete/mock.ts.mustache +8 -1
  50. package/{tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MySearchbox/picklist-utils.js → src/tasks/create/templates/Constellation/field/Picklist-Autocomplete/picklist-utils.ts.mustache} +1 -0
  51. package/src/tasks/create/templates/Constellation/field/Picklist-Autocomplete/{repeat-constants.js.mustache → repeat-constants.ts.mustache} +1 -1
  52. package/src/tasks/create/templates/Constellation/field/Picklist-Autocomplete/{repeat-utils.js.mustache → repeat-utils.ts.mustache} +6 -12
  53. package/src/tasks/create/templates/Constellation/field/Picklist-Autocomplete/styles.ts.mustache +7 -14
  54. package/src/tasks/create/templates/Constellation/field/{Picklist-RadioButtons/textformat-utils.jsx.mustache → Picklist-Autocomplete/textformat-utils.tsx.mustache} +30 -10
  55. package/src/tasks/create/templates/Constellation/field/Picklist-Autocomplete/utils.ts.mustache +1 -1
  56. package/src/tasks/create/templates/Constellation/field/Picklist-RadioButtons/demo.stories.tsx.mustache +25 -13
  57. package/src/tasks/create/templates/Constellation/field/Picklist-RadioButtons/index.tsx.mustache +11 -58
  58. package/src/tasks/create/templates/Constellation/field/Picklist-RadioButtons/mock.ts.mustache +9 -1
  59. package/src/tasks/create/templates/Constellation/field/Picklist-RadioButtons/styles.ts.mustache +7 -14
  60. package/src/tasks/create/templates/Constellation/field/{Picklist-Autocomplete/textformat-utils.jsx.mustache → Picklist-RadioButtons/textformat-utils.tsx.mustache} +1 -0
  61. package/src/tasks/create/templates/Constellation/field/Text/demo.stories.tsx.mustache +23 -9
  62. package/src/tasks/create/templates/Constellation/field/Text/index.tsx.mustache +4 -22
  63. package/src/tasks/create/templates/Constellation/field/Text/mock.ts.mustache +8 -1
  64. package/src/tasks/create/templates/Constellation/field/Text/styles.ts.mustache +7 -14
  65. package/src/tasks/create/templates/Constellation/field/Text-Email/demo.stories.tsx.mustache +24 -11
  66. package/src/tasks/create/templates/Constellation/field/Text-Email/index.tsx.mustache +10 -47
  67. package/src/tasks/create/templates/Constellation/field/Text-Email/mock.ts.mustache +8 -1
  68. package/src/tasks/create/templates/Constellation/field/Text-Email/styles.ts.mustache +7 -14
  69. package/src/tasks/create/templates/Constellation/field/Text-Input/StatusWork.tsx +3 -9
  70. package/src/tasks/create/templates/Constellation/field/Text-Input/demo.stories.tsx.mustache +24 -11
  71. package/src/tasks/create/templates/Constellation/field/Text-Input/index.tsx.mustache +11 -51
  72. package/src/tasks/create/templates/Constellation/field/Text-Input/mock.ts.mustache +9 -1
  73. package/src/tasks/create/templates/Constellation/field/Text-Input/styles.ts.mustache +7 -14
  74. package/src/tasks/create/templates/Constellation/field/Text-Paragraph/demo.stories.tsx.mustache +24 -11
  75. package/src/tasks/create/templates/Constellation/field/Text-Paragraph/index.tsx.mustache +13 -49
  76. package/src/tasks/create/templates/Constellation/field/Text-Paragraph/mock.ts.mustache +9 -1
  77. package/src/tasks/create/templates/Constellation/field/Text-Paragraph/styles.ts.mustache +7 -14
  78. package/src/tasks/create/templates/Constellation/field/Text-Phone/demo.stories.tsx.mustache +25 -11
  79. package/src/tasks/create/templates/Constellation/field/Text-Phone/index.tsx.mustache +14 -53
  80. package/src/tasks/create/templates/Constellation/field/Text-Phone/mock.ts.mustache +9 -1
  81. package/src/tasks/create/templates/Constellation/field/Text-Phone/styles.ts.mustache +7 -14
  82. package/src/tasks/create/templates/Constellation/field/Text-URL/demo.stories.tsx.mustache +24 -11
  83. package/src/tasks/create/templates/Constellation/field/Text-URL/index.tsx.mustache +15 -71
  84. package/src/tasks/create/templates/Constellation/field/Text-URL/mock.ts.mustache +9 -1
  85. package/src/tasks/create/templates/Constellation/field/Text-URL/styles.ts.mustache +7 -14
  86. package/src/tasks/create/templates/Constellation/field/Text-URL/{text-url.jsx.mustache → text-url.tsx.mustache} +4 -3
  87. package/src/tasks/create/templates/Constellation/field/TimeOfDay/demo.stories.tsx.mustache +28 -22
  88. package/src/tasks/create/templates/Constellation/field/TimeOfDay/index.tsx.mustache +17 -53
  89. package/src/tasks/create/templates/Constellation/field/TimeOfDay/mock.ts.mustache +2 -1
  90. package/src/tasks/create/templates/Constellation/field/TimeOfDay/styles.ts.mustache +7 -14
  91. package/{tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyDateTime/date-utils.js → src/tasks/create/templates/Constellation/field/TimeOfDay/time-of-day.ts.mustache} +24 -23
  92. package/src/tasks/create/templates/Constellation/template/DETAILS/StatusWork.tsx.mustache +17 -19
  93. package/src/tasks/create/templates/Constellation/template/DETAILS/demo.stories.tsx.mustache +19 -8
  94. package/src/tasks/create/templates/Constellation/template/DETAILS/index.tsx.mustache +4 -17
  95. package/src/tasks/create/templates/Constellation/template/DETAILS/styles.ts.mustache +7 -14
  96. package/src/tasks/create/templates/Constellation/template/DETAILS-region/StatusWork.tsx.mustache +17 -19
  97. package/src/tasks/create/templates/Constellation/template/DETAILS-region/demo.stories.tsx.mustache +17 -8
  98. package/src/tasks/create/templates/Constellation/template/DETAILS-region/index.tsx.mustache +5 -19
  99. package/src/tasks/create/templates/Constellation/template/DETAILS-region/styles.ts.mustache +7 -14
  100. package/src/tasks/create/templates/Constellation/template/DETAILS-region/{utils.js.mustache → utils.ts.mustache} +15 -13
  101. package/src/tasks/create/templates/Constellation/template/FORM/demo.stories.tsx.mustache +18 -8
  102. package/src/tasks/create/templates/Constellation/template/FORM/index.tsx.mustache +5 -13
  103. package/src/tasks/create/templates/Constellation/template/FORM/styles.ts.mustache +7 -14
  104. package/src/tasks/create/templates/Constellation/template/FORM-region/demo.stories.tsx.mustache +17 -7
  105. package/src/tasks/create/templates/Constellation/template/FORM-region/index.tsx.mustache +4 -10
  106. package/src/tasks/create/templates/Constellation/template/FORM-region/styles.ts.mustache +7 -14
  107. package/src/tasks/create/templates/Constellation/template/PAGE/demo.stories.tsx.mustache +14 -8
  108. package/src/tasks/create/templates/Constellation/template/PAGE/index.tsx.mustache +5 -16
  109. package/src/tasks/create/templates/Constellation/template/PAGE/styles.ts.mustache +7 -14
  110. package/{tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyPage/utils.js → src/tasks/create/templates/Constellation/template/PAGE/utils.ts.mustache} +28 -14
  111. package/src/tasks/create/templates/Constellation/widget/CASE/demo.stories.tsx.mustache +13 -7
  112. package/src/tasks/create/templates/Constellation/widget/CASE/index.tsx.mustache +3 -10
  113. package/src/tasks/create/templates/Constellation/widget/CASE/styles.ts.mustache +7 -14
  114. package/src/tasks/create/templates/Constellation/widget/PAGE/demo.stories.tsx.mustache +18 -13
  115. package/src/tasks/create/templates/Constellation/widget/PAGE/index.tsx.mustache +4 -18
  116. package/src/tasks/create/templates/Constellation/widget/PAGE/styles.ts.mustache +7 -14
  117. package/src/tasks/create/templates/Constellation/widget/PAGE-CASE/Avatar.tsx.mustache +3 -13
  118. package/src/tasks/create/templates/Constellation/widget/PAGE-CASE/Operator.tsx.mustache +5 -20
  119. package/src/tasks/create/templates/Constellation/widget/PAGE-CASE/demo.stories.tsx.mustache +15 -9
  120. package/src/tasks/create/templates/Constellation/widget/PAGE-CASE/index.tsx.mustache +24 -39
  121. package/src/tasks/create/templates/Constellation/widget/PAGE-CASE/styles.ts.mustache +7 -14
  122. package/src/tasks/create/templates/SDK-Angular/widget/PAGE-CASE/page-case.component.ts.mustache +7 -5
  123. package/src/tasks/create/templates/SDK-React/field/Boolean/index.tsx.mustache +104 -25
  124. package/src/tasks/create/templates/SDK-React/field/DateTime/demo.stories.tsx.mustache +8 -1
  125. package/src/tasks/create/templates/SDK-React/field/Decimal/config.json.mustache +155 -0
  126. package/src/tasks/create/templates/SDK-React/field/Decimal/index.tsx.mustache +15 -12
  127. package/src/tasks/create/templates/SDK-React/field/Decimal-Currency/index.tsx.mustache +10 -16
  128. package/src/tasks/create/templates/SDK-React/field/Decimal-Percentage/demo.stories.tsx.mustache +20 -0
  129. package/src/tasks/create/templates/SDK-React/field/Decimal-Percentage/index.tsx.mustache +41 -36
  130. package/src/tasks/create/templates/SDK-React/template/DETAILS/demo.stories.tsx.mustache +10 -0
  131. package/src/tasks/create/templates/SDK-React/template/DETAILS-region/demo.stories.tsx.mustache +17 -3
  132. package/src/tasks/create/templates/SDK-React/widget/CASE/index.tsx.mustache +3 -3
  133. package/src/tasks/create/templates/SDK-React/widget/PAGE-CASE/demo.stories.tsx.mustache +7 -0
  134. package/src/tasks/create/templates/SDK-React/widget/PAGE-CASE/index.tsx.mustache +5 -3
  135. package/src/tasks/index.js +1 -0
  136. package/src/tasks/map/map.js +29 -8
  137. package/src/tasks/publish/index.js +3 -1
  138. package/src/tasks/publish-all/index.js +7 -5
  139. package/src/util.js +7 -0
  140. package/tests/assets/sdk-r/components/create/_components.md +6 -0
  141. package/tests/assets/sdk-r/components/create/custom-constellation/field/Pega_DXIL_MyTestText/demo.stories.tsx +23 -9
  142. package/tests/assets/sdk-r/components/create/custom-constellation/field/Pega_DXIL_MyTestText/index.tsx +4 -22
  143. package/tests/assets/sdk-r/components/create/custom-constellation/field/Pega_DXIL_MyTestText/mock.ts +8 -1
  144. package/tests/assets/sdk-r/components/create/custom-constellation/field/Pega_DXIL_MyTestText/styles.ts +7 -14
  145. package/tests/assets/sdk-r/components/create/override-sdk/designSystemExtension/CaseSummaryFields/CaseSummaryFields.tsx +2 -2
  146. package/tests/assets/sdk-r/components/create/override-sdk/designSystemExtension/FieldValueList/FieldValueList.tsx +10 -4
  147. package/tests/assets/sdk-r/components/create/override-sdk/designSystemExtension/Operator/Operator.tsx +5 -3
  148. package/tests/assets/sdk-r/components/create/override-sdk/field/CancelAlert/CancelAlert.tsx +95 -78
  149. package/tests/assets/sdk-r/components/create/override-sdk/field/Checkbox/Checkbox.tsx +104 -24
  150. package/tests/assets/sdk-r/components/create/override-sdk/field/Currency/Currency.tsx +10 -16
  151. package/tests/assets/sdk-r/components/create/override-sdk/field/Decimal/Decimal.tsx +18 -13
  152. package/tests/assets/sdk-r/components/create/override-sdk/field/Group/Group.tsx +2 -0
  153. package/tests/assets/sdk-r/components/create/override-sdk/field/Multiselect/Multiselect.tsx +244 -0
  154. package/tests/assets/sdk-r/components/create/override-sdk/field/Multiselect/index.tsx +1 -0
  155. package/tests/assets/sdk-r/components/create/override-sdk/field/Multiselect/utils.ts +230 -0
  156. package/tests/assets/sdk-r/components/create/override-sdk/field/Percentage/Percentage.tsx +41 -36
  157. package/tests/assets/sdk-r/components/create/override-sdk/field/RichText/RichText.tsx +2 -2
  158. package/tests/assets/sdk-r/components/create/override-sdk/infra/Assignment/Assignment.tsx +21 -7
  159. package/tests/assets/sdk-r/components/create/override-sdk/infra/NavBar/NavBar.tsx +6 -4
  160. package/tests/assets/sdk-r/components/create/override-sdk/template/CaseSummary/CaseSummary.tsx +43 -1
  161. package/tests/assets/sdk-r/components/create/override-sdk/template/CaseView/CaseView.tsx +1 -1
  162. package/tests/assets/sdk-r/components/create/override-sdk/template/CaseViewActionsMenu/CaseViewActionsMenu.tsx +34 -1
  163. package/tests/assets/sdk-r/components/create/override-sdk/template/ListView/ListView.tsx +8 -7
  164. package/tests/assets/sdk-r/components/create/override-sdk/template/ListView/utils.ts +3 -1
  165. package/tests/assets/sdk-r/components/create/override-sdk/template/SimpleTableManual/SimpleTableManual.tsx +32 -16
  166. package/tests/assets/sdk-r/components/create/override-sdk/template/WideNarrow/WideNarrow.tsx +1 -1
  167. package/tests/assets/sdk-r/components/create/override-sdk/template/WssNavBar/WssNavBar.tsx +4 -1
  168. package/tests/assets/sdk-r/components/create/override-sdk/widget/Attachment/Attachment.tsx +12 -2
  169. package/tests/assets/sdk-r/components/create/override-sdk/widget/QuickCreate/QuickCreate.tsx +52 -25
  170. package/tests/assets/sdk-r/components/createAll/_components.md +6 -0
  171. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyBoolean/Boolean.ts +35 -0
  172. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyBoolean/{demo.stories.jsx → demo.stories.tsx} +28 -20
  173. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyBoolean/index.tsx +11 -48
  174. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyBoolean/mock.ts +2 -1
  175. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyBoolean/styles.ts +7 -14
  176. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyCurrency/demo.stories.tsx +28 -15
  177. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyCurrency/index.tsx +24 -76
  178. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyCurrency/mock.ts +11 -1
  179. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyCurrency/styles.ts +7 -14
  180. package/{src/tasks/create/templates/Constellation/field/Date/DateFormatter.js.mustache → tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyDate/DateFormatter.ts} +6 -6
  181. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyDate/FormattedText.tsx +20 -0
  182. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyDate/{date.js → date.ts} +3 -2
  183. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyDate/demo.stories.tsx +31 -24
  184. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyDate/index.tsx +19 -60
  185. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyDate/mock.ts +2 -1
  186. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyDate/styles.ts +7 -14
  187. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyDateTime/{date-time.js → date-time.ts} +12 -12
  188. package/{src/tasks/create/templates/Constellation/field/TimeOfDay/time-of-day.js.mustache → tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyDateTime/date-utils.ts} +27 -26
  189. package/{src/tasks/create/templates/Constellation/field/DateTime/date.js.mustache → tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyDateTime/date.ts} +1 -0
  190. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyDateTime/demo.stories.tsx +32 -25
  191. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyDateTime/index.tsx +13 -60
  192. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyDateTime/mock.ts +3 -1
  193. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyDateTime/styles.ts +7 -14
  194. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyDecimal/demo.stories.tsx +25 -13
  195. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyDecimal/index.tsx +15 -68
  196. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyDecimal/mock.ts +9 -1
  197. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyDecimal/styles.ts +7 -14
  198. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyEmail/demo.stories.tsx +24 -11
  199. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyEmail/index.tsx +10 -47
  200. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyEmail/mock.ts +8 -1
  201. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyEmail/styles.ts +7 -14
  202. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyInteger/demo.stories.tsx +25 -12
  203. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyInteger/index.tsx +24 -88
  204. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyInteger/mock.ts +8 -2
  205. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyInteger/styles.ts +7 -14
  206. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyParagraph/demo.stories.tsx +24 -11
  207. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyParagraph/index.tsx +13 -49
  208. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyParagraph/mock.ts +9 -1
  209. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyParagraph/styles.ts +7 -14
  210. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyPercentage/demo.stories.tsx +25 -12
  211. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyPercentage/index.tsx +14 -55
  212. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyPercentage/mock.ts +9 -2
  213. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyPercentage/styles.ts +7 -14
  214. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyPhone/demo.stories.tsx +25 -11
  215. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyPhone/index.tsx +14 -53
  216. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyPhone/mock.ts +9 -1
  217. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyPhone/styles.ts +7 -14
  218. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyPicklist/demo.stories.tsx +25 -12
  219. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyPicklist/index.tsx +13 -61
  220. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyPicklist/mock.ts +9 -1
  221. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyPicklist/styles.ts +7 -14
  222. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyRadiobuttons/demo.stories.tsx +25 -13
  223. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyRadiobuttons/index.tsx +11 -58
  224. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyRadiobuttons/mock.ts +9 -1
  225. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyRadiobuttons/styles.ts +7 -14
  226. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/{Pega_DXIL_MySearchbox/textformat-utils.jsx → Pega_DXIL_MyRadiobuttons/textformat-utils.tsx} +1 -0
  227. package/{src/tasks/create/templates/Constellation/field/Picklist-Autocomplete/date.js.mustache → tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MySearchbox/date.ts} +2 -1
  228. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MySearchbox/demo.stories.tsx +26 -14
  229. package/{src/tasks/create/templates/Constellation/field/Picklist-Autocomplete/embed-utils.js.mustache → tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MySearchbox/embed-utils.ts} +2 -1
  230. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MySearchbox/index.tsx +15 -76
  231. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MySearchbox/mock.ts +8 -1
  232. package/{src/tasks/create/templates/Constellation/field/Picklist-Autocomplete/picklist-utils.js.mustache → tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MySearchbox/picklist-utils.ts} +1 -0
  233. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MySearchbox/{repeat-constants.js → repeat-constants.ts} +1 -1
  234. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MySearchbox/{repeat-utils.js → repeat-utils.ts} +6 -12
  235. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MySearchbox/styles.ts +7 -14
  236. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/{Pega_DXIL_MyRadiobuttons/textformat-utils.jsx → Pega_DXIL_MySearchbox/textformat-utils.tsx} +30 -10
  237. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MySearchbox/utils.ts +1 -1
  238. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyText/demo.stories.tsx +23 -9
  239. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyText/index.tsx +4 -22
  240. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyText/mock.ts +8 -1
  241. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyText/styles.ts +7 -14
  242. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyTextInput/StatusWork.tsx +3 -9
  243. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyTextInput/demo.stories.tsx +24 -11
  244. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyTextInput/index.tsx +11 -51
  245. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyTextInput/mock.ts +9 -1
  246. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyTextInput/styles.ts +7 -14
  247. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyTimeOfDay/demo.stories.tsx +28 -22
  248. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyTimeOfDay/index.tsx +17 -53
  249. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyTimeOfDay/mock.ts +2 -1
  250. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyTimeOfDay/styles.ts +7 -14
  251. package/{src/tasks/create/templates/Constellation/field/DateTime/date-utils.js.mustache → tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyTimeOfDay/time-of-day.ts} +24 -23
  252. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyURL/demo.stories.tsx +24 -11
  253. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyURL/index.tsx +15 -71
  254. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyURL/mock.ts +9 -1
  255. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyURL/styles.ts +7 -14
  256. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyURL/{text-url.jsx → text-url.tsx} +4 -3
  257. package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyDetails/StatusWork.tsx +17 -19
  258. package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyDetails/demo.stories.tsx +19 -8
  259. package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyDetails/index.tsx +4 -17
  260. package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyDetails/styles.ts +7 -14
  261. package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyForm/demo.stories.tsx +18 -8
  262. package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyForm/index.tsx +5 -13
  263. package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyForm/styles.ts +7 -14
  264. package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyPage/demo.stories.tsx +14 -8
  265. package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyPage/index.tsx +5 -16
  266. package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyPage/styles.ts +7 -14
  267. package/{src/tasks/create/templates/Constellation/template/PAGE/utils.js.mustache → tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyPage/utils.ts} +28 -14
  268. package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyTwoColumnDetails/StatusWork.tsx +17 -19
  269. package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyTwoColumnDetails/demo.stories.tsx +17 -8
  270. package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyTwoColumnDetails/index.tsx +5 -19
  271. package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyTwoColumnDetails/styles.ts +7 -14
  272. package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyTwoColumnDetails/{utils.js → utils.ts} +15 -13
  273. package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyTwoColumnForm/demo.stories.tsx +17 -7
  274. package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyTwoColumnForm/index.tsx +4 -10
  275. package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyTwoColumnForm/styles.ts +7 -14
  276. package/tests/assets/sdk-r/components/createAll/custom-constellation/widget/Pega_DXIL_MyCaseWidget/demo.stories.tsx +13 -7
  277. package/tests/assets/sdk-r/components/createAll/custom-constellation/widget/Pega_DXIL_MyCaseWidget/index.tsx +3 -10
  278. package/tests/assets/sdk-r/components/createAll/custom-constellation/widget/Pega_DXIL_MyCaseWidget/styles.ts +7 -14
  279. package/tests/assets/sdk-r/components/createAll/custom-constellation/widget/Pega_DXIL_MyPageCaseWidget/Avatar.tsx +3 -13
  280. package/tests/assets/sdk-r/components/createAll/custom-constellation/widget/Pega_DXIL_MyPageCaseWidget/Operator.tsx +5 -20
  281. package/tests/assets/sdk-r/components/createAll/custom-constellation/widget/Pega_DXIL_MyPageCaseWidget/demo.stories.tsx +15 -9
  282. package/tests/assets/sdk-r/components/createAll/custom-constellation/widget/Pega_DXIL_MyPageCaseWidget/index.tsx +24 -39
  283. package/tests/assets/sdk-r/components/createAll/custom-constellation/widget/Pega_DXIL_MyPageCaseWidget/styles.ts +7 -14
  284. package/tests/assets/sdk-r/components/createAll/custom-constellation/widget/Pega_DXIL_MyPageWidget/demo.stories.tsx +18 -13
  285. package/tests/assets/sdk-r/components/createAll/custom-constellation/widget/Pega_DXIL_MyPageWidget/index.tsx +4 -18
  286. package/tests/assets/sdk-r/components/createAll/custom-constellation/widget/Pega_DXIL_MyPageWidget/styles.ts +7 -14
  287. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyBoolean/index.tsx +104 -25
  288. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyCurrency/index.tsx +10 -16
  289. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyDateTime/demo.stories.tsx +8 -1
  290. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyDecimal/config.json +155 -0
  291. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyDecimal/index.tsx +15 -12
  292. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyPercentage/demo.stories.tsx +20 -0
  293. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyPercentage/index.tsx +41 -36
  294. package/tests/assets/sdk-r/components/createAll/custom-sdk/template/Pega_DXIL_MyDetails/demo.stories.tsx +10 -0
  295. package/tests/assets/sdk-r/components/createAll/custom-sdk/template/Pega_DXIL_MyTwoColumnDetails/demo.stories.tsx +17 -3
  296. package/tests/assets/sdk-r/components/createAll/custom-sdk/widget/Pega_DXIL_MyCaseWidget/index.tsx +3 -3
  297. package/tests/assets/sdk-r/components/createAll/custom-sdk/widget/Pega_DXIL_MyPageCaseWidget/demo.stories.tsx +7 -0
  298. package/tests/assets/sdk-r/components/createAll/custom-sdk/widget/Pega_DXIL_MyPageCaseWidget/index.tsx +5 -3
  299. package/tests/assets/sdk-r/components/createAll/override-sdk/designSystemExtension/CaseSummaryFields/CaseSummaryFields.tsx +2 -2
  300. package/tests/assets/sdk-r/components/createAll/override-sdk/designSystemExtension/FieldValueList/FieldValueList.tsx +10 -4
  301. package/tests/assets/sdk-r/components/createAll/override-sdk/designSystemExtension/Operator/Operator.tsx +5 -3
  302. package/tests/assets/sdk-r/components/createAll/override-sdk/field/CancelAlert/CancelAlert.tsx +95 -78
  303. package/tests/assets/sdk-r/components/createAll/override-sdk/field/Checkbox/Checkbox.tsx +104 -24
  304. package/tests/assets/sdk-r/components/createAll/override-sdk/field/Currency/Currency.tsx +10 -16
  305. package/tests/assets/sdk-r/components/createAll/override-sdk/field/Decimal/Decimal.tsx +18 -13
  306. package/tests/assets/sdk-r/components/createAll/override-sdk/field/Group/Group.tsx +2 -0
  307. package/tests/assets/sdk-r/components/createAll/override-sdk/field/Multiselect/Multiselect.tsx +244 -0
  308. package/tests/assets/sdk-r/components/createAll/override-sdk/field/Multiselect/index.tsx +1 -0
  309. package/tests/assets/sdk-r/components/createAll/override-sdk/field/Multiselect/utils.ts +230 -0
  310. package/tests/assets/sdk-r/components/createAll/override-sdk/field/Percentage/Percentage.tsx +41 -36
  311. package/tests/assets/sdk-r/components/createAll/override-sdk/field/RichText/RichText.tsx +2 -2
  312. package/tests/assets/sdk-r/components/createAll/override-sdk/infra/Assignment/Assignment.tsx +21 -7
  313. package/tests/assets/sdk-r/components/createAll/override-sdk/infra/NavBar/NavBar.tsx +6 -4
  314. package/tests/assets/sdk-r/components/createAll/override-sdk/template/CaseSummary/CaseSummary.tsx +43 -1
  315. package/tests/assets/sdk-r/components/createAll/override-sdk/template/CaseView/CaseView.tsx +1 -1
  316. package/tests/assets/sdk-r/components/createAll/override-sdk/template/CaseViewActionsMenu/CaseViewActionsMenu.tsx +34 -1
  317. package/tests/assets/sdk-r/components/createAll/override-sdk/template/ListView/ListView.tsx +8 -7
  318. package/tests/assets/sdk-r/components/createAll/override-sdk/template/ListView/utils.ts +3 -1
  319. package/tests/assets/sdk-r/components/createAll/override-sdk/template/SimpleTableManual/SimpleTableManual.tsx +32 -16
  320. package/tests/assets/sdk-r/components/createAll/override-sdk/template/WideNarrow/WideNarrow.tsx +1 -1
  321. package/tests/assets/sdk-r/components/createAll/override-sdk/template/WssNavBar/WssNavBar.tsx +4 -1
  322. package/tests/assets/sdk-r/components/createAll/override-sdk/widget/Attachment/Attachment.tsx +12 -2
  323. package/tests/assets/sdk-r/components/createAll/override-sdk/widget/QuickCreate/QuickCreate.tsx +52 -25
  324. package/src/tasks/create/templates/Constellation/field/Boolean/Boolean.js.mustache +0 -38
  325. package/src/tasks/create/templates/Constellation/field/Boolean/demo.stories.jsx.mustache +0 -63
  326. package/src/tasks/create/templates/Constellation/field/Date/FormattedText.jsx.mustache +0 -41
  327. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyBoolean/Boolean.js +0 -38
  328. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyDate/FormattedText.jsx +0 -41
  329. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyTestText/PConnProps.d.ts +0 -46
  330. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyTestText/demo.stories.tsx +0 -54
  331. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyTestText/index.tsx +0 -73
  332. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyTestText/mock.ts +0 -15
  333. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyTestText/styles.ts +0 -15
  334. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyTestText/config.json +0 -83
  335. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyTestText/demo.stories.tsx +0 -59
  336. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyTestText/index.tsx +0 -101
  337. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyTestText/mock.ts +0 -16
  338. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyTestText/styles.js +0 -7
  339. /package/src/tasks/create/templates/Constellation/field/Picklist-Autocomplete/{component-constants.js → component-constants.ts} +0 -0
  340. /package/src/tasks/create/templates/Constellation/field/Picklist-Autocomplete/{format-constants.js.mustache → format-constants.ts.mustache} +0 -0
  341. /package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MySearchbox/{component-constants.js → component-constants.ts} +0 -0
  342. /package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MySearchbox/{format-constants.js → format-constants.ts} +0 -0
@@ -0,0 +1,230 @@
1
+ import { useRef } from 'react';
2
+ import equal from 'fast-deep-equal';
3
+ import cloneDeep from 'lodash/cloneDeep';
4
+ import { updateNewInstuctions, insertInstruction, deleteInstruction } from '@pega/react-sdk-components/lib/components/helpers/instructions-utils';
5
+
6
+ export const setVisibilityForList = (c11nEnv, visibility) => {
7
+ const { selectionMode, selectionList, renderMode, referenceList } = c11nEnv.getComponentConfig();
8
+ // usecase:multiselect, fieldgroup, editable table
9
+ if ((selectionMode === PCore.getConstants().LIST_SELECTION_MODE.MULTI && selectionList) || (renderMode === 'Editable' && referenceList)) {
10
+ c11nEnv.getListActions().setVisibility(visibility);
11
+ }
12
+ };
13
+
14
+ const useDeepMemo = (memoFn, key) => {
15
+ const ref: any = useRef();
16
+ if (!ref.current || !equal(key, ref.current.key)) {
17
+ ref.current = { key, value: memoFn() };
18
+ }
19
+ return ref.current.value;
20
+ };
21
+
22
+ const preProcessColumns = columns => {
23
+ return columns?.map(col => {
24
+ const tempColObj = { ...col };
25
+ tempColObj.value = col.value && col.value.startsWith('.') ? col.value.substring(1) : col.value;
26
+ if (tempColObj.setProperty) {
27
+ tempColObj.setProperty = col.setProperty && col.setProperty.startsWith('.') ? col.setProperty.substring(1) : col.setProperty;
28
+ }
29
+ return tempColObj;
30
+ });
31
+ };
32
+
33
+ const getDisplayFieldsMetaData = columns => {
34
+ const displayColumns = columns?.filter(col => col.display === 'true');
35
+ const metaDataObj: any = {
36
+ key: '',
37
+ primary: '',
38
+ secondary: []
39
+ };
40
+ const keyCol = columns?.filter(col => col.key === 'true');
41
+ metaDataObj.key = keyCol?.length > 0 ? keyCol[0].value : 'auto';
42
+ const itemsRecordsColumn = columns?.filter(col => col.itemsRecordsColumn === 'true');
43
+ if (itemsRecordsColumn?.length > 0) {
44
+ metaDataObj.itemsRecordsColumn = itemsRecordsColumn[0].value;
45
+ }
46
+ const itemsGroupKeyColumn = columns?.filter(col => col.itemsGroupKeyColumn === 'true');
47
+ if (itemsGroupKeyColumn?.length > 0) {
48
+ metaDataObj.itemsGroupKeyColumn = itemsGroupKeyColumn[0].value;
49
+ }
50
+ for (let index = 0; index < displayColumns?.length; index += 1) {
51
+ if (displayColumns[index].secondary === 'true') {
52
+ metaDataObj.secondary.push(displayColumns[index].value);
53
+ } else if (displayColumns[index].primary === 'true') {
54
+ metaDataObj.primary = displayColumns[index].value;
55
+ }
56
+ }
57
+ return metaDataObj;
58
+ };
59
+
60
+ const createSingleTreeObejct = (entry, displayFieldMeta, showSecondaryData, selected) => {
61
+ const secondaryArr: any = [];
62
+ displayFieldMeta.secondary.forEach(col => {
63
+ secondaryArr.push(entry[col]);
64
+ });
65
+ const isSelected = selected.some(item => item.id === entry[displayFieldMeta.key]);
66
+
67
+ return {
68
+ id: entry[displayFieldMeta.key],
69
+ primary: entry[displayFieldMeta.primary],
70
+ secondary: showSecondaryData ? secondaryArr : [],
71
+ selected: isSelected
72
+ };
73
+ };
74
+
75
+ const putItemsDataInItemsTree = (listObjData, displayFieldMeta, itemsTree, showSecondaryInSearchOnly, selected) => {
76
+ let newTreeItems = itemsTree.slice();
77
+ const showSecondaryData = !showSecondaryInSearchOnly;
78
+ for (const obj of listObjData) {
79
+ const items = obj[displayFieldMeta.itemsRecordsColumn].map(entry => createSingleTreeObejct(entry, displayFieldMeta, showSecondaryData, selected));
80
+
81
+ newTreeItems = newTreeItems.map(caseObject => {
82
+ if (caseObject.id === obj[displayFieldMeta.itemsGroupKeyColumn]) {
83
+ caseObject.items = [...items];
84
+ }
85
+ return caseObject;
86
+ });
87
+ }
88
+ return newTreeItems;
89
+ };
90
+
91
+ const prepareSearchResults = (listObjData, displayFieldMeta) => {
92
+ const searchResults: any = [];
93
+ for (const obj of listObjData) {
94
+ searchResults.push(...obj[displayFieldMeta.itemsRecordsColumn]);
95
+ }
96
+ return searchResults;
97
+ };
98
+
99
+ const doSearch = async (
100
+ searchText,
101
+ clickedGroup,
102
+ initialCaseClass,
103
+ displayFieldMeta,
104
+ dataApiObj, // deep clone of the dataApiObj
105
+ itemsTree,
106
+ isGroupData,
107
+ showSecondaryInSearchOnly,
108
+ selected
109
+ ) => {
110
+ let searchTextForUngroupedData = '';
111
+ if (dataApiObj) {
112
+ // creating dataApiObject in grouped data cases
113
+ if (isGroupData) {
114
+ dataApiObj = cloneDeep(dataApiObj);
115
+ dataApiObj.fetchedNQData = false;
116
+ dataApiObj.cache = {};
117
+
118
+ // if we have no search text and no group selected, return the original tree
119
+ if (searchText === '' && clickedGroup === '') {
120
+ return itemsTree;
121
+ }
122
+
123
+ // setting the inital search text & search classes in ApiObject
124
+ dataApiObj.parameters[Object.keys(dataApiObj.parameters)[1]] = searchText;
125
+ dataApiObj.parameters[Object.keys(dataApiObj.parameters)[0]] = initialCaseClass;
126
+
127
+ // if we have a selected group
128
+ if (clickedGroup) {
129
+ // check if the data for this group is already present and no search text
130
+ if (searchText === '') {
131
+ const containsData = itemsTree.find(item => item.id === clickedGroup);
132
+ // do not make API call when items of respective group are already fetched
133
+ if (containsData?.items?.length) return itemsTree;
134
+ }
135
+
136
+ dataApiObj.parameters[Object.keys(dataApiObj.parameters)[0]] = JSON.stringify([clickedGroup]);
137
+ }
138
+ } else {
139
+ searchTextForUngroupedData = searchText;
140
+ }
141
+
142
+ // search API call
143
+ const response = await dataApiObj.fetchData(searchTextForUngroupedData).catch(() => {
144
+ return itemsTree;
145
+ });
146
+
147
+ let listObjData = response.data;
148
+ let newItemsTree = [];
149
+ if (isGroupData) {
150
+ if (searchText) {
151
+ listObjData = prepareSearchResults(listObjData, displayFieldMeta);
152
+ } else {
153
+ newItemsTree = putItemsDataInItemsTree(listObjData, displayFieldMeta, itemsTree, showSecondaryInSearchOnly, selected);
154
+ return newItemsTree;
155
+ }
156
+ }
157
+ const showSecondaryData = showSecondaryInSearchOnly ? !!searchText : true;
158
+ if (listObjData !== undefined && listObjData.length > 0) {
159
+ newItemsTree = listObjData.map(entry => createSingleTreeObejct(entry, displayFieldMeta, showSecondaryData, selected));
160
+ }
161
+ return newItemsTree;
162
+ }
163
+
164
+ return itemsTree;
165
+ };
166
+
167
+ const setValuesToPropertyList = (searchText, assocProp, items, columns, actions, updatePropertyInRedux = true) => {
168
+ const setPropertyList = columns
169
+ ?.filter(col => col.setProperty)
170
+ .map(col => {
171
+ return {
172
+ source: col.value,
173
+ target: col.setProperty,
174
+ key: col.key,
175
+ primary: col.primary
176
+ };
177
+ });
178
+ const valueToSet: any = [];
179
+ if (setPropertyList.length > 0) {
180
+ setPropertyList.forEach(prop => {
181
+ items.forEach(item => {
182
+ if (prop.key === 'true' && item) {
183
+ valueToSet.push(item.id);
184
+ } else if (prop.primary === 'true' || !item) {
185
+ valueToSet.push(searchText);
186
+ }
187
+ });
188
+
189
+ if (updatePropertyInRedux) {
190
+ // BUG-666851 setting options so that the store values are replaced and not merged
191
+ const options = {
192
+ isArrayDeepMerge: false
193
+ };
194
+ if (prop.target === 'Associated property') {
195
+ actions.updateFieldValue(assocProp, valueToSet, options);
196
+ } else {
197
+ actions.updateFieldValue(`.${prop.target}`, valueToSet, options);
198
+ }
199
+ }
200
+ });
201
+ }
202
+ return valueToSet;
203
+ };
204
+
205
+ const getGroupDataForItemsTree = (groupDataSource, groupsDisplayFieldMeta, showSecondaryInSearchOnly) => {
206
+ return groupDataSource?.map(group => {
207
+ const secondaryArr: any = [];
208
+ groupsDisplayFieldMeta.secondary.forEach(col => {
209
+ secondaryArr.push(group[col]);
210
+ });
211
+ return {
212
+ id: group[groupsDisplayFieldMeta.key],
213
+ primary: group[groupsDisplayFieldMeta.primary],
214
+ secondary: showSecondaryInSearchOnly ? [] : secondaryArr,
215
+ items: []
216
+ };
217
+ });
218
+ };
219
+
220
+ export {
221
+ useDeepMemo,
222
+ preProcessColumns,
223
+ getDisplayFieldsMetaData,
224
+ doSearch,
225
+ setValuesToPropertyList,
226
+ getGroupDataForItemsTree,
227
+ updateNewInstuctions,
228
+ insertInstruction,
229
+ deleteInstruction
230
+ };
@@ -1,67 +1,58 @@
1
- import { TextField } from '@material-ui/core';
2
- import { makeStyles } from '@material-ui/core/styles';
1
+ import CurrencyTextField from '@unicef/material-ui-currency-textfield';
3
2
 
4
3
  import { getComponentFromMap } from '@pega/react-sdk-components/lib/bridge/helpers/sdk_component_map';
5
4
  import { PConnFieldProps } from '@pega/react-sdk-components/lib/types/PConnProps';
5
+ import { getCurrencyCharacters, getCurrencyOptions } from '@pega/react-sdk-components/lib/components/field/Currency/currency-utils';
6
+ import handleEvent from '@pega/react-sdk-components/lib/components/helpers/event-utils';
7
+ import { format } from '@pega/react-sdk-components/lib/components/helpers/formatters';
6
8
 
7
- // Inspired by https://stackoverflow.com/questions/50823182/material-ui-remove-up-down-arrow-dials-from-textview
8
- const useStyles = makeStyles((/* theme */) => ({
9
- input: {
10
- '& input[type=number]': {
11
- '-moz-appearance': 'textfield'
12
- },
13
- '& input[type=number]::-webkit-outer-spin-button': {
14
- '-webkit-appearance': 'none',
15
- margin: 0
16
- },
17
- '& input[type=number]::-webkit-inner-spin-button': {
18
- '-webkit-appearance': 'none',
19
- margin: 0
20
- }
21
- }
22
- }));
23
-
9
+ /* Using @unicef/material-ui-currency-textfield component here, since it allows formatting decimal values,
10
+ as per the locale.
11
+ */
24
12
  interface PercentageProps extends PConnFieldProps {
25
13
  // If any, enter additional props that only exist on Percentage here
14
+ currencyISOCode?: string;
26
15
  }
27
16
 
28
17
  export default function Percentage(props: PercentageProps) {
29
18
  // Get emitted components from map (so we can get any override that may exist)
30
- const TextInput = getComponentFromMap('TextInput');
31
19
  const FieldValueList = getComponentFromMap('FieldValueList');
32
20
 
33
- const classes = useStyles();
34
-
35
21
  const {
22
+ getPConnect,
36
23
  label,
37
24
  required,
38
25
  disabled,
39
26
  value = '',
40
27
  validatemessage,
41
28
  status,
42
- onChange,
43
- onBlur,
29
+ // onChange,
30
+ // onBlur,
44
31
  readOnly,
32
+ currencyISOCode = 'USD',
45
33
  testId,
46
34
  helperText,
47
35
  displayMode,
48
36
  hideLabel,
49
37
  placeholder
50
38
  } = props;
39
+
40
+ const pConn = getPConnect();
41
+ const actions = pConn.getActionsApi();
42
+ const propName = (pConn.getStateProps() as any).value;
51
43
  const helperTextToDisplay = validatemessage || helperText;
52
44
 
45
+ const theCurrencyOptions = getCurrencyOptions(currencyISOCode);
46
+ const formattedValue = format(value, pConn.getComponentName().toLowerCase(), theCurrencyOptions);
47
+
53
48
  // console.log(`Percentage: label: ${label} value: ${value}`);
54
49
 
55
50
  if (displayMode === 'LABELS_LEFT') {
56
- return <FieldValueList name={hideLabel ? '' : label} value={value} />;
51
+ return <FieldValueList name={hideLabel ? '' : label} value={formattedValue} />;
57
52
  }
58
53
 
59
54
  if (displayMode === 'STACKED_LARGE_VAL') {
60
- return <FieldValueList name={hideLabel ? '' : label} value={value} variant='stacked' />;
61
- }
62
-
63
- if (readOnly) {
64
- return <TextInput {...props} />;
55
+ return <FieldValueList name={hideLabel ? '' : label} value={formattedValue} variant='stacked' />;
65
56
  }
66
57
 
67
58
  let testProp = {};
@@ -70,9 +61,16 @@ export default function Percentage(props: PercentageProps) {
70
61
  'data-test-id': testId
71
62
  };
72
63
 
64
+ const theSymbols = getCurrencyCharacters(currencyISOCode);
65
+ const theCurrDec = theSymbols.theDecimalIndicator;
66
+ const theCurrSep = theSymbols.theDigitGroupSeparator;
67
+
68
+ function PercentageOnBlur(event, inValue) {
69
+ handleEvent(actions, 'changeNblur', propName, inValue !== '' ? Number(inValue) : inValue);
70
+ }
71
+
73
72
  return (
74
- <TextField
75
- className={classes.input}
73
+ <CurrencyTextField
76
74
  fullWidth
77
75
  variant={readOnly ? 'standard' : 'outlined'}
78
76
  helperText={helperTextToDisplay}
@@ -80,13 +78,20 @@ export default function Percentage(props: PercentageProps) {
80
78
  size='small'
81
79
  required={required}
82
80
  disabled={disabled}
83
- onChange={onChange}
84
- onBlur={!readOnly ? onBlur : undefined}
81
+ readOnly={!!readOnly}
85
82
  error={status === 'error'}
86
83
  label={label}
87
84
  value={value}
88
- type='number'
89
- inputProps={{ ...testProp }}
85
+ type='text'
86
+ outputFormat='number'
87
+ textAlign='left'
88
+ InputProps={{
89
+ inputProps: { ...testProp }
90
+ }}
91
+ currencySymbol=''
92
+ decimalCharacter={theCurrDec}
93
+ digitGroupSeparator={theCurrSep}
94
+ onBlur={!readOnly ? PercentageOnBlur : undefined}
90
95
  />
91
96
  );
92
97
  }
@@ -24,11 +24,11 @@ export default function RichText(props: RichTextProps) {
24
24
  const helperTextToDisplay = validatemessage || helperText;
25
25
 
26
26
  if (displayMode === 'LABELS_LEFT') {
27
- return <FieldValueList name={hideLabel ? '' : label} value={value} />;
27
+ return <FieldValueList name={hideLabel ? '' : label} value={value} isHtml />;
28
28
  }
29
29
 
30
30
  if (displayMode === 'STACKED_LARGE_VAL') {
31
- return <FieldValueList name={hideLabel ? '' : label} value={value} variant='stacked' />;
31
+ return <FieldValueList name={hideLabel ? '' : label} value={value} isHtml variant='stacked' />;
32
32
  }
33
33
 
34
34
  let richTextComponent;
@@ -70,6 +70,20 @@ export default function Assignment(props: PropsWithChildren<AssignmentProps>) {
70
70
  return arIndicies;
71
71
  }
72
72
 
73
+ function getStepsInfo(steps, formedSteps: any = []) {
74
+ steps.forEach(step => {
75
+ if (step.name) {
76
+ step.name = PCore.getLocaleUtils().getLocaleValue(step.name, undefined, localeReference);
77
+ }
78
+ if (step.steps) {
79
+ formedSteps = getStepsInfo(step.steps, formedSteps);
80
+ } else {
81
+ formedSteps.push(step);
82
+ }
83
+ });
84
+ return formedSteps;
85
+ }
86
+
73
87
  useEffect(() => {
74
88
  if (children) {
75
89
  const firstChild = Array.isArray(children) ? children[0] : children;
@@ -97,13 +111,13 @@ export default function Assignment(props: PropsWithChildren<AssignmentProps>) {
97
111
  } else {
98
112
  setIsVertical(false);
99
113
  }
100
- const steps = JSON.parse(JSON.stringify(oCaseInfo?.navigation?.steps));
101
- steps.forEach(step => {
102
- if (step.name) {
103
- step.name = PCore.getLocaleUtils().getLocaleValue(step.name, undefined, localeReference);
104
- }
105
- });
106
- setArNavigationSteps(steps);
114
+
115
+ if (oCaseInfo?.navigation?.steps) {
116
+ const steps = JSON.parse(JSON.stringify(oCaseInfo?.navigation?.steps));
117
+ const formedSteps = getStepsInfo(steps);
118
+ setArNavigationSteps(formedSteps);
119
+ }
120
+
107
121
  setArCurrentStepIndicies(findCurrentIndicies(arNavigationSteps, arCurrentStepIndicies, 0));
108
122
  }
109
123
  }
@@ -116,6 +116,8 @@ export default function NavBar(props: NavBarProps) {
116
116
  const [bShowCaseTypes, setBShowCaseTypes] = useState(true);
117
117
  const [bShowOperatorButtons, setBShowOperatorButtons] = useState(false);
118
118
  const [anchorEl, setAnchorEl] = useState(null);
119
+ const localeUtils = PCore.getLocaleUtils();
120
+ const localeReference = pConn.getValue('.pyLocaleReference');
119
121
 
120
122
  const localizedVal = PCore.getLocaleUtils().getLocaleValue;
121
123
  const localeCategory = 'AppShell';
@@ -231,7 +233,7 @@ export default function NavBar(props: NavBarProps) {
231
233
  <ListItemIcon>
232
234
  <WorkOutlineIcon fontSize='large' />
233
235
  </ListItemIcon>
234
- <ListItemText primary={caseType.pyLabel} />
236
+ <ListItemText primary={localeUtils.getLocaleValue(caseType.pyLabel, '', localeReference)} />
235
237
  </ListItem>
236
238
  ))}
237
239
  </List>
@@ -240,14 +242,14 @@ export default function NavBar(props: NavBarProps) {
240
242
  {navPages.map(page => (
241
243
  <ListItem button onClick={() => navPanelButtonClick(page)} key={page.pyLabel}>
242
244
  <ListItemIcon>{iconMap[page.pxPageViewIcon]}</ListItemIcon>
243
- <ListItemText primary={page.pyLabel} />
245
+ <ListItemText primary={localeUtils.getLocaleValue(page.pyLabel, '', localeReference)} />
244
246
  </ListItem>
245
247
  ))}
246
248
  </List>
247
249
  <Divider />
248
250
  <List className='marginTopAuto'>
249
251
  <>
250
- <ListItem onClick={navPanelOperatorButtonClick}>
252
+ <ListItem onClick={navPanelOperatorButtonClick} style={{ cursor: 'pointer' }}>
251
253
  <ListItemIcon>
252
254
  <PersonOutlineIcon fontSize='large' />
253
255
  </ListItemIcon>
@@ -278,7 +280,7 @@ export default function NavBar(props: NavBarProps) {
278
280
  <ListItemIcon>
279
281
  <ArrowBackIcon fontSize='large' />
280
282
  </ListItemIcon>
281
- <Typography variant='inherit'>{localizedVal('Logout', localeCategory)}</Typography>
283
+ <Typography variant='inherit'>{localizedVal('Log off', localeCategory)}</Typography>
282
284
  </MenuItem>
283
285
  </Menu>
284
286
  </>
@@ -17,7 +17,8 @@ export default function CaseSummary(props: PropsWithChildren<CaseSummaryProps>)
17
17
  // const { status, showStatus } = theConfigProps;
18
18
  const status = theConfigProps.status;
19
19
  const showStatus = theConfigProps.showStatus;
20
-
20
+ const localizedVal = PCore.getLocaleUtils().getLocaleValue;
21
+ const localeCategory = 'ModalContainer';
21
22
  // from Constellation DX Components
22
23
  // get the primary and secondary fields with the raw data (which has the non-resolved property values)
23
24
  // const regionsRaw = getPConnect().getRawMetadata().children;
@@ -29,13 +30,54 @@ export default function CaseSummary(props: PropsWithChildren<CaseSummaryProps>)
29
30
  let arPrimaryFields: any[] = [];
30
31
  let arSecondaryFields: any[] = [];
31
32
 
33
+ /* eslint-disable @typescript-eslint/no-shadow */
34
+ function prepareComponentInCaseSummary(pConnectMeta, getPConnect) {
35
+ const { config, children } = pConnectMeta;
36
+ const pConnect = getPConnect();
37
+
38
+ const caseSummaryComponentObject: any = {};
39
+
40
+ const { type } = pConnectMeta;
41
+ const createdComponent = pConnect.createComponent({
42
+ type,
43
+ children: children ? [...children] : [],
44
+ config: {
45
+ ...config
46
+ }
47
+ });
48
+
49
+ caseSummaryComponentObject.value = createdComponent;
50
+ return caseSummaryComponentObject;
51
+ }
52
+
53
+ function prepareCaseSummaryData(summaryFieldChildren) {
54
+ const convertChildrenToSummaryData = kid => {
55
+ return kid?.map((childItem, index) => {
56
+ const childMeta = childItem.getPConnect().meta;
57
+ const caseSummaryComponentObject = prepareComponentInCaseSummary(childMeta, childItem.getPConnect);
58
+ caseSummaryComponentObject.id = index + 1;
59
+ return caseSummaryComponentObject;
60
+ });
61
+ };
62
+ return summaryFieldChildren ? convertChildrenToSummaryData(summaryFieldChildren?.getChildren()) : undefined;
63
+ }
64
+
32
65
  for (const child of children as ReactElement[]) {
33
66
  const childPConn = (child as ReactElement).props.getPConnect();
34
67
  const childPConnData = childPConn.resolveConfigProps(childPConn.getRawMetadata());
35
68
  if (childPConnData.name.toLowerCase() === 'primary fields') {
36
69
  arPrimaryFields = childPConnData.children;
70
+ arPrimaryFields.forEach(field => {
71
+ if (field.config?.value && typeof field.config?.value === 'string') {
72
+ field.config.value = localizedVal(field.config.value, localeCategory);
73
+ }
74
+ });
37
75
  } else if (childPConnData.name.toLowerCase() === 'secondary fields') {
76
+ const secondarySummaryFields = prepareCaseSummaryData(childPConn);
38
77
  arSecondaryFields = childPConnData.children;
78
+ arSecondaryFields.forEach((field, index) => {
79
+ field.config.displayLabel = secondarySummaryFields[index]?.value?.props?.label;
80
+ });
39
81
  }
40
82
  }
41
83
 
@@ -178,7 +178,7 @@ export default function CaseView(props: PropsWithChildren<CaseViewProps>) {
178
178
  const actionsAPI = thePConn.getActionsApi();
179
179
  const openLocalAction = actionsAPI.openLocalAction.bind(actionsAPI);
180
180
 
181
- openLocalAction(editAction.ID, { ...editAction });
181
+ openLocalAction(editAction.ID, { ...editAction, containerName: 'modal', type: 'express' });
182
182
  }
183
183
 
184
184
  function getActionButtonsHtml(): any {
@@ -4,6 +4,9 @@ import Menu from '@material-ui/core/Menu';
4
4
  import MenuItem from '@material-ui/core/MenuItem';
5
5
 
6
6
  import { PConnProps } from '@pega/react-sdk-components/lib/types/PConnProps';
7
+ import Snackbar from '@material-ui/core/Snackbar';
8
+ import IconButton from '@material-ui/core/IconButton';
9
+ import CloseIcon from '@material-ui/icons/Close';
7
10
 
8
11
  interface CaseViewActionsMenuProps extends PConnProps {
9
12
  // If any, enter additional props that only exist on this component
@@ -23,6 +26,9 @@ export default function CaseViewActionsMenu(props: CaseViewActionsMenuProps) {
23
26
 
24
27
  const [anchorEl, setAnchorEl] = useState<null | HTMLElement>(null);
25
28
 
29
+ const [showSnackbar, setShowSnackbar] = useState(false);
30
+ const [snackbarMessage, setSnackbarMessage]: any = useState('');
31
+
26
32
  const handleClick = (event: React.MouseEvent<HTMLButtonElement>) => {
27
33
  setAnchorEl(event.currentTarget);
28
34
  };
@@ -33,6 +39,18 @@ export default function CaseViewActionsMenu(props: CaseViewActionsMenuProps) {
33
39
 
34
40
  const arMenuItems: any[] = [];
35
41
 
42
+ function showToast(message: string) {
43
+ setSnackbarMessage(message);
44
+ setShowSnackbar(true);
45
+ }
46
+
47
+ function handleSnackbarClose(event: React.SyntheticEvent | React.MouseEvent, reason?: string) {
48
+ if (reason === 'clickaway') {
49
+ return;
50
+ }
51
+ setShowSnackbar(false);
52
+ }
53
+
36
54
  function _actionMenuActionsClick(data) {
37
55
  const actionsAPI = thePConn.getActionsApi();
38
56
  const openLocalAction = actionsAPI.openLocalAction.bind(actionsAPI);
@@ -51,7 +69,11 @@ export default function CaseViewActionsMenu(props: CaseViewActionsMenuProps) {
51
69
  const openProcessAction = actionsAPI.openProcessAction.bind(actionsAPI);
52
70
  openProcessAction(process.ID, {
53
71
  ...process
54
- });
72
+ })
73
+ .then(() => {})
74
+ .catch(() => {
75
+ showToast(`${process.name} Submit failed!`);
76
+ });
55
77
  handleClose();
56
78
  }
57
79
 
@@ -79,6 +101,17 @@ export default function CaseViewActionsMenu(props: CaseViewActionsMenuProps) {
79
101
  <Menu id='simple-menu' anchorEl={anchorEl} keepMounted open={Boolean(anchorEl)} onClose={handleClose}>
80
102
  {arMenuItems}
81
103
  </Menu>
104
+ <Snackbar
105
+ open={showSnackbar}
106
+ autoHideDuration={3000}
107
+ onClose={handleSnackbarClose}
108
+ message={snackbarMessage}
109
+ action={
110
+ <IconButton size='small' aria-label='close' color='inherit' onClick={handleSnackbarClose}>
111
+ <CloseIcon fontSize='small' />
112
+ </IconButton>
113
+ }
114
+ />
82
115
  </>
83
116
  );
84
117
  }
@@ -154,7 +154,8 @@ export default function ListView(props: ListViewProps) {
154
154
  paper: {
155
155
  width: '100%',
156
156
  marginTop: theme.spacing(2),
157
- marginBottom: theme.spacing(2)
157
+ marginBottom: theme.spacing(2),
158
+ display: 'grid'
158
159
  },
159
160
  search: {
160
161
  padding: '5px 5px'
@@ -208,10 +209,10 @@ export default function ListView(props: ListViewProps) {
208
209
  };
209
210
 
210
211
  function descendingComparator<T>(a: T, b: T, orderedBy: keyof T) {
211
- if (b[orderedBy] < a[orderedBy]) {
212
+ if (!b[orderedBy] || b[orderedBy] < a[orderedBy]) {
212
213
  return -1;
213
214
  }
214
- if (b[orderedBy] > a[orderedBy]) {
215
+ if (!a[orderedBy] || b[orderedBy] > a[orderedBy]) {
215
216
  return 1;
216
217
  }
217
218
  return 0;
@@ -980,7 +981,7 @@ export default function ListView(props: ListViewProps) {
980
981
  break;
981
982
 
982
983
  default:
983
- val = column.format && typeof value === 'number' ? column.format(value) : value;
984
+ val = column.format && typeof value === 'number' ? column.format(value) : value || '---';
984
985
  }
985
986
  return val;
986
987
  };
@@ -1046,7 +1047,7 @@ export default function ListView(props: ListViewProps) {
1046
1047
  .slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage)
1047
1048
  .map(row => {
1048
1049
  return (
1049
- <TableRow key={row.pxRefObjectInsName || row.pyID}>
1050
+ <TableRow key={row.pxRefObjectInsName || row.pyID || row.pyGUID}>
1050
1051
  {arColumns.map(column => {
1051
1052
  const value = row[column.id];
1052
1053
  return (
@@ -1061,7 +1062,7 @@ export default function ListView(props: ListViewProps) {
1061
1062
  {column.format && typeof value === 'number' ? column.format(value) : value}
1062
1063
  </Link>
1063
1064
  ) : (
1064
- <>{column.format && typeof value === 'number' ? column.format(value) : value}</>
1065
+ <>{column.format && typeof value === 'number' ? column.format(value) : value || '---'}</>
1065
1066
  )}
1066
1067
  </TableCell>
1067
1068
  );
@@ -1103,7 +1104,7 @@ export default function ListView(props: ListViewProps) {
1103
1104
  .slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage)
1104
1105
  .map(row => {
1105
1106
  return (
1106
- <TableRow key={row[rowID]}>
1107
+ <TableRow key={row.pxRefObjectInsName || row.pyGUID || row.pyID}>
1107
1108
  {selectionMode === SELECTION_MODE.SINGLE && (
1108
1109
  <TableCell>
1109
1110
  <Radio
@@ -680,7 +680,9 @@ export const readContextResponse = async (context, params) => {
680
680
  if (compositeKeys.length) {
681
681
  otherContext.setCompositeKeys(compositeKeys);
682
682
  }
683
- otherContext.fetchRowActionDetails = null;
683
+ if (otherContext) {
684
+ otherContext.fetchRowActionDetails = null;
685
+ }
684
686
  }
685
687
 
686
688
  const presetArray = [];