@rxap/schematic-angular 16.2.0-dev.0 → 16.2.0-dev.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (267) hide show
  1. package/CHANGELOG.md +111 -0
  2. package/README.md +1 -1
  3. package/package.json +15 -12
  4. package/src/lib/accordion-header.d.ts +32 -0
  5. package/src/lib/accordion-header.js +54 -0
  6. package/src/lib/accordion-header.js.map +1 -0
  7. package/src/lib/accordion-identifier.d.ts +10 -0
  8. package/src/lib/accordion-identifier.js +15 -0
  9. package/src/lib/accordion-identifier.js.map +1 -0
  10. package/src/lib/accordion-item.d.ts +80 -6
  11. package/src/lib/accordion-item.js +164 -21
  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/adapter-options.d.ts +1 -1
  17. package/src/lib/adapter-options.js +2 -2
  18. package/src/lib/adapter-options.js.map +1 -1
  19. package/src/lib/coerce-accordion-component.d.ts +6 -0
  20. package/src/lib/coerce-accordion-component.js +67 -0
  21. package/src/lib/coerce-accordion-component.js.map +1 -0
  22. package/src/lib/coerce-accordion-item-table-component.d.ts +7 -0
  23. package/src/lib/coerce-accordion-item-table-component.js +41 -0
  24. package/src/lib/coerce-accordion-item-table-component.js.map +1 -0
  25. package/src/lib/coerce-form-component.d.ts +6 -0
  26. package/src/lib/coerce-form-component.js +71 -0
  27. package/src/lib/coerce-form-component.js.map +1 -0
  28. package/src/lib/coerce-minimum-table-component.d.ts +6 -0
  29. package/src/lib/coerce-minimum-table-component.js +101 -0
  30. package/src/lib/coerce-minimum-table-component.js.map +1 -0
  31. package/src/lib/coerce-tree-table-component.d.ts +6 -0
  32. package/src/lib/coerce-tree-table-component.js +28 -0
  33. package/src/lib/coerce-tree-table-component.js.map +1 -0
  34. package/src/lib/data-grid-item.d.ts +9 -6
  35. package/src/lib/data-grid-item.js +4 -18
  36. package/src/lib/data-grid-item.js.map +1 -1
  37. package/src/lib/data-grid-options.d.ts +3 -1
  38. package/src/lib/data-grid-options.js +7 -3
  39. package/src/lib/data-grid-options.js.map +1 -1
  40. package/src/lib/existing-method.d.ts +1 -1
  41. package/src/lib/existing-method.js +2 -2
  42. package/src/lib/existing-method.js.map +1 -1
  43. package/src/lib/form/generate-form-template.d.ts +5 -0
  44. package/src/lib/form/generate-form-template.js +12 -0
  45. package/src/lib/form/generate-form-template.js.map +1 -0
  46. package/src/lib/form-component-control.d.ts +5 -10
  47. package/src/lib/form-component-control.js +3 -34
  48. package/src/lib/form-component-control.js.map +1 -1
  49. package/src/lib/form-control.d.ts +125 -0
  50. package/src/lib/form-control.js +304 -0
  51. package/src/lib/form-control.js.map +1 -0
  52. package/src/lib/form-definition-control.d.ts +5 -15
  53. package/src/lib/form-definition-control.js +18 -49
  54. package/src/lib/form-definition-control.js.map +1 -1
  55. package/src/lib/load-handlebars-template.d.ts +3 -0
  56. package/src/lib/load-handlebars-template.js +24 -0
  57. package/src/lib/load-handlebars-template.js.map +1 -0
  58. package/src/lib/mat-form-field-default-options.d.ts +7 -0
  59. package/src/lib/mat-form-field-default-options.js +10 -0
  60. package/src/lib/mat-form-field-default-options.js.map +1 -0
  61. package/src/lib/merge-with-column-list.d.ts +3 -0
  62. package/src/lib/merge-with-column-list.js +18 -0
  63. package/src/lib/merge-with-column-list.js.map +1 -0
  64. package/src/lib/minimum-table-component-options.d.ts +14 -4
  65. package/src/lib/minimum-table-component-options.js +18 -20
  66. package/src/lib/minimum-table-component-options.js.map +1 -1
  67. package/src/lib/minimum-table-options.d.ts +11 -6
  68. package/src/lib/minimum-table-options.js +17 -5
  69. package/src/lib/minimum-table-options.js.map +1 -1
  70. package/src/lib/persistent.d.ts +30 -0
  71. package/src/lib/persistent.js +39 -0
  72. package/src/lib/persistent.js.map +1 -0
  73. package/src/lib/table/table-filter-column-rule.d.ts +13 -0
  74. package/src/lib/table/table-filter-column-rule.js +88 -0
  75. package/src/lib/table/table-filter-column-rule.js.map +1 -0
  76. package/src/lib/table-action.d.ts +3 -1
  77. package/src/lib/table-action.js.map +1 -1
  78. package/src/lib/table-column.d.ts +38 -6
  79. package/src/lib/table-column.js +220 -67
  80. package/src/lib/table-column.js.map +1 -1
  81. package/src/lib/table-options.d.ts +10 -3
  82. package/src/lib/table-options.js +13 -2
  83. package/src/lib/table-options.js.map +1 -1
  84. package/src/lib/tree-table-options.d.ts +9 -3
  85. package/src/lib/tree-table-options.js +12 -2
  86. package/src/lib/tree-table-options.js.map +1 -1
  87. package/src/lib/use-pick-from-table-interface-as-form-type.d.ts +10 -0
  88. package/src/lib/use-pick-from-table-interface-as-form-type.js +32 -0
  89. package/src/lib/use-pick-from-table-interface-as-form-type.js.map +1 -0
  90. package/src/schematics/accordion/accordion-component/files/component/__componentName__.component.html.hbs +25 -0
  91. package/src/schematics/accordion/accordion-component/index.d.ts +10 -3
  92. package/src/schematics/accordion/accordion-component/index.js +106 -127
  93. package/src/schematics/accordion/accordion-component/index.js.map +1 -1
  94. package/src/schematics/accordion/accordion-component/schema.d.ts +8 -2
  95. package/src/schematics/accordion/accordion-component/schema.json +354 -84
  96. package/src/schematics/accordion/accordion-component/template.schema.json +102 -0
  97. package/src/schematics/accordion/accordion-item-component/index.d.ts +4 -3
  98. package/src/schematics/accordion/accordion-item-component/index.js +91 -108
  99. package/src/schematics/accordion/accordion-item-component/index.js.map +1 -1
  100. package/src/schematics/accordion/accordion-item-component/schema.d.ts +3 -5
  101. package/src/schematics/accordion/accordion-item-component/schema.json +281 -72
  102. package/src/schematics/accordion/accordion-item-component/template.schema.json +33 -0
  103. package/src/schematics/accordion/item/accordion-item-data-grid-component/index.d.ts +2 -3
  104. package/src/schematics/accordion/item/accordion-item-data-grid-component/index.js +44 -52
  105. package/src/schematics/accordion/item/accordion-item-data-grid-component/index.js.map +1 -1
  106. package/src/schematics/accordion/item/accordion-item-data-grid-component/schema.d.ts +2 -5
  107. package/src/schematics/accordion/item/accordion-item-data-grid-component/schema.json +366 -103
  108. package/src/schematics/accordion/item/accordion-item-data-grid-component/template.schema.json +31 -0
  109. package/src/schematics/accordion/item/accordion-item-switch-component/index.d.ts +2 -15
  110. package/src/schematics/accordion/item/accordion-item-switch-component/index.js +4 -27
  111. package/src/schematics/accordion/item/accordion-item-switch-component/index.js.map +1 -1
  112. package/src/schematics/accordion/item/accordion-item-switch-component/schema.d.ts +2 -17
  113. package/src/schematics/accordion/item/accordion-item-switch-component/schema.json +317 -179
  114. package/src/schematics/accordion/item/accordion-item-switch-component/template.schema.json +84 -0
  115. package/src/schematics/accordion/item/accordion-item-table-component/index.d.ts +2 -3
  116. package/src/schematics/accordion/item/accordion-item-table-component/index.js +13 -10
  117. package/src/schematics/accordion/item/accordion-item-table-component/index.js.map +1 -1
  118. package/src/schematics/accordion/item/accordion-item-table-component/schema.d.ts +2 -5
  119. package/src/schematics/accordion/item/accordion-item-table-component/schema.json +598 -242
  120. package/src/schematics/accordion/item/accordion-item-table-component/template.schema.json +46 -0
  121. package/src/schematics/accordion/item/accordion-item-tree-table-component/index.d.ts +2 -3
  122. package/src/schematics/accordion/item/accordion-item-tree-table-component/index.js +17 -12
  123. package/src/schematics/accordion/item/accordion-item-tree-table-component/index.js.map +1 -1
  124. package/src/schematics/accordion/item/accordion-item-tree-table-component/schema.d.ts +2 -5
  125. package/src/schematics/accordion/item/accordion-item-tree-table-component/schema.json +573 -247
  126. package/src/schematics/accordion/item/accordion-item-tree-table-component/template.schema.json +46 -0
  127. package/src/schematics/accordion/templates/accordion-header.hbs +6 -0
  128. package/src/schematics/accordion/templates/data-grid-accordion-item.hbs +15 -0
  129. package/src/schematics/accordion/templates/default-accordion-item.hbs +15 -0
  130. package/src/schematics/accordion/templates/switch-accordion-item.hbs +21 -0
  131. package/src/schematics/accordion/templates/table-accordion-item.hbs +15 -0
  132. package/src/schematics/accordion/templates/tree-table-accordion-item.hbs +15 -0
  133. package/src/schematics/accordion-item.schema.json +35 -0
  134. package/src/schematics/angular.schema.json +2 -10
  135. package/src/schematics/backend.schema.json +13 -0
  136. package/src/schematics/button.schema.json +30 -0
  137. package/src/schematics/data-grid-component/files/component/__componentName__.component.html.hbs +34 -0
  138. package/src/schematics/data-grid-component/index.d.ts +0 -1
  139. package/src/schematics/data-grid-component/index.js +83 -47
  140. package/src/schematics/data-grid-component/index.js.map +1 -1
  141. package/src/schematics/data-grid-component/schema.json +336 -101
  142. package/src/schematics/data-grid-component/template.schema.json +23 -0
  143. package/src/schematics/data-grid-item.schema.json +23 -0
  144. package/src/schematics/data-grid.schema.json +44 -0
  145. package/src/schematics/dialog-component/schema.json +225 -66
  146. package/src/schematics/dialog-component/template.schema.json +65 -0
  147. package/src/schematics/form/control/input-form-control/index.d.ts +2 -2
  148. package/src/schematics/form/control/input-form-control/index.js +4 -22
  149. package/src/schematics/form/control/input-form-control/index.js.map +1 -1
  150. package/src/schematics/form/control/input-form-control/schema.d.ts +2 -3
  151. package/src/schematics/form/control/input-form-control/schema.json +380 -108
  152. package/src/schematics/form/control/input-form-control/template.schema.json +23 -0
  153. package/src/schematics/form/control/select-form-control/index.d.ts +4 -2
  154. package/src/schematics/form/control/select-form-control/index.js +132 -96
  155. package/src/schematics/form/control/select-form-control/index.js.map +1 -1
  156. package/src/schematics/form/control/select-form-control/schema.d.ts +2 -3
  157. package/src/schematics/form/control/select-form-control/schema.json +386 -94
  158. package/src/schematics/form/control/select-form-control/template.schema.json +23 -0
  159. package/src/schematics/form/control/table-select-form-control/index.d.ts +4 -6
  160. package/src/schematics/form/control/table-select-form-control/index.js +80 -69
  161. package/src/schematics/form/control/table-select-form-control/index.js.map +1 -1
  162. package/src/schematics/form/control/table-select-form-control/schema.d.ts +2 -4
  163. package/src/schematics/form/control/table-select-form-control/schema.json +434 -97
  164. package/src/schematics/form/control/table-select-form-control/template.schema.json +78 -0
  165. package/src/schematics/form/form-component/files/component/{__componentName__.component.html.template → __componentName__.component.html.hbs} +3 -3
  166. package/src/schematics/form/form-component/index.d.ts +4 -2
  167. package/src/schematics/form/form-component/index.js +14 -5
  168. package/src/schematics/form/form-component/index.js.map +1 -1
  169. package/src/schematics/form/form-component/schema.d.ts +3 -1
  170. package/src/schematics/form/form-component/schema.json +342 -95
  171. package/src/schematics/form/form-component/template.schema.json +23 -0
  172. package/src/schematics/form/form-control/index.d.ts +3 -1
  173. package/src/schematics/form/form-control/index.js +19 -8
  174. package/src/schematics/form/form-control/index.js.map +1 -1
  175. package/src/schematics/form/form-control/schema.json +316 -83
  176. package/src/schematics/form/form-control/template.schema.json +37 -0
  177. package/src/schematics/form/form-definition/index.js +14 -1
  178. package/src/schematics/form/form-definition/index.js.map +1 -1
  179. package/src/schematics/form/form-definition/schema.d.ts +1 -1
  180. package/src/schematics/form/form-definition/schema.json +289 -59
  181. package/src/schematics/form/form-definition/template.schema.json +33 -0
  182. package/src/schematics/form/templates/checkbox-form-control.hbs +9 -0
  183. package/src/schematics/form/templates/default-form-control.hbs +2 -0
  184. package/src/schematics/form/templates/input-form-control.hbs +9 -0
  185. package/src/schematics/form/templates/mat-form-field.hbs +31 -0
  186. package/src/schematics/form/templates/slide-toggle-form-control.hbs +8 -0
  187. package/src/schematics/form/templates/table-select-form-control.hbs +18 -0
  188. package/src/schematics/form-component.schema.json +39 -0
  189. package/src/schematics/form-control.schema.json +68 -0
  190. package/src/schematics/form-definition.schema.json +22 -0
  191. package/src/schematics/form-field.schema.json +24 -0
  192. package/src/schematics/header-button.schema.json +42 -0
  193. package/src/schematics/input-form-control.schema.json +47 -0
  194. package/src/schematics/minimum-table.schema.json +54 -0
  195. package/src/schematics/property.schema.json +28 -0
  196. package/src/schematics/select-form-control.schema.json +53 -0
  197. package/src/schematics/table/action/dialog-table-action/schema.json +294 -133
  198. package/src/schematics/table/action/dialog-table-action/template.schema.json +61 -0
  199. package/src/schematics/table/action/form-table-action/schema.json +392 -172
  200. package/src/schematics/table/action/form-table-action/template.schema.json +75 -0
  201. package/src/schematics/table/action/navigation-table-action/schema.json +272 -88
  202. package/src/schematics/table/action/navigation-table-action/template.schema.json +31 -0
  203. package/src/schematics/table/action/open-api-table-action/schema.json +288 -102
  204. package/src/schematics/table/action/open-api-table-action/template.schema.json +59 -0
  205. package/src/schematics/table/action/operation-table-action/schema.json +259 -92
  206. package/src/schematics/table/action/operation-table-action/template.schema.json +17 -0
  207. package/src/schematics/table/header-button/form-table-header-button/schema.json +325 -126
  208. package/src/schematics/table/header-button/form-table-header-button/template.schema.json +51 -0
  209. package/src/schematics/table/header-button/navigation-table-header-button/schema.json +254 -81
  210. package/src/schematics/table/header-button/navigation-table-header-button/template.schema.json +31 -0
  211. package/src/schematics/table/table-action/schema.json +254 -87
  212. package/src/schematics/table/table-action/template.schema.json +30 -0
  213. package/src/schematics/table/table-component/files/component/__componentName__.component.html.hbs +241 -0
  214. package/src/schematics/table/table-component/index.d.ts +2 -2
  215. package/src/schematics/table/table-component/index.js +15 -105
  216. package/src/schematics/table/table-component/index.js.map +1 -1
  217. package/src/schematics/table/table-component/schema.json +461 -197
  218. package/src/schematics/table/table-component/template.schema.json +26 -0
  219. package/src/schematics/table/table-header-button/schema.json +235 -73
  220. package/src/schematics/table/table-header-button/template.schema.json +30 -0
  221. package/src/schematics/table/templates/boolean-table-column.hbs +10 -0
  222. package/src/schematics/table/templates/component-table-column.hbs +12 -0
  223. package/src/schematics/table/templates/copy-to-clipboard-table-column.hbs +10 -0
  224. package/src/schematics/table/templates/date-table-column.hbs +11 -0
  225. package/src/schematics/table/templates/default-table-column.hbs +8 -0
  226. package/src/schematics/table/templates/icon-table-column.hbs +10 -0
  227. package/src/schematics/table/templates/link-table-column.hbs +10 -0
  228. package/src/schematics/table/tree-table-component/files/component/__componentName__.component.html.hbs +249 -0
  229. package/src/schematics/table/tree-table-component/index.js +16 -7
  230. package/src/schematics/table/tree-table-component/index.js.map +1 -1
  231. package/src/schematics/table/tree-table-component/schema.json +524 -260
  232. package/src/schematics/table/tree-table-component/template.schema.json +26 -0
  233. package/src/schematics/table-action.schema.json +61 -0
  234. package/src/schematics/table-column.schema.json +69 -0
  235. package/src/schematics/table.schema.json +54 -0
  236. package/src/schematics/tree-component/schema.json +113 -76
  237. package/src/schematics/tree-component/template.schema.json +31 -0
  238. package/src/schematics/tree-table.schema.json +40 -0
  239. package/src/schematics/type.schema.json +35 -0
  240. package/src/schematics/upstream.schema.json +56 -0
  241. package/src/lib/accordion-itme-types.d.ts +0 -8
  242. package/src/lib/accordion-itme-types.js +0 -16
  243. package/src/lib/accordion-itme-types.js.map +0 -1
  244. package/src/lib/table-property.d.ts +0 -14
  245. package/src/lib/table-property.js +0 -46
  246. package/src/lib/table-property.js.map +0 -1
  247. package/src/lib/type-import.d.ts +0 -4
  248. package/src/lib/type-import.js +0 -38
  249. package/src/lib/type-import.js.map +0 -1
  250. package/src/schematics/accordion/accordion-component/files/component/__componentName__.component.html.template +0 -79
  251. package/src/schematics/accordion/accordion-component/files/component/__componentName__.component.ts.template +0 -54
  252. package/src/schematics/accordion/accordion-component/files/header-component/accordion-header.component.html.template +0 -5
  253. package/src/schematics/accordion/accordion-component/files/header-component/accordion-header.component.ts.template +0 -14
  254. package/src/schematics/accordion/accordion-item-component/files/component/__componentName__.component.ts.template +0 -30
  255. package/src/schematics/accordion/item/accordion-item-data-grid-component/files/data-grid/__componentName__.component.ts.template +0 -14
  256. package/src/schematics/accordion/item/accordion-item-data-grid-component/files/data-grid-collection/__componentName__.component.ts.template +0 -32
  257. package/src/schematics/accordion/item/accordion-item-table-component/files/component/__componentName__.component.ts.template +0 -35
  258. package/src/schematics/accordion/item/accordion-item-tree-table-component/files/component/__componentName__.component.ts.template +0 -34
  259. package/src/schematics/data-grid-component/files/form/__componentName__.component.html.template +0 -42
  260. package/src/schematics/data-grid-component/files/form/__componentName__.component.ts.template +0 -43
  261. package/src/schematics/data-grid-component/files/plain/__componentName__.component.html.template +0 -25
  262. package/src/schematics/data-grid-component/files/plain/__componentName__.component.ts.template +0 -36
  263. package/src/schematics/form/form-component/files/component/__componentName__.component.ts.template +0 -50
  264. package/src/schematics/table/table-component/files/component/__componentName__.component.html.template +0 -299
  265. package/src/schematics/table/table-component/files/component/__componentName__.component.ts.template +0 -112
  266. package/src/schematics/table/tree-table-component/files/component/__componentName__.component.html.template +0 -213
  267. package/src/schematics/table/tree-table-component/files/component/__componentName__.component.ts.template +0 -113
