@rxap/schematic-angular 16.2.0-dev.23 → 16.2.0-dev.25

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