@rxap/schematic-angular 16.2.0-dev.2 → 16.2.0-dev.21

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 (332) hide show
  1. package/CHANGELOG.md +159 -0
  2. package/README.md +1 -1
  3. package/collection.json +10 -0
  4. package/package.json +11 -9
  5. package/src/lib/accordion-header.d.ts +5 -0
  6. package/src/lib/accordion-header.js +9 -3
  7. package/src/lib/accordion-header.js.map +1 -1
  8. package/src/lib/accordion-identifier.d.ts +4 -0
  9. package/src/lib/accordion-identifier.js.map +1 -1
  10. package/src/lib/accordion-item.d.ts +25 -17
  11. package/src/lib/accordion-item.js +72 -33
  12. package/src/lib/accordion-item.js.map +1 -1
  13. package/src/lib/accordion-itme-kinds.d.ts +8 -0
  14. package/src/lib/accordion-itme-kinds.js +16 -0
  15. package/src/lib/accordion-itme-kinds.js.map +1 -0
  16. package/src/lib/coerce-accordion-component.js +7 -3
  17. package/src/lib/coerce-accordion-component.js.map +1 -1
  18. package/src/lib/coerce-accordion-item-table-component.js +1 -1
  19. package/src/lib/coerce-accordion-item-table-component.js.map +1 -1
  20. package/src/lib/coerce-form-component.js +17 -2
  21. package/src/lib/coerce-form-component.js.map +1 -1
  22. package/src/lib/coerce-minimum-table-component.js +9 -3
  23. package/src/lib/coerce-minimum-table-component.js.map +1 -1
  24. package/src/lib/coerce-tree-table-component.js +16 -0
  25. package/src/lib/coerce-tree-table-component.js.map +1 -1
  26. package/src/lib/data-grid-item.d.ts +46 -11
  27. package/src/lib/data-grid-item.js +81 -6
  28. package/src/lib/data-grid-item.js.map +1 -1
  29. package/src/lib/data-grid-mode.d.ts +4 -0
  30. package/src/lib/data-grid-mode.js +9 -0
  31. package/src/lib/data-grid-mode.js.map +1 -0
  32. package/src/lib/data-grid-options.d.ts +12 -5
  33. package/src/lib/data-grid-options.js +43 -13
  34. package/src/lib/data-grid-options.js.map +1 -1
  35. package/src/lib/form/abstract-control.d.ts +29 -0
  36. package/src/lib/form/abstract-control.js +37 -0
  37. package/src/lib/form/abstract-control.js.map +1 -0
  38. package/src/lib/form/array/base-form-array.d.ts +18 -0
  39. package/src/lib/form/array/base-form-array.js +40 -0
  40. package/src/lib/form/array/base-form-array.js.map +1 -0
  41. package/src/lib/form/array/form-array-kind.d.ts +3 -0
  42. package/src/lib/form/array/form-array-kind.js +8 -0
  43. package/src/lib/form/array/form-array-kind.js.map +1 -0
  44. package/src/lib/form/array/form-array.d.ts +12 -0
  45. package/src/lib/form/array/form-array.js +18 -0
  46. package/src/lib/form/array/form-array.js.map +1 -0
  47. package/src/lib/form/coerce-control-component-imports.d.ts +3 -0
  48. package/src/lib/form/coerce-control-component-imports.js +18 -0
  49. package/src/lib/form/coerce-control-component-imports.js.map +1 -0
  50. package/src/lib/form/control/base-form-control.d.ts +14 -0
  51. package/src/lib/form/control/base-form-control.js +19 -0
  52. package/src/lib/form/control/base-form-control.js.map +1 -0
  53. package/src/lib/form/control/checkbox-form-control.d.ts +11 -0
  54. package/src/lib/form/control/checkbox-form-control.js +23 -0
  55. package/src/lib/form/control/checkbox-form-control.js.map +1 -0
  56. package/src/lib/form/control/form-control-kind.d.ts +8 -0
  57. package/src/lib/form/control/form-control-kind.js +13 -0
  58. package/src/lib/form/control/form-control-kind.js.map +1 -0
  59. package/src/lib/form/control/form-control.d.ts +18 -0
  60. package/src/lib/form/control/form-control.js +40 -0
  61. package/src/lib/form/control/form-control.js.map +1 -0
  62. package/src/lib/form/control/form-field-form-control.d.ts +33 -0
  63. package/src/lib/form/control/form-field-form-control.js +76 -0
  64. package/src/lib/form/control/form-field-form-control.js.map +1 -0
  65. package/src/lib/form/control/input-form-control.d.ts +14 -0
  66. package/src/lib/form/control/input-form-control.js +71 -0
  67. package/src/lib/form/control/input-form-control.js.map +1 -0
  68. package/src/lib/form/control/select-form-control.d.ts +18 -0
  69. package/src/lib/form/control/select-form-control.js +29 -0
  70. package/src/lib/form/control/select-form-control.js.map +1 -0
  71. package/src/lib/form/control/slide-toggle-form-control.d.ts +11 -0
  72. package/src/lib/form/control/slide-toggle-form-control.js +23 -0
  73. package/src/lib/form/control/slide-toggle-form-control.js.map +1 -0
  74. package/src/lib/form/control/table-select-form-control.d.ts +43 -0
  75. package/src/lib/form/control/table-select-form-control.js +69 -0
  76. package/src/lib/form/control/table-select-form-control.js.map +1 -0
  77. package/src/lib/form/control.d.ts +8 -0
  78. package/src/lib/form/control.js +38 -0
  79. package/src/lib/form/control.js.map +1 -0
  80. package/src/lib/form/generate-form-template.d.ts +5 -0
  81. package/src/lib/form/generate-form-template.js +12 -0
  82. package/src/lib/form/generate-form-template.js.map +1 -0
  83. package/src/lib/form/group/base-form-group.d.ts +17 -0
  84. package/src/lib/form/group/base-form-group.js +20 -0
  85. package/src/lib/form/group/base-form-group.js.map +1 -0
  86. package/src/lib/form/group/form-group-kind.d.ts +3 -0
  87. package/src/lib/form/group/form-group-kind.js +8 -0
  88. package/src/lib/form/group/form-group-kind.js.map +1 -0
  89. package/src/lib/form/group/form-group.d.ts +12 -0
  90. package/src/lib/form/group/form-group.js +18 -0
  91. package/src/lib/form/group/form-group.js.map +1 -0
  92. package/src/lib/load-handlebars-template.d.ts +4 -0
  93. package/src/lib/load-handlebars-template.js +28 -0
  94. package/src/lib/load-handlebars-template.js.map +1 -0
  95. package/src/lib/merge-with-column-list.js +3 -1
  96. package/src/lib/merge-with-column-list.js.map +1 -1
  97. package/src/lib/minimum-table-component-options.d.ts +12 -2
  98. package/src/lib/minimum-table-component-options.js +14 -17
  99. package/src/lib/minimum-table-component-options.js.map +1 -1
  100. package/src/lib/minimum-table-options.d.ts +1 -1
  101. package/src/lib/minimum-table-options.js +2 -2
  102. package/src/lib/minimum-table-options.js.map +1 -1
  103. package/src/lib/pipe-option.d.ts +11 -0
  104. package/src/lib/pipe-option.js +75 -0
  105. package/src/lib/pipe-option.js.map +1 -0
  106. package/src/lib/table/table-filter-column-rule.d.ts +13 -0
  107. package/src/lib/table/table-filter-column-rule.js +88 -0
  108. package/src/lib/table/table-filter-column-rule.js.map +1 -0
  109. package/src/lib/table-column.d.ts +20 -9
  110. package/src/lib/table-column.js +133 -113
  111. package/src/lib/table-column.js.map +1 -1
  112. package/src/lib/table-options.d.ts +1 -1
  113. package/src/lib/tree-table-options.d.ts +1 -1
  114. package/src/lib/use-pick-from-table-interface-as-form-type.d.ts +10 -0
  115. package/src/lib/use-pick-from-table-interface-as-form-type.js +32 -0
  116. package/src/lib/use-pick-from-table-interface-as-form-type.js.map +1 -0
  117. package/src/lib/value-option.d.ts +12 -0
  118. package/src/lib/value-option.js +66 -0
  119. package/src/lib/value-option.js.map +1 -0
  120. package/src/schema.json +2626 -0
  121. package/src/schematic-input.schema.json +541 -0
  122. package/src/schematics/abstract-control.schema.json +78 -0
  123. package/src/schematics/accordion/accordion-component/files/component/__componentName__.component.html.hbs +25 -0
  124. package/src/schematics/accordion/accordion-component/index.d.ts +5 -2
  125. package/src/schematics/accordion/accordion-component/index.js +56 -122
  126. package/src/schematics/accordion/accordion-component/index.js.map +1 -1
  127. package/src/schematics/accordion/accordion-component/schema.d.ts +6 -0
  128. package/src/schematics/accordion/accordion-component/schema.json +321 -139
  129. package/src/schematics/accordion/accordion-component/template.schema.json +105 -0
  130. package/src/schematics/accordion/accordion-item-component/index.d.ts +9 -4
  131. package/src/schematics/accordion/accordion-item-component/index.js +112 -86
  132. package/src/schematics/accordion/accordion-item-component/index.js.map +1 -1
  133. package/src/schematics/accordion/accordion-item-component/schema.d.ts +2 -2
  134. package/src/schematics/accordion/accordion-item-component/schema.json +282 -70
  135. package/src/schematics/accordion/accordion-item-component/template.schema.json +32 -0
  136. package/src/schematics/accordion/item/accordion-item-data-grid-component/index.d.ts +1 -1
  137. package/src/schematics/accordion/item/accordion-item-data-grid-component/index.js +35 -51
  138. package/src/schematics/accordion/item/accordion-item-data-grid-component/index.js.map +1 -1
  139. package/src/schematics/accordion/item/accordion-item-data-grid-component/schema.d.ts +1 -1
  140. package/src/schematics/accordion/item/accordion-item-data-grid-component/schema.json +963 -73
  141. package/src/schematics/accordion/item/accordion-item-data-grid-component/template.schema.json +31 -0
  142. package/src/schematics/accordion/item/accordion-item-switch-component/index.d.ts +1 -1
  143. package/src/schematics/accordion/item/accordion-item-switch-component/index.js +16 -8
  144. package/src/schematics/accordion/item/accordion-item-switch-component/index.js.map +1 -1
  145. package/src/schematics/accordion/item/accordion-item-switch-component/schema.d.ts +1 -1
  146. package/src/schematics/accordion/item/accordion-item-switch-component/schema.json +321 -189
  147. package/src/schematics/accordion/item/accordion-item-switch-component/template.schema.json +81 -0
  148. package/src/schematics/accordion/item/accordion-item-table-component/index.d.ts +1 -1
  149. package/src/schematics/accordion/item/accordion-item-table-component/index.js +16 -19
  150. package/src/schematics/accordion/item/accordion-item-table-component/index.js.map +1 -1
  151. package/src/schematics/accordion/item/accordion-item-table-component/schema.d.ts +1 -1
  152. package/src/schematics/accordion/item/accordion-item-table-component/schema.json +1005 -293
  153. package/src/schematics/accordion/item/accordion-item-table-component/template.schema.json +43 -0
  154. package/src/schematics/accordion/item/accordion-item-tree-table-component/index.d.ts +1 -1
  155. package/src/schematics/accordion/item/accordion-item-tree-table-component/index.js +48 -84
  156. package/src/schematics/accordion/item/accordion-item-tree-table-component/index.js.map +1 -1
  157. package/src/schematics/accordion/item/accordion-item-tree-table-component/schema.d.ts +1 -1
  158. package/src/schematics/accordion/item/accordion-item-tree-table-component/schema.json +968 -273
  159. package/src/schematics/accordion/item/accordion-item-tree-table-component/template.schema.json +43 -0
  160. package/src/schematics/accordion/templates/accordion-header.hbs +6 -0
  161. package/src/schematics/accordion/templates/data-grid-accordion-item.hbs +15 -0
  162. package/src/schematics/accordion/templates/default-accordion-item.hbs +15 -0
  163. package/src/schematics/accordion/templates/switch-accordion-item.hbs +21 -0
  164. package/src/schematics/accordion/templates/table-accordion-item.hbs +15 -0
  165. package/src/schematics/accordion/templates/tree-table-accordion-item.hbs +15 -0
  166. package/src/schematics/accordion-identifier.schema.json +25 -0
  167. package/src/schematics/accordion-item.schema.json +59 -0
  168. package/src/schematics/angular.schema.json +11 -11
  169. package/src/schematics/backend.schema.json +13 -0
  170. package/src/schematics/base-form-array.schema.json +45 -0
  171. package/src/schematics/base-form-control.schema.json +27 -0
  172. package/src/schematics/base-form-group.schema.json +42 -0
  173. package/src/schematics/button.schema.json +30 -0
  174. package/src/schematics/checkbox-form-control.schema.json +30 -0
  175. package/src/schematics/control.schema.json +26 -0
  176. package/src/schematics/data-grid-component/files/component/__componentName__.component.html.hbs +35 -0
  177. package/src/schematics/data-grid-component/index.d.ts +2 -4
  178. package/src/schematics/data-grid-component/index.js +87 -52
  179. package/src/schematics/data-grid-component/index.js.map +1 -1
  180. package/src/schematics/data-grid-component/schema.json +924 -131
  181. package/src/schematics/data-grid-component/template.schema.json +20 -0
  182. package/src/schematics/data-grid-component/templates/default-data-grid-item.hbs +3 -0
  183. package/src/schematics/data-grid-component/templates/link-data-grid-item.hbs +8 -0
  184. package/src/schematics/data-grid-item.schema.json +50 -0
  185. package/src/schematics/data-grid.schema.json +66 -0
  186. package/src/schematics/dialog-component/schema.json +141 -65
  187. package/src/schematics/dialog-component/template.schema.json +62 -0
  188. package/src/schematics/form/control/input-form-control/index.d.ts +2 -2
  189. package/src/schematics/form/control/input-form-control/index.js +4 -27
  190. package/src/schematics/form/control/input-form-control/index.js.map +1 -1
  191. package/src/schematics/form/control/input-form-control/schema.d.ts +2 -3
  192. package/src/schematics/form/control/input-form-control/schema.json +341 -94
  193. package/src/schematics/form/control/input-form-control/template.schema.json +33 -0
  194. package/src/schematics/form/control/select-form-control/index.d.ts +4 -2
  195. package/src/schematics/form/control/select-form-control/index.js +140 -97
  196. package/src/schematics/form/control/select-form-control/index.js.map +1 -1
  197. package/src/schematics/form/control/select-form-control/schema.d.ts +2 -4
  198. package/src/schematics/form/control/select-form-control/schema.json +348 -81
  199. package/src/schematics/form/control/select-form-control/template.schema.json +33 -0
  200. package/src/schematics/form/control/table-select-form-control/index.d.ts +5 -7
  201. package/src/schematics/form/control/table-select-form-control/index.js +205 -143
  202. package/src/schematics/form/control/table-select-form-control/index.js.map +1 -1
  203. package/src/schematics/form/control/table-select-form-control/schema.d.ts +2 -5
  204. package/src/schematics/form/control/table-select-form-control/schema.json +431 -84
  205. package/src/schematics/form/control/table-select-form-control/template.schema.json +39 -0
  206. package/src/schematics/form/form-array/index.d.ts +9 -0
  207. package/src/schematics/form/form-array/index.js +54 -0
  208. package/src/schematics/form/form-array/index.js.map +1 -0
  209. package/src/schematics/form/form-array/schema.d.ts +4 -0
  210. package/src/schematics/form/form-array/schema.json +823 -0
  211. package/src/schematics/form/form-array/template.schema.json +33 -0
  212. package/src/schematics/form/form-component/files/component/{__componentName__.component.html.template → __componentName__.component.html.hbs} +7 -4
  213. package/src/schematics/form/form-component/index.d.ts +4 -4
  214. package/src/schematics/form/form-component/index.js +22 -23
  215. package/src/schematics/form/form-component/index.js.map +1 -1
  216. package/src/schematics/form/form-component/schema.d.ts +4 -2
  217. package/src/schematics/form/form-component/schema.json +841 -136
  218. package/src/schematics/form/form-component/template.schema.json +20 -0
  219. package/src/schematics/form/form-control/index.d.ts +6 -6
  220. package/src/schematics/form/form-control/index.js +23 -24
  221. package/src/schematics/form/form-control/index.js.map +1 -1
  222. package/src/schematics/form/form-control/schema.d.ts +2 -4
  223. package/src/schematics/form/form-control/schema.json +652 -67
  224. package/src/schematics/form/form-control/template.schema.json +33 -0
  225. package/src/schematics/form/form-definition/index.d.ts +2 -2
  226. package/src/schematics/form/form-definition/index.js +30 -4
  227. package/src/schematics/form/form-definition/index.js.map +1 -1
  228. package/src/schematics/form/form-definition/schema.d.ts +2 -2
  229. package/src/schematics/form/form-definition/schema.json +805 -118
  230. package/src/schematics/form/form-definition/template.schema.json +30 -0
  231. package/src/schematics/form/form-group/index.d.ts +9 -0
  232. package/src/schematics/form/form-group/index.js +54 -0
  233. package/src/schematics/form/form-group/index.js.map +1 -0
  234. package/src/schematics/form/form-group/schema.d.ts +4 -0
  235. package/src/schematics/form/form-group/schema.json +823 -0
  236. package/src/schematics/form/form-group/template.schema.json +33 -0
  237. package/src/schematics/form/templates/checkbox-form-control.hbs +9 -0
  238. package/src/schematics/form/templates/default-form-array.hbs +27 -0
  239. package/src/schematics/form/templates/default-form-control.hbs +2 -0
  240. package/src/schematics/form/templates/default-form-group.hbs +13 -0
  241. package/src/schematics/form/templates/input-form-control.hbs +9 -0
  242. package/src/schematics/form/templates/mat-form-field.hbs +31 -0
  243. package/src/schematics/form/templates/select-form-control.hbs +5 -0
  244. package/src/schematics/form/templates/slide-toggle-form-control.hbs +8 -0
  245. package/src/schematics/form/templates/table-select-form-control.hbs +18 -0
  246. package/src/schematics/form-array.schema.json +40 -0
  247. package/src/schematics/form-component.schema.json +45 -0
  248. package/src/schematics/form-control.schema.json +77 -0
  249. package/src/schematics/form-definition.schema.json +22 -0
  250. package/src/schematics/form-field.schema.json +24 -0
  251. package/src/schematics/form-group.schema.json +40 -0
  252. package/src/schematics/general.schema.json +1 -4
  253. package/src/schematics/header-button.schema.json +42 -0
  254. package/src/schematics/input-form-control.schema.json +59 -0
  255. package/src/schematics/minimum-table.schema.json +60 -0
  256. package/src/schematics/pipe.schema.json +38 -0
  257. package/src/schematics/property.schema.json +31 -0
  258. package/src/schematics/select-form-control.schema.json +68 -0
  259. package/src/schematics/slide-toggle-form-control.schema.json +30 -0
  260. package/src/schematics/table/action/dialog-table-action/schema.json +207 -123
  261. package/src/schematics/table/action/dialog-table-action/template.schema.json +58 -0
  262. package/src/schematics/table/action/form-table-action/index.d.ts +2 -2
  263. package/src/schematics/table/action/form-table-action/index.js +3 -4
  264. package/src/schematics/table/action/form-table-action/index.js.map +1 -1
  265. package/src/schematics/table/action/form-table-action/schema.d.ts +2 -2
  266. package/src/schematics/table/action/form-table-action/schema.json +949 -139
  267. package/src/schematics/table/action/form-table-action/template.schema.json +75 -0
  268. package/src/schematics/table/action/navigation-table-action/schema.json +187 -80
  269. package/src/schematics/table/action/navigation-table-action/template.schema.json +28 -0
  270. package/src/schematics/table/action/open-api-table-action/schema.json +203 -94
  271. package/src/schematics/table/action/open-api-table-action/template.schema.json +56 -0
  272. package/src/schematics/table/action/operation-table-action/schema.json +174 -84
  273. package/src/schematics/table/action/operation-table-action/template.schema.json +14 -0
  274. package/src/schematics/table/header-button/form-table-header-button/index.d.ts +2 -2
  275. package/src/schematics/table/header-button/form-table-header-button/index.js +2 -2
  276. package/src/schematics/table/header-button/form-table-header-button/index.js.map +1 -1
  277. package/src/schematics/table/header-button/form-table-header-button/schema.d.ts +2 -2
  278. package/src/schematics/table/header-button/form-table-header-button/schema.json +910 -98
  279. package/src/schematics/table/header-button/form-table-header-button/template.schema.json +33 -0
  280. package/src/schematics/table/header-button/navigation-table-header-button/schema.json +167 -71
  281. package/src/schematics/table/header-button/navigation-table-header-button/template.schema.json +28 -0
  282. package/src/schematics/table/table-action/schema.json +165 -78
  283. package/src/schematics/table/table-action/template.schema.json +30 -0
  284. package/src/schematics/table/table-component/files/component/__componentName__.component.html.hbs +241 -0
  285. package/src/schematics/table/table-component/index.d.ts +2 -4
  286. package/src/schematics/table/table-component/index.js +14 -120
  287. package/src/schematics/table/table-component/index.js.map +1 -1
  288. package/src/schematics/table/table-component/schema.json +898 -276
  289. package/src/schematics/table/table-component/template.schema.json +20 -0
  290. package/src/schematics/table/table-header-button/schema.json +145 -63
  291. package/src/schematics/table/table-header-button/template.schema.json +30 -0
  292. package/src/schematics/table/templates/boolean-table-column.hbs +10 -0
  293. package/src/schematics/table/templates/component-table-column.hbs +12 -0
  294. package/src/schematics/table/templates/copy-to-clipboard-table-column.hbs +10 -0
  295. package/src/schematics/table/templates/date-table-column.hbs +11 -0
  296. package/src/schematics/table/templates/default-table-column.hbs +8 -0
  297. package/src/schematics/table/templates/icon-table-column.hbs +10 -0
  298. package/src/schematics/table/templates/link-table-column.hbs +10 -0
  299. package/src/schematics/table/tree-table-component/files/component/__componentName__.component.html.hbs +255 -0
  300. package/src/schematics/table/tree-table-component/index.d.ts +3 -0
  301. package/src/schematics/table/tree-table-component/index.js +28 -7
  302. package/src/schematics/table/tree-table-component/index.js.map +1 -1
  303. package/src/schematics/table/tree-table-component/schema.json +889 -260
  304. package/src/schematics/table/tree-table-component/template.schema.json +20 -0
  305. package/src/schematics/table-action.schema.json +61 -0
  306. package/src/schematics/table-column.schema.json +75 -0
  307. package/src/schematics/table-select-form-control.schema.json +96 -0
  308. package/src/schematics/table.schema.json +57 -0
  309. package/src/schematics/templates/pipe.hbs +4 -0
  310. package/src/schematics/textarea-form-control.schema.json +32 -0
  311. package/src/schematics/tree-component/schema.json +115 -70
  312. package/src/schematics/tree-component/template.schema.json +36 -0
  313. package/src/schematics/tree-table.schema.json +40 -0
  314. package/src/schematics/type.schema.json +35 -0
  315. package/src/schematics/upstream.schema.json +56 -0
  316. package/src/schematics/value.schema.json +26 -0
  317. package/src/template.schema.json +212 -0
  318. package/src/lib/accordion-itme-types.d.ts +0 -8
  319. package/src/lib/accordion-itme-types.js +0 -16
  320. package/src/lib/accordion-itme-types.js.map +0 -1
  321. package/src/lib/form-component-control.d.ts +0 -12
  322. package/src/lib/form-component-control.js +0 -15
  323. package/src/lib/form-component-control.js.map +0 -1
  324. package/src/lib/form-definition-control.d.ts +0 -59
  325. package/src/lib/form-definition-control.js +0 -156
  326. package/src/lib/form-definition-control.js.map +0 -1
  327. package/src/schematics/accordion/accordion-component/files/component/__componentName__.component.html.template +0 -94
  328. package/src/schematics/accordion/accordion-component/files/header-component/accordion-header.component.html.template +0 -10
  329. package/src/schematics/data-grid-component/files/form/__componentName__.component.html.template +0 -42
  330. package/src/schematics/data-grid-component/files/plain/__componentName__.component.html.template +0 -25
  331. package/src/schematics/table/table-component/files/component/__componentName__.component.html.template +0 -299
  332. package/src/schematics/table/tree-table-component/files/component/__componentName__.component.html.template +0 -213
