@pega/custom-dx-components 8.8.16 → 8.8.18

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 (246) hide show
  1. package/.prettierrc.json +7 -1
  2. package/babel.config.cjs +13 -0
  3. package/jest.config.cjs +37 -0
  4. package/package.json +12 -4
  5. package/src/auth.js +9 -3
  6. package/src/cli.js +12 -0
  7. package/src/constants.js +9 -4
  8. package/src/currentPath.cjs +1 -0
  9. package/src/tasks/authenticate/index.js +43 -40
  10. package/src/tasks/build/helper.js +18 -31
  11. package/src/tasks/build/index.js +26 -6
  12. package/src/tasks/build-all/index.js +15 -3
  13. package/src/tasks/bundle/builder/index.js +5 -0
  14. package/src/tasks/bundle/builder/webpack.config.js +1 -3
  15. package/src/tasks/create/index.js +17 -7
  16. package/src/tasks/create/templates/Constellation/Field/Boolean/styles.js.mustache +13 -6
  17. package/src/tasks/create/templates/Constellation/Field/Date/DateFormatter.js.mustache +7 -7
  18. package/src/tasks/create/templates/Constellation/Field/Date/date.js.mustache +8 -8
  19. package/src/tasks/create/templates/Constellation/Field/Date/styles.js.mustache +13 -6
  20. package/src/tasks/create/templates/Constellation/Field/DateTime/date-time.js.mustache +10 -10
  21. package/src/tasks/create/templates/Constellation/Field/DateTime/date-utils.js.mustache +6 -5
  22. package/src/tasks/create/templates/Constellation/Field/DateTime/date.js.mustache +6 -3
  23. package/src/tasks/create/templates/Constellation/Field/DateTime/styles.js.mustache +13 -6
  24. package/src/tasks/create/templates/Constellation/Field/Decimal/styles.js.mustache +13 -6
  25. package/src/tasks/create/templates/Constellation/Field/Decimal-Currency/styles.js.mustache +13 -6
  26. package/src/tasks/create/templates/Constellation/Field/Decimal-Percentage/styles.js.mustache +13 -6
  27. package/src/tasks/create/templates/Constellation/Field/Integer/styles.js.mustache +13 -6
  28. package/src/tasks/create/templates/Constellation/Field/Picklist/styles.js.mustache +13 -6
  29. package/src/tasks/create/templates/Constellation/Field/Text/styles.js.mustache +13 -6
  30. package/src/tasks/create/templates/Constellation/Field/Text-Email/styles.js.mustache +13 -6
  31. package/src/tasks/create/templates/Constellation/Field/Text-Input/styles.js.mustache +13 -6
  32. package/src/tasks/create/templates/Constellation/Field/Text-Paragraph/styles.js.mustache +13 -6
  33. package/src/tasks/create/templates/Constellation/Field/Text-Phone/styles.js.mustache +13 -6
  34. package/src/tasks/create/templates/Constellation/Field/Text-URL/styles.js.mustache +13 -6
  35. package/src/tasks/create/templates/Constellation/Field/TimeOfDay/styles.js.mustache +13 -6
  36. package/src/tasks/create/templates/Constellation/Field/TimeOfDay/time-of-day.js.mustache +6 -5
  37. package/src/tasks/create/templates/Constellation/Template/DETAILS/styles.js.mustache +13 -6
  38. package/src/tasks/create/templates/Constellation/Template/DETAILS-region/styles.js.mustache +13 -6
  39. package/src/tasks/create/templates/Constellation/Template/FORM/styles.js.mustache +13 -6
  40. package/src/tasks/create/templates/Constellation/Template/FORM-region/styles.js.mustache +13 -6
  41. package/src/tasks/create/templates/Constellation/Template/PAGE/styles.js.mustache +13 -6
  42. package/src/tasks/create/templates/Constellation/Widget/CASE/styles.js.mustache +13 -6
  43. package/src/tasks/create/templates/Constellation/Widget/PAGE/styles.js.mustache +13 -6
  44. package/src/tasks/create/templates/Constellation/Widget/PAGE-CASE/styles.js.mustache +13 -6
  45. package/src/tasks/create-all/index.js +109 -150
  46. package/src/tasks/delete/helper.js +87 -53
  47. package/src/tasks/delete/index.js +8 -15
  48. package/src/tasks/delete-all/helper.js +132 -85
  49. package/src/tasks/delete-all/index.js +8 -15
  50. package/src/tasks/index.js +2 -0
  51. package/src/tasks/init/index.js +20 -22
  52. package/src/tasks/init/template/babel.config.cjs +13 -0
  53. package/src/tasks/init/template/jest.config.cjs +21 -0
  54. package/src/tasks/init/template/package.json.mustache +6 -4
  55. package/src/tasks/init/template/test/assets/components/create/Pega_DXIL_MyTestText/config.json +55 -0
  56. package/src/tasks/init/template/test/assets/components/create/Pega_DXIL_MyTestText/demo.stories.jsx +51 -0
  57. package/src/tasks/init/template/test/assets/components/create/Pega_DXIL_MyTestText/index.jsx +60 -0
  58. package/src/tasks/init/template/test/assets/components/create/Pega_DXIL_MyTestText/mock.stories.js +13 -0
  59. package/src/tasks/init/template/test/assets/components/create/Pega_DXIL_MyTestText/styles.js +14 -0
  60. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyBoolean/Boolean.js +38 -0
  61. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyBoolean/boolean-format.js +26 -0
  62. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyBoolean/config.json +145 -0
  63. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyBoolean/demo.stories.jsx +61 -0
  64. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyBoolean/event-utils.js +18 -0
  65. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyBoolean/index.jsx +170 -0
  66. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyBoolean/mock.stories.js +21 -0
  67. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyBoolean/styles.js +14 -0
  68. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyCaseWidget/OneColumnPage.svg +36 -0
  69. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyCaseWidget/config.json +23 -0
  70. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyCaseWidget/demo.stories.jsx +78 -0
  71. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyCaseWidget/index.jsx +73 -0
  72. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyCaseWidget/mock.stories.js +390 -0
  73. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyCaseWidget/styles.js +14 -0
  74. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyCurrency/config.json +291 -0
  75. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyCurrency/demo.stories.jsx +53 -0
  76. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyCurrency/event-utils.js +18 -0
  77. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyCurrency/index.jsx +296 -0
  78. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyCurrency/mock.stories.js +23 -0
  79. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyCurrency/styles.js +14 -0
  80. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyCurrency/suggestions-handler.js +10 -0
  81. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDate/DateFormatter.js +61 -0
  82. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDate/FormattedText.jsx +41 -0
  83. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDate/config.json +195 -0
  84. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDate/date.js +439 -0
  85. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDate/demo.stories.jsx +73 -0
  86. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDate/index.jsx +256 -0
  87. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDate/mock.stories.js +23 -0
  88. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDate/styles.js +14 -0
  89. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDate/suggestions-handler.js +10 -0
  90. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDateTime/config.json +256 -0
  91. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDateTime/date-time.js +92 -0
  92. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDateTime/date-utils.js +288 -0
  93. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDateTime/date.js +331 -0
  94. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDateTime/demo.stories.jsx +73 -0
  95. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDateTime/index.jsx +254 -0
  96. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDateTime/mock.stories.js +23 -0
  97. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDateTime/styles.js +14 -0
  98. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDateTime/suggestions-handler.js +10 -0
  99. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDecimal/config.json +278 -0
  100. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDecimal/demo.stories.jsx +49 -0
  101. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDecimal/event-utils.js +18 -0
  102. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDecimal/index.jsx +270 -0
  103. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDecimal/mock.stories.js +21 -0
  104. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDecimal/styles.js +14 -0
  105. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDecimal/suggestions-handler.js +10 -0
  106. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDetails/OneColumnDetails.svg +22 -0
  107. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDetails/StatusWork.jsx +26 -0
  108. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDetails/config.json +35 -0
  109. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDetails/demo.stories.jsx +132 -0
  110. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDetails/index.jsx +83 -0
  111. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDetails/mock.stories.js +189 -0
  112. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDetails/styles.js +14 -0
  113. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDetails/utils.js +152 -0
  114. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyEmail/config.json +111 -0
  115. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyEmail/demo.stories.jsx +48 -0
  116. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyEmail/event-utils.js +18 -0
  117. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyEmail/index.jsx +231 -0
  118. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyEmail/mock.stories.js +22 -0
  119. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyEmail/styles.js +14 -0
  120. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyEmail/suggestions-handler.js +10 -0
  121. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyForm/DefaultForm.svg +29 -0
  122. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyForm/config.json +45 -0
  123. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyForm/demo.stories.jsx +166 -0
  124. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyForm/index.jsx +42 -0
  125. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyForm/mock.stories.js +137 -0
  126. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyForm/styles.js +14 -0
  127. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyInteger/config.json +344 -0
  128. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyInteger/demo.stories.jsx +49 -0
  129. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyInteger/event-utils.js +18 -0
  130. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyInteger/index.jsx +333 -0
  131. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyInteger/mock.stories.js +21 -0
  132. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyInteger/styles.js +14 -0
  133. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyInteger/suggestions-handler.js +10 -0
  134. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPage/GetNextWork.jsx +35 -0
  135. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPage/OneColumnPage.svg +36 -0
  136. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPage/config.json +32 -0
  137. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPage/demo.stories.jsx +102 -0
  138. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPage/index.jsx +70 -0
  139. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPage/localizations.json +4 -0
  140. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPage/mock.stories.js +94 -0
  141. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPage/styles.js +14 -0
  142. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPage/utils.js +229 -0
  143. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPageCaseWidget/Avatar.jsx +75 -0
  144. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPageCaseWidget/OneColumnPage.svg +36 -0
  145. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPageCaseWidget/Operator.jsx +237 -0
  146. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPageCaseWidget/config.json +66 -0
  147. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPageCaseWidget/demo.stories.jsx +68 -0
  148. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPageCaseWidget/index.jsx +108 -0
  149. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPageCaseWidget/mock.stories.js +51 -0
  150. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPageCaseWidget/styles.js +14 -0
  151. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPageWidget/OneColumnPage.svg +36 -0
  152. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPageWidget/config.json +59 -0
  153. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPageWidget/demo.stories.jsx +30 -0
  154. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPageWidget/index.jsx +48 -0
  155. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPageWidget/mock.stories.js +23 -0
  156. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPageWidget/styles.js +14 -0
  157. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyParagraph/config.json +111 -0
  158. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyParagraph/demo.stories.jsx +48 -0
  159. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyParagraph/event-utils.js +18 -0
  160. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyParagraph/index.jsx +231 -0
  161. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyParagraph/mock.stories.js +20 -0
  162. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyParagraph/styles.js +14 -0
  163. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyParagraph/suggestions-handler.js +10 -0
  164. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPercentage/config.json +93 -0
  165. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPercentage/demo.stories.jsx +49 -0
  166. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPercentage/event-utils.js +18 -0
  167. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPercentage/index.jsx +275 -0
  168. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPercentage/mock.stories.js +21 -0
  169. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPercentage/styles.js +14 -0
  170. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPercentage/suggestions-handler.js +10 -0
  171. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPhone/config.json +123 -0
  172. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPhone/demo.stories.jsx +46 -0
  173. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPhone/event-utils.js +18 -0
  174. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPhone/index.jsx +266 -0
  175. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPhone/mock.stories.js +37 -0
  176. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPhone/styles.js +14 -0
  177. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPhone/suggestions-handler.js +10 -0
  178. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPicklist/config.json +114 -0
  179. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPicklist/demo.stories.jsx +78 -0
  180. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPicklist/event-utils.js +18 -0
  181. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPicklist/index.jsx +351 -0
  182. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPicklist/mock.stories.js +67 -0
  183. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPicklist/styles.js +14 -0
  184. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPicklist/suggestions-handler.js +10 -0
  185. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyText/config.json +55 -0
  186. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyText/demo.stories.jsx +51 -0
  187. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyText/index.jsx +60 -0
  188. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyText/mock.stories.js +13 -0
  189. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyText/styles.js +14 -0
  190. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTextInput/StatusWork.jsx +26 -0
  191. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTextInput/config.json +111 -0
  192. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTextInput/demo.stories.jsx +48 -0
  193. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTextInput/event-utils.js +18 -0
  194. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTextInput/index.jsx +239 -0
  195. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTextInput/mock.stories.js +21 -0
  196. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTextInput/styles.js +14 -0
  197. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTextInput/suggestions-handler.js +10 -0
  198. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTimeOfDay/config.json +185 -0
  199. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTimeOfDay/demo.stories.jsx +57 -0
  200. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTimeOfDay/index.jsx +213 -0
  201. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTimeOfDay/mock.stories.js +20 -0
  202. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTimeOfDay/styles.js +14 -0
  203. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTimeOfDay/suggestions-handler.js +10 -0
  204. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTimeOfDay/time-of-day.js +288 -0
  205. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTwoColumnDetails/StatusWork.jsx +26 -0
  206. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTwoColumnDetails/TwoColumnDetails.svg +28 -0
  207. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTwoColumnDetails/config.json +42 -0
  208. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTwoColumnDetails/demo.stories.jsx +136 -0
  209. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTwoColumnDetails/index.jsx +83 -0
  210. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTwoColumnDetails/mock.stories.js +230 -0
  211. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTwoColumnDetails/styles.js +14 -0
  212. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTwoColumnDetails/utils.js +155 -0
  213. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTwoColumnForm/TwoColumn.svg +38 -0
  214. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTwoColumnForm/config.json +27 -0
  215. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTwoColumnForm/demo.stories.jsx +175 -0
  216. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTwoColumnForm/index.jsx +45 -0
  217. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTwoColumnForm/mock.stories.js +143 -0
  218. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTwoColumnForm/styles.js +14 -0
  219. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyURL/config.json +237 -0
  220. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyURL/demo.stories.jsx +46 -0
  221. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyURL/event-utils.js +18 -0
  222. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyURL/index.jsx +232 -0
  223. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyURL/mock.stories.js +22 -0
  224. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyURL/styles.js +14 -0
  225. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyURL/suggestions-handler.js +10 -0
  226. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyURL/text-url.jsx +173 -0
  227. package/src/tasks/init/template/test/functionTest/localCreateAllListDeleteAll.test.js +157 -0
  228. package/src/tasks/init/template/test/functionTest/localCreateBuildAllDeleteAll.test.js +148 -0
  229. package/src/tasks/init/template/test/functionTest/localCreateBuildDelete.test.js +84 -0
  230. package/src/tasks/init/template/test/functionTest/localCreateListDelete.test.js +108 -0
  231. package/src/tasks/init/template/test/functionTest/localCreatePublishAllDeleteAll.test.js +148 -0
  232. package/src/tasks/init/template/test/functionTest/localCreatePublishDelete.test.js +84 -0
  233. package/src/tasks/init/template/test/functionTest/localCreateRenameDelete.test.js +84 -0
  234. package/src/tasks/init/template/test/functionTest/localPromoteRevertWP.test.js +59 -0
  235. package/src/tasks/list/helper.js +129 -61
  236. package/src/tasks/list/index.js +3 -4
  237. package/src/tasks/promote-webpack/index.js +126 -0
  238. package/src/tasks/promote-webpack/webpack.config.js +376 -0
  239. package/src/tasks/publish/helper.js +69 -80
  240. package/src/tasks/publish/index.js +29 -12
  241. package/src/tasks/publish-all/helper.js +66 -83
  242. package/src/tasks/publish-all/index.js +30 -18
  243. package/src/tasks/rename/index.js +127 -97
  244. package/src/tasks/revert-webpack/index.js +71 -0
  245. package/src/util.js +205 -108
  246. package/test/unitTest/util.test.js +544 -0