@@ -1,121 +1,307 @@
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": "open-api-table-action-schematic",
4
+ "allOf": [
5
+ {
6
+ "allOf": [
7
+ {
8
+ "allOf": [
9
+ {
10
+ "type": "object",
11
+ "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"
19
+ },
20
+ "overwrite": {
21
+ "anyOf": [
22
+ {
23
+ "type": "boolean"
24
+ },
25
+ {
26
+ "type": "array",
27
+ "items": {
28
+ "type": "string"
29
+ }
30
+ }
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
42
+ }
43
+ },
44
+ "required": [
45
+ "project"
46
+ ]
47
+ },
48
+ {
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"
90
+ },
91
+ "prefix": {
92
+ "type": "string"
93
+ },
94
+ "openApi": {
95
+ "type": "object",
96
+ "additionalProperties": true
97
+ }
98
+ }
99
+ }
100
+ ]
101
+ },
102
+ {
103
+ "type": "object",
104
+ "properties": {
105
+ "type": {
106
+ "type": "string"
107
+ },
108
+ "refresh": {
109
+ "type": "boolean"
110
+ },
111
+ "confirm": {
112
+ "type": "boolean"
113
+ },
114
+ "tooltip": {
115
+ "type": "string"
116
+ },
117
+ "errorMessage": {
118
+ "type": "string"
119
+ },
120
+ "successMessage": {
121
+ "type": "string"
122
+ },
123
+ "priority": {
124
+ "type": "number"
125
+ },
126
+ "checkFunction": {
127
+ "type": "string"
128
+ },
129
+ "inHeader": {
130
+ "type": "boolean"
131
+ },
132
+ "role": {
133
+ "type": "string"
134
+ },
135
+ "icon": {
136
+ "type": "string"
137
+ },
138
+ "svgIcon": {
139
+ "type": "string"
140
+ },
141
+ "permission": {
142
+ "type": "string"
143
+ },
144
+ "color": {
145
+ "type": "string",
146
+ "description": "Value for the color input of the mat-button / mat-icon component"
147
+ },
148
+ "cssClass": {
149
+ "type": "string",
150
+ "description": "Additional CSS classes added to the button element"
151
+ },
152
+ "options": {
153
+ "type": "object",
154
+ "additionalProperties": true
155
+ }
156
+ },
157
+ "required": [
158
+ "type"
159
+ ]
160
+ },
161
+ {
162
+ "type": "object",
163
+ "properties": {
164
+ "tableName": {
165
+ "alias": "table",
166
+ "type": "string",
167
+ "description": "The name of the table action"
168
+ }
169
+ }
170
+ }
171
+ ]
10
172
  },
