@rxap/schematic-angular 18.0.3-dev.1 → 18.1.0-dev.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (140) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/package.json +10 -9
  3. package/src/lib/coerce-minimum-table-component.js +9 -2
  4. package/src/lib/coerce-minimum-table-component.js.map +1 -1
  5. package/src/lib/form/control/form-control.d.ts +1 -0
  6. package/src/lib/form/control/form-control.js +6 -1
  7. package/src/lib/form/control/form-control.js.map +1 -1
  8. package/src/lib/form/form-component.d.ts +15 -0
  9. package/src/lib/form/form-component.js +12 -0
  10. package/src/lib/form/form-component.js.map +1 -0
  11. package/src/lib/form/form-definition.d.ts +8 -0
  12. package/src/lib/form/form-definition.js +11 -0
  13. package/src/lib/form/form-definition.js.map +1 -0
  14. package/src/lib/mat-form-field-default-options.d.ts +8 -2
  15. package/src/lib/mat-form-field-default-options.js +8 -1
  16. package/src/lib/mat-form-field-default-options.js.map +1 -1
  17. package/src/lib/minimum-table-component-options.js +28 -35
  18. package/src/lib/minimum-table-component-options.js.map +1 -1
  19. package/src/lib/minimum-table-options.d.ts +6 -3
  20. package/src/lib/minimum-table-options.js +4 -1
  21. package/src/lib/minimum-table-options.js.map +1 -1
  22. package/src/lib/table/action/base-table-action.d.ts +25 -0
  23. package/src/lib/table/action/base-table-action.js +32 -0
  24. package/src/lib/table/action/base-table-action.js.map +1 -0
  25. package/src/lib/table/action/dialog-table-action.d.ts +15 -0
  26. package/src/lib/table/action/dialog-table-action.js +23 -0
  27. package/src/lib/table/action/dialog-table-action.js.map +1 -0
  28. package/src/lib/table/action/form-table-action.d.ts +19 -0
  29. package/src/lib/table/action/form-table-action.js +26 -0
  30. package/src/lib/table/action/form-table-action.js.map +1 -0
  31. package/src/lib/table/action/navigation-table-action.d.ts +12 -0
  32. package/src/lib/table/action/navigation-table-action.js +14 -0
  33. package/src/lib/table/action/navigation-table-action.js.map +1 -0
  34. package/src/lib/table/action/open-api-table-action.d.ts +16 -0
  35. package/src/lib/table/action/open-api-table-action.js +14 -0
  36. package/src/lib/table/action/open-api-table-action.js.map +1 -0
  37. package/src/lib/table/action/operation-table-action.d.ts +8 -0
  38. package/src/lib/table/action/operation-table-action.js +10 -0
  39. package/src/lib/table/action/operation-table-action.js.map +1 -0
  40. package/src/lib/table/table-action-kind.d.ts +9 -0
  41. package/src/lib/table/table-action-kind.js +17 -0
  42. package/src/lib/table/table-action-kind.js.map +1 -0
  43. package/src/lib/table/table-action.d.ts +11 -0
  44. package/src/lib/table/table-action.js +35 -0
  45. package/src/lib/table/table-action.js.map +1 -0
  46. package/src/lib/table/table-filter-column-rule.js +9 -5
  47. package/src/lib/table/table-filter-column-rule.js.map +1 -1
  48. package/src/lib/table-options.d.ts +5 -9
  49. package/src/lib/table-options.js.map +1 -1
  50. package/src/lib/tree-table-options.d.ts +5 -10
  51. package/src/lib/tree-table-options.js.map +1 -1
  52. package/src/lib/use-pick-from-table-interface-as-form-type.d.ts +3 -1
  53. package/src/lib/use-pick-from-table-interface-as-form-type.js +19 -5
  54. package/src/lib/use-pick-from-table-interface-as-form-type.js.map +1 -1
  55. package/src/schema.json +201 -62
  56. package/src/schematics/accordion/accordion-component/index.js +5 -2
  57. package/src/schematics/accordion/accordion-component/index.js.map +1 -1
  58. package/src/schematics/accordion/accordion-component/schema.json +380 -48
  59. package/src/schematics/accordion/accordion-item-component/index.js +7 -4
  60. package/src/schematics/accordion/accordion-item-component/index.js.map +1 -1
  61. package/src/schematics/accordion/accordion-item-component/schema.json +380 -48
  62. package/src/schematics/accordion/item/accordion-item-data-grid-component/index.js +2 -1
  63. package/src/schematics/accordion/item/accordion-item-data-grid-component/index.js.map +1 -1
  64. package/src/schematics/accordion/item/accordion-item-switch-component/schema.json +380 -48
  65. package/src/schematics/accordion/item/accordion-item-table-component/schema.json +534 -48
  66. package/src/schematics/accordion/item/accordion-item-tree-table-component/index.js +3 -1
  67. package/src/schematics/accordion/item/accordion-item-tree-table-component/index.js.map +1 -1
  68. package/src/schematics/accordion/item/accordion-item-tree-table-component/schema.json +534 -48
  69. package/src/schematics/base-table-action.schema.json +62 -0
  70. package/src/schematics/data-grid-component/index.js +4 -2
  71. package/src/schematics/data-grid-component/index.js.map +1 -1
  72. package/src/schematics/dialog-table-action.schema.json +65 -0
  73. package/src/schematics/form/control/autocomplete-table-select-form-control/index.js +7 -4
  74. package/src/schematics/form/control/autocomplete-table-select-form-control/index.js.map +1 -1
  75. package/src/schematics/form/control/select-form-control/index.js +2 -1
  76. package/src/schematics/form/control/select-form-control/index.js.map +1 -1
  77. package/src/schematics/form/control/table-select-form-control/index.js +5 -3
  78. package/src/schematics/form/control/table-select-form-control/index.js.map +1 -1
  79. package/src/schematics/form/form-component/index.d.ts +2 -7
  80. package/src/schematics/form/form-component/index.js +7 -6
  81. package/src/schematics/form/form-component/index.js.map +1 -1
  82. package/src/schematics/form/form-component/schema.d.ts +2 -9
  83. package/src/schematics/form-table-action.schema.json +92 -0
  84. package/src/schematics/minimum-table.schema.json +11 -0
  85. package/src/schematics/navigation-table-action.schema.json +35 -0
  86. package/src/schematics/open-api-table-action.schema.json +60 -0
  87. package/src/schematics/operation-table-action.schema.json +26 -0
  88. package/src/schematics/table/action/dialog-table-action/index.d.ts +5 -9
  89. package/src/schematics/table/action/dialog-table-action/index.js +13 -21
  90. package/src/schematics/table/action/dialog-table-action/index.js.map +1 -1
  91. package/src/schematics/table/action/dialog-table-action/schema.d.ts +4 -6
  92. package/src/schematics/table/action/dialog-table-action/schema.json +1293 -100
  93. package/src/schematics/table/action/dialog-table-action/template.schema.json +4 -42
  94. package/src/schematics/table/action/form-table-action/index.d.ts +3 -11
  95. package/src/schematics/table/action/form-table-action/index.js +20 -18
  96. package/src/schematics/table/action/form-table-action/index.js.map +1 -1
  97. package/src/schematics/table/action/form-table-action/schema.d.ts +4 -14
  98. package/src/schematics/table/action/form-table-action/schema.json +331 -104
  99. package/src/schematics/table/action/form-table-action/template.schema.json +4 -59
  100. package/src/schematics/table/action/navigation-table-action/index.d.ts +3 -3
  101. package/src/schematics/table/action/navigation-table-action/index.js +2 -3
  102. package/src/schematics/table/action/navigation-table-action/index.js.map +1 -1
  103. package/src/schematics/table/action/navigation-table-action/schema.d.ts +4 -4
  104. package/src/schematics/table/action/navigation-table-action/schema.json +1293 -70
  105. package/src/schematics/table/action/navigation-table-action/template.schema.json +4 -12
  106. package/src/schematics/table/action/open-api-table-action/index.d.ts +2 -4
  107. package/src/schematics/table/action/open-api-table-action/index.js +2 -4
  108. package/src/schematics/table/action/open-api-table-action/index.js.map +1 -1
  109. package/src/schematics/table/action/open-api-table-action/schema.d.ts +4 -6
  110. package/src/schematics/table/action/open-api-table-action/schema.json +1286 -91
  111. package/src/schematics/table/action/open-api-table-action/template.schema.json +4 -40
  112. package/src/schematics/table/action/operation-table-action/index.d.ts +2 -1
  113. package/src/schematics/table/action/operation-table-action/index.js +8 -6
  114. package/src/schematics/table/action/operation-table-action/index.js.map +1 -1
  115. package/src/schematics/table/action/operation-table-action/schema.d.ts +5 -3
  116. package/src/schematics/table/action/operation-table-action/schema.json +1296 -59
  117. package/src/schematics/table/action/operation-table-action/template.schema.json +6 -0
  118. package/src/schematics/table/table-action/index.d.ts +2 -1
  119. package/src/schematics/table/table-action/index.js +3 -2
  120. package/src/schematics/table/table-action/index.js.map +1 -1
  121. package/src/schematics/table/table-action/schema.d.ts +2 -2
  122. package/src/schematics/table/table-action/schema.json +1286 -52
  123. package/src/schematics/table/table-component/files/component/__componentName__.component.html.hbs +19 -1
  124. package/src/schematics/table/table-component/index.js +6 -5
  125. package/src/schematics/table/table-component/index.js.map +1 -1
  126. package/src/schematics/table/table-component/schema.json +534 -48
  127. package/src/schematics/table/tree-table-component/files/component/__componentName__.component.html.hbs +19 -1
  128. package/src/schematics/table/tree-table-component/index.js +5 -3
  129. package/src/schematics/table/tree-table-component/index.js.map +1 -1
  130. package/src/schematics/table/tree-table-component/schema.json +534 -48
  131. package/src/schematics/table-action.schema.json +47 -53
  132. package/src/schematics/tree-component/index.js +2 -1
  133. package/src/schematics/tree-component/index.js.map +1 -1
  134. package/src/template.schema.json +18 -0
  135. package/src/lib/table-action.d.ts +0 -13
  136. package/src/lib/table-action.js +0 -102
  137. package/src/lib/table-action.js.map +0 -1
  138. package/src/lib/table-row-action.d.ts +0 -21
  139. package/src/lib/table-row-action.js +0 -25
  140. package/src/lib/table-row-action.js.map +0 -1
