@rxap/schematic-angular 16.2.0-dev.20 → 16.2.0-dev.21

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 (179) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/README.md +1 -1
  3. package/collection.json +10 -0
  4. package/package.json +4 -4
  5. package/src/lib/coerce-form-component.js +15 -3
  6. package/src/lib/coerce-form-component.js.map +1 -1
  7. package/src/lib/data-grid-item.d.ts +3 -3
  8. package/src/lib/data-grid-item.js +2 -2
  9. package/src/lib/data-grid-item.js.map +1 -1
  10. package/src/lib/form/abstract-control.d.ts +29 -0
  11. package/src/lib/form/abstract-control.js +37 -0
  12. package/src/lib/form/abstract-control.js.map +1 -0
  13. package/src/lib/form/array/base-form-array.d.ts +18 -0
  14. package/src/lib/form/array/base-form-array.js +40 -0
  15. package/src/lib/form/array/base-form-array.js.map +1 -0
  16. package/src/lib/form/array/form-array-kind.d.ts +3 -0
  17. package/src/lib/form/array/form-array-kind.js +8 -0
  18. package/src/lib/form/array/form-array-kind.js.map +1 -0
  19. package/src/lib/form/array/form-array.d.ts +12 -0
  20. package/src/lib/form/array/form-array.js +18 -0
  21. package/src/lib/form/array/form-array.js.map +1 -0
  22. package/src/lib/form/coerce-control-component-imports.d.ts +3 -0
  23. package/src/lib/form/coerce-control-component-imports.js +18 -0
  24. package/src/lib/form/coerce-control-component-imports.js.map +1 -0
  25. package/src/lib/form/control/base-form-control.d.ts +14 -0
  26. package/src/lib/form/control/base-form-control.js +19 -0
  27. package/src/lib/form/control/base-form-control.js.map +1 -0
  28. package/src/lib/form/control/checkbox-form-control.d.ts +11 -0
  29. package/src/lib/form/control/checkbox-form-control.js +23 -0
  30. package/src/lib/form/control/checkbox-form-control.js.map +1 -0
  31. package/src/lib/form/control/form-control-kind.d.ts +8 -0
  32. package/src/lib/form/control/form-control-kind.js +13 -0
  33. package/src/lib/form/control/form-control-kind.js.map +1 -0
  34. package/src/lib/form/control/form-control.d.ts +18 -0
  35. package/src/lib/form/control/form-control.js +40 -0
  36. package/src/lib/form/control/form-control.js.map +1 -0
  37. package/src/lib/form/control/form-field-form-control.d.ts +33 -0
  38. package/src/lib/form/control/form-field-form-control.js +76 -0
  39. package/src/lib/form/control/form-field-form-control.js.map +1 -0
  40. package/src/lib/form/control/input-form-control.d.ts +14 -0
  41. package/src/lib/form/control/input-form-control.js +71 -0
  42. package/src/lib/form/control/input-form-control.js.map +1 -0
  43. package/src/lib/form/control/select-form-control.d.ts +18 -0
  44. package/src/lib/form/control/select-form-control.js +29 -0
  45. package/src/lib/form/control/select-form-control.js.map +1 -0
  46. package/src/lib/form/control/slide-toggle-form-control.d.ts +11 -0
  47. package/src/lib/form/control/slide-toggle-form-control.js +23 -0
  48. package/src/lib/form/control/slide-toggle-form-control.js.map +1 -0
  49. package/src/lib/form/control/table-select-form-control.d.ts +43 -0
  50. package/src/lib/form/control/table-select-form-control.js +69 -0
  51. package/src/lib/form/control/table-select-form-control.js.map +1 -0
  52. package/src/lib/form/control.d.ts +8 -0
  53. package/src/lib/form/control.js +38 -0
  54. package/src/lib/form/control.js.map +1 -0
  55. package/src/lib/form/generate-form-template.d.ts +2 -2
  56. package/src/lib/form/group/base-form-group.d.ts +17 -0
  57. package/src/lib/form/group/base-form-group.js +20 -0
  58. package/src/lib/form/group/base-form-group.js.map +1 -0
  59. package/src/lib/form/group/form-group-kind.d.ts +3 -0
  60. package/src/lib/form/group/form-group-kind.js +8 -0
  61. package/src/lib/form/group/form-group-kind.js.map +1 -0
  62. package/src/lib/form/group/form-group.d.ts +12 -0
  63. package/src/lib/form/group/form-group.js +18 -0
  64. package/src/lib/form/group/form-group.js.map +1 -0
  65. package/src/lib/table-column.d.ts +4 -3
  66. package/src/lib/table-column.js +5 -4
  67. package/src/lib/table-column.js.map +1 -1
  68. package/src/schema.json +1673 -1415
  69. package/src/schematic-input.schema.json +90 -156
  70. package/src/schematics/abstract-control.schema.json +78 -0
  71. package/src/schematics/accordion/accordion-component/schema.json +127 -127
  72. package/src/schematics/accordion/accordion-item-component/schema.json +18 -18
  73. package/src/schematics/accordion/item/accordion-item-data-grid-component/schema.json +602 -81
  74. package/src/schematics/accordion/item/accordion-item-switch-component/schema.json +76 -76
  75. package/src/schematics/accordion/item/accordion-item-table-component/schema.json +486 -111
  76. package/src/schematics/accordion/item/accordion-item-tree-table-component/schema.json +458 -83
  77. package/src/schematics/base-form-array.schema.json +45 -0
  78. package/src/schematics/base-form-control.schema.json +27 -0
  79. package/src/schematics/base-form-group.schema.json +42 -0
  80. package/src/schematics/checkbox-form-control.schema.json +30 -0
  81. package/src/schematics/control.schema.json +26 -0
  82. package/src/schematics/data-grid-component/index.js +4 -0
  83. package/src/schematics/data-grid-component/index.js.map +1 -1
  84. package/src/schematics/data-grid-component/schema.json +602 -81
  85. package/src/schematics/data-grid-item.schema.json +3 -3
  86. package/src/schematics/form/control/input-form-control/index.d.ts +1 -1
  87. package/src/schematics/form/control/input-form-control/index.js +4 -4
  88. package/src/schematics/form/control/input-form-control/index.js.map +1 -1
  89. package/src/schematics/form/control/input-form-control/schema.d.ts +2 -2
  90. package/src/schematics/form/control/input-form-control/schema.json +256 -86
  91. package/src/schematics/form/control/input-form-control/template.schema.json +16 -3
  92. package/src/schematics/form/control/select-form-control/index.d.ts +2 -2
  93. package/src/schematics/form/control/select-form-control/index.js +21 -14
  94. package/src/schematics/form/control/select-form-control/index.js.map +1 -1
  95. package/src/schematics/form/control/select-form-control/schema.d.ts +2 -3
  96. package/src/schematics/form/control/select-form-control/schema.json +249 -90
  97. package/src/schematics/form/control/select-form-control/template.schema.json +16 -3
  98. package/src/schematics/form/control/table-select-form-control/index.d.ts +3 -9
  99. package/src/schematics/form/control/table-select-form-control/index.js +24 -18
  100. package/src/schematics/form/control/table-select-form-control/index.js.map +1 -1
  101. package/src/schematics/form/control/table-select-form-control/schema.d.ts +2 -3
  102. package/src/schematics/form/control/table-select-form-control/schema.json +325 -123
  103. package/src/schematics/form/control/table-select-form-control/template.schema.json +16 -60
  104. package/src/schematics/form/form-array/index.d.ts +9 -0
  105. package/src/schematics/form/form-array/index.js +54 -0
  106. package/src/schematics/form/form-array/index.js.map +1 -0
  107. package/src/schematics/form/form-array/schema.d.ts +4 -0
  108. package/src/schematics/form/form-array/schema.json +823 -0
  109. package/src/schematics/form/form-array/template.schema.json +33 -0
  110. package/src/schematics/form/form-component/files/component/__componentName__.component.html.hbs +4 -1
  111. package/src/schematics/form/form-component/index.d.ts +2 -4
  112. package/src/schematics/form/form-component/index.js +8 -24
  113. package/src/schematics/form/form-component/index.js.map +1 -1
  114. package/src/schematics/form/form-component/schema.d.ts +2 -2
  115. package/src/schematics/form/form-component/schema.json +666 -86
  116. package/src/schematics/form/form-control/index.d.ts +3 -5
  117. package/src/schematics/form/form-control/index.js +8 -20
  118. package/src/schematics/form/form-control/index.js.map +1 -1
  119. package/src/schematics/form/form-control/schema.d.ts +2 -4
  120. package/src/schematics/form/form-control/schema.json +519 -62
  121. package/src/schematics/form/form-control/template.schema.json +1 -2
  122. package/src/schematics/form/form-definition/index.d.ts +2 -2
  123. package/src/schematics/form/form-definition/index.js +28 -15
  124. package/src/schematics/form/form-definition/index.js.map +1 -1
  125. package/src/schematics/form/form-definition/schema.d.ts +2 -2
  126. package/src/schematics/form/form-definition/schema.json +664 -60
  127. package/src/schematics/form/form-group/index.d.ts +9 -0
  128. package/src/schematics/form/form-group/index.js +54 -0
  129. package/src/schematics/form/form-group/index.js.map +1 -0
  130. package/src/schematics/form/form-group/schema.d.ts +4 -0
  131. package/src/schematics/form/form-group/schema.json +823 -0
  132. package/src/schematics/form/form-group/template.schema.json +33 -0
  133. package/src/schematics/form/templates/checkbox-form-control.hbs +1 -1
  134. package/src/schematics/form/templates/default-form-array.hbs +27 -0
  135. package/src/schematics/form/templates/default-form-group.hbs +13 -0
  136. package/src/schematics/form/templates/input-form-control.hbs +7 -7
  137. package/src/schematics/form/templates/select-form-control.hbs +5 -0
  138. package/src/schematics/form/templates/table-select-form-control.hbs +16 -16
  139. package/src/schematics/form-array.schema.json +40 -0
  140. package/src/schematics/form-control.schema.json +64 -55
  141. package/src/schematics/form-definition.schema.json +3 -3
  142. package/src/schematics/form-group.schema.json +40 -0
  143. package/src/schematics/input-form-control.schema.json +10 -6
  144. package/src/schematics/select-form-control.schema.json +8 -4
  145. package/src/schematics/slide-toggle-form-control.schema.json +30 -0
  146. package/src/schematics/table/action/dialog-table-action/schema.json +20 -20
  147. package/src/schematics/table/action/form-table-action/index.d.ts +2 -2
  148. package/src/schematics/table/action/form-table-action/index.js +3 -4
  149. package/src/schematics/table/action/form-table-action/index.js.map +1 -1
  150. package/src/schematics/table/action/form-table-action/schema.d.ts +2 -2
  151. package/src/schematics/table/action/form-table-action/schema.json +667 -87
  152. package/src/schematics/table/action/navigation-table-action/schema.json +20 -20
  153. package/src/schematics/table/action/open-api-table-action/schema.json +20 -20
  154. package/src/schematics/table/action/operation-table-action/schema.json +20 -20
  155. package/src/schematics/table/header-button/form-table-header-button/index.d.ts +2 -2
  156. package/src/schematics/table/header-button/form-table-header-button/index.js +2 -2
  157. package/src/schematics/table/header-button/form-table-header-button/index.js.map +1 -1
  158. package/src/schematics/table/header-button/form-table-header-button/schema.d.ts +2 -2
  159. package/src/schematics/table/header-button/form-table-header-button/schema.json +735 -81
  160. package/src/schematics/table/header-button/form-table-header-button/template.schema.json +4 -22
  161. package/src/schematics/table/header-button/navigation-table-header-button/schema.json +20 -20
  162. package/src/schematics/table/table-action/schema.json +47 -47
  163. package/src/schematics/table/table-component/index.d.ts +2 -2
  164. package/src/schematics/table/table-component/schema.json +470 -95
  165. package/src/schematics/table/table-header-button/schema.json +40 -40
  166. package/src/schematics/table/tree-table-component/files/component/__componentName__.component.html.hbs +1 -1
  167. package/src/schematics/table/tree-table-component/schema.json +453 -78
  168. package/src/schematics/table-select-form-control.schema.json +96 -0
  169. package/src/schematics/textarea-form-control.schema.json +32 -0
  170. package/src/template.schema.json +39 -0
  171. package/src/lib/form-component-control.d.ts +0 -8
  172. package/src/lib/form-component-control.js +0 -15
  173. package/src/lib/form-component-control.js.map +0 -1
  174. package/src/lib/form-control.d.ts +0 -136
  175. package/src/lib/form-control.js +0 -265
  176. package/src/lib/form-control.js.map +0 -1
  177. package/src/lib/form-definition-control.d.ts +0 -5
  178. package/src/lib/form-definition-control.js +0 -30
  179. package/src/lib/form-definition-control.js.map +0 -1
