@pega/dx-component-builder-sdk 24.2.12 → 24.2.14

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 (233) hide show
  1. package/package.json +1 -1
  2. package/src/tasks/create/templates/SDK-Angular/field/Boolean/boolean.component.html.mustache +4 -0
  3. package/src/tasks/create/templates/SDK-Angular/field/Boolean/boolean.component.ts.mustache +0 -1
  4. package/src/tasks/create/templates/SDK-Angular/field/Date/date.component.html.mustache +2 -1
  5. package/src/tasks/create/templates/SDK-Angular/field/Date/demo.stories.tsx.mustache +4 -4
  6. package/src/tasks/create/templates/SDK-Angular/field/DateTime/date-time.component.html.mustache +2 -2
  7. package/src/tasks/create/templates/SDK-Angular/field/DateTime/date-time.component.ts.mustache +17 -3
  8. package/src/tasks/create/templates/SDK-Angular/field/DateTime/demo.stories.tsx.mustache +4 -4
  9. package/src/tasks/create/templates/SDK-Angular/field/Decimal/decimal.component.html.mustache +1 -0
  10. package/src/tasks/create/templates/SDK-Angular/field/Decimal/decimal.component.ts.mustache +38 -15
  11. package/src/tasks/create/templates/SDK-Angular/field/Decimal/demo.stories.tsx.mustache +0 -1
  12. package/src/tasks/create/templates/SDK-Angular/field/Decimal-Currency/decimal-currency.component.ts.mustache +19 -13
  13. package/src/tasks/create/templates/SDK-Angular/field/Decimal-Currency/demo.stories.tsx.mustache +0 -1
  14. package/src/tasks/create/templates/SDK-Angular/field/Decimal-Percentage/decimal-percentage.component.html.mustache +1 -1
  15. package/src/tasks/create/templates/SDK-Angular/field/Decimal-Percentage/decimal-percentage.component.ts.mustache +27 -17
  16. package/src/tasks/create/templates/SDK-Angular/field/Decimal-Percentage/demo.stories.tsx.mustache +0 -1
  17. package/src/tasks/create/templates/SDK-Angular/field/Icon-Button-URL/demo.stories.tsx.mustache +1 -3
  18. package/src/tasks/create/templates/SDK-Angular/field/Integer/demo.stories.tsx.mustache +4 -5
  19. package/src/tasks/create/templates/SDK-Angular/field/Integer/integer.component.html.mustache +1 -1
  20. package/src/tasks/create/templates/SDK-Angular/field/Integer/integer.component.ts.mustache +16 -6
  21. package/src/tasks/create/templates/SDK-Angular/field/Picklist/demo.stories.tsx.mustache +4 -4
  22. package/src/tasks/create/templates/SDK-Angular/field/Picklist/picklist.component.html.mustache +1 -0
  23. package/src/tasks/create/templates/SDK-Angular/field/Picklist/picklist.component.ts.mustache +18 -4
  24. package/src/tasks/create/templates/SDK-Angular/field/Picklist-Autocomplete/demo.stories.tsx.mustache +4 -5
  25. package/src/tasks/create/templates/SDK-Angular/field/Picklist-Autocomplete/picklist-autocomplete.component.html.mustache +0 -1
  26. package/src/tasks/create/templates/SDK-Angular/field/Picklist-Autocomplete/picklist-autocomplete.component.ts.mustache +15 -2
  27. package/src/tasks/create/templates/SDK-Angular/field/Picklist-RadioButtons/picklist-radio-buttons.component.html.mustache +3 -6
  28. package/src/tasks/create/templates/SDK-Angular/field/Text/demo.stories.tsx.mustache +5 -7
  29. package/src/tasks/create/templates/SDK-Angular/field/Text-Email/demo.stories.tsx.mustache +4 -5
  30. package/src/tasks/create/templates/SDK-Angular/field/Text-Email/text-email.component.ts.mustache +17 -7
  31. package/src/tasks/create/templates/SDK-Angular/field/Text-Input/demo.stories.tsx.mustache +4 -5
  32. package/src/tasks/create/templates/SDK-Angular/field/Text-Input/text.component.html.mustache +1 -1
  33. package/src/tasks/create/templates/SDK-Angular/field/Text-Input/text.component.ts.mustache +16 -6
  34. package/src/tasks/create/templates/SDK-Angular/field/Text-Paragraph/demo.stories.tsx.mustache +4 -5
  35. package/src/tasks/create/templates/SDK-Angular/field/Text-Paragraph/text-paragraph.component.html.mustache +4 -2
  36. package/src/tasks/create/templates/SDK-Angular/field/Text-Paragraph/text-paragraph.component.ts.mustache +16 -6
  37. package/src/tasks/create/templates/SDK-Angular/field/Text-Phone/demo.stories.tsx.mustache +5 -5
  38. package/src/tasks/create/templates/SDK-Angular/field/Text-Phone/text-phone.component.html.mustache +3 -1
  39. package/src/tasks/create/templates/SDK-Angular/field/Text-Phone/text-phone.component.ts.mustache +6 -13
  40. package/src/tasks/create/templates/SDK-Angular/field/Text-URL/demo.stories.tsx.mustache +6 -6
  41. package/src/tasks/create/templates/SDK-Angular/field/Text-URL/text-url.component.html.mustache +1 -1
  42. package/src/tasks/create/templates/SDK-Angular/field/Text-URL/text-url.component.ts.mustache +16 -6
  43. package/src/tasks/create/templates/SDK-Angular/field/TimeOfDay/demo.stories.tsx.mustache +4 -5
  44. package/src/tasks/create/templates/SDK-Angular/field/TimeOfDay/time-of-day.component.html.mustache +2 -2
  45. package/src/tasks/create/templates/SDK-Angular/field/TimeOfDay/time-of-day.component.ts.mustache +21 -6
  46. package/src/tasks/create/templates/SDK-Angular/template/FORM/form.component.ts.mustache +35 -2
  47. package/src/tasks/create/templates/SDK-Angular/template/FORM-region/form.component.scss.mustache +1 -1
  48. package/src/tasks/publish/helper.js +1 -1
  49. package/tests/assets/sdk-a/components/create/custom-sdk/field/pega-dxil-my-test-text/demo.stories.tsx +5 -7
  50. package/tests/assets/sdk-a/components/create/override-sdk/designSystemExtension/material-case-summary/material-case-summary.component.ts +0 -1
  51. package/tests/assets/sdk-a/components/create/override-sdk/designSystemExtension/material-details-fields/material-details-fields.component.html +1 -1
  52. package/tests/assets/sdk-a/components/create/override-sdk/designSystemExtension/material-details-fields/material-details-fields.component.ts +6 -0
  53. package/tests/assets/sdk-a/components/create/override-sdk/designSystemExtension/operator/operator.component.html +1 -1
  54. package/tests/assets/sdk-a/components/create/override-sdk/designSystemExtension/operator/operator.component.scss +10 -2
  55. package/tests/assets/sdk-a/components/create/override-sdk/designSystemExtension/operator/operator.component.ts +4 -3
  56. package/tests/assets/sdk-a/components/create/override-sdk/field/auto-complete/auto-complete.component.html +0 -1
  57. package/tests/assets/sdk-a/components/create/override-sdk/field/auto-complete/auto-complete.component.ts +15 -2
  58. package/tests/assets/sdk-a/components/create/override-sdk/field/check-box/check-box.component.html +4 -0
  59. package/tests/assets/sdk-a/components/create/override-sdk/field/currency/currency.component.ts +19 -13
  60. package/tests/assets/sdk-a/components/create/override-sdk/field/date/date.component.html +2 -1
  61. package/tests/assets/sdk-a/components/create/override-sdk/field/date-time/date-time.component.html +2 -2
  62. package/tests/assets/sdk-a/components/create/override-sdk/field/date-time/date-time.component.ts +17 -3
  63. package/tests/assets/sdk-a/components/create/override-sdk/field/decimal/decimal.component.html +1 -0
  64. package/tests/assets/sdk-a/components/create/override-sdk/field/decimal/decimal.component.ts +38 -15
  65. package/tests/assets/sdk-a/components/create/override-sdk/field/dropdown/dropdown.component.html +1 -0
  66. package/tests/assets/sdk-a/components/create/override-sdk/field/dropdown/dropdown.component.ts +18 -4
  67. package/tests/assets/sdk-a/components/create/override-sdk/field/email/email.component.ts +17 -7
  68. package/tests/assets/sdk-a/components/create/override-sdk/field/integer/integer.component.html +1 -1
  69. package/tests/assets/sdk-a/components/create/override-sdk/field/integer/integer.component.ts +16 -6
  70. package/tests/assets/sdk-a/components/create/override-sdk/field/percentage/percentage.component.html +1 -1
  71. package/tests/assets/sdk-a/components/create/override-sdk/field/percentage/percentage.component.ts +27 -17
  72. package/tests/assets/sdk-a/components/create/override-sdk/field/phone/config-ext.json +1 -1
  73. package/tests/assets/sdk-a/components/create/override-sdk/field/phone/phone.component.html +3 -1
  74. package/tests/assets/sdk-a/components/create/override-sdk/field/phone/phone.component.ts +6 -13
  75. package/tests/assets/sdk-a/components/create/override-sdk/field/radio-buttons/radio-buttons.component.html +3 -6
  76. package/tests/assets/sdk-a/components/create/override-sdk/field/rich-text/rich-text.component.ts +12 -3
  77. package/tests/assets/sdk-a/components/create/override-sdk/field/text/text.component.ts +6 -4
  78. package/tests/assets/sdk-a/components/create/override-sdk/field/text-area/text-area.component.html +4 -2
  79. package/tests/assets/sdk-a/components/create/override-sdk/field/text-area/text-area.component.ts +16 -6
  80. package/tests/assets/sdk-a/components/create/override-sdk/field/text-input/text-input.component.html +1 -1
  81. package/tests/assets/sdk-a/components/create/override-sdk/field/text-input/text-input.component.ts +16 -6
  82. package/tests/assets/sdk-a/components/create/override-sdk/field/time/time.component.html +2 -2
  83. package/tests/assets/sdk-a/components/create/override-sdk/field/time/time.component.ts +21 -6
  84. package/tests/assets/sdk-a/components/create/override-sdk/field/url/url.component.html +1 -1
  85. package/tests/assets/sdk-a/components/create/override-sdk/field/url/url.component.ts +16 -6
  86. package/tests/assets/sdk-a/components/create/override-sdk/field/user-reference/user-reference.component.html +40 -38
  87. package/tests/assets/sdk-a/components/create/override-sdk/field/user-reference/user-reference.component.ts +70 -7
  88. package/tests/assets/sdk-a/components/create/override-sdk/infra/action-buttons/action-buttons.component.html +1 -1
  89. package/tests/assets/sdk-a/components/create/override-sdk/infra/assignment/assignment.component.html +1 -1
  90. package/tests/assets/sdk-a/components/create/override-sdk/infra/assignment/assignment.component.ts +82 -39
  91. package/tests/assets/sdk-a/components/create/override-sdk/infra/assignment-card/assignment-card.component.html +1 -0
  92. package/tests/assets/sdk-a/components/create/override-sdk/infra/defer-load/defer-load.component.ts +4 -1
  93. package/tests/assets/sdk-a/components/create/override-sdk/infra/flow-container/flow-container.component.ts +17 -43
  94. package/tests/assets/sdk-a/components/create/override-sdk/infra/flow-container/helpers.ts +2 -2
  95. package/tests/assets/sdk-a/components/create/override-sdk/infra/modal-view-container/modal-view-container.component.html +1 -11
  96. package/tests/assets/sdk-a/components/create/override-sdk/infra/modal-view-container/modal-view-container.component.ts +0 -7
  97. package/tests/assets/sdk-a/components/create/override-sdk/infra/navbar/navbar.component.ts +0 -2
  98. package/tests/assets/sdk-a/components/create/override-sdk/infra/root-container/root-container.component.html +2 -15
  99. package/tests/assets/sdk-a/components/create/override-sdk/infra/root-container/root-container.component.ts +24 -27
  100. package/tests/assets/sdk-a/components/create/override-sdk/template/confirmation/confirmation.component.html +1 -1
  101. package/tests/assets/sdk-a/components/create/override-sdk/template/default-form/default-form.component.ts +35 -2
  102. package/tests/assets/sdk-a/components/create/override-sdk/template/field-group-template/field-group-template.component.html +7 -7
  103. package/tests/assets/sdk-a/components/create/override-sdk/template/field-group-template/field-group-template.component.scss +8 -0
  104. package/tests/assets/sdk-a/components/create/override-sdk/template/field-group-template/field-group-template.component.ts +64 -41
  105. package/tests/assets/sdk-a/components/create/override-sdk/template/field-value-list/field-value-list.component.html +2 -2
  106. package/tests/assets/sdk-a/components/create/override-sdk/template/field-value-list/field-value-list.component.scss +4 -0
  107. package/tests/assets/sdk-a/components/create/override-sdk/template/list-view/list-view.component.html +3 -1
  108. package/tests/assets/sdk-a/components/create/override-sdk/template/list-view/list-view.component.ts +1 -3
  109. package/tests/assets/sdk-a/components/create/override-sdk/template/list-view/listViewHelpers.ts +2 -5
  110. package/tests/assets/sdk-a/components/create/override-sdk/template/list-view/utils.ts +2 -5
  111. package/tests/assets/sdk-a/components/create/override-sdk/template/simple-table-manual/helpers.ts +9 -7
  112. package/tests/assets/sdk-a/components/create/override-sdk/template/simple-table-manual/simple-table-manual.component.html +25 -6
  113. package/tests/assets/sdk-a/components/create/override-sdk/template/simple-table-manual/simple-table-manual.component.scss +11 -3
  114. package/tests/assets/sdk-a/components/create/override-sdk/template/simple-table-manual/simple-table-manual.component.ts +62 -24
  115. package/tests/assets/sdk-a/components/create/override-sdk/widget/feed-container/feed-container.component.ts +0 -2
  116. package/tests/assets/sdk-a/components/create/override-sdk/widget/todo/todo.component.html +4 -5
  117. package/tests/assets/sdk-a/components/create/override-sdk/widget/todo/todo.component.scss +9 -0
  118. package/tests/assets/sdk-a/components/create/override-sdk/widget/todo/todo.component.ts +4 -3
  119. package/tests/assets/sdk-a/components/createAll/custom-sdk/field/pega-dxil-my-boolean/pega-dxil-my-boolean.component.html +4 -0
  120. package/tests/assets/sdk-a/components/createAll/custom-sdk/field/pega-dxil-my-boolean/pega-dxil-my-boolean.component.ts +0 -1
  121. package/tests/assets/sdk-a/components/createAll/custom-sdk/field/pega-dxil-my-currency/demo.stories.tsx +0 -1
  122. package/tests/assets/sdk-a/components/createAll/custom-sdk/field/pega-dxil-my-currency/pega-dxil-my-currency.component.ts +19 -13
  123. package/tests/assets/sdk-a/components/createAll/custom-sdk/field/pega-dxil-my-date/demo.stories.tsx +4 -4
  124. package/tests/assets/sdk-a/components/createAll/custom-sdk/field/pega-dxil-my-date/pega-dxil-my-date.component.html +2 -1
  125. package/tests/assets/sdk-a/components/createAll/custom-sdk/field/pega-dxil-my-date-time/demo.stories.tsx +4 -4
  126. package/tests/assets/sdk-a/components/createAll/custom-sdk/field/pega-dxil-my-date-time/pega-dxil-my-date-time.component.html +2 -2
  127. package/tests/assets/sdk-a/components/createAll/custom-sdk/field/pega-dxil-my-date-time/pega-dxil-my-date-time.component.ts +17 -3
  128. package/tests/assets/sdk-a/components/createAll/custom-sdk/field/pega-dxil-my-decimal/demo.stories.tsx +0 -1
  129. package/tests/assets/sdk-a/components/createAll/custom-sdk/field/pega-dxil-my-decimal/pega-dxil-my-decimal.component.html +1 -0
  130. package/tests/assets/sdk-a/components/createAll/custom-sdk/field/pega-dxil-my-decimal/pega-dxil-my-decimal.component.ts +38 -15
  131. package/tests/assets/sdk-a/components/createAll/custom-sdk/field/pega-dxil-my-email/demo.stories.tsx +4 -5
  132. package/tests/assets/sdk-a/components/createAll/custom-sdk/field/pega-dxil-my-email/pega-dxil-my-email.component.ts +17 -7
  133. package/tests/assets/sdk-a/components/createAll/custom-sdk/field/pega-dxil-my-icon-button-url/demo.stories.tsx +1 -3
  134. package/tests/assets/sdk-a/components/createAll/custom-sdk/field/pega-dxil-my-integer/demo.stories.tsx +4 -5
  135. package/tests/assets/sdk-a/components/createAll/custom-sdk/field/pega-dxil-my-integer/pega-dxil-my-integer.component.html +1 -1
  136. package/tests/assets/sdk-a/components/createAll/custom-sdk/field/pega-dxil-my-integer/pega-dxil-my-integer.component.ts +16 -6
  137. package/tests/assets/sdk-a/components/createAll/custom-sdk/field/pega-dxil-my-paragraph/demo.stories.tsx +4 -5
  138. package/tests/assets/sdk-a/components/createAll/custom-sdk/field/pega-dxil-my-paragraph/pega-dxil-my-paragraph.component.html +4 -2
  139. package/tests/assets/sdk-a/components/createAll/custom-sdk/field/pega-dxil-my-paragraph/pega-dxil-my-paragraph.component.ts +16 -6
  140. package/tests/assets/sdk-a/components/createAll/custom-sdk/field/pega-dxil-my-percentage/demo.stories.tsx +0 -1
  141. package/tests/assets/sdk-a/components/createAll/custom-sdk/field/pega-dxil-my-percentage/pega-dxil-my-percentage.component.html +1 -1
  142. package/tests/assets/sdk-a/components/createAll/custom-sdk/field/pega-dxil-my-percentage/pega-dxil-my-percentage.component.ts +27 -17
  143. package/tests/assets/sdk-a/components/createAll/custom-sdk/field/pega-dxil-my-phone/demo.stories.tsx +5 -5
  144. package/tests/assets/sdk-a/components/createAll/custom-sdk/field/pega-dxil-my-phone/pega-dxil-my-phone.component.html +3 -1
  145. package/tests/assets/sdk-a/components/createAll/custom-sdk/field/pega-dxil-my-phone/pega-dxil-my-phone.component.ts +6 -13
  146. package/tests/assets/sdk-a/components/createAll/custom-sdk/field/pega-dxil-my-picklist/demo.stories.tsx +4 -4
  147. package/tests/assets/sdk-a/components/createAll/custom-sdk/field/pega-dxil-my-picklist/pega-dxil-my-picklist.component.html +1 -0
  148. package/tests/assets/sdk-a/components/createAll/custom-sdk/field/pega-dxil-my-picklist/pega-dxil-my-picklist.component.ts +18 -4
  149. package/tests/assets/sdk-a/components/createAll/custom-sdk/field/pega-dxil-my-radiobuttons/pega-dxil-my-radiobuttons.component.html +3 -6
  150. package/tests/assets/sdk-a/components/createAll/custom-sdk/field/pega-dxil-my-searchbox/demo.stories.tsx +4 -5
  151. package/tests/assets/sdk-a/components/createAll/custom-sdk/field/pega-dxil-my-searchbox/pega-dxil-my-searchbox.component.html +0 -1
  152. package/tests/assets/sdk-a/components/createAll/custom-sdk/field/pega-dxil-my-searchbox/pega-dxil-my-searchbox.component.ts +15 -2
  153. package/tests/assets/sdk-a/components/createAll/custom-sdk/field/pega-dxil-my-text/demo.stories.tsx +5 -7
  154. package/tests/assets/sdk-a/components/createAll/custom-sdk/field/pega-dxil-my-text-input/demo.stories.tsx +4 -5
  155. package/tests/assets/sdk-a/components/createAll/custom-sdk/field/pega-dxil-my-text-input/pega-dxil-my-text-input.component.html +1 -1
  156. package/tests/assets/sdk-a/components/createAll/custom-sdk/field/pega-dxil-my-text-input/pega-dxil-my-text-input.component.ts +16 -6
  157. package/tests/assets/sdk-a/components/createAll/custom-sdk/field/pega-dxil-my-time-of-day/demo.stories.tsx +4 -5
  158. package/tests/assets/sdk-a/components/createAll/custom-sdk/field/pega-dxil-my-time-of-day/pega-dxil-my-time-of-day.component.html +2 -2
  159. package/tests/assets/sdk-a/components/createAll/custom-sdk/field/pega-dxil-my-time-of-day/pega-dxil-my-time-of-day.component.ts +21 -6
  160. package/tests/assets/sdk-a/components/createAll/custom-sdk/field/pega-dxil-my-url/demo.stories.tsx +6 -6
  161. package/tests/assets/sdk-a/components/createAll/custom-sdk/field/pega-dxil-my-url/pega-dxil-my-url.component.html +1 -1
  162. package/tests/assets/sdk-a/components/createAll/custom-sdk/field/pega-dxil-my-url/pega-dxil-my-url.component.ts +16 -6
  163. package/tests/assets/sdk-a/components/createAll/custom-sdk/template/pega-dxil-my-form/pega-dxil-my-form.component.ts +35 -2
  164. package/tests/assets/sdk-a/components/createAll/custom-sdk/template/pega-dxil-my-two-column-form/pega-dxil-my-two-column-form.component.scss +1 -1
  165. package/tests/assets/sdk-a/components/createAll/override-sdk/designSystemExtension/material-case-summary/material-case-summary.component.ts +0 -1
  166. package/tests/assets/sdk-a/components/createAll/override-sdk/designSystemExtension/material-details-fields/material-details-fields.component.html +1 -1
  167. package/tests/assets/sdk-a/components/createAll/override-sdk/designSystemExtension/material-details-fields/material-details-fields.component.ts +6 -0
  168. package/tests/assets/sdk-a/components/createAll/override-sdk/designSystemExtension/operator/operator.component.html +1 -1
  169. package/tests/assets/sdk-a/components/createAll/override-sdk/designSystemExtension/operator/operator.component.scss +10 -2
  170. package/tests/assets/sdk-a/components/createAll/override-sdk/designSystemExtension/operator/operator.component.ts +4 -3
  171. package/tests/assets/sdk-a/components/createAll/override-sdk/field/auto-complete/auto-complete.component.html +0 -1
  172. package/tests/assets/sdk-a/components/createAll/override-sdk/field/auto-complete/auto-complete.component.ts +15 -2
  173. package/tests/assets/sdk-a/components/createAll/override-sdk/field/check-box/check-box.component.html +4 -0
  174. package/tests/assets/sdk-a/components/createAll/override-sdk/field/currency/currency.component.ts +19 -13
  175. package/tests/assets/sdk-a/components/createAll/override-sdk/field/date/date.component.html +2 -1
  176. package/tests/assets/sdk-a/components/createAll/override-sdk/field/date-time/date-time.component.html +2 -2
  177. package/tests/assets/sdk-a/components/createAll/override-sdk/field/date-time/date-time.component.ts +17 -3
  178. package/tests/assets/sdk-a/components/createAll/override-sdk/field/decimal/decimal.component.html +1 -0
  179. package/tests/assets/sdk-a/components/createAll/override-sdk/field/decimal/decimal.component.ts +38 -15
  180. package/tests/assets/sdk-a/components/createAll/override-sdk/field/dropdown/dropdown.component.html +1 -0
  181. package/tests/assets/sdk-a/components/createAll/override-sdk/field/dropdown/dropdown.component.ts +18 -4
  182. package/tests/assets/sdk-a/components/createAll/override-sdk/field/email/email.component.ts +17 -7
  183. package/tests/assets/sdk-a/components/createAll/override-sdk/field/integer/integer.component.html +1 -1
  184. package/tests/assets/sdk-a/components/createAll/override-sdk/field/integer/integer.component.ts +16 -6
  185. package/tests/assets/sdk-a/components/createAll/override-sdk/field/percentage/percentage.component.html +1 -1
  186. package/tests/assets/sdk-a/components/createAll/override-sdk/field/percentage/percentage.component.ts +27 -17
  187. package/tests/assets/sdk-a/components/createAll/override-sdk/field/phone/config-ext.json +1 -1
  188. package/tests/assets/sdk-a/components/createAll/override-sdk/field/phone/phone.component.html +3 -1
  189. package/tests/assets/sdk-a/components/createAll/override-sdk/field/phone/phone.component.ts +6 -13
  190. package/tests/assets/sdk-a/components/createAll/override-sdk/field/radio-buttons/radio-buttons.component.html +3 -6
  191. package/tests/assets/sdk-a/components/createAll/override-sdk/field/rich-text/rich-text.component.ts +12 -3
  192. package/tests/assets/sdk-a/components/createAll/override-sdk/field/text/text.component.ts +6 -4
  193. package/tests/assets/sdk-a/components/createAll/override-sdk/field/text-area/text-area.component.html +4 -2
  194. package/tests/assets/sdk-a/components/createAll/override-sdk/field/text-area/text-area.component.ts +16 -6
  195. package/tests/assets/sdk-a/components/createAll/override-sdk/field/text-input/text-input.component.html +1 -1
  196. package/tests/assets/sdk-a/components/createAll/override-sdk/field/text-input/text-input.component.ts +16 -6
  197. package/tests/assets/sdk-a/components/createAll/override-sdk/field/time/time.component.html +2 -2
  198. package/tests/assets/sdk-a/components/createAll/override-sdk/field/time/time.component.ts +21 -6
  199. package/tests/assets/sdk-a/components/createAll/override-sdk/field/url/url.component.html +1 -1
  200. package/tests/assets/sdk-a/components/createAll/override-sdk/field/url/url.component.ts +16 -6
  201. package/tests/assets/sdk-a/components/createAll/override-sdk/field/user-reference/user-reference.component.html +40 -38
  202. package/tests/assets/sdk-a/components/createAll/override-sdk/field/user-reference/user-reference.component.ts +70 -7
  203. package/tests/assets/sdk-a/components/createAll/override-sdk/infra/action-buttons/action-buttons.component.html +1 -1
  204. package/tests/assets/sdk-a/components/createAll/override-sdk/infra/assignment/assignment.component.html +1 -1
  205. package/tests/assets/sdk-a/components/createAll/override-sdk/infra/assignment/assignment.component.ts +82 -39
  206. package/tests/assets/sdk-a/components/createAll/override-sdk/infra/assignment-card/assignment-card.component.html +1 -0
  207. package/tests/assets/sdk-a/components/createAll/override-sdk/infra/defer-load/defer-load.component.ts +4 -1
  208. package/tests/assets/sdk-a/components/createAll/override-sdk/infra/flow-container/flow-container.component.ts +17 -43
  209. package/tests/assets/sdk-a/components/createAll/override-sdk/infra/flow-container/helpers.ts +2 -2
  210. package/tests/assets/sdk-a/components/createAll/override-sdk/infra/modal-view-container/modal-view-container.component.html +1 -11
  211. package/tests/assets/sdk-a/components/createAll/override-sdk/infra/modal-view-container/modal-view-container.component.ts +0 -7
  212. package/tests/assets/sdk-a/components/createAll/override-sdk/infra/navbar/navbar.component.ts +0 -2
  213. package/tests/assets/sdk-a/components/createAll/override-sdk/infra/root-container/root-container.component.html +2 -15
  214. package/tests/assets/sdk-a/components/createAll/override-sdk/infra/root-container/root-container.component.ts +24 -27
  215. package/tests/assets/sdk-a/components/createAll/override-sdk/template/confirmation/confirmation.component.html +1 -1
  216. package/tests/assets/sdk-a/components/createAll/override-sdk/template/default-form/default-form.component.ts +35 -2
  217. package/tests/assets/sdk-a/components/createAll/override-sdk/template/field-group-template/field-group-template.component.html +7 -7
  218. package/tests/assets/sdk-a/components/createAll/override-sdk/template/field-group-template/field-group-template.component.scss +8 -0
  219. package/tests/assets/sdk-a/components/createAll/override-sdk/template/field-group-template/field-group-template.component.ts +64 -41
  220. package/tests/assets/sdk-a/components/createAll/override-sdk/template/field-value-list/field-value-list.component.html +2 -2
  221. package/tests/assets/sdk-a/components/createAll/override-sdk/template/field-value-list/field-value-list.component.scss +4 -0
  222. package/tests/assets/sdk-a/components/createAll/override-sdk/template/list-view/list-view.component.html +3 -1
  223. package/tests/assets/sdk-a/components/createAll/override-sdk/template/list-view/list-view.component.ts +1 -3
  224. package/tests/assets/sdk-a/components/createAll/override-sdk/template/list-view/listViewHelpers.ts +2 -5
  225. package/tests/assets/sdk-a/components/createAll/override-sdk/template/list-view/utils.ts +2 -5
  226. package/tests/assets/sdk-a/components/createAll/override-sdk/template/simple-table-manual/helpers.ts +9 -7
  227. package/tests/assets/sdk-a/components/createAll/override-sdk/template/simple-table-manual/simple-table-manual.component.html +25 -6
  228. package/tests/assets/sdk-a/components/createAll/override-sdk/template/simple-table-manual/simple-table-manual.component.scss +11 -3
  229. package/tests/assets/sdk-a/components/createAll/override-sdk/template/simple-table-manual/simple-table-manual.component.ts +62 -24
  230. package/tests/assets/sdk-a/components/createAll/override-sdk/widget/feed-container/feed-container.component.ts +0 -2
  231. package/tests/assets/sdk-a/components/createAll/override-sdk/widget/todo/todo.component.html +4 -5
  232. package/tests/assets/sdk-a/components/createAll/override-sdk/widget/todo/todo.component.scss +9 -0
  233. package/tests/assets/sdk-a/components/createAll/override-sdk/widget/todo/todo.component.ts +4 -3
