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

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 (232) 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/tests/assets/sdk-a/components/create/custom-sdk/field/pega-dxil-my-test-text/demo.stories.tsx +5 -7
  49. package/tests/assets/sdk-a/components/create/override-sdk/designSystemExtension/material-case-summary/material-case-summary.component.ts +0 -1
  50. package/tests/assets/sdk-a/components/create/override-sdk/designSystemExtension/material-details-fields/material-details-fields.component.html +1 -1
  51. package/tests/assets/sdk-a/components/create/override-sdk/designSystemExtension/material-details-fields/material-details-fields.component.ts +6 -0
  52. package/tests/assets/sdk-a/components/create/override-sdk/designSystemExtension/operator/operator.component.html +1 -1
  53. package/tests/assets/sdk-a/components/create/override-sdk/designSystemExtension/operator/operator.component.scss +10 -2
  54. package/tests/assets/sdk-a/components/create/override-sdk/designSystemExtension/operator/operator.component.ts +4 -3
  55. package/tests/assets/sdk-a/components/create/override-sdk/field/auto-complete/auto-complete.component.html +0 -1
  56. package/tests/assets/sdk-a/components/create/override-sdk/field/auto-complete/auto-complete.component.ts +15 -2
  57. package/tests/assets/sdk-a/components/create/override-sdk/field/check-box/check-box.component.html +4 -0
  58. package/tests/assets/sdk-a/components/create/override-sdk/field/currency/currency.component.ts +19 -13
  59. package/tests/assets/sdk-a/components/create/override-sdk/field/date/date.component.html +2 -1
  60. package/tests/assets/sdk-a/components/create/override-sdk/field/date-time/date-time.component.html +2 -2
  61. package/tests/assets/sdk-a/components/create/override-sdk/field/date-time/date-time.component.ts +17 -3
  62. package/tests/assets/sdk-a/components/create/override-sdk/field/decimal/decimal.component.html +1 -0
  63. package/tests/assets/sdk-a/components/create/override-sdk/field/decimal/decimal.component.ts +38 -15
  64. package/tests/assets/sdk-a/components/create/override-sdk/field/dropdown/dropdown.component.html +1 -0
  65. package/tests/assets/sdk-a/components/create/override-sdk/field/dropdown/dropdown.component.ts +18 -4
  66. package/tests/assets/sdk-a/components/create/override-sdk/field/email/email.component.ts +17 -7
  67. package/tests/assets/sdk-a/components/create/override-sdk/field/integer/integer.component.html +1 -1
  68. package/tests/assets/sdk-a/components/create/override-sdk/field/integer/integer.component.ts +16 -6
  69. package/tests/assets/sdk-a/components/create/override-sdk/field/percentage/percentage.component.html +1 -1
  70. package/tests/assets/sdk-a/components/create/override-sdk/field/percentage/percentage.component.ts +27 -17
  71. package/tests/assets/sdk-a/components/create/override-sdk/field/phone/config-ext.json +1 -1
  72. package/tests/assets/sdk-a/components/create/override-sdk/field/phone/phone.component.html +3 -1
  73. package/tests/assets/sdk-a/components/create/override-sdk/field/phone/phone.component.ts +6 -13
  74. package/tests/assets/sdk-a/components/create/override-sdk/field/radio-buttons/radio-buttons.component.html +3 -6
  75. package/tests/assets/sdk-a/components/create/override-sdk/field/rich-text/rich-text.component.ts +12 -3
  76. package/tests/assets/sdk-a/components/create/override-sdk/field/text/text.component.ts +6 -4
  77. package/tests/assets/sdk-a/components/create/override-sdk/field/text-area/text-area.component.html +4 -2
  78. package/tests/assets/sdk-a/components/create/override-sdk/field/text-area/text-area.component.ts +16 -6
  79. package/tests/assets/sdk-a/components/create/override-sdk/field/text-input/text-input.component.html +1 -1
  80. package/tests/assets/sdk-a/components/create/override-sdk/field/text-input/text-input.component.ts +16 -6
  81. package/tests/assets/sdk-a/components/create/override-sdk/field/time/time.component.html +2 -2
  82. package/tests/assets/sdk-a/components/create/override-sdk/field/time/time.component.ts +21 -6
  83. package/tests/assets/sdk-a/components/create/override-sdk/field/url/url.component.html +1 -1
  84. package/tests/assets/sdk-a/components/create/override-sdk/field/url/url.component.ts +16 -6
  85. package/tests/assets/sdk-a/components/create/override-sdk/field/user-reference/user-reference.component.html +40 -38
  86. package/tests/assets/sdk-a/components/create/override-sdk/field/user-reference/user-reference.component.ts +70 -7
  87. package/tests/assets/sdk-a/components/create/override-sdk/infra/action-buttons/action-buttons.component.html +1 -1
  88. package/tests/assets/sdk-a/components/create/override-sdk/infra/assignment/assignment.component.html +1 -1
  89. package/tests/assets/sdk-a/components/create/override-sdk/infra/assignment/assignment.component.ts +82 -39
  90. package/tests/assets/sdk-a/components/create/override-sdk/infra/assignment-card/assignment-card.component.html +1 -0
  91. package/tests/assets/sdk-a/components/create/override-sdk/infra/defer-load/defer-load.component.ts +4 -1
  92. package/tests/assets/sdk-a/components/create/override-sdk/infra/flow-container/flow-container.component.ts +17 -43
  93. package/tests/assets/sdk-a/components/create/override-sdk/infra/flow-container/helpers.ts +2 -2
  94. package/tests/assets/sdk-a/components/create/override-sdk/infra/modal-view-container/modal-view-container.component.html +1 -11
  95. package/tests/assets/sdk-a/components/create/override-sdk/infra/modal-view-container/modal-view-container.component.ts +0 -7
  96. package/tests/assets/sdk-a/components/create/override-sdk/infra/navbar/navbar.component.ts +0 -2
  97. package/tests/assets/sdk-a/components/create/override-sdk/infra/root-container/root-container.component.html +2 -15
  98. package/tests/assets/sdk-a/components/create/override-sdk/infra/root-container/root-container.component.ts +24 -27
  99. package/tests/assets/sdk-a/components/create/override-sdk/template/confirmation/confirmation.component.html +1 -1
  100. package/tests/assets/sdk-a/components/create/override-sdk/template/default-form/default-form.component.ts +35 -2
  101. package/tests/assets/sdk-a/components/create/override-sdk/template/field-group-template/field-group-template.component.html +7 -7
  102. package/tests/assets/sdk-a/components/create/override-sdk/template/field-group-template/field-group-template.component.scss +8 -0
  103. package/tests/assets/sdk-a/components/create/override-sdk/template/field-group-template/field-group-template.component.ts +64 -41
  104. package/tests/assets/sdk-a/components/create/override-sdk/template/field-value-list/field-value-list.component.html +2 -2
  105. package/tests/assets/sdk-a/components/create/override-sdk/template/field-value-list/field-value-list.component.scss +4 -0
  106. package/tests/assets/sdk-a/components/create/override-sdk/template/list-view/list-view.component.html +3 -1
  107. package/tests/assets/sdk-a/components/create/override-sdk/template/list-view/list-view.component.ts +1 -3
  108. package/tests/assets/sdk-a/components/create/override-sdk/template/list-view/listViewHelpers.ts +2 -5
  109. package/tests/assets/sdk-a/components/create/override-sdk/template/list-view/utils.ts +2 -5
  110. package/tests/assets/sdk-a/components/create/override-sdk/template/simple-table-manual/helpers.ts +9 -7
  111. package/tests/assets/sdk-a/components/create/override-sdk/template/simple-table-manual/simple-table-manual.component.html +25 -6
  112. package/tests/assets/sdk-a/components/create/override-sdk/template/simple-table-manual/simple-table-manual.component.scss +11 -3
  113. package/tests/assets/sdk-a/components/create/override-sdk/template/simple-table-manual/simple-table-manual.component.ts +62 -24
  114. package/tests/assets/sdk-a/components/create/override-sdk/widget/feed-container/feed-container.component.ts +0 -2
  115. package/tests/assets/sdk-a/components/create/override-sdk/widget/todo/todo.component.html +4 -5
  116. package/tests/assets/sdk-a/components/create/override-sdk/widget/todo/todo.component.scss +9 -0
  117. package/tests/assets/sdk-a/components/create/override-sdk/widget/todo/todo.component.ts +4 -3
  118. package/tests/assets/sdk-a/components/createAll/custom-sdk/field/pega-dxil-my-boolean/pega-dxil-my-boolean.component.html +4 -0
  119. package/tests/assets/sdk-a/components/createAll/custom-sdk/field/pega-dxil-my-boolean/pega-dxil-my-boolean.component.ts +0 -1
  120. package/tests/assets/sdk-a/components/createAll/custom-sdk/field/pega-dxil-my-currency/demo.stories.tsx +0 -1
  121. package/tests/assets/sdk-a/components/createAll/custom-sdk/field/pega-dxil-my-currency/pega-dxil-my-currency.component.ts +19 -13
  122. package/tests/assets/sdk-a/components/createAll/custom-sdk/field/pega-dxil-my-date/demo.stories.tsx +4 -4
  123. package/tests/assets/sdk-a/components/createAll/custom-sdk/field/pega-dxil-my-date/pega-dxil-my-date.component.html +2 -1
  124. package/tests/assets/sdk-a/components/createAll/custom-sdk/field/pega-dxil-my-date-time/demo.stories.tsx +4 -4
  125. package/tests/assets/sdk-a/components/createAll/custom-sdk/field/pega-dxil-my-date-time/pega-dxil-my-date-time.component.html +2 -2
  126. package/tests/assets/sdk-a/components/createAll/custom-sdk/field/pega-dxil-my-date-time/pega-dxil-my-date-time.component.ts +17 -3
  127. package/tests/assets/sdk-a/components/createAll/custom-sdk/field/pega-dxil-my-decimal/demo.stories.tsx +0 -1
  128. package/tests/assets/sdk-a/components/createAll/custom-sdk/field/pega-dxil-my-decimal/pega-dxil-my-decimal.component.html +1 -0
  129. package/tests/assets/sdk-a/components/createAll/custom-sdk/field/pega-dxil-my-decimal/pega-dxil-my-decimal.component.ts +38 -15
  130. package/tests/assets/sdk-a/components/createAll/custom-sdk/field/pega-dxil-my-email/demo.stories.tsx +4 -5
  131. package/tests/assets/sdk-a/components/createAll/custom-sdk/field/pega-dxil-my-email/pega-dxil-my-email.component.ts +17 -7
  132. package/tests/assets/sdk-a/components/createAll/custom-sdk/field/pega-dxil-my-icon-button-url/demo.stories.tsx +1 -3
  133. package/tests/assets/sdk-a/components/createAll/custom-sdk/field/pega-dxil-my-integer/demo.stories.tsx +4 -5
  134. package/tests/assets/sdk-a/components/createAll/custom-sdk/field/pega-dxil-my-integer/pega-dxil-my-integer.component.html +1 -1
  135. package/tests/assets/sdk-a/components/createAll/custom-sdk/field/pega-dxil-my-integer/pega-dxil-my-integer.component.ts +16 -6
  136. package/tests/assets/sdk-a/components/createAll/custom-sdk/field/pega-dxil-my-paragraph/demo.stories.tsx +4 -5
  137. package/tests/assets/sdk-a/components/createAll/custom-sdk/field/pega-dxil-my-paragraph/pega-dxil-my-paragraph.component.html +4 -2
  138. package/tests/assets/sdk-a/components/createAll/custom-sdk/field/pega-dxil-my-paragraph/pega-dxil-my-paragraph.component.ts +16 -6
  139. package/tests/assets/sdk-a/components/createAll/custom-sdk/field/pega-dxil-my-percentage/demo.stories.tsx +0 -1
  140. package/tests/assets/sdk-a/components/createAll/custom-sdk/field/pega-dxil-my-percentage/pega-dxil-my-percentage.component.html +1 -1
  141. package/tests/assets/sdk-a/components/createAll/custom-sdk/field/pega-dxil-my-percentage/pega-dxil-my-percentage.component.ts +27 -17
  142. package/tests/assets/sdk-a/components/createAll/custom-sdk/field/pega-dxil-my-phone/demo.stories.tsx +5 -5
  143. package/tests/assets/sdk-a/components/createAll/custom-sdk/field/pega-dxil-my-phone/pega-dxil-my-phone.component.html +3 -1
  144. package/tests/assets/sdk-a/components/createAll/custom-sdk/field/pega-dxil-my-phone/pega-dxil-my-phone.component.ts +6 -13
  145. package/tests/assets/sdk-a/components/createAll/custom-sdk/field/pega-dxil-my-picklist/demo.stories.tsx +4 -4
  146. package/tests/assets/sdk-a/components/createAll/custom-sdk/field/pega-dxil-my-picklist/pega-dxil-my-picklist.component.html +1 -0
  147. package/tests/assets/sdk-a/components/createAll/custom-sdk/field/pega-dxil-my-picklist/pega-dxil-my-picklist.component.ts +18 -4
  148. package/tests/assets/sdk-a/components/createAll/custom-sdk/field/pega-dxil-my-radiobuttons/pega-dxil-my-radiobuttons.component.html +3 -6
  149. package/tests/assets/sdk-a/components/createAll/custom-sdk/field/pega-dxil-my-searchbox/demo.stories.tsx +4 -5
  150. package/tests/assets/sdk-a/components/createAll/custom-sdk/field/pega-dxil-my-searchbox/pega-dxil-my-searchbox.component.html +0 -1
  151. package/tests/assets/sdk-a/components/createAll/custom-sdk/field/pega-dxil-my-searchbox/pega-dxil-my-searchbox.component.ts +15 -2
  152. package/tests/assets/sdk-a/components/createAll/custom-sdk/field/pega-dxil-my-text/demo.stories.tsx +5 -7
  153. package/tests/assets/sdk-a/components/createAll/custom-sdk/field/pega-dxil-my-text-input/demo.stories.tsx +4 -5
  154. package/tests/assets/sdk-a/components/createAll/custom-sdk/field/pega-dxil-my-text-input/pega-dxil-my-text-input.component.html +1 -1
  155. package/tests/assets/sdk-a/components/createAll/custom-sdk/field/pega-dxil-my-text-input/pega-dxil-my-text-input.component.ts +16 -6
  156. package/tests/assets/sdk-a/components/createAll/custom-sdk/field/pega-dxil-my-time-of-day/demo.stories.tsx +4 -5
  157. 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
  158. 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
  159. package/tests/assets/sdk-a/components/createAll/custom-sdk/field/pega-dxil-my-url/demo.stories.tsx +6 -6
  160. package/tests/assets/sdk-a/components/createAll/custom-sdk/field/pega-dxil-my-url/pega-dxil-my-url.component.html +1 -1
  161. package/tests/assets/sdk-a/components/createAll/custom-sdk/field/pega-dxil-my-url/pega-dxil-my-url.component.ts +16 -6
  162. package/tests/assets/sdk-a/components/createAll/custom-sdk/template/pega-dxil-my-form/pega-dxil-my-form.component.ts +35 -2
  163. 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
  164. package/tests/assets/sdk-a/components/createAll/override-sdk/designSystemExtension/material-case-summary/material-case-summary.component.ts +0 -1
  165. package/tests/assets/sdk-a/components/createAll/override-sdk/designSystemExtension/material-details-fields/material-details-fields.component.html +1 -1
  166. package/tests/assets/sdk-a/components/createAll/override-sdk/designSystemExtension/material-details-fields/material-details-fields.component.ts +6 -0
  167. package/tests/assets/sdk-a/components/createAll/override-sdk/designSystemExtension/operator/operator.component.html +1 -1
  168. package/tests/assets/sdk-a/components/createAll/override-sdk/designSystemExtension/operator/operator.component.scss +10 -2
  169. package/tests/assets/sdk-a/components/createAll/override-sdk/designSystemExtension/operator/operator.component.ts +4 -3
  170. package/tests/assets/sdk-a/components/createAll/override-sdk/field/auto-complete/auto-complete.component.html +0 -1
  171. package/tests/assets/sdk-a/components/createAll/override-sdk/field/auto-complete/auto-complete.component.ts +15 -2
  172. package/tests/assets/sdk-a/components/createAll/override-sdk/field/check-box/check-box.component.html +4 -0
  173. package/tests/assets/sdk-a/components/createAll/override-sdk/field/currency/currency.component.ts +19 -13
  174. package/tests/assets/sdk-a/components/createAll/override-sdk/field/date/date.component.html +2 -1
  175. package/tests/assets/sdk-a/components/createAll/override-sdk/field/date-time/date-time.component.html +2 -2
  176. package/tests/assets/sdk-a/components/createAll/override-sdk/field/date-time/date-time.component.ts +17 -3
  177. package/tests/assets/sdk-a/components/createAll/override-sdk/field/decimal/decimal.component.html +1 -0
  178. package/tests/assets/sdk-a/components/createAll/override-sdk/field/decimal/decimal.component.ts +38 -15
  179. package/tests/assets/sdk-a/components/createAll/override-sdk/field/dropdown/dropdown.component.html +1 -0
  180. package/tests/assets/sdk-a/components/createAll/override-sdk/field/dropdown/dropdown.component.ts +18 -4
  181. package/tests/assets/sdk-a/components/createAll/override-sdk/field/email/email.component.ts +17 -7
  182. package/tests/assets/sdk-a/components/createAll/override-sdk/field/integer/integer.component.html +1 -1
  183. package/tests/assets/sdk-a/components/createAll/override-sdk/field/integer/integer.component.ts +16 -6
  184. package/tests/assets/sdk-a/components/createAll/override-sdk/field/percentage/percentage.component.html +1 -1
  185. package/tests/assets/sdk-a/components/createAll/override-sdk/field/percentage/percentage.component.ts +27 -17
  186. package/tests/assets/sdk-a/components/createAll/override-sdk/field/phone/config-ext.json +1 -1
  187. package/tests/assets/sdk-a/components/createAll/override-sdk/field/phone/phone.component.html +3 -1
  188. package/tests/assets/sdk-a/components/createAll/override-sdk/field/phone/phone.component.ts +6 -13
  189. package/tests/assets/sdk-a/components/createAll/override-sdk/field/radio-buttons/radio-buttons.component.html +3 -6
  190. package/tests/assets/sdk-a/components/createAll/override-sdk/field/rich-text/rich-text.component.ts +12 -3
  191. package/tests/assets/sdk-a/components/createAll/override-sdk/field/text/text.component.ts +6 -4
  192. package/tests/assets/sdk-a/components/createAll/override-sdk/field/text-area/text-area.component.html +4 -2
  193. package/tests/assets/sdk-a/components/createAll/override-sdk/field/text-area/text-area.component.ts +16 -6
  194. package/tests/assets/sdk-a/components/createAll/override-sdk/field/text-input/text-input.component.html +1 -1
  195. package/tests/assets/sdk-a/components/createAll/override-sdk/field/text-input/text-input.component.ts +16 -6
  196. package/tests/assets/sdk-a/components/createAll/override-sdk/field/time/time.component.html +2 -2
  197. package/tests/assets/sdk-a/components/createAll/override-sdk/field/time/time.component.ts +21 -6
  198. package/tests/assets/sdk-a/components/createAll/override-sdk/field/url/url.component.html +1 -1
  199. package/tests/assets/sdk-a/components/createAll/override-sdk/field/url/url.component.ts +16 -6
  200. package/tests/assets/sdk-a/components/createAll/override-sdk/field/user-reference/user-reference.component.html +40 -38
  201. package/tests/assets/sdk-a/components/createAll/override-sdk/field/user-reference/user-reference.component.ts +70 -7
  202. package/tests/assets/sdk-a/components/createAll/override-sdk/infra/action-buttons/action-buttons.component.html +1 -1
  203. package/tests/assets/sdk-a/components/createAll/override-sdk/infra/assignment/assignment.component.html +1 -1
  204. package/tests/assets/sdk-a/components/createAll/override-sdk/infra/assignment/assignment.component.ts +82 -39
  205. package/tests/assets/sdk-a/components/createAll/override-sdk/infra/assignment-card/assignment-card.component.html +1 -0
  206. package/tests/assets/sdk-a/components/createAll/override-sdk/infra/defer-load/defer-load.component.ts +4 -1
  207. package/tests/assets/sdk-a/components/createAll/override-sdk/infra/flow-container/flow-container.component.ts +17 -43
  208. package/tests/assets/sdk-a/components/createAll/override-sdk/infra/flow-container/helpers.ts +2 -2
  209. package/tests/assets/sdk-a/components/createAll/override-sdk/infra/modal-view-container/modal-view-container.component.html +1 -11
  210. package/tests/assets/sdk-a/components/createAll/override-sdk/infra/modal-view-container/modal-view-container.component.ts +0 -7
  211. package/tests/assets/sdk-a/components/createAll/override-sdk/infra/navbar/navbar.component.ts +0 -2
  212. package/tests/assets/sdk-a/components/createAll/override-sdk/infra/root-container/root-container.component.html +2 -15
  213. package/tests/assets/sdk-a/components/createAll/override-sdk/infra/root-container/root-container.component.ts +24 -27
  214. package/tests/assets/sdk-a/components/createAll/override-sdk/template/confirmation/confirmation.component.html +1 -1
  215. package/tests/assets/sdk-a/components/createAll/override-sdk/template/default-form/default-form.component.ts +35 -2
  216. package/tests/assets/sdk-a/components/createAll/override-sdk/template/field-group-template/field-group-template.component.html +7 -7
  217. package/tests/assets/sdk-a/components/createAll/override-sdk/template/field-group-template/field-group-template.component.scss +8 -0
  218. package/tests/assets/sdk-a/components/createAll/override-sdk/template/field-group-template/field-group-template.component.ts +64 -41
  219. package/tests/assets/sdk-a/components/createAll/override-sdk/template/field-value-list/field-value-list.component.html +2 -2
  220. package/tests/assets/sdk-a/components/createAll/override-sdk/template/field-value-list/field-value-list.component.scss +4 -0
  221. package/tests/assets/sdk-a/components/createAll/override-sdk/template/list-view/list-view.component.html +3 -1
  222. package/tests/assets/sdk-a/components/createAll/override-sdk/template/list-view/list-view.component.ts +1 -3
  223. package/tests/assets/sdk-a/components/createAll/override-sdk/template/list-view/listViewHelpers.ts +2 -5
  224. package/tests/assets/sdk-a/components/createAll/override-sdk/template/list-view/utils.ts +2 -5
  225. package/tests/assets/sdk-a/components/createAll/override-sdk/template/simple-table-manual/helpers.ts +9 -7
  226. package/tests/assets/sdk-a/components/createAll/override-sdk/template/simple-table-manual/simple-table-manual.component.html +25 -6
  227. package/tests/assets/sdk-a/components/createAll/override-sdk/template/simple-table-manual/simple-table-manual.component.scss +11 -3
  228. package/tests/assets/sdk-a/components/createAll/override-sdk/template/simple-table-manual/simple-table-manual.component.ts +62 -24
  229. package/tests/assets/sdk-a/components/createAll/override-sdk/widget/feed-container/feed-container.component.ts +0 -2
  230. package/tests/assets/sdk-a/components/createAll/override-sdk/widget/todo/todo.component.html +4 -5
  231. package/tests/assets/sdk-a/components/createAll/override-sdk/widget/todo/todo.component.scss +9 -0
  232. package/tests/assets/sdk-a/components/createAll/override-sdk/widget/todo/todo.component.ts +4 -3
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pega/dx-component-builder-sdk",
3
- "version": "24.2.12",
3
+ "version": "24.2.13",
4
4
  "description": "Utility for building custom UI components",