@@ -18,6 +18,96 @@
18
18
  }
19
19
  ],
20
20
  "definitions": {
21
+ "abstractControl": {
22
+ "allOf": [
23
+ {
24
+ "$ref": "#/definitions/property"
25
+ },
26
+ {
27
+ "type": "object",
28
+ "properties": {
29
+ "name": {
30
+ "type": "string",
31
+ "description": "The name of the control"
32
+ },
33
+ "isArray": {
34
+ "type": "boolean",
35
+ "description": "Whether the control value is an array",
36
+ "default": false
37
+ },
38
+ "state": {
39
+ "type": "string",
40
+ "description": "The initial state of the control"
41
+ },
42
+ "isRequired": {
43
+ "type": "boolean",
44
+ "description": "Whether the control value is required",
45
+ "default": false
46
+ },
47
+ "isReadonly": {
48
+ "type": "boolean",
49
+ "description": "Whether the control value is readonly",
50
+ "default": false
51
+ },
52
+ "isDisabled": {
53
+ "type": "boolean",
54
+ "description": "Whether the control value is disabled",
55
+ "default": false
56
+ },
57
+ "validatorList": {
58
+ "type": "array",
59
+ "items": {
60
+ "type": "string"
61
+ }
62
+ },
63
+ "kind": {
64
+ "type": "string",
65
+ "description": "The kind of the control",
66
+ "default": "default"
67
+ },
68
+ "importList": {
69
+ "type": "array",
70
+ "items": {
71
+ "$ref": "#/definitions/type"
72
+ }
73
+ },
74
+ "template": {
75
+ "type": "string",
76
+ "description": "The template of the control"
77
+ },
78
+ "role": {
79
+ "type": "string",
80
+ "description": "The role of the control",
81
+ "enum": [
82
+ "control",
83
+ "group",
84
+ "array"
85
+ ],
86
+ "default": "control"
87
+ }
88
+ },
89
+ "additionalProperties": true
90
+ }
91
+ ]
92
+ },
93
+ "accordionIdentifier": {
94
+ "type": "object",
95
+ "properties": {
96
+ "property": {
97
+ "$ref": "#/definitions/property"
98
+ },
99
+ "source": {
100
+ "type": "string",
101
+ "enum": [
102
+ "route"
103
+ ],
104
+ "default": "route"
105
+ }
106
+ },
107
+ "required": [
108
+ "property"
109
+ ]
110
+ },
21
111
  "accordionItem": {
22
112
  "type": "object",
23
113
  "properties": {
@@ -115,6 +205,163 @@
115
205
  }
116
206
  ]
117
207
  },
