@rxap/schematic-angular 19.1.1-dev.3 → 19.2.0-dev.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (676) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/GUIDES.md +160 -0
  3. package/README.md +164 -0
  4. package/package.json +8 -8
  5. package/src/examples/feature/dashboard/dashboard-accordion/schematics.yaml +226 -0
  6. package/src/examples/feature/dashboard/dashboard-table/schematic.yml +103 -0
  7. package/src/examples/feature/dashboard-template/dashboard-template-table/schematic.yml +95 -0
  8. package/src/examples/feature/machine/machine-accordion/schematic.yaml +83 -0
  9. package/src/examples/feature/machine/machine-table/schematic.yaml +139 -0
  10. package/src/examples/feature/machine-definition/machine-definition-details/data-definition-modbus-tcp-table/schematic.yaml +63 -0
  11. package/src/examples/feature/machine-definition/machine-definition-details/data-definition-opc-ua-table/schematic.yaml +58 -0
  12. package/src/examples/feature/machine-definition/machine-definition-details/data-definition-open-platform-protocol-table/schematic.yaml +49 -0
  13. package/src/examples/feature/machine-definition/machine-definition-details/data-definition-s7-iso-on-tcp-table/schematic.yaml +64 -0
  14. package/src/examples/feature/machine-definition/machine-definition-details/data-trigger-table/schematic.yaml +43 -0
  15. package/src/examples/feature/machine-definition/machine-definition-details/message-group-table/schematic.yaml +41 -0
  16. package/src/examples/feature/machine-definition/machine-definition-details/message-trigger-connection-table/schematic.yaml +38 -0
  17. package/src/examples/feature/machine-definition/machine-definition-details/physical-unit-table/schematic.yaml +41 -0
  18. package/src/examples/feature/machine-definition/machine-definition-table/schematic.yaml +107 -0
  19. package/src/examples/feature/node-red/node-red-table/schematic.yaml +114 -0
  20. package/src/examples/feature/report/report-accordion/schematic.yaml +318 -0
  21. package/src/examples/feature/report/report-table/schematic.yaml +66 -0
  22. package/src/examples/feature/service-network/company-accordion/schematic.yaml +119 -0
  23. package/src/examples/feature/service-network/service-network-accordion/schematic.yml +65 -0
  24. package/src/examples/feature/thing/thing-table/schematic.yml +115 -0
  25. package/src/examples/feature/user/user-table/schematic.yaml +99 -0
  26. package/src/examples/schematics.yaml +18 -0
  27. package/src/guides/backend.md +49 -0
  28. package/src/guides/form-component.md +58 -0
  29. package/src/guides/form-control.md +269 -0
  30. package/src/guides/header-button.md +57 -0
  31. package/src/guides/table-action.md +120 -0
  32. package/src/guides/table-column.md +185 -0
  33. package/src/guides/table-component.md +51 -0
  34. package/src/guides/table-filter.md +69 -0
  35. package/src/guides/table-modifiers.md +22 -0
  36. package/src/guides/upstream.md +49 -0
  37. package/src/index.d.ts +16 -6
  38. package/src/index.js +18 -6
  39. package/src/index.js.map +1 -1
  40. package/src/lib/accordion/item/base-accordion-item.js +1 -2
  41. package/src/lib/accordion/item/base-accordion-item.js.map +1 -1
  42. package/src/lib/accordion/item/switch-accordion-item.d.ts +1 -1
  43. package/src/lib/accordion/item/switch-accordion-item.js +2 -3
  44. package/src/lib/accordion/item/switch-accordion-item.js.map +1 -1
  45. package/src/lib/angular-options.d.ts +2 -3
  46. package/src/lib/angular-options.js +7 -52
  47. package/src/lib/angular-options.js.map +1 -1
  48. package/src/lib/backend/nest-js-backend-options.d.ts +8 -2
  49. package/src/lib/backend/nest-js-backend-options.js +2 -2
  50. package/src/lib/backend/nest-js-backend-options.js.map +1 -1
  51. package/src/lib/build-tree-table-ge-children-operation-id.d.ts +3 -0
  52. package/src/lib/build-tree-table-ge-children-operation-id.js +8 -0
  53. package/src/lib/build-tree-table-ge-children-operation-id.js.map +1 -0
  54. package/src/lib/build-tree-table-get-root-operation-id.d.ts +3 -0
  55. package/src/lib/build-tree-table-get-root-operation-id.js +8 -0
  56. package/src/lib/build-tree-table-get-root-operation-id.js.map +1 -0
  57. package/src/lib/coerce-type-alias.d.ts +2 -0
  58. package/src/lib/coerce-type-alias.js +11 -0
  59. package/src/lib/coerce-type-alias.js.map +1 -0
  60. package/src/lib/data-grid-item.js +3 -3
  61. package/src/lib/data-grid-item.js.map +1 -1
  62. package/src/lib/form/abstract-control-to-data-property.d.ts +4 -0
  63. package/src/lib/form/abstract-control-to-data-property.js +14 -0
  64. package/src/lib/form/abstract-control-to-data-property.js.map +1 -0
  65. package/src/lib/form/abstract-control.d.ts +0 -2
  66. package/src/lib/form/abstract-control.js +1 -13
  67. package/src/lib/form/abstract-control.js.map +1 -1
  68. package/src/lib/form/array/base-form-array.js +2 -1
  69. package/src/lib/form/array/base-form-array.js.map +1 -1
  70. package/src/lib/form/control/autocomplete-form-control.d.ts +2 -2
  71. package/src/lib/form/control/autocomplete-form-control.js +1 -2
  72. package/src/lib/form/control/autocomplete-form-control.js.map +1 -1
  73. package/src/lib/form/control/select-form-control.d.ts +2 -2
  74. package/src/lib/form/control/select-form-control.js.map +1 -1
  75. package/src/lib/form/control/table-select-form-control.d.ts +2 -2
  76. package/src/lib/form/control/table-select-form-control.js +4 -5
  77. package/src/lib/form/control/table-select-form-control.js.map +1 -1
  78. package/src/lib/form/control-to-dto-class-property.d.ts +3 -0
  79. package/src/lib/form/control-to-dto-class-property.js +13 -0
  80. package/src/lib/form/control-to-dto-class-property.js.map +1 -0
  81. package/src/lib/form/control.d.ts +0 -2
  82. package/src/lib/form/control.js +0 -10
  83. package/src/lib/form/control.js.map +1 -1
  84. package/src/lib/get-item-options.d.ts +10 -0
  85. package/src/lib/get-item-options.js +12 -0
  86. package/src/lib/get-item-options.js.map +1 -0
  87. package/src/lib/normalize-minimum-table-component-options.d.ts +9 -0
  88. package/src/lib/normalize-minimum-table-component-options.js +23 -0
  89. package/src/lib/normalize-minimum-table-component-options.js.map +1 -0
  90. package/src/lib/pipe-option-to-type-import.d.ts +3 -0
  91. package/src/lib/pipe-option-to-type-import.js +14 -0
  92. package/src/lib/pipe-option-to-type-import.js.map +1 -0
  93. package/src/lib/pipe-option.d.ts +0 -1
  94. package/src/lib/pipe-option.js +0 -11
  95. package/src/lib/pipe-option.js.map +1 -1
  96. package/src/lib/print-angular-options.d.ts +2 -0
  97. package/src/lib/print-angular-options.js +54 -0
  98. package/src/lib/print-angular-options.js.map +1 -0
  99. package/src/lib/{assert-table-component-exists.js → rules/assert-table-component-exists.js} +1 -2
  100. package/src/lib/rules/assert-table-component-exists.js.map +1 -0
  101. package/src/lib/rules/table-action-rule.d.ts +3 -0
  102. package/src/lib/rules/table-action-rule.js +152 -0
  103. package/src/lib/rules/table-action-rule.js.map +1 -0
  104. package/src/lib/rules/table-cell-component-rule.d.ts +3 -0
  105. package/src/lib/rules/table-cell-component-rule.js +40 -0
  106. package/src/lib/rules/table-cell-component-rule.js.map +1 -0
  107. package/src/lib/{table → rules}/table-filter-column-rule.js +2 -2
  108. package/src/lib/{table → rules}/table-filter-column-rule.js.map +1 -1
  109. package/src/lib/rules/table-header-button-rule.d.ts +3 -0
  110. package/src/lib/rules/table-header-button-rule.js +45 -0
  111. package/src/lib/rules/table-header-button-rule.js.map +1 -0
  112. package/src/lib/rules/table-interface-rule.d.ts +13 -0
  113. package/src/lib/rules/table-interface-rule.js +115 -0
  114. package/src/lib/rules/table-interface-rule.js.map +1 -0
  115. package/src/lib/{use-pick-from-table-interface-as-form-type.d.ts → rules/use-pick-from-table-interface-as-form-type-rule.d.ts} +2 -2
  116. package/src/lib/{use-pick-from-table-interface-as-form-type.js → rules/use-pick-from-table-interface-as-form-type-rule.js} +3 -3
  117. package/src/lib/rules/use-pick-from-table-interface-as-form-type-rule.js.map +1 -0
  118. package/src/lib/table/column/base-table-column.js +1 -2
  119. package/src/lib/table/column/base-table-column.js.map +1 -1
  120. package/src/lib/table/table-column.js +4 -4
  121. package/src/lib/table/table-column.js.map +1 -1
  122. package/src/lib/test/workspace.d.ts +34 -0
  123. package/src/lib/test/workspace.js +104 -0
  124. package/src/lib/test/workspace.js.map +1 -0
  125. package/src/schematics/accordion/accordion-component/__snapshots__/index.spec.ts.snap +35 -0
  126. package/src/schematics/accordion/accordion-component/__snapshots__/normalize-accordion-component-options.spec.ts.snap +177 -0
  127. package/src/schematics/accordion/accordion-component/backend/backend-rule.d.ts +2 -0
  128. package/src/schematics/accordion/accordion-component/backend/backend-rule.js +18 -0
  129. package/src/schematics/accordion/accordion-component/backend/backend-rule.js.map +1 -0
  130. package/src/schematics/accordion/accordion-component/backend/local-backend-rule.d.ts +2 -0
  131. package/src/schematics/accordion/accordion-component/backend/local-backend-rule.js +96 -0
  132. package/src/schematics/accordion/accordion-component/backend/local-backend-rule.js.map +1 -0
  133. package/src/schematics/accordion/accordion-component/backend/nestjs-backend-rule.d.ts +3 -0
  134. package/src/schematics/accordion/accordion-component/backend/nestjs-backend-rule.js +43 -0
  135. package/src/schematics/accordion/accordion-component/backend/nestjs-backend-rule.js.map +1 -0
  136. package/src/schematics/accordion/accordion-component/backend/open-api-data-source-rule.d.ts +2 -0
  137. package/src/schematics/accordion/accordion-component/backend/open-api-data-source-rule.js +92 -0
  138. package/src/schematics/accordion/accordion-component/backend/open-api-data-source-rule.js.map +1 -0
  139. package/src/schematics/accordion/accordion-component/build-get-operation-id.d.ts +2 -0
  140. package/src/schematics/accordion/accordion-component/build-get-operation-id.js +9 -0
  141. package/src/schematics/accordion/accordion-component/build-get-operation-id.js.map +1 -0
  142. package/src/schematics/accordion/accordion-component/build-property-list.d.ts +3 -0
  143. package/src/schematics/accordion/accordion-component/build-property-list.js +37 -0
  144. package/src/schematics/accordion/accordion-component/build-property-list.js.map +1 -0
  145. package/src/{lib → schematics/accordion/accordion-component}/coerce-accordion-component.d.ts +1 -1
  146. package/src/schematics/accordion/accordion-component/coerce-accordion-component.js.map +1 -0
  147. package/src/schematics/accordion/accordion-component/component-rule.d.ts +2 -0
  148. package/src/schematics/accordion/accordion-component/component-rule.js +40 -0
  149. package/src/schematics/accordion/accordion-component/component-rule.js.map +1 -0
  150. package/src/schematics/accordion/accordion-component/has-missing-panel-components.d.ts +3 -0
  151. package/src/schematics/accordion/accordion-component/has-missing-panel-components.js +18 -0
  152. package/src/schematics/accordion/accordion-component/has-missing-panel-components.js.map +1 -0
  153. package/src/schematics/accordion/accordion-component/index.d.ts +2 -9
  154. package/src/schematics/accordion/accordion-component/index.js +14 -397
  155. package/src/schematics/accordion/accordion-component/index.js.map +1 -1
  156. package/src/schematics/accordion/accordion-component/item-component-rule.d.ts +3 -0
  157. package/src/schematics/accordion/accordion-component/item-component-rule.js +21 -0
  158. package/src/schematics/accordion/accordion-component/item-component-rule.js.map +1 -0
  159. package/src/schematics/accordion/accordion-component/item-list-rule.d.ts +2 -0
  160. package/src/schematics/accordion/accordion-component/item-list-rule.js +13 -0
  161. package/src/schematics/accordion/accordion-component/item-list-rule.js.map +1 -0
  162. package/src/schematics/accordion/accordion-component/normalize-accordion-component-options.d.ts +8 -0
  163. package/src/schematics/accordion/accordion-component/normalize-accordion-component-options.js +30 -0
  164. package/src/schematics/accordion/accordion-component/normalize-accordion-component-options.js.map +1 -0
  165. package/src/schematics/accordion/accordion-component/stories-rule.d.ts +2 -0
  166. package/src/schematics/accordion/accordion-component/stories-rule.js +56 -0
  167. package/src/schematics/accordion/accordion-component/stories-rule.js.map +1 -0
  168. package/src/schematics/accordion/accordion-item-component/build-get-operation-id.d.ts +2 -0
  169. package/src/schematics/accordion/accordion-item-component/build-get-operation-id.js +10 -0
  170. package/src/schematics/accordion/accordion-item-component/build-get-operation-id.js.map +1 -0
  171. package/src/schematics/accordion/accordion-item-component/index.d.ts +3 -21
  172. package/src/schematics/accordion/accordion-item-component/index.js +6 -346
  173. package/src/schematics/accordion/accordion-item-component/index.js.map +1 -1
  174. package/src/schematics/accordion/accordion-item-component/item-rule.d.ts +3 -0
  175. package/src/schematics/accordion/accordion-item-component/item-rule.js +37 -0
  176. package/src/schematics/accordion/accordion-item-component/item-rule.js.map +1 -0
  177. package/src/schematics/accordion/accordion-item-component/normalize-accordion-item-standalone-component-options.d.ts +9 -0
  178. package/src/schematics/accordion/accordion-item-component/normalize-accordion-item-standalone-component-options.js +46 -0
  179. package/src/schematics/accordion/accordion-item-component/normalize-accordion-item-standalone-component-options.js.map +1 -0
  180. package/src/schematics/accordion/accordion-item-component/panel-item/panel-item-backend-rule.d.ts +2 -0
  181. package/src/schematics/accordion/accordion-item-component/panel-item/panel-item-backend-rule.js +18 -0
  182. package/src/schematics/accordion/accordion-item-component/panel-item/panel-item-backend-rule.js.map +1 -0
  183. package/src/schematics/accordion/accordion-item-component/panel-item/panel-item-local-data-source-rule.d.ts +2 -0
  184. package/src/schematics/accordion/accordion-item-component/panel-item/panel-item-local-data-source-rule.js +105 -0
  185. package/src/schematics/accordion/accordion-item-component/panel-item/panel-item-local-data-source-rule.js.map +1 -0
  186. package/src/schematics/accordion/accordion-item-component/panel-item/panel-item-open-api-data-source-rule.d.ts +3 -0
  187. package/src/schematics/accordion/accordion-item-component/panel-item/panel-item-open-api-data-source-rule.js +75 -0
  188. package/src/schematics/accordion/accordion-item-component/panel-item/panel-item-open-api-data-source-rule.js.map +1 -0
  189. package/src/schematics/accordion/accordion-item-component/panel-item/panel-item-rule.d.ts +3 -0
  190. package/src/schematics/accordion/accordion-item-component/panel-item/panel-item-rule.js +111 -0
  191. package/src/schematics/accordion/accordion-item-component/panel-item/panel-item-rule.js.map +1 -0
  192. package/src/schematics/accordion/item/accordion-item-data-grid-component/__snapshots__/normalize-accordion-item-data-grid-component-options.spec.ts.snap +197 -0
  193. package/src/schematics/accordion/item/accordion-item-data-grid-component/backend/backend-rule.d.ts +2 -0
  194. package/src/schematics/accordion/item/accordion-item-data-grid-component/backend/backend-rule.js +15 -0
  195. package/src/schematics/accordion/item/accordion-item-data-grid-component/backend/backend-rule.js.map +1 -0
  196. package/src/schematics/accordion/item/accordion-item-data-grid-component/backend/nestjs-backend-rule.d.ts +2 -0
  197. package/src/schematics/accordion/item/accordion-item-data-grid-component/backend/nestjs-backend-rule.js +59 -0
  198. package/src/schematics/accordion/item/accordion-item-data-grid-component/backend/nestjs-backend-rule.js.map +1 -0
  199. package/src/schematics/accordion/item/accordion-item-data-grid-component/component-rule.d.ts +2 -0
  200. package/src/schematics/accordion/item/accordion-item-data-grid-component/component-rule.js +87 -0
  201. package/src/schematics/accordion/item/accordion-item-data-grid-component/component-rule.js.map +1 -0
  202. package/src/schematics/accordion/item/accordion-item-data-grid-component/data-grid-form-mode-rule.d.ts +2 -0
  203. package/src/schematics/accordion/item/accordion-item-data-grid-component/data-grid-form-mode-rule.js +38 -0
  204. package/src/schematics/accordion/item/accordion-item-data-grid-component/data-grid-form-mode-rule.js.map +1 -0
  205. package/src/schematics/accordion/item/accordion-item-data-grid-component/data-grid-mode-rule.d.ts +2 -0
  206. package/src/schematics/accordion/item/accordion-item-data-grid-component/data-grid-mode-rule.js +13 -0
  207. package/src/schematics/accordion/item/accordion-item-data-grid-component/data-grid-mode-rule.js.map +1 -0
  208. package/src/schematics/accordion/item/accordion-item-data-grid-component/index.d.ts +0 -10
  209. package/src/schematics/accordion/item/accordion-item-data-grid-component/index.js +8 -166
  210. package/src/schematics/accordion/item/accordion-item-data-grid-component/index.js.map +1 -1
  211. package/src/schematics/accordion/item/accordion-item-data-grid-component/normalize-accordion-item-data-grid-component-options.d.ts +10 -0
  212. package/src/schematics/accordion/item/accordion-item-data-grid-component/normalize-accordion-item-data-grid-component-options.js +9 -0
  213. package/src/schematics/accordion/item/accordion-item-data-grid-component/normalize-accordion-item-data-grid-component-options.js.map +1 -0
  214. package/src/schematics/accordion/item/accordion-item-nested-component/__snapshots__/normalize-accordion-item-nested-component-options.spec.ts.snap +119 -0
  215. package/src/schematics/accordion/item/accordion-item-nested-component/accordion-component-rule.d.ts +2 -0
  216. package/src/schematics/accordion/item/accordion-item-nested-component/accordion-component-rule.js +20 -0
  217. package/src/schematics/accordion/item/accordion-item-nested-component/accordion-component-rule.js.map +1 -0
  218. package/src/schematics/accordion/item/accordion-item-nested-component/index.d.ts +0 -10
  219. package/src/schematics/accordion/item/accordion-item-nested-component/index.js +4 -23
  220. package/src/schematics/accordion/item/accordion-item-nested-component/index.js.map +1 -1
  221. package/src/schematics/accordion/item/accordion-item-nested-component/normalize-accordion-item-nested-component-options.d.ts +10 -0
  222. package/src/schematics/accordion/item/accordion-item-nested-component/normalize-accordion-item-nested-component-options.js +9 -0
  223. package/src/schematics/accordion/item/accordion-item-nested-component/normalize-accordion-item-nested-component-options.js.map +1 -0
  224. package/src/schematics/accordion/item/accordion-item-switch-component/__snapshots__/normalize-accordion-item-switch-component-options.spec.ts.snap +254 -0
  225. package/src/schematics/accordion/item/accordion-item-switch-component/case/case-rule.d.ts +3 -0
  226. package/src/schematics/accordion/item/accordion-item-switch-component/case/case-rule.js +41 -0
  227. package/src/schematics/accordion/item/accordion-item-switch-component/case/case-rule.js.map +1 -0
  228. package/src/schematics/accordion/item/accordion-item-switch-component/index.d.ts +0 -10
  229. package/src/schematics/accordion/item/accordion-item-switch-component/index.js +5 -43
  230. package/src/schematics/accordion/item/accordion-item-switch-component/index.js.map +1 -1
  231. package/src/schematics/accordion/item/accordion-item-switch-component/normalize-accordion-item-switch-component-options.d.ts +10 -0
  232. package/src/schematics/accordion/item/accordion-item-switch-component/normalize-accordion-item-switch-component-options.js +9 -0
  233. package/src/schematics/accordion/item/accordion-item-switch-component/normalize-accordion-item-switch-component-options.js.map +1 -0
  234. package/src/schematics/accordion/item/accordion-item-table-component/__snapshots__/normalize-accordion-item-table-component-options.spec.ts.snap +465 -0
  235. package/src/schematics/accordion/item/accordion-item-table-component/component-rule.d.ts +2 -0
  236. package/src/schematics/accordion/item/accordion-item-table-component/component-rule.js +26 -0
  237. package/src/schematics/accordion/item/accordion-item-table-component/component-rule.js.map +1 -0
  238. package/src/schematics/accordion/item/accordion-item-table-component/index.d.ts +0 -10
  239. package/src/schematics/accordion/item/accordion-item-table-component/index.js +6 -46
  240. package/src/schematics/accordion/item/accordion-item-table-component/index.js.map +1 -1
  241. package/src/schematics/accordion/item/accordion-item-table-component/normalize-accordion-item-table-component-options.d.ts +10 -0
  242. package/src/schematics/accordion/item/accordion-item-table-component/normalize-accordion-item-table-component-options.js +9 -0
  243. package/src/schematics/accordion/item/accordion-item-table-component/normalize-accordion-item-table-component-options.js.map +1 -0
  244. package/src/schematics/accordion/item/accordion-item-table-component/table-component-schematic-rule.d.ts +2 -0
  245. package/src/schematics/accordion/item/accordion-item-table-component/table-component-schematic-rule.js +22 -0
  246. package/src/schematics/accordion/item/accordion-item-table-component/table-component-schematic-rule.js.map +1 -0
  247. package/src/schematics/accordion/item/accordion-item-tree-table-component/__snapshots__/normalize-accordion-item-tree-table-component-options.spec.ts.snap +685 -0
  248. package/src/schematics/accordion/item/accordion-item-tree-table-component/backend/backend-rule.d.ts +2 -0
  249. package/src/schematics/accordion/item/accordion-item-tree-table-component/backend/backend-rule.js +15 -0
  250. package/src/schematics/accordion/item/accordion-item-tree-table-component/backend/backend-rule.js.map +1 -0
  251. package/src/schematics/accordion/item/accordion-item-tree-table-component/backend/nestjs-backend-rule.d.ts +2 -0
  252. package/src/schematics/accordion/item/accordion-item-tree-table-component/backend/nestjs-backend-rule.js +61 -0
  253. package/src/schematics/accordion/item/accordion-item-tree-table-component/backend/nestjs-backend-rule.js.map +1 -0
  254. package/src/schematics/accordion/item/accordion-item-tree-table-component/component-rule.d.ts +2 -0
  255. package/src/schematics/accordion/item/accordion-item-tree-table-component/component-rule.js +27 -0
  256. package/src/schematics/accordion/item/accordion-item-tree-table-component/component-rule.js.map +1 -0
  257. package/src/schematics/accordion/item/accordion-item-tree-table-component/index.d.ts +0 -10
  258. package/src/schematics/accordion/item/accordion-item-tree-table-component/index.js +8 -109
  259. package/src/schematics/accordion/item/accordion-item-tree-table-component/index.js.map +1 -1
  260. package/src/schematics/accordion/item/accordion-item-tree-table-component/normalize-accordion-item-tree-table-component-options.d.ts +10 -0
  261. package/src/schematics/accordion/item/accordion-item-tree-table-component/normalize-accordion-item-tree-table-component-options.js +9 -0
  262. package/src/schematics/accordion/item/accordion-item-tree-table-component/normalize-accordion-item-tree-table-component-options.js.map +1 -0
  263. package/src/schematics/accordion/item/accordion-item-tree-table-component/tree-table-component-schematic-rule.d.ts +2 -0
  264. package/src/schematics/accordion/item/accordion-item-tree-table-component/tree-table-component-schematic-rule.js +20 -0
  265. package/src/schematics/accordion/item/accordion-item-tree-table-component/tree-table-component-schematic-rule.js.map +1 -0
  266. package/src/schematics/data-grid-component/__snapshots__/index.spec.ts.snap +34 -0
  267. package/src/schematics/data-grid-component/__snapshots__/normalize-data-grid-component-options.spec.ts.snap +309 -0
  268. package/src/schematics/data-grid-component/backend/backend-rule.d.ts +2 -0
  269. package/src/schematics/data-grid-component/backend/backend-rule.js +18 -0
  270. package/src/schematics/data-grid-component/backend/backend-rule.js.map +1 -0
  271. package/src/schematics/data-grid-component/backend/local-backend-rule.d.ts +2 -0
  272. package/src/schematics/data-grid-component/backend/local-backend-rule.js +33 -0
  273. package/src/schematics/data-grid-component/backend/local-backend-rule.js.map +1 -0
  274. package/src/schematics/data-grid-component/backend/nestjs-backend-rule.d.ts +3 -0
  275. package/src/schematics/data-grid-component/backend/nestjs-backend-rule.js +65 -0
  276. package/src/schematics/data-grid-component/backend/nestjs-backend-rule.js.map +1 -0
  277. package/src/schematics/data-grid-component/backend/nestjs-form-mode-rule.d.ts +2 -0
  278. package/src/schematics/data-grid-component/backend/nestjs-form-mode-rule.js +107 -0
  279. package/src/schematics/data-grid-component/backend/nestjs-form-mode-rule.js.map +1 -0
  280. package/src/schematics/data-grid-component/backend/nestjs-mode-rule.d.ts +2 -0
  281. package/src/schematics/data-grid-component/backend/nestjs-mode-rule.js +13 -0
  282. package/src/schematics/data-grid-component/backend/nestjs-mode-rule.js.map +1 -0
  283. package/src/schematics/data-grid-component/build-get-operation-id.d.ts +2 -0
  284. package/src/schematics/data-grid-component/build-get-operation-id.js +9 -0
  285. package/src/schematics/data-grid-component/build-get-operation-id.js.map +1 -0
  286. package/src/schematics/data-grid-component/build-submit-operation-id.d.ts +2 -0
  287. package/src/schematics/data-grid-component/build-submit-operation-id.js +9 -0
  288. package/src/schematics/data-grid-component/build-submit-operation-id.js.map +1 -0
  289. package/src/schematics/data-grid-component/component-rule.d.ts +2 -0
  290. package/src/schematics/data-grid-component/component-rule.js +83 -0
  291. package/src/schematics/data-grid-component/component-rule.js.map +1 -0
  292. package/src/schematics/data-grid-component/form-mode-rule.d.ts +2 -0
  293. package/src/schematics/data-grid-component/form-mode-rule.js +77 -0
  294. package/src/schematics/data-grid-component/form-mode-rule.js.map +1 -0
  295. package/src/schematics/data-grid-component/index.d.ts +1 -13
  296. package/src/schematics/data-grid-component/index.js +10 -369
  297. package/src/schematics/data-grid-component/index.js.map +1 -1
  298. package/src/schematics/data-grid-component/mode-rule.d.ts +2 -0
  299. package/src/schematics/data-grid-component/mode-rule.js +13 -0
  300. package/src/schematics/data-grid-component/mode-rule.js.map +1 -0
  301. package/src/schematics/data-grid-component/normalize-data-grid-component-options.d.ts +11 -0
  302. package/src/schematics/data-grid-component/normalize-data-grid-component-options.js +20 -0
  303. package/src/schematics/data-grid-component/normalize-data-grid-component-options.js.map +1 -0
  304. package/src/schematics/dialog-component/__snapshots__/index.spec.ts.snap +83 -0
  305. package/src/schematics/dialog-component/__snapshots__/normalize-dialog-component-options.spec.ts.snap +57 -0
  306. package/src/schematics/dialog-component/index.js +4 -16
  307. package/src/schematics/dialog-component/index.js.map +1 -1
  308. package/src/schematics/dialog-component/normalize-dialog-component-options.d.ts +7 -0
  309. package/src/schematics/dialog-component/normalize-dialog-component-options.js +16 -0
  310. package/src/schematics/dialog-component/normalize-dialog-component-options.js.map +1 -0
  311. package/src/schematics/form/control/autocomplete-form-control/__snapshots__/index.spec.ts.snap +38 -0
  312. package/src/schematics/form/control/autocomplete-form-control/__snapshots__/normalize-autocomplete-form-control-options.spec.ts.snap +395 -0
  313. package/src/schematics/form/control/autocomplete-form-control/autocomplete-options-rule.d.ts +2 -0
  314. package/src/schematics/form/control/autocomplete-form-control/autocomplete-options-rule.js +31 -0
  315. package/src/schematics/form/control/autocomplete-form-control/autocomplete-options-rule.js.map +1 -0
  316. package/src/schematics/form/control/autocomplete-form-control/autocomplete-resolve-rule.d.ts +2 -0
  317. package/src/schematics/form/control/autocomplete-form-control/autocomplete-resolve-rule.js +31 -0
  318. package/src/schematics/form/control/autocomplete-form-control/autocomplete-resolve-rule.js.map +1 -0
  319. package/src/schematics/form/control/autocomplete-form-control/coerce-use-autocomplete-options-method.d.ts +3 -0
  320. package/src/schematics/form/control/autocomplete-form-control/coerce-use-autocomplete-options-method.js +43 -0
  321. package/src/schematics/form/control/autocomplete-form-control/coerce-use-autocomplete-options-method.js.map +1 -0
  322. package/src/schematics/form/control/autocomplete-form-control/coerce-use-autocomplete-resolve-method.d.ts +3 -0
  323. package/src/schematics/form/control/autocomplete-form-control/coerce-use-autocomplete-resolve-method.js +43 -0
  324. package/src/schematics/form/control/autocomplete-form-control/coerce-use-autocomplete-resolve-method.js.map +1 -0
  325. package/src/schematics/form/control/autocomplete-form-control/index.d.ts +0 -6
  326. package/src/schematics/form/control/autocomplete-form-control/index.js +8 -132
  327. package/src/schematics/form/control/autocomplete-form-control/index.js.map +1 -1
  328. package/src/schematics/form/control/autocomplete-form-control/normalize-autocomplete-form-control-options.d.ts +7 -0
  329. package/src/schematics/form/control/autocomplete-form-control/normalize-autocomplete-form-control-options.js +11 -0
  330. package/src/schematics/form/control/autocomplete-form-control/normalize-autocomplete-form-control-options.js.map +1 -0
  331. package/src/schematics/form/control/autocomplete-table-select-form-control/__snapshots__/index.spec.ts.snap +37 -0
  332. package/src/schematics/form/control/autocomplete-table-select-form-control/__snapshots__/normalize-table-select-form-control-options.spec.ts.snap +505 -0
  333. package/src/schematics/form/control/autocomplete-table-select-form-control/autocomplete-table-select-options-rule.d.ts +3 -0
  334. package/src/schematics/form/control/autocomplete-table-select-form-control/autocomplete-table-select-options-rule.js +122 -0
  335. package/src/schematics/form/control/autocomplete-table-select-form-control/autocomplete-table-select-options-rule.js.map +1 -0
  336. package/src/schematics/form/control/autocomplete-table-select-form-control/autocomplete-table-select-resolve-rule.d.ts +3 -0
  337. package/src/schematics/form/control/autocomplete-table-select-form-control/autocomplete-table-select-resolve-rule.js +122 -0
  338. package/src/schematics/form/control/autocomplete-table-select-form-control/autocomplete-table-select-resolve-rule.js.map +1 -0
  339. package/src/schematics/form/control/autocomplete-table-select-form-control/build-dto-suffix.d.ts +2 -0
  340. package/src/schematics/form/control/autocomplete-table-select-form-control/build-dto-suffix.js +9 -0
  341. package/src/schematics/form/control/autocomplete-table-select-form-control/build-dto-suffix.js.map +1 -0
  342. package/src/schematics/form/control/autocomplete-table-select-form-control/build-options-operation-id.d.ts +2 -0
  343. package/src/schematics/form/control/autocomplete-table-select-form-control/build-options-operation-id.js +9 -0
  344. package/src/schematics/form/control/autocomplete-table-select-form-control/build-options-operation-id.js.map +1 -0
  345. package/src/schematics/form/control/autocomplete-table-select-form-control/build-options-operation-name.d.ts +3 -0
  346. package/src/schematics/form/control/autocomplete-table-select-form-control/build-options-operation-name.js +8 -0
  347. package/src/schematics/form/control/autocomplete-table-select-form-control/build-options-operation-name.js.map +1 -0
  348. package/src/schematics/form/control/autocomplete-table-select-form-control/build-options-operation-path.d.ts +3 -0
  349. package/src/schematics/form/control/autocomplete-table-select-form-control/build-options-operation-path.js +8 -0
  350. package/src/schematics/form/control/autocomplete-table-select-form-control/build-options-operation-path.js.map +1 -0
  351. package/src/schematics/form/control/autocomplete-table-select-form-control/index.d.ts +1 -11
  352. package/src/schematics/form/control/autocomplete-table-select-form-control/index.js +10 -398
  353. package/src/schematics/form/control/autocomplete-table-select-form-control/index.js.map +1 -1
  354. package/src/schematics/form/control/autocomplete-table-select-form-control/normalize-table-select-form-control-options.d.ts +7 -0
  355. package/src/schematics/form/control/autocomplete-table-select-form-control/normalize-table-select-form-control-options.js +11 -0
  356. package/src/schematics/form/control/autocomplete-table-select-form-control/normalize-table-select-form-control-options.js.map +1 -0
  357. package/src/schematics/form/control/autocomplete-table-select-form-control/table-column-to-table-select-column.d.ts +4 -0
  358. package/src/schematics/form/control/autocomplete-table-select-form-control/table-column-to-table-select-column.js +20 -0
  359. package/src/schematics/form/control/autocomplete-table-select-form-control/table-column-to-table-select-column.js.map +1 -0
  360. package/src/schematics/form/control/autocomplete-table-select-form-control/table-select-data-source-rule.d.ts +3 -0
  361. package/src/schematics/form/control/autocomplete-table-select-form-control/table-select-data-source-rule.js +139 -0
  362. package/src/schematics/form/control/autocomplete-table-select-form-control/table-select-data-source-rule.js.map +1 -0
  363. package/src/schematics/form/control/date-form-control/__snapshots__/index.spec.ts.snap +36 -0
  364. package/src/schematics/form/control/date-form-control/__snapshots__/normalize-date-form-control-options.spec.ts.snap +273 -0
  365. package/src/schematics/form/control/date-form-control/index.d.ts +0 -6
  366. package/src/schematics/form/control/date-form-control/index.js +4 -9
  367. package/src/schematics/form/control/date-form-control/index.js.map +1 -1
  368. package/src/schematics/form/control/date-form-control/normalize-date-form-control-options.d.ts +7 -0
  369. package/src/schematics/form/control/date-form-control/normalize-date-form-control-options.js +9 -0
  370. package/src/schematics/form/control/date-form-control/normalize-date-form-control-options.js.map +1 -0
  371. package/src/schematics/form/control/input-form-control/__snapshots__/index.spec.ts.snap +36 -0
  372. package/src/schematics/form/control/input-form-control/__snapshots__/normalize-input-form-control-options.spec.ts.snap +261 -0
  373. package/src/schematics/form/control/input-form-control/index.d.ts +0 -6
  374. package/src/schematics/form/control/input-form-control/index.js +4 -9
  375. package/src/schematics/form/control/input-form-control/index.js.map +1 -1
  376. package/src/schematics/form/control/input-form-control/normalize-input-form-control-options.d.ts +7 -0
  377. package/src/schematics/form/control/input-form-control/normalize-input-form-control-options.js +9 -0
  378. package/src/schematics/form/control/input-form-control/normalize-input-form-control-options.js.map +1 -0
  379. package/src/schematics/form/control/select-form-control/__snapshots__/index.spec.ts.snap +38 -0
  380. package/src/schematics/form/control/select-form-control/__snapshots__/normalize-select-form-control-options.spec.ts.snap +288 -0
  381. package/src/schematics/form/control/select-form-control/index.d.ts +1 -8
  382. package/src/schematics/form/control/select-form-control/index.js +6 -217
  383. package/src/schematics/form/control/select-form-control/index.js.map +1 -1
  384. package/src/schematics/form/control/select-form-control/normalize-select-form-control-options.d.ts +7 -0
  385. package/src/schematics/form/control/select-form-control/normalize-select-form-control-options.js +9 -0
  386. package/src/schematics/form/control/select-form-control/normalize-select-form-control-options.js.map +1 -0
  387. package/src/schematics/form/control/select-form-control/options/data-source-backend-options-rule.d.ts +3 -0
  388. package/src/schematics/form/control/select-form-control/options/data-source-backend-options-rule.js +69 -0
  389. package/src/schematics/form/control/select-form-control/options/data-source-backend-options-rule.js.map +1 -0
  390. package/src/schematics/form/control/select-form-control/options/nest-js-backend-options-rule.d.ts +3 -0
  391. package/src/schematics/form/control/select-form-control/options/nest-js-backend-options-rule.js +67 -0
  392. package/src/schematics/form/control/select-form-control/options/nest-js-backend-options-rule.js.map +1 -0
  393. package/src/schematics/form/control/select-form-control/options/none-backend-options-rule.d.ts +3 -0
  394. package/src/schematics/form/control/select-form-control/options/none-backend-options-rule.js +69 -0
  395. package/src/schematics/form/control/select-form-control/options/none-backend-options-rule.js.map +1 -0
  396. package/src/schematics/form/control/select-form-control/options/open-api-backend-options-rule.d.ts +3 -0
  397. package/src/schematics/form/control/select-form-control/options/open-api-backend-options-rule.js +10 -0
  398. package/src/schematics/form/control/select-form-control/options/open-api-backend-options-rule.js.map +1 -0
  399. package/src/schematics/form/control/select-form-control/options/options-rule.d.ts +3 -0
  400. package/src/schematics/form/control/select-form-control/options/options-rule.js +27 -0
  401. package/src/schematics/form/control/select-form-control/options/options-rule.js.map +1 -0
  402. package/src/schematics/form/control/table-select-form-control/__snapshots__/normalize-table-select-form-control-options.spec.ts.snap +505 -0
  403. package/src/schematics/form/control/table-select-form-control/build-dto-suffix.d.ts +2 -0
  404. package/src/schematics/form/control/table-select-form-control/build-dto-suffix.js +9 -0
  405. package/src/schematics/form/control/table-select-form-control/build-dto-suffix.js.map +1 -0
  406. package/src/schematics/form/control/table-select-form-control/build-options-operation-id.d.ts +2 -0
  407. package/src/schematics/form/control/table-select-form-control/build-options-operation-id.js +9 -0
  408. package/src/schematics/form/control/table-select-form-control/build-options-operation-id.js.map +1 -0
  409. package/src/schematics/form/control/table-select-form-control/build-options-operation-name.d.ts +3 -0
  410. package/src/schematics/form/control/table-select-form-control/build-options-operation-name.js +8 -0
  411. package/src/schematics/form/control/table-select-form-control/build-options-operation-name.js.map +1 -0
  412. package/src/schematics/form/control/table-select-form-control/build-options-operation-path.d.ts +3 -0
  413. package/src/schematics/form/control/table-select-form-control/build-options-operation-path.js +8 -0
  414. package/src/schematics/form/control/table-select-form-control/build-options-operation-path.js.map +1 -0
  415. package/src/schematics/form/control/table-select-form-control/index.d.ts +0 -9
  416. package/src/schematics/form/control/table-select-form-control/index.js +8 -235
  417. package/src/schematics/form/control/table-select-form-control/index.js.map +1 -1
  418. package/src/schematics/form/control/table-select-form-control/normalize-table-select-form-control-options.d.ts +6 -0
  419. package/src/schematics/form/control/table-select-form-control/normalize-table-select-form-control-options.js +11 -0
  420. package/src/schematics/form/control/table-select-form-control/normalize-table-select-form-control-options.js.map +1 -0
  421. package/src/schematics/form/control/table-select-form-control/table-column-to-table-select-column.d.ts +4 -0
  422. package/src/schematics/form/control/table-select-form-control/table-column-to-table-select-column.js +20 -0
  423. package/src/schematics/form/control/table-select-form-control/table-column-to-table-select-column.js.map +1 -0
  424. package/src/schematics/form/control/table-select-form-control/table-select-data-source-rule.d.ts +2 -0
  425. package/src/schematics/form/control/table-select-form-control/table-select-data-source-rule.js +116 -0
  426. package/src/schematics/form/control/table-select-form-control/table-select-data-source-rule.js.map +1 -0
  427. package/src/schematics/form/control/table-select-form-control/table-select-resolve-rule.d.ts +2 -0
  428. package/src/schematics/form/control/table-select-form-control/table-select-resolve-rule.js +99 -0
  429. package/src/schematics/form/control/table-select-form-control/table-select-resolve-rule.js.map +1 -0
  430. package/src/schematics/form/form-array/__snapshots__/normalize-form-array-options.spec.ts.snap +195 -0
  431. package/src/schematics/form/form-array/form-control-kind.d.ts +3 -0
  432. package/src/schematics/form/form-array/form-control-kind.js +12 -0
  433. package/src/schematics/form/form-array/form-control-kind.js.map +1 -0
  434. package/src/schematics/form/form-array/form-definition-rule.d.ts +3 -0
  435. package/src/schematics/form/form-array/form-definition-rule.js +12 -0
  436. package/src/schematics/form/form-array/form-definition-rule.js.map +1 -0
  437. package/src/schematics/form/form-array/index.d.ts +1 -7
  438. package/src/schematics/form/form-array/index.js +8 -32
  439. package/src/schematics/form/form-array/index.js.map +1 -1
  440. package/src/schematics/form/form-array/normalize-form-array-options.d.ts +5 -0
  441. package/src/schematics/form/form-array/normalize-form-array-options.js +15 -0
  442. package/src/schematics/form/form-array/normalize-form-array-options.js.map +1 -0
  443. package/src/schematics/form/form-component/__snapshots__/index.spec.ts.snap +36 -0
  444. package/src/schematics/form/form-component/__snapshots__/normalize-form-component-options.spec.ts.snap +293 -0
  445. package/src/{lib → schematics/form/form-component}/coerce-form-component.d.ts +1 -1
  446. package/src/{lib → schematics/form/form-component}/coerce-form-component.js +2 -2
  447. package/src/schematics/form/form-component/coerce-form-component.js.map +1 -0
  448. package/src/schematics/form/form-component/component-rule.d.ts +3 -0
  449. package/src/schematics/form/form-component/component-rule.js +23 -0
  450. package/src/schematics/form/form-component/component-rule.js.map +1 -0
  451. package/src/schematics/form/form-component/form-definition-rule.d.ts +3 -0
  452. package/src/schematics/form/form-component/form-definition-rule.js +23 -0
  453. package/src/schematics/form/form-component/form-definition-rule.js.map +1 -0
  454. package/src/schematics/form/form-component/form-submit/form-submit-backend-rule.d.ts +3 -0
  455. package/src/schematics/form/form-component/form-submit/form-submit-backend-rule.js +29 -0
  456. package/src/schematics/form/form-component/form-submit/form-submit-backend-rule.js.map +1 -0
  457. package/src/schematics/form/form-component/form-submit/form-submit-provider-rule.d.ts +3 -0
  458. package/src/schematics/form/form-component/form-submit/form-submit-provider-rule.js +46 -0
  459. package/src/schematics/form/form-component/form-submit/form-submit-provider-rule.js.map +1 -0
  460. package/src/schematics/form/form-component/form-submit/form-submit-rule.d.ts +3 -0
  461. package/src/schematics/form/form-component/form-submit/form-submit-rule.js +18 -0
  462. package/src/schematics/form/form-component/form-submit/form-submit-rule.js.map +1 -0
  463. package/src/schematics/form/form-component/get-submit-operation-id.d.ts +2 -0
  464. package/src/schematics/form/form-component/get-submit-operation-id.js +14 -0
  465. package/src/schematics/form/form-component/get-submit-operation-id.js.map +1 -0
  466. package/src/schematics/form/form-component/index.d.ts +1 -11
  467. package/src/schematics/form/form-component/index.js +12 -161
  468. package/src/schematics/form/form-component/index.js.map +1 -1
  469. package/src/schematics/form/form-component/normalize-form-component-options.d.ts +9 -0
  470. package/src/schematics/form/form-component/normalize-form-component-options.js +22 -0
  471. package/src/schematics/form/form-component/normalize-form-component-options.js.map +1 -0
  472. package/src/schematics/form/form-component/window-rule.d.ts +3 -0
  473. package/src/schematics/form/form-component/window-rule.js +26 -0
  474. package/src/schematics/form/form-component/window-rule.js.map +1 -0
  475. package/src/schematics/form/form-control/__snapshots__/normalize-form-control-options.spec.ts.snap +259 -0
  476. package/src/schematics/form/form-control/form-control-kind.d.ts +3 -0
  477. package/src/schematics/form/form-control/form-control-kind.js +26 -0
  478. package/src/schematics/form/form-control/form-control-kind.js.map +1 -0
  479. package/src/schematics/form/form-control/index.d.ts +1 -7
  480. package/src/schematics/form/form-control/index.js +6 -36
  481. package/src/schematics/form/form-control/index.js.map +1 -1
  482. package/src/schematics/form/form-control/normalize-form-control-options.d.ts +5 -0
  483. package/src/schematics/form/form-control/normalize-form-control-options.js +15 -0
  484. package/src/schematics/form/form-control/normalize-form-control-options.js.map +1 -0
  485. package/src/schematics/form/form-definition/__snapshots__/index.spec.ts.snap +33 -0
  486. package/src/schematics/form/form-definition/__snapshots__/normalize-form-definition-options.spec.ts.snap +49 -0
  487. package/src/schematics/form/form-definition/index.d.ts +0 -8
  488. package/src/schematics/form/form-definition/index.js +4 -11
  489. package/src/schematics/form/form-definition/index.js.map +1 -1
  490. package/src/schematics/form/form-definition/normalize-form-definition-options.d.ts +8 -0
  491. package/src/schematics/form/form-definition/normalize-form-definition-options.js +11 -0
  492. package/src/schematics/form/form-definition/normalize-form-definition-options.js.map +1 -0
  493. package/src/schematics/form/form-group/__snapshots__/normalize-form-group-options.spec.ts.snap +113 -0
  494. package/src/schematics/form/form-group/form-control-kind.d.ts +3 -0
  495. package/src/schematics/form/form-group/form-control-kind.js +12 -0
  496. package/src/schematics/form/form-group/form-control-kind.js.map +1 -0
  497. package/src/schematics/form/form-group/form-definition-rule.d.ts +3 -0
  498. package/src/schematics/form/form-group/form-definition-rule.js +12 -0
  499. package/src/schematics/form/form-group/form-definition-rule.js.map +1 -0
  500. package/src/schematics/form/form-group/index.d.ts +1 -7
  501. package/src/schematics/form/form-group/index.js +8 -32
  502. package/src/schematics/form/form-group/index.js.map +1 -1
  503. package/src/schematics/form/form-group/normalize-form-group-options.d.ts +5 -0
  504. package/src/schematics/form/form-group/normalize-form-group-options.js +15 -0
  505. package/src/schematics/form/form-group/normalize-form-group-options.js.map +1 -0
  506. package/src/schematics/route-component/__snapshots__/normalize-route-component-options.spec.ts.snap +81 -0
  507. package/src/schematics/route-component/component-rule.d.ts +3 -0
  508. package/src/schematics/route-component/component-rule.js +33 -0
  509. package/src/schematics/route-component/component-rule.js.map +1 -0
  510. package/src/schematics/route-component/index.d.ts +1 -7
  511. package/src/schematics/route-component/index.js +9 -82
  512. package/src/schematics/route-component/index.js.map +1 -1
  513. package/src/schematics/route-component/normalize-route-component-options.d.ts +5 -0
  514. package/src/schematics/route-component/normalize-route-component-options.js +8 -0
  515. package/src/schematics/route-component/normalize-route-component-options.js.map +1 -0
  516. package/src/schematics/route-component/route-rule.d.ts +3 -0
  517. package/src/schematics/route-component/route-rule.js +50 -0
  518. package/src/schematics/route-component/route-rule.js.map +1 -0
  519. package/src/schematics/table/action/dialog-table-action/__snapshots__/normalize-dialog-table-action-options.spec.ts.snap +105 -0
  520. package/src/schematics/table/action/dialog-table-action/index.d.ts +0 -5
  521. package/src/schematics/table/action/dialog-table-action/index.js +5 -9
  522. package/src/schematics/table/action/dialog-table-action/index.js.map +1 -1
  523. package/src/schematics/table/action/dialog-table-action/normalize-dialog-table-action-options.d.ts +5 -0
  524. package/src/schematics/table/action/dialog-table-action/normalize-dialog-table-action-options.js +8 -0
  525. package/src/schematics/table/action/dialog-table-action/normalize-dialog-table-action-options.js.map +1 -0
  526. package/src/schematics/table/action/form-table-action/__snapshots__/normalize-form-table-action-options.spec.ts.snap +208 -0
  527. package/src/schematics/table/action/form-table-action/backend/backend-rule.d.ts +2 -0
  528. package/src/schematics/table/action/form-table-action/backend/backend-rule.js +15 -0
  529. package/src/schematics/table/action/form-table-action/backend/backend-rule.js.map +1 -0
  530. package/src/schematics/table/action/form-table-action/backend/nestjs-backend-rule.d.ts +3 -0
  531. package/src/schematics/table/action/form-table-action/backend/nestjs-backend-rule.js +92 -0
  532. package/src/schematics/table/action/form-table-action/backend/nestjs-backend-rule.js.map +1 -0
  533. package/src/schematics/table/action/form-table-action/build-get-operation-id.d.ts +2 -0
  534. package/src/schematics/table/action/form-table-action/build-get-operation-id.js +12 -0
  535. package/src/schematics/table/action/form-table-action/build-get-operation-id.js.map +1 -0
  536. package/src/schematics/table/action/form-table-action/build-load-form-options.d.ts +3 -0
  537. package/src/schematics/table/action/form-table-action/build-load-form-options.js +23 -0
  538. package/src/schematics/table/action/form-table-action/build-load-form-options.js.map +1 -0
  539. package/src/schematics/table/action/form-table-action/index.d.ts +0 -7
  540. package/src/schematics/table/action/form-table-action/index.js +9 -165
  541. package/src/schematics/table/action/form-table-action/index.js.map +1 -1
  542. package/src/schematics/table/action/form-table-action/normalize-form-table-action-options.d.ts +5 -0
  543. package/src/schematics/table/action/form-table-action/normalize-form-table-action-options.js +21 -0
  544. package/src/schematics/table/action/form-table-action/normalize-form-table-action-options.js.map +1 -0
  545. package/src/schematics/table/action/form-table-action/use-operation-response-as-form-type-rule.d.ts +9 -0
  546. package/src/schematics/table/action/form-table-action/use-operation-response-as-form-type-rule.js +27 -0
  547. package/src/schematics/table/action/form-table-action/use-operation-response-as-form-type-rule.js.map +1 -0
  548. package/src/schematics/table/action/navigation-table-action/__snapshots__/normalize-navigation-table-action-options.spec.ts.snap +81 -0
  549. package/src/schematics/table/action/navigation-table-action/index.d.ts +0 -5
  550. package/src/schematics/table/action/navigation-table-action/index.js +5 -9
  551. package/src/schematics/table/action/navigation-table-action/index.js.map +1 -1
  552. package/src/schematics/table/action/navigation-table-action/normalize-navigation-table-action-options.d.ts +5 -0
  553. package/src/schematics/table/action/navigation-table-action/normalize-navigation-table-action-options.js +8 -0
  554. package/src/schematics/table/action/navigation-table-action/normalize-navigation-table-action-options.js.map +1 -0
  555. package/src/schematics/table/action/open-api-table-action/__snapshots__/normalize-open-api-table-action-options.spec.ts.snap +87 -0
  556. package/src/schematics/table/action/open-api-table-action/index.d.ts +0 -5
  557. package/src/schematics/table/action/open-api-table-action/index.js +5 -9
  558. package/src/schematics/table/action/open-api-table-action/index.js.map +1 -1
  559. package/src/schematics/table/action/open-api-table-action/normalize-open-api-table-action-options.d.ts +5 -0
  560. package/src/schematics/table/action/open-api-table-action/normalize-open-api-table-action-options.js +8 -0
  561. package/src/schematics/table/action/open-api-table-action/normalize-open-api-table-action-options.js.map +1 -0
  562. package/src/schematics/table/action/operation-table-action/__snapshots__/normalize-operation-table-action-options.spec.ts.snap +77 -0
  563. package/src/schematics/table/action/operation-table-action/backend-rule.d.ts +2 -0
  564. package/src/schematics/table/action/operation-table-action/backend-rule.js +15 -0
  565. package/src/schematics/table/action/operation-table-action/backend-rule.js.map +1 -0
  566. package/src/schematics/table/action/operation-table-action/index.d.ts +0 -7
  567. package/src/schematics/table/action/operation-table-action/index.js +7 -75
  568. package/src/schematics/table/action/operation-table-action/index.js.map +1 -1
  569. package/src/schematics/table/action/operation-table-action/normalize-operation-table-action-options.d.ts +7 -0
  570. package/src/schematics/table/action/operation-table-action/normalize-operation-table-action-options.js +21 -0
  571. package/src/schematics/table/action/operation-table-action/normalize-operation-table-action-options.js.map +1 -0
  572. package/src/schematics/table/action/operation-table-action/open-api-operation-rule.d.ts +2 -0
  573. package/src/schematics/table/action/operation-table-action/open-api-operation-rule.js +48 -0
  574. package/src/schematics/table/action/operation-table-action/open-api-operation-rule.js.map +1 -0
  575. package/src/schematics/table/header-button/form-table-header-button/__snapshots__/normalize-form-table-header-button-options.spec.ts.snap +198 -0
  576. package/src/schematics/table/header-button/form-table-header-button/index.d.ts +0 -7
  577. package/src/schematics/table/header-button/form-table-header-button/index.js +5 -20
  578. package/src/schematics/table/header-button/form-table-header-button/index.js.map +1 -1
  579. package/src/schematics/table/header-button/form-table-header-button/normalize-form-table-header-button-options.d.ts +7 -0
  580. package/src/schematics/table/header-button/form-table-header-button/normalize-form-table-header-button-options.js +16 -0
  581. package/src/schematics/table/header-button/form-table-header-button/normalize-form-table-header-button-options.js.map +1 -0
  582. package/src/schematics/table/header-button/method-table-header-button/__snapshots__/normalize-method-table-header-button-options.spec.ts.snap +89 -0
  583. package/src/schematics/table/header-button/method-table-header-button/index.d.ts +0 -5
  584. package/src/schematics/table/header-button/method-table-header-button/index.js +6 -17
  585. package/src/schematics/table/header-button/method-table-header-button/index.js.map +1 -1
  586. package/src/schematics/table/header-button/method-table-header-button/normalize-method-table-header-button-options.d.ts +5 -0
  587. package/src/schematics/table/header-button/method-table-header-button/normalize-method-table-header-button-options.js +15 -0
  588. package/src/schematics/table/header-button/method-table-header-button/normalize-method-table-header-button-options.js.map +1 -0
  589. package/src/schematics/table/header-button/navigation-table-header-button/__snapshots__/normalize-navigation-table-header-button-options.spec.ts.snap +71 -0
  590. package/src/schematics/table/header-button/navigation-table-header-button/index.d.ts +0 -5
  591. package/src/schematics/table/header-button/navigation-table-header-button/index.js +5 -16
  592. package/src/schematics/table/header-button/navigation-table-header-button/index.js.map +1 -1
  593. package/src/schematics/table/header-button/navigation-table-header-button/normalize-navigation-table-header-button-options.d.ts +5 -0
  594. package/src/schematics/table/header-button/navigation-table-header-button/normalize-navigation-table-header-button-options.js +15 -0
  595. package/src/schematics/table/header-button/navigation-table-header-button/normalize-navigation-table-header-button-options.js.map +1 -0
  596. package/src/schematics/table/table-action/__snapshots__/normalize-table-action-options.spec.ts.snap +77 -0
  597. package/src/schematics/table/table-action/index.d.ts +0 -5
  598. package/src/schematics/table/table-action/index.js +5 -14
  599. package/src/schematics/table/table-action/index.js.map +1 -1
  600. package/src/schematics/table/table-action/normalize-table-action-options.d.ts +5 -0
  601. package/src/schematics/table/table-action/normalize-table-action-options.js +13 -0
  602. package/src/schematics/table/table-action/normalize-table-action-options.js.map +1 -0
  603. package/src/schematics/table/table-component/__snapshots__/index.spec.ts.snap +80 -0
  604. package/src/schematics/table/table-component/__snapshots__/normalize-table-component-options.spec.ts.snap +272 -0
  605. package/src/schematics/table/table-component/backend/backend-rule.d.ts +3 -0
  606. package/src/schematics/table/table-component/backend/backend-rule.js +21 -0
  607. package/src/schematics/table/table-component/backend/backend-rule.js.map +1 -0
  608. package/src/schematics/table/table-component/backend/local-backend-rule.d.ts +3 -0
  609. package/src/schematics/table/table-component/backend/local-backend-rule.js +68 -0
  610. package/src/schematics/table/table-component/backend/local-backend-rule.js.map +1 -0
  611. package/src/schematics/table/table-component/backend/nestjs-backend-rule.d.ts +3 -0
  612. package/src/schematics/table/table-component/backend/nestjs-backend-rule.js +65 -0
  613. package/src/schematics/table/table-component/backend/nestjs-backend-rule.js.map +1 -0
  614. package/src/schematics/table/table-component/backend/open-api-backend-rule.d.ts +3 -0
  615. package/src/schematics/table/table-component/backend/open-api-backend-rule.js +48 -0
  616. package/src/schematics/table/table-component/backend/open-api-backend-rule.js.map +1 -0
  617. package/src/schematics/table/table-component/component-rule.d.ts +3 -0
  618. package/src/schematics/table/table-component/component-rule.js +49 -0
  619. package/src/schematics/table/table-component/component-rule.js.map +1 -0
  620. package/src/schematics/table/table-component/index.d.ts +1 -10
  621. package/src/schematics/table/table-component/index.js +19 -288
  622. package/src/schematics/table/table-component/index.js.map +1 -1
  623. package/src/schematics/table/table-component/normalize-table-component-options.d.ts +8 -0
  624. package/src/schematics/table/table-component/normalize-table-component-options.js +18 -0
  625. package/src/schematics/table/table-component/normalize-table-component-options.js.map +1 -0
  626. package/src/schematics/table/table-component/select-column-rule.d.ts +3 -0
  627. package/src/schematics/table/table-component/select-column-rule.js +43 -0
  628. package/src/schematics/table/table-component/select-column-rule.js.map +1 -0
  629. package/src/schematics/table/table-header-button/__snapshots__/index.spec.ts.snap +36 -0
  630. package/src/schematics/table/table-header-button/__snapshots__/normalize-table-header-button-options.spec.ts.snap +67 -0
  631. package/src/schematics/table/table-header-button/index.d.ts +0 -5
  632. package/src/schematics/table/table-header-button/index.js +5 -16
  633. package/src/schematics/table/table-header-button/index.js.map +1 -1
  634. package/src/schematics/table/table-header-button/normalize-table-header-button-options.d.ts +5 -0
  635. package/src/schematics/table/table-header-button/normalize-table-header-button-options.js +15 -0
  636. package/src/schematics/table/table-header-button/normalize-table-header-button-options.js.map +1 -0
  637. package/src/schematics/table/tree-table-component/__snapshots__/index.spec.ts.snap +35 -0
  638. package/src/schematics/table/tree-table-component/backend/backend-rule.d.ts +2 -0
  639. package/src/schematics/table/tree-table-component/backend/backend-rule.js +18 -0
  640. package/src/schematics/table/tree-table-component/backend/backend-rule.js.map +1 -0
  641. package/src/schematics/table/tree-table-component/backend/local-backend-rule.d.ts +2 -0
  642. package/src/schematics/table/tree-table-component/backend/local-backend-rule.js +101 -0
  643. package/src/schematics/table/tree-table-component/backend/local-backend-rule.js.map +1 -0
  644. package/src/schematics/table/tree-table-component/backend/nestjs-backend-rule.d.ts +2 -0
  645. package/src/schematics/table/tree-table-component/backend/nestjs-backend-rule.js +96 -0
  646. package/src/schematics/table/tree-table-component/backend/nestjs-backend-rule.js.map +1 -0
  647. package/src/schematics/table/tree-table-component/component-rule.d.ts +2 -0
  648. package/src/schematics/table/tree-table-component/component-rule.js +49 -0
  649. package/src/schematics/table/tree-table-component/component-rule.js.map +1 -0
  650. package/src/schematics/table/tree-table-component/index.d.ts +0 -11
  651. package/src/schematics/table/tree-table-component/index.js +19 -309
  652. package/src/schematics/table/tree-table-component/index.js.map +1 -1
  653. package/src/schematics/table/tree-table-component/normalized-tree-table-component-options.d.ts +8 -0
  654. package/src/schematics/table/tree-table-component/normalized-tree-table-component-options.js +12 -0
  655. package/src/schematics/table/tree-table-component/normalized-tree-table-component-options.js.map +1 -0
  656. package/src/schematics/table/tree-table-component/tree-table-method-rule.d.ts +2 -0
  657. package/src/schematics/table/tree-table-component/tree-table-method-rule.js +45 -0
  658. package/src/schematics/table/tree-table-component/tree-table-method-rule.js.map +1 -0
  659. package/src/schematics/tree-component/__snapshots__/index.spec.ts.snap +34 -0
  660. package/src/schematics/tree-component/__snapshots__/normalize-tree-component-options.spec.ts.snap +51 -0
  661. package/src/schematics/tree-component/index.d.ts +0 -8
  662. package/src/schematics/tree-component/index.js +2 -12
  663. package/src/schematics/tree-component/index.js.map +1 -1
  664. package/src/schematics/tree-component/normalize-tree-component-options.d.ts +9 -0
  665. package/src/schematics/tree-component/normalize-tree-component-options.js +14 -0
  666. package/src/schematics/tree-component/normalize-tree-component-options.js.map +1 -0
  667. package/src/lib/assert-table-component-exists.js.map +0 -1
  668. package/src/lib/coerce-accordion-component.js.map +0 -1
  669. package/src/lib/coerce-form-component.js.map +0 -1
  670. package/src/lib/minimum-table-component-options.d.ts +0 -24
  671. package/src/lib/minimum-table-component-options.js +0 -350
  672. package/src/lib/minimum-table-component-options.js.map +0 -1
  673. package/src/lib/use-pick-from-table-interface-as-form-type.js.map +0 -1
  674. /package/src/lib/{assert-table-component-exists.d.ts → rules/assert-table-component-exists.d.ts} +0 -0
  675. /package/src/lib/{table → rules}/table-filter-column-rule.d.ts +0 -0
  676. /package/src/{lib → schematics/accordion/accordion-component}/coerce-accordion-component.js +0 -0