@@ -0,0 +1,270 @@
1
+ import { useState, useEffect, useRef } from 'react';
2
+ import { NumberInput, NumberDisplay, CurrencyDisplay, FieldValueList, Text } from '@pega/cosmos-react-core';
3
+ import PropTypes from 'prop-types';
4
+
5
+ // includes in bundle
6
+ import StyledPegaDxilMyDecimalWrapper from './styles';
7
+ import handleEvent from "./event-utils";
8
+ import { suggestionsHandler } from './suggestions-handler';
9
+
10
+
11
+ // Duplicated runtime code from Constellation Design System Component
12
+
13
+ // props passed in combination of props from property panel (config.json) and run time props from Constellation
14
+ // any default values in config.pros should be set in defaultProps at bottom of this file
15
+ const PegaDxilMyDecimal = props => {
16
+ const {
17
+ getPConnect,
18
+ value,
19
+ placeholder,
20
+ validatemessage,
21
+ label,
22
+ hideLabel,
23
+ helperText,
24
+ testId,
25
+ displayMode,
26
+ additionalProps,
27
+ variant,
28
+ formatter,
29
+ negative,
30
+ notation,
31
+ currencyISOCode,
32
+ isTableFormatter,
33
+ hasSuggestions
34
+ } = props;
35
+ let { showGroupSeparators } = props;
36
+ let { currencyDisplay } = props;
37
+ const pConn = getPConnect();
38
+ const actions = pConn.getActionsApi();
39
+ const propName = pConn.getStateProps().value;
40
+ const [decimalValue, setDecimalValue] = useState(value?.toString());
41
+ const hasValueChange = useRef(false);
42
+
43
+ let { readOnly, required, disabled } = props;
44
+ [readOnly, required, disabled] = [readOnly, required, disabled].map(
45
+ (prop) => prop === true || (typeof prop === 'string' && prop === 'true')
46
+ );
47
+
48
+ const [status, setStatus] = useState(hasSuggestions ? 'pending' : undefined);
49
+
50
+ useEffect(() => {
51
+ if (validatemessage !== '') {
52
+ setStatus('error');
53
+ }
54
+ if (hasSuggestions) {
55
+ setStatus('pending');
56
+ } else if (!hasSuggestions && status !== 'success') {
57
+ setStatus(validatemessage !== '' ? 'error' : undefined);
58
+ }
59
+ }, [validatemessage, hasSuggestions]);
60
+
61
+ const { decimalPrecision, currencyDecimalPrecision } = props;
62
+ let numberOfDecimals = parseInt(decimalPrecision, 10);
63
+ if (Number.isNaN(numberOfDecimals)) {
64
+ numberOfDecimals = decimalPrecision === '' ? undefined : 2;
65
+ }
66
+ let noOfFractionDigits = currencyDecimalPrecision === 'auto' ? undefined : parseInt(currencyDecimalPrecision, 10);
67
+
68
+ useEffect(() => {
69
+ setDecimalValue(value?.toString());
70
+ }, [value]);
71
+
72
+ let unit;
73
+
74
+ if (['DISPLAY_ONLY', 'LABELS_LEFT', 'STACKED_LARGE_VAL'].includes(displayMode)) {
75
+ if (displayMode !== 'STACKED_LARGE_VAL' && isTableFormatter) {
76
+ showGroupSeparators = true;
77
+ noOfFractionDigits = undefined;
78
+ if (formatter === 'Currency-Code') {
79
+ currencyDisplay = 'code';
80
+ }
81
+ }
82
+
83
+ switch (formatter) {
84
+ case 'Integer': {
85
+ numberOfDecimals = 0;
86
+ break;
87
+ }
88
+ case 'Percentage': {
89
+ showGroupSeparators = false;
90
+ unit = 'percent';
91
+ break;
92
+ }
93
+ case 'Decimal-Auto': {
94
+ numberOfDecimals = Number.isInteger(decimalValue) ? 0 : 2;
95
+ break;
96
+ }
97
+ default: {
98
+ break;
99
+ }
100
+ }
101
+
102
+
103
+
104
+ const displayComp =
105
+ formatter === 'Currency' || formatter === 'Currency-Code' ? (
106
+ <CurrencyDisplay
107
+ value={decimalValue}
108
+ currencyISOCode={currencyISOCode}
109
+ formattingOptions={{
110
+ groupSeparators: showGroupSeparators,
111
+ fractionDigits: noOfFractionDigits,
112
+ currency: currencyDisplay,
113
+ negative,
114
+ notation: negative === 'parentheses' ? 'standard' : notation
115
+ }}
116
+ />
117
+ ) : (
118
+ <NumberDisplay
119
+ value={decimalValue}
120
+ formattingOptions={{
121
+ fractionDigits: numberOfDecimals,
122
+ groupSeparators: showGroupSeparators,
123
+ notation
124
+ }}
125
+ unit={unit}
126
+ />
127
+ );
128
+
129
+
130
+ switch (displayMode) {
131
+ case 'DISPLAY_ONLY': {
132
+ return (<StyledPegaDxilMyDecimalWrapper> displayComp </StyledPegaDxilMyDecimalWrapper>);
133
+ }
134
+ case 'LABELS_LEFT': {
135
+ return (
136
+ <StyledPegaDxilMyDecimalWrapper>
137
+ <FieldValueList
138
+ variant={hideLabel ? 'stacked' : variant}
139
+ data-testid={testId}
140
+ fields={[{ id: '1', name: hideLabel ? '' : label, value: displayComp }]}
141
+ />
142
+ </StyledPegaDxilMyDecimalWrapper>
143
+ );
144
+ }
145
+ case 'STACKED_LARGE_VAL': {
146
+ return (
147
+ <StyledPegaDxilMyDecimalWrapper>
148
+ <FieldValueList
149
+ variant='stacked'
150
+ data-testid={testId}
151
+ fields={[
152
+ {
153
+ id: '2',
154
+ name: hideLabel ? '' : label,
155
+ value: (
156
+ <Text variant='h1' as='span'>
157
+ {displayComp}
158
+ </Text>
159
+ )
160
+ }
161
+ ]}
162
+ />
163
+ </StyledPegaDxilMyDecimalWrapper>
164
+ );
165
+ }
166
+ // no default
167
+ }
168
+ }
169
+
170
+ const onResolveSuggestionHandler = (accepted) => {
171
+ suggestionsHandler(accepted, pConn, setStatus);
172
+ };
173
+
174
+ return (
175
+ <StyledPegaDxilMyDecimalWrapper>
176
+ <NumberInput
177
+ {...additionalProps}
178
+ label={label}
179
+ labelHidden={hideLabel}
180
+ info={validatemessage || helperText}
181
+ value={decimalValue}
182
+ status={status}
183
+ placeholder={placeholder}
184
+ disabled={disabled}
185
+ readOnly={readOnly}
186
+ required={required}
187
+ numberOfDecimals={numberOfDecimals}
188
+ showGroupSeparators={showGroupSeparators}
189
+ data-testid={testId}
190
+ onChange={(enteredValue) => {
191
+ if (hasSuggestions) {
192
+ setStatus(undefined);
193
+ }
194
+ setDecimalValue(enteredValue);
195
+ if (value !== (enteredValue !== '' ? Number(enteredValue) : '')) {
196
+ handleEvent(actions, 'change', propName, enteredValue !== '' ? Number(enteredValue) : '');
197
+ hasValueChange.current = true;
198
+ }
199
+ }}
200
+ onBlur={() => {
201
+ if (!value || hasValueChange.current) {
202
+ handleEvent(actions, 'blur', propName, decimalValue !== '' ? Number(decimalValue) : '');
203
+ if (hasSuggestions) {
204
+ pConn.ignoreSuggestion();
205
+ }
206
+ hasValueChange.current = false;
207
+ }
208
+ }}
209
+ onResolveSuggestion={onResolveSuggestionHandler}
210
+ />
211
+ </StyledPegaDxilMyDecimalWrapper>
212
+ );
213
+ }
214
+
215
+
216
+ PegaDxilMyDecimal.defaultProps = {
217
+ value: '',
218
+ placeholder: '',
219
+ validatemessage: '',
220
+ helperText: '',
221
+ hideLabel: false,
222
+ disabled: false,
223
+ readOnly: false,
224
+ required: false,
225
+ testId: null,
226
+ decimalPrecision: '',
227
+ showGroupSeparators: false,
228
+ displayMode: null,
229
+ additionalProps: {},
230
+ variant: 'inline',
231
+ currencyISOCode: 'USD',
232
+ formatter: 'defaultDecimal',
233
+ isoCodeSelection: 'constant',
234
+ negative: 'minus-sign',
235
+ notation: 'standard',
236
+ currencyDisplay: 'symbol',
237
+ currencyDecimalPrecision: 'auto',
238
+ isTableFormatter: false,
239
+ hasSuggestions: false
240
+ };
241
+
242
+ PegaDxilMyDecimal.propTypes = {
243
+ value: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
244
+ placeholder: PropTypes.string,
245
+ label: PropTypes.string.isRequired,
246
+ hideLabel: PropTypes.bool,
247
+ getPConnect: PropTypes.func.isRequired,
248
+ validatemessage: PropTypes.string,
249
+ helperText: PropTypes.string,
250
+ disabled: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),
251
+ readOnly: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),
252
+ required: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),
253
+ testId: PropTypes.string,
254
+ decimalPrecision: PropTypes.string,
255
+ showGroupSeparators: PropTypes.bool,
256
+ displayMode: PropTypes.string,
257
+ additionalProps: PropTypes.objectOf(PropTypes.any),
258
+ variant: PropTypes.string,
259
+ currencyISOCode: PropTypes.string,
260
+ formatter: PropTypes.string,
261
+ isoCodeSelection: PropTypes.string,
262
+ negative: PropTypes.string,
263
+ notation: PropTypes.string,
264
+ currencyDisplay: PropTypes.string,
265
+ currencyDecimalPrecision: PropTypes.string,
266
+ isTableFormatter: PropTypes.bool,
267
+ hasSuggestions: PropTypes.bool
268
+ };
269
+
270
+ export default PegaDxilMyDecimal;
@@ -0,0 +1,21 @@
1
+ export const configProps = {
2
+ value: '',
3
+ label: 'Decimal Sample',
4
+ showGroupSeparators: true,
5
+ placeholder: 'Decimal Placeholder',
6
+ helperText: 'Decimal Helper Text',
7
+ testId: 'decimal-12345678',
8
+ hasSuggestions: false
9
+ };
10
+
11
+ export const stateProps = {
12
+ value: '.DecimalSample',
13
+ hasSuggestions: false
14
+ };
15
+
16
+ export const fieldMetadata = {
17
+ classID: 'DIXL-MediaCo-Work-NewService',
18
+ type: 'Decimal',
19
+ displayAs: 'pxNumber',
20
+ label: 'Decimal sample'
21
+ };
@@ -0,0 +1,14 @@
1
+ // utilizing theming, comment out, if want individual style
2
+ import styled from 'styled-components';
3
+ import { Configuration } from '@pega/cosmos-react-core';
4
+
5
+ export default styled(Configuration)``;
6
+
7
+ // individual style, comment out above, and uncomment here and add styles
8
+ // import styled, { css } from 'styled-components';
9
+ //
10
+ // export default styled.div(() => {
11
+ // return css`
12
+ // margin: 0px 0;
13
+ // `;
14
+ // });
@@ -0,0 +1,10 @@
1
+ /* eslint-disable import/prefer-default-export */
2
+ export const suggestionsHandler = (accepted, pConn, setStatus) => {
3
+ if (accepted) {
4
+ pConn.acceptSuggestion();
5
+ setStatus('success');
6
+ } else {
7
+ pConn.ignoreSuggestion();
8
+ setStatus(undefined);
9
+ }
10
+ };
@@ -0,0 +1,22 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <svg width="100px" height="70px" viewBox="0 0 100 70" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
3
+ <title>1 col </title>
4
+ <g id="Page-Config" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
5
+ <g id="Page-layouts" transform="translate(-692.000000, -84.000000)">
6
+ <g id="1-col-" transform="translate(692.000000, 84.000000)">
7
+ <rect id="bg" stroke="#A5A8BC" stroke-width="0.5" fill="#E7E9EB" x="0.25" y="0.25" width="99.5" height="69.5"></rect>
8
+ <g id="white" transform="translate(3.000000, 3.000000)" fill="#FFFFFF">
9
+ <rect id="Rectangle" x="0" y="0" width="94" height="66.5"></rect>
10
+ </g>
11
+ <g id="gray" transform="translate(6.000000, 6.000000)" fill="#8084A7">
12
+ <rect id="Rectangle" x="0" y="-2.84217094e-14" width="88" height="63.8"></rect>
13
+ </g>
14
+ <g id="labels" transform="translate(44.000000, 17.000000)" fill="#FFFFFF" font-family="OpenSans-Semibold, Open Sans" font-size="11" font-weight="500">
15
+ <text id="A">
16
+ <tspan x="0.75" y="12">A</tspan>
17
+ </text>
18
+ </g>
19
+ </g>
20
+ </g>
21
+ </g>
22
+ </svg>
@@ -0,0 +1,26 @@
1
+ import { Status } from "@pega/cosmos-react-core";
2
+
3
+ export default function StatusWorkRenderer({ value }) {
4
+ let variant = "info";
5
+
6
+ const warnStrings = ["fail", "cancel", "reject", "revoke", "stopped", "warn"];
7
+ const infoStrings = ["open", "hold", "info", "new"];
8
+ const successStrings = ["resolved", "completed", "success"];
9
+ const pendingStrings = ["pending"];
10
+
11
+ if (new RegExp(warnStrings.join("|"), "i").test(value)) {
12
+ variant = "warn";
13
+ } else if (new RegExp(infoStrings.join("|"), "i").test(value)) {
14
+ variant = "info";
15
+ } else if (new RegExp(successStrings.join("|"), "i").test(value)) {
16
+ variant = "success";
17
+ } else if (new RegExp(pendingStrings.join("|"), "i").test(value)) {
18
+ variant = "pending";
19
+ }
20
+
21
+ return (
22
+ <Status type="rectangle" variant={variant}>
23
+ {value}
24
+ </Status>
25
+ );
26
+ }
@@ -0,0 +1,35 @@
1
+ {
2
+ "name": "Pega_DXIL_MyDetails",
3
+ "label": "My Details",
4
+ "description": "My Details",
5
+ "organization": "Pega",
6
+ "version": "0.0.1",
7
+ "library": "DXIL",
8
+ "allowedApplications": [],
9
+ "componentKey": "Pega_DXIL_MyDetails",
10
+ "type": "Template",
11
+ "subtype": "DETAILS",
12
+ "icon": "OneColumnDetails.svg",
13
+ "properties": [
14
+ {
15
+ "name": "showHighlightedData",
16
+ "label": "Enable highlighted fields",
17
+ "format": "BOOLEAN"
18
+ },
19
+ {
20
+ "name": "highlightedData",
21
+ "label": "Highlighted fields",
22
+ "format": "CONTENTPICKER",
23
+ "addTypeList": ["Fields"],
24
+ "visibility": "$this.showHighlightedData = true",
25
+ "saveToConfig": true
26
+ },
27
+ {
28
+ "name": "A",
29
+ "label": "Region A",
30
+ "format": "CONTENTPICKER",
31
+ "addTypeList": ["Fields", "Views"],
32
+ "allowCreatingGroup": true
33
+ }
34
+ ]
35
+ }
@@ -0,0 +1,132 @@
1
+ import { Text, FieldValueList, Button, DateTimeDisplay, useTheme } from '@pega/cosmos-react-core';
2
+ import PegaDxilMyDetails from './index';
3
+ import { pyReviewRaw, pyReviewResolved, regionChildrenResolved } from './mock.stories';
4
+ import StatusWorkRenderer from './StatusWork.jsx';
5
+
6
+ export default {
7
+ title: 'PegaDxilMyDetails',
8
+ component: PegaDxilMyDetails
9
+ };
10
+
11
+ const renderField = resolvedProps => {
12
+ const {
13
+ displayAsStatus = false,
14
+ displayMode,
15
+ value = '',
16
+ label = '',
17
+ key,
18
+ // eslint-disable-next-line react-hooks/rules-of-hooks
19
+ theme = useTheme()
20
+ } = resolvedProps;
21
+
22
+ const variant = displayMode === 'LABELS_LEFT' ? 'inline' : 'stacked';
23
+
24
+ let val =
25
+ value !== '' ? (
26
+ <Text variant='h1' as='span' key={key}>
27
+ {value}
28
+ </Text>
29
+ ) : (
30
+ ''
31
+ );
32
+
33
+ if (label === 'Create date/time')
34
+ val = (
35
+ <DateTimeDisplay
36
+ value={value}
37
+ variant='datetime'
38
+ format='long'
39
+ clockFormat={null}
40
+ key={key}
41
+ />
42
+ );
43
+
44
+ if (displayAsStatus === true) val = <StatusWorkRenderer value={value} key={key} />;
45
+
46
+ if (label === 'Create Operator')
47
+ val = (
48
+ <Button
49
+ key={key}
50
+ variant='link'
51
+ style={
52
+ label !== null
53
+ ? { width: 'max-content', height: theme.components.input.height }
54
+ : undefined
55
+ }
56
+ >
57
+ {value.userName}
58
+ </Button>
59
+ );
60
+
61
+ if (variant === 'inline') {
62
+ val = value || (
63
+ <span aria-hidden='true' key={key}>
64
+ &ndash;&ndash;
65
+ </span>
66
+ );
67
+ } else {
68
+ val = (
69
+ <Text variant='h1' as='span' key={key}>
70
+ {val}
71
+ </Text>
72
+ );
73
+ }
74
+ return <FieldValueList variant={variant} fields={[{ name: label, value: val }]} key={key} />;
75
+ };
76
+
77
+ export const basePegaDxilMyDetails = () => {
78
+ const props = {
79
+ template: 'MyCo_MyComponents_NewDetailsTemplate',
80
+ showHighlightedData: true,
81
+ label: 'Test Details',
82
+ showLabel: true,
83
+ getPConnect: () => {
84
+ return {
85
+ getChildren: () => {
86
+ return pyReviewRaw.children;
87
+ },
88
+ getRawMetadata: () => {
89
+ return pyReviewRaw;
90
+ },
91
+ getInheritedProps: () => {
92
+ return pyReviewRaw.config.inheritedProps;
93
+ },
94
+ createComponent: config => {
95
+ // eslint-disable-next-line default-case
96
+ switch (config.config.value) {
97
+ case '@P .pyStatusWork':
98
+ return renderField(pyReviewResolved.highlightedData[0].config);
99
+ case '@P .pyID':
100
+ return renderField(pyReviewResolved.highlightedData[1].config);
101
+ case '@P .pxCreateDateTime':
102
+ return renderField(pyReviewResolved.highlightedData[2].config);
103
+ case '@USER .pxCreateOperator':
104
+ return renderField(pyReviewResolved.highlightedData[3].config);
105
+ case '@P .pySLADeadline':
106
+ return renderField(regionChildrenResolved[0]);
107
+ case '@P .pySLAGoal':
108
+ return renderField(regionChildrenResolved[1]);
109
+ case '@P .pySLAStartTime':
110
+ return renderField(regionChildrenResolved[2]);
111
+ }
112
+ },
113
+ setInheritedProp: () => {
114
+ /* nothing */
115
+ },
116
+ resolveConfigProps: () => {
117
+ /* nothing */
118
+ }
119
+ };
120
+ }
121
+ };
122
+
123
+ const regionAChildren = pyReviewRaw.children[0].children.map(child => {
124
+ return props.getPConnect().createComponent(child);
125
+ });
126
+
127
+ return (
128
+ <>
129
+ <PegaDxilMyDetails {...props}>{regionAChildren}</PegaDxilMyDetails>
130
+ </>
131
+ );
132
+ };
@@ -0,0 +1,83 @@
1
+ import { Fragment } from 'react';
2
+ import { Grid, Flex, FieldGroup } from '@pega/cosmos-react-core';
3
+ import PropTypes from 'prop-types';
4
+
5
+ import StyledPegaDxilMyDetailsWrapper from './styles';
6
+
7
+ // includes in bundle
8
+ import { getAllFields } from './utils';
9
+
10
+ // Duplicated runtime code from Constellation Design System Component
11
+
12
+ // props passed in combination of props from property panel (config.json) and run time props from Constellation
13
+ // any default values in config.pros should be set in defaultProps at bottom of this file
14
+ export default function PegaDxilMyDetails(props) {
15
+
16
+ const { getPConnect, children, label, showLabel, showHighlightedData } = props;
17
+ const propsToUse = { label, showLabel, ...getPConnect().getInheritedProps() };
18
+
19
+ const numRegions = getAllFields(getPConnect)?.length;
20
+ const gridRepeat = "repeat(".concat(numRegions).concat(", 1fr)");
21
+ const gridContainer = { "colGap": 1};
22
+ gridContainer.cols = gridRepeat;
23
+ gridContainer.alignItems = 'start';
24
+
25
+ const gridHighlightContainer = { "gap": 2};
26
+ gridHighlightContainer.cols = gridRepeat;
27
+ gridHighlightContainer.alignItems = 'start';
28
+ gridHighlightContainer.pad = [0, 0, 2, 0];
29
+
30
+ // Set up highlighted data to pass in return if is set to show, need raw metadata to pass to createComponent
31
+ let highlightedDataArr = [];
32
+ if (showHighlightedData) {
33
+ const { highlightedData = [] } = getPConnect().getRawMetadata().config;
34
+ highlightedDataArr = highlightedData.map((field) => {
35
+ field.config.displayMode = 'STACKED_LARGE_VAL';
36
+
37
+ // Mark as status display when using pyStatusWork
38
+ if (field.config.value === '@P .pyStatusWork') {
39
+ field.type = 'TextInput';
40
+ field.config.displayAsStatus = true;
41
+ }
42
+
43
+ return getPConnect().createComponent(field);
44
+ });
45
+ }
46
+
47
+ return (
48
+ <StyledPegaDxilMyDetailsWrapper>
49
+ <FieldGroup name={propsToUse.showLabel ? propsToUse.label : ''}>
50
+ {showHighlightedData && highlightedDataArr.length > 0 && (
51
+ <Grid container={gridHighlightContainer}
52
+ data-testid={`highlighted-column-count-${numRegions}`}>
53
+ {highlightedDataArr.map((child, i) => (
54
+ <Fragment key={`hf-${i + 1}`}>{child}</Fragment>
55
+ ))}
56
+ </Grid>
57
+ )}
58
+ <Grid container={gridContainer} data-testid={`column-count-${numRegions}`} >
59
+ {children.map((child, i) => (
60
+ <Flex container={{ direction: 'column'}} key={`r-${i + 1}`}>
61
+ {child}
62
+ </Flex>
63
+ ))}
64
+ </Grid>
65
+ </FieldGroup>
66
+ </StyledPegaDxilMyDetailsWrapper>
67
+ );
68
+
69
+ }
70
+
71
+ PegaDxilMyDetails.defaultProps = {
72
+ label: undefined,
73
+ showLabel: true,
74
+ showHighlightedData: false
75
+ };
76
+
77
+
78
+ PegaDxilMyDetails.propTypes = {
79
+ showLabel: PropTypes.bool,
80
+ label: PropTypes.string,
81
+ getPConnect: PropTypes.func.isRequired,
82
+ showHighlightedData: PropTypes.bool
83
+ };