208
+ "backend": {
209
+ "type": "string",
210
+ "description": "The backend that should be used to handel data",
211
+ "enum": [
212
+ "none",
213
+ "nestjs",
214
+ "open-api",
215
+ "local"
216
+ ],
217
+ "default": "none"
218
+ },
219
+ "baseFormArray": {
220
+ "allOf": [
221
+ {
222
+ "$ref": "#/definitions/abstractControl"
223
+ },
224
+ {
225
+ "type": "object",
226
+ "properties": {
227
+ "controlList": {
228
+ "type": "array",
229
+ "description": "The list of controls in the group",
230
+ "items": {
231
+ "$ref": "#/definitions/control"
232
+ }
233
+ },
234
+ "legend": {
235
+ "type": "string"
236
+ },
237
+ "groupLegend": {
238
+ "type": "string"
239
+ },
240
+ "kind": {
241
+ "type": "string",
242
+ "description": "The kind of the array",
243
+ "const": "default",
244
+ "default": "default"
245
+ },
246
+ "role": {
247
+ "type": "string",
248
+ "const": "array"
249
+ }
250
+ }
251
+ }
252
+ ]
253
+ },
254
+ "baseFormControl": {
255
+ "allOf": [
256
+ {
257
+ "$ref": "#/definitions/abstractControl"
258
+ },
259
+ {
260
+ "type": "object",
261
+ "properties": {
262
+ "label": {
263
+ "type": "string",
264
+ "description": "The label of the control"
265
+ },
266
+ "role": {
267
+ "type": "string",
268
+ "const": "control"
269
+ }
270
+ }
271
+ }
272
+ ]
273
+ },
274
+ "baseFormGroup": {
275
+ "allOf": [
276
+ {
277
+ "$ref": "#/definitions/abstractControl"
278
+ },
279
+ {
280
+ "type": "object",
281
+ "properties": {
282
+ "controlList": {
283
+ "type": "array",
284
+ "description": "The list of controls in the group",
285
+ "items": {
286
+ "$ref": "#/definitions/control"
287
+ }
288
+ },
289
+ "legend": {
290
+ "type": "string"
291
+ },
292
+ "kind": {
293
+ "type": "string",
294
+ "description": "The kind of the group",
295
+ "const": "default",
296
+ "default": "default"
297
+ },
298
+ "role": {
299
+ "type": "string",
300
+ "const": "group"
301
+ }
302
+ }
303
+ }
304
+ ]
305
+ },
306
+ "button": {
307
+ "type": "object",
308
+ "properties": {
309
+ "svgIcon": {
310
+ "type": "string"
311
+ },
312
+ "icon": {
313
+ "type": "string"
314
+ },
315
+ "directiveList": {
316
+ "type": "array",
317
+ "items": {
318
+ "$ref": "#/definitions/type"
319
+ }
320
+ },
321
+ "importList": {
322
+ "type": "array",
323
+ "items": {
324
+ "$ref": "#/definitions/type"
325
+ }
326
+ }
327
+ }
328
+ },
329
+ "checkboxFormControl": {
330
+ "allOf": [
331
+ {
332
+ "$ref": "#/definitions/baseFormControl"
333
+ },
334
+ {
335
+ "type": "object",
336
+ "properties": {
337
+ "kind": {
338
+ "type": "string",
339
+ "const": "checkbox"
340
+ },
341
+ "labelPosition": {
342
+ "type": "string",
343
+ "enum": [
344
+ "before",
345
+ "after"
346
+ ]
347
+ }
348
+ }
349
+ }
350
+ ]
351
+ },
352
+ "control": {
353
+ "oneOf": [
354
+ {
355
+ "$ref": "#/definitions/formGroup"
356
+ },
357
+ {
358
+ "$ref": "#/definitions/formArray"
359
+ },
360
+ {
361
+ "$ref": "#/definitions/formControl"
362
+ }
363
+ ]
364
+ },
118
365
  "dataGrid": {
119
366
  "type": "object",
120
367
  "properties": {
@@ -165,35 +412,6 @@
165
412
  }
166
413
  }