@@ -14,6 +14,10 @@ import { DatapageService } from '@pega/angular-sdk-components';
14
14
  import { handleEvent } from '@pega/angular-sdk-components';
15
15
  import { PConnFieldProps } from '@pega/angular-sdk-components';
16
16
 
17
+ interface IOption {
18
+ key: string;
19
+ value: string;
20
+ }
17
21
  interface {{COMPONENT_CLASS_NAME}}Props extends PConnFieldProps {
18
22
  // If any, enter additional props that only exist on AutoComplete here
19
23
  deferDatasource?: boolean;
@@ -108,6 +112,13 @@ export class {{COMPONENT_CLASS_NAME}}Component implements OnInit, OnDestroy {
108
112
  );
109
113
  }
110
114
 
115
+ setOptions(options: IOption[]) {
116
+ this.options$ = options;
117
+ const index = this.options$?.findIndex(element => element.key === this.configProps$.value);
118
+ this.value$ = index > -1 ? this.options$[index].value : this.configProps$.value;
119
+ this.fieldControl.setValue(this.value$);
120
+ }
121
+
111
122
  ngOnDestroy(): void {
112
123
  if (this.formGroup$) {
113
124
  this.formGroup$.removeControl(this.controlName$);
@@ -149,6 +160,7 @@ export class {{COMPONENT_CLASS_NAME}}Component implements OnInit, OnDestroy {
149
160
  if (this.configProps$.value != undefined) {
150
161
  const index = this.options$?.findIndex(element => element.key === this.configProps$.value);
151
162
  this.value$ = index > -1 ? this.options$[index].value : this.configProps$.value;
163
+ this.fieldControl.setValue(this.value$);
152
164
  }
153
165
 
154
166
  this.setPropertyValuesFromProps();
@@ -191,7 +203,8 @@ export class {{COMPONENT_CLASS_NAME}}Component implements OnInit, OnDestroy {
191
203
 
192
204
  this.componentReference = this.pConn$.getStateProps().value;
193
205
  if (this.listType === 'associated') {
194
- this.options$ = this.utils.getOptionList(this.configProps$, this.pConn$.getDataObject('')); // 1st arg empty string until typedef marked correctly
206
+ const optionsList = this.utils.getOptionList(this.configProps$, this.pConn$.getDataObject('')); // 1st arg empty string until typedef marked correctly
207
+ this.setOptions(optionsList);
195
208
  }
196
209
 
197
210
  if (!this.displayMode$ && this.listType !== 'associated') {
@@ -263,7 +276,7 @@ export class {{COMPONENT_CLASS_NAME}}Component implements OnInit, OnDestroy {
263
276
  };
264
277
  optionsData.push(obj);
265
278
  });
266
- this.options$ = optionsData;
279
+ this.setOptions(optionsData);
267
280
  }
268
281
 
269
282
  flattenParameters(params = {}) {
@@ -10,11 +10,8 @@
10
10
  <ng-template #noDisplayMode>
11
11
  <div [formGroup]="formGroup$" *ngIf="bVisible$">
12
12
  <mat-form-field class="psdk-radio-form" subscriptSizing="dynamic" [hintLabel]="helperText">
13
- <span class="psdk-label-wrapper-readonly">
14
- <label class="psdk-label-readonly">{{ label$ }}</label>
15
- </span>
16
- <!-- <mat-label>{{label$}}</mat-label> -->
17
- <input matInput [placeholder]="placeholder" style="display: none" />
13
+ <mat-label>{{ label$ }}</mat-label>
14
+ <input matInput [placeholder]="placeholder" style="display: none" [required]="bRequired$" />
18
15
  <mat-radio-group
19
16
  [value]="value$"
20
17
  [required]="bRequired$"
@@ -26,7 +23,7 @@
26
23
  <mat-radio-button
27
24
  *ngFor="let opt of options$"
28
25
  [checked]="isSelected(opt.key)"
29
- [disabled]="bReadonly$"
26
+ [disabled]="bDisabled$ || bReadonly$"
30
27
  [value]="opt.key"
31
28
  class="psdk-radio-button"
32
29
  >
@@ -22,11 +22,11 @@ const meta: Meta<{{COMPONENT_CLASS_NAME}}Component> = {
22
22
  },
23
23
  getActionsApi: () => {
24
24
  return {
25
- updateFieldValue: () => {
26
- /* nothing */
25
+ updateFieldValue: (propName, value) => {
26
+ configProps.value = value;
27
27
  },
28
- triggerFieldChange: () => {
29
- /* nothing */
28
+ triggerFieldChange: (propName, value) => {
29
+ configProps.value = value;
30
30
  }
31
31
  };
32
32
  },
@@ -47,8 +47,6 @@ export const {{COMPONENT_CLASS_NAME}}: Story = {
47
47
  testId: configProps.testId,
48
48
  placeholder: configProps.placeholder,
49
49
  bReadonly$: configProps.readOnly,
50
- bDisabled$: configProps.disabled,
51
- bRequired$: configProps.required,
52
- bHideLabel$: configProps.hideLabel
50
+ bRequired$: configProps.required
53
51
  }
54
52
  };
@@ -22,11 +22,11 @@ const meta: Meta<{{COMPONENT_CLASS_NAME}}Component> = {
22
22
  },
23
23
  getActionsApi: () => {
24
24
  return {
25
- updateFieldValue: () => {
26
- /* nothing */
25
+ updateFieldValue: (propName, value) => {
26
+ configProps.value = value;
27
27
  },
28
- triggerFieldChange: () => {
29
- /* nothing */
28
+ triggerFieldChange: (propName, value) => {
29
+ configProps.value = value;
30
30
  }
31
31
  };
32
32
  },
@@ -47,7 +47,6 @@ export const {{COMPONENT_CLASS_NAME}}: Story = {
47
47
  testId: configProps.testId,
48
48
  placeholder: configProps.placeholder,
49
49
  bReadonly$: configProps.readOnly,
50
- bDisabled$: configProps.disabled,
51
50
  bRequired$: configProps.required,
52
51
  displayMode$: configProps.displayMode
53
52
  }
@@ -159,16 +159,26 @@ export class {{COMPONENT_CLASS_NAME}}Component implements OnInit, OnDestroy {
159
159
  }
160
160
 
161
161
  fieldOnChange(event: any) {
162
- const value = event?.target?.value;
163
- handleEvent(this.actionsApi, 'changeNblur', this.propName, value);
164
- this.pConn$.clearErrorMessages({
165
- property: this.propName
166
- });
162
+ const oldVal = this.value$ ?? '';
163
+ const isValueChanged = event.target.value.toString() !== oldVal.toString();
164
+
165
+ if (isValueChanged) {
166
+ const value = event?.target?.value;
167
+ handleEvent(this.actionsApi, 'changeNblur', this.propName, value);
168
+ this.pConn$.clearErrorMessages({
169
+ property: this.propName
170
+ });
171
+ }
167
172
  }
168
173
 
169
174
  fieldOnBlur(event: any) {
170
- const value = event?.target?.value;
171
- handleEvent(this.actionsApi, 'changeNblur', this.propName, value);
175
+ const oldVal = this.value$ ?? '';
176
+ const isValueChanged = event.target.value.toString() !== oldVal.toString();
177
+
178
+ if (isValueChanged) {
179
+ const value = event?.target?.value;
180
+ handleEvent(this.actionsApi, 'changeNblur', this.propName, value);
181
+ }
172
182
  }
173
183
 
174
184
  getErrorMessage() {
@@ -22,11 +22,11 @@ const meta: Meta<{{COMPONENT_CLASS_NAME}}Component> = {
22
22
  },
23
23
  getActionsApi: () => {
24
24
  return {
25
- updateFieldValue: () => {
26
- /* nothing */
25
+ updateFieldValue: (propName, value) => {
26
+ configProps.value = value;
27
27
  },
28
- triggerFieldChange: () => {
29
- /* nothing */
28
+ triggerFieldChange: (propName, value) => {
29
+ configProps.value = value;
30
30
  }
31
31
  };
32
32
  },
@@ -47,7 +47,6 @@ export const {{COMPONENT_CLASS_NAME}}: Story = {
47
47
  placeholder: configProps.placeholder,
48
48
  testId: configProps.testId,
49
49
  bReadonly$: configProps.readOnly,
50
- bDisabled$: configProps.disabled,
51
50
  bRequired$: configProps.required,
52
51
  displayMode$: configProps.displayMode
53
52
  }
@@ -16,7 +16,7 @@
16
16
  [required]="bRequired$"
17
17
  [attr.data-test-id]="testId"
18
18
  [formControl]="fieldControl"
19
- (change)="fieldOnChange()"
19
+ (change)="fieldOnChange($event)"
20
20
  (blur)="fieldOnBlur($event)"
21
21
  />
22
22
  <mat-error *ngIf="fieldControl.invalid">{{ getErrorMessage() }}</mat-error>
@@ -161,15 +161,25 @@ export class {{COMPONENT_CLASS_NAME}}Component implements OnInit, OnDestroy {
161
161
  }
162
162
  }
163
163
 
164
- fieldOnChange() {
165
- this.pConn$.clearErrorMessages({
166
- property: this.propName
167
- });
164
+ fieldOnChange(event: any) {
165
+ const oldVal = this.value$ ?? '';
166
+ const isValueChanged = event.target.value.toString() !== oldVal.toString();
167
+
168
+ if (isValueChanged) {
169
+ this.pConn$.clearErrorMessages({
170
+ property: this.propName
171
+ });
172
+ }
168
173
  }
169
174
 
170
175
  fieldOnBlur(event: any) {
171
- const value = event?.target?.value;
172
- handleEvent(this.actionsApi, 'changeNblur', this.propName, value);
176
+ const oldVal = this.value$ ?? '';
177
+ const isValueChanged = event.target.value.toString() !== oldVal.toString();
178
+
179
+ if (isValueChanged) {
180
+ const value = event?.target?.value;
181
+ handleEvent(this.actionsApi, 'changeNblur', this.propName, value);
182
+ }
173
183
  }
174
184
 
175
185
  getErrorMessage() {
@@ -28,11 +28,11 @@ const meta: Meta<{{COMPONENT_CLASS_NAME}}Component> = {
28
28
  },
29
29
  getActionsApi: () => {
30
30
  return {
31
- updateFieldValue: () => {
32
- /* nothing */
31
+ updateFieldValue: (propName, value) => {
32
+ configProps.value = value;
33
33
  },
34
- triggerFieldChange: () => {
35
- /* nothing */
34
+ triggerFieldChange: (propName, value) => {
35
+ configProps.value = value;
36
36
  }
37
37
  };
38
38
  },
@@ -52,7 +52,6 @@ export const {{COMPONENT_CLASS_NAME}}: Story = {
52
52
  helperText: configProps.helperText,
53
53
  testId: configProps.testId,
54
54
  bReadonly$: configProps.readOnly,
55
- bDisabled$: configProps.disabled,
56
55
  bRequired$: configProps.required,
57
56
  displayMode$: configProps.displayMode
58
57
  }
@@ -4,10 +4,11 @@
4
4
  {{! pick new delimiters for mustache }}
5
5
  {{=<% %>=}}
6
6
  <ng-template #noDisplayMode>
7
- <div *ngIf="!bReadonly$ && bHasForm$; else noEdit">
7
+ <div *ngIf="bHasForm$; else noEdit">
8
8
  <div [formGroup]="formGroup$">
9
9
  <div *ngIf="bVisible$">
10
10
  <mat-form-field class="psdk-full-width" subscriptSizing="dynamic" [hintLabel]="helperText">
11
+ <mat-label>{{ label$ }}</mat-label>
11
12
  <textarea
12
13
  matInput
13
14
  rows="5"
@@ -17,8 +18,9 @@
17
18
  [value]="value$"
18
19
  [required]="bRequired$"
19
20
  [disabled]="bDisabled$"
21
+ [readonly]="bReadonly$"
20
22
  [formControl]="fieldControl"
21
- (change)="fieldOnChange()"
23
+ (change)="fieldOnChange($event)"
22
24
  (blur)="fieldOnBlur($event)"
23
25
  ></textarea>
24
26
  <mat-error *ngIf="fieldControl.invalid">{{ getErrorMessage() }}</mat-error>
@@ -159,15 +159,25 @@ export class {{COMPONENT_CLASS_NAME}}Component implements OnInit, OnDestroy {
159
159
  }
160
160
  }
161
161
 
162
- fieldOnChange() {
163
- this.pConn$.clearErrorMessages({
164
- property: this.propName
165
- });
162
+ fieldOnChange(event: any) {
163
+ const oldVal = this.value$ ?? '';
164
+ const isValueChanged = event.target.value.toString() !== oldVal.toString();
165
+
166
+ if (isValueChanged) {
167
+ this.pConn$.clearErrorMessages({
168
+ property: this.propName
169
+ });
170
+ }
166
171
  }
167
172
 
168
173
  fieldOnBlur(event: any) {
169
- const value = event?.target?.value;
170
- handleEvent(this.actionsApi, 'changeNblur', this.propName, value);
174
+ const oldVal = this.value$ ?? '';
175
+ const isValueChanged = event.target.value.toString() !== oldVal.toString();
176
+
177
+ if (isValueChanged) {
178
+ const value = event?.target?.value;
179
+ handleEvent(this.actionsApi, 'changeNblur', this.propName, value);
180
+ }
171
181
  }
172
182
 
173
183
  getErrorMessage() {
@@ -22,11 +22,11 @@ const meta: Meta<{{COMPONENT_CLASS_NAME}}Component> = {
22
22
  },
23
23
  getActionsApi: () => {
24
24
  return {
25
- updateFieldValue: () => {
26
- /* nothing */
25
+ updateFieldValue: (propName, value) => {
26
+ configProps.value = value;
27
27
  },
28
- triggerFieldChange: () => {
29
- /* nothing */
28
+ triggerFieldChange: (propName, value) => {
29
+ configProps.value = value;
30
30
  }
31
31
  };
32
32
  },
@@ -45,8 +45,8 @@ export const {{COMPONENT_CLASS_NAME}}: Story = {
45
45
  label$: configProps.label,
46
46
  helperText: configProps.helperText,
47
47
  testId: configProps.testId,
48
- bReadonly$: configProps.readOnly,
49
48
  bDisabled$: configProps.disabled,
49
+ bReadonly$: configProps.readOnly,
50
50
  bRequired$: configProps.required,
51
51
  displayMode$: configProps.displayMode
52
52
  }
@@ -4,7 +4,7 @@
4
4
  {{! pick new delimiters for mustache }}
5
5
  {{=<% %>=}}
6
6
  <ng-template #noDisplayMode>
7
- <div *ngIf="!bReadonly$ && bHasForm$; else noEdit">
7
+ <div *ngIf="bHasForm$; else noEdit">
8
8
  <div #f="ngForm" [formGroup]="formGroup$" *ngIf="bVisible$">
9
9
  <mat-form-field class="psdk-full-width" subscriptSizing="dynamic" [hintLabel]="helperText">
10
10
  <ngx-mat-intl-tel-input
@@ -13,6 +13,8 @@
13
13
  [preferredCountries]="['us']"
14
14
  [enablePlaceholder]="true"
15
15
  [enableSearch]="true"
16
+ [required]="bRequired$"
17
+ [disabled]="bDisabled$ || bReadonly$"
16
18
  (change)="fieldOnChange()"
17
19
  (blur)="fieldOnBlur()"
18
20
  >
@@ -38,18 +38,11 @@ export class {{COMPONENT_CLASS_NAME}}Component implements OnInit, OnDestroy {
38
38
  displayMode$?: string = '';
39
39
  controlName$: string;
40
40
  bHasForm$ = true;
41
- componentReference = '';
42
41
  testId: string;
43
- separateDialCode = false;
44
- afterBlur: boolean;
45
42
  helperText: string;
46
43
 
47
44
  fieldControl = new FormControl('', null);
48
45
 
49
- phoneForm = new FormGroup({
50
- phone: new FormControl<string | null>(null)
51
- });
52
-
53
46
  actionsApi: Object;
54
47
  propName: string;
55
48
 
@@ -117,6 +110,7 @@ export class {{COMPONENT_CLASS_NAME}}Component implements OnInit, OnDestroy {
117
110
  this.testId = this.configProps$.testId;
118
111
  if (this.configProps$.value != undefined) {
119
112
  this.value$ = this.configProps$.value;
113
+ this.fieldControl.setValue(this.value$);
120
114
  }
121
115
  this.helperText = this.configProps$.helperText;
122
116
 
@@ -150,10 +144,6 @@ export class {{COMPONENT_CLASS_NAME}}Component implements OnInit, OnDestroy {
150
144
  this.bReadonly$ = this.utils.getBooleanValue(this.configProps$.readOnly);
151
145
  }
152
146
 
153
- if (this.bReadonly$) {
154
- this.phoneForm.setValue({ phone: this.value$ });
155
- }
156
-
157
147
  // trigger display of error message with field control
158
148
  if (this.angularPConnectData.validateMessage != null && this.angularPConnectData.validateMessage != '') {
159
149
  const timer = interval(100).subscribe(() => {
@@ -170,9 +160,12 @@ export class {{COMPONENT_CLASS_NAME}}Component implements OnInit, OnDestroy {
170
160
  }
171
161
 
172
162
  fieldOnChange() {
173
- if (this.formGroup$.controls[this.controlName$].value) {
163
+ const oldVal = this.value$ ?? '';
164
+ const newVal = this.formGroup$.controls[this.controlName$].value;
165
+ const isValueChanged = newVal?.toString() !== oldVal.toString();
166
+
167
+ if (isValueChanged && newVal) {
174
168
  const value = this.formGroup$.controls[this.controlName$].value;
175
- this.afterBlur = true;
176
169
  handleEvent(this.actionsApi, 'changeNblur', this.propName, value);
177
170
  }
178
171
  }
@@ -22,11 +22,11 @@ const meta: Meta<{{COMPONENT_CLASS_NAME}}Component> = {
22
22
  },
23
23
  getActionsApi: () => {
24
24
  return {
25
- updateFieldValue: () => {
26
- /* nothing */
25
+ updateFieldValue: (propName, value) => {
26
+ configProps.value = value;
27
27
  },
28
- triggerFieldChange: () => {
29
- /* nothing */
28
+ triggerFieldChange: (propName, value) => {
29
+ configProps.value = value;
30
30
  }
31
31
  };
32
32
  },
@@ -46,8 +46,8 @@ export const {{COMPONENT_CLASS_NAME}}: Story = {
46
46
  helperText: configProps.helperText,
47
47
  placeholder: configProps.placeholder,
48
48
  bReadonly$: configProps.readOnly,
49
- bDisabled$: configProps.disabled,
50
49
  bRequired$: configProps.required,
51
- displayMode$: configProps.displayMode
50
+ displayMode$: configProps.displayMode,
51
+ value$: configProps.value
52
52
  }
53
53
  };
@@ -16,7 +16,7 @@
16
16
  [required]="bRequired$"
17
17
  [attr.data-test-id]="testId"
18
18
  [formControl]="fieldControl"
19
- (change)="fieldOnChange()"
19
+ (change)="fieldOnChange($event)"
20
20
  (blur)="fieldOnBlur($event)"
21
21
  />
22
22
  <mat-error *ngIf="fieldControl.invalid">{{ getErrorMessage() }}</mat-error>
@@ -159,15 +159,25 @@ export class {{COMPONENT_CLASS_NAME}}Component implements OnInit, OnDestroy {
159
159
  }
160
160
  }
161
161
 
162
- fieldOnChange() {
163
- this.pConn$.clearErrorMessages({
164
- property: this.propName
165
- });
162
+ fieldOnChange(event: any) {
163
+ const oldVal = this.value$ ?? '';
164
+ const isValueChanged = event.target.value.toString() !== oldVal.toString();
165
+
166
+ if (isValueChanged) {
167
+ this.pConn$.clearErrorMessages({
168
+ property: this.propName
169
+ });
170
+ }
166
171
  }
167
172
 
168
173
  fieldOnBlur(event: any) {
169
- const value = event?.target?.value;
170
- handleEvent(this.actionsApi, 'changeNblur', this.propName, value);
174
+ const oldVal = this.value$ ?? '';
175
+ const isValueChanged = event.target.value.toString() !== oldVal.toString();
176
+
177
+ if (isValueChanged) {
178
+ const value = event?.target?.value;
179
+ handleEvent(this.actionsApi, 'changeNblur', this.propName, value);
180
+ }
171
181
  }
172
182
 
173
183
  getErrorMessage() {
@@ -22,11 +22,11 @@ const meta: Meta<{{COMPONENT_CLASS_NAME}}Component> = {
22
22
  },
23
23
  getActionsApi: () => {
24
24
  return {
25
- updateFieldValue: () => {
26
- /* nothing */
25
+ updateFieldValue: (propName, value) => {
26
+ configProps.value = value;
27
27
  },
28
- triggerFieldChange: () => {
29
- /* nothing */
28
+ triggerFieldChange: (propName, value) => {
29
+ configProps.value = value;
30
30
  }
31
31
  };
32
32
  },
@@ -46,7 +46,6 @@ export const {{COMPONENT_CLASS_NAME}}: Story = {
46
46
  helperText: configProps.helperText,
47
47
  placeholder: configProps.placeholder,
48
48
  bReadonly$: configProps.readOnly,
49
- bDisabled$: configProps.disabled,
50
49
  bRequired$: configProps.required,
51
50
  displayMode$: configProps.displayMode
52
51
  }
@@ -16,7 +16,7 @@
16
16
  [required]="bRequired$"
17
17
  [attr.data-test-id]="testId"
18
18
  [formControl]="fieldControl"
19
- (change)="fieldOnChange()"
19
+ (change)="fieldOnChange($event)"
20
20
  (blur)="fieldOnBlur($event)"
21
21
  />
22
22
  <mat-error *ngIf="fieldControl.invalid">{{ getErrorMessage() }}</mat-error>
@@ -26,5 +26,5 @@
26
26
  </ng-template>
27
27
  <%={{ }}=%> {{! revert delimiters for mustache }}
28
28
  <ng-template #noEdit>
29
- <component-mapper *ngIf="bVisible$ !== false" name="Text" [props]="{ pConn$, formatAs$: 'text' }"></component-mapper>
29
+ <component-mapper *ngIf="bVisible$ !== false" name="Text" [props]="{ pConn$, formatAs$: 'time' }"></component-mapper>
30
30
  </ng-template>
@@ -165,15 +165,30 @@ export class {{COMPONENT_CLASS_NAME}}Component implements OnInit, OnDestroy {
165
165
  }
166
166
  }
167
167
 
168
- fieldOnChange() {
169
- this.pConn$.clearErrorMessages({
170
- property: this.propName
171
- });
168
+ fieldOnChange(event: any) {
169
+ const oldVal = this.value$ ?? '';
170
+ const isValueChanged = event.target.value.toString() !== oldVal.toString();
171
+
172
+ if (isValueChanged) {
173
+ this.pConn$.clearErrorMessages({
174
+ property: this.propName
175
+ });
176
+ }
172
177
  }
173
178
 
174
179
  fieldOnBlur(event: any) {
175
- const value = event?.target?.value;
176
- handleEvent(this.actionsApi, 'changeNblur', this.propName, value);
180
+ const oldVal = this.value$ ?? '';
181
+ const isValueChanged = event?.target?.value.toString() !== oldVal.toString();
182
+
183
+ if (isValueChanged) {
184
+ let value = event?.target?.value;
185
+ const hhmmPattern = /^\d{2}:\d{2}$/;
186
+ if (hhmmPattern.test(value)) {
187
+ value = `${value}:00`; // append ":00"
188
+ }
189
+
190
+ handleEvent(this.actionsApi, 'changeNblur', this.propName, value);
191
+ }
177
192
  }
178
193
 
179
194
  getErrorMessage() {
@@ -1,11 +1,23 @@
1
1
  import { Component, OnInit, Input, forwardRef } from '@angular/core';
2
2
  import { CommonModule } from '@angular/common';
3
3
  import { FormGroup } from '@angular/forms';
4
+ import { AngularPConnectData, AngularPConnectService } from '@pega/angular-sdk-components';
4
5
  import { ReferenceComponent } from '@pega/angular-sdk-components';
5
6
  import { ComponentMapperComponent } from '@pega/angular-sdk-components';
6
7
  import { TemplateUtils } from '@pega/angular-sdk-components';
7
8
  import { FormTemplateBase } from '@pega/angular-sdk-components';
8
9
 
10
+ function areViewsChanged(oldViews: any[], newViews: any[]): boolean {
11
+ if (oldViews?.length !== newViews?.length) {
12
+ return true;
13
+ }
14
+
15
+ return !oldViews?.every((oldView, index) => {
16
+ const newView = newViews[index];
17
+ return oldView.getPConnect().viewName === newView.getPConnect().viewName;
18
+ });
19
+ }
20
+
9
21
  interface {{COMPONENT_CLASS_NAME}}Props {
10
22
  // If any, enter additional props that only exist on this component
11
23
  NumCols: string;
@@ -23,15 +35,32 @@ export class {{COMPONENT_CLASS_NAME}}Component extends FormTemplateBase implemen
23
35
  @Input() override pConn$: typeof PConnect;
24
36
  @Input() formGroup$: FormGroup;
25
37
 
38
+ // Used with AngularPConnect
39
+ override angularPConnectData: AngularPConnectData = {};
40
+
26
41
  arChildren$: any[];
27
42
  divClass$: string;
28
43
  instructions: string;
29
44
 
30
- constructor(private templateUtils: TemplateUtils) {
45
+ constructor(
46
+ private angularPConnect: AngularPConnectService,
47
+ private templateUtils: TemplateUtils
48
+ ) {
31
49
  super();
32
50
  }
33
51
 
34
52
  ngOnInit(): void {
53
+ // First thing in initialization is registering and subscribing to the AngularPConnect service
54
+ this.angularPConnectData = this.angularPConnect.registerAndSubscribeComponent(this, this.onStateChange);
55
+
56
+ this.updateSelf();
57
+ }
58
+
59
+ onStateChange() {
60
+ this.updateSelf();
61
+ }
62
+
63
+ updateSelf() {
35
64
  const configProps = this.pConn$.getConfigProps() as {{COMPONENT_CLASS_NAME}}Props;
36
65
  const kids = this.pConn$.getChildren();
37
66
  this.instructions = this.templateUtils.getInstructions(this.pConn$, configProps?.instructions);
@@ -55,6 +84,10 @@ export class {{COMPONENT_CLASS_NAME}}Component extends FormTemplateBase implemen
55
84
  // repoint children before getting templateArray
56
85
  // Children may contain 'reference' component, so we need to
57
86
  // normalize them
58
- this.arChildren$ = ReferenceComponent.normalizePConnArray(kids[0].getPConnect().getChildren());
87
+ const children = ReferenceComponent.normalizePConnArray(kids[0].getPConnect().getChildren());
88
+
89
+ if (areViewsChanged(this.arChildren$, children)) {
90
+ this.arChildren$ = children;
91
+ }
59
92
  }
60
93
  }
@@ -11,7 +11,7 @@
11
11
  .psdk-two-column-column {
12
12
  width: 50%;
13
13
  float: left;
14
- padding: 0rem 1.5rem;
14
+ padding: 0rem 0.3125rem;
15
15
  height: 100%;
16
16
  }
17
17
 
@@ -228,7 +228,7 @@ export const publishComponentToServer = async (data, doFetch = true) => {
228
228
 
229
229
  const configContentObj = JSON.parse(configContent);
230
230
 
231
- if (configContentObj.type == null || configContentObj.subtype == null) {
231
+ if (!configContentObj.type) {
232
232
  console.log(chalk.bold.yellow(`No config-ext to publish for ${componentKey}`));
233
233
  return;
234
234
  }