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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (332) hide show
  1. package/CHANGELOG.md +159 -0
  2. package/README.md +1 -1
  3. package/collection.json +10 -0
  4. package/package.json +11 -9
  5. package/src/lib/accordion-header.d.ts +5 -0
  6. package/src/lib/accordion-header.js +9 -3
  7. package/src/lib/accordion-header.js.map +1 -1
  8. package/src/lib/accordion-identifier.d.ts +4 -0
  9. package/src/lib/accordion-identifier.js.map +1 -1
  10. package/src/lib/accordion-item.d.ts +25 -17
  11. package/src/lib/accordion-item.js +72 -33
  12. package/src/lib/accordion-item.js.map +1 -1
  13. package/src/lib/accordion-itme-kinds.d.ts +8 -0
  14. package/src/lib/accordion-itme-kinds.js +16 -0
  15. package/src/lib/accordion-itme-kinds.js.map +1 -0
  16. package/src/lib/coerce-accordion-component.js +7 -3
  17. package/src/lib/coerce-accordion-component.js.map +1 -1
  18. package/src/lib/coerce-accordion-item-table-component.js +1 -1
  19. package/src/lib/coerce-accordion-item-table-component.js.map +1 -1
  20. package/src/lib/coerce-form-component.js +17 -2
  21. package/src/lib/coerce-form-component.js.map +1 -1
  22. package/src/lib/coerce-minimum-table-component.js +9 -3
  23. package/src/lib/coerce-minimum-table-component.js.map +1 -1
  24. package/src/lib/coerce-tree-table-component.js +16 -0
  25. package/src/lib/coerce-tree-table-component.js.map +1 -1
  26. package/src/lib/data-grid-item.d.ts +46 -11
  27. package/src/lib/data-grid-item.js +81 -6
  28. package/src/lib/data-grid-item.js.map +1 -1
  29. package/src/lib/data-grid-mode.d.ts +4 -0
  30. package/src/lib/data-grid-mode.js +9 -0
  31. package/src/lib/data-grid-mode.js.map +1 -0
  32. package/src/lib/data-grid-options.d.ts +12 -5
  33. package/src/lib/data-grid-options.js +43 -13
  34. package/src/lib/data-grid-options.js.map +1 -1
  35. package/src/lib/form/abstract-control.d.ts +29 -0
  36. package/src/lib/form/abstract-control.js +37 -0
  37. package/src/lib/form/abstract-control.js.map +1 -0
  38. package/src/lib/form/array/base-form-array.d.ts +18 -0
  39. package/src/lib/form/array/base-form-array.js +40 -0
  40. package/src/lib/form/array/base-form-array.js.map +1 -0
  41. package/src/lib/form/array/form-array-kind.d.ts +3 -0
  42. package/src/lib/form/array/form-array-kind.js +8 -0
  43. package/src/lib/form/array/form-array-kind.js.map +1 -0
  44. package/src/lib/form/array/form-array.d.ts +12 -0
  45. package/src/lib/form/array/form-array.js +18 -0
  46. package/src/lib/form/array/form-array.js.map +1 -0
  47. package/src/lib/form/coerce-control-component-imports.d.ts +3 -0
  48. package/src/lib/form/coerce-control-component-imports.js +18 -0
  49. package/src/lib/form/coerce-control-component-imports.js.map +1 -0
  50. package/src/lib/form/control/base-form-control.d.ts +14 -0
  51. package/src/lib/form/control/base-form-control.js +19 -0
  52. package/src/lib/form/control/base-form-control.js.map +1 -0
  53. package/src/lib/form/control/checkbox-form-control.d.ts +11 -0
  54. package/src/lib/form/control/checkbox-form-control.js +23 -0
  55. package/src/lib/form/control/checkbox-form-control.js.map +1 -0
  56. package/src/lib/form/control/form-control-kind.d.ts +8 -0
  57. package/src/lib/form/control/form-control-kind.js +13 -0
  58. package/src/lib/form/control/form-control-kind.js.map +1 -0
  59. package/src/lib/form/control/form-control.d.ts +18 -0
  60. package/src/lib/form/control/form-control.js +40 -0
  61. package/src/lib/form/control/form-control.js.map +1 -0
  62. package/src/lib/form/control/form-field-form-control.d.ts +33 -0
  63. package/src/lib/form/control/form-field-form-control.js +76 -0
  64. package/src/lib/form/control/form-field-form-control.js.map +1 -0
  65. package/src/lib/form/control/input-form-control.d.ts +14 -0
  66. package/src/lib/form/control/input-form-control.js +71 -0
  67. package/src/lib/form/control/input-form-control.js.map +1 -0
  68. package/src/lib/form/control/select-form-control.d.ts +18 -0
  69. package/src/lib/form/control/select-form-control.js +29 -0
  70. package/src/lib/form/control/select-form-control.js.map +1 -0
  71. package/src/lib/form/control/slide-toggle-form-control.d.ts +11 -0
  72. package/src/lib/form/control/slide-toggle-form-control.js +23 -0
  73. package/src/lib/form/control/slide-toggle-form-control.js.map +1 -0
  74. package/src/lib/form/control/table-select-form-control.d.ts +43 -0
  75. package/src/lib/form/control/table-select-form-control.js +69 -0
  76. package/src/lib/form/control/table-select-form-control.js.map +1 -0
  77. package/src/lib/form/control.d.ts +8 -0
  78. package/src/lib/form/control.js +38 -0
  79. package/src/lib/form/control.js.map +1 -0
  80. package/src/lib/form/generate-form-template.d.ts +5 -0
  81. package/src/lib/form/generate-form-template.js +12 -0
  82. package/src/lib/form/generate-form-template.js.map +1 -0
  83. package/src/lib/form/group/base-form-group.d.ts +17 -0
  84. package/src/lib/form/group/base-form-group.js +20 -0
  85. package/src/lib/form/group/base-form-group.js.map +1 -0
  86. package/src/lib/form/group/form-group-kind.d.ts +3 -0
  87. package/src/lib/form/group/form-group-kind.js +8 -0
  88. package/src/lib/form/group/form-group-kind.js.map +1 -0
  89. package/src/lib/form/group/form-group.d.ts +12 -0
  90. package/src/lib/form/group/form-group.js +18 -0
  91. package/src/lib/form/group/form-group.js.map +1 -0
  92. package/src/lib/load-handlebars-template.d.ts +4 -0
  93. package/src/lib/load-handlebars-template.js +28 -0
  94. package/src/lib/load-handlebars-template.js.map +1 -0
  95. package/src/lib/merge-with-column-list.js +3 -1
  96. package/src/lib/merge-with-column-list.js.map +1 -1
  97. package/src/lib/minimum-table-component-options.d.ts +12 -2
  98. package/src/lib/minimum-table-component-options.js +14 -17
  99. package/src/lib/minimum-table-component-options.js.map +1 -1
  100. package/src/lib/minimum-table-options.d.ts +1 -1
  101. package/src/lib/minimum-table-options.js +2 -2
  102. package/src/lib/minimum-table-options.js.map +1 -1
  103. package/src/lib/pipe-option.d.ts +11 -0
  104. package/src/lib/pipe-option.js +75 -0
  105. package/src/lib/pipe-option.js.map +1 -0
  106. package/src/lib/table/table-filter-column-rule.d.ts +13 -0
  107. package/src/lib/table/table-filter-column-rule.js +88 -0
  108. package/src/lib/table/table-filter-column-rule.js.map +1 -0
  109. package/src/lib/table-column.d.ts +20 -9
  110. package/src/lib/table-column.js +133 -113
  111. package/src/lib/table-column.js.map +1 -1
  112. package/src/lib/table-options.d.ts +1 -1
  113. package/src/lib/tree-table-options.d.ts +1 -1
  114. package/src/lib/use-pick-from-table-interface-as-form-type.d.ts +10 -0
  115. package/src/lib/use-pick-from-table-interface-as-form-type.js +32 -0
  116. package/src/lib/use-pick-from-table-interface-as-form-type.js.map +1 -0
  117. package/src/lib/value-option.d.ts +12 -0
  118. package/src/lib/value-option.js +66 -0
  119. package/src/lib/value-option.js.map +1 -0
  120. package/src/schema.json +2626 -0
  121. package/src/schematic-input.schema.json +541 -0
  122. package/src/schematics/abstract-control.schema.json +78 -0
  123. package/src/schematics/accordion/accordion-component/files/component/__componentName__.component.html.hbs +25 -0
  124. package/src/schematics/accordion/accordion-component/index.d.ts +5 -2
  125. package/src/schematics/accordion/accordion-component/index.js +56 -122
  126. package/src/schematics/accordion/accordion-component/index.js.map +1 -1
  127. package/src/schematics/accordion/accordion-component/schema.d.ts +6 -0
  128. package/src/schematics/accordion/accordion-component/schema.json +321 -139
  129. package/src/schematics/accordion/accordion-component/template.schema.json +105 -0
  130. package/src/schematics/accordion/accordion-item-component/index.d.ts +9 -4
  131. package/src/schematics/accordion/accordion-item-component/index.js +112 -86
  132. package/src/schematics/accordion/accordion-item-component/index.js.map +1 -1
  133. package/src/schematics/accordion/accordion-item-component/schema.d.ts +2 -2
  134. package/src/schematics/accordion/accordion-item-component/schema.json +282 -70
  135. package/src/schematics/accordion/accordion-item-component/template.schema.json +32 -0
  136. package/src/schematics/accordion/item/accordion-item-data-grid-component/index.d.ts +1 -1
  137. package/src/schematics/accordion/item/accordion-item-data-grid-component/index.js +35 -51
  138. package/src/schematics/accordion/item/accordion-item-data-grid-component/index.js.map +1 -1
  139. package/src/schematics/accordion/item/accordion-item-data-grid-component/schema.d.ts +1 -1
  140. package/src/schematics/accordion/item/accordion-item-data-grid-component/schema.json +963 -73
  141. package/src/schematics/accordion/item/accordion-item-data-grid-component/template.schema.json +31 -0
  142. package/src/schematics/accordion/item/accordion-item-switch-component/index.d.ts +1 -1
  143. package/src/schematics/accordion/item/accordion-item-switch-component/index.js +16 -8
  144. package/src/schematics/accordion/item/accordion-item-switch-component/index.js.map +1 -1
  145. package/src/schematics/accordion/item/accordion-item-switch-component/schema.d.ts +1 -1
  146. package/src/schematics/accordion/item/accordion-item-switch-component/schema.json +321 -189
  147. package/src/schematics/accordion/item/accordion-item-switch-component/template.schema.json +81 -0
  148. package/src/schematics/accordion/item/accordion-item-table-component/index.d.ts +1 -1
  149. package/src/schematics/accordion/item/accordion-item-table-component/index.js +16 -19
  150. package/src/schematics/accordion/item/accordion-item-table-component/index.js.map +1 -1
  151. package/src/schematics/accordion/item/accordion-item-table-component/schema.d.ts +1 -1
  152. package/src/schematics/accordion/item/accordion-item-table-component/schema.json +1005 -293
  153. package/src/schematics/accordion/item/accordion-item-table-component/template.schema.json +43 -0
  154. package/src/schematics/accordion/item/accordion-item-tree-table-component/index.d.ts +1 -1
  155. package/src/schematics/accordion/item/accordion-item-tree-table-component/index.js +48 -84
  156. package/src/schematics/accordion/item/accordion-item-tree-table-component/index.js.map +1 -1
  157. package/src/schematics/accordion/item/accordion-item-tree-table-component/schema.d.ts +1 -1
  158. package/src/schematics/accordion/item/accordion-item-tree-table-component/schema.json +968 -273
  159. package/src/schematics/accordion/item/accordion-item-tree-table-component/template.schema.json +43 -0
  160. package/src/schematics/accordion/templates/accordion-header.hbs +6 -0
  161. package/src/schematics/accordion/templates/data-grid-accordion-item.hbs +15 -0
  162. package/src/schematics/accordion/templates/default-accordion-item.hbs +15 -0
  163. package/src/schematics/accordion/templates/switch-accordion-item.hbs +21 -0
  164. package/src/schematics/accordion/templates/table-accordion-item.hbs +15 -0
  165. package/src/schematics/accordion/templates/tree-table-accordion-item.hbs +15 -0
  166. package/src/schematics/accordion-identifier.schema.json +25 -0
  167. package/src/schematics/accordion-item.schema.json +59 -0
  168. package/src/schematics/angular.schema.json +11 -11
  169. package/src/schematics/backend.schema.json +13 -0
  170. package/src/schematics/base-form-array.schema.json +45 -0
  171. package/src/schematics/base-form-control.schema.json +27 -0
  172. package/src/schematics/base-form-group.schema.json +42 -0
  173. package/src/schematics/button.schema.json +30 -0
  174. package/src/schematics/checkbox-form-control.schema.json +30 -0
  175. package/src/schematics/control.schema.json +26 -0
  176. package/src/schematics/data-grid-component/files/component/__componentName__.component.html.hbs +35 -0
  177. package/src/schematics/data-grid-component/index.d.ts +2 -4
  178. package/src/schematics/data-grid-component/index.js +87 -52
  179. package/src/schematics/data-grid-component/index.js.map +1 -1
  180. package/src/schematics/data-grid-component/schema.json +924 -131
  181. package/src/schematics/data-grid-component/template.schema.json +20 -0
  182. package/src/schematics/data-grid-component/templates/default-data-grid-item.hbs +3 -0
  183. package/src/schematics/data-grid-component/templates/link-data-grid-item.hbs +8 -0
  184. package/src/schematics/data-grid-item.schema.json +50 -0
  185. package/src/schematics/data-grid.schema.json +66 -0
  186. package/src/schematics/dialog-component/schema.json +141 -65
  187. package/src/schematics/dialog-component/template.schema.json +62 -0
  188. package/src/schematics/form/control/input-form-control/index.d.ts +2 -2
  189. package/src/schematics/form/control/input-form-control/index.js +4 -27
  190. package/src/schematics/form/control/input-form-control/index.js.map +1 -1
  191. package/src/schematics/form/control/input-form-control/schema.d.ts +2 -3
  192. package/src/schematics/form/control/input-form-control/schema.json +341 -94
  193. package/src/schematics/form/control/input-form-control/template.schema.json +33 -0
  194. package/src/schematics/form/control/select-form-control/index.d.ts +4 -2
  195. package/src/schematics/form/control/select-form-control/index.js +140 -97
  196. package/src/schematics/form/control/select-form-control/index.js.map +1 -1
  197. package/src/schematics/form/control/select-form-control/schema.d.ts +2 -4
  198. package/src/schematics/form/control/select-form-control/schema.json +348 -81
  199. package/src/schematics/form/control/select-form-control/template.schema.json +33 -0
  200. package/src/schematics/form/control/table-select-form-control/index.d.ts +5 -7
  201. package/src/schematics/form/control/table-select-form-control/index.js +205 -143
  202. package/src/schematics/form/control/table-select-form-control/index.js.map +1 -1
  203. package/src/schematics/form/control/table-select-form-control/schema.d.ts +2 -5
  204. package/src/schematics/form/control/table-select-form-control/schema.json +431 -84
  205. package/src/schematics/form/control/table-select-form-control/template.schema.json +39 -0
  206. package/src/schematics/form/form-array/index.d.ts +9 -0
  207. package/src/schematics/form/form-array/index.js +54 -0
  208. package/src/schematics/form/form-array/index.js.map +1 -0
  209. package/src/schematics/form/form-array/schema.d.ts +4 -0
  210. package/src/schematics/form/form-array/schema.json +823 -0
  211. package/src/schematics/form/form-array/template.schema.json +33 -0
  212. package/src/schematics/form/form-component/files/component/{__componentName__.component.html.template → __componentName__.component.html.hbs} +7 -4
  213. package/src/schematics/form/form-component/index.d.ts +4 -4
  214. package/src/schematics/form/form-component/index.js +22 -23
  215. package/src/schematics/form/form-component/index.js.map +1 -1
  216. package/src/schematics/form/form-component/schema.d.ts +4 -2
  217. package/src/schematics/form/form-component/schema.json +841 -136
  218. package/src/schematics/form/form-component/template.schema.json +20 -0
  219. package/src/schematics/form/form-control/index.d.ts +6 -6
  220. package/src/schematics/form/form-control/index.js +23 -24
  221. package/src/schematics/form/form-control/index.js.map +1 -1
  222. package/src/schematics/form/form-control/schema.d.ts +2 -4
  223. package/src/schematics/form/form-control/schema.json +652 -67
  224. package/src/schematics/form/form-control/template.schema.json +33 -0
  225. package/src/schematics/form/form-definition/index.d.ts +2 -2
  226. package/src/schematics/form/form-definition/index.js +30 -4
  227. package/src/schematics/form/form-definition/index.js.map +1 -1
  228. package/src/schematics/form/form-definition/schema.d.ts +2 -2
  229. package/src/schematics/form/form-definition/schema.json +805 -118
  230. package/src/schematics/form/form-definition/template.schema.json +30 -0
  231. package/src/schematics/form/form-group/index.d.ts +9 -0
  232. package/src/schematics/form/form-group/index.js +54 -0
  233. package/src/schematics/form/form-group/index.js.map +1 -0
  234. package/src/schematics/form/form-group/schema.d.ts +4 -0
  235. package/src/schematics/form/form-group/schema.json +823 -0
  236. package/src/schematics/form/form-group/template.schema.json +33 -0
  237. package/src/schematics/form/templates/checkbox-form-control.hbs +9 -0
  238. package/src/schematics/form/templates/default-form-array.hbs +27 -0
  239. package/src/schematics/form/templates/default-form-control.hbs +2 -0
  240. package/src/schematics/form/templates/default-form-group.hbs +13 -0
  241. package/src/schematics/form/templates/input-form-control.hbs +9 -0
  242. package/src/schematics/form/templates/mat-form-field.hbs +31 -0
  243. package/src/schematics/form/templates/select-form-control.hbs +5 -0
  244. package/src/schematics/form/templates/slide-toggle-form-control.hbs +8 -0
  245. package/src/schematics/form/templates/table-select-form-control.hbs +18 -0
  246. package/src/schematics/form-array.schema.json +40 -0
  247. package/src/schematics/form-component.schema.json +45 -0
  248. package/src/schematics/form-control.schema.json +77 -0
  249. package/src/schematics/form-definition.schema.json +22 -0
  250. package/src/schematics/form-field.schema.json +24 -0
  251. package/src/schematics/form-group.schema.json +40 -0
  252. package/src/schematics/general.schema.json +1 -4
  253. package/src/schematics/header-button.schema.json +42 -0
  254. package/src/schematics/input-form-control.schema.json +59 -0
  255. package/src/schematics/minimum-table.schema.json +60 -0
  256. package/src/schematics/pipe.schema.json +38 -0
  257. package/src/schematics/property.schema.json +31 -0
  258. package/src/schematics/select-form-control.schema.json +68 -0
  259. package/src/schematics/slide-toggle-form-control.schema.json +30 -0
  260. package/src/schematics/table/action/dialog-table-action/schema.json +207 -123
  261. package/src/schematics/table/action/dialog-table-action/template.schema.json +58 -0
  262. package/src/schematics/table/action/form-table-action/index.d.ts +2 -2
  263. package/src/schematics/table/action/form-table-action/index.js +3 -4
  264. package/src/schematics/table/action/form-table-action/index.js.map +1 -1
  265. package/src/schematics/table/action/form-table-action/schema.d.ts +2 -2
  266. package/src/schematics/table/action/form-table-action/schema.json +949 -139
  267. package/src/schematics/table/action/form-table-action/template.schema.json +75 -0
  268. package/src/schematics/table/action/navigation-table-action/schema.json +187 -80
  269. package/src/schematics/table/action/navigation-table-action/template.schema.json +28 -0
  270. package/src/schematics/table/action/open-api-table-action/schema.json +203 -94
  271. package/src/schematics/table/action/open-api-table-action/template.schema.json +56 -0
  272. package/src/schematics/table/action/operation-table-action/schema.json +174 -84
  273. package/src/schematics/table/action/operation-table-action/template.schema.json +14 -0
  274. package/src/schematics/table/header-button/form-table-header-button/index.d.ts +2 -2
  275. package/src/schematics/table/header-button/form-table-header-button/index.js +2 -2
  276. package/src/schematics/table/header-button/form-table-header-button/index.js.map +1 -1
  277. package/src/schematics/table/header-button/form-table-header-button/schema.d.ts +2 -2
  278. package/src/schematics/table/header-button/form-table-header-button/schema.json +910 -98
  279. package/src/schematics/table/header-button/form-table-header-button/template.schema.json +33 -0
  280. package/src/schematics/table/header-button/navigation-table-header-button/schema.json +167 -71
  281. package/src/schematics/table/header-button/navigation-table-header-button/template.schema.json +28 -0
  282. package/src/schematics/table/table-action/schema.json +165 -78
  283. package/src/schematics/table/table-action/template.schema.json +30 -0
  284. package/src/schematics/table/table-component/files/component/__componentName__.component.html.hbs +241 -0
  285. package/src/schematics/table/table-component/index.d.ts +2 -4
  286. package/src/schematics/table/table-component/index.js +14 -120
  287. package/src/schematics/table/table-component/index.js.map +1 -1
  288. package/src/schematics/table/table-component/schema.json +898 -276
  289. package/src/schematics/table/table-component/template.schema.json +20 -0
  290. package/src/schematics/table/table-header-button/schema.json +145 -63
  291. package/src/schematics/table/table-header-button/template.schema.json +30 -0
  292. package/src/schematics/table/templates/boolean-table-column.hbs +10 -0
  293. package/src/schematics/table/templates/component-table-column.hbs +12 -0
  294. package/src/schematics/table/templates/copy-to-clipboard-table-column.hbs +10 -0
  295. package/src/schematics/table/templates/date-table-column.hbs +11 -0
  296. package/src/schematics/table/templates/default-table-column.hbs +8 -0
  297. package/src/schematics/table/templates/icon-table-column.hbs +10 -0
  298. package/src/schematics/table/templates/link-table-column.hbs +10 -0
  299. package/src/schematics/table/tree-table-component/files/component/__componentName__.component.html.hbs +255 -0
  300. package/src/schematics/table/tree-table-component/index.d.ts +3 -0
  301. package/src/schematics/table/tree-table-component/index.js +28 -7
  302. package/src/schematics/table/tree-table-component/index.js.map +1 -1
  303. package/src/schematics/table/tree-table-component/schema.json +889 -260
  304. package/src/schematics/table/tree-table-component/template.schema.json +20 -0
  305. package/src/schematics/table-action.schema.json +61 -0
  306. package/src/schematics/table-column.schema.json +75 -0
  307. package/src/schematics/table-select-form-control.schema.json +96 -0
  308. package/src/schematics/table.schema.json +57 -0
  309. package/src/schematics/templates/pipe.hbs +4 -0
  310. package/src/schematics/textarea-form-control.schema.json +32 -0
  311. package/src/schematics/tree-component/schema.json +115 -70
  312. package/src/schematics/tree-component/template.schema.json +36 -0
  313. package/src/schematics/tree-table.schema.json +40 -0
  314. package/src/schematics/type.schema.json +35 -0
  315. package/src/schematics/upstream.schema.json +56 -0
  316. package/src/schematics/value.schema.json +26 -0
  317. package/src/template.schema.json +212 -0
  318. package/src/lib/accordion-itme-types.d.ts +0 -8
  319. package/src/lib/accordion-itme-types.js +0 -16
  320. package/src/lib/accordion-itme-types.js.map +0 -1
  321. package/src/lib/form-component-control.d.ts +0 -12
  322. package/src/lib/form-component-control.js +0 -15
  323. package/src/lib/form-component-control.js.map +0 -1
  324. package/src/lib/form-definition-control.d.ts +0 -59
  325. package/src/lib/form-definition-control.js +0 -156
  326. package/src/lib/form-definition-control.js.map +0 -1
  327. package/src/schematics/accordion/accordion-component/files/component/__componentName__.component.html.template +0 -94
  328. package/src/schematics/accordion/accordion-component/files/header-component/accordion-header.component.html.template +0 -10
  329. package/src/schematics/data-grid-component/files/form/__componentName__.component.html.template +0 -42
  330. package/src/schematics/data-grid-component/files/plain/__componentName__.component.html.template +0 -25
  331. package/src/schematics/table/table-component/files/component/__componentName__.component.html.template +0 -299
  332. package/src/schematics/table/tree-table-component/files/component/__componentName__.component.html.template +0 -213