167
414
  },
168
- "accordionIdentifier": {
169
- "type": "object",
170
- "properties": {
171
- "property": {
172
- "$ref": "#/definitions/property"
173
- },
174
- "source": {
175
- "type": "string",
176
- "enum": [
177
- "route"
178
- ],
179
- "default": "route"
180
- }
181
- },
182
- "required": [
183
- "property"
184
- ]
185
- },
186
- "backend": {
187
- "type": "string",
188
- "description": "The backend that should be used to handel data",
189
- "enum": [
190
- "none",
191
- "nestjs",
192
- "open-api",
193
- "local"
194
- ],
195
- "default": "none"
196
- },
197
415
  "dataGridItem": {
198
416
  "type": "object",
199
417
  "properties": {
@@ -212,7 +430,7 @@
212
430
  }
213
431
  },
214
432
  "formControl": {
215
- "$ref": "#/definitions/formControl"
433
+ "$ref": "#/definitions/control"
216
434
  },
217
435
  "template": {
218
436
  "type": "string"
@@ -236,66 +454,140 @@
236
454
  "name"
237
455
  ]
238
456
  },
457
+ "formArray": {
458
+ "allOf": [
459
+ {
460
+ "type": "object",
461
+ "properties": {
462
+ "role": {
463
+ "type": "string",
464
+ "const": "array"
465
+ }
466
+ }
467
+ },
468
+ {
469
+ "oneOf": [
470
+ {
471
+ "allOf": [
472
+ {
473
+ "$ref": "#/definitions/baseFormArray"
474
+ },
475
+ {
476
+ "type": "object",
477
+ "properties": {
478
+ "kind": {
479
+ "type": "string",
480
+ "const": "default"
481
+ }
482
+ }
483
+ }
484
+ ]
485
+ }
486
+ ]
487
+ }
488
+ ]
489
+ },
239
490
  "formControl": {
491
+ "allOf": [
492
+ {
493
+ "type": "object",
494
+ "properties": {
495
+ "role": {
496
+ "type": "string",
497
+ "const": "control",
498
+ "default": "control"
499
+ }
500
+ }
501
+ },
502
+ {
503
+ "oneOf": [
504
+ {
505
+ "allOf": [
506
+ {
507
+ "$ref": "#/definitions/baseFormControl"
508
+ },
509
+ {
510
+ "type": "object",
511
+ "properties": {
512
+ "kind": {
513
+ "type": "string",
514
+ "const": "default"
515
+ }
516
+ }
517
+ }
518
+ ]
519
+ },
520
+ {
521
+ "$ref": "#/definitions/inputFormControl"
522
+ },
523
+ {
524
+ "$ref": "#/definitions/selectFormControl"
525
+ },
526
+ {
527
+ "$ref": "#/definitions/checkboxFormControl"
528
+ },
529
+ {
530
+ "$ref": "#/definitions/textareaFormControl"
531
+ },
532
+ {
533
+ "$ref": "#/definitions/tableSelectFormControl"
534
+ },
535
+ {
536
+ "$ref": "#/definitions/slideToggleFormControl"
537
+ }
538
+ ]
539
+ }
540
+ ]
541
+ },
542
+ "formField": {
240
543
  "type": "object",
241
544
  "properties": {
242
- "name": {
243
- "type": "string",
244
- "description": "The name of the control"
245
- },
246
- "type": {
247
- "$ref": "#/definitions/type"
248
- },
249
- "isArray": {
250
- "type": "boolean",
251
- "description": "Whether the control value is an array",
252
- "default": false
253
- },
254
- "state": {
255
- "type": "string",
256
- "description": "The initial state of the control"
257
- },
258
- "isRequired": {
259
- "type": "boolean",
260
- "description": "Whether the control value is required",
261
- "default": false
545
+ "label": {
546
+ "type": "string"
262
547
  },
263
- "isReadonly": {
264
- "type": "boolean",
265
- "description": "Whether the control value is readonly",
266
- "default": false
548
+ "prefixButton": {
549
+ "$ref": "#/definitions/button"
267
550
  },
268
- "isDisabled": {
269
- "type": "boolean",
270
- "description": "Whether the control value is disabled",
271
- "default": false
551
+ "suffixButton": {
552
+ "$ref": "#/definitions/button"
272
553
  },
273
- "validatorList": {
274
- "type": "array",
275
- "items": {
276
- "type": "string"
554
+ "hasClearButton": {
555
+ "type": "boolean"
556
+ }
557
+ }
558
+ },
559
+ "formGroup": {
560
+ "allOf": [
561
+ {
562
+ "type": "object",
563
+ "properties": {
564
+ "role": {
565
+ "type": "string",
566
+ "const": "group"
567
+ }
277
568
  }
278
569
  },
279
- "kind": {
280
- "type": "string",
281
- "description": "The name of the template",
282
- "enum": [
283
- "default",
284
- "input",
285
- "select",
286
- "checkbox",
287
- "autocomplete-table-select",
288
- "table-select",
289
- "textarea",
290
- "slide-toggle"
291
- ],
292
- "default": "default"
570
+ {
571
+ "oneOf": [
572
+ {
573
+ "allOf": [
574
+ {
575
+ "$ref": "#/definitions/baseFormGroup"
576
+ },
577
+ {
578
+ "type": "object",
579
+ "properties": {
580
+ "kind": {
581
+ "type": "string",
582
+ "const": "default"
583
+ }
584
+ }
585
+ }
586
+ ]
587
+ }
588
+ ]
293
589
  }
294
- },
295
- "required": [
296
- "name"
297
- ],
298
- "additionalProperties": true
590
+ ]
299
591
  },
300
592
  "general": {
301
593
  "type": "object",
@@ -333,6 +625,55 @@
333
625
  }
334
626
  }
335
627
  },
628
+ "inputFormControl": {
629
+ "allOf": [
630
+ {
631
+ "$ref": "#/definitions/baseFormControl"
632
+ },
633
+ {
634
+ "type": "object",
635
+ "properties": {
636
+ "kind": {
637
+ "type": "string",
638
+ "const": "input"
639
+ },
640
+ "formField": {
641
+ "$ref": "#/definitions/formField"
642
+ },
643
+ "inputType": {
644
+ "type": "string",
645
+ "enum": [
646
+ "text",
647
+ "password",
648
+ "email",
649
+ "number",
650
+ "tel",
651
+ "url",
652
+ "checkbox",
653
+ "color",
654
+ "date",
655
+ "time",
656
+ "datetime-local",
657
+ "file",
658
+ "hidden",
659
+ "image",
660
+ "month",
661
+ "radio",
662
+ "reset",
663
+ "button",
664
+ "search",
665
+ "submit",
666
+ "week",
667
+ "range"
668
+ ]
669
+ },
670
+ "placeholder": {
671
+ "type": "string"
672
+ }
673
+ }
674
+ }
675
+ ]
676
+ },
336
677
  "pipe": {
337
678
  "oneOf": [
338
679
  {
@@ -385,6 +726,186 @@
385
726
  }
386
727
  ]
387
728
  },
729
+ "selectFormControl": {
730
+ "allOf": [
731
+ {
732
+ "$ref": "#/definitions/baseFormControl"
733
+ },
734
+ {
735
+ "type": "object",
736
+ "properties": {
737
+ "formField": {
738
+ "$ref": "#/definitions/formField"
739
+ },
740
+ "kind": {
741
+ "type": "string",
742
+ "const": "select"
743
+ },
744
+ "optionList": {
745
+ "type": "array",
746
+ "items": {
747
+ "type": "object",
748
+ "properties": {
749
+ "display": {
750
+ "type": "string"
751
+ },
752
+ "value": {
753
+ "oneOf": [
754
+ {
755
+ "type": "string"
756
+ },
757
+ {
758
+ "type": "number"
759
+ },
760
+ {
761
+ "type": "boolean"
762
+ },
763
+ {
764
+ "type": "object",
765
+ "additionalProperties": true
766
+ }
767
+ ]
768
+ }
769
+ }
770
+ }
771
+ },
772
+ "backend": {
773
+ "$ref": "#/definitions/backend"
774
+ },
775
+ "multiple": {
776
+ "alias": "multi",
777
+ "type": "boolean",
778
+ "description": "Whether the select form control is multiple mode"
779
+ }
780
+ }
781
+ }
782
+ ]
783
+ },
784
+ "slideToggleFormControl": {
785
+ "allOf": [
786
+ {
787
+ "$ref": "#/definitions/baseFormControl"
788
+ },
789
+ {
790
+ "type": "object",
791
+ "properties": {
792
+ "kind": {
793
+ "type": "string",
794
+ "const": "slide-toggle"
795
+ },
796
+ "labelPosition": {
797
+ "type": "string",
798
+ "enum": [
799
+ "before",
800
+ "after"
801
+ ]
802
+ }
803
+ }
804
+ }
805
+ ]
806
+ },
807
+ "tableSelectFormControl": {
808
+ "allOf": [
809
+ {
810
+ "$ref": "#/definitions/baseFormControl"
811
+ },
812
+ {
813
+ "type": "object",
814
+ "properties": {
815
+ "formField": {
816
+ "$ref": "#/definitions/formField"
817
+ },
818
+ "kind": {
819
+ "type": "string",
820
+ "const": "table-select"
821
+ },
822
+ "placeholder": {
823
+ "type": "string"
824
+ },
825
+ "columnList": {
826
+ "alias": "column",
827
+ "type": "array",
828
+ "items": {
829
+ "description": "table column name",
830
+ "type": "object",
831
+ "properties": {
832
+ "name": {
833
+ "type": "string",
834
+ "description": "table column name"
835
+ },
836
+ "title": {
837
+ "type": "string",
838
+ "description": "table column label"
839
+ },
840
+ "hasFilter": {
841
+ "type": "boolean",
842
+ "description": "Whether the column has a filter"
843
+ },
844
+ "kind": {
845
+ "type": "string",
846
+ "description": "The kind of data in the column"
847
+ }
848
+ }
849
+ },
850
+ "description": "List of table column names"
851
+ },
852
+ "title": {
853
+ "type": "string",
854
+ "description": "The title of the table select window"
855
+ },
856
+ "toDisplay": {
857
+ "type": "object",
858
+ "properties": {
859
+ "property": {
860
+ "$ref": "#/definitions/property"
861
+ }
862
+ }
863
+ },
864
+ "toValue": {
865
+ "type": "object",
866
+ "properties": {
867
+ "property": {
868
+ "$ref": "#/definitions/property"
869
+ }
870
+ }
871
+ },
872
+ "upstream": {
873
+ "$ref": "#/definitions/upstream"
874
+ },
875
+ "resolver": {
876
+ "type": "object",
877
+ "properties": {
878
+ "upstream": {
879
+ "$ref": "#/definitions/upstream"
880
+ }
881
+ }
882
+ }
883
+ }
884
+ }
885
+ ]
886
+ },
887
+ "textareaFormControl": {
888
+ "allOf": [
889
+ {
890
+ "$ref": "#/definitions/baseFormControl"
891
+ },
892
+ {
893
+ "type": "object",
894
+ "properties": {
895
+ "formField": {
896
+ "$ref": "#/definitions/formField"
897
+ },
898
+ "kind": {
899
+ "type": "string",
900
+ "const": "textarea"
901
+ },
902
+ "placeholder": {
903
+ "type": "string"
904
+ }
905
+ }
906
+ }
907
+ ]
908
+ },
388
909
  "type": {
389
910
  "oneOf": [
390
911
  {