@rxap/schematic-angular 16.2.0-dev.9 → 16.3.0-dev.0

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 (418) hide show
  1. package/CHANGELOG.md +400 -0
  2. package/README.md +1 -1
  3. package/collection.json +20 -0
  4. package/package.json +19 -20
  5. package/src/lib/accordion-header.js +8 -5
  6. package/src/lib/accordion-header.js.map +1 -1
  7. package/src/lib/accordion-identifier.d.ts +8 -4
  8. package/src/lib/accordion-identifier.js +4 -3
  9. package/src/lib/accordion-identifier.js.map +1 -1
  10. package/src/lib/accordion-item.d.ts +13 -6
  11. package/src/lib/accordion-item.js +42 -15
  12. package/src/lib/accordion-item.js.map +1 -1
  13. package/src/lib/angular-options.d.ts +2 -2
  14. package/src/lib/angular-options.js +2 -1
  15. package/src/lib/angular-options.js.map +1 -1
  16. package/src/lib/backend-types.d.ts +2 -1
  17. package/src/lib/backend-types.js +1 -0
  18. package/src/lib/backend-types.js.map +1 -1
  19. package/src/lib/coerce-accordion-component.js +4 -2
  20. package/src/lib/coerce-accordion-component.js.map +1 -1
  21. package/src/lib/coerce-accordion-item-table-component.js +1 -1
  22. package/src/lib/coerce-accordion-item-table-component.js.map +1 -1
  23. package/src/lib/coerce-form-component.js +16 -3
  24. package/src/lib/coerce-form-component.js.map +1 -1
  25. package/src/lib/coerce-minimum-table-component.d.ts +4 -1
  26. package/src/lib/coerce-minimum-table-component.js +21 -5
  27. package/src/lib/coerce-minimum-table-component.js.map +1 -1
  28. package/src/lib/coerce-tree-table-component.js +1 -5
  29. package/src/lib/coerce-tree-table-component.js.map +1 -1
  30. package/src/lib/component-options.d.ts +10 -0
  31. package/src/lib/component-options.js +14 -0
  32. package/src/lib/component-options.js.map +1 -0
  33. package/src/lib/css-class.d.ts +9 -0
  34. package/src/lib/css-class.js +52 -0
  35. package/src/lib/css-class.js.map +1 -0
  36. package/src/lib/data-grid-item.d.ts +45 -7
  37. package/src/lib/data-grid-item.js +102 -6
  38. package/src/lib/data-grid-item.js.map +1 -1
  39. package/src/lib/data-grid-mode.d.ts +4 -0
  40. package/src/lib/data-grid-mode.js +9 -0
  41. package/src/lib/data-grid-mode.js.map +1 -0
  42. package/src/lib/data-grid-options.d.ts +10 -5
  43. package/src/lib/data-grid-options.js +42 -15
  44. package/src/lib/data-grid-options.js.map +1 -1
  45. package/src/lib/form/abstract-control.d.ts +31 -0
  46. package/src/lib/form/abstract-control.js +48 -0
  47. package/src/lib/form/abstract-control.js.map +1 -0
  48. package/src/lib/form/array/base-form-array.d.ts +18 -0
  49. package/src/lib/form/array/base-form-array.js +41 -0
  50. package/src/lib/form/array/base-form-array.js.map +1 -0
  51. package/src/lib/form/array/form-array-kind.d.ts +3 -0
  52. package/src/lib/form/array/form-array-kind.js +8 -0
  53. package/src/lib/form/array/form-array-kind.js.map +1 -0
  54. package/src/lib/form/array/form-array.d.ts +12 -0
  55. package/src/lib/form/array/form-array.js +18 -0
  56. package/src/lib/form/array/form-array.js.map +1 -0
  57. package/src/lib/form/coerce-control-component-imports.d.ts +3 -0
  58. package/src/lib/form/coerce-control-component-imports.js +18 -0
  59. package/src/lib/form/coerce-control-component-imports.js.map +1 -0
  60. package/src/lib/form/control/autocomplete-table-select-form-control.d.ts +9 -0
  61. package/src/lib/form/control/autocomplete-table-select-form-control.js +58 -0
  62. package/src/lib/form/control/autocomplete-table-select-form-control.js.map +1 -0
  63. package/src/lib/form/control/base-form-control.d.ts +15 -0
  64. package/src/lib/form/control/base-form-control.js +19 -0
  65. package/src/lib/form/control/base-form-control.js.map +1 -0
  66. package/src/lib/form/control/checkbox-form-control.d.ts +11 -0
  67. package/src/lib/form/control/checkbox-form-control.js +23 -0
  68. package/src/lib/form/control/checkbox-form-control.js.map +1 -0
  69. package/src/lib/form/control/form-control-kind.d.ts +10 -0
  70. package/src/lib/form/control/form-control-kind.js +15 -0
  71. package/src/lib/form/control/form-control-kind.js.map +1 -0
  72. package/src/lib/form/control/form-control.d.ts +20 -0
  73. package/src/lib/form/control/form-control.js +46 -0
  74. package/src/lib/form/control/form-control.js.map +1 -0
  75. package/src/lib/form/control/form-field-form-control.d.ts +39 -0
  76. package/src/lib/form/control/form-field-form-control.js +87 -0
  77. package/src/lib/form/control/form-field-form-control.js.map +1 -0
  78. package/src/lib/form/control/input-form-control.d.ts +15 -0
  79. package/src/lib/form/control/input-form-control.js +75 -0
  80. package/src/lib/form/control/input-form-control.js.map +1 -0
  81. package/src/lib/form/control/select-form-control.d.ts +22 -0
  82. package/src/lib/form/control/select-form-control.js +47 -0
  83. package/src/lib/form/control/select-form-control.js.map +1 -0
  84. package/src/lib/form/control/slide-toggle-form-control.d.ts +11 -0
  85. package/src/lib/form/control/slide-toggle-form-control.js +23 -0
  86. package/src/lib/form/control/slide-toggle-form-control.js.map +1 -0
  87. package/src/lib/form/control/table-select-form-control.d.ts +46 -0
  88. package/src/lib/form/control/table-select-form-control.js +82 -0
  89. package/src/lib/form/control/table-select-form-control.js.map +1 -0
  90. package/src/lib/form/control/textarea-form-control.d.ts +22 -0
  91. package/src/lib/form/control/textarea-form-control.js +52 -0
  92. package/src/lib/form/control/textarea-form-control.js.map +1 -0
  93. package/src/lib/form/control.d.ts +8 -0
  94. package/src/lib/form/control.js +38 -0
  95. package/src/lib/form/control.js.map +1 -0
  96. package/src/lib/form/generate-form-template.d.ts +2 -2
  97. package/src/lib/form/group/base-form-group.d.ts +17 -0
  98. package/src/lib/form/group/base-form-group.js +20 -0
  99. package/src/lib/form/group/base-form-group.js.map +1 -0
  100. package/src/lib/form/group/form-group-kind.d.ts +3 -0
  101. package/src/lib/form/group/form-group-kind.js +8 -0
  102. package/src/lib/form/group/form-group-kind.js.map +1 -0
  103. package/src/lib/form/group/form-group.d.ts +12 -0
  104. package/src/lib/form/group/form-group.js +18 -0
  105. package/src/lib/form/group/form-group.js.map +1 -0
  106. package/src/lib/load-handlebars-template.d.ts +3 -0
  107. package/src/lib/load-handlebars-template.js +13 -1
  108. package/src/lib/load-handlebars-template.js.map +1 -1
  109. package/src/lib/minimum-table-component-options.d.ts +1 -1
  110. package/src/lib/minimum-table-component-options.js +22 -15
  111. package/src/lib/minimum-table-component-options.js.map +1 -1
  112. package/src/lib/minimum-table-options.d.ts +22 -4
  113. package/src/lib/minimum-table-options.js +40 -6
  114. package/src/lib/minimum-table-options.js.map +1 -1
  115. package/src/lib/pipe-option.d.ts +11 -0
  116. package/src/lib/pipe-option.js +75 -0
  117. package/src/lib/pipe-option.js.map +1 -0
  118. package/src/lib/route-component.d.ts +16 -0
  119. package/src/lib/route-component.js +15 -0
  120. package/src/lib/route-component.js.map +1 -0
  121. package/src/lib/table/column/base-table-column.d.ts +61 -0
  122. package/src/lib/table/column/base-table-column.js +309 -0
  123. package/src/lib/table/column/base-table-column.js.map +1 -0
  124. package/src/lib/table/column/boolean-table-column.d.ts +8 -0
  125. package/src/lib/table/column/boolean-table-column.js +10 -0
  126. package/src/lib/table/column/boolean-table-column.js.map +1 -0
  127. package/src/lib/table/column/custom-table-column.d.ts +11 -0
  128. package/src/lib/table/column/custom-table-column.js +11 -0
  129. package/src/lib/table/column/custom-table-column.js.map +1 -0
  130. package/src/lib/table/column/date-table-column.d.ts +11 -0
  131. package/src/lib/table/column/date-table-column.js +11 -0
  132. package/src/lib/table/column/date-table-column.js.map +1 -0
  133. package/src/lib/table/column/options-table-column.d.ts +11 -0
  134. package/src/lib/table/column/options-table-column.js +23 -0
  135. package/src/lib/table/column/options-table-column.js.map +1 -0
  136. package/src/lib/table/sortable.d.ts +16 -0
  137. package/src/lib/table/sortable.js +27 -0
  138. package/src/lib/table/sortable.js.map +1 -0
  139. package/src/lib/table/table-column-kind.d.ts +14 -0
  140. package/src/lib/table/table-column-kind.js +22 -0
  141. package/src/lib/table/table-column-kind.js.map +1 -0
  142. package/src/lib/table/table-column-modifier.d.ts +12 -0
  143. package/src/lib/table/table-column-modifier.js +20 -0
  144. package/src/lib/table/table-column-modifier.js.map +1 -0
  145. package/src/lib/table/table-column-pipe.d.ts +4 -0
  146. package/src/lib/table/table-column-pipe.js +3 -0
  147. package/src/lib/table/table-column-pipe.js.map +1 -0
  148. package/src/lib/table/table-column-sticky.d.ts +5 -0
  149. package/src/lib/table/table-column-sticky.js +13 -0
  150. package/src/lib/table/table-column-sticky.js.map +1 -0
  151. package/src/lib/table/table-column.d.ts +6 -0
  152. package/src/lib/table/table-column.js +39 -0
  153. package/src/lib/table/table-column.js.map +1 -0
  154. package/src/lib/table/table-filter-column-rule.js +5 -4
  155. package/src/lib/table/table-filter-column-rule.js.map +1 -1
  156. package/src/lib/table-action.js.map +1 -1
  157. package/src/lib/table-options.d.ts +4 -3
  158. package/src/lib/table-options.js +23 -3
  159. package/src/lib/table-options.js.map +1 -1
  160. package/src/lib/table-row-action.d.ts +4 -2
  161. package/src/lib/table-row-action.js +8 -7
  162. package/src/lib/table-row-action.js.map +1 -1
  163. package/src/lib/tree-table-options.d.ts +4 -3
  164. package/src/lib/tree-table-options.js +40 -3
  165. package/src/lib/tree-table-options.js.map +1 -1
  166. package/src/lib/use-pick-from-table-interface-as-form-type.d.ts +1 -1
  167. package/src/lib/value-option.d.ts +12 -0
  168. package/src/lib/value-option.js +66 -0
  169. package/src/lib/value-option.js.map +1 -0
  170. package/src/schema.json +3352 -0
  171. package/src/schematic-input.schema.json +579 -0
  172. package/src/schematics/abstract-control.schema.json +78 -0
  173. package/src/schematics/accordion/accordion-component/files/component/__componentName__.component.html.hbs +16 -7
  174. package/src/schematics/accordion/accordion-component/index.d.ts +6 -2
  175. package/src/schematics/accordion/accordion-component/index.js +72 -42
  176. package/src/schematics/accordion/accordion-component/index.js.map +1 -1
  177. package/src/schematics/accordion/accordion-component/schema.d.ts +6 -0
  178. package/src/schematics/accordion/accordion-component/schema.json +1953 -217
  179. package/src/schematics/accordion/accordion-component/template.schema.json +23 -20
  180. package/src/schematics/accordion/accordion-item-component/index.d.ts +7 -2
  181. package/src/schematics/accordion/accordion-item-component/index.js +79 -51
  182. package/src/schematics/accordion/accordion-item-component/index.js.map +1 -1
  183. package/src/schematics/accordion/accordion-item-component/schema.json +1893 -149
  184. package/src/schematics/accordion/accordion-item-component/template.schema.json +8 -9
  185. package/src/schematics/accordion/item/accordion-item-data-grid-component/index.d.ts +1 -1
  186. package/src/schematics/accordion/item/accordion-item-data-grid-component/index.js +20 -38
  187. package/src/schematics/accordion/item/accordion-item-data-grid-component/index.js.map +1 -1
  188. package/src/schematics/accordion/item/accordion-item-data-grid-component/schema.json +1107 -247
  189. package/src/schematics/accordion/item/accordion-item-data-grid-component/template.schema.json +6 -17
  190. package/src/schematics/accordion/item/accordion-item-switch-component/index.d.ts +1 -1
  191. package/src/schematics/accordion/item/accordion-item-switch-component/index.js +14 -6
  192. package/src/schematics/accordion/item/accordion-item-switch-component/index.js.map +1 -1
  193. package/src/schematics/accordion/item/accordion-item-switch-component/schema.json +1863 -188
  194. package/src/schematics/accordion/item/accordion-item-switch-component/template.schema.json +7 -71
  195. package/src/schematics/accordion/item/accordion-item-table-component/index.d.ts +1 -1
  196. package/src/schematics/accordion/item/accordion-item-table-component/index.js +5 -52
  197. package/src/schematics/accordion/item/accordion-item-table-component/index.js.map +1 -1
  198. package/src/schematics/accordion/item/accordion-item-table-component/schema.json +1412 -494
  199. package/src/schematics/accordion/item/accordion-item-table-component/template.schema.json +6 -32
  200. package/src/schematics/accordion/item/accordion-item-tree-table-component/index.d.ts +1 -1
  201. package/src/schematics/accordion/item/accordion-item-tree-table-component/index.js +21 -80
  202. package/src/schematics/accordion/item/accordion-item-tree-table-component/index.js.map +1 -1
  203. package/src/schematics/accordion/item/accordion-item-tree-table-component/schema.json +1403 -480
  204. package/src/schematics/accordion/item/accordion-item-tree-table-component/template.schema.json +7 -33
  205. package/src/schematics/accordion/templates/accordion-header.hbs +7 -3
  206. package/src/schematics/accordion/templates/switch-accordion-item.hbs +13 -5
  207. package/src/schematics/accordion-identifier.schema.json +24 -0
  208. package/src/schematics/accordion-item.schema.json +47 -30
  209. package/src/schematics/angular.schema.json +11 -3
  210. package/src/schematics/autocomplete-table-select-form-control.schema.json +97 -0
  211. package/src/schematics/backend.schema.json +2 -1
  212. package/src/schematics/base-accordion-item.schema.json +52 -0
  213. package/src/schematics/base-form-array.schema.json +45 -0
  214. package/src/schematics/base-form-control.schema.json +27 -0
  215. package/src/schematics/base-form-group.schema.json +42 -0
  216. package/src/schematics/base-table-column.schema.json +81 -0
  217. package/src/schematics/boolean-table-column.schema.json +24 -0
  218. package/src/schematics/button.schema.json +1 -1
  219. package/src/schematics/checkbox-form-control.schema.json +31 -0
  220. package/src/schematics/component-table-column.schema.json +24 -0
  221. package/src/schematics/component.schema.json +16 -0
  222. package/src/schematics/control.schema.json +26 -0
  223. package/src/schematics/copy-to-clipboard-table-column.schema.json +24 -0
  224. package/src/schematics/css-class.schema.json +34 -0
  225. package/src/schematics/custom-table-column.schema.json +27 -0
  226. package/src/schematics/data-grid-accordion-item.schema.json +35 -0
  227. package/src/schematics/data-grid-component/files/component/__componentName__.component.html.hbs +15 -8
  228. package/src/schematics/data-grid-component/index.d.ts +2 -3
  229. package/src/schematics/data-grid-component/index.js +87 -64
  230. package/src/schematics/data-grid-component/index.js.map +1 -1
  231. package/src/schematics/data-grid-component/schema.json +1045 -215
  232. package/src/schematics/data-grid-component/template.schema.json +6 -9
  233. package/src/schematics/data-grid-component/templates/default-data-grid-item.hbs +3 -0
  234. package/src/schematics/data-grid-component/templates/link-data-grid-item.hbs +8 -0
  235. package/src/schematics/data-grid-item.schema.json +39 -12
  236. package/src/schematics/data-grid.schema.json +26 -4
  237. package/src/schematics/date-table-column.schema.json +27 -0
  238. package/src/schematics/dialog-component/schema.json +73 -155
  239. package/src/schematics/dialog-component/template.schema.json +3 -6
  240. package/src/schematics/form/control/autocomplete-table-select-form-control/index.d.ts +10 -0
  241. package/src/schematics/form/control/autocomplete-table-select-form-control/index.js +286 -0
  242. package/src/schematics/form/control/autocomplete-table-select-form-control/index.js.map +1 -0
  243. package/src/schematics/form/control/autocomplete-table-select-form-control/schema.d.ts +4 -0
  244. package/src/schematics/form/control/autocomplete-table-select-form-control/schema.json +543 -0
  245. package/src/schematics/form/control/autocomplete-table-select-form-control/template.schema.json +39 -0
  246. package/src/schematics/form/control/input-form-control/index.d.ts +1 -1
  247. package/src/schematics/form/control/input-form-control/index.js +4 -4
  248. package/src/schematics/form/control/input-form-control/index.js.map +1 -1
  249. package/src/schematics/form/control/input-form-control/schema.d.ts +2 -2
  250. package/src/schematics/form/control/input-form-control/schema.json +273 -250
  251. package/src/schematics/form/control/input-form-control/template.schema.json +19 -9
  252. package/src/schematics/form/control/select-form-control/index.d.ts +2 -2
  253. package/src/schematics/form/control/select-form-control/index.js +23 -16
  254. package/src/schematics/form/control/select-form-control/index.js.map +1 -1
  255. package/src/schematics/form/control/select-form-control/schema.d.ts +2 -3
  256. package/src/schematics/form/control/select-form-control/schema.json +389 -259
  257. package/src/schematics/form/control/select-form-control/template.schema.json +19 -9
  258. package/src/schematics/form/control/table-select-form-control/index.d.ts +3 -3
  259. package/src/schematics/form/control/table-select-form-control/index.js +210 -155
  260. package/src/schematics/form/control/table-select-form-control/index.js.map +1 -1
  261. package/src/schematics/form/control/table-select-form-control/schema.d.ts +2 -3
  262. package/src/schematics/form/control/table-select-form-control/schema.json +405 -285
  263. package/src/schematics/form/control/table-select-form-control/template.schema.json +16 -55
  264. package/src/schematics/form/form-array/index.d.ts +9 -0
  265. package/src/schematics/form/form-array/index.js +54 -0
  266. package/src/schematics/form/form-array/index.js.map +1 -0
  267. package/src/schematics/form/form-array/schema.d.ts +4 -0
  268. package/src/schematics/form/form-array/schema.json +1060 -0
  269. package/src/schematics/form/form-array/template.schema.json +33 -0
  270. package/src/schematics/form/form-component/files/component/__componentName__.component.html.hbs +4 -1
  271. package/src/schematics/form/form-component/index.d.ts +4 -4
  272. package/src/schematics/form/form-component/index.js +19 -22
  273. package/src/schematics/form/form-component/index.js.map +1 -1
  274. package/src/schematics/form/form-component/schema.d.ts +4 -2
  275. package/src/schematics/form/form-component/schema.json +944 -199
  276. package/src/schematics/form/form-component/template.schema.json +6 -9
  277. package/src/schematics/form/form-control/index.d.ts +3 -5
  278. package/src/schematics/form/form-control/index.js +10 -20
  279. package/src/schematics/form/form-control/index.js.map +1 -1
  280. package/src/schematics/form/form-control/schema.d.ts +2 -4
  281. package/src/schematics/form/form-control/schema.json +757 -176
  282. package/src/schematics/form/form-control/template.schema.json +7 -11
  283. package/src/schematics/form/form-definition/index.d.ts +2 -2
  284. package/src/schematics/form/form-definition/index.js +28 -15
  285. package/src/schematics/form/form-definition/index.js.map +1 -1
  286. package/src/schematics/form/form-definition/schema.d.ts +2 -2
  287. package/src/schematics/form/form-definition/schema.json +939 -200
  288. package/src/schematics/form/form-definition/template.schema.json +6 -9
  289. package/src/schematics/form/form-group/index.d.ts +9 -0
  290. package/src/schematics/form/form-group/index.js +54 -0
  291. package/src/schematics/form/form-group/index.js.map +1 -0
  292. package/src/schematics/form/form-group/schema.d.ts +4 -0
  293. package/src/schematics/form/form-group/schema.json +1060 -0
  294. package/src/schematics/form/form-group/template.schema.json +33 -0
  295. package/src/schematics/form/templates/autocomplete-table-select-form-control.hbs +34 -0
  296. package/src/schematics/form/templates/checkbox-form-control.hbs +4 -2
  297. package/src/schematics/form/templates/default-form-array.hbs +29 -0
  298. package/src/schematics/form/templates/default-form-group.hbs +15 -0
  299. package/src/schematics/form/templates/input-form-control.hbs +14 -7
  300. package/src/schematics/form/templates/mat-form-field.hbs +6 -6
  301. package/src/schematics/form/templates/select-form-control.hbs +18 -0
  302. package/src/schematics/form/templates/slide-toggle-form-control.hbs +3 -1
  303. package/src/schematics/form/templates/table-select-form-control.hbs +23 -16
  304. package/src/schematics/form/templates/textarea-form-control.hbs +25 -0
  305. package/src/schematics/form-array.schema.json +42 -0
  306. package/src/schematics/form-component.schema.json +9 -3
  307. package/src/schematics/form-control.schema.json +70 -54
  308. package/src/schematics/form-definition.schema.json +3 -3
  309. package/src/schematics/form-field.schema.json +6 -0
  310. package/src/schematics/form-group.schema.json +42 -0
  311. package/src/schematics/general.schema.json +1 -4
  312. package/src/schematics/icon-table-column.schema.json +24 -0
  313. package/src/schematics/input-form-control.schema.json +19 -6
  314. package/src/schematics/link-table-column.schema.json +24 -0
  315. package/src/schematics/minimum-table.schema.json +59 -5
  316. package/src/schematics/option.schema.json +27 -0
  317. package/src/schematics/options-table-column.schema.json +33 -0
  318. package/src/schematics/pipe.schema.json +38 -0
  319. package/src/schematics/property.schema.json +14 -4
  320. package/src/schematics/route-component/files/component/__componentName__.component.html.hbs +1 -0
  321. package/src/schematics/route-component/index.d.ts +8 -0
  322. package/src/schematics/route-component/index.js +109 -0
  323. package/src/schematics/route-component/index.js.map +1 -0
  324. package/src/schematics/route-component/schema.d.ts +5 -0
  325. package/src/schematics/route-component/schema.json +155 -0
  326. package/src/schematics/route-component/template.schema.json +20 -0
  327. package/src/schematics/route-component.schema.json +35 -0
  328. package/src/schematics/select-form-control.schema.json +32 -29
  329. package/src/schematics/slide-toggle-form-control.schema.json +31 -0
  330. package/src/schematics/spinner-table-column.schema.json +24 -0
  331. package/src/schematics/switch-accordion-item.schema.json +83 -0
  332. package/src/schematics/table/action/dialog-table-action/index.js +1 -0
  333. package/src/schematics/table/action/dialog-table-action/index.js.map +1 -1
  334. package/src/schematics/table/action/dialog-table-action/schema.json +173 -218
  335. package/src/schematics/table/action/dialog-table-action/template.schema.json +3 -6
  336. package/src/schematics/table/action/form-table-action/index.d.ts +2 -2
  337. package/src/schematics/table/action/form-table-action/index.js +6 -5
  338. package/src/schematics/table/action/form-table-action/index.js.map +1 -1
  339. package/src/schematics/table/action/form-table-action/schema.d.ts +2 -2
  340. package/src/schematics/table/action/form-table-action/schema.json +1098 -290
  341. package/src/schematics/table/action/form-table-action/template.schema.json +6 -6
  342. package/src/schematics/table/action/navigation-table-action/schema.json +172 -217
  343. package/src/schematics/table/action/navigation-table-action/template.schema.json +3 -6
  344. package/src/schematics/table/action/open-api-table-action/schema.json +173 -218
  345. package/src/schematics/table/action/open-api-table-action/template.schema.json +3 -6
  346. package/src/schematics/table/action/operation-table-action/index.js +2 -1
  347. package/src/schematics/table/action/operation-table-action/index.js.map +1 -1
  348. package/src/schematics/table/action/operation-table-action/schema.json +163 -208
  349. package/src/schematics/table/action/operation-table-action/template.schema.json +3 -6
  350. package/src/schematics/table/header-button/form-table-header-button/index.d.ts +2 -2
  351. package/src/schematics/table/header-button/form-table-header-button/index.js +2 -2
  352. package/src/schematics/table/header-button/form-table-header-button/index.js.map +1 -1
  353. package/src/schematics/table/header-button/form-table-header-button/schema.d.ts +2 -2
  354. package/src/schematics/table/header-button/form-table-header-button/schema.json +1045 -213
  355. package/src/schematics/table/header-button/form-table-header-button/template.schema.json +6 -24
  356. package/src/schematics/table/header-button/navigation-table-header-button/schema.json +131 -207
  357. package/src/schematics/table/header-button/navigation-table-header-button/template.schema.json +3 -6
  358. package/src/schematics/table/table-action/schema.json +102 -150
  359. package/src/schematics/table/table-action/template.schema.json +6 -6
  360. package/src/schematics/table/table-component/files/component/__componentName__.component.html.hbs +87 -33
  361. package/src/schematics/table/table-component/index.d.ts +0 -5
  362. package/src/schematics/table/table-component/index.js +21 -33
  363. package/src/schematics/table/table-component/index.js.map +1 -1
  364. package/src/schematics/table/table-component/schema.json +1314 -421
  365. package/src/schematics/table/table-component/template.schema.json +6 -12
  366. package/src/schematics/table/table-header-button/schema.json +69 -148
  367. package/src/schematics/table/table-header-button/template.schema.json +6 -6
  368. package/src/schematics/table/templates/boolean-table-column.hbs +18 -5
  369. package/src/schematics/table/templates/component-table-column.hbs +19 -6
  370. package/src/schematics/table/templates/copy-to-clipboard-table-column.hbs +18 -5
  371. package/src/schematics/table/templates/custom-table-column.hbs +23 -0
  372. package/src/schematics/table/templates/date-table-column.hbs +18 -5
  373. package/src/schematics/table/templates/default-table-column.hbs +20 -5
  374. package/src/schematics/table/templates/icon-table-column.hbs +18 -5
  375. package/src/schematics/table/templates/link-table-column.hbs +18 -5
  376. package/src/schematics/table/templates/mat-column-def.hbs +3 -0
  377. package/src/schematics/table/templates/options-table-column.hbs +26 -0
  378. package/src/schematics/table/templates/spinner-table-column.hbs +27 -0
  379. package/src/schematics/table/templates/tree-table-column.hbs +21 -0
  380. package/src/schematics/table/tree-table-component/files/component/__componentName__.component.html.hbs +96 -50
  381. package/src/schematics/table/tree-table-component/index.d.ts +3 -0
  382. package/src/schematics/table/tree-table-component/index.js +30 -9
  383. package/src/schematics/table/tree-table-component/index.js.map +1 -1
  384. package/src/schematics/table/tree-table-component/schema.json +1306 -408
  385. package/src/schematics/table/tree-table-component/template.schema.json +6 -12
  386. package/src/schematics/table-accordion-item.schema.json +42 -0
  387. package/src/schematics/table-action.schema.json +7 -3
  388. package/src/schematics/table-column.schema.json +67 -47
  389. package/src/schematics/table-select-form-control.schema.json +103 -0
  390. package/src/schematics/table.schema.json +6 -2
  391. package/src/schematics/templates/css-class.hbs +1 -0
  392. package/src/schematics/templates/pipe.hbs +4 -0
  393. package/src/schematics/textarea-form-control.schema.json +44 -0
  394. package/src/schematics/tree-component/index.js +2 -1
  395. package/src/schematics/tree-component/index.js.map +1 -1
  396. package/src/schematics/tree-component/schema.json +71 -62
  397. package/src/schematics/tree-component/template.schema.json +7 -2
  398. package/src/schematics/tree-table-accordion-item.schema.json +42 -0
  399. package/src/schematics/tree-table-column.schema.json +24 -0
  400. package/src/schematics/tree-table.schema.json +5 -4
  401. package/src/schematics/upstream.schema.json +62 -23
  402. package/src/schematics/value.schema.json +26 -0
  403. package/src/template.schema.json +281 -0
  404. package/src/lib/form-component-control.d.ts +0 -8
  405. package/src/lib/form-component-control.js +0 -15
  406. package/src/lib/form-component-control.js.map +0 -1
  407. package/src/lib/form-control.d.ts +0 -125
  408. package/src/lib/form-control.js +0 -303
  409. package/src/lib/form-control.js.map +0 -1
  410. package/src/lib/form-definition-control.d.ts +0 -5
  411. package/src/lib/form-definition-control.js +0 -30
  412. package/src/lib/form-definition-control.js.map +0 -1
  413. package/src/lib/merge-with-column-list.d.ts +0 -3
  414. package/src/lib/merge-with-column-list.js +0 -18
  415. package/src/lib/merge-with-column-list.js.map +0 -1
  416. package/src/lib/table-column.d.ts +0 -62
  417. package/src/lib/table-column.js +0 -313
  418. package/src/lib/table-column.js.map +0 -1
