@koalarx/ui 12.7.18 → 13.0.2

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 (433) hide show
  1. package/alert/{esm2015/index.js → esm2020/index.mjs} +0 -0
  2. package/alert/{esm2015/koalarx-ui-alert.js → esm2020/koalarx-ui-alert.mjs} +0 -0
  3. package/alert/esm2020/lib/dialog-alert.component.mjs +48 -0
  4. package/alert/{esm2015/lib/koala.alert-config.interface.js → esm2020/lib/koala.alert-config.interface.mjs} +0 -0
  5. package/alert/{esm2015/lib/koala.alert.enum.js → esm2020/lib/koala.alert.enum.mjs} +0 -0
  6. package/alert/esm2020/lib/koala.alert.module.mjs +48 -0
  7. package/alert/esm2020/lib/koala.alert.service.mjs +19 -0
  8. package/alert/{esm2015/lib/koala.request-code-to-alert-enum.translate.js → esm2020/lib/koala.request-code-to-alert-enum.translate.mjs} +0 -0
  9. package/alert/fesm2015/koalarx-ui-alert.mjs +141 -0
  10. package/alert/fesm2015/koalarx-ui-alert.mjs.map +1 -0
  11. package/alert/fesm2020/koalarx-ui-alert.mjs +139 -0
  12. package/alert/fesm2020/koalarx-ui-alert.mjs.map +1 -0
  13. package/alert/koalarx-ui-alert.d.ts +1 -0
  14. package/alert/lib/dialog-alert.component.d.ts +3 -0
  15. package/alert/lib/koala.alert.module.d.ts +10 -0
  16. package/alert/lib/koala.alert.service.d.ts +3 -0
  17. package/alert/package.json +18 -6
  18. package/button/{esm2015/index.js → esm2020/index.mjs} +0 -0
  19. package/button/{esm2015/koalarx-ui-button.js → esm2020/koalarx-ui-button.mjs} +0 -0
  20. package/button/esm2020/lib/button.component.mjs +44 -0
  21. package/button/esm2020/lib/koala.button.module.mjs +42 -0
  22. package/button/fesm2015/koalarx-ui-button.mjs +90 -0
  23. package/button/fesm2015/koalarx-ui-button.mjs.map +1 -0
  24. package/button/fesm2020/koalarx-ui-button.mjs +90 -0
  25. package/button/fesm2020/koalarx-ui-button.mjs.map +1 -0
  26. package/button/koalarx-ui-button.d.ts +1 -0
  27. package/button/lib/button.component.d.ts +6 -1
  28. package/button/lib/koala.button.module.d.ts +10 -0
  29. package/button/package.json +18 -6
  30. package/common/{esm2015/index.js → esm2020/index.mjs} +0 -0
  31. package/common/{esm2015/koalarx-ui-common.js → esm2020/koalarx-ui-common.mjs} +0 -0
  32. package/common/{esm2015/lib/mask-options.js → esm2020/lib/mask-options.mjs} +0 -0
  33. package/common/esm2020/lib/services/csv/koala.csv.service.mjs +36 -0
  34. package/common/{esm2015/lib/services/xlsx/koala.xlsx-config.interface.js → esm2020/lib/services/xlsx/koala.xlsx-config.interface.mjs} +0 -0
  35. package/common/esm2020/lib/services/xlsx/koala.xlsx.service.mjs +73 -0
  36. package/common/fesm2015/{koalarx-ui-common.js → koalarx-ui-common.mjs} +14 -14
  37. package/common/fesm2015/koalarx-ui-common.mjs.map +1 -0
  38. package/common/fesm2020/koalarx-ui-common.mjs +118 -0
  39. package/common/fesm2020/koalarx-ui-common.mjs.map +1 -0
  40. package/common/koalarx-ui-common.d.ts +1 -0
  41. package/common/lib/services/csv/koala.csv.service.d.ts +3 -0
  42. package/common/lib/services/xlsx/koala.xlsx.service.d.ts +3 -0
  43. package/common/package.json +18 -6
  44. package/core/esm2020/index.mjs +35 -0
  45. package/core/esm2020/koalarx-ui-core.mjs +5 -0
  46. package/core/{esm2015/lib/environments/koalaEnvironment.js → esm2020/lib/environments/koalaEnvironment.mjs} +0 -0
  47. package/core/esm2020/lib/loader/loader-bar-page.component.mjs +24 -0
  48. package/core/{esm2015/lib/loader/loader-bar-page.interface.js → esm2020/lib/loader/loader-bar-page.interface.mjs} +0 -0
  49. package/core/{esm2015/lib/loader/loader-config.interface.js → esm2020/lib/loader/loader-config.interface.mjs} +0 -0
  50. package/core/esm2020/lib/ngx-koala.module.mjs +49 -0
  51. package/core/{esm2015/lib/page/koala-language.helper.js → esm2020/lib/page/koala-language.helper.mjs} +0 -0
  52. package/core/{esm2015/lib/page/koala-page-pallet-colors.interface.js → esm2020/lib/page/koala-page-pallet-colors.interface.mjs} +0 -0
  53. package/core/esm2020/lib/page/koala.page.module.mjs +78 -0
  54. package/core/{esm2015/lib/page/koala.user-menu-options.interface.js → esm2020/lib/page/koala.user-menu-options.interface.mjs} +0 -0
  55. package/core/{esm2015/lib/page/notifications/koala.notification.interface.js → esm2020/lib/page/notifications/koala.notification.interface.mjs} +0 -0
  56. package/core/esm2020/lib/page/notifications/notification.component.mjs +47 -0
  57. package/core/esm2020/lib/page/page.component.mjs +404 -0
  58. package/core/esm2020/lib/router/koala.parameter-hash-location-stategy.mjs +18 -0
  59. package/core/esm2020/lib/services/api-requester/factory/koala.response.factory.mjs +44 -0
  60. package/core/{esm2015/lib/services/api-requester/helpers/error/koala.client.error.js → esm2020/lib/services/api-requester/helpers/error/koala.client.error.mjs} +0 -0
  61. package/core/{esm2015/lib/services/api-requester/helpers/error/koala.errors.helper.js → esm2020/lib/services/api-requester/helpers/error/koala.errors.helper.mjs} +0 -0
  62. package/core/{esm2015/lib/services/api-requester/helpers/error/koala.not-found.error.js → esm2020/lib/services/api-requester/helpers/error/koala.not-found.error.mjs} +0 -0
  63. package/core/{esm2015/lib/services/api-requester/helpers/error/koala.success.error.js → esm2020/lib/services/api-requester/helpers/error/koala.success.error.mjs} +0 -0
  64. package/core/{esm2015/lib/services/api-requester/helpers/error/koala.unhautorized.error.js → esm2020/lib/services/api-requester/helpers/error/koala.unhautorized.error.mjs} +0 -0
  65. package/core/{esm2015/lib/services/api-requester/helpers/service/koala.request-header.helper.js → esm2020/lib/services/api-requester/helpers/service/koala.request-header.helper.mjs} +0 -0
  66. package/core/esm2020/lib/services/api-requester/koala.api-requester.base.mjs +63 -0
  67. package/core/esm2020/lib/services/api-requester/koala.api-requester.service.mjs +131 -0
  68. package/core/esm2020/lib/services/loader/koala.loader.service.mjs +34 -0
  69. package/core/{esm2015/lib/services/openid/koala-oauth2-config.interface.js → esm2020/lib/services/openid/koala-oauth2-config.interface.mjs} +0 -0
  70. package/core/esm2020/lib/services/openid/koala.oauth.config.mjs +30 -0
  71. package/core/esm2020/lib/services/openid/koala.oauth2.service.mjs +194 -0
  72. package/core/esm2020/lib/services/request/koala.request.service.mjs +52 -0
  73. package/core/{esm2015/lib/services/token/koala.token.service.js → esm2020/lib/services/token/koala.token.service.mjs} +7 -6
  74. package/core/esm2020/lib/services/token/token.factory.mjs +27 -0
  75. package/core/fesm2015/{koalarx-ui-core.js → koalarx-ui-core.mjs} +249 -191
  76. package/core/fesm2015/koalarx-ui-core.mjs.map +1 -0
  77. package/core/fesm2020/koalarx-ui-core.mjs +1367 -0
  78. package/core/fesm2020/koalarx-ui-core.mjs.map +1 -0
  79. package/core/index.d.ts +1 -0
  80. package/core/koalarx-ui-core.d.ts +1 -2
  81. package/core/lib/loader/loader-bar-page.component.d.ts +5 -1
  82. package/core/lib/ngx-koala.module.d.ts +7 -0
  83. package/core/lib/page/koala.page.module.d.ts +19 -0
  84. package/core/lib/page/notifications/notification.component.d.ts +3 -0
  85. package/core/lib/page/page.component.d.ts +3 -0
  86. package/core/lib/router/koala.parameter-hash-location-stategy.d.ts +3 -0
  87. package/core/lib/services/api-requester/koala.api-requester.service.d.ts +3 -0
  88. package/core/lib/services/loader/koala.loader.service.d.ts +3 -0
  89. package/core/lib/services/openid/koala.oauth2.service.d.ts +3 -0
  90. package/core/lib/services/request/koala.request.service.d.ts +3 -0
  91. package/core/lib/services/token/koala.token.service.d.ts +3 -0
  92. package/core/package.json +18 -6
  93. package/dialog/{esm2015/index.js → esm2020/index.mjs} +0 -0
  94. package/dialog/{esm2015/koalarx-ui-dialog.js → esm2020/koalarx-ui-dialog.mjs} +0 -0
  95. package/dialog/esm2020/lib/dialog.component.mjs +25 -0
  96. package/dialog/{esm2015/lib/koala.dialog-template.interface.js → esm2020/lib/koala.dialog-template.interface.mjs} +0 -0
  97. package/dialog/esm2020/lib/koala.dialog.module.mjs +38 -0
  98. package/dialog/esm2020/lib/koala.dialog.service.mjs +57 -0
  99. package/dialog/fesm2015/koalarx-ui-dialog.mjs +121 -0
  100. package/dialog/fesm2015/koalarx-ui-dialog.mjs.map +1 -0
  101. package/dialog/fesm2020/koalarx-ui-dialog.mjs +121 -0
  102. package/dialog/fesm2020/koalarx-ui-dialog.mjs.map +1 -0
  103. package/dialog/koalarx-ui-dialog.d.ts +1 -0
  104. package/dialog/lib/dialog.component.d.ts +3 -0
  105. package/dialog/lib/koala.dialog.module.d.ts +9 -0
  106. package/dialog/lib/koala.dialog.service.d.ts +3 -0
  107. package/dialog/package.json +18 -6
  108. package/dynamic-component/{esm2015/index.js → esm2020/index.mjs} +0 -0
  109. package/dynamic-component/{esm2015/koalarx-ui-dynamic-component.js → esm2020/koalarx-ui-dynamic-component.mjs} +0 -0
  110. package/dynamic-component/{esm2015/lib/koala-dynamic-component.component.js → esm2020/lib/koala-dynamic-component.component.mjs} +0 -0
  111. package/dynamic-component/esm2020/lib/koala-dynamic-component.directive.mjs +16 -0
  112. package/dynamic-component/esm2020/lib/koala-dynamic-component.factory.mjs +41 -0
  113. package/dynamic-component/{esm2015/lib/koala-dynamic-component.js → esm2020/lib/koala-dynamic-component.mjs} +0 -0
  114. package/dynamic-component/esm2020/lib/koala-dynamic-component.module.mjs +23 -0
  115. package/dynamic-component/fesm2015/koalarx-ui-dynamic-component.mjs +87 -0
  116. package/dynamic-component/fesm2015/koalarx-ui-dynamic-component.mjs.map +1 -0
  117. package/dynamic-component/fesm2020/koalarx-ui-dynamic-component.mjs +86 -0
  118. package/dynamic-component/fesm2020/koalarx-ui-dynamic-component.mjs.map +1 -0
  119. package/dynamic-component/koalarx-ui-dynamic-component.d.ts +1 -0
  120. package/dynamic-component/lib/koala-dynamic-component.directive.d.ts +3 -0
  121. package/dynamic-component/lib/koala-dynamic-component.factory.d.ts +3 -0
  122. package/dynamic-component/lib/koala-dynamic-component.module.d.ts +6 -0
  123. package/dynamic-component/package.json +18 -6
  124. package/file-button/{esm2015/index.js → esm2020/index.mjs} +0 -0
  125. package/file-button/{esm2015/koalarx-ui-file-button.js → esm2020/koalarx-ui-file-button.mjs} +0 -0
  126. package/file-button/esm2020/lib/file-button.component.mjs +125 -0
  127. package/file-button/esm2020/lib/koala.btn-file.service.mjs +25 -0
  128. package/file-button/esm2020/lib/koala.file-button.module.mjs +38 -0
  129. package/file-button/{esm2015/lib/koala.file.interface.js → esm2020/lib/koala.file.interface.mjs} +0 -0
  130. package/file-button/fesm2015/koalarx-ui-file-button.mjs +199 -0
  131. package/file-button/fesm2015/koalarx-ui-file-button.mjs.map +1 -0
  132. package/file-button/fesm2020/koalarx-ui-file-button.mjs +189 -0
  133. package/file-button/fesm2020/koalarx-ui-file-button.mjs.map +1 -0
  134. package/file-button/koalarx-ui-file-button.d.ts +1 -0
  135. package/file-button/lib/file-button.component.d.ts +4 -1
  136. package/file-button/lib/koala.btn-file.service.d.ts +3 -0
  137. package/file-button/lib/koala.file-button.module.d.ts +9 -0
  138. package/file-button/package.json +18 -6
  139. package/folder-page/{esm2015/index.js → esm2020/index.mjs} +0 -0
  140. package/folder-page/{esm2015/koalarx-ui-folder-page.js → esm2020/koalarx-ui-folder-page.mjs} +0 -0
  141. package/folder-page/esm2020/lib/folder.component.mjs +70 -0
  142. package/folder-page/{esm2015/lib/koala-navigate-history.interface.js → esm2020/lib/koala-navigate-history.interface.mjs} +0 -0
  143. package/folder-page/esm2020/lib/koala.folder-page.module.mjs +42 -0
  144. package/folder-page/fesm2015/koalarx-ui-folder-page.mjs +117 -0
  145. package/folder-page/fesm2015/koalarx-ui-folder-page.mjs.map +1 -0
  146. package/folder-page/fesm2020/koalarx-ui-folder-page.mjs +116 -0
  147. package/folder-page/fesm2020/koalarx-ui-folder-page.mjs.map +1 -0
  148. package/folder-page/koalarx-ui-folder-page.d.ts +1 -0
  149. package/folder-page/lib/folder.component.d.ts +6 -2
  150. package/folder-page/lib/koala.folder-page.module.d.ts +10 -0
  151. package/folder-page/package.json +18 -6
  152. package/form/{esm2015/index.js → esm2020/index.mjs} +0 -0
  153. package/form/{esm2015/koalarx-ui-form.js → esm2020/koalarx-ui-form.mjs} +0 -0
  154. package/form/esm2020/lib/btn-submit/btn-submit.component.mjs +49 -0
  155. package/form/esm2020/lib/directives/koala-autofocus.directive.mjs +25 -0
  156. package/form/esm2020/lib/dynamic-form/builder/dynamic-form.builder.mjs +138 -0
  157. package/form/{esm2015/lib/dynamic-form/builder/fields/autocomplete.builder.js → esm2020/lib/dynamic-form/builder/fields/autocomplete.builder.mjs} +0 -0
  158. package/form/esm2020/lib/dynamic-form/builder/fields/field.base.mjs +148 -0
  159. package/form/{esm2015/lib/dynamic-form/builder/fields/field.builder.js → esm2020/lib/dynamic-form/builder/fields/field.builder.mjs} +0 -0
  160. package/form/esm2020/lib/dynamic-form/builder/fields/more-items.builder.mjs +57 -0
  161. package/form/esm2020/lib/dynamic-form/dynamic-form.component.mjs +581 -0
  162. package/form/{esm2015/lib/dynamic-form/enums/dynamic-form-type-field.enum.js → esm2020/lib/dynamic-form/enums/dynamic-form-type-field.enum.mjs} +0 -0
  163. package/form/{esm2015/lib/dynamic-form/interfaces/koala-custom-validator-fn.interface.js → esm2020/lib/dynamic-form/interfaces/koala-custom-validator-fn.interface.mjs} +0 -0
  164. package/form/{esm2015/lib/dynamic-form/interfaces/koala.dynamic-autocomplete-options.interface.js → esm2020/lib/dynamic-form/interfaces/koala.dynamic-autocomplete-options.interface.mjs} +0 -0
  165. package/form/{esm2015/lib/dynamic-form/interfaces/koala.dynamic-form-autocomplete-multiple-config.interface.js → esm2020/lib/dynamic-form/interfaces/koala.dynamic-form-autocomplete-multiple-config.interface.mjs} +0 -0
  166. package/form/{esm2015/lib/dynamic-form/interfaces/koala.dynamic-form-config.interface.js → esm2020/lib/dynamic-form/interfaces/koala.dynamic-form-config.interface.mjs} +0 -0
  167. package/form/{esm2015/lib/dynamic-form/interfaces/koala.dynamic-form-field.interface.js → esm2020/lib/dynamic-form/interfaces/koala.dynamic-form-field.interface.mjs} +0 -0
  168. package/form/{esm2015/lib/dynamic-form/interfaces/koala.dynamic-form-more-itens-show-field-config.interface.js → esm2020/lib/dynamic-form/interfaces/koala.dynamic-form-more-itens-show-field-config.interface.mjs} +0 -0
  169. package/form/{esm2015/lib/dynamic-form/interfaces/koala.dynamic-form-show-field.interface.js → esm2020/lib/dynamic-form/interfaces/koala.dynamic-form-show-field.interface.mjs} +0 -0
  170. package/form/{esm2015/lib/dynamic-form/interfaces/koala.dynamic-set-value.interface.js → esm2020/lib/dynamic-form/interfaces/koala.dynamic-set-value.interface.mjs} +0 -0
  171. package/form/esm2020/lib/dynamic-form/koala.dynamic-form.service.mjs +199 -0
  172. package/form/{esm2015/lib/dynamic-form/validators/autocomplete-selected.validator.js → esm2020/lib/dynamic-form/validators/autocomplete-selected.validator.mjs} +0 -0
  173. package/form/{esm2015/lib/dynamic-form/validators/cnpj.validator.js → esm2020/lib/dynamic-form/validators/cnpj.validator.mjs} +0 -0
  174. package/form/{esm2015/lib/dynamic-form/validators/cpf.validator.js → esm2020/lib/dynamic-form/validators/cpf.validator.mjs} +0 -0
  175. package/form/{esm2015/lib/dynamic-form/validators/date-max.validator.js → esm2020/lib/dynamic-form/validators/date-max.validator.mjs} +0 -0
  176. package/form/{esm2015/lib/dynamic-form/validators/date-min.validator.js → esm2020/lib/dynamic-form/validators/date-min.validator.mjs} +0 -0
  177. package/form/{esm2015/lib/dynamic-form/validators/koala-dynamic-form-validator-result.helper.js → esm2020/lib/dynamic-form/validators/koala-dynamic-form-validator-result.helper.mjs} +0 -0
  178. package/form/{esm2015/lib/dynamic-form/validators/validation.helper.js → esm2020/lib/dynamic-form/validators/validation.helper.mjs} +0 -0
  179. package/form/{esm2015/lib/form.abstract.js → esm2020/lib/form.abstract.mjs} +0 -0
  180. package/form/esm2020/lib/koala.form.module.mjs +134 -0
  181. package/form/{esm2015/lib/show-invalid-fields/show-invalid-fields.js → esm2020/lib/show-invalid-fields/show-invalid-fields.mjs} +0 -0
  182. package/form/fesm2015/koalarx-ui-form.mjs +1575 -0
  183. package/form/fesm2015/koalarx-ui-form.mjs.map +1 -0
  184. package/form/fesm2020/koalarx-ui-form.mjs +1557 -0
  185. package/form/fesm2020/koalarx-ui-form.mjs.map +1 -0
  186. package/form/koalarx-ui-form.d.ts +1 -0
  187. package/form/lib/btn-submit/btn-submit.component.d.ts +3 -0
  188. package/form/lib/directives/koala-autofocus.directive.d.ts +3 -0
  189. package/form/lib/dynamic-form/builder/fields/field.base.d.ts +1 -1
  190. package/form/lib/dynamic-form/dynamic-form.component.d.ts +8 -1
  191. package/form/lib/dynamic-form/koala.dynamic-form.service.d.ts +3 -0
  192. package/form/lib/koala.form.module.d.ts +23 -0
  193. package/form/package.json +18 -6
  194. package/icon/{esm2015/index.js → esm2020/index.mjs} +2 -1
  195. package/icon/{esm2015/koalarx-ui-icon.js → esm2020/koalarx-ui-icon.mjs} +0 -0
  196. package/icon/esm2020/lib/icon.component.mjs +46 -0
  197. package/icon/esm2020/lib/koala.icon.module.mjs +26 -0
  198. package/icon/esm2020/lib/koala.icon.type.mjs +2 -0
  199. package/icon/fesm2015/koalarx-ui-icon.mjs +77 -0
  200. package/icon/{esm2015/lib/icon.component.js → fesm2015/koalarx-ui-icon.mjs.map} +1 -45
  201. package/icon/fesm2020/koalarx-ui-icon.mjs +76 -0
  202. package/icon/{fesm2015/koalarx-ui-icon.js → fesm2020/koalarx-ui-icon.mjs.map} +1 -69
  203. package/icon/index.d.ts +1 -0
  204. package/icon/koalarx-ui-icon.d.ts +1 -0
  205. package/icon/lib/icon.component.d.ts +4 -1
  206. package/icon/lib/koala.icon.module.d.ts +6 -0
  207. package/icon/lib/koala.icon.type.d.ts +1 -0
  208. package/icon/package.json +18 -6
  209. package/icons-animated/{esm2015/index.js → esm2020/index.mjs} +0 -0
  210. package/icons-animated/esm2020/koalarx-ui-icons-animated.mjs +5 -0
  211. package/icons-animated/esm2020/lib/icons/downloading/downloading-icon-animated.component.mjs +23 -0
  212. package/icons-animated/esm2020/lib/icons/loading/loading-icon-animated.component.mjs +23 -0
  213. package/icons-animated/esm2020/lib/icons-animated.component.mjs +20 -0
  214. package/icons-animated/esm2020/lib/icons-animated.service.mjs +32 -0
  215. package/icons-animated/esm2020/lib/koala-icons-animated.module.mjs +32 -0
  216. package/icons-animated/fesm2015/koalarx-ui-icons-animated.mjs +122 -0
  217. package/icons-animated/fesm2015/koalarx-ui-icons-animated.mjs.map +1 -0
  218. package/icons-animated/fesm2020/koalarx-ui-icons-animated.mjs +120 -0
  219. package/icons-animated/fesm2020/koalarx-ui-icons-animated.mjs.map +1 -0
  220. package/icons-animated/koalarx-ui-icons-animated.d.ts +1 -1
  221. package/icons-animated/lib/icons/downloading/downloading-icon-animated.component.d.ts +5 -2
  222. package/icons-animated/lib/icons/loading/loading-icon-animated.component.d.ts +5 -2
  223. package/icons-animated/lib/icons-animated.component.d.ts +3 -0
  224. package/icons-animated/lib/icons-animated.service.d.ts +3 -0
  225. package/icons-animated/lib/koala-icons-animated.module.d.ts +8 -0
  226. package/icons-animated/package.json +18 -6
  227. package/list/{esm2015/index.js → esm2020/index.mjs} +0 -0
  228. package/list/{esm2015/koalarx-ui-list.js → esm2020/koalarx-ui-list.mjs} +0 -0
  229. package/list/{esm2015/lib/koala-list-btn-collapse-sub-list-config.interface.js → esm2020/lib/koala-list-btn-collapse-sub-list-config.interface.mjs} +0 -0
  230. package/list/{esm2015/lib/koala-list-filter.interface.js → esm2020/lib/koala-list-filter.interface.mjs} +0 -0
  231. package/list/{esm2015/lib/koala-list-form-filter.interface.js → esm2020/lib/koala-list-form-filter.interface.mjs} +0 -0
  232. package/list/{esm2015/lib/koala-list-item-menu-option.interface.js → esm2020/lib/koala-list-item-menu-option.interface.mjs} +0 -0
  233. package/list/{esm2015/lib/koala-list-item.interface.js → esm2020/lib/koala-list-item.interface.mjs} +0 -0
  234. package/list/{esm2015/lib/koala.list-config.interface.js → esm2020/lib/koala.list-config.interface.mjs} +0 -0
  235. package/list/esm2020/lib/koala.list.module.mjs +70 -0
  236. package/list/esm2020/lib/koala.list.service.mjs +15 -0
  237. package/list/esm2020/lib/list-builder/list.builder.mjs +97 -0
  238. package/list/esm2020/lib/list.abstract.mjs +157 -0
  239. package/list/esm2020/lib/list.component.mjs +171 -0
  240. package/list/esm2020/lib/providers/pagination/pagination.provider.mjs +32 -0
  241. package/list/fesm2015/koalarx-ui-list.mjs +559 -0
  242. package/list/fesm2015/koalarx-ui-list.mjs.map +1 -0
  243. package/list/fesm2020/koalarx-ui-list.mjs +529 -0
  244. package/list/fesm2020/koalarx-ui-list.mjs.map +1 -0
  245. package/list/koalarx-ui-list.d.ts +1 -0
  246. package/list/lib/koala.list.module.d.ts +15 -0
  247. package/list/lib/koala.list.service.d.ts +3 -0
  248. package/list/lib/list.component.d.ts +3 -0
  249. package/list/lib/providers/pagination/pagination.provider.d.ts +3 -0
  250. package/list/package.json +18 -6
  251. package/menu/{esm2015/index.js → esm2020/index.mjs} +0 -0
  252. package/menu/{esm2015/koalarx-ui-menu.js → esm2020/koalarx-ui-menu.mjs} +0 -0
  253. package/menu/{esm2015/lib/koala.menu-module.interface.js → esm2020/lib/koala.menu-module.interface.mjs} +0 -0
  254. package/menu/{esm2015/lib/koala.menu-tool.interface.js → esm2020/lib/koala.menu-tool.interface.mjs} +0 -0
  255. package/menu/esm2020/lib/koala.menu.module.mjs +38 -0
  256. package/menu/esm2020/lib/koala.menu.service.mjs +24 -0
  257. package/menu/esm2020/lib/menu.component.mjs +100 -0
  258. package/menu/fesm2015/koalarx-ui-menu.mjs +167 -0
  259. package/menu/fesm2015/koalarx-ui-menu.mjs.map +1 -0
  260. package/menu/fesm2020/koalarx-ui-menu.mjs +162 -0
  261. package/menu/fesm2020/koalarx-ui-menu.mjs.map +1 -0
  262. package/menu/koalarx-ui-menu.d.ts +1 -0
  263. package/menu/lib/koala.menu.module.d.ts +9 -0
  264. package/menu/lib/koala.menu.service.d.ts +3 -0
  265. package/menu/lib/menu.component.d.ts +6 -0
  266. package/menu/package.json +18 -6
  267. package/package.json +9 -9
  268. package/question/{esm2015/index.js → esm2020/index.mjs} +0 -0
  269. package/question/{esm2015/koalarx-ui-question.js → esm2020/koalarx-ui-question.mjs} +0 -0
  270. package/question/esm2020/lib/dialog-question.component.mjs +25 -0
  271. package/question/{esm2015/lib/koala-question-config.interface.js → esm2020/lib/koala-question-config.interface.mjs} +0 -0
  272. package/question/esm2020/lib/koala.question.module.mjs +42 -0
  273. package/question/esm2020/lib/koala.question.service.mjs +26 -0
  274. package/question/fesm2015/koalarx-ui-question.mjs +95 -0
  275. package/question/fesm2015/koalarx-ui-question.mjs.map +1 -0
  276. package/question/fesm2020/koalarx-ui-question.mjs +93 -0
  277. package/question/fesm2020/koalarx-ui-question.mjs.map +1 -0
  278. package/question/koalarx-ui-question.d.ts +1 -0
  279. package/question/lib/dialog-question.component.d.ts +3 -0
  280. package/question/lib/koala.question.module.d.ts +10 -0
  281. package/question/lib/koala.question.service.d.ts +3 -0
  282. package/question/package.json +18 -6
  283. package/snackbar/{esm2015/index.js → esm2020/index.mjs} +0 -0
  284. package/snackbar/{esm2015/koalarx-ui-snackbar.js → esm2020/koalarx-ui-snackbar.mjs} +0 -0
  285. package/snackbar/esm2020/lib/koala.snackbar.component.mjs +22 -0
  286. package/snackbar/{esm2015/lib/koala.snackbar.interface.js → esm2020/lib/koala.snackbar.interface.mjs} +0 -0
  287. package/snackbar/esm2020/lib/koala.snackbar.module.mjs +38 -0
  288. package/snackbar/esm2020/lib/koala.snackbar.service.mjs +35 -0
  289. package/snackbar/fesm2015/koalarx-ui-snackbar.mjs +95 -0
  290. package/snackbar/fesm2015/koalarx-ui-snackbar.mjs.map +1 -0
  291. package/snackbar/fesm2020/koalarx-ui-snackbar.mjs +93 -0
  292. package/snackbar/fesm2020/koalarx-ui-snackbar.mjs.map +1 -0
  293. package/snackbar/koalarx-ui-snackbar.d.ts +1 -0
  294. package/snackbar/lib/koala.snackbar.component.d.ts +3 -0
  295. package/snackbar/lib/koala.snackbar.module.d.ts +8 -0
  296. package/snackbar/lib/koala.snackbar.service.d.ts +3 -0
  297. package/snackbar/package.json +18 -6
  298. package/alert/bundles/koalarx-ui-alert.umd.js +0 -153
  299. package/alert/bundles/koalarx-ui-alert.umd.js.map +0 -1
  300. package/alert/esm2015/lib/dialog-alert.component.js +0 -43
  301. package/alert/esm2015/lib/koala.alert.module.js +0 -31
  302. package/alert/esm2015/lib/koala.alert.service.js +0 -21
  303. package/alert/fesm2015/koalarx-ui-alert.js +0 -121
  304. package/alert/fesm2015/koalarx-ui-alert.js.map +0 -1
  305. package/alert/koalarx-ui-alert.metadata.json +0 -1
  306. package/button/bundles/koalarx-ui-button.umd.js +0 -71
  307. package/button/bundles/koalarx-ui-button.umd.js.map +0 -1
  308. package/button/esm2015/lib/button.component.js +0 -31
  309. package/button/esm2015/lib/koala.button.module.js +0 -27
  310. package/button/fesm2015/koalarx-ui-button.js +0 -63
  311. package/button/fesm2015/koalarx-ui-button.js.map +0 -1
  312. package/button/koalarx-ui-button.metadata.json +0 -1
  313. package/common/bundles/koalarx-ui-common.umd.js +0 -481
  314. package/common/bundles/koalarx-ui-common.umd.js.map +0 -1
  315. package/common/esm2015/lib/services/csv/koala.csv.service.js +0 -38
  316. package/common/esm2015/lib/services/xlsx/koala.xlsx.service.js +0 -74
  317. package/common/fesm2015/koalarx-ui-common.js.map +0 -1
  318. package/common/koalarx-ui-common.metadata.json +0 -1
  319. package/core/bundles/koalarx-ui-core.umd.js +0 -1716
  320. package/core/bundles/koalarx-ui-core.umd.js.map +0 -1
  321. package/core/esm2015/index.js +0 -34
  322. package/core/esm2015/koalarx-ui-core.js +0 -7
  323. package/core/esm2015/lib/loader/loader-bar-page.component.js +0 -22
  324. package/core/esm2015/lib/ngx-koala.module.js +0 -35
  325. package/core/esm2015/lib/page/koala.page.module.js +0 -46
  326. package/core/esm2015/lib/page/notifications/notification.component.js +0 -43
  327. package/core/esm2015/lib/page/page.component.js +0 -396
  328. package/core/esm2015/lib/router/koala.parameter-hash-location-stategy.js +0 -16
  329. package/core/esm2015/lib/services/api-requester/factory/koala.response.factory.js +0 -48
  330. package/core/esm2015/lib/services/api-requester/koala.api-requester.base.js +0 -70
  331. package/core/esm2015/lib/services/api-requester/koala.api-requester.service.js +0 -134
  332. package/core/esm2015/lib/services/loader/koala.loader.service.js +0 -32
  333. package/core/esm2015/lib/services/openid/koala.oauth.config.js +0 -33
  334. package/core/esm2015/lib/services/openid/koala.oauth2.service.js +0 -201
  335. package/core/esm2015/lib/services/request/koala.request.service.js +0 -53
  336. package/core/esm2015/lib/services/token/token.factory.js +0 -31
  337. package/core/fesm2015/koalarx-ui-core.js.map +0 -1
  338. package/core/koalarx-ui-core.metadata.json +0 -1
  339. package/dialog/bundles/koalarx-ui-dialog.umd.js +0 -139
  340. package/dialog/bundles/koalarx-ui-dialog.umd.js.map +0 -1
  341. package/dialog/esm2015/lib/dialog.component.js +0 -18
  342. package/dialog/esm2015/lib/koala.dialog.module.js +0 -25
  343. package/dialog/esm2015/lib/koala.dialog.service.js +0 -61
  344. package/dialog/fesm2015/koalarx-ui-dialog.js +0 -107
  345. package/dialog/fesm2015/koalarx-ui-dialog.js.map +0 -1
  346. package/dialog/koalarx-ui-dialog.metadata.json +0 -1
  347. package/dynamic-component/bundles/koalarx-ui-dynamic-component.umd.js +0 -95
  348. package/dynamic-component/bundles/koalarx-ui-dynamic-component.umd.js.map +0 -1
  349. package/dynamic-component/esm2015/lib/koala-dynamic-component.directive.js +0 -15
  350. package/dynamic-component/esm2015/lib/koala-dynamic-component.factory.js +0 -38
  351. package/dynamic-component/esm2015/lib/koala-dynamic-component.module.js +0 -17
  352. package/dynamic-component/fesm2015/koalarx-ui-dynamic-component.js +0 -79
  353. package/dynamic-component/fesm2015/koalarx-ui-dynamic-component.js.map +0 -1
  354. package/dynamic-component/koalarx-ui-dynamic-component.metadata.json +0 -1
  355. package/file-button/bundles/koalarx-ui-file-button.umd.js +0 -553
  356. package/file-button/bundles/koalarx-ui-file-button.umd.js.map +0 -1
  357. package/file-button/esm2015/lib/file-button.component.js +0 -118
  358. package/file-button/esm2015/lib/koala.btn-file.service.js +0 -26
  359. package/file-button/esm2015/lib/koala.file-button.module.js +0 -25
  360. package/file-button/fesm2015/koalarx-ui-file-button.js +0 -171
  361. package/file-button/fesm2015/koalarx-ui-file-button.js.map +0 -1
  362. package/file-button/koalarx-ui-file-button.metadata.json +0 -1
  363. package/folder-page/bundles/koalarx-ui-folder-page.umd.js +0 -97
  364. package/folder-page/bundles/koalarx-ui-folder-page.umd.js.map +0 -1
  365. package/folder-page/esm2015/lib/folder.component.js +0 -56
  366. package/folder-page/esm2015/lib/koala.folder-page.module.js +0 -27
  367. package/folder-page/fesm2015/koalarx-ui-folder-page.js +0 -88
  368. package/folder-page/fesm2015/koalarx-ui-folder-page.js.map +0 -1
  369. package/folder-page/koalarx-ui-folder-page.metadata.json +0 -1
  370. package/form/bundles/koalarx-ui-form.umd.js +0 -1944
  371. package/form/bundles/koalarx-ui-form.umd.js.map +0 -1
  372. package/form/esm2015/lib/btn-submit/btn-submit.component.js +0 -39
  373. package/form/esm2015/lib/directives/koala-autofocus.directive.js +0 -25
  374. package/form/esm2015/lib/dynamic-form/builder/dynamic-form.builder.js +0 -141
  375. package/form/esm2015/lib/dynamic-form/builder/fields/field.base.js +0 -150
  376. package/form/esm2015/lib/dynamic-form/builder/fields/more-items.builder.js +0 -57
  377. package/form/esm2015/lib/dynamic-form/dynamic-form.component.js +0 -551
  378. package/form/esm2015/lib/dynamic-form/koala.dynamic-form.service.js +0 -204
  379. package/form/esm2015/lib/koala.form.module.js +0 -69
  380. package/form/fesm2015/koalarx-ui-form.js +0 -1473
  381. package/form/fesm2015/koalarx-ui-form.js.map +0 -1
  382. package/form/koalarx-ui-form.metadata.json +0 -1
  383. package/icon/bundles/koalarx-ui-icon.umd.js +0 -76
  384. package/icon/bundles/koalarx-ui-icon.umd.js.map +0 -1
  385. package/icon/esm2015/lib/koala.icon.module.js +0 -19
  386. package/icon/fesm2015/koalarx-ui-icon.js.map +0 -1
  387. package/icon/koalarx-ui-icon.metadata.json +0 -1
  388. package/icons-animated/bundles/koalarx-ui-icons-animated.umd.js +0 -138
  389. package/icons-animated/bundles/koalarx-ui-icons-animated.umd.js.map +0 -1
  390. package/icons-animated/esm2015/koalarx-ui-icons-animated.js +0 -6
  391. package/icons-animated/esm2015/lib/icons/downloading/downloading-icon-animated.component.js +0 -28
  392. package/icons-animated/esm2015/lib/icons/loading/loading-icon-animated.component.js +0 -28
  393. package/icons-animated/esm2015/lib/icons-animated.component.js +0 -15
  394. package/icons-animated/esm2015/lib/icons-animated.service.js +0 -29
  395. package/icons-animated/esm2015/lib/koala-icons-animated.module.js +0 -23
  396. package/icons-animated/fesm2015/koalarx-ui-icons-animated.js +0 -121
  397. package/icons-animated/fesm2015/koalarx-ui-icons-animated.js.map +0 -1
  398. package/icons-animated/koalarx-ui-icons-animated.metadata.json +0 -1
  399. package/list/bundles/koalarx-ui-list.umd.js +0 -914
  400. package/list/bundles/koalarx-ui-list.umd.js.map +0 -1
  401. package/list/esm2015/lib/koala.list.module.js +0 -42
  402. package/list/esm2015/lib/koala.list.service.js +0 -13
  403. package/list/esm2015/lib/list-builder/list.builder.js +0 -101
  404. package/list/esm2015/lib/list.abstract.js +0 -174
  405. package/list/esm2015/lib/list.component.js +0 -166
  406. package/list/esm2015/lib/providers/pagination/pagination.provider.js +0 -30
  407. package/list/fesm2015/koalarx-ui-list.js +0 -514
  408. package/list/fesm2015/koalarx-ui-list.js.map +0 -1
  409. package/list/koalarx-ui-list.metadata.json +0 -1
  410. package/menu/bundles/koalarx-ui-menu.umd.js +0 -511
  411. package/menu/bundles/koalarx-ui-menu.umd.js.map +0 -1
  412. package/menu/esm2015/lib/koala.menu.module.js +0 -25
  413. package/menu/esm2015/lib/koala.menu.service.js +0 -22
  414. package/menu/esm2015/lib/menu.component.js +0 -104
  415. package/menu/fesm2015/koalarx-ui-menu.js +0 -153
  416. package/menu/fesm2015/koalarx-ui-menu.js.map +0 -1
  417. package/menu/koalarx-ui-menu.metadata.json +0 -1
  418. package/question/bundles/koalarx-ui-question.umd.js +0 -104
  419. package/question/bundles/koalarx-ui-question.umd.js.map +0 -1
  420. package/question/esm2015/lib/dialog-question.component.js +0 -20
  421. package/question/esm2015/lib/koala.question.module.js +0 -27
  422. package/question/esm2015/lib/koala.question.service.js +0 -28
  423. package/question/fesm2015/koalarx-ui-question.js +0 -77
  424. package/question/fesm2015/koalarx-ui-question.js.map +0 -1
  425. package/question/koalarx-ui-question.metadata.json +0 -1
  426. package/snackbar/bundles/koalarx-ui-snackbar.umd.js +0 -93
  427. package/snackbar/bundles/koalarx-ui-snackbar.umd.js.map +0 -1
  428. package/snackbar/esm2015/lib/koala.snackbar.component.js +0 -20
  429. package/snackbar/esm2015/lib/koala.snackbar.module.js +0 -26
  430. package/snackbar/esm2015/lib/koala.snackbar.service.js +0 -35
  431. package/snackbar/fesm2015/koalarx-ui-snackbar.js +0 -81
  432. package/snackbar/fesm2015/koalarx-ui-snackbar.js.map +0 -1
  433. package/snackbar/koalarx-ui-snackbar.metadata.json +0 -1
