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

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 (69) hide show
  1. package/CHANGELOG.md +9 -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/data-grid-item.js +5 -3
  8. package/src/lib/data-grid-item.js.map +1 -1
  9. package/src/lib/form/control/autocomplete-table-select-form-control.js +11 -1
  10. package/src/lib/form/control/autocomplete-table-select-form-control.js.map +1 -1
  11. package/src/lib/form/control/table-select-form-control.d.ts +3 -0
  12. package/src/lib/form/control/table-select-form-control.js +11 -1
  13. package/src/lib/form/control/table-select-form-control.js.map +1 -1
  14. package/src/lib/minimum-table-options.d.ts +3 -0
  15. package/src/lib/minimum-table-options.js +7 -0
  16. package/src/lib/minimum-table-options.js.map +1 -1
  17. package/src/lib/table/table-filter-column-rule.js +2 -3
  18. package/src/lib/table/table-filter-column-rule.js.map +1 -1
  19. package/src/lib/table-column.js +5 -1
  20. package/src/lib/table-column.js.map +1 -1
  21. package/src/schema.json +242 -164
  22. package/src/schematics/accordion/accordion-component/schema.json +1427 -116
  23. package/src/schematics/accordion/accordion-item-component/schema.json +1427 -116
  24. package/src/schematics/accordion/item/accordion-item-data-grid-component/schema.json +72 -62
  25. package/src/schematics/accordion/item/accordion-item-data-grid-component/template.schema.json +3 -14
  26. package/src/schematics/accordion/item/accordion-item-switch-component/schema.json +1411 -166
  27. package/src/schematics/accordion/item/accordion-item-switch-component/template.schema.json +3 -64
  28. package/src/schematics/accordion/item/accordion-item-table-component/schema.json +82 -74
  29. package/src/schematics/accordion/item/accordion-item-table-component/template.schema.json +3 -26
  30. package/src/schematics/accordion/item/accordion-item-tree-table-component/schema.json +82 -74
  31. package/src/schematics/accordion/item/accordion-item-tree-table-component/template.schema.json +3 -26
  32. package/src/schematics/accordion-identifier.schema.json +1 -2
  33. package/src/schematics/accordion-item.schema.json +43 -50
  34. package/src/schematics/autocomplete-table-select-form-control.schema.json +1 -1
  35. package/src/schematics/base-accordion-item.schema.json +52 -0
  36. package/src/schematics/data-grid-accordion-item.schema.json +34 -0
  37. package/src/schematics/data-grid-component/index.js +8 -4
  38. package/src/schematics/data-grid-component/index.js.map +1 -1
  39. package/src/schematics/data-grid-component/schema.json +6 -7
  40. package/src/schematics/form/control/autocomplete-table-select-form-control/index.js +8 -6
  41. package/src/schematics/form/control/autocomplete-table-select-form-control/index.js.map +1 -1
  42. package/src/schematics/form/control/autocomplete-table-select-form-control/schema.json +2 -5
  43. package/src/schematics/form/control/input-form-control/schema.json +1 -4
  44. package/src/schematics/form/control/select-form-control/schema.json +1 -4
  45. package/src/schematics/form/control/table-select-form-control/index.js +8 -6
  46. package/src/schematics/form/control/table-select-form-control/index.js.map +1 -1
  47. package/src/schematics/form/control/table-select-form-control/schema.json +21 -4
  48. package/src/schematics/form/form-array/schema.json +22 -5
  49. package/src/schematics/form/form-component/schema.json +6 -7
  50. package/src/schematics/form/form-control/schema.json +22 -5
  51. package/src/schematics/form/form-definition/schema.json +22 -5
  52. package/src/schematics/form/form-group/schema.json +22 -5
  53. package/src/schematics/minimum-table.schema.json +6 -0
  54. package/src/schematics/property.schema.json +1 -4
  55. package/src/schematics/switch-accordion-item.schema.json +82 -0
  56. package/src/schematics/table/action/form-table-action/schema.json +6 -7
  57. package/src/schematics/table/header-button/form-table-header-button/schema.json +6 -7
  58. package/src/schematics/table/table-component/files/component/__componentName__.component.html.hbs +4 -4
  59. package/src/schematics/table/table-component/index.d.ts +0 -3
  60. package/src/schematics/table/table-component/index.js +1 -9
  61. package/src/schematics/table/table-component/index.js.map +1 -1
  62. package/src/schematics/table/table-component/schema.json +25 -5
  63. package/src/schematics/table/templates/default-table-column.hbs +4 -1
  64. package/src/schematics/table/tree-table-component/files/component/__componentName__.component.html.hbs +6 -6
  65. package/src/schematics/table/tree-table-component/schema.json +25 -5
  66. package/src/schematics/table-accordion-item.schema.json +41 -0
  67. package/src/schematics/table-select-form-control.schema.json +6 -0
  68. package/src/schematics/tree-table-accordion-item.schema.json +41 -0
  69. 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
  }