@ldquocc/dynamic-form 0.0.9 → 0.0.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 (298) hide show
  1. package/fesm2022/ldquocc-dynamic-form.mjs +4909 -0
  2. package/fesm2022/ldquocc-dynamic-form.mjs.map +1 -0
  3. package/index.d.ts +5 -0
  4. package/lib/dynamic-form.component.d.ts +67 -0
  5. package/lib/shared/base/base-select.component.d.ts +19 -0
  6. package/lib/shared/base/base-value-accessor.d.ts +69 -0
  7. package/{src/lib/shared/components/component.ts → lib/shared/components/component.d.ts} +14 -34
  8. package/lib/shared/components/dynamic-field/dynamic-field.component.d.ts +23 -0
  9. package/lib/shared/components/field-user-config/field-user-config.component.d.ts +10 -0
  10. package/lib/shared/components/fields/components/suffix/suffix.component.d.ts +12 -0
  11. package/lib/shared/components/fields/date/date-picker/date-picker.component.d.ts +17 -0
  12. package/lib/shared/components/fields/date/date-range/date-range.component.d.ts +17 -0
  13. package/lib/shared/components/fields/input/input-formatted/input-formatted.component.d.ts +20 -0
  14. package/lib/shared/components/fields/input/input-password/input-password.component.d.ts +12 -0
  15. package/lib/shared/components/fields/input/input-text/input-text.component.d.ts +14 -0
  16. package/lib/shared/components/fields/select/multi-select/multi-select.component.d.ts +21 -0
  17. package/lib/shared/components/fields/select/single-select/single-select.component.d.ts +21 -0
  18. package/lib/shared/components/fields/select/tree-select/tree-select.component.d.ts +28 -0
  19. package/lib/shared/components/fields/textarea/textarea.component.d.ts +14 -0
  20. package/lib/shared/components/fields/upload/avatar-upload/avatar-upload.component.d.ts +25 -0
  21. package/lib/shared/components/fields/upload/multi-file-upload/multi-file-upload.component.d.ts +76 -0
  22. package/lib/shared/components/fields/upload/multi-image-upload/multi-image-upload.component.d.ts +27 -0
  23. package/lib/shared/components/fields/upload/single-file-upload/single-file-upload.component.d.ts +29 -0
  24. package/lib/shared/config/dynamic-form.config.d.ts +9 -0
  25. package/lib/shared/consts/common/common.const.d.ts +5 -0
  26. package/lib/shared/consts/common/field-dependency.const.d.ts +1 -0
  27. package/lib/shared/consts/common/file.const.d.ts +148 -0
  28. package/{src/lib/shared/consts/common/index.ts → lib/shared/consts/common/index.d.ts} +4 -4
  29. package/lib/shared/consts/common/standalone-import.const.d.ts +7 -0
  30. package/lib/shared/consts/controls/control.const.d.ts +1 -0
  31. package/{src/lib/shared/consts/controls/index.ts → lib/shared/consts/controls/index.d.ts} +1 -1
  32. package/lib/shared/consts/fields/date-field.const.d.ts +7 -0
  33. package/lib/shared/consts/fields/field.const.d.ts +4 -0
  34. package/{src/lib/shared/consts/fields/index.ts → lib/shared/consts/fields/index.d.ts} +5 -5
  35. package/lib/shared/consts/fields/input-field.const.d.ts +4 -0
  36. package/lib/shared/consts/fields/input-formatted-field.const.d.ts +4 -0
  37. package/lib/shared/consts/fields/radio-field.const.d.ts +10 -0
  38. package/lib/shared/consts/fields/select-field.const.d.ts +6 -0
  39. package/lib/shared/consts/fields/upload-field.const.d.ts +1 -0
  40. package/lib/shared/consts/validators/pattern.const.d.ts +2 -0
  41. package/lib/shared/enums/common/field-dependency.enum.d.ts +9 -0
  42. package/lib/shared/enums/common/file-size-type.enum.d.ts +6 -0
  43. package/{src/lib/shared/enums/common/index.ts → lib/shared/enums/common/index.d.ts} +4 -4
  44. package/lib/shared/enums/common/output-value-type.enum.d.ts +19 -0
  45. package/lib/shared/enums/common/view-mode.enum.d.ts +4 -0
  46. package/lib/shared/enums/controls/control.enum.d.ts +11 -0
  47. package/{src/lib/shared/enums/controls/index.ts → lib/shared/enums/controls/index.d.ts} +1 -1
  48. package/lib/shared/enums/fields/date-field.enum.d.ts +4 -0
  49. package/lib/shared/enums/fields/field.enum.d.ts +20 -0
  50. package/{src/lib/shared/enums/fields/index.ts → lib/shared/enums/fields/index.d.ts} +6 -6
  51. package/lib/shared/enums/fields/input-field.enum.d.ts +6 -0
  52. package/lib/shared/enums/fields/input-formatted-field.enum.d.ts +6 -0
  53. package/lib/shared/enums/fields/select-field.enum.d.ts +4 -0
  54. package/lib/shared/enums/fields/upload-field.enum.d.ts +5 -0
  55. package/lib/shared/enums/form/dynamic-form.enum.d.ts +6 -0
  56. package/{src/lib/shared/enums/form/index.ts → lib/shared/enums/form/index.d.ts} +1 -1
  57. package/{src/lib/shared/enums/validators/index.ts → lib/shared/enums/validators/index.d.ts} +2 -2
  58. package/lib/shared/enums/validators/regex.enum.d.ts +38 -0
  59. package/lib/shared/enums/validators/validators.enum.d.ts +14 -0
  60. package/lib/shared/factories/auto-numeric-options.factory.d.ts +5 -0
  61. package/lib/shared/models/common/api-config.model.d.ts +4 -0
  62. package/lib/shared/models/common/api-response.model.d.ts +19 -0
  63. package/lib/shared/models/common/common.model.d.ts +29 -0
  64. package/lib/shared/models/common/field-dependency.model.d.ts +16 -0
  65. package/lib/shared/models/common/file-config.model.d.ts +11 -0
  66. package/{src/lib/shared/models/common/index.ts → lib/shared/models/common/index.d.ts} +7 -7
  67. package/lib/shared/models/common/obj-field.model.d.ts +59 -0
  68. package/lib/shared/models/common/object-storage.model.d.ts +15 -0
  69. package/{src/lib/shared/models/common/output-value-type.model.ts → lib/shared/models/common/output-value-type.model.d.ts} +4 -4
  70. package/lib/shared/models/common/table-models.d.ts +15 -0
  71. package/{src/lib/shared/models/common/view-mode.model.ts → lib/shared/models/common/view-mode.model.d.ts} +1 -1
  72. package/{src/lib/shared/models/controls/control.model.ts → lib/shared/models/controls/control.model.d.ts} +2 -3
  73. package/{src/lib/shared/models/controls/index.ts → lib/shared/models/controls/index.d.ts} +1 -1
  74. package/lib/shared/models/fields/date/base-date-field.model.d.ts +19 -0
  75. package/lib/shared/models/fields/date/date-picker-field.model.d.ts +12 -0
  76. package/lib/shared/models/fields/date/date-range-field.model.d.ts +12 -0
  77. package/{src/lib/shared/models/fields/date/index.ts → lib/shared/models/fields/date/index.d.ts} +3 -3
  78. package/lib/shared/models/fields/field-grid.model.d.ts +9 -0
  79. package/lib/shared/models/fields/field-group.model.d.ts +21 -0
  80. package/lib/shared/models/fields/field-user-config.model.d.ts +3 -0
  81. package/lib/shared/models/fields/field.model.d.ts +57 -0
  82. package/{src/lib/shared/models/fields/index.ts → lib/shared/models/fields/index.d.ts} +2 -2
  83. package/{src/lib/shared/models/fields/input/index.ts → lib/shared/models/fields/input/index.d.ts} +4 -4
  84. package/lib/shared/models/fields/input/input-field.model.d.ts +31 -0
  85. package/lib/shared/models/fields/input/input-formatted-field.model.d.ts +13 -0
  86. package/lib/shared/models/fields/input/input-password-field.model.d.ts +11 -0
  87. package/lib/shared/models/fields/input/input-text-field.model.d.ts +9 -0
  88. package/lib/shared/models/fields/radio/radio-base-field.model.d.ts +26 -0
  89. package/lib/shared/models/fields/select/multi-select-field.model.d.ts +11 -0
  90. package/lib/shared/models/fields/select/select-base-field.model.d.ts +40 -0
  91. package/lib/shared/models/fields/select/single-select-field.model.d.ts +9 -0
  92. package/lib/shared/models/fields/select/tree-select-field.model.d.ts +10 -0
  93. package/lib/shared/models/fields/textarea/textarea-field.model.d.ts +20 -0
  94. package/lib/shared/models/fields/upload/avatar-upload-field.model.d.ts +9 -0
  95. package/lib/shared/models/fields/upload/base-upload-field.model.d.ts +25 -0
  96. package/{src/lib/shared/models/fields/upload/index.ts → lib/shared/models/fields/upload/index.d.ts} +5 -5
  97. package/lib/shared/models/fields/upload/multi-file-upload-field.model.d.ts +10 -0
  98. package/lib/shared/models/fields/upload/multi-image-upload-field.model.d.ts +12 -0
  99. package/lib/shared/models/fields/upload/single-file-upload-field.model.d.ts +11 -0
  100. package/{src/lib/shared/models/form/dynamic-form.model.ts → lib/shared/models/form/dynamic-form.model.d.ts} +1 -1
  101. package/{src/lib/shared/models/form/index.ts → lib/shared/models/form/index.d.ts} +1 -1
  102. package/lib/shared/services/dynamic-form.service.d.ts +48 -0
  103. package/lib/shared/services/field.service.d.ts +41 -0
  104. package/lib/shared/services/file.service.d.ts +20 -0
  105. package/lib/shared/services/form-config.service.d.ts +10 -0
  106. package/lib/shared/services/form-data.service.d.ts +53 -0
  107. package/lib/shared/services/form-utils.d.ts +5 -0
  108. package/lib/shared/services/suffix.service.d.ts +12 -0
  109. package/lib/shared/services/validation.service.d.ts +10 -0
  110. package/lib/shared/utils/common/common.utils.d.ts +7 -0
  111. package/{src/lib/shared/utils/common/index.ts → lib/shared/utils/common/index.d.ts} +1 -1
  112. package/lib/shared/utils/date/date.utils.d.ts +6 -0
  113. package/{src/lib/shared/utils/date/index.ts → lib/shared/utils/date/index.d.ts} +1 -1
  114. package/lib/shared/utils/dynamic-form/dynamic-form.d.ts +11 -0
  115. package/lib/shared/utils/fields/fields.d.ts +20 -0
  116. package/{src/lib/shared/utils/fields/index.ts → lib/shared/utils/fields/index.d.ts} +1 -1
  117. package/lib/shared/utils/file/file.utils.d.ts +4 -0
  118. package/{src/lib/shared/utils/file/index.ts → lib/shared/utils/file/index.d.ts} +1 -1
  119. package/lib/shared/utils/validators/custom-validators.d.ts +11 -0
  120. package/lib/shared/utils/validators/default-error-message.d.ts +6 -0
  121. package/{src/lib/shared/utils/validators/index.ts → lib/shared/utils/validators/index.d.ts} +3 -3
  122. package/lib/shared/utils/validators/pattern.d.ts +4 -0
  123. package/package.json +31 -20
  124. package/{src/public-api.ts → public-api.d.ts} +29 -68
  125. package/ng-package.json +0 -15
  126. package/src/lib/dynamic-form.component.html +0 -121
  127. package/src/lib/dynamic-form.component.scss +0 -7
  128. package/src/lib/dynamic-form.component.spec.ts +0 -21
  129. package/src/lib/dynamic-form.component.ts +0 -237
  130. package/src/lib/dynamic-form.service.spec.ts +0 -16
  131. package/src/lib/dynamic-form.service.ts +0 -9
  132. package/src/lib/shared/base/base-select.component.ts +0 -183
  133. package/src/lib/shared/base/base-value-accessor.ts +0 -192
  134. package/src/lib/shared/components/d-form-testing/d-form-testing.component.html +0 -197
  135. package/src/lib/shared/components/d-form-testing/d-form-testing.component.less +0 -12
  136. package/src/lib/shared/components/d-form-testing/d-form-testing.component.spec.ts +0 -22
  137. package/src/lib/shared/components/d-form-testing/d-form-testing.component.ts +0 -197
  138. package/src/lib/shared/components/dynamic-field/dynamic-field.component.html +0 -218
  139. package/src/lib/shared/components/dynamic-field/dynamic-field.component.scss +0 -28
  140. package/src/lib/shared/components/dynamic-field/dynamic-field.component.spec.ts +0 -21
  141. package/src/lib/shared/components/dynamic-field/dynamic-field.component.ts +0 -67
  142. package/src/lib/shared/components/field-user-config/field-user-config.component.html +0 -38
  143. package/src/lib/shared/components/field-user-config/field-user-config.component.scss +0 -29
  144. package/src/lib/shared/components/field-user-config/field-user-config.component.ts +0 -33
  145. package/src/lib/shared/components/fields/components/suffix/suffix.component.html +0 -42
  146. package/src/lib/shared/components/fields/components/suffix/suffix.component.scss +0 -3
  147. package/src/lib/shared/components/fields/components/suffix/suffix.component.spec.ts +0 -22
  148. package/src/lib/shared/components/fields/components/suffix/suffix.component.ts +0 -32
  149. package/src/lib/shared/components/fields/date/date-picker/date-picker.component.html +0 -20
  150. package/src/lib/shared/components/fields/date/date-picker/date-picker.component.scss +0 -5
  151. package/src/lib/shared/components/fields/date/date-picker/date-picker.component.spec.ts +0 -21
  152. package/src/lib/shared/components/fields/date/date-picker/date-picker.component.ts +0 -148
  153. package/src/lib/shared/components/fields/date/date-range/date-range.component.html +0 -33
  154. package/src/lib/shared/components/fields/date/date-range/date-range.component.scss +0 -22
  155. package/src/lib/shared/components/fields/date/date-range/date-range.component.spec.ts +0 -21
  156. package/src/lib/shared/components/fields/date/date-range/date-range.component.ts +0 -133
  157. package/src/lib/shared/components/fields/input/input-formatted/input-formatted.component.html +0 -31
  158. package/src/lib/shared/components/fields/input/input-formatted/input-formatted.component.scss +0 -3
  159. package/src/lib/shared/components/fields/input/input-formatted/input-formatted.component.spec.ts +0 -21
  160. package/src/lib/shared/components/fields/input/input-formatted/input-formatted.component.ts +0 -148
  161. package/src/lib/shared/components/fields/input/input-password/input-password.component.html +0 -18
  162. package/src/lib/shared/components/fields/input/input-password/input-password.component.scss +0 -0
  163. package/src/lib/shared/components/fields/input/input-password/input-password.component.spec.ts +0 -21
  164. package/src/lib/shared/components/fields/input/input-password/input-password.component.ts +0 -56
  165. package/src/lib/shared/components/fields/input/input-text/input-text.component.html +0 -73
  166. package/src/lib/shared/components/fields/input/input-text/input-text.component.scss +0 -0
  167. package/src/lib/shared/components/fields/input/input-text/input-text.component.spec.ts +0 -21
  168. package/src/lib/shared/components/fields/input/input-text/input-text.component.ts +0 -98
  169. package/src/lib/shared/components/fields/select/multi-select/multi-select.component.html +0 -73
  170. package/src/lib/shared/components/fields/select/multi-select/multi-select.component.scss +0 -21
  171. package/src/lib/shared/components/fields/select/multi-select/multi-select.component.spec.ts +0 -21
  172. package/src/lib/shared/components/fields/select/multi-select/multi-select.component.ts +0 -212
  173. package/src/lib/shared/components/fields/select/single-select/single-select.component.html +0 -55
  174. package/src/lib/shared/components/fields/select/single-select/single-select.component.scss +0 -1
  175. package/src/lib/shared/components/fields/select/single-select/single-select.component.spec.ts +0 -21
  176. package/src/lib/shared/components/fields/select/single-select/single-select.component.ts +0 -217
  177. package/src/lib/shared/components/fields/select/single-select/sl.component.old.txt +0 -337
  178. package/src/lib/shared/components/fields/select/single-select/sl.component.old2.txt +0 -340
  179. package/src/lib/shared/components/fields/select/tree-select/tree-select.component.html +0 -38
  180. package/src/lib/shared/components/fields/select/tree-select/tree-select.component.scss +0 -1
  181. package/src/lib/shared/components/fields/select/tree-select/tree-select.component.spec.ts +0 -21
  182. package/src/lib/shared/components/fields/select/tree-select/tree-select.component.ts +0 -401
  183. package/src/lib/shared/components/fields/textarea/textarea.component.html +0 -29
  184. package/src/lib/shared/components/fields/textarea/textarea.component.scss +0 -17
  185. package/src/lib/shared/components/fields/textarea/textarea.component.spec.ts +0 -21
  186. package/src/lib/shared/components/fields/textarea/textarea.component.ts +0 -76
  187. package/src/lib/shared/components/fields/upload/avatar-upload/avatar-upload.component.html +0 -30
  188. package/src/lib/shared/components/fields/upload/avatar-upload/avatar-upload.component.scss +0 -22
  189. package/src/lib/shared/components/fields/upload/avatar-upload/avatar-upload.component.spec.ts +0 -22
  190. package/src/lib/shared/components/fields/upload/avatar-upload/avatar-upload.component.ts +0 -217
  191. package/src/lib/shared/components/fields/upload/multi-file-upload/multi-file-upload.component.html +0 -101
  192. package/src/lib/shared/components/fields/upload/multi-file-upload/multi-file-upload.component.scss +0 -117
  193. package/src/lib/shared/components/fields/upload/multi-file-upload/multi-file-upload.component.spec.ts +0 -22
  194. package/src/lib/shared/components/fields/upload/multi-file-upload/multi-file-upload.component.ts +0 -480
  195. package/src/lib/shared/components/fields/upload/multi-image-upload/multi-image-upload.component.html +0 -82
  196. package/src/lib/shared/components/fields/upload/multi-image-upload/multi-image-upload.component.less +0 -80
  197. package/src/lib/shared/components/fields/upload/multi-image-upload/multi-image-upload.component.spec.ts +0 -22
  198. package/src/lib/shared/components/fields/upload/multi-image-upload/multi-image-upload.component.ts +0 -288
  199. package/src/lib/shared/components/fields/upload/single-file-upload/single-file-upload.component.html +0 -104
  200. package/src/lib/shared/components/fields/upload/single-file-upload/single-file-upload.component.scss +0 -37
  201. package/src/lib/shared/components/fields/upload/single-file-upload/single-file-upload.component.spec.ts +0 -21
  202. package/src/lib/shared/components/fields/upload/single-file-upload/single-file-upload.component.ts +0 -317
  203. package/src/lib/shared/config/dynamic-form.config.ts +0 -11
  204. package/src/lib/shared/consts/common/common.const.ts +0 -5
  205. package/src/lib/shared/consts/common/field-dependency.const.ts +0 -1
  206. package/src/lib/shared/consts/common/file.const.ts +0 -130
  207. package/src/lib/shared/consts/common/sample-test.const.ts +0 -1648
  208. package/src/lib/shared/consts/common/standalone-import.const.ts +0 -51
  209. package/src/lib/shared/consts/controls/control.const.ts +0 -11
  210. package/src/lib/shared/consts/fields/date-field.const.ts +0 -12
  211. package/src/lib/shared/consts/fields/field.const.ts +0 -23
  212. package/src/lib/shared/consts/fields/input-field.const.ts +0 -4
  213. package/src/lib/shared/consts/fields/input-formatted-field.const.ts +0 -35
  214. package/src/lib/shared/consts/fields/radio-field.const.ts +0 -31
  215. package/src/lib/shared/consts/fields/select-field.const.ts +0 -7
  216. package/src/lib/shared/consts/fields/upload-field.const.ts +0 -1
  217. package/src/lib/shared/consts/validators/index.ts +0 -0
  218. package/src/lib/shared/consts/validators/pattern.const.ts +0 -117
  219. package/src/lib/shared/enums/common/component-ui.enum.ts +0 -8
  220. package/src/lib/shared/enums/common/field-dependency.enum.ts +0 -10
  221. package/src/lib/shared/enums/common/file-size-type.enum.ts +0 -6
  222. package/src/lib/shared/enums/common/output-value-type.enum.ts +0 -22
  223. package/src/lib/shared/enums/common/view-mode.enum.ts +0 -4
  224. package/src/lib/shared/enums/controls/control.enum.ts +0 -12
  225. package/src/lib/shared/enums/fields/date-field.enum.ts +0 -4
  226. package/src/lib/shared/enums/fields/field.enum.ts +0 -21
  227. package/src/lib/shared/enums/fields/input-field.enum.ts +0 -6
  228. package/src/lib/shared/enums/fields/input-formatted-field.enum.ts +0 -6
  229. package/src/lib/shared/enums/fields/select-field.enum.ts +0 -4
  230. package/src/lib/shared/enums/fields/upload-field.enum.ts +0 -5
  231. package/src/lib/shared/enums/form/dynamic-form.enum.ts +0 -6
  232. package/src/lib/shared/enums/validators/regex.enum.ts +0 -47
  233. package/src/lib/shared/enums/validators/validators.enum.ts +0 -17
  234. package/src/lib/shared/factories/auto-numeric-options.factory.ts +0 -14
  235. package/src/lib/shared/models/common/api-config.model.ts +0 -7
  236. package/src/lib/shared/models/common/api-response.model.ts +0 -20
  237. package/src/lib/shared/models/common/common.model.ts +0 -39
  238. package/src/lib/shared/models/common/field-dependency.model.ts +0 -27
  239. package/src/lib/shared/models/common/file-config.model.ts +0 -22
  240. package/src/lib/shared/models/common/obj-field.model.ts +0 -68
  241. package/src/lib/shared/models/common/object-storage.model.ts +0 -15
  242. package/src/lib/shared/models/common/table-models.ts +0 -16
  243. package/src/lib/shared/models/fields/date/base-date-field.model.ts +0 -52
  244. package/src/lib/shared/models/fields/date/date-picker-field.model.ts +0 -43
  245. package/src/lib/shared/models/fields/date/date-range-field.model.ts +0 -52
  246. package/src/lib/shared/models/fields/field-grid.model.ts +0 -10
  247. package/src/lib/shared/models/fields/field-group.model.ts +0 -50
  248. package/src/lib/shared/models/fields/field-user-config.model.ts +0 -8
  249. package/src/lib/shared/models/fields/field.model.ts +0 -184
  250. package/src/lib/shared/models/fields/input/input-field.model.ts +0 -111
  251. package/src/lib/shared/models/fields/input/input-formatted-field.model.ts +0 -38
  252. package/src/lib/shared/models/fields/input/input-password-field.model.ts +0 -38
  253. package/src/lib/shared/models/fields/input/input-text-field.model.ts +0 -26
  254. package/src/lib/shared/models/fields/radio/index.ts +0 -0
  255. package/src/lib/shared/models/fields/radio/radio-base-field.model.ts +0 -84
  256. package/src/lib/shared/models/fields/select/index.ts +0 -0
  257. package/src/lib/shared/models/fields/select/multi-select-field.model.ts +0 -46
  258. package/src/lib/shared/models/fields/select/select-base-field.model.ts +0 -125
  259. package/src/lib/shared/models/fields/select/single-select-field.model.ts +0 -43
  260. package/src/lib/shared/models/fields/select/tree-select-field.model.ts +0 -44
  261. package/src/lib/shared/models/fields/textarea/index.ts +0 -0
  262. package/src/lib/shared/models/fields/textarea/textarea-field.model.ts +0 -97
  263. package/src/lib/shared/models/fields/upload/avatar-upload-field.model.ts +0 -33
  264. package/src/lib/shared/models/fields/upload/base-upload-field.model.ts +0 -105
  265. package/src/lib/shared/models/fields/upload/multi-file-upload-field.model.ts +0 -34
  266. package/src/lib/shared/models/fields/upload/multi-image-upload-field.model.ts +0 -42
  267. package/src/lib/shared/models/fields/upload/single-file-upload-field.model.ts +0 -33
  268. package/src/lib/shared/models/validations/index.ts +0 -1
  269. package/src/lib/shared/models/validations/validations.model.ts +0 -14
  270. package/src/lib/shared/services/dynamic-form.service.spec.ts +0 -16
  271. package/src/lib/shared/services/dynamic-form.service.ts +0 -251
  272. package/src/lib/shared/services/field.service.spec.ts +0 -16
  273. package/src/lib/shared/services/field.service.ts +0 -152
  274. package/src/lib/shared/services/file.service.spec.ts +0 -16
  275. package/src/lib/shared/services/file.service.ts +0 -53
  276. package/src/lib/shared/services/form-config.service.ts +0 -53
  277. package/src/lib/shared/services/form-data.service.spec.ts +0 -16
  278. package/src/lib/shared/services/form-data.service.ts +0 -114
  279. package/src/lib/shared/services/form-utils.ts +0 -52
  280. package/src/lib/shared/services/suffix.service.spec.ts +0 -16
  281. package/src/lib/shared/services/suffix.service.ts +0 -16
  282. package/src/lib/shared/services/validation.service.spec.ts +0 -16
  283. package/src/lib/shared/services/validation.service.ts +0 -38
  284. package/src/lib/shared/utils/common/common.utils.ts +0 -52
  285. package/src/lib/shared/utils/date/date.utils.ts +0 -129
  286. package/src/lib/shared/utils/dynamic-field/dynamic-field.ts +0 -0
  287. package/src/lib/shared/utils/dynamic-field/index.ts +0 -0
  288. package/src/lib/shared/utils/dynamic-form/dynamic-form.ts +0 -114
  289. package/src/lib/shared/utils/dynamic-form/index.ts +0 -0
  290. package/src/lib/shared/utils/fields/fields.ts +0 -78
  291. package/src/lib/shared/utils/file/file.utils.ts +0 -37
  292. package/src/lib/shared/utils/validators/custom-validators.ts +0 -158
  293. package/src/lib/shared/utils/validators/default-error-message.ts +0 -42
  294. package/src/lib/shared/utils/validators/pattern.ts +0 -26
  295. package/tsconfig.lib.json +0 -15
  296. package/tsconfig.lib.prod.json +0 -11
  297. package/tsconfig.spec.json +0 -15
  298. /package/{src/lib/shared/styles → styles}/_common-form.scss +0 -0