@@ -0,0 +1,138 @@
1
+ import { DynamicFormTypeFieldEnum } from "../enums/dynamic-form-type-field.enum";
2
+ import { AutocompleteBuilder } from "./fields/autocomplete.builder";
3
+ import { BehaviorSubject } from "rxjs";
4
+ import { koala } from "@koalarx/utils";
5
+ import { FieldBuilder } from "./fields/field.builder";
6
+ import { MoreItemsBuilder } from "./fields/more-items.builder";
7
+ export class DynamicFormBuilder {
8
+ constructor(fb, deviceService, configInMemory) {
9
+ this.fb = fb;
10
+ this.deviceService = deviceService;
11
+ this.config = {
12
+ form: fb.group({}),
13
+ formConfig: configInMemory ?? [],
14
+ setValues: new BehaviorSubject(null),
15
+ showFields: new BehaviorSubject(null)
16
+ };
17
+ }
18
+ field(label, name, type) {
19
+ switch (type) {
20
+ case "id":
21
+ case "text":
22
+ case "textarea":
23
+ case "number":
24
+ case "stringNumber":
25
+ case "cnpj":
26
+ case "cpf":
27
+ case "coin":
28
+ case "color":
29
+ case "date":
30
+ case "datetime":
31
+ case "email":
32
+ case "float":
33
+ case "password":
34
+ case "percent":
35
+ case "phone":
36
+ case "time":
37
+ case "hoursAndMinutes":
38
+ case "textLogs":
39
+ case "valueList":
40
+ case "checkbox":
41
+ case "radio":
42
+ case "select":
43
+ case "selectMultipleNative":
44
+ case "month":
45
+ case "competenceDate":
46
+ case "stringWithCustomMasc":
47
+ return new FieldBuilder(label, name, DynamicFormTypeFieldEnum[type], this.config, this.fb, this.deviceService);
48
+ }
49
+ }
50
+ autocomplete(label, name) {
51
+ return new AutocompleteBuilder(label, name, this.config, this.fb, this.deviceService);
52
+ }
53
+ simpleMoreItems(label, name, btnAddLabel, min, max) {
54
+ return new MoreItemsBuilder(label, name, btnAddLabel, min, max, this.config, this.fb, this.deviceService);
55
+ }
56
+ autofill(object) {
57
+ if (object) {
58
+ const setValues = [];
59
+ Object.keys(object).forEach(indexName => {
60
+ const arrField = koala(this.config.formConfig).array().filter(indexName, 'name', { comparator: "=" }).getValue();
61
+ if (arrField.length === 1) {
62
+ const field = arrField[0] ?? null;
63
+ if (typeof object[indexName] !== "object" ||
64
+ field.type === DynamicFormTypeFieldEnum.autocomplete ||
65
+ field.type === DynamicFormTypeFieldEnum.selectMultipleNative) {
66
+ if (field.type === DynamicFormTypeFieldEnum.textLogs) {
67
+ field.textObs = object[indexName];
68
+ }
69
+ else {
70
+ setValues.push({
71
+ name: indexName,
72
+ value: object[indexName]
73
+ });
74
+ }
75
+ }
76
+ else {
77
+ if (field.type === DynamicFormTypeFieldEnum.moreItems) {
78
+ const setValuesMoreItems = [];
79
+ const objectMoreItems = object[indexName];
80
+ objectMoreItems.forEach(objectItem => {
81
+ const moreItemValues = [];
82
+ Object.keys(objectItem).forEach(objectIndexName => {
83
+ moreItemValues.push({
84
+ name: objectIndexName,
85
+ value: objectItem[objectIndexName]
86
+ });
87
+ });
88
+ setValuesMoreItems.push(new BehaviorSubject(moreItemValues));
89
+ });
90
+ field.moreItemsConfig?.setValues?.next(setValuesMoreItems);
91
+ }
92
+ else if (field.type === DynamicFormTypeFieldEnum.dynamicForm) {
93
+ const dynamicFormObject = object[indexName];
94
+ const dynamicFormSetValues = [];
95
+ Object.keys(dynamicFormObject).forEach(dynamicFormIndexName => {
96
+ const arrDynamicField = koala(field.dynamicFormConfig.formConfig).array().filter(indexName, 'name').getValue();
97
+ const dynamicField = arrDynamicField[0] ?? null;
98
+ if (dynamicField?.type === DynamicFormTypeFieldEnum.textLogs) {
99
+ dynamicField.textObs = object[indexName];
100
+ }
101
+ else {
102
+ dynamicFormSetValues.push({
103
+ name: dynamicFormIndexName,
104
+ value: dynamicFormObject[dynamicFormIndexName]
105
+ });
106
+ }
107
+ });
108
+ field.dynamicFormConfig?.setValues?.next(dynamicFormSetValues);
109
+ }
110
+ else {
111
+ this.autofill(object[indexName]);
112
+ }
113
+ }
114
+ }
115
+ });
116
+ this.config?.setValues?.next(setValues);
117
+ }
118
+ return this;
119
+ }
120
+ literalConfig(config) {
121
+ this.config.formConfig.push(config);
122
+ if (config.type === DynamicFormTypeFieldEnum.moreItems)
123
+ this.generateMoreItems();
124
+ return this;
125
+ }
126
+ generate() {
127
+ this.config.formConfig = this.config.formConfig.filter(config => config.name !== 'endMoreItems');
128
+ return this.config;
129
+ }
130
+ generateMoreItems() {
131
+ this.config.formConfig.push({
132
+ name: 'endMoreItems',
133
+ type: DynamicFormTypeFieldEnum.moreItems
134
+ });
135
+ return new DynamicFormBuilder(this.fb, this.deviceService, this.config.formConfig);
136
+ }
137
+ }
138
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLmJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mb3JtL3NyYy9saWIvZHluYW1pYy1mb3JtL2J1aWxkZXIvZHluYW1pYy1mb3JtLmJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDakYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDcEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUd2QyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFdkMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBSS9ELE1BQU0sT0FBTyxrQkFBa0I7SUFHN0IsWUFDVSxFQUFlLEVBQ2YsYUFBb0MsRUFDNUMsY0FBaUQ7UUFGekMsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUNmLGtCQUFhLEdBQWIsYUFBYSxDQUF1QjtRQUU1QyxJQUFJLENBQUMsTUFBTSxHQUFHO1lBQ1osSUFBSSxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ2xCLFVBQVUsRUFBRSxjQUFjLElBQUksRUFBRTtZQUNoQyxTQUFTLEVBQUUsSUFBSSxlQUFlLENBQWtDLElBQUksQ0FBQztZQUNyRSxVQUFVLEVBQUUsSUFBSSxlQUFlLENBQXVDLElBQUksQ0FBQztTQUM1RSxDQUFBO0lBQ0gsQ0FBQztJQUVNLEtBQUssQ0FBQyxLQUFhLEVBQUUsSUFBWSxFQUFFLElBQTBCO1FBQ2xFLFFBQVEsSUFBSSxFQUFFO1lBQ1osS0FBSyxJQUFJLENBQUM7WUFDVixLQUFLLE1BQU0sQ0FBQztZQUNaLEtBQUssVUFBVSxDQUFDO1lBQ2hCLEtBQUss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UUFDakcsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFFTSxpQkFBaUI7UUFDdEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDO1lBQ0UsSUFBSSxFQUFFLGNBQWM7WUFDcEIsSUFBSSxFQUFFLHdCQUF3QixDQUFDLFNBQVM7U0FDekMsQ0FBQyxDQUFDO1FBQy9CLE9BQU8sSUFBSSxrQkFBa0IsQ0FDM0IsSUFBSSxDQUFDLEVBQUUsRUFDUCxJQUFJLENBQUMsYUFBYSxFQUNsQixJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FDdkIsQ0FBQztJQUNKLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZvcm1CdWlsZGVyIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQgeyBLb2FsYUR5bmFtaWNGb3JtQ29uZmlnSW50ZXJmYWNlIH0gZnJvbSBcIi4uL2ludGVyZmFjZXMva29hbGEuZHluYW1pYy1mb3JtLWNvbmZpZy5pbnRlcmZhY2VcIjtcbmltcG9ydCB7IEtvYWxhRHluYW1pY0Zvcm1GaWVsZEludGVyZmFjZSB9IGZyb20gXCIuLi9pbnRlcmZhY2VzL2tvYWxhLmR5bmFtaWMtZm9ybS1maWVsZC5pbnRlcmZhY2VcIjtcbmltcG9ydCB7IER5bmFtaWNGb3JtVHlwZUZpZWxkRW51bSB9IGZyb20gXCIuLi9lbnVtcy9keW5hbWljLWZvcm0tdHlwZS1maWVsZC5lbnVtXCI7XG5pbXBvcnQgeyBBdXRvY29tcGxldGVCdWlsZGVyIH0gZnJvbSBcIi4vZmllbGRzL2F1dG9jb21wbGV0ZS5idWlsZGVyXCI7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgS29hbGFEeW5hbWljU2V0VmFsdWVJbnRlcmZhY2UgfSBmcm9tIFwiLi4vaW50ZXJmYWNlcy9rb2FsYS5keW5hbWljLXNldC12YWx1ZS5pbnRlcmZhY2VcIjtcbmltcG9ydCB7IEtvYWxhRHluYW1pY0Zvcm1TaG93RmllbGRJbnRlcmZhY2UgfSBmcm9tIFwiLi4vaW50ZXJmYWNlcy9rb2FsYS5keW5hbWljLWZvcm0tc2hvdy1maWVsZC5pbnRlcmZhY2VcIjtcbmltcG9ydCB7IGtvYWxhIH0gZnJvbSBcIkBrb2FsYXJ4L3V0aWxzXCI7XG5pbXBvcnQgeyBEZXZpY2VEZXRlY3RvclNlcnZpY2UgfSBmcm9tIFwibmd4LWRldmljZS1kZXRlY3RvclwiO1xuaW1wb3J0IHsgRmllbGRCdWlsZGVyIH0gZnJvbSBcIi4vZmllbGRzL2ZpZWxkLmJ1aWxkZXJcIjtcbmltcG9ydCB7IE1vcmVJdGVtc0J1aWxkZXIgfSBmcm9tIFwiLi9maWVsZHMvbW9yZS1pdGVtcy5idWlsZGVyXCI7XG5cbmV4cG9ydCB0eXBlIER5bmFtaWNGb3JtRmllbGRUeXBlID0gJ3RleHQnIHwgJ3Bhc3N3b3JkJyB8ICdjcGYnIHwgJ2NucGonIHwgJ2RhdGV0aW1lJyB8ICdlbWFpbCcgfCAncGhvbmUnIHwgJ251bWJlcicgfCAnc3RyaW5nTnVtYmVyJyB8ICd2YWx1ZUxpc3QnIHwgJ3RleHRhcmVhJyB8ICd0aW1lJyB8ICdob3Vyc0FuZE1pbnV0ZXMnIHwgJ2NoZWNrYm94JyB8ICdzZWxlY3QnIHwgJ3NlbGVjdE11bHRpcGxlTmF0aXZlJyB8ICdjb2luJyB8ICdwZXJjZW50JyB8ICdpZCcgfCAndGV4dExvZ3MnIHwgJ2NvbG9yJyB8ICdkYXRlJyB8ICdyYWRpbycgfCAnZmxvYXQnIHwgJ21vbnRoJyB8ICdjb21wZXRlbmNlRGF0ZScgfCAnc3RyaW5nV2l0aEN1c3RvbU1hc2MnO1xuXG5leHBvcnQgY2xhc3MgRHluYW1pY0Zvcm1CdWlsZGVyIHtcbiAgcHJpdmF0ZSByZWFkb25seSBjb25maWc6IEtvYWxhRHluYW1pY0Zvcm1Db25maWdJbnRlcmZhY2U7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsXG4gICAgcHJpdmF0ZSBkZXZpY2VTZXJ2aWNlOiBEZXZpY2VEZXRlY3RvclNlcnZpY2UsXG4gICAgY29uZmlnSW5NZW1vcnk/OiBLb2FsYUR5bmFtaWNGb3JtRmllbGRJbnRlcmZhY2VbXSkge1xuICAgIHRoaXMuY29uZmlnID0ge1xuICAgICAgZm9ybTogZmIuZ3JvdXAoe30pLFxuICAgICAgZm9ybUNvbmZpZzogY29uZmlnSW5NZW1vcnkgPz8gW10sXG4gICAgICBzZXRWYWx1ZXM6IG5ldyBCZWhhdmlvclN1YmplY3Q8S29hbGFEeW5hbWljU2V0VmFsdWVJbnRlcmZhY2VbXT4obnVsbCksXG4gICAgICBzaG93RmllbGRzOiBuZXcgQmVoYXZpb3JTdWJqZWN0PEtvYWxhRHluYW1pY0Zvcm1TaG93RmllbGRJbnRlcmZhY2VbXT4obnVsbClcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZmllbGQobGFiZWw6IHN0cmluZywgbmFtZTogc3RyaW5nLCB0eXBlOiBEeW5hbWljRm9ybUZpZWxkVHlwZSkge1xuICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgY2FzZSBcImlkXCI6XG4gICAgICBjYXNlIFwidGV4dFwiOlxuICAgICAgY2FzZSBcInRleHRhcmVhXCI6XG4gICAgICBjYXNlIFwibnVtYmVyXCI6XG4gICAgICBjYXNlIFwic3RyaW5nTnVtYmVyXCI6XG4gICAgICBjYXNlIFwiY25walwiOlxuICAgICAgY2FzZSBcImNwZlwiOlxuICAgICAgY2FzZSBcImNvaW5cIjpcbiAgICAgIGNhc2UgXCJjb2xvclwiOlxuICAgICAgY2FzZSBcImRhdGVcIjpcbiAgICAgIGNhc2UgXCJkYXRldGltZVwiOlxuICAgICAgY2FzZSBcImVtYWlsXCI6XG4gICAgICBjYXNlIFwiZmxvYXRcIjpcbiAgICAgIGNhc2UgXCJwYXNzd29yZFwiOlxuICAgICAgY2FzZSBcInBlcmNlbnRcIjpcbiAgICAgIGNhc2UgXCJwaG9uZVwiOlxuICAgICAgY2FzZSBcInRpbWVcIjpcbiAgICAgIGNhc2UgXCJob3Vyc0FuZE1pbnV0ZXNcIjpcbiAgICAgIGNhc2UgXCJ0ZXh0TG9nc1wiOlxuICAgICAgY2FzZSBcInZhbHVlTGlzdFwiOlxuICAgICAgY2FzZSBcImNoZWNrYm94XCI6XG4gICAgICBjYXNlIFwicmFkaW9cIjpcbiAgICAgIGNhc2UgXCJzZWxlY3RcIjpcbiAgICAgIGNhc2UgXCJzZWxlY3RNdWx0aXBsZU5hdGl2ZVwiOlxuICAgICAgY2FzZSBcIm1vbnRoXCI6XG4gICAgICBjYXNlIFwiY29tcGV0ZW5jZURhdGVcIjpcbiAgICAgIGNhc2UgXCJzdHJpbmdXaXRoQ3VzdG9tTWFzY1wiOlxuICAgICAgICByZXR1cm4gbmV3IEZpZWxkQnVpbGRlcihsYWJlbCwgbmFtZSwgRHluYW1pY0Zvcm1UeXBlRmllbGRFbnVtW3R5cGVdLCB0aGlzLmNvbmZpZywgdGhpcy5mYiwgdGhpcy5kZXZpY2VTZXJ2aWNlKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgYXV0b2NvbXBsZXRlKGxhYmVsOiBzdHJpbmcsIG5hbWU6IHN0cmluZykge1xuICAgIHJldHVybiBuZXcgQXV0b2NvbXBsZXRlQnVpbGRlcihsYWJlbCwgbmFtZSwgdGhpcy5jb25maWcsIHRoaXMuZmIsIHRoaXMuZGV2aWNlU2VydmljZSk7XG4gIH1cblxuICBwdWJsaWMgc2ltcGxlTW9yZUl0ZW1zKGxhYmVsOiBzdHJpbmcsIG5hbWU6IHN0cmluZywgYnRuQWRkTGFiZWw6IHN0cmluZywgbWluOiBudW1iZXIsIG1heDogbnVtYmVyKSB7XG4gICAgcmV0dXJuIG5ldyBNb3JlSXRlbXNCdWlsZGVyKFxuICAgICAgbGFiZWwsXG4gICAgICBuYW1lLFxuICAgICAgYnRuQWRkTGFiZWwsXG4gICAgICBtaW4sXG4gICAgICBtYXgsXG4gICAgICB0aGlzLmNvbmZpZyxcbiAgICAgIHRoaXMuZmIsXG4gICAgICB0aGlzLmRldmljZVNlcnZpY2VcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGF1dG9maWxsKG9iamVjdDogYW55KSB7XG4gICAgaWYgKG9iamVjdCkge1xuICAgICAgY29uc3Qgc2V0VmFsdWVzOiBLb2FsYUR5bmFtaWNTZXRWYWx1ZUludGVyZmFjZVtdID0gW107XG4gICAgICBPYmplY3Qua2V5cyhvYmplY3QpLmZvckVhY2goaW5kZXhOYW1lID0+IHtcblxuICAgICAgICBjb25zdCBhcnJGaWVsZCA9IGtvYWxhKHRoaXMuY29uZmlnLmZvcm1Db25maWcpLmFycmF5PEtvYWxhRHluYW1pY0Zvcm1GaWVsZEludGVyZmFjZT4oKS5maWx0ZXIoaW5kZXhOYW1lLCAnbmFtZScsIHtjb21wYXJhdG9yOiBcIj1cIn0pLmdldFZhbHVlKCk7XG4gICAgICAgIGlmIChhcnJGaWVsZC5sZW5ndGggPT09IDEpIHtcblxuICAgICAgICAgIGNvbnN0IGZpZWxkID0gYXJyRmllbGRbMF0gPz8gbnVsbDtcblxuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgIHR5cGVvZiBvYmplY3RbaW5kZXhOYW1lXSAhPT0gXCJvYmplY3RcIiB8fFxuICAgICAgICAgICAgZmllbGQudHlwZSA9PT0gRHluYW1pY0Zvcm1UeXBlRmllbGRFbnVtLmF1dG9jb21wbGV0ZSB8fFxuICAgICAgICAgICAgZmllbGQudHlwZSA9PT0gRHluYW1pY0Zvcm1UeXBlRmllbGRFbnVtLnNlbGVjdE11bHRpcGxlTmF0aXZlXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICBpZiAoZmllbGQudHlwZSA9PT0gRHluYW1pY0Zvcm1UeXBlRmllbGRFbnVtLnRleHRMb2dzKSB7XG4gICAgICAgICAgICAgIGZpZWxkLnRleHRPYnMgPSBvYmplY3RbaW5kZXhOYW1lXTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHNldFZhbHVlcy5wdXNoKHtcbiAgICAgICAgICAgICAgICBuYW1lOiBpbmRleE5hbWUsXG4gICAgICAgICAgICAgICAgdmFsdWU6IG9iamVjdFtpbmRleE5hbWVdXG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAoZmllbGQudHlwZSA9PT0gRHluYW1pY0Zvcm1UeXBlRmllbGRFbnVtLm1vcmVJdGVtcykge1xuICAgICAgICAgICAgICBjb25zdCBzZXRWYWx1ZXNNb3JlSXRlbXMgPSBbXTtcbiAgICAgICAgICAgICAgY29uc3Qgb2JqZWN0TW9yZUl0ZW1zID0gb2JqZWN0W2luZGV4TmFtZV0gYXMgYW55W107XG4gICAgICAgICAgICAgIG9iamVjdE1vcmVJdGVtcy5mb3JFYWNoKG9iamVjdEl0ZW0gPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IG1vcmVJdGVtVmFsdWVzOiBLb2FsYUR5bmFtaWNTZXRWYWx1ZUludGVyZmFjZVtdID0gW107XG4gICAgICAgICAgICAgICAgT2JqZWN0LmtleXMob2JqZWN0SXRlbSkuZm9yRWFjaChvYmplY3RJbmRleE5hbWUgPT4ge1xuICAgICAgICAgICAgICAgICAgbW9yZUl0ZW1WYWx1ZXMucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgIG5hbWU6IG9iamVjdEluZGV4TmFtZSxcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IG9iamVjdEl0ZW1bb2JqZWN0SW5kZXhOYW1lXVxuICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgc2V0VmFsdWVzTW9yZUl0ZW1zLnB1c2gobmV3IEJlaGF2aW9yU3ViamVjdDxLb2FsYUR5bmFtaWNTZXRWYWx1ZUludGVyZmFjZVtdPihtb3JlSXRlbVZhbHVlcykpO1xuICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICBmaWVsZC5tb3JlSXRlbXNDb25maWc/LnNldFZhbHVlcz8ubmV4dChzZXRWYWx1ZXNNb3JlSXRlbXMpO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChmaWVsZC50eXBlID09PSBEeW5hbWljRm9ybVR5cGVGaWVsZEVudW0uZHluYW1pY0Zvcm0pIHtcbiAgICAgICAgICAgICAgY29uc3QgZHluYW1pY0Zvcm1PYmplY3QgPSBvYmplY3RbaW5kZXhOYW1lXTtcbiAgICAgICAgICAgICAgY29uc3QgZHluYW1pY0Zvcm1TZXRWYWx1ZXM6IEtvYWxhRHluYW1pY1NldFZhbHVlSW50ZXJmYWNlW10gPSBbXTtcblxuICAgICAgICAgICAgICBPYmplY3Qua2V5cyhkeW5hbWljRm9ybU9iamVjdCkuZm9yRWFjaChkeW5hbWljRm9ybUluZGV4TmFtZSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgYXJyRHluYW1pY0ZpZWxkID0ga29hbGEoZmllbGQuZHluYW1pY0Zvcm1Db25maWcuZm9ybUNvbmZpZykuYXJyYXk8S29hbGFEeW5hbWljRm9ybUZpZWxkSW50ZXJmYWNlPigpLmZpbHRlcihpbmRleE5hbWUsICduYW1lJykuZ2V0VmFsdWUoKTtcbiAgICAgICAgICAgICAgICBjb25zdCBkeW5hbWljRmllbGQgPSBhcnJEeW5hbWljRmllbGRbMF0gPz8gbnVsbDtcblxuICAgICAgICAgICAgICAgIGlmIChkeW5hbWljRmllbGQ/LnR5cGUgPT09IER5bmFtaWNGb3JtVHlwZUZpZWxkRW51bS50ZXh0TG9ncykge1xuICAgICAgICAgICAgICAgICAgZHluYW1pY0ZpZWxkLnRleHRPYnMgPSBvYmplY3RbaW5kZXhOYW1lXTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgZHluYW1pY0Zvcm1TZXRWYWx1ZXMucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgIG5hbWU6IGR5bmFtaWNGb3JtSW5kZXhOYW1lLFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogZHluYW1pY0Zvcm1PYmplY3RbZHluYW1pY0Zvcm1JbmRleE5hbWVdXG4gICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgIGZpZWxkLmR5bmFtaWNGb3JtQ29uZmlnPy5zZXRWYWx1ZXM/Lm5leHQoZHluYW1pY0Zvcm1TZXRWYWx1ZXMpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgdGhpcy5hdXRvZmlsbChvYmplY3RbaW5kZXhOYW1lXSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIHRoaXMuY29uZmlnPy5zZXRWYWx1ZXM/Lm5leHQoc2V0VmFsdWVzKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyBsaXRlcmFsQ29uZmlnKGNvbmZpZzogS29hbGFEeW5hbWljRm9ybUZpZWxkSW50ZXJmYWNlKSB7XG4gICAgdGhpcy5jb25maWcuZm9ybUNvbmZpZy5wdXNoKGNvbmZpZyk7XG4gICAgaWYgKGNvbmZpZy50eXBlID09PSBEeW5hbWljRm9ybVR5cGVGaWVsZEVudW0ubW9yZUl0ZW1zKSB0aGlzLmdlbmVyYXRlTW9yZUl0ZW1zKCk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgZ2VuZXJhdGUoKSB7XG4gICAgdGhpcy5jb25maWcuZm9ybUNvbmZpZyA9IHRoaXMuY29uZmlnLmZvcm1Db25maWcuZmlsdGVyKGNvbmZpZyA9PiBjb25maWcubmFtZSAhPT0gJ2VuZE1vcmVJdGVtcycpO1xuICAgIHJldHVybiB0aGlzLmNvbmZpZztcbiAgfVxuXG4gIHB1YmxpYyBnZW5lcmF0ZU1vcmVJdGVtcygpIHtcbiAgICB0aGlzLmNvbmZpZy5mb3JtQ29uZmlnLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6ICdlbmRNb3JlSXRlbXMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IER5bmFtaWNGb3JtVHlwZUZpZWxkRW51bS5tb3JlSXRlbXNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgcmV0dXJuIG5ldyBEeW5hbWljRm9ybUJ1aWxkZXIoXG4gICAgICB0aGlzLmZiLFxuICAgICAgdGhpcy5kZXZpY2VTZXJ2aWNlLFxuICAgICAgdGhpcy5jb25maWcuZm9ybUNvbmZpZ1xuICAgICk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,148 @@
1
+ import { DynamicFormTypeFieldEnum } from "../../enums/dynamic-form-type-field.enum";
2
+ import { koala } from "@koalarx/utils";
3
+ import { DynamicFormBuilder } from "../dynamic-form.builder";
4
+ export class FieldBase {
5
+ constructor(label, name, type, formConfig, fb, deviceService) {
6
+ this.formConfig = formConfig;
7
+ this.fb = fb;
8
+ this.deviceService = deviceService;
9
+ this.fieldConfig = {
10
+ label,
11
+ name,
12
+ type
13
+ };
14
+ this.appearance().grid();
15
+ }
16
+ hide(hide = true) {
17
+ this.fieldConfig.show = !hide;
18
+ return this;
19
+ }
20
+ focus() {
21
+ this.fieldConfig.focus = true;
22
+ return this;
23
+ }
24
+ syncValidator(validators) {
25
+ this.fieldConfig.syncValidators = validators;
26
+ return this;
27
+ }
28
+ asyncValidator(validators) {
29
+ this.fieldConfig.asyncValidators = validators;
30
+ return this;
31
+ }
32
+ disabled(disabled = true) {
33
+ this.fieldConfig.disabled = disabled;
34
+ return this;
35
+ }
36
+ required(required = true) {
37
+ this.fieldConfig.required = required;
38
+ return this;
39
+ }
40
+ textHint(hint) {
41
+ this.fieldConfig.textHint = hint;
42
+ return this;
43
+ }
44
+ min(min) {
45
+ this.fieldConfig.min = min;
46
+ return this;
47
+ }
48
+ max(max) {
49
+ this.fieldConfig.max = max;
50
+ return this;
51
+ }
52
+ minLength(min) {
53
+ this.fieldConfig.minLength = min;
54
+ return this;
55
+ }
56
+ maxLength(max) {
57
+ this.fieldConfig.maxLength = max;
58
+ return this;
59
+ }
60
+ multiple(multiple = true) {
61
+ this.fieldConfig.multiple = multiple;
62
+ return this;
63
+ }
64
+ valueChanges(fn) {
65
+ this.fieldConfig.valueChanges = fn;
66
+ return this;
67
+ }
68
+ setValue(value) {
69
+ this.fieldConfig.value = value;
70
+ return this;
71
+ }
72
+ appearance(type = "outline", floatLabel = "always") {
73
+ this.fieldConfig.appearance = type;
74
+ this.fieldConfig.floatLabel = floatLabel;
75
+ return this;
76
+ }
77
+ grid(size = 12, width = 100) {
78
+ if (this.deviceService.isMobile()) {
79
+ size = 12;
80
+ }
81
+ for (let colSize = 12; colSize >= 1; colSize--) {
82
+ this.fieldConfig.class = this.fieldConfig.class?.replace('col-' + colSize, '');
83
+ }
84
+ this.addClass('col-' + size);
85
+ this.addFieldClass('w-' + width);
86
+ return this;
87
+ }
88
+ setOptions(options) {
89
+ this.fieldConfig.opcoesSelect = options;
90
+ return this;
91
+ }
92
+ addClass(className) {
93
+ if (this.deviceService.isMobile() &&
94
+ className.indexOf('col-') >= 0 &&
95
+ className.indexOf('col-12') === 0) {
96
+ className = className.replace('col-1', 'col-12')
97
+ .replace('col-2', 'col-12')
98
+ .replace('col-3', 'col-12')
99
+ .replace('col-4', 'col-12')
100
+ .replace('col-5', 'col-12')
101
+ .replace('col-6', 'col-12')
102
+ .replace('col-7', 'col-12')
103
+ .replace('col-8', 'col-12')
104
+ .replace('col-9', 'col-12')
105
+ .replace('col-10', 'col-12')
106
+ .replace('col-11', 'col-12');
107
+ }
108
+ this.fieldConfig.class = koala(`${this.fieldConfig?.class ?? ''} ${className}`)
109
+ .string()
110
+ .split(' ')
111
+ .clearEmptyValues()
112
+ .toString(' ')
113
+ .getValue();
114
+ return this;
115
+ }
116
+ addFieldClass(className) {
117
+ this.fieldConfig.fieldClass = koala(`${this.fieldConfig?.fieldClass ?? ''} ${className}`)
118
+ .string()
119
+ .split(' ')
120
+ .clearEmptyValues()
121
+ .toString(' ')
122
+ .getValue();
123
+ return this;
124
+ }
125
+ setCustomMasc(mask, config) {
126
+ this.fieldConfig.customMasc = mask;
127
+ this.fieldConfig.customMascThousandSeparator = config?.thousandSeparator;
128
+ this.fieldConfig.customMascSuffix = config?.suffix;
129
+ this.fieldConfig.customMascPrefix = config?.prefix;
130
+ return this;
131
+ }
132
+ generate() {
133
+ let getLastConfig = (this.formConfig.formConfig.length > 0) ?
134
+ this.formConfig.formConfig[this.formConfig.formConfig.length - 1] :
135
+ null;
136
+ if (getLastConfig?.type === DynamicFormTypeFieldEnum.moreItems && getLastConfig?.name !== 'endMoreItems') {
137
+ this.formConfig.formConfig[this.formConfig.formConfig.length - 1].moreItemsConfig.formConfig.push(this.fieldConfig);
138
+ }
139
+ else {
140
+ if (getLastConfig?.name === 'endMoreItems') {
141
+ this.formConfig.formConfig.splice(this.formConfig.formConfig.length - 1, 1);
142
+ }
143
+ this.formConfig.formConfig.push(this.fieldConfig);
144
+ }
145
+ return new DynamicFormBuilder(this.fb, this.deviceService, this.formConfig.formConfig);
146
+ }
147
+ }
148
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQuYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Zvcm0vc3JjL2xpYi9keW5hbWljLWZvcm0vYnVpbGRlci9maWVsZHMvZmllbGQuYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUlwRixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFdkMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFN0QsTUFBTSxPQUFnQixTQUFTO0lBRzdCLFlBQ0UsS0FBYSxFQUNiLElBQVksRUFDWixJQUE4QixFQUN0QixVQUEyQyxFQUN6QyxFQUFlLEVBQ2YsYUFBb0M7UUFGdEMsZUFBVSxHQUFWLFVBQVUsQ0FBaUM7UUFDekMsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUNmLGtCQUFhLEdBQWIsYUFBYSxDQUF1QjtRQUU5QyxJQUFJLENBQUMsV0FBVyxHQUFHO1lBQ2pCLEtBQUs7WUFDTCxJQUFJO1lBQ0osSUFBSTtTQUNMLENBQUE7UUFDRCxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVNLElBQUksQ0FBQyxPQUFnQixJQUFJO1FBQzlCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDO1FBQzlCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVNLEtBQUs7UUFDVixJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7UUFDOUIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU0sYUFBYSxDQUFDLFVBQXlCO1FBQzVDLElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYyxHQUFHLFVBQVUsQ0FBQztRQUM3QyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFTSxj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U0FDckg7YUFBTTtZQUNMLElBQUksYUFBYSxFQUFFLElBQUksS0FBSyxjQUFjLEVBQUU7Z0JBQzFDLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO2FBQzdFO1lBRUQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztTQUNuRDtRQUNELE9BQU8sSUFBSSxrQkFBa0IsQ0FDM0IsSUFBSSxDQUFDLEVBQUUsRUFDUCxJQUFJLENBQUMsYUFBYSxFQUNsQixJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FDM0IsQ0FBQztJQUNKLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEtvYWxhRHluYW1pY0Zvcm1GaWVsZEludGVyZmFjZSB9IGZyb20gXCIuLi8uLi9pbnRlcmZhY2VzL2tvYWxhLmR5bmFtaWMtZm9ybS1maWVsZC5pbnRlcmZhY2VcIjtcbmltcG9ydCB7IER5bmFtaWNGb3JtVHlwZUZpZWxkRW51bSB9IGZyb20gXCIuLi8uLi9lbnVtcy9keW5hbWljLWZvcm0tdHlwZS1maWVsZC5lbnVtXCI7XG5pbXBvcnQgeyBGbG9hdExhYmVsVHlwZSwgTWF0Rm9ybUZpZWxkQXBwZWFyYW5jZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkXCI7XG5pbXBvcnQgeyBBc3luY1ZhbGlkYXRvckZuLCBGb3JtQnVpbGRlciwgVmFsaWRhdG9yRm4gfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcbmltcG9ydCB7IEtvYWxhRHluYW1pY0Zvcm1Db25maWdJbnRlcmZhY2UgfSBmcm9tIFwiLi4vLi4vaW50ZXJmYWNlcy9rb2FsYS5keW5hbWljLWZvcm0tY29uZmlnLmludGVyZmFjZVwiO1xuaW1wb3J0IHsga29hbGEgfSBmcm9tIFwiQGtvYWxhcngvdXRpbHNcIjtcbmltcG9ydCB7IERldmljZURldGVjdG9yU2VydmljZSB9IGZyb20gXCJuZ3gtZGV2aWNlLWRldGVjdG9yXCI7XG5pbXBvcnQgeyBEeW5hbWljRm9ybUJ1aWxkZXIgfSBmcm9tIFwiLi4vZHluYW1pYy1mb3JtLmJ1aWxkZXJcIjtcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEZpZWxkQmFzZSB7XG4gIHByb3RlY3RlZCByZWFkb25seSBmaWVsZENvbmZpZzogS29hbGFEeW5hbWljRm9ybUZpZWxkSW50ZXJmYWNlO1xuXG4gIHByb3RlY3RlZCBjb25zdHJ1Y3RvcihcbiAgICBsYWJlbDogc3RyaW5nLFxuICAgIG5hbWU6IHN0cmluZyxcbiAgICB0eXBlOiBEeW5hbWljRm9ybVR5cGVGaWVsZEVudW0sXG4gICAgcHJpdmF0ZSBmb3JtQ29uZmlnOiBLb2FsYUR5bmFtaWNGb3JtQ29uZmlnSW50ZXJmYWNlLFxuICAgIHByb3RlY3RlZCBmYjogRm9ybUJ1aWxkZXIsXG4gICAgcHJvdGVjdGVkIGRldmljZVNlcnZpY2U6IERldmljZURldGVjdG9yU2VydmljZVxuICApIHtcbiAgICB0aGlzLmZpZWxkQ29uZmlnID0ge1xuICAgICAgbGFiZWwsXG4gICAgICBuYW1lLFxuICAgICAgdHlwZVxuICAgIH1cbiAgICB0aGlzLmFwcGVhcmFuY2UoKS5ncmlkKCk7XG4gIH1cblxuICBwdWJsaWMgaGlkZShoaWRlOiBib29sZWFuID0gdHJ1ZSkge1xuICAgIHRoaXMuZmllbGRDb25maWcuc2hvdyA9ICFoaWRlO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIGZvY3VzKCkge1xuICAgIHRoaXMuZmllbGRDb25maWcuZm9jdXMgPSB0cnVlO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIHN5bmNWYWxpZGF0b3IodmFsaWRhdG9yczogVmFsaWRhdG9yRm5bXSkge1xuICAgIHRoaXMuZmllbGRDb25maWcuc3luY1ZhbGlkYXRvcnMgPSB2YWxpZGF0b3JzO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIGFzeW5jVmFsaWRhdG9yKHZhbGlkYXRvcnM6IEFzeW5jVmFsaWRhdG9yRm4gfCBBc3luY1ZhbGlkYXRvckZuW10pIHtcbiAgICB0aGlzLmZpZWxkQ29uZmlnLmFzeW5jVmFsaWRhdG9ycyA9IHZhbGlkYXRvcnM7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgZGlzYWJsZWQoZGlzYWJsZWQ6IGJvb2xlYW4gPSB0cnVlKSB7XG4gICAgdGhpcy5maWVsZENvbmZpZy5kaXNhYmxlZCA9IGRpc2FibGVkO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIHJlcXVpcmVkKHJlcXVpcmVkOiBib29sZWFuID0gdHJ1ZSkge1xuICAgIHRoaXMuZmllbGRDb25maWcucmVxdWlyZWQgPSByZXF1aXJlZDtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyB0ZXh0SGludChoaW50OiBzdHJpbmcpIHtcbiAgICB0aGlzLmZpZWxkQ29uZmlnLnRleHRIaW50ID0gaGludDtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyBtaW4obWluOiBudW1iZXIpIHtcbiAgICB0aGlzLmZpZWxkQ29uZmlnLm1pbiA9IG1pbjtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyBtYXgobWF4OiBudW1iZXIpIHtcbiAgICB0aGlzLmZpZWxkQ29uZmlnLm1heCA9IG1heDtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyBtaW5MZW5ndGgobWluOiBudW1iZXIpIHtcbiAgICB0aGlzLmZpZWxkQ29uZmlnLm1pbkxlbmd0aCA9IG1pbjtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyBtYXhMZW5ndGgobWF4OiBudW1iZXIpIHtcbiAgICB0aGlzLmZpZWxkQ29uZmlnLm1heExlbmd0aCA9IG1heDtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyBtdWx0aXBsZShtdWx0aXBsZSA9IHRydWUpIHtcbiAgICB0aGlzLmZpZWxkQ29uZmlnLm11bHRpcGxlID0gbXVsdGlwbGU7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgdmFsdWVDaGFuZ2VzPFQ+KGZuOiAodmFsdWU6IFQpID0+IHZvaWQpIHtcbiAgICB0aGlzLmZpZWxkQ29uZmlnLnZhbHVlQ2hhbmdlcyA9IGZuO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIHNldFZhbHVlKHZhbHVlOiBhbnkpIHtcbiAgICB0aGlzLmZpZWxkQ29uZmlnLnZhbHVlID0gdmFsdWU7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgYXBwZWFyYW5jZSh0eXBlOiBNYXRGb3JtRmllbGRBcHBlYXJhbmNlID0gXCJvdXRsaW5lXCIsIGZsb2F0TGFiZWw6IEZsb2F0TGFiZWxUeXBlID0gXCJhbHdheXNcIikge1xuICAgIHRoaXMuZmllbGRDb25maWcuYXBwZWFyYW5jZSA9IHR5cGU7XG4gICAgdGhpcy5maWVsZENvbmZpZy5mbG9hdExhYmVsID0gZmxvYXRMYWJlbDtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyBncmlkKHNpemU6IDEgfCAyIHwgMyB8IDQgfCA1IHwgNiB8IDcgfCA4IHwgOSB8IDEwIHwgMTEgfCAxMiA9IDEyLCB3aWR0aDogbnVtYmVyID0gMTAwKSB7XG4gICAgaWYgKHRoaXMuZGV2aWNlU2VydmljZS5pc01vYmlsZSgpKSB7XG4gICAgICBzaXplID0gMTI7XG4gICAgfVxuXG4gICAgZm9yIChsZXQgY29sU2l6ZSA9IDEyOyBjb2xTaXplID49IDE7IGNvbFNpemUtLSkge1xuICAgICAgdGhpcy5maWVsZENvbmZpZy5jbGFzcyA9IHRoaXMuZmllbGRDb25maWcuY2xhc3M/LnJlcGxhY2UoJ2NvbC0nICsgY29sU2l6ZSwgJycpO1xuICAgIH1cbiAgICB0aGlzLmFkZENsYXNzKCdjb2wtJyArIHNpemUpO1xuICAgIHRoaXMuYWRkRmllbGRDbGFzcygndy0nICsgd2lkdGgpO1xuXG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgc2V0T3B0aW9ucyhvcHRpb25zOiB7IHZhbHVlOiBhbnk7IG5hbWU6IHN0cmluZzsgfVtdKSB7XG4gICAgdGhpcy5maWVsZENvbmZpZy5vcGNvZXNTZWxlY3QgPSBvcHRpb25zO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIGFkZENsYXNzKGNsYXNzTmFtZTogc3RyaW5nKSB7XG4gICAgaWYgKFxuICAgICAgdGhpcy5kZXZpY2VTZXJ2aWNlLmlzTW9iaWxlKCkgJiZcbiAgICAgIGNsYXNzTmFtZS5pbmRleE9mKCdjb2wtJykgPj0gMCAmJlxuICAgICAgY2xhc3NOYW1lLmluZGV4T2YoJ2NvbC0xMicpID09PSAwXG4gICAgKSB7XG4gICAgICBjbGFzc05hbWUgPSBjbGFzc05hbWUucmVwbGFjZSgnY29sLTEnLCAnY29sLTEyJylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIC5yZXBsYWNlKCdjb2wtMicsICdjb2wtMTInKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgLnJlcGxhY2UoJ2NvbC0zJywgJ2NvbC0xMicpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAucmVwbGFjZSgnY29sLTQnLCAnY29sLTEyJylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIC5yZXBsYWNlKCdjb2wtNScsICdjb2wtMTInKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgLnJlcGxhY2UoJ2NvbC02JywgJ2NvbC0xMicpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAucmVwbGFjZSgnY29sLTcnLCAnY29sLTEyJylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIC5yZXBsYWNlKCdjb2wtOCcsICdjb2wtMTInKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgLnJlcGxhY2UoJ2NvbC05JywgJ2NvbC0xMicpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAucmVwbGFjZSgnY29sLTEwJywgJ2NvbC0xMicpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAucmVwbGFjZSgnY29sLTExJywgJ2NvbC0xMicpO1xuICAgIH1cblxuICAgIHRoaXMuZmllbGRDb25maWcuY2xhc3MgPSBrb2FsYShgJHt0aGlzLmZpZWxkQ29uZmlnPy5jbGFzcyA/PyAnJ30gJHtjbGFzc05hbWV9YClcbiAgICAgIC5zdHJpbmcoKVxuICAgICAgLnNwbGl0KCcgJylcbiAgICAgIC5jbGVhckVtcHR5VmFsdWVzKClcbiAgICAgIC50b1N0cmluZygnICcpXG4gICAgICAuZ2V0VmFsdWUoKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyBhZGRGaWVsZENsYXNzKGNsYXNzTmFtZTogc3RyaW5nKSB7XG4gICAgdGhpcy5maWVsZENvbmZpZy5maWVsZENsYXNzID0ga29hbGEoYCR7dGhpcy5maWVsZENvbmZpZz8uZmllbGRDbGFzcyA/PyAnJ30gJHtjbGFzc05hbWV9YClcbiAgICAgIC5zdHJpbmcoKVxuICAgICAgLnNwbGl0KCcgJylcbiAgICAgIC5jbGVhckVtcHR5VmFsdWVzKClcbiAgICAgIC50b1N0cmluZygnICcpXG4gICAgICAuZ2V0VmFsdWUoKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyBzZXRDdXN0b21NYXNjKG1hc2s6IHN0cmluZywgY29uZmlnPzoge1xuICAgIHRob3VzYW5kU2VwYXJhdG9yPzogc3RyaW5nO1xuICAgIHN1ZmZpeD86IHN0cmluZztcbiAgICBwcmVmaXg/OiBzdHJpbmc7XG4gIH0pIHtcbiAgICB0aGlzLmZpZWxkQ29uZmlnLmN1c3RvbU1hc2MgPSBtYXNrO1xuICAgIHRoaXMuZmllbGRDb25maWcuY3VzdG9tTWFzY1Rob3VzYW5kU2VwYXJhdG9yID0gY29uZmlnPy50aG91c2FuZFNlcGFyYXRvcjtcbiAgICB0aGlzLmZpZWxkQ29uZmlnLmN1c3RvbU1hc2NTdWZmaXggPSBjb25maWc/LnN1ZmZpeDtcbiAgICB0aGlzLmZpZWxkQ29uZmlnLmN1c3RvbU1hc2NQcmVmaXggPSBjb25maWc/LnByZWZpeDtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyBnZW5lcmF0ZSgpIHtcbiAgICBsZXQgZ2V0TGFzdENvbmZpZyA9ICh0aGlzLmZvcm1Db25maWcuZm9ybUNvbmZpZy5sZW5ndGggPiAwKSA/XG4gICAgICB0aGlzLmZvcm1Db25maWcuZm9ybUNvbmZpZ1t0aGlzLmZvcm1Db25maWcuZm9ybUNvbmZpZy5sZW5ndGggLSAxXSA6XG4gICAgICBudWxsO1xuXG4gICAgaWYgKGdldExhc3RDb25maWc/LnR5cGUgPT09IER5bmFtaWNGb3JtVHlwZUZpZWxkRW51bS5tb3JlSXRlbXMgJiYgZ2V0TGFzdENvbmZpZz8ubmFtZSAhPT0gJ2VuZE1vcmVJdGVtcycpIHtcbiAgICAgIHRoaXMuZm9ybUNvbmZpZy5mb3JtQ29uZmlnW3RoaXMuZm9ybUNvbmZpZy5mb3JtQ29uZmlnLmxlbmd0aCAtIDFdLm1vcmVJdGVtc0NvbmZpZy5mb3JtQ29uZmlnLnB1c2godGhpcy5maWVsZENvbmZpZyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChnZXRMYXN0Q29uZmlnPy5uYW1lID09PSAnZW5kTW9yZUl0ZW1zJykge1xuICAgICAgICB0aGlzLmZvcm1Db25maWcuZm9ybUNvbmZpZy5zcGxpY2UodGhpcy5mb3JtQ29uZmlnLmZvcm1Db25maWcubGVuZ3RoIC0gMSwgMSk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuZm9ybUNvbmZpZy5mb3JtQ29uZmlnLnB1c2godGhpcy5maWVsZENvbmZpZyk7XG4gICAgfVxuICAgIHJldHVybiBuZXcgRHluYW1pY0Zvcm1CdWlsZGVyKFxuICAgICAgdGhpcy5mYixcbiAgICAgIHRoaXMuZGV2aWNlU2VydmljZSxcbiAgICAgIHRoaXMuZm9ybUNvbmZpZy5mb3JtQ29uZmlnXG4gICAgKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,57 @@
1
+ import { DynamicFormTypeFieldEnum } from "../../enums/dynamic-form-type-field.enum";
2
+ import { BehaviorSubject } from "rxjs";
3
+ import { DynamicFormBuilder } from "../dynamic-form.builder";
4
+ export class MoreItemsBuilder {
5
+ constructor(label, name, btnAddLabel, min, max, formConfig, fb, deviceService) {
6
+ this.label = label;
7
+ this.name = name;
8
+ this.btnAddLabel = btnAddLabel;
9
+ this.min = min;
10
+ this.max = max;
11
+ this.formConfig = formConfig;
12
+ this.fb = fb;
13
+ this.deviceService = deviceService;
14
+ }
15
+ build() {
16
+ let getLastConfig = (this.formConfig.formConfig.length > 0) ?
17
+ this.formConfig.formConfig[this.formConfig.formConfig.length - 1] :
18
+ null;
19
+ this.fieldConfig = {
20
+ label: this.label,
21
+ name: this.name,
22
+ type: DynamicFormTypeFieldEnum.moreItems,
23
+ moreItemsIconBackgroundColor: '#fff',
24
+ moreItemsIconFontColor: '#212121',
25
+ moreItemsMinItems: this.min,
26
+ moreItemsMaxItems: this.max,
27
+ moreItemsButtonIconAddlabel: this.btnAddLabel,
28
+ moreItemsConfig: {
29
+ form: this.fb.group({}),
30
+ formConfig: [],
31
+ setValues: new BehaviorSubject([])
32
+ }
33
+ };
34
+ if (getLastConfig?.type === DynamicFormTypeFieldEnum.moreItems && getLastConfig?.name !== 'endMoreItems') {
35
+ let formConfigMoreItems = getLastConfig.moreItemsConfig.formConfig;
36
+ if (formConfigMoreItems.length > 0) {
37
+ let lastIndexMoreItems = 0;
38
+ formConfigMoreItems.forEach((item, index) => {
39
+ if (item.type === DynamicFormTypeFieldEnum.moreItems)
40
+ lastIndexMoreItems = index;
41
+ });
42
+ formConfigMoreItems[lastIndexMoreItems].moreItemsConfig.formConfig.push(this.fieldConfig);
43
+ }
44
+ else {
45
+ this.formConfig.formConfig[this.formConfig.formConfig.length - 1].moreItemsConfig.formConfig.push(this.fieldConfig);
46
+ }
47
+ }
48
+ else {
49
+ if (getLastConfig?.name === 'endMoreItems') {
50
+ this.formConfig.formConfig.splice(this.formConfig.formConfig.length - 1, 1);
51
+ }
52
+ this.formConfig.formConfig.push(this.fieldConfig);
53
+ }
54
+ return new DynamicFormBuilder(this.fb, this.deviceService, this.formConfig.formConfig);
55
+ }
56
+ }
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9yZS1pdGVtcy5idWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZm9ybS9zcmMvbGliL2R5bmFtaWMtZm9ybS9idWlsZGVyL2ZpZWxkcy9tb3JlLWl0ZW1zLmJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFFcEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUt2QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUU3RCxNQUFNLE9BQU8sZ0JBQWdCO0lBRzNCLFlBQ1UsS0FBYSxFQUNiLElBQVksRUFDWixXQUFtQixFQUNuQixHQUFXLEVBQ1gsR0FBVyxFQUNYLFVBQTJDLEVBQzNDLEVBQWUsRUFDZixhQUFvQztRQVBwQyxVQUFLLEdBQUwsS0FBSyxDQUFRO1FBQ2IsU0FBSSxHQUFKLElBQUksQ0FBUTtRQUNaLGdCQUFXLEdBQVgsV0FBVyxDQUFRO1FBQ25CLFFBQUcsR0FBSCxHQUFHLENBQVE7UUFDWCxRQUFHLEdBQUgsR0FBRyxDQUFRO1FBQ1gsZUFBVSxHQUFWLFVBQVUsQ0FBaUM7UUFDM0MsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUNmLGtCQUFhLEdBQWIsYUFBYSxDQUF1QjtJQUU5QyxDQUFDO0lBRU0sS0FBSztRQUNWLElBQUksYUFBYSxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDM0QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDbkUsSUFBSSxDQUFDO1FBRVAsSUFBSSxDQUFDLFdBQVcsR0FBRztZQUNqQixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7WUFDakIsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ2YsSUFBSSxFQUFFLHdCQUF3QixDQUFDLFNBQVM7WUFDeEMsNEJBQTRCLEVBQUUsTUFBTTtZQUNwQyxzQkFBc0IsRUFBRSxTQUFTO1lBQ2pDLGlCQUFpQixFQUFFLElBQUksQ0FBQyxHQUFHO1lBQzNCLGlCQUFpQixFQUFFLElBQUksQ0FBQyxHQUFHO1lBQzNCLDJCQUEyQixFQUFFLElBQUksQ0FBQyxXQUFXO1lBQzdDLGVBQWUsRUFBRTtnQkFDZixJQUFJLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUN2QixVQUFVLEVBQUUsRUFBRTtnQkFDZCxTQUFTLEVBQUUsSUFBSSxlQUFlLENBQXFELEVBQUUsQ0FBQzthQUN2RjtTQUNGLENBQUM7UUFFRixJQUFJLGFBQWEsRUFBRSxJQUFJLEtBQUssd0JBQXdCLENBQUMsU0FBUyxJQUFJLGFBQWEsRUFBRSxJQUFJLEtBQUssY0FBYyxFQUFFO1lBQ3hHLElBQUksbUJBQW1CLEdBQUcsYUFBYSxDQUFDLGVBQWUsQ0FBQyxVQUE4QyxDQUFDO1lBQ3ZHLElBQUksbUJBQW1CLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtnQkFDbEMsSUFBSSxrQkFBa0IsR0FBRyxDQUFDLENBQUM7Z0JBQzNCLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRTtvQkFDMUMsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLHdCQUF3QixDQUFDLFNBQVM7d0JBQUUsa0JBQWtCLEdBQUcsS0FBSyxDQUFDO2dCQUNuRixDQUFDLENBQUMsQ0FBQztnQkFDSCxtQkFBbUIsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQzthQUMzRjtpQkFBTTtnQkFDTCxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO2FBQ3JIO1NBQ0Y7YUFBTTtZQUNMLElBQUksYUFBYSxFQUFFLElBQUksS0FBSyxjQUFjLEVBQUU7Z0JBQzFDLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO2FBQzdFO1lBQ0QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztTQUNuRDtRQUVELE9BQU8sSUFBSSxrQkFBa0IsQ0FDM0IsSUFBSSxDQUFDLEVBQUUsRUFDUCxJQUFJLENBQUMsYUFBYSxFQUNsQixJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FDM0IsQ0FBQztJQUNKLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IER5bmFtaWNGb3JtVHlwZUZpZWxkRW51bSB9IGZyb20gXCIuLi8uLi9lbnVtcy9keW5hbWljLWZvcm0tdHlwZS1maWVsZC5lbnVtXCI7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IEtvYWxhRHluYW1pY1NldFZhbHVlSW50ZXJmYWNlIH0gZnJvbSBcIi4uLy4uL2ludGVyZmFjZXMva29hbGEuZHluYW1pYy1zZXQtdmFsdWUuaW50ZXJmYWNlXCI7XG5pbXBvcnQgeyBLb2FsYUR5bmFtaWNGb3JtRmllbGRJbnRlcmZhY2UgfSBmcm9tIFwiLi4vLi4vaW50ZXJmYWNlcy9rb2FsYS5keW5hbWljLWZvcm0tZmllbGQuaW50ZXJmYWNlXCI7XG5pbXBvcnQgeyBLb2FsYUR5bmFtaWNGb3JtQ29uZmlnSW50ZXJmYWNlIH0gZnJvbSBcIi4uLy4uL2ludGVyZmFjZXMva29hbGEuZHluYW1pYy1mb3JtLWNvbmZpZy5pbnRlcmZhY2VcIjtcbmltcG9ydCB7IERldmljZURldGVjdG9yU2VydmljZSB9IGZyb20gXCJuZ3gtZGV2aWNlLWRldGVjdG9yXCI7XG5pbXBvcnQgeyBEeW5hbWljRm9ybUJ1aWxkZXIgfSBmcm9tIFwiLi4vZHluYW1pYy1mb3JtLmJ1aWxkZXJcIjtcblxuZXhwb3J0IGNsYXNzIE1vcmVJdGVtc0J1aWxkZXIge1xuICBwcml2YXRlIGZpZWxkQ29uZmlnOiBLb2FsYUR5bmFtaWNGb3JtRmllbGRJbnRlcmZhY2U7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBsYWJlbDogc3RyaW5nLFxuICAgIHByaXZhdGUgbmFtZTogc3RyaW5nLFxuICAgIHByaXZhdGUgYnRuQWRkTGFiZWw6IHN0cmluZyxcbiAgICBwcml2YXRlIG1pbjogbnVtYmVyLFxuICAgIHByaXZhdGUgbWF4OiBudW1iZXIsXG4gICAgcHJpdmF0ZSBmb3JtQ29uZmlnOiBLb2FsYUR5bmFtaWNGb3JtQ29uZmlnSW50ZXJmYWNlLFxuICAgIHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyLFxuICAgIHByaXZhdGUgZGV2aWNlU2VydmljZTogRGV2aWNlRGV0ZWN0b3JTZXJ2aWNlLFxuICApIHtcbiAgfVxuXG4gIHB1YmxpYyBidWlsZCgpIHtcbiAgICBsZXQgZ2V0TGFzdENvbmZpZyA9ICh0aGlzLmZvcm1Db25maWcuZm9ybUNvbmZpZy5sZW5ndGggPiAwKSA/XG4gICAgICB0aGlzLmZvcm1Db25maWcuZm9ybUNvbmZpZ1t0aGlzLmZvcm1Db25maWcuZm9ybUNvbmZpZy5sZW5ndGggLSAxXSA6XG4gICAgICBudWxsO1xuXG4gICAgdGhpcy5maWVsZENvbmZpZyA9IHtcbiAgICAgIGxhYmVsOiB0aGlzLmxhYmVsLFxuICAgICAgbmFtZTogdGhpcy5uYW1lLFxuICAgICAgdHlwZTogRHluYW1pY0Zvcm1UeXBlRmllbGRFbnVtLm1vcmVJdGVtcyxcbiAgICAgIG1vcmVJdGVtc0ljb25CYWNrZ3JvdW5kQ29sb3I6ICcjZmZmJyxcbiAgICAgIG1vcmVJdGVtc0ljb25Gb250Q29sb3I6ICcjMjEyMTIxJyxcbiAgICAgIG1vcmVJdGVtc01pbkl0ZW1zOiB0aGlzLm1pbixcbiAgICAgIG1vcmVJdGVtc01heEl0ZW1zOiB0aGlzLm1heCxcbiAgICAgIG1vcmVJdGVtc0J1dHRvbkljb25BZGRsYWJlbDogdGhpcy5idG5BZGRMYWJlbCxcbiAgICAgIG1vcmVJdGVtc0NvbmZpZzoge1xuICAgICAgICBmb3JtOiB0aGlzLmZiLmdyb3VwKHt9KSxcbiAgICAgICAgZm9ybUNvbmZpZzogW10sXG4gICAgICAgIHNldFZhbHVlczogbmV3IEJlaGF2aW9yU3ViamVjdDxCZWhhdmlvclN1YmplY3Q8S29hbGFEeW5hbWljU2V0VmFsdWVJbnRlcmZhY2VbXT5bXT4oW10pXG4gICAgICB9XG4gICAgfTtcblxuICAgIGlmIChnZXRMYXN0Q29uZmlnPy50eXBlID09PSBEeW5hbWljRm9ybVR5cGVGaWVsZEVudW0ubW9yZUl0ZW1zICYmIGdldExhc3RDb25maWc/Lm5hbWUgIT09ICdlbmRNb3JlSXRlbXMnKSB7XG4gICAgICBsZXQgZm9ybUNvbmZpZ01vcmVJdGVtcyA9IGdldExhc3RDb25maWcubW9yZUl0ZW1zQ29uZmlnLmZvcm1Db25maWcgYXMgS29hbGFEeW5hbWljRm9ybUZpZWxkSW50ZXJmYWNlW107XG4gICAgICBpZiAoZm9ybUNvbmZpZ01vcmVJdGVtcy5sZW5ndGggPiAwKSB7XG4gICAgICAgIGxldCBsYXN0SW5kZXhNb3JlSXRlbXMgPSAwO1xuICAgICAgICBmb3JtQ29uZmlnTW9yZUl0ZW1zLmZvckVhY2goKGl0ZW0sIGluZGV4KSA9PiB7XG4gICAgICAgICAgaWYgKGl0ZW0udHlwZSA9PT0gRHluYW1pY0Zvcm1UeXBlRmllbGRFbnVtLm1vcmVJdGVtcykgbGFzdEluZGV4TW9yZUl0ZW1zID0gaW5kZXg7XG4gICAgICAgIH0pO1xuICAgICAgICBmb3JtQ29uZmlnTW9yZUl0ZW1zW2xhc3RJbmRleE1vcmVJdGVtc10ubW9yZUl0ZW1zQ29uZmlnLmZvcm1Db25maWcucHVzaCh0aGlzLmZpZWxkQ29uZmlnKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuZm9ybUNvbmZpZy5mb3JtQ29uZmlnW3RoaXMuZm9ybUNvbmZpZy5mb3JtQ29uZmlnLmxlbmd0aCAtIDFdLm1vcmVJdGVtc0NvbmZpZy5mb3JtQ29uZmlnLnB1c2godGhpcy5maWVsZENvbmZpZyk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChnZXRMYXN0Q29uZmlnPy5uYW1lID09PSAnZW5kTW9yZUl0ZW1zJykge1xuICAgICAgICB0aGlzLmZvcm1Db25maWcuZm9ybUNvbmZpZy5zcGxpY2UodGhpcy5mb3JtQ29uZmlnLmZvcm1Db25maWcubGVuZ3RoIC0gMSwgMSk7XG4gICAgICB9XG4gICAgICB0aGlzLmZvcm1Db25maWcuZm9ybUNvbmZpZy5wdXNoKHRoaXMuZmllbGRDb25maWcpO1xuICAgIH1cblxuICAgIHJldHVybiBuZXcgRHluYW1pY0Zvcm1CdWlsZGVyKFxuICAgICAgdGhpcy5mYixcbiAgICAgIHRoaXMuZGV2aWNlU2VydmljZSxcbiAgICAgIHRoaXMuZm9ybUNvbmZpZy5mb3JtQ29uZmlnXG4gICAgKTtcbiAgfVxufVxuIl19