@@ -0,0 +1,20 @@
1
+ {
2
+ "$schema": "http://json-schema.org/schema",
3
+ "$id": "table-component-schematic",
4
+ "allOf": [
5
+ {
6
+ "$ref": "#/definitions/angular"
7
+ },
8
+ {
9
+ "$ref": "#/definitions/table"
10
+ }
11
+ ],
12
+ "definitions": {
13
+ "angular": {
14
+ "$ref": "../../angular.schema.json"
15
+ },
16
+ "table": {
17
+ "$ref": "../../table.schema.json"
18
+ }
19
+ }
20
+ }
@@ -1,80 +1,162 @@
1
1
  {
2
2
  "$schema": "http://json-schema.org/schema",
3
- "$id": "table-action",
4
- "type": "object",
5
- "properties": {
6
- "tableName": {
7
- "alias": "table",
8
- "type": "string",
9
- "description": "The name of the table action"
3
+ "$id": "table-header-button-schematic",
4
+ "allOf": [
5
+ {
6
+ "$ref": "#/definitions/angular"
10
7
  },
11
- "project": {
12
- "type": "string",
13
- "description": "The target project where the table action should be added."
8
+ {
9
+ "$ref": "#/definitions/headerButton"
14
10
  },
15
- "feature": {
16
- "type": "string",
17
- "description": "The feature name where the table action should be added.",
18
- "x-prompt": "To which feature should the table action be added?"
11
+ {
12
+ "type": "object",
13
+ "properties": {
14
+ "tableName": {
15
+ "alias": "table",
16
+ "type": "string",
17
+ "description": "The name of the table action"
18
+ }
19
+ }
20
+ }
21
+ ],
22
+ "definitions": {
23
+ "angular": {
24
+ "allOf": [
25
+ {
26
+ "$ref": "#/definitions/general"
27
+ },
28
+ {
29
+ "type": "object",
30
+ "properties": {
31
+ "componentName": {
32
+ "type": "string"
33
+ },
34
+ "name": {
35
+ "type": "string"
36
+ },
37
+ "context": {
38
+ "type": "string",
39
+ "description": "The context use to generate proper names for class, files, etc"
40
+ },
41
+ "nestModule": {
42
+ "type": "string",
43
+ "description": "The module name for the table nest operations"
44
+ },
45
+ "controllerName": {
46
+ "type": "string"
47
+ },
48
+ "backend": {
49
+ "$ref": "#/definitions/backend"
50
+ },
51
+ "directory": {
52
+ "type": "string",
53
+ "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"
54
+ },
55
+ "shared": {
56
+ "type": "boolean",
57
+ "description": "Whether the generated code is used across the project",
58
+ "default": false
59
+ },
60
+ "scope": {
61
+ "type": "string"
62
+ },
63
+ "prefix": {
64
+ "type": "string"
65
+ },
66
+ "openApi": {
67
+ "type": "object",
68
+ "additionalProperties": true
69
+ }
70
+ }
71
+ }
72
+ ]
19
73
  },
20
74
  "backend": {
21
75
  "type": "string",
22
76
  "description": "The backend that should be used to handel data",
23
77
  "enum": [
24
78
  "none",
25
- "local",
26
79
  "nestjs",
27
- "open-api"
80
+ "open-api",
81
+ "local"
28
82
  ],
29
83
  "default": "none"
30
84
  },
31
- "shared": {
32
- "type": "boolean",
33
- "description": "Whether the table action is shared across applications",
34
- "default": false
35
- },
36
- "refresh": {
37
- "type": "boolean",
38
- "description": "Whether the table action should refresh the table after execution",
39
- "default": false
40
- },
41
- "confirm": {
42
- "type": "boolean",
43
- "description": "Whether the table action should confirm before execution",
44
- "default": false
45
- },
46
- "tooltip": {
47
- "type": "string",
48
- "description": "The tooltip for the table action"
49
- },
50
- "errorMessage": {
51
- "type": "string",
52
- "description": "The error message for the table action"
53
- },
54
- "successMessage": {
55
- "type": "string",
56
- "description": "The success message for the table action"
57
- },
58
- "directory": {
59
- "type": "string",
60
- "description": "A directory name or absolute path for the table action. relative to the feature base path"
61
- },
62
- "permission": {
63
- "type": "string"
64
- },
65
- "icon": {
66
- "type": "string"
67
- },
68
- "svgIcon": {
69
- "type": "string"
85
+ "general": {
86
+ "type": "object",
87
+ "properties": {
88
+ "project": {
89
+ "type": "string",
90
+ "description": "Project name where the files should be generated"
91
+ },
92
+ "feature": {
93
+ "type": "string",
94
+ "description": "Feature name where the files should be generated"
95
+ },
96
+ "overwrite": {
97
+ "anyOf": [
98
+ {
99
+ "type": "boolean"
100
+ },
101
+ {
102
+ "type": "array",
103
+ "items": {
104
+ "type": "string"
105
+ }
106
+ }
107
+ ],
108
+ "description": "Overwrite existing files",
109
+ "default": false
110
+ },
111
+ "overwriteHtml": {
112
+ "type": "boolean",
113
+ "default": false
114
+ },
115
+ "replace": {
116
+ "type": "boolean",
117
+ "default": false
118
+ }
119
+ }
70
120
  },
71
- "options": {
121
+ "headerButton": {
72
122
  "type": "object",
73
- "additionalProperties": true
123
+ "properties": {
124
+ "permission": {
125
+ "type": "string"
126
+ },
127
+ "icon": {
128
+ "type": "string"
129
+ },
130
+ "svgIcon": {
131
+ "type": "string"
132
+ },
133
+ "refresh": {
134
+ "type": "boolean",
135
+ "description": "Whether the table action should refresh the table after execution",
136
+ "default": false
137
+ },
138
+ "confirm": {
139
+ "type": "boolean",
140
+ "description": "Whether the table action should confirm before execution",
141
+ "default": false
142
+ },
143
+ "tooltip": {
144
+ "type": "string",
145
+ "description": "The tooltip for the table action"
146
+ },
147
+ "errorMessage": {
148
+ "type": "string",
149
+ "description": "The error message for the table action"
150
+ },
151
+ "successMessage": {
152
+ "type": "string",
153
+ "description": "The success message for the table action"
154
+ },
155
+ "options": {
156
+ "type": "object",
157
+ "additionalProperties": true
158
+ }
159
+ }
74
160
  }
75
- },
76
- "required": [
77
- "project",
78
- "feature"
79
- ]
80
- }
161
+ }
162
+ }
@@ -0,0 +1,30 @@
1
+ {
2
+ "$schema": "http://json-schema.org/schema",
3
+ "$id": "table-header-button-schematic",
4
+ "allOf": [
5
+ {
6
+ "$ref": "#/definitions/angular"
7
+ },
8
+ {
9
+ "$ref": "#/definitions/headerButton"
10
+ },
11
+ {
12
+ "type": "object",
13
+ "properties": {
14
+ "tableName": {
15
+ "alias": "table",
16
+ "type": "string",
17
+ "description": "The name of the table action"
18
+ }
19
+ }
20
+ }
21
+ ],
22
+ "definitions": {
23
+ "angular": {
24
+ "$ref": "../../angular.schema.json"
25
+ },
26
+ "headerButton": {
27
+ "$ref": "../../header-button.schema.json"
28
+ }
29
+ }
30
+ }
@@ -0,0 +1,10 @@
1
+ <ng-container matColumnDef="{{column.name}}">
2
+ <th mat-header-cell *matHeaderCellDef mat-sort-header>
3
+ <ng-container i18n>{{column.title}}</ng-container>
4
+ </th>
5
+ <td *matCellDef="let element"
6
+ mat-cell
7
+ {{#if column.cssClass}}class="{{column.cssClass}}"{{/if~}}
8
+ [rxap-boolean-cell]="element?.{{column.propertyPath}}{{> pipe pipeList=column.pipeList}}">
9
+ </td>
10
+ </ng-container>
@@ -0,0 +1,12 @@
1
+ <ng-container matColumnDef="{{column.name}}">
2
+ <th mat-header-cell *matHeaderCellDef mat-sort-header>
3
+ <ng-container i18n>{{column.title}}</ng-container>
4
+ </th>
5
+ <td *matCellDef="let element"
6
+ mat-cell
7
+ {{#if column.cssClass}}class="{{column.cssClass}}"{{/if~}}
8
+ {{prefix}}-{{column.name}}-cell
9
+ [element]="element"
10
+ [value]="element?.{{column.propertyPath}}{{> pipe pipeList=column.pipeList}}">
11
+ </td>
12
+ </ng-container>
@@ -0,0 +1,10 @@
1
+ <ng-container matColumnDef="{{column.name}}">
2
+ <th mat-header-cell *matHeaderCellDef mat-sort-header>
3
+ <ng-container i18n>{{column.title}}</ng-container>
4
+ </th>
5
+ <td *matCellDef="let element"
6
+ mat-cell
7
+ {{#if column.cssClass}}class="{{column.cssClass}}"{{/if~}}
8
+ [rxap-copy-to-clipboard-cell]="element?.{{column.propertyPath}}{{> pipe pipeList=column.pipeList}}">
9
+ </td>
10
+ </ng-container>
@@ -0,0 +1,11 @@
1
+ <ng-container matColumnDef="{{column.name}}">
2
+ <th mat-header-cell *matHeaderCellDef mat-sort-header>
3
+ <ng-container i18n>{{column.title}}</ng-container>
4
+ </th>
5
+ <td *matCellDef="let element"
6
+ mat-cell
7
+ {{#if column.cssClass}}class="{{column.cssClass}}"{{/if~}}
8
+ format="{{column.format}}"
9
+ [rxap-date-cell]="element?.{{column.propertyPath}}{{> pipe pipeList=column.pipeList}}">
10
+ </td>
11
+ </ng-container>
@@ -0,0 +1,8 @@
1
+ <ng-container matColumnDef="{{column.name}}">
2
+ <th mat-header-cell *matHeaderCellDef mat-sort-header>
3
+ <ng-container i18n>{{column.title}}</ng-container>
4
+ </th>
5
+ <td *matCellDef="let element" mat-cell{{#if column.cssClass}} class="{{column.cssClass}}"{{/if}}>
6
+ \{{ element?.{{column.propertyPath}}{{> pipe pipeList=column.pipeList}} }}
7
+ </td>
8
+ </ng-container>
@@ -0,0 +1,10 @@
1
+ <ng-container matColumnDef="{{column.name}}">
2
+ <th mat-header-cell *matHeaderCellDef mat-sort-header>
3
+ <ng-container i18n>{{column.title}}</ng-container>
4
+ </th>
5
+ <td *matCellDef="let element"
6
+ mat-cell
7
+ {{#if column.cssClass}}class="{{column.cssClass}}"{{/if~}}
8
+ [rxap-icon-cell]="element?.{{column.propertyPath}}{{> pipe pipeList=column.pipeList}}">
9
+ </td>
10
+ </ng-container>
@@ -0,0 +1,10 @@
1
+ <ng-container matColumnDef="{{column.name}}">
2
+ <th mat-header-cell *matHeaderCellDef mat-sort-header>
3
+ <ng-container i18n>{{column.title}}</ng-container>
4
+ </th>
5
+ <td *matCellDef="let element"
6
+ mat-cell
7
+ {{#if column.cssClass}}class="{{column.cssClass}}"{{/if}}
8
+ [rxap-link-cell]="element?.{{column.propertyPath}}{{> pipe pipeList=column.pipeList}}">
9
+ </td>
10
+ </ng-container>
@@ -0,0 +1,255 @@
1
+ <div class="flex flex-col gap-y-4 m-4">
2
+ {{#if hasNavigationBackHeader}}
3
+ <rxap-navigate-back-button>
4
+ <h1 i18n>{{title}}</h1>
5
+ </rxap-navigate-back-button>
6
+ <mat-divider></mat-divider>
7
+ {{/if}}
8
+
9
+ <div class="table-card-container flex flex-col">
10
+ <mat-card>
11
+ <mat-progress-bar
12
+ rxapCardProgressBar
13
+ [loading$]="tableDataSourceDirective.loading$"
14
+ ></mat-progress-bar>
15
+ <mat-card-header class="min-h-full h-12{{#unless headerButton}}{{#if hasWithoutTitle}} justify-end {{/if}}{{/unless}}">
16
+ {{#unless hasWithoutTitle}}
17
+ <mat-card-title i18n>{{title}}</mat-card-title>
18
+ {{/unless}}
19
+ {{#if headerButton}}
20
+ <button
21
+ mat-card-avatar
22
+ mat-mini-fab
23
+ color="primary"
24
+ matTooltip
25
+ [disabled]="tableDataSourceDirective.hasError$ | async"
26
+ [rxapTableHeaderButton]="tableDataSourceDirective"
27
+ {{#if headerButton.permission}}rxapHasEnablePermission="{{headerButton.permission}}"{{/if~}}
28
+ >
29
+ {{#if headerButton.icon}}
30
+ <mat-icon>{{headerButton.icon}}</mat-icon>
31
+ {{else if headerButton.svgIcon}}
32
+ <mat-icon svgIcon="{{headerButton.svgIcon}}"></mat-icon>
33
+ {{else}}
34
+ <mat-icon>add</mat-icon>
35
+ {{/if}}
36
+ </button>
37
+ <mat-card-subtitle i18n>{{headerButton.label}}</mat-card-subtitle>
38
+ {{/if}}
39
+ <rxap-table-column-menu
40
+ matCard
41
+ #rxapTableColumns="rxapTableColumns"
42
+ {{#unless headerButton}}{{#if hasWithoutTitle}}inline{{/if}}{{/unless~}}
43
+ >
44
+ {{#if selectColumn}}
45
+ <rxap-table-column-option hidden name="select">
46
+ <ng-container i18n>Select</ng-container>
47
+ </rxap-table-column-option>
48
+ {{/if}}
49
+ <rxap-table-column-option name="tree" hidden></rxap-table-column-option>
50
+ {{#each columnList}}
51
+ <rxap-table-column-option name="{{this.name}}"
52
+ {{~#if this.active}} active{{/if~}}
53
+ {{~#if this.hidden}} hidden{{/if~}}
54
+ {{~#if this.inactive}} inactive{{/if~}}
55
+ {{~#if this.show}} show{{/if~}}>
56
+ <ng-container i18n>{{this.title}}</ng-container>
57
+ </rxap-table-column-option>
58
+ {{/each}}
59
+ <rxap-table-column-option name="__spinner__" hidden></rxap-table-column-option>
60
+ {{#if actionList.length}}
61
+ <rxap-table-column-option hidden name="actions">
62
+ <ng-container i18n>Actions</ng-container>
63
+ </rxap-table-column-option>
64
+ {{/if}}
65
+ {{#if hasShowArchivedSlide}}
66
+ <mat-divider></mat-divider>
67
+ <span mat-menu-item>
68
+ <rxap-table-show-archived-slide></rxap-table-show-archived-slide>
69
+ </span>
70
+ {{/if}}
71
+ </rxap-table-column-menu>
72
+ </mat-card-header>
73
+
74
+ <mat-card-content>
75
+ <rxap-data-source-error
76
+ [loading]="tableDataSourceDirective.loading$"
77
+ [error]="tableDataSourceDirective.dataSource?.error$"
78
+ *ngIf="tableDataSourceDirective.hasError$ | async"
79
+ [refresh]="tableDataSourceDirective.retry">
80
+ </rxap-data-source-error>
81
+ <div class="table-scroll-container mt-4 overflow-x-auto overscroll-auto">
82
+ <table
83
+ [ngClass]="{ 'hidden': tableDataSourceDirective.hasError$ | async }"
84
+ matSort
85
+ mat-table
86
+ #tableDataSourceDirective="rxapTableDataSource"
87
+ rxapTableDataSource
88
+ [parameters]="parameters"
89
+ id="{{name}}"
90
+ {{#if hasColumnWithFilter}}rxap-filter-header-row{{/if~}}
91
+ >
92
+ <!-- region columns -->
93
+ <ng-container matColumnDef="tree" sticky>
94
+ <th *matHeaderCellDef mat-header-cell></th>
95
+ <td
96
+ *matCellDef="let element"
97
+ [rxap-tree-control-cell]="element"
98
+ mat-cell
99
+ ></td>
100
+ </ng-container>
101
+ <ng-container matColumnDef="__spinner__">
102
+ <th *matHeaderCellDef mat-header-cell></th>
103
+ <td *matCellDef="let element" mat-cell>
104
+ <mat-spinner
105
+ *ngIf="element.__metadata__?.loading$ | async"
106
+ diameter="15"
107
+ ></mat-spinner>
108
+ </td>
109
+ </ng-container>
110
+ {{#if selectColumn}}
111
+ <!-- region select column -->
112
+ <ng-container matColumnDef="select" sticky>
113
+ <th mat-header-cell rxap-checkbox-header-cell *matHeaderCellDef></th>
114
+ <td
115
+ mat-cell
116
+ rxap-checkbox-cell
117
+ [element]="element"
118
+ *matCellDef="let element"
119
+ ></td>
120
+ </ng-container>
121
+ <!-- endregion -->
122
+ {{/if}}
123
+ {{#if actionList.length}}
124
+ <!-- region actions column -->
125
+ <ng-container matColumnDef="actions" stickyEnd>
126
+ <th mat-header-cell *matHeaderCellDef>
127
+ {{#if selectColumn}}
128
+ <!-- region header actions -->
129
+ <div class="flex flex-row" *rxapSelectedRows="let selected">
130
+ {{#each actionList}}
131
+ {{#if this.inHeader}}
132
+ <button
133
+ rxapTableRowHeaderAction="{{this.type}}"
134
+ mat-icon-button
135
+ {{#if this.color}}color="{{this.color}}"{{/if~}}
136
+ {{#if this.cssClass}}class="{{this.cssClass}}"{{/if~}}
137
+ *ngIf="selected | rxapRowActionCheck:'{{this.type}}'"
138
+ {{#if this.permission}}rxapHasEnablePermission="{{this.permission}}"{{/if~}}
139
+ matTooltip
140
+ >
141
+ {{#if this.icon}}
142
+ <mat-icon>{{this.icon}}</mat-icon>
143
+ {{else if this.svgIcon}}
144
+ <mat-icon svgIcon="{{this.svgIcon}}"></mat-icon>
145
+ {{else}}
146
+ <mat-icon>{{this.type}}</mat-icon>
147
+ {{/if}}
148
+ <mat-progress-bar
149
+ *rxapTableRowActionExecuting
150
+ mode="indeterminate"
151
+ ></mat-progress-bar>
152
+ </button>
153
+ {{/if}}
154
+ {{/each}}
155
+ </div>
156
+ <!-- endregion -->
157
+ {{/if}}
158
+ </th>
159
+
160
+ <td mat-cell *matCellDef="let element">
161
+ <div class="flex flex-row">
162
+ {{#each actionList}}
163
+ <button
164
+ rxapTableRowAction="{{this.type}}"
165
+ [element]="element"
166
+ {{#if this.color}}color="{{this.color}}"{{/if~}}
167
+ {{#if this.cssClass}}class="{{this.cssClass}}"{{/if~}}
168
+ mat-icon-button
169
+ *ngIf="element | rxapRowActionCheck:'{{this.type}}'"
170
+ {{#if this.permission}}rxapHasEnablePermission="{{this.permission}}"{{/if~}}
171
+ matTooltip
172
+ >
173
+ {{#if this.icon}}
174
+ <mat-icon>{{this.icon}}</mat-icon>
175
+ {{else if this.svgIcon}}
176
+ <mat-icon svgIcon="{{this.svgIcon}}"></mat-icon>
177
+ {{else}}
178
+ <mat-icon>{{this.type}}</mat-icon>
179
+ {{/if}}
180
+ <mat-progress-bar
181
+ *rxapTableRowActionExecuting
182
+ mode="indeterminate"
183
+ ></mat-progress-bar>
184
+ </button>
185
+ {{/each}}
186
+ </div>
187
+ </td>
188
+ </ng-container>
189
+ <!-- endregion -->
190
+
191
+ {{/if}}
192
+ {{#each columnList}}
193
+ {{ indent (compile this.handlebars column=this) 10 }}
194
+ {{/each}}
195
+
196
+ <!-- endregion -->
197
+ {{#if hasColumnWithFilter}}
198
+ <!-- region filter columns -->
199
+ <ng-container matColumnDef="filter_tree" stickyEnd>
200
+ <th mat-header-cell *matHeaderCellDef></th>
201
+ </ng-container>
202
+ <ng-container matColumnDef="filter___spinner__" stickyEnd>
203
+ <th mat-header-cell *matHeaderCellDef></th>
204
+ </ng-container>
205
+ {{#if selectColumn}}
206
+ <ng-container matColumnDef="filter_select" sticky>
207
+ <th mat-header-cell *matHeaderCellDef></th>
208
+ </ng-container>
209
+ {{/if}}
210
+ {{#if actionList.length}}
211
+ <ng-container matColumnDef="filter_actions" stickyEnd>
212
+ <th mat-header-cell *matHeaderCellDef></th>
213
+ </ng-container>
214
+ {{/if}}
215
+ {{#each columnList}}
216
+ <ng-container matColumnDef="filter_{{this.name}}">
217
+ <th mat-header-cell *matHeaderCellDef>
218
+ {{#if this.hasFilter}}
219
+ {{ indent (compile this.filterControl.handlebars column=this control=this.filterControl parentControlContainer=true) 14 }}
220
+ {{/if}}
221
+ </th>
222
+ </ng-container>
223
+ {{/each}}
224
+
225
+ <!-- endregion -->
226
+ <tr
227
+ class="rxap-filter-header"
228
+ mat-header-row
229
+ *matHeaderRowDef="rxapTableColumns.displayColumns | toFilterColumnNames"
230
+ ></tr>
231
+ {{/if}}
232
+
233
+ <tr
234
+ mat-header-row
235
+ *matHeaderRowDef="rxapTableColumns.displayColumns"
236
+ ></tr>
237
+
238
+ <tr
239
+ [@rowsAnimation]=""
240
+ mat-row
241
+ [ngClass]="{ 'rxap-row-odd !bg-neutral-200 dark:!bg-neutral-600': odd, 'rxap-row-even': even }"
242
+ class="hover:!bg-neutral-400 dark:hover:!bg-neutral-800"
243
+ *matRowDef="
244
+ let element;
245
+ columns: rxapTableColumns.displayColumns;
246
+ let odd = odd;
247
+ let even = even
248
+ "
249
+ ></tr>
250
+ </table>
251
+ </div>
252
+ </mat-card-content>
253
+ </mat-card>
254
+ </div>
255
+ </div>
@@ -1,3 +1,4 @@
1
+ import { BuildNestControllerNameOptions } from '@rxap/schematics-ts-morph';
1
2
  import { Normalized } from '@rxap/utilities';
2
3
  import { NormalizedAngularOptions } from '../../../lib/angular-options';
3
4
  import { NormalizedTreeTableOptions } from '../../../lib/tree-table-options';
@@ -7,4 +8,6 @@ export interface NormalizedTreeTableComponentOptions extends Readonly<Normalized
7
8
  controllerName: string;
8
9
  }
9
10
  export declare function NormalizedTreeTableComponentOptions(options: Readonly<TreeTableComponentOptions>): Readonly<NormalizedTreeTableComponentOptions>;
11
+ export declare function BuildTreeTableGetRootOperationId(normalizedOptions: NormalizedAngularOptions & BuildNestControllerNameOptions): string;
12
+ export declare function BuildTreeTableGeChildrenOperationId(normalizedOptions: NormalizedAngularOptions & BuildNestControllerNameOptions): string;
10
13
  export default function (options: TreeTableComponentOptions): () => import("@angular-devkit/schematics").Rule;