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