@@ -6,51 +6,99 @@
6
6
  "$ref": "#/definitions/tableActionSchematic"
7
7
  },
8
8
  {
9
- "type": "object",
10
- "properties": {
11
- "withoutBody": {
12
- "type": "boolean",
13
- "description": "Whether the table action operation should be without body",
14
- "default": false
9
+ "$ref": "#/definitions/dialogTableAction"
10
+ }
11
+ ],
12
+ "definitions": {
13
+ "abstractControl": {
14
+ "allOf": [
15
+ {
16
+ "$ref": "#/definitions/property"
15
17
  },
16
- "actionList": {
17
- "alias": "action",
18
- "type": "array",
19
- "description": "The list of actions to be added to the dialog",
20
- "items": {
21
- "oneOf": [
22
- {
18
+ {
19
+ "type": "object",
20
+ "properties": {
21
+ "name": {
22
+ "type": "string",
23
+ "description": "The name of the control"
24
+ },
25
+ "isArray": {
26
+ "type": "boolean",
27
+ "description": "Whether the control value is an array",
28
+ "default": false
29
+ },
30
+ "state": {
31
+ "type": "string",
32
+ "description": "The initial state of the control"
33
+ },
34
+ "isRequired": {
35
+ "type": "boolean",
36
+ "description": "Whether the control value is required",
37
+ "default": false
38
+ },
39
+ "isReadonly": {
40
+ "type": "boolean",
41
+ "description": "Whether the control value is readonly",
42
+ "default": false
43
+ },
44
+ "isDisabled": {
45
+ "type": "boolean",
46
+ "description": "Whether the control value is disabled",
47
+ "default": false
48
+ },
49
+ "validatorList": {
50
+ "type": "array",
51
+ "items": {
23
52
  "type": "string"
24
- },
25
- {
26
- "type": "object",
27
- "properties": {
28
- "label": {
29
- "type": "string"
30
- },
31
- "color": {
32
- "type": "string"
33
- },
34
- "role": {
35
- "type": "string",
36
- "enum": [
37
- "submit",
38
- "close"
39
- ]
40
- }
41
- }
42
53
  }
43
- ]
44
- }
54
+ },
55
+ "kind": {
56
+ "type": "string",
57
+ "description": "The kind of the control",
58
+ "default": "default"
59
+ },
60
+ "importList": {
61
+ "type": "array",
62
+ "items": {
63
+ "$ref": "#/definitions/type"
64
+ }
65
+ },
66
+ "template": {
67
+ "type": "string",
68
+ "description": "The template of the control"
69
+ },
70
+ "role": {
71
+ "type": "string",
72
+ "description": "The role of the control",
73
+ "enum": [
74
+ "control",
75
+ "group",
76
+ "array"
77
+ ],
78
+ "default": "control"
79
+ }
80
+ },
81
+ "additionalProperties": true
82
+ }
83
+ ]
84
+ },
85
+ "accordionIdentifier": {
86
+ "type": "object",
87
+ "properties": {
88
+ "property": {
89
+ "$ref": "#/definitions/property"
45
90
  },
46
- "title": {
91
+ "source": {
47
92
  "type": "string",
48
- "description": "The title for the dialog"
93
+ "enum": [
94
+ "route"
95
+ ]
49
96
  }
50
- }
51
- }
52
- ],
53
- "definitions": {
97
+ },
98
+ "required": [
99
+ "property"
100
+ ]
101
+ },
54
102
  "angular": {
55
103
  "allOf": [
56
104
  {
@@ -102,6 +150,89 @@
102
150
  }
103
151
  ]
104
152
  },
153
+ "autocompleteTableSelectFormControl": {
154
+ "allOf": [
155
+ {
156
+ "$ref": "#/definitions/baseFormControl"
157
+ },
158
+ {
159
+ "type": "object",
160
+ "properties": {
161
+ "formField": {
162
+ "$ref": "#/definitions/formField"
163
+ },
164
+ "kind": {
165
+ "type": "string",
166
+ "const": "autocomplete-table-select"
167
+ },
168
+ "placeholder": {
169
+ "type": "string"
170
+ },
171
+ "columnList": {
172
+ "alias": "column",
173
+ "type": "array",
174
+ "items": {
175
+ "description": "table column name",
176
+ "type": "object",
177
+ "properties": {
178
+ "name": {
179
+ "type": "string",
180
+ "description": "table column name"
181
+ },
182
+ "title": {
183
+ "type": "string",
184
+ "description": "table column label"
185
+ },
186
+ "hasFilter": {
187
+ "type": "boolean",
188
+ "description": "Whether the column has a filter"
189
+ },
190
+ "kind": {
191
+ "type": "string",
192
+ "description": "The kind of data in the column"
193
+ }
194
+ }
195
+ },
196
+ "description": "List of table column names"
197
+ },
198
+ "title": {
199
+ "type": "string",
200
+ "description": "The title of the table select window"
201
+ },
202
+ "toDisplay": {
203
+ "type": "object",
204
+ "properties": {
205
+ "property": {
206
+ "$ref": "#/definitions/property"
207
+ }
208
+ }
209
+ },
210
+ "toValue": {
211
+ "type": "object",
212
+ "properties": {
213
+ "property": {
214
+ "$ref": "#/definitions/property"
215
+ }
216
+ }
217
+ },
218
+ "upstream": {
219
+ "$ref": "#/definitions/upstream"
220
+ },
221
+ "resolver": {
222
+ "type": "object",
223
+ "properties": {
224
+ "upstream": {
225
+ "$ref": "#/definitions/upstream"
226
+ }
227
+ }
228
+ }
229
+ },
230
+ "required": [
231
+ "kind"
232
+ ]
233
+ }
234
+ ]
235
+ },
105
236
  "backend": {
106
237
  "oneOf": [
107
238
  {
@@ -139,75 +270,94 @@
139
270
  "description": "The backend that should be used to handel data",
140
271
  "default": "none"
141
272
  },
142
- "cssClass": {
143
- "oneOf": [
144
- {
145
- "type": "string"
146
- },
273
+ "baseFormArray": {
274
+ "allOf": [
147
275
  {
148
- "type": "array",
149
- "items": {
150
- "type": "string"
151
- }
276
+ "$ref": "#/definitions/abstractControl"
152
277
  },
153
278
  {
154
279
  "type": "object",
155
280
  "properties": {
156
- "name": {
281
+ "controlList": {
282
+ "type": "array",
283
+ "description": "The list of controls in the group",
284
+ "items": {
285
+ "$ref": "#/definitions/control"
286
+ }
287
+ },
288
+ "legend": {
289
+ "type": "string"
290
+ },
291
+ "groupLegend": {
157
292
  "type": "string"
293
+ },
294
+ "kind": {
295
+ "type": "string",
296
+ "description": "The kind of the array",
297
+ "const": "default",
298
+ "default": "default"
299
+ },
300
+ "role": {
301
+ "type": "string",
302
+ "const": "array"
158
303
  }
159
304
  }
305
+ }
306
+ ]
307
+ },
308
+ "baseFormControl": {
309
+ "allOf": [
310
+ {
311
+ "$ref": "#/definitions/abstractControl"
160
312
  },
161
313
  {
162
- "type": "array",
163
- "items": {
164
- "type": "object",
165
- "properties": {
166
- "name": {
167
- "type": "string"
168
- }
314
+ "type": "object",
315
+ "properties": {
316
+ "label": {
317
+ "type": "string",
318
+ "description": "The label of the control"
319
+ },
320
+ "role": {
321
+ "type": "string",
322
+ "const": "control"
169
323
  }
170
324
  }
171
325
  }
172
326
  ]
173
327
  },
174
- "general": {
175
- "type": "object",
176
- "properties": {
177
- "project": {
178
- "type": "string",
179
- "description": "Project name where the files should be generated"
180
- },
181
- "feature": {
182
- "type": "string",
183
- "description": "Feature name where the files should be generated"
328
+ "baseFormGroup": {
329
+ "allOf": [
330
+ {
331
+ "$ref": "#/definitions/abstractControl"
184
332
  },
185
- "overwrite": {
186
- "anyOf": [
187
- {
188
- "type": "boolean"
189
- },
190
- {
333
+ {
334
+ "type": "object",
335
+ "properties": {
336
+ "controlList": {
191
337
  "type": "array",
338
+ "description": "The list of controls in the group",
192
339
  "items": {
193
- "type": "string"
340
+ "$ref": "#/definitions/control"
194
341
  }
342
+ },
343
+ "legend": {
344
+ "type": "string"
345
+ },
346
+ "kind": {
347
+ "type": "string",
348
+ "description": "The kind of the group",
349
+ "const": "default",
350
+ "default": "default"
351
+ },
352
+ "role": {
353
+ "type": "string",
354
+ "const": "group"
195
355
  }
196
- ],
197
- "description": "Overwrite existing files",
198
- "default": false
199
- },
200
- "overwriteHtml": {
201
- "type": "boolean",
202
- "default": false
203
- },
204
- "replace": {
205
- "type": "boolean",
206
- "default": false
356
+ }
207
357
  }
208
- }
358
+ ]
209
359
  },
210
- "tableAction": {
360
+ "baseTableAction": {
211
361
  "type": "object",
212
362
  "properties": {
213
363
  "type": {
@@ -237,7 +387,8 @@
237
387
  "inHeader": {
238
388
  "type": "boolean"
239
389
  },
240
- "role": {
390
+ "kind": {
391
+ "alias": "role",
241
392
  "type": "string"
242
393
  },
243
394
  "icon": {
@@ -255,33 +406,1075 @@
255
406
  },
256
407
  "cssClass": {
257
408
  "$ref": "#/definitions/cssClass"
258
- },
259
- "options": {
260
- "type": "object",
261
- "additionalProperties": true
262
409
  }
263
410
  },
264
411
  "required": [
265
412
  "type"
266
413
  ]
267
414
  },
268
- "tableActionSchematic": {
269
- "allOf": [
270
- {
271
- "$ref": "#/definitions/angular"
415
+ "button": {
416
+ "type": "object",
417
+ "properties": {
418
+ "svgIcon": {
419
+ "type": "string"
272
420
  },
421
+ "icon": {
422
+ "type": "string"
423
+ },
424
+ "directiveList": {
425
+ "type": "array",
426
+ "items": {
427
+ "$ref": "#/definitions/type"
428
+ }
429
+ },
430
+ "importList": {
431
+ "type": "array",
432
+ "items": {
433
+ "$ref": "#/definitions/type"
434
+ }
435
+ }
436
+ }
437
+ },
438
+ "checkboxFormControl": {
439
+ "allOf": [
273
440
  {
274
- "$ref": "#/definitions/tableAction"
441
+ "$ref": "#/definitions/baseFormControl"
275
442
  },
276
443
  {
277
444
  "type": "object",
278
445
  "properties": {
279
- "tableName": {
280
- "alias": "table",
446
+ "kind": {
281
447
  "type": "string",
282
- "description": "The name of the table action"
448
+ "const": "checkbox"
449
+ },
450
+ "labelPosition": {
451
+ "type": "string",
452
+ "enum": [
453
+ "before",
454
+ "after"
455
+ ]
283
456
  }
284
- }
457
+ },
458
+ "required": [
459
+ "kind"
460
+ ]
461
+ }
462
+ ]
463
+ },
464
+ "control": {
465
+ "oneOf": [
466
+ {
467
+ "$ref": "#/definitions/formGroup"
468
+ },
469
+ {
470
+ "$ref": "#/definitions/formArray"
471
+ },
472
+ {
473
+ "$ref": "#/definitions/formControl"
474
+ }
475
+ ]
476
+ },
477
+ "cssClass": {
478
+ "oneOf": [
479
+ {
480
+ "type": "string"
481
+ },
482
+ {
483
+ "type": "array",
484
+ "items": {
485
+ "type": "string"
486
+ }
487
+ },
488
+ {
489
+ "type": "object",
490
+ "properties": {
491
+ "name": {
492
+ "type": "string"
493
+ }
494
+ }
495
+ },
496
+ {
497
+ "type": "array",
498
+ "items": {
499
+ "type": "object",
500
+ "properties": {
501
+ "name": {
502
+ "type": "string"
503
+ }
504
+ }
505
+ }
506
+ }
507
+ ]
508
+ },
509
+ "dialogTableAction": {
510
+ "allOf": [
511
+ {
512
+ "$ref": "#/definitions/baseTableAction"
513
+ },
514
+ {
515
+ "type": "object",
516
+ "properties": {
517
+ "kind": {
518
+ "type": "string",
519
+ "const": "dialog",
520
+ "default": "dialog"
521
+ },
522
+ "withoutBody": {
523
+ "type": "boolean",
524
+ "description": "Whether the table action operation should be without body",
525
+ "default": false
526
+ },
527
+ "actionList": {
528
+ "alias": "action",
529
+ "type": "array",
530
+ "description": "The list of actions to be added to the dialog",
531
+ "items": {
532
+ "oneOf": [
533
+ {
534
+ "type": "string"
535
+ },
536
+ {
537
+ "type": "object",
538
+ "properties": {
539
+ "label": {
540
+ "type": "string"
541
+ },
542
+ "color": {
543
+ "type": "string"
544
+ },
545
+ "role": {
546
+ "type": "string",
547
+ "enum": [
548
+ "submit",
549
+ "close"
550
+ ]
551
+ }
552
+ }
553
+ }
554
+ ]
555
+ }
556
+ },
557
+ "title": {
558
+ "type": "string",
559
+ "description": "The title for the dialog"
560
+ }
561
+ },
562
+ "required": [
563
+ "kind",
564
+ "title"
565
+ ]
566
+ }
567
+ ]
568
+ },
569
+ "formArray": {
570
+ "allOf": [
571
+ {
572
+ "type": "object",
573
+ "properties": {
574
+ "role": {
575
+ "type": "string",
576
+ "const": "array"
577
+ }
578
+ },
579
+ "required": [
580
+ "role"
581
+ ]
582
+ },
583
+ {
584
+ "oneOf": [
585
+ {
586
+ "allOf": [
587
+ {
588
+ "$ref": "#/definitions/baseFormArray"
589
+ },
590
+ {
591
+ "type": "object",
592
+ "properties": {
593
+ "kind": {
594
+ "type": "string",
595
+ "const": "default",
596
+ "default": "default"
597
+ }
598
+ }
599
+ }
600
+ ]
601
+ }
602
+ ]
603
+ }
604
+ ]
605
+ },
606
+ "formComponent": {
607
+ "allOf": [
608
+ {
609
+ "$ref": "#/definitions/formDefinition"
610
+ },
611
+ {
612
+ "type": "object",
613
+ "properties": {
614
+ "window": {
615
+ "type": "boolean",
616
+ "description": "Whether the form can be opened in a window"
617
+ },
618
+ "role": {
619
+ "type": "string",
620
+ "description": "Define the role of the form"
621
+ },
622
+ "matFormFieldDefaultOptions": {
623
+ "appearance": {
624
+ "type": "string",
625
+ "description": "The appearance of the mat form field",
626
+ "enum": [
627
+ "legacy",
628
+ "standard",
629
+ "fill",
630
+ "outline"
631
+ ]
632
+ }
633
+ },
634
+ "identifier": {
635
+ "$ref": "#/definitions/accordionIdentifier"
636
+ }
637
+ }
638
+ }
639
+ ]
640
+ },
641
+ "formControl": {
642
+ "allOf": [
643
+ {
644
+ "type": "object",
645
+ "properties": {
646
+ "role": {
647
+ "type": "string",
648
+ "const": "control",
649
+ "default": "control"
650
+ }
651
+ }
652
+ },
653
+ {
654
+ "oneOf": [
655
+ {
656
+ "allOf": [
657
+ {
658
+ "$ref": "#/definitions/baseFormControl"
659
+ },
660
+ {
661
+ "type": "object",
662
+ "properties": {
663
+ "kind": {
664
+ "type": "string",
665
+ "const": "default",
666
+ "default": "default"
667
+ }
668
+ }
669
+ }
670
+ ]
671
+ },
672
+ {
673
+ "$ref": "#/definitions/inputFormControl"
674
+ },
675
+ {
676
+ "$ref": "#/definitions/selectFormControl"
677
+ },
678
+ {
679
+ "$ref": "#/definitions/checkboxFormControl"
680
+ },
681
+ {
682
+ "$ref": "#/definitions/textareaFormControl"
683
+ },
684
+ {
685
+ "$ref": "#/definitions/tableSelectFormControl"
686
+ },
687
+ {
688
+ "$ref": "#/definitions/slideToggleFormControl"
689
+ },
690
+ {
691
+ "$ref": "#/definitions/autocompleteTableSelectFormControl"
692
+ }
693
+ ]
694
+ }
695
+ ]
696
+ },
697
+ "formDefinition": {
698
+ "type": "object",
699
+ "properties": {
700
+ "controlList": {
701
+ "alias": "control",
702
+ "type": "array",
703
+ "items": {
704
+ "$ref": "#/definitions/control"
705
+ }
706
+ }
707
+ },
708
+ "required": [
709
+ "controlList"
710
+ ]
711
+ },
712
+ "formField": {
713
+ "type": "object",
714
+ "properties": {
715
+ "label": {
716
+ "type": "string"
717
+ },
718
+ "prefixButton": {
719
+ "$ref": "#/definitions/button"
720
+ },
721
+ "suffixButton": {
722
+ "$ref": "#/definitions/button"
723
+ },
724
+ "hasClearButton": {
725
+ "type": "boolean"
726
+ },
727
+ "cssClass": {
728
+ "$ref": "#/definitions/cssClass"
729
+ }
730
+ }
731
+ },
732
+ "formGroup": {
733
+ "allOf": [
734
+ {
735
+ "type": "object",
736
+ "properties": {
737
+ "role": {
738
+ "type": "string",
739
+ "const": "group"
740
+ }
741
+ },
742
+ "required": [
743
+ "role"
744
+ ]
745
+ },
746
+ {
747
+ "oneOf": [
748
+ {
749
+ "allOf": [
750
+ {
751
+ "$ref": "#/definitions/baseFormGroup"
752
+ },
753
+ {
754
+ "type": "object",
755
+ "properties": {
756
+ "kind": {
757
+ "type": "string",
758
+ "const": "default",
759
+ "default": "default"
760
+ }
761
+ }
762
+ }
763
+ ]
764
+ }
765
+ ]
766
+ }
767
+ ]
768
+ },
769
+ "formTableAction": {
770
+ "allOf": [
771
+ {
772
+ "$ref": "#/definitions/baseTableAction"
773
+ },
774
+ {
775
+ "type": "object",
776
+ "properties": {
777
+ "kind": {
778
+ "type": "string",
779
+ "const": "form",
780
+ "default": "form"
781
+ },
782
+ "formInitial": {
783
+ "oneOf": [
784
+ {
785
+ "type": "object",
786
+ "description": "The mapping from the row object to the form initial object"
787
+ },
788
+ {
789
+ "type": "boolean",
790
+ "description": "If true the row object will be used as form initial object. If false the form initial object will be empty. Default is false.",
791
+ "default": false
792
+ }
793
+ ]
794
+ },
795
+ "formComponent": {
796
+ "type": "string"
797
+ },
798
+ "customComponent": {
799
+ "type": "boolean",
800
+ "default": false,
801
+ "description": "If true the schematic will not coerce the form component"
802
+ },
803
+ "loadFrom": {
804
+ "type": "object",
805
+ "properties": {
806
+ "operationId": {
807
+ "type": "string"
808
+ },
809
+ "scope": {
810
+ "type": "string",
811
+ "description": "The scope of package for the openapi classes"
812
+ },
813
+ "body": {
814
+ "oneOf": [
815
+ {
816
+ "type": "boolean",
817
+ "description": "Pass the full row as body for the operation request"
818
+ },
819
+ {
820
+ "type": "object",
821
+ "description": "Mapping of table columns to body properties - [request property]: [table column]",
822
+ "additionalProperties": true
823
+ }
824
+ ]
825
+ },
826
+ "parameters": {
827
+ "oneOf": [
828
+ {
829
+ "type": "boolean",
830
+ "description": "Pass the full row as parameters for the operation request"
831
+ },
832
+ {
833
+ "type": "object",
834
+ "description": "Mapping of table columns to parameters properties - [request property]: [table column]",
835
+ "additionalProperties": true
836
+ }
837
+ ]
838
+ }
839
+ }
840
+ },
841
+ "form": {
842
+ "alias": "formOptions",
843
+ "$ref": "#/definitions/formComponent"
844
+ }
845
+ },
846
+ "required": [
847
+ "kind"
848
+ ]
849
+ }
850
+ ]
851
+ },
852
+ "general": {
853
+ "type": "object",
854
+ "properties": {
855
+ "project": {
856
+ "type": "string",
857
+ "description": "Project name where the files should be generated"
858
+ },
859
+ "feature": {
860
+ "type": "string",
861
+ "description": "Feature name where the files should be generated"
862
+ },
863
+ "overwrite": {
864
+ "anyOf": [
865
+ {
866
+ "type": "boolean"
867
+ },
868
+ {
869
+ "type": "array",
870
+ "items": {
871
+ "type": "string"
872
+ }
873
+ }
874
+ ],
875
+ "description": "Overwrite existing files",
876
+ "default": false
877
+ },
878
+ "overwriteHtml": {
879
+ "type": "boolean",
880
+ "default": false
881
+ },
882
+ "replace": {
883
+ "type": "boolean",
884
+ "default": false
885
+ }
886
+ }
887
+ },
888
+ "inputFormControl": {
889
+ "allOf": [
890
+ {
891
+ "$ref": "#/definitions/baseFormControl"
892
+ },
893
+ {
894
+ "type": "object",
895
+ "properties": {
896
+ "kind": {
897
+ "type": "string",
898
+ "const": "input"
899
+ },
900
+ "formField": {
901
+ "$ref": "#/definitions/formField"
902
+ },
903
+ "inputType": {
904
+ "type": "string",
905
+ "enum": [
906
+ "text",
907
+ "password",
908
+ "email",
909
+ "number",
910
+ "tel",
911
+ "url",
912
+ "checkbox",
913
+ "color",
914
+ "date",
915
+ "time",
916
+ "datetime-local",
917
+ "file",
918
+ "hidden",
919
+ "image",
920
+ "month",
921
+ "radio",
922
+ "reset",
923
+ "button",
924
+ "search",
925
+ "submit",
926
+ "week",
927
+ "range"
928
+ ]
929
+ },
930
+ "placeholder": {
931
+ "type": "string"
932
+ }
933
+ },
934
+ "required": [
935
+ "kind"
936
+ ]
937
+ }
938
+ ]
939
+ },
940
+ "navigationTableAction": {
941
+ "allOf": [
942
+ {
943
+ "$ref": "#/definitions/baseTableAction"
944
+ },
945
+ {
946
+ "type": "object",
947
+ "properties": {
948
+ "kind": {
949
+ "type": "string",
950
+ "const": "navigation",
951
+ "default": "navigation"
952
+ },
953
+ "route": {
954
+ "type": "string",
955
+ "description": "The route for the table action"
956
+ },
957
+ "relativeTo": {
958
+ "type": "boolean",
959
+ "description": "Use the current ActivatedRoute to resolve the route or not",
960
+ "default": false
961
+ }
962
+ },
963
+ "required": [
964
+ "kind",
965
+ "route"
966
+ ]
967
+ }
968
+ ]
969
+ },
970
+ "openApiTableAction": {
971
+ "allOf": [
972
+ {
973
+ "$ref": "#/definitions/baseTableAction"
974
+ },
975
+ {
976
+ "type": "object",
977
+ "properties": {
978
+ "kind": {
979
+ "type": "string",
980
+ "const": "open-api",
981
+ "default": "open-api"
982
+ },
983
+ "operationId": {
984
+ "type": "string",
985
+ "description": "The open api operationId for the table action"
986
+ },
987
+ "scope": {
988
+ "type": "string",
989
+ "description": "The scope of package for the openapi classes"
990
+ },
991
+ "body": {
992
+ "oneOf": [
993
+ {
994
+ "type": "boolean",
995
+ "description": "Pass the full row as body for the operation request"
996
+ },
997
+ {
998
+ "type": "object",
999
+ "description": "Mapping of table columns to body properties - [request property]: [table column]",
1000
+ "additionalProperties": true
1001
+ }
1002
+ ]
1003
+ },
1004
+ "parameters": {
1005
+ "oneOf": [
1006
+ {
1007
+ "type": "boolean",
1008
+ "description": "Pass the full row as parameters for the operation request"
1009
+ },
1010
+ {
1011
+ "type": "object",
1012
+ "description": "Mapping of table columns to parameters properties - [request property]: [table column]",
1013
+ "additionalProperties": true
1014
+ }
1015
+ ]
1016
+ }
1017
+ },
1018
+ "required": [
1019
+ "kind",
1020
+ "operationId"
1021
+ ]
1022
+ }
1023
+ ]
1024
+ },
1025
+ "operationTableAction": {
1026
+ "allOf": [
1027
+ {
1028
+ "$ref": "#/definitions/baseTableAction"
1029
+ },
1030
+ {
1031
+ "type": "object",
1032
+ "properties": {
1033
+ "kind": {
1034
+ "type": "string",
1035
+ "const": "operation",
1036
+ "default": "operation"
1037
+ }
1038
+ },
1039
+ "required": [
1040
+ "kind"
1041
+ ]
1042
+ }
1043
+ ]
1044
+ },
1045
+ "option": {
1046
+ "type": "object",
1047
+ "properties": {
1048
+ "display": {
1049
+ "type": "string"
1050
+ },
1051
+ "value": {
1052
+ "oneOf": [
1053
+ {
1054
+ "type": "string"
1055
+ },
1056
+ {
1057
+ "type": "number"
1058
+ },
1059
+ {
1060
+ "type": "boolean"
1061
+ },
1062
+ {
1063
+ "type": "object",
1064
+ "additionalProperties": true
1065
+ }
1066
+ ]
1067
+ }
1068
+ }
1069
+ },
1070
+ "property": {
1071
+ "oneOf": [
1072
+ {
1073
+ "type": "string"
1074
+ },
1075
+ {
1076
+ "type": "object",
1077
+ "properties": {
1078
+ "name": {
1079
+ "type": "string"
1080
+ },
1081
+ "type": {
1082
+ "$ref": "#/definitions/type"
1083
+ },
1084
+ "isArray": {
1085
+ "type": "boolean"
1086
+ },
1087
+ "isRequired": {
1088
+ "type": "boolean"
1089
+ },
1090
+ "source": {
1091
+ "type": "string"
1092
+ },
1093
+ "memberList": {
1094
+ "type": "array",
1095
+ "items": {
1096
+ "additionalProperties": true
1097
+ }
1098
+ }
1099
+ }
1100
+ }
1101
+ ]
1102
+ },
1103
+ "selectFormControl": {
1104
+ "allOf": [
1105
+ {
1106
+ "$ref": "#/definitions/baseFormControl"
1107
+ },
1108
+ {
1109
+ "type": "object",
1110
+ "properties": {
1111
+ "formField": {
1112
+ "$ref": "#/definitions/formField"
1113
+ },
1114
+ "kind": {
1115
+ "type": "string",
1116
+ "const": "select"
1117
+ },
1118
+ "upstream": {
1119
+ "$ref": "#/definitions/upstream"
1120
+ },
1121
+ "optionList": {
1122
+ "type": "array",
1123
+ "items": {
1124
+ "$ref": "#/definitions/option"
1125
+ }
1126
+ },
1127
+ "backend": {
1128
+ "$ref": "#/definitions/backend"
1129
+ },
1130
+ "multiple": {
1131
+ "alias": "multi",
1132
+ "type": "boolean",
1133
+ "description": "Whether the select form control is multiple mode"
1134
+ }
1135
+ },
1136
+ "required": [
1137
+ "kind"
1138
+ ]
1139
+ }
1140
+ ]
1141
+ },
1142
+ "slideToggleFormControl": {
1143
+ "allOf": [
1144
+ {
1145
+ "$ref": "#/definitions/baseFormControl"
1146
+ },
1147
+ {
1148
+ "type": "object",
1149
+ "properties": {
1150
+ "kind": {
1151
+ "type": "string",
1152
+ "const": "slide-toggle"
1153
+ },
1154
+ "labelPosition": {
1155
+ "type": "string",
1156
+ "enum": [
1157
+ "before",
1158
+ "after"
1159
+ ]
1160
+ }
1161
+ },
1162
+ "required": [
1163
+ "kind"
1164
+ ]
1165
+ }
1166
+ ]
1167
+ },
1168
+ "tableAction": {
1169
+ "type": "object",
1170
+ "oneOf": [
1171
+ {
1172
+ "allOf": [
1173
+ {
1174
+ "$ref": "#/definitions/baseTableAction"
1175
+ },
1176
+ {
1177
+ "type": "object",
1178
+ "properties": {
1179
+ "kind": {
1180
+ "type": "string",
1181
+ "const": "default",
1182
+ "default": "default"
1183
+ }
1184
+ }
1185
+ }
1186
+ ]
1187
+ },
1188
+ {
1189
+ "$ref": "#/definitions/dialogTableAction"
1190
+ },
1191
+ {
1192
+ "$ref": "#/definitions/formTableAction"
1193
+ },
1194
+ {
1195
+ "$ref": "#/definitions/navigationTableAction"
1196
+ },
1197
+ {
1198
+ "$ref": "#/definitions/openApiTableAction"
1199
+ },
1200
+ {
1201
+ "$ref": "#/definitions/operationTableAction"
1202
+ }
1203
+ ]
1204
+ },
1205
+ "tableActionSchematic": {
1206
+ "allOf": [
1207
+ {
1208
+ "$ref": "#/definitions/angular"
1209
+ },
1210
+ {
1211
+ "$ref": "#/definitions/tableAction"
1212
+ },
1213
+ {
1214
+ "type": "object",
1215
+ "properties": {
1216
+ "tableName": {
1217
+ "alias": "table",
1218
+ "type": "string",
1219
+ "description": "The name of the table action"
1220
+ }
1221
+ }
1222
+ }
1223
+ ]
1224
+ },
1225
+ "tableSelectFormControl": {
1226
+ "allOf": [
1227
+ {
1228
+ "$ref": "#/definitions/baseFormControl"
1229
+ },
1230
+ {
1231
+ "type": "object",
1232
+ "properties": {
1233
+ "formField": {
1234
+ "$ref": "#/definitions/formField"
1235
+ },
1236
+ "kind": {
1237
+ "type": "string",
1238
+ "const": "table-select"
1239
+ },
1240
+ "placeholder": {
1241
+ "type": "string"
1242
+ },
1243
+ "columnList": {
1244
+ "alias": "column",
1245
+ "type": "array",
1246
+ "items": {
1247
+ "description": "table column name",
1248
+ "type": "object",
1249
+ "properties": {
1250
+ "name": {
1251
+ "type": "string",
1252
+ "description": "table column name"
1253
+ },
1254
+ "title": {
1255
+ "type": "string",
1256
+ "description": "table column label"
1257
+ },
1258
+ "hasFilter": {
1259
+ "type": "boolean",
1260
+ "description": "Whether the column has a filter"
1261
+ },
1262
+ "kind": {
1263
+ "type": "string",
1264
+ "description": "The kind of data in the column"
1265
+ }
1266
+ }
1267
+ },
1268
+ "description": "List of table column names"
1269
+ },
1270
+ "title": {
1271
+ "type": "string",
1272
+ "description": "The title of the table select window"
1273
+ },
1274
+ "toDisplay": {
1275
+ "type": "object",
1276
+ "properties": {
1277
+ "property": {
1278
+ "$ref": "#/definitions/property"
1279
+ }
1280
+ }
1281
+ },
1282
+ "toValue": {
1283
+ "type": "object",
1284
+ "properties": {
1285
+ "property": {
1286
+ "$ref": "#/definitions/property"
1287
+ }
1288
+ }
1289
+ },
1290
+ "upstream": {
1291
+ "$ref": "#/definitions/upstream"
1292
+ },
1293
+ "resolver": {
1294
+ "type": "object",
1295
+ "properties": {
1296
+ "upstream": {
1297
+ "$ref": "#/definitions/upstream"
1298
+ }
1299
+ }
1300
+ },
1301
+ "identifier": {
1302
+ "$ref": "#/definitions/accordionIdentifier"
1303
+ }
1304
+ },
1305
+ "required": [
1306
+ "kind"
1307
+ ]
1308
+ }
1309
+ ]
1310
+ },
1311
+ "textareaFormControl": {
1312
+ "allOf": [
1313
+ {
1314
+ "$ref": "#/definitions/baseFormControl"
1315
+ },
1316
+ {
1317
+ "type": "object",
1318
+ "properties": {
1319
+ "formField": {
1320
+ "$ref": "#/definitions/formField"
1321
+ },
1322
+ "kind": {
1323
+ "type": "string",
1324
+ "const": "textarea"
1325
+ },
1326
+ "placeholder": {
1327
+ "type": "string"
1328
+ },
1329
+ "autosize": {
1330
+ "type": "object",
1331
+ "properties": {
1332
+ "minRows": {
1333
+ "type": "number"
1334
+ },
1335
+ "maxRows": {
1336
+ "type": "number"
1337
+ }
1338
+ }
1339
+ }
1340
+ },
1341
+ "required": [
1342
+ "kind"
1343
+ ]
1344
+ }
1345
+ ]
1346
+ },
1347
+ "type": {
1348
+ "oneOf": [
1349
+ {
1350
+ "type": "string"
1351
+ },
1352
+ {
1353
+ "type": "object",
1354
+ "properties": {
1355
+ "name": {
1356
+ "type": "string"
1357
+ },
1358
+ "isTypeOnly": {
1359
+ "type": "boolean"
1360
+ },
1361
+ "moduleSpecifier": {
1362
+ "type": "string"
1363
+ },
1364
+ "namedImport": {
1365
+ "type": "string"
1366
+ },
1367
+ "namespaceImport": {
1368
+ "type": "string"
1369
+ },
1370
+ "defaultImport": {
1371
+ "type": "string"
1372
+ }
1373
+ },
1374
+ "required": [
1375
+ "name"
1376
+ ]
1377
+ }
1378
+ ]
1379
+ },
1380
+ "upstream": {
1381
+ "oneOf": [
1382
+ {
1383
+ "type": "object",
1384
+ "properties": {
1385
+ "kind": {
1386
+ "type": "string",
1387
+ "enum": [
1388
+ "open-api"
1389
+ ]
1390
+ },
1391
+ "operationId": {
1392
+ "type": "string"
1393
+ },
1394
+ "scope": {
1395
+ "type": "string"
1396
+ },
1397
+ "mapper": {
1398
+ "oneOf": [
1399
+ {
1400
+ "type": "object",
1401
+ "properties": {
1402
+ "kind": {
1403
+ "type": "string",
1404
+ "const": "paged"
1405
+ },
1406
+ "pageIndex": {
1407
+ "type": "string"
1408
+ },
1409
+ "pageSize": {
1410
+ "type": "string"
1411
+ },
1412
+ "sortBy": {
1413
+ "type": "string"
1414
+ },
1415
+ "sortDirection": {
1416
+ "type": "string"
1417
+ },
1418
+ "list": {
1419
+ "type": "string"
1420
+ },
1421
+ "total": {
1422
+ "type": "string"
1423
+ },
1424
+ "filter": {
1425
+ "type": "object",
1426
+ "properties": {
1427
+ "eq": {
1428
+ "type": "string"
1429
+ },
1430
+ "join": {
1431
+ "type": "string"
1432
+ }
1433
+ }
1434
+ }
1435
+ }
1436
+ },
1437
+ {
1438
+ "type": "object",
1439
+ "properties": {
1440
+ "kind": {
1441
+ "type": "string",
1442
+ "const": "options"
1443
+ },
1444
+ "toFunction": {
1445
+ "type": "string",
1446
+ "enum": [
1447
+ "ToOptions",
1448
+ "ToOptionsFromObject"
1449
+ ]
1450
+ },
1451
+ "toValue": {
1452
+ "type": "string"
1453
+ },
1454
+ "toDisplay": {
1455
+ "type": "string"
1456
+ }
1457
+ }
1458
+ },
1459
+ {
1460
+ "type": "object",
1461
+ "properties": {
1462
+ "kind": {
1463
+ "type": "string",
1464
+ "const": "resolve"
1465
+ },
1466
+ "value": {
1467
+ "type": "string"
1468
+ }
1469
+ }
1470
+ }
1471
+ ]
1472
+ }
1473
+ },
1474
+ "required": [
1475
+ "kind",
1476
+ "operationId"
1477
+ ]
285
1478
  }
286
1479
  ]
287
1480
  }