@pepperi-addons/ngx-lib 0.4.0-angular14.1 → 0.4.0-angular14.10

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 (282) hide show
  1. package/esm2020/address/address.component.mjs +3 -3
  2. package/esm2020/address/address.module.mjs +4 -4
  3. package/esm2020/attachment/attachment.component.mjs +3 -3
  4. package/esm2020/attachment/attachment.module.mjs +4 -4
  5. package/esm2020/bread-crumbs/bread-crumbs.component.mjs +4 -4
  6. package/esm2020/bread-crumbs/bread-crumbs.module.mjs +4 -4
  7. package/esm2020/button/button.component.mjs +3 -3
  8. package/esm2020/button/button.module.mjs +4 -4
  9. package/esm2020/carousel/carousel-item.directive.mjs +3 -3
  10. package/esm2020/carousel/carousel.component.mjs +3 -3
  11. package/esm2020/carousel/carousel.module.mjs +4 -4
  12. package/esm2020/checkbox/checkbox.component.mjs +3 -3
  13. package/esm2020/checkbox/checkbox.module.mjs +4 -4
  14. package/esm2020/color/color-picker.component.mjs +3 -3
  15. package/esm2020/color/color.component.mjs +3 -3
  16. package/esm2020/color/color.module.mjs +4 -4
  17. package/esm2020/core/clipboard/clipboard.directive.mjs +3 -3
  18. package/esm2020/core/clipboard/clipboard.service.mjs +3 -3
  19. package/esm2020/core/common/directives/auto-width.directive.mjs +3 -3
  20. package/esm2020/core/common/directives/button-blur.directive.mjs +3 -3
  21. package/esm2020/core/common/directives/button-loader.directive.mjs +3 -3
  22. package/esm2020/core/common/directives/data-qa.directive.mjs +3 -3
  23. package/esm2020/core/common/directives/menu-blur.directive.mjs +3 -3
  24. package/esm2020/core/common/directives/prevent-multi-click.directive.mjs +3 -3
  25. package/esm2020/core/common/directives/print.directive.mjs +3 -3
  26. package/esm2020/core/common/pipes/common-pipes.mjs +30 -30
  27. package/esm2020/core/common/pipes/date-ago.pipe.mjs +3 -3
  28. package/esm2020/core/common/services/addon.service.mjs +3 -3
  29. package/esm2020/core/common/services/color.service.mjs +3 -3
  30. package/esm2020/core/common/services/cookie.service.mjs +3 -3
  31. package/esm2020/core/common/services/data-convertor.service.mjs +3 -3
  32. package/esm2020/core/common/services/file.service.mjs +3 -3
  33. package/esm2020/core/common/services/jwt-helper.service.mjs +3 -3
  34. package/esm2020/core/common/services/session.service.mjs +3 -3
  35. package/esm2020/core/common/services/translate.service.mjs +3 -3
  36. package/esm2020/core/common/services/utilities.service.mjs +3 -3
  37. package/esm2020/core/common/services/validator.service.mjs +3 -3
  38. package/esm2020/core/common/services/window-scrolling.service.mjs +3 -3
  39. package/esm2020/core/customization/customization.service.mjs +3 -3
  40. package/esm2020/core/http/interceptors/error.interceptor.mjs +3 -3
  41. package/esm2020/core/http/interceptors/loader.interceptor.mjs +3 -3
  42. package/esm2020/core/http/interceptors/profiler.interceptor.mjs +3 -3
  43. package/esm2020/core/http/services/http.service.mjs +3 -3
  44. package/esm2020/core/http/services/loader.service.mjs +3 -3
  45. package/esm2020/core/layout/layout.service.mjs +3 -3
  46. package/esm2020/core/layout/rtl.directive.mjs +6 -6
  47. package/esm2020/core/portal/attach.directive.mjs +3 -3
  48. package/esm2020/core/portal/portal.service.mjs +3 -3
  49. package/esm2020/core/portal/target.directive.mjs +3 -3
  50. package/esm2020/core/scroll-to/scroll-to.service.mjs +3 -3
  51. package/esm2020/date/date.component.mjs +3 -3
  52. package/esm2020/date/date.model.mjs +6 -6
  53. package/esm2020/date/date.module.mjs +4 -4
  54. package/esm2020/dialog/default-dialog.component.mjs +3 -3
  55. package/esm2020/dialog/dialog.component.mjs +3 -3
  56. package/esm2020/dialog/dialog.module.mjs +4 -4
  57. package/esm2020/dialog/dialog.service.mjs +3 -3
  58. package/esm2020/draggable-items/draggable-item/draggable-item.component.mjs +3 -3
  59. package/esm2020/draggable-items/draggable-items.component.mjs +3 -3
  60. package/esm2020/draggable-items/draggable-items.module.mjs +4 -4
  61. package/esm2020/field-title/field-title.component.mjs +3 -3
  62. package/esm2020/field-title/field-title.module.mjs +4 -4
  63. package/esm2020/files-uploader/files-uploader.component.mjs +4 -4
  64. package/esm2020/files-uploader/files-uploader.module.mjs +4 -4
  65. package/esm2020/form/field-generator.component.mjs +7 -5
  66. package/esm2020/form/form.component.mjs +3 -3
  67. package/esm2020/form/form.module.mjs +17 -6
  68. package/esm2020/form/indicators.component.mjs +3 -3
  69. package/esm2020/form/internal-button.component.mjs +3 -3
  70. package/esm2020/form/internal-carusel.component.mjs +13 -15
  71. package/esm2020/form/internal-carusel.service.mjs +3 -3
  72. package/esm2020/form/internal-field-generator.component.mjs +147 -0
  73. package/esm2020/form/internal-form.component.mjs +1214 -0
  74. package/esm2020/form/internal-list.component.mjs +6 -6
  75. package/esm2020/form/internal-menu.component.mjs +3 -3
  76. package/esm2020/form/internal-page.component.mjs +16 -19
  77. package/esm2020/form/internal-page.service.mjs +3 -3
  78. package/esm2020/group-buttons/group-buttons.component.mjs +3 -3
  79. package/esm2020/group-buttons/group-buttons.module.mjs +4 -4
  80. package/esm2020/icon/icon-registry.service.mjs +3 -3
  81. package/esm2020/icon/icon.component.mjs +3 -3
  82. package/esm2020/icon/icon.module.mjs +4 -4
  83. package/esm2020/icon/icon.service.mjs +3 -3
  84. package/esm2020/image/image.component.mjs +3 -3
  85. package/esm2020/image/image.module.mjs +4 -4
  86. package/esm2020/image/image.service.mjs +3 -3
  87. package/esm2020/images-filmstrip/images-filmstrip.component.mjs +3 -3
  88. package/esm2020/images-filmstrip/images-filmstrip.module.mjs +4 -4
  89. package/esm2020/link/link.component.mjs +11 -12
  90. package/esm2020/link/link.module.mjs +4 -4
  91. package/esm2020/link/link.pipes.mjs +3 -3
  92. package/esm2020/list/list-actions.component.mjs +4 -4
  93. package/esm2020/list/list-carousel.component.mjs +4 -4
  94. package/esm2020/list/list-chooser.component.mjs +4 -4
  95. package/esm2020/list/list-pager.component.mjs +4 -4
  96. package/esm2020/list/list-sorting.component.mjs +4 -4
  97. package/esm2020/list/list-total.component.mjs +4 -4
  98. package/esm2020/list/list-views.component.mjs +4 -4
  99. package/esm2020/list/list.component.mjs +3 -3
  100. package/esm2020/list/list.module.mjs +4 -4
  101. package/esm2020/list/list.pipes.mjs +6 -6
  102. package/esm2020/list/virtual-scroller.mjs +7 -7
  103. package/esm2020/menu/menu-item.component.mjs +3 -3
  104. package/esm2020/menu/menu.component.mjs +3 -3
  105. package/esm2020/menu/menu.module.mjs +4 -4
  106. package/esm2020/ngx-lib.module.mjs +8 -6
  107. package/esm2020/page-layout/page-layout.component.mjs +3 -3
  108. package/esm2020/page-layout/page-layout.module.mjs +4 -4
  109. package/esm2020/plugin/pepperi-addons-ngx-lib-plugin.mjs +5 -0
  110. package/esm2020/plugin/plugin-proxy.component.mjs +95 -0
  111. package/esm2020/plugin/plugin.model.mjs +2 -0
  112. package/esm2020/plugin/public-api.mjs +6 -0
  113. package/esm2020/profile-data-views-list/profile-data-view/profile-data-view.component.mjs +3 -3
  114. package/esm2020/profile-data-views-list/profile-data-views-card/profile-data-views-card.component.mjs +3 -3
  115. package/esm2020/profile-data-views-list/profile-data-views-list.component.mjs +3 -3
  116. package/esm2020/profile-data-views-list/profile-data-views-list.module.mjs +4 -4
  117. package/esm2020/quantity-selector/quantity-selector-validation.directive.mjs +3 -3
  118. package/esm2020/quantity-selector/quantity-selector.component.mjs +3 -3
  119. package/esm2020/quantity-selector/quantity-selector.module.mjs +4 -4
  120. package/esm2020/quantity-selector/quantity-selector.pipes.mjs +3 -3
  121. package/esm2020/query-builder/common/services/output-query.service.mjs +3 -3
  122. package/esm2020/query-builder/common/services/query-structure.service.mjs +14 -12
  123. package/esm2020/query-builder/common/services/type-convertor.service.mjs +3 -3
  124. package/esm2020/query-builder/query-builder-item/query-builder-item.component.mjs +3 -3
  125. package/esm2020/query-builder/query-builder-section/query-builder-section.component.mjs +3 -3
  126. package/esm2020/query-builder/query-builder.component.mjs +3 -3
  127. package/esm2020/query-builder/query-builder.module.mjs +11 -6
  128. package/esm2020/query-builder/query-builder.service.mjs +3 -3
  129. package/esm2020/remote-loader/addon-block-loader.component.mjs +3 -3
  130. package/esm2020/remote-loader/addon-block-loader.service.mjs +3 -3
  131. package/esm2020/remote-loader/remote-loader.component.mjs +32 -19
  132. package/esm2020/remote-loader/remote-loader.module.mjs +4 -4
  133. package/esm2020/remote-loader/remote-loader.service.mjs +3 -3
  134. package/esm2020/rich-html-textarea/rich-html-textarea.component.mjs +3 -3
  135. package/esm2020/rich-html-textarea/rich-html-textarea.module.mjs +4 -4
  136. package/esm2020/search/search.component.mjs +4 -4
  137. package/esm2020/search/search.module.mjs +4 -4
  138. package/esm2020/select/select.component.mjs +3 -3
  139. package/esm2020/select/select.module.mjs +4 -4
  140. package/esm2020/separator/separator.component.mjs +3 -3
  141. package/esm2020/separator/separator.module.mjs +4 -4
  142. package/esm2020/side-bar/side-bar.component.mjs +4 -4
  143. package/esm2020/side-bar/side-bar.module.mjs +4 -4
  144. package/esm2020/signature/signature.component.mjs +3 -3
  145. package/esm2020/signature/signature.module.mjs +4 -4
  146. package/esm2020/size-detector/size-detector.component.mjs +3 -3
  147. package/esm2020/size-detector/size-detector.module.mjs +4 -4
  148. package/esm2020/slider/slider.component.mjs +3 -3
  149. package/esm2020/slider/slider.module.mjs +4 -4
  150. package/esm2020/smart-filters/boolean-filter/boolean-filter.component.mjs +3 -3
  151. package/esm2020/smart-filters/common/filter-actions.component.mjs +3 -3
  152. package/esm2020/smart-filters/common/model/base-filter-component.mjs +4 -4
  153. package/esm2020/smart-filters/date-filter/date-filter.component.mjs +3 -3
  154. package/esm2020/smart-filters/multi-select-filter/multi-select-filter.component.mjs +3 -3
  155. package/esm2020/smart-filters/number-filter/number-filter.component.mjs +3 -3
  156. package/esm2020/smart-filters/smart-filters.component.mjs +3 -3
  157. package/esm2020/smart-filters/smart-filters.module.mjs +11 -6
  158. package/esm2020/smart-filters/text-filter/text-filter.component.mjs +3 -3
  159. package/esm2020/snack-bar/default-snack-bar.component.mjs +3 -3
  160. package/esm2020/snack-bar/snack-bar.component.mjs +3 -3
  161. package/esm2020/snack-bar/snack-bar.module.mjs +4 -4
  162. package/esm2020/snack-bar/snack-bar.service.mjs +3 -3
  163. package/esm2020/textarea/textarea.component.mjs +3 -3
  164. package/esm2020/textarea/textarea.module.mjs +4 -4
  165. package/esm2020/textbox/textbox-validation.directive.mjs +3 -3
  166. package/esm2020/textbox/textbox.component.mjs +10 -11
  167. package/esm2020/textbox/textbox.module.mjs +4 -4
  168. package/esm2020/textbox-icon/textbox-icon.component.mjs +3 -3
  169. package/esm2020/textbox-icon/textbox-icon.module.mjs +4 -4
  170. package/esm2020/top-bar/top-bar.component.mjs +3 -3
  171. package/esm2020/top-bar/top-bar.module.mjs +4 -4
  172. package/fesm2015/pepperi-addons-ngx-lib-address.mjs +7 -7
  173. package/fesm2015/pepperi-addons-ngx-lib-attachment.mjs +7 -7
  174. package/fesm2015/pepperi-addons-ngx-lib-bread-crumbs.mjs +8 -8
  175. package/fesm2015/pepperi-addons-ngx-lib-button.mjs +7 -7
  176. package/fesm2015/pepperi-addons-ngx-lib-carousel.mjs +10 -10
  177. package/fesm2015/pepperi-addons-ngx-lib-checkbox.mjs +7 -7
  178. package/fesm2015/pepperi-addons-ngx-lib-color.mjs +10 -10
  179. package/fesm2015/pepperi-addons-ngx-lib-date.mjs +13 -13
  180. package/fesm2015/pepperi-addons-ngx-lib-dialog.mjs +13 -13
  181. package/fesm2015/pepperi-addons-ngx-lib-draggable-items.mjs +10 -10
  182. package/fesm2015/pepperi-addons-ngx-lib-field-title.mjs +7 -7
  183. package/fesm2015/pepperi-addons-ngx-lib-files-uploader.mjs +8 -8
  184. package/fesm2015/pepperi-addons-ngx-lib-form.mjs +1556 -229
  185. package/fesm2015/pepperi-addons-ngx-lib-form.mjs.map +1 -1
  186. package/fesm2015/pepperi-addons-ngx-lib-group-buttons.mjs +7 -7
  187. package/fesm2015/pepperi-addons-ngx-lib-icon.mjs +13 -13
  188. package/fesm2015/pepperi-addons-ngx-lib-image.mjs +10 -10
  189. package/fesm2015/pepperi-addons-ngx-lib-images-filmstrip.mjs +7 -7
  190. package/fesm2015/pepperi-addons-ngx-lib-link.mjs +16 -17
  191. package/fesm2015/pepperi-addons-ngx-lib-link.mjs.map +1 -1
  192. package/fesm2015/pepperi-addons-ngx-lib-list.mjs +48 -48
  193. package/fesm2015/pepperi-addons-ngx-lib-menu.mjs +10 -10
  194. package/fesm2015/pepperi-addons-ngx-lib-page-layout.mjs +7 -7
  195. package/fesm2015/pepperi-addons-ngx-lib-plugin.mjs +112 -0
  196. package/fesm2015/pepperi-addons-ngx-lib-plugin.mjs.map +1 -0
  197. package/fesm2015/pepperi-addons-ngx-lib-profile-data-views-list.mjs +13 -13
  198. package/fesm2015/pepperi-addons-ngx-lib-quantity-selector.mjs +13 -13
  199. package/fesm2015/pepperi-addons-ngx-lib-query-builder.mjs +38 -31
  200. package/fesm2015/pepperi-addons-ngx-lib-query-builder.mjs.map +1 -1
  201. package/fesm2015/pepperi-addons-ngx-lib-remote-loader.mjs +47 -34
  202. package/fesm2015/pepperi-addons-ngx-lib-remote-loader.mjs.map +1 -1
  203. package/fesm2015/pepperi-addons-ngx-lib-rich-html-textarea.mjs +7 -7
  204. package/fesm2015/pepperi-addons-ngx-lib-search.mjs +8 -8
  205. package/fesm2015/pepperi-addons-ngx-lib-select.mjs +7 -7
  206. package/fesm2015/pepperi-addons-ngx-lib-separator.mjs +7 -7
  207. package/fesm2015/pepperi-addons-ngx-lib-side-bar.mjs +8 -8
  208. package/fesm2015/pepperi-addons-ngx-lib-signature.mjs +7 -7
  209. package/fesm2015/pepperi-addons-ngx-lib-size-detector.mjs +7 -7
  210. package/fesm2015/pepperi-addons-ngx-lib-slider.mjs +7 -7
  211. package/fesm2015/pepperi-addons-ngx-lib-smart-filters.mjs +34 -29
  212. package/fesm2015/pepperi-addons-ngx-lib-smart-filters.mjs.map +1 -1
  213. package/fesm2015/pepperi-addons-ngx-lib-snack-bar.mjs +13 -13
  214. package/fesm2015/pepperi-addons-ngx-lib-textarea.mjs +7 -7
  215. package/fesm2015/pepperi-addons-ngx-lib-textbox-icon.mjs +7 -7
  216. package/fesm2015/pepperi-addons-ngx-lib-textbox.mjs +17 -18
  217. package/fesm2015/pepperi-addons-ngx-lib-textbox.mjs.map +1 -1
  218. package/fesm2015/pepperi-addons-ngx-lib-top-bar.mjs +7 -7
  219. package/fesm2015/pepperi-addons-ngx-lib.mjs +139 -137
  220. package/fesm2015/pepperi-addons-ngx-lib.mjs.map +1 -1
  221. package/fesm2020/pepperi-addons-ngx-lib-address.mjs +7 -7
  222. package/fesm2020/pepperi-addons-ngx-lib-attachment.mjs +7 -7
  223. package/fesm2020/pepperi-addons-ngx-lib-bread-crumbs.mjs +8 -8
  224. package/fesm2020/pepperi-addons-ngx-lib-button.mjs +7 -7
  225. package/fesm2020/pepperi-addons-ngx-lib-carousel.mjs +10 -10
  226. package/fesm2020/pepperi-addons-ngx-lib-checkbox.mjs +7 -7
  227. package/fesm2020/pepperi-addons-ngx-lib-color.mjs +10 -10
  228. package/fesm2020/pepperi-addons-ngx-lib-date.mjs +13 -13
  229. package/fesm2020/pepperi-addons-ngx-lib-dialog.mjs +13 -13
  230. package/fesm2020/pepperi-addons-ngx-lib-draggable-items.mjs +10 -10
  231. package/fesm2020/pepperi-addons-ngx-lib-field-title.mjs +7 -7
  232. package/fesm2020/pepperi-addons-ngx-lib-files-uploader.mjs +8 -8
  233. package/fesm2020/pepperi-addons-ngx-lib-form.mjs +1553 -227
  234. package/fesm2020/pepperi-addons-ngx-lib-form.mjs.map +1 -1
  235. package/fesm2020/pepperi-addons-ngx-lib-group-buttons.mjs +7 -7
  236. package/fesm2020/pepperi-addons-ngx-lib-icon.mjs +13 -13
  237. package/fesm2020/pepperi-addons-ngx-lib-image.mjs +10 -10
  238. package/fesm2020/pepperi-addons-ngx-lib-images-filmstrip.mjs +7 -7
  239. package/fesm2020/pepperi-addons-ngx-lib-link.mjs +16 -17
  240. package/fesm2020/pepperi-addons-ngx-lib-link.mjs.map +1 -1
  241. package/fesm2020/pepperi-addons-ngx-lib-list.mjs +48 -48
  242. package/fesm2020/pepperi-addons-ngx-lib-menu.mjs +10 -10
  243. package/fesm2020/pepperi-addons-ngx-lib-page-layout.mjs +7 -7
  244. package/fesm2020/pepperi-addons-ngx-lib-plugin.mjs +106 -0
  245. package/fesm2020/pepperi-addons-ngx-lib-plugin.mjs.map +1 -0
  246. package/fesm2020/pepperi-addons-ngx-lib-profile-data-views-list.mjs +13 -13
  247. package/fesm2020/pepperi-addons-ngx-lib-quantity-selector.mjs +13 -13
  248. package/fesm2020/pepperi-addons-ngx-lib-query-builder.mjs +38 -31
  249. package/fesm2020/pepperi-addons-ngx-lib-query-builder.mjs.map +1 -1
  250. package/fesm2020/pepperi-addons-ngx-lib-remote-loader.mjs +44 -31
  251. package/fesm2020/pepperi-addons-ngx-lib-remote-loader.mjs.map +1 -1
  252. package/fesm2020/pepperi-addons-ngx-lib-rich-html-textarea.mjs +7 -7
  253. package/fesm2020/pepperi-addons-ngx-lib-search.mjs +8 -8
  254. package/fesm2020/pepperi-addons-ngx-lib-select.mjs +7 -7
  255. package/fesm2020/pepperi-addons-ngx-lib-separator.mjs +7 -7
  256. package/fesm2020/pepperi-addons-ngx-lib-side-bar.mjs +8 -8
  257. package/fesm2020/pepperi-addons-ngx-lib-signature.mjs +7 -7
  258. package/fesm2020/pepperi-addons-ngx-lib-size-detector.mjs +7 -7
  259. package/fesm2020/pepperi-addons-ngx-lib-slider.mjs +7 -7
  260. package/fesm2020/pepperi-addons-ngx-lib-smart-filters.mjs +34 -29
  261. package/fesm2020/pepperi-addons-ngx-lib-smart-filters.mjs.map +1 -1
  262. package/fesm2020/pepperi-addons-ngx-lib-snack-bar.mjs +13 -13
  263. package/fesm2020/pepperi-addons-ngx-lib-textarea.mjs +7 -7
  264. package/fesm2020/pepperi-addons-ngx-lib-textbox-icon.mjs +7 -7
  265. package/fesm2020/pepperi-addons-ngx-lib-textbox.mjs +17 -18
  266. package/fesm2020/pepperi-addons-ngx-lib-textbox.mjs.map +1 -1
  267. package/fesm2020/pepperi-addons-ngx-lib-top-bar.mjs +7 -7
  268. package/fesm2020/pepperi-addons-ngx-lib.mjs +139 -137
  269. package/fesm2020/pepperi-addons-ngx-lib.mjs.map +1 -1
  270. package/form/form.module.d.ts +40 -38
  271. package/form/internal-carusel.component.d.ts +1 -3
  272. package/form/internal-field-generator.component.d.ts +35 -0
  273. package/form/internal-form.component.d.ts +89 -0
  274. package/form/internal-page.component.d.ts +2 -4
  275. package/link/link.component.d.ts +2 -3
  276. package/package.json +16 -8
  277. package/plugin/index.d.ts +5 -0
  278. package/plugin/plugin-proxy.component.d.ts +25 -0
  279. package/plugin/plugin.model.d.ts +6 -0
  280. package/plugin/public-api.d.ts +2 -0
  281. package/query-builder/common/services/query-structure.service.d.ts +3 -4
  282. package/textbox/textbox.component.d.ts +2 -3
@@ -1,9 +1,9 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Component, ChangeDetectionStrategy, Input, EventEmitter, Output, ViewEncapsulation, ViewChild, Injectable, ViewContainerRef, TemplateRef, NgModule } from '@angular/core';
2
+ import { Component, ChangeDetectionStrategy, Input, EventEmitter, Output, Injectable, ViewEncapsulation, ViewChild, ViewContainerRef, TemplateRef, NgModule } from '@angular/core';
3
3
  import * as i5 from '@angular/common';
4
4
  import { CommonModule } from '@angular/common';
5
5
  import * as i3$1 from '@angular/forms';
6
- import { Validators, ReactiveFormsModule } from '@angular/forms';
6
+ import { Validators, ReactiveFormsModule, FormBuilder } from '@angular/forms';
7
7
  import { MatCommonModule } from '@angular/material/core';
8
8
  import { MatFormFieldModule } from '@angular/material/form-field';
9
9
  import * as i4 from '@angular/material/button';
@@ -25,9 +25,9 @@ import * as i3$2 from '@pepperi-addons/ngx-lib/address';
25
25
  import { PepAddressModule } from '@pepperi-addons/ngx-lib/address';
26
26
  import * as i4$3 from '@pepperi-addons/ngx-lib/attachment';
27
27
  import { PepAttachmentModule } from '@pepperi-addons/ngx-lib/attachment';
28
- import * as i5$3 from '@pepperi-addons/ngx-lib/button';
28
+ import * as i4$4 from '@pepperi-addons/ngx-lib/button';
29
29
  import { PepButtonModule } from '@pepperi-addons/ngx-lib/button';
30
- import * as i6$2 from '@pepperi-addons/ngx-lib/carousel';
30
+ import * as i5$3 from '@pepperi-addons/ngx-lib/carousel';
31
31
  import { PepCarouselComponent, PepCarouselModule } from '@pepperi-addons/ngx-lib/carousel';
32
32
  import * as i5$2 from '@pepperi-addons/ngx-lib/checkbox';
33
33
  import { PepCheckboxModule } from '@pepperi-addons/ngx-lib/checkbox';
@@ -68,9 +68,9 @@ class PepIndicatorsComponent {
68
68
  this.layoutType = 'table';
69
69
  }
70
70
  }
71
- PepIndicatorsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: PepIndicatorsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
72
- PepIndicatorsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.1", type: PepIndicatorsComponent, selector: "pep-indicators", inputs: { key: "key", value: "value", layoutType: "layoutType" }, ngImport: i0, template: "<div class=\"indicators-container\" [ngClass]=\"{ 'is-inside-table': layoutType === 'table' }\">\n <ng-container *ngFor=\"let value of value?.split(';')\">\n <pep-icon name=\"indicator_dot_placeholder\" class=\"pull-left flip\" [fill]=\"value\"></pep-icon>\n </ng-container>\n <ng-container *ngIf=\"key != 'ItemIndicatorsWithoutCampaign' && value?.split(';').length < 4\">\n <pep-icon name=\"indicator_dot_placeholder\" class=\"pull-left flip\"></pep-icon>\n </ng-container>\n</div>", styles: [":host{height:inherit;display:grid}:host>*{align-self:center}.indicators-container{height:2.5rem}.indicators-container pep-icon{height:1rem;width:1rem;margin:.05rem}.indicators-container.is-inside-table{height:1rem;display:flex;justify-content:center;align-items:center}\n", ".indicators-container .svg-icon{fill:hsla(var(--pep-color-system-primary-invert-h, 255),var(--pep-color-system-primary-invert-s, 100%),var(--pep-color-system-primary-invert-l, 100%),.5)}\n"], dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i1.PepIconComponent, selector: "pep-icon", inputs: ["spin", "name", "fill"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
73
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: PepIndicatorsComponent, decorators: [{
71
+ PepIndicatorsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepIndicatorsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
72
+ PepIndicatorsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PepIndicatorsComponent, selector: "pep-indicators", inputs: { key: "key", value: "value", layoutType: "layoutType" }, ngImport: i0, template: "<div class=\"indicators-container\" [ngClass]=\"{ 'is-inside-table': layoutType === 'table' }\">\n <ng-container *ngFor=\"let value of value?.split(';')\">\n <pep-icon name=\"indicator_dot_placeholder\" class=\"pull-left flip\" [fill]=\"value\"></pep-icon>\n </ng-container>\n <ng-container *ngIf=\"key != 'ItemIndicatorsWithoutCampaign' && value?.split(';').length < 4\">\n <pep-icon name=\"indicator_dot_placeholder\" class=\"pull-left flip\"></pep-icon>\n </ng-container>\n</div>", styles: [":host{height:inherit;display:grid}:host>*{align-self:center}.indicators-container{height:2.5rem}.indicators-container pep-icon{height:1rem;width:1rem;margin:.05rem}.indicators-container.is-inside-table{height:1rem;display:flex;justify-content:center;align-items:center}\n", ".indicators-container .svg-icon{fill:hsla(var(--pep-color-system-primary-invert-h, 255),var(--pep-color-system-primary-invert-s, 100%),var(--pep-color-system-primary-invert-l, 100%),.5)}\n"], dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i1.PepIconComponent, selector: "pep-icon", inputs: ["spin", "name", "fill"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
73
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepIndicatorsComponent, decorators: [{
74
74
  type: Component,
75
75
  args: [{ selector: 'pep-indicators', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"indicators-container\" [ngClass]=\"{ 'is-inside-table': layoutType === 'table' }\">\n <ng-container *ngFor=\"let value of value?.split(';')\">\n <pep-icon name=\"indicator_dot_placeholder\" class=\"pull-left flip\" [fill]=\"value\"></pep-icon>\n </ng-container>\n <ng-container *ngIf=\"key != 'ItemIndicatorsWithoutCampaign' && value?.split(';').length < 4\">\n <pep-icon name=\"indicator_dot_placeholder\" class=\"pull-left flip\"></pep-icon>\n </ng-container>\n</div>", styles: [":host{height:inherit;display:grid}:host>*{align-self:center}.indicators-container{height:2.5rem}.indicators-container pep-icon{height:1rem;width:1rem;margin:.05rem}.indicators-container.is-inside-table{height:1rem;display:flex;justify-content:center;align-items:center}\n", ".indicators-container .svg-icon{fill:hsla(var(--pep-color-system-primary-invert-h, 255),var(--pep-color-system-primary-invert-s, 100%),var(--pep-color-system-primary-invert-l, 100%),.5)}\n"] }]
76
76
  }], propDecorators: { key: [{
@@ -211,9 +211,9 @@ class PepInternalButtonComponent {
211
211
  this.valueChange.emit(this.value);
212
212
  }
213
213
  }
214
- PepInternalButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: PepInternalButtonComponent, deps: [{ token: i1$1.PepCustomizationService }, { token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
215
- PepInternalButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.1", type: PepInternalButtonComponent, selector: "pep-internal-button", inputs: { key: "key", value: "value", formattedValue: "formattedValue", label: "label", referenceObjectInternalType: "referenceObjectInternalType", type: "type", mandatory: "mandatory", disabled: "disabled", readonly: "readonly", xAlignment: "xAlignment", rowSpan: "rowSpan", visible: "visible", form: "form", showTitle: "showTitle", layoutType: "layoutType" }, outputs: { elementClick: "elementClick", valueChange: "valueChange" }, usesOnChanges: true, ngImport: i0, template: "<ng-container [ngSwitch]=\"type\">\n <ng-container *ngSwitchCase=\"'reference'\">\n <ng-container *ngIf=\"layoutType === 'form'; then formBlock; else notFormBlock\"></ng-container>\n <ng-template #formBlock>\n <div class=\"pep-button-container reference-button\">\n <pep-field-title [label]=\"label\" [mandatory]=\"mandatory\" [disabled]=\"disabled\" [xAlignment]=\"xAlignment\"\n [showTitle]=\"showTitle\">\n </pep-field-title>\n <ng-container *ngIf=\"createNewReference; then newBlock; else existingBlock\"></ng-container>\n <ng-template #newBlock>\n <button mat-button [id]=\"key\" title=\"{{ formattedValue }}\" class=\"pep-button md regular\"\n (click)=\"onButtonClicked($event)\" [ngClass]=\"{\n disabled: disabled,\n 'pull-left': xAlignment == 'left',\n 'pull-right': xAlignment == 'right',\n 'center-alignment': xAlignment == 'center'\n }\">\n <span class=\"ellipsis pull-left flip button-title-with-icon\">{{ 'ACTIONS.CREATE_NEW' | translate\n }}</span>\n <mat-icon class=\"pull-right flip\" pepRtlClass>\n <pep-icon name=\"number_plus\" (click)=\"onButtonClicked($event)\">\n </pep-icon>\n </mat-icon>\n </button>\n </ng-template>\n <ng-template #existingBlock>\n <pep-group-buttons [buttons]=\"referenceButtons\" styleType=\"regular\" viewType=\"split\">\n </pep-group-buttons>\n </ng-template>\n </div>\n </ng-template>\n <ng-template #notFormBlock>\n <ng-container *ngTemplateOutlet=\"linkTemplate\"></ng-container>\n </ng-template>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'listofobjects'\">\n <ng-container *ngIf=\"layoutType === 'form'; then formBlock; else notFormBlock\"></ng-container>\n <ng-template #formBlock>\n <ng-container *ngTemplateOutlet=\"buttonTemplate; context: {internal: true}\"></ng-container>\n </ng-template>\n <ng-template #notFormBlock>\n <ng-container *ngTemplateOutlet=\"linkTemplate\"></ng-container>\n </ng-template>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'button'\">\n <ng-container [ngSwitch]=\"key\">\n <ng-container *ngSwitchCase=\"'ObjectMenu'\">\n <span (click)=\"onButtonClicked($event)\" title=\"{{ key }}\">\n <mat-icon>\n <pep-icon *ngIf=\"key == 'ObjectMenu'\" name=\"system_menu\">\n </pep-icon>\n </mat-icon>\n </span>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'Agents' || 'ContactPersons' || 'Buyers'\">\n <ng-container *ngIf=\"layoutType === 'table'; then tableBlock; else nonTableBlock\">\n </ng-container>\n <ng-template #nonTableBlock>\n <ng-container *ngTemplateOutlet=\"buttonTemplate; context: {internal: true}\"></ng-container>\n </ng-template>\n <ng-template #tableBlock>\n <span [id]=\"key\" title=\"{{ formattedValue }}\" class=\"pep-report-input readonly body-sm\">{{\n formattedValue }}</span>\n </ng-template>\n </ng-container>\n\n <ng-container *ngSwitchDefault>\n <ng-container *ngIf=\"layoutType === 'form'; then buttonBlock; else linkBlock\">\n </ng-container>\n\n <ng-template #buttonBlock>\n <ng-container *ngTemplateOutlet=\"buttonTemplate; context: {internal: false}\"></ng-container>\n </ng-template>\n <ng-template #linkBlock>\n <ng-container *ngTemplateOutlet=\"linkTemplate\"></ng-container>\n </ng-template>\n </ng-container>\n </ng-container>\n </ng-container>\n</ng-container>\n\n<ng-template #buttonTemplate let-internal=\"internal\">\n <div class=\"pep-button-container\">\n <pep-field-title [label]=\"label\" [mandatory]=\"mandatory\" [disabled]=\"disabled\" [xAlignment]=\"xAlignment\"\n [showTitle]=\"showTitle\">\n </pep-field-title>\n\n <ng-container *ngIf=\"internal; then internalButtonTemplate; else regularButtonTemplate\"></ng-container>\n <ng-template #regularButtonTemplate>\n <button [id]=\"key\" title=\"{{ formattedValue }}\" mat-button class=\"pep-button md regular\"\n dir=\"{{ xAlignment == 'right' ? 'rtl' : 'ltr' }}\" (click)=\"onButtonClicked($event)\"\n [disabled]=\"disabled\"\n [ngClass]=\"{disabled: disabled, 'pull-left': xAlignment == 'left', 'pull-right': xAlignment == 'right', 'center-alignment': xAlignment == 'center'}\">\n {{ formattedValue }}\n </button>\n </ng-template>\n\n <ng-template #internalButtonTemplate>\n <button [id]=\"key\" title=\"{{ formattedValue }}\" mat-button class=\"pep-button md regular\"\n dir=\"{{ xAlignment == 'right' ? 'rtl' : 'ltr' }}\" (click)=\"openReferenceObjectInternal($event)\"\n [disabled]=\"disabled\"\n [ngClass]=\"{disabled: disabled, 'pull-left': xAlignment == 'left', 'pull-right': xAlignment == 'right', 'center-alignment': xAlignment == 'center'}\">\n <ng-container *ngIf=\"formattedValue == '0' || formattedValue == ''; then newBlock; else existingBlock\">\n </ng-container>\n <ng-template #newBlock>\n <span class=\"pull-left flip button-title-with-icon\">{{ 'LIST.SELECT' | translate }}&nbsp;</span>\n <mat-icon>\n <pep-icon name=\"number_plus\">\n </pep-icon>\n </mat-icon>\n </ng-template>\n <ng-template #existingBlock>\n <span class=\"pull-left flip button-title-with-icon\">{{ formattedValue }}&nbsp;{{ 'LIST.SELECTED' |\n translate\n }}&nbsp;</span>\n <mat-icon>\n <pep-icon name=\"system_edit\">\n </pep-icon>\n </mat-icon>\n </ng-template>\n </button>\n </ng-template>\n </div>\n</ng-template>\n\n<ng-template #linkTemplate>\n <ng-container *ngIf=\"formattedValue?.length > 0; then notEmptyBlock; else emptyBlock\"></ng-container>\n <ng-template #notEmptyBlock>\n <a href=\"{{ value }}\" (mousedown)=\"hrefFunction($event)\" class=\"color-link\">\n <span *ngIf=\"layoutType === 'table'\" [id]=\"key\" title=\"{{ formattedValue }}\"\n class=\"body-sm pep-report-input readonly\">\n {{ formattedValue }}\n </span>\n <span *ngIf=\"layoutType !== 'table'\" [id]=\"key\" title=\"{{ formattedValue }}\" class=\"body-sm pep-card-input\"\n style=\"display: block;\">\n {{ formattedValue }}\n </span>\n </a>\n </ng-template>\n <ng-template #emptyBlock>\n <span>&nbsp;</span>\n </ng-template>\n</ng-template>", styles: [":host{height:inherit;display:grid}:host>*{align-self:center}.pepperi-button-container,.pep-button-container{height:-moz-fit-content;height:fit-content}.pepperi-button-container .center-alignment,.pep-button-container .center-alignment{position:absolute;left:50%;transform:translate(-50%)}.pepperi-button-container.reference-button ::ng-deep .split-buttons,.pepperi-button-container.reference-button .split-buttons,.pep-button-container.reference-button ::ng-deep .split-buttons,.pep-button-container.reference-button .split-buttons{float:left}.pepperi-button-container.reference-button ::ng-deep .split-buttons button:last-of-type,.pepperi-button-container.reference-button .split-buttons button:last-of-type,.pep-button-container.reference-button ::ng-deep .split-buttons button:last-of-type,.pep-button-container.reference-button .split-buttons button:last-of-type{width:1.5rem;padding:0}\n"], dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i5.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i5.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i5.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: i3.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { kind: "component", type: i4.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i5$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i1$1.PepRtlClassDirective, selector: "[pepRtlClass]" }, { kind: "component", type: i1.PepIconComponent, selector: "pep-icon", inputs: ["spin", "name", "fill"] }, { kind: "component", type: i7.PepFieldTitleComponent, selector: "pep-field-title", inputs: ["label", "mandatory", "disabled", "maxFieldCharacters", "hint", "xAlignment", "showTitle", "inputLength"] }, { kind: "component", type: i8.PepGroupButtonsComponent, selector: "pep-group-buttons", inputs: ["viewType", "styleType", "sizeType", "buttons", "buttonsDisabled", "selectedButtonKey", "stretch"], outputs: ["buttonClick"] }, { kind: "pipe", type: i4$1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
216
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: PepInternalButtonComponent, decorators: [{
214
+ PepInternalButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepInternalButtonComponent, deps: [{ token: i1$1.PepCustomizationService }, { token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
215
+ PepInternalButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PepInternalButtonComponent, selector: "pep-internal-button", inputs: { key: "key", value: "value", formattedValue: "formattedValue", label: "label", referenceObjectInternalType: "referenceObjectInternalType", type: "type", mandatory: "mandatory", disabled: "disabled", readonly: "readonly", xAlignment: "xAlignment", rowSpan: "rowSpan", visible: "visible", form: "form", showTitle: "showTitle", layoutType: "layoutType" }, outputs: { elementClick: "elementClick", valueChange: "valueChange" }, usesOnChanges: true, ngImport: i0, template: "<ng-container [ngSwitch]=\"type\">\n <ng-container *ngSwitchCase=\"'reference'\">\n <ng-container *ngIf=\"layoutType === 'form'; then formBlock; else notFormBlock\"></ng-container>\n <ng-template #formBlock>\n <div class=\"pep-button-container reference-button\">\n <pep-field-title [label]=\"label\" [mandatory]=\"mandatory\" [disabled]=\"disabled\" [xAlignment]=\"xAlignment\"\n [showTitle]=\"showTitle\">\n </pep-field-title>\n <ng-container *ngIf=\"createNewReference; then newBlock; else existingBlock\"></ng-container>\n <ng-template #newBlock>\n <button mat-button [id]=\"key\" title=\"{{ formattedValue }}\" class=\"pep-button md regular\"\n (click)=\"onButtonClicked($event)\" [ngClass]=\"{\n disabled: disabled,\n 'pull-left': xAlignment == 'left',\n 'pull-right': xAlignment == 'right',\n 'center-alignment': xAlignment == 'center'\n }\">\n <span class=\"ellipsis pull-left flip button-title-with-icon\">{{ 'ACTIONS.CREATE_NEW' | translate\n }}</span>\n <mat-icon class=\"pull-right flip\" pepRtlClass>\n <pep-icon name=\"number_plus\" (click)=\"onButtonClicked($event)\">\n </pep-icon>\n </mat-icon>\n </button>\n </ng-template>\n <ng-template #existingBlock>\n <pep-group-buttons [buttons]=\"referenceButtons\" styleType=\"regular\" viewType=\"split\">\n </pep-group-buttons>\n </ng-template>\n </div>\n </ng-template>\n <ng-template #notFormBlock>\n <ng-container *ngTemplateOutlet=\"linkTemplate\"></ng-container>\n </ng-template>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'listofobjects'\">\n <ng-container *ngIf=\"layoutType === 'form'; then formBlock; else notFormBlock\"></ng-container>\n <ng-template #formBlock>\n <ng-container *ngTemplateOutlet=\"buttonTemplate; context: {internal: true}\"></ng-container>\n </ng-template>\n <ng-template #notFormBlock>\n <ng-container *ngTemplateOutlet=\"linkTemplate\"></ng-container>\n </ng-template>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'button'\">\n <ng-container [ngSwitch]=\"key\">\n <ng-container *ngSwitchCase=\"'ObjectMenu'\">\n <span (click)=\"onButtonClicked($event)\" title=\"{{ key }}\">\n <mat-icon>\n <pep-icon *ngIf=\"key == 'ObjectMenu'\" name=\"system_menu\">\n </pep-icon>\n </mat-icon>\n </span>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'Agents' || 'ContactPersons' || 'Buyers'\">\n <ng-container *ngIf=\"layoutType === 'table'; then tableBlock; else nonTableBlock\">\n </ng-container>\n <ng-template #nonTableBlock>\n <ng-container *ngTemplateOutlet=\"buttonTemplate; context: {internal: true}\"></ng-container>\n </ng-template>\n <ng-template #tableBlock>\n <span [id]=\"key\" title=\"{{ formattedValue }}\" class=\"pep-report-input readonly body-sm\">{{\n formattedValue }}</span>\n </ng-template>\n </ng-container>\n\n <ng-container *ngSwitchDefault>\n <ng-container *ngIf=\"layoutType === 'form'; then buttonBlock; else linkBlock\">\n </ng-container>\n\n <ng-template #buttonBlock>\n <ng-container *ngTemplateOutlet=\"buttonTemplate; context: {internal: false}\"></ng-container>\n </ng-template>\n <ng-template #linkBlock>\n <ng-container *ngTemplateOutlet=\"linkTemplate\"></ng-container>\n </ng-template>\n </ng-container>\n </ng-container>\n </ng-container>\n</ng-container>\n\n<ng-template #buttonTemplate let-internal=\"internal\">\n <div class=\"pep-button-container\">\n <pep-field-title [label]=\"label\" [mandatory]=\"mandatory\" [disabled]=\"disabled\" [xAlignment]=\"xAlignment\"\n [showTitle]=\"showTitle\">\n </pep-field-title>\n\n <ng-container *ngIf=\"internal; then internalButtonTemplate; else regularButtonTemplate\"></ng-container>\n <ng-template #regularButtonTemplate>\n <button [id]=\"key\" title=\"{{ formattedValue }}\" mat-button class=\"pep-button md regular\"\n dir=\"{{ xAlignment == 'right' ? 'rtl' : 'ltr' }}\" (click)=\"onButtonClicked($event)\"\n [disabled]=\"disabled\"\n [ngClass]=\"{disabled: disabled, 'pull-left': xAlignment == 'left', 'pull-right': xAlignment == 'right', 'center-alignment': xAlignment == 'center'}\">\n {{ formattedValue }}\n </button>\n </ng-template>\n\n <ng-template #internalButtonTemplate>\n <button [id]=\"key\" title=\"{{ formattedValue }}\" mat-button class=\"pep-button md regular\"\n dir=\"{{ xAlignment == 'right' ? 'rtl' : 'ltr' }}\" (click)=\"openReferenceObjectInternal($event)\"\n [disabled]=\"disabled\"\n [ngClass]=\"{disabled: disabled, 'pull-left': xAlignment == 'left', 'pull-right': xAlignment == 'right', 'center-alignment': xAlignment == 'center'}\">\n <ng-container *ngIf=\"formattedValue == '0' || formattedValue == ''; then newBlock; else existingBlock\">\n </ng-container>\n <ng-template #newBlock>\n <span class=\"pull-left flip button-title-with-icon\">{{ 'LIST.SELECT' | translate }}&nbsp;</span>\n <mat-icon>\n <pep-icon name=\"number_plus\">\n </pep-icon>\n </mat-icon>\n </ng-template>\n <ng-template #existingBlock>\n <span class=\"pull-left flip button-title-with-icon\">{{ formattedValue }}&nbsp;{{ 'LIST.SELECTED' |\n translate\n }}&nbsp;</span>\n <mat-icon>\n <pep-icon name=\"system_edit\">\n </pep-icon>\n </mat-icon>\n </ng-template>\n </button>\n </ng-template>\n </div>\n</ng-template>\n\n<ng-template #linkTemplate>\n <ng-container *ngIf=\"formattedValue?.length > 0; then notEmptyBlock; else emptyBlock\"></ng-container>\n <ng-template #notEmptyBlock>\n <a href=\"{{ value }}\" (mousedown)=\"hrefFunction($event)\" class=\"color-link\">\n <span *ngIf=\"layoutType === 'table'\" [id]=\"key\" title=\"{{ formattedValue }}\"\n class=\"body-sm pep-report-input readonly\">\n {{ formattedValue }}\n </span>\n <span *ngIf=\"layoutType !== 'table'\" [id]=\"key\" title=\"{{ formattedValue }}\" class=\"body-sm pep-card-input\"\n style=\"display: block;\">\n {{ formattedValue }}\n </span>\n </a>\n </ng-template>\n <ng-template #emptyBlock>\n <span>&nbsp;</span>\n </ng-template>\n</ng-template>", styles: [":host{height:inherit;display:grid}:host>*{align-self:center}.pepperi-button-container,.pep-button-container{height:-moz-fit-content;height:fit-content}.pepperi-button-container .center-alignment,.pep-button-container .center-alignment{position:absolute;left:50%;transform:translate(-50%)}.pepperi-button-container.reference-button ::ng-deep .split-buttons,.pepperi-button-container.reference-button .split-buttons,.pep-button-container.reference-button ::ng-deep .split-buttons,.pep-button-container.reference-button .split-buttons{float:left}.pepperi-button-container.reference-button ::ng-deep .split-buttons button:last-of-type,.pepperi-button-container.reference-button .split-buttons button:last-of-type,.pep-button-container.reference-button ::ng-deep .split-buttons button:last-of-type,.pep-button-container.reference-button .split-buttons button:last-of-type{width:1.5rem;padding:0}\n"], dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i5.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i5.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i5.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: i3.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { kind: "component", type: i4.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i5$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i1$1.PepRtlClassDirective, selector: "[pepRtlClass]" }, { kind: "component", type: i1.PepIconComponent, selector: "pep-icon", inputs: ["spin", "name", "fill"] }, { kind: "component", type: i7.PepFieldTitleComponent, selector: "pep-field-title", inputs: ["label", "mandatory", "disabled", "maxFieldCharacters", "hint", "xAlignment", "showTitle", "inputLength"] }, { kind: "component", type: i8.PepGroupButtonsComponent, selector: "pep-group-buttons", inputs: ["viewType", "styleType", "sizeType", "buttons", "buttonsDisabled", "selectedButtonKey", "stretch"], outputs: ["buttonClick"] }, { kind: "pipe", type: i4$1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
216
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepInternalButtonComponent, decorators: [{
217
217
  type: Component,
218
218
  args: [{ selector: 'pep-internal-button', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container [ngSwitch]=\"type\">\n <ng-container *ngSwitchCase=\"'reference'\">\n <ng-container *ngIf=\"layoutType === 'form'; then formBlock; else notFormBlock\"></ng-container>\n <ng-template #formBlock>\n <div class=\"pep-button-container reference-button\">\n <pep-field-title [label]=\"label\" [mandatory]=\"mandatory\" [disabled]=\"disabled\" [xAlignment]=\"xAlignment\"\n [showTitle]=\"showTitle\">\n </pep-field-title>\n <ng-container *ngIf=\"createNewReference; then newBlock; else existingBlock\"></ng-container>\n <ng-template #newBlock>\n <button mat-button [id]=\"key\" title=\"{{ formattedValue }}\" class=\"pep-button md regular\"\n (click)=\"onButtonClicked($event)\" [ngClass]=\"{\n disabled: disabled,\n 'pull-left': xAlignment == 'left',\n 'pull-right': xAlignment == 'right',\n 'center-alignment': xAlignment == 'center'\n }\">\n <span class=\"ellipsis pull-left flip button-title-with-icon\">{{ 'ACTIONS.CREATE_NEW' | translate\n }}</span>\n <mat-icon class=\"pull-right flip\" pepRtlClass>\n <pep-icon name=\"number_plus\" (click)=\"onButtonClicked($event)\">\n </pep-icon>\n </mat-icon>\n </button>\n </ng-template>\n <ng-template #existingBlock>\n <pep-group-buttons [buttons]=\"referenceButtons\" styleType=\"regular\" viewType=\"split\">\n </pep-group-buttons>\n </ng-template>\n </div>\n </ng-template>\n <ng-template #notFormBlock>\n <ng-container *ngTemplateOutlet=\"linkTemplate\"></ng-container>\n </ng-template>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'listofobjects'\">\n <ng-container *ngIf=\"layoutType === 'form'; then formBlock; else notFormBlock\"></ng-container>\n <ng-template #formBlock>\n <ng-container *ngTemplateOutlet=\"buttonTemplate; context: {internal: true}\"></ng-container>\n </ng-template>\n <ng-template #notFormBlock>\n <ng-container *ngTemplateOutlet=\"linkTemplate\"></ng-container>\n </ng-template>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'button'\">\n <ng-container [ngSwitch]=\"key\">\n <ng-container *ngSwitchCase=\"'ObjectMenu'\">\n <span (click)=\"onButtonClicked($event)\" title=\"{{ key }}\">\n <mat-icon>\n <pep-icon *ngIf=\"key == 'ObjectMenu'\" name=\"system_menu\">\n </pep-icon>\n </mat-icon>\n </span>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'Agents' || 'ContactPersons' || 'Buyers'\">\n <ng-container *ngIf=\"layoutType === 'table'; then tableBlock; else nonTableBlock\">\n </ng-container>\n <ng-template #nonTableBlock>\n <ng-container *ngTemplateOutlet=\"buttonTemplate; context: {internal: true}\"></ng-container>\n </ng-template>\n <ng-template #tableBlock>\n <span [id]=\"key\" title=\"{{ formattedValue }}\" class=\"pep-report-input readonly body-sm\">{{\n formattedValue }}</span>\n </ng-template>\n </ng-container>\n\n <ng-container *ngSwitchDefault>\n <ng-container *ngIf=\"layoutType === 'form'; then buttonBlock; else linkBlock\">\n </ng-container>\n\n <ng-template #buttonBlock>\n <ng-container *ngTemplateOutlet=\"buttonTemplate; context: {internal: false}\"></ng-container>\n </ng-template>\n <ng-template #linkBlock>\n <ng-container *ngTemplateOutlet=\"linkTemplate\"></ng-container>\n </ng-template>\n </ng-container>\n </ng-container>\n </ng-container>\n</ng-container>\n\n<ng-template #buttonTemplate let-internal=\"internal\">\n <div class=\"pep-button-container\">\n <pep-field-title [label]=\"label\" [mandatory]=\"mandatory\" [disabled]=\"disabled\" [xAlignment]=\"xAlignment\"\n [showTitle]=\"showTitle\">\n </pep-field-title>\n\n <ng-container *ngIf=\"internal; then internalButtonTemplate; else regularButtonTemplate\"></ng-container>\n <ng-template #regularButtonTemplate>\n <button [id]=\"key\" title=\"{{ formattedValue }}\" mat-button class=\"pep-button md regular\"\n dir=\"{{ xAlignment == 'right' ? 'rtl' : 'ltr' }}\" (click)=\"onButtonClicked($event)\"\n [disabled]=\"disabled\"\n [ngClass]=\"{disabled: disabled, 'pull-left': xAlignment == 'left', 'pull-right': xAlignment == 'right', 'center-alignment': xAlignment == 'center'}\">\n {{ formattedValue }}\n </button>\n </ng-template>\n\n <ng-template #internalButtonTemplate>\n <button [id]=\"key\" title=\"{{ formattedValue }}\" mat-button class=\"pep-button md regular\"\n dir=\"{{ xAlignment == 'right' ? 'rtl' : 'ltr' }}\" (click)=\"openReferenceObjectInternal($event)\"\n [disabled]=\"disabled\"\n [ngClass]=\"{disabled: disabled, 'pull-left': xAlignment == 'left', 'pull-right': xAlignment == 'right', 'center-alignment': xAlignment == 'center'}\">\n <ng-container *ngIf=\"formattedValue == '0' || formattedValue == ''; then newBlock; else existingBlock\">\n </ng-container>\n <ng-template #newBlock>\n <span class=\"pull-left flip button-title-with-icon\">{{ 'LIST.SELECT' | translate }}&nbsp;</span>\n <mat-icon>\n <pep-icon name=\"number_plus\">\n </pep-icon>\n </mat-icon>\n </ng-template>\n <ng-template #existingBlock>\n <span class=\"pull-left flip button-title-with-icon\">{{ formattedValue }}&nbsp;{{ 'LIST.SELECTED' |\n translate\n }}&nbsp;</span>\n <mat-icon>\n <pep-icon name=\"system_edit\">\n </pep-icon>\n </mat-icon>\n </ng-template>\n </button>\n </ng-template>\n </div>\n</ng-template>\n\n<ng-template #linkTemplate>\n <ng-container *ngIf=\"formattedValue?.length > 0; then notEmptyBlock; else emptyBlock\"></ng-container>\n <ng-template #notEmptyBlock>\n <a href=\"{{ value }}\" (mousedown)=\"hrefFunction($event)\" class=\"color-link\">\n <span *ngIf=\"layoutType === 'table'\" [id]=\"key\" title=\"{{ formattedValue }}\"\n class=\"body-sm pep-report-input readonly\">\n {{ formattedValue }}\n </span>\n <span *ngIf=\"layoutType !== 'table'\" [id]=\"key\" title=\"{{ formattedValue }}\" class=\"body-sm pep-card-input\"\n style=\"display: block;\">\n {{ formattedValue }}\n </span>\n </a>\n </ng-template>\n <ng-template #emptyBlock>\n <span>&nbsp;</span>\n </ng-template>\n</ng-template>", styles: [":host{height:inherit;display:grid}:host>*{align-self:center}.pepperi-button-container,.pep-button-container{height:-moz-fit-content;height:fit-content}.pepperi-button-container .center-alignment,.pep-button-container .center-alignment{position:absolute;left:50%;transform:translate(-50%)}.pepperi-button-container.reference-button ::ng-deep .split-buttons,.pepperi-button-container.reference-button .split-buttons,.pep-button-container.reference-button ::ng-deep .split-buttons,.pep-button-container.reference-button .split-buttons{float:left}.pepperi-button-container.reference-button ::ng-deep .split-buttons button:last-of-type,.pepperi-button-container.reference-button .split-buttons button:last-of-type,.pep-button-container.reference-button ::ng-deep .split-buttons button:last-of-type,.pep-button-container.reference-button .split-buttons button:last-of-type{width:1.5rem;padding:0}\n"] }]
219
219
  }], ctorParameters: function () { return [{ type: i1$1.PepCustomizationService }, { type: i0.Renderer2 }, { type: i0.ElementRef }]; }, propDecorators: { key: [{
@@ -286,9 +286,9 @@ class PepInternalMenuComponent {
286
286
  // this.menuItemClick.emit({ key: itemKey });
287
287
  }
288
288
  }
289
- PepInternalMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: PepInternalMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
290
- PepInternalMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.1", type: PepInternalMenuComponent, selector: "pep-internal-menu", inputs: { key: "key", label: "label", disabled: "disabled", xAlignment: "xAlignment", options: "options", invertClass: "invertClass", layoutType: "layoutType" }, outputs: { elementClick: "elementClick" }, ngImport: i0, template: "<ng-container *ngIf=\"options?.length > 0; then subMenuBlock; else noSubMenuBlock\"></ng-container>\n<ng-template #noSubMenuBlock>\n <button (click)=\"menuClicked($event)\" title=\"{{ label }}\" mat-button\n class=\"pep-button icon-button weak {{ layoutType === 'table' ? 'sm' : 'md' }}\" [ngClass]=\"{\n 'lock-events': disabled,\n 'left-alignment': xAlignment == 'left',\n 'right-alignment': xAlignment == 'right',\n 'center-alignment': xAlignment == 'center',\n 'invert': invertClass\n }\">\n <mat-icon>\n <pep-icon name=\"system_menu\">\n </pep-icon>\n </mat-icon>\n </button>\n</ng-template>\n\n<ng-template #subMenuBlock>\n <button mat-button [matMenuTriggerFor]=\"menu\" menu-blur\n class=\"pep-button icon-button weak {{ layoutType === 'table' ? 'sm' : 'md' }}\" [ngClass]=\"{\n 'left-alignment': xAlignment == 'left',\n 'right-alignment': xAlignment == 'right',\n 'center-alignment': xAlignment == 'center',\n 'invert': invertClass\n }\" title=\"{{ label }}\">\n <mat-icon>\n <pep-icon name=\"system_menu\">\n </pep-icon>\n </mat-icon>\n </button>\n\n <mat-menu #menu=\"matMenu\" xPosition=\"{{xAlignment == 'right' ? 'after' : 'before'}}\"\n [ngClass]=\"{ rtlMenu: xAlignment == 'right' }\">\n <button *ngFor=\"let option of options\" mat-menu-item (click)=\"menuItemClicked(option.key)\">\n <span>{{ option.value | translate }}</span>\n </button>\n </mat-menu>\n\n</ng-template>", styles: [":host{height:inherit;display:grid}:host>*{align-self:center}.pepperi-button,.pep-button{cursor:pointer}.pepperi-button.left-alignment,.pep-button.left-alignment{justify-self:flex-start}.pepperi-button.center-alignment,.pep-button.center-alignment{justify-self:center}.pepperi-button.right-alignment,.pep-button.right-alignment{justify-self:flex-end}\n"], dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i5$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i4$2.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i4$2.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i4$2.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "component", type: i1.PepIconComponent, selector: "pep-icon", inputs: ["spin", "name", "fill"] }, { kind: "pipe", type: i4$1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
291
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: PepInternalMenuComponent, decorators: [{
289
+ PepInternalMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepInternalMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
290
+ PepInternalMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PepInternalMenuComponent, selector: "pep-internal-menu", inputs: { key: "key", label: "label", disabled: "disabled", xAlignment: "xAlignment", options: "options", invertClass: "invertClass", layoutType: "layoutType" }, outputs: { elementClick: "elementClick" }, ngImport: i0, template: "<ng-container *ngIf=\"options?.length > 0; then subMenuBlock; else noSubMenuBlock\"></ng-container>\n<ng-template #noSubMenuBlock>\n <button (click)=\"menuClicked($event)\" title=\"{{ label }}\" mat-button\n class=\"pep-button icon-button weak {{ layoutType === 'table' ? 'sm' : 'md' }}\" [ngClass]=\"{\n 'lock-events': disabled,\n 'left-alignment': xAlignment == 'left',\n 'right-alignment': xAlignment == 'right',\n 'center-alignment': xAlignment == 'center',\n 'invert': invertClass\n }\">\n <mat-icon>\n <pep-icon name=\"system_menu\">\n </pep-icon>\n </mat-icon>\n </button>\n</ng-template>\n\n<ng-template #subMenuBlock>\n <button mat-button [matMenuTriggerFor]=\"menu\" menu-blur\n class=\"pep-button icon-button weak {{ layoutType === 'table' ? 'sm' : 'md' }}\" [ngClass]=\"{\n 'left-alignment': xAlignment == 'left',\n 'right-alignment': xAlignment == 'right',\n 'center-alignment': xAlignment == 'center',\n 'invert': invertClass\n }\" title=\"{{ label }}\">\n <mat-icon>\n <pep-icon name=\"system_menu\">\n </pep-icon>\n </mat-icon>\n </button>\n\n <mat-menu #menu=\"matMenu\" xPosition=\"{{xAlignment == 'right' ? 'after' : 'before'}}\"\n [ngClass]=\"{ rtlMenu: xAlignment == 'right' }\">\n <button *ngFor=\"let option of options\" mat-menu-item (click)=\"menuItemClicked(option.key)\">\n <span>{{ option.value | translate }}</span>\n </button>\n </mat-menu>\n\n</ng-template>", styles: [":host{height:inherit;display:grid}:host>*{align-self:center}.pepperi-button,.pep-button{cursor:pointer}.pepperi-button.left-alignment,.pep-button.left-alignment{justify-self:flex-start}.pepperi-button.center-alignment,.pep-button.center-alignment{justify-self:center}.pepperi-button.right-alignment,.pep-button.right-alignment{justify-self:flex-end}\n"], dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i5$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i4$2.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i4$2.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i4$2.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "component", type: i1.PepIconComponent, selector: "pep-icon", inputs: ["spin", "name", "fill"] }, { kind: "pipe", type: i4$1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
291
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepInternalMenuComponent, decorators: [{
292
292
  type: Component,
293
293
  args: [{ selector: 'pep-internal-menu', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"options?.length > 0; then subMenuBlock; else noSubMenuBlock\"></ng-container>\n<ng-template #noSubMenuBlock>\n <button (click)=\"menuClicked($event)\" title=\"{{ label }}\" mat-button\n class=\"pep-button icon-button weak {{ layoutType === 'table' ? 'sm' : 'md' }}\" [ngClass]=\"{\n 'lock-events': disabled,\n 'left-alignment': xAlignment == 'left',\n 'right-alignment': xAlignment == 'right',\n 'center-alignment': xAlignment == 'center',\n 'invert': invertClass\n }\">\n <mat-icon>\n <pep-icon name=\"system_menu\">\n </pep-icon>\n </mat-icon>\n </button>\n</ng-template>\n\n<ng-template #subMenuBlock>\n <button mat-button [matMenuTriggerFor]=\"menu\" menu-blur\n class=\"pep-button icon-button weak {{ layoutType === 'table' ? 'sm' : 'md' }}\" [ngClass]=\"{\n 'left-alignment': xAlignment == 'left',\n 'right-alignment': xAlignment == 'right',\n 'center-alignment': xAlignment == 'center',\n 'invert': invertClass\n }\" title=\"{{ label }}\">\n <mat-icon>\n <pep-icon name=\"system_menu\">\n </pep-icon>\n </mat-icon>\n </button>\n\n <mat-menu #menu=\"matMenu\" xPosition=\"{{xAlignment == 'right' ? 'after' : 'before'}}\"\n [ngClass]=\"{ rtlMenu: xAlignment == 'right' }\">\n <button *ngFor=\"let option of options\" mat-menu-item (click)=\"menuItemClicked(option.key)\">\n <span>{{ option.value | translate }}</span>\n </button>\n </mat-menu>\n\n</ng-template>", styles: [":host{height:inherit;display:grid}:host>*{align-self:center}.pepperi-button,.pep-button{cursor:pointer}.pepperi-button.left-alignment,.pep-button.left-alignment{justify-self:flex-start}.pepperi-button.center-alignment,.pep-button.center-alignment{justify-self:center}.pepperi-button.right-alignment,.pep-button.right-alignment{justify-self:flex-end}\n"] }]
294
294
  }], propDecorators: { key: [{
@@ -309,7 +309,125 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.1", ngImpor
309
309
  type: Output
310
310
  }] } });
311
311
 
312
- class PepFieldGeneratorComponent {
312
+ class PepInternalPageService {
313
+ constructor(httpService) {
314
+ this.httpService = httpService;
315
+ this.parentId = '0';
316
+ this.additionalApiName = '';
317
+ this.transactionUrl = 'Service1.svc/v1/OrderCenter/Transaction/';
318
+ }
319
+ getBaseParentUrl() {
320
+ const url = `${this.transactionUrl}${this.objectId}/ParentLine/${this.parentId}/`;
321
+ return url;
322
+ }
323
+ getChildren(callbackFunc) {
324
+ var _a;
325
+ const body = JSON.stringify({
326
+ TransactionUID: this.objectId,
327
+ SearchCode: this.searchCode,
328
+ AdditionalApiName: this.additionalApiName,
329
+ ParentTransactionLineID: this.parentId,
330
+ ViewType: this.viewType,
331
+ });
332
+ // Set the additional api name with view type string.
333
+ const moreParams = ((_a = this.additionalApiName) === null || _a === void 0 ? void 0 : _a.length) > 0
334
+ ? `${this.additionalApiName}/${this.viewType}`
335
+ : `''/${this.viewType}`;
336
+ const url = `${this.getBaseParentUrl()}Items/${moreParams}`;
337
+ this.httpService.postWapiApiCall(url, body).subscribe((res) => {
338
+ callbackFunc(res);
339
+ }
340
+ // (error) => {},
341
+ // () => {}
342
+ );
343
+ }
344
+ initDetails(objectId, parentId, searchCode, callbackFunc) {
345
+ if (!objectId || !parentId) {
346
+ return;
347
+ }
348
+ this.objectId = objectId;
349
+ this.parentId = parentId;
350
+ this.searchCode = searchCode;
351
+ this.httpService
352
+ .getWapiApiCall(`${this.getBaseParentUrl()}ViewTypes`)
353
+ .subscribe((res) => {
354
+ callbackFunc(res);
355
+ }
356
+ // (error) => {},
357
+ // () => {}
358
+ );
359
+ }
360
+ changeChildrenViewType(viewType, callbackFunc) {
361
+ this.viewType = viewType;
362
+ this.getChildren(callbackFunc);
363
+ }
364
+ changeAdditionalApiName(additionalApiName, callbackFunc) {
365
+ this.additionalApiName = additionalApiName;
366
+ this.getChildren(callbackFunc);
367
+ }
368
+ childPlusClick(itemId, fieldApiName, callbackFunc) {
369
+ const body = JSON.stringify({
370
+ TransactionUID: this.objectId,
371
+ SearchCode: this.searchCode,
372
+ ParentTransactionLineID: this.parentId,
373
+ TransactionLineUID: itemId,
374
+ FieldApiName: fieldApiName,
375
+ ViewType: this.viewType,
376
+ });
377
+ this.httpService
378
+ .postWapiApiCall(`${this.getBaseParentUrl()}IncrementValue`, body)
379
+ .subscribe((res) => {
380
+ callbackFunc(res);
381
+ }
382
+ // (error) => {},
383
+ // () => {}
384
+ );
385
+ }
386
+ childMinusClick(itemId, fieldApiName, callbackFunc) {
387
+ const body = JSON.stringify({
388
+ TransactionUID: this.objectId,
389
+ SearchCode: this.searchCode,
390
+ ParentTransactionLineID: this.parentId,
391
+ TransactionLineUID: itemId,
392
+ FieldApiName: fieldApiName,
393
+ ViewType: this.viewType,
394
+ });
395
+ this.httpService
396
+ .postWapiApiCall(`${this.getBaseParentUrl()}DecrementValue`, body)
397
+ .subscribe((res) => {
398
+ callbackFunc(res);
399
+ }
400
+ // (error) => {},
401
+ // () => {}
402
+ );
403
+ }
404
+ childValueChanged(itemId, fieldApiName, value, callbackFunc) {
405
+ const body = JSON.stringify({
406
+ TransactionUID: this.objectId,
407
+ SearchCode: this.searchCode,
408
+ ParentTransactionLineID: this.parentId,
409
+ TransactionLineUID: itemId,
410
+ FieldApiName: fieldApiName,
411
+ FieldValue: value,
412
+ ViewType: this.viewType,
413
+ });
414
+ this.httpService
415
+ .postWapiApiCall(`${this.getBaseParentUrl()}SetFieldValue`, body)
416
+ .subscribe((res) => {
417
+ callbackFunc(res);
418
+ }
419
+ // (error) => {},
420
+ // () => {}
421
+ );
422
+ }
423
+ }
424
+ PepInternalPageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepInternalPageService, deps: [{ token: i1$1.PepHttpService }], target: i0.ɵɵFactoryTarget.Injectable });
425
+ PepInternalPageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepInternalPageService });
426
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepInternalPageService, decorators: [{
427
+ type: Injectable
428
+ }], ctorParameters: function () { return [{ type: i1$1.PepHttpService }]; } });
429
+
430
+ class PepInternalFieldGeneratorComponent {
313
431
  constructor() {
314
432
  this.isActive = false;
315
433
  this.uid = null;
@@ -319,8 +437,8 @@ class PepFieldGeneratorComponent {
319
437
  this.valueChange = new EventEmitter();
320
438
  this.formValidationChange = new EventEmitter();
321
439
  this.elementClick = new EventEmitter();
322
- this.internalFormFieldChange = new EventEmitter();
323
- this.internalFormFieldClick = new EventEmitter();
440
+ // @Output() internalFormFieldChange: EventEmitter<any> = new EventEmitter<any>();
441
+ // @Output() internalFormFieldClick: EventEmitter<any> = new EventEmitter<any>();
324
442
  this.formValueChange = new EventEmitter();
325
443
  this.formFieldClick = new EventEmitter();
326
444
  }
@@ -380,18 +498,18 @@ class PepFieldGeneratorComponent {
380
498
  };
381
499
  this.valueChange.emit(fieldValueChange);
382
500
  }
383
- onInternalFormFieldChanged(internalFormFieldChange) {
384
- this.internalFormFieldChange.emit(internalFormFieldChange);
385
- }
501
+ // onInternalFormFieldChanged(internalFormFieldChange: any): void {
502
+ // this.internalFormFieldChange.emit(internalFormFieldChange);
503
+ // }
386
504
  onFormValidationChanged(formValidationChange) {
387
505
  this.formValidationChange.emit(formValidationChange);
388
506
  }
389
507
  onClick(fieldClicked) {
390
508
  this.elementClick.emit(fieldClicked);
391
509
  }
392
- onInternalFormFieldClick(internalFormFieldClick) {
393
- this.internalFormFieldClick.emit(internalFormFieldClick);
394
- }
510
+ // onInternalFormFieldClick(internalFormFieldClick: any): void {
511
+ // this.internalFormFieldClick.emit(internalFormFieldClick);
512
+ // }
395
513
  onFormValueChanged(event) {
396
514
  this.formValueChange.emit(event);
397
515
  }
@@ -404,11 +522,11 @@ class PepFieldGeneratorComponent {
404
522
  // this.field.disabled = this.field.readonly = false;
405
523
  }
406
524
  }
407
- PepFieldGeneratorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: PepFieldGeneratorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
408
- PepFieldGeneratorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.1", type: PepFieldGeneratorComponent, selector: "pep-field-generator", inputs: { field: "field", isActive: "isActive", uid: "uid", form: "form", layoutType: "layoutType", showTitle: "showTitle", checkForChanges: "checkForChanges" }, outputs: { valueChange: "valueChange", formValidationChange: "formValidationChange", elementClick: "elementClick", internalFormFieldChange: "internalFormFieldChange", internalFormFieldClick: "internalFormFieldClick", formValueChange: "formValueChange", formFieldClick: "formFieldClick" }, usesOnChanges: true, ngImport: i0, template: "<ng-container [ngSwitch]=\"field.controlType\" [formGroup]=\"form\">\n\n <pep-address *ngSwitchCase=\"'address'\" [form]=\"form\" [key]=\"field.key\" [formattedValue]=\"field.formattedValue\"\n [label]=\"field.label\" [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\" [readonly]=\"field.readonly\"\n [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\" [groupFields]=\"field.groupFields\"\n [layoutType]=\"layoutType\" [visible]=\"field.visible\" (addressValueChange)=\"onAddressValueChanged($event, field)\">\n </pep-address>\n\n <pep-attachment *ngSwitchCase=\"'attachment'\" [form]=\"form\" [key]=\"field.key\" [src]=\"field.value\"\n [label]=\"field.label\" [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\" [readonly]=\"field.readonly\"\n [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\" [isActive]=\"isActive\" [showTitle]=\"showTitle\"\n [layoutType]=\"layoutType\" [visible]=\"field.visible\" (elementClick)=\"onClick($event)\"\n (fileChange)=\"onFileChanged($event, field)\">\n </pep-attachment>\n\n <pep-checkbox *ngSwitchCase=\"'checkbox'\" [form]=\"form\" [key]=\"field.key\"\n [value]=\"(field.value | lowercase) == 'true' || field.value == '1' ? true : false\" [label]=\"field.label\"\n [type]=\"field.type\" [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\" [readonly]=\"field.readonly\"\n [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\" [additionalValue]=\"field.additionalValue\"\n [showTitle]=\"showTitle\" [layoutType]=\"layoutType\" [visible]=\"field.visible\"\n (valueChange)=\"onValueChanged($event, field)\" [isActive]=\"isActive\">\n </pep-checkbox>\n\n <pep-date *ngSwitchCase=\"'date'\" [form]=\"form\" [key]=\"field.key\" [value]=\"field.value\"\n [formattedValue]=\"field.formattedValue\" [label]=\"field.label\" [type]=\"field.type\" [mandatory]=\"field.mandatory\"\n [disabled]=\"field.disabled\" [readonly]=\"field.readonly\" [textColor]=\"field.textColor\"\n [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\" [minValue]=\"field.minValue\"\n [maxValue]=\"field.maxValue\" [showTitle]=\"showTitle\" [layoutType]=\"layoutType\" [visible]=\"field.visible\"\n (valueChange)=\"onValueChanged($event, field)\" [isActive]=\"isActive\">\n </pep-date>\n\n <pep-images-filmstrip *ngSwitchCase=\"'images'\" [uid]=\"uid\" [form]=\"form\" [key]=\"field.key\" [label]=\"field.label\"\n [showTitle]=\"showTitle\" [rowSpan]=\"field.rowSpan\" [value]=\"field.value\" [layoutType]=\"layoutType\">\n </pep-images-filmstrip>\n\n <pep-image *ngSwitchCase=\"'image'\" [uid]=\"uid\" [form]=\"form\" [key]=\"field.key\" [src]=\"field.formattedValue\"\n [srcLarge]=\"field.value\" [options]=\"field.options\" [label]=\"field.label\" [mandatory]=\"field.mandatory\"\n [disabled]=\"field.disabled\" [readonly]=\"field.readonly\" [xAlignment]=\"field.xAlignment\"\n [rowSpan]=\"field.rowSpan\" [indicatorsField]=\"field.indicatorsField\" [menuField]=\"field.menuField\"\n [hasCampaignField]=\"field.hasCampaignField\" [sizeLimitMB]=\"field.sizeLimitMB\" [isActive]=\"isActive\"\n [layoutType]=\"layoutType\" [visible]=\"field.visible\" (elementClick)=\"onClick($event)\"\n (fileChange)=\"onFileChanged($event, field)\">\n </pep-image>\n\n <pep-quantity-selector *ngSwitchCase=\"'qs'\" [form]=\"form\" [key]=\"field.key\" [value]=\"field.value\"\n [formattedValue]=\"field.formattedValue\" [label]=\"field.label\" [type]=\"field.type\" [mandatory]=\"field.mandatory\"\n [disabled]=\"field.disabled\" [readonly]=\"field.readonly\" [textColor]=\"field.textColor\"\n [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\" [allowDecimal]=\"field.allowDecimal\"\n [additionalValue]=\"field.additionalValue\" [notificationInfo]=\"field.notificationInfo\" [isActive]=\"isActive\"\n [layoutType]=\"layoutType\" [showTitle]=\"showTitle\" [visible]=\"field.visible\"\n (valueChange)=\"onValueChanged($event, field)\" (formValidationChange)=\"onFormValidationChanged($event)\"\n (elementClick)=\"onClick($event)\">\n </pep-quantity-selector>\n\n <pep-rich-html-textarea *ngSwitchCase=\"'richhtmltextarea'\" [form]=\"form\" [key]=\"field.key\" [value]=\"field.value\"\n [label]=\"field.label\" [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\" [readonly]=\"field.readonly\"\n [maxFieldCharacters]=\"field.maxFieldCharacters\" [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\"\n [showTitle]=\"showTitle\" [layoutType]=\"layoutType\" [visible]=\"field.visible\"\n (valueChange)=\"onValueChanged($event, field)\" [isActive]=\"isActive\">\n </pep-rich-html-textarea>\n\n <pep-select *ngSwitchCase=\"'select'\" [form]=\"form\" [key]=\"field.key\" [value]=\"field.value\" [label]=\"field.label\"\n [type]=\"field.type\" [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\" [readonly]=\"field.readonly\"\n [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\" [options]=\"field.options\" [showTitle]=\"showTitle\"\n [layoutType]=\"layoutType\" [visible]=\"field.visible\" (valueChange)=\"onValueChanged($event, field)\"\n (formValidationChange)=\"onFormValidationChanged($event)\" [isActive]=\"isActive\">\n </pep-select>\n\n <pep-separator *ngSwitchCase=\"'separator'\" [form]=\"form\" [key]=\"field.key\" [label]=\"field.label\"\n [xAlignment]=\"field.xAlignment\" [layoutType]=\"layoutType\" [visible]=\"field.visible\">\n </pep-separator>\n\n <pep-signature *ngSwitchCase=\"'signature'\" [form]=\"form\" [key]=\"field.key\" [src]=\"field.value\" [label]=\"field.label\"\n [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\" [readonly]=\"field.readonly\"\n [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\" [isActive]=\"isActive\" [layoutType]=\"layoutType\"\n [visible]=\"field.visible\" (fileChange)=\"onFileChanged($event, field)\">\n </pep-signature>\n\n <pep-textarea *ngSwitchCase=\"'textarea'\" [form]=\"form\" [key]=\"field.key\" [value]=\"field.value\" [label]=\"field.label\"\n [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\" [readonly]=\"field.readonly\"\n [maxFieldCharacters]=\"field.maxFieldCharacters\" [textColor]=\"field.textColor\" [xAlignment]=\"field.xAlignment\"\n [rowSpan]=\"field.rowSpan\" [showTitle]=\"showTitle\" [layoutType]=\"layoutType\" [visible]=\"field.visible\"\n (valueChange)=\"onValueChanged($event, field)\" [isActive]=\"isActive\">\n </pep-textarea>\n\n <pep-textbox *ngSwitchCase=\"'textbox'\" [form]=\"form\" [key]=\"field.key\" [value]=\"field.value\"\n [formattedValue]=\"field.formattedValue\" [accessory]=\"field.accessory\" [label]=\"field.label\" [placeholder]=\"field.placeholder\"\n [type]=\"field.type\" [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\" [readonly]=\"field.readonly\"\n [maxFieldCharacters]=\"field.maxFieldCharacters\" [textColor]=\"field.textColor\" [xAlignment]=\"field.xAlignment\"\n [rowSpan]=\"field.rowSpan\" [showTitle]=\"showTitle\" [layoutType]=\"layoutType\"\n (valueChange)=\"onValueChanged($event, field)\" (formValidationChange)=\"onFormValidationChanged($event)\"\n [isActive]=\"isActive\" [visible]=\"field.visible\">\n </pep-textbox>\n\n <pep-link *ngSwitchCase=\"'link'\" [form]=\"form\" [key]=\"field.key\" [value]=\"field.value\"\n [formattedValue]=\"field.formattedValue\" [label]=\"field.label\" [placeholder]=\"field.placeholder\"\n [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\" [readonly]=\"field.readonly\"\n [maxFieldCharacters]=\"field.maxFieldCharacters\" [textColor]=\"field.textColor\" [xAlignment]=\"field.xAlignment\"\n [rowSpan]=\"field.rowSpan\" [showTitle]=\"showTitle\" [layoutType]=\"layoutType\"\n (valueChange)=\"onValueChanged($event, field)\" [isActive]=\"isActive\" [visible]=\"field.visible\"\n (formValidationChange)=\"onFormValidationChanged($event)\" (elementClick)=\"onClick($event)\">\n </pep-link>\n\n <pep-indicators *ngSwitchCase=\"'indicators'\" [key]=\"field.key\" [value]=\"field.value\" [layoutType]=\"layoutType\">\n </pep-indicators>\n <pep-internal-button *ngSwitchCase=\"'button'\" [form]=\"form\" [key]=\"field.key\" [value]=\"field.value\"\n [formattedValue]=\"field.formattedValue\" [label]=\"field.label\"\n [referenceObjectInternalType]=\"field.referenceObjectInternalType\" [type]=\"field.type\"\n [disabled]=\"field.disabled\" [readonly]=\"field.readonly\" [xAlignment]=\"field.xAlignment\"\n [layoutType]=\"layoutType\" [visible]=\"field.visible\" (elementClick)=\"onClick($event)\"\n (valueChange)=\"onValueChanged($event, field)\">\n </pep-internal-button>\n <pep-internal-menu *ngSwitchCase=\"'menu'\" [key]=\"field.key\" [label]=\"field.label\" [disabled]=\"field.disabled\"\n [xAlignment]=\"field.xAlignment\" [options]=\"field.options\" [layoutType]=\"layoutType\"\n (elementClick)=\"onClick($event)\">\n </pep-internal-menu>\n <!-- <pep-internal-page *ngSwitchCase=\"'internalPage'\" [field]=\"field\" [layoutType]=\"layoutType\"\n (internalFormFieldClick)=\"onInternalFormFieldClick($event)\"\n (internalFormFieldChange)=\"onInternalFormFieldChanged($event)\">\n </pep-internal-page>\n\n <pep-internal-carusel *ngSwitchCase=\"'internalCarusel'\" [field]=\"field\"\n (internalFormFieldClick)=\"onInternalFormFieldClick($event)\"\n (internalFormFieldChange)=\"onInternalFormFieldChanged($event)\">\n </pep-internal-carusel> -->\n\n <ng-container *ngSwitchCase=\"'placeholder'\">\n </ng-container>\n</ng-container>", styles: [":host{width:100%;height:100%}\n"], dependencies: [{ kind: "directive", type: i5.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i5.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i3$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i3$2.PepAddressComponent, selector: "pep-address", inputs: ["key", "formattedValue", "label", "mandatory", "disabled", "readonly", "xAlignment", "rowSpan", "groupFields", "form", "layoutType", "visible"], outputs: ["addressValueChange"] }, { kind: "component", type: i4$3.PepAttachmentComponent, selector: "pep-attachment", inputs: ["key", "src", "label", "mandatory", "disabled", "readonly", "xAlignment", "rowSpan", "visible", "form", "showTitle", "renderTitle", "layoutType", "isActive"], outputs: ["fileChange", "elementClick"] }, { kind: "component", type: i5$2.PepCheckboxComponent, selector: "pep-checkbox", inputs: ["key", "value", "label", "type", "mandatory", "disabled", "readonly", "xAlignment", "rowSpan", "additionalValue", "form", "isActive", "showTitle", "renderTitle", "layoutType", "visible"], outputs: ["valueChange"] }, { kind: "component", type: i6.PepDateComponent, selector: "pep-date", inputs: ["key", "value", "formattedValue", "label", "type", "mandatory", "disabled", "readonly", "textColor", "xAlignment", "rowSpan", "visible", "minValue", "maxValue", "minDateValue", "maxDateValue", "form", "isActive", "showTitle", "renderTitle", "renderError", "renderSymbol", "layoutType"], outputs: ["valueChange"] }, { kind: "component", type: i7$1.PepImageComponent, selector: "pep-image", inputs: ["key", "srcLarge", "src", "options", "label", "mandatory", "disabled", "readonly", "xAlignment", "rowSpan", "indicatorsField", "menuField", "hasCampaignField", "visible", "form", "uid", "showTitle", "renderTitle", "layoutType", "isActive", "sizeLimitMB", "acceptImagesType"], outputs: ["fileChange", "elementClick"] }, { kind: "component", type: i8$1.PepImagesFilmstripComponent, selector: "pep-images-filmstrip", inputs: ["key", "value", "label", "xAlignment", "rowSpan", "form", "uid", "showTitle", "renderTitle", "layoutType", "currIndex", "showThumbnails"] }, { kind: "component", type: i9.PepQuantitySelectorComponent, selector: "pep-quantity-selector", inputs: ["key", "value", "formattedValue", "label", "type", "mandatory", "disabled", "readonly", "textColor", "xAlignment", "rowSpan", "allowDecimal", "additionalValue", "notificationInfo", "visible", "form", "showTitle", "renderTitle", "layoutType", "isActive", "styleType"], outputs: ["valueChange", "elementClick"] }, { kind: "component", type: i10.PepRichHtmlTextareaComponent, selector: "pep-rich-html-textarea", inputs: ["key", "value", "label", "mandatory", "disabled", "readonly", "maxFieldCharacters", "xAlignment", "rowSpan", "visible", "form", "isActive", "showTitle", "renderTitle", "layoutType", "inlineMode", "toolbarOptions"], outputs: ["valueChange"] }, { kind: "component", type: i11.PepSelectComponent, selector: "pep-select", inputs: ["key", "value", "label", "type", "mandatory", "disabled", "readonly", "xAlignment", "rowSpan", "options", "visible", "form", "layoutType", "parentFieldKey", "isActive", "showTitle", "emptyOption", "renderTitle"], outputs: ["valueChange", "formValidationChange"] }, { kind: "component", type: i12.PepSeparatorComponent, selector: "pep-separator", inputs: ["key", "label", "xAlignment", "form", "layoutType", "visible"] }, { kind: "component", type: i13.PepSignatureComponent, selector: "pep-signature", inputs: ["key", "src", "label", "mandatory", "disabled", "readonly", "xAlignment", "rowSpan", "signatureURL", "visible", "form", "showTitle", "renderTitle", "layoutType", "isActive"], outputs: ["fileChange"] }, { kind: "component", type: i14.PepTextareaComponent, selector: "pep-textarea", inputs: ["key", "value", "label", "mandatory", "disabled", "readonly", "maxFieldCharacters", "textColor", "xAlignment", "rowSpan", "visible", "form", "isActive", "showTitle", "renderTitle", "layoutType"], outputs: ["valueChange"] }, { kind: "component", type: i15.PepTextboxComponent, selector: "pep-textbox", inputs: ["key", "value", "formattedValue", "accessory", "label", "placeholder", "type", "mandatory", "disabled", "readonly", "maxFieldCharacters", "hint", "textColor", "xAlignment", "rowSpan", "minValue", "maxValue", "visible", "form", "isActive", "showTitle", "renderTitle", "renderError", "renderSymbol", "layoutType", "parentFieldKey"], outputs: ["valueChange", "formValidationChange"] }, { kind: "component", type: i16.PepLinkComponent, selector: "pep-link", inputs: ["key", "value", "formattedValue", "label", "placeholder", "mandatory", "disabled", "readonly", "maxFieldCharacters", "textColor", "xAlignment", "rowSpan", "visible", "form", "isActive", "showTitle", "renderTitle", "renderError", "renderSymbol", "layoutType"], outputs: ["valueChange", "formValidationChange", "elementClick"] }, { kind: "component", type: PepIndicatorsComponent, selector: "pep-indicators", inputs: ["key", "value", "layoutType"] }, { kind: "component", type: PepInternalButtonComponent, selector: "pep-internal-button", inputs: ["key", "value", "formattedValue", "label", "referenceObjectInternalType", "type", "mandatory", "disabled", "readonly", "xAlignment", "rowSpan", "visible", "form", "showTitle", "layoutType"], outputs: ["elementClick", "valueChange"] }, { kind: "component", type: PepInternalMenuComponent, selector: "pep-internal-menu", inputs: ["key", "label", "disabled", "xAlignment", "options", "invertClass", "layoutType"], outputs: ["elementClick"] }, { kind: "pipe", type: i5.LowerCasePipe, name: "lowercase" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
409
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: PepFieldGeneratorComponent, decorators: [{
525
+ PepInternalFieldGeneratorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepInternalFieldGeneratorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
526
+ PepInternalFieldGeneratorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PepInternalFieldGeneratorComponent, selector: "pep-internal-field-generator", inputs: { field: "field", isActive: "isActive", uid: "uid", form: "form", layoutType: "layoutType", showTitle: "showTitle", checkForChanges: "checkForChanges" }, outputs: { valueChange: "valueChange", formValidationChange: "formValidationChange", elementClick: "elementClick", formValueChange: "formValueChange", formFieldClick: "formFieldClick" }, usesOnChanges: true, ngImport: i0, template: "<ng-container [ngSwitch]=\"field.controlType\" [formGroup]=\"form\">\n\n <pep-address *ngSwitchCase=\"'address'\" [form]=\"form\" [key]=\"field.key\" [formattedValue]=\"field.formattedValue\"\n [label]=\"field.label\" [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\" [readonly]=\"field.readonly\"\n [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\" [groupFields]=\"field.groupFields\"\n [layoutType]=\"layoutType\" [visible]=\"field.visible\" (addressValueChange)=\"onAddressValueChanged($event, field)\">\n </pep-address>\n\n <pep-attachment *ngSwitchCase=\"'attachment'\" [form]=\"form\" [key]=\"field.key\" [src]=\"field.value\"\n [label]=\"field.label\" [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\" [readonly]=\"field.readonly\"\n [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\" [isActive]=\"isActive\" [showTitle]=\"showTitle\"\n [layoutType]=\"layoutType\" [visible]=\"field.visible\" (elementClick)=\"onClick($event)\"\n (fileChange)=\"onFileChanged($event, field)\">\n </pep-attachment>\n\n <pep-checkbox *ngSwitchCase=\"'checkbox'\" [form]=\"form\" [key]=\"field.key\"\n [value]=\"(field.value | lowercase) == 'true' || field.value == '1' ? true : false\" [label]=\"field.label\"\n [type]=\"field.type\" [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\" [readonly]=\"field.readonly\"\n [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\" [additionalValue]=\"field.additionalValue\"\n [showTitle]=\"showTitle\" [layoutType]=\"layoutType\" [visible]=\"field.visible\"\n (valueChange)=\"onValueChanged($event, field)\" [isActive]=\"isActive\">\n </pep-checkbox>\n\n <pep-date *ngSwitchCase=\"'date'\" [form]=\"form\" [key]=\"field.key\" [value]=\"field.value\"\n [formattedValue]=\"field.formattedValue\" [label]=\"field.label\" [type]=\"field.type\" [mandatory]=\"field.mandatory\"\n [disabled]=\"field.disabled\" [readonly]=\"field.readonly\" [textColor]=\"field.textColor\"\n [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\" [minValue]=\"field.minValue\"\n [maxValue]=\"field.maxValue\" [showTitle]=\"showTitle\" [layoutType]=\"layoutType\" [visible]=\"field.visible\"\n (valueChange)=\"onValueChanged($event, field)\" [isActive]=\"isActive\">\n </pep-date>\n\n <pep-images-filmstrip *ngSwitchCase=\"'images'\" [uid]=\"uid\" [form]=\"form\" [key]=\"field.key\" [label]=\"field.label\"\n [showTitle]=\"showTitle\" [rowSpan]=\"field.rowSpan\" [value]=\"field.value\" [layoutType]=\"layoutType\">\n </pep-images-filmstrip>\n\n <pep-image *ngSwitchCase=\"'image'\" [uid]=\"uid\" [form]=\"form\" [key]=\"field.key\" [src]=\"field.formattedValue\"\n [srcLarge]=\"field.value\" [options]=\"field.options\" [label]=\"field.label\" [mandatory]=\"field.mandatory\"\n [disabled]=\"field.disabled\" [readonly]=\"field.readonly\" [xAlignment]=\"field.xAlignment\"\n [rowSpan]=\"field.rowSpan\" [indicatorsField]=\"field.indicatorsField\" [menuField]=\"field.menuField\"\n [hasCampaignField]=\"field.hasCampaignField\" [sizeLimitMB]=\"field.sizeLimitMB\" [isActive]=\"isActive\"\n [layoutType]=\"layoutType\" [visible]=\"field.visible\" (elementClick)=\"onClick($event)\"\n (fileChange)=\"onFileChanged($event, field)\">\n </pep-image>\n\n <pep-quantity-selector *ngSwitchCase=\"'qs'\" [form]=\"form\" [key]=\"field.key\" [value]=\"field.value\"\n [formattedValue]=\"field.formattedValue\" [label]=\"field.label\" [type]=\"field.type\" [mandatory]=\"field.mandatory\"\n [disabled]=\"field.disabled\" [readonly]=\"field.readonly\" [textColor]=\"field.textColor\"\n [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\" [allowDecimal]=\"field.allowDecimal\"\n [additionalValue]=\"field.additionalValue\" [notificationInfo]=\"field.notificationInfo\" [isActive]=\"isActive\"\n [layoutType]=\"layoutType\" [showTitle]=\"showTitle\" [visible]=\"field.visible\"\n (valueChange)=\"onValueChanged($event, field)\" (formValidationChange)=\"onFormValidationChanged($event)\"\n (elementClick)=\"onClick($event)\">\n </pep-quantity-selector>\n\n <pep-rich-html-textarea *ngSwitchCase=\"'richhtmltextarea'\" [form]=\"form\" [key]=\"field.key\" [value]=\"field.value\"\n [label]=\"field.label\" [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\" [readonly]=\"field.readonly\"\n [maxFieldCharacters]=\"field.maxFieldCharacters\" [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\"\n [showTitle]=\"showTitle\" [layoutType]=\"layoutType\" [visible]=\"field.visible\"\n (valueChange)=\"onValueChanged($event, field)\" [isActive]=\"isActive\">\n </pep-rich-html-textarea>\n\n <pep-select *ngSwitchCase=\"'select'\" [form]=\"form\" [key]=\"field.key\" [value]=\"field.value\" [label]=\"field.label\"\n [type]=\"field.type\" [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\" [readonly]=\"field.readonly\"\n [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\" [options]=\"field.options\" [showTitle]=\"showTitle\"\n [layoutType]=\"layoutType\" [visible]=\"field.visible\" (valueChange)=\"onValueChanged($event, field)\"\n (formValidationChange)=\"onFormValidationChanged($event)\" [isActive]=\"isActive\">\n </pep-select>\n\n <pep-separator *ngSwitchCase=\"'separator'\" [form]=\"form\" [key]=\"field.key\" [label]=\"field.label\"\n [xAlignment]=\"field.xAlignment\" [layoutType]=\"layoutType\" [visible]=\"field.visible\">\n </pep-separator>\n\n <pep-signature *ngSwitchCase=\"'signature'\" [form]=\"form\" [key]=\"field.key\" [src]=\"field.value\" [label]=\"field.label\"\n [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\" [readonly]=\"field.readonly\"\n [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\" [isActive]=\"isActive\" [layoutType]=\"layoutType\"\n [visible]=\"field.visible\" (fileChange)=\"onFileChanged($event, field)\">\n </pep-signature>\n\n <pep-textarea *ngSwitchCase=\"'textarea'\" [form]=\"form\" [key]=\"field.key\" [value]=\"field.value\" [label]=\"field.label\"\n [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\" [readonly]=\"field.readonly\"\n [maxFieldCharacters]=\"field.maxFieldCharacters\" [textColor]=\"field.textColor\" [xAlignment]=\"field.xAlignment\"\n [rowSpan]=\"field.rowSpan\" [showTitle]=\"showTitle\" [layoutType]=\"layoutType\" [visible]=\"field.visible\"\n (valueChange)=\"onValueChanged($event, field)\" [isActive]=\"isActive\">\n </pep-textarea>\n\n <pep-textbox *ngSwitchCase=\"'textbox'\" [form]=\"form\" [key]=\"field.key\" [value]=\"field.value\"\n [formattedValue]=\"field.formattedValue\" [accessory]=\"field.accessory\" [label]=\"field.label\" [placeholder]=\"field.placeholder\"\n [type]=\"field.type\" [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\" [readonly]=\"field.readonly\"\n [maxFieldCharacters]=\"field.maxFieldCharacters\" [textColor]=\"field.textColor\" [xAlignment]=\"field.xAlignment\"\n [rowSpan]=\"field.rowSpan\" [showTitle]=\"showTitle\" [layoutType]=\"layoutType\"\n (valueChange)=\"onValueChanged($event, field)\" (formValidationChange)=\"onFormValidationChanged($event)\"\n [isActive]=\"isActive\" [visible]=\"field.visible\">\n </pep-textbox>\n\n <pep-link *ngSwitchCase=\"'link'\" [form]=\"form\" [key]=\"field.key\" [value]=\"field.value\"\n [formattedValue]=\"field.formattedValue\" [label]=\"field.label\" [placeholder]=\"field.placeholder\"\n [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\" [readonly]=\"field.readonly\"\n [maxFieldCharacters]=\"field.maxFieldCharacters\" [textColor]=\"field.textColor\" [xAlignment]=\"field.xAlignment\"\n [rowSpan]=\"field.rowSpan\" [showTitle]=\"showTitle\" [layoutType]=\"layoutType\"\n (valueChange)=\"onValueChanged($event, field)\" [isActive]=\"isActive\" [visible]=\"field.visible\"\n (formValidationChange)=\"onFormValidationChanged($event)\" (elementClick)=\"onClick($event)\">\n </pep-link>\n\n <pep-indicators *ngSwitchCase=\"'indicators'\" [key]=\"field.key\" [value]=\"field.value\" [layoutType]=\"layoutType\">\n </pep-indicators>\n <pep-internal-button *ngSwitchCase=\"'button'\" [form]=\"form\" [key]=\"field.key\" [value]=\"field.value\"\n [formattedValue]=\"field.formattedValue\" [label]=\"field.label\"\n [referenceObjectInternalType]=\"field.referenceObjectInternalType\" [type]=\"field.type\"\n [disabled]=\"field.disabled\" [readonly]=\"field.readonly\" [xAlignment]=\"field.xAlignment\"\n [layoutType]=\"layoutType\" [visible]=\"field.visible\" (elementClick)=\"onClick($event)\"\n (valueChange)=\"onValueChanged($event, field)\">\n </pep-internal-button>\n <pep-internal-menu *ngSwitchCase=\"'menu'\" [key]=\"field.key\" [label]=\"field.label\" [disabled]=\"field.disabled\"\n [xAlignment]=\"field.xAlignment\" [options]=\"field.options\" [layoutType]=\"layoutType\"\n (elementClick)=\"onClick($event)\">\n </pep-internal-menu>\n <!-- \n comment for not cause a circular reference.\n <pep-internal-page *ngSwitchCase=\"'internalPage'\" [field]=\"field\" [layoutType]=\"layoutType\"\n (internalFormFieldClick)=\"onInternalFormFieldClick($event)\"\n (internalFormFieldChange)=\"onInternalFormFieldChanged($event)\">\n </pep-internal-page>\n\n <pep-internal-carusel *ngSwitchCase=\"'internalCarusel'\" [field]=\"field\"\n (internalFormFieldClick)=\"onInternalFormFieldClick($event)\"\n (internalFormFieldChange)=\"onInternalFormFieldChanged($event)\">\n </pep-internal-carusel> \n -->\n\n <ng-container *ngSwitchCase=\"'placeholder'\">\n </ng-container>\n</ng-container>", styles: [":host{width:100%;height:100%}\n"], dependencies: [{ kind: "directive", type: i5.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i5.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i3$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i3$2.PepAddressComponent, selector: "pep-address", inputs: ["key", "formattedValue", "label", "mandatory", "disabled", "readonly", "xAlignment", "rowSpan", "groupFields", "form", "layoutType", "visible"], outputs: ["addressValueChange"] }, { kind: "component", type: i4$3.PepAttachmentComponent, selector: "pep-attachment", inputs: ["key", "src", "label", "mandatory", "disabled", "readonly", "xAlignment", "rowSpan", "visible", "form", "showTitle", "renderTitle", "layoutType", "isActive"], outputs: ["fileChange", "elementClick"] }, { kind: "component", type: i5$2.PepCheckboxComponent, selector: "pep-checkbox", inputs: ["key", "value", "label", "type", "mandatory", "disabled", "readonly", "xAlignment", "rowSpan", "additionalValue", "form", "isActive", "showTitle", "renderTitle", "layoutType", "visible"], outputs: ["valueChange"] }, { kind: "component", type: i6.PepDateComponent, selector: "pep-date", inputs: ["key", "value", "formattedValue", "label", "type", "mandatory", "disabled", "readonly", "textColor", "xAlignment", "rowSpan", "visible", "minValue", "maxValue", "minDateValue", "maxDateValue", "form", "isActive", "showTitle", "renderTitle", "renderError", "renderSymbol", "layoutType"], outputs: ["valueChange"] }, { kind: "component", type: i7$1.PepImageComponent, selector: "pep-image", inputs: ["key", "srcLarge", "src", "options", "label", "mandatory", "disabled", "readonly", "xAlignment", "rowSpan", "indicatorsField", "menuField", "hasCampaignField", "visible", "form", "uid", "showTitle", "renderTitle", "layoutType", "isActive", "sizeLimitMB", "acceptImagesType"], outputs: ["fileChange", "elementClick"] }, { kind: "component", type: i8$1.PepImagesFilmstripComponent, selector: "pep-images-filmstrip", inputs: ["key", "value", "label", "xAlignment", "rowSpan", "form", "uid", "showTitle", "renderTitle", "layoutType", "currIndex", "showThumbnails"] }, { kind: "component", type: i9.PepQuantitySelectorComponent, selector: "pep-quantity-selector", inputs: ["key", "value", "formattedValue", "label", "type", "mandatory", "disabled", "readonly", "textColor", "xAlignment", "rowSpan", "allowDecimal", "additionalValue", "notificationInfo", "visible", "form", "showTitle", "renderTitle", "layoutType", "isActive", "styleType"], outputs: ["valueChange", "elementClick"] }, { kind: "component", type: i10.PepRichHtmlTextareaComponent, selector: "pep-rich-html-textarea", inputs: ["key", "value", "label", "mandatory", "disabled", "readonly", "maxFieldCharacters", "xAlignment", "rowSpan", "visible", "form", "isActive", "showTitle", "renderTitle", "layoutType", "inlineMode", "toolbarOptions"], outputs: ["valueChange"] }, { kind: "component", type: i11.PepSelectComponent, selector: "pep-select", inputs: ["key", "value", "label", "type", "mandatory", "disabled", "readonly", "xAlignment", "rowSpan", "options", "visible", "form", "layoutType", "parentFieldKey", "isActive", "showTitle", "emptyOption", "renderTitle"], outputs: ["valueChange", "formValidationChange"] }, { kind: "component", type: i12.PepSeparatorComponent, selector: "pep-separator", inputs: ["key", "label", "xAlignment", "form", "layoutType", "visible"] }, { kind: "component", type: i13.PepSignatureComponent, selector: "pep-signature", inputs: ["key", "src", "label", "mandatory", "disabled", "readonly", "xAlignment", "rowSpan", "signatureURL", "visible", "form", "showTitle", "renderTitle", "layoutType", "isActive"], outputs: ["fileChange"] }, { kind: "component", type: i14.PepTextareaComponent, selector: "pep-textarea", inputs: ["key", "value", "label", "mandatory", "disabled", "readonly", "maxFieldCharacters", "textColor", "xAlignment", "rowSpan", "visible", "form", "isActive", "showTitle", "renderTitle", "layoutType"], outputs: ["valueChange"] }, { kind: "component", type: i15.PepTextboxComponent, selector: "pep-textbox", inputs: ["key", "value", "formattedValue", "accessory", "label", "placeholder", "type", "mandatory", "disabled", "readonly", "maxFieldCharacters", "hint", "textColor", "xAlignment", "rowSpan", "minValue", "maxValue", "visible", "form", "isActive", "showTitle", "renderTitle", "renderError", "renderSymbol", "layoutType", "parentFieldKey"], outputs: ["valueChange", "formValidationChange"] }, { kind: "component", type: i16.PepLinkComponent, selector: "pep-link", inputs: ["key", "value", "formattedValue", "label", "placeholder", "mandatory", "disabled", "readonly", "maxFieldCharacters", "textColor", "xAlignment", "rowSpan", "visible", "form", "isActive", "showTitle", "renderTitle", "renderError", "renderSymbol", "layoutType"], outputs: ["valueChange", "formValidationChange", "elementClick"] }, { kind: "component", type: PepIndicatorsComponent, selector: "pep-indicators", inputs: ["key", "value", "layoutType"] }, { kind: "component", type: PepInternalButtonComponent, selector: "pep-internal-button", inputs: ["key", "value", "formattedValue", "label", "referenceObjectInternalType", "type", "mandatory", "disabled", "readonly", "xAlignment", "rowSpan", "visible", "form", "showTitle", "layoutType"], outputs: ["elementClick", "valueChange"] }, { kind: "component", type: PepInternalMenuComponent, selector: "pep-internal-menu", inputs: ["key", "label", "disabled", "xAlignment", "options", "invertClass", "layoutType"], outputs: ["elementClick"] }, { kind: "pipe", type: i5.LowerCasePipe, name: "lowercase" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
527
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepInternalFieldGeneratorComponent, decorators: [{
410
528
  type: Component,
411
- args: [{ selector: 'pep-field-generator', encapsulation: ViewEncapsulation.Emulated, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container [ngSwitch]=\"field.controlType\" [formGroup]=\"form\">\n\n <pep-address *ngSwitchCase=\"'address'\" [form]=\"form\" [key]=\"field.key\" [formattedValue]=\"field.formattedValue\"\n [label]=\"field.label\" [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\" [readonly]=\"field.readonly\"\n [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\" [groupFields]=\"field.groupFields\"\n [layoutType]=\"layoutType\" [visible]=\"field.visible\" (addressValueChange)=\"onAddressValueChanged($event, field)\">\n </pep-address>\n\n <pep-attachment *ngSwitchCase=\"'attachment'\" [form]=\"form\" [key]=\"field.key\" [src]=\"field.value\"\n [label]=\"field.label\" [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\" [readonly]=\"field.readonly\"\n [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\" [isActive]=\"isActive\" [showTitle]=\"showTitle\"\n [layoutType]=\"layoutType\" [visible]=\"field.visible\" (elementClick)=\"onClick($event)\"\n (fileChange)=\"onFileChanged($event, field)\">\n </pep-attachment>\n\n <pep-checkbox *ngSwitchCase=\"'checkbox'\" [form]=\"form\" [key]=\"field.key\"\n [value]=\"(field.value | lowercase) == 'true' || field.value == '1' ? true : false\" [label]=\"field.label\"\n [type]=\"field.type\" [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\" [readonly]=\"field.readonly\"\n [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\" [additionalValue]=\"field.additionalValue\"\n [showTitle]=\"showTitle\" [layoutType]=\"layoutType\" [visible]=\"field.visible\"\n (valueChange)=\"onValueChanged($event, field)\" [isActive]=\"isActive\">\n </pep-checkbox>\n\n <pep-date *ngSwitchCase=\"'date'\" [form]=\"form\" [key]=\"field.key\" [value]=\"field.value\"\n [formattedValue]=\"field.formattedValue\" [label]=\"field.label\" [type]=\"field.type\" [mandatory]=\"field.mandatory\"\n [disabled]=\"field.disabled\" [readonly]=\"field.readonly\" [textColor]=\"field.textColor\"\n [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\" [minValue]=\"field.minValue\"\n [maxValue]=\"field.maxValue\" [showTitle]=\"showTitle\" [layoutType]=\"layoutType\" [visible]=\"field.visible\"\n (valueChange)=\"onValueChanged($event, field)\" [isActive]=\"isActive\">\n </pep-date>\n\n <pep-images-filmstrip *ngSwitchCase=\"'images'\" [uid]=\"uid\" [form]=\"form\" [key]=\"field.key\" [label]=\"field.label\"\n [showTitle]=\"showTitle\" [rowSpan]=\"field.rowSpan\" [value]=\"field.value\" [layoutType]=\"layoutType\">\n </pep-images-filmstrip>\n\n <pep-image *ngSwitchCase=\"'image'\" [uid]=\"uid\" [form]=\"form\" [key]=\"field.key\" [src]=\"field.formattedValue\"\n [srcLarge]=\"field.value\" [options]=\"field.options\" [label]=\"field.label\" [mandatory]=\"field.mandatory\"\n [disabled]=\"field.disabled\" [readonly]=\"field.readonly\" [xAlignment]=\"field.xAlignment\"\n [rowSpan]=\"field.rowSpan\" [indicatorsField]=\"field.indicatorsField\" [menuField]=\"field.menuField\"\n [hasCampaignField]=\"field.hasCampaignField\" [sizeLimitMB]=\"field.sizeLimitMB\" [isActive]=\"isActive\"\n [layoutType]=\"layoutType\" [visible]=\"field.visible\" (elementClick)=\"onClick($event)\"\n (fileChange)=\"onFileChanged($event, field)\">\n </pep-image>\n\n <pep-quantity-selector *ngSwitchCase=\"'qs'\" [form]=\"form\" [key]=\"field.key\" [value]=\"field.value\"\n [formattedValue]=\"field.formattedValue\" [label]=\"field.label\" [type]=\"field.type\" [mandatory]=\"field.mandatory\"\n [disabled]=\"field.disabled\" [readonly]=\"field.readonly\" [textColor]=\"field.textColor\"\n [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\" [allowDecimal]=\"field.allowDecimal\"\n [additionalValue]=\"field.additionalValue\" [notificationInfo]=\"field.notificationInfo\" [isActive]=\"isActive\"\n [layoutType]=\"layoutType\" [showTitle]=\"showTitle\" [visible]=\"field.visible\"\n (valueChange)=\"onValueChanged($event, field)\" (formValidationChange)=\"onFormValidationChanged($event)\"\n (elementClick)=\"onClick($event)\">\n </pep-quantity-selector>\n\n <pep-rich-html-textarea *ngSwitchCase=\"'richhtmltextarea'\" [form]=\"form\" [key]=\"field.key\" [value]=\"field.value\"\n [label]=\"field.label\" [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\" [readonly]=\"field.readonly\"\n [maxFieldCharacters]=\"field.maxFieldCharacters\" [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\"\n [showTitle]=\"showTitle\" [layoutType]=\"layoutType\" [visible]=\"field.visible\"\n (valueChange)=\"onValueChanged($event, field)\" [isActive]=\"isActive\">\n </pep-rich-html-textarea>\n\n <pep-select *ngSwitchCase=\"'select'\" [form]=\"form\" [key]=\"field.key\" [value]=\"field.value\" [label]=\"field.label\"\n [type]=\"field.type\" [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\" [readonly]=\"field.readonly\"\n [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\" [options]=\"field.options\" [showTitle]=\"showTitle\"\n [layoutType]=\"layoutType\" [visible]=\"field.visible\" (valueChange)=\"onValueChanged($event, field)\"\n (formValidationChange)=\"onFormValidationChanged($event)\" [isActive]=\"isActive\">\n </pep-select>\n\n <pep-separator *ngSwitchCase=\"'separator'\" [form]=\"form\" [key]=\"field.key\" [label]=\"field.label\"\n [xAlignment]=\"field.xAlignment\" [layoutType]=\"layoutType\" [visible]=\"field.visible\">\n </pep-separator>\n\n <pep-signature *ngSwitchCase=\"'signature'\" [form]=\"form\" [key]=\"field.key\" [src]=\"field.value\" [label]=\"field.label\"\n [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\" [readonly]=\"field.readonly\"\n [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\" [isActive]=\"isActive\" [layoutType]=\"layoutType\"\n [visible]=\"field.visible\" (fileChange)=\"onFileChanged($event, field)\">\n </pep-signature>\n\n <pep-textarea *ngSwitchCase=\"'textarea'\" [form]=\"form\" [key]=\"field.key\" [value]=\"field.value\" [label]=\"field.label\"\n [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\" [readonly]=\"field.readonly\"\n [maxFieldCharacters]=\"field.maxFieldCharacters\" [textColor]=\"field.textColor\" [xAlignment]=\"field.xAlignment\"\n [rowSpan]=\"field.rowSpan\" [showTitle]=\"showTitle\" [layoutType]=\"layoutType\" [visible]=\"field.visible\"\n (valueChange)=\"onValueChanged($event, field)\" [isActive]=\"isActive\">\n </pep-textarea>\n\n <pep-textbox *ngSwitchCase=\"'textbox'\" [form]=\"form\" [key]=\"field.key\" [value]=\"field.value\"\n [formattedValue]=\"field.formattedValue\" [accessory]=\"field.accessory\" [label]=\"field.label\" [placeholder]=\"field.placeholder\"\n [type]=\"field.type\" [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\" [readonly]=\"field.readonly\"\n [maxFieldCharacters]=\"field.maxFieldCharacters\" [textColor]=\"field.textColor\" [xAlignment]=\"field.xAlignment\"\n [rowSpan]=\"field.rowSpan\" [showTitle]=\"showTitle\" [layoutType]=\"layoutType\"\n (valueChange)=\"onValueChanged($event, field)\" (formValidationChange)=\"onFormValidationChanged($event)\"\n [isActive]=\"isActive\" [visible]=\"field.visible\">\n </pep-textbox>\n\n <pep-link *ngSwitchCase=\"'link'\" [form]=\"form\" [key]=\"field.key\" [value]=\"field.value\"\n [formattedValue]=\"field.formattedValue\" [label]=\"field.label\" [placeholder]=\"field.placeholder\"\n [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\" [readonly]=\"field.readonly\"\n [maxFieldCharacters]=\"field.maxFieldCharacters\" [textColor]=\"field.textColor\" [xAlignment]=\"field.xAlignment\"\n [rowSpan]=\"field.rowSpan\" [showTitle]=\"showTitle\" [layoutType]=\"layoutType\"\n (valueChange)=\"onValueChanged($event, field)\" [isActive]=\"isActive\" [visible]=\"field.visible\"\n (formValidationChange)=\"onFormValidationChanged($event)\" (elementClick)=\"onClick($event)\">\n </pep-link>\n\n <pep-indicators *ngSwitchCase=\"'indicators'\" [key]=\"field.key\" [value]=\"field.value\" [layoutType]=\"layoutType\">\n </pep-indicators>\n <pep-internal-button *ngSwitchCase=\"'button'\" [form]=\"form\" [key]=\"field.key\" [value]=\"field.value\"\n [formattedValue]=\"field.formattedValue\" [label]=\"field.label\"\n [referenceObjectInternalType]=\"field.referenceObjectInternalType\" [type]=\"field.type\"\n [disabled]=\"field.disabled\" [readonly]=\"field.readonly\" [xAlignment]=\"field.xAlignment\"\n [layoutType]=\"layoutType\" [visible]=\"field.visible\" (elementClick)=\"onClick($event)\"\n (valueChange)=\"onValueChanged($event, field)\">\n </pep-internal-button>\n <pep-internal-menu *ngSwitchCase=\"'menu'\" [key]=\"field.key\" [label]=\"field.label\" [disabled]=\"field.disabled\"\n [xAlignment]=\"field.xAlignment\" [options]=\"field.options\" [layoutType]=\"layoutType\"\n (elementClick)=\"onClick($event)\">\n </pep-internal-menu>\n <!-- <pep-internal-page *ngSwitchCase=\"'internalPage'\" [field]=\"field\" [layoutType]=\"layoutType\"\n (internalFormFieldClick)=\"onInternalFormFieldClick($event)\"\n (internalFormFieldChange)=\"onInternalFormFieldChanged($event)\">\n </pep-internal-page>\n\n <pep-internal-carusel *ngSwitchCase=\"'internalCarusel'\" [field]=\"field\"\n (internalFormFieldClick)=\"onInternalFormFieldClick($event)\"\n (internalFormFieldChange)=\"onInternalFormFieldChanged($event)\">\n </pep-internal-carusel> -->\n\n <ng-container *ngSwitchCase=\"'placeholder'\">\n </ng-container>\n</ng-container>", styles: [":host{width:100%;height:100%}\n"] }]
529
+ args: [{ selector: 'pep-internal-field-generator', encapsulation: ViewEncapsulation.Emulated, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container [ngSwitch]=\"field.controlType\" [formGroup]=\"form\">\n\n <pep-address *ngSwitchCase=\"'address'\" [form]=\"form\" [key]=\"field.key\" [formattedValue]=\"field.formattedValue\"\n [label]=\"field.label\" [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\" [readonly]=\"field.readonly\"\n [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\" [groupFields]=\"field.groupFields\"\n [layoutType]=\"layoutType\" [visible]=\"field.visible\" (addressValueChange)=\"onAddressValueChanged($event, field)\">\n </pep-address>\n\n <pep-attachment *ngSwitchCase=\"'attachment'\" [form]=\"form\" [key]=\"field.key\" [src]=\"field.value\"\n [label]=\"field.label\" [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\" [readonly]=\"field.readonly\"\n [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\" [isActive]=\"isActive\" [showTitle]=\"showTitle\"\n [layoutType]=\"layoutType\" [visible]=\"field.visible\" (elementClick)=\"onClick($event)\"\n (fileChange)=\"onFileChanged($event, field)\">\n </pep-attachment>\n\n <pep-checkbox *ngSwitchCase=\"'checkbox'\" [form]=\"form\" [key]=\"field.key\"\n [value]=\"(field.value | lowercase) == 'true' || field.value == '1' ? true : false\" [label]=\"field.label\"\n [type]=\"field.type\" [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\" [readonly]=\"field.readonly\"\n [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\" [additionalValue]=\"field.additionalValue\"\n [showTitle]=\"showTitle\" [layoutType]=\"layoutType\" [visible]=\"field.visible\"\n (valueChange)=\"onValueChanged($event, field)\" [isActive]=\"isActive\">\n </pep-checkbox>\n\n <pep-date *ngSwitchCase=\"'date'\" [form]=\"form\" [key]=\"field.key\" [value]=\"field.value\"\n [formattedValue]=\"field.formattedValue\" [label]=\"field.label\" [type]=\"field.type\" [mandatory]=\"field.mandatory\"\n [disabled]=\"field.disabled\" [readonly]=\"field.readonly\" [textColor]=\"field.textColor\"\n [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\" [minValue]=\"field.minValue\"\n [maxValue]=\"field.maxValue\" [showTitle]=\"showTitle\" [layoutType]=\"layoutType\" [visible]=\"field.visible\"\n (valueChange)=\"onValueChanged($event, field)\" [isActive]=\"isActive\">\n </pep-date>\n\n <pep-images-filmstrip *ngSwitchCase=\"'images'\" [uid]=\"uid\" [form]=\"form\" [key]=\"field.key\" [label]=\"field.label\"\n [showTitle]=\"showTitle\" [rowSpan]=\"field.rowSpan\" [value]=\"field.value\" [layoutType]=\"layoutType\">\n </pep-images-filmstrip>\n\n <pep-image *ngSwitchCase=\"'image'\" [uid]=\"uid\" [form]=\"form\" [key]=\"field.key\" [src]=\"field.formattedValue\"\n [srcLarge]=\"field.value\" [options]=\"field.options\" [label]=\"field.label\" [mandatory]=\"field.mandatory\"\n [disabled]=\"field.disabled\" [readonly]=\"field.readonly\" [xAlignment]=\"field.xAlignment\"\n [rowSpan]=\"field.rowSpan\" [indicatorsField]=\"field.indicatorsField\" [menuField]=\"field.menuField\"\n [hasCampaignField]=\"field.hasCampaignField\" [sizeLimitMB]=\"field.sizeLimitMB\" [isActive]=\"isActive\"\n [layoutType]=\"layoutType\" [visible]=\"field.visible\" (elementClick)=\"onClick($event)\"\n (fileChange)=\"onFileChanged($event, field)\">\n </pep-image>\n\n <pep-quantity-selector *ngSwitchCase=\"'qs'\" [form]=\"form\" [key]=\"field.key\" [value]=\"field.value\"\n [formattedValue]=\"field.formattedValue\" [label]=\"field.label\" [type]=\"field.type\" [mandatory]=\"field.mandatory\"\n [disabled]=\"field.disabled\" [readonly]=\"field.readonly\" [textColor]=\"field.textColor\"\n [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\" [allowDecimal]=\"field.allowDecimal\"\n [additionalValue]=\"field.additionalValue\" [notificationInfo]=\"field.notificationInfo\" [isActive]=\"isActive\"\n [layoutType]=\"layoutType\" [showTitle]=\"showTitle\" [visible]=\"field.visible\"\n (valueChange)=\"onValueChanged($event, field)\" (formValidationChange)=\"onFormValidationChanged($event)\"\n (elementClick)=\"onClick($event)\">\n </pep-quantity-selector>\n\n <pep-rich-html-textarea *ngSwitchCase=\"'richhtmltextarea'\" [form]=\"form\" [key]=\"field.key\" [value]=\"field.value\"\n [label]=\"field.label\" [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\" [readonly]=\"field.readonly\"\n [maxFieldCharacters]=\"field.maxFieldCharacters\" [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\"\n [showTitle]=\"showTitle\" [layoutType]=\"layoutType\" [visible]=\"field.visible\"\n (valueChange)=\"onValueChanged($event, field)\" [isActive]=\"isActive\">\n </pep-rich-html-textarea>\n\n <pep-select *ngSwitchCase=\"'select'\" [form]=\"form\" [key]=\"field.key\" [value]=\"field.value\" [label]=\"field.label\"\n [type]=\"field.type\" [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\" [readonly]=\"field.readonly\"\n [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\" [options]=\"field.options\" [showTitle]=\"showTitle\"\n [layoutType]=\"layoutType\" [visible]=\"field.visible\" (valueChange)=\"onValueChanged($event, field)\"\n (formValidationChange)=\"onFormValidationChanged($event)\" [isActive]=\"isActive\">\n </pep-select>\n\n <pep-separator *ngSwitchCase=\"'separator'\" [form]=\"form\" [key]=\"field.key\" [label]=\"field.label\"\n [xAlignment]=\"field.xAlignment\" [layoutType]=\"layoutType\" [visible]=\"field.visible\">\n </pep-separator>\n\n <pep-signature *ngSwitchCase=\"'signature'\" [form]=\"form\" [key]=\"field.key\" [src]=\"field.value\" [label]=\"field.label\"\n [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\" [readonly]=\"field.readonly\"\n [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\" [isActive]=\"isActive\" [layoutType]=\"layoutType\"\n [visible]=\"field.visible\" (fileChange)=\"onFileChanged($event, field)\">\n </pep-signature>\n\n <pep-textarea *ngSwitchCase=\"'textarea'\" [form]=\"form\" [key]=\"field.key\" [value]=\"field.value\" [label]=\"field.label\"\n [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\" [readonly]=\"field.readonly\"\n [maxFieldCharacters]=\"field.maxFieldCharacters\" [textColor]=\"field.textColor\" [xAlignment]=\"field.xAlignment\"\n [rowSpan]=\"field.rowSpan\" [showTitle]=\"showTitle\" [layoutType]=\"layoutType\" [visible]=\"field.visible\"\n (valueChange)=\"onValueChanged($event, field)\" [isActive]=\"isActive\">\n </pep-textarea>\n\n <pep-textbox *ngSwitchCase=\"'textbox'\" [form]=\"form\" [key]=\"field.key\" [value]=\"field.value\"\n [formattedValue]=\"field.formattedValue\" [accessory]=\"field.accessory\" [label]=\"field.label\" [placeholder]=\"field.placeholder\"\n [type]=\"field.type\" [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\" [readonly]=\"field.readonly\"\n [maxFieldCharacters]=\"field.maxFieldCharacters\" [textColor]=\"field.textColor\" [xAlignment]=\"field.xAlignment\"\n [rowSpan]=\"field.rowSpan\" [showTitle]=\"showTitle\" [layoutType]=\"layoutType\"\n (valueChange)=\"onValueChanged($event, field)\" (formValidationChange)=\"onFormValidationChanged($event)\"\n [isActive]=\"isActive\" [visible]=\"field.visible\">\n </pep-textbox>\n\n <pep-link *ngSwitchCase=\"'link'\" [form]=\"form\" [key]=\"field.key\" [value]=\"field.value\"\n [formattedValue]=\"field.formattedValue\" [label]=\"field.label\" [placeholder]=\"field.placeholder\"\n [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\" [readonly]=\"field.readonly\"\n [maxFieldCharacters]=\"field.maxFieldCharacters\" [textColor]=\"field.textColor\" [xAlignment]=\"field.xAlignment\"\n [rowSpan]=\"field.rowSpan\" [showTitle]=\"showTitle\" [layoutType]=\"layoutType\"\n (valueChange)=\"onValueChanged($event, field)\" [isActive]=\"isActive\" [visible]=\"field.visible\"\n (formValidationChange)=\"onFormValidationChanged($event)\" (elementClick)=\"onClick($event)\">\n </pep-link>\n\n <pep-indicators *ngSwitchCase=\"'indicators'\" [key]=\"field.key\" [value]=\"field.value\" [layoutType]=\"layoutType\">\n </pep-indicators>\n <pep-internal-button *ngSwitchCase=\"'button'\" [form]=\"form\" [key]=\"field.key\" [value]=\"field.value\"\n [formattedValue]=\"field.formattedValue\" [label]=\"field.label\"\n [referenceObjectInternalType]=\"field.referenceObjectInternalType\" [type]=\"field.type\"\n [disabled]=\"field.disabled\" [readonly]=\"field.readonly\" [xAlignment]=\"field.xAlignment\"\n [layoutType]=\"layoutType\" [visible]=\"field.visible\" (elementClick)=\"onClick($event)\"\n (valueChange)=\"onValueChanged($event, field)\">\n </pep-internal-button>\n <pep-internal-menu *ngSwitchCase=\"'menu'\" [key]=\"field.key\" [label]=\"field.label\" [disabled]=\"field.disabled\"\n [xAlignment]=\"field.xAlignment\" [options]=\"field.options\" [layoutType]=\"layoutType\"\n (elementClick)=\"onClick($event)\">\n </pep-internal-menu>\n <!-- \n comment for not cause a circular reference.\n <pep-internal-page *ngSwitchCase=\"'internalPage'\" [field]=\"field\" [layoutType]=\"layoutType\"\n (internalFormFieldClick)=\"onInternalFormFieldClick($event)\"\n (internalFormFieldChange)=\"onInternalFormFieldChanged($event)\">\n </pep-internal-page>\n\n <pep-internal-carusel *ngSwitchCase=\"'internalCarusel'\" [field]=\"field\"\n (internalFormFieldClick)=\"onInternalFormFieldClick($event)\"\n (internalFormFieldChange)=\"onInternalFormFieldChanged($event)\">\n </pep-internal-carusel> \n -->\n\n <ng-container *ngSwitchCase=\"'placeholder'\">\n </ng-container>\n</ng-container>", styles: [":host{width:100%;height:100%}\n"] }]
412
530
  }], propDecorators: { field: [{
413
531
  type: Input
414
532
  }], isActive: [{
@@ -429,17 +547,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.1", ngImpor
429
547
  type: Output
430
548
  }], elementClick: [{
431
549
  type: Output
432
- }], internalFormFieldChange: [{
433
- type: Output
434
- }], internalFormFieldClick: [{
435
- type: Output
436
550
  }], formValueChange: [{
437
551
  type: Output
438
552
  }], formFieldClick: [{
439
553
  type: Output
440
554
  }] } });
441
555
 
442
- class PepFormComponent {
556
+ class PepInternalFormComponent {
443
557
  // eventServiceSub: Subscription;
444
558
  // public jsonLib = JSON;
445
559
  constructor(dialogService, customizationService, layoutService, fb, differs, translate) {
@@ -465,8 +579,8 @@ class PepFormComponent {
465
579
  this.valueChange = new EventEmitter();
466
580
  this.formValidationChange = new EventEmitter();
467
581
  this.fieldClick = new EventEmitter();
468
- this.internalFormFieldClick = new EventEmitter();
469
- this.internalFormFieldChange = new EventEmitter();
582
+ // @Output() internalFormFieldClick: EventEmitter<any> = new EventEmitter<any>();
583
+ // @Output() internalFormFieldChange: EventEmitter<any> = new EventEmitter<any>();
470
584
  this.isLocked = false;
471
585
  // payLoad = '';
472
586
  this.rows = [];
@@ -1574,14 +1688,14 @@ class PepFormComponent {
1574
1688
  });
1575
1689
  }
1576
1690
  }
1577
- // This event is for handle the internal page events.
1578
- onInternalFormFieldClicked(internalFormFieldClick) {
1579
- this.internalFormFieldClick.emit(internalFormFieldClick);
1580
- }
1581
- // This event is for handle the internal page events.
1582
- onInternalFormFieldChanged(internalFormFieldChange) {
1583
- this.internalFormFieldChange.emit(internalFormFieldChange);
1584
- }
1691
+ // // This event is for handle the internal page events.
1692
+ // onInternalFormFieldClicked(internalFormFieldClick: any): void {
1693
+ // this.internalFormFieldClick.emit(internalFormFieldClick);
1694
+ // }
1695
+ // // This event is for handle the internal page events.
1696
+ // onInternalFormFieldChanged(internalFormFieldChange: any): void {
1697
+ // this.internalFormFieldChange.emit(internalFormFieldChange);
1698
+ // }
1585
1699
  // This event is for handle the related items change events.
1586
1700
  onFormValueChanged(event) {
1587
1701
  // this.valueChange.emit(event);
@@ -1591,11 +1705,11 @@ class PepFormComponent {
1591
1705
  this.fieldClick.emit(event);
1592
1706
  }
1593
1707
  }
1594
- PepFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: PepFormComponent, deps: [{ token: i1$2.PepDialogService }, { token: i1$1.PepCustomizationService }, { token: i1$1.PepLayoutService }, { token: i3$1.FormBuilder }, { token: i0.KeyValueDiffers }, { token: i4$1.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
1595
- PepFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.1", type: PepFormComponent, selector: "pep-form", inputs: { isInternal: "isInternal", isReport: "isReport", layout: "layout", lockEvents: "lockEvents", canEditObject: "canEditObject", data: "data", lockFields: "lockFields", isActive: "isActive", layoutType: "layoutType", objectId: "objectId", parentId: "parentId", searchCode: "searchCode", showTitle: "showTitle", firstFieldAsLink: "firstFieldAsLink", checkForChanges: "checkForChanges" }, outputs: { valueChange: "valueChange", formValidationChange: "formValidationChange", fieldClick: "fieldClick", internalFormFieldClick: "internalFormFieldClick", internalFormFieldChange: "internalFormFieldChange" }, usesOnChanges: true, ngImport: i0, template: "<fieldset *ngIf=\"form\" [formGroup]=\"form\" [disabled]=\"isLocked\" class=\"pep-form\"\n [ngStyle]=\"{ 'background-color': layoutType == 'card' && data?.BackgroundColor }\">\n <!-- New Form -->\n <mat-grid-list *ngIf=\"layoutType == 'form'\" [cols]=\"columns\" [rowHeight]=\"rowHeight + 'rem'\"\n [gutterSize]=\"formGutterSize\">\n <mat-grid-tile *ngFor=\"let field of fields$ | async\" [rowspan]=\"field.rowSpan\" [colspan]=\"field.colSpan\">\n <pep-field-generator *ngIf=\"field.controlType != 'placeholder'\" [form]=\"form\" [layoutType]=\"layoutType\"\n [checkForChanges]=\"checkForChanges\" [uid]=\"data?.UID\" [field]=\"field\" [showTitle]=\"showTitle\"\n (valueChange)=\"onValueChanged($event)\" (elementClick)=\"onClick($event)\"\n (internalFormFieldClick)=\"onInternalFormFieldClicked($event)\"\n (internalFormFieldChange)=\"onInternalFormFieldChanged($event)\"\n (formValueChange)=\"onFormValueChanged($event)\" (formFieldClick)=\"onFormFieldClick($event)\"\n (formValidationChange)=\"onFormValidationChanged($event)\">\n </pep-field-generator>\n </mat-grid-tile>\n </mat-grid-list>\n\n <!-- Thumbnails -->\n <mat-grid-list *ngIf=\"layoutType == 'card'\" [cols]=\"columns\" [rowHeight]=\"rowHeight + 'rem'\"\n [gutterSize]=\"cardGutterSize\" class=\"card-spacing\">\n <mat-grid-tile *ngFor=\"let field of fields$ | async\" [rowspan]=\"field.rowSpan\" [colspan]=\"field.colSpan\"\n [ngStyle]=\"{ overflow: field.type == 'qs' ? 'unset' : 'hidden' }\">\n <pep-field-generator *ngIf=\"field.controlType != 'placeholder'\" [form]=\"form\" [layoutType]=\"layoutType\"\n [ngClass]=\"{ 'lock-events': lockEvents }\" [isActive]=\"isActive\" [checkForChanges]=\"checkForChanges\"\n [uid]=\"data?.UID\" [field]=\"field\" [showTitle]=\"showTitle\" (valueChange)=\"onValueChanged($event)\"\n (elementClick)=\"onClick($event)\" (internalFormFieldClick)=\"onInternalFormFieldClicked($event)\"\n (internalFormFieldChange)=\"onInternalFormFieldChanged($event)\"\n (formValueChange)=\"onFormValueChanged($event)\" (formFieldClick)=\"onFormFieldClick($event)\">\n </pep-field-generator>\n </mat-grid-tile>\n </mat-grid-list>\n\n <ng-container *ngIf=\"layoutType == 'table'\">\n <ng-container *ngIf=\"isReport; then reportBlock; else notReportBlock\"></ng-container>\n <ng-template #reportBlock>\n <ng-container *ngTemplateOutlet=\"report\"></ng-container>\n </ng-template>\n <ng-template #notReportBlock>\n <div *ngFor=\"let field of fields$ | async; let j = index\" class=\"pull-left flip table-cell \"\n [ngClass]=\"['text-align-' + field.xAlignment]\" style=\"height: 100%\"\n [ngStyle]=\"{ width: (layout?.ControlFields)[j]?.calcColumnWidthString}\">\n <pep-field-generator *ngIf=\"field.controlType != 'placeholder'\" [checkForChanges]=\"checkForChanges\"\n [uid]=\"data?.UID\" [field]=\"field\" [form]=\"form\" [layoutType]=\"layoutType\" [showTitle]=\"false\"\n (elementClick)=\"onClick($event)\" (valueChange)=\"onValueChanged($event)\"\n (formValueChange)=\"onFormValueChanged($event)\" (formFieldClick)=\"onFormFieldClick($event)\"\n [isActive]=\"isActive\">\n </pep-field-generator>\n </div>\n </ng-template>\n </ng-container>\n\n <!------- For testing ------------\n {{ form.value | json }}\n {{ form.valid }}\n ---------------------------------->\n</fieldset>\n\n<ng-template #report>\n <div *ngFor=\"let field of fields$ | async; let j = index\" class=\"pull-left flip pep-report-fields\"\n [ngStyle]=\"{ width: (layout?.ControlFields)[j]?.calcColumnWidthString }\"\n [ngClass]=\"['text-align-' + field.xAlignment]\">\n <ng-container [ngSwitch]=\"field.controlType\">\n <pep-image *ngSwitchCase=\"'image'\" [uid]=\"data?.UID\" [form]=\"form\" [key]=\"field.key\"\n [src]=\"field.formattedValue\" [srcLarge]=\"field.value\" [options]=\"field.options\" [label]=\"field.label\"\n [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\" [readonly]=\"field.readonly\"\n [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\" [layoutType]=\"layoutType\"\n (elementClick)=\"onClick($event)\">\n </pep-image>\n\n <pep-signature *ngSwitchCase=\"'signature'\" [form]=\"form\" [key]=\"field.key\" [src]=\"field.value\"\n [label]=\"field.label\" [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\"\n [readonly]=\"field.readonly\" [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\"\n [layoutType]=\"layoutType\">\n </pep-signature>\n\n <pep-checkbox *ngSwitchCase=\"'checkbox'\" [form]=\"form\" [key]=\"field.key\"\n [value]=\"(field.value | lowercase) == 'true' || field.value == '1' ? true : false\" [label]=\"field.label\"\n [type]=\"field.type\" [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\"\n [readonly]=\"field.readonly\" [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\"\n [additionalValue]=\"field.additionalValue\" [layoutType]=\"layoutType\">\n </pep-checkbox>\n\n <pep-date *ngSwitchCase=\"'date'\" [form]=\"form\" [key]=\"field.key\" [value]=\"field.value\"\n [formattedValue]=\"field.formattedValue\" [label]=\"field.label\" [type]=\"field.type\"\n [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\" [readonly]=\"field.readonly\"\n [textColor]=\"field.textColor\" [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\"\n [minValue]=\"field.minValue\" [maxValue]=\"field.maxValue\" [layoutType]=\"layoutType\">\n </pep-date>\n\n <pep-internal-button *ngSwitchCase=\"'button'\" [form]=\"form\" [key]=\"field.key\" [value]=\"field.value\"\n [formattedValue]=\"field.formattedValue\" [label]=\"field.label\" [type]=\"field.type\"\n [disabled]=\"field.disabled\" [readonly]=\"field.readonly\" [xAlignment]=\"field.xAlignment\"\n [layoutType]=\"layoutType\" (elementClick)=\"onClick($event)\">\n </pep-internal-button>\n\n <pep-textarea *ngSwitchCase=\"'textarea'\" [form]=\"form\" [key]=\"field.key\" [value]=\"field.value\"\n [label]=\"field.label\" [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\"\n [readonly]=\"field.readonly\" [maxFieldCharacters]=\"field.maxFieldCharacters\"\n [textColor]=\"field.textColor\" [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\"\n [layoutType]=\"layoutType\">\n </pep-textarea>\n\n <pep-quantity-selector *ngSwitchCase=\"'qs'\" [id]=\"field.key\" [form]=\"form\" [key]=\"field.key\"\n [value]=\"field.value\" [formattedValue]=\"field.formattedValue\" [label]=\"field.label\" [type]=\"field.type\"\n [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\" [readonly]=\"field.readonly\"\n [textColor]=\"field.textColor\" [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\"\n [layoutType]=\"layoutType\" (valueChange)=\"onValueChanged($event)\" (elementClick)=\"onClick($event)\">\n </pep-quantity-selector>\n\n <ng-container *ngSwitchDefault>\n <ng-container *ngIf=\"field.formattedValue?.length > 0; then notEmptyBlock; else emptyBlock\">\n </ng-container>\n <ng-template #notEmptyBlock>\n <ng-container\n *ngIf=\"field.controlType === 'attachment' || field.type === 'link'; then linkBlock; else notLinkBlock\">\n </ng-container>\n <ng-template #linkBlock>\n <a [id]=\"field.key\" class=\"color-link body-sm pep-report-input readonly\"\n *ngIf=\"field.formattedValue != null\" title=\"{{ field.formattedValue }}\" target=\"_blank\"\n href=\"{{ field.value }}\">{{ field.formattedValue }}</a>\n </ng-template>\n <ng-template #notLinkBlock>\n <span [id]=\"field.key\" class=\"body-sm pep-report-input readonly\"\n title=\"{{ field.formattedValue }}\" [ngStyle]=\"{ color: field.textColor }\">{{\n field.formattedValue }}</span>\n </ng-template>\n </ng-template>\n <ng-template #emptyBlock>\n <span>&nbsp;</span>\n </ng-template>\n </ng-container>\n </ng-container>\n </div>\n</ng-template>", styles: [":host{display:grid}\n"], dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i5.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i5.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i5.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i5.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: i3$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i6$1.MatGridList, selector: "mat-grid-list", inputs: ["cols", "gutterSize", "rowHeight"], exportAs: ["matGridList"] }, { kind: "component", type: i6$1.MatGridTile, selector: "mat-grid-tile", inputs: ["rowspan", "colspan"], exportAs: ["matGridTile"] }, { kind: "component", type: i5$2.PepCheckboxComponent, selector: "pep-checkbox", inputs: ["key", "value", "label", "type", "mandatory", "disabled", "readonly", "xAlignment", "rowSpan", "additionalValue", "form", "isActive", "showTitle", "renderTitle", "layoutType", "visible"], outputs: ["valueChange"] }, { kind: "component", type: i6.PepDateComponent, selector: "pep-date", inputs: ["key", "value", "formattedValue", "label", "type", "mandatory", "disabled", "readonly", "textColor", "xAlignment", "rowSpan", "visible", "minValue", "maxValue", "minDateValue", "maxDateValue", "form", "isActive", "showTitle", "renderTitle", "renderError", "renderSymbol", "layoutType"], outputs: ["valueChange"] }, { kind: "component", type: i7$1.PepImageComponent, selector: "pep-image", inputs: ["key", "srcLarge", "src", "options", "label", "mandatory", "disabled", "readonly", "xAlignment", "rowSpan", "indicatorsField", "menuField", "hasCampaignField", "visible", "form", "uid", "showTitle", "renderTitle", "layoutType", "isActive", "sizeLimitMB", "acceptImagesType"], outputs: ["fileChange", "elementClick"] }, { kind: "component", type: i9.PepQuantitySelectorComponent, selector: "pep-quantity-selector", inputs: ["key", "value", "formattedValue", "label", "type", "mandatory", "disabled", "readonly", "textColor", "xAlignment", "rowSpan", "allowDecimal", "additionalValue", "notificationInfo", "visible", "form", "showTitle", "renderTitle", "layoutType", "isActive", "styleType"], outputs: ["valueChange", "elementClick"] }, { kind: "component", type: i13.PepSignatureComponent, selector: "pep-signature", inputs: ["key", "src", "label", "mandatory", "disabled", "readonly", "xAlignment", "rowSpan", "signatureURL", "visible", "form", "showTitle", "renderTitle", "layoutType", "isActive"], outputs: ["fileChange"] }, { kind: "component", type: i14.PepTextareaComponent, selector: "pep-textarea", inputs: ["key", "value", "label", "mandatory", "disabled", "readonly", "maxFieldCharacters", "textColor", "xAlignment", "rowSpan", "visible", "form", "isActive", "showTitle", "renderTitle", "layoutType"], outputs: ["valueChange"] }, { kind: "component", type: PepFieldGeneratorComponent, selector: "pep-field-generator", inputs: ["field", "isActive", "uid", "form", "layoutType", "showTitle", "checkForChanges"], outputs: ["valueChange", "formValidationChange", "elementClick", "internalFormFieldChange", "internalFormFieldClick", "formValueChange", "formFieldClick"] }, { kind: "component", type: PepInternalButtonComponent, selector: "pep-internal-button", inputs: ["key", "value", "formattedValue", "label", "referenceObjectInternalType", "type", "mandatory", "disabled", "readonly", "xAlignment", "rowSpan", "visible", "form", "showTitle", "layoutType"], outputs: ["elementClick", "valueChange"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.LowerCasePipe, name: "lowercase" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1596
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: PepFormComponent, decorators: [{
1708
+ PepInternalFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepInternalFormComponent, deps: [{ token: i1$2.PepDialogService }, { token: i1$1.PepCustomizationService }, { token: i1$1.PepLayoutService }, { token: i3$1.FormBuilder }, { token: i0.KeyValueDiffers }, { token: i4$1.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
1709
+ PepInternalFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PepInternalFormComponent, selector: "pep-internal-form", inputs: { isInternal: "isInternal", isReport: "isReport", layout: "layout", lockEvents: "lockEvents", canEditObject: "canEditObject", data: "data", lockFields: "lockFields", isActive: "isActive", layoutType: "layoutType", objectId: "objectId", parentId: "parentId", searchCode: "searchCode", showTitle: "showTitle", firstFieldAsLink: "firstFieldAsLink", checkForChanges: "checkForChanges" }, outputs: { valueChange: "valueChange", formValidationChange: "formValidationChange", fieldClick: "fieldClick" }, usesOnChanges: true, ngImport: i0, template: "<fieldset *ngIf=\"form\" [formGroup]=\"form\" [disabled]=\"isLocked\" class=\"pep-form\"\n [ngStyle]=\"{ 'background-color': layoutType == 'card' && data?.BackgroundColor }\">\n <!-- New Form -->\n <mat-grid-list *ngIf=\"layoutType == 'form'\" [cols]=\"columns\" [rowHeight]=\"rowHeight + 'rem'\"\n [gutterSize]=\"formGutterSize\">\n <mat-grid-tile *ngFor=\"let field of fields$ | async\" [rowspan]=\"field.rowSpan\" [colspan]=\"field.colSpan\">\n <pep-internal-field-generator *ngIf=\"field.controlType != 'placeholder'\" [form]=\"form\" [layoutType]=\"layoutType\"\n [checkForChanges]=\"checkForChanges\" [uid]=\"data?.UID\" [field]=\"field\" [showTitle]=\"showTitle\"\n (valueChange)=\"onValueChanged($event)\" (elementClick)=\"onClick($event)\"\n (formValueChange)=\"onFormValueChanged($event)\" (formFieldClick)=\"onFormFieldClick($event)\"\n (formValidationChange)=\"onFormValidationChanged($event)\">\n </pep-internal-field-generator>\n </mat-grid-tile>\n </mat-grid-list>\n\n <!-- Thumbnails -->\n <mat-grid-list *ngIf=\"layoutType == 'card'\" [cols]=\"columns\" [rowHeight]=\"rowHeight + 'rem'\"\n [gutterSize]=\"cardGutterSize\" class=\"card-spacing\">\n <mat-grid-tile *ngFor=\"let field of fields$ | async\" [rowspan]=\"field.rowSpan\" [colspan]=\"field.colSpan\"\n [ngStyle]=\"{ overflow: field.type == 'qs' ? 'unset' : 'hidden' }\">\n <pep-internal-field-generator *ngIf=\"field.controlType != 'placeholder'\" [form]=\"form\" [layoutType]=\"layoutType\"\n [ngClass]=\"{ 'lock-events': lockEvents }\" [isActive]=\"isActive\" [checkForChanges]=\"checkForChanges\"\n [uid]=\"data?.UID\" [field]=\"field\" [showTitle]=\"showTitle\" (valueChange)=\"onValueChanged($event)\"\n (elementClick)=\"onClick($event)\" (formValueChange)=\"onFormValueChanged($event)\" (formFieldClick)=\"onFormFieldClick($event)\">\n </pep-internal-field-generator>\n </mat-grid-tile>\n </mat-grid-list>\n\n <ng-container *ngIf=\"layoutType == 'table'\">\n <ng-container *ngIf=\"isReport; then reportBlock; else notReportBlock\"></ng-container>\n <ng-template #reportBlock>\n <ng-container *ngTemplateOutlet=\"report\"></ng-container>\n </ng-template>\n <ng-template #notReportBlock>\n <div *ngFor=\"let field of fields$ | async; let j = index\" class=\"pull-left flip table-cell \"\n [ngClass]=\"['text-align-' + field.xAlignment]\" style=\"height: 100%\"\n [ngStyle]=\"{ width: (layout?.ControlFields)[j]?.calcColumnWidthString}\">\n <pep-internal-field-generator *ngIf=\"field.controlType != 'placeholder'\" [checkForChanges]=\"checkForChanges\"\n [uid]=\"data?.UID\" [field]=\"field\" [form]=\"form\" [layoutType]=\"layoutType\" [showTitle]=\"false\"\n (elementClick)=\"onClick($event)\" (valueChange)=\"onValueChanged($event)\"\n (formValueChange)=\"onFormValueChanged($event)\" (formFieldClick)=\"onFormFieldClick($event)\"\n [isActive]=\"isActive\">\n </pep-internal-field-generator>\n </div>\n </ng-template>\n </ng-container>\n\n <!------- For testing ------------\n {{ form.value | json }}\n {{ form.valid }}\n ---------------------------------->\n</fieldset>\n\n<ng-template #report>\n <div *ngFor=\"let field of fields$ | async; let j = index\" class=\"pull-left flip pep-report-fields\"\n [ngStyle]=\"{ width: (layout?.ControlFields)[j]?.calcColumnWidthString }\"\n [ngClass]=\"['text-align-' + field.xAlignment]\">\n <ng-container [ngSwitch]=\"field.controlType\">\n <pep-image *ngSwitchCase=\"'image'\" [uid]=\"data?.UID\" [form]=\"form\" [key]=\"field.key\"\n [src]=\"field.formattedValue\" [srcLarge]=\"field.value\" [options]=\"field.options\" [label]=\"field.label\"\n [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\" [readonly]=\"field.readonly\"\n [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\" [layoutType]=\"layoutType\"\n (elementClick)=\"onClick($event)\">\n </pep-image>\n\n <pep-signature *ngSwitchCase=\"'signature'\" [form]=\"form\" [key]=\"field.key\" [src]=\"field.value\"\n [label]=\"field.label\" [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\"\n [readonly]=\"field.readonly\" [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\"\n [layoutType]=\"layoutType\">\n </pep-signature>\n\n <pep-checkbox *ngSwitchCase=\"'checkbox'\" [form]=\"form\" [key]=\"field.key\"\n [value]=\"(field.value | lowercase) == 'true' || field.value == '1' ? true : false\" [label]=\"field.label\"\n [type]=\"field.type\" [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\"\n [readonly]=\"field.readonly\" [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\"\n [additionalValue]=\"field.additionalValue\" [layoutType]=\"layoutType\">\n </pep-checkbox>\n\n <pep-date *ngSwitchCase=\"'date'\" [form]=\"form\" [key]=\"field.key\" [value]=\"field.value\"\n [formattedValue]=\"field.formattedValue\" [label]=\"field.label\" [type]=\"field.type\"\n [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\" [readonly]=\"field.readonly\"\n [textColor]=\"field.textColor\" [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\"\n [minValue]=\"field.minValue\" [maxValue]=\"field.maxValue\" [layoutType]=\"layoutType\">\n </pep-date>\n\n <pep-internal-button *ngSwitchCase=\"'button'\" [form]=\"form\" [key]=\"field.key\" [value]=\"field.value\"\n [formattedValue]=\"field.formattedValue\" [label]=\"field.label\" [type]=\"field.type\"\n [disabled]=\"field.disabled\" [readonly]=\"field.readonly\" [xAlignment]=\"field.xAlignment\"\n [layoutType]=\"layoutType\" (elementClick)=\"onClick($event)\">\n </pep-internal-button>\n\n <pep-textarea *ngSwitchCase=\"'textarea'\" [form]=\"form\" [key]=\"field.key\" [value]=\"field.value\"\n [label]=\"field.label\" [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\"\n [readonly]=\"field.readonly\" [maxFieldCharacters]=\"field.maxFieldCharacters\"\n [textColor]=\"field.textColor\" [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\"\n [layoutType]=\"layoutType\">\n </pep-textarea>\n\n <pep-quantity-selector *ngSwitchCase=\"'qs'\" [id]=\"field.key\" [form]=\"form\" [key]=\"field.key\"\n [value]=\"field.value\" [formattedValue]=\"field.formattedValue\" [label]=\"field.label\" [type]=\"field.type\"\n [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\" [readonly]=\"field.readonly\"\n [textColor]=\"field.textColor\" [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\"\n [layoutType]=\"layoutType\" (valueChange)=\"onValueChanged($event)\" (elementClick)=\"onClick($event)\">\n </pep-quantity-selector>\n\n <ng-container *ngSwitchDefault>\n <ng-container *ngIf=\"field.formattedValue?.length > 0; then notEmptyBlock; else emptyBlock\">\n </ng-container>\n <ng-template #notEmptyBlock>\n <ng-container\n *ngIf=\"field.controlType === 'attachment' || field.type === 'link'; then linkBlock; else notLinkBlock\">\n </ng-container>\n <ng-template #linkBlock>\n <a [id]=\"field.key\" class=\"color-link body-sm pep-report-input readonly\"\n *ngIf=\"field.formattedValue != null\" title=\"{{ field.formattedValue }}\" target=\"_blank\"\n href=\"{{ field.value }}\">{{ field.formattedValue }}</a>\n </ng-template>\n <ng-template #notLinkBlock>\n <span [id]=\"field.key\" class=\"body-sm pep-report-input readonly\"\n title=\"{{ field.formattedValue }}\" [ngStyle]=\"{ color: field.textColor }\">{{\n field.formattedValue }}</span>\n </ng-template>\n </ng-template>\n <ng-template #emptyBlock>\n <span>&nbsp;</span>\n </ng-template>\n </ng-container>\n </ng-container>\n </div>\n</ng-template>", styles: [":host{display:grid}\n"], dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i5.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i5.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i5.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i5.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: i3$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i6$1.MatGridList, selector: "mat-grid-list", inputs: ["cols", "gutterSize", "rowHeight"], exportAs: ["matGridList"] }, { kind: "component", type: i6$1.MatGridTile, selector: "mat-grid-tile", inputs: ["rowspan", "colspan"], exportAs: ["matGridTile"] }, { kind: "component", type: i5$2.PepCheckboxComponent, selector: "pep-checkbox", inputs: ["key", "value", "label", "type", "mandatory", "disabled", "readonly", "xAlignment", "rowSpan", "additionalValue", "form", "isActive", "showTitle", "renderTitle", "layoutType", "visible"], outputs: ["valueChange"] }, { kind: "component", type: i6.PepDateComponent, selector: "pep-date", inputs: ["key", "value", "formattedValue", "label", "type", "mandatory", "disabled", "readonly", "textColor", "xAlignment", "rowSpan", "visible", "minValue", "maxValue", "minDateValue", "maxDateValue", "form", "isActive", "showTitle", "renderTitle", "renderError", "renderSymbol", "layoutType"], outputs: ["valueChange"] }, { kind: "component", type: i7$1.PepImageComponent, selector: "pep-image", inputs: ["key", "srcLarge", "src", "options", "label", "mandatory", "disabled", "readonly", "xAlignment", "rowSpan", "indicatorsField", "menuField", "hasCampaignField", "visible", "form", "uid", "showTitle", "renderTitle", "layoutType", "isActive", "sizeLimitMB", "acceptImagesType"], outputs: ["fileChange", "elementClick"] }, { kind: "component", type: i9.PepQuantitySelectorComponent, selector: "pep-quantity-selector", inputs: ["key", "value", "formattedValue", "label", "type", "mandatory", "disabled", "readonly", "textColor", "xAlignment", "rowSpan", "allowDecimal", "additionalValue", "notificationInfo", "visible", "form", "showTitle", "renderTitle", "layoutType", "isActive", "styleType"], outputs: ["valueChange", "elementClick"] }, { kind: "component", type: i13.PepSignatureComponent, selector: "pep-signature", inputs: ["key", "src", "label", "mandatory", "disabled", "readonly", "xAlignment", "rowSpan", "signatureURL", "visible", "form", "showTitle", "renderTitle", "layoutType", "isActive"], outputs: ["fileChange"] }, { kind: "component", type: i14.PepTextareaComponent, selector: "pep-textarea", inputs: ["key", "value", "label", "mandatory", "disabled", "readonly", "maxFieldCharacters", "textColor", "xAlignment", "rowSpan", "visible", "form", "isActive", "showTitle", "renderTitle", "layoutType"], outputs: ["valueChange"] }, { kind: "component", type: PepInternalFieldGeneratorComponent, selector: "pep-internal-field-generator", inputs: ["field", "isActive", "uid", "form", "layoutType", "showTitle", "checkForChanges"], outputs: ["valueChange", "formValidationChange", "elementClick", "formValueChange", "formFieldClick"] }, { kind: "component", type: PepInternalButtonComponent, selector: "pep-internal-button", inputs: ["key", "value", "formattedValue", "label", "referenceObjectInternalType", "type", "mandatory", "disabled", "readonly", "xAlignment", "rowSpan", "visible", "form", "showTitle", "layoutType"], outputs: ["elementClick", "valueChange"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.LowerCasePipe, name: "lowercase" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1710
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepInternalFormComponent, decorators: [{
1597
1711
  type: Component,
1598
- args: [{ selector: 'pep-form', changeDetection: ChangeDetectionStrategy.OnPush, template: "<fieldset *ngIf=\"form\" [formGroup]=\"form\" [disabled]=\"isLocked\" class=\"pep-form\"\n [ngStyle]=\"{ 'background-color': layoutType == 'card' && data?.BackgroundColor }\">\n <!-- New Form -->\n <mat-grid-list *ngIf=\"layoutType == 'form'\" [cols]=\"columns\" [rowHeight]=\"rowHeight + 'rem'\"\n [gutterSize]=\"formGutterSize\">\n <mat-grid-tile *ngFor=\"let field of fields$ | async\" [rowspan]=\"field.rowSpan\" [colspan]=\"field.colSpan\">\n <pep-field-generator *ngIf=\"field.controlType != 'placeholder'\" [form]=\"form\" [layoutType]=\"layoutType\"\n [checkForChanges]=\"checkForChanges\" [uid]=\"data?.UID\" [field]=\"field\" [showTitle]=\"showTitle\"\n (valueChange)=\"onValueChanged($event)\" (elementClick)=\"onClick($event)\"\n (internalFormFieldClick)=\"onInternalFormFieldClicked($event)\"\n (internalFormFieldChange)=\"onInternalFormFieldChanged($event)\"\n (formValueChange)=\"onFormValueChanged($event)\" (formFieldClick)=\"onFormFieldClick($event)\"\n (formValidationChange)=\"onFormValidationChanged($event)\">\n </pep-field-generator>\n </mat-grid-tile>\n </mat-grid-list>\n\n <!-- Thumbnails -->\n <mat-grid-list *ngIf=\"layoutType == 'card'\" [cols]=\"columns\" [rowHeight]=\"rowHeight + 'rem'\"\n [gutterSize]=\"cardGutterSize\" class=\"card-spacing\">\n <mat-grid-tile *ngFor=\"let field of fields$ | async\" [rowspan]=\"field.rowSpan\" [colspan]=\"field.colSpan\"\n [ngStyle]=\"{ overflow: field.type == 'qs' ? 'unset' : 'hidden' }\">\n <pep-field-generator *ngIf=\"field.controlType != 'placeholder'\" [form]=\"form\" [layoutType]=\"layoutType\"\n [ngClass]=\"{ 'lock-events': lockEvents }\" [isActive]=\"isActive\" [checkForChanges]=\"checkForChanges\"\n [uid]=\"data?.UID\" [field]=\"field\" [showTitle]=\"showTitle\" (valueChange)=\"onValueChanged($event)\"\n (elementClick)=\"onClick($event)\" (internalFormFieldClick)=\"onInternalFormFieldClicked($event)\"\n (internalFormFieldChange)=\"onInternalFormFieldChanged($event)\"\n (formValueChange)=\"onFormValueChanged($event)\" (formFieldClick)=\"onFormFieldClick($event)\">\n </pep-field-generator>\n </mat-grid-tile>\n </mat-grid-list>\n\n <ng-container *ngIf=\"layoutType == 'table'\">\n <ng-container *ngIf=\"isReport; then reportBlock; else notReportBlock\"></ng-container>\n <ng-template #reportBlock>\n <ng-container *ngTemplateOutlet=\"report\"></ng-container>\n </ng-template>\n <ng-template #notReportBlock>\n <div *ngFor=\"let field of fields$ | async; let j = index\" class=\"pull-left flip table-cell \"\n [ngClass]=\"['text-align-' + field.xAlignment]\" style=\"height: 100%\"\n [ngStyle]=\"{ width: (layout?.ControlFields)[j]?.calcColumnWidthString}\">\n <pep-field-generator *ngIf=\"field.controlType != 'placeholder'\" [checkForChanges]=\"checkForChanges\"\n [uid]=\"data?.UID\" [field]=\"field\" [form]=\"form\" [layoutType]=\"layoutType\" [showTitle]=\"false\"\n (elementClick)=\"onClick($event)\" (valueChange)=\"onValueChanged($event)\"\n (formValueChange)=\"onFormValueChanged($event)\" (formFieldClick)=\"onFormFieldClick($event)\"\n [isActive]=\"isActive\">\n </pep-field-generator>\n </div>\n </ng-template>\n </ng-container>\n\n <!------- For testing ------------\n {{ form.value | json }}\n {{ form.valid }}\n ---------------------------------->\n</fieldset>\n\n<ng-template #report>\n <div *ngFor=\"let field of fields$ | async; let j = index\" class=\"pull-left flip pep-report-fields\"\n [ngStyle]=\"{ width: (layout?.ControlFields)[j]?.calcColumnWidthString }\"\n [ngClass]=\"['text-align-' + field.xAlignment]\">\n <ng-container [ngSwitch]=\"field.controlType\">\n <pep-image *ngSwitchCase=\"'image'\" [uid]=\"data?.UID\" [form]=\"form\" [key]=\"field.key\"\n [src]=\"field.formattedValue\" [srcLarge]=\"field.value\" [options]=\"field.options\" [label]=\"field.label\"\n [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\" [readonly]=\"field.readonly\"\n [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\" [layoutType]=\"layoutType\"\n (elementClick)=\"onClick($event)\">\n </pep-image>\n\n <pep-signature *ngSwitchCase=\"'signature'\" [form]=\"form\" [key]=\"field.key\" [src]=\"field.value\"\n [label]=\"field.label\" [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\"\n [readonly]=\"field.readonly\" [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\"\n [layoutType]=\"layoutType\">\n </pep-signature>\n\n <pep-checkbox *ngSwitchCase=\"'checkbox'\" [form]=\"form\" [key]=\"field.key\"\n [value]=\"(field.value | lowercase) == 'true' || field.value == '1' ? true : false\" [label]=\"field.label\"\n [type]=\"field.type\" [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\"\n [readonly]=\"field.readonly\" [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\"\n [additionalValue]=\"field.additionalValue\" [layoutType]=\"layoutType\">\n </pep-checkbox>\n\n <pep-date *ngSwitchCase=\"'date'\" [form]=\"form\" [key]=\"field.key\" [value]=\"field.value\"\n [formattedValue]=\"field.formattedValue\" [label]=\"field.label\" [type]=\"field.type\"\n [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\" [readonly]=\"field.readonly\"\n [textColor]=\"field.textColor\" [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\"\n [minValue]=\"field.minValue\" [maxValue]=\"field.maxValue\" [layoutType]=\"layoutType\">\n </pep-date>\n\n <pep-internal-button *ngSwitchCase=\"'button'\" [form]=\"form\" [key]=\"field.key\" [value]=\"field.value\"\n [formattedValue]=\"field.formattedValue\" [label]=\"field.label\" [type]=\"field.type\"\n [disabled]=\"field.disabled\" [readonly]=\"field.readonly\" [xAlignment]=\"field.xAlignment\"\n [layoutType]=\"layoutType\" (elementClick)=\"onClick($event)\">\n </pep-internal-button>\n\n <pep-textarea *ngSwitchCase=\"'textarea'\" [form]=\"form\" [key]=\"field.key\" [value]=\"field.value\"\n [label]=\"field.label\" [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\"\n [readonly]=\"field.readonly\" [maxFieldCharacters]=\"field.maxFieldCharacters\"\n [textColor]=\"field.textColor\" [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\"\n [layoutType]=\"layoutType\">\n </pep-textarea>\n\n <pep-quantity-selector *ngSwitchCase=\"'qs'\" [id]=\"field.key\" [form]=\"form\" [key]=\"field.key\"\n [value]=\"field.value\" [formattedValue]=\"field.formattedValue\" [label]=\"field.label\" [type]=\"field.type\"\n [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\" [readonly]=\"field.readonly\"\n [textColor]=\"field.textColor\" [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\"\n [layoutType]=\"layoutType\" (valueChange)=\"onValueChanged($event)\" (elementClick)=\"onClick($event)\">\n </pep-quantity-selector>\n\n <ng-container *ngSwitchDefault>\n <ng-container *ngIf=\"field.formattedValue?.length > 0; then notEmptyBlock; else emptyBlock\">\n </ng-container>\n <ng-template #notEmptyBlock>\n <ng-container\n *ngIf=\"field.controlType === 'attachment' || field.type === 'link'; then linkBlock; else notLinkBlock\">\n </ng-container>\n <ng-template #linkBlock>\n <a [id]=\"field.key\" class=\"color-link body-sm pep-report-input readonly\"\n *ngIf=\"field.formattedValue != null\" title=\"{{ field.formattedValue }}\" target=\"_blank\"\n href=\"{{ field.value }}\">{{ field.formattedValue }}</a>\n </ng-template>\n <ng-template #notLinkBlock>\n <span [id]=\"field.key\" class=\"body-sm pep-report-input readonly\"\n title=\"{{ field.formattedValue }}\" [ngStyle]=\"{ color: field.textColor }\">{{\n field.formattedValue }}</span>\n </ng-template>\n </ng-template>\n <ng-template #emptyBlock>\n <span>&nbsp;</span>\n </ng-template>\n </ng-container>\n </ng-container>\n </div>\n</ng-template>", styles: [":host{display:grid}\n"] }]
1712
+ args: [{ selector: 'pep-internal-form', changeDetection: ChangeDetectionStrategy.OnPush, template: "<fieldset *ngIf=\"form\" [formGroup]=\"form\" [disabled]=\"isLocked\" class=\"pep-form\"\n [ngStyle]=\"{ 'background-color': layoutType == 'card' && data?.BackgroundColor }\">\n <!-- New Form -->\n <mat-grid-list *ngIf=\"layoutType == 'form'\" [cols]=\"columns\" [rowHeight]=\"rowHeight + 'rem'\"\n [gutterSize]=\"formGutterSize\">\n <mat-grid-tile *ngFor=\"let field of fields$ | async\" [rowspan]=\"field.rowSpan\" [colspan]=\"field.colSpan\">\n <pep-internal-field-generator *ngIf=\"field.controlType != 'placeholder'\" [form]=\"form\" [layoutType]=\"layoutType\"\n [checkForChanges]=\"checkForChanges\" [uid]=\"data?.UID\" [field]=\"field\" [showTitle]=\"showTitle\"\n (valueChange)=\"onValueChanged($event)\" (elementClick)=\"onClick($event)\"\n (formValueChange)=\"onFormValueChanged($event)\" (formFieldClick)=\"onFormFieldClick($event)\"\n (formValidationChange)=\"onFormValidationChanged($event)\">\n </pep-internal-field-generator>\n </mat-grid-tile>\n </mat-grid-list>\n\n <!-- Thumbnails -->\n <mat-grid-list *ngIf=\"layoutType == 'card'\" [cols]=\"columns\" [rowHeight]=\"rowHeight + 'rem'\"\n [gutterSize]=\"cardGutterSize\" class=\"card-spacing\">\n <mat-grid-tile *ngFor=\"let field of fields$ | async\" [rowspan]=\"field.rowSpan\" [colspan]=\"field.colSpan\"\n [ngStyle]=\"{ overflow: field.type == 'qs' ? 'unset' : 'hidden' }\">\n <pep-internal-field-generator *ngIf=\"field.controlType != 'placeholder'\" [form]=\"form\" [layoutType]=\"layoutType\"\n [ngClass]=\"{ 'lock-events': lockEvents }\" [isActive]=\"isActive\" [checkForChanges]=\"checkForChanges\"\n [uid]=\"data?.UID\" [field]=\"field\" [showTitle]=\"showTitle\" (valueChange)=\"onValueChanged($event)\"\n (elementClick)=\"onClick($event)\" (formValueChange)=\"onFormValueChanged($event)\" (formFieldClick)=\"onFormFieldClick($event)\">\n </pep-internal-field-generator>\n </mat-grid-tile>\n </mat-grid-list>\n\n <ng-container *ngIf=\"layoutType == 'table'\">\n <ng-container *ngIf=\"isReport; then reportBlock; else notReportBlock\"></ng-container>\n <ng-template #reportBlock>\n <ng-container *ngTemplateOutlet=\"report\"></ng-container>\n </ng-template>\n <ng-template #notReportBlock>\n <div *ngFor=\"let field of fields$ | async; let j = index\" class=\"pull-left flip table-cell \"\n [ngClass]=\"['text-align-' + field.xAlignment]\" style=\"height: 100%\"\n [ngStyle]=\"{ width: (layout?.ControlFields)[j]?.calcColumnWidthString}\">\n <pep-internal-field-generator *ngIf=\"field.controlType != 'placeholder'\" [checkForChanges]=\"checkForChanges\"\n [uid]=\"data?.UID\" [field]=\"field\" [form]=\"form\" [layoutType]=\"layoutType\" [showTitle]=\"false\"\n (elementClick)=\"onClick($event)\" (valueChange)=\"onValueChanged($event)\"\n (formValueChange)=\"onFormValueChanged($event)\" (formFieldClick)=\"onFormFieldClick($event)\"\n [isActive]=\"isActive\">\n </pep-internal-field-generator>\n </div>\n </ng-template>\n </ng-container>\n\n <!------- For testing ------------\n {{ form.value | json }}\n {{ form.valid }}\n ---------------------------------->\n</fieldset>\n\n<ng-template #report>\n <div *ngFor=\"let field of fields$ | async; let j = index\" class=\"pull-left flip pep-report-fields\"\n [ngStyle]=\"{ width: (layout?.ControlFields)[j]?.calcColumnWidthString }\"\n [ngClass]=\"['text-align-' + field.xAlignment]\">\n <ng-container [ngSwitch]=\"field.controlType\">\n <pep-image *ngSwitchCase=\"'image'\" [uid]=\"data?.UID\" [form]=\"form\" [key]=\"field.key\"\n [src]=\"field.formattedValue\" [srcLarge]=\"field.value\" [options]=\"field.options\" [label]=\"field.label\"\n [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\" [readonly]=\"field.readonly\"\n [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\" [layoutType]=\"layoutType\"\n (elementClick)=\"onClick($event)\">\n </pep-image>\n\n <pep-signature *ngSwitchCase=\"'signature'\" [form]=\"form\" [key]=\"field.key\" [src]=\"field.value\"\n [label]=\"field.label\" [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\"\n [readonly]=\"field.readonly\" [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\"\n [layoutType]=\"layoutType\">\n </pep-signature>\n\n <pep-checkbox *ngSwitchCase=\"'checkbox'\" [form]=\"form\" [key]=\"field.key\"\n [value]=\"(field.value | lowercase) == 'true' || field.value == '1' ? true : false\" [label]=\"field.label\"\n [type]=\"field.type\" [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\"\n [readonly]=\"field.readonly\" [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\"\n [additionalValue]=\"field.additionalValue\" [layoutType]=\"layoutType\">\n </pep-checkbox>\n\n <pep-date *ngSwitchCase=\"'date'\" [form]=\"form\" [key]=\"field.key\" [value]=\"field.value\"\n [formattedValue]=\"field.formattedValue\" [label]=\"field.label\" [type]=\"field.type\"\n [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\" [readonly]=\"field.readonly\"\n [textColor]=\"field.textColor\" [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\"\n [minValue]=\"field.minValue\" [maxValue]=\"field.maxValue\" [layoutType]=\"layoutType\">\n </pep-date>\n\n <pep-internal-button *ngSwitchCase=\"'button'\" [form]=\"form\" [key]=\"field.key\" [value]=\"field.value\"\n [formattedValue]=\"field.formattedValue\" [label]=\"field.label\" [type]=\"field.type\"\n [disabled]=\"field.disabled\" [readonly]=\"field.readonly\" [xAlignment]=\"field.xAlignment\"\n [layoutType]=\"layoutType\" (elementClick)=\"onClick($event)\">\n </pep-internal-button>\n\n <pep-textarea *ngSwitchCase=\"'textarea'\" [form]=\"form\" [key]=\"field.key\" [value]=\"field.value\"\n [label]=\"field.label\" [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\"\n [readonly]=\"field.readonly\" [maxFieldCharacters]=\"field.maxFieldCharacters\"\n [textColor]=\"field.textColor\" [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\"\n [layoutType]=\"layoutType\">\n </pep-textarea>\n\n <pep-quantity-selector *ngSwitchCase=\"'qs'\" [id]=\"field.key\" [form]=\"form\" [key]=\"field.key\"\n [value]=\"field.value\" [formattedValue]=\"field.formattedValue\" [label]=\"field.label\" [type]=\"field.type\"\n [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\" [readonly]=\"field.readonly\"\n [textColor]=\"field.textColor\" [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\"\n [layoutType]=\"layoutType\" (valueChange)=\"onValueChanged($event)\" (elementClick)=\"onClick($event)\">\n </pep-quantity-selector>\n\n <ng-container *ngSwitchDefault>\n <ng-container *ngIf=\"field.formattedValue?.length > 0; then notEmptyBlock; else emptyBlock\">\n </ng-container>\n <ng-template #notEmptyBlock>\n <ng-container\n *ngIf=\"field.controlType === 'attachment' || field.type === 'link'; then linkBlock; else notLinkBlock\">\n </ng-container>\n <ng-template #linkBlock>\n <a [id]=\"field.key\" class=\"color-link body-sm pep-report-input readonly\"\n *ngIf=\"field.formattedValue != null\" title=\"{{ field.formattedValue }}\" target=\"_blank\"\n href=\"{{ field.value }}\">{{ field.formattedValue }}</a>\n </ng-template>\n <ng-template #notLinkBlock>\n <span [id]=\"field.key\" class=\"body-sm pep-report-input readonly\"\n title=\"{{ field.formattedValue }}\" [ngStyle]=\"{ color: field.textColor }\">{{\n field.formattedValue }}</span>\n </ng-template>\n </ng-template>\n <ng-template #emptyBlock>\n <span>&nbsp;</span>\n </ng-template>\n </ng-container>\n </ng-container>\n </div>\n</ng-template>", styles: [":host{display:grid}\n"] }]
1599
1713
  }], ctorParameters: function () { return [{ type: i1$2.PepDialogService }, { type: i1$1.PepCustomizationService }, { type: i1$1.PepLayoutService }, { type: i3$1.FormBuilder }, { type: i0.KeyValueDiffers }, { type: i4$1.TranslateService }]; }, propDecorators: { isInternal: [{
1600
1714
  type: Input
1601
1715
  }], isReport: [{
@@ -1632,10 +1746,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.1", ngImpor
1632
1746
  type: Output
1633
1747
  }], fieldClick: [{
1634
1748
  type: Output
1635
- }], internalFormFieldClick: [{
1636
- type: Output
1637
- }], internalFormFieldChange: [{
1638
- type: Output
1639
1749
  }] } });
1640
1750
 
1641
1751
  class PepInternalListComponent {
@@ -2095,13 +2205,13 @@ class PepInternalListComponent {
2095
2205
  return this.items.find((item) => item.UID.toString() === uid);
2096
2206
  }
2097
2207
  }
2098
- PepInternalListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: PepInternalListComponent, deps: [{ token: i0.ElementRef }, { token: i1$1.PepLayoutService }, { token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
2099
- PepInternalListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.1", type: PepInternalListComponent, selector: "pep-internal-list", inputs: { noDataFoundMsg: "noDataFoundMsg", hideAllSelectionInMulti: "hideAllSelectionInMulti", top: "top", objectId: "objectId", parentId: "parentId", searchCode: "searchCode", supportResizing: "supportResizing", parentScroll: "parentScroll", disabled: "disabled", disableEvents: "disableEvents", disableSelectionItems: "disableSelectionItems", totalsRow: "totalsRow" }, outputs: { fieldClick: "fieldClick", valueChange: "valueChange" }, host: { listeners: { "window:resize": "winResize($event)" } }, viewQueries: [{ propertyName: "noVirtualScrollCont", first: true, predicate: ["noVirtualScrollCont"], descendants: true }, { propertyName: "tableHeader", first: true, predicate: ["tableHeader"], descendants: true }, { propertyName: "selectAllCB", first: true, predicate: ["selectAllCB"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"totalRows == 0\">\n <div class=\"pep-border-bottom\">\n <p class=\"title-xl no-data\">\n {{ (noDataFoundMsg ? noDataFoundMsg : 'LIST.NO_DATA_FOUND') | translate}}\n </p>\n </div>\n <div class=\"no-data-suggestions\">\n <p class=\"suggestions-title title-lg\">\n {{ 'LIST.NO_DATA_FOUND_SUGGESTIONS_TITLE' | translate}}\n </p>\n <ul class=\"suggestions-list body-lg\" [innerHtml]=\"'LIST.NO_DATA_FOUND_SUGGESTIONS_LIST' | translate\"></ul>\n </div>\n</ng-container>\n<ng-container *ngIf=\"totalRows > 0\">\n <div *ngIf=\"isTable\" #tableHeader class=\"table-header\" (mouseup)=\"onListResizeEnd($event)\"\n (mouseenter)=\"onListHeaderMouseEnter($event)\" (mouseleave)=\"onListHeaderMouseLeave($event)\"\n (mousemove)=\"onListResize($event)\">\n\n <div class=\"table-header-padding-top\"></div>\n <fieldset class=\"table-header-fieldset\">\n <fieldset>\n <div *ngFor=\"let field of uiControl?.ControlFields; let j = index\" class=\"header-column pull-left flip\"\n [ngStyle]=\"{ width: field.calcTitleColumnWidthString }\" [ngClass]=\"{\n 'is-resizing': field.ApiName === pressedColumn,\n 'is-first': j === 0,\n 'is-last': j === uiControl?.ControlFields?.length - 1\n }\">\n <label *ngIf=\"field.Title != ''\" id=\"{{ field.ApiName }}\"\n class=\"header-label body-sm pull-left flip text-align-{{ field.Layout.XAlignment }}\"\n title=\"{{ field.Title }}\">\n {{ field.Title }}\n </label>\n <label *ngIf=\"field.Title == ''\" id=\"{{ field.ApiName }}\"\n class=\"header-label body-sm pull-left flip\">&nbsp;</label>\n\n <div *ngIf=\"supportResizing\" class=\"resize-box pull-right flip\"\n (mousedown)=\"onListResizeStart($event, field.ApiName)\">\n <div class=\"splitter\"></div>\n </div>\n </div>\n </fieldset>\n </fieldset>\n </div>\n\n <div #noVirtualScrollCont [ngClass]=\"{ 'table-body': isTable, 'cards-body': !isTable }\">\n <ng-container *ngTemplateOutlet=\"listData\"></ng-container>\n </div>\n <ng-container *ngTemplateOutlet=\"listTotals\"></ng-container>\n</ng-container>\n\n<ng-template #listData>\n <ng-container *ngFor=\"let item of scrollItems; let i = index; let isFirst = first; trackBy: trackByFunc\">\n <ng-container *ngIf=\"isTable\">\n <div class=\"table-row\" (mouseenter)=\"onTableRowMouseEnter($event, item?.UID, item?.Type)\"\n (mouseleave)=\"onTableRowMouseLeave($event, item?.UID, item?.Type)\" [ngClass]=\"{\n selected: getIsItemSelected(item?.UID, item?.Type),\n highlighted: item?.UID + SEPARATOR + item?.Type === selectedItemId\n }\"\n [ngStyle]=\"{ height: calculatedObjectHeight, visibility: showItems || item ? 'visible' : 'hidden' }\">\n <fieldset class=\"table-row-fieldset\" [ngStyle]=\"{ 'background-color': item?.BackgroundColor }\">\n <!-- [canEditObject]=\"!disabled && item?.IsEditable\" -->\n <pep-form [checkForChanges]=\"checkForChanges\" [layout]=\"uiControl\" [data]=\"item\"\n [canEditObject]=\"!disabled\" [objectId]=\"objectId\" [parentId]=\"parentId\"\n [searchCode]=\"searchCode\" [lockEvents]=\"disableSelectionItems\" [layoutType]=\"'table'\"\n [isActive]=\"\n (item?.UID + SEPARATOR + item?.Type === selectedItemId ||\n item?.UID + SEPARATOR + item?.Type === hoveredItemId) && deviceHasMouse\n \" (valueChange)=\"onValueChanged($event)\" (fieldClick)=\"onCustomizeFieldClick($event)\"\n (click)=\"itemClicked($event, item)\">\n </pep-form>\n </fieldset>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"!isTable\">\n <div [class]=\"itemClass\" (mouseenter)=\"onCardMouseEnter($event, item?.UID, item?.Type)\"\n (mouseleave)=\"onCardMouseLeave($event, item?.UID, item?.Type)\" [ngClass]=\"{\n selected: getIsItemSelected(item?.UID, item?.Type),\n highlighted: item?.UID + SEPARATOR + item?.Type === selectedItemId,\n 'card-view': viewType === 'cards',\n 'line-view': viewType === 'lines'\n }\" class=\"pull-left flip\"\n [ngStyle]=\"{ height: calculatedObjectHeight, visibility: showItems || item ? 'visible' : 'hidden' }\">\n <!-- [canEditObject]=\"!disabled && item?.IsEditable\" -->\n <pep-form [checkForChanges]=\"checkForChanges\" [layout]=\"uiControl\" [data]=\"item\"\n [canEditObject]=\"!disabled\" [objectId]=\" objectId\" [parentId]=\"parentId\" [searchCode]=\"searchCode\"\n [lockEvents]=\"disableSelectionItems\" [layoutType]=\"'card'\" [isActive]=\"\n (item?.UID + SEPARATOR + item?.Type === selectedItemId ||\n item?.UID + SEPARATOR + item?.Type === hoveredItemId) && deviceHasMouse\n \" (valueChange)=\"onValueChanged($event)\" (fieldClick)=\"onCustomizeFieldClick($event)\"\n (click)=\"itemClicked($event, item)\">\n </pep-form>\n </div>\n </ng-container>\n </ng-container>\n</ng-template>\n\n<ng-template #listTotals>\n <div *ngIf=\"totalsRow?.length > 0 && totalsRow.length <= uiControl?.ControlFields.length\" class=\"table-total\">\n <fieldset class=\"table-header-fieldset\">\n <div *ngFor=\"let field of uiControl?.ControlFields; let j = index\" class=\"total-column pull-left flip\"\n [ngStyle]=\"{ width: field.calcTitleColumnWidthString }\">\n <label class=\"total-label body-sm text-align-{{ field.Layout.XAlignment }}\">\n {{ totalsRow[j] }}\n </label>\n </div>\n </fieldset>\n </div>\n</ng-template>", styles: [":host{height:inherit;display:grid}.no-data{margin:var(--pep-spacing-2xl, 2rem) 0}.no-data-suggestions .suggestions-title{margin:var(--pep-spacing-lg, 1rem) 0 var(--pep-spacing-sm, .5rem)}.no-data-suggestions .suggestions-list{margin:0;padding:0;padding-inline-start:var(--pep-spacing-2xl, 2rem)}.table-header{top:0}\n"], dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i5.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: PepFormComponent, selector: "pep-form", inputs: ["isInternal", "isReport", "layout", "lockEvents", "canEditObject", "data", "lockFields", "isActive", "layoutType", "objectId", "parentId", "searchCode", "showTitle", "firstFieldAsLink", "checkForChanges"], outputs: ["valueChange", "formValidationChange", "fieldClick", "internalFormFieldClick", "internalFormFieldChange"] }, { kind: "pipe", type: i4$1.TranslatePipe, name: "translate" }] });
2100
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: PepInternalListComponent, decorators: [{
2208
+ PepInternalListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepInternalListComponent, deps: [{ token: i0.ElementRef }, { token: i1$1.PepLayoutService }, { token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
2209
+ PepInternalListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PepInternalListComponent, selector: "pep-internal-list", inputs: { noDataFoundMsg: "noDataFoundMsg", hideAllSelectionInMulti: "hideAllSelectionInMulti", top: "top", objectId: "objectId", parentId: "parentId", searchCode: "searchCode", supportResizing: "supportResizing", parentScroll: "parentScroll", disabled: "disabled", disableEvents: "disableEvents", disableSelectionItems: "disableSelectionItems", totalsRow: "totalsRow" }, outputs: { fieldClick: "fieldClick", valueChange: "valueChange" }, host: { listeners: { "window:resize": "winResize($event)" } }, viewQueries: [{ propertyName: "noVirtualScrollCont", first: true, predicate: ["noVirtualScrollCont"], descendants: true }, { propertyName: "tableHeader", first: true, predicate: ["tableHeader"], descendants: true }, { propertyName: "selectAllCB", first: true, predicate: ["selectAllCB"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"totalRows == 0\">\n <div class=\"pep-border-bottom\">\n <p class=\"title-xl no-data\">\n {{ (noDataFoundMsg ? noDataFoundMsg : 'LIST.NO_DATA_FOUND') | translate}}\n </p>\n </div>\n <div class=\"no-data-suggestions\">\n <p class=\"suggestions-title title-lg\">\n {{ 'LIST.NO_DATA_FOUND_SUGGESTIONS_TITLE' | translate}}\n </p>\n <ul class=\"suggestions-list body-lg\" [innerHtml]=\"'LIST.NO_DATA_FOUND_SUGGESTIONS_LIST' | translate\"></ul>\n </div>\n</ng-container>\n<ng-container *ngIf=\"totalRows > 0\">\n <div *ngIf=\"isTable\" #tableHeader class=\"table-header\" (mouseup)=\"onListResizeEnd($event)\"\n (mouseenter)=\"onListHeaderMouseEnter($event)\" (mouseleave)=\"onListHeaderMouseLeave($event)\"\n (mousemove)=\"onListResize($event)\">\n\n <div class=\"table-header-padding-top\"></div>\n <fieldset class=\"table-header-fieldset\">\n <fieldset>\n <div *ngFor=\"let field of uiControl?.ControlFields; let j = index\" class=\"header-column pull-left flip\"\n [ngStyle]=\"{ width: field.calcTitleColumnWidthString }\" [ngClass]=\"{\n 'is-resizing': field.ApiName === pressedColumn,\n 'is-first': j === 0,\n 'is-last': j === uiControl?.ControlFields?.length - 1\n }\">\n <label *ngIf=\"field.Title != ''\" id=\"{{ field.ApiName }}\"\n class=\"header-label body-sm pull-left flip text-align-{{ field.Layout.XAlignment }}\"\n title=\"{{ field.Title }}\">\n {{ field.Title }}\n </label>\n <label *ngIf=\"field.Title == ''\" id=\"{{ field.ApiName }}\"\n class=\"header-label body-sm pull-left flip\">&nbsp;</label>\n\n <div *ngIf=\"supportResizing\" class=\"resize-box pull-right flip\"\n (mousedown)=\"onListResizeStart($event, field.ApiName)\">\n <div class=\"splitter\"></div>\n </div>\n </div>\n </fieldset>\n </fieldset>\n </div>\n\n <div #noVirtualScrollCont [ngClass]=\"{ 'table-body': isTable, 'cards-body': !isTable }\">\n <ng-container *ngTemplateOutlet=\"listData\"></ng-container>\n </div>\n <ng-container *ngTemplateOutlet=\"listTotals\"></ng-container>\n</ng-container>\n\n<ng-template #listData>\n <ng-container *ngFor=\"let item of scrollItems; let i = index; let isFirst = first; trackBy: trackByFunc\">\n <ng-container *ngIf=\"isTable\">\n <div class=\"table-row\" (mouseenter)=\"onTableRowMouseEnter($event, item?.UID, item?.Type)\"\n (mouseleave)=\"onTableRowMouseLeave($event, item?.UID, item?.Type)\" [ngClass]=\"{\n selected: getIsItemSelected(item?.UID, item?.Type),\n highlighted: item?.UID + SEPARATOR + item?.Type === selectedItemId\n }\"\n [ngStyle]=\"{ height: calculatedObjectHeight, visibility: showItems || item ? 'visible' : 'hidden' }\">\n <fieldset class=\"table-row-fieldset\" [ngStyle]=\"{ 'background-color': item?.BackgroundColor }\">\n <!-- [canEditObject]=\"!disabled && item?.IsEditable\" -->\n <pep-internal-form [checkForChanges]=\"checkForChanges\" [layout]=\"uiControl\" [data]=\"item\"\n [canEditObject]=\"!disabled\" [objectId]=\"objectId\" [parentId]=\"parentId\"\n [searchCode]=\"searchCode\" [lockEvents]=\"disableSelectionItems\" [layoutType]=\"'table'\"\n [isActive]=\"\n (item?.UID + SEPARATOR + item?.Type === selectedItemId ||\n item?.UID + SEPARATOR + item?.Type === hoveredItemId) && deviceHasMouse\n \" (valueChange)=\"onValueChanged($event)\" (fieldClick)=\"onCustomizeFieldClick($event)\"\n (click)=\"itemClicked($event, item)\">\n </pep-internal-form>\n </fieldset>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"!isTable\">\n <div [class]=\"itemClass\" (mouseenter)=\"onCardMouseEnter($event, item?.UID, item?.Type)\"\n (mouseleave)=\"onCardMouseLeave($event, item?.UID, item?.Type)\" [ngClass]=\"{\n selected: getIsItemSelected(item?.UID, item?.Type),\n highlighted: item?.UID + SEPARATOR + item?.Type === selectedItemId,\n 'card-view': viewType === 'cards',\n 'line-view': viewType === 'lines'\n }\" class=\"pull-left flip\"\n [ngStyle]=\"{ height: calculatedObjectHeight, visibility: showItems || item ? 'visible' : 'hidden' }\">\n <!-- [canEditObject]=\"!disabled && item?.IsEditable\" -->\n <pep-internal-form [checkForChanges]=\"checkForChanges\" [layout]=\"uiControl\" [data]=\"item\"\n [canEditObject]=\"!disabled\" [objectId]=\" objectId\" [parentId]=\"parentId\" [searchCode]=\"searchCode\"\n [lockEvents]=\"disableSelectionItems\" [layoutType]=\"'card'\" [isActive]=\"\n (item?.UID + SEPARATOR + item?.Type === selectedItemId ||\n item?.UID + SEPARATOR + item?.Type === hoveredItemId) && deviceHasMouse\n \" (valueChange)=\"onValueChanged($event)\" (fieldClick)=\"onCustomizeFieldClick($event)\"\n (click)=\"itemClicked($event, item)\">\n </pep-internal-form>\n </div>\n </ng-container>\n </ng-container>\n</ng-template>\n\n<ng-template #listTotals>\n <div *ngIf=\"totalsRow?.length > 0 && totalsRow.length <= uiControl?.ControlFields.length\" class=\"table-total\">\n <fieldset class=\"table-header-fieldset\">\n <div *ngFor=\"let field of uiControl?.ControlFields; let j = index\" class=\"total-column pull-left flip\"\n [ngStyle]=\"{ width: field.calcTitleColumnWidthString }\">\n <label class=\"total-label body-sm text-align-{{ field.Layout.XAlignment }}\">\n {{ totalsRow[j] }}\n </label>\n </div>\n </fieldset>\n </div>\n</ng-template>", styles: [":host{height:inherit;display:grid}.no-data{margin:var(--pep-spacing-2xl, 2rem) 0}.no-data-suggestions .suggestions-title{margin:var(--pep-spacing-lg, 1rem) 0 var(--pep-spacing-sm, .5rem)}.no-data-suggestions .suggestions-list{margin:0;padding:0;padding-inline-start:var(--pep-spacing-2xl, 2rem)}.table-header{top:0}\n"], dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i5.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: PepInternalFormComponent, selector: "pep-internal-form", inputs: ["isInternal", "isReport", "layout", "lockEvents", "canEditObject", "data", "lockFields", "isActive", "layoutType", "objectId", "parentId", "searchCode", "showTitle", "firstFieldAsLink", "checkForChanges"], outputs: ["valueChange", "formValidationChange", "fieldClick"] }, { kind: "pipe", type: i4$1.TranslatePipe, name: "translate" }] });
2210
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepInternalListComponent, decorators: [{
2101
2211
  type: Component,
2102
2212
  args: [{ selector: 'pep-internal-list', host: {
2103
2213
  '(window:resize)': 'winResize($event)',
2104
- }, template: "<ng-container *ngIf=\"totalRows == 0\">\n <div class=\"pep-border-bottom\">\n <p class=\"title-xl no-data\">\n {{ (noDataFoundMsg ? noDataFoundMsg : 'LIST.NO_DATA_FOUND') | translate}}\n </p>\n </div>\n <div class=\"no-data-suggestions\">\n <p class=\"suggestions-title title-lg\">\n {{ 'LIST.NO_DATA_FOUND_SUGGESTIONS_TITLE' | translate}}\n </p>\n <ul class=\"suggestions-list body-lg\" [innerHtml]=\"'LIST.NO_DATA_FOUND_SUGGESTIONS_LIST' | translate\"></ul>\n </div>\n</ng-container>\n<ng-container *ngIf=\"totalRows > 0\">\n <div *ngIf=\"isTable\" #tableHeader class=\"table-header\" (mouseup)=\"onListResizeEnd($event)\"\n (mouseenter)=\"onListHeaderMouseEnter($event)\" (mouseleave)=\"onListHeaderMouseLeave($event)\"\n (mousemove)=\"onListResize($event)\">\n\n <div class=\"table-header-padding-top\"></div>\n <fieldset class=\"table-header-fieldset\">\n <fieldset>\n <div *ngFor=\"let field of uiControl?.ControlFields; let j = index\" class=\"header-column pull-left flip\"\n [ngStyle]=\"{ width: field.calcTitleColumnWidthString }\" [ngClass]=\"{\n 'is-resizing': field.ApiName === pressedColumn,\n 'is-first': j === 0,\n 'is-last': j === uiControl?.ControlFields?.length - 1\n }\">\n <label *ngIf=\"field.Title != ''\" id=\"{{ field.ApiName }}\"\n class=\"header-label body-sm pull-left flip text-align-{{ field.Layout.XAlignment }}\"\n title=\"{{ field.Title }}\">\n {{ field.Title }}\n </label>\n <label *ngIf=\"field.Title == ''\" id=\"{{ field.ApiName }}\"\n class=\"header-label body-sm pull-left flip\">&nbsp;</label>\n\n <div *ngIf=\"supportResizing\" class=\"resize-box pull-right flip\"\n (mousedown)=\"onListResizeStart($event, field.ApiName)\">\n <div class=\"splitter\"></div>\n </div>\n </div>\n </fieldset>\n </fieldset>\n </div>\n\n <div #noVirtualScrollCont [ngClass]=\"{ 'table-body': isTable, 'cards-body': !isTable }\">\n <ng-container *ngTemplateOutlet=\"listData\"></ng-container>\n </div>\n <ng-container *ngTemplateOutlet=\"listTotals\"></ng-container>\n</ng-container>\n\n<ng-template #listData>\n <ng-container *ngFor=\"let item of scrollItems; let i = index; let isFirst = first; trackBy: trackByFunc\">\n <ng-container *ngIf=\"isTable\">\n <div class=\"table-row\" (mouseenter)=\"onTableRowMouseEnter($event, item?.UID, item?.Type)\"\n (mouseleave)=\"onTableRowMouseLeave($event, item?.UID, item?.Type)\" [ngClass]=\"{\n selected: getIsItemSelected(item?.UID, item?.Type),\n highlighted: item?.UID + SEPARATOR + item?.Type === selectedItemId\n }\"\n [ngStyle]=\"{ height: calculatedObjectHeight, visibility: showItems || item ? 'visible' : 'hidden' }\">\n <fieldset class=\"table-row-fieldset\" [ngStyle]=\"{ 'background-color': item?.BackgroundColor }\">\n <!-- [canEditObject]=\"!disabled && item?.IsEditable\" -->\n <pep-form [checkForChanges]=\"checkForChanges\" [layout]=\"uiControl\" [data]=\"item\"\n [canEditObject]=\"!disabled\" [objectId]=\"objectId\" [parentId]=\"parentId\"\n [searchCode]=\"searchCode\" [lockEvents]=\"disableSelectionItems\" [layoutType]=\"'table'\"\n [isActive]=\"\n (item?.UID + SEPARATOR + item?.Type === selectedItemId ||\n item?.UID + SEPARATOR + item?.Type === hoveredItemId) && deviceHasMouse\n \" (valueChange)=\"onValueChanged($event)\" (fieldClick)=\"onCustomizeFieldClick($event)\"\n (click)=\"itemClicked($event, item)\">\n </pep-form>\n </fieldset>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"!isTable\">\n <div [class]=\"itemClass\" (mouseenter)=\"onCardMouseEnter($event, item?.UID, item?.Type)\"\n (mouseleave)=\"onCardMouseLeave($event, item?.UID, item?.Type)\" [ngClass]=\"{\n selected: getIsItemSelected(item?.UID, item?.Type),\n highlighted: item?.UID + SEPARATOR + item?.Type === selectedItemId,\n 'card-view': viewType === 'cards',\n 'line-view': viewType === 'lines'\n }\" class=\"pull-left flip\"\n [ngStyle]=\"{ height: calculatedObjectHeight, visibility: showItems || item ? 'visible' : 'hidden' }\">\n <!-- [canEditObject]=\"!disabled && item?.IsEditable\" -->\n <pep-form [checkForChanges]=\"checkForChanges\" [layout]=\"uiControl\" [data]=\"item\"\n [canEditObject]=\"!disabled\" [objectId]=\" objectId\" [parentId]=\"parentId\" [searchCode]=\"searchCode\"\n [lockEvents]=\"disableSelectionItems\" [layoutType]=\"'card'\" [isActive]=\"\n (item?.UID + SEPARATOR + item?.Type === selectedItemId ||\n item?.UID + SEPARATOR + item?.Type === hoveredItemId) && deviceHasMouse\n \" (valueChange)=\"onValueChanged($event)\" (fieldClick)=\"onCustomizeFieldClick($event)\"\n (click)=\"itemClicked($event, item)\">\n </pep-form>\n </div>\n </ng-container>\n </ng-container>\n</ng-template>\n\n<ng-template #listTotals>\n <div *ngIf=\"totalsRow?.length > 0 && totalsRow.length <= uiControl?.ControlFields.length\" class=\"table-total\">\n <fieldset class=\"table-header-fieldset\">\n <div *ngFor=\"let field of uiControl?.ControlFields; let j = index\" class=\"total-column pull-left flip\"\n [ngStyle]=\"{ width: field.calcTitleColumnWidthString }\">\n <label class=\"total-label body-sm text-align-{{ field.Layout.XAlignment }}\">\n {{ totalsRow[j] }}\n </label>\n </div>\n </fieldset>\n </div>\n</ng-template>", styles: [":host{height:inherit;display:grid}.no-data{margin:var(--pep-spacing-2xl, 2rem) 0}.no-data-suggestions .suggestions-title{margin:var(--pep-spacing-lg, 1rem) 0 var(--pep-spacing-sm, .5rem)}.no-data-suggestions .suggestions-list{margin:0;padding:0;padding-inline-start:var(--pep-spacing-2xl, 2rem)}.table-header{top:0}\n"] }]
2214
+ }, template: "<ng-container *ngIf=\"totalRows == 0\">\n <div class=\"pep-border-bottom\">\n <p class=\"title-xl no-data\">\n {{ (noDataFoundMsg ? noDataFoundMsg : 'LIST.NO_DATA_FOUND') | translate}}\n </p>\n </div>\n <div class=\"no-data-suggestions\">\n <p class=\"suggestions-title title-lg\">\n {{ 'LIST.NO_DATA_FOUND_SUGGESTIONS_TITLE' | translate}}\n </p>\n <ul class=\"suggestions-list body-lg\" [innerHtml]=\"'LIST.NO_DATA_FOUND_SUGGESTIONS_LIST' | translate\"></ul>\n </div>\n</ng-container>\n<ng-container *ngIf=\"totalRows > 0\">\n <div *ngIf=\"isTable\" #tableHeader class=\"table-header\" (mouseup)=\"onListResizeEnd($event)\"\n (mouseenter)=\"onListHeaderMouseEnter($event)\" (mouseleave)=\"onListHeaderMouseLeave($event)\"\n (mousemove)=\"onListResize($event)\">\n\n <div class=\"table-header-padding-top\"></div>\n <fieldset class=\"table-header-fieldset\">\n <fieldset>\n <div *ngFor=\"let field of uiControl?.ControlFields; let j = index\" class=\"header-column pull-left flip\"\n [ngStyle]=\"{ width: field.calcTitleColumnWidthString }\" [ngClass]=\"{\n 'is-resizing': field.ApiName === pressedColumn,\n 'is-first': j === 0,\n 'is-last': j === uiControl?.ControlFields?.length - 1\n }\">\n <label *ngIf=\"field.Title != ''\" id=\"{{ field.ApiName }}\"\n class=\"header-label body-sm pull-left flip text-align-{{ field.Layout.XAlignment }}\"\n title=\"{{ field.Title }}\">\n {{ field.Title }}\n </label>\n <label *ngIf=\"field.Title == ''\" id=\"{{ field.ApiName }}\"\n class=\"header-label body-sm pull-left flip\">&nbsp;</label>\n\n <div *ngIf=\"supportResizing\" class=\"resize-box pull-right flip\"\n (mousedown)=\"onListResizeStart($event, field.ApiName)\">\n <div class=\"splitter\"></div>\n </div>\n </div>\n </fieldset>\n </fieldset>\n </div>\n\n <div #noVirtualScrollCont [ngClass]=\"{ 'table-body': isTable, 'cards-body': !isTable }\">\n <ng-container *ngTemplateOutlet=\"listData\"></ng-container>\n </div>\n <ng-container *ngTemplateOutlet=\"listTotals\"></ng-container>\n</ng-container>\n\n<ng-template #listData>\n <ng-container *ngFor=\"let item of scrollItems; let i = index; let isFirst = first; trackBy: trackByFunc\">\n <ng-container *ngIf=\"isTable\">\n <div class=\"table-row\" (mouseenter)=\"onTableRowMouseEnter($event, item?.UID, item?.Type)\"\n (mouseleave)=\"onTableRowMouseLeave($event, item?.UID, item?.Type)\" [ngClass]=\"{\n selected: getIsItemSelected(item?.UID, item?.Type),\n highlighted: item?.UID + SEPARATOR + item?.Type === selectedItemId\n }\"\n [ngStyle]=\"{ height: calculatedObjectHeight, visibility: showItems || item ? 'visible' : 'hidden' }\">\n <fieldset class=\"table-row-fieldset\" [ngStyle]=\"{ 'background-color': item?.BackgroundColor }\">\n <!-- [canEditObject]=\"!disabled && item?.IsEditable\" -->\n <pep-internal-form [checkForChanges]=\"checkForChanges\" [layout]=\"uiControl\" [data]=\"item\"\n [canEditObject]=\"!disabled\" [objectId]=\"objectId\" [parentId]=\"parentId\"\n [searchCode]=\"searchCode\" [lockEvents]=\"disableSelectionItems\" [layoutType]=\"'table'\"\n [isActive]=\"\n (item?.UID + SEPARATOR + item?.Type === selectedItemId ||\n item?.UID + SEPARATOR + item?.Type === hoveredItemId) && deviceHasMouse\n \" (valueChange)=\"onValueChanged($event)\" (fieldClick)=\"onCustomizeFieldClick($event)\"\n (click)=\"itemClicked($event, item)\">\n </pep-internal-form>\n </fieldset>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"!isTable\">\n <div [class]=\"itemClass\" (mouseenter)=\"onCardMouseEnter($event, item?.UID, item?.Type)\"\n (mouseleave)=\"onCardMouseLeave($event, item?.UID, item?.Type)\" [ngClass]=\"{\n selected: getIsItemSelected(item?.UID, item?.Type),\n highlighted: item?.UID + SEPARATOR + item?.Type === selectedItemId,\n 'card-view': viewType === 'cards',\n 'line-view': viewType === 'lines'\n }\" class=\"pull-left flip\"\n [ngStyle]=\"{ height: calculatedObjectHeight, visibility: showItems || item ? 'visible' : 'hidden' }\">\n <!-- [canEditObject]=\"!disabled && item?.IsEditable\" -->\n <pep-internal-form [checkForChanges]=\"checkForChanges\" [layout]=\"uiControl\" [data]=\"item\"\n [canEditObject]=\"!disabled\" [objectId]=\" objectId\" [parentId]=\"parentId\" [searchCode]=\"searchCode\"\n [lockEvents]=\"disableSelectionItems\" [layoutType]=\"'card'\" [isActive]=\"\n (item?.UID + SEPARATOR + item?.Type === selectedItemId ||\n item?.UID + SEPARATOR + item?.Type === hoveredItemId) && deviceHasMouse\n \" (valueChange)=\"onValueChanged($event)\" (fieldClick)=\"onCustomizeFieldClick($event)\"\n (click)=\"itemClicked($event, item)\">\n </pep-internal-form>\n </div>\n </ng-container>\n </ng-container>\n</ng-template>\n\n<ng-template #listTotals>\n <div *ngIf=\"totalsRow?.length > 0 && totalsRow.length <= uiControl?.ControlFields.length\" class=\"table-total\">\n <fieldset class=\"table-header-fieldset\">\n <div *ngFor=\"let field of uiControl?.ControlFields; let j = index\" class=\"total-column pull-left flip\"\n [ngStyle]=\"{ width: field.calcTitleColumnWidthString }\">\n <label class=\"total-label body-sm text-align-{{ field.Layout.XAlignment }}\">\n {{ totalsRow[j] }}\n </label>\n </div>\n </fieldset>\n </div>\n</ng-template>", styles: [":host{height:inherit;display:grid}.no-data{margin:var(--pep-spacing-2xl, 2rem) 0}.no-data-suggestions .suggestions-title{margin:var(--pep-spacing-lg, 1rem) 0 var(--pep-spacing-sm, .5rem)}.no-data-suggestions .suggestions-list{margin:0;padding:0;padding-inline-start:var(--pep-spacing-2xl, 2rem)}.table-header{top:0}\n"] }]
2105
2215
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1$1.PepLayoutService }, { type: i0.ChangeDetectorRef }, { type: i0.Renderer2 }]; }, propDecorators: { noDataFoundMsg: [{
2106
2216
  type: Input
2107
2217
  }], hideAllSelectionInMulti: [{
@@ -2141,166 +2251,46 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.1", ngImpor
2141
2251
  args: ['selectAllCB']
2142
2252
  }] } });
2143
2253
 
2144
- class PepInternalPageService {
2145
- constructor(httpService) {
2146
- this.httpService = httpService;
2147
- this.parentId = '0';
2148
- this.additionalApiName = '';
2149
- this.transactionUrl = 'Service1.svc/v1/OrderCenter/Transaction/';
2150
- }
2151
- getBaseParentUrl() {
2152
- const url = `${this.transactionUrl}${this.objectId}/ParentLine/${this.parentId}/`;
2153
- return url;
2154
- }
2155
- getChildren(callbackFunc) {
2156
- var _a;
2157
- const body = JSON.stringify({
2158
- TransactionUID: this.objectId,
2159
- SearchCode: this.searchCode,
2160
- AdditionalApiName: this.additionalApiName,
2161
- ParentTransactionLineID: this.parentId,
2162
- ViewType: this.viewType,
2163
- });
2164
- // Set the additional api name with view type string.
2165
- const moreParams = ((_a = this.additionalApiName) === null || _a === void 0 ? void 0 : _a.length) > 0
2166
- ? `${this.additionalApiName}/${this.viewType}`
2167
- : `''/${this.viewType}`;
2168
- const url = `${this.getBaseParentUrl()}Items/${moreParams}`;
2169
- this.httpService.postWapiApiCall(url, body).subscribe((res) => {
2170
- callbackFunc(res);
2171
- }
2172
- // (error) => {},
2173
- // () => {}
2174
- );
2254
+ class PepInternalPageComponent {
2255
+ constructor(dialogService, internalPageService, customizationService, changeDetectorRef) {
2256
+ this.dialogService = dialogService;
2257
+ this.internalPageService = internalPageService;
2258
+ this.customizationService = customizationService;
2259
+ this.changeDetectorRef = changeDetectorRef;
2260
+ this.controlType = 'internalPage';
2261
+ this.layoutType = 'form';
2262
+ this.internalFormFieldChange = new EventEmitter();
2263
+ this.internalFormFieldClick = new EventEmitter();
2264
+ this.checkForChanges = null;
2265
+ this.childData = null;
2266
+ this.totalsRow = [];
2267
+ this.additionalApiNames = null;
2268
+ this.currentAdditionalApiName = null;
2269
+ this.focusedQS = false;
2270
+ this.fieldIdWithFocus = '';
2271
+ this.columnWidth = 100;
2272
+ this.coverChildTable = false;
2273
+ this.currentViewType = null;
2274
+ this.sumOfMinColWidth = 0;
2275
+ this.totalRowsWidth = 0;
2276
+ this.viewWidth = '100%';
2277
+ this.viewHeight = 'auto';
2278
+ this.displayQSbtns = true;
2279
+ this.selectedApiName = '';
2280
+ this.showSort = false;
2281
+ this.defaultRowSpan = -1;
2175
2282
  }
2176
- initDetails(objectId, parentId, searchCode, callbackFunc) {
2177
- if (!objectId || !parentId) {
2178
- return;
2179
- }
2180
- this.objectId = objectId;
2181
- this.parentId = parentId;
2182
- this.searchCode = searchCode;
2183
- this.httpService
2184
- .getWapiApiCall(`${this.getBaseParentUrl()}ViewTypes`)
2185
- .subscribe((res) => {
2186
- callbackFunc(res);
2283
+ fillData(isInDialog = false) {
2284
+ var _a, _b, _c, _d, _e;
2285
+ const view = this.matrixTemplate.createEmbeddedView(null);
2286
+ (_a = this.customList) === null || _a === void 0 ? void 0 : _a.clear();
2287
+ (_b = this.orgCont) === null || _b === void 0 ? void 0 : _b.clear();
2288
+ if (isInDialog) {
2289
+ (_c = this.dialogCont) === null || _c === void 0 ? void 0 : _c.clear();
2290
+ (_d = this.dialogCont) === null || _d === void 0 ? void 0 : _d.insert(view);
2187
2291
  }
2188
- // (error) => {},
2189
- // () => {}
2190
- );
2191
- }
2192
- changeChildrenViewType(viewType, callbackFunc) {
2193
- this.viewType = viewType;
2194
- this.getChildren(callbackFunc);
2195
- }
2196
- changeAdditionalApiName(additionalApiName, callbackFunc) {
2197
- this.additionalApiName = additionalApiName;
2198
- this.getChildren(callbackFunc);
2199
- }
2200
- childPlusClick(itemId, fieldApiName, callbackFunc) {
2201
- const body = JSON.stringify({
2202
- TransactionUID: this.objectId,
2203
- SearchCode: this.searchCode,
2204
- ParentTransactionLineID: this.parentId,
2205
- TransactionLineUID: itemId,
2206
- FieldApiName: fieldApiName,
2207
- ViewType: this.viewType,
2208
- });
2209
- this.httpService
2210
- .postWapiApiCall(`${this.getBaseParentUrl()}IncrementValue`, body)
2211
- .subscribe((res) => {
2212
- callbackFunc(res);
2213
- }
2214
- // (error) => {},
2215
- // () => {}
2216
- );
2217
- }
2218
- childMinusClick(itemId, fieldApiName, callbackFunc) {
2219
- const body = JSON.stringify({
2220
- TransactionUID: this.objectId,
2221
- SearchCode: this.searchCode,
2222
- ParentTransactionLineID: this.parentId,
2223
- TransactionLineUID: itemId,
2224
- FieldApiName: fieldApiName,
2225
- ViewType: this.viewType,
2226
- });
2227
- this.httpService
2228
- .postWapiApiCall(`${this.getBaseParentUrl()}DecrementValue`, body)
2229
- .subscribe((res) => {
2230
- callbackFunc(res);
2231
- }
2232
- // (error) => {},
2233
- // () => {}
2234
- );
2235
- }
2236
- childValueChanged(itemId, fieldApiName, value, callbackFunc) {
2237
- const body = JSON.stringify({
2238
- TransactionUID: this.objectId,
2239
- SearchCode: this.searchCode,
2240
- ParentTransactionLineID: this.parentId,
2241
- TransactionLineUID: itemId,
2242
- FieldApiName: fieldApiName,
2243
- FieldValue: value,
2244
- ViewType: this.viewType,
2245
- });
2246
- this.httpService
2247
- .postWapiApiCall(`${this.getBaseParentUrl()}SetFieldValue`, body)
2248
- .subscribe((res) => {
2249
- callbackFunc(res);
2250
- }
2251
- // (error) => {},
2252
- // () => {}
2253
- );
2254
- }
2255
- }
2256
- PepInternalPageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: PepInternalPageService, deps: [{ token: i1$1.PepHttpService }], target: i0.ɵɵFactoryTarget.Injectable });
2257
- PepInternalPageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: PepInternalPageService });
2258
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: PepInternalPageService, decorators: [{
2259
- type: Injectable
2260
- }], ctorParameters: function () { return [{ type: i1$1.PepHttpService }]; } });
2261
-
2262
- class PepInternalPageComponent {
2263
- constructor(fb, dialogService, internalPageService, customizationService, elementRef, changeDetectorRef) {
2264
- this.fb = fb;
2265
- this.dialogService = dialogService;
2266
- this.internalPageService = internalPageService;
2267
- this.customizationService = customizationService;
2268
- this.elementRef = elementRef;
2269
- this.changeDetectorRef = changeDetectorRef;
2270
- this.controlType = 'internalPage';
2271
- this.layoutType = 'form';
2272
- this.internalFormFieldChange = new EventEmitter();
2273
- this.internalFormFieldClick = new EventEmitter();
2274
- this.checkForChanges = null;
2275
- this.childData = null;
2276
- this.totalsRow = [];
2277
- this.additionalApiNames = null;
2278
- this.currentAdditionalApiName = null;
2279
- this.focusedQS = false;
2280
- this.fieldIdWithFocus = '';
2281
- this.columnWidth = 100;
2282
- this.coverChildTable = false;
2283
- this.currentViewType = null;
2284
- this.sumOfMinColWidth = 0;
2285
- this.totalRowsWidth = 0;
2286
- this.viewWidth = '100%';
2287
- this.viewHeight = 'auto';
2288
- this.displayQSbtns = true;
2289
- this.selectedApiName = '';
2290
- this.showSort = false;
2291
- this.defaultRowSpan = -1;
2292
- }
2293
- fillData(isInDialog = false) {
2294
- var _a, _b, _c, _d, _e;
2295
- const view = this.matrixTemplate.createEmbeddedView(null);
2296
- (_a = this.customList) === null || _a === void 0 ? void 0 : _a.clear();
2297
- (_b = this.orgCont) === null || _b === void 0 ? void 0 : _b.clear();
2298
- if (isInDialog) {
2299
- (_c = this.dialogCont) === null || _c === void 0 ? void 0 : _c.clear();
2300
- (_d = this.dialogCont) === null || _d === void 0 ? void 0 : _d.insert(view);
2301
- }
2302
- else {
2303
- (_e = this.orgCont) === null || _e === void 0 ? void 0 : _e.insert(view);
2292
+ else {
2293
+ (_e = this.orgCont) === null || _e === void 0 ? void 0 : _e.insert(view);
2304
2294
  }
2305
2295
  setTimeout(() => {
2306
2296
  const viewType = this.isTableView()
@@ -2570,12 +2560,12 @@ class PepInternalPageComponent {
2570
2560
  }
2571
2561
  }
2572
2562
  PepInternalPageComponent.CURRENT_ADDITIONAL_API_NAME = 'item_details_currentAdditionalApiName';
2573
- PepInternalPageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: PepInternalPageComponent, deps: [{ token: i3$1.FormBuilder }, { token: i1$2.PepDialogService }, { token: PepInternalPageService }, { token: i1$1.PepCustomizationService }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
2574
- PepInternalPageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.1", type: PepInternalPageComponent, selector: "pep-internal-page", inputs: { field: "field", layoutType: "layoutType" }, outputs: { internalFormFieldChange: "internalFormFieldChange", internalFormFieldClick: "internalFormFieldClick" }, providers: [PepInternalPageService], viewQueries: [{ propertyName: "my1mm", first: true, predicate: ["my1mm"], descendants: true }, { propertyName: "mainViewCont", first: true, predicate: ["mainViewCont"], descendants: true }, { propertyName: "orgCont", first: true, predicate: ["orgCont"], descendants: true, read: ViewContainerRef }, { propertyName: "dialogCont", first: true, predicate: ["dialogCont"], descendants: true, read: ViewContainerRef }, { propertyName: "matrixTemplate", first: true, predicate: ["matrixTemplate"], descendants: true }, { propertyName: "matrixDialogTemplate", first: true, predicate: ["matrixDialogTemplate"], descendants: true, read: TemplateRef }, { propertyName: "customList", first: true, predicate: PepInternalListComponent, descendants: true }], ngImport: i0, template: "<ng-template #matrixHeaderTemplate>\n <div class=\"matrix-title-container pep-border-bottom align-{{\n field.xAlignment\n }}\" title=\"{{ field.label }}\">\n <span class=\"block-with-text body-md\">{{ field.label }}</span>\n\n <div class=\"buttons-container pep-spacing-element-negative pull-right flip\">\n <ng-container *ngIf=\"\n currentViewType?.Key == 'OrderCenterMatrix' &&\n additionalApiNames &&\n additionalApiNames.length > 0\n \">\n <button class=\"pep-spacing-element pep-button icon-button sm weak\" mat-button [matMenuTriggerFor]=\"menu\"\n menu-blur>\n <span class=\"pull-left flip\" *ngIf=\"currentAdditionalApiName\">&nbsp;{{\n currentAdditionalApiName?.Value }}&nbsp;</span>\n\n <mat-icon [ngClass]=\"{'pull-left flip': currentAdditionalApiName}\">\n <pep-icon name=\"system_info\"></pep-icon>\n </mat-icon>\n </button>\n <mat-menu #menu=\"matMenu\" xPosition=\"before\">\n <button mat-menu-item [ngClass]=\"{\n selected: currentAdditionalApiName === null\n }\" (click)=\"changeAdditionalApiName(null)\">\n <span>{{ \"LIST.NONE\" | translate }}</span>\n </button>\n <button mat-menu-item [ngClass]=\"{\n selected:\n currentAdditionalApiName?.Key ==\n additionalApiName?.Key\n }\" *ngFor=\"let additionalApiName of additionalApiNames\"\n (click)=\"changeAdditionalApiName(additionalApiName)\">\n <span>{{ additionalApiName.Value }}</span>\n </button>\n </mat-menu>\n </ng-container>\n <ng-container *ngIf=\"childViewTypes && childViewTypes.length > 1\">\n <button class=\"pep-spacing-element pep-button icon-button sm weak\" mat-button\n [matMenuTriggerFor]=\"viewsMenu\" menu-blur>\n <mat-icon>\n <pep-icon name=\"view_card_md\"></pep-icon>\n </mat-icon>\n </button>\n\n <mat-menu #viewsMenu=\"matMenu\" xPosition=\"before\">\n <button mat-menu-item [ngClass]=\"{\n selected: currentViewType?.Key == viewType?.Key\n }\" *ngFor=\"let viewType of childViewTypes\" (click)=\"changeChildrenViewType(viewType?.Key)\">\n <mat-icon [ngSwitch]=\"viewType?.Key\">\n <pep-icon *ngSwitchCase=\"'OrderCenterMatrix'\" name=\"view_matrix\"></pep-icon>\n <pep-icon *ngSwitchCase=\"'OrderCenterFlatMatrixGrid'\" name=\"view_table\"></pep-icon>\n <pep-icon *ngSwitchCase=\"'OrderCenterFlatMatrixLine'\" name=\"view_line\"></pep-icon>\n </mat-icon>\n <span>{{ viewType?.Value }}</span>\n </button>\n </mat-menu>\n </ng-container>\n </div>\n </div>\n\n</ng-template>\n\n<ng-template #matrixTemplate>\n <div #matrixContainer class=\"matrix-container\">\n <pep-internal-list (valueChange)=\"onCustomizeObjectChanged($event)\" [parentScroll]=\"matrixContainer\"\n (fieldClick)=\"onCustomizeFieldClick($event)\" [totalsRow]=\"totalsRow\"></pep-internal-list>\n </div>\n</ng-template>\n\n<div #mainViewCont id=\"mainViewCont\" [ngStyle]=\"{ 'max-width': viewWidth, 'max-height': viewHeight }\">\n <div #my1mm id=\"my1_mm\" style=\"height:1mm;width:1mm;visibility: hidden;\"></div>\n <ng-container *ngIf=\"coverChildTable && uiControl != null\">\n <div class=\"table-cover\"></div>\n <button (click)=\"showMatrixDialog()\" class=\"pep-button strong sm table-cover-button\"\n [ngClass]=\"{ 'lineview-btn': currentViewType?.Key == 'OrderCenterFlatMatrixLine'}\">\n {{ \"INTERNAL_PAGE.CLICK_TO_ORDER\" | translate }}\n </button>\n </ng-container>\n\n <ng-container *ngTemplateOutlet=\"matrixHeaderTemplate\"></ng-container>\n <ng-container #orgCont></ng-container>\n</div>\n\n<ng-template #matrixDialogTemplate>\n\n <div mat-dialog-title>\n <ng-container *ngTemplateOutlet=\"matrixHeaderTemplate\"></ng-container>\n </div>\n\n <div mat-dialog-content>\n <ng-container #dialogCont></ng-container>\n </div>\n</ng-template>\n\n<!-- <div id=\"childGridModal\" bsModal (onShown)=\"onShown()\" (onHidden)=\"onHidden()\" #childModal=\"bs-modal\" class=\"modal\"\n tabindex=\"-1\" role=\"dialog\" aria-labelledby=\"gridModalLabel\" aria-hidden=\"true\">\n <div class=\"modal-dialog\" role=\"document\">\n <div class=\"modal-content\">\n <div class=\"modal-body matrix-dialog-body\">\n <ng-container #modalCont></ng-container>\n </div>\n </div>\n </div>\n</div> -->", styles: [":host{display:grid;width:inherit;height:inherit}.matrix-title-container{padding:0;height:var(--pep-form-field-height, 2.5rem);display:flex;align-items:flex-end}.matrix-title-container .block-with-text{width:100%;max-height:inherit;font-weight:var(--pep-font-weight-bold, 600);display:block;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.matrix-title-container .buttons-container{display:flex;align-self:center}.matrix-title-container .buttons-container .pepperi-button,.matrix-title-container .buttons-container .pep-button{width:max-content}#mainViewCont{width:100%;height:inherit;overflow:hidden;padding:0 var(--pep-spacing-xs, .25rem)}#mainViewCont .table-cover{background-color:#fff;z-index:98;position:absolute;top:0;width:100%;height:inherit;opacity:.5}#mainViewCont .table-cover-button{position:absolute;left:50%;transform:translate(-50%,-50%);top:calc(50% + var(--pep-form-field-height, 2.5rem));z-index:99}#mainViewCont .table-cover-button.lineview-btn{top:calc(2 * var(--pep-form-field-height, 2.5rem));transform:translate(-50%)}#mainViewCont .underCover{max-height:inherit;overflow:hidden}#mainViewCont ::ng-deep .table-header{top:unset!important}\n"], dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i5.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i5.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i5.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i4.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i5$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i4$2.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i4$2.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i4$2.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "component", type: i1.PepIconComponent, selector: "pep-icon", inputs: ["spin", "name", "fill"] }, { kind: "component", type: PepInternalListComponent, selector: "pep-internal-list", inputs: ["noDataFoundMsg", "hideAllSelectionInMulti", "top", "objectId", "parentId", "searchCode", "supportResizing", "parentScroll", "disabled", "disableEvents", "disableSelectionItems", "totalsRow"], outputs: ["fieldClick", "valueChange"] }, { kind: "pipe", type: i4$1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2575
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: PepInternalPageComponent, decorators: [{
2563
+ PepInternalPageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepInternalPageComponent, deps: [{ token: i1$2.PepDialogService }, { token: PepInternalPageService }, { token: i1$1.PepCustomizationService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
2564
+ PepInternalPageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PepInternalPageComponent, selector: "pep-internal-page", inputs: { field: "field", layoutType: "layoutType" }, outputs: { internalFormFieldChange: "internalFormFieldChange", internalFormFieldClick: "internalFormFieldClick" }, providers: [PepInternalPageService], viewQueries: [{ propertyName: "my1mm", first: true, predicate: ["my1mm"], descendants: true }, { propertyName: "mainViewCont", first: true, predicate: ["mainViewCont"], descendants: true }, { propertyName: "orgCont", first: true, predicate: ["orgCont"], descendants: true, read: ViewContainerRef }, { propertyName: "dialogCont", first: true, predicate: ["dialogCont"], descendants: true, read: ViewContainerRef }, { propertyName: "matrixTemplate", first: true, predicate: ["matrixTemplate"], descendants: true }, { propertyName: "matrixDialogTemplate", first: true, predicate: ["matrixDialogTemplate"], descendants: true, read: TemplateRef }, { propertyName: "customList", first: true, predicate: PepInternalListComponent, descendants: true }], ngImport: i0, template: "<ng-template #matrixHeaderTemplate>\n <div class=\"matrix-title-container pep-border-bottom align-{{\n field.xAlignment\n }}\" title=\"{{ field.label }}\">\n <span class=\"block-with-text body-md\">{{ field.label }}</span>\n\n <div class=\"buttons-container pep-spacing-element-negative pull-right flip\">\n <ng-container *ngIf=\"\n currentViewType?.Key == 'OrderCenterMatrix' &&\n additionalApiNames &&\n additionalApiNames.length > 0\n \">\n <button class=\"pep-spacing-element pep-button icon-button sm weak\" mat-button [matMenuTriggerFor]=\"menu\"\n menu-blur>\n <span class=\"pull-left flip\" *ngIf=\"currentAdditionalApiName\">&nbsp;{{\n currentAdditionalApiName?.Value }}&nbsp;</span>\n\n <mat-icon [ngClass]=\"{'pull-left flip': currentAdditionalApiName}\">\n <pep-icon name=\"system_info\"></pep-icon>\n </mat-icon>\n </button>\n <mat-menu #menu=\"matMenu\" xPosition=\"before\">\n <button mat-menu-item [ngClass]=\"{\n selected: currentAdditionalApiName === null\n }\" (click)=\"changeAdditionalApiName(null)\">\n <span>{{ \"LIST.NONE\" | translate }}</span>\n </button>\n <button mat-menu-item [ngClass]=\"{\n selected:\n currentAdditionalApiName?.Key ==\n additionalApiName?.Key\n }\" *ngFor=\"let additionalApiName of additionalApiNames\"\n (click)=\"changeAdditionalApiName(additionalApiName)\">\n <span>{{ additionalApiName.Value }}</span>\n </button>\n </mat-menu>\n </ng-container>\n <ng-container *ngIf=\"childViewTypes && childViewTypes.length > 1\">\n <button class=\"pep-spacing-element pep-button icon-button sm weak\" mat-button\n [matMenuTriggerFor]=\"viewsMenu\" menu-blur>\n <mat-icon>\n <pep-icon name=\"view_card_md\"></pep-icon>\n </mat-icon>\n </button>\n\n <mat-menu #viewsMenu=\"matMenu\" xPosition=\"before\">\n <button mat-menu-item [ngClass]=\"{\n selected: currentViewType?.Key == viewType?.Key\n }\" *ngFor=\"let viewType of childViewTypes\" (click)=\"changeChildrenViewType(viewType?.Key)\">\n <mat-icon [ngSwitch]=\"viewType?.Key\">\n <pep-icon *ngSwitchCase=\"'OrderCenterMatrix'\" name=\"view_matrix\"></pep-icon>\n <pep-icon *ngSwitchCase=\"'OrderCenterFlatMatrixGrid'\" name=\"view_table\"></pep-icon>\n <pep-icon *ngSwitchCase=\"'OrderCenterFlatMatrixLine'\" name=\"view_line\"></pep-icon>\n </mat-icon>\n <span>{{ viewType?.Value }}</span>\n </button>\n </mat-menu>\n </ng-container>\n </div>\n </div>\n\n</ng-template>\n\n<ng-template #matrixTemplate>\n <div #matrixContainer class=\"matrix-container\">\n <pep-internal-list (valueChange)=\"onCustomizeObjectChanged($event)\" [parentScroll]=\"matrixContainer\"\n (fieldClick)=\"onCustomizeFieldClick($event)\" [totalsRow]=\"totalsRow\"></pep-internal-list>\n </div>\n</ng-template>\n\n<div #mainViewCont id=\"mainViewCont\" [ngStyle]=\"{ 'max-width': viewWidth, 'max-height': viewHeight }\">\n <div #my1mm id=\"my1_mm\" style=\"height:1mm;width:1mm;visibility: hidden;\"></div>\n <ng-container *ngIf=\"coverChildTable && uiControl != null\">\n <div class=\"table-cover\"></div>\n <button (click)=\"showMatrixDialog()\" class=\"pep-button strong sm table-cover-button\"\n [ngClass]=\"{ 'lineview-btn': currentViewType?.Key == 'OrderCenterFlatMatrixLine'}\">\n {{ \"INTERNAL_PAGE.CLICK_TO_ORDER\" | translate }}\n </button>\n </ng-container>\n\n <ng-container *ngTemplateOutlet=\"matrixHeaderTemplate\"></ng-container>\n <ng-container #orgCont></ng-container>\n</div>\n\n<ng-template #matrixDialogTemplate>\n\n <div mat-dialog-title>\n <ng-container *ngTemplateOutlet=\"matrixHeaderTemplate\"></ng-container>\n </div>\n\n <div mat-dialog-content>\n <ng-container #dialogCont></ng-container>\n </div>\n</ng-template>\n\n<!-- <div id=\"childGridModal\" bsModal (onShown)=\"onShown()\" (onHidden)=\"onHidden()\" #childModal=\"bs-modal\" class=\"modal\"\n tabindex=\"-1\" role=\"dialog\" aria-labelledby=\"gridModalLabel\" aria-hidden=\"true\">\n <div class=\"modal-dialog\" role=\"document\">\n <div class=\"modal-content\">\n <div class=\"modal-body matrix-dialog-body\">\n <ng-container #modalCont></ng-container>\n </div>\n </div>\n </div>\n</div> -->", styles: [":host{display:grid;width:inherit;height:inherit}.matrix-title-container{padding:0;height:var(--pep-form-field-height, 2.5rem);display:flex;align-items:flex-end}.matrix-title-container .block-with-text{width:100%;max-height:inherit;font-weight:var(--pep-font-weight-bold, 600);display:block;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.matrix-title-container .buttons-container{display:flex;align-self:center}.matrix-title-container .buttons-container .pepperi-button,.matrix-title-container .buttons-container .pep-button{width:max-content}#mainViewCont{width:100%;height:inherit;overflow:hidden;padding:0 var(--pep-spacing-xs, .25rem)}#mainViewCont .table-cover{background-color:#fff;z-index:98;position:absolute;top:0;width:100%;height:inherit;opacity:.5}#mainViewCont .table-cover-button{position:absolute;left:50%;transform:translate(-50%,-50%);top:calc(50% + var(--pep-form-field-height, 2.5rem));z-index:99}#mainViewCont .table-cover-button.lineview-btn{top:calc(2 * var(--pep-form-field-height, 2.5rem));transform:translate(-50%)}#mainViewCont .underCover{max-height:inherit;overflow:hidden}#mainViewCont ::ng-deep .table-header{top:unset!important}\n"], dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i5.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i5.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i5.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i4.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i5$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i4$2.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i4$2.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i4$2.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "component", type: i1.PepIconComponent, selector: "pep-icon", inputs: ["spin", "name", "fill"] }, { kind: "component", type: PepInternalListComponent, selector: "pep-internal-list", inputs: ["noDataFoundMsg", "hideAllSelectionInMulti", "top", "objectId", "parentId", "searchCode", "supportResizing", "parentScroll", "disabled", "disableEvents", "disableSelectionItems", "totalsRow"], outputs: ["fieldClick", "valueChange"] }, { kind: "pipe", type: i4$1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2565
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepInternalPageComponent, decorators: [{
2576
2566
  type: Component,
2577
2567
  args: [{ selector: 'pep-internal-page', providers: [PepInternalPageService], changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template #matrixHeaderTemplate>\n <div class=\"matrix-title-container pep-border-bottom align-{{\n field.xAlignment\n }}\" title=\"{{ field.label }}\">\n <span class=\"block-with-text body-md\">{{ field.label }}</span>\n\n <div class=\"buttons-container pep-spacing-element-negative pull-right flip\">\n <ng-container *ngIf=\"\n currentViewType?.Key == 'OrderCenterMatrix' &&\n additionalApiNames &&\n additionalApiNames.length > 0\n \">\n <button class=\"pep-spacing-element pep-button icon-button sm weak\" mat-button [matMenuTriggerFor]=\"menu\"\n menu-blur>\n <span class=\"pull-left flip\" *ngIf=\"currentAdditionalApiName\">&nbsp;{{\n currentAdditionalApiName?.Value }}&nbsp;</span>\n\n <mat-icon [ngClass]=\"{'pull-left flip': currentAdditionalApiName}\">\n <pep-icon name=\"system_info\"></pep-icon>\n </mat-icon>\n </button>\n <mat-menu #menu=\"matMenu\" xPosition=\"before\">\n <button mat-menu-item [ngClass]=\"{\n selected: currentAdditionalApiName === null\n }\" (click)=\"changeAdditionalApiName(null)\">\n <span>{{ \"LIST.NONE\" | translate }}</span>\n </button>\n <button mat-menu-item [ngClass]=\"{\n selected:\n currentAdditionalApiName?.Key ==\n additionalApiName?.Key\n }\" *ngFor=\"let additionalApiName of additionalApiNames\"\n (click)=\"changeAdditionalApiName(additionalApiName)\">\n <span>{{ additionalApiName.Value }}</span>\n </button>\n </mat-menu>\n </ng-container>\n <ng-container *ngIf=\"childViewTypes && childViewTypes.length > 1\">\n <button class=\"pep-spacing-element pep-button icon-button sm weak\" mat-button\n [matMenuTriggerFor]=\"viewsMenu\" menu-blur>\n <mat-icon>\n <pep-icon name=\"view_card_md\"></pep-icon>\n </mat-icon>\n </button>\n\n <mat-menu #viewsMenu=\"matMenu\" xPosition=\"before\">\n <button mat-menu-item [ngClass]=\"{\n selected: currentViewType?.Key == viewType?.Key\n }\" *ngFor=\"let viewType of childViewTypes\" (click)=\"changeChildrenViewType(viewType?.Key)\">\n <mat-icon [ngSwitch]=\"viewType?.Key\">\n <pep-icon *ngSwitchCase=\"'OrderCenterMatrix'\" name=\"view_matrix\"></pep-icon>\n <pep-icon *ngSwitchCase=\"'OrderCenterFlatMatrixGrid'\" name=\"view_table\"></pep-icon>\n <pep-icon *ngSwitchCase=\"'OrderCenterFlatMatrixLine'\" name=\"view_line\"></pep-icon>\n </mat-icon>\n <span>{{ viewType?.Value }}</span>\n </button>\n </mat-menu>\n </ng-container>\n </div>\n </div>\n\n</ng-template>\n\n<ng-template #matrixTemplate>\n <div #matrixContainer class=\"matrix-container\">\n <pep-internal-list (valueChange)=\"onCustomizeObjectChanged($event)\" [parentScroll]=\"matrixContainer\"\n (fieldClick)=\"onCustomizeFieldClick($event)\" [totalsRow]=\"totalsRow\"></pep-internal-list>\n </div>\n</ng-template>\n\n<div #mainViewCont id=\"mainViewCont\" [ngStyle]=\"{ 'max-width': viewWidth, 'max-height': viewHeight }\">\n <div #my1mm id=\"my1_mm\" style=\"height:1mm;width:1mm;visibility: hidden;\"></div>\n <ng-container *ngIf=\"coverChildTable && uiControl != null\">\n <div class=\"table-cover\"></div>\n <button (click)=\"showMatrixDialog()\" class=\"pep-button strong sm table-cover-button\"\n [ngClass]=\"{ 'lineview-btn': currentViewType?.Key == 'OrderCenterFlatMatrixLine'}\">\n {{ \"INTERNAL_PAGE.CLICK_TO_ORDER\" | translate }}\n </button>\n </ng-container>\n\n <ng-container *ngTemplateOutlet=\"matrixHeaderTemplate\"></ng-container>\n <ng-container #orgCont></ng-container>\n</div>\n\n<ng-template #matrixDialogTemplate>\n\n <div mat-dialog-title>\n <ng-container *ngTemplateOutlet=\"matrixHeaderTemplate\"></ng-container>\n </div>\n\n <div mat-dialog-content>\n <ng-container #dialogCont></ng-container>\n </div>\n</ng-template>\n\n<!-- <div id=\"childGridModal\" bsModal (onShown)=\"onShown()\" (onHidden)=\"onHidden()\" #childModal=\"bs-modal\" class=\"modal\"\n tabindex=\"-1\" role=\"dialog\" aria-labelledby=\"gridModalLabel\" aria-hidden=\"true\">\n <div class=\"modal-dialog\" role=\"document\">\n <div class=\"modal-content\">\n <div class=\"modal-body matrix-dialog-body\">\n <ng-container #modalCont></ng-container>\n </div>\n </div>\n </div>\n</div> -->", styles: [":host{display:grid;width:inherit;height:inherit}.matrix-title-container{padding:0;height:var(--pep-form-field-height, 2.5rem);display:flex;align-items:flex-end}.matrix-title-container .block-with-text{width:100%;max-height:inherit;font-weight:var(--pep-font-weight-bold, 600);display:block;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.matrix-title-container .buttons-container{display:flex;align-self:center}.matrix-title-container .buttons-container .pepperi-button,.matrix-title-container .buttons-container .pep-button{width:max-content}#mainViewCont{width:100%;height:inherit;overflow:hidden;padding:0 var(--pep-spacing-xs, .25rem)}#mainViewCont .table-cover{background-color:#fff;z-index:98;position:absolute;top:0;width:100%;height:inherit;opacity:.5}#mainViewCont .table-cover-button{position:absolute;left:50%;transform:translate(-50%,-50%);top:calc(50% + var(--pep-form-field-height, 2.5rem));z-index:99}#mainViewCont .table-cover-button.lineview-btn{top:calc(2 * var(--pep-form-field-height, 2.5rem));transform:translate(-50%)}#mainViewCont .underCover{max-height:inherit;overflow:hidden}#mainViewCont ::ng-deep .table-header{top:unset!important}\n"] }]
2578
- }], ctorParameters: function () { return [{ type: i3$1.FormBuilder }, { type: i1$2.PepDialogService }, { type: PepInternalPageService }, { type: i1$1.PepCustomizationService }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { field: [{
2568
+ }], ctorParameters: function () { return [{ type: i1$2.PepDialogService }, { type: PepInternalPageService }, { type: i1$1.PepCustomizationService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { field: [{
2579
2569
  type: Input
2580
2570
  }], layoutType: [{
2581
2571
  type: Input
@@ -2629,15 +2619,14 @@ class PepInternalCaruselService {
2629
2619
  );
2630
2620
  }
2631
2621
  }
2632
- PepInternalCaruselService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: PepInternalCaruselService, deps: [{ token: i1$1.PepHttpService }], target: i0.ɵɵFactoryTarget.Injectable });
2633
- PepInternalCaruselService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: PepInternalCaruselService });
2634
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: PepInternalCaruselService, decorators: [{
2622
+ PepInternalCaruselService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepInternalCaruselService, deps: [{ token: i1$1.PepHttpService }], target: i0.ɵɵFactoryTarget.Injectable });
2623
+ PepInternalCaruselService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepInternalCaruselService });
2624
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepInternalCaruselService, decorators: [{
2635
2625
  type: Injectable
2636
2626
  }], ctorParameters: function () { return [{ type: i1$1.PepHttpService }]; } });
2637
2627
 
2638
2628
  class PepInternalCaruselComponent {
2639
- constructor(fb, layoutService, internalCaruselService) {
2640
- this.fb = fb;
2629
+ constructor(layoutService, internalCaruselService) {
2641
2630
  this.layoutService = layoutService;
2642
2631
  this.internalCaruselService = internalCaruselService;
2643
2632
  this.layoutType = 'form';
@@ -2723,12 +2712,12 @@ class PepInternalCaruselComponent {
2723
2712
  this.nextDisabled = event;
2724
2713
  }
2725
2714
  }
2726
- PepInternalCaruselComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: PepInternalCaruselComponent, deps: [{ token: i3$1.FormBuilder }, { token: i1$1.PepLayoutService }, { token: PepInternalCaruselService }], target: i0.ɵɵFactoryTarget.Component });
2727
- PepInternalCaruselComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.1", type: PepInternalCaruselComponent, selector: "pep-internal-carusel", inputs: { field: "field", layoutType: "layoutType" }, outputs: { internalFormFieldChange: "internalFormFieldChange", internalFormFieldClick: "internalFormFieldClick" }, providers: [PepInternalCaruselService], viewQueries: [{ propertyName: "carousel", first: true, predicate: ["carousel"], descendants: true, read: PepCarouselComponent }], ngImport: i0, template: "<div class=\"carousel-container\">\n <ng-container *ngIf=\"items?.length > 0; then carouselBlock; else emptyBlock\"></ng-container>\n <ng-template #emptyBlock>\n <!-- No items -->\n </ng-template>\n <ng-template #carouselBlock>\n <pep-button *ngIf=\"screenSize <= PepScreenSizeType.SM\" [iconName]=\"'arrow_left_alt'\" [styleType]=\"'regular'\"\n [disabled]=\"prevDisabled\" (click)=\"moveLeft()\" class=\"carousel-arrow start-arrow\">\n </pep-button>\n <pep-carousel #carousel [xWheelEnabled]=\"false\" [snapDuration]=\"duration\"\n (reachesLeftBound)=\"onReachesLeftBound($event)\" (reachesRightBound)=\"onReachesRightBound($event)\">\n <ng-container *ngFor=\"let item of items\">\n <pep-form pepCarouselItem [layout]=\"layout\" [data]=\"item\" [layoutType]=\"'card'\" class=\"card-view \"\n (valueChange)=\"onCustomizeObjectChanged($event)\" (fieldClick)=\"onCustomizeFieldClick($event)\">\n </pep-form>\n </ng-container>\n </pep-carousel>\n <pep-button *ngIf=\"screenSize <= PepScreenSizeType.SM\" [iconName]=\"'arrow_right_alt'\" [styleType]=\"'regular'\"\n [disabled]=\"nextDisabled\" (click)=\"moveRight()\" class=\"carousel-arrow end-arrow\">\n </pep-button>\n </ng-template>\n</div>", styles: [".carousel-container{position:relative;margin:0;display:grid}.carousel-container .carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:1}.carousel-container .carousel-arrow.start-arrow{left:0}.carousel-container .carousel-arrow.end-arrow{right:0}.carousel-container ::ng-deep .carousel-content .card-view{padding:var(--pep-spacing-sm, .5rem) 0!important}.carousel-container ::ng-deep .carousel-content .card-view:first-child{padding-inline-start:var(--pep-spacing-sm, .5rem)!important}.carousel-container ::ng-deep .carousel-content .card-view:last-child{padding-inline-end:var(--pep-spacing-sm, .5rem)!important}\n"], dependencies: [{ kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5$3.PepButtonComponent, selector: "pep-button", inputs: ["key", "value", "styleType", "styleStateType", "sizeType", "classNames", "disabled", "iconName", "iconPosition", "visible"], outputs: ["buttonClick"] }, { kind: "component", type: i6$2.PepCarouselComponent, selector: "pep-carousel", inputs: ["scrollbarHidden", "disabled", "xDisabled", "yDisabled", "xWheelEnabled", "dragDisabled", "snapDisabled", "snapOffset", "snapDuration"], outputs: ["dsInitialized", "indexChanged", "reachesLeftBound", "reachesRightBound", "snapAnimationFinished", "dragStart", "dragEnd"] }, { kind: "directive", type: i6$2.PepCarouselItemDirective, selector: "[pepCarouselItem]", inputs: ["dragDisabled"] }, { kind: "component", type: PepFormComponent, selector: "pep-form", inputs: ["isInternal", "isReport", "layout", "lockEvents", "canEditObject", "data", "lockFields", "isActive", "layoutType", "objectId", "parentId", "searchCode", "showTitle", "firstFieldAsLink", "checkForChanges"], outputs: ["valueChange", "formValidationChange", "fieldClick", "internalFormFieldClick", "internalFormFieldChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2728
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: PepInternalCaruselComponent, decorators: [{
2715
+ PepInternalCaruselComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepInternalCaruselComponent, deps: [{ token: i1$1.PepLayoutService }, { token: PepInternalCaruselService }], target: i0.ɵɵFactoryTarget.Component });
2716
+ PepInternalCaruselComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PepInternalCaruselComponent, selector: "pep-internal-carusel", inputs: { field: "field", layoutType: "layoutType" }, outputs: { internalFormFieldChange: "internalFormFieldChange", internalFormFieldClick: "internalFormFieldClick" }, providers: [PepInternalCaruselService], viewQueries: [{ propertyName: "carousel", first: true, predicate: ["carousel"], descendants: true, read: PepCarouselComponent }], ngImport: i0, template: "<div class=\"carousel-container\">\n <ng-container *ngIf=\"items?.length > 0; then carouselBlock; else emptyBlock\"></ng-container>\n <ng-template #emptyBlock>\n <!-- No items -->\n </ng-template>\n <ng-template #carouselBlock>\n <pep-button *ngIf=\"screenSize <= PepScreenSizeType.SM\" [iconName]=\"'arrow_left_alt'\" [styleType]=\"'regular'\"\n [disabled]=\"prevDisabled\" (click)=\"moveLeft()\" class=\"carousel-arrow start-arrow\">\n </pep-button>\n <pep-carousel #carousel [xWheelEnabled]=\"false\" [snapDuration]=\"duration\"\n (reachesLeftBound)=\"onReachesLeftBound($event)\" (reachesRightBound)=\"onReachesRightBound($event)\">\n <ng-container *ngFor=\"let item of items\">\n <pep-internal-form pepCarouselItem [layout]=\"layout\" [data]=\"item\" [layoutType]=\"'card'\" class=\"card-view \"\n (valueChange)=\"onCustomizeObjectChanged($event)\" (fieldClick)=\"onCustomizeFieldClick($event)\">\n </pep-internal-form>\n </ng-container>\n </pep-carousel>\n <pep-button *ngIf=\"screenSize <= PepScreenSizeType.SM\" [iconName]=\"'arrow_right_alt'\" [styleType]=\"'regular'\"\n [disabled]=\"nextDisabled\" (click)=\"moveRight()\" class=\"carousel-arrow end-arrow\">\n </pep-button>\n </ng-template>\n</div>", styles: [".carousel-container{position:relative;margin:0;display:grid}.carousel-container .carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:1}.carousel-container .carousel-arrow.start-arrow{left:0}.carousel-container .carousel-arrow.end-arrow{right:0}.carousel-container ::ng-deep .carousel-content .card-view{padding:var(--pep-spacing-sm, .5rem) 0!important}.carousel-container ::ng-deep .carousel-content .card-view:first-child{padding-inline-start:var(--pep-spacing-sm, .5rem)!important}.carousel-container ::ng-deep .carousel-content .card-view:last-child{padding-inline-end:var(--pep-spacing-sm, .5rem)!important}\n"], dependencies: [{ kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4$4.PepButtonComponent, selector: "pep-button", inputs: ["key", "value", "styleType", "styleStateType", "sizeType", "classNames", "disabled", "iconName", "iconPosition", "visible"], outputs: ["buttonClick"] }, { kind: "component", type: i5$3.PepCarouselComponent, selector: "pep-carousel", inputs: ["scrollbarHidden", "disabled", "xDisabled", "yDisabled", "xWheelEnabled", "dragDisabled", "snapDisabled", "snapOffset", "snapDuration"], outputs: ["dsInitialized", "indexChanged", "reachesLeftBound", "reachesRightBound", "snapAnimationFinished", "dragStart", "dragEnd"] }, { kind: "directive", type: i5$3.PepCarouselItemDirective, selector: "[pepCarouselItem]", inputs: ["dragDisabled"] }, { kind: "component", type: PepInternalFormComponent, selector: "pep-internal-form", inputs: ["isInternal", "isReport", "layout", "lockEvents", "canEditObject", "data", "lockFields", "isActive", "layoutType", "objectId", "parentId", "searchCode", "showTitle", "firstFieldAsLink", "checkForChanges"], outputs: ["valueChange", "formValidationChange", "fieldClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2717
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepInternalCaruselComponent, decorators: [{
2729
2718
  type: Component,
2730
- args: [{ selector: 'pep-internal-carusel', providers: [PepInternalCaruselService], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"carousel-container\">\n <ng-container *ngIf=\"items?.length > 0; then carouselBlock; else emptyBlock\"></ng-container>\n <ng-template #emptyBlock>\n <!-- No items -->\n </ng-template>\n <ng-template #carouselBlock>\n <pep-button *ngIf=\"screenSize <= PepScreenSizeType.SM\" [iconName]=\"'arrow_left_alt'\" [styleType]=\"'regular'\"\n [disabled]=\"prevDisabled\" (click)=\"moveLeft()\" class=\"carousel-arrow start-arrow\">\n </pep-button>\n <pep-carousel #carousel [xWheelEnabled]=\"false\" [snapDuration]=\"duration\"\n (reachesLeftBound)=\"onReachesLeftBound($event)\" (reachesRightBound)=\"onReachesRightBound($event)\">\n <ng-container *ngFor=\"let item of items\">\n <pep-form pepCarouselItem [layout]=\"layout\" [data]=\"item\" [layoutType]=\"'card'\" class=\"card-view \"\n (valueChange)=\"onCustomizeObjectChanged($event)\" (fieldClick)=\"onCustomizeFieldClick($event)\">\n </pep-form>\n </ng-container>\n </pep-carousel>\n <pep-button *ngIf=\"screenSize <= PepScreenSizeType.SM\" [iconName]=\"'arrow_right_alt'\" [styleType]=\"'regular'\"\n [disabled]=\"nextDisabled\" (click)=\"moveRight()\" class=\"carousel-arrow end-arrow\">\n </pep-button>\n </ng-template>\n</div>", styles: [".carousel-container{position:relative;margin:0;display:grid}.carousel-container .carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:1}.carousel-container .carousel-arrow.start-arrow{left:0}.carousel-container .carousel-arrow.end-arrow{right:0}.carousel-container ::ng-deep .carousel-content .card-view{padding:var(--pep-spacing-sm, .5rem) 0!important}.carousel-container ::ng-deep .carousel-content .card-view:first-child{padding-inline-start:var(--pep-spacing-sm, .5rem)!important}.carousel-container ::ng-deep .carousel-content .card-view:last-child{padding-inline-end:var(--pep-spacing-sm, .5rem)!important}\n"] }]
2731
- }], ctorParameters: function () { return [{ type: i3$1.FormBuilder }, { type: i1$1.PepLayoutService }, { type: PepInternalCaruselService }]; }, propDecorators: { carousel: [{
2719
+ args: [{ selector: 'pep-internal-carusel', providers: [PepInternalCaruselService], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"carousel-container\">\n <ng-container *ngIf=\"items?.length > 0; then carouselBlock; else emptyBlock\"></ng-container>\n <ng-template #emptyBlock>\n <!-- No items -->\n </ng-template>\n <ng-template #carouselBlock>\n <pep-button *ngIf=\"screenSize <= PepScreenSizeType.SM\" [iconName]=\"'arrow_left_alt'\" [styleType]=\"'regular'\"\n [disabled]=\"prevDisabled\" (click)=\"moveLeft()\" class=\"carousel-arrow start-arrow\">\n </pep-button>\n <pep-carousel #carousel [xWheelEnabled]=\"false\" [snapDuration]=\"duration\"\n (reachesLeftBound)=\"onReachesLeftBound($event)\" (reachesRightBound)=\"onReachesRightBound($event)\">\n <ng-container *ngFor=\"let item of items\">\n <pep-internal-form pepCarouselItem [layout]=\"layout\" [data]=\"item\" [layoutType]=\"'card'\" class=\"card-view \"\n (valueChange)=\"onCustomizeObjectChanged($event)\" (fieldClick)=\"onCustomizeFieldClick($event)\">\n </pep-internal-form>\n </ng-container>\n </pep-carousel>\n <pep-button *ngIf=\"screenSize <= PepScreenSizeType.SM\" [iconName]=\"'arrow_right_alt'\" [styleType]=\"'regular'\"\n [disabled]=\"nextDisabled\" (click)=\"moveRight()\" class=\"carousel-arrow end-arrow\">\n </pep-button>\n </ng-template>\n</div>", styles: [".carousel-container{position:relative;margin:0;display:grid}.carousel-container .carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:1}.carousel-container .carousel-arrow.start-arrow{left:0}.carousel-container .carousel-arrow.end-arrow{right:0}.carousel-container ::ng-deep .carousel-content .card-view{padding:var(--pep-spacing-sm, .5rem) 0!important}.carousel-container ::ng-deep .carousel-content .card-view:first-child{padding-inline-start:var(--pep-spacing-sm, .5rem)!important}.carousel-container ::ng-deep .carousel-content .card-view:last-child{padding-inline-end:var(--pep-spacing-sm, .5rem)!important}\n"] }]
2720
+ }], ctorParameters: function () { return [{ type: i1$1.PepLayoutService }, { type: PepInternalCaruselService }]; }, propDecorators: { carousel: [{
2732
2721
  type: ViewChild,
2733
2722
  args: ['carousel', { read: PepCarouselComponent }]
2734
2723
  }], field: [{
@@ -2741,6 +2730,1335 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.1", ngImpor
2741
2730
  type: Output
2742
2731
  }] } });
2743
2732
 
2733
+ class PepFieldGeneratorComponent {
2734
+ constructor() {
2735
+ this.isActive = false;
2736
+ this.uid = null;
2737
+ this.layoutType = 'form';
2738
+ this.showTitle = true;
2739
+ this.checkForChanges = null;
2740
+ this.valueChange = new EventEmitter();
2741
+ this.formValidationChange = new EventEmitter();
2742
+ this.elementClick = new EventEmitter();
2743
+ this.internalFormFieldChange = new EventEmitter();
2744
+ this.internalFormFieldClick = new EventEmitter();
2745
+ this.formValueChange = new EventEmitter();
2746
+ this.formFieldClick = new EventEmitter();
2747
+ }
2748
+ set field(value) {
2749
+ this._field = value;
2750
+ }
2751
+ get field() {
2752
+ return this._field;
2753
+ }
2754
+ get isValid() {
2755
+ if (this.field.readonly || this.field.disabled) {
2756
+ return true;
2757
+ }
2758
+ else {
2759
+ const formControl = this.form && this.form.get(this.field.key);
2760
+ if (formControl) {
2761
+ return formControl.valid;
2762
+ }
2763
+ else {
2764
+ return false;
2765
+ }
2766
+ }
2767
+ }
2768
+ get isTouched() {
2769
+ const formControl = this.form && this.form.get(this.field.key);
2770
+ return formControl ? formControl.touched : false;
2771
+ }
2772
+ get isDirty() {
2773
+ const formControl = this.form && this.form.get(this.field.key);
2774
+ return formControl ? formControl.dirty : false;
2775
+ }
2776
+ ngOnDestroy() {
2777
+ //
2778
+ }
2779
+ onFileChanged(fileData, field) {
2780
+ const value = fileData ? JSON.stringify(fileData) : '';
2781
+ const fieldValueChange = {
2782
+ key: field.key,
2783
+ value: value,
2784
+ controlType: field.controlType,
2785
+ };
2786
+ this.valueChange.emit(fieldValueChange);
2787
+ }
2788
+ onAddressValueChanged(valueChange, field) {
2789
+ const fieldValueChange = {
2790
+ key: valueChange.key,
2791
+ value: valueChange.value,
2792
+ controlType: field.controlType,
2793
+ };
2794
+ this.valueChange.emit(fieldValueChange);
2795
+ }
2796
+ onValueChanged(value, field) {
2797
+ const fieldValueChange = {
2798
+ key: field.key,
2799
+ value: value.toString(),
2800
+ controlType: field.controlType,
2801
+ };
2802
+ this.valueChange.emit(fieldValueChange);
2803
+ }
2804
+ onInternalFormFieldChanged(internalFormFieldChange) {
2805
+ this.internalFormFieldChange.emit(internalFormFieldChange);
2806
+ }
2807
+ onFormValidationChanged(formValidationChange) {
2808
+ this.formValidationChange.emit(formValidationChange);
2809
+ }
2810
+ onClick(fieldClicked) {
2811
+ this.elementClick.emit(fieldClicked);
2812
+ }
2813
+ onInternalFormFieldClick(internalFormFieldClick) {
2814
+ this.internalFormFieldClick.emit(internalFormFieldClick);
2815
+ }
2816
+ onFormValueChanged(event) {
2817
+ this.formValueChange.emit(event);
2818
+ }
2819
+ onFormFieldClick(event) {
2820
+ this.formFieldClick.emit(event);
2821
+ }
2822
+ ngOnChanges(changes) {
2823
+ // debugger;
2824
+ // For testing.
2825
+ // this.field.disabled = this.field.readonly = false;
2826
+ }
2827
+ }
2828
+ PepFieldGeneratorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepFieldGeneratorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2829
+ PepFieldGeneratorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PepFieldGeneratorComponent, selector: "pep-field-generator", inputs: { field: "field", isActive: "isActive", uid: "uid", form: "form", layoutType: "layoutType", showTitle: "showTitle", checkForChanges: "checkForChanges" }, outputs: { valueChange: "valueChange", formValidationChange: "formValidationChange", elementClick: "elementClick", internalFormFieldChange: "internalFormFieldChange", internalFormFieldClick: "internalFormFieldClick", formValueChange: "formValueChange", formFieldClick: "formFieldClick" }, usesOnChanges: true, ngImport: i0, template: "<ng-container [ngSwitch]=\"field.controlType\" [formGroup]=\"form\">\n\n <pep-address *ngSwitchCase=\"'address'\" [form]=\"form\" [key]=\"field.key\" [formattedValue]=\"field.formattedValue\"\n [label]=\"field.label\" [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\" [readonly]=\"field.readonly\"\n [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\" [groupFields]=\"field.groupFields\"\n [layoutType]=\"layoutType\" [visible]=\"field.visible\" (addressValueChange)=\"onAddressValueChanged($event, field)\">\n </pep-address>\n\n <pep-attachment *ngSwitchCase=\"'attachment'\" [form]=\"form\" [key]=\"field.key\" [src]=\"field.value\"\n [label]=\"field.label\" [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\" [readonly]=\"field.readonly\"\n [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\" [isActive]=\"isActive\" [showTitle]=\"showTitle\"\n [layoutType]=\"layoutType\" [visible]=\"field.visible\" (elementClick)=\"onClick($event)\"\n (fileChange)=\"onFileChanged($event, field)\">\n </pep-attachment>\n\n <pep-checkbox *ngSwitchCase=\"'checkbox'\" [form]=\"form\" [key]=\"field.key\"\n [value]=\"(field.value | lowercase) == 'true' || field.value == '1' ? true : false\" [label]=\"field.label\"\n [type]=\"field.type\" [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\" [readonly]=\"field.readonly\"\n [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\" [additionalValue]=\"field.additionalValue\"\n [showTitle]=\"showTitle\" [layoutType]=\"layoutType\" [visible]=\"field.visible\"\n (valueChange)=\"onValueChanged($event, field)\" [isActive]=\"isActive\">\n </pep-checkbox>\n\n <pep-date *ngSwitchCase=\"'date'\" [form]=\"form\" [key]=\"field.key\" [value]=\"field.value\"\n [formattedValue]=\"field.formattedValue\" [label]=\"field.label\" [type]=\"field.type\" [mandatory]=\"field.mandatory\"\n [disabled]=\"field.disabled\" [readonly]=\"field.readonly\" [textColor]=\"field.textColor\"\n [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\" [minValue]=\"field.minValue\"\n [maxValue]=\"field.maxValue\" [showTitle]=\"showTitle\" [layoutType]=\"layoutType\" [visible]=\"field.visible\"\n (valueChange)=\"onValueChanged($event, field)\" [isActive]=\"isActive\">\n </pep-date>\n\n <pep-images-filmstrip *ngSwitchCase=\"'images'\" [uid]=\"uid\" [form]=\"form\" [key]=\"field.key\" [label]=\"field.label\"\n [showTitle]=\"showTitle\" [rowSpan]=\"field.rowSpan\" [value]=\"field.value\" [layoutType]=\"layoutType\">\n </pep-images-filmstrip>\n\n <pep-image *ngSwitchCase=\"'image'\" [uid]=\"uid\" [form]=\"form\" [key]=\"field.key\" [src]=\"field.formattedValue\"\n [srcLarge]=\"field.value\" [options]=\"field.options\" [label]=\"field.label\" [mandatory]=\"field.mandatory\"\n [disabled]=\"field.disabled\" [readonly]=\"field.readonly\" [xAlignment]=\"field.xAlignment\"\n [rowSpan]=\"field.rowSpan\" [indicatorsField]=\"field.indicatorsField\" [menuField]=\"field.menuField\"\n [hasCampaignField]=\"field.hasCampaignField\" [sizeLimitMB]=\"field.sizeLimitMB\" [isActive]=\"isActive\"\n [layoutType]=\"layoutType\" [visible]=\"field.visible\" (elementClick)=\"onClick($event)\"\n (fileChange)=\"onFileChanged($event, field)\">\n </pep-image>\n\n <pep-quantity-selector *ngSwitchCase=\"'qs'\" [form]=\"form\" [key]=\"field.key\" [value]=\"field.value\"\n [formattedValue]=\"field.formattedValue\" [label]=\"field.label\" [type]=\"field.type\" [mandatory]=\"field.mandatory\"\n [disabled]=\"field.disabled\" [readonly]=\"field.readonly\" [textColor]=\"field.textColor\"\n [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\" [allowDecimal]=\"field.allowDecimal\"\n [additionalValue]=\"field.additionalValue\" [notificationInfo]=\"field.notificationInfo\" [isActive]=\"isActive\"\n [layoutType]=\"layoutType\" [showTitle]=\"showTitle\" [visible]=\"field.visible\"\n (valueChange)=\"onValueChanged($event, field)\" (formValidationChange)=\"onFormValidationChanged($event)\"\n (elementClick)=\"onClick($event)\">\n </pep-quantity-selector>\n\n <pep-rich-html-textarea *ngSwitchCase=\"'richhtmltextarea'\" [form]=\"form\" [key]=\"field.key\" [value]=\"field.value\"\n [label]=\"field.label\" [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\" [readonly]=\"field.readonly\"\n [maxFieldCharacters]=\"field.maxFieldCharacters\" [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\"\n [showTitle]=\"showTitle\" [layoutType]=\"layoutType\" [visible]=\"field.visible\"\n (valueChange)=\"onValueChanged($event, field)\" [isActive]=\"isActive\">\n </pep-rich-html-textarea>\n\n <pep-select *ngSwitchCase=\"'select'\" [form]=\"form\" [key]=\"field.key\" [value]=\"field.value\" [label]=\"field.label\"\n [type]=\"field.type\" [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\" [readonly]=\"field.readonly\"\n [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\" [options]=\"field.options\" [showTitle]=\"showTitle\"\n [layoutType]=\"layoutType\" [visible]=\"field.visible\" (valueChange)=\"onValueChanged($event, field)\"\n (formValidationChange)=\"onFormValidationChanged($event)\" [isActive]=\"isActive\">\n </pep-select>\n\n <pep-separator *ngSwitchCase=\"'separator'\" [form]=\"form\" [key]=\"field.key\" [label]=\"field.label\"\n [xAlignment]=\"field.xAlignment\" [layoutType]=\"layoutType\" [visible]=\"field.visible\">\n </pep-separator>\n\n <pep-signature *ngSwitchCase=\"'signature'\" [form]=\"form\" [key]=\"field.key\" [src]=\"field.value\" [label]=\"field.label\"\n [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\" [readonly]=\"field.readonly\"\n [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\" [isActive]=\"isActive\" [layoutType]=\"layoutType\"\n [visible]=\"field.visible\" (fileChange)=\"onFileChanged($event, field)\">\n </pep-signature>\n\n <pep-textarea *ngSwitchCase=\"'textarea'\" [form]=\"form\" [key]=\"field.key\" [value]=\"field.value\" [label]=\"field.label\"\n [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\" [readonly]=\"field.readonly\"\n [maxFieldCharacters]=\"field.maxFieldCharacters\" [textColor]=\"field.textColor\" [xAlignment]=\"field.xAlignment\"\n [rowSpan]=\"field.rowSpan\" [showTitle]=\"showTitle\" [layoutType]=\"layoutType\" [visible]=\"field.visible\"\n (valueChange)=\"onValueChanged($event, field)\" [isActive]=\"isActive\">\n </pep-textarea>\n\n <pep-textbox *ngSwitchCase=\"'textbox'\" [form]=\"form\" [key]=\"field.key\" [value]=\"field.value\"\n [formattedValue]=\"field.formattedValue\" [accessory]=\"field.accessory\" [label]=\"field.label\" [placeholder]=\"field.placeholder\"\n [type]=\"field.type\" [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\" [readonly]=\"field.readonly\"\n [maxFieldCharacters]=\"field.maxFieldCharacters\" [textColor]=\"field.textColor\" [xAlignment]=\"field.xAlignment\"\n [rowSpan]=\"field.rowSpan\" [showTitle]=\"showTitle\" [layoutType]=\"layoutType\"\n (valueChange)=\"onValueChanged($event, field)\" (formValidationChange)=\"onFormValidationChanged($event)\"\n [isActive]=\"isActive\" [visible]=\"field.visible\">\n </pep-textbox>\n\n <pep-link *ngSwitchCase=\"'link'\" [form]=\"form\" [key]=\"field.key\" [value]=\"field.value\"\n [formattedValue]=\"field.formattedValue\" [label]=\"field.label\" [placeholder]=\"field.placeholder\"\n [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\" [readonly]=\"field.readonly\"\n [maxFieldCharacters]=\"field.maxFieldCharacters\" [textColor]=\"field.textColor\" [xAlignment]=\"field.xAlignment\"\n [rowSpan]=\"field.rowSpan\" [showTitle]=\"showTitle\" [layoutType]=\"layoutType\"\n (valueChange)=\"onValueChanged($event, field)\" [isActive]=\"isActive\" [visible]=\"field.visible\"\n (formValidationChange)=\"onFormValidationChanged($event)\" (elementClick)=\"onClick($event)\">\n </pep-link>\n\n <pep-indicators *ngSwitchCase=\"'indicators'\" [key]=\"field.key\" [value]=\"field.value\" [layoutType]=\"layoutType\">\n </pep-indicators>\n <pep-internal-button *ngSwitchCase=\"'button'\" [form]=\"form\" [key]=\"field.key\" [value]=\"field.value\"\n [formattedValue]=\"field.formattedValue\" [label]=\"field.label\"\n [referenceObjectInternalType]=\"field.referenceObjectInternalType\" [type]=\"field.type\"\n [disabled]=\"field.disabled\" [readonly]=\"field.readonly\" [xAlignment]=\"field.xAlignment\"\n [layoutType]=\"layoutType\" [visible]=\"field.visible\" (elementClick)=\"onClick($event)\"\n (valueChange)=\"onValueChanged($event, field)\">\n </pep-internal-button>\n <pep-internal-menu *ngSwitchCase=\"'menu'\" [key]=\"field.key\" [label]=\"field.label\" [disabled]=\"field.disabled\"\n [xAlignment]=\"field.xAlignment\" [options]=\"field.options\" [layoutType]=\"layoutType\"\n (elementClick)=\"onClick($event)\">\n </pep-internal-menu>\n <pep-internal-page *ngSwitchCase=\"'internalPage'\" [field]=\"field\" [layoutType]=\"layoutType\"\n (internalFormFieldClick)=\"onInternalFormFieldClick($event)\"\n (internalFormFieldChange)=\"onInternalFormFieldChanged($event)\">\n </pep-internal-page>\n\n <pep-internal-carusel *ngSwitchCase=\"'internalCarusel'\" [field]=\"field\"\n (internalFormFieldClick)=\"onInternalFormFieldClick($event)\"\n (internalFormFieldChange)=\"onInternalFormFieldChanged($event)\">\n </pep-internal-carusel>\n\n <ng-container *ngSwitchCase=\"'placeholder'\">\n </ng-container>\n</ng-container>", styles: [":host{width:100%;height:100%}\n"], dependencies: [{ kind: "directive", type: i5.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i5.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i3$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i3$2.PepAddressComponent, selector: "pep-address", inputs: ["key", "formattedValue", "label", "mandatory", "disabled", "readonly", "xAlignment", "rowSpan", "groupFields", "form", "layoutType", "visible"], outputs: ["addressValueChange"] }, { kind: "component", type: i4$3.PepAttachmentComponent, selector: "pep-attachment", inputs: ["key", "src", "label", "mandatory", "disabled", "readonly", "xAlignment", "rowSpan", "visible", "form", "showTitle", "renderTitle", "layoutType", "isActive"], outputs: ["fileChange", "elementClick"] }, { kind: "component", type: i5$2.PepCheckboxComponent, selector: "pep-checkbox", inputs: ["key", "value", "label", "type", "mandatory", "disabled", "readonly", "xAlignment", "rowSpan", "additionalValue", "form", "isActive", "showTitle", "renderTitle", "layoutType", "visible"], outputs: ["valueChange"] }, { kind: "component", type: i6.PepDateComponent, selector: "pep-date", inputs: ["key", "value", "formattedValue", "label", "type", "mandatory", "disabled", "readonly", "textColor", "xAlignment", "rowSpan", "visible", "minValue", "maxValue", "minDateValue", "maxDateValue", "form", "isActive", "showTitle", "renderTitle", "renderError", "renderSymbol", "layoutType"], outputs: ["valueChange"] }, { kind: "component", type: i7$1.PepImageComponent, selector: "pep-image", inputs: ["key", "srcLarge", "src", "options", "label", "mandatory", "disabled", "readonly", "xAlignment", "rowSpan", "indicatorsField", "menuField", "hasCampaignField", "visible", "form", "uid", "showTitle", "renderTitle", "layoutType", "isActive", "sizeLimitMB", "acceptImagesType"], outputs: ["fileChange", "elementClick"] }, { kind: "component", type: i8$1.PepImagesFilmstripComponent, selector: "pep-images-filmstrip", inputs: ["key", "value", "label", "xAlignment", "rowSpan", "form", "uid", "showTitle", "renderTitle", "layoutType", "currIndex", "showThumbnails"] }, { kind: "component", type: i9.PepQuantitySelectorComponent, selector: "pep-quantity-selector", inputs: ["key", "value", "formattedValue", "label", "type", "mandatory", "disabled", "readonly", "textColor", "xAlignment", "rowSpan", "allowDecimal", "additionalValue", "notificationInfo", "visible", "form", "showTitle", "renderTitle", "layoutType", "isActive", "styleType"], outputs: ["valueChange", "elementClick"] }, { kind: "component", type: i10.PepRichHtmlTextareaComponent, selector: "pep-rich-html-textarea", inputs: ["key", "value", "label", "mandatory", "disabled", "readonly", "maxFieldCharacters", "xAlignment", "rowSpan", "visible", "form", "isActive", "showTitle", "renderTitle", "layoutType", "inlineMode", "toolbarOptions"], outputs: ["valueChange"] }, { kind: "component", type: i11.PepSelectComponent, selector: "pep-select", inputs: ["key", "value", "label", "type", "mandatory", "disabled", "readonly", "xAlignment", "rowSpan", "options", "visible", "form", "layoutType", "parentFieldKey", "isActive", "showTitle", "emptyOption", "renderTitle"], outputs: ["valueChange", "formValidationChange"] }, { kind: "component", type: i12.PepSeparatorComponent, selector: "pep-separator", inputs: ["key", "label", "xAlignment", "form", "layoutType", "visible"] }, { kind: "component", type: i13.PepSignatureComponent, selector: "pep-signature", inputs: ["key", "src", "label", "mandatory", "disabled", "readonly", "xAlignment", "rowSpan", "signatureURL", "visible", "form", "showTitle", "renderTitle", "layoutType", "isActive"], outputs: ["fileChange"] }, { kind: "component", type: i14.PepTextareaComponent, selector: "pep-textarea", inputs: ["key", "value", "label", "mandatory", "disabled", "readonly", "maxFieldCharacters", "textColor", "xAlignment", "rowSpan", "visible", "form", "isActive", "showTitle", "renderTitle", "layoutType"], outputs: ["valueChange"] }, { kind: "component", type: i15.PepTextboxComponent, selector: "pep-textbox", inputs: ["key", "value", "formattedValue", "accessory", "label", "placeholder", "type", "mandatory", "disabled", "readonly", "maxFieldCharacters", "hint", "textColor", "xAlignment", "rowSpan", "minValue", "maxValue", "visible", "form", "isActive", "showTitle", "renderTitle", "renderError", "renderSymbol", "layoutType", "parentFieldKey"], outputs: ["valueChange", "formValidationChange"] }, { kind: "component", type: i16.PepLinkComponent, selector: "pep-link", inputs: ["key", "value", "formattedValue", "label", "placeholder", "mandatory", "disabled", "readonly", "maxFieldCharacters", "textColor", "xAlignment", "rowSpan", "visible", "form", "isActive", "showTitle", "renderTitle", "renderError", "renderSymbol", "layoutType"], outputs: ["valueChange", "formValidationChange", "elementClick"] }, { kind: "component", type: PepIndicatorsComponent, selector: "pep-indicators", inputs: ["key", "value", "layoutType"] }, { kind: "component", type: PepInternalButtonComponent, selector: "pep-internal-button", inputs: ["key", "value", "formattedValue", "label", "referenceObjectInternalType", "type", "mandatory", "disabled", "readonly", "xAlignment", "rowSpan", "visible", "form", "showTitle", "layoutType"], outputs: ["elementClick", "valueChange"] }, { kind: "component", type: PepInternalMenuComponent, selector: "pep-internal-menu", inputs: ["key", "label", "disabled", "xAlignment", "options", "invertClass", "layoutType"], outputs: ["elementClick"] }, { kind: "component", type: PepInternalPageComponent, selector: "pep-internal-page", inputs: ["field", "layoutType"], outputs: ["internalFormFieldChange", "internalFormFieldClick"] }, { kind: "component", type: PepInternalCaruselComponent, selector: "pep-internal-carusel", inputs: ["field", "layoutType"], outputs: ["internalFormFieldChange", "internalFormFieldClick"] }, { kind: "pipe", type: i5.LowerCasePipe, name: "lowercase" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2830
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepFieldGeneratorComponent, decorators: [{
2831
+ type: Component,
2832
+ args: [{ selector: 'pep-field-generator', encapsulation: ViewEncapsulation.Emulated, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container [ngSwitch]=\"field.controlType\" [formGroup]=\"form\">\n\n <pep-address *ngSwitchCase=\"'address'\" [form]=\"form\" [key]=\"field.key\" [formattedValue]=\"field.formattedValue\"\n [label]=\"field.label\" [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\" [readonly]=\"field.readonly\"\n [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\" [groupFields]=\"field.groupFields\"\n [layoutType]=\"layoutType\" [visible]=\"field.visible\" (addressValueChange)=\"onAddressValueChanged($event, field)\">\n </pep-address>\n\n <pep-attachment *ngSwitchCase=\"'attachment'\" [form]=\"form\" [key]=\"field.key\" [src]=\"field.value\"\n [label]=\"field.label\" [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\" [readonly]=\"field.readonly\"\n [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\" [isActive]=\"isActive\" [showTitle]=\"showTitle\"\n [layoutType]=\"layoutType\" [visible]=\"field.visible\" (elementClick)=\"onClick($event)\"\n (fileChange)=\"onFileChanged($event, field)\">\n </pep-attachment>\n\n <pep-checkbox *ngSwitchCase=\"'checkbox'\" [form]=\"form\" [key]=\"field.key\"\n [value]=\"(field.value | lowercase) == 'true' || field.value == '1' ? true : false\" [label]=\"field.label\"\n [type]=\"field.type\" [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\" [readonly]=\"field.readonly\"\n [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\" [additionalValue]=\"field.additionalValue\"\n [showTitle]=\"showTitle\" [layoutType]=\"layoutType\" [visible]=\"field.visible\"\n (valueChange)=\"onValueChanged($event, field)\" [isActive]=\"isActive\">\n </pep-checkbox>\n\n <pep-date *ngSwitchCase=\"'date'\" [form]=\"form\" [key]=\"field.key\" [value]=\"field.value\"\n [formattedValue]=\"field.formattedValue\" [label]=\"field.label\" [type]=\"field.type\" [mandatory]=\"field.mandatory\"\n [disabled]=\"field.disabled\" [readonly]=\"field.readonly\" [textColor]=\"field.textColor\"\n [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\" [minValue]=\"field.minValue\"\n [maxValue]=\"field.maxValue\" [showTitle]=\"showTitle\" [layoutType]=\"layoutType\" [visible]=\"field.visible\"\n (valueChange)=\"onValueChanged($event, field)\" [isActive]=\"isActive\">\n </pep-date>\n\n <pep-images-filmstrip *ngSwitchCase=\"'images'\" [uid]=\"uid\" [form]=\"form\" [key]=\"field.key\" [label]=\"field.label\"\n [showTitle]=\"showTitle\" [rowSpan]=\"field.rowSpan\" [value]=\"field.value\" [layoutType]=\"layoutType\">\n </pep-images-filmstrip>\n\n <pep-image *ngSwitchCase=\"'image'\" [uid]=\"uid\" [form]=\"form\" [key]=\"field.key\" [src]=\"field.formattedValue\"\n [srcLarge]=\"field.value\" [options]=\"field.options\" [label]=\"field.label\" [mandatory]=\"field.mandatory\"\n [disabled]=\"field.disabled\" [readonly]=\"field.readonly\" [xAlignment]=\"field.xAlignment\"\n [rowSpan]=\"field.rowSpan\" [indicatorsField]=\"field.indicatorsField\" [menuField]=\"field.menuField\"\n [hasCampaignField]=\"field.hasCampaignField\" [sizeLimitMB]=\"field.sizeLimitMB\" [isActive]=\"isActive\"\n [layoutType]=\"layoutType\" [visible]=\"field.visible\" (elementClick)=\"onClick($event)\"\n (fileChange)=\"onFileChanged($event, field)\">\n </pep-image>\n\n <pep-quantity-selector *ngSwitchCase=\"'qs'\" [form]=\"form\" [key]=\"field.key\" [value]=\"field.value\"\n [formattedValue]=\"field.formattedValue\" [label]=\"field.label\" [type]=\"field.type\" [mandatory]=\"field.mandatory\"\n [disabled]=\"field.disabled\" [readonly]=\"field.readonly\" [textColor]=\"field.textColor\"\n [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\" [allowDecimal]=\"field.allowDecimal\"\n [additionalValue]=\"field.additionalValue\" [notificationInfo]=\"field.notificationInfo\" [isActive]=\"isActive\"\n [layoutType]=\"layoutType\" [showTitle]=\"showTitle\" [visible]=\"field.visible\"\n (valueChange)=\"onValueChanged($event, field)\" (formValidationChange)=\"onFormValidationChanged($event)\"\n (elementClick)=\"onClick($event)\">\n </pep-quantity-selector>\n\n <pep-rich-html-textarea *ngSwitchCase=\"'richhtmltextarea'\" [form]=\"form\" [key]=\"field.key\" [value]=\"field.value\"\n [label]=\"field.label\" [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\" [readonly]=\"field.readonly\"\n [maxFieldCharacters]=\"field.maxFieldCharacters\" [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\"\n [showTitle]=\"showTitle\" [layoutType]=\"layoutType\" [visible]=\"field.visible\"\n (valueChange)=\"onValueChanged($event, field)\" [isActive]=\"isActive\">\n </pep-rich-html-textarea>\n\n <pep-select *ngSwitchCase=\"'select'\" [form]=\"form\" [key]=\"field.key\" [value]=\"field.value\" [label]=\"field.label\"\n [type]=\"field.type\" [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\" [readonly]=\"field.readonly\"\n [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\" [options]=\"field.options\" [showTitle]=\"showTitle\"\n [layoutType]=\"layoutType\" [visible]=\"field.visible\" (valueChange)=\"onValueChanged($event, field)\"\n (formValidationChange)=\"onFormValidationChanged($event)\" [isActive]=\"isActive\">\n </pep-select>\n\n <pep-separator *ngSwitchCase=\"'separator'\" [form]=\"form\" [key]=\"field.key\" [label]=\"field.label\"\n [xAlignment]=\"field.xAlignment\" [layoutType]=\"layoutType\" [visible]=\"field.visible\">\n </pep-separator>\n\n <pep-signature *ngSwitchCase=\"'signature'\" [form]=\"form\" [key]=\"field.key\" [src]=\"field.value\" [label]=\"field.label\"\n [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\" [readonly]=\"field.readonly\"\n [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\" [isActive]=\"isActive\" [layoutType]=\"layoutType\"\n [visible]=\"field.visible\" (fileChange)=\"onFileChanged($event, field)\">\n </pep-signature>\n\n <pep-textarea *ngSwitchCase=\"'textarea'\" [form]=\"form\" [key]=\"field.key\" [value]=\"field.value\" [label]=\"field.label\"\n [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\" [readonly]=\"field.readonly\"\n [maxFieldCharacters]=\"field.maxFieldCharacters\" [textColor]=\"field.textColor\" [xAlignment]=\"field.xAlignment\"\n [rowSpan]=\"field.rowSpan\" [showTitle]=\"showTitle\" [layoutType]=\"layoutType\" [visible]=\"field.visible\"\n (valueChange)=\"onValueChanged($event, field)\" [isActive]=\"isActive\">\n </pep-textarea>\n\n <pep-textbox *ngSwitchCase=\"'textbox'\" [form]=\"form\" [key]=\"field.key\" [value]=\"field.value\"\n [formattedValue]=\"field.formattedValue\" [accessory]=\"field.accessory\" [label]=\"field.label\" [placeholder]=\"field.placeholder\"\n [type]=\"field.type\" [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\" [readonly]=\"field.readonly\"\n [maxFieldCharacters]=\"field.maxFieldCharacters\" [textColor]=\"field.textColor\" [xAlignment]=\"field.xAlignment\"\n [rowSpan]=\"field.rowSpan\" [showTitle]=\"showTitle\" [layoutType]=\"layoutType\"\n (valueChange)=\"onValueChanged($event, field)\" (formValidationChange)=\"onFormValidationChanged($event)\"\n [isActive]=\"isActive\" [visible]=\"field.visible\">\n </pep-textbox>\n\n <pep-link *ngSwitchCase=\"'link'\" [form]=\"form\" [key]=\"field.key\" [value]=\"field.value\"\n [formattedValue]=\"field.formattedValue\" [label]=\"field.label\" [placeholder]=\"field.placeholder\"\n [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\" [readonly]=\"field.readonly\"\n [maxFieldCharacters]=\"field.maxFieldCharacters\" [textColor]=\"field.textColor\" [xAlignment]=\"field.xAlignment\"\n [rowSpan]=\"field.rowSpan\" [showTitle]=\"showTitle\" [layoutType]=\"layoutType\"\n (valueChange)=\"onValueChanged($event, field)\" [isActive]=\"isActive\" [visible]=\"field.visible\"\n (formValidationChange)=\"onFormValidationChanged($event)\" (elementClick)=\"onClick($event)\">\n </pep-link>\n\n <pep-indicators *ngSwitchCase=\"'indicators'\" [key]=\"field.key\" [value]=\"field.value\" [layoutType]=\"layoutType\">\n </pep-indicators>\n <pep-internal-button *ngSwitchCase=\"'button'\" [form]=\"form\" [key]=\"field.key\" [value]=\"field.value\"\n [formattedValue]=\"field.formattedValue\" [label]=\"field.label\"\n [referenceObjectInternalType]=\"field.referenceObjectInternalType\" [type]=\"field.type\"\n [disabled]=\"field.disabled\" [readonly]=\"field.readonly\" [xAlignment]=\"field.xAlignment\"\n [layoutType]=\"layoutType\" [visible]=\"field.visible\" (elementClick)=\"onClick($event)\"\n (valueChange)=\"onValueChanged($event, field)\">\n </pep-internal-button>\n <pep-internal-menu *ngSwitchCase=\"'menu'\" [key]=\"field.key\" [label]=\"field.label\" [disabled]=\"field.disabled\"\n [xAlignment]=\"field.xAlignment\" [options]=\"field.options\" [layoutType]=\"layoutType\"\n (elementClick)=\"onClick($event)\">\n </pep-internal-menu>\n <pep-internal-page *ngSwitchCase=\"'internalPage'\" [field]=\"field\" [layoutType]=\"layoutType\"\n (internalFormFieldClick)=\"onInternalFormFieldClick($event)\"\n (internalFormFieldChange)=\"onInternalFormFieldChanged($event)\">\n </pep-internal-page>\n\n <pep-internal-carusel *ngSwitchCase=\"'internalCarusel'\" [field]=\"field\"\n (internalFormFieldClick)=\"onInternalFormFieldClick($event)\"\n (internalFormFieldChange)=\"onInternalFormFieldChanged($event)\">\n </pep-internal-carusel>\n\n <ng-container *ngSwitchCase=\"'placeholder'\">\n </ng-container>\n</ng-container>", styles: [":host{width:100%;height:100%}\n"] }]
2833
+ }], propDecorators: { field: [{
2834
+ type: Input
2835
+ }], isActive: [{
2836
+ type: Input
2837
+ }], uid: [{
2838
+ type: Input
2839
+ }], form: [{
2840
+ type: Input
2841
+ }], layoutType: [{
2842
+ type: Input
2843
+ }], showTitle: [{
2844
+ type: Input
2845
+ }], checkForChanges: [{
2846
+ type: Input
2847
+ }], valueChange: [{
2848
+ type: Output
2849
+ }], formValidationChange: [{
2850
+ type: Output
2851
+ }], elementClick: [{
2852
+ type: Output
2853
+ }], internalFormFieldChange: [{
2854
+ type: Output
2855
+ }], internalFormFieldClick: [{
2856
+ type: Output
2857
+ }], formValueChange: [{
2858
+ type: Output
2859
+ }], formFieldClick: [{
2860
+ type: Output
2861
+ }] } });
2862
+
2863
+ class PepFormComponent {
2864
+ // eventServiceSub: Subscription;
2865
+ // public jsonLib = JSON;
2866
+ constructor(dialogService, customizationService, layoutService, fb, differs, translate) {
2867
+ this.dialogService = dialogService;
2868
+ this.customizationService = customizationService;
2869
+ this.layoutService = layoutService;
2870
+ this.fb = fb;
2871
+ this.translate = translate;
2872
+ this.isInternal = true;
2873
+ this.isReport = false;
2874
+ this.lockEvents = false;
2875
+ this.canEditObject = true;
2876
+ this._data = null;
2877
+ this.isActive = false;
2878
+ this.layoutType = 'card';
2879
+ // @Input() listType = '';
2880
+ this.objectId = '0';
2881
+ this.parentId = '0';
2882
+ this.searchCode = '0';
2883
+ this.showTitle = true;
2884
+ this.firstFieldAsLink = false;
2885
+ this.checkForChanges = null;
2886
+ this.valueChange = new EventEmitter();
2887
+ this.formValidationChange = new EventEmitter();
2888
+ this.fieldClick = new EventEmitter();
2889
+ this.internalFormFieldClick = new EventEmitter();
2890
+ this.internalFormFieldChange = new EventEmitter();
2891
+ this.isLocked = false;
2892
+ // payLoad = '';
2893
+ this.rows = [];
2894
+ this.fields = [];
2895
+ this._fieldsSubject = new BehaviorSubject([]);
2896
+ this.columns = 1;
2897
+ this.hasMenuFloatingOnOtherField = false;
2898
+ this.indicatorsDataField = null;
2899
+ this._shouldReloadForm = false;
2900
+ // store the initial value to compare with
2901
+ this.differ = differs.find({}).create();
2902
+ }
2903
+ set data(value) {
2904
+ const shouldReload = this.shouldReloadForm || !this._data;
2905
+ this._data = value;
2906
+ if (shouldReload) {
2907
+ this._shouldReloadForm = false;
2908
+ this.initForm();
2909
+ }
2910
+ else {
2911
+ this.updateForm();
2912
+ }
2913
+ }
2914
+ get data() {
2915
+ return this._data;
2916
+ }
2917
+ set lockFields(value) {
2918
+ this.isLocked = value;
2919
+ }
2920
+ get fields$() {
2921
+ return this._fieldsSubject.asObservable();
2922
+ }
2923
+ get shouldReloadForm() {
2924
+ return this._shouldReloadForm;
2925
+ }
2926
+ convertXAlignToHorizontalAlign(xAlign) {
2927
+ let res = DEFAULT_HORIZONTAL_ALIGNMENT;
2928
+ if (xAlign === X_ALIGNMENT_TYPE.None ||
2929
+ xAlign === X_ALIGNMENT_TYPE.Left) {
2930
+ res = 'left';
2931
+ }
2932
+ else if (xAlign === X_ALIGNMENT_TYPE.Right) {
2933
+ res = 'right';
2934
+ }
2935
+ else {
2936
+ res = 'center';
2937
+ }
2938
+ return res;
2939
+ }
2940
+ convertYAlignToVerticalAlign(yAlign) {
2941
+ let res = DEFAULT_VERTICAL_ALIGNMENT;
2942
+ if (yAlign === Y_ALIGNMENT_TYPE.None ||
2943
+ yAlign === Y_ALIGNMENT_TYPE.Top) {
2944
+ res = 'top';
2945
+ }
2946
+ else if (yAlign === Y_ALIGNMENT_TYPE.Bottom) {
2947
+ res = 'bottom';
2948
+ }
2949
+ else {
2950
+ res = 'middle';
2951
+ }
2952
+ return res;
2953
+ }
2954
+ convertOptionalValues(optionalValues) {
2955
+ if (optionalValues && optionalValues.length > 0) {
2956
+ return optionalValues.map((ov) => {
2957
+ return { key: ov.Key, value: ov.Value };
2958
+ });
2959
+ }
2960
+ else {
2961
+ return [];
2962
+ }
2963
+ }
2964
+ convertAddressFields(controlField, addressFields, canEditObject) {
2965
+ const fields = [];
2966
+ addressFields.forEach((field) => {
2967
+ let customField;
2968
+ const placeholder = field.ApiName;
2969
+ if (field.ApiName.toLowerCase().indexOf('street') >= 0) {
2970
+ customField = new PepTextboxField({
2971
+ key: field.ApiName,
2972
+ label: field.ApiName,
2973
+ type: 'text',
2974
+ placeholder,
2975
+ readonly: !canEditObject,
2976
+ disabled: !field.Enabled || !canEditObject,
2977
+ hidden: false,
2978
+ mandatory: false,
2979
+ value: field.Value,
2980
+ formattedValue: field.FormattedValue,
2981
+ row: 0,
2982
+ rowSpan: 1,
2983
+ col: 0,
2984
+ colSpan: 2,
2985
+ xAlignment: this.convertXAlignToHorizontalAlign(controlField.Layout.XAlignment),
2986
+ yAlignment: this.convertYAlignToVerticalAlign(controlField.Layout.YAlignment),
2987
+ order: 0,
2988
+ });
2989
+ }
2990
+ else if (field.ApiName.toLowerCase().indexOf('city') >= 0) {
2991
+ customField = new PepTextboxField({
2992
+ key: field.ApiName,
2993
+ label: field.ApiName,
2994
+ type: 'text',
2995
+ placeholder,
2996
+ readonly: !canEditObject,
2997
+ disabled: !field.Enabled || !canEditObject,
2998
+ hidden: false,
2999
+ mandatory: false,
3000
+ value: field.Value,
3001
+ formattedValue: field.FormattedValue,
3002
+ row: 0,
3003
+ rowSpan: 1,
3004
+ col: 2,
3005
+ colSpan: 1,
3006
+ xAlignment: this.convertXAlignToHorizontalAlign(controlField.Layout.XAlignment),
3007
+ yAlignment: this.convertYAlignToVerticalAlign(controlField.Layout.YAlignment),
3008
+ order: 1,
3009
+ });
3010
+ }
3011
+ else if (field.ApiName.toLowerCase().indexOf('state') >= 0) {
3012
+ customField = new PepSelectField({
3013
+ key: field.ApiName,
3014
+ label: field.ApiName,
3015
+ placeholder,
3016
+ options: this.convertOptionalValues(field.OptionalValues),
3017
+ readonly: !canEditObject,
3018
+ disabled: !field.Enabled || !canEditObject,
3019
+ hidden: false,
3020
+ mandatory: false,
3021
+ value: field.Value,
3022
+ formattedValue: field.FormattedValue,
3023
+ row: 1,
3024
+ rowSpan: 1,
3025
+ col: 0,
3026
+ colSpan: 1,
3027
+ xAlignment: this.convertXAlignToHorizontalAlign(controlField.Layout.XAlignment),
3028
+ yAlignment: this.convertYAlignToVerticalAlign(controlField.Layout.YAlignment),
3029
+ order: 2,
3030
+ });
3031
+ }
3032
+ else if (field.ApiName.toLowerCase().indexOf('zipcode') >= 0) {
3033
+ customField = new PepTextboxField({
3034
+ key: field.ApiName,
3035
+ label: field.ApiName,
3036
+ type: 'text',
3037
+ placeholder,
3038
+ readonly: !canEditObject,
3039
+ disabled: !field.Enabled || !canEditObject,
3040
+ hidden: false,
3041
+ mandatory: false,
3042
+ value: field.Value,
3043
+ formattedValue: field.FormattedValue,
3044
+ row: 1,
3045
+ rowSpan: 1,
3046
+ col: 1,
3047
+ colSpan: 1,
3048
+ xAlignment: this.convertXAlignToHorizontalAlign(controlField.Layout.XAlignment),
3049
+ yAlignment: this.convertYAlignToVerticalAlign(controlField.Layout.YAlignment),
3050
+ order: 3,
3051
+ });
3052
+ }
3053
+ else if (field.ApiName.toLowerCase().indexOf('country') >= 0) {
3054
+ customField = new PepSelectField({
3055
+ key: field.ApiName,
3056
+ label: field.ApiName,
3057
+ placeholder,
3058
+ options: this.convertOptionalValues(field.OptionalValues),
3059
+ readonly: !canEditObject,
3060
+ disabled: !field.Enabled || !canEditObject,
3061
+ hidden: false,
3062
+ mandatory: false,
3063
+ value: field.Value,
3064
+ formattedValue: field.FormattedValue,
3065
+ row: 2,
3066
+ rowSpan: 1,
3067
+ col: 2,
3068
+ colSpan: 1,
3069
+ xAlignment: this.convertXAlignToHorizontalAlign(controlField.Layout.XAlignment),
3070
+ yAlignment: this.convertYAlignToVerticalAlign(controlField.Layout.YAlignment),
3071
+ order: 4,
3072
+ });
3073
+ }
3074
+ fields.push(customField);
3075
+ });
3076
+ return fields.sort((n1, n2) => n1.order > n2.order ? 1 : n1.order < n2.order ? -1 : 0);
3077
+ }
3078
+ isMatrixField(apiNameToCheck) {
3079
+ return apiNameToCheck.indexOf('Matrix') >= 0;
3080
+ }
3081
+ doesFieldHavaFloatingField(controlField, floatingField) {
3082
+ let hasFloatingField = false;
3083
+ if (floatingField.Layout.Y >= controlField.Layout.Y &&
3084
+ floatingField.Layout.Y <
3085
+ controlField.Layout.Y + controlField.Layout.Height &&
3086
+ floatingField.Layout.X >= controlField.Layout.X &&
3087
+ floatingField.Layout.X <
3088
+ controlField.Layout.X + controlField.Layout.Width) {
3089
+ hasFloatingField = true;
3090
+ }
3091
+ return hasFloatingField;
3092
+ }
3093
+ getOptionsForCustomField(controlField, dataField, canEditObject) {
3094
+ if (!controlField || !dataField) {
3095
+ return;
3096
+ }
3097
+ const placeholder = controlField.ReadOnly || !canEditObject ? '' : controlField.Title;
3098
+ return {
3099
+ key: controlField.ApiName,
3100
+ label: controlField.Title,
3101
+ accessory: dataField.Accessory,
3102
+ placeholder,
3103
+ readonly: controlField.ReadOnly || !canEditObject,
3104
+ disabled: !dataField.Enabled || !canEditObject,
3105
+ hidden: controlField.Hidden,
3106
+ mandatory: controlField.Mandatory,
3107
+ value: dataField.Value,
3108
+ formattedValue: dataField.FormattedValue,
3109
+ additionalValue: dataField.AdditionalValue,
3110
+ row: controlField.Layout.Y,
3111
+ rowSpan: controlField.Layout.Height,
3112
+ col: controlField.Layout.X,
3113
+ colSpan: controlField.Layout.Width,
3114
+ xAlignment: this.convertXAlignToHorizontalAlign(controlField.Layout.XAlignment),
3115
+ yAlignment: this.convertYAlignToVerticalAlign(controlField.Layout.YAlignment),
3116
+ options: this.convertOptionalValues(dataField.OptionalValues),
3117
+ groupFields: undefined,
3118
+ maxFieldCharacters: controlField.MaxFieldCharacters,
3119
+ minValue: controlField.MinValue,
3120
+ maxValue: controlField.MaxValue,
3121
+ // hasMenu: hasMenu,
3122
+ // hasCampaign: hasCampaign,
3123
+ // hasIndicators: hasIndicators,
3124
+ textColor: dataField.TextColor,
3125
+ visible: dataField.Visible,
3126
+ };
3127
+ }
3128
+ convertToCustomField(controlField, dataField, canEditObject, menuField, hasCampaignField, indicatorsField, objectId, parentId, searchCode) {
3129
+ let customField;
3130
+ const options = this.getOptionsForCustomField(controlField, dataField, canEditObject);
3131
+ if (controlField.ApiName === 'ObjectMenu') {
3132
+ options.type = 'menu';
3133
+ customField = new PepInternalMenuField(options);
3134
+ }
3135
+ else if (controlField.FieldType === FIELD_TYPE.NumberRealQuantitySelector ||
3136
+ controlField.FieldType ===
3137
+ FIELD_TYPE.NumberIntegerQuantitySelector ||
3138
+ controlField.ApiName === 'QuantitySelector' ||
3139
+ controlField.ApiName === 'UnitsQuantity' ||
3140
+ controlField.ApiName.indexOf('size_') === 0) {
3141
+ if (dataField.FieldType === FIELD_TYPE.InternalLink) {
3142
+ options.type = 'button';
3143
+ }
3144
+ else if (dataField.FieldType === FIELD_TYPE.Package) {
3145
+ options.type = 'packageButton';
3146
+ }
3147
+ else if (dataField.FieldType === FIELD_TYPE.NumberRealQuantitySelector ||
3148
+ dataField.FieldType === FIELD_TYPE.NumberReal) {
3149
+ options.type = 'qs';
3150
+ options.allowDecimal = true;
3151
+ }
3152
+ else if (dataField.FieldType ===
3153
+ FIELD_TYPE.NumberIntegerQuantitySelector ||
3154
+ dataField.FieldType === FIELD_TYPE.NumberInteger) {
3155
+ options.type = 'qs';
3156
+ options.allowDecimal = false;
3157
+ }
3158
+ else if (dataField.FieldType === FIELD_TYPE.NumberIntegerForMatrix) {
3159
+ options.type = 'qsForMatrix';
3160
+ options.allowDecimal = false;
3161
+ }
3162
+ else if (dataField.FieldType === FIELD_TYPE.NumberRealForMatrix) {
3163
+ options.type = 'qsForMatrix';
3164
+ options.allowDecimal = true;
3165
+ }
3166
+ options.notificationInfo = dataField.NotificationInfo;
3167
+ customField = new PepQuantitySelectorField(options);
3168
+ }
3169
+ else {
3170
+ // HACK: need to remove this..
3171
+ if (dataField.FieldType === FIELD_TYPE.Indicators &&
3172
+ this.isMatrixField(dataField.ApiName)) {
3173
+ dataField.FieldType = FIELD_TYPE.InternalPage;
3174
+ }
3175
+ switch (dataField.FieldType) {
3176
+ case FIELD_TYPE.Address: {
3177
+ const canEditGroupObject = controlField.ReadOnly
3178
+ ? false
3179
+ : canEditObject;
3180
+ options.groupFields = this.convertAddressFields(controlField, dataField.GroupFields, canEditGroupObject);
3181
+ customField = new PepAddressField(options);
3182
+ break;
3183
+ }
3184
+ case FIELD_TYPE.Indicators: {
3185
+ // options['type'] = 'indicators'; // Not needed this is PepIndicatorsField.
3186
+ customField = new PepIndicatorsField(options);
3187
+ break;
3188
+ }
3189
+ case FIELD_TYPE.InternalPage: {
3190
+ if (this.isMatrixField(controlField.ApiName)) {
3191
+ options.rowSpan = controlField.Layout.Height;
3192
+ options.objectId = objectId;
3193
+ options.parentId = parentId;
3194
+ options.searchCode = searchCode;
3195
+ customField = new PepInternalPageField(options);
3196
+ }
3197
+ else {
3198
+ // Not supported
3199
+ }
3200
+ break;
3201
+ }
3202
+ case FIELD_TYPE.RelatedObjectsCards: {
3203
+ options.rowSpan = controlField.Layout.Height;
3204
+ options.searchCode = searchCode;
3205
+ options.pageInfo = dataField.UIPageInfo;
3206
+ customField = new PepInternalCaruselField(options);
3207
+ break;
3208
+ }
3209
+ case FIELD_TYPE.Link: {
3210
+ options.type = 'link';
3211
+ customField = new PepLinkField(options);
3212
+ break;
3213
+ }
3214
+ case FIELD_TYPE.InternalLink:
3215
+ case FIELD_TYPE.Button: {
3216
+ options.type = 'button';
3217
+ customField = new PepInternalButtonField(options);
3218
+ break;
3219
+ }
3220
+ case FIELD_TYPE.Attachment: {
3221
+ // options.type = 'attachment';
3222
+ customField = new PepAttachmentField(options);
3223
+ break;
3224
+ }
3225
+ case FIELD_TYPE.Signature: {
3226
+ // options.type = 'signature';
3227
+ customField = new PepSignatureField(options);
3228
+ break;
3229
+ }
3230
+ case FIELD_TYPE.Image:
3231
+ case FIELD_TYPE.ImageURL: {
3232
+ // options.type = 'image';
3233
+ options.menuField =
3234
+ menuField &&
3235
+ this.doesFieldHavaFloatingField(controlField, menuField)
3236
+ ? menuField
3237
+ : null;
3238
+ options.hasCampaignField =
3239
+ hasCampaignField &&
3240
+ this.doesFieldHavaFloatingField(controlField, hasCampaignField)
3241
+ ? hasCampaignField
3242
+ : null;
3243
+ options.indicatorsField =
3244
+ indicatorsField &&
3245
+ this.doesFieldHavaFloatingField(controlField, indicatorsField)
3246
+ ? indicatorsField
3247
+ : null;
3248
+ customField = new PepImageField(options);
3249
+ break;
3250
+ }
3251
+ case FIELD_TYPE.Images: {
3252
+ // options.type = 'images';
3253
+ customField = new PepImagesField(options);
3254
+ break;
3255
+ }
3256
+ case FIELD_TYPE.Email: {
3257
+ options.type = 'email';
3258
+ customField = new PepLinkField(options);
3259
+ break;
3260
+ }
3261
+ case FIELD_TYPE.Phone: {
3262
+ options.type = 'phone';
3263
+ customField = new PepLinkField(options);
3264
+ break;
3265
+ }
3266
+ case FIELD_TYPE.Duration: {
3267
+ options.type = 'duration';
3268
+ customField = new PepTextboxField(options);
3269
+ break;
3270
+ }
3271
+ case FIELD_TYPE.Default:
3272
+ case FIELD_TYPE.TextBox:
3273
+ case FIELD_TYPE.LimitedLengthTextBox:
3274
+ case FIELD_TYPE.TextHeader:
3275
+ case FIELD_TYPE.CalculatedString:
3276
+ case FIELD_TYPE.MapDataString: {
3277
+ customField = new PepTextboxField(options);
3278
+ break;
3279
+ }
3280
+ case FIELD_TYPE.TextArea: {
3281
+ customField = new PepTextareaField(options);
3282
+ break;
3283
+ }
3284
+ case FIELD_TYPE.RichTextHTML: {
3285
+ customField = new PepRichHtmlTextareaField(options);
3286
+ break;
3287
+ }
3288
+ case FIELD_TYPE.Date:
3289
+ case FIELD_TYPE.LimitedDate:
3290
+ case FIELD_TYPE.CalculatedDate:
3291
+ case FIELD_TYPE.DateAndTime: {
3292
+ options.type =
3293
+ dataField.FieldType === FIELD_TYPE.DateAndTime
3294
+ ? 'datetime'
3295
+ : 'date';
3296
+ customField = new PepDateField(options);
3297
+ break;
3298
+ }
3299
+ case FIELD_TYPE.NumberInteger:
3300
+ case FIELD_TYPE.CalculatedInt:
3301
+ case FIELD_TYPE.MapDataInt: {
3302
+ options.type = 'int';
3303
+ customField = new PepTextboxField(options);
3304
+ break;
3305
+ }
3306
+ case FIELD_TYPE.Percentage: {
3307
+ options.type = 'percentage';
3308
+ customField = new PepTextboxField(options);
3309
+ break;
3310
+ }
3311
+ case FIELD_TYPE.Currency: {
3312
+ options.type = 'currency';
3313
+ customField = new PepTextboxField(options);
3314
+ break;
3315
+ }
3316
+ case FIELD_TYPE.NumberReal:
3317
+ case FIELD_TYPE.CalculatedReal:
3318
+ case FIELD_TYPE.MapDataReal:
3319
+ case FIELD_TYPE.Sum:
3320
+ case FIELD_TYPE.Totals: {
3321
+ options.type = 'real';
3322
+ customField = new PepTextboxField(options);
3323
+ break;
3324
+ }
3325
+ case FIELD_TYPE.Boolean:
3326
+ case FIELD_TYPE.CalculatedBool: {
3327
+ customField = new PepCheckboxField(options);
3328
+ break;
3329
+ }
3330
+ case FIELD_TYPE.BooleanText: {
3331
+ options.type = 'booleanText';
3332
+ customField = new PepCheckboxField(options);
3333
+ break;
3334
+ }
3335
+ case FIELD_TYPE.ComboBox:
3336
+ case FIELD_TYPE.EmptyComboBox:
3337
+ case FIELD_TYPE.MapDataDropDown: {
3338
+ // options.type = 'select';
3339
+ customField = new PepSelectField(options);
3340
+ break;
3341
+ }
3342
+ case FIELD_TYPE.MultiTickBox:
3343
+ case FIELD_TYPE.MultiTickBoxToComboBox:
3344
+ case FIELD_TYPE.EmptyMultiTickBox: {
3345
+ options.type = 'multi';
3346
+ customField = new PepSelectField(options);
3347
+ break;
3348
+ }
3349
+ case FIELD_TYPE.GuidReferenceType: {
3350
+ options.type = 'reference';
3351
+ options.referenceObjectType = dataField.ReferenceObjectType;
3352
+ options.referenceObjectSubType =
3353
+ dataField.ReferenceObjectSubType;
3354
+ options.referenceObjectInternalType =
3355
+ dataField.ReferenceObjectInternalType;
3356
+ customField = new PepInternalButtonField(options);
3357
+ break;
3358
+ }
3359
+ case FIELD_TYPE.ListOfObjects: {
3360
+ options.type = 'listofobjects';
3361
+ customField = new PepInternalButtonField(options);
3362
+ break;
3363
+ }
3364
+ case FIELD_TYPE.Separator: {
3365
+ customField = new PepSeparatorField(options);
3366
+ break;
3367
+ }
3368
+ /*
3369
+ case FIELD_TYPE.Images: return that.field(value);
3370
+ */
3371
+ case FIELD_TYPE.NumberRealQuantitySelector:
3372
+ case FIELD_TYPE.NumberIntegerQuantitySelector: {
3373
+ options.type = 'qs';
3374
+ options.allowDecimal =
3375
+ dataField.FieldType ===
3376
+ FIELD_TYPE.NumberRealQuantitySelector;
3377
+ options.notificationInfo = dataField.NotificationInfo;
3378
+ customField = new PepQuantitySelectorField(options);
3379
+ break;
3380
+ }
3381
+ case FIELD_TYPE.Package: {
3382
+ options.type = 'packageButton';
3383
+ options.notificationInfo = dataField.NotificationInfo;
3384
+ customField = new PepQuantitySelectorField(options);
3385
+ break;
3386
+ }
3387
+ }
3388
+ }
3389
+ if (!customField) {
3390
+ options.label = controlField.ApiName + ' is not supported!!!';
3391
+ customField = new PepSeparatorField(options);
3392
+ }
3393
+ return customField;
3394
+ }
3395
+ getFieldFormattedValue(field) {
3396
+ let fieldFormattedValue = field.formattedValue;
3397
+ // Fix for the custom check box component.
3398
+ if (field.controlType === 'checkbox') {
3399
+ fieldFormattedValue = fieldFormattedValue === 'true';
3400
+ }
3401
+ // Fix for the custom button component.
3402
+ if (field.controlType === 'button') {
3403
+ fieldFormattedValue =
3404
+ fieldFormattedValue === '0' ? '' : fieldFormattedValue;
3405
+ }
3406
+ return fieldFormattedValue;
3407
+ }
3408
+ toControlGroup(fields) {
3409
+ const group = {};
3410
+ if (fields && fields.length > 0) {
3411
+ fields.forEach((field) => {
3412
+ if (field.groupFields && field.groupFields.length > 0) {
3413
+ const subGroup = {};
3414
+ field.groupFields.forEach((groupField) => {
3415
+ if (groupField.mandatory &&
3416
+ !field.readonly &&
3417
+ !field.disabled) {
3418
+ subGroup[groupField.key] = [
3419
+ {
3420
+ value: groupField.formattedValue || '',
3421
+ disabled: field.readonly ||
3422
+ field.disabled ||
3423
+ groupField.disabled,
3424
+ },
3425
+ [Validators.required],
3426
+ ];
3427
+ }
3428
+ else {
3429
+ subGroup[groupField.key] = [
3430
+ {
3431
+ value: groupField.formattedValue || '',
3432
+ disabled: field.readonly ||
3433
+ field.disabled ||
3434
+ groupField.disabled,
3435
+ },
3436
+ [Validators.nullValidator],
3437
+ ];
3438
+ }
3439
+ });
3440
+ group[field.key] = this.fb.group(subGroup);
3441
+ }
3442
+ else {
3443
+ const validators = field.getValidators();
3444
+ const fieldFormattedValue = this.getFieldFormattedValue(field);
3445
+ group[field.key] = [
3446
+ {
3447
+ value: fieldFormattedValue || '',
3448
+ disabled: field.disabled,
3449
+ },
3450
+ validators,
3451
+ ];
3452
+ }
3453
+ });
3454
+ }
3455
+ return this.fb.group(group);
3456
+ }
3457
+ createBaseField(uiControlField, dataField) {
3458
+ const customField = this.convertToCustomField(uiControlField, dataField, this.canEditObject, this.menuDataField, this.hasCampaignDataField, this.indicatorsDataField, this.objectId, this.parentId, this.searchCode);
3459
+ return customField;
3460
+ }
3461
+ showFormValidationMessage() {
3462
+ const fields = this.fields;
3463
+ let emptyMandatoryFieldsMsg = '';
3464
+ let notValidFieldsMsg = '';
3465
+ // for (let i: number = 0; i < fields.length; i++) {
3466
+ // let field = fields[i];
3467
+ for (const field of fields) {
3468
+ const formControl = this.form && this.form.get(field.key);
3469
+ if (formControl) {
3470
+ // Mandatory is empty.
3471
+ if (field.mandatory &&
3472
+ formControl.value.toString().trim().length === 0) {
3473
+ emptyMandatoryFieldsMsg +=
3474
+ '<li><small>' + field.label + '</small></li>';
3475
+ }
3476
+ else if (!field.disabled && !formControl.valid) {
3477
+ notValidFieldsMsg +=
3478
+ '<li><small>' + field.label + '</small></li>';
3479
+ }
3480
+ }
3481
+ }
3482
+ // Add the header message of the empty mandatory fields
3483
+ if (emptyMandatoryFieldsMsg.length > 0) {
3484
+ emptyMandatoryFieldsMsg =
3485
+ '<div>' +
3486
+ this.translate.instant('MESSAGES.ERROR_MANDATORY_FIELDS') +
3487
+ "</div><ul style='padding: 0 20px;'>" +
3488
+ emptyMandatoryFieldsMsg +
3489
+ '</ul><br/>';
3490
+ }
3491
+ // Add the header message of the empty mandatory fields
3492
+ if (notValidFieldsMsg.length > 0) {
3493
+ notValidFieldsMsg =
3494
+ '<div>' +
3495
+ this.translate.instant('MESSAGES.ERROR_INVALID_FIELDS') +
3496
+ "</div><ul style='padding: 0 20px;'>" +
3497
+ notValidFieldsMsg +
3498
+ '</ul>';
3499
+ }
3500
+ const title = this.translate.instant('MESSAGES.TITLE_NOTICE');
3501
+ const data = new PepDialogData({
3502
+ title,
3503
+ content: emptyMandatoryFieldsMsg + notValidFieldsMsg,
3504
+ });
3505
+ this.dialogService.openDefaultDialog(data);
3506
+ }
3507
+ ngOnInit() {
3508
+ const themeVars = this.customizationService.getThemeVariables();
3509
+ // convert rem to pixel
3510
+ const RemToPixel = 16;
3511
+ this.formGutterSize =
3512
+ this.customizationService.getNumberThemeVariable(themeVars, PepCustomizationService.FORM_SPACEING_KEY) * RemToPixel;
3513
+ this.cardGutterSize =
3514
+ this.customizationService.getNumberThemeVariable(themeVars, PepCustomizationService.CARD_SPACEING_KEY) * RemToPixel;
3515
+ }
3516
+ ngDoCheck() {
3517
+ const changes = this.differ.diff(this.data); // check for changes
3518
+ if (changes) {
3519
+ this.updateForm();
3520
+ this.checkForChanges = new Date();
3521
+ }
3522
+ }
3523
+ ngOnChanges(changes) {
3524
+ // if (changes.data && changes.data.currentValue) {
3525
+ // // Load changes
3526
+ // if (!this.shouldReloadForm && changes.data.previousValue) {
3527
+ // this.data = changes.data.currentValue;
3528
+ // this.updateForm();
3529
+ // } else {
3530
+ // this._shouldReloadForm = false;
3531
+ // this.initForm();
3532
+ // }
3533
+ // }
3534
+ // if (this.shouldReloadForm || !changes?.data?.previousValue) {
3535
+ // this._shouldReloadForm = false;
3536
+ // this.initForm();
3537
+ // this.checkForChanges = new Date();
3538
+ // }
3539
+ }
3540
+ ngOnDestroy() {
3541
+ //
3542
+ }
3543
+ getUiControlFields() {
3544
+ return this.layout ? this.layout.ControlFields : [];
3545
+ }
3546
+ initFieldsStructure(fields, maxRow) {
3547
+ const themeVars = this.customizationService.getThemeVariables();
3548
+ // Set form row height.
3549
+ if (this.layoutType === 'card') {
3550
+ const cardFieldHeight = this.customizationService.getNumberThemeVariable(themeVars, PepCustomizationService.CARD_FIELD_HEIGHT_KEY);
3551
+ this.rowHeight = cardFieldHeight;
3552
+ }
3553
+ else {
3554
+ const rowFieldHeight = this.customizationService.getNumberThemeVariable(themeVars, PepCustomizationService.FORM_FIELD_HEIGHT_KEY);
3555
+ const rowFieldTitleHeight = this.customizationService.getNumberThemeVariable(themeVars, PepCustomizationService.FORM_FIELD_TITLE_HEIGHT_KEY);
3556
+ this.rowHeight = rowFieldHeight + rowFieldTitleHeight;
3557
+ }
3558
+ // Create the fields structure (the fields must be sorted!!!).
3559
+ if (fields.length > 0) {
3560
+ // Init the layout.
3561
+ if (
3562
+ // this.layoutType === 'form' ||
3563
+ this.layoutType === 'table') {
3564
+ this.fields = fields;
3565
+ this._fieldsSubject.next(fields);
3566
+ this.rows = [];
3567
+ for (let i = 0; i <= maxRow; i++) {
3568
+ this.rows[i] = [];
3569
+ }
3570
+ // for (let i = 0; i < fields.length; i++) {
3571
+ // const field = fields[i]
3572
+ for (const field of fields) {
3573
+ this.rows[field.row].push(field);
3574
+ }
3575
+ }
3576
+ else {
3577
+ const doesfieldExistIn = new Array(maxRow);
3578
+ for (let i = 0; i < doesfieldExistIn.length; i++) {
3579
+ doesfieldExistIn[i] = new Array(this.columns);
3580
+ for (let j = 0; j < doesfieldExistIn[i].length; j++) {
3581
+ doesfieldExistIn[i][j] = false;
3582
+ }
3583
+ }
3584
+ // Run in squere (row - colspan, col - rowspan) and put true where it should.
3585
+ // for (let index = 0; index < fields.length; index++) {
3586
+ // const currentField = fields[index];
3587
+ for (const currentField of fields) {
3588
+ if (currentField.rowSpan > 1) {
3589
+ for (let row = currentField.row; row < currentField.row + currentField.rowSpan; row++) {
3590
+ if (currentField.colSpan > 1) {
3591
+ for (let col = currentField.col; col <
3592
+ currentField.col + currentField.colSpan; col++) {
3593
+ if (doesfieldExistIn.length > row &&
3594
+ doesfieldExistIn[0].length > col) {
3595
+ doesfieldExistIn[row][col] = true;
3596
+ }
3597
+ }
3598
+ }
3599
+ else {
3600
+ if (doesfieldExistIn.length > row &&
3601
+ doesfieldExistIn[0].length >
3602
+ currentField.col) {
3603
+ doesfieldExistIn[row][currentField.col] = true;
3604
+ }
3605
+ }
3606
+ }
3607
+ }
3608
+ else if (currentField.colSpan > 1) {
3609
+ for (let col = currentField.col; col < currentField.col + currentField.colSpan; col++) {
3610
+ if (doesfieldExistIn.length > currentField.row &&
3611
+ doesfieldExistIn[0].length > col) {
3612
+ doesfieldExistIn[currentField.row][col] = true;
3613
+ }
3614
+ }
3615
+ }
3616
+ else {
3617
+ if (doesfieldExistIn.length > currentField.row &&
3618
+ doesfieldExistIn[0].length > currentField.col) {
3619
+ doesfieldExistIn[currentField.row][currentField.col] = true;
3620
+ }
3621
+ }
3622
+ }
3623
+ // Create empty fields where doesfieldExistIn is false (For the md-grid-list UI Component).
3624
+ for (let i = 0; i < doesfieldExistIn.length; i++) {
3625
+ for (let j = 0; j < doesfieldExistIn[i].length; j++) {
3626
+ if (!doesfieldExistIn[i][j]) {
3627
+ // Create empty field and add it to the fields list.
3628
+ fields.push(new PepPlaceholderField({
3629
+ key: i + '_' + j,
3630
+ label: '',
3631
+ placeholder: '',
3632
+ readonly: false,
3633
+ disabled: false,
3634
+ hidden: false,
3635
+ mandatory: false,
3636
+ value: '',
3637
+ formattedValue: '',
3638
+ row: i,
3639
+ rowSpan: 1,
3640
+ col: j,
3641
+ colSpan: 1,
3642
+ order: 1,
3643
+ }));
3644
+ }
3645
+ }
3646
+ }
3647
+ // Sort the fields again.
3648
+ this.fields = fields.sort((f1, f2) => f1.row > f2.row
3649
+ ? 1
3650
+ : f1.row < f2.row
3651
+ ? -1
3652
+ : f1.col > f2.col
3653
+ ? 1
3654
+ : f1.col < f2.col
3655
+ ? -1
3656
+ : 0);
3657
+ this._fieldsSubject.next(fields);
3658
+ }
3659
+ }
3660
+ }
3661
+ setForm(isForUpdate = false) {
3662
+ var _a;
3663
+ let allFieldsAreReadOnly = true;
3664
+ if (!isForUpdate) {
3665
+ const fields = [];
3666
+ for (const currentField of this.fields) {
3667
+ // Add all fields except 'internalPage' (for children).
3668
+ if (currentField.controlType !== 'internalPage') {
3669
+ fields.push(currentField);
3670
+ }
3671
+ if (!currentField.readonly) {
3672
+ allFieldsAreReadOnly = false;
3673
+ }
3674
+ }
3675
+ this.form = this.toControlGroup(fields);
3676
+ }
3677
+ else {
3678
+ // Update form values if changed by calculated fields.
3679
+ for (let i = 0; i < this.fields.length; i++) {
3680
+ let currentField = this.fields[i];
3681
+ if (currentField.controlType === 'internalCarusel') {
3682
+ // Hack to override (update) the field.
3683
+ const uiControlField = this.getUiControlFields().find(cf => cf.ApiName === currentField.key);
3684
+ const dataField = this.data.Fields.find(df => df.ApiName === currentField.key);
3685
+ currentField = this.createBaseField(uiControlField, dataField);
3686
+ this._fieldsSubject.value[i] = currentField;
3687
+ }
3688
+ else if (currentField.controlType !== 'internalPage') {
3689
+ if (currentField.groupFields &&
3690
+ currentField.groupFields.length > 0) {
3691
+ // for (let j = 0; j < currentField.groupFields.length; j++) {
3692
+ // let currentGroupField = currentField.groupFields[j];
3693
+ for (const currentGroupField of currentField.groupFields) {
3694
+ const fieldFormattedValue = this.getFieldFormattedValue(currentGroupField);
3695
+ this.customizationService.updateFormField(this.form, currentGroupField, fieldFormattedValue, currentField);
3696
+ }
3697
+ }
3698
+ else {
3699
+ const fieldFormattedValue = this.getFieldFormattedValue(currentField);
3700
+ // this.form.controls[currentField.key].setValue(fieldFormattedValue);
3701
+ this.customizationService.updateFormField(this.form, currentField, fieldFormattedValue);
3702
+ }
3703
+ }
3704
+ if (!currentField.readonly) {
3705
+ allFieldsAreReadOnly = false;
3706
+ }
3707
+ }
3708
+ }
3709
+ let isFormValid = (_a = this.form) === null || _a === void 0 ? void 0 : _a.valid;
3710
+ // Change validation to true if all fields are read only.
3711
+ if (!isFormValid && allFieldsAreReadOnly) {
3712
+ isFormValid = true;
3713
+ }
3714
+ this.onFormValidationChanged(isFormValid);
3715
+ // Set it to false to enable all fields.
3716
+ if (this.isInternal && this.isLocked) {
3717
+ this.isLocked = false;
3718
+ }
3719
+ }
3720
+ initForm() {
3721
+ if (this.data && this.data.Fields) {
3722
+ const fields = this.convertCustomFields(this.getUiControlFields(), this.data.Fields);
3723
+ const maxRow = Math.max(...fields.map((f) => {
3724
+ return f.row + f.rowSpan;
3725
+ }));
3726
+ this.columns = Math.max(...fields.map((f) => {
3727
+ return f.col + f.colSpan;
3728
+ }));
3729
+ this.initFieldsStructure(fields, maxRow);
3730
+ this.setForm();
3731
+ }
3732
+ }
3733
+ updateField(customField, updatedField) {
3734
+ const options = {
3735
+ disabled: !updatedField.Enabled || !this.canEditObject,
3736
+ readonly: !updatedField.Enabled || !this.canEditObject,
3737
+ visible: updatedField.Visible,
3738
+ value: updatedField.Value,
3739
+ additionalValue: updatedField.AdditionalValue,
3740
+ formattedValue: updatedField.FormattedValue,
3741
+ textColor: updatedField.TextColor,
3742
+ };
3743
+ if (customField instanceof PepQuantitySelectorField) {
3744
+ const notificationInfo = updatedField.NotificationInfo;
3745
+ options.notificationInfo = notificationInfo;
3746
+ // Change type if it's change (only for allowDecimal).
3747
+ let allowDecimal = false;
3748
+ if (updatedField.FieldType === FIELD_TYPE.NumberRealQuantitySelector ||
3749
+ updatedField.FieldType === FIELD_TYPE.NumberReal ||
3750
+ updatedField.FieldType === FIELD_TYPE.NumberRealForMatrix) {
3751
+ allowDecimal = true;
3752
+ }
3753
+ options.allowDecimal = allowDecimal;
3754
+ }
3755
+ else if (customField instanceof PepSelectField) {
3756
+ options.options = this.convertOptionalValues(updatedField.OptionalValues);
3757
+ if (!options.options || options.options.length === 0) {
3758
+ options.options.push({
3759
+ key: options.value,
3760
+ value: options.formattedValue,
3761
+ });
3762
+ }
3763
+ }
3764
+ else if (customField instanceof PepInternalCaruselField) {
3765
+ options.pageInfo = updatedField.UIPageInfo;
3766
+ }
3767
+ customField.update(options);
3768
+ }
3769
+ updateForm() {
3770
+ if (this.data && this.data.Fields) {
3771
+ for (const currentField of this.data.Fields) {
3772
+ const customField = this.fields.filter((f) => f.key === currentField.ApiName)[0];
3773
+ // Update all fields except 'internalPage' type (for children).
3774
+ if (customField && customField.controlType !== 'internalPage') {
3775
+ this.updateField(customField, currentField);
3776
+ // Update the group fields.
3777
+ if (customField.controlType === 'address' &&
3778
+ currentField.GroupFields) {
3779
+ // for (let j = 0; j < currentField.GroupFields.length; j++) {
3780
+ // let currentGroupField = currentField.GroupFields[j];
3781
+ for (const currentGroupField of currentField.GroupFields) {
3782
+ currentGroupField.Enabled = !currentField.Enabled
3783
+ ? false
3784
+ : currentGroupField.Enabled;
3785
+ const customGroupField = customField.groupFields.filter((f) => f.key === currentGroupField.ApiName)[0];
3786
+ this.updateField(customGroupField, currentGroupField);
3787
+ }
3788
+ }
3789
+ }
3790
+ }
3791
+ this.setForm(true);
3792
+ }
3793
+ }
3794
+ ReloadForm() {
3795
+ this._shouldReloadForm = true;
3796
+ }
3797
+ // onSubmit() {
3798
+ // if (this.form.valid) {
3799
+ // this.payLoad = JSON.stringify(this.form.value);
3800
+ // //this.submitted.emit(this.form.value);
3801
+ // }
3802
+ // }
3803
+ getFormControlById(key) {
3804
+ let formControl = null;
3805
+ this.fields.forEach((field) => {
3806
+ if (field.key === key) {
3807
+ formControl = this.form.get(field.key);
3808
+ return;
3809
+ }
3810
+ else if (field.groupFields && field.groupFields.length > 0) {
3811
+ field.groupFields.forEach((groupField) => {
3812
+ if (groupField.key === key) {
3813
+ formControl = this.form.get(field.key + '.' + groupField.key);
3814
+ return;
3815
+ }
3816
+ });
3817
+ }
3818
+ });
3819
+ return formControl;
3820
+ }
3821
+ setSpecialFields(controlFields, dataFields) {
3822
+ // let cf;
3823
+ // for (let index = 0; index < controlFields.length; index++) {
3824
+ // cf = controlFields[index];
3825
+ for (const cf of controlFields) {
3826
+ if (cf.ApiName === 'ObjectMenu') {
3827
+ this.menuField = cf;
3828
+ }
3829
+ else if (cf.ApiName === 'ItemHasActiveCampaign') {
3830
+ this.hasCampaignField = cf;
3831
+ }
3832
+ else if (cf.ApiName === 'ItemIndicatorsWithoutCampaign') {
3833
+ this.indicatorsField = cf;
3834
+ }
3835
+ }
3836
+ // let df;
3837
+ // for (let index = 0; index < dataFields.length; index++) {
3838
+ // df = dataFields[index];
3839
+ for (const df of dataFields) {
3840
+ if (df.ApiName === 'ObjectMenu') {
3841
+ this.menuDataField = df;
3842
+ }
3843
+ else if (df.ApiName === 'ItemHasActiveCampaign') {
3844
+ this.hasCampaignDataField = df;
3845
+ }
3846
+ else if (df.ApiName === 'ItemIndicatorsWithoutCampaign') {
3847
+ this.indicatorsDataField = df;
3848
+ }
3849
+ }
3850
+ if (this.menuField && this.menuDataField) {
3851
+ this.menuDataField.Layout = this.menuField.Layout;
3852
+ }
3853
+ if (this.hasCampaignField && this.hasCampaignDataField) {
3854
+ this.hasCampaignDataField.Layout = this.hasCampaignField.Layout;
3855
+ }
3856
+ if (this.indicatorsField && this.indicatorsDataField) {
3857
+ this.indicatorsDataField.Layout = this.indicatorsField.Layout;
3858
+ }
3859
+ // Check if menu is floating on other field.
3860
+ // for (let index = 0; index < controlFields.length; index++) {
3861
+ // cf = controlFields[index];
3862
+ for (const cf of controlFields) {
3863
+ if (this.menuField && cf.ApiName !== 'ObjectMenu') {
3864
+ this.hasMenuFloatingOnOtherField = this.doesFieldHavaFloatingField(cf, this.menuField);
3865
+ if (this.hasMenuFloatingOnOtherField) {
3866
+ break;
3867
+ }
3868
+ }
3869
+ }
3870
+ }
3871
+ convertCustomFields(controlFields, dataFields) {
3872
+ if (this.layoutType !== 'table') {
3873
+ this.setSpecialFields(controlFields, dataFields);
3874
+ }
3875
+ else {
3876
+ // HACK: convert to center alignment if table view & special fields)
3877
+ controlFields.forEach((field, index) => {
3878
+ if (field.ApiName === 'UnitsQuantity' ||
3879
+ field.ApiName === 'QuantitySelector' ||
3880
+ field.ApiName === 'ObjectMenu' ||
3881
+ field.FieldType === FIELD_TYPE.Image ||
3882
+ field.FieldType === FIELD_TYPE.ImageURL ||
3883
+ field.FieldType === FIELD_TYPE.Indicators ||
3884
+ field.FieldType === FIELD_TYPE.Boolean ||
3885
+ field.FieldType === FIELD_TYPE.CalculatedBool ||
3886
+ field.FieldType === FIELD_TYPE.Signature ||
3887
+ field.FieldType ===
3888
+ FIELD_TYPE.NumberIntegerQuantitySelector ||
3889
+ field.FieldType === FIELD_TYPE.NumberRealQuantitySelector ||
3890
+ field.FieldType === FIELD_TYPE.Package ||
3891
+ field.FieldType === FIELD_TYPE.NumberIntegerForMatrix ||
3892
+ field.FieldType === FIELD_TYPE.NumberRealForMatrix) {
3893
+ field.Layout.XAlignment = X_ALIGNMENT_TYPE.Center;
3894
+ }
3895
+ else {
3896
+ // HACK: align the rest of the fields by the culture.
3897
+ // field.Layout.XAlignment = this.layoutService.isRtl() ? X_ALIGNMENT_TYPE.Right : X_ALIGNMENT_TYPE.Left;
3898
+ }
3899
+ });
3900
+ }
3901
+ const fields = [];
3902
+ controlFields.forEach((field, index) => {
3903
+ const dataField = dataFields.filter((df) => df.ApiName === field.ApiName)[0];
3904
+ if (!dataField) {
3905
+ return;
3906
+ }
3907
+ // If current view is not table view and those fields are special.
3908
+ if (this.layoutType !== 'table' &&
3909
+ ((this.hasMenuFloatingOnOtherField &&
3910
+ this.menuField &&
3911
+ this.menuField.ApiName === field.ApiName) ||
3912
+ (this.indicatorsField &&
3913
+ this.indicatorsField.ApiName === field.ApiName) ||
3914
+ (this.hasCampaignField &&
3915
+ this.hasCampaignField.ApiName === field.ApiName))) {
3916
+ return;
3917
+ }
3918
+ // Set type to link
3919
+ if (index === 0 && this.firstFieldAsLink) {
3920
+ dataField.FieldType = FIELD_TYPE.InternalLink;
3921
+ // dataField.Value = this.getInternalLinkHref();
3922
+ }
3923
+ if (field.ApiName === 'ObjectMenu') {
3924
+ dataField.Enabled = true;
3925
+ // HACK : Until "Enabled" returns from the server, we set PepMenu to be
3926
+ // Disabled in cart on regular items and not campign items.
3927
+ }
3928
+ const customField = this.createBaseField(field, dataField);
3929
+ fields.push(customField);
3930
+ });
3931
+ return fields.sort((f1, f2) => f1.row > f2.row
3932
+ ? 1
3933
+ : f1.row < f2.row
3934
+ ? -1
3935
+ : f1.col > f2.col
3936
+ ? 1
3937
+ : f1.col < f2.col
3938
+ ? -1
3939
+ : 0);
3940
+ }
3941
+ onFormValidationChanged(formValidationChange) {
3942
+ this.formValidationChange.emit(formValidationChange);
3943
+ }
3944
+ onValueChanged(event) {
3945
+ this.onFormValidationChanged(this.form.valid);
3946
+ const formControl = this.getFormControlById(event.key);
3947
+ const isValid = formControl ? formControl.valid : true;
3948
+ // const isValid = true;
3949
+ if (isValid) {
3950
+ // Set it to false to disable all fields.
3951
+ if (this.isInternal && this.layoutType === 'form') {
3952
+ this.isLocked = true;
3953
+ }
3954
+ // Update the current field value.
3955
+ const currentField = this.fields.find((f) => f.key === event.key);
3956
+ if (currentField) {
3957
+ currentField.formattedValue = currentField.value = event.value;
3958
+ }
3959
+ this.valueChange.emit({
3960
+ id: this.data.UID.toString(),
3961
+ uiObjectKey: this.data.Key,
3962
+ key: event.key,
3963
+ value: event.value,
3964
+ controlType: event.controlType,
3965
+ });
3966
+ }
3967
+ }
3968
+ onClick(fieldClickEvent) {
3969
+ const clickedUiControlField = this.data.Fields.filter((f) => f.ApiName === fieldClickEvent.key)[0];
3970
+ const idType = this.data.Type ? this.data.Type.toString() : '';
3971
+ if (clickedUiControlField) {
3972
+ this.fieldClick.emit({
3973
+ id: this.data.UID.toString(),
3974
+ uiObjectKey: this.data.Key,
3975
+ key: fieldClickEvent.key,
3976
+ idType,
3977
+ which: fieldClickEvent.eventWhich,
3978
+ value: fieldClickEvent.value,
3979
+ controlType: fieldClickEvent.controlType,
3980
+ fieldType: clickedUiControlField.FieldType,
3981
+ otherData: fieldClickEvent.otherData,
3982
+ });
3983
+ }
3984
+ else {
3985
+ // For other api names (like enter children etc).
3986
+ this.fieldClick.emit({
3987
+ id: this.data.UID.toString(),
3988
+ uiObjectKey: this.data.Key,
3989
+ key: fieldClickEvent.key,
3990
+ idType,
3991
+ which: fieldClickEvent.eventWhich,
3992
+ value: fieldClickEvent.value,
3993
+ controlType: fieldClickEvent.controlType,
3994
+ otherData: fieldClickEvent.otherData,
3995
+ });
3996
+ }
3997
+ }
3998
+ // This event is for handle the internal page events.
3999
+ onInternalFormFieldClicked(internalFormFieldClick) {
4000
+ this.internalFormFieldClick.emit(internalFormFieldClick);
4001
+ }
4002
+ // This event is for handle the internal page events.
4003
+ onInternalFormFieldChanged(internalFormFieldChange) {
4004
+ this.internalFormFieldChange.emit(internalFormFieldChange);
4005
+ }
4006
+ // This event is for handle the related items change events.
4007
+ onFormValueChanged(event) {
4008
+ // this.valueChange.emit(event);
4009
+ }
4010
+ // This event is for handle the related items change events.
4011
+ onFormFieldClick(event) {
4012
+ this.fieldClick.emit(event);
4013
+ }
4014
+ }
4015
+ PepFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepFormComponent, deps: [{ token: i1$2.PepDialogService }, { token: i1$1.PepCustomizationService }, { token: i1$1.PepLayoutService }, { token: i3$1.FormBuilder }, { token: i0.KeyValueDiffers }, { token: i4$1.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
4016
+ PepFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PepFormComponent, selector: "pep-form", inputs: { isInternal: "isInternal", isReport: "isReport", layout: "layout", lockEvents: "lockEvents", canEditObject: "canEditObject", data: "data", lockFields: "lockFields", isActive: "isActive", layoutType: "layoutType", objectId: "objectId", parentId: "parentId", searchCode: "searchCode", showTitle: "showTitle", firstFieldAsLink: "firstFieldAsLink", checkForChanges: "checkForChanges" }, outputs: { valueChange: "valueChange", formValidationChange: "formValidationChange", fieldClick: "fieldClick", internalFormFieldClick: "internalFormFieldClick", internalFormFieldChange: "internalFormFieldChange" }, usesOnChanges: true, ngImport: i0, template: "<fieldset *ngIf=\"form\" [formGroup]=\"form\" [disabled]=\"isLocked\" class=\"pep-form\"\n [ngStyle]=\"{ 'background-color': layoutType == 'card' && data?.BackgroundColor }\">\n <!-- New Form -->\n <mat-grid-list *ngIf=\"layoutType == 'form'\" [cols]=\"columns\" [rowHeight]=\"rowHeight + 'rem'\"\n [gutterSize]=\"formGutterSize\">\n <mat-grid-tile *ngFor=\"let field of fields$ | async\" [rowspan]=\"field.rowSpan\" [colspan]=\"field.colSpan\">\n <pep-field-generator *ngIf=\"field.controlType != 'placeholder'\" [form]=\"form\" [layoutType]=\"layoutType\"\n [checkForChanges]=\"checkForChanges\" [uid]=\"data?.UID\" [field]=\"field\" [showTitle]=\"showTitle\"\n (valueChange)=\"onValueChanged($event)\" (elementClick)=\"onClick($event)\"\n (internalFormFieldClick)=\"onInternalFormFieldClicked($event)\"\n (internalFormFieldChange)=\"onInternalFormFieldChanged($event)\"\n (formValueChange)=\"onFormValueChanged($event)\" (formFieldClick)=\"onFormFieldClick($event)\"\n (formValidationChange)=\"onFormValidationChanged($event)\">\n </pep-field-generator>\n </mat-grid-tile>\n </mat-grid-list>\n\n <!-- Thumbnails -->\n <mat-grid-list *ngIf=\"layoutType == 'card'\" [cols]=\"columns\" [rowHeight]=\"rowHeight + 'rem'\"\n [gutterSize]=\"cardGutterSize\" class=\"card-spacing\">\n <mat-grid-tile *ngFor=\"let field of fields$ | async\" [rowspan]=\"field.rowSpan\" [colspan]=\"field.colSpan\"\n [ngStyle]=\"{ overflow: field.type == 'qs' ? 'unset' : 'hidden' }\">\n <pep-field-generator *ngIf=\"field.controlType != 'placeholder'\" [form]=\"form\" [layoutType]=\"layoutType\"\n [ngClass]=\"{ 'lock-events': lockEvents }\" [isActive]=\"isActive\" [checkForChanges]=\"checkForChanges\"\n [uid]=\"data?.UID\" [field]=\"field\" [showTitle]=\"showTitle\" (valueChange)=\"onValueChanged($event)\"\n (elementClick)=\"onClick($event)\" (internalFormFieldClick)=\"onInternalFormFieldClicked($event)\"\n (internalFormFieldChange)=\"onInternalFormFieldChanged($event)\"\n (formValueChange)=\"onFormValueChanged($event)\" (formFieldClick)=\"onFormFieldClick($event)\">\n </pep-field-generator>\n </mat-grid-tile>\n </mat-grid-list>\n\n <ng-container *ngIf=\"layoutType == 'table'\">\n <ng-container *ngIf=\"isReport; then reportBlock; else notReportBlock\"></ng-container>\n <ng-template #reportBlock>\n <ng-container *ngTemplateOutlet=\"report\"></ng-container>\n </ng-template>\n <ng-template #notReportBlock>\n <div *ngFor=\"let field of fields$ | async; let j = index\" class=\"pull-left flip table-cell \"\n [ngClass]=\"['text-align-' + field.xAlignment]\" style=\"height: 100%\"\n [ngStyle]=\"{ width: (layout?.ControlFields)[j]?.calcColumnWidthString}\">\n <pep-field-generator *ngIf=\"field.controlType != 'placeholder'\" [checkForChanges]=\"checkForChanges\"\n [uid]=\"data?.UID\" [field]=\"field\" [form]=\"form\" [layoutType]=\"layoutType\" [showTitle]=\"false\"\n (elementClick)=\"onClick($event)\" (valueChange)=\"onValueChanged($event)\"\n (formValueChange)=\"onFormValueChanged($event)\" (formFieldClick)=\"onFormFieldClick($event)\"\n [isActive]=\"isActive\">\n </pep-field-generator>\n </div>\n </ng-template>\n </ng-container>\n\n <!------- For testing ------------\n {{ form.value | json }}\n {{ form.valid }}\n ---------------------------------->\n</fieldset>\n\n<ng-template #report>\n <div *ngFor=\"let field of fields$ | async; let j = index\" class=\"pull-left flip pep-report-fields\"\n [ngStyle]=\"{ width: (layout?.ControlFields)[j]?.calcColumnWidthString }\"\n [ngClass]=\"['text-align-' + field.xAlignment]\">\n <ng-container [ngSwitch]=\"field.controlType\">\n <pep-image *ngSwitchCase=\"'image'\" [uid]=\"data?.UID\" [form]=\"form\" [key]=\"field.key\"\n [src]=\"field.formattedValue\" [srcLarge]=\"field.value\" [options]=\"field.options\" [label]=\"field.label\"\n [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\" [readonly]=\"field.readonly\"\n [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\" [layoutType]=\"layoutType\"\n (elementClick)=\"onClick($event)\">\n </pep-image>\n\n <pep-signature *ngSwitchCase=\"'signature'\" [form]=\"form\" [key]=\"field.key\" [src]=\"field.value\"\n [label]=\"field.label\" [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\"\n [readonly]=\"field.readonly\" [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\"\n [layoutType]=\"layoutType\">\n </pep-signature>\n\n <pep-checkbox *ngSwitchCase=\"'checkbox'\" [form]=\"form\" [key]=\"field.key\"\n [value]=\"(field.value | lowercase) == 'true' || field.value == '1' ? true : false\" [label]=\"field.label\"\n [type]=\"field.type\" [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\"\n [readonly]=\"field.readonly\" [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\"\n [additionalValue]=\"field.additionalValue\" [layoutType]=\"layoutType\">\n </pep-checkbox>\n\n <pep-date *ngSwitchCase=\"'date'\" [form]=\"form\" [key]=\"field.key\" [value]=\"field.value\"\n [formattedValue]=\"field.formattedValue\" [label]=\"field.label\" [type]=\"field.type\"\n [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\" [readonly]=\"field.readonly\"\n [textColor]=\"field.textColor\" [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\"\n [minValue]=\"field.minValue\" [maxValue]=\"field.maxValue\" [layoutType]=\"layoutType\">\n </pep-date>\n\n <pep-internal-button *ngSwitchCase=\"'button'\" [form]=\"form\" [key]=\"field.key\" [value]=\"field.value\"\n [formattedValue]=\"field.formattedValue\" [label]=\"field.label\" [type]=\"field.type\"\n [disabled]=\"field.disabled\" [readonly]=\"field.readonly\" [xAlignment]=\"field.xAlignment\"\n [layoutType]=\"layoutType\" (elementClick)=\"onClick($event)\">\n </pep-internal-button>\n\n <pep-textarea *ngSwitchCase=\"'textarea'\" [form]=\"form\" [key]=\"field.key\" [value]=\"field.value\"\n [label]=\"field.label\" [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\"\n [readonly]=\"field.readonly\" [maxFieldCharacters]=\"field.maxFieldCharacters\"\n [textColor]=\"field.textColor\" [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\"\n [layoutType]=\"layoutType\">\n </pep-textarea>\n\n <pep-quantity-selector *ngSwitchCase=\"'qs'\" [id]=\"field.key\" [form]=\"form\" [key]=\"field.key\"\n [value]=\"field.value\" [formattedValue]=\"field.formattedValue\" [label]=\"field.label\" [type]=\"field.type\"\n [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\" [readonly]=\"field.readonly\"\n [textColor]=\"field.textColor\" [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\"\n [layoutType]=\"layoutType\" (valueChange)=\"onValueChanged($event)\" (elementClick)=\"onClick($event)\">\n </pep-quantity-selector>\n\n <ng-container *ngSwitchDefault>\n <ng-container *ngIf=\"field.formattedValue?.length > 0; then notEmptyBlock; else emptyBlock\">\n </ng-container>\n <ng-template #notEmptyBlock>\n <ng-container\n *ngIf=\"field.controlType === 'attachment' || field.type === 'link'; then linkBlock; else notLinkBlock\">\n </ng-container>\n <ng-template #linkBlock>\n <a [id]=\"field.key\" class=\"color-link body-sm pep-report-input readonly\"\n *ngIf=\"field.formattedValue != null\" title=\"{{ field.formattedValue }}\" target=\"_blank\"\n href=\"{{ field.value }}\">{{ field.formattedValue }}</a>\n </ng-template>\n <ng-template #notLinkBlock>\n <span [id]=\"field.key\" class=\"body-sm pep-report-input readonly\"\n title=\"{{ field.formattedValue }}\" [ngStyle]=\"{ color: field.textColor }\">{{\n field.formattedValue }}</span>\n </ng-template>\n </ng-template>\n <ng-template #emptyBlock>\n <span>&nbsp;</span>\n </ng-template>\n </ng-container>\n </ng-container>\n </div>\n</ng-template>", styles: [":host{display:grid}\n"], dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i5.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i5.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i5.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i5.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: i3$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i6$1.MatGridList, selector: "mat-grid-list", inputs: ["cols", "gutterSize", "rowHeight"], exportAs: ["matGridList"] }, { kind: "component", type: i6$1.MatGridTile, selector: "mat-grid-tile", inputs: ["rowspan", "colspan"], exportAs: ["matGridTile"] }, { kind: "component", type: i5$2.PepCheckboxComponent, selector: "pep-checkbox", inputs: ["key", "value", "label", "type", "mandatory", "disabled", "readonly", "xAlignment", "rowSpan", "additionalValue", "form", "isActive", "showTitle", "renderTitle", "layoutType", "visible"], outputs: ["valueChange"] }, { kind: "component", type: i6.PepDateComponent, selector: "pep-date", inputs: ["key", "value", "formattedValue", "label", "type", "mandatory", "disabled", "readonly", "textColor", "xAlignment", "rowSpan", "visible", "minValue", "maxValue", "minDateValue", "maxDateValue", "form", "isActive", "showTitle", "renderTitle", "renderError", "renderSymbol", "layoutType"], outputs: ["valueChange"] }, { kind: "component", type: i7$1.PepImageComponent, selector: "pep-image", inputs: ["key", "srcLarge", "src", "options", "label", "mandatory", "disabled", "readonly", "xAlignment", "rowSpan", "indicatorsField", "menuField", "hasCampaignField", "visible", "form", "uid", "showTitle", "renderTitle", "layoutType", "isActive", "sizeLimitMB", "acceptImagesType"], outputs: ["fileChange", "elementClick"] }, { kind: "component", type: i9.PepQuantitySelectorComponent, selector: "pep-quantity-selector", inputs: ["key", "value", "formattedValue", "label", "type", "mandatory", "disabled", "readonly", "textColor", "xAlignment", "rowSpan", "allowDecimal", "additionalValue", "notificationInfo", "visible", "form", "showTitle", "renderTitle", "layoutType", "isActive", "styleType"], outputs: ["valueChange", "elementClick"] }, { kind: "component", type: i13.PepSignatureComponent, selector: "pep-signature", inputs: ["key", "src", "label", "mandatory", "disabled", "readonly", "xAlignment", "rowSpan", "signatureURL", "visible", "form", "showTitle", "renderTitle", "layoutType", "isActive"], outputs: ["fileChange"] }, { kind: "component", type: i14.PepTextareaComponent, selector: "pep-textarea", inputs: ["key", "value", "label", "mandatory", "disabled", "readonly", "maxFieldCharacters", "textColor", "xAlignment", "rowSpan", "visible", "form", "isActive", "showTitle", "renderTitle", "layoutType"], outputs: ["valueChange"] }, { kind: "component", type: PepFieldGeneratorComponent, selector: "pep-field-generator", inputs: ["field", "isActive", "uid", "form", "layoutType", "showTitle", "checkForChanges"], outputs: ["valueChange", "formValidationChange", "elementClick", "internalFormFieldChange", "internalFormFieldClick", "formValueChange", "formFieldClick"] }, { kind: "component", type: PepInternalButtonComponent, selector: "pep-internal-button", inputs: ["key", "value", "formattedValue", "label", "referenceObjectInternalType", "type", "mandatory", "disabled", "readonly", "xAlignment", "rowSpan", "visible", "form", "showTitle", "layoutType"], outputs: ["elementClick", "valueChange"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.LowerCasePipe, name: "lowercase" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
4017
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepFormComponent, decorators: [{
4018
+ type: Component,
4019
+ args: [{ selector: 'pep-form', changeDetection: ChangeDetectionStrategy.OnPush, template: "<fieldset *ngIf=\"form\" [formGroup]=\"form\" [disabled]=\"isLocked\" class=\"pep-form\"\n [ngStyle]=\"{ 'background-color': layoutType == 'card' && data?.BackgroundColor }\">\n <!-- New Form -->\n <mat-grid-list *ngIf=\"layoutType == 'form'\" [cols]=\"columns\" [rowHeight]=\"rowHeight + 'rem'\"\n [gutterSize]=\"formGutterSize\">\n <mat-grid-tile *ngFor=\"let field of fields$ | async\" [rowspan]=\"field.rowSpan\" [colspan]=\"field.colSpan\">\n <pep-field-generator *ngIf=\"field.controlType != 'placeholder'\" [form]=\"form\" [layoutType]=\"layoutType\"\n [checkForChanges]=\"checkForChanges\" [uid]=\"data?.UID\" [field]=\"field\" [showTitle]=\"showTitle\"\n (valueChange)=\"onValueChanged($event)\" (elementClick)=\"onClick($event)\"\n (internalFormFieldClick)=\"onInternalFormFieldClicked($event)\"\n (internalFormFieldChange)=\"onInternalFormFieldChanged($event)\"\n (formValueChange)=\"onFormValueChanged($event)\" (formFieldClick)=\"onFormFieldClick($event)\"\n (formValidationChange)=\"onFormValidationChanged($event)\">\n </pep-field-generator>\n </mat-grid-tile>\n </mat-grid-list>\n\n <!-- Thumbnails -->\n <mat-grid-list *ngIf=\"layoutType == 'card'\" [cols]=\"columns\" [rowHeight]=\"rowHeight + 'rem'\"\n [gutterSize]=\"cardGutterSize\" class=\"card-spacing\">\n <mat-grid-tile *ngFor=\"let field of fields$ | async\" [rowspan]=\"field.rowSpan\" [colspan]=\"field.colSpan\"\n [ngStyle]=\"{ overflow: field.type == 'qs' ? 'unset' : 'hidden' }\">\n <pep-field-generator *ngIf=\"field.controlType != 'placeholder'\" [form]=\"form\" [layoutType]=\"layoutType\"\n [ngClass]=\"{ 'lock-events': lockEvents }\" [isActive]=\"isActive\" [checkForChanges]=\"checkForChanges\"\n [uid]=\"data?.UID\" [field]=\"field\" [showTitle]=\"showTitle\" (valueChange)=\"onValueChanged($event)\"\n (elementClick)=\"onClick($event)\" (internalFormFieldClick)=\"onInternalFormFieldClicked($event)\"\n (internalFormFieldChange)=\"onInternalFormFieldChanged($event)\"\n (formValueChange)=\"onFormValueChanged($event)\" (formFieldClick)=\"onFormFieldClick($event)\">\n </pep-field-generator>\n </mat-grid-tile>\n </mat-grid-list>\n\n <ng-container *ngIf=\"layoutType == 'table'\">\n <ng-container *ngIf=\"isReport; then reportBlock; else notReportBlock\"></ng-container>\n <ng-template #reportBlock>\n <ng-container *ngTemplateOutlet=\"report\"></ng-container>\n </ng-template>\n <ng-template #notReportBlock>\n <div *ngFor=\"let field of fields$ | async; let j = index\" class=\"pull-left flip table-cell \"\n [ngClass]=\"['text-align-' + field.xAlignment]\" style=\"height: 100%\"\n [ngStyle]=\"{ width: (layout?.ControlFields)[j]?.calcColumnWidthString}\">\n <pep-field-generator *ngIf=\"field.controlType != 'placeholder'\" [checkForChanges]=\"checkForChanges\"\n [uid]=\"data?.UID\" [field]=\"field\" [form]=\"form\" [layoutType]=\"layoutType\" [showTitle]=\"false\"\n (elementClick)=\"onClick($event)\" (valueChange)=\"onValueChanged($event)\"\n (formValueChange)=\"onFormValueChanged($event)\" (formFieldClick)=\"onFormFieldClick($event)\"\n [isActive]=\"isActive\">\n </pep-field-generator>\n </div>\n </ng-template>\n </ng-container>\n\n <!------- For testing ------------\n {{ form.value | json }}\n {{ form.valid }}\n ---------------------------------->\n</fieldset>\n\n<ng-template #report>\n <div *ngFor=\"let field of fields$ | async; let j = index\" class=\"pull-left flip pep-report-fields\"\n [ngStyle]=\"{ width: (layout?.ControlFields)[j]?.calcColumnWidthString }\"\n [ngClass]=\"['text-align-' + field.xAlignment]\">\n <ng-container [ngSwitch]=\"field.controlType\">\n <pep-image *ngSwitchCase=\"'image'\" [uid]=\"data?.UID\" [form]=\"form\" [key]=\"field.key\"\n [src]=\"field.formattedValue\" [srcLarge]=\"field.value\" [options]=\"field.options\" [label]=\"field.label\"\n [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\" [readonly]=\"field.readonly\"\n [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\" [layoutType]=\"layoutType\"\n (elementClick)=\"onClick($event)\">\n </pep-image>\n\n <pep-signature *ngSwitchCase=\"'signature'\" [form]=\"form\" [key]=\"field.key\" [src]=\"field.value\"\n [label]=\"field.label\" [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\"\n [readonly]=\"field.readonly\" [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\"\n [layoutType]=\"layoutType\">\n </pep-signature>\n\n <pep-checkbox *ngSwitchCase=\"'checkbox'\" [form]=\"form\" [key]=\"field.key\"\n [value]=\"(field.value | lowercase) == 'true' || field.value == '1' ? true : false\" [label]=\"field.label\"\n [type]=\"field.type\" [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\"\n [readonly]=\"field.readonly\" [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\"\n [additionalValue]=\"field.additionalValue\" [layoutType]=\"layoutType\">\n </pep-checkbox>\n\n <pep-date *ngSwitchCase=\"'date'\" [form]=\"form\" [key]=\"field.key\" [value]=\"field.value\"\n [formattedValue]=\"field.formattedValue\" [label]=\"field.label\" [type]=\"field.type\"\n [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\" [readonly]=\"field.readonly\"\n [textColor]=\"field.textColor\" [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\"\n [minValue]=\"field.minValue\" [maxValue]=\"field.maxValue\" [layoutType]=\"layoutType\">\n </pep-date>\n\n <pep-internal-button *ngSwitchCase=\"'button'\" [form]=\"form\" [key]=\"field.key\" [value]=\"field.value\"\n [formattedValue]=\"field.formattedValue\" [label]=\"field.label\" [type]=\"field.type\"\n [disabled]=\"field.disabled\" [readonly]=\"field.readonly\" [xAlignment]=\"field.xAlignment\"\n [layoutType]=\"layoutType\" (elementClick)=\"onClick($event)\">\n </pep-internal-button>\n\n <pep-textarea *ngSwitchCase=\"'textarea'\" [form]=\"form\" [key]=\"field.key\" [value]=\"field.value\"\n [label]=\"field.label\" [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\"\n [readonly]=\"field.readonly\" [maxFieldCharacters]=\"field.maxFieldCharacters\"\n [textColor]=\"field.textColor\" [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\"\n [layoutType]=\"layoutType\">\n </pep-textarea>\n\n <pep-quantity-selector *ngSwitchCase=\"'qs'\" [id]=\"field.key\" [form]=\"form\" [key]=\"field.key\"\n [value]=\"field.value\" [formattedValue]=\"field.formattedValue\" [label]=\"field.label\" [type]=\"field.type\"\n [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\" [readonly]=\"field.readonly\"\n [textColor]=\"field.textColor\" [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\"\n [layoutType]=\"layoutType\" (valueChange)=\"onValueChanged($event)\" (elementClick)=\"onClick($event)\">\n </pep-quantity-selector>\n\n <ng-container *ngSwitchDefault>\n <ng-container *ngIf=\"field.formattedValue?.length > 0; then notEmptyBlock; else emptyBlock\">\n </ng-container>\n <ng-template #notEmptyBlock>\n <ng-container\n *ngIf=\"field.controlType === 'attachment' || field.type === 'link'; then linkBlock; else notLinkBlock\">\n </ng-container>\n <ng-template #linkBlock>\n <a [id]=\"field.key\" class=\"color-link body-sm pep-report-input readonly\"\n *ngIf=\"field.formattedValue != null\" title=\"{{ field.formattedValue }}\" target=\"_blank\"\n href=\"{{ field.value }}\">{{ field.formattedValue }}</a>\n </ng-template>\n <ng-template #notLinkBlock>\n <span [id]=\"field.key\" class=\"body-sm pep-report-input readonly\"\n title=\"{{ field.formattedValue }}\" [ngStyle]=\"{ color: field.textColor }\">{{\n field.formattedValue }}</span>\n </ng-template>\n </ng-template>\n <ng-template #emptyBlock>\n <span>&nbsp;</span>\n </ng-template>\n </ng-container>\n </ng-container>\n </div>\n</ng-template>", styles: [":host{display:grid}\n"] }]
4020
+ }], ctorParameters: function () { return [{ type: i1$2.PepDialogService }, { type: i1$1.PepCustomizationService }, { type: i1$1.PepLayoutService }, { type: i3$1.FormBuilder }, { type: i0.KeyValueDiffers }, { type: i4$1.TranslateService }]; }, propDecorators: { isInternal: [{
4021
+ type: Input
4022
+ }], isReport: [{
4023
+ type: Input
4024
+ }], layout: [{
4025
+ type: Input
4026
+ }], lockEvents: [{
4027
+ type: Input
4028
+ }], canEditObject: [{
4029
+ type: Input
4030
+ }], data: [{
4031
+ type: Input
4032
+ }], lockFields: [{
4033
+ type: Input
4034
+ }], isActive: [{
4035
+ type: Input
4036
+ }], layoutType: [{
4037
+ type: Input
4038
+ }], objectId: [{
4039
+ type: Input
4040
+ }], parentId: [{
4041
+ type: Input
4042
+ }], searchCode: [{
4043
+ type: Input
4044
+ }], showTitle: [{
4045
+ type: Input
4046
+ }], firstFieldAsLink: [{
4047
+ type: Input
4048
+ }], checkForChanges: [{
4049
+ type: Input
4050
+ }], valueChange: [{
4051
+ type: Output
4052
+ }], formValidationChange: [{
4053
+ type: Output
4054
+ }], fieldClick: [{
4055
+ type: Output
4056
+ }], internalFormFieldClick: [{
4057
+ type: Output
4058
+ }], internalFormFieldChange: [{
4059
+ type: Output
4060
+ }] } });
4061
+
2744
4062
  const pepComponentsModules = [
2745
4063
  PepAddressModule,
2746
4064
  PepAttachmentModule,
@@ -2771,9 +4089,11 @@ class PepFormModule {
2771
4089
  ]);
2772
4090
  }
2773
4091
  }
2774
- PepFormModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: PepFormModule, deps: [{ token: i1.PepIconRegistry }], target: i0.ɵɵFactoryTarget.NgModule });
2775
- PepFormModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.1", ngImport: i0, type: PepFormModule, declarations: [PepFormComponent,
4092
+ PepFormModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepFormModule, deps: [{ token: i1.PepIconRegistry }], target: i0.ɵɵFactoryTarget.NgModule });
4093
+ PepFormModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.2", ngImport: i0, type: PepFormModule, declarations: [PepFormComponent,
4094
+ PepInternalFormComponent,
2776
4095
  PepFieldGeneratorComponent,
4096
+ PepInternalFieldGeneratorComponent,
2777
4097
  PepIndicatorsComponent,
2778
4098
  PepInternalButtonComponent,
2779
4099
  PepInternalListComponent,
@@ -2810,7 +4130,9 @@ PepFormModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version:
2810
4130
  PepTextboxModule,
2811
4131
  PepLinkModule, PepFieldTitleModule,
2812
4132
  PepGroupButtonsModule], exports: [PepFormComponent] });
2813
- PepFormModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: PepFormModule, imports: [CommonModule,
4133
+ PepFormModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepFormModule, providers: [
4134
+ FormBuilder
4135
+ ], imports: [CommonModule,
2814
4136
  ReactiveFormsModule,
2815
4137
  // Material modules,
2816
4138
  MatCommonModule,
@@ -2828,7 +4150,7 @@ PepFormModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version:
2828
4150
  pepComponentsModules,
2829
4151
  PepFieldTitleModule,
2830
4152
  PepGroupButtonsModule] });
2831
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: PepFormModule, decorators: [{
4153
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepFormModule, decorators: [{
2832
4154
  type: NgModule,
2833
4155
  args: [{
2834
4156
  imports: [
@@ -2854,7 +4176,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.1", ngImpor
2854
4176
  exports: [PepFormComponent],
2855
4177
  declarations: [
2856
4178
  PepFormComponent,
4179
+ PepInternalFormComponent,
2857
4180
  PepFieldGeneratorComponent,
4181
+ PepInternalFieldGeneratorComponent,
2858
4182
  PepIndicatorsComponent,
2859
4183
  PepInternalButtonComponent,
2860
4184
  PepInternalListComponent,
@@ -2862,6 +4186,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.1", ngImpor
2862
4186
  PepInternalPageComponent,
2863
4187
  PepInternalCaruselComponent
2864
4188
  ],
4189
+ providers: [
4190
+ FormBuilder
4191
+ ]
2865
4192
  }]
2866
4193
  }], ctorParameters: function () { return [{ type: i1.PepIconRegistry }]; } });
2867
4194