173
+ {
174
+ "type": "object",
175
+ "properties": {
176
+ "operationId": {
177
+ "type": "string",
178
+ "description": "The open api operationId for the table action"
179
+ },
180
+ "scope": {
181
+ "type": "string",
182
+ "description": "The scope of package for the openapi classes"
183
+ },
184
+ "body": {
185
+ "oneOf": [
186
+ {
187
+ "type": "boolean",
188
+ "description": "Pass the full row as body for the operation request"
189
+ },
190
+ {
191
+ "type": "object",
192
+ "description": "Mapping of table columns to body properties - [request property]: [table column]",
193
+ "additionalProperties": true
194
+ }
195
+ ]
196
+ },
197
+ "parameters": {
198
+ "oneOf": [
199
+ {
200
+ "type": "boolean",
201
+ "description": "Pass the full row as parameters for the operation request"
202
+ },
203
+ {
204
+ "type": "object",
205
+ "description": "Mapping of table columns to parameters properties - [request property]: [table column]",
206
+ "additionalProperties": true
207
+ }
208
+ ]
209
+ }
210
+ },
211
+ "required": [
212
+ "operationId"
213
+ ]
214
+ }
215
+ ],
216
+ "definitions": {
11
217
  "type": {
12
- "alias": "actionType",
13
- "type": "string",
14
- "description": "The table action type string",
15
- "x-prompt": "Enter the table action type string?"
16
- },
17
- "project": {
18
- "type": "string",
19
- "description": "The target project where the table action should be added."
20
- },
21
- "feature": {
22
- "type": "string",
23
- "description": "The feature name where the table action should be added.",
24
- "x-prompt": "To which feature should the table action be added?"
25
- },
26
- "backend": {
27
- "type": "string",
28
- "description": "The backend that should be used to handel data",
29
- "enum": [
30
- "none",
31
- "local",
32
- "nestjs",
33
- "open-api"
34
- ],
35
- "default": "none"
36
- },
37
- "shared": {
38
- "type": "boolean",
39
- "description": "Whether the table action is shared across applications",
40
- "default": false
41
- },
42
- "refresh": {
43
- "type": "boolean",
44
- "description": "Whether the table action should refresh the table after execution",
45
- "default": false
46
- },
47
- "confirm": {
48
- "type": "boolean",
49
- "description": "Whether the table action should confirm before execution",
50
- "default": false
51
- },
52
- "tooltip": {
53
- "type": "string",
54
- "description": "The tooltip for the table action"
55
- },
56
- "errorMessage": {
57
- "type": "string",
58
- "description": "The error message for the table action"
59
- },
60
- "successMessage": {
61
- "type": "string",
62
- "description": "The success message for the table action"
63
- },
64
- "checkFunction": {
65
- "type": "string",
66
- "description": "The check function for the table action"
67
- },
68
- "priority": {
69
- "type": "number",
70
- "description": "The priority of the table action"
71
- },
72
- "directory": {
73
- "type": "string",
74
- "description": "A directory name or absolute path for the table action. relative to the feature base path"
75
- },
76
- "operationId": {
77
- "type": "string",
78
- "description": "The open api operationId for the table action"
79
- },
80
- "scope": {
81
- "type": "string",
82
- "description": "The scope of package for the openapi classes"
83
- },
84
- "body": {
85
218
  "oneOf": [
86
219
  {
87
- "type": "boolean",
88
- "description": "Pass the full row as body for the operation request"
220
+ "type": "string"
89
221
  },
90
222
  {
91
223
  "type": "object",
92
- "description": "Mapping of table columns to body properties - [request property]: [table column]",
93
- "additionalProperties": true
224
+ "properties": {
225
+ "name": {
226
+ "type": "string"
227
+ },
228
+ "isTypeOnly": {
229
+ "type": "boolean"
230
+ },
231
+ "moduleSpecifier": {
232
+ "type": "string"
233
+ },
234
+ "namedImport": {
235
+ "type": "string"
236
+ },
237
+ "namespaceImport": {
238
+ "type": "string"
239
+ },
240
+ "defaultImport": {
241
+ "type": "string"
242
+ }
243
+ },
244
+ "required": [
245
+ "name"
246
+ ]
94
247
  }
95
248
  ]
96
249
  },
97
- "parameters": {
250
+ "property": {
98
251
  "oneOf": [
99
252
  {
100
- "type": "boolean",
101
- "description": "Pass the full row as parameters for the operation request"
253
+ "type": "string"
102
254
  },
103
255
  {
104
256
  "type": "object",
105
- "description": "Mapping of table columns to parameters properties - [request property]: [table column]",
106
- "additionalProperties": true
257
+ "properties": {
258
+ "name": {
259
+ "type": "string"
260
+ },
261
+ "type": {
262
+ "$ref": "#/definitions/type"
263
+ }
264
+ },
265
+ "required": [
266
+ "name"
267
+ ]
107
268
  }
108
- ]
109
- },
110
- "options": {
111
- "type": "object",
112
- "additionalProperties": true
269
+ ],
270
+ "definitions": {
271
+ "type": {
272
+ "oneOf": [
273
+ {
274
+ "type": "string"
275
+ },
276
+ {
277
+ "type": "object",
278
+ "properties": {
279
+ "name": {
280
+ "type": "string"
281
+ },
282
+ "isTypeOnly": {
283
+ "type": "boolean"
284
+ },
285
+ "moduleSpecifier": {
286
+ "type": "string"
287
+ },
288
+ "namedImport": {
289
+ "type": "string"
290
+ },
291
+ "namespaceImport": {
292
+ "type": "string"
293
+ },
294
+ "defaultImport": {
295
+ "type": "string"
296
+ }
297
+ },
298
+ "required": [
299
+ "name"
300
+ ]
301
+ }
302
+ ]
303
+ }
304
+ }
113
305
  }
114
- },
115
- "required": [
116
- "type",
117
- "project",
118
- "feature",
119
- "operationId"
120
- ]
121
- }
306
+ }
307
+ }
@@ -0,0 +1,59 @@
1
+ {
2
+ "$schema": "http://json-schema.org/schema",
3
+ "$id": "open-api-table-action-schematic",
4
+ "allOf": [
5
+ {
6
+ "$ref": "../../table-action/template.schema.json"
7
+ },
8
+ {
9
+ "type": "object",
10
+ "properties": {
11
+ "operationId": {
12
+ "type": "string",
13
+ "description": "The open api operationId for the table action"
14
+ },
15
+ "scope": {
16
+ "type": "string",
17
+ "description": "The scope of package for the openapi classes"
18
+ },
19
+ "body": {
20
+ "oneOf": [
21
+ {
22
+ "type": "boolean",
23
+ "description": "Pass the full row as body for the operation request"
24
+ },
25
+ {
26
+ "type": "object",
27
+ "description": "Mapping of table columns to body properties - [request property]: [table column]",
28
+ "additionalProperties": true
29
+ }
30
+ ]
31
+ },
32
+ "parameters": {
33
+ "oneOf": [
34
+ {
35
+ "type": "boolean",
36
+ "description": "Pass the full row as parameters for the operation request"
37
+ },
38
+ {
39
+ "type": "object",
40
+ "description": "Mapping of table columns to parameters properties - [request property]: [table column]",
41
+ "additionalProperties": true
42
+ }
43
+ ]
44
+ }
45
+ },
46
+ "required": [
47
+ "operationId"
48
+ ]
49
+ }
50
+ ],
51
+ "definitions": {
52
+ "type": {
53
+ "$ref": "../../../type.schema.json"
54
+ },
55
+ "property": {
56
+ "$ref": "../../../property.schema.json"
57
+ }
58
+ }
59
+ }