@@ -0,0 +1,15 @@
1
+ export interface ObjectStorage {
2
+ id: string;
3
+ uid?: string;
4
+ name?: string;
5
+ contentType?: string;
6
+ size?: number;
7
+ bucket?: string;
8
+ isDir?: boolean;
9
+ createdAt?: string;
10
+ updatedAt?: string;
11
+ path?: string;
12
+ isPublic?: boolean;
13
+ originalName?: string;
14
+ nameAlias?: string;
15
+ }
@@ -1,4 +1,4 @@
1
- export type SelectOutputValueType = 'single' | 'object' | 'sourceObject';
2
- export type DatePickerOutputValueType = 'string' | 'date';
3
- export type DateRangeOutputValueType = 'string' | 'string-array' | 'date-array';
4
- export type UploadOutputValueType = 'file' | 'object-storage' | 'object';
1
+ export type SelectOutputValueType = 'single' | 'object' | 'sourceObject';
2
+ export type DatePickerOutputValueType = 'string' | 'date';
3
+ export type DateRangeOutputValueType = 'string' | 'string-array' | 'date-array';
4
+ export type UploadOutputValueType = 'file' | 'object-storage' | 'object';
@@ -0,0 +1,15 @@
1
+ export declare enum TableCellTypeEnum {
2
+ ACTION = "action",
3
+ CHECK = "check",
4
+ SUBTEXT = "subtext",
5
+ IMAGE = "image",
6
+ BADGE = "badge",
7
+ INDEX = "index",
8
+ TEXT = "text",
9
+ ICON_TEXT = "icon-text",
10
+ SWAP_FUNC = "swap",
11
+ EMPTY = "empty"
12
+ }
13
+ export interface RawColumn {
14
+ [key: string]: any;
15
+ }
@@ -1 +1 @@
1
- export type ViewMode = 'form' | 'text';
1
+ export type ViewMode = 'form' | 'text';
@@ -1,3 +1,2 @@
1
- import { CONTROL_TYPES } from '../../consts/controls';
2
-
3
- export type ControlType = (typeof CONTROL_TYPES)[number];
1
+ import { CONTROL_TYPES } from '../../consts/controls';
2
+ export type ControlType = (typeof CONTROL_TYPES)[number];
@@ -1 +1 @@
1
- export * from './control.model';
1
+ export * from './control.model';
@@ -0,0 +1,19 @@
1
+ import { FormControl } from '@angular/forms';
2
+ import { BaseField } from '../field.model';
3
+ import { DATE_FIELD_TYPES } from '../../../consts/fields';
4
+ export type DateFieldType = (typeof DATE_FIELD_TYPES)[number];
5
+ /**
6
+ * Interface base chung cho Các dạng Date.
7
+ */
8
+ export declare abstract class BaseDateField<K> extends BaseField<K> {
9
+ format: string;
10
+ allowPastDates?: boolean;
11
+ allowFutureDates?: boolean;
12
+ /**
13
+ * Props validation chung cho các dạng Date.
14
+ */
15
+ constructor(init: Partial<BaseDateField<K>>);
16
+ toFormControl(): FormControl;
17
+ abstract getDefaultValue(): K;
18
+ abstract toFormValue(modelValue: unknown): K;
19
+ }
@@ -0,0 +1,12 @@
1
+ import { DatePickerOutputValueType } from '../../common';
2
+ import { BaseDateField } from './base-date-field.model';
3
+ /**
4
+ * Interface của Date type là Picker.
5
+ */
6
+ export declare class DatePickerField extends BaseDateField<string | Date | null> {
7
+ outputAs: DatePickerOutputValueType;
8
+ disabledDateFn?: (current: Date) => boolean;
9
+ constructor(init: Partial<DatePickerField>);
10
+ getDefaultValue(): string | Date;
11
+ toFormValue(modelValue: unknown): Date | null;
12
+ }
@@ -0,0 +1,12 @@
1
+ import { DateRangeOutputValueType } from "../../common";
2
+ import { BaseDateField } from "./base-date-field.model";
3
+ /**
4
+ * Interface của Date type là Range.
5
+ */
6
+ export declare class DateRangeField extends BaseDateField<string | string[] | Date[]> {
7
+ outputAs: DateRangeOutputValueType;
8
+ placeholders?: string[];
9
+ constructor(init: Partial<DateRangeField>);
10
+ getDefaultValue(): string[] | Date[];
11
+ toFormValue(modelValue: unknown): string[] | Date[];
12
+ }
@@ -1,3 +1,3 @@
1
- export * from './base-date-field.model';
2
- export * from './date-picker-field.model';
3
- export * from './date-range-field.model';
1
+ export * from './base-date-field.model';
2
+ export * from './date-picker-field.model';
3
+ export * from './date-range-field.model';
@@ -0,0 +1,9 @@
1
+ import { EmbeddedProperty } from "ng-zorro-antd/grid";
2
+ export interface FieldGrid {
3
+ xs?: string | number | EmbeddedProperty | null;
4
+ sm?: string | number | EmbeddedProperty | null;
5
+ md?: string | number | EmbeddedProperty | null;
6
+ lg?: string | number | EmbeddedProperty | null;
7
+ xl?: string | number | EmbeddedProperty | null;
8
+ xxl?: string | number | EmbeddedProperty | null;
9
+ }
@@ -0,0 +1,21 @@
1
+ import { TemplateRef } from '@angular/core';
2
+ import { BaseField } from './field.model';
3
+ export declare class GroupedFields {
4
+ noGroup: BaseField<any>[];
5
+ grouped: {
6
+ group: FieldGroup;
7
+ fields: BaseField<any>[];
8
+ }[];
9
+ constructor(init: Partial<GroupedFields>);
10
+ }
11
+ export declare class FieldGroup {
12
+ label: string;
13
+ code: string;
14
+ template?: TemplateRef<any>;
15
+ order: number;
16
+ isActive: boolean;
17
+ showArrow: boolean;
18
+ required: boolean;
19
+ disabled: boolean;
20
+ constructor(init: Partial<FieldGroup>);
21
+ }
@@ -0,0 +1,3 @@
1
+ export interface FieldUserConfig {
2
+ allowOverrideRequired?: boolean;
3
+ }
@@ -0,0 +1,57 @@
1
+ import { FormControl, ValidatorFn } from "@angular/forms";
2
+ import { FIELD_TYPES } from "../../consts/fields";
3
+ import { FieldGrid } from "./field-grid.model";
4
+ import { NzLabelAlignType } from "ng-zorro-antd/form";
5
+ import { ControlType } from "../controls";
6
+ import { FormMode } from "../form";
7
+ import { ViewMode } from "../common";
8
+ import { FieldUserConfig } from "../fields/field-user-config.model";
9
+ /**
10
+ * typeof FIELD_TYPES[number] có nghĩa là:
11
+ - FIELD_TYPES là readonly ['input', 'select', 'checkbox']
12
+ - FIELD_TYPES[number] = FIELD_TYPES[0] | FIELD_TYPES[1] | ... = 'input' | 'select' | 'checkbox'
13
+ => FieldType = 'input' | 'select' | 'checkbox'
14
+ */
15
+ export type FieldType = (typeof FIELD_TYPES)[number];
16
+ /**
17
+ * Abstract class chung cho Field.
18
+ */
19
+ export declare abstract class BaseField<T> {
20
+ id: string;
21
+ key: string;
22
+ label: string;
23
+ value?: T;
24
+ initialValue?: T;
25
+ modelValue?: T;
26
+ type: FieldType;
27
+ controlType: ControlType;
28
+ placeholder?: string;
29
+ tooltip?: string;
30
+ /** Props validation chung */
31
+ required: boolean;
32
+ /** Props validation custom chung */
33
+ matchField?: string;
34
+ icon?: string;
35
+ errorMessages?: Record<string, string>;
36
+ grid: FieldGrid;
37
+ labelGrid: FieldGrid;
38
+ labelAlign: NzLabelAlignType;
39
+ controlGrid: FieldGrid;
40
+ isHidden: boolean;
41
+ isDisabled: boolean;
42
+ isParent: boolean;
43
+ allowSetValue: FormMode[];
44
+ groupCode?: string;
45
+ viewMode: ViewMode;
46
+ sublabel?: string;
47
+ seqNum: number;
48
+ enableFieldChange: boolean;
49
+ userConfigs?: FieldUserConfig;
50
+ constructor(init?: Partial<BaseField<T>>);
51
+ abstract toFormControl(): FormControl;
52
+ abstract getDefaultValue(): T;
53
+ abstract toFormValue(modelValue: unknown): T;
54
+ protected getCommonValidators(): ValidatorFn[];
55
+ protected getCustomValidators(): ValidatorFn[];
56
+ getErrorMessage(errorKey: string, errorValue: any, allFields: BaseField<any>[]): string;
57
+ }
@@ -1,2 +1,2 @@
1
- export * from "./field.model";
2
- export * from "./field-user-config.model";
1
+ export * from "./field.model";
2
+ export * from "./field-user-config.model";
@@ -1,4 +1,4 @@
1
- export * from "./input-field.model";
2
- export * from "./input-text-field.model";
3
- export * from "./input-password-field.model";
4
- export * from "./input-formatted-field.model";
1
+ export * from "./input-field.model";
2
+ export * from "./input-text-field.model";
3
+ export * from "./input-password-field.model";
4
+ export * from "./input-formatted-field.model";
@@ -0,0 +1,31 @@
1
+ import { FormControl, ValidatorFn } from '@angular/forms';
2
+ import { INPUT_FIELD_TYPES } from '../../../consts/fields/input-field.const';
3
+ import { BaseField } from '../field.model';
4
+ import { Suffix } from '../../common/common.model';
5
+ /**
6
+ * typeof FIELD_TYPES[number] có nghĩa là:
7
+ - INPUT_FIELD_TYPES là readonly ['text','email','password','number']
8
+ - INPUT_FIELD_TYPES[number] = INPUT_FIELD_TYPES[0] | INPUT_FIELD_TYPES[1] | ... = 'text' | 'email' | ...
9
+ => FieldType = 'input' | 'select' | 'checkbox'
10
+ */
11
+ export type InputFieldType = (typeof INPUT_FIELD_TYPES)[number];
12
+ /**
13
+ * Interface base chung cho Các dạng Input Field.
14
+ */
15
+ export declare abstract class InputBaseField extends BaseField<string> {
16
+ suffixes: Suffix[];
17
+ /**
18
+ * Props validation chung cho các dạng Input.
19
+ */
20
+ minLength?: number;
21
+ maxLength?: number;
22
+ pattern?: string | RegExp;
23
+ isCurrency: boolean;
24
+ constructor(init: Partial<InputBaseField>);
25
+ protected getInputCommonValidators(): ValidatorFn[];
26
+ protected getInputCustomValidators(): ValidatorFn[];
27
+ toFormControl(): FormControl;
28
+ getDefaultValue(): string;
29
+ toFormValue(modelValue: unknown): string;
30
+ getErrorMessage(errorKey: string, errorValue: any, allFields: BaseField<any>[]): string;
31
+ }
@@ -0,0 +1,13 @@
1
+ import { FormControl } from "@angular/forms";
2
+ import { InputBaseField } from "./input-field.model";
3
+ import { NumericPreset } from "../../../enums/fields/input-formatted-field.enum";
4
+ import AutoNumeric from "@zeedhi/autonumeric";
5
+ /**
6
+ * Interface của Input Field dạng format.
7
+ */
8
+ export declare class InputFormattedField extends InputBaseField {
9
+ format: NumericPreset;
10
+ autoNumericOptions?: Partial<AutoNumeric.Options>;
11
+ constructor(init: Partial<InputFormattedField>);
12
+ toFormControl(): FormControl;
13
+ }
@@ -0,0 +1,11 @@
1
+ import { FormControl, ValidatorFn } from '@angular/forms';
2
+ import { InputBaseField } from './input-field.model';
3
+ /**
4
+ * Interface của Input Field type là Password.
5
+ */
6
+ export declare class InputPasswordField extends InputBaseField {
7
+ constructor(init: Partial<InputPasswordField>);
8
+ protected getInputPasswordCommonValidators(): ValidatorFn[];
9
+ protected getInputPasswordCustomValidators(): ValidatorFn[];
10
+ toFormControl(): FormControl;
11
+ }
@@ -0,0 +1,9 @@
1
+ import { FormControl } from '@angular/forms';
2
+ import { InputBaseField } from './input-field.model';
3
+ /**
4
+ * Interface của Input Field type là Text.
5
+ */
6
+ export declare class InputTextField extends InputBaseField {
7
+ constructor(init: Partial<InputTextField>);
8
+ toFormControl(): FormControl;
9
+ }
@@ -0,0 +1,26 @@
1
+ import { FormControl, ValidatorFn } from '@angular/forms';
2
+ import { BaseField } from '../field.model';
3
+ import { ApiConfig, FieldDependency } from '../../common';
4
+ import { RADIO_FIELD_TYPES } from '../../../consts/fields/radio-field.const';
5
+ export type RadioFieldType = (typeof RADIO_FIELD_TYPES)[number];
6
+ /**
7
+ * Interface base chung cho Các dạng Radio.
8
+ */
9
+ export declare abstract class RadioBaseField<K, TOptions = Record<string, unknown>> extends BaseField<K> {
10
+ bindLabel: string;
11
+ bindValue: string;
12
+ options?: TOptions[];
13
+ apiConfig?: ApiConfig;
14
+ dependsOn?: FieldDependency[];
15
+ transformLabel?: (option: TOptions) => string;
16
+ /**
17
+ * Props validation chung cho các dạng Radio.
18
+ */
19
+ constructor(init: Partial<RadioBaseField<K, TOptions>>);
20
+ protected getCommonSelectValidators(): ValidatorFn[];
21
+ protected getCustomSelectValidators(): ValidatorFn[];
22
+ toFormControl(): FormControl;
23
+ abstract getDefaultValue(): K;
24
+ abstract toFormValue(modelValue: K): K;
25
+ getErrorMessage(errorKey: string, errorValue: any, allFields: BaseField<any>[]): string;
26
+ }
@@ -0,0 +1,11 @@
1
+ import { SelectBaseField } from './select-base-field.model';
2
+ /**
3
+ * Interface của Select Field type là dạng Multi.
4
+ */
5
+ export declare class MultiSelectField extends SelectBaseField<string[] | Record<string, unknown>[]> {
6
+ maxTagCount?: number;
7
+ maxMultipleCount?: number;
8
+ constructor(init: Partial<MultiSelectField>);
9
+ getDefaultValue(): string[] | Record<string, unknown>[];
10
+ toFormValue(modelValue: unknown): string[] | Record<string, unknown>[];
11
+ }
@@ -0,0 +1,40 @@
1
+ import { FormControl, ValidatorFn } from "@angular/forms";
2
+ import { SELECT_FIELD_TYPES } from "../../../consts/fields/select-field.const";
3
+ import { BaseField } from "../field.model";
4
+ import { ApiConfig, FieldDependency, FieldDependencyType } from "../../common";
5
+ import { SelectOutputValueType } from "../../common/output-value-type.model";
6
+ import { Suffix } from "../../common/common.model";
7
+ export type SelectFieldType = (typeof SELECT_FIELD_TYPES)[number];
8
+ /**
9
+ * Interface base chung cho Các dạng Input Field.
10
+ */
11
+ export declare abstract class SelectBaseField<K> extends BaseField<K> {
12
+ bindLabel: string;
13
+ bindValue: string;
14
+ outputAs: SelectOutputValueType;
15
+ matchSelectWidth: boolean;
16
+ options: Record<string, unknown>[];
17
+ optionsToPrepend: Record<string, unknown>[];
18
+ optionsToAppend: Record<string, unknown>[];
19
+ exceptOptions: Record<string, unknown>[];
20
+ dependsOn: FieldDependency[];
21
+ apiConfig?: ApiConfig;
22
+ /**
23
+ * dependType:
24
+ * - 'all' → cần tất cả field cha có giá trị mới gọi API
25
+ * - 'any' → chỉ cần 1 field cha có giá trị cũng gọi API theo từng cha
26
+ */
27
+ dependType: FieldDependencyType;
28
+ transformLabel?: (option: Record<string, unknown>) => string;
29
+ suffixes: Suffix[];
30
+ /**
31
+ * Props validation chung cho các dạng Select.
32
+ */
33
+ constructor(init: Partial<SelectBaseField<K>>);
34
+ protected getCommonSelectValidators(): ValidatorFn[];
35
+ protected getCustomSelectValidators(): ValidatorFn[];
36
+ toFormControl(): FormControl;
37
+ abstract getDefaultValue(): K;
38
+ abstract toFormValue(modelValue: unknown): K;
39
+ getErrorMessage(errorKey: string, errorValue: any, allFields: BaseField<any>[]): string;
40
+ }
@@ -0,0 +1,9 @@
1
+ import { SelectBaseField } from './select-base-field.model';
2
+ /**
3
+ * Interface của Select Field type là dạng Single.
4
+ */
5
+ export declare class SingleSelectField extends SelectBaseField<string | Record<string, unknown> | null> {
6
+ constructor(init: Partial<SingleSelectField>);
7
+ getDefaultValue(): string | Record<string, unknown> | null;
8
+ toFormValue(modelValue: unknown): string | Record<string, unknown> | null;
9
+ }
@@ -0,0 +1,10 @@
1
+ import { SelectBaseField } from './select-base-field.model';
2
+ /**
3
+ * Interface của Select Field type là dạng Single.
4
+ */
5
+ export declare class TreeSelectField extends SelectBaseField<string | Record<string, unknown> | null> {
6
+ groupBy?: string;
7
+ constructor(init: Partial<TreeSelectField>);
8
+ getDefaultValue(): string | Record<string, unknown> | null;
9
+ toFormValue(modelValue: unknown): string | Record<string, unknown> | null;
10
+ }
@@ -0,0 +1,20 @@
1
+ import { FormControl, ValidatorFn } from '@angular/forms';
2
+ import { BaseField } from '../field.model';
3
+ /**
4
+ * Interface cho Các dạng Textarea.
5
+ */
6
+ export declare class TextareaField extends BaseField<string> {
7
+ /**
8
+ * Props validation chung cho dạng Textarea.
9
+ */
10
+ minLength?: number;
11
+ maxLength?: number;
12
+ pattern?: string | RegExp;
13
+ constructor(init: Partial<TextareaField>);
14
+ protected getCommonTextareaValidators(): ValidatorFn[];
15
+ protected getCustomTextareaValidators(): ValidatorFn[];
16
+ toFormControl(): FormControl;
17
+ getDefaultValue(): string;
18
+ toFormValue(modelValue: unknown): string;
19
+ getErrorMessage(errorKey: string, errorValue: any, allFields: BaseField<any>[]): string;
20
+ }
@@ -0,0 +1,9 @@
1
+ import { BaseUploadField } from './base-upload-field.model';
2
+ /**
3
+ * Interface của Avatar upload.
4
+ */
5
+ export declare class AvatarUploadField extends BaseUploadField<string | Record<string, unknown>> {
6
+ constructor(init: Partial<AvatarUploadField>);
7
+ getDefaultValue(): string | Record<string, unknown>;
8
+ toFormValue(modelValue: unknown): string | Record<string, unknown>;
9
+ }
@@ -0,0 +1,25 @@
1
+ import { FormControl, ValidatorFn } from '@angular/forms';
2
+ import { BaseField } from '../field.model';
3
+ import { UPLOAD_FIELD_TYPES } from '../../../consts/fields/upload-field.const';
4
+ import { ApiFileConfig, UploadOutputValueType } from '../../common';
5
+ export type UploadFieldType = (typeof UPLOAD_FIELD_TYPES)[number];
6
+ /**
7
+ * Interface base chung cho Các dạng Date.
8
+ */
9
+ export declare abstract class BaseUploadField<K> extends BaseField<K> {
10
+ outputAs: UploadOutputValueType;
11
+ apiFileConfig: ApiFileConfig;
12
+ acceptedMimeTypes: string[];
13
+ maxSizeInMB: number;
14
+ showAcceptedExtensionGuide: boolean;
15
+ uploadTemp: boolean;
16
+ /**
17
+ * Props validation chung cho các dạng Date.
18
+ */
19
+ constructor(init: Partial<BaseUploadField<K>>);
20
+ protected getCustomBaseUploadValidators(): ValidatorFn[];
21
+ toFormControl(): FormControl;
22
+ abstract getDefaultValue(): K;
23
+ abstract toFormValue(modelValue: unknown): K;
24
+ getErrorMessage(errorKey: string, errorValue: any, allFields: BaseField<any>[]): string;
25
+ }
@@ -1,5 +1,5 @@
1
- export * from './base-upload-field.model';
2
- export * from './single-file-upload-field.model';
3
- export * from './multi-file-upload-field.model';
4
- export * from './avatar-upload-field.model';
5
- export * from './multi-image-upload-field.model';
1
+ export * from './base-upload-field.model';
2
+ export * from './single-file-upload-field.model';
3
+ export * from './multi-file-upload-field.model';
4
+ export * from './avatar-upload-field.model';
5
+ export * from './multi-image-upload-field.model';
@@ -0,0 +1,10 @@
1
+ import { BaseUploadField } from './base-upload-field.model';
2
+ /**
3
+ * Interface của Multi file upload.
4
+ */
5
+ export declare class MultiFileUploadField extends BaseUploadField<string | File> {
6
+ maxFileCount: number;
7
+ constructor(init: Partial<MultiFileUploadField>);
8
+ getDefaultValue(): string | File;
9
+ toFormValue(modelValue: unknown): string | File;
10
+ }
@@ -0,0 +1,12 @@
1
+ import { BaseUploadField } from "./base-upload-field.model";
2
+ /**
3
+ * Interface của Multi image upload.
4
+ */
5
+ export declare class MultiImageUploadField extends BaseUploadField<string | File> {
6
+ maxFileCount: number;
7
+ imageCardWidth: string;
8
+ imageCardHeight: string;
9
+ constructor(init: Partial<MultiImageUploadField>);
10
+ getDefaultValue(): string | File;
11
+ toFormValue(modelValue: string | File): string;
12
+ }
@@ -0,0 +1,11 @@
1
+ import { Suffix } from '../../common/common.model';
2
+ import { BaseUploadField } from './base-upload-field.model';
3
+ /**
4
+ * Interface của Single file upload. Đầu vào có thể là chuỗi JSON hoặc đối tượng File.
5
+ */
6
+ export declare class SingleFileUploadField extends BaseUploadField<string | File> {
7
+ suffixes: Suffix[];
8
+ constructor(init: Partial<SingleFileUploadField>);
9
+ getDefaultValue(): string | File;
10
+ toFormValue(modelValue: unknown): string;
11
+ }
@@ -1 +1 @@
1
- export type FormMode = 'add' | 'edit' | 'view' | 'design';
1
+ export type FormMode = 'add' | 'edit' | 'view' | 'design';
@@ -1 +1 @@
1
- export * from './dynamic-form.model';
1
+ export * from './dynamic-form.model';
@@ -0,0 +1,48 @@
1
+ import { BaseField } from "../models/fields/field.model";
2
+ import { ObjField } from "../models/common/obj-field.model";
3
+ import { FormGroup } from "@angular/forms";
4
+ import * as i0 from "@angular/core";
5
+ export declare class DynamicFormService {
6
+ private formConfigService;
7
+ /**
8
+ * Lưu giữ FormGroup hiện tại của dynamic form.
9
+ */
10
+ private _formGroup;
11
+ get formGroup(): FormGroup<any>;
12
+ setFormGroup(formGroup: FormGroup): void;
13
+ /**
14
+ * Lưu giữ fields hiện tại của dynamic form.
15
+ */
16
+ private _fields;
17
+ get fields(): BaseField<any>[];
18
+ setFields(fields: BaseField<any>[]): void;
19
+ /**
20
+ * Thao tác với control và fields cũng như output đầu ra của data form.
21
+ */
22
+ setFieldValue(fieldKey: string, rawValue: unknown): void;
23
+ /**
24
+ * Signal để kích hoạt submit từ bên ngoài.
25
+ */
26
+ private readonly _submitTrigger;
27
+ get submitTrigger(): import("@angular/core").Signal<{
28
+ formId: string | null;
29
+ time: number;
30
+ } | null>;
31
+ triggerSubmit(formId: string | null): void;
32
+ /**
33
+ * Signal để kích hoạt reset từ bên ngoài.
34
+ */
35
+ private readonly _resetTrigger;
36
+ get resetTrigger(): import("@angular/core").Signal<{
37
+ formId: string;
38
+ time: number;
39
+ } | null>;
40
+ triggerReset(formId: string): void;
41
+ /**
42
+ * Tạo mảng fields đầu vào theo mảng data từ objField.
43
+ */
44
+ createFieldsByObjFields(objFields: ObjField[], formType: string, options?: {}): BaseField<any>[];
45
+ private createFieldFromJson;
46
+ static ɵfac: i0.ɵɵFactoryDeclaration<DynamicFormService, never>;
47
+ static ɵprov: i0.ɵɵInjectableDeclaration<DynamicFormService>;
48
+ }
@@ -0,0 +1,41 @@
1
+ import { Signal } from "@angular/core";
2
+ import { ApiResponse } from "../models/common/api-response.model";
3
+ import { LastChangedParent } from "../models/common";
4
+ import { Observable } from "rxjs";
5
+ import * as i0 from "@angular/core";
6
+ export declare class FieldService {
7
+ private httpClient;
8
+ getAllOptions<T = Record<string, unknown>>(apiUrl: string, queryParams: Record<string, unknown>): Observable<ApiResponse<T[]>>;
9
+ private dependValuesMap;
10
+ updateDependValuesMap(key: string, value: string): void;
11
+ getDependValuesMap(): Map<string, Signal<string>>;
12
+ private dependValuesSubjectMap;
13
+ /**
14
+ * Bắn (Emit) giá trị thay đổi của một trường Parent vào stream.
15
+ * Sẽ được gọi bởi Component đóng vai trò là Cha (isParent = true).
16
+ */
17
+ emitDependValueChange(key: string, value: string): void;
18
+ /**
19
+ * Trả về Observable của một trường để các Component Con có thể subscribe/nghe ngóng.
20
+ * Sẽ được gọi bởi các Component có chứa `dependsOn`.
21
+ */
22
+ getDependValueChanges$(key: string): Observable<string | null>;
23
+ private dependValues;
24
+ updateDependValues(key: string, value: string): void;
25
+ removeDependValues(key: string): void;
26
+ getDependValues(): Record<string, string>;
27
+ clearDependValues(): void;
28
+ getValueProp(key: string): string;
29
+ private lastChangedParent;
30
+ updateLastChangedParent(key: string, value: unknown): void;
31
+ getLastChangedParent(): LastChangedParent | null;
32
+ clearLastChangedParent(): void;
33
+ private fieldChange;
34
+ fieldChange$: Observable<{
35
+ key: string;
36
+ value: any;
37
+ }>;
38
+ onFieldChange(key: string, value: any): void;
39
+ static ɵfac: i0.ɵɵFactoryDeclaration<FieldService, never>;
40
+ static ɵprov: i0.ɵɵInjectableDeclaration<FieldService>;
41
+ }
@@ -0,0 +1,20 @@
1
+ import { ApiResponse } from '../models/common/api-response.model';
2
+ import { ObjectStorage } from '../models/common/object-storage.model';
3
+ import * as i0 from "@angular/core";
4
+ export declare class FileService {
5
+ private httpClient;
6
+ private formConfigService;
7
+ private fileClick$;
8
+ fileClick: import("rxjs").Observable<ObjectStorage>;
9
+ onFileClick(objStorage: ObjectStorage): void;
10
+ uploadFile(file: File, formData: FormData, options?: {
11
+ uploadUrl?: string;
12
+ directoryId?: string;
13
+ }): import("rxjs").Observable<any>;
14
+ deleteObjStorage(id: string, options?: {
15
+ deleteUrl?: string;
16
+ directoryId?: string;
17
+ }): import("rxjs").Observable<ApiResponse<unknown>>;
18
+ static ɵfac: i0.ɵɵFactoryDeclaration<FileService, never>;
19
+ static ɵprov: i0.ɵɵInjectableDeclaration<FileService>;
20
+ }
@@ -0,0 +1,10 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class FormConfigService {
3
+ private config;
4
+ handleApiUrlCreation(apiUrlFromApi: string, typeGrpCode?: string): string;
5
+ generateRandomFileName(name: string, addition?: string): string;
6
+ getViewFileUrl(fileName: string, isTemp?: boolean): string;
7
+ getStorageUrl(): string;
8
+ static ɵfac: i0.ɵɵFactoryDeclaration<FormConfigService, never>;
9
+ static ɵprov: i0.ɵɵInjectableDeclaration<FormConfigService>;
10
+ }