@@ -0,0 +1,18 @@
1
+ import { ControlOption, Normalized } from '@rxap/utilities';
2
+ import { BackendTypes } from '../../backend-types';
3
+ import { NormalizedBaseFormControl } from './base-form-control';
4
+ import { FormControlKinds } from './form-control-kind';
5
+ import { FormField, FormFieldFormControl, NormalizedFormFieldFormControl } from './form-field-form-control';
6
+ export interface SelectFormControl extends FormFieldFormControl {
7
+ optionList?: ControlOption[];
8
+ backend?: BackendTypes;
9
+ multiple?: boolean;
10
+ formField?: FormField;
11
+ }
12
+ export interface NormalizedSelectFormControl extends Readonly<Normalized<Omit<SelectFormControl, 'optionList' | 'type' | 'importList' | 'formField' | 'role'>>>, NormalizedFormFieldFormControl {
13
+ kind: FormControlKinds.SELECT;
14
+ optionList: ReadonlyArray<ControlOption> | null;
15
+ backend: BackendTypes;
16
+ }
17
+ export declare function IsNormalizedSelectFormControl(template: NormalizedBaseFormControl): template is NormalizedSelectFormControl;
18
+ export declare function NormalizeSelectFormControl(control: SelectFormControl): NormalizedSelectFormControl;
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NormalizeSelectFormControl = exports.IsNormalizedSelectFormControl = void 0;
4
+ const utilities_1 = require("@rxap/utilities");
5
+ const backend_types_1 = require("../../backend-types");
6
+ const form_control_kind_1 = require("./form-control-kind");
7
+ const form_field_form_control_1 = require("./form-field-form-control");
8
+ function IsNormalizedSelectFormControl(template) {
9
+ return template.kind === form_control_kind_1.FormControlKinds.SELECT;
10
+ }
11
+ exports.IsNormalizedSelectFormControl = IsNormalizedSelectFormControl;
12
+ function NormalizeSelectFormControl(control) {
13
+ var _a, _b, _c;
14
+ const importList = (_a = control.importList) !== null && _a !== void 0 ? _a : [];
15
+ (0, utilities_1.CoerceArrayItems)(importList, [
16
+ {
17
+ name: 'MatSelectModule',
18
+ moduleSpecifier: '@angular/material/select',
19
+ },
20
+ {
21
+ name: 'InputSelectOptionsDirective',
22
+ moduleSpecifier: '@rxap/form-system',
23
+ }
24
+ ], (a, b) => a.name === b.name);
25
+ const multiple = (_b = control.multiple) !== null && _b !== void 0 ? _b : false;
26
+ return Object.freeze(Object.assign(Object.assign({}, (0, form_field_form_control_1.NormalizeFormFieldFormControl)(control, importList, undefined, undefined, multiple)), { kind: form_control_kind_1.FormControlKinds.SELECT, optionList: control.optionList && control.optionList.length ? Object.freeze(control.optionList) : null, backend: (_c = control.backend) !== null && _c !== void 0 ? _c : backend_types_1.BackendTypes.NONE, multiple }));
27
+ }
28
+ exports.NormalizeSelectFormControl = NormalizeSelectFormControl;
29
+ //# sourceMappingURL=select-form-control.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"select-form-control.js","sourceRoot":"","sources":["../../../../../../../../packages/schematic/angular/src/lib/form/control/select-form-control.ts"],"names":[],"mappings":";;;AAAA,+CAIyB;AACzB,uDAAmD;AAGnD,2DAAuD;AACvD,uEAKmC;AAiBnC,SAAgB,6BAA6B,CAAC,QAAmC;IAC/E,OAAO,QAAQ,CAAC,IAAI,KAAK,oCAAgB,CAAC,MAAM,CAAC;AACnD,CAAC;AAFD,sEAEC;AAED,SAAgB,0BAA0B,CACxC,OAA0B;;IAE1B,MAAM,UAAU,GAAG,MAAA,OAAO,CAAC,UAAU,mCAAI,EAAE,CAAC;IAC5C,IAAA,4BAAgB,EAAC,UAAU,EAAE;QAC3B;YACE,IAAI,EAAE,iBAAiB;YACvB,eAAe,EAAE,0BAA0B;SAC5C;QACD;YACE,IAAI,EAAE,6BAA6B;YACnC,eAAe,EAAE,mBAAmB;SACrC;KACF,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC;IAChC,MAAM,QAAQ,GAAG,MAAA,OAAO,CAAC,QAAQ,mCAAI,KAAK,CAAC;IAC3C,OAAO,MAAM,CAAC,MAAM,iCACf,IAAA,uDAA6B,EAAC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,KACrF,IAAI,EAAE,oCAAgB,CAAC,MAAM,EAC7B,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,EACtG,OAAO,EAAE,MAAA,OAAO,CAAC,OAAO,mCAAI,4BAAY,CAAC,IAAI,EAC7C,QAAQ,IACR,CAAC;AACL,CAAC;AAtBD,gEAsBC"}
@@ -0,0 +1,11 @@
1
+ import { Normalized } from '@rxap/utilities';
2
+ import { BaseFormControl, NormalizedBaseFormControl } from './base-form-control';
3
+ import { FormControlKinds } from './form-control-kind';
4
+ export interface SlideToggleFormControl extends BaseFormControl {
5
+ labelPosition?: 'before' | 'after';
6
+ }
7
+ export interface NormalizedSlideToggleFormControl extends Readonly<Normalized<Omit<SlideToggleFormControl, 'type' | 'importList' | 'role'>>>, NormalizedBaseFormControl {
8
+ kind: FormControlKinds.CHECKBOX;
9
+ }
10
+ export declare function IsNormalizedSlideToggleFormControl(template: NormalizedBaseFormControl): template is NormalizedSlideToggleFormControl;
11
+ export declare function NormalizeSlideToggleFormControl(control: SlideToggleFormControl): NormalizedSlideToggleFormControl;
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NormalizeSlideToggleFormControl = exports.IsNormalizedSlideToggleFormControl = void 0;
4
+ const utilities_1 = require("@rxap/utilities");
5
+ const base_form_control_1 = require("./base-form-control");
6
+ const form_control_kind_1 = require("./form-control-kind");
7
+ function IsNormalizedSlideToggleFormControl(template) {
8
+ return template.kind === form_control_kind_1.FormControlKinds.CHECKBOX;
9
+ }
10
+ exports.IsNormalizedSlideToggleFormControl = IsNormalizedSlideToggleFormControl;
11
+ function NormalizeSlideToggleFormControl(control) {
12
+ var _a, _b;
13
+ const importList = (_a = control.importList) !== null && _a !== void 0 ? _a : [];
14
+ (0, utilities_1.CoerceArrayItems)(importList, [
15
+ {
16
+ name: 'MatSlideToggleModule',
17
+ moduleSpecifier: '@angular/material/slide-toggle',
18
+ },
19
+ ], (a, b) => a.name === b.name);
20
+ return Object.freeze(Object.assign(Object.assign({}, (0, base_form_control_1.NormalizeBaseFormControl)(control, importList, undefined, 'boolean', false)), { kind: form_control_kind_1.FormControlKinds.CHECKBOX, labelPosition: (_b = control.labelPosition) !== null && _b !== void 0 ? _b : 'after' }));
21
+ }
22
+ exports.NormalizeSlideToggleFormControl = NormalizeSlideToggleFormControl;
23
+ //# sourceMappingURL=slide-toggle-form-control.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slide-toggle-form-control.js","sourceRoot":"","sources":["../../../../../../../../packages/schematic/angular/src/lib/form/control/slide-toggle-form-control.ts"],"names":[],"mappings":";;;AAAA,+CAGyB;AACzB,2DAI6B;AAE7B,2DAAuD;AAWvD,SAAgB,kCAAkC,CAAC,QAAmC;IACpF,OAAO,QAAQ,CAAC,IAAI,KAAK,oCAAgB,CAAC,QAAQ,CAAC;AACrD,CAAC;AAFD,gFAEC;AAED,SAAgB,+BAA+B,CAC7C,OAA+B;;IAE/B,MAAM,UAAU,GAAG,MAAA,OAAO,CAAC,UAAU,mCAAI,EAAE,CAAC;IAC5C,IAAA,4BAAgB,EAAC,UAAU,EAAE;QAC3B;YACE,IAAI,EAAE,sBAAsB;YAC5B,eAAe,EAAE,gCAAgC;SAClD;KACF,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC;IAChC,OAAO,MAAM,CAAC,MAAM,iCACf,IAAA,4CAAwB,EAAC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,KAC7E,IAAI,EAAE,oCAAgB,CAAC,QAAQ,EAC/B,aAAa,EAAE,MAAA,OAAO,CAAC,aAAa,mCAAI,OAAO,IAC/C,CAAC;AACL,CAAC;AAfD,0EAeC"}
@@ -0,0 +1,43 @@
1
+ import { DataProperty, NormalizedDataProperty, NormalizedUpstreamOptions, UpstreamOptions } from '@rxap/ts-morph';
2
+ import { Normalized } from '@rxap/utilities';
3
+ import { BackendTypes } from '../../backend-types';
4
+ import { NormalizedTableColumn, TableColumn } from '../../table-column';
5
+ import { NormalizedBaseFormControl } from './base-form-control';
6
+ import { FormControlKinds } from './form-control-kind';
7
+ import { FormFieldFormControl, NormalizedFormFieldFormControl } from './form-field-form-control';
8
+ export type TableSelectColumn = Pick<TableColumn, 'name' | 'title' | 'hasFilter' | 'kind' | 'propertyPath'> & DataProperty;
9
+ export type NormalizedTableSelectColumn = Pick<NormalizedTableColumn, 'name' | 'title' | 'hasFilter' | 'kind' | 'propertyPath'> & NormalizedDataProperty;
10
+ export declare function NormalizeTableSelectColumn(column: TableSelectColumn): NormalizedTableSelectColumn;
11
+ export interface TableSelectToFunction {
12
+ property: DataProperty;
13
+ }
14
+ export interface NormalizedTableSelectToFunction extends Readonly<Normalized<TableSelectToFunction>> {
15
+ property: NormalizedDataProperty;
16
+ }
17
+ export declare function NormalizeTableSelectToFunction(toFunction: TableSelectToFunction | null | undefined, columnList: TableSelectColumn[], defaultType?: string): NormalizedTableSelectToFunction;
18
+ export interface TableSelectFormControl extends FormFieldFormControl {
19
+ backend?: BackendTypes;
20
+ title?: string;
21
+ propertyList?: DataProperty[];
22
+ columnList?: TableSelectColumn[];
23
+ toDisplay?: TableSelectToFunction;
24
+ toValue?: TableSelectToFunction;
25
+ upstream?: UpstreamOptions;
26
+ resolver?: {
27
+ upstream?: UpstreamOptions;
28
+ };
29
+ }
30
+ export interface NormalizedTableSelectFormControl extends Readonly<Normalized<Omit<TableSelectFormControl, 'type' | 'importList' | 'columnList' | 'propertyList' | 'formField' | 'role'>>>, NormalizedFormFieldFormControl {
31
+ kind: FormControlKinds.TABLE_SELECT;
32
+ backend: BackendTypes;
33
+ columnList: NormalizedTableSelectColumn[];
34
+ propertyList: Array<NormalizedDataProperty>;
35
+ toDisplay: NormalizedTableSelectToFunction;
36
+ toValue: NormalizedTableSelectToFunction;
37
+ upstream: NormalizedUpstreamOptions | null;
38
+ resolver: {
39
+ upstream: NormalizedUpstreamOptions | null;
40
+ } | null;
41
+ }
42
+ export declare function IsNormalizedTableSelectFormControl(template: NormalizedBaseFormControl): template is NormalizedTableSelectFormControl;
43
+ export declare function NormalizeTableSelectFormControl(control: TableSelectFormControl): NormalizedTableSelectFormControl;
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NormalizeTableSelectFormControl = exports.IsNormalizedTableSelectFormControl = exports.NormalizeTableSelectToFunction = exports.NormalizeTableSelectColumn = void 0;
4
+ const ts_morph_1 = require("@rxap/ts-morph");
5
+ const utilities_1 = require("@rxap/utilities");
6
+ const backend_types_1 = require("../../backend-types");
7
+ const table_column_1 = require("../../table-column");
8
+ const form_control_kind_1 = require("./form-control-kind");
9
+ const form_field_form_control_1 = require("./form-field-form-control");
10
+ function NormalizeTableSelectColumn(column) {
11
+ var _a, _b, _c, _d;
12
+ const { name, propertyPath, } = (0, table_column_1.TableColumnNameToPropertyPath)(column.name, column.propertyPath);
13
+ const kind = (_a = column.kind) !== null && _a !== void 0 ? _a : table_column_1.TableColumnKind.DEFAULT;
14
+ const type = (0, table_column_1.GuessColumnTypeType)(kind, (_b = column.type) !== null && _b !== void 0 ? _b : 'unknown');
15
+ return Object.freeze(Object.assign(Object.assign({}, (0, ts_morph_1.NormalizeDataProperty)(Object.assign(Object.assign({}, column), { name,
16
+ type }))), { title: (_c = column.title) !== null && _c !== void 0 ? _c : (0, utilities_1.dasherize)(name).split('-').map(part => (0, utilities_1.capitalize)(part)).join(' '), hasFilter: (_d = column.hasFilter) !== null && _d !== void 0 ? _d : false, kind,
17
+ propertyPath }));
18
+ }
19
+ exports.NormalizeTableSelectColumn = NormalizeTableSelectColumn;
20
+ function NormalizeTableSelectToFunction(toFunction, columnList, defaultType = 'unknown') {
21
+ if (!toFunction || Object.keys(toFunction).length === 0) {
22
+ return Object.freeze({
23
+ property: (0, ts_morph_1.NormalizeDataProperty)(columnList[0].name, defaultType),
24
+ });
25
+ }
26
+ return Object.freeze({
27
+ property: (0, ts_morph_1.NormalizeDataProperty)(toFunction.property, defaultType),
28
+ });
29
+ }
30
+ exports.NormalizeTableSelectToFunction = NormalizeTableSelectToFunction;
31
+ function IsNormalizedTableSelectFormControl(template) {
32
+ return template.kind === form_control_kind_1.FormControlKinds.TABLE_SELECT;
33
+ }
34
+ exports.IsNormalizedTableSelectFormControl = IsNormalizedTableSelectFormControl;
35
+ function NormalizeTableSelectFormControl(control) {
36
+ var _a, _b, _c, _d, _e;
37
+ const importList = (_a = control.importList) !== null && _a !== void 0 ? _a : [];
38
+ (0, utilities_1.CoerceArrayItems)(importList, [
39
+ {
40
+ name: 'TableSelectControlModule',
41
+ moduleSpecifier: '@digitaix/eurogard-table-select',
42
+ }
43
+ ], (a, b) => a.name === b.name);
44
+ if (!((_b = control.columnList) === null || _b === void 0 ? void 0 : _b.length)) {
45
+ throw new Error('The column list must not be empty');
46
+ }
47
+ const propertyList = (0, ts_morph_1.NormalizeDataPropertyList)(control.propertyList);
48
+ const toDisplay = NormalizeTableSelectToFunction(control.toDisplay, control.columnList, 'string');
49
+ const toValue = NormalizeTableSelectToFunction(control.toValue, control.columnList);
50
+ (0, utilities_1.CoerceArrayItems)(propertyList, [toDisplay.property, toValue.property], (a, b) => a.name === b.name);
51
+ const columnList = control.columnList.map(NormalizeTableSelectColumn);
52
+ (0, utilities_1.CoerceArrayItems)(propertyList, columnList, (a, b) => a.name === b.name);
53
+ (_c = control.type) !== null && _c !== void 0 ? _c : (control.type = toValue.property.type);
54
+ return Object.freeze(Object.assign(Object.assign({}, (0, form_field_form_control_1.NormalizeFormFieldFormControl)(control, importList, undefined, undefined, false, {
55
+ label: control.label,
56
+ directiveList: [
57
+ {
58
+ name: 'eurogardTableSelectControl',
59
+ namedImport: 'TableSelectControlModule',
60
+ moduleSpecifier: '@digitaix/eurogard-table-select',
61
+ },
62
+ ],
63
+ })), { resolver: control.resolver ? { upstream: (0, ts_morph_1.NormalizeUpstreamOptions)(control.resolver.upstream) } : null, kind: form_control_kind_1.FormControlKinds.TABLE_SELECT, backend: (_d = control.backend) !== null && _d !== void 0 ? _d : backend_types_1.BackendTypes.NONE, title: (_e = control.title) !== null && _e !== void 0 ? _e : null, columnList,
64
+ toDisplay,
65
+ toValue,
66
+ propertyList, upstream: (0, ts_morph_1.NormalizeUpstreamOptions)(control.upstream) }));
67
+ }
68
+ exports.NormalizeTableSelectFormControl = NormalizeTableSelectFormControl;
69
+ //# sourceMappingURL=table-select-form-control.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table-select-form-control.js","sourceRoot":"","sources":["../../../../../../../../packages/schematic/angular/src/lib/form/control/table-select-form-control.ts"],"names":[],"mappings":";;;AAAA,6CAQwB;AACxB,+CAKyB;AACzB,uDAAmD;AACnD,qDAM4B;AAG5B,2DAAuD;AACvD,uEAImC;AAOnC,SAAgB,0BAA0B,CACxC,MAAyB;;IAEzB,MAAM,EACJ,IAAI,EACJ,YAAY,GACb,GAAG,IAAA,4CAA6B,EAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;IACpE,MAAM,IAAI,GAAG,MAAA,MAAM,CAAC,IAAI,mCAAI,8BAAe,CAAC,OAAO,CAAC;IACpD,MAAM,IAAI,GAAG,IAAA,kCAAmB,EAAC,IAAI,EAAE,MAAA,MAAM,CAAC,IAAI,mCAAI,SAAS,CAAC,CAAC;IACjE,OAAO,MAAM,CAAC,MAAM,iCACf,IAAA,gCAAqB,kCACnB,MAAM,KACT,IAAI;QACJ,IAAI,IACJ,KACF,KAAK,EAAE,MAAA,MAAM,CAAC,KAAK,mCAAI,IAAA,qBAAS,EAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAA,sBAAU,EAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EACzF,SAAS,EAAE,MAAA,MAAM,CAAC,SAAS,mCAAI,KAAK,EACpC,IAAI;QACJ,YAAY,IACZ,CAAC;AACL,CAAC;AApBD,gEAoBC;AAWD,SAAgB,8BAA8B,CAC5C,UAAoD,EACpD,UAA+B,EAC/B,WAAW,GAAG,SAAS;IAEvB,IAAI,CAAC,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;QACvD,OAAO,MAAM,CAAC,MAAM,CAAC;YACnB,QAAQ,EAAE,IAAA,gCAAqB,EAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,WAAW,CAAC;SACjE,CAAC,CAAC;KACJ;IACD,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,QAAQ,EAAE,IAAA,gCAAqB,EAAC,UAAU,CAAC,QAAQ,EAAE,WAAW,CAAC;KAClE,CAAC,CAAC;AACL,CAAC;AAbD,wEAaC;AA0BD,SAAgB,kCAAkC,CAAC,QAAmC;IACpF,OAAO,QAAQ,CAAC,IAAI,KAAK,oCAAgB,CAAC,YAAY,CAAC;AACzD,CAAC;AAFD,gFAEC;AAED,SAAgB,+BAA+B,CAC7C,OAA+B;;IAE/B,MAAM,UAAU,GAAG,MAAA,OAAO,CAAC,UAAU,mCAAI,EAAE,CAAC;IAC5C,IAAA,4BAAgB,EAAC,UAAU,EAAE;QAC3B;YACE,IAAI,EAAE,0BAA0B;YAChC,eAAe,EAAE,iCAAiC;SACnD;KACF,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,CAAC,CAAA,MAAA,OAAO,CAAC,UAAU,0CAAE,MAAM,CAAA,EAAE;QAC/B,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;KACtD;IACD,MAAM,YAAY,GAAG,IAAA,oCAAyB,EAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IACrE,MAAM,SAAS,GAAG,8BAA8B,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAClG,MAAM,OAAO,GAAG,8BAA8B,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IACpF,IAAA,4BAAgB,EAAC,YAAY,EAAE,CAAE,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC;IACtG,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;IACtE,IAAA,4BAAgB,EAAC,YAAY,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC;IACxE,MAAA,OAAO,CAAC,IAAI,oCAAZ,OAAO,CAAC,IAAI,GAAK,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAC;IACvC,OAAO,MAAM,CAAC,MAAM,iCACf,IAAA,uDAA6B,EAAC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE;QACjF,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,aAAa,EAAE;YACb;gBACE,IAAI,EAAE,4BAA4B;gBAClC,WAAW,EAAE,0BAA0B;gBACvC,eAAe,EAAE,iCAAiC;aACnD;SACF;KACF,CAAC,KACF,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAA,mCAAwB,EAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EACrG,IAAI,EAAE,oCAAgB,CAAC,YAAY,EACnC,OAAO,EAAE,MAAA,OAAO,CAAC,OAAO,mCAAI,4BAAY,CAAC,IAAI,EAC7C,KAAK,EAAE,MAAA,OAAO,CAAC,KAAK,mCAAI,IAAI,EAC5B,UAAU;QACV,SAAS;QACT,OAAO;QACP,YAAY,EACZ,QAAQ,EAAE,IAAA,mCAAwB,EAAC,OAAO,CAAC,QAAQ,CAAC,IACpD,CAAC;AACL,CAAC;AAzCD,0EAyCC"}
@@ -0,0 +1,8 @@
1
+ import { DtoClassProperty } from '@rxap/schematics-ts-morph';
2
+ import { AbstractControl, NormalizedAbstractControl } from './abstract-control';
3
+ import { FormControl, NormalizedFormControl } from './control/form-control';
4
+ export type Control = AbstractControl | FormControl;
5
+ export type NormalizedControl = NormalizedAbstractControl | NormalizedFormControl;
6
+ export declare function NormalizeControl(control: Control): NormalizedControl;
7
+ export declare function NormalizeControlList(controlList?: Control[]): NormalizedControl[];
8
+ export declare function ControlToDtoClassProperty(control: NormalizedControl): DtoClassProperty;
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ControlToDtoClassProperty = exports.NormalizeControlList = exports.NormalizeControl = void 0;
4
+ const abstract_control_1 = require("./abstract-control");
5
+ const form_array_1 = require("./array/form-array");
6
+ const form_control_1 = require("./control/form-control");
7
+ const form_group_1 = require("./group/form-group");
8
+ function NormalizeControl(control) {
9
+ var _a;
10
+ (_a = control.role) !== null && _a !== void 0 ? _a : (control.role = abstract_control_1.AbstractControlRolls.CONTROL);
11
+ if ((0, form_control_1.IsFormControl)(control)) {
12
+ return (0, form_control_1.NormalizeFormControl)(control);
13
+ }
14
+ if ((0, form_group_1.IsFormGroup)(control)) {
15
+ return (0, form_group_1.NormalizeFormGroup)(control);
16
+ }
17
+ if ((0, form_array_1.IsFormArray)(control)) {
18
+ return (0, form_array_1.NormalizeFormArray)(control);
19
+ }
20
+ throw new Error(`Unknown control role: '${control.role}'`);
21
+ }
22
+ exports.NormalizeControl = NormalizeControl;
23
+ function NormalizeControlList(controlList) {
24
+ var _a;
25
+ return (_a = controlList === null || controlList === void 0 ? void 0 : controlList.map(NormalizeControl)) !== null && _a !== void 0 ? _a : [];
26
+ }
27
+ exports.NormalizeControlList = NormalizeControlList;
28
+ function ControlToDtoClassProperty(control) {
29
+ return {
30
+ name: control.name,
31
+ type: control.type,
32
+ isOptional: !control.isRequired,
33
+ isArray: control.isArray,
34
+ source: control.source,
35
+ };
36
+ }
37
+ exports.ControlToDtoClassProperty = ControlToDtoClassProperty;
38
+ //# sourceMappingURL=control.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"control.js","sourceRoot":"","sources":["../../../../../../../packages/schematic/angular/src/lib/form/control.ts"],"names":[],"mappings":";;;AACA,yDAI4B;AAC5B,mDAG4B;AAC5B,yDAKgC;AAChC,mDAG4B;AAM5B,SAAgB,gBAAgB,CAAC,OAAgB;;IAC/C,MAAA,OAAO,CAAC,IAAI,oCAAZ,OAAO,CAAC,IAAI,GAAK,uCAAoB,CAAC,OAAO,EAAC;IAC9C,IAAI,IAAA,4BAAa,EAAC,OAAO,CAAC,EAAE;QAC1B,OAAO,IAAA,mCAAoB,EAAC,OAAO,CAAC,CAAC;KACtC;IACD,IAAI,IAAA,wBAAW,EAAC,OAAO,CAAC,EAAE;QACxB,OAAO,IAAA,+BAAkB,EAAC,OAAO,CAAC,CAAC;KACpC;IACD,IAAI,IAAA,wBAAW,EAAC,OAAO,CAAC,EAAE;QACxB,OAAO,IAAA,+BAAkB,EAAC,OAAO,CAAC,CAAC;KACpC;IACD,MAAM,IAAI,KAAK,CAAC,0BAA0B,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;AAC7D,CAAC;AAZD,4CAYC;AAED,SAAgB,oBAAoB,CAAC,WAAuB;;IAC1D,OAAO,MAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,GAAG,CAAC,gBAAgB,CAAC,mCAAI,EAAE,CAAC;AAClD,CAAC;AAFD,oDAEC;AAED,SAAgB,yBAAyB,CACvC,OAA0B;IAE1B,OAAO;QACL,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,UAAU,EAAE,CAAC,OAAO,CAAC,UAAU;QAC/B,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,MAAM,EAAE,OAAO,CAAC,MAAM;KACvB,CAAC;AACJ,CAAC;AAVD,8DAUC"}
@@ -0,0 +1,5 @@
1
+ import { NormalizedControl } from './control';
2
+ export interface GenerateFormTemplateOptions {
3
+ controlList: ReadonlyArray<NormalizedControl>;
4
+ }
5
+ export declare function GenerateFormTemplate(options: GenerateFormTemplateOptions): string;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GenerateFormTemplate = void 0;
4
+ function GenerateFormTemplate(options) {
5
+ let content = '';
6
+ for (const control of options.controlList) {
7
+ content += control.handlebars({ control });
8
+ }
9
+ return content;
10
+ }
11
+ exports.GenerateFormTemplate = GenerateFormTemplate;
12
+ //# sourceMappingURL=generate-form-template.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-form-template.js","sourceRoot":"","sources":["../../../../../../../packages/schematic/angular/src/lib/form/generate-form-template.ts"],"names":[],"mappings":";;;AAMA,SAAgB,oBAAoB,CAAC,OAAoC;IACvE,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,WAAW,EAAE;QACzC,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;KAC5C;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAND,oDAMC"}
@@ -0,0 +1,17 @@
1
+ import { TypeImport } from '@rxap/ts-morph';
2
+ import { Normalized } from '@rxap/utilities';
3
+ import { AbstractControl, AbstractControlRolls, NormalizedAbstractControl } from '../abstract-control';
4
+ import { Control, NormalizedControl } from '../control';
5
+ import { FormGroupKind } from './form-group-kind';
6
+ export interface BaseFormGroup extends AbstractControl {
7
+ controlList?: Control[];
8
+ kind?: FormGroupKind;
9
+ role: AbstractControlRolls.GROUP;
10
+ legend?: string;
11
+ }
12
+ export interface NormalizedBaseFormGroup extends Readonly<Normalized<Omit<BaseFormGroup, 'role' | 'type' | 'importList' | 'controlList'>>>, NormalizedAbstractControl {
13
+ controlList: ReadonlyArray<NormalizedControl>;
14
+ kind: FormGroupKind.DEFAULT;
15
+ role: AbstractControlRolls.GROUP;
16
+ }
17
+ export declare function NormalizeBaseFormGroup(group: BaseFormGroup, importList?: TypeImport[], validatorList?: string[], defaultType?: TypeImport | string, defaultIsArray?: boolean): NormalizedBaseFormGroup;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NormalizeBaseFormGroup = void 0;
4
+ const utilities_1 = require("@rxap/utilities");
5
+ const abstract_control_1 = require("../abstract-control");
6
+ const control_1 = require("../control");
7
+ const form_group_kind_1 = require("./form-group-kind");
8
+ function NormalizeBaseFormGroup(group, importList = [], validatorList = [], defaultType = 'unknown', defaultIsArray = false) {
9
+ var _a, _b;
10
+ (0, utilities_1.CoerceArrayItems)(importList, [
11
+ {
12
+ name: 'ReactiveFormsModule',
13
+ moduleSpecifier: '@angular/forms',
14
+ }
15
+ ], (a, b) => a.name === b.name);
16
+ const kind = (_a = group.kind) !== null && _a !== void 0 ? _a : form_group_kind_1.FormGroupKind.DEFAULT;
17
+ return Object.assign(Object.assign({}, (0, abstract_control_1.NormalizeAbstractControl)(group, kind, importList, validatorList, defaultType, defaultIsArray)), { role: abstract_control_1.AbstractControlRolls.GROUP, controlList: (0, control_1.NormalizeControlList)(group.controlList), legend: (_b = group.legend) !== null && _b !== void 0 ? _b : null });
18
+ }
19
+ exports.NormalizeBaseFormGroup = NormalizeBaseFormGroup;
20
+ //# sourceMappingURL=base-form-group.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-form-group.js","sourceRoot":"","sources":["../../../../../../../../packages/schematic/angular/src/lib/form/group/base-form-group.ts"],"names":[],"mappings":";;;AACA,+CAGyB;AACzB,0DAK6B;AAC7B,wCAIoB;AACpB,uDAAkD;AAelD,SAAgB,sBAAsB,CACpC,KAAoB,EACpB,aAA2B,EAAE,EAC7B,gBAA0B,EAAE,EAC5B,cAAmC,SAAS,EAC5C,cAAc,GAAG,KAAK;;IAEtB,IAAA,4BAAgB,EAAC,UAAU,EAAE;QAC3B;YACE,IAAI,EAAE,qBAAqB;YAC3B,eAAe,EAAE,gBAAgB;SAClC;KACF,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC;IAChC,MAAM,IAAI,GAAG,MAAA,KAAK,CAAC,IAAI,mCAAI,+BAAa,CAAC,OAAO,CAAC;IACjD,uCACK,IAAA,2CAAwB,EAAC,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE,cAAc,CAAC,KAChG,IAAI,EAAE,uCAAoB,CAAC,KAAK,EAChC,WAAW,EAAE,IAAA,8BAAoB,EAAC,KAAK,CAAC,WAAW,CAAC,EACpD,MAAM,EAAE,MAAA,KAAK,CAAC,MAAM,mCAAI,IAAI,IAC5B;AACJ,CAAC;AApBD,wDAoBC"}
@@ -0,0 +1,3 @@
1
+ export declare enum FormGroupKind {
2
+ DEFAULT = "default"
3
+ }
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FormGroupKind = void 0;
4
+ var FormGroupKind;
5
+ (function (FormGroupKind) {
6
+ FormGroupKind["DEFAULT"] = "default";
7
+ })(FormGroupKind || (exports.FormGroupKind = FormGroupKind = {}));
8
+ //# sourceMappingURL=form-group-kind.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form-group-kind.js","sourceRoot":"","sources":["../../../../../../../../packages/schematic/angular/src/lib/form/group/form-group-kind.ts"],"names":[],"mappings":";;;AAAA,IAAY,aAEX;AAFD,WAAY,aAAa;IACvB,oCAAmB,CAAA;AACrB,CAAC,EAFW,aAAa,6BAAb,aAAa,QAExB"}
@@ -0,0 +1,12 @@
1
+ import { AbstractControlRolls } from '../abstract-control';
2
+ import { Control, NormalizedControl } from '../control';
3
+ import { BaseFormGroup, NormalizedBaseFormGroup } from './base-form-group';
4
+ export type FormGroup = {
5
+ role: AbstractControlRolls.GROUP;
6
+ } & (BaseFormGroup);
7
+ export type NormalizedFormGroup = {
8
+ role: AbstractControlRolls.GROUP;
9
+ } & (NormalizedBaseFormGroup);
10
+ export declare function NormalizeFormGroup(group: FormGroup): NormalizedFormGroup;
11
+ export declare function IsFormGroup(control: Control): control is FormGroup;
12
+ export declare function IsNormalizedFormGroup(control: NormalizedControl): control is NormalizedFormGroup;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.IsNormalizedFormGroup = exports.IsFormGroup = exports.NormalizeFormGroup = void 0;
4
+ const abstract_control_1 = require("../abstract-control");
5
+ const base_form_group_1 = require("./base-form-group");
6
+ function NormalizeFormGroup(group) {
7
+ return (0, base_form_group_1.NormalizeBaseFormGroup)(group);
8
+ }
9
+ exports.NormalizeFormGroup = NormalizeFormGroup;
10
+ function IsFormGroup(control) {
11
+ return control.role === abstract_control_1.AbstractControlRolls.GROUP;
12
+ }
13
+ exports.IsFormGroup = IsFormGroup;
14
+ function IsNormalizedFormGroup(control) {
15
+ return control.role === abstract_control_1.AbstractControlRolls.GROUP;
16
+ }
17
+ exports.IsNormalizedFormGroup = IsNormalizedFormGroup;
18
+ //# sourceMappingURL=form-group.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form-group.js","sourceRoot":"","sources":["../../../../../../../../packages/schematic/angular/src/lib/form/group/form-group.ts"],"names":[],"mappings":";;;AAAA,0DAA2D;AAK3D,uDAI2B;AAM3B,SAAgB,kBAAkB,CAChC,KAAgB;IAEhB,OAAO,IAAA,wCAAsB,EAAC,KAAK,CAAC,CAAC;AACvC,CAAC;AAJD,gDAIC;AAED,SAAgB,WAAW,CAAC,OAAgB;IAC1C,OAAO,OAAO,CAAC,IAAI,KAAK,uCAAoB,CAAC,KAAK,CAAC;AACrD,CAAC;AAFD,kCAEC;AAED,SAAgB,qBAAqB,CAAC,OAA0B;IAC9D,OAAO,OAAO,CAAC,IAAI,KAAK,uCAAoB,CAAC,KAAK,CAAC;AACrD,CAAC;AAFD,sDAEC"}
@@ -0,0 +1,4 @@
1
+ import Handlebars from 'handlebars';
2
+ export declare function LoadHandlebarsTemplate(template: string, basePath: string): Handlebars.TemplateDelegate;
3
+ export declare function LoadMatFormFieldHandlebarsTemplate(template?: string): Handlebars.TemplateDelegate;
4
+ export declare function LoadPipeHandlebarsTemplate(template?: string): Handlebars.TemplateDelegate;
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LoadPipeHandlebarsTemplate = exports.LoadMatFormFieldHandlebarsTemplate = exports.LoadHandlebarsTemplate = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const fs_1 = require("fs");
6
+ const handlebars_1 = tslib_1.__importDefault(require("handlebars"));
7
+ const path_1 = require("path");
8
+ function LoadHandlebarsTemplate(template, basePath) {
9
+ let fullPath = template;
10
+ if (!fullPath.startsWith('/')) {
11
+ fullPath = (0, path_1.join)(basePath, template);
12
+ }
13
+ if (!(0, fs_1.existsSync)(fullPath)) {
14
+ throw new Error(`The template file "${fullPath}" does not exists`);
15
+ }
16
+ const content = (0, fs_1.readFileSync)(fullPath, 'utf-8');
17
+ return handlebars_1.default.compile(content);
18
+ }
19
+ exports.LoadHandlebarsTemplate = LoadHandlebarsTemplate;
20
+ function LoadMatFormFieldHandlebarsTemplate(template = 'mat-form-field.hbs') {
21
+ return LoadHandlebarsTemplate(template, (0, path_1.join)(__dirname, '..', 'schematics', 'form', 'templates'));
22
+ }
23
+ exports.LoadMatFormFieldHandlebarsTemplate = LoadMatFormFieldHandlebarsTemplate;
24
+ function LoadPipeHandlebarsTemplate(template = 'pipe.hbs') {
25
+ return LoadHandlebarsTemplate(template, (0, path_1.join)(__dirname, '..', 'schematics', 'templates'));
26
+ }
27
+ exports.LoadPipeHandlebarsTemplate = LoadPipeHandlebarsTemplate;
28
+ //# sourceMappingURL=load-handlebars-template.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"load-handlebars-template.js","sourceRoot":"","sources":["../../../../../../packages/schematic/angular/src/lib/load-handlebars-template.ts"],"names":[],"mappings":";;;;AAAA,2BAGY;AACZ,oEAAoC;AACpC,+BAA4B;AAE5B,SAAgB,sBAAsB,CACpC,QAAgB,EAChB,QAAgB;IAEhB,IAAI,QAAQ,GAAG,QAAQ,CAAC;IACxB,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;QAC7B,QAAQ,GAAG,IAAA,WAAI,EAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;KACrC;IACD,IAAI,CAAC,IAAA,eAAU,EAAC,QAAQ,CAAC,EAAE;QACzB,MAAM,IAAI,KAAK,CAAC,sBAAuB,QAAS,mBAAmB,CAAC,CAAC;KACtE;IACD,MAAM,OAAO,GAAG,IAAA,iBAAY,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAChD,OAAO,oBAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;AACrC,CAAC;AAbD,wDAaC;AAED,SAAgB,kCAAkC,CAChD,QAAQ,GAAG,oBAAoB;IAE/B,OAAO,sBAAsB,CAAC,QAAQ,EAAE,IAAA,WAAI,EAAC,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;AACpG,CAAC;AAJD,gFAIC;AAED,SAAgB,0BAA0B,CACxC,QAAQ,GAAG,UAAU;IAErB,OAAO,sBAAsB,CAAC,QAAQ,EAAE,IAAA,WAAI,EAAC,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC;AAC5F,CAAC;AAJD,gEAIC"}
@@ -8,7 +8,9 @@ function MergeWithColumnList(propertyList, columnList) {
8
8
  merged.push({
9
9
  name: column.propertyPath,
10
10
  type: column.type,
11
- isArray: false, // TODO : support array property for table columns
11
+ isArray: false,
12
+ source: column.source,
13
+ isOptional: column.isOptional,
12
14
  });
13
15
  }
