@rxap/schematic-angular 16.2.0-dev.20 → 16.2.0-dev.22

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 (189) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/README.md +1 -1
  3. package/collection.json +15 -0
  4. package/package.json +7 -7
  5. package/src/lib/coerce-form-component.js +15 -3
  6. package/src/lib/coerce-form-component.js.map +1 -1
  7. package/src/lib/data-grid-item.d.ts +3 -3
  8. package/src/lib/data-grid-item.js +2 -2
  9. package/src/lib/data-grid-item.js.map +1 -1
  10. package/src/lib/form/abstract-control.d.ts +29 -0
  11. package/src/lib/form/abstract-control.js +37 -0
  12. package/src/lib/form/abstract-control.js.map +1 -0
  13. package/src/lib/form/array/base-form-array.d.ts +18 -0
  14. package/src/lib/form/array/base-form-array.js +40 -0
  15. package/src/lib/form/array/base-form-array.js.map +1 -0
  16. package/src/lib/form/array/form-array-kind.d.ts +3 -0
  17. package/src/lib/form/array/form-array-kind.js +8 -0
  18. package/src/lib/form/array/form-array-kind.js.map +1 -0
  19. package/src/lib/form/array/form-array.d.ts +12 -0
  20. package/src/lib/form/array/form-array.js +18 -0
  21. package/src/lib/form/array/form-array.js.map +1 -0
  22. package/src/lib/form/coerce-control-component-imports.d.ts +3 -0
  23. package/src/lib/form/coerce-control-component-imports.js +18 -0
  24. package/src/lib/form/coerce-control-component-imports.js.map +1 -0
  25. package/src/lib/form/control/autocomplete-table-select-form-control.d.ts +6 -0
  26. package/src/lib/form/control/autocomplete-table-select-form-control.js +34 -0
  27. package/src/lib/form/control/autocomplete-table-select-form-control.js.map +1 -0
  28. package/src/lib/form/control/base-form-control.d.ts +14 -0
  29. package/src/lib/form/control/base-form-control.js +19 -0
  30. package/src/lib/form/control/base-form-control.js.map +1 -0
  31. package/src/lib/form/control/checkbox-form-control.d.ts +11 -0
  32. package/src/lib/form/control/checkbox-form-control.js +23 -0
  33. package/src/lib/form/control/checkbox-form-control.js.map +1 -0
  34. package/src/lib/form/control/form-control-kind.d.ts +9 -0
  35. package/src/lib/form/control/form-control-kind.js +14 -0
  36. package/src/lib/form/control/form-control-kind.js.map +1 -0
  37. package/src/lib/form/control/form-control.d.ts +18 -0
  38. package/src/lib/form/control/form-control.js +43 -0
  39. package/src/lib/form/control/form-control.js.map +1 -0
  40. package/src/lib/form/control/form-field-form-control.d.ts +33 -0
  41. package/src/lib/form/control/form-field-form-control.js +76 -0
  42. package/src/lib/form/control/form-field-form-control.js.map +1 -0
  43. package/src/lib/form/control/input-form-control.d.ts +14 -0
  44. package/src/lib/form/control/input-form-control.js +71 -0
  45. package/src/lib/form/control/input-form-control.js.map +1 -0
  46. package/src/lib/form/control/select-form-control.d.ts +18 -0
  47. package/src/lib/form/control/select-form-control.js +29 -0
  48. package/src/lib/form/control/select-form-control.js.map +1 -0
  49. package/src/lib/form/control/slide-toggle-form-control.d.ts +11 -0
  50. package/src/lib/form/control/slide-toggle-form-control.js +23 -0
  51. package/src/lib/form/control/slide-toggle-form-control.js.map +1 -0
  52. package/src/lib/form/control/table-select-form-control.d.ts +43 -0
  53. package/src/lib/form/control/table-select-form-control.js +69 -0
  54. package/src/lib/form/control/table-select-form-control.js.map +1 -0
  55. package/src/lib/form/control.d.ts +8 -0
  56. package/src/lib/form/control.js +38 -0
  57. package/src/lib/form/control.js.map +1 -0
  58. package/src/lib/form/generate-form-template.d.ts +2 -2
  59. package/src/lib/form/group/base-form-group.d.ts +17 -0
  60. package/src/lib/form/group/base-form-group.js +20 -0
  61. package/src/lib/form/group/base-form-group.js.map +1 -0
  62. package/src/lib/form/group/form-group-kind.d.ts +3 -0
  63. package/src/lib/form/group/form-group-kind.js +8 -0
  64. package/src/lib/form/group/form-group-kind.js.map +1 -0
  65. package/src/lib/form/group/form-group.d.ts +12 -0
  66. package/src/lib/form/group/form-group.js +18 -0
  67. package/src/lib/form/group/form-group.js.map +1 -0
  68. package/src/lib/table-column.d.ts +4 -3
  69. package/src/lib/table-column.js +5 -4
  70. package/src/lib/table-column.js.map +1 -1
  71. package/src/schema.json +1691 -1311
  72. package/src/schematic-input.schema.json +109 -156
  73. package/src/schematics/abstract-control.schema.json +78 -0
  74. package/src/schematics/accordion/accordion-component/schema.json +127 -127
  75. package/src/schematics/accordion/accordion-item-component/schema.json +18 -18
  76. package/src/schematics/accordion/item/accordion-item-data-grid-component/schema.json +685 -81
  77. package/src/schematics/accordion/item/accordion-item-switch-component/schema.json +76 -76
  78. package/src/schematics/accordion/item/accordion-item-table-component/schema.json +555 -97
  79. package/src/schematics/accordion/item/accordion-item-tree-table-component/schema.json +537 -79
  80. package/src/schematics/autocomplete-table-select-form-control.schema.json +96 -0
  81. package/src/schematics/base-form-array.schema.json +45 -0
  82. package/src/schematics/base-form-control.schema.json +27 -0
  83. package/src/schematics/base-form-group.schema.json +42 -0
  84. package/src/schematics/checkbox-form-control.schema.json +30 -0
  85. package/src/schematics/control.schema.json +26 -0
  86. package/src/schematics/data-grid-component/index.js +4 -0
  87. package/src/schematics/data-grid-component/index.js.map +1 -1
  88. package/src/schematics/data-grid-component/schema.json +685 -81
  89. package/src/schematics/data-grid-item.schema.json +3 -3
  90. package/src/schematics/form/control/autocomplete-table-select-form-control/index.d.ts +10 -0
  91. package/src/schematics/form/control/autocomplete-table-select-form-control/index.js +247 -0
  92. package/src/schematics/form/control/autocomplete-table-select-form-control/index.js.map +1 -0
  93. package/src/schematics/form/control/autocomplete-table-select-form-control/schema.d.ts +4 -0
  94. package/src/schematics/form/control/autocomplete-table-select-form-control/schema.json +453 -0
  95. package/src/schematics/form/control/autocomplete-table-select-form-control/template.schema.json +39 -0
  96. package/src/schematics/form/control/input-form-control/index.d.ts +1 -1
  97. package/src/schematics/form/control/input-form-control/index.js +4 -4
  98. package/src/schematics/form/control/input-form-control/index.js.map +1 -1
  99. package/src/schematics/form/control/input-form-control/schema.d.ts +2 -2
  100. package/src/schematics/form/control/input-form-control/schema.json +256 -86
  101. package/src/schematics/form/control/input-form-control/template.schema.json +16 -3
  102. package/src/schematics/form/control/select-form-control/index.d.ts +2 -2
  103. package/src/schematics/form/control/select-form-control/index.js +21 -14
  104. package/src/schematics/form/control/select-form-control/index.js.map +1 -1
  105. package/src/schematics/form/control/select-form-control/schema.d.ts +2 -3
  106. package/src/schematics/form/control/select-form-control/schema.json +249 -90
  107. package/src/schematics/form/control/select-form-control/template.schema.json +16 -3
  108. package/src/schematics/form/control/table-select-form-control/index.d.ts +3 -9
  109. package/src/schematics/form/control/table-select-form-control/index.js +24 -18
  110. package/src/schematics/form/control/table-select-form-control/index.js.map +1 -1
  111. package/src/schematics/form/control/table-select-form-control/schema.d.ts +2 -3
  112. package/src/schematics/form/control/table-select-form-control/schema.json +325 -123
  113. package/src/schematics/form/control/table-select-form-control/template.schema.json +16 -60
  114. package/src/schematics/form/form-array/index.d.ts +9 -0
  115. package/src/schematics/form/form-array/index.js +54 -0
  116. package/src/schematics/form/form-array/index.js.map +1 -0
  117. package/src/schematics/form/form-array/schema.d.ts +4 -0
  118. package/src/schematics/form/form-array/schema.json +906 -0
  119. package/src/schematics/form/form-array/template.schema.json +33 -0
  120. package/src/schematics/form/form-component/files/component/__componentName__.component.html.hbs +4 -1
  121. package/src/schematics/form/form-component/index.d.ts +2 -4
  122. package/src/schematics/form/form-component/index.js +8 -24
  123. package/src/schematics/form/form-component/index.js.map +1 -1
  124. package/src/schematics/form/form-component/schema.d.ts +2 -2
  125. package/src/schematics/form/form-component/schema.json +749 -86
  126. package/src/schematics/form/form-control/index.d.ts +3 -5
  127. package/src/schematics/form/form-control/index.js +8 -20
  128. package/src/schematics/form/form-control/index.js.map +1 -1
  129. package/src/schematics/form/form-control/schema.d.ts +2 -4
  130. package/src/schematics/form/form-control/schema.json +599 -59
  131. package/src/schematics/form/form-control/template.schema.json +1 -2
  132. package/src/schematics/form/form-definition/index.d.ts +2 -2
  133. package/src/schematics/form/form-definition/index.js +28 -15
  134. package/src/schematics/form/form-definition/index.js.map +1 -1
  135. package/src/schematics/form/form-definition/schema.d.ts +2 -2
  136. package/src/schematics/form/form-definition/schema.json +743 -56
  137. package/src/schematics/form/form-group/index.d.ts +9 -0
  138. package/src/schematics/form/form-group/index.js +54 -0
  139. package/src/schematics/form/form-group/index.js.map +1 -0
  140. package/src/schematics/form/form-group/schema.d.ts +4 -0
  141. package/src/schematics/form/form-group/schema.json +906 -0
  142. package/src/schematics/form/form-group/template.schema.json +33 -0
  143. package/src/schematics/form/templates/checkbox-form-control.hbs +1 -1
  144. package/src/schematics/form/templates/default-form-array.hbs +27 -0
  145. package/src/schematics/form/templates/default-form-group.hbs +13 -0
  146. package/src/schematics/form/templates/input-form-control.hbs +7 -7
  147. package/src/schematics/form/templates/select-form-control.hbs +5 -0
  148. package/src/schematics/form/templates/table-select-form-control.hbs +16 -16
  149. package/src/schematics/form-array.schema.json +40 -0
  150. package/src/schematics/form-control.schema.json +69 -54
  151. package/src/schematics/form-definition.schema.json +3 -3
  152. package/src/schematics/form-group.schema.json +40 -0
  153. package/src/schematics/input-form-control.schema.json +10 -6
  154. package/src/schematics/select-form-control.schema.json +8 -4
  155. package/src/schematics/slide-toggle-form-control.schema.json +30 -0
  156. package/src/schematics/table/action/dialog-table-action/schema.json +20 -20
  157. package/src/schematics/table/action/form-table-action/index.d.ts +2 -2
  158. package/src/schematics/table/action/form-table-action/index.js +3 -4
  159. package/src/schematics/table/action/form-table-action/index.js.map +1 -1
  160. package/src/schematics/table/action/form-table-action/schema.d.ts +2 -2
  161. package/src/schematics/table/action/form-table-action/schema.json +750 -87
  162. package/src/schematics/table/action/navigation-table-action/schema.json +20 -20
  163. package/src/schematics/table/action/open-api-table-action/schema.json +20 -20
  164. package/src/schematics/table/action/operation-table-action/schema.json +20 -20
  165. package/src/schematics/table/header-button/form-table-header-button/index.d.ts +2 -2
  166. package/src/schematics/table/header-button/form-table-header-button/index.js +2 -2
  167. package/src/schematics/table/header-button/form-table-header-button/index.js.map +1 -1
  168. package/src/schematics/table/header-button/form-table-header-button/schema.d.ts +2 -2
  169. package/src/schematics/table/header-button/form-table-header-button/schema.json +818 -81
  170. package/src/schematics/table/header-button/form-table-header-button/template.schema.json +4 -22
  171. package/src/schematics/table/header-button/navigation-table-header-button/schema.json +20 -20
  172. package/src/schematics/table/table-action/schema.json +47 -47
  173. package/src/schematics/table/table-component/index.d.ts +2 -2
  174. package/src/schematics/table/table-component/schema.json +537 -79
  175. package/src/schematics/table/table-header-button/schema.json +40 -40
  176. package/src/schematics/table/tree-table-component/files/component/__componentName__.component.html.hbs +1 -1
  177. package/src/schematics/table/tree-table-component/schema.json +521 -63
  178. package/src/schematics/table-select-form-control.schema.json +96 -0
  179. package/src/schematics/textarea-form-control.schema.json +32 -0
  180. package/src/template.schema.json +45 -0
  181. package/src/lib/form-component-control.d.ts +0 -8
  182. package/src/lib/form-component-control.js +0 -15
  183. package/src/lib/form-component-control.js.map +0 -1
  184. package/src/lib/form-control.d.ts +0 -136
  185. package/src/lib/form-control.js +0 -265
  186. package/src/lib/form-control.js.map +0 -1
  187. package/src/lib/form-definition-control.d.ts +0 -5
  188. package/src/lib/form-definition-control.js +0 -30
  189. package/src/lib/form-definition-control.js.map +0 -1
package/src/schema.json CHANGED
@@ -13,155 +13,75 @@
13
13
  }
14
14
  ],