@@ -3,160 +3,960 @@
3
3
  "$id": "form-table-action-schematic",
4
4
  "allOf": [
5
5
  {
6
+ "$ref": "#/definitions/tableActionSchematic"
7
+ },
8
+ {
9
+ "type": "object",
10
+ "properties": {
11
+ "formInitial": {
12
+ "type": "object",
13
+ "description": "The mapping from the row object to the form initial object"
14
+ },
15
+ "formComponent": {
16
+ "type": "string"
17
+ },
18
+ "customComponent": {
19
+ "type": "boolean",
20
+ "default": false,
21
+ "description": "If true the schematic will not coerce the form component"
22
+ },
23
+ "loadFrom": {
24
+ "type": "object",
25
+ "properties": {
26
+ "operationId": {
27
+ "type": "string"
28
+ },
29
+ "scope": {
30
+ "type": "string",
31
+ "description": "The scope of package for the openapi classes"
32
+ },
33
+ "body": {
34
+ "oneOf": [
35
+ {
36
+ "type": "boolean",
37
+ "description": "Pass the full row as body for the operation request"
38
+ },
39
+ {
40
+ "type": "object",
41
+ "description": "Mapping of table columns to body properties - [request property]: [table column]",
42
+ "additionalProperties": true
43
+ }
44
+ ]
45
+ },
46
+ "parameters": {
47
+ "oneOf": [
48
+ {
49
+ "type": "boolean",
50
+ "description": "Pass the full row as parameters for the operation request"
51
+ },
52
+ {
53
+ "type": "object",
54
+ "description": "Mapping of table columns to parameters properties - [request property]: [table column]",
55
+ "additionalProperties": true
56
+ }
57
+ ]
58
+ }
59
+ }
60
+ },
61
+ "formOptions": {
62
+ "$ref": "#/definitions/formComponent"
63
+ }
64
+ }
65
+ }
66
+ ],
67
+ "definitions": {
68
+ "abstractControl": {
6
69
  "allOf": [
7
70
  {
8
- "allOf": [
9
- {
71
+ "$ref": "#/definitions/property"
72
+ },
73
+ {
74
+ "type": "object",
75
+ "properties": {
76
+ "name": {
77
+ "type": "string",
78
+ "description": "The name of the control"
79
+ },
80
+ "isArray": {
81
+ "type": "boolean",
82
+ "description": "Whether the control value is an array",
83
+ "default": false
84
+ },
85
+ "state": {
86
+ "type": "string",
87
+ "description": "The initial state of the control"
88
+ },
89
+ "isRequired": {
90
+ "type": "boolean",
91
+ "description": "Whether the control value is required",
92
+ "default": false
93
+ },
94
+ "isReadonly": {
95
+ "type": "boolean",
96
+ "description": "Whether the control value is readonly",
97
+ "default": false
98
+ },
99
+ "isDisabled": {
100
+ "type": "boolean",
101
+ "description": "Whether the control value is disabled",
102
+ "default": false
103
+ },
104
+ "validatorList": {
105
+ "type": "array",
106
+ "items": {
107
+ "type": "string"
108
+ }
109
+ },
110
+ "kind": {
111
+ "type": "string",
112
+ "description": "The kind of the control",
113
+ "default": "default"
114
+ },
115
+ "importList": {
116
+ "type": "array",
117
+ "items": {
118
+ "$ref": "#/definitions/type"
119
+ }
120
+ },
121
+ "template": {
122
+ "type": "string",
123
+ "description": "The template of the control"
124
+ },
125
+ "role": {
126
+ "type": "string",
127
+ "description": "The role of the control",
128
+ "enum": [
129
+ "control",
130
+ "group",
131
+ "array"
132
+ ],
133
+ "default": "control"
134
+ }
135
+ },
136
+ "additionalProperties": true
137
+ }
138
+ ]
139
+ },
140
+ "accordionIdentifier": {
141
+ "type": "object",
142
+ "properties": {
143
+ "property": {
144
+ "$ref": "#/definitions/property"
145
+ },
146
+ "source": {
147
+ "type": "string",
148
+ "enum": [
149
+ "route"
150
+ ]
151
+ }
152
+ },
153
+ "required": [
154
+ "property"
155
+ ]
156
+ },
157
+ "angular": {
158
+ "allOf": [
159
+ {
160
+ "$ref": "#/definitions/general"
161
+ },
162
+ {
163
+ "type": "object",
164
+ "properties": {
165
+ "componentName": {
166
+ "type": "string"
167
+ },
168
+ "name": {
169
+ "type": "string"
170
+ },
171
+ "context": {
172
+ "type": "string",
173
+ "description": "The context use to generate proper names for class, files, etc"
174
+ },
175
+ "nestModule": {
176
+ "type": "string",
177
+ "description": "The module name for the table nest operations"
178
+ },
179
+ "controllerName": {
180
+ "type": "string"
181
+ },
182
+ "backend": {
183
+ "$ref": "#/definitions/backend"
184
+ },
185
+ "directory": {
186
+ "type": "string",
187
+ "description": "A directory name or absolute path where the files should be generated. Relative to the project and feature base path if a feature is defined"
188
+ },
189
+ "shared": {
190
+ "type": "boolean",
191
+ "description": "Whether the generated code is used across the project",
192
+ "default": false
193
+ },
194
+ "scope": {
195
+ "type": "string"
196
+ },
197
+ "prefix": {
198
+ "type": "string"
199
+ },
200
+ "openApi": {
201
+ "type": "object",
202
+ "additionalProperties": true
203
+ }
204
+ }
205
+ }
206
+ ]
207
+ },
208
+ "autocompleteTableSelectFormControl": {
209
+ "allOf": [
210
+ {
211
+ "$ref": "#/definitions/baseFormControl"
212
+ },
213
+ {
214
+ "type": "object",
215
+ "properties": {
216
+ "formField": {
217
+ "$ref": "#/definitions/formField"
218
+ },
219
+ "kind": {
220
+ "type": "string",
221
+ "const": "autocomplete-table-select"
222
+ },
223
+ "placeholder": {
224
+ "type": "string"
225
+ },
226
+ "columnList": {
227
+ "alias": "column",
228
+ "type": "array",
229
+ "items": {
230
+ "description": "table column name",
231
+ "type": "object",
232
+ "properties": {
233
+ "name": {
234
+ "type": "string",
235
+ "description": "table column name"
236
+ },
237
+ "title": {
238
+ "type": "string",
239
+ "description": "table column label"
240
+ },
241
+ "hasFilter": {
242
+ "type": "boolean",
243
+ "description": "Whether the column has a filter"
244
+ },
245
+ "kind": {
246
+ "type": "string",
247
+ "description": "The kind of data in the column"
248
+ }
249
+ }
250
+ },
251
+ "description": "List of table column names"
252
+ },
253
+ "title": {
254
+ "type": "string",
255
+ "description": "The title of the table select window"
256
+ },
257
+ "toDisplay": {
10
258
  "type": "object",
11
259
  "properties": {
12
- "project": {
13
- "type": "string",
14
- "description": "Project name where the files should be generated"
15
- },
16
- "feature": {
17
- "type": "string",
18
- "description": "Feature name where the files should be generated"
260
+ "property": {
261
+ "$ref": "#/definitions/property"
262
+ }
263
+ }
264
+ },
265
+ "toValue": {
266
+ "type": "object",
267
+ "properties": {
268
+ "property": {
269
+ "$ref": "#/definitions/property"
270
+ }
271
+ }
272
+ },
273
+ "upstream": {
274
+ "$ref": "#/definitions/upstream"
275
+ },
276
+ "resolver": {
277
+ "type": "object",
278
+ "properties": {
279
+ "upstream": {
280
+ "$ref": "#/definitions/upstream"
281
+ }
282
+ }
283
+ }
284
+ },
285
+ "required": [
286
+ "kind"
287
+ ]
288
+ }
289
+ ]
290
+ },
291
+ "backend": {
292
+ "type": "string",
293
+ "description": "The backend that should be used to handel data",
294
+ "enum": [
295
+ "none",
296
+ "nestjs",
297
+ "open-api",
298
+ "local",
299
+ "data-source"
300
+ ],
301
+ "default": "none"
302
+ },
303
+ "baseFormArray": {
304
+ "allOf": [
305
+ {
306
+ "$ref": "#/definitions/abstractControl"
307
+ },
308
+ {
309
+ "type": "object",
310
+ "properties": {
311
+ "controlList": {
312
+ "type": "array",
313
+ "description": "The list of controls in the group",
314
+ "items": {
315
+ "$ref": "#/definitions/control"
316
+ }
317
+ },
318
+ "legend": {
319
+ "type": "string"
320
+ },
321
+ "groupLegend": {
322
+ "type": "string"
323
+ },
324
+ "kind": {
325
+ "type": "string",
326
+ "description": "The kind of the array",
327
+ "const": "default",
328
+ "default": "default"
329
+ },
330
+ "role": {
331
+ "type": "string",
332
+ "const": "array"
333
+ }
334
+ }
335
+ }
336
+ ]
337
+ },
338
+ "baseFormControl": {
339
+ "allOf": [
340
+ {
341
+ "$ref": "#/definitions/abstractControl"
342
+ },
343
+ {
344
+ "type": "object",
345
+ "properties": {
346
+ "label": {
347
+ "type": "string",
348
+ "description": "The label of the control"
349
+ },
350
+ "role": {
351
+ "type": "string",
352
+ "const": "control"
353
+ }
354
+ }
355
+ }
356
+ ]
357
+ },
358
+ "baseFormGroup": {
359
+ "allOf": [
360
+ {
361
+ "$ref": "#/definitions/abstractControl"
362
+ },
363
+ {
364
+ "type": "object",
365
+ "properties": {
366
+ "controlList": {
367
+ "type": "array",
368
+ "description": "The list of controls in the group",
369
+ "items": {
370
+ "$ref": "#/definitions/control"
371
+ }
372
+ },
373
+ "legend": {
374
+ "type": "string"
375
+ },
376
+ "kind": {
377
+ "type": "string",
378
+ "description": "The kind of the group",
379
+ "const": "default",
380
+ "default": "default"
381
+ },
382
+ "role": {
383
+ "type": "string",
384
+ "const": "group"
385
+ }
386
+ }
387
+ }
388
+ ]
389
+ },
390
+ "button": {
391
+ "type": "object",
392
+ "properties": {
393
+ "svgIcon": {
394
+ "type": "string"
395
+ },
396
+ "icon": {
397
+ "type": "string"
398
+ },
399
+ "directiveList": {
400
+ "type": "array",
401
+ "items": {
402
+ "$ref": "#/definitions/type"
403
+ }
404
+ },
405
+ "importList": {
406
+ "type": "array",
407
+ "items": {
408
+ "$ref": "#/definitions/type"
409
+ }
410
+ }
411
+ }
412
+ },
413
+ "checkboxFormControl": {
414
+ "allOf": [
415
+ {
416
+ "$ref": "#/definitions/baseFormControl"
417
+ },
418
+ {
419
+ "type": "object",
420
+ "properties": {
421
+ "kind": {
422
+ "type": "string",
423
+ "const": "checkbox"
424
+ },
425
+ "labelPosition": {
426
+ "type": "string",
427
+ "enum": [
428
+ "before",
429
+ "after"
430
+ ]
431
+ }
432
+ },
433
+ "required": [
434
+ "kind"
435
+ ]
436
+ }
437
+ ]
438
+ },
439
+ "control": {
440
+ "oneOf": [
441
+ {
442
+ "$ref": "#/definitions/formGroup"
443
+ },
444
+ {
445
+ "$ref": "#/definitions/formArray"
446
+ },
447
+ {
448
+ "$ref": "#/definitions/formControl"
449
+ }
450
+ ]
451
+ },
452
+ "cssClass": {
453
+ "oneOf": [
454
+ {
455
+ "type": "string"
456
+ },
457
+ {
458
+ "type": "array",
459
+ "items": {
460
+ "type": "string"
461
+ }
462
+ },
463
+ {
464
+ "type": "object",
465
+ "properties": {
466
+ "name": {
467
+ "type": "string"
468
+ }
469
+ }
470
+ },
471
+ {
472
+ "type": "array",
473
+ "items": {
474
+ "type": "object",
475
+ "properties": {
476
+ "name": {
477
+ "type": "string"
478
+ }
479
+ }
480
+ }
481
+ }
482
+ ]
483
+ },
484
+ "formArray": {
485
+ "allOf": [
486
+ {
487
+ "type": "object",
488
+ "properties": {
489
+ "role": {
490
+ "type": "string",
491
+ "const": "array"
492
+ }
493
+ },
494
+ "required": [
495
+ "role"
496
+ ]
497
+ },
498
+ {
499
+ "oneOf": [
500
+ {
501
+ "allOf": [
502
+ {
503
+ "$ref": "#/definitions/baseFormArray"
19
504
  },
20
- "overwrite": {
21
- "anyOf": [
22
- {
23
- "type": "boolean"
24
- },
25
- {
26
- "type": "array",
27
- "items": {
28
- "type": "string"
29
- }
505
+ {
506
+ "type": "object",
507
+ "properties": {
508
+ "kind": {
509
+ "type": "string",
510
+ "const": "default",
511
+ "default": "default"
30
512
  }
31
- ],
32
- "description": "Overwrite existing files",
33
- "default": false
34
- },
35
- "overwriteHtml": {
36
- "type": "boolean",
37
- "default": false
38
- },
39
- "replace": {
40
- "type": "boolean",
41
- "default": false
513
+ }
42
514
  }
43
- },
44
- "required": [
45
- "project"
46
515
  ]
516
+ }
517
+ ]
518
+ }
519
+ ]
520
+ },
521
+ "formComponent": {
522
+ "allOf": [
523
+ {
524
+ "$ref": "#/definitions/formDefinition"
525
+ },
526
+ {
527
+ "type": "object",
528
+ "properties": {
529
+ "window": {
530
+ "type": "boolean",
531
+ "description": "Whether the form can be opened in a window"
47
532
  },
533
+ "role": {
534
+ "type": "string",
535
+ "description": "Define the role of the form"
536
+ },
537
+ "matFormFieldDefaultOptions": {
538
+ "appearance": {
539
+ "type": "string",
540
+ "description": "The appearance of the mat form field",
541
+ "enum": [
542
+ "legacy",
543
+ "standard",
544
+ "fill",
545
+ "outline"
546
+ ]
547
+ }
548
+ },
549
+ "identifier": {
550
+ "$ref": "#/definitions/accordionIdentifier"
551
+ }
552
+ }
553
+ }
554
+ ]
555
+ },
556
+ "formControl": {
557
+ "allOf": [
558
+ {
559
+ "type": "object",
560
+ "properties": {
561
+ "role": {
562
+ "type": "string",
563
+ "const": "control",
564
+ "default": "control"
565
+ }
566
+ }
567
+ },
568
+ {
569
+ "oneOf": [
48
570
  {
49
- "type": "object",
50
- "properties": {
51
- "componentName": {
52
- "type": "string"
53
- },
54
- "name": {
55
- "type": "string"
56
- },
57
- "context": {
58
- "type": "string",
59
- "description": "The context use to generate proper names for class, files, etc"
60
- },
61
- "nestModule": {
62
- "type": "string",
63
- "description": "The module name for the table nest operations"
64
- },
65
- "controllerName": {
66
- "type": "string"
67
- },
68
- "backend": {
69
- "type": "string",
70
- "description": "The backend that should be used to handel data",
71
- "enum": [
72
- "none",
73
- "nestjs",
74
- "open-api",
75
- "local"
76
- ],
77
- "default": "none"
78
- },
79
- "directory": {
80
- "type": "string",
81
- "description": "A directory name or absolute path where the files should be generated. Relative to the project and feature base path if a feature is defined"
82
- },
83
- "shared": {
84
- "type": "boolean",
85
- "description": "Whether the generated code is used across the project",
86
- "default": false
87
- },
88
- "scope": {
89
- "type": "string"
571
+ "allOf": [
572
+ {
573
+ "$ref": "#/definitions/baseFormControl"
90
574
  },
91
- "prefix": {
92
- "type": "string"
575
+ {
576
+ "type": "object",
577
+ "properties": {
578
+ "kind": {
579
+ "type": "string",
580
+ "const": "default",
581
+ "default": "default"
582
+ }
583
+ }
584
+ }
585
+ ]
586
+ },
587
+ {
588
+ "$ref": "#/definitions/inputFormControl"
589
+ },
590
+ {
591
+ "$ref": "#/definitions/selectFormControl"
592
+ },
593
+ {
594
+ "$ref": "#/definitions/checkboxFormControl"
595
+ },
596
+ {
597
+ "$ref": "#/definitions/textareaFormControl"
598
+ },
599
+ {
600
+ "$ref": "#/definitions/tableSelectFormControl"
601
+ },
602
+ {
603
+ "$ref": "#/definitions/slideToggleFormControl"
604
+ },
605
+ {
606
+ "$ref": "#/definitions/autocompleteTableSelectFormControl"
607
+ }
608
+ ]
609
+ }
610
+ ]
611
+ },
612
+ "formDefinition": {
613
+ "type": "object",
614
+ "properties": {
615
+ "controlList": {
616
+ "alias": "control",
617
+ "type": "array",
618
+ "items": {
619
+ "$ref": "#/definitions/control"
620
+ }
621
+ }
622
+ },
623
+ "required": [
624
+ "controlList"
625
+ ]
626
+ },
627
+ "formField": {
628
+ "type": "object",
629
+ "properties": {
630
+ "label": {
631
+ "type": "string"
632
+ },
633
+ "prefixButton": {
634
+ "$ref": "#/definitions/button"
635
+ },
636
+ "suffixButton": {
637
+ "$ref": "#/definitions/button"
638
+ },
639
+ "hasClearButton": {
640
+ "type": "boolean"
641
+ },
642
+ "cssClass": {
643
+ "$ref": "#/definitions/cssClass"
644
+ }
645
+ }
646
+ },
647
+ "formGroup": {
648
+ "allOf": [
649
+ {
650
+ "type": "object",
651
+ "properties": {
652
+ "role": {
653
+ "type": "string",
654
+ "const": "group"
655
+ }
656
+ },
657
+ "required": [
658
+ "role"
659
+ ]
660
+ },
661
+ {
662
+ "oneOf": [
663
+ {
664
+ "allOf": [
665
+ {
666
+ "$ref": "#/definitions/baseFormGroup"
93
667
  },
94
- "openApi": {
668
+ {
95
669
  "type": "object",
96
- "additionalProperties": true
670
+ "properties": {
671
+ "kind": {
672
+ "type": "string",
673
+ "const": "default",
674
+ "default": "default"
675
+ }
676
+ }
97
677
  }
678
+ ]
679
+ }
680
+ ]
681
+ }
682
+ ]
683
+ },
684
+ "general": {
685
+ "type": "object",
686
+ "properties": {
687
+ "project": {
688
+ "type": "string",
689
+ "description": "Project name where the files should be generated"
690
+ },
691
+ "feature": {
692
+ "type": "string",
693
+ "description": "Feature name where the files should be generated"
694
+ },
695
+ "overwrite": {
696
+ "anyOf": [
697
+ {
698
+ "type": "boolean"
699
+ },
700
+ {
701
+ "type": "array",
702
+ "items": {
703
+ "type": "string"
98
704
  }
99
705
  }
706
+ ],
707
+ "description": "Overwrite existing files",
708
+ "default": false
709
+ },
710
+ "overwriteHtml": {
711
+ "type": "boolean",
712
+ "default": false
713
+ },
714
+ "replace": {
715
+ "type": "boolean",
716
+ "default": false
717
+ }
718
+ }
719
+ },
720
+ "inputFormControl": {
721
+ "allOf": [
722
+ {
723
+ "$ref": "#/definitions/baseFormControl"
724
+ },
725
+ {
726
+ "type": "object",
727
+ "properties": {
728
+ "kind": {
729
+ "type": "string",
730
+ "const": "input"
731
+ },
732
+ "formField": {
733
+ "$ref": "#/definitions/formField"
734
+ },
735
+ "inputType": {
736
+ "type": "string",
737
+ "enum": [
738
+ "text",
739
+ "password",
740
+ "email",
741
+ "number",
742
+ "tel",
743
+ "url",
744
+ "checkbox",
745
+ "color",
746
+ "date",
747
+ "time",
748
+ "datetime-local",
749
+ "file",
750
+ "hidden",
751
+ "image",
752
+ "month",
753
+ "radio",
754
+ "reset",
755
+ "button",
756
+ "search",
757
+ "submit",
758
+ "week",
759
+ "range"
760
+ ]
761
+ },
762
+ "placeholder": {
763
+ "type": "string"
764
+ }
765
+ },
766
+ "required": [
767
+ "kind"
768
+ ]
769
+ }
770
+ ]
771
+ },
772
+ "option": {
773
+ "type": "object",
774
+ "properties": {
775
+ "display": {
776
+ "type": "string"
777
+ },
778
+ "value": {
779
+ "oneOf": [
780
+ {
781
+ "type": "string"
782
+ },
783
+ {
784
+ "type": "number"
785
+ },
786
+ {
787
+ "type": "boolean"
788
+ },
789
+ {
790
+ "type": "object",
791
+ "additionalProperties": true
792
+ }
100
793
  ]
794
+ }
795
+ }
796
+ },
797
+ "property": {
798
+ "oneOf": [
799
+ {
800
+ "type": "string"
101
801
  },
102
802
  {
103
803
  "type": "object",
104
804
  "properties": {
105
- "type": {
805
+ "name": {
106
806
  "type": "string"
107
807
  },
108
- "refresh": {
109
- "type": "boolean"
808
+ "type": {
809
+ "$ref": "#/definitions/type"
110
810
  },
111
- "confirm": {
811
+ "isArray": {
112
812
  "type": "boolean"
113
813
  },
114
- "tooltip": {
115
- "type": "string"
116
- },
117
- "errorMessage": {
118
- "type": "string"
119
- },
120
- "successMessage": {
121
- "type": "string"
122
- },
123
- "priority": {
124
- "type": "number"
814
+ "isRequired": {
815
+ "type": "boolean"
125
816
  },
126
- "checkFunction": {
817
+ "source": {
127
818
  "type": "string"
128
819
  },
129
- "inHeader": {
130
- "type": "boolean"
820
+ "memberList": {
821
+ "type": "array",
822
+ "items": {
823
+ "additionalProperties": true
824
+ }
825
+ }
826
+ }
827
+ }
828
+ ]
829
+ },
830
+ "selectFormControl": {
831
+ "allOf": [
832
+ {
833
+ "$ref": "#/definitions/baseFormControl"
834
+ },
835
+ {
836
+ "type": "object",
837
+ "properties": {
838
+ "formField": {
839
+ "$ref": "#/definitions/formField"
131
840
  },
132
- "role": {
133
- "type": "string"
841
+ "kind": {
842
+ "type": "string",
843
+ "const": "select"
134
844
  },
135
- "icon": {
136
- "type": "string"
845
+ "upstream": {
846
+ "$ref": "#/definitions/upstream"
137
847
  },
138
- "svgIcon": {
139
- "type": "string"
848
+ "optionList": {
849
+ "type": "array",
850
+ "items": {
851
+ "$ref": "#/definitions/option"
852
+ }
140
853
  },
141
- "permission": {
142
- "type": "string"
854
+ "backend": {
855
+ "$ref": "#/definitions/backend"
143
856
  },
144
- "color": {
857
+ "multiple": {
858
+ "alias": "multi",
859
+ "type": "boolean",
860
+ "description": "Whether the select form control is multiple mode"
861
+ }
862
+ },
863
+ "required": [
864
+ "kind"
865
+ ]
866
+ }
867
+ ]
868
+ },
869
+ "slideToggleFormControl": {
870
+ "allOf": [
871
+ {
872
+ "$ref": "#/definitions/baseFormControl"
873
+ },
874
+ {
875
+ "type": "object",
876
+ "properties": {
877
+ "kind": {
145
878
  "type": "string",
146
- "description": "Value for the color input of the mat-button / mat-icon component"
879
+ "const": "slide-toggle"
147
880
  },
148
- "cssClass": {
881
+ "labelPosition": {
149
882
  "type": "string",
150
- "description": "Additional CSS classes added to the button element"
151
- },
152
- "options": {
153
- "type": "object",
154
- "additionalProperties": true
883
+ "enum": [
884
+ "before",
885
+ "after"
886
+ ]
155
887
  }
156
888
  },
157
889
  "required": [
158
- "type"
890
+ "kind"
159
891
  ]
892
+ }
893
+ ]
894
+ },
895
+ "tableAction": {
896
+ "type": "object",
897
+ "properties": {
898
+ "type": {
899
+ "type": "string"
900
+ },
901
+ "refresh": {
902
+ "type": "boolean"
903
+ },
904
+ "confirm": {
905
+ "type": "boolean"
906
+ },
907
+ "tooltip": {
908
+ "type": "string"
909
+ },
910
+ "errorMessage": {
911
+ "type": "string"
912
+ },
913
+ "successMessage": {
914
+ "type": "string"
915
+ },
916
+ "priority": {
917
+ "type": "number"
918
+ },
919
+ "checkFunction": {
920
+ "type": "string"
921
+ },
922
+ "inHeader": {
923
+ "type": "boolean"
924
+ },
925
+ "role": {
926
+ "type": "string"
927
+ },
928
+ "icon": {
929
+ "type": "string"
930
+ },
931
+ "svgIcon": {
932
+ "type": "string"
933
+ },
934
+ "permission": {
935
+ "type": "string"
936
+ },
937
+ "color": {
938
+ "type": "string",
939
+ "description": "Value for the color input of the mat-button / mat-icon component"
940
+ },
941
+ "cssClass": {
942
+ "$ref": "#/definitions/cssClass"
943
+ },
944
+ "options": {
945
+ "type": "object",
946
+ "additionalProperties": true
947
+ }
948
+ },
949
+ "required": [
950
+ "type"
951
+ ]
952
+ },
953
+ "tableActionSchematic": {
954
+ "allOf": [
955
+ {
956
+ "$ref": "#/definitions/angular"
957
+ },
958
+ {
959
+ "$ref": "#/definitions/tableAction"
160
960
  },
161
961
  {
162
962
  "type": "object",
@@ -170,165 +970,128 @@
170
970
  }
171
971
  ]
172
972
  },
173
- {
174
- "type": "object",
175
- "properties": {
176
- "formInitial": {
177
- "type": "object",
178
- "description": "The mapping from the row object to the form initial object"
179
- },
180
- "formComponent": {
181
- "type": "string"
182
- },
183
- "customComponent": {
184
- "type": "boolean",
185
- "default": false,
186
- "description": "If true the schematic will not coerce the form component"
973
+ "tableSelectFormControl": {
974
+ "allOf": [
975
+ {
976
+ "$ref": "#/definitions/baseFormControl"
187
977
  },
188
- "loadFrom": {
978
+ {
189
979
  "type": "object",
190
980
  "properties": {
191
- "operationId": {
981
+ "formField": {
982
+ "$ref": "#/definitions/formField"
983
+ },
984
+ "kind": {
985
+ "type": "string",
986
+ "const": "table-select"
987
+ },
988
+ "placeholder": {
192
989
  "type": "string"
193
990
  },
194
- "scope": {
991
+ "columnList": {
992
+ "alias": "column",
993
+ "type": "array",
994
+ "items": {
995
+ "description": "table column name",
996
+ "type": "object",
997
+ "properties": {
998
+ "name": {
999
+ "type": "string",
1000
+ "description": "table column name"
1001
+ },
1002
+ "title": {
1003
+ "type": "string",
1004
+ "description": "table column label"
1005
+ },
1006
+ "hasFilter": {
1007
+ "type": "boolean",
1008
+ "description": "Whether the column has a filter"
1009
+ },
1010
+ "kind": {
1011
+ "type": "string",
1012
+ "description": "The kind of data in the column"
1013
+ }
1014
+ }
1015
+ },
1016
+ "description": "List of table column names"
1017
+ },
1018
+ "title": {
195
1019
  "type": "string",
196
- "description": "The scope of package for the openapi classes"
1020
+ "description": "The title of the table select window"
197
1021
  },
198
- "body": {
199
- "oneOf": [
200
- {
201
- "type": "boolean",
202
- "description": "Pass the full row as body for the operation request"
203
- },
204
- {
205
- "type": "object",
206
- "description": "Mapping of table columns to body properties - [request property]: [table column]",
207
- "additionalProperties": true
1022
+ "toDisplay": {
1023
+ "type": "object",
1024
+ "properties": {
1025
+ "property": {
1026
+ "$ref": "#/definitions/property"
208
1027
  }
209
- ]
1028
+ }
210
1029
  },
211
- "parameters": {
212
- "oneOf": [
213
- {
214
- "type": "boolean",
215
- "description": "Pass the full row as parameters for the operation request"
216
- },
217
- {
218
- "type": "object",
219
- "description": "Mapping of table columns to parameters properties - [request property]: [table column]",
220
- "additionalProperties": true
1030
+ "toValue": {
1031
+ "type": "object",
1032
+ "properties": {
1033
+ "property": {
1034
+ "$ref": "#/definitions/property"
221
1035
  }
222
- ]
223
- }
224
- }
225
- },
226
- "formOptions": {
227
- "allOf": [
228
- {
1036
+ }
1037
+ },
1038
+ "upstream": {
1039
+ "$ref": "#/definitions/upstream"
1040
+ },
1041
+ "resolver": {
229
1042
  "type": "object",
230
1043
  "properties": {
231
- "controlList": {
232
- "alias": "control",
233
- "type": "array",
234
- "items": {
235
- "type": "object",
236
- "properties": {
237
- "name": {
238
- "type": "string",
239
- "description": "The name of the control"
240
- },
241
- "type": {
242
- "$ref": "#/definitions/type"
243
- },
244
- "isArray": {
245
- "type": "boolean",
246
- "description": "Whether the control value is an array",
247
- "default": false
248
- },
249
- "state": {
250
- "type": "string",
251
- "description": "The initial state of the control"
252
- },
253
- "isRequired": {
254
- "type": "boolean",
255
- "description": "Whether the control value is required",
256
- "default": false
257
- },
258
- "isReadonly": {
259
- "type": "boolean",
260
- "description": "Whether the control value is readonly",
261
- "default": false
262
- },
263
- "isDisabled": {
264
- "type": "boolean",
265
- "description": "Whether the control value is disabled",
266
- "default": false
267
- },
268
- "validatorList": {
269
- "type": "array",
270
- "items": {
271
- "type": "string"
272
- }
273
- },
274
- "kind": {
275
- "type": "string",
276
- "description": "The name of the template",
277
- "enum": [
278
- "default",
279
- "input",
280
- "select",
281
- "checkbox",
282
- "autocomplete-table-select",
283
- "table-select",
284
- "textarea",
285
- "slide-toggle"
286
- ],
287
- "default": "default"
288
- }
289
- },
290
- "required": [
291
- "name"
292
- ],
293
- "additionalProperties": true
294
- }
1044
+ "upstream": {
1045
+ "$ref": "#/definitions/upstream"
295
1046
  }
296
- },
297
- "required": [
298
- "controlList"
299
- ]
1047
+ }
300
1048
  },
301
- {
1049
+ "identifier": {
1050
+ "$ref": "#/definitions/accordionIdentifier"
1051
+ }
1052
+ },
1053
+ "required": [
1054
+ "kind"
1055
+ ]
1056
+ }
1057
+ ]
1058
+ },
1059
+ "textareaFormControl": {
1060
+ "allOf": [
1061
+ {
1062
+ "$ref": "#/definitions/baseFormControl"
1063
+ },
1064
+ {
1065
+ "type": "object",
1066
+ "properties": {
1067
+ "formField": {
1068
+ "$ref": "#/definitions/formField"
1069
+ },
1070
+ "kind": {
1071
+ "type": "string",
1072
+ "const": "textarea"
1073
+ },
1074
+ "placeholder": {
1075
+ "type": "string"
1076
+ },
1077
+ "autosize": {
302
1078
  "type": "object",
303
1079
  "properties": {
304
- "window": {
305
- "type": "boolean",
306
- "description": "Whether the form can be opened in a window"
1080
+ "minRows": {
1081
+ "type": "number"
307
1082
  },
308
- "role": {
309
- "type": "string",
310
- "description": "Define the role of the form"
311
- },
312
- "matFormFieldDefaultOptions": {
313
- "appearance": {
314
- "type": "string",
315
- "description": "The appearance of the mat form field",
316
- "enum": [
317
- "legacy",
318
- "standard",
319
- "fill",
320
- "outline"
321
- ]
322
- }
1083
+ "maxRows": {
1084
+ "type": "number"
323
1085
  }
324
1086
  }
325
1087
  }
1088
+ },
1089
+ "required": [
1090
+ "kind"
326
1091
  ]
327
1092
  }
328
- }
329
- }
330
- ],
331
- "definitions": {
1093
+ ]
1094
+ },
332
1095
  "type": {
333
1096
  "oneOf": [
334
1097
  {
@@ -362,61 +1125,106 @@
362
1125
  }
363
1126
  ]
364
1127
  },
365
- "property": {
1128
+ "upstream": {
366
1129
  "oneOf": [
367
- {
368
- "type": "string"
369
- },
370
1130
  {
371
1131
  "type": "object",
372
1132
  "properties": {
373
- "name": {
1133
+ "kind": {
1134
+ "type": "string",
1135
+ "enum": [
1136
+ "open-api"
1137
+ ]
1138
+ },
1139
+ "operationId": {
374
1140
  "type": "string"
375
1141
  },
376
- "type": {
377
- "$ref": "#/definitions/type"
378
- }
379
- },
380
- "required": [
381
- "name"
382
- ]
383
- }
384
- ],
385
- "definitions": {
386
- "type": {
387
- "oneOf": [
388
- {
1142
+ "scope": {
389
1143
  "type": "string"
390
1144
  },
391
- {
392
- "type": "object",
393
- "properties": {
394
- "name": {
395
- "type": "string"
396
- },
397
- "isTypeOnly": {
398
- "type": "boolean"
399
- },
400
- "moduleSpecifier": {
401
- "type": "string"
402
- },
403
- "namedImport": {
404
- "type": "string"
1145
+ "mapper": {
1146
+ "oneOf": [
1147
+ {
1148
+ "type": "object",
1149
+ "properties": {
1150
+ "kind": {
1151
+ "type": "string",
1152
+ "const": "paged"
1153
+ },
1154
+ "pageIndex": {
1155
+ "type": "string"
1156
+ },
1157
+ "pageSize": {
1158
+ "type": "string"
1159
+ },
1160
+ "sortBy": {
1161
+ "type": "string"
1162
+ },
1163
+ "sortDirection": {
1164
+ "type": "string"
1165
+ },
1166
+ "list": {
1167
+ "type": "string"
1168
+ },
1169
+ "total": {
1170
+ "type": "string"
1171
+ },
1172
+ "filter": {
1173
+ "type": "object",
1174
+ "properties": {
1175
+ "eq": {
1176
+ "type": "string"
1177
+ },
1178
+ "join": {
1179
+ "type": "string"
1180
+ }
1181
+ }
1182
+ }
1183
+ }
405
1184
  },
406
- "namespaceImport": {
407
- "type": "string"
1185
+ {
1186
+ "type": "object",
1187
+ "properties": {
1188
+ "kind": {
1189
+ "type": "string",
1190
+ "const": "options"
1191
+ },
1192
+ "toFunction": {
1193
+ "type": "string",
1194
+ "enum": [
1195
+ "ToOptions",
1196
+ "ToOptionsFromObject"
1197
+ ]
1198
+ },
1199
+ "toValue": {
1200
+ "type": "string"
1201
+ },
1202
+ "toDisplay": {
1203
+ "type": "string"
1204
+ }
1205
+ }
408
1206
  },
409
- "defaultImport": {
410
- "type": "string"
1207
+ {
1208
+ "type": "object",
1209
+ "properties": {
1210
+ "kind": {
1211
+ "type": "string",
1212
+ "const": "resolve"
1213
+ },
1214
+ "value": {
1215
+ "type": "string"
1216
+ }
1217
+ }
411
1218
  }
412
- },
413
- "required": [
414
- "name"
415
1219
  ]
416
1220
  }
1221
+ },
1222
+ "required": [
1223
+ "kind",
1224
+ "operationId"
417
1225
  ]
418
1226
  }
419
- }
1227
+ ]
420
1228
  }
421
1229
  }
422
1230
  }