14
16
  }
@@ -1 +1 @@
1
- {"version":3,"file":"merge-with-column-list.js","sourceRoot":"","sources":["../../../../../../packages/schematic/angular/src/lib/merge-with-column-list.ts"],"names":[],"mappings":";;;AAGA,SAAgB,mBAAmB,CACjC,YAAmD,EACnD,UAAgD;IAEhD,MAAM,MAAM,GAA6B,CAAE,GAAG,YAAY,CAAE,CAAC;IAC7D,KAAK,MAAM,MAAM,IAAI,UAAU,EAAE;QAC/B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,KAAK,MAAM,CAAC,YAAY,CAAC,EAAE;YACrE,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,MAAM,CAAC,YAAY;gBACzB,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,OAAO,EAAE,KAAK,EAAE,kDAAkD;aACnE,CAAC,CAAC;SACJ;KACF;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AAC/B,CAAC;AAfD,kDAeC"}
1
+ {"version":3,"file":"merge-with-column-list.js","sourceRoot":"","sources":["../../../../../../packages/schematic/angular/src/lib/merge-with-column-list.ts"],"names":[],"mappings":";;;AAGA,SAAgB,mBAAmB,CACjC,YAAmD,EACnD,UAAgD;IAEhD,MAAM,MAAM,GAA6B,CAAE,GAAG,YAAY,CAAE,CAAC;IAC7D,KAAK,MAAM,MAAM,IAAI,UAAU,EAAE;QAC/B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,KAAK,MAAM,CAAC,YAAY,CAAC,EAAE;YACrE,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,MAAM,CAAC,YAAY;gBACzB,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,UAAU,EAAE,MAAM,CAAC,UAAU;aAC9B,CAAC,CAAC;SACJ;KACF;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AAC/B,CAAC;AAjBD,kDAiBC"}
@@ -1,10 +1,10 @@
1
1
  import { Rule } from '@angular-devkit/schematics';