5
5
  "bin": "./bin/index.js",
6
6
  "scripts": {
@@ -20,6 +20,8 @@
20
20
  <mat-checkbox
21
21
  [labelPosition]="'after'"
22
22
  [checked]="item.selected"
23
+ [disabled]="bDisabled$ || bReadonly$"
24
+ [required]="bRequired$"
23
25
  [attr.data-test-id]="testId + ':' + item.value"
24
26
  (change)="handleChangeMultiMode($event, item)"
25
27
  (blur)="fieldOnBlur($event)"
@@ -31,6 +33,8 @@
31
33
  <mat-checkbox
32
34
  [labelPosition]="'after'"
33
35
  [checked]="isChecked$"
36
+ [disabled]="bDisabled$ || bReadonly$"
37
+ [required]="bRequired$"
34
38
  [attr.data-test-id]="testId"
35
39
  [formControl]="fieldControl"
36
40
  (change)="fieldOnChange($event)"
@@ -225,7 +225,6 @@ export class {{COMPONENT_CLASS_NAME}}Component implements OnInit, OnDestroy {
225
225
 
226
226
  fieldOnChange(event: any) {
227
227
  event.value = event.checked;
228
-
229
228
  handleEvent(this.actionsApi, 'changeNblur', this.propName, event.checked);
230
229
  this.pConn$.clearErrorMessages({
231
230
  property: this.propName
@@ -17,10 +17,11 @@
17
17
  type="text"
18
18
  [value]="value$"
19
19
  [required]="bRequired$"
20
+ [disabled]="bDisabled$"
20
21
  [formControl]="fieldControl"
21
22
  (dateChange)="fieldOnDateChange($event)"
22
23
  />
23
- <mat-datepicker-toggle matSuffix [for]="pegadate"></mat-datepicker-toggle>
24
+ <mat-datepicker-toggle matSuffix [for]="pegadate" [disabled]="bDisabled$"></mat-datepicker-toggle>
24
25
  <mat-datepicker #pegadate [startAt]="value$"></mat-datepicker>
25
26
  <mat-error *ngIf="fieldControl.invalid">{{ getErrorMessage() }}</mat-error>
26
27
  </mat-form-field>
@@ -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
  },
@@ -15,11 +15,11 @@
15
15
  [placeholder]="placeholder"
16
16
  [formControl]="fieldControl"
17
17
  (dateTimeChange)="fieldOnDateChange($event)"
18
- [value]="value$"
19
18
  [required]="bRequired$"
19
+ [readonly]="bDisabled$"
20
20
  />
21
21
  <mat-datepicker-toggle matSuffix [owlDateTimeTrigger]="dtPicker"></mat-datepicker-toggle>
22
- <owl-date-time #dtPicker></owl-date-time>
22
+ <owl-date-time #dtPicker [disabled]="bDisabled$"></owl-date-time>
23
23
  <mat-error *ngIf="fieldControl?.invalid">{{ getErrorMessage() }}</mat-error>
24
24
  </mat-form-field>
25
25
  </div>
@@ -6,6 +6,7 @@ import { MatInputModule } from '@angular/material/input';
6
6
  import { MatFormFieldModule } from '@angular/material/form-field';
7
7
  import { OwlDateTimeModule, OwlNativeDateTimeModule } from '@danielmoncada/angular-datetime-picker';
8
8
  import { interval } from 'rxjs';
9
+ import dayjs from 'dayjs';
9
10
  import { AngularPConnectData, AngularPConnectService } from '@pega/angular-sdk-components';
10
11
  import { Utils } from '@pega/angular-sdk-components';
11
12
  import { ComponentMapperComponent } from '@pega/angular-sdk-components';
@@ -13,6 +14,7 @@ import { dateFormatInfoDefault, getDateFormatInfo } from '@pega/angular-sdk-comp
13
14
  import { PConnFieldProps } from '@pega/angular-sdk-components';
14
15
  import { handleEvent } from '@pega/angular-sdk-components';
15
16
  import { format } from '@pega/angular-sdk-components';
17
+ import { DateFormatters } from '@pega/angular-sdk-components';
16
18
 
17
19
  interface {{COMPONENT_CLASS_NAME}}Props extends PConnFieldProps {
18
20
  // If any, enter additional props that only exist on DateTime here
@@ -68,6 +70,7 @@ export class {{COMPONENT_CLASS_NAME}}Component implements OnInit, OnDestroy {
68
70
  actionsApi: Object;
69
71
  propName: string;
70
72
  formattedValue$: any;
73
+ timezone = PCore.getEnvironmentInfo()?.getTimeZone();
71
74
 
72
75
  constructor(
73
76
  private angularPConnect: AngularPConnectService,
@@ -88,7 +91,12 @@ export class {{COMPONENT_CLASS_NAME}}Component implements OnInit, OnDestroy {
88
91
  if (this.formGroup$) {
89
92
  // add control to formGroup
90
93
  this.formGroup$.addControl(this.controlName$, this.fieldControl);
91
- this.fieldControl.setValue(this.value$);
94
+ let dateTimeValue = this.value$ ?? '';
95
+
96
+ if (this.value$) {
97
+ dateTimeValue = dayjs(DateFormatters?.convertToTimezone(this.value$, { timezone: this.timezone }))?.toISOString();
98
+ }
99
+ this.fieldControl.setValue(dateTimeValue);
92
100
  this.bHasForm$ = true;
93
101
  } else {
94
102
  this.bReadonly$ = true;
@@ -132,7 +140,11 @@ export class {{COMPONENT_CLASS_NAME}}Component implements OnInit, OnDestroy {
132
140
  this.testId = this.configProps$.testId;
133
141
  this.helperText = this.configProps$.helperText;
134
142
  this.value$ = this.configProps$?.value;
135
- this.fieldControl.setValue(this.value$);
143
+ let dateTimeValue = this.configProps$?.value ?? '';
144
+ if (this.value$) {
145
+ dateTimeValue = dayjs(DateFormatters?.convertToTimezone(this.value$, { timezone: this.timezone }))?.toISOString();
146
+ }
147
+ this.fieldControl.setValue(dateTimeValue);
136
148
  // timeout and detectChanges to avoid ExpressionChangedAfterItHasBeenCheckedError
137
149
  setTimeout(() => {
138
150
  if (this.configProps$.required != null) {
@@ -186,7 +198,9 @@ export class {{COMPONENT_CLASS_NAME}}Component implements OnInit, OnDestroy {
186
198
  // this comes from the date pop up
187
199
  if (typeof event.value === 'object') {
188
200
  // convert date to pega "date" format
189
- event.value = event.value?.toISOString();
201
+ const dateTime = dayjs(event.value?.toISOString());
202
+ const timeZoneDateTime = (dayjs as any).tz(dateTime.format('YYYY-MM-DDTHH:mm:ss'), this.timezone);
203
+ event.value = timeZoneDateTime && timeZoneDateTime.isValid() ? timeZoneDateTime.toISOString() : '';
190
204
  }
191
205
  handleEvent(this.actionsApi, 'changeNblur', this.propName, event.value);
192
206
  }
@@ -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
  },
@@ -14,6 +14,7 @@
14
14
  currencyMask
15
15
  [options]="{
16
16
  prefix: currencySymbol,
17
+ suffix: suffix,
17
18
  thousands: thousandSeparator,
18
19
  decimal: decimalSeparator,
19
20
  align: 'left',
@@ -4,6 +4,7 @@ import { FormControl, FormGroup, FormsModule, ReactiveFormsModule } from '@angul
4
4
  import { MatInputModule } from '@angular/material/input';
5
5
  import { MatFormFieldModule } from '@angular/material/form-field';
6
6
  import { NgxCurrencyDirective, NgxCurrencyInputMode } from 'ngx-currency';
7
+ import { interval } from 'rxjs';
7
8
  import { AngularPConnectData, AngularPConnectService } from '@pega/angular-sdk-components';
8
9
  import { Utils } from '@pega/angular-sdk-components';
9
10
  import { ComponentMapperComponent } from '@pega/angular-sdk-components';
@@ -65,6 +66,7 @@ export class {{COMPONENT_CLASS_NAME}}Component implements OnInit, OnDestroy {
65
66
  formatter;
66
67
  formattedValue: any;
67
68
  inputMode: any;
69
+ suffix = '';
68
70
 
69
71
  constructor(
70
72
  private angularPConnect: AngularPConnectService,
@@ -136,6 +138,7 @@ export class {{COMPONENT_CLASS_NAME}}Component implements OnInit, OnDestroy {
136
138
  nValue = parseFloat(nValue);
137
139
  }
138
140
  this.value$ = nValue;
141
+ this.fieldControl.setValue(this.value$);
139
142
  }
140
143
  this.helperText = this.configProps$.helperText;
141
144
  this.placeholder = this.configProps$.placeholder || '';
@@ -185,27 +188,47 @@ export class {{COMPONENT_CLASS_NAME}}Component implements OnInit, OnDestroy {
185
188
  if (this.bReadonly$ && this.formatter === 'Currency') {
186
189
  this.currencySymbol = theSymbols.theCurrencySymbol;
187
190
  }
191
+
192
+ if (this.bReadonly$ && this.formatter === 'Percentage') {
193
+ this.suffix = '%';
194
+ }
195
+
188
196
  this.decimalPrecision = this.configProps$?.decimalPrecision ?? 2;
189
197
 
190
198
  this.componentReference = this.pConn$.getStateProps().value;
199
+
200
+ // trigger display of error message with field control
201
+ if (this.angularPConnectData.validateMessage != null && this.angularPConnectData.validateMessage != '') {
202
+ const timer = interval(100).subscribe(() => {
203
+ this.fieldControl.setErrors({ message: true });
204
+ this.fieldControl.markAsTouched();
205
+
206
+ timer.unsubscribe();
207
+ });
208
+ }
191
209
  }
192
210
 
193
211
  fieldOnBlur(event: any) {
194
- const actionsApi = this.pConn$?.getActionsApi();
195
- const propName = this.pConn$?.getStateProps().value;
196
- let value = event?.target?.value;
197
- // replacing thousand separator with empty string as not required in api call
198
- if (this.configProps$.showGroupSeparators) {
199
- const thousandSep = this.thousandSeparator === '.' ? '\\.' : this.thousandSeparator;
200
- const regExp = new RegExp(String.raw`${thousandSep}`, 'g');
201
- value = value?.replace(regExp, '');
202
- }
203
- // replacing decimal separator with '.'
204
- if (this.decimalSeparator !== '.') {
205
- const regExp = new RegExp(String.raw`${this.decimalSeparator}`, 'g');
206
- value = value.replace(regExp, '.');
207
- }
208
- handleEvent(actionsApi, 'changeNblur', propName, value);
212
+ const oldVal = this.value$ ?? '';
213
+ const isValueChanged = event.target.value.toString() !== oldVal.toString();
214
+
215
+ if (isValueChanged) {
216
+ const actionsApi = this.pConn$?.getActionsApi();
217
+ const propName = this.pConn$?.getStateProps().value;
218
+ let value = event?.target?.value;
219
+ // replacing thousand separator with empty string as not required in api call
220
+ if (this.configProps$.showGroupSeparators) {
221
+ const thousandSep = this.thousandSeparator === '.' ? '\\.' : this.thousandSeparator;
222
+ const regExp = new RegExp(String.raw`${thousandSep}`, 'g');
223
+ value = value?.replace(regExp, '');
224
+ }
225
+ // replacing decimal separator with '.'
226
+ if (this.decimalSeparator !== '.') {
227
+ const regExp = new RegExp(String.raw`${this.decimalSeparator}`, 'g');
228
+ value = value.replace(regExp, '.');
229
+ }
230
+ handleEvent(actionsApi, 'changeNblur', propName, value);
231
+ }
209
232
  }
210
233
 
211
234
  getErrorMessage() {
@@ -49,7 +49,6 @@ export const {{COMPONENT_CLASS_NAME}}: Story = {
49
49
  helperText: configProps.helperText,
50
50
  testId: configProps.testId,
51
51
  bReadonly$: configProps.readOnly,
52
- bDisabled$: configProps.disabled,
53
52
  bRequired$: configProps.required,
54
53
  displayMode$: configProps.displayMode
55
54
  }
@@ -130,6 +130,7 @@ export class {{COMPONENT_CLASS_NAME}}Component implements OnInit, OnDestroy {
130
130
  nValue = parseFloat(nValue);
131
131
  }
132
132
  this.value$ = nValue;
133
+ this.fieldControl.setValue(this.value$);
133
134
  }
134
135
  this.helperText = this.configProps$.helperText;
135
136
  this.placeholder = this.configProps$.placeholder || '';
@@ -197,20 +198,25 @@ export class {{COMPONENT_CLASS_NAME}}Component implements OnInit, OnDestroy {
197
198
  }
198
199
 
199
200
  fieldOnBlur(event: any) {
200
- const actionsApi = this.pConn$?.getActionsApi();
201
- const propName = this.pConn$?.getStateProps().value;
202
- let value = event?.target?.value;
203
- value = value?.substring(1);
204
- // replacing thousand separator with empty string as not required in api call
205
- const thousandSep = this.thousandSeparator === '.' ? '\\.' : this.thousandSeparator;
206
- let regExp = new RegExp(String.raw`${thousandSep}`, 'g');
207
- value = value?.replace(regExp, '');
208
- // replacing decimal separator with '.'
209
- if (this.decimalSeparator !== '.') {
210
- regExp = new RegExp(String.raw`${this.decimalSeparator}`, 'g');
211
- value = value.replace(regExp, '.');
201
+ const oldVal = this.value$ ?? '';
202
+ const isValueChanged = event.target.value.toString() !== oldVal.toString();
203
+
204
+ if (isValueChanged) {
205
+ const actionsApi = this.pConn$?.getActionsApi();
206
+ const propName = this.pConn$?.getStateProps().value;
207
+ let value = event?.target?.value;
208
+ value = value?.substring(1);
209
+ // replacing thousand separator with empty string as not required in api call
210
+ const thousandSep = this.thousandSeparator === '.' ? '\\.' : this.thousandSeparator;
211
+ let regExp = new RegExp(String.raw`${thousandSep}`, 'g');
212
+ value = value?.replace(regExp, '');
213
+ // replacing decimal separator with '.'
214
+ if (this.decimalSeparator !== '.') {
215
+ regExp = new RegExp(String.raw`${this.decimalSeparator}`, 'g');
216
+ value = value.replace(regExp, '.');
217
+ }
218
+ handleEvent(actionsApi, 'changeNblur', propName, value);
212
219
  }
213
- handleEvent(actionsApi, 'changeNblur', propName, value);
214
220
  }
215
221
 
216
222
  getErrorMessage() {
@@ -46,7 +46,6 @@ export const {{COMPONENT_CLASS_NAME}}: Story = {
46
46
  helperText: configProps.helperText,
47
47
  testId: configProps.testId,
48
48
  bReadonly$: configProps.readOnly,
49
- bDisabled$: configProps.disabled,
50
49
  bRequired$: configProps.required,
51
50
  displayMode$: configProps.displayMode
52
51
  }
@@ -28,7 +28,7 @@
28
28
  [required]="bRequired$"
29
29
  [formControl]="fieldControl"
30
30
  [attr.data-test-id]="testId"
31
- (change)="fieldOnChange()"
31
+ (change)="fieldOnChange($event)"
32
32
  (blur)="fieldOnBlur($event)"
33
33
  [readonly]="bReadonly$"
34
34
  />
@@ -179,27 +179,37 @@ export class {{COMPONENT_CLASS_NAME}}Component implements OnInit, OnDestroy {
179
179
  }
180
180
  }
181
181
 
182
- fieldOnChange() {
183
- this.pConn$.clearErrorMessages({
184
- property: this.propName
185
- });
182
+ fieldOnChange(event: any) {
183
+ const oldVal = this.value$ ?? '';
184
+ const isValueChanged = event.target.value.toString() !== oldVal.toString();
185
+
186
+ if (isValueChanged) {
187
+ this.pConn$.clearErrorMessages({
188
+ property: this.propName
189
+ });
190
+ }
186
191
  }
187
192
 
188
193
  fieldOnBlur(event: any) {
189
- let value = event?.target?.value;
190
- value = value ? value.replace(/%/g, '') : '';
191
- // replacing thousand separator with empty string as not required in api call
192
- if (this.configProps$.showGroupSeparators) {
193
- const thousandSep = this.thousandSeparator === '.' ? '\\.' : this.thousandSeparator;
194
- const regExp = new RegExp(String.raw`${thousandSep}`, 'g');
195
- value = value?.replace(regExp, '');
196
- }
197
- // replacing decimal separator with '.'
198
- if (this.decimalSeparator !== '.') {
199
- const regExp = new RegExp(String.raw`${this.decimalSeparator}`, 'g');
200
- value = value.replace(regExp, '.');
194
+ const oldVal = this.value$ ?? '';
195
+ const isValueChanged = event.target.value.toString() !== oldVal.toString();
196
+
197
+ if (isValueChanged) {
198
+ let value = event?.target?.value;
199
+ value = value ? value.replace(/%/g, '') : '';
200
+ // replacing thousand separator with empty string as not required in api call
201
+ if (this.configProps$.showGroupSeparators) {
202
+ const thousandSep = this.thousandSeparator === '.' ? '\\.' : this.thousandSeparator;
203
+ const regExp = new RegExp(String.raw`${thousandSep}`, 'g');
204
+ value = value?.replace(regExp, '');
205
+ }
206
+ // replacing decimal separator with '.'
207
+ if (this.decimalSeparator !== '.') {
208
+ const regExp = new RegExp(String.raw`${this.decimalSeparator}`, 'g');
209
+ value = value.replace(regExp, '.');
210
+ }
211
+ handleEvent(this.actionsApi, 'changeNblur', this.propName, value);
201
212
  }
202
- handleEvent(this.actionsApi, 'changeNblur', this.propName, value);
203
213
  }
204
214
 
205
215
  getErrorMessage() {
@@ -46,7 +46,6 @@ export const {{COMPONENT_CLASS_NAME}}: Story = {
46
46
  helperText: configProps.helperText,
47
47
  testId: configProps.testId,
48
48
  bReadonly$: configProps.readOnly,
49
- bDisabled$: configProps.disabled,
50
49
  bRequired$: configProps.required,
51
50
  displayMode$: configProps.displayMode
52
51
  }
@@ -47,7 +47,5 @@ export default meta;
47
47
  type Story = StoryObj<{{COMPONENT_CLASS_NAME}}Component>;
48
48
 
49
49
  export const {{COMPONENT_CLASS_NAME}}: Story = {
50
- args: {
51
- countryCode: 'USA'
52
- }
50
+ args: {}
53
51
  };
@@ -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
  testId: configProps.testId,
48
48
  bReadonly$: configProps.readOnly,
49
- bDisabled$: configProps.disabled,
50
49
  bRequired$: configProps.required,
51
50
  displayMode$: configProps.displayMode
52
51
  }
@@ -17,7 +17,7 @@
17
17
  [required]="bRequired$"
18
18
  [formControl]="fieldControl"
19
19
  [attr.data-test-id]="testId"
20
- (change)="fieldOnChange()"
20
+ (change)="fieldOnChange($event)"
21
21
  (blur)="fieldOnBlur($event)"
22
22
  />
23
23
  <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() {
@@ -51,11 +51,11 @@ const meta: Meta<{{COMPONENT_CLASS_NAME}}Component> = {
51
51
  },
52
52
  getActionsApi: () => {
53
53
  return {
54
- updateFieldValue: () => {
55
- /* nothing */
54
+ updateFieldValue: (propName, value) => {
55
+ configProps.value = value;
56
56
  },
57
- triggerFieldChange: () => {
58
- /* nothing */
57
+ triggerFieldChange: (propName, value) => {
58
+ configProps.value = value;
59
59
  }
60
60
  };
61
61
  },
@@ -14,6 +14,7 @@
14
14
  <mat-select
15
15
  [value]="value$"
16
16
  [required]="bRequired$"
17
+ [disabled]="bDisabled$"
17
18
  [attr.data-test-id]="testId"
18
19
  (selectionChange)="fieldOnChange($event)"
19
20
  [formControl]="fieldControl"
@@ -121,7 +121,6 @@ export class {{COMPONENT_CLASS_NAME}}Component implements OnInit, OnDestroy {
121
121
  // call updateSelf when initializing
122
122
  this.checkAndUpdate();
123
123
  // this should get called afer checkAndUpdate
124
- this.getDatapageData();
125
124
 
126
125
  if (this.formGroup$) {
127
126
  // add control to formGroup
@@ -134,6 +133,18 @@ export class {{COMPONENT_CLASS_NAME}}Component implements OnInit, OnDestroy {
134
133
  }
135
134
  }
136
135
 
136
+ set options(options: IOption[]) {
137
+ this.options$ = options;
138
+ if (this.displayMode$) {
139
+ this.value$ = this.options$?.find(option => option.key === this.value$)?.value || this.value$;
140
+ this.localizedValue = this.pConn$.getLocalizedValue(
141
+ this.value$ === 'Select...' ? '' : this.value$,
142
+ this.localePath,
143
+ this.pConn$.getLocaleRuleNameFromKeys(this.localeClass, this.localeContext, this.localeName)
144
+ );
145
+ }
146
+ }
147
+
137
148
  ngOnDestroy(): void {
138
149
  if (this.formGroup$) {
139
150
  this.formGroup$.removeControl(this.controlName$);
@@ -215,7 +226,7 @@ export class {{COMPONENT_CLASS_NAME}}Component implements OnInit, OnDestroy {
215
226
  if (this.theDatasource) {
216
227
  const optionsList = [...this.utils.getOptionList(this.configProps$, this.pConn$.getDataObject())];
217
228
  optionsList?.unshift({ key: 'Select', value: this.pConn$.getLocalizedValue('Select...', '', '') });
218
- this.options$ = optionsList;
229
+ this.options = optionsList;
219
230
  }
220
231
 
221
232
  this.actionsApi = this.pConn$.getActionsApi();
@@ -239,6 +250,9 @@ export class {{COMPONENT_CLASS_NAME}}Component implements OnInit, OnDestroy {
239
250
  this.localePath,
240
251
  this.pConn$.getLocaleRuleNameFromKeys(this.localeClass, this.localeContext, this.localeName)
241
252
  );
253
+
254
+ this.localizedValue = this.options$?.find(opt => opt.key === this.value$)?.value || this.localizedValue;
255
+ this.getDatapageData();
242
256
  // trigger display of error message with field control
243
257
  if (this.angularPConnectData.validateMessage != null && this.angularPConnectData.validateMessage != '') {
244
258
  const timer = interval(100).subscribe(() => {
@@ -278,7 +292,7 @@ export class {{COMPONENT_CLASS_NAME}}Component implements OnInit, OnDestroy {
278
292
  }
279
293
 
280
294
  columns = preProcessColumns(columns) || [];
281
- if (!this.displayMode$ && listType !== 'associated' && typeof datasource === 'string') {
295
+ if (listType !== 'associated' && typeof datasource === 'string') {
282
296
  this.getData(datasource, parameters, columns, context, listType);
283
297
  }
284
298
  }
@@ -309,7 +323,7 @@ export class {{COMPONENT_CLASS_NAME}}Component implements OnInit, OnDestroy {
309
323
  optionsData.push(obj);
310
324
  });
311
325
  optionsData?.unshift({ key: 'Select', value: this.pConn$.getLocalizedValue('Select...', '', '') });
312
- this.options$ = optionsData;
326
+ this.options = optionsData;
313
327
  });
314
328
  });
315
329
  }
@@ -38,11 +38,11 @@ const meta: Meta<{{COMPONENT_CLASS_NAME}}Component> = {
38
38
  },
39
39
  getActionsApi: () => {
40
40
  return {
41
- updateFieldValue: () => {
42
- /* nothing */
41
+ updateFieldValue: (propName, value) => {
42
+ configProps.value = value;
43
43
  },
44
- triggerFieldChange: () => {
45
- /* nothing */
44
+ triggerFieldChange: (propName, value) => {
45
+ configProps.value = value;
46
46
  }
47
47
  };
48
48
  },
@@ -62,7 +62,6 @@ export const {{COMPONENT_CLASS_NAME}}: Story = {
62
62
  helperText: configProps.helperText,
63
63
  testId: configProps.testId,
64
64
  bReadonly$: configProps.readOnly,
65
- bDisabled$: configProps.disabled,
66
65
  bRequired$: configProps.required,
67
66
  displayMode$: configProps.displayMode
68
67
  }
@@ -13,7 +13,6 @@
13
13
  [placeholder]="placeholder"
14
14
  [formControl]="fieldControl"
15
15
  [attr.data-test-id]="testId"
16
- [value]="value$"
17
16
  [required]="bRequired$"
18
17
  [matAutocomplete]="auto"
19
18
  (input)="fieldOnChange($event)"