@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
@@ -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
  }