@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
@@ -65,58 +65,75 @@
65
65
  }
66
66
  ],
67
67
  "definitions": {
68
- "formComponent": {
68
+ "abstractControl": {
69
69
  "allOf": [
70
70
  {
71
- "$ref": "#/definitions/formDefinition"
71
+ "$ref": "#/definitions/property"
72
72
  },
73
73
  {
74
74
  "type": "object",
75
75
  "properties": {
76
- "window": {
76
+ "name": {
77
+ "type": "string",
78
+ "description": "The name of the control"
79
+ },
80
+ "isArray": {
77
81
  "type": "boolean",
78
- "description": "Whether the form can be opened in a window"
82
+ "description": "Whether the control value is an array",
83
+ "default": false
79
84
  },
80
- "role": {
85
+ "state": {
81
86
  "type": "string",
82
- "description": "Define the role of the form"
87
+ "description": "The initial state of the control"
83
88
  },
84
- "matFormFieldDefaultOptions": {
85
- "appearance": {
86
- "type": "string",
87
- "description": "The appearance of the mat form field",
88
- "enum": [
89
- "legacy",
90
- "standard",
91
- "fill",
92
- "outline"
93
- ]
89
+ "isRequired": {
90
+ "type": "boolean",
91
+ "description": "Whether the control value is required",
92
+ "default": false
93
+ },
94
+ "isReadonly": {
95
+ "type": "boolean",
96
+ "description": "Whether the control value is readonly",
97
+ "default": false
98
+ },
99
+ "isDisabled": {
100
+ "type": "boolean",
101
+ "description": "Whether the control value is disabled",
102
+ "default": false
103
+ },
104
+ "validatorList": {
105
+ "type": "array",
106
+ "items": {
107
+ "type": "string"
94
108
  }
95
109
  },
96
- "identifier": {
97
- "$ref": "#/definitions/accordionIdentifier"
98
- }
99
- }
100
- }
101
- ]
102
- },
103
- "tableActionSchematic": {
104
- "allOf": [
105
- {
106
- "$ref": "#/definitions/angular"
107
- },
108
- {
109
- "$ref": "#/definitions/tableAction"
110
- },
111
- {
112
- "type": "object",
113
- "properties": {
114
- "tableName": {
115
- "alias": "table",
110
+ "kind": {
116
111
  "type": "string",
117
- "description": "The name of the table action"
112
+ "description": "The kind of the control",
113
+ "default": "default"
114
+ },
115
+ "importList": {
116
+ "type": "array",
117
+ "items": {
118
+ "$ref": "#/definitions/type"
119
+ }
120
+ },
121
+ "template": {
122
+ "type": "string",
123
+ "description": "The template of the control"
124
+ },
125
+ "role": {
126
+ "type": "string",
127
+ "description": "The role of the control",
128
+ "enum": [
129
+ "control",
130
+ "group",
131
+ "array"
132
+ ],
133
+ "default": "control"
118
134
  }
119
- }
135
+ },
136
+ "additionalProperties": true
120
137
  }
121
138
  ]
122
139
  },
@@ -200,66 +217,271 @@
200
217
  ],
201
218
  "default": "none"
202
219
  },
203
- "formControl": {
220
+ "baseFormArray": {
221
+ "allOf": [
222
+ {
223
+ "$ref": "#/definitions/abstractControl"
224
+ },
225
+ {
226
+ "type": "object",
227
+ "properties": {
228
+ "controlList": {
229
+ "type": "array",
230
+ "description": "The list of controls in the group",
231
+ "items": {
232
+ "$ref": "#/definitions/control"
233
+ }
234
+ },
235
+ "legend": {
236
+ "type": "string"
237
+ },
238
+ "groupLegend": {
239
+ "type": "string"
240
+ },
241
+ "kind": {
242
+ "type": "string",
243
+ "description": "The kind of the array",
244
+ "const": "default",
245
+ "default": "default"
246
+ },
247
+ "role": {
248
+ "type": "string",
249
+ "const": "array"
250
+ }
251
+ }
252
+ }
253
+ ]
254
+ },
255
+ "baseFormControl": {
256
+ "allOf": [
257
+ {
258
+ "$ref": "#/definitions/abstractControl"
259
+ },
260
+ {
261
+ "type": "object",
262
+ "properties": {
263
+ "label": {
264
+ "type": "string",
265
+ "description": "The label of the control"
266
+ },
267
+ "role": {
268
+ "type": "string",
269
+ "const": "control"
270
+ }
271
+ }
272
+ }
273
+ ]
274
+ },
275
+ "baseFormGroup": {
276
+ "allOf": [
277
+ {
278
+ "$ref": "#/definitions/abstractControl"
279
+ },
280
+ {
281
+ "type": "object",
282
+ "properties": {
283
+ "controlList": {
284
+ "type": "array",
285
+ "description": "The list of controls in the group",
286
+ "items": {
287
+ "$ref": "#/definitions/control"
288
+ }
289
+ },
290
+ "legend": {
291
+ "type": "string"
292
+ },
293
+ "kind": {
294
+ "type": "string",
295
+ "description": "The kind of the group",
296
+ "const": "default",
297
+ "default": "default"
298
+ },
299
+ "role": {
300
+ "type": "string",
301
+ "const": "group"
302
+ }
303
+ }
304
+ }
305
+ ]
306
+ },
307
+ "button": {
204
308
  "type": "object",
205
309
  "properties": {
206
- "name": {
207
- "type": "string",
208
- "description": "The name of the control"
310
+ "svgIcon": {
311
+ "type": "string"
209
312
  },
210
- "type": {
211
- "$ref": "#/definitions/type"
313
+ "icon": {
314
+ "type": "string"
212
315
  },
213
- "isArray": {
214
- "type": "boolean",
215
- "description": "Whether the control value is an array",
216
- "default": false
316
+ "directiveList": {
317
+ "type": "array",
318
+ "items": {
319
+ "$ref": "#/definitions/type"
320
+ }
217
321
  },
218
- "state": {
219
- "type": "string",
220
- "description": "The initial state of the control"
322
+ "importList": {
323
+ "type": "array",
324
+ "items": {
325
+ "$ref": "#/definitions/type"
326
+ }
327
+ }
328
+ }
329
+ },
330
+ "checkboxFormControl": {
331
+ "allOf": [
332
+ {
333
+ "$ref": "#/definitions/baseFormControl"
221
334
  },
222
- "isRequired": {
223
- "type": "boolean",
224
- "description": "Whether the control value is required",
225
- "default": false
335
+ {
336
+ "type": "object",
337
+ "properties": {
338
+ "kind": {
339
+ "type": "string",
340
+ "const": "checkbox"
341
+ },
342
+ "labelPosition": {
343
+ "type": "string",
344
+ "enum": [
345
+ "before",
346
+ "after"
347
+ ]
348
+ }
349
+ }
350
+ }
351
+ ]
352
+ },
353
+ "control": {
354
+ "oneOf": [
355
+ {
356
+ "$ref": "#/definitions/formGroup"
226
357
  },
227
- "isReadonly": {
228
- "type": "boolean",
229
- "description": "Whether the control value is readonly",
230
- "default": false
358
+ {
359
+ "$ref": "#/definitions/formArray"
231
360
  },
232
- "isDisabled": {
233
- "type": "boolean",
234
- "description": "Whether the control value is disabled",
235
- "default": false
361
+ {
362
+ "$ref": "#/definitions/formControl"
363
+ }
364
+ ]
365
+ },
366
+ "formArray": {
367
+ "allOf": [
368
+ {
369
+ "type": "object",
370
+ "properties": {
371
+ "role": {
372
+ "type": "string",
373
+ "const": "array"
374
+ }
375
+ }
236
376
  },
237
- "validatorList": {
238
- "type": "array",
239
- "items": {
240
- "type": "string"
377
+ {
378
+ "oneOf": [
379
+ {
380
+ "allOf": [
381
+ {
382
+ "$ref": "#/definitions/baseFormArray"
383
+ },
384
+ {
385
+ "type": "object",
386
+ "properties": {
387
+ "kind": {
388
+ "type": "string",
389
+ "const": "default"
390
+ }
391
+ }
392
+ }
393
+ ]
394
+ }
395
+ ]
396
+ }
397
+ ]
398
+ },
399
+ "formComponent": {
400
+ "allOf": [
401
+ {
402
+ "$ref": "#/definitions/formDefinition"
403
+ },
404
+ {
405
+ "type": "object",
406
+ "properties": {
407
+ "window": {
408
+ "type": "boolean",
409
+ "description": "Whether the form can be opened in a window"
410
+ },
411
+ "role": {
412
+ "type": "string",
413
+ "description": "Define the role of the form"
414
+ },
415
+ "matFormFieldDefaultOptions": {
416
+ "appearance": {
417
+ "type": "string",
418
+ "description": "The appearance of the mat form field",
419
+ "enum": [
420
+ "legacy",
421
+ "standard",
422
+ "fill",
423
+ "outline"
424
+ ]
425
+ }
426
+ },
427
+ "identifier": {
428
+ "$ref": "#/definitions/accordionIdentifier"
429
+ }
430
+ }
431
+ }
432
+ ]
433
+ },
434
+ "formControl": {
435
+ "allOf": [
436
+ {
437
+ "type": "object",
438
+ "properties": {
439
+ "role": {
440
+ "type": "string",
441
+ "const": "control",
442
+ "default": "control"
443
+ }
241
444
  }
242
445
  },
243
- "kind": {
244
- "type": "string",
245
- "description": "The name of the template",
246
- "enum": [
247
- "default",
248
- "input",
249
- "select",
250
- "checkbox",
251
- "autocomplete-table-select",
252
- "table-select",
253
- "textarea",
254
- "slide-toggle"
255
- ],
256
- "default": "default"
446
+ {
447
+ "oneOf": [
448
+ {
449
+ "allOf": [
450
+ {
451
+ "$ref": "#/definitions/baseFormControl"
452
+ },
453
+ {
454
+ "type": "object",
455
+ "properties": {
456
+ "kind": {
457
+ "type": "string",
458
+ "const": "default"
459
+ }
460
+ }
461
+ }
462
+ ]
463
+ },
464
+ {
465
+ "$ref": "#/definitions/inputFormControl"
466
+ },
467
+ {
468
+ "$ref": "#/definitions/selectFormControl"
469
+ },
470
+ {
471
+ "$ref": "#/definitions/checkboxFormControl"
472
+ },
473
+ {
474
+ "$ref": "#/definitions/textareaFormControl"
475
+ },
476
+ {
477
+ "$ref": "#/definitions/tableSelectFormControl"
478
+ },
479
+ {
480
+ "$ref": "#/definitions/slideToggleFormControl"
481
+ }
482
+ ]
257
483
  }
258
- },
259
- "required": [
260
- "name"
261
- ],
262
- "additionalProperties": true
484
+ ]
263
485
  },
264
486
  "formDefinition": {
265
487
  "type": "object",
@@ -268,7 +490,7 @@
268
490
  "alias": "control",
269
491
  "type": "array",
270
492
  "items": {
271
- "$ref": "#/definitions/formControl"
493
+ "$ref": "#/definitions/control"
272
494
  }
273
495
  }
274
496
  },
@@ -276,6 +498,56 @@
276
498
  "controlList"
277
499
  ]
278
500
  },
501
+ "formField": {
502
+ "type": "object",
503
+ "properties": {
504
+ "label": {
505
+ "type": "string"
506
+ },
507
+ "prefixButton": {
508
+ "$ref": "#/definitions/button"
509
+ },
510
+ "suffixButton": {
511
+ "$ref": "#/definitions/button"
512
+ },
513
+ "hasClearButton": {
514
+ "type": "boolean"
515
+ }
516
+ }
517
+ },
518
+ "formGroup": {
519
+ "allOf": [
520
+ {
521
+ "type": "object",
522
+ "properties": {
523
+ "role": {
524
+ "type": "string",
525
+ "const": "group"
526
+ }
527
+ }
528
+ },
529
+ {
530
+ "oneOf": [
531
+ {
532
+ "allOf": [
533
+ {
534
+ "$ref": "#/definitions/baseFormGroup"
535
+ },
536
+ {
537
+ "type": "object",
538
+ "properties": {
539
+ "kind": {
540
+ "type": "string",
541
+ "const": "default"
542
+ }
543
+ }
544
+ }
545
+ ]
546
+ }
547
+ ]
548
+ }
549
+ ]
550
+ },
279
551
  "general": {
280
552
  "type": "object",
281
553
  "properties": {
@@ -312,6 +584,55 @@
312
584
  }
313
585
  }
314
586
  },
587
+ "inputFormControl": {
588
+ "allOf": [
589
+ {
590
+ "$ref": "#/definitions/baseFormControl"
591
+ },
592
+ {
593
+ "type": "object",
594
+ "properties": {
595
+ "kind": {
596
+ "type": "string",
597
+ "const": "input"
598
+ },
599
+ "formField": {
600
+ "$ref": "#/definitions/formField"
601
+ },
602
+ "inputType": {
603
+ "type": "string",
604
+ "enum": [
605
+ "text",
606
+ "password",
607
+ "email",
608
+ "number",
609
+ "tel",
610
+ "url",
611
+ "checkbox",
612
+ "color",
613
+ "date",
614
+ "time",
615
+ "datetime-local",
616
+ "file",
617
+ "hidden",
618
+ "image",
619
+ "month",
620
+ "radio",
621
+ "reset",
622
+ "button",
623
+ "search",
624
+ "submit",
625
+ "week",
626
+ "range"
627
+ ]
628
+ },
629
+ "placeholder": {
630
+ "type": "string"
631
+ }
632
+ }
633
+ }
634
+ ]
635
+ },
315
636
  "property": {
316
637
  "oneOf": [
317
638
  {
@@ -336,6 +657,84 @@
336
657
  }
337
658
  ]
338
659
  },
660
+ "selectFormControl": {
661
+ "allOf": [
662
+ {
663
+ "$ref": "#/definitions/baseFormControl"
664
+ },
665
+ {
666
+ "type": "object",
667
+ "properties": {
668
+ "formField": {
669
+ "$ref": "#/definitions/formField"
670
+ },
671
+ "kind": {
672
+ "type": "string",
673
+ "const": "select"
674
+ },
675
+ "optionList": {
676
+ "type": "array",
677
+ "items": {
678
+ "type": "object",
679
+ "properties": {
680
+ "display": {
681
+ "type": "string"
682
+ },
683
+ "value": {
684
+ "oneOf": [
685
+ {
686
+ "type": "string"
687
+ },
688
+ {
689
+ "type": "number"
690
+ },
691
+ {
692
+ "type": "boolean"
693
+ },
694
+ {
695
+ "type": "object",
696
+ "additionalProperties": true
697
+ }
698
+ ]
699
+ }
700
+ }
701
+ }
702
+ },
703
+ "backend": {
704
+ "$ref": "#/definitions/backend"
705
+ },
706
+ "multiple": {
707
+ "alias": "multi",
708
+ "type": "boolean",
709
+ "description": "Whether the select form control is multiple mode"
710
+ }
711
+ }
712
+ }
713
+ ]
714
+ },
715
+ "slideToggleFormControl": {
716
+ "allOf": [
717
+ {
718
+ "$ref": "#/definitions/baseFormControl"
719
+ },
720
+ {
721
+ "type": "object",
722
+ "properties": {
723
+ "kind": {
724
+ "type": "string",
725
+ "const": "slide-toggle"
726
+ },
727
+ "labelPosition": {
728
+ "type": "string",
729
+ "enum": [
730
+ "before",
731
+ "after"
732
+ ]
733
+ }
734
+ }
735
+ }
736
+ ]
737
+ },
339
738
  "tableAction": {
340
739
  "type": "object",
341
740
  "properties": {
@@ -395,6 +794,128 @@
395
794
  "type"
396
795
  ]
397
796
  },
797
+ "tableActionSchematic": {
798
+ "allOf": [
799
+ {
800
+ "$ref": "#/definitions/angular"
801
+ },
802
+ {
803
+ "$ref": "#/definitions/tableAction"
804
+ },
805
+ {
806
+ "type": "object",
807
+ "properties": {
808
+ "tableName": {
809
+ "alias": "table",
810
+ "type": "string",
811
+ "description": "The name of the table action"
812
+ }
813
+ }
814
+ }
815
+ ]
816
+ },
817
+ "tableSelectFormControl": {
818
+ "allOf": [
819
+ {
820
+ "$ref": "#/definitions/baseFormControl"
821
+ },
822
+ {
823
+ "type": "object",
824
+ "properties": {
825
+ "formField": {
826
+ "$ref": "#/definitions/formField"
827
+ },
828
+ "kind": {
829
+ "type": "string",
830
+ "const": "table-select"
831
+ },
832
+ "placeholder": {
833
+ "type": "string"
834
+ },
835
+ "columnList": {
836
+ "alias": "column",
837
+ "type": "array",
838
+ "items": {
839
+ "description": "table column name",
840
+ "type": "object",
841
+ "properties": {
842
+ "name": {
843
+ "type": "string",
844
+ "description": "table column name"
845
+ },
846
+ "title": {
847
+ "type": "string",
848
+ "description": "table column label"
849
+ },
850
+ "hasFilter": {
851
+ "type": "boolean",
852
+ "description": "Whether the column has a filter"
853
+ },
854
+ "kind": {
855
+ "type": "string",
856
+ "description": "The kind of data in the column"
857
+ }
858
+ }
859
+ },
860
+ "description": "List of table column names"
861
+ },
862
+ "title": {
863
+ "type": "string",
864
+ "description": "The title of the table select window"
865
+ },
866
+ "toDisplay": {
867
+ "type": "object",
868
+ "properties": {
869
+ "property": {
870
+ "$ref": "#/definitions/property"
871
+ }
872
+ }
873
+ },
874
+ "toValue": {
875
+ "type": "object",
876
+ "properties": {
877
+ "property": {
878
+ "$ref": "#/definitions/property"
879
+ }
880
+ }
881
+ },
882
+ "upstream": {
883
+ "$ref": "#/definitions/upstream"
884
+ },
885
+ "resolver": {
886
+ "type": "object",
887
+ "properties": {
888
+ "upstream": {
889
+ "$ref": "#/definitions/upstream"
890
+ }
891
+ }
892
+ }
893
+ }
894
+ }
895
+ ]
896
+ },
897
+ "textareaFormControl": {
898
+ "allOf": [
899
+ {
900
+ "$ref": "#/definitions/baseFormControl"
901
+ },
902
+ {
903
+ "type": "object",
904
+ "properties": {
905
+ "formField": {
906
+ "$ref": "#/definitions/formField"
907
+ },
908
+ "kind": {
909
+ "type": "string",
910
+ "const": "textarea"
911
+ },
912
+ "placeholder": {
913
+ "type": "string"
914
+ }
915
+ }
916
+ }
917
+ ]
918
+ },
398
919
  "type": {
399
920
  "oneOf": [
400
921
  {
@@ -427,6 +948,65 @@
427
948
  ]
428
949
  }
429
950
  ]
951
+ },
952
+ "upstream": {
953
+ "oneOf": [
954
+ {
955
+ "type": "object",
956
+ "properties": {
957
+ "kind": {
958
+ "type": "string",
959
+ "enum": [
960
+ "open-api"
961
+ ]
962
+ },
963
+ "operationId": {
964
+ "type": "string"
965
+ },
966
+ "scope": {
967
+ "type": "string"
968
+ },
969
+ "mapper": {
970
+ "type": "object",
971
+ "properties": {
972
+ "pageIndex": {
973
+ "type": "string"
974
+ },
975
+ "pageSize": {
976
+ "type": "string"
977
+ },
978
+ "sortBy": {
979
+ "type": "string"
980
+ },
981
+ "sortDirection": {
982
+ "type": "string"
983
+ },
984
+ "list": {
985
+ "type": "string"
986
+ },
987
+ "total": {
988
+ "type": "string"
989
+ },
990
+ "filter": {
991
+ "type": "object",
992
+ "properties": {
993
+ "eq": {
994
+ "type": "string"
995
+ },
996
+ "join": {
997
+ "type": "string"
998
+ }
999
+ }
1000
+ }
1001
+ }
1002
+ }
1003
+ },
1004
+ "required": [
1005
+ "kind",
1006
+ "operationId"
1007
+ ]
1008
+ }
1009
+ ]
430
1010
  }
431
1011
  }
432
1012
  }