2
+ import { NormalizedDataProperty } from '@rxap/ts-morph';
2
3
  import { Normalized } from '@rxap/utilities';
3
4
  import { AngularOptions, NormalizedAngularOptions } from './angular-options';
4
5
  import { MinimumTableOptions, NormalizedMinimumTableOptions } from './minimum-table-options';
5
6
  import { NormalizedTableAction } from './table-action';
6
7
  import { NormalizedTableColumn } from './table-column';
7
- import { NormalizedDataProperty } from '@rxap/ts-morph';
8
8
  export type MinimumTableComponentOptions = MinimumTableOptions & AngularOptions;
9
9
  export interface NormalizedMinimumTableComponentOptions extends Omit<Readonly<Normalized<MinimumTableComponentOptions> & NormalizedMinimumTableOptions & NormalizedAngularOptions>, 'columnList' | 'actionList' | 'propertyList'> {
10
10
  columnList: ReadonlyArray<NormalizedTableColumn>;
@@ -14,7 +14,17 @@ export interface NormalizedMinimumTableComponentOptions extends Omit<Readonly<No
14
14
  controllerName: string;
15
15
  }
16
16
  export declare function NormalizeMinimumTableComponentOptions<MODIFIER extends string = string>(options: Readonly<MinimumTableComponentOptions>, isModifier: (value: string) => value is MODIFIER, suffix?: string): NormalizedMinimumTableComponentOptions;