package/CHANGELOG.md CHANGED
@@ -3,6 +3,30 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [19.2.0-dev.2](https://gitlab.com/rxap/packages/compare/@rxap/schematic-angular@19.2.0-dev.1...@rxap/schematic-angular@19.2.0-dev.2) (2026-01-19)
7
+
8
+ ### Features
9
+
10
+ - **schematics:** add reusable backend and data-grid rules with tests ([da5052c](https://gitlab.com/rxap/packages/commit/da5052c722cf50417f04f7ef185b0c571413834b))
11
+ - **schematics:** add test utilities, snapshots, and setup for dialog component ([4d95043](https://gitlab.com/rxap/packages/commit/4d95043cc133d550a144c068e2e3785da48904d9))
12
+ - **schematics:** update test module generation and refactor workspace utilities ([9c435a4](https://gitlab.com/rxap/packages/commit/9c435a4a2422a05ad5bee9ef404c2707ca626026))
13
+ - **utilities:** add prefix support to BuildNestControllerName options ([fc40385](https://gitlab.com/rxap/packages/commit/fc4038517cc3925905c25501033a7340335e2b22))
14
+
15
+ # [19.2.0-dev.1](https://gitlab.com/rxap/packages/compare/@rxap/schematic-angular@19.2.0-dev.0...@rxap/schematic-angular@19.2.0-dev.1) (2026-01-13)
16
+
17
+ ### Bug Fixes
18
+
19
+ - update package groups ([b10916e](https://gitlab.com/rxap/packages/commit/b10916e3d8272353615eee07174fabb7126188fa))
20
+
21
+ # [19.2.0-dev.0](https://gitlab.com/rxap/packages/compare/@rxap/schematic-angular@19.1.1-dev.3...@rxap/schematic-angular@19.2.0-dev.0) (2026-01-13)
22
+
23
+ ### Features
24
+
25
+ - **docs:** add custom template support in column and control guides ([25b56e0](https://gitlab.com/rxap/packages/commit/25b56e01eb6acb6fc6482f14718c148d19d14380))
26
+ - **docs:** add detailed schematic guides for Angular components ([c2e0da8](https://gitlab.com/rxap/packages/commit/c2e0da80662274620d2e0d4120c317d240c80a38))
27
+ - **docs:** enhance table column, action, and form control guides ([c4e1b66](https://gitlab.com/rxap/packages/commit/c4e1b66256c608044d5634f4bfa82d36a1832cfe))
28
+ - **schematics:** add examples for accordion and table components ([c1125e0](https://gitlab.com/rxap/packages/commit/c1125e0e2a99c1a6f685a1cbbf9dcf548ba6744f))
29
+
6
30
  ## [19.1.1-dev.3](https://gitlab.com/rxap/packages/compare/@rxap/schematic-angular@19.1.1-dev.2...@rxap/schematic-angular@19.1.1-dev.3) (2025-09-18)
7
31
 
8
32
  **Note:** Version bump only for package @rxap/schematic-angular
package/GUIDES.md CHANGED
@@ -0,0 +1,160 @@
1
+ # Developer Guide: Generating Angular Material Tables & NestJS Controllers with @rxap/schematics
2
+
3
+ This guide explains how to use `@rxap/schematic-composer` in conjunction with `@rxap/schematic-angular` to auto-generate an Angular Material table component and its corresponding NestJS controller.
4
+
5
+ ## Overview
6
+
7
+ The process involves creating a declarative configuration file (`schematic.yaml`) that defines the table structure and backend requirements. The `@rxap/schematic-composer:compose` generator reads this file and executes the `@rxap/schematic-angular:table-component` schematic with the provided options.
8
+
9
+ > [!TIP]
10
+ > For more detailed information on all available options, check out the [Detailed Table Component Guide](./src/guides/table-component.md).
11
+
12
+ > [!TIP]
13
+ > Need to create forms? Check out the [Form Component Guide](./src/guides/form-component.md) and [Form Control Guide](./src/guides/form-control.md).
14
+
15
+
16
+ ## Prerequisites
17
+
18
+ Ensure you have the following packages in your Nx workspace:
19
+ - `@rxap/schematic-composer`
20
+ - `@rxap/schematic-angular`
21
+
22
+ ## step 1: Create `schematic.yaml`
23
+
24
+ Create a `schematic.yaml` file in your feature directory (e.g., `libs/feature/user/src/lib/schematic.yaml`). This file tells the composer which schematics to run.
25
+
26
+ ### File Structure
27
+
28
+ The file expects an array of schematic definitions. Each definition contains:
29
+
30
+ - **package**: The npm package containing the schematic (e.g., `@rxap/schematic-angular`).
31
+ - **name**: The name of the schematic to run (e.g., `table-component`).
32
+ - **options**: The configuration object passed to the schematic.
33
+
34
+ ## Step 2: Configure the Table Component
35
+
36
+ To generate both the **Angular Table** and the **NestJS Controller**, you must configure the `table-component` options correctly.
37
+
38
+ ### Key Options
39
+
40
+ | Option | Description | Required | Example |
41
+ | :--- | :--- | :--- | :--- |
42
+ | `name` | The name of the component/entity. | Yes | `user-list` |
43
+ | `project` | The name of the *frontend* project. | Inferred* | `admin-panel` |
44
+ | `feature` | The feature module name where the component belongs. | Inferred* | `user` |
45
+ | `nestModule` | The name of the **NestJS module** where the controller should be created. | **Yes** (for backend) | `api-user` |
46
+ | `backend` | Configuration for data handling. Setup for NestJS generation. | **Yes** | `{ kind: 'nestjs' }` |
47
+ | `columnList` | Array of columns to display. | Yes | `[{ name: 'email', kind: 'text' }]` |
48
+
49
+ *\*Inferred when using the `--file` option with the composer generator.*
50
+
51
+
52
+ ### Backend Configuration (Critical)
53
+
54
+ To trigger the generation of a NestJS controller, you must set the `backend` option to `nestjs` and provide the `nestModule`.
55
+
56
+ ```yaml
57
+ backend:
58
+ kind: nestjs
59
+ # Optional: Specify backend project if different from context
60
+ # project: api-app
61
+ # Optional: OpenAPI server ID
62
+ # serverId: main
63
+ nestModule: api-user
64
+ # controllerName: user # Optional: overrides default controller name
65
+ ```
66
+
67
+ This configuration tells the schematic to:
68
+ 1. Create a standard Angular Material Table.
69
+ 2. Generate/Update a NestJS Controller in the specified `nestModule` (`api-user`).
70
+ 3. Create a `getPage` method in the controller to handle pagination, sorting, and filtering.
71
+ 4. Connect the Angular table data source to this backend endpoint automatically.
72
+
73
+ ## Example `schematic.yaml`
74
+
75
+ Here is a complete example that generates a "User Table" with:
76
+ - Columns: ID, Email, Name
77
+ - Backend: NestJS Controller in `api-user` module
78
+ - Frontend: `admin-panel` project, `user` feature
79
+
80
+ ```yaml
81
+ - package: "@rxap/schematic-angular"
82
+ name: table-component
83
+ options:
84
+ # --- Frontend Location ---
85
+ project: admin-panel
86
+ feature: user
87
+ name: user-list
88
+
89
+ # --- Backend Configuration ---
90
+ # This triggers the NestJS controller generation
91
+ backend:
92
+ kind: nestjs
93
+ nestModule: api-user
94
+ # Optional: explicitly set controller name if different from 'name'
95
+ # controllerName: user
96
+
97
+ # --- Table Structure ---
98
+ columnList:
99
+ - name: id
100
+ kind: text
101
+ label: ID
102
+ - name: email
103
+ kind: text
104
+ label: Email Address
105
+ - name: name
106
+ kind: text
107
+ label: Full Name
108
+
109
+ # --- Optional: Filters & Actions ---
110
+ filterList:
111
+ - name: email
112
+ kind: input
113
+ label: Filter by Email
114
+
115
+ actionList:
116
+ - name: edit
117
+ type: icon
118
+ icon: edit
119
+ tooltip: Edit User
120
+ ```
121
+
122
+ ## Step 3: Run the Generator
123
+
124
+ The easiest and recommended way to execute your `schematic.yaml` is by using the `--file` option. This allows the generator to automatically infer the **project**, **feature**, and **target directory** from the file's location.
125
+
126
+ ```bash
127
+ yarn nx generate @rxap/schematic-composer:compose --file libs/feature/user/src/lib/schematic.yaml
128
+ ```
129
+
130
+ > [!NOTE]
131
+ > When using the `--file` option, you can typically omit `project`, `feature`, and `directory` from your `schematic.yaml` file, as they will be detected based on the path provided.
132
+
133
+ ### Alternative: Search by Directory
134
+
135
+ If you want the generator to search for all `schematic.yaml` files within a directory tree:
136
+
137
+ ```bash
138
+ yarn nx generate @rxap/schematic-composer:compose --directory libs/feature/user/src/lib
139
+ ```
140
+
141
+ **Arguments:**
142
+ - `--file`: (Primary) The direct path to your `schematic.yaml`.
143
+ - `--directory`: A starting directory to search for one or more `schematic.yaml` files.
144
+ - `--filter`: (Optional) If searching via directory, filter for schematic files within a specific sub-folder name.
145
+
146
+
147
+ ## Important Notes for AI Agents
148
+
149
+ When generating code for users:
150
+
151
+ 1. **Prefer the `--file` option:** When executing the composer, always use the `--file` argument with the path to the `schematic.yaml` you just created.
152
+ 2. **Target Locations:** Even though `--file` infers locations, ensure the `schematic.yaml` itself is placed in the correct logical feature directory of the workspace.
153
+ 3. **Identify the Backend Module:** Ask the user or search for the NestJS module (`nestModule`) that should own the backend logic.
154
+ 4. **Backend Integration:** Ensure `backend: { kind: 'nestjs' }` and `nestModule` are correctly set to enable controller generation.
155
+
156
+
157
+ ## Troubleshooting
158
+
159
+ - **Controller not generated?** Check if `backend.kind` is set to `nestjs` and `nestModule` is specified and exists.
160
+ - **"Module not found" errors?** Ensure the `nestModule` name matches the library name in `nx.json` or `project.json`.
package/README.md CHANGED
@@ -8,6 +8,7 @@ Provides schematics for generating Angular components, services, and related fil
8
8
  ![NPM](https://img.shields.io/npm/l/@rxap/schematic-angular)
9
9
 
10
10
  - [Installation](#installation)
11
+ - [Guides](#guides)
11
12
 
12
13
  # Installation
13
14
 
@@ -15,3 +16,166 @@ Provides schematics for generating Angular components, services, and related fil
15
16
  ```bash
16
17
  yarn add @rxap/schematic-angular
17
18
  ```
19
+ # Guides
20
+
21
+ # Developer Guide: Generating Angular Material Tables & NestJS Controllers with @rxap/schematics
22
+
23
+ This guide explains how to use `@rxap/schematic-composer` in conjunction with `@rxap/schematic-angular` to auto-generate an Angular Material table component and its corresponding NestJS controller.
24
+
25
+ ## Overview
26
+
27
+ The process involves creating a declarative configuration file (`schematic.yaml`) that defines the table structure and backend requirements. The `@rxap/schematic-composer:compose` generator reads this file and executes the `@rxap/schematic-angular:table-component` schematic with the provided options.
28
+
29
+ > [!TIP]
30
+ > For more detailed information on all available options, check out the [Detailed Table Component Guide](./src/guides/table-component.md).
31
+
32
+ > [!TIP]
33
+ > Need to create forms? Check out the [Form Component Guide](./src/guides/form-component.md) and [Form Control Guide](./src/guides/form-control.md).
34
+
35
+
36
+ ## Prerequisites
37
+
38
+ Ensure you have the following packages in your Nx workspace:
39
+ - `@rxap/schematic-composer`
40
+ - `@rxap/schematic-angular`
41
+
42
+ ## step 1: Create `schematic.yaml`
43
+
44
+ Create a `schematic.yaml` file in your feature directory (e.g., `libs/feature/user/src/lib/schematic.yaml`). This file tells the composer which schematics to run.
45
+
46
+ ### File Structure
47
+
48
+ The file expects an array of schematic definitions. Each definition contains:
49
+
50
+ - **package**: The npm package containing the schematic (e.g., `@rxap/schematic-angular`).
51
+ - **name**: The name of the schematic to run (e.g., `table-component`).
52
+ - **options**: The configuration object passed to the schematic.
53
+
54
+ ## Step 2: Configure the Table Component
55
+
56
+ To generate both the **Angular Table** and the **NestJS Controller**, you must configure the `table-component` options correctly.
57
+
58
+ ### Key Options
59
+
60
+ | Option | Description | Required | Example |
61
+ | :--- | :--- | :--- | :--- |
62
+ | `name` | The name of the component/entity. | Yes | `user-list` |
63
+ | `project` | The name of the *frontend* project. | Inferred* | `admin-panel` |
64
+ | `feature` | The feature module name where the component belongs. | Inferred* | `user` |
65
+ | `nestModule` | The name of the **NestJS module** where the controller should be created. | **Yes** (for backend) | `api-user` |
66
+ | `backend` | Configuration for data handling. Setup for NestJS generation. | **Yes** | `{ kind: 'nestjs' }` |
67
+ | `columnList` | Array of columns to display. | Yes | `[{ name: 'email', kind: 'text' }]` |
68
+
69
+ *\*Inferred when using the `--file` option with the composer generator.*
70
+
71
+
72
+ ### Backend Configuration (Critical)
73
+
74
+ To trigger the generation of a NestJS controller, you must set the `backend` option to `nestjs` and provide the `nestModule`.
75
+
76
+ ```yaml
77
+ backend:
78
+ kind: nestjs
79
+ # Optional: Specify backend project if different from context
80
+ # project: api-app
81
+ # Optional: OpenAPI server ID
82
+ # serverId: main
83
+ nestModule: api-user
84
+ # controllerName: user # Optional: overrides default controller name
85
+ ```
86
+
87
+ This configuration tells the schematic to:
88
+ 1. Create a standard Angular Material Table.
89
+ 2. Generate/Update a NestJS Controller in the specified `nestModule` (`api-user`).
90
+ 3. Create a `getPage` method in the controller to handle pagination, sorting, and filtering.
91
+ 4. Connect the Angular table data source to this backend endpoint automatically.
92
+
93
+ ## Example `schematic.yaml`
94
+
95
+ Here is a complete example that generates a "User Table" with:
96
+ - Columns: ID, Email, Name
97
+ - Backend: NestJS Controller in `api-user` module
98
+ - Frontend: `admin-panel` project, `user` feature
99
+
100
+ ```yaml
101
+ - package: "@rxap/schematic-angular"
102
+ name: table-component
103
+ options:
104
+ # --- Frontend Location ---
105
+ project: admin-panel
106
+ feature: user
107
+ name: user-list
108
+
109
+ # --- Backend Configuration ---
110
+ # This triggers the NestJS controller generation
111
+ backend:
112
+ kind: nestjs
113
+ nestModule: api-user
114
+ # Optional: explicitly set controller name if different from 'name'
115
+ # controllerName: user
116
+
117
+ # --- Table Structure ---
118
+ columnList:
119
+ - name: id
120
+ kind: text
121
+ label: ID
122
+ - name: email
123
+ kind: text
124
+ label: Email Address
125
+ - name: name
126
+ kind: text
127
+ label: Full Name
128
+
129
+ # --- Optional: Filters & Actions ---
130
+ filterList:
131
+ - name: email
132
+ kind: input
133
+ label: Filter by Email
134
+
135
+ actionList:
136
+ - name: edit
137
+ type: icon
138
+ icon: edit
139
+ tooltip: Edit User
140
+ ```
141
+
142
+ ## Step 3: Run the Generator
143
+
144
+ The easiest and recommended way to execute your `schematic.yaml` is by using the `--file` option. This allows the generator to automatically infer the **project**, **feature**, and **target directory** from the file's location.
145
+
146
+ ```bash
147
+ yarn nx generate @rxap/schematic-composer:compose --file libs/feature/user/src/lib/schematic.yaml
148
+ ```
149
+
150
+ > [!NOTE]
151
+ > When using the `--file` option, you can typically omit `project`, `feature`, and `directory` from your `schematic.yaml` file, as they will be detected based on the path provided.
152
+
153
+ ### Alternative: Search by Directory
154
+
155
+ If you want the generator to search for all `schematic.yaml` files within a directory tree:
156
+
157
+ ```bash
158
+ yarn nx generate @rxap/schematic-composer:compose --directory libs/feature/user/src/lib
159
+ ```
160
+
161
+ **Arguments:**
162
+ - `--file`: (Primary) The direct path to your `schematic.yaml`.
163
+ - `--directory`: A starting directory to search for one or more `schematic.yaml` files.
164
+ - `--filter`: (Optional) If searching via directory, filter for schematic files within a specific sub-folder name.
165
+
166
+
167
+ ## Important Notes for AI Agents
168
+
169
+ When generating code for users:
170
+
171
+ 1. **Prefer the `--file` option:** When executing the composer, always use the `--file` argument with the path to the `schematic.yaml` you just created.
172
+ 2. **Target Locations:** Even though `--file` infers locations, ensure the `schematic.yaml` itself is placed in the correct logical feature directory of the workspace.
173
+ 3. **Identify the Backend Module:** Ask the user or search for the NestJS module (`nestModule`) that should own the backend logic.
174
+ 4. **Backend Integration:** Ensure `backend: { kind: 'nestjs' }` and `nestModule` are correctly set to enable controller generation.
175
+
176
+
177
+ ## Troubleshooting
178
+
179
+ - **Controller not generated?** Check if `backend.kind` is set to `nestjs` and `nestModule` is specified and exists.
180
+ - **"Module not found" errors?** Ensure the `nestModule` name matches the library name in `nx.json` or `project.json`.
181
+
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "19.1.1-dev.3",
2
+ "version": "19.2.0-dev.2",
3
3
  "name": "@rxap/schematic-angular",
4
4
  "description": "Provides schematics for generating Angular components, services, and related files, particularly focused on creating tables, forms, data grids, and accordions with NestJS integration. It offers tools for generating UI elements with backend connectivity, including data sources, methods, and form handling. This package aims to streamline the development of data-driven Angular applications with a focus on material design and backend integration.\n",
5
5
  "license": "GPL-3.0-or-later",
@@ -7,12 +7,12 @@
7
7
  "@angular-devkit/core": "19.2.1",
8
8
  "@angular-devkit/schematics": "19.2.1",
9
9
  "@nx/devkit": "20.5.0",
10
- "@rxap/schematics-ts-morph": "^19.1.1-dev.3",
11
- "@rxap/schematics-utilities": "^19.0.5-dev.2",
12
- "@rxap/ts-morph": "^1.6.0-dev.2",
13
- "@rxap/utilities": "^16.5.0-dev.0",
14
- "@rxap/workspace-ts-morph": "^19.1.13-dev.3",
15
- "@rxap/workspace-utilities": "^19.8.1-dev.2",
10
+ "@rxap/schematics-ts-morph": "^19.1.1-dev.5",
11
+ "@rxap/schematics-utilities": "^19.0.5-dev.4",
12
+ "@rxap/ts-morph": "^1.6.0-dev.3",
13
+ "@rxap/utilities": "^16.5.0-dev.1",
14
+ "@rxap/workspace-ts-morph": "^19.1.13-dev.5",
15
+ "@rxap/workspace-utilities": "^19.9.0-dev.0",
16
16
  "colors": "1.4.0",
17
17
  "handlebars": "^4.7.8",
18
18
  "ts-morph": "18.0.0",
@@ -45,7 +45,7 @@
45
45
  },
46
46
  "schematics": "./collection.json",
47
47
  "type": "commonjs",
48
- "gitHead": "ef20bc50270ad0727a111d54e48cb279ff3ed5cf",
48
+ "gitHead": "5ad37909a73f9e3eaab7208cdf5b0e12eb759c7e",
49
49
  "types": "./src/index.d.ts",
50
50
  "main": "./src/index.js"
51
51
  }
@@ -0,0 +1,226 @@
1
+ package: "@rxap/schematic-angular"
2
+ name: accordion-component
3
+ options:
4
+ name: dashboard
5
+ backend: nestjs
6
+ multiple: true
7
+ header:
8
+ property:
9
+ name: name
10
+ persistent:
11
+ property:
12
+ name: uuid
13
+ identifier:
14
+ source: route
15
+ property:
16
+ name: uuid
17
+ upstream:
18
+ kind: open-api
19
+ operationId: dashboard-controller-getByUuid@legacy
20
+ propertyList:
21
+ - name: dashboardType
22
+ type: number
23
+ source: "dashboardType!"
24
+ - name: name
25
+ source: "name!"
26
+ itemList:
27
+ - name: general-information
28
+ kind: switch
29
+ switch:
30
+ property:
31
+ name: dashboardType
32
+ type: number
33
+ defaultCase:
34
+ itemList:
35
+ - kind: data-grid
36
+ name: dashboard
37
+ title: Allgemeine Informationen
38
+ propertyList:
39
+ - name: name
40
+ type: string
41
+ source: "name!"
42
+ - name: location
43
+ source: "location?.uuid!"
44
+ type: string
45
+ - name: link
46
+ source: "link!"
47
+ type: string
48
+ - name: company
49
+ source: "company?.uuid!"
50
+ type: string
51
+ - name: dashboardType
52
+ source: "dashboardType!"
53
+ type: number
54
+ upstream:
55
+ kind: open-api
56
+ operationId: dashboard-controller-getByUuid@legacy
57
+ dataGrid:
58
+ itemList:
59
+ - name: name
60
+ hasCellDef: true
61
+ formControl:
62
+ kind: input
63
+ - name: location
64
+ pipeList:
65
+ - name: company
66
+ namedImport: CompanyPipe
67
+ moduleSpecifier: "@digitaix/eurogard-pipes"
68
+ - async
69
+ - getFromObject:name
70
+ formControl:
71
+ kind: autocomplete-table-select
72
+ backend: nestjs
73
+ toValue:
74
+ property:
75
+ name: uuid
76
+ columnList:
77
+ - name: name
78
+ hasFilter: true
79
+ resolver:
80
+ upstream:
81
+ kind: open-api
82
+ operationId: company-gui-controller-getByUuid@legacy
83
+ mapper:
84
+ kind: resolve
85
+ value: uuid
86
+ upstream:
87
+ kind: open-api
88
+ operationId: company-gui-controller-getByFilter@legacy
89
+ mapper:
90
+ kind: paged
91
+ pageIndex: page
92
+ pageSize: size
93
+ sortBy: sort
94
+ sortDirection: order
95
+ list: entities
96
+ total: maxCount
97
+ filter:
98
+ eq: ':'
99
+ join: ';'
100
+ - name: link
101
+ kind: link
102
+ target: _blank
103
+ formControl:
104
+ kind: input
105
+ inputType: url
106
+ - name: company
107
+ type: string
108
+ isReadonly: true
109
+ pipeList:
110
+ - name: company
111
+ namedImport: CompanyPipe
112
+ moduleSpecifier: "@digitaix/eurogard-pipes"
113
+ - async
114
+ - "getFromObject:'name'"
115
+ - name: dashboardType
116
+ header: Typ
117
+ type: number
118
+ isReadonly: true
119
+ pipeList:
120
+ - name: toDashboardTypesEnumValue
121
+ namedImport: ToDashboardTypesEnumValuePipe
122
+ moduleSpecifier: enum
123
+ - async
124
+ case:
125
+ - test: 2
126
+ itemList:
127
+ - kind: data-grid
128
+ name: cloud-dashboard
129
+ title: Allgemeine Informationen
130
+ propertyList:
131
+ - name: name
132
+ type: string
133
+ source: "name!"
134
+ - name: company
135
+ source: "company?.uuid!"
136
+ type: string
137
+ - name: dashboardType
138
+ source: "dashboardType!"
139
+ type: number
140
+ upstream:
141
+ kind: open-api
142
+ operationId: dashboard-controller-getByUuid@legacy
143
+ dataGrid:
144
+ itemList:
145
+ - name: name
146
+ hasCellDef: true
147
+ formControl:
148
+ kind: input
149
+ - name: company
150
+ type: string
151
+ isReadonly: true
152
+ pipeList:
153
+ - name: company
154
+ namedImport: CompanyPipe
155
+ moduleSpecifier: "@digitaix/eurogard-pipes"
156
+ - async
157
+ - "getFromObject:'name'"
158
+ - name: dashboardType
159
+ header: Typ
160
+ type: number
161
+ isReadonly: true
162
+ pipeList:
163
+ - name: toDashboardTypesEnumValue
164
+ namedImport: ToDashboardTypesEnumValuePipe
165
+ moduleSpecifier: enum
166
+ - async
167
+ - name: layout
168
+ kind: switch
169
+ permission: dashboard.layout.get
170
+ switch:
171
+ property:
172
+ name: dashboardType
173
+ type: number
174
+ case:
175
+ - test: 2
176
+ itemList:
177
+ - name: cloud-dashboard
178
+ upstream:
179
+ kind: open-api
180
+ operationId: dashboard-controller-getByUuid@legacy
181
+ kind: default
182
+ title: Layouts
183
+ propertyList:
184
+ - name: layoutList
185
+ isArray: true
186
+ source: "layoutList!"
187
+ - name: reference
188
+ kind: tree-table
189
+ title: Zuordnung
190
+ table:
191
+ cssClass:
192
+ - "!min-w-0"
193
+ propertyList:
194
+ - name: referenceUuid
195
+ - name: type
196
+ columnList:
197
+ - name: isReferenced
198
+ cssClass:
199
+ - "!w-[200px]"
200
+ - "min-w-[200px]"
201
+ - "max-w-[200px]"
202
+ kind: component
203
+ filterControl:
204
+ kind: select
205
+ formField:
206
+ cssClass:
207
+ - "w-[200px]"
208
+ - name: name
209
+ filterControl:
210
+ kind: input
211
+ cssClass:
212
+ - "w-[500px]"
213
+ - "max-w-[500px]"
214
+ - "min-w-[250px]"
215
+ type: string
216
+ kind: default
217
+ - name: scopeType
218
+ cssClass:
219
+ - "!w-[280px]"
220
+ - "min-w-[280px]"
221
+ - "max-w-[280px]"
222
+ type: number
223
+ kind: component
224
+ filterControl:
225
+ kind: select
226
+ backend: nestjs