15
15
  "definitions": {
16
- "tableComponentSchematic": {
17
- "allOf": [
18
- {
19
- "$ref": "#/definitions/angular"
20
- },
21
- {
22
- "$ref": "#/definitions/table"
23
- }
24
- ]
25
- },
26
- "treeTableComponentSchematic": {
27
- "allOf": [
28
- {
29
- "$ref": "#/definitions/angular"
30
- },
31
- {
32
- "$ref": "#/definitions/treeTable"
33
- }
34
- ]
35
- },
36
- "formComponentSchematic": {
37
- "allOf": [
38
- {
39
- "$ref": "#/definitions/angular"
40
- },
41
- {
42
- "$ref": "#/definitions/formComponent"
43
- }
44
- ]
45
- },
46
- "formDefinitionSchematic": {
47
- "allOf": [
48
- {
49
- "$ref": "#/definitions/angular"
50
- },
51
- {
52
- "$ref": "#/definitions/formDefinition"
53
- },
54
- {
55
- "type": "object",
56
- "properties": {
57
- "standalone": {
58
- "type": "boolean",
59
- "description": "Whether the form definition has a form.provider file",
60
- "default": true
61
- }
62
- }
63
- }
64
- ]
65
- },
66
- "tableActionSchematic": {
67
- "allOf": [
68
- {
69
- "$ref": "#/definitions/angular"
70
- },
71
- {
72
- "$ref": "#/definitions/tableAction"
73
- },
74
- {
75
- "type": "object",
76
- "properties": {
77
- "tableName": {
78
- "alias": "table",
79
- "type": "string",
80
- "description": "The name of the table action"
81
- }
82
- }
83
- }
84
- ]
85
- },
86
- "tableHeaderButtonSchematic": {
16
+ "abstractControl": {
87
17
  "allOf": [
88
18
  {
89
- "$ref": "#/definitions/angular"
90
- },
91
- {
92
- "$ref": "#/definitions/headerButton"
19
+ "$ref": "#/definitions/property"
93
20
  },
94
21
  {
95
22
  "type": "object",
96
23
  "properties": {
97
- "tableName": {
98
- "alias": "table",
24
+ "name": {
99
25
  "type": "string",
100
- "description": "The name of the table action"
101
- }
102
- }
103
- }
104
- ]
105
- },
106
- "formTableHeaderButtonSchematic": {
107
- "allOf": [
108
- {
109
- "$ref": "#/definitions/tableHeaderButtonSchematic"
110
- },
111
- {
112
- "type": "object",
113
- "properties": {
114
- "formComponent": {
115
- "type": "string"
26
+ "description": "The name of the control"
116
27
  },
117
- "customComponent": {
28
+ "isArray": {
118
29
  "type": "boolean",
119
- "default": false,
120
- "description": "If true the schematic will not coerce the form component"
30
+ "description": "Whether the control value is an array",
31
+ "default": false
121
32
  },
122
- "formOptions": {
123
- "type": "object",
124
- "properties": {
125
- "role": {
126
- "type": "string",
127
- "description": "Define the role of the form"
128
- },
129
- "window": {
130
- "type": "boolean",
131
- "description": "Whether the form can be opened in a window"
132
- },
133
- "controlList": {
134
- "alias": "control",
135
- "type": "array",
136
- "items": {
137
- "$ref": "#/definitions/formControl"
138
- }
139
- }
140
- },
141
- "additionalProperties": true
142
- }
143
- }
144
- }
145
- ]
146
- },
147
- "navigationTableHeaderButtonSchematic": {
148
- "allOf": [
149
- {
150
- "$ref": "#/definitions/tableHeaderButtonSchematic"
151
- },
152
- {
153
- "type": "object",
154
- "properties": {
155
- "route": {
33
+ "state": {
156
34
  "type": "string",
157
- "description": "The route path for the table action"
35
+ "description": "The initial state of the control"
158
36
  },
159
- "relativeTo": {
37
+ "isRequired": {
160
38
  "type": "boolean",
161
- "description": "Indicates if the route path should be relative to the current activated route",
39
+ "description": "Whether the control value is required",
40
+ "default": false
41
+ },
42
+ "isReadonly": {
43
+ "type": "boolean",
44
+ "description": "Whether the control value is readonly",
45
+ "default": false
46
+ },
47
+ "isDisabled": {
48
+ "type": "boolean",
49
+ "description": "Whether the control value is disabled",
162
50
  "default": false
51
+ },
52
+ "validatorList": {
53
+ "type": "array",
54
+ "items": {
55
+ "type": "string"
56
+ }
57
+ },
58
+ "kind": {
59
+ "type": "string",
60
+ "description": "The kind of the control",
61
+ "default": "default"
62
+ },
63
+ "importList": {
64
+ "type": "array",
65
+ "items": {
66
+ "$ref": "#/definitions/type"
67
+ }
68
+ },
69
+ "template": {
70
+ "type": "string",
71
+ "description": "The template of the control"
72
+ },
73
+ "role": {
74
+ "type": "string",
75
+ "description": "The role of the control",
76
+ "enum": [
77
+ "control",
78
+ "group",
79
+ "array"
80
+ ],
81
+ "default": "control"
163
82
  }
164
- }
83
+ },
84
+ "additionalProperties": true
165
85
  }
166
86
  ]
167
87
  },
@@ -256,6 +176,70 @@
256
176
  }
257
177
  ]
258
178
  },
179
+ "accordionIdentifier": {
180
+ "type": "object",
181
+ "properties": {
182
+ "property": {
183
+ "$ref": "#/definitions/property"
184
+ },
185
+ "source": {
186
+ "type": "string",
187
+ "enum": [
188
+ "route"
189
+ ],
190
+ "default": "route"
191
+ }
192
+ },
193
+ "required": [
194
+ "property"
195
+ ]
196
+ },
197
+ "accordionItem": {
198
+ "type": "object",
199
+ "properties": {
200
+ "kind": {
201
+ "type": "string",
202
+ "enum": [
203
+ "default",
204
+ "table",
205
+ "data-grid",
206
+ "data-grid-collection",
207
+ "tree-table",
208
+ "switch"
209
+ ],
210
+ "description": "The type of the accordion item",
211
+ "default": "panel"
212
+ },
213
+ "modifiers": {
214
+ "alias": "modifier",
215
+ "type": "array",
216
+ "items": {
217
+ "type": "string"
218
+ },
219
+ "description": "The modifiers to apply to the accordion item type"
220
+ },
221
+ "identifier": {
222
+ "$ref": "#/definitions/accordionIdentifier"
223
+ },
224
+ "title": {
225
+ "type": "string"
226
+ },
227
+ "description": {
228
+ "type": "string"
229
+ },
230
+ "upstream": {
231
+ "$ref": "#/definitions/upstream"
232
+ },
233
+ "propertyList": {
234
+ "alias": "property",
235
+ "type": "array",
236
+ "items": {
237
+ "$ref": "#/definitions/property"
238
+ }
239
+ }
240
+ },
241
+ "additionalProperties": true
242
+ },
259
243
  "accordionItemComponentSchematic": {
260
244
  "allOf": [
261
245
  {
@@ -278,7 +262,7 @@
278
262
  }
279
263
  ]
280
264
  },
281
- "accordionItemTableComponentSchematic": {
265
+ "accordionItemDataGridComponentSchematic": {
282
266
  "allOf": [
283
267
  {
284
268
  "$ref": "#/definitions/angular"
@@ -289,20 +273,8 @@
289
273
  {
290
274
  "type": "object",
291
275
  "properties": {
292
- "modifiers": {
293
- "alias": "modifier",
294
- "type": "array",
295
- "items": {
296
- "type": "string",
297
- "enum": [
298
- "navigation-back-header",
299
- "without-title"
300
- ]
301
- },
302
- "description": "The table modifiers"
303
- },
304
- "table": {
305
- "$ref": "#/definitions/table"
276
+ "dataGrid": {
277
+ "$ref": "#/definitions/dataGrid"
306
278
  }
307
279
  }
308
280
  }
@@ -384,99 +356,135 @@
384
356
  }
385
357
  ]
386
358
  },
387
- "dataGridComponentSchematic": {
359
+ "accordionItemTableComponentSchematic": {
388
360
  "allOf": [
389
361
  {
390
362
  "$ref": "#/definitions/angular"
391
363
  },
392
364
  {
393
- "$ref": "#/definitions/dataGrid"
394
- }
395
- ]
396
- },
397
- "dialogComponentSchematic": {
398
- "allOf": [
399
- {
400
- "$ref": "#/definitions/angular"
365
+ "$ref": "#/definitions/accordionItem"
401
366
  },
402
367
  {
403
368
  "type": "object",
404
369
  "properties": {
405
- "dialogName": {
406
- "alias": "name",
407
- "type": "string",
408
- "description": "The name of the dialog",
409
- "x-prompt": "Which name should the dialog module have?"
410
- },
411
- "title": {
412
- "type": "string",
413
- "description": "The title of the dialog"
414
- },
415
- "actionList": {
416
- "alias": "action",
370
+ "modifiers": {
371
+ "alias": "modifier",
417
372
  "type": "array",
418
- "description": "The list of actions to be added to the dialog",
419
373
  "items": {
420
- "oneOf": [
421
- {
422
- "type": "string"
423
- },
424
- {
425
- "type": "object",
426
- "properties": {
427
- "label": {
428
- "type": "string"
429
- },
430
- "color": {
431
- "type": "string"
432
- },
433
- "role": {
434
- "type": "string",
435
- "enum": [
436
- "submit",
437
- "close"
438
- ]
439
- }
440
- }
441
- }
374
+ "type": "string",
375
+ "enum": [
376
+ "navigation-back-header",
377
+ "without-title"
442
378
  ]
443
- }
379
+ },
380
+ "description": "The table modifiers"
381
+ },
382
+ "table": {
383
+ "$ref": "#/definitions/table"
444
384
  }
445
- },
446
- "required": [
447
- "dialogName"
448
- ]
385
+ }
449
386
  }
450
387
  ]
451
388
  },
452
- "inputFormControlSchematic": {
389
+ "accordionItemTreeTableComponentSchematic": {
453
390
  "allOf": [
454
391
  {
455
- "$ref": "#/definitions/formControl"
392
+ "$ref": "#/definitions/angular"
456
393
  },
457
394
  {
458
- "$ref": "#/definitions/inputFormControl"
395
+ "$ref": "#/definitions/accordionItem"
396
+ },
397
+ {
398
+ "type": "object",
399
+ "properties": {
400
+ "modifiers": {
401
+ "alias": "modifier",
402
+ "type": "array",
403
+ "items": {
404
+ "type": "string",
405
+ "enum": [
406
+ "navigation-back-header",
407
+ "without-title"
408
+ ]
409
+ },
410
+ "description": "The table modifiers"
411
+ },
412
+ "table": {
413
+ "$ref": "#/definitions/treeTable"
414
+ }
415
+ }
459
416
  }
460
417
  ]
461
418
  },
462
- "selectFormControlSchematic": {
419
+ "angular": {
463
420
  "allOf": [
464
421
  {
465
- "$ref": "#/definitions/formControl"
422
+ "$ref": "#/definitions/general"
466
423
  },
467
424
  {
468
- "$ref": "#/definitions/selectFormControl"
425
+ "type": "object",
426
+ "properties": {
427
+ "componentName": {
428
+ "type": "string"
429
+ },
430
+ "name": {
431
+ "type": "string"
432
+ },
433
+ "context": {
434
+ "type": "string",
435
+ "description": "The context use to generate proper names for class, files, etc"
436
+ },
437
+ "nestModule": {
438
+ "type": "string",
439
+ "description": "The module name for the table nest operations"
440
+ },
441
+ "controllerName": {
442
+ "type": "string"
443
+ },
444
+ "backend": {
445
+ "$ref": "#/definitions/backend"
446
+ },
447
+ "directory": {
448
+ "type": "string",
449
+ "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"
450
+ },
451
+ "shared": {
452
+ "type": "boolean",
453
+ "description": "Whether the generated code is used across the project",
454
+ "default": false
455
+ },
456
+ "scope": {
457
+ "type": "string"
458
+ },
459
+ "prefix": {
460
+ "type": "string"
461
+ },
462
+ "openApi": {
463
+ "type": "object",
464
+ "additionalProperties": true
465
+ }
466
+ }
469
467
  }
470
468
  ]
471
469
  },
472
- "tableSelectFormControlSchematic": {
470
+ "autocompleteTableSelectFormControl": {
473
471
  "allOf": [
474
472
  {
475
- "$ref": "#/definitions/formControl"
473
+ "$ref": "#/definitions/baseFormControl"
476
474
  },
477
475
  {
478
476
  "type": "object",
479
477
  "properties": {
478
+ "formField": {
479
+ "$ref": "#/definitions/formField"
480
+ },
481
+ "kind": {
482
+ "type": "string",
483
+ "const": "table-select"
484
+ },
485
+ "placeholder": {
486
+ "type": "string"
487
+ },
480
488
  "columnList": {
481
489
  "alias": "column",
482
490
  "type": "array",
@@ -539,13 +547,13 @@
539
547
  }
540
548
  ]
541
549
  },
542
- "formControlSchematic": {
550
+ "autocompleteTableSelectFormControlSchematic": {
543
551
  "allOf": [
544
552
  {
545
553
  "$ref": "#/definitions/angular"
546
554
  },
547
555
  {
548
- "$ref": "#/definitions/formControl"
556
+ "$ref": "#/definitions/autocompleteTableSelectFormControl"
549
557
  },
550
558
  {
551
559
  "type": "object",
@@ -553,8 +561,7 @@
553
561
  "formName": {
554
562
  "alias": "form",
555
563
  "type": "string",
556
- "description": "The name of the form where the form control should be added",
557
- "x-prompt": "Enter the name of the form where the form control should be added"
564
+ "description": "The name of the form where the form control should be added"
558
565
  }
559
566
  },
560
567
  "required": [
@@ -563,516 +570,426 @@
563
570
  }
564
571
  ]
565
572
  },
566
- "dialogTableActionSchematic": {
573
+ "backend": {
574
+ "type": "string",
575
+ "description": "The backend that should be used to handel data",
576
+ "enum": [
577
+ "none",
578
+ "nestjs",
579
+ "open-api",
580
+ "local"
581
+ ],
582
+ "default": "none"
583
+ },
584
+ "baseFormArray": {
567
585
  "allOf": [
568
586
  {
569
- "$ref": "#/definitions/tableActionSchematic"
587
+ "$ref": "#/definitions/abstractControl"
570
588
  },
571
589
  {
572
590
  "type": "object",
573
591
  "properties": {
574
- "withoutBody": {
575
- "type": "boolean",
576
- "description": "Whether the table action operation should be without body",
577
- "default": false
578
- },
579
- "actionList": {
580
- "alias": "action",
592
+ "controlList": {
581
593
  "type": "array",
582
- "description": "The list of actions to be added to the dialog",
594
+ "description": "The list of controls in the group",
583
595
  "items": {
584
- "oneOf": [
585
- {
586
- "type": "string"
587
- },
588
- {
589
- "type": "object",
590
- "properties": {
591
- "label": {
592
- "type": "string"
593
- },
594
- "color": {
595
- "type": "string"
596
- },
597
- "role": {
598
- "type": "string",
599
- "enum": [
600
- "submit",
601
- "close"
602
- ]
603
- }
604
- }
605
- }
606
- ]
596
+ "$ref": "#/definitions/control"
607
597
  }
608
598
  },
609
- "title": {
599
+ "legend": {
600
+ "type": "string"
601
+ },
602
+ "groupLegend": {
603
+ "type": "string"
604
+ },
605
+ "kind": {
610
606
  "type": "string",
611
- "description": "The title for the dialog"
607
+ "description": "The kind of the array",
608
+ "const": "default",
609
+ "default": "default"
610
+ },
611
+ "role": {
612
+ "type": "string",
613
+ "const": "array"
612
614
  }
613
615
  }
614
616
  }
615
617
  ]
616
618
  },
617
- "formTableActionSchematic": {
619
+ "baseFormControl": {
618
620
  "allOf": [
619
621
  {
620
- "$ref": "#/definitions/tableActionSchematic"
622
+ "$ref": "#/definitions/abstractControl"
621
623
  },
622
624
  {
623
625
  "type": "object",
624
626
  "properties": {
625
- "formInitial": {
626
- "type": "object",
627
- "description": "The mapping from the row object to the form initial object"
628
- },
629
- "formComponent": {
630
- "type": "string"
631
- },
632
- "customComponent": {
633
- "type": "boolean",
634
- "default": false,
635
- "description": "If true the schematic will not coerce the form component"
636
- },
637
- "loadFrom": {
638
- "type": "object",
639
- "properties": {
640
- "operationId": {
641
- "type": "string"
642
- },
643
- "scope": {
644
- "type": "string",
645
- "description": "The scope of package for the openapi classes"
646
- },
647
- "body": {
648
- "oneOf": [
649
- {
650
- "type": "boolean",
651
- "description": "Pass the full row as body for the operation request"
652
- },
653
- {
654
- "type": "object",
655
- "description": "Mapping of table columns to body properties - [request property]: [table column]",
656
- "additionalProperties": true
657
- }
658
- ]
659
- },
660
- "parameters": {
661
- "oneOf": [
662
- {
663
- "type": "boolean",
664
- "description": "Pass the full row as parameters for the operation request"
665
- },
666
- {
667
- "type": "object",
668
- "description": "Mapping of table columns to parameters properties - [request property]: [table column]",
669
- "additionalProperties": true
670
- }
671
- ]
672
- }
673
- }
627
+ "label": {
628
+ "type": "string",
629
+ "description": "The label of the control"
674
630
  },
675
- "formOptions": {
676
- "$ref": "#/definitions/formComponent"
631
+ "role": {
632
+ "type": "string",
633
+ "const": "control"
677
634
  }
678
635
  }
679
636
  }
680
637
  ]
681
638
  },
682
- "navigationTableActionSchematic": {
639
+ "baseFormGroup": {
683
640
  "allOf": [
684
641
  {
685
- "$ref": "#/definitions/tableActionSchematic"
642
+ "$ref": "#/definitions/abstractControl"
686
643
  },
687
644
  {
688
645
  "type": "object",
689
646
  "properties": {
690
- "route": {
647
+ "controlList": {
648
+ "type": "array",
649
+ "description": "The list of controls in the group",
650
+ "items": {
651
+ "$ref": "#/definitions/control"
652
+ }
653
+ },
654
+ "legend": {
655
+ "type": "string"
656
+ },
657
+ "kind": {
691
658
  "type": "string",
692
- "description": "The route for the table action"
659
+ "description": "The kind of the group",
660
+ "const": "default",
661
+ "default": "default"
693
662
  },
694
- "relativeTo": {
695
- "type": "boolean",
696
- "description": "Use the current ActivatedRoute to resolve the route or not",
697
- "default": false
663
+ "role": {
664
+ "type": "string",
665
+ "const": "group"
698
666
  }
699
667
  }
700
668
  }
701
669
  ]
702
670
  },
703
- "operationTableActionSchematic": {
704
- "allOf": [
705
- {
706
- "$ref": "#/definitions/tableActionSchematic"
671
+ "button": {
672
+ "type": "object",
673
+ "properties": {
674
+ "svgIcon": {
675
+ "type": "string"
676
+ },
677
+ "icon": {
678
+ "type": "string"
679
+ },
680
+ "directiveList": {
681
+ "type": "array",
682
+ "items": {
683
+ "$ref": "#/definitions/type"
684
+ }
685
+ },
686
+ "importList": {
687
+ "type": "array",
688
+ "items": {
689
+ "$ref": "#/definitions/type"
690
+ }
707
691
  }
708
- ]
692
+ }
709
693
  },
710
- "openApiTableActionSchematic": {
694
+ "checkboxFormControl": {
711
695
  "allOf": [
712
696
  {
713
- "$ref": "#/definitions/tableActionSchematic"
697
+ "$ref": "#/definitions/baseFormControl"
714
698
  },
715
699
  {
716
700
  "type": "object",
717
701
  "properties": {
718
- "operationId": {
702
+ "kind": {
719
703
  "type": "string",
720
- "description": "The open api operationId for the table action"
704
+ "const": "checkbox"
721
705
  },
722
- "scope": {
706
+ "labelPosition": {
723
707
  "type": "string",
724
- "description": "The scope of package for the openapi classes"
725
- },
726
- "body": {
727
- "oneOf": [
728
- {
729
- "type": "boolean",
730
- "description": "Pass the full row as body for the operation request"
731
- },
732
- {
733
- "type": "object",
734
- "description": "Mapping of table columns to body properties - [request property]: [table column]",
735
- "additionalProperties": true
736
- }
737
- ]
738
- },
739
- "parameters": {
740
- "oneOf": [
741
- {
742
- "type": "boolean",
743
- "description": "Pass the full row as parameters for the operation request"
744
- },
745
- {
746
- "type": "object",
747
- "description": "Mapping of table columns to parameters properties - [request property]: [table column]",
748
- "additionalProperties": true
749
- }
708
+ "enum": [
709
+ "before",
710
+ "after"
750
711
  ]
751
712
  }
752
- },
753
- "required": [
754
- "operationId"
755
- ]
713
+ }
756
714
  }
757
715
  ]
758
716
  },
759
- "treeComponentSchematic": {
760
- "allOf": [
717
+ "control": {
718
+ "oneOf": [
761
719
  {
762
- "$ref": "#/definitions/angular"
720
+ "$ref": "#/definitions/formGroup"
763
721
  },
764
722
  {
765
- "type": "object",
766
- "properties": {
767
- "modifiers": {
768
- "alias": "modifier",
769
- "type": "array",
770
- "items": {
771
- "type": "string",
772
- "enum": [
773
- "navigation-back-header",
774
- "without-title"
775
- ]
776
- },
777
- "description": "The tree modifiers"
778
- },
779
- "fullTree": {
780
- "type": "boolean",
781
- "description": "Whether the tree should be a full tree",
782
- "default": true
783
- }
784
- }
723
+ "$ref": "#/definitions/formArray"
724
+ },
725
+ {
726
+ "$ref": "#/definitions/formControl"
785
727
  }
786
728
  ]
787
729
  },
788
- "accordionItemDataGridComponentSchematic": {
789
- "allOf": [
790
- {
791
- "$ref": "#/definitions/angular"
730
+ "dataGrid": {
731
+ "type": "object",
732
+ "properties": {
733
+ "mode": {
734
+ "type": "string",
735
+ "description": "The mode of the form",
736
+ "enum": [
737
+ "form",
738
+ "plain"
739
+ ]
792
740
  },
793
- {
794
- "$ref": "#/definitions/accordionItem"
741
+ "collection": {
742
+ "type": "boolean",
743
+ "description": "Whether the data grid is used as collection."
795
744
  },
796
- {
797
- "type": "object",
798
- "properties": {
799
- "dataGrid": {
800
- "$ref": "#/definitions/dataGrid"
801
- }
745
+ "title": {
746
+ "type": "string",
747
+ "description": "The title of the data grid card component"
748
+ },
749
+ "subtitle": {
750
+ "type": "string",
751
+ "description": "The subtitle of the data grid card component"
752
+ },
753
+ "itemList": {
754
+ "alias": "item",
755
+ "type": "array",
756
+ "items": {
757
+ "$ref": "#/definitions/dataGridItem"
758
+ }
759
+ },
760
+ "inCard": {
761
+ "type": "boolean",
762
+ "description": "Whether the data grid is used in a card.",
763
+ "default": true
764
+ },
765
+ "upstream": {
766
+ "$ref": "#/definitions/upstream"
767
+ },
768
+ "propertyList": {
769
+ "alias": "property",
770
+ "type": "array",
771
+ "items": {
772
+ "$ref": "#/definitions/property"
802
773
  }
774
+ },
775
+ "identifier": {
776
+ "$ref": "#/definitions/accordionIdentifier"
803
777
  }
804
- ]
778
+ }
805
779
  },
806
- "accordionItemTreeTableComponentSchematic": {
780
+ "dataGridComponentSchematic": {
807
781
  "allOf": [
808
782
  {
809
783
  "$ref": "#/definitions/angular"
810
784
  },
811
785
  {
812
- "$ref": "#/definitions/accordionItem"
813
- },
814
- {
815
- "type": "object",
816
- "properties": {
817
- "modifiers": {
818
- "alias": "modifier",
819
- "type": "array",
820
- "items": {
821
- "type": "string",
822
- "enum": [
823
- "navigation-back-header",
824
- "without-title"
825
- ]
826
- },
827
- "description": "The table modifiers"
828
- },
829
- "table": {
830
- "$ref": "#/definitions/treeTable"
831
- }
832
- }
786
+ "$ref": "#/definitions/dataGrid"
833
787
  }
834
788
  ]
835
789
  },
836
- "accordionIdentifier": {
790
+ "dataGridItem": {
837
791
  "type": "object",
838
792
  "properties": {
839
- "property": {
840
- "$ref": "#/definitions/property"
841
- },
842
- "source": {
793
+ "name": {
843
794
  "type": "string",
844
- "enum": [
845
- "route"
846
- ],
847
- "default": "route"
848
- }
849
- },
850
- "required": [
851
- "property"
852
- ]
853
- },
854
- "accordionItem": {
855
- "type": "object",
856
- "properties": {
857
- "kind": {
795
+ "description": "The name of the data grid item"
796
+ },
797
+ "header": {
858
798
  "type": "string",
859
- "enum": [
860
- "default",
861
- "table",
862
- "data-grid",
863
- "data-grid-collection",
864
- "tree-table",
865
- "switch"
866
- ],
867
- "description": "The type of the accordion item",
868
- "default": "panel"
799
+ "description": "The name of the control"
869
800
  },
870
- "modifiers": {
871
- "alias": "modifier",
801
+ "pipeList": {
872
802
  "type": "array",
873
803
  "items": {
874
- "type": "string"
875
- },
876
- "description": "The modifiers to apply to the accordion item type"
804
+ "$ref": "#/definitions/pipe"
805
+ }
877
806
  },
878
- "identifier": {
879
- "$ref": "#/definitions/accordionIdentifier"
807
+ "formControl": {
808
+ "$ref": "#/definitions/control"
880
809
  },
881
- "title": {
810
+ "template": {
882
811
  "type": "string"
883
812
  },
884
- "description": {
885
- "type": "string"
813
+ "kind": {
814
+ "type": "string",
815
+ "enum": [
816
+ "default",
817
+ "link"
818
+ ],
819
+ "default": "default"
886
820
  },
887
- "upstream": {
888
- "$ref": "#/definitions/upstream"
821
+ "type": {
822
+ "$ref": "#/definitions/type"
889
823
  },
890
- "propertyList": {
891
- "alias": "property",
892
- "type": "array",
893
- "items": {
894
- "$ref": "#/definitions/property"
895
- }
824
+ "isArray": {
825
+ "type": "boolean"
896
826
  }
897
827
  },
898
- "additionalProperties": true
828
+ "required": [
829
+ "name"
830
+ ]
899
831
  },
900
- "angular": {
832
+ "dialogComponentSchematic": {
901
833
  "allOf": [
902
834
  {
903
- "$ref": "#/definitions/general"
835
+ "$ref": "#/definitions/angular"
904
836
  },
905
837
  {
906
838
  "type": "object",
907
839
  "properties": {
908
- "componentName": {
909
- "type": "string"
910
- },
911
- "name": {
912
- "type": "string"
913
- },
914
- "context": {
915
- "type": "string",
916
- "description": "The context use to generate proper names for class, files, etc"
917
- },
918
- "nestModule": {
840
+ "dialogName": {
841
+ "alias": "name",
919
842
  "type": "string",
920
- "description": "The module name for the table nest operations"
921
- },
922
- "controllerName": {
923
- "type": "string"
924
- },
925
- "backend": {
926
- "$ref": "#/definitions/backend"
843
+ "description": "The name of the dialog",
844
+ "x-prompt": "Which name should the dialog module have?"
927
845
  },
928
- "directory": {
846
+ "title": {
929
847
  "type": "string",
930
- "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"
848
+ "description": "The title of the dialog"
931
849
  },
932
- "shared": {
850
+ "actionList": {
851
+ "alias": "action",
852
+ "type": "array",
853
+ "description": "The list of actions to be added to the dialog",
854
+ "items": {
855
+ "oneOf": [
856
+ {
857
+ "type": "string"
858
+ },
859
+ {
860
+ "type": "object",
861
+ "properties": {
862
+ "label": {
863
+ "type": "string"
864
+ },
865
+ "color": {
866
+ "type": "string"
867
+ },
868
+ "role": {
869
+ "type": "string",
870
+ "enum": [
871
+ "submit",
872
+ "close"
873
+ ]
874
+ }
875
+ }
876
+ }
877
+ ]
878
+ }
879
+ }
880
+ },
881
+ "required": [
882
+ "dialogName"
883
+ ]
884
+ }
885
+ ]
886
+ },
887
+ "dialogTableActionSchematic": {
888
+ "allOf": [
889
+ {
890
+ "$ref": "#/definitions/tableActionSchematic"
891
+ },
892
+ {
893
+ "type": "object",
894
+ "properties": {
895
+ "withoutBody": {
933
896
  "type": "boolean",
934
- "description": "Whether the generated code is used across the project",
897
+ "description": "Whether the table action operation should be without body",
935
898
  "default": false
936
899
  },
937
- "scope": {
938
- "type": "string"
939
- },
940
- "prefix": {
941
- "type": "string"
900
+ "actionList": {
901
+ "alias": "action",
902
+ "type": "array",
903
+ "description": "The list of actions to be added to the dialog",
904
+ "items": {
905
+ "oneOf": [
906
+ {
907
+ "type": "string"
908
+ },
909
+ {
910
+ "type": "object",
911
+ "properties": {
912
+ "label": {
913
+ "type": "string"
914
+ },
915
+ "color": {
916
+ "type": "string"
917
+ },
918
+ "role": {
919
+ "type": "string",
920
+ "enum": [
921
+ "submit",
922
+ "close"
923
+ ]
924
+ }
925
+ }
926
+ }
927
+ ]
928
+ }
942
929
  },
943
- "openApi": {
944
- "type": "object",
945
- "additionalProperties": true
930
+ "title": {
931
+ "type": "string",
932
+ "description": "The title for the dialog"
946
933
  }
947
934
  }
948
935
  }
949
936
  ]
950
937
  },
951
- "backend": {
952
- "type": "string",
953
- "description": "The backend that should be used to handel data",
954
- "enum": [
955
- "none",
956
- "nestjs",
957
- "open-api",
958
- "local"
959
- ],
960
- "default": "none"
961
- },
962
- "button": {
963
- "type": "object",
964
- "properties": {
965
- "svgIcon": {
966
- "type": "string"
967
- },
968
- "icon": {
969
- "type": "string"
970
- },
971
- "directiveList": {
972
- "type": "array",
973
- "items": {
974
- "$ref": "#/definitions/type"
975
- }
976
- },
977
- "importList": {
978
- "type": "array",
979
- "items": {
980
- "$ref": "#/definitions/type"
981
- }
982
- }
983
- }
984
- },
985
- "dataGridItem": {
986
- "type": "object",
987
- "properties": {
988
- "name": {
989
- "type": "string",
990
- "description": "The name of the data grid item"
991
- },
992
- "header": {
993
- "type": "string",
994
- "description": "The name of the control"
995
- },
996
- "pipeList": {
997
- "type": "array",
998
- "items": {
999
- "$ref": "#/definitions/pipe"
938
+ "formArray": {
939
+ "allOf": [
940
+ {
941
+ "type": "object",
942
+ "properties": {
943
+ "role": {
944
+ "type": "string",
945
+ "const": "array"
946
+ }
1000
947
  }
1001
948
  },
1002
- "formControl": {
1003
- "$ref": "#/definitions/formControl"
1004
- },
1005
- "template": {
1006
- "type": "string"
1007
- },
1008
- "kind": {
1009
- "type": "string",
1010
- "enum": [
1011
- "default",
1012
- "link"
1013
- ],
1014
- "default": "default"
1015
- },
1016
- "type": {
1017
- "$ref": "#/definitions/type"
1018
- },
1019
- "isArray": {
1020
- "type": "boolean"
949
+ {
950
+ "oneOf": [
951
+ {
952
+ "allOf": [
953
+ {
954
+ "$ref": "#/definitions/baseFormArray"
955
+ },
956
+ {
957
+ "type": "object",
958
+ "properties": {
959
+ "kind": {
960
+ "type": "string",
961
+ "const": "default"
962
+ }
963
+ }
964
+ }
965
+ ]
966
+ }
967
+ ]
1021
968
  }
1022
- },
1023
- "required": [
1024
- "name"
1025
969
  ]
1026
970
  },
1027
- "dataGrid": {
1028
- "type": "object",
1029
- "properties": {
1030
- "mode": {
1031
- "type": "string",
1032
- "description": "The mode of the form",
1033
- "enum": [
1034
- "form",
1035
- "plain"
1036
- ]
1037
- },
1038
- "collection": {
1039
- "type": "boolean",
1040
- "description": "Whether the data grid is used as collection."
1041
- },
1042
- "title": {
1043
- "type": "string",
1044
- "description": "The title of the data grid card component"
1045
- },
1046
- "subtitle": {
1047
- "type": "string",
1048
- "description": "The subtitle of the data grid card component"
1049
- },
1050
- "itemList": {
1051
- "alias": "item",
1052
- "type": "array",
1053
- "items": {
1054
- "$ref": "#/definitions/dataGridItem"
1055
- }
1056
- },
1057
- "inCard": {
1058
- "type": "boolean",
1059
- "description": "Whether the data grid is used in a card.",
1060
- "default": true
1061
- },
1062
- "upstream": {
1063
- "$ref": "#/definitions/upstream"
971
+ "formArraySchematic": {
972
+ "allOf": [
973
+ {
974
+ "$ref": "#/definitions/angular"
1064
975
  },
1065
- "propertyList": {
1066
- "alias": "property",
1067
- "type": "array",
1068
- "items": {
1069
- "$ref": "#/definitions/property"
1070
- }
976
+ {
977
+ "$ref": "#/definitions/formArray"
1071
978
  },
1072
- "identifier": {
1073
- "$ref": "#/definitions/accordionIdentifier"
979
+ {
980
+ "type": "object",
981
+ "properties": {
982
+ "formName": {
983
+ "alias": "form",
984
+ "type": "string",
985
+ "description": "The name of the form where the form control should be added"
986
+ }
987
+ },
988
+ "required": [
989
+ "formName"
990
+ ]
1074
991
  }
1075
- }
992
+ ]
1076
993
  },
1077
994
  "formComponent": {
1078
995
  "allOf": [
@@ -1109,66 +1026,93 @@
1109
1026
  }
1110
1027
  ]
1111
1028
  },
1112
- "formControl": {
1113
- "type": "object",
1114
- "properties": {
1115
- "name": {
1116
- "type": "string",
1117
- "description": "The name of the control"
1118
- },
1119
- "type": {
1120
- "$ref": "#/definitions/type"
1121
- },
1122
- "isArray": {
1123
- "type": "boolean",
1124
- "description": "Whether the control value is an array",
1125
- "default": false
1126
- },
1127
- "state": {
1128
- "type": "string",
1129
- "description": "The initial state of the control"
1130
- },
1131
- "isRequired": {
1132
- "type": "boolean",
1133
- "description": "Whether the control value is required",
1134
- "default": false
1029
+ "formComponentSchematic": {
1030
+ "allOf": [
1031
+ {
1032
+ "$ref": "#/definitions/angular"
1135
1033
  },
1136
- "isReadonly": {
1137
- "type": "boolean",
1138
- "description": "Whether the control value is readonly",
1139
- "default": false
1034
+ {
1035
+ "$ref": "#/definitions/formComponent"
1036
+ }
1037
+ ]
1038
+ },
1039
+ "formControl": {
1040
+ "allOf": [
1041
+ {
1042
+ "type": "object",
1043
+ "properties": {
1044
+ "role": {
1045
+ "type": "string",
1046
+ "const": "control",
1047
+ "default": "control"
1048
+ }
1049
+ }
1140
1050
  },
1141
- "isDisabled": {
1142
- "type": "boolean",
1143
- "description": "Whether the control value is disabled",
1144
- "default": false
1051
+ {
1052
+ "oneOf": [
1053
+ {
1054
+ "allOf": [
1055
+ {
1056
+ "$ref": "#/definitions/baseFormControl"
1057
+ },
1058
+ {
1059
+ "type": "object",
1060
+ "properties": {
1061
+ "kind": {
1062
+ "type": "string",
1063
+ "const": "default"
1064
+ }
1065
+ }
1066
+ }
1067
+ ]
1068
+ },
1069
+ {
1070
+ "$ref": "#/definitions/inputFormControl"
1071
+ },
1072
+ {
1073
+ "$ref": "#/definitions/selectFormControl"
1074
+ },
1075
+ {
1076
+ "$ref": "#/definitions/checkboxFormControl"
1077
+ },
1078
+ {
1079
+ "$ref": "#/definitions/textareaFormControl"
1080
+ },
1081
+ {
1082
+ "$ref": "#/definitions/tableSelectFormControl"
1083
+ },
1084
+ {
1085
+ "$ref": "#/definitions/slideToggleFormControl"
1086
+ },
1087
+ {
1088
+ "$ref": "#/definitions/autocompleteTableSelectFormControl"
1089
+ }
1090
+ ]
1091
+ }
1092
+ ]
1093
+ },
1094
+ "formControlSchematic": {
1095
+ "allOf": [
1096
+ {
1097
+ "$ref": "#/definitions/angular"
1145
1098
  },
1146
- "validatorList": {
1147
- "type": "array",
1148
- "items": {
1149
- "type": "string"
1150
- }
1099
+ {
1100
+ "$ref": "#/definitions/formControl"
1151
1101
  },
1152
- "kind": {
1153
- "type": "string",
1154
- "description": "The name of the template",
1155
- "enum": [
1156
- "default",
1157
- "input",
1158
- "select",
1159
- "checkbox",
1160
- "autocomplete-table-select",
1161
- "table-select",
1162
- "textarea",
1163
- "slide-toggle"
1164
- ],
1165
- "default": "default"
1102
+ {
1103
+ "type": "object",
1104
+ "properties": {
1105
+ "formName": {
1106
+ "alias": "form",
1107
+ "type": "string",
1108
+ "description": "The name of the form where the form control should be added"
1109
+ }
1110
+ },
1111
+ "required": [
1112
+ "formName"
1113
+ ]
1166
1114
  }
1167
- },
1168
- "required": [
1169
- "name"
1170
- ],
1171
- "additionalProperties": true
1115
+ ]
1172
1116
  },
1173
1117
  "formDefinition": {
1174
1118
  "type": "object",
@@ -1177,12 +1121,32 @@
1177
1121
  "alias": "control",
1178
1122
  "type": "array",
1179
1123
  "items": {
1180
- "$ref": "#/definitions/formControl"
1124
+ "$ref": "#/definitions/control"
1125
+ }
1126
+ }
1127
+ },
1128
+ "required": [
1129
+ "controlList"
1130
+ ]
1131
+ },
1132
+ "formDefinitionSchematic": {
1133
+ "allOf": [
1134
+ {
1135
+ "$ref": "#/definitions/angular"
1136
+ },
1137
+ {
1138
+ "$ref": "#/definitions/formDefinition"
1139
+ },
1140
+ {
1141
+ "type": "object",
1142
+ "properties": {
1143
+ "standalone": {
1144
+ "type": "boolean",
1145
+ "description": "Whether the form definition has a form.provider file",
1146
+ "default": true
1147
+ }
1181
1148
  }
1182
1149
  }
1183
- },
1184
- "required": [
1185
- "controlList"
1186
1150
  ]
1187
1151
  },
1188
1152
  "formField": {
@@ -1202,6 +1166,150 @@
1202
1166
  }
1203
1167
  }
1204
1168
  },
1169
+ "formGroup": {
1170
+ "allOf": [
1171
+ {
1172
+ "type": "object",
1173
+ "properties": {
1174
+ "role": {
1175
+ "type": "string",
1176
+ "const": "group"
1177
+ }
1178
+ }
1179
+ },
1180
+ {
1181
+ "oneOf": [
1182
+ {
1183
+ "allOf": [
1184
+ {
1185
+ "$ref": "#/definitions/baseFormGroup"
1186
+ },
1187
+ {
1188
+ "type": "object",
1189
+ "properties": {
1190
+ "kind": {
1191
+ "type": "string",
1192
+ "const": "default"
1193
+ }
1194
+ }
1195
+ }
1196
+ ]
1197
+ }
1198
+ ]
1199
+ }
1200
+ ]
1201
+ },
1202
+ "formGroupSchematic": {
1203
+ "allOf": [
1204
+ {
1205
+ "$ref": "#/definitions/angular"
1206
+ },
1207
+ {
1208
+ "$ref": "#/definitions/formGroup"
1209
+ },
1210
+ {
1211
+ "type": "object",
1212
+ "properties": {
1213
+ "formName": {
1214
+ "alias": "form",
1215
+ "type": "string",
1216
+ "description": "The name of the form where the form control should be added"
1217
+ }
1218
+ },
1219
+ "required": [
1220
+ "formName"
1221
+ ]
1222
+ }
1223
+ ]
1224
+ },
1225
+ "formTableActionSchematic": {
1226
+ "allOf": [
1227
+ {
1228
+ "$ref": "#/definitions/tableActionSchematic"
1229
+ },
1230
+ {
1231
+ "type": "object",
1232
+ "properties": {
1233
+ "formInitial": {
1234
+ "type": "object",
1235
+ "description": "The mapping from the row object to the form initial object"
1236
+ },
1237
+ "formComponent": {
1238
+ "type": "string"
1239
+ },
1240
+ "customComponent": {
1241
+ "type": "boolean",
1242
+ "default": false,
1243
+ "description": "If true the schematic will not coerce the form component"
1244
+ },
1245
+ "loadFrom": {
1246
+ "type": "object",
1247
+ "properties": {
1248
+ "operationId": {
1249
+ "type": "string"
1250
+ },
1251
+ "scope": {
1252
+ "type": "string",
1253
+ "description": "The scope of package for the openapi classes"
1254
+ },
1255
+ "body": {
1256
+ "oneOf": [
1257
+ {
1258
+ "type": "boolean",
1259
+ "description": "Pass the full row as body for the operation request"
1260
+ },
1261
+ {
1262
+ "type": "object",
1263
+ "description": "Mapping of table columns to body properties - [request property]: [table column]",
1264
+ "additionalProperties": true
1265
+ }
1266
+ ]
1267
+ },
1268
+ "parameters": {
1269
+ "oneOf": [
1270
+ {
1271
+ "type": "boolean",
1272
+ "description": "Pass the full row as parameters for the operation request"
1273
+ },
1274
+ {
1275
+ "type": "object",
1276
+ "description": "Mapping of table columns to parameters properties - [request property]: [table column]",
1277
+ "additionalProperties": true
1278
+ }
1279
+ ]
1280
+ }
1281
+ }
1282
+ },
1283
+ "formOptions": {
1284
+ "$ref": "#/definitions/formComponent"
1285
+ }
1286
+ }
1287
+ }
1288
+ ]
1289
+ },
1290
+ "formTableHeaderButtonSchematic": {
1291
+ "allOf": [
1292
+ {
1293
+ "$ref": "#/definitions/tableHeaderButtonSchematic"
1294
+ },
1295
+ {
1296
+ "type": "object",
1297
+ "properties": {
1298
+ "formComponent": {
1299
+ "type": "string"
1300
+ },
1301
+ "customComponent": {
1302
+ "type": "boolean",
1303
+ "default": false,
1304
+ "description": "If true the schematic will not coerce the form component"
1305
+ },
1306
+ "formOptions": {
1307
+ "$ref": "#/definitions/formComponent"
1308
+ }
1309
+ }
1310
+ }
1311
+ ]
1312
+ },
1205
1313
  "general": {
1206
1314
  "type": "object",
1207
1315
  "properties": {
@@ -1281,11 +1389,18 @@
1281
1389
  "inputFormControl": {
1282
1390
  "allOf": [
1283
1391
  {
1284
- "$ref": "#/definitions/formControl"
1392
+ "$ref": "#/definitions/baseFormControl"
1285
1393
  },
1286
1394
  {
1287
1395
  "type": "object",
1288
1396
  "properties": {
1397
+ "kind": {
1398
+ "type": "string",
1399
+ "const": "input"
1400
+ },
1401
+ "formField": {
1402
+ "$ref": "#/definitions/formField"
1403
+ },
1289
1404
  "inputType": {
1290
1405
  "type": "string",
1291
1406
  "enum": [
@@ -1315,14 +1430,34 @@
1315
1430
  },
1316
1431
  "placeholder": {
1317
1432
  "type": "string"
1318
- },
1319
- "formField": {
1320
- "$ref": "#/definitions/formField"
1321
1433
  }
1322
1434
  }
1323
1435
  }
1324
1436
  ]
1325
1437
  },
1438
+ "inputFormControlSchematic": {
1439
+ "allOf": [
1440
+ {
1441
+ "$ref": "#/definitions/angular"
1442
+ },
1443
+ {
1444
+ "$ref": "#/definitions/inputFormControl"
1445
+ },
1446
+ {
1447
+ "type": "object",
1448
+ "properties": {
1449
+ "formName": {
1450
+ "alias": "form",
1451
+ "type": "string",
1452
+ "description": "The name of the form where the form control should be added"
1453
+ }
1454
+ },
1455
+ "required": [
1456
+ "formName"
1457
+ ]
1458
+ }
1459
+ ]
1460
+ },
1326
1461
  "minimumTable": {
1327
1462
  "type": "object",
1328
1463
  "properties": {
@@ -1360,9 +1495,107 @@
1360
1495
  "items": {
1361
1496
  "type": "string"
1362
1497
  },
1363
- "description": "The table modifiers"
1498
+ "description": "The table modifiers"
1499
+ }
1500
+ }
1501
+ },
1502
+ "navigationTableActionSchematic": {
1503
+ "allOf": [
1504
+ {
1505
+ "$ref": "#/definitions/tableActionSchematic"
1506
+ },
1507
+ {
1508
+ "type": "object",
1509
+ "properties": {
1510
+ "route": {
1511
+ "type": "string",
1512
+ "description": "The route for the table action"
1513
+ },
1514
+ "relativeTo": {
1515
+ "type": "boolean",
1516
+ "description": "Use the current ActivatedRoute to resolve the route or not",
1517
+ "default": false
1518
+ }
1519
+ }
1520
+ }
1521
+ ]
1522
+ },
1523
+ "navigationTableHeaderButtonSchematic": {
1524
+ "allOf": [
1525
+ {
1526
+ "$ref": "#/definitions/tableHeaderButtonSchematic"
1527
+ },
1528
+ {
1529
+ "type": "object",
1530
+ "properties": {
1531
+ "route": {
1532
+ "type": "string",
1533
+ "description": "The route path for the table action"
1534
+ },
1535
+ "relativeTo": {
1536
+ "type": "boolean",
1537
+ "description": "Indicates if the route path should be relative to the current activated route",
1538
+ "default": false
1539
+ }
1540
+ }
1541
+ }
1542
+ ]
1543
+ },
1544
+ "openApiTableActionSchematic": {
1545
+ "allOf": [
1546
+ {
1547
+ "$ref": "#/definitions/tableActionSchematic"
1548
+ },
1549
+ {
1550
+ "type": "object",
1551
+ "properties": {
1552
+ "operationId": {
1553
+ "type": "string",
1554
+ "description": "The open api operationId for the table action"
1555
+ },
1556
+ "scope": {
1557
+ "type": "string",
1558
+ "description": "The scope of package for the openapi classes"
1559
+ },
1560
+ "body": {
1561
+ "oneOf": [
1562
+ {
1563
+ "type": "boolean",
1564
+ "description": "Pass the full row as body for the operation request"
1565
+ },
1566
+ {
1567
+ "type": "object",
1568
+ "description": "Mapping of table columns to body properties - [request property]: [table column]",
1569
+ "additionalProperties": true
1570
+ }
1571
+ ]
1572
+ },
1573
+ "parameters": {
1574
+ "oneOf": [
1575
+ {
1576
+ "type": "boolean",
1577
+ "description": "Pass the full row as parameters for the operation request"
1578
+ },
1579
+ {
1580
+ "type": "object",
1581
+ "description": "Mapping of table columns to parameters properties - [request property]: [table column]",
1582
+ "additionalProperties": true
1583
+ }
1584
+ ]
1585
+ }
1586
+ },
1587
+ "required": [
1588
+ "operationId"
1589
+ ]
1364
1590
  }
1365
- }
1591
+ ]
1592
+ },
1593
+ "operationTableActionSchematic": {
1594
+ "allOf": [
1595
+ {
1596
+ "$ref": "#/definitions/tableActionSchematic"
1597
+ }
1598
+ ]
1366
1599
  },
1367
1600
  "pipe": {
1368
1601
  "oneOf": [
@@ -1416,369 +1649,310 @@
1416
1649
  }
1417
1650
  ]
1418
1651
  },
1419
- "selectFormControl": {
1420
- "allOf": [
1652
+ "schematicInput": {
1653
+ "type": "object",
1654
+ "oneOf": [
1421
1655
  {
1422
- "$ref": "#/definitions/formControl"
1656
+ "type": "object",
1657
+ "properties": {
1658
+ "package": {
1659
+ "type": "string",
1660
+ "const": "@rxap/schematic-angular"
1661
+ },
1662
+ "name": {
1663
+ "type": "string",
1664
+ "const": "table-component"
1665
+ },
1666
+ "options": {
1667
+ "$ref": "#/definitions/tableComponentSchematic"
1668
+ }
1669
+ }
1423
1670
  },
1424
1671
  {
1425
1672
  "type": "object",
1426
1673
  "properties": {
1427
- "formField": {
1428
- "$ref": "#/definitions/formField"
1674
+ "package": {
1675
+ "type": "string",
1676
+ "const": "@rxap/schematic-angular"
1677
+ },
1678
+ "name": {
1679
+ "type": "string",
1680
+ "const": "tree-table-component"
1429
1681
  },
1430
1682
  "options": {
1431
- "type": "array",
1432
- "items": {
1433
- "type": "object",
1434
- "properties": {
1435
- "display": {
1436
- "type": "string"
1437
- },
1438
- "value": {
1439
- "oneOf": [
1440
- {
1441
- "type": "string"
1442
- },
1443
- {
1444
- "type": "number"
1445
- },
1446
- {
1447
- "type": "boolean"
1448
- },
1449
- {
1450
- "type": "object",
1451
- "additionalProperties": true
1452
- }
1453
- ]
1454
- }
1455
- }
1456
- }
1683
+ "$ref": "#/definitions/treeTableComponentSchematic"
1684
+ }
1685
+ }
1686
+ },
1687
+ {
1688
+ "type": "object",
1689
+ "properties": {
1690
+ "package": {
1691
+ "type": "string",
1692
+ "const": "@rxap/schematic-angular"
1457
1693
  },
1458
- "backend": {
1459
- "$ref": "#/definitions/backend"
1694
+ "name": {
1695
+ "type": "string",
1696
+ "const": "form-component"
1460
1697
  },
1461
- "multiple": {
1462
- "alias": "multi",
1463
- "type": "boolean",
1464
- "description": "Whether the select form control is multiple mode"
1698
+ "options": {
1699
+ "$ref": "#/definitions/formComponentSchematic"
1465
1700
  }
1466
1701
  }
1467
- }
1468
- ]
1469
- },
1470
- "tableAction": {
1471
- "type": "object",
1472
- "properties": {
1473
- "type": {
1474
- "type": "string"
1475
- },
1476
- "refresh": {
1477
- "type": "boolean"
1478
- },
1479
- "confirm": {
1480
- "type": "boolean"
1481
- },
1482
- "tooltip": {
1483
- "type": "string"
1484
- },
1485
- "errorMessage": {
1486
- "type": "string"
1487
- },
1488
- "successMessage": {
1489
- "type": "string"
1490
- },
1491
- "priority": {
1492
- "type": "number"
1493
- },
1494
- "checkFunction": {
1495
- "type": "string"
1496
- },
1497
- "inHeader": {
1498
- "type": "boolean"
1499
- },
1500
- "role": {
1501
- "type": "string"
1502
- },
1503
- "icon": {
1504
- "type": "string"
1505
- },
1506
- "svgIcon": {
1507
- "type": "string"
1508
- },
1509
- "permission": {
1510
- "type": "string"
1511
1702
  },
1512
- "color": {
1513
- "type": "string",
1514
- "description": "Value for the color input of the mat-button / mat-icon component"
1515
- },
1516
- "cssClass": {
1517
- "type": "string",
1518
- "description": "Additional CSS classes added to the button element"
1519
- },
1520
- "options": {
1703
+ {
1521
1704
  "type": "object",
1522
- "additionalProperties": true
1523
- }
1524
- },
1525
- "required": [
1526
- "type"
1527
- ]
1528
- },
1529
- "tableColumn": {
1530
- "type": "object",
1531
- "properties": {
1532
- "name": {
1533
- "type": "string"
1534
- },
1535
- "type": {
1536
- "$ref": "#/definitions/type"
1537
- },
1538
- "kind": {
1539
- "type": "string"
1540
- },
1541
- "modifiers": {
1542
- "type": "array",
1543
- "items": {
1544
- "type": "string"
1705
+ "properties": {
1706
+ "package": {
1707
+ "type": "string",
1708
+ "const": "@rxap/schematic-angular"
1709
+ },
1710
+ "name": {
1711
+ "type": "string",
1712
+ "const": "form-definition"
1713
+ },
1714
+ "options": {
1715
+ "$ref": "#/definitions/formDefinitionSchematic"
1716
+ }
1545
1717
  }
1546
1718
  },
1547
- "template": {
1548
- "type": "string"
1549
- },
1550
- "pipeList": {
1551
- "type": "array",
1552
- "items": {
1553
- "$ref": "#/definitions/pipe"
1719
+ {
1720
+ "type": "object",
1721
+ "properties": {
1722
+ "package": {
1723
+ "type": "string",
1724
+ "const": "@rxap/schematic-angular"
1725
+ },
1726
+ "name": {
1727
+ "type": "string",
1728
+ "const": "table-action"
1729
+ },
1730
+ "options": {
1731
+ "$ref": "#/definitions/tableActionSchematic"
1732
+ }
1554
1733
  }
1555
1734
  },
1556
- "hasFilter": {
1557
- "type": "boolean"
1558
- },
1559
- "nowrap": {
1560
- "type": "boolean"
1561
- },
1562
- "cssClass": {
1563
- "type": "string"
1564
- },
1565
- "title": {
1566
- "type": "string"
1567
- },
1568
- "propertyPath": {
1569
- "type": "string"
1570
- },
1571
- "hidden": {
1572
- "type": "boolean"
1573
- },
1574
- "active": {
1575
- "type": "boolean"
1576
- },
1577
- "inactive": {
1578
- "type": "boolean"
1735
+ {
1736
+ "type": "object",
1737
+ "properties": {
1738
+ "package": {
1739
+ "type": "string",
1740
+ "const": "@rxap/schematic-angular"
1741
+ },
1742
+ "name": {
1743
+ "type": "string",
1744
+ "const": "table-header-button"
1745
+ },
1746
+ "options": {
1747
+ "$ref": "#/definitions/tableHeaderButtonSchematic"
1748
+ }
1749
+ }
1579
1750
  },
1580
- "show": {
1581
- "type": "boolean"
1751
+ {
1752
+ "type": "object",
1753
+ "properties": {
1754
+ "package": {
1755
+ "type": "string",
1756
+ "const": "@rxap/schematic-angular"
1757
+ },
1758
+ "name": {
1759
+ "type": "string",
1760
+ "const": "form-table-header-button"
1761
+ },
1762
+ "options": {
1763
+ "$ref": "#/definitions/formTableHeaderButtonSchematic"
1764
+ }
1765
+ }
1582
1766
  },
1583
- "filterControl": {
1584
- "$ref": "#/definitions/formControl"
1585
- }
1586
- },
1587
- "required": [
1588
- "name"
1589
- ]
1590
- },
1591
- "table": {
1592
- "allOf": [
1593
1767
  {
1594
- "$ref": "#/definitions/minimumTable"
1768
+ "type": "object",
1769
+ "properties": {
1770
+ "package": {
1771
+ "type": "string",
1772
+ "const": "@rxap/schematic-angular"
1773
+ },
1774
+ "name": {
1775
+ "type": "string",
1776
+ "const": "navigation-table-header-button"
1777
+ },
1778
+ "options": {
1779
+ "$ref": "#/definitions/navigationTableHeaderButtonSchematic"
1780
+ }
1781
+ }
1595
1782
  },
1596
1783
  {
1597
1784
  "type": "object",
1598
1785
  "properties": {
1599
- "tableMethod": {
1600
- "$ref": "#/definitions/type"
1786
+ "package": {
1787
+ "type": "string",
1788
+ "const": "@rxap/schematic-angular"
1601
1789
  },
1602
- "openApi": {
1603
- "type": "object",
1604
- "properties": {
1605
- "operationId": {
1606
- "type": "string",
1607
- "description": "The operationId for the open api operation"
1608
- },
1609
- "adapter": {
1610
- "$ref": "#/definitions/type"
1611
- }
1612
- },
1613
- "required": [
1614
- "operationId"
1615
- ]
1790
+ "name": {
1791
+ "type": "string",
1792
+ "const": "accordion-component"
1616
1793
  },
1617
- "modifiers": {
1618
- "alias": "modifier",
1619
- "type": "array",
1620
- "items": {
1621
- "type": "string",
1622
- "enum": [
1623
- "navigation-back-header",
1624
- "without-title",
1625
- "show-archived-slide"
1626
- ]
1627
- },
1628
- "description": "The table modifiers"
1794
+ "options": {
1795
+ "$ref": "#/definitions/accordionComponentSchematic"
1796
+ }
1797
+ }
1798
+ },
1799
+ {
1800
+ "type": "object",
1801
+ "properties": {
1802
+ "package": {
1803
+ "type": "string",
1804
+ "const": "@rxap/schematic-angular"
1629
1805
  },
1630
- "selectColumn": {
1631
- "type": "boolean",
1632
- "description": "Whether to add a select column to the table"
1806
+ "name": {
1807
+ "type": "string",
1808
+ "const": "accordion-item-component"
1809
+ },
1810
+ "options": {
1811
+ "$ref": "#/definitions/accordionItemComponentSchematic"
1633
1812
  }
1634
1813
  }
1635
- }
1636
- ]
1637
- },
1638
- "treeTable": {
1639
- "allOf": [
1814
+ },
1640
1815
  {
1641
- "$ref": "#/definitions/minimumTable"
1816
+ "type": "object",
1817
+ "properties": {
1818
+ "package": {
1819
+ "type": "string",
1820
+ "const": "@rxap/schematic-angular"
1821
+ },
1822
+ "name": {
1823
+ "type": "string",
1824
+ "const": "accordion-item-table-component"
1825
+ },
1826
+ "options": {
1827
+ "$ref": "#/definitions/accordionItemTableComponentSchematic"
1828
+ }
1829
+ }
1642
1830
  },
1643
1831
  {
1644
1832
  "type": "object",
1645
1833
  "properties": {
1646
- "modifiers": {
1647
- "alias": "modifier",
1648
- "type": "array",
1649
- "items": {
1650
- "type": "string",
1651
- "enum": [
1652
- "navigation-back-header",
1653
- "without-title"
1654
- ]
1655
- },
1656
- "description": "The table modifiers"
1834
+ "package": {
1835
+ "type": "string",
1836
+ "const": "@rxap/schematic-angular"
1657
1837
  },
1658
- "tableRootMethod": {
1659
- "$ref": "#/definitions/type"
1838
+ "name": {
1839
+ "type": "string",
1840
+ "const": "accordion-item-switch-component"
1660
1841
  },
1661
- "tableChildMethod": {
1662
- "$ref": "#/definitions/type"
1842
+ "options": {
1843
+ "$ref": "#/definitions/accordionItemSwitchComponentSchematic"
1663
1844
  }
1664
1845
  }
1665
- }
1666
- ]
1667
- },
1668
- "type": {
1669
- "oneOf": [
1846
+ },
1670
1847
  {
1671
- "type": "string"
1848
+ "type": "object",
1849
+ "properties": {
1850
+ "package": {
1851
+ "type": "string",
1852
+ "const": "@rxap/schematic-angular"
1853
+ },
1854
+ "name": {
1855
+ "type": "string",
1856
+ "const": "data-grid-component"
1857
+ },
1858
+ "options": {
1859
+ "$ref": "#/definitions/dataGridComponentSchematic"
1860
+ }
1861
+ }
1672
1862
  },
1673
1863
  {
1674
1864
  "type": "object",
1675
1865
  "properties": {
1866
+ "package": {
1867
+ "type": "string",
1868
+ "const": "@rxap/schematic-angular"
1869
+ },
1676
1870
  "name": {
1677
- "type": "string"
1871
+ "type": "string",
1872
+ "const": "dialog-component"
1678
1873
  },
1679
- "isTypeOnly": {
1680
- "type": "boolean"
1874
+ "options": {
1875
+ "$ref": "#/definitions/dialogComponentSchematic"
1876
+ }
1877
+ }
1878
+ },
1879
+ {
1880
+ "type": "object",
1881
+ "properties": {
1882
+ "package": {
1883
+ "type": "string",
1884
+ "const": "@rxap/schematic-angular"
1681
1885
  },
1682
- "moduleSpecifier": {
1683
- "type": "string"
1886
+ "name": {
1887
+ "type": "string",
1888
+ "const": "input-form-control"
1684
1889
  },
1685
- "namedImport": {
1686
- "type": "string"
1890
+ "options": {
1891
+ "$ref": "#/definitions/inputFormControlSchematic"
1892
+ }
1893
+ }
1894
+ },
1895
+ {
1896
+ "type": "object",
1897
+ "properties": {
1898
+ "package": {
1899
+ "type": "string",
1900
+ "const": "@rxap/schematic-angular"
1687
1901
  },
1688
- "namespaceImport": {
1689
- "type": "string"
1902
+ "name": {
1903
+ "type": "string",
1904
+ "const": "select-form-control"
1690
1905
  },
1691
- "defaultImport": {
1692
- "type": "string"
1906
+ "options": {
1907
+ "$ref": "#/definitions/selectFormControlSchematic"
1693
1908
  }
1694
- },
1695
- "required": [
1696
- "name"
1697
- ]
1698
- }
1699
- ]
1700
- },
1701
- "upstream": {
1702
- "oneOf": [
1909
+ }
1910
+ },
1703
1911
  {
1704
1912
  "type": "object",
1705
1913
  "properties": {
1706
- "kind": {
1914
+ "package": {
1707
1915
  "type": "string",
1708
- "enum": [
1709
- "open-api"
1710
- ]
1916
+ "const": "@rxap/schematic-angular"
1711
1917
  },
1712
- "operationId": {
1713
- "type": "string"
1918
+ "name": {
1919
+ "type": "string",
1920
+ "const": "table-select-form-control"
1714
1921
  },
1715
- "scope": {
1716
- "type": "string"
1922
+ "options": {
1923
+ "$ref": "#/definitions/tableSelectFormControlSchematic"
1924
+ }
1925
+ }
1926
+ },
1927
+ {
1928
+ "type": "object",
1929
+ "properties": {
1930
+ "package": {
1931
+ "type": "string",
1932
+ "const": "@rxap/schematic-angular"
1717
1933
  },
1718
- "mapper": {
1719
- "type": "object",
1720
- "properties": {
1721
- "pageIndex": {
1722
- "type": "string"
1723
- },
1724
- "pageSize": {
1725
- "type": "string"
1726
- },
1727
- "sortBy": {
1728
- "type": "string"
1729
- },
1730
- "sortDirection": {
1731
- "type": "string"
1732
- },
1733
- "list": {
1734
- "type": "string"
1735
- },
1736
- "total": {
1737
- "type": "string"
1738
- },
1739
- "filter": {
1740
- "type": "object",
1741
- "properties": {
1742
- "eq": {
1743
- "type": "string"
1744
- },
1745
- "join": {
1746
- "type": "string"
1747
- }
1748
- }
1749
- }
1750
- }
1934
+ "name": {
1935
+ "type": "string",
1936
+ "const": "autocomplete-table-select-form-control"
1937
+ },
1938
+ "options": {
1939
+ "$ref": "#/definitions/autocompleteTableSelectFormControlSchematic"
1751
1940
  }
1752
- },
1753
- "required": [
1754
- "kind",
1755
- "operationId"
1756
- ]
1757
- }
1758
- ]
1759
- },
1760
- "schematicInput": {
1761
- "$schema": "http://json-schema.org/schema",
1762
- "$id": "schematic-input",
1763
- "type": "object",
1764
- "oneOf": [
1941
+ }
1942
+ },
1765
1943
  {
1766
1944
  "type": "object",
1767
1945
  "properties": {
1768
1946
  "package": {
1769
1947
  "type": "string",
1770
- "enum": [
1771
- "@rxap/schematic-angular"
1772
- ]
1948
+ "const": "@rxap/schematic-angular"
1773
1949
  },
1774
1950
  "name": {
1775
1951
  "type": "string",
1776
- "enum": [
1777
- "table-component"
1778
- ]
1952
+ "const": "form-control"
1779
1953
  },
1780
1954
  "options": {
1781
- "$ref": "#/definitions/tableComponentSchematic"
1955
+ "$ref": "#/definitions/formControlSchematic"
1782
1956
  }
1783
1957
  }
1784
1958
  },
@@ -1787,18 +1961,14 @@
1787
1961
  "properties": {
1788
1962
  "package": {
1789
1963
  "type": "string",
1790
- "enum": [
1791
- "@rxap/schematic-angular"
1792
- ]
1964
+ "const": "@rxap/schematic-angular"
1793
1965
  },
1794
1966
  "name": {
1795
1967
  "type": "string",
1796
- "enum": [
1797
- "tree-table-component"
1798
- ]
1968
+ "const": "form-group"
1799
1969
  },
1800
1970
  "options": {
1801
- "$ref": "#/definitions/treeTableComponentSchematic"
1971
+ "$ref": "#/definitions/formGroupSchematic"
1802
1972
  }
1803
1973
  }
1804
1974
  },
@@ -1807,18 +1977,14 @@
1807
1977
  "properties": {
1808
1978
  "package": {
1809
1979
  "type": "string",
1810
- "enum": [
1811
- "@rxap/schematic-angular"
1812
- ]
1980
+ "const": "@rxap/schematic-angular"
1813
1981
  },
1814
1982
  "name": {
1815
1983
  "type": "string",
1816
- "enum": [
1817
- "form-component"
1818
- ]
1984
+ "const": "form-array"
1819
1985
  },
1820
1986
  "options": {
1821
- "$ref": "#/definitions/formComponentSchematic"
1987
+ "$ref": "#/definitions/formArraySchematic"
1822
1988
  }
1823
1989
  }
1824
1990
  },
@@ -1827,18 +1993,14 @@
1827
1993
  "properties": {
1828
1994
  "package": {
1829
1995
  "type": "string",
1830
- "enum": [
1831
- "@rxap/schematic-angular"
1832
- ]
1996
+ "const": "@rxap/schematic-angular"
1833
1997
  },
1834
1998
  "name": {
1835
1999
  "type": "string",
1836
- "enum": [
1837
- "form-definition"
1838
- ]
2000
+ "const": "dialog-table-action"
1839
2001
  },
1840
2002
  "options": {
1841
- "$ref": "#/definitions/formDefinitionSchematic"
2003
+ "$ref": "#/definitions/dialogTableActionSchematic"
1842
2004
  }
1843
2005
  }
1844
2006
  },
@@ -1847,18 +2009,14 @@
1847
2009
  "properties": {
1848
2010
  "package": {
1849
2011
  "type": "string",
1850
- "enum": [
1851
- "@rxap/schematic-angular"
1852
- ]
2012
+ "const": "@rxap/schematic-angular"
1853
2013
  },
1854
2014
  "name": {
1855
2015
  "type": "string",
1856
- "enum": [
1857
- "table-action"
1858
- ]
2016
+ "const": "form-table-action"
1859
2017
  },
1860
2018
  "options": {
1861
- "$ref": "#/definitions/tableActionSchematic"
2019
+ "$ref": "#/definitions/formTableActionSchematic"
1862
2020
  }
1863
2021
  }
1864
2022
  },
@@ -1867,18 +2025,14 @@
1867
2025
  "properties": {
1868
2026
  "package": {
1869
2027
  "type": "string",
1870
- "enum": [
1871
- "@rxap/schematic-angular"
1872
- ]
2028
+ "const": "@rxap/schematic-angular"
1873
2029
  },
1874
2030
  "name": {
1875
2031
  "type": "string",
1876
- "enum": [
1877
- "table-header-button"
1878
- ]
2032
+ "const": "navigation-table-action"
1879
2033
  },
1880
2034
  "options": {
1881
- "$ref": "#/definitions/tableHeaderButtonSchematic"
2035
+ "$ref": "#/definitions/navigationTableActionSchematic"
1882
2036
  }
1883
2037
  }
1884
2038
  },
@@ -1887,18 +2041,14 @@
1887
2041
  "properties": {
1888
2042
  "package": {
1889
2043
  "type": "string",
1890
- "enum": [
1891
- "@rxap/schematic-angular"
1892
- ]
2044
+ "const": "@rxap/schematic-angular"
1893
2045
  },
1894
2046
  "name": {
1895
2047
  "type": "string",
1896
- "enum": [
1897
- "form-table-header-button"
1898
- ]
2048
+ "const": "operation-table-action"
1899
2049
  },
1900
2050
  "options": {
1901
- "$ref": "#/definitions/formTableHeaderButtonSchematic"
2051
+ "$ref": "#/definitions/operationTableActionSchematic"
1902
2052
  }
1903
2053
  }
1904
2054
  },
@@ -1907,18 +2057,14 @@
1907
2057
  "properties": {
1908
2058
  "package": {
1909
2059
  "type": "string",
1910
- "enum": [
1911
- "@rxap/schematic-angular"
1912
- ]
2060
+ "const": "@rxap/schematic-angular"
1913
2061
  },
1914
2062
  "name": {
1915
2063
  "type": "string",
1916
- "enum": [
1917
- "navigation-table-header-button"
1918
- ]
2064
+ "const": "open-api-table-action"
1919
2065
  },
1920
2066
  "options": {
1921
- "$ref": "#/definitions/navigationTableHeaderButtonSchematic"
2067
+ "$ref": "#/definitions/openApiTableActionSchematic"
1922
2068
  }
1923
2069
  }
1924
2070
  },
@@ -1927,18 +2073,14 @@
1927
2073
  "properties": {
1928
2074
  "package": {
1929
2075
  "type": "string",
1930
- "enum": [
1931
- "@rxap/schematic-angular"
1932
- ]
2076
+ "const": "@rxap/schematic-angular"
1933
2077
  },
1934
2078
  "name": {
1935
2079
  "type": "string",
1936
- "enum": [
1937
- "accordion-component"
1938
- ]
2080
+ "const": "tree-component"
1939
2081
  },
1940
2082
  "options": {
1941
- "$ref": "#/definitions/accordionComponentSchematic"
2083
+ "$ref": "#/definitions/treeComponentSchematic"
1942
2084
  }
1943
2085
  }
1944
2086
  },
@@ -1947,18 +2089,14 @@
1947
2089
  "properties": {
1948
2090
  "package": {
1949
2091
  "type": "string",
1950
- "enum": [
1951
- "@rxap/schematic-angular"
1952
- ]
2092
+ "const": "@rxap/schematic-angular"
1953
2093
  },
1954
2094
  "name": {
1955
2095
  "type": "string",
1956
- "enum": [
1957
- "accordion-item-component"
1958
- ]
2096
+ "const": "accordion-item-data-grid-component"
1959
2097
  },
1960
2098
  "options": {
1961
- "$ref": "#/definitions/accordionItemComponentSchematic"
2099
+ "$ref": "#/definitions/accordionItemDataGridComponentSchematic"
1962
2100
  }
1963
2101
  }
1964
2102
  },
@@ -1967,402 +2105,644 @@
1967
2105
  "properties": {
1968
2106
  "package": {
1969
2107
  "type": "string",
1970
- "enum": [
1971
- "@rxap/schematic-angular"
1972
- ]
2108
+ "const": "@rxap/schematic-angular"
1973
2109
  },
1974
2110
  "name": {
1975
2111
  "type": "string",
1976
- "enum": [
1977
- "accordion-item-table-component"
1978
- ]
2112
+ "const": "accordion-item-tree-table-component"
1979
2113
  },
1980
2114
  "options": {
1981
- "$ref": "#/definitions/accordionItemTableComponentSchematic"
2115
+ "$ref": "#/definitions/accordionItemTreeTableComponentSchematic"
1982
2116
  }
1983
2117
  }
2118
+ }
2119
+ ]
2120
+ },
2121
+ "selectFormControl": {
2122
+ "allOf": [
2123
+ {
2124
+ "$ref": "#/definitions/baseFormControl"
1984
2125
  },
1985
2126
  {
1986
2127
  "type": "object",
1987
2128
  "properties": {
1988
- "package": {
1989
- "type": "string",
1990
- "enum": [
1991
- "@rxap/schematic-angular"
1992
- ]
2129
+ "formField": {
2130
+ "$ref": "#/definitions/formField"
1993
2131
  },
1994
- "name": {
2132
+ "kind": {
1995
2133
  "type": "string",
1996
- "enum": [
1997
- "accordion-item-switch-component"
1998
- ]
2134
+ "const": "select"
1999
2135
  },
2000
- "options": {
2001
- "$ref": "#/definitions/accordionItemSwitchComponentSchematic"
2136
+ "optionList": {
2137
+ "type": "array",
2138
+ "items": {
2139
+ "type": "object",
2140
+ "properties": {
2141
+ "display": {
2142
+ "type": "string"
2143
+ },
2144
+ "value": {
2145
+ "oneOf": [
2146
+ {
2147
+ "type": "string"
2148
+ },
2149
+ {
2150
+ "type": "number"
2151
+ },
2152
+ {
2153
+ "type": "boolean"
2154
+ },
2155
+ {
2156
+ "type": "object",
2157
+ "additionalProperties": true
2158
+ }
2159
+ ]
2160
+ }
2161
+ }
2162
+ }
2163
+ },
2164
+ "backend": {
2165
+ "$ref": "#/definitions/backend"
2166
+ },
2167
+ "multiple": {
2168
+ "alias": "multi",
2169
+ "type": "boolean",
2170
+ "description": "Whether the select form control is multiple mode"
2002
2171
  }
2003
2172
  }
2173
+ }
2174
+ ]
2175
+ },
2176
+ "selectFormControlSchematic": {
2177
+ "allOf": [
2178
+ {
2179
+ "$ref": "#/definitions/angular"
2180
+ },
2181
+ {
2182
+ "$ref": "#/definitions/selectFormControl"
2004
2183
  },
2005
2184
  {
2006
2185
  "type": "object",
2007
2186
  "properties": {
2008
- "package": {
2187
+ "formName": {
2188
+ "alias": "form",
2009
2189
  "type": "string",
2010
- "enum": [
2011
- "@rxap/schematic-angular"
2012
- ]
2190
+ "description": "The name of the form where the form control should be added"
2191
+ }
2192
+ },
2193
+ "required": [
2194
+ "formName"
2195
+ ]
2196
+ }
2197
+ ]
2198
+ },
2199
+ "slideToggleFormControl": {
2200
+ "allOf": [
2201
+ {
2202
+ "$ref": "#/definitions/baseFormControl"
2203
+ },
2204
+ {
2205
+ "type": "object",
2206
+ "properties": {
2207
+ "kind": {
2208
+ "type": "string",
2209
+ "const": "slide-toggle"
2013
2210
  },
2014
- "name": {
2211
+ "labelPosition": {
2015
2212
  "type": "string",
2016
2213
  "enum": [
2017
- "data-grid-component"
2214
+ "before",
2215
+ "after"
2216
+ ]
2217
+ }
2218
+ }
2219
+ }
2220
+ ]
2221
+ },
2222
+ "table": {
2223
+ "allOf": [
2224
+ {
2225
+ "$ref": "#/definitions/minimumTable"
2226
+ },
2227
+ {
2228
+ "type": "object",
2229
+ "properties": {
2230
+ "tableMethod": {
2231
+ "$ref": "#/definitions/type"
2232
+ },
2233
+ "openApi": {
2234
+ "type": "object",
2235
+ "properties": {
2236
+ "operationId": {
2237
+ "type": "string",
2238
+ "description": "The operationId for the open api operation"
2239
+ },
2240
+ "adapter": {
2241
+ "$ref": "#/definitions/type"
2242
+ }
2243
+ },
2244
+ "required": [
2245
+ "operationId"
2018
2246
  ]
2019
2247
  },
2020
- "options": {
2021
- "$ref": "#/definitions/dataGridComponentSchematic"
2248
+ "modifiers": {
2249
+ "alias": "modifier",
2250
+ "type": "array",
2251
+ "items": {
2252
+ "type": "string",
2253
+ "enum": [
2254
+ "navigation-back-header",
2255
+ "without-title",
2256
+ "show-archived-slide"
2257
+ ]
2258
+ },
2259
+ "description": "The table modifiers"
2260
+ },
2261
+ "selectColumn": {
2262
+ "type": "boolean",
2263
+ "description": "Whether to add a select column to the table"
2022
2264
  }
2023
2265
  }
2266
+ }
2267
+ ]
2268
+ },
2269
+ "tableAction": {
2270
+ "type": "object",
2271
+ "properties": {
2272
+ "type": {
2273
+ "type": "string"
2274
+ },
2275
+ "refresh": {
2276
+ "type": "boolean"
2277
+ },
2278
+ "confirm": {
2279
+ "type": "boolean"
2280
+ },
2281
+ "tooltip": {
2282
+ "type": "string"
2283
+ },
2284
+ "errorMessage": {
2285
+ "type": "string"
2286
+ },
2287
+ "successMessage": {
2288
+ "type": "string"
2289
+ },
2290
+ "priority": {
2291
+ "type": "number"
2292
+ },
2293
+ "checkFunction": {
2294
+ "type": "string"
2295
+ },
2296
+ "inHeader": {
2297
+ "type": "boolean"
2298
+ },
2299
+ "role": {
2300
+ "type": "string"
2301
+ },
2302
+ "icon": {
2303
+ "type": "string"
2304
+ },
2305
+ "svgIcon": {
2306
+ "type": "string"
2307
+ },
2308
+ "permission": {
2309
+ "type": "string"
2310
+ },
2311
+ "color": {
2312
+ "type": "string",
2313
+ "description": "Value for the color input of the mat-button / mat-icon component"
2314
+ },
2315
+ "cssClass": {
2316
+ "type": "string",
2317
+ "description": "Additional CSS classes added to the button element"
2318
+ },
2319
+ "options": {
2320
+ "type": "object",
2321
+ "additionalProperties": true
2322
+ }
2323
+ },
2324
+ "required": [
2325
+ "type"
2326
+ ]
2327
+ },
2328
+ "tableActionSchematic": {
2329
+ "allOf": [
2330
+ {
2331
+ "$ref": "#/definitions/angular"
2024
2332
  },
2025
2333
  {
2026
- "type": "object",
2027
- "properties": {
2028
- "package": {
2029
- "type": "string",
2030
- "enum": [
2031
- "@rxap/schematic-angular"
2032
- ]
2033
- },
2034
- "name": {
2035
- "type": "string",
2036
- "enum": [
2037
- "dialog-component"
2038
- ]
2039
- },
2040
- "options": {
2041
- "$ref": "#/definitions/dialogComponentSchematic"
2042
- }
2043
- }
2334
+ "$ref": "#/definitions/tableAction"
2044
2335
  },
2045
2336
  {
2046
2337
  "type": "object",
2047
2338
  "properties": {
2048
- "package": {
2049
- "type": "string",
2050
- "enum": [
2051
- "@rxap/schematic-angular"
2052
- ]
2053
- },
2054
- "name": {
2339
+ "tableName": {
2340
+ "alias": "table",
2055
2341
  "type": "string",
2056
- "enum": [
2057
- "input-form-control"
2058
- ]
2059
- },
2060
- "options": {
2061
- "$ref": "#/definitions/inputFormControlSchematic"
2342
+ "description": "The name of the table action"
2062
2343
  }
2063
2344
  }
2345
+ }
2346
+ ]
2347
+ },
2348
+ "tableColumn": {
2349
+ "type": "object",
2350
+ "properties": {
2351
+ "name": {
2352
+ "type": "string"
2064
2353
  },
2065
- {
2066
- "type": "object",
2067
- "properties": {
2068
- "package": {
2069
- "type": "string",
2070
- "enum": [
2071
- "@rxap/schematic-angular"
2072
- ]
2073
- },
2074
- "name": {
2075
- "type": "string",
2076
- "enum": [
2077
- "select-form-control"
2078
- ]
2079
- },
2080
- "options": {
2081
- "$ref": "#/definitions/selectFormControlSchematic"
2082
- }
2354
+ "type": {
2355
+ "$ref": "#/definitions/type"
2356
+ },
2357
+ "kind": {
2358
+ "type": "string"
2359
+ },
2360
+ "modifiers": {
2361
+ "type": "array",
2362
+ "items": {
2363
+ "type": "string"
2083
2364
  }
2084
2365
  },
2085
- {
2086
- "type": "object",
2087
- "properties": {
2088
- "package": {
2089
- "type": "string",
2090
- "enum": [
2091
- "@rxap/schematic-angular"
2092
- ]
2093
- },
2094
- "name": {
2095
- "type": "string",
2096
- "enum": [
2097
- "table-select-form-control"
2098
- ]
2099
- },
2100
- "options": {
2101
- "$ref": "#/definitions/tableSelectFormControlSchematic"
2102
- }
2366
+ "template": {
2367
+ "type": "string"
2368
+ },
2369
+ "pipeList": {
2370
+ "type": "array",
2371
+ "items": {
2372
+ "$ref": "#/definitions/pipe"
2103
2373
  }
2104
2374
  },
2375
+ "hasFilter": {
2376
+ "type": "boolean"
2377
+ },
2378
+ "nowrap": {
2379
+ "type": "boolean"
2380
+ },
2381
+ "cssClass": {
2382
+ "type": "string"
2383
+ },
2384
+ "title": {
2385
+ "type": "string"
2386
+ },
2387
+ "propertyPath": {
2388
+ "type": "string"
2389
+ },
2390
+ "hidden": {
2391
+ "type": "boolean"
2392
+ },
2393
+ "active": {
2394
+ "type": "boolean"
2395
+ },
2396
+ "inactive": {
2397
+ "type": "boolean"
2398
+ },
2399
+ "show": {
2400
+ "type": "boolean"
2401
+ },
2402
+ "filterControl": {
2403
+ "$ref": "#/definitions/formControl"
2404
+ }
2405
+ },
2406
+ "required": [
2407
+ "name"
2408
+ ]
2409
+ },
2410
+ "tableComponentSchematic": {
2411
+ "allOf": [
2412
+ {
2413
+ "$ref": "#/definitions/angular"
2414
+ },
2105
2415
  {
2106
- "type": "object",
2107
- "properties": {
2108
- "package": {
2109
- "type": "string",
2110
- "enum": [
2111
- "@rxap/schematic-angular"
2112
- ]
2113
- },
2114
- "name": {
2115
- "type": "string",
2116
- "enum": [
2117
- "form-control"
2118
- ]
2119
- },
2120
- "options": {
2121
- "$ref": "#/definitions/formControlSchematic"
2122
- }
2123
- }
2416
+ "$ref": "#/definitions/table"
2417
+ }
2418
+ ]
2419
+ },
2420
+ "tableHeaderButtonSchematic": {
2421
+ "allOf": [
2422
+ {
2423
+ "$ref": "#/definitions/angular"
2424
+ },
2425
+ {
2426
+ "$ref": "#/definitions/headerButton"
2124
2427
  },
2125
2428
  {
2126
2429
  "type": "object",
2127
2430
  "properties": {
2128
- "package": {
2129
- "type": "string",
2130
- "enum": [
2131
- "@rxap/schematic-angular"
2132
- ]
2133
- },
2134
- "name": {
2431
+ "tableName": {
2432
+ "alias": "table",
2135
2433
  "type": "string",
2136
- "enum": [
2137
- "dialog-table-action"
2138
- ]
2139
- },
2140
- "options": {
2141
- "$ref": "#/definitions/dialogTableActionSchematic"
2434
+ "description": "The name of the table action"
2142
2435
  }
2143
2436
  }
2437
+ }
2438
+ ]
2439
+ },
2440
+ "tableSelectFormControl": {
2441
+ "allOf": [
2442
+ {
2443
+ "$ref": "#/definitions/baseFormControl"
2144
2444
  },
2145
2445
  {
2146
2446
  "type": "object",
2147
2447
  "properties": {
2148
- "package": {
2448
+ "formField": {
2449
+ "$ref": "#/definitions/formField"
2450
+ },
2451
+ "kind": {
2149
2452
  "type": "string",
2150
- "enum": [
2151
- "@rxap/schematic-angular"
2152
- ]
2453
+ "const": "table-select"
2153
2454
  },
2154
- "name": {
2455
+ "placeholder": {
2456
+ "type": "string"
2457
+ },
2458
+ "columnList": {
2459
+ "alias": "column",
2460
+ "type": "array",
2461
+ "items": {
2462
+ "description": "table column name",
2463
+ "type": "object",
2464
+ "properties": {
2465
+ "name": {
2466
+ "type": "string",
2467
+ "description": "table column name"
2468
+ },
2469
+ "title": {
2470
+ "type": "string",
2471
+ "description": "table column label"
2472
+ },
2473
+ "hasFilter": {
2474
+ "type": "boolean",
2475
+ "description": "Whether the column has a filter"
2476
+ },
2477
+ "kind": {
2478
+ "type": "string",
2479
+ "description": "The kind of data in the column"
2480
+ }
2481
+ }
2482
+ },
2483
+ "description": "List of table column names"
2484
+ },
2485
+ "title": {
2155
2486
  "type": "string",
2156
- "enum": [
2157
- "form-table-action"
2158
- ]
2487
+ "description": "The title of the table select window"
2159
2488
  },
2160
- "options": {
2161
- "$ref": "#/definitions/formTableActionSchematic"
2489
+ "toDisplay": {
2490
+ "type": "object",
2491
+ "properties": {
2492
+ "property": {
2493
+ "$ref": "#/definitions/property"
2494
+ }
2495
+ }
2496
+ },
2497
+ "toValue": {
2498
+ "type": "object",
2499
+ "properties": {
2500
+ "property": {
2501
+ "$ref": "#/definitions/property"
2502
+ }
2503
+ }
2504
+ },
2505
+ "upstream": {
2506
+ "$ref": "#/definitions/upstream"
2507
+ },
2508
+ "resolver": {
2509
+ "type": "object",
2510
+ "properties": {
2511
+ "upstream": {
2512
+ "$ref": "#/definitions/upstream"
2513
+ }
2514
+ }
2162
2515
  }
2163
2516
  }
2517
+ }
2518
+ ]
2519
+ },
2520
+ "tableSelectFormControlSchematic": {
2521
+ "allOf": [
2522
+ {
2523
+ "$ref": "#/definitions/angular"
2524
+ },
2525
+ {
2526
+ "$ref": "#/definitions/tableSelectFormControl"
2164
2527
  },
2165
2528
  {
2166
2529
  "type": "object",
2167
2530
  "properties": {
2168
- "package": {
2169
- "type": "string",
2170
- "enum": [
2171
- "@rxap/schematic-angular"
2172
- ]
2173
- },
2174
- "name": {
2531
+ "formName": {
2532
+ "alias": "form",
2175
2533
  "type": "string",
2176
- "enum": [
2177
- "navigation-table-action"
2178
- ]
2179
- },
2180
- "options": {
2181
- "$ref": "#/definitions/navigationTableActionSchematic"
2534
+ "description": "The name of the form where the form control should be added"
2182
2535
  }
2183
- }
2536
+ },
2537
+ "required": [
2538
+ "formName"
2539
+ ]
2540
+ }
2541
+ ]
2542
+ },
2543
+ "textareaFormControl": {
2544
+ "allOf": [
2545
+ {
2546
+ "$ref": "#/definitions/baseFormControl"
2184
2547
  },
2185
2548
  {
2186
2549
  "type": "object",
2187
2550
  "properties": {
2188
- "package": {
2189
- "type": "string",
2190
- "enum": [
2191
- "@rxap/schematic-angular"
2192
- ]
2551
+ "formField": {
2552
+ "$ref": "#/definitions/formField"
2193
2553
  },
2194
- "name": {
2554
+ "kind": {
2195
2555
  "type": "string",
2196
- "enum": [
2197
- "operation-table-action"
2198
- ]
2556
+ "const": "textarea"
2199
2557
  },
2200
- "options": {
2201
- "$ref": "#/definitions/operationTableActionSchematic"
2558
+ "placeholder": {
2559
+ "type": "string"
2202
2560
  }
2203
2561
  }
2562
+ }
2563
+ ]
2564
+ },
2565
+ "treeComponentSchematic": {
2566
+ "allOf": [
2567
+ {
2568
+ "$ref": "#/definitions/angular"
2204
2569
  },
2205
2570
  {
2206
2571
  "type": "object",
2207
2572
  "properties": {
2208
- "package": {
2209
- "type": "string",
2210
- "enum": [
2211
- "@rxap/schematic-angular"
2212
- ]
2213
- },
2214
- "name": {
2215
- "type": "string",
2216
- "enum": [
2217
- "open-api-table-action"
2218
- ]
2573
+ "modifiers": {
2574
+ "alias": "modifier",
2575
+ "type": "array",
2576
+ "items": {
2577
+ "type": "string",
2578
+ "enum": [
2579
+ "navigation-back-header",
2580
+ "without-title"
2581
+ ]
2582
+ },
2583
+ "description": "The tree modifiers"
2219
2584
  },
2220
- "options": {
2221
- "$ref": "#/definitions/openApiTableActionSchematic"
2585
+ "fullTree": {
2586
+ "type": "boolean",
2587
+ "description": "Whether the tree should be a full tree",
2588
+ "default": true
2222
2589
  }
2223
2590
  }
2591
+ }
2592
+ ]
2593
+ },
2594
+ "treeTable": {
2595
+ "allOf": [
2596
+ {
2597
+ "$ref": "#/definitions/minimumTable"
2224
2598
  },
2225
2599
  {
2226
2600
  "type": "object",
2227
2601
  "properties": {
2228
- "package": {
2229
- "type": "string",
2230
- "enum": [
2231
- "@rxap/schematic-angular"
2232
- ]
2602
+ "modifiers": {
2603
+ "alias": "modifier",
2604
+ "type": "array",
2605
+ "items": {
2606
+ "type": "string",
2607
+ "enum": [
2608
+ "navigation-back-header",
2609
+ "without-title"
2610
+ ]
2611
+ },
2612
+ "description": "The table modifiers"
2233
2613
  },
2234
- "name": {
2235
- "type": "string",
2236
- "enum": [
2237
- "tree-component"
2238
- ]
2614
+ "tableRootMethod": {
2615
+ "$ref": "#/definitions/type"
2239
2616
  },
2240
- "options": {
2241
- "$ref": "#/definitions/treeComponentSchematic"
2617
+ "tableChildMethod": {
2618
+ "$ref": "#/definitions/type"
2242
2619
  }
2243
2620
  }
2621
+ }
2622
+ ]
2623
+ },
2624
+ "treeTableComponentSchematic": {
2625
+ "allOf": [
2626
+ {
2627
+ "$ref": "#/definitions/angular"
2628
+ },
2629
+ {
2630
+ "$ref": "#/definitions/treeTable"
2631
+ }
2632
+ ]
2633
+ },
2634
+ "type": {
2635
+ "oneOf": [
2636
+ {
2637
+ "type": "string"
2244
2638
  },
2245
2639
  {
2246
2640
  "type": "object",
2247
2641
  "properties": {
2248
- "package": {
2249
- "type": "string",
2250
- "enum": [
2251
- "@rxap/schematic-angular"
2252
- ]
2253
- },
2254
2642
  "name": {
2255
- "type": "string",
2256
- "enum": [
2257
- "accordion-item-data-grid-component"
2258
- ]
2643
+ "type": "string"
2259
2644
  },
2260
- "options": {
2261
- "$ref": "#/definitions/accordionItemDataGridComponentSchematic"
2645
+ "isTypeOnly": {
2646
+ "type": "boolean"
2647
+ },
2648
+ "moduleSpecifier": {
2649
+ "type": "string"
2650
+ },
2651
+ "namedImport": {
2652
+ "type": "string"
2653
+ },
2654
+ "namespaceImport": {
2655
+ "type": "string"
2656
+ },
2657
+ "defaultImport": {
2658
+ "type": "string"
2262
2659
  }
2263
- }
2264
- },
2660
+ },
2661
+ "required": [
2662
+ "name"
2663
+ ]
2664
+ }
2665
+ ]
2666
+ },
2667
+ "upstream": {
2668
+ "oneOf": [
2265
2669
  {
2266
2670
  "type": "object",
2267
2671
  "properties": {
2268
- "package": {
2672
+ "kind": {
2269
2673
  "type": "string",
2270
2674
  "enum": [
2271
- "@rxap/schematic-angular"
2675
+ "open-api"
2272
2676
  ]
2273
2677
  },
2274
- "name": {
2275
- "type": "string",
2276
- "enum": [
2277
- "accordion-item-tree-table-component"
2278
- ]
2678
+ "operationId": {
2679
+ "type": "string"
2279
2680
  },
2280
- "options": {
2281
- "$ref": "#/definitions/accordionItemTreeTableComponentSchematic"
2681
+ "scope": {
2682
+ "type": "string"
2683
+ },
2684
+ "mapper": {
2685
+ "type": "object",
2686
+ "properties": {
2687
+ "pageIndex": {
2688
+ "type": "string"
2689
+ },
2690
+ "pageSize": {
2691
+ "type": "string"
2692
+ },
2693
+ "sortBy": {
2694
+ "type": "string"
2695
+ },
2696
+ "sortDirection": {
2697
+ "type": "string"
2698
+ },
2699
+ "list": {
2700
+ "type": "string"
2701
+ },
2702
+ "total": {
2703
+ "type": "string"
2704
+ },
2705
+ "filter": {
2706
+ "type": "object",
2707
+ "properties": {
2708
+ "eq": {
2709
+ "type": "string"
2710
+ },
2711
+ "join": {
2712
+ "type": "string"
2713
+ }
2714
+ }
2715
+ }
2716
+ }
2282
2717
  }
2283
- }
2718
+ },
2719
+ "required": [
2720
+ "kind",
2721
+ "operationId"
2722
+ ]
2284
2723
  }
2285
- ],
2286
- "definitions": {
2287
- "tableComponentSchematic": {
2288
- "$ref": "#/definitions/tableComponentSchematic"
2289
- },
2290
- "treeTableComponentSchematic": {
2291
- "$ref": "#/definitions/treeTableComponentSchematic"
2292
- },
2293
- "formComponentSchematic": {
2294
- "$ref": "#/definitions/formComponentSchematic"
2295
- },
2296
- "formDefinitionSchematic": {
2297
- "$ref": "#/definitions/formDefinitionSchematic"
2298
- },
2299
- "tableActionSchematic": {
2300
- "$ref": "#/definitions/tableActionSchematic"
2301
- },
2302
- "tableHeaderButtonSchematic": {
2303
- "$ref": "#/definitions/tableHeaderButtonSchematic"
2304
- },
2305
- "formTableHeaderButtonSchematic": {
2306
- "$ref": "#/definitions/formTableHeaderButtonSchematic"
2307
- },
2308
- "navigationTableHeaderButtonSchematic": {
2309
- "$ref": "#/definitions/navigationTableHeaderButtonSchematic"
2310
- },
2311
- "accordionComponentSchematic": {
2312
- "$ref": "#/definitions/accordionComponentSchematic"
2313
- },
2314
- "accordionItemComponentSchematic": {
2315
- "$ref": "#/definitions/accordionItemComponentSchematic"
2316
- },
2317
- "accordionItemTableComponentSchematic": {
2318
- "$ref": "#/definitions/accordionItemTableComponentSchematic"
2319
- },
2320
- "accordionItemSwitchComponentSchematic": {
2321
- "$ref": "#/definitions/accordionItemSwitchComponentSchematic"
2322
- },
2323
- "dataGridComponentSchematic": {
2324
- "$ref": "#/definitions/dataGridComponentSchematic"
2325
- },
2326
- "dialogComponentSchematic": {
2327
- "$ref": "#/definitions/dialogComponentSchematic"
2328
- },
2329
- "inputFormControlSchematic": {
2330
- "$ref": "#/definitions/inputFormControlSchematic"
2331
- },
2332
- "selectFormControlSchematic": {
2333
- "$ref": "#/definitions/selectFormControlSchematic"
2334
- },
2335
- "tableSelectFormControlSchematic": {
2336
- "$ref": "#/definitions/tableSelectFormControlSchematic"
2337
- },
2338
- "formControlSchematic": {
2339
- "$ref": "#/definitions/formControlSchematic"
2340
- },
2341
- "dialogTableActionSchematic": {
2342
- "$ref": "#/definitions/dialogTableActionSchematic"
2343
- },
2344
- "formTableActionSchematic": {
2345
- "$ref": "#/definitions/formTableActionSchematic"
2346
- },
2347
- "navigationTableActionSchematic": {
2348
- "$ref": "#/definitions/navigationTableActionSchematic"
2349
- },
2350
- "operationTableActionSchematic": {
2351
- "$ref": "#/definitions/operationTableActionSchematic"
2352
- },
2353
- "openApiTableActionSchematic": {
2354
- "$ref": "#/definitions/openApiTableActionSchematic"
2355
- },
2356
- "treeComponentSchematic": {
2357
- "$ref": "#/definitions/treeComponentSchematic"
2358
- },
2359
- "accordionItemDataGridComponentSchematic": {
2360
- "$ref": "#/definitions/accordionItemDataGridComponentSchematic"
2724
+ ]
2725
+ },
2726
+ "value": {
2727
+ "oneOf": [
2728
+ {
2729
+ "type": "string"
2361
2730
  },
2362
- "accordionItemTreeTableComponentSchematic": {
2363
- "$ref": "#/definitions/accordionItemTreeTableComponentSchematic"
2731
+ {
2732
+ "type": "object",
2733
+ "properties": {
2734
+ "type": {
2735
+ "$ref": "#/definitions/type"
2736
+ },
2737
+ "value": {
2738
+ "type": "string"
2739
+ }
2740
+ },
2741
+ "required": [
2742
+ "value"
2743
+ ]
2364
2744
  }
2365
- }
2745
+ ]
2366
2746
  }
2367
2747
  }
2368
2748
  }