17
- export declare function tableInterfaceRule(normalizedOptions: NormalizedMinimumTableComponentOptions): Rule;
17
+ export interface TableInterfaceRuleOptions {
18
+ /**
19
+ * the name of the operation to get a table page. defaults to 'get-page' and is only used when the backend is nestjs
20
+ */
21
+ operationName?: string;
22
+ /**
23
+ * the path to the row type in the operation response type. defaults to `['rows'][number]` and is only used when the backend is nestjs
24
+ */
25
+ typePath?: string;
26
+ }
27
+ export declare function tableInterfaceRule(normalizedOptions: NormalizedMinimumTableComponentOptions, options?: TableInterfaceRuleOptions): Rule;
18
28
  export declare function actionListRule(normalizedOptions: NormalizedMinimumTableComponentOptions): Rule;
19
29
  export declare function cellComponentRule(normalizedOptions: NormalizedMinimumTableComponentOptions): Rule;
20
30
  export declare function headerButtonRule(normalizedOptions: NormalizedMinimumTableComponentOptions): Rule;
@@ -16,27 +16,24 @@ function NormalizeMinimumTableComponentOptions(options, isModifier, suffix = '-t
16
16
  var _a, _b;
17
17
  const normalizedAngularOptions = (0, angular_options_1.NormalizeAngularOptions)(options);
18
18
  (0, angular_options_1.AssertAngularOptionsNameProperty)(normalizedAngularOptions);
19
- const { name } = normalizedAngularOptions;
19
+ const { name, controllerName } = normalizedAngularOptions;
20
20
  const normalizedTableOptions = (0, minimum_table_options_1.NormalizeMinimumTableOptions)(options, name, isModifier, suffix);
21
21
  const { componentName } = normalizedTableOptions;
22
22
  const nestModule = (_a = options.nestModule) !== null && _a !== void 0 ? _a : null;
23
- return Object.freeze(Object.assign(Object.assign(Object.assign({}, normalizedAngularOptions), normalizedTableOptions), { nestModule, controllerName: (0, schematics_ts_morph_1.BuildNestControllerName)({
23
+ return Object.freeze(Object.assign(Object.assign(Object.assign({}, normalizedAngularOptions), normalizedTableOptions), { nestModule, controllerName: controllerName !== null && controllerName !== void 0 ? controllerName : (0, schematics_ts_morph_1.BuildNestControllerName)({
24
24
  controllerName: componentName,
25
25
  nestModule,
26
26
  }), directory: (0, path_1.join)((_b = options.directory) !== null && _b !== void 0 ? _b : '', componentName) }));
27
27
  }
28
28
  exports.NormalizeMinimumTableComponentOptions = NormalizeMinimumTableComponentOptions;
29
29
  // region table interface
30
- function tableInterfaceFromOpenApiRule(normalizedOptions) {
31
- const { backend, project, feature, directory, shared, componentName, nestModule, } = normalizedOptions;
30
+ function tableInterfaceFromOpenApiRule(normalizedOptions, options = {}) {
31
+ const { backend, project, feature, directory, shared, componentName, } = normalizedOptions;
32
+ const { operationName = 'get-page', typePath = `['rows'][number]` } = options;
32
33
  if (![backend_types_1.BackendTypes.NESTJS].includes(backend)) {
33
34
  throw new schematics_1.SchematicsException(`Invalid backend type: ${backend} - expected nestjs`);
34
35
  }
35
- const controllerName = (0, schematics_ts_morph_1.BuildNestControllerName)({
36
- controllerName: componentName,
37
- nestModule,
38
- });
39
- const operationId = (0, schematics_ts_morph_1.buildOperationId)(normalizedOptions, 'get-page', controllerName);
36
+ const operationId = (0, schematics_ts_morph_1.buildOperationId)(normalizedOptions, operationName, (0, schematics_ts_morph_1.BuildNestControllerName)(normalizedOptions));
40
37
  return (0, schematics_1.chain)([
41
38
  (0, schematics_ts_morph_1.TsMorphAngularProjectTransformRule)({
42
39
  project,
@@ -47,7 +44,7 @@ function tableInterfaceFromOpenApiRule(normalizedOptions) {
47
44
  (0, schematics_ts_morph_1.CoerceTypeAlias)(sourceFile, `I${(0, utilities_1.classify)(componentName)}`).set({
48
45
  isExported: true,
49
46
  // TODO : support the option to specify how to get the row type from the operation response type
50
- type: `TableRowMetadata & ${(0, schematics_ts_morph_1.OperationIdToResponseClassName)(operationId)}['rows'][number]`,
47
+ type: `TableRowMetadata & ${(0, schematics_ts_morph_1.OperationIdToResponseClassName)(operationId)}${typePath}`,
51
48
  });
52
49
  (0, schematics_ts_morph_1.CoerceImports)(sourceFile, {
53
50
  moduleSpecifier: '@rxap/material-table-system',
@@ -96,7 +93,7 @@ function tablePropertyListToPropertiesStructure(propertyList) {
96
93
  }
97
94
  });
98
95
  }
99
- function tableInterfaceFromPropertyListRule(normalizedOptions) {
96
+ function tableInterfaceFromPropertyListRule(normalizedOptions, options = {}) {
100
97
  const { propertyList, name, componentName, project, feature, directory, shared, } = normalizedOptions;
101
98
  return (0, schematics_1.chain)([
102
99
  (0, schematics_ts_morph_1.TsMorphAngularProjectTransformRule)({
@@ -118,15 +115,15 @@ function tableInterfaceFromPropertyListRule(normalizedOptions) {
118
115
  }, [`${(0, utilities_1.dasherize)(componentName)}.ts?`]),
119
116
  ]);
120
117
  }
121
- function tableInterfaceRule(normalizedOptions) {
118
+ function tableInterfaceRule(normalizedOptions, options = {}) {
122
119
  const { backend } = normalizedOptions;
123
120
  switch (backend) {
124
121
  case backend_types_1.BackendTypes.NESTJS:
125
- return tableInterfaceFromOpenApiRule(normalizedOptions);
122
+ return tableInterfaceFromOpenApiRule(normalizedOptions, options);
126
123
  // TODO : add support for the open-api backend type - this will require some why to define how to get the row type from the operation response type
127
124
  default:
128
125
  case backend_types_1.BackendTypes.NONE:
129
- return tableInterfaceFromPropertyListRule(normalizedOptions);
126
+ return tableInterfaceFromPropertyListRule(normalizedOptions, options);
130
127
  }
131
128
  }
132
129
  exports.tableInterfaceRule = tableInterfaceRule;
@@ -266,11 +263,11 @@ exports.actionListRule = actionListRule;
266
263
  // endregion
267
264
  function cellComponentRule(normalizedOptions) {
268
265
  const { overwrite, columnList, project, feature, shared, directory, } = normalizedOptions;
269
- if (columnList.some(c => c.role === 'component')) {
266
+ if (columnList.some(column => column.kind === table_column_1.TableColumnKind.COMPONENT)) {
270
267
  return (0, schematics_1.chain)([
271
- () => console.log(`Coerce the table cell components count: ${columnList.filter((column) => column.role === 'component').length}`),
268
+ () => console.log(`Coerce the table cell components count: ${columnList.filter((column) => column.kind === table_column_1.TableColumnKind.COMPONENT).length}`),
272
269
  ...columnList
273
- .filter((column) => column.role === 'component')
270
+ .filter((column) => column.kind === table_column_1.TableColumnKind.COMPONENT)
274
271
  .map((column) => (0, schematics_ts_morph_1.CoerceComponentRule)({
275
272
  project,
276
273
  feature,