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

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 (189) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/README.md +1 -1
  3. package/collection.json +15 -0
  4. package/package.json +7 -7
  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/autocomplete-table-select-form-control.d.ts +6 -0
  26. package/src/lib/form/control/autocomplete-table-select-form-control.js +34 -0
  27. package/src/lib/form/control/autocomplete-table-select-form-control.js.map +1 -0
  28. package/src/lib/form/control/base-form-control.d.ts +14 -0
  29. package/src/lib/form/control/base-form-control.js +19 -0
  30. package/src/lib/form/control/base-form-control.js.map +1 -0
  31. package/src/lib/form/control/checkbox-form-control.d.ts +11 -0
  32. package/src/lib/form/control/checkbox-form-control.js +23 -0
  33. package/src/lib/form/control/checkbox-form-control.js.map +1 -0
  34. package/src/lib/form/control/form-control-kind.d.ts +9 -0
  35. package/src/lib/form/control/form-control-kind.js +14 -0
  36. package/src/lib/form/control/form-control-kind.js.map +1 -0
  37. package/src/lib/form/control/form-control.d.ts +18 -0
  38. package/src/lib/form/control/form-control.js +43 -0
  39. package/src/lib/form/control/form-control.js.map +1 -0
  40. package/src/lib/form/control/form-field-form-control.d.ts +33 -0
  41. package/src/lib/form/control/form-field-form-control.js +76 -0
  42. package/src/lib/form/control/form-field-form-control.js.map +1 -0
  43. package/src/lib/form/control/input-form-control.d.ts +14 -0
  44. package/src/lib/form/control/input-form-control.js +71 -0
  45. package/src/lib/form/control/input-form-control.js.map +1 -0
  46. package/src/lib/form/control/select-form-control.d.ts +18 -0
  47. package/src/lib/form/control/select-form-control.js +29 -0
  48. package/src/lib/form/control/select-form-control.js.map +1 -0
  49. package/src/lib/form/control/slide-toggle-form-control.d.ts +11 -0
  50. package/src/lib/form/control/slide-toggle-form-control.js +23 -0
  51. package/src/lib/form/control/slide-toggle-form-control.js.map +1 -0
  52. package/src/lib/form/control/table-select-form-control.d.ts +43 -0
  53. package/src/lib/form/control/table-select-form-control.js +69 -0
  54. package/src/lib/form/control/table-select-form-control.js.map +1 -0
  55. package/src/lib/form/control.d.ts +8 -0
  56. package/src/lib/form/control.js +38 -0
  57. package/src/lib/form/control.js.map +1 -0
  58. package/src/lib/form/generate-form-template.d.ts +2 -2
  59. package/src/lib/form/group/base-form-group.d.ts +17 -0
  60. package/src/lib/form/group/base-form-group.js +20 -0
  61. package/src/lib/form/group/base-form-group.js.map +1 -0
  62. package/src/lib/form/group/form-group-kind.d.ts +3 -0
  63. package/src/lib/form/group/form-group-kind.js +8 -0
  64. package/src/lib/form/group/form-group-kind.js.map +1 -0
  65. package/src/lib/form/group/form-group.d.ts +12 -0
  66. package/src/lib/form/group/form-group.js +18 -0
  67. package/src/lib/form/group/form-group.js.map +1 -0
  68. package/src/lib/table-column.d.ts +4 -3
  69. package/src/lib/table-column.js +5 -4
  70. package/src/lib/table-column.js.map +1 -1
  71. package/src/schema.json +1691 -1311
  72. package/src/schematic-input.schema.json +109 -156
  73. package/src/schematics/abstract-control.schema.json +78 -0
  74. package/src/schematics/accordion/accordion-component/schema.json +127 -127
  75. package/src/schematics/accordion/accordion-item-component/schema.json +18 -18
  76. package/src/schematics/accordion/item/accordion-item-data-grid-component/schema.json +685 -81
  77. package/src/schematics/accordion/item/accordion-item-switch-component/schema.json +76 -76
  78. package/src/schematics/accordion/item/accordion-item-table-component/schema.json +555 -97
  79. package/src/schematics/accordion/item/accordion-item-tree-table-component/schema.json +537 -79
  80. package/src/schematics/autocomplete-table-select-form-control.schema.json +96 -0
  81. package/src/schematics/base-form-array.schema.json +45 -0
  82. package/src/schematics/base-form-control.schema.json +27 -0
  83. package/src/schematics/base-form-group.schema.json +42 -0
  84. package/src/schematics/checkbox-form-control.schema.json +30 -0
  85. package/src/schematics/control.schema.json +26 -0
  86. package/src/schematics/data-grid-component/index.js +4 -0
  87. package/src/schematics/data-grid-component/index.js.map +1 -1
  88. package/src/schematics/data-grid-component/schema.json +685 -81
  89. package/src/schematics/data-grid-item.schema.json +3 -3
  90. package/src/schematics/form/control/autocomplete-table-select-form-control/index.d.ts +10 -0
  91. package/src/schematics/form/control/autocomplete-table-select-form-control/index.js +247 -0
  92. package/src/schematics/form/control/autocomplete-table-select-form-control/index.js.map +1 -0
  93. package/src/schematics/form/control/autocomplete-table-select-form-control/schema.d.ts +4 -0
  94. package/src/schematics/form/control/autocomplete-table-select-form-control/schema.json +453 -0
  95. package/src/schematics/form/control/autocomplete-table-select-form-control/template.schema.json +39 -0
  96. package/src/schematics/form/control/input-form-control/index.d.ts +1 -1
  97. package/src/schematics/form/control/input-form-control/index.js +4 -4
  98. package/src/schematics/form/control/input-form-control/index.js.map +1 -1
  99. package/src/schematics/form/control/input-form-control/schema.d.ts +2 -2
  100. package/src/schematics/form/control/input-form-control/schema.json +256 -86
  101. package/src/schematics/form/control/input-form-control/template.schema.json +16 -3
  102. package/src/schematics/form/control/select-form-control/index.d.ts +2 -2
  103. package/src/schematics/form/control/select-form-control/index.js +21 -14
  104. package/src/schematics/form/control/select-form-control/index.js.map +1 -1
  105. package/src/schematics/form/control/select-form-control/schema.d.ts +2 -3
  106. package/src/schematics/form/control/select-form-control/schema.json +249 -90
  107. package/src/schematics/form/control/select-form-control/template.schema.json +16 -3
  108. package/src/schematics/form/control/table-select-form-control/index.d.ts +3 -9
  109. package/src/schematics/form/control/table-select-form-control/index.js +24 -18
  110. package/src/schematics/form/control/table-select-form-control/index.js.map +1 -1
  111. package/src/schematics/form/control/table-select-form-control/schema.d.ts +2 -3
  112. package/src/schematics/form/control/table-select-form-control/schema.json +325 -123
  113. package/src/schematics/form/control/table-select-form-control/template.schema.json +16 -60
  114. package/src/schematics/form/form-array/index.d.ts +9 -0
  115. package/src/schematics/form/form-array/index.js +54 -0
  116. package/src/schematics/form/form-array/index.js.map +1 -0
  117. package/src/schematics/form/form-array/schema.d.ts +4 -0
  118. package/src/schematics/form/form-array/schema.json +906 -0
  119. package/src/schematics/form/form-array/template.schema.json +33 -0
  120. package/src/schematics/form/form-component/files/component/__componentName__.component.html.hbs +4 -1
  121. package/src/schematics/form/form-component/index.d.ts +2 -4
  122. package/src/schematics/form/form-component/index.js +8 -24
  123. package/src/schematics/form/form-component/index.js.map +1 -1
  124. package/src/schematics/form/form-component/schema.d.ts +2 -2
  125. package/src/schematics/form/form-component/schema.json +749 -86
  126. package/src/schematics/form/form-control/index.d.ts +3 -5
  127. package/src/schematics/form/form-control/index.js +8 -20
  128. package/src/schematics/form/form-control/index.js.map +1 -1
  129. package/src/schematics/form/form-control/schema.d.ts +2 -4
  130. package/src/schematics/form/form-control/schema.json +599 -59
  131. package/src/schematics/form/form-control/template.schema.json +1 -2
  132. package/src/schematics/form/form-definition/index.d.ts +2 -2
  133. package/src/schematics/form/form-definition/index.js +28 -15
  134. package/src/schematics/form/form-definition/index.js.map +1 -1
  135. package/src/schematics/form/form-definition/schema.d.ts +2 -2
  136. package/src/schematics/form/form-definition/schema.json +743 -56
  137. package/src/schematics/form/form-group/index.d.ts +9 -0
  138. package/src/schematics/form/form-group/index.js +54 -0
  139. package/src/schematics/form/form-group/index.js.map +1 -0
  140. package/src/schematics/form/form-group/schema.d.ts +4 -0
  141. package/src/schematics/form/form-group/schema.json +906 -0
  142. package/src/schematics/form/form-group/template.schema.json +33 -0
  143. package/src/schematics/form/templates/checkbox-form-control.hbs +1 -1
  144. package/src/schematics/form/templates/default-form-array.hbs +27 -0
  145. package/src/schematics/form/templates/default-form-group.hbs +13 -0
  146. package/src/schematics/form/templates/input-form-control.hbs +7 -7
  147. package/src/schematics/form/templates/select-form-control.hbs +5 -0
  148. package/src/schematics/form/templates/table-select-form-control.hbs +16 -16
  149. package/src/schematics/form-array.schema.json +40 -0
  150. package/src/schematics/form-control.schema.json +69 -54
  151. package/src/schematics/form-definition.schema.json +3 -3
  152. package/src/schematics/form-group.schema.json +40 -0
  153. package/src/schematics/input-form-control.schema.json +10 -6
  154. package/src/schematics/select-form-control.schema.json +8 -4
  155. package/src/schematics/slide-toggle-form-control.schema.json +30 -0
  156. package/src/schematics/table/action/dialog-table-action/schema.json +20 -20
  157. package/src/schematics/table/action/form-table-action/index.d.ts +2 -2
  158. package/src/schematics/table/action/form-table-action/index.js +3 -4
  159. package/src/schematics/table/action/form-table-action/index.js.map +1 -1
  160. package/src/schematics/table/action/form-table-action/schema.d.ts +2 -2
  161. package/src/schematics/table/action/form-table-action/schema.json +750 -87
  162. package/src/schematics/table/action/navigation-table-action/schema.json +20 -20
  163. package/src/schematics/table/action/open-api-table-action/schema.json +20 -20
  164. package/src/schematics/table/action/operation-table-action/schema.json +20 -20
  165. package/src/schematics/table/header-button/form-table-header-button/index.d.ts +2 -2
  166. package/src/schematics/table/header-button/form-table-header-button/index.js +2 -2
  167. package/src/schematics/table/header-button/form-table-header-button/index.js.map +1 -1
  168. package/src/schematics/table/header-button/form-table-header-button/schema.d.ts +2 -2
  169. package/src/schematics/table/header-button/form-table-header-button/schema.json +818 -81
  170. package/src/schematics/table/header-button/form-table-header-button/template.schema.json +4 -22
  171. package/src/schematics/table/header-button/navigation-table-header-button/schema.json +20 -20
  172. package/src/schematics/table/table-action/schema.json +47 -47
  173. package/src/schematics/table/table-component/index.d.ts +2 -2
  174. package/src/schematics/table/table-component/schema.json +537 -79
  175. package/src/schematics/table/table-header-button/schema.json +40 -40
  176. package/src/schematics/table/tree-table-component/files/component/__componentName__.component.html.hbs +1 -1
  177. package/src/schematics/table/tree-table-component/schema.json +521 -63
  178. package/src/schematics/table-select-form-control.schema.json +96 -0
  179. package/src/schematics/textarea-form-control.schema.json +32 -0
  180. package/src/template.schema.json +45 -0
  181. package/src/lib/form-component-control.d.ts +0 -8
  182. package/src/lib/form-component-control.js +0 -15
  183. package/src/lib/form-component-control.js.map +0 -1
  184. package/src/lib/form-control.d.ts +0 -136
  185. package/src/lib/form-control.js +0 -265
  186. package/src/lib/form-control.js.map +0 -1
  187. package/src/lib/form-definition-control.d.ts +0 -5
  188. package/src/lib/form-definition-control.js +0 -30
  189. package/src/lib/form-definition-control.js.map +0 -1
@@ -30,34 +30,94 @@
30
30
  }
31
31
  ],
32
32
  "definitions": {
33
- "treeTable": {
33
+ "abstractControl": {
34
34
  "allOf": [
35
35
  {
36
- "$ref": "#/definitions/minimumTable"
36
+ "$ref": "#/definitions/property"
37
37
  },
38
38
  {
39
39
  "type": "object",
40
40
  "properties": {
41
- "modifiers": {
42
- "alias": "modifier",
41
+ "name": {
42
+ "type": "string",
43
+ "description": "The name of the control"
44
+ },
45
+ "isArray": {
46
+ "type": "boolean",
47
+ "description": "Whether the control value is an array",
48
+ "default": false
49
+ },
50
+ "state": {
51
+ "type": "string",
52
+ "description": "The initial state of the control"
53
+ },
54
+ "isRequired": {
55
+ "type": "boolean",
56
+ "description": "Whether the control value is required",
57
+ "default": false
58
+ },
59
+ "isReadonly": {
60
+ "type": "boolean",
61
+ "description": "Whether the control value is readonly",
62
+ "default": false
63
+ },
64
+ "isDisabled": {
65
+ "type": "boolean",
66
+ "description": "Whether the control value is disabled",
67
+ "default": false
68
+ },
69
+ "validatorList": {
43
70
  "type": "array",
44
71
  "items": {
45
- "type": "string",
46
- "enum": [
47
- "navigation-back-header",
48
- "without-title"
49
- ]
50
- },
51
- "description": "The table modifiers"
72
+ "type": "string"
73
+ }
52
74
  },
53
- "tableRootMethod": {
54
- "$ref": "#/definitions/type"
75
+ "kind": {
76
+ "type": "string",
77
+ "description": "The kind of the control",
78
+ "default": "default"
55
79
  },
56
- "tableChildMethod": {
57
- "$ref": "#/definitions/type"
80
+ "importList": {
81
+ "type": "array",
82
+ "items": {
83
+ "$ref": "#/definitions/type"
84
+ }
85
+ },
86
+ "template": {
87
+ "type": "string",
88
+ "description": "The template of the control"
89
+ },
90
+ "role": {
91
+ "type": "string",
92
+ "description": "The role of the control",
93
+ "enum": [
94
+ "control",
95
+ "group",
96
+ "array"
97
+ ],
98
+ "default": "control"
58
99
  }
59
- }
100
+ },
101
+ "additionalProperties": true
102
+ }
103
+ ]
104
+ },
105
+ "accordionIdentifier": {
106
+ "type": "object",
107
+ "properties": {
108
+ "property": {
109
+ "$ref": "#/definitions/property"
110
+ },
111
+ "source": {
112
+ "type": "string",
113
+ "enum": [
114
+ "route"
115
+ ],
116
+ "default": "route"
60
117
  }
118
+ },
119
+ "required": [
120
+ "property"
61
121
  ]
62
122
  },
63
123
  "accordionItem": {
@@ -157,22 +217,84 @@
157
217
  }
158
218
  ]
159
219
  },
160
- "accordionIdentifier": {
161
- "type": "object",
162
- "properties": {
163
- "property": {
164
- "$ref": "#/definitions/property"
220
+ "autocompleteTableSelectFormControl": {
221
+ "allOf": [
222
+ {
223
+ "$ref": "#/definitions/baseFormControl"
165
224
  },
166
- "source": {
167
- "type": "string",
168
- "enum": [
169
- "route"
170
- ],
171
- "default": "route"
225
+ {
226
+ "type": "object",
227
+ "properties": {
228
+ "formField": {
229
+ "$ref": "#/definitions/formField"
230
+ },
231
+ "kind": {
232
+ "type": "string",
233
+ "const": "table-select"
234
+ },
235
+ "placeholder": {
236
+ "type": "string"
237
+ },
238
+ "columnList": {
239
+ "alias": "column",
240
+ "type": "array",
241
+ "items": {
242
+ "description": "table column name",
243
+ "type": "object",
244
+ "properties": {
245
+ "name": {
246
+ "type": "string",
247
+ "description": "table column name"
248
+ },
249
+ "title": {
250
+ "type": "string",
251
+ "description": "table column label"
252
+ },
253
+ "hasFilter": {
254
+ "type": "boolean",
255
+ "description": "Whether the column has a filter"
256
+ },
257
+ "kind": {
258
+ "type": "string",
259
+ "description": "The kind of data in the column"
260
+ }
261
+ }
262
+ },
263
+ "description": "List of table column names"
264
+ },
265
+ "title": {
266
+ "type": "string",
267
+ "description": "The title of the table select window"
268
+ },
269
+ "toDisplay": {
270
+ "type": "object",
271
+ "properties": {
272
+ "property": {
273
+ "$ref": "#/definitions/property"
274
+ }
275
+ }
276
+ },
277
+ "toValue": {
278
+ "type": "object",
279
+ "properties": {
280
+ "property": {
281
+ "$ref": "#/definitions/property"
282
+ }
283
+ }
284
+ },
285
+ "upstream": {
286
+ "$ref": "#/definitions/upstream"
287
+ },
288
+ "resolver": {
289
+ "type": "object",
290
+ "properties": {
291
+ "upstream": {
292
+ "$ref": "#/definitions/upstream"
293
+ }
294
+ }
295
+ }
296
+ }
172
297
  }
173
- },
174
- "required": [
175
- "property"
176
298
  ]
177
299
  },
178
300
  "backend": {
@@ -186,66 +308,143 @@
186
308
  ],
187
309
  "default": "none"
188
310
  },
189
- "formControl": {
311
+ "baseFormControl": {
312
+ "allOf": [
313
+ {
314
+ "$ref": "#/definitions/abstractControl"
315
+ },
316
+ {
317
+ "type": "object",
318
+ "properties": {
319
+ "label": {
320
+ "type": "string",
321
+ "description": "The label of the control"
322
+ },
323
+ "role": {
324
+ "type": "string",
325
+ "const": "control"
326
+ }
327
+ }
328
+ }
329
+ ]
330
+ },
331
+ "button": {
190
332
  "type": "object",
191
333
  "properties": {
192
- "name": {
193
- "type": "string",
194
- "description": "The name of the control"
334
+ "svgIcon": {
335
+ "type": "string"
195
336
  },
196
- "type": {
197
- "$ref": "#/definitions/type"
337
+ "icon": {
338
+ "type": "string"
198
339
  },
199
- "isArray": {
200
- "type": "boolean",
201
- "description": "Whether the control value is an array",
202
- "default": false
340
+ "directiveList": {
341
+ "type": "array",
342
+ "items": {
343
+ "$ref": "#/definitions/type"
344
+ }
203
345
  },
204
- "state": {
205
- "type": "string",
206
- "description": "The initial state of the control"
346
+ "importList": {
347
+ "type": "array",
348
+ "items": {
349
+ "$ref": "#/definitions/type"
350
+ }
351
+ }
352
+ }
353
+ },
354
+ "checkboxFormControl": {
355
+ "allOf": [
356
+ {
357
+ "$ref": "#/definitions/baseFormControl"
207
358
  },
208
- "isRequired": {
209
- "type": "boolean",
210
- "description": "Whether the control value is required",
211
- "default": false
359
+ {
360
+ "type": "object",
361
+ "properties": {
362
+ "kind": {
363
+ "type": "string",
364
+ "const": "checkbox"
365
+ },
366
+ "labelPosition": {
367
+ "type": "string",
368
+ "enum": [
369
+ "before",
370
+ "after"
371
+ ]
372
+ }
373
+ }
374
+ }
375
+ ]
376
+ },
377
+ "formControl": {
378
+ "allOf": [
379
+ {
380
+ "type": "object",
381
+ "properties": {
382
+ "role": {
383
+ "type": "string",
384
+ "const": "control",
385
+ "default": "control"
386
+ }
387
+ }
212
388
  },
213
- "isReadonly": {
214
- "type": "boolean",
215
- "description": "Whether the control value is readonly",
216
- "default": false
389
+ {
390
+ "oneOf": [
391
+ {
392
+ "allOf": [
393
+ {
394
+ "$ref": "#/definitions/baseFormControl"
395
+ },
396
+ {
397
+ "type": "object",
398
+ "properties": {
399
+ "kind": {
400
+ "type": "string",
401
+ "const": "default"
402
+ }
403
+ }
404
+ }
405
+ ]
406
+ },
407
+ {
408
+ "$ref": "#/definitions/inputFormControl"
409
+ },
410
+ {
411
+ "$ref": "#/definitions/selectFormControl"
412
+ },
413
+ {
414
+ "$ref": "#/definitions/checkboxFormControl"
415
+ },
416
+ {
417
+ "$ref": "#/definitions/textareaFormControl"
418
+ },
419
+ {
420
+ "$ref": "#/definitions/tableSelectFormControl"
421
+ },
422
+ {
423
+ "$ref": "#/definitions/slideToggleFormControl"
424
+ },
425
+ {
426
+ "$ref": "#/definitions/autocompleteTableSelectFormControl"
427
+ }
428
+ ]
429
+ }
430
+ ]
431
+ },
432
+ "formField": {
433
+ "type": "object",
434
+ "properties": {
435
+ "label": {
436
+ "type": "string"
217
437
  },
218
- "isDisabled": {
219
- "type": "boolean",
220
- "description": "Whether the control value is disabled",
221
- "default": false
438
+ "prefixButton": {
439
+ "$ref": "#/definitions/button"
222
440
  },
223
- "validatorList": {
224
- "type": "array",
225
- "items": {
226
- "type": "string"
227
- }
441
+ "suffixButton": {
442
+ "$ref": "#/definitions/button"
228
443
  },
229
- "kind": {
230
- "type": "string",
231
- "description": "The name of the template",
232
- "enum": [
233
- "default",
234
- "input",
235
- "select",
236
- "checkbox",
237
- "autocomplete-table-select",
238
- "table-select",
239
- "textarea",
240
- "slide-toggle"
241
- ],
242
- "default": "default"
444
+ "hasClearButton": {
445
+ "type": "boolean"
243
446
  }
244
- },
245
- "required": [
246
- "name"
247
- ],
248
- "additionalProperties": true
447
+ }
249
448
  },
250
449
  "general": {
251
450
  "type": "object",
@@ -323,6 +522,55 @@
323
522
  }
324
523
  }
325
524
  },
525
+ "inputFormControl": {
526
+ "allOf": [
527
+ {
528
+ "$ref": "#/definitions/baseFormControl"
529
+ },
530
+ {
531
+ "type": "object",
532
+ "properties": {
533
+ "kind": {
534
+ "type": "string",
535
+ "const": "input"
536
+ },
537
+ "formField": {
538
+ "$ref": "#/definitions/formField"
539
+ },
540
+ "inputType": {
541
+ "type": "string",
542
+ "enum": [
543
+ "text",
544
+ "password",
545
+ "email",
546
+ "number",
547
+ "tel",
548
+ "url",
549
+ "checkbox",
550
+ "color",
551
+ "date",
552
+ "time",
553
+ "datetime-local",
554
+ "file",
555
+ "hidden",
556
+ "image",
557
+ "month",
558
+ "radio",
559
+ "reset",
560
+ "button",
561
+ "search",
562
+ "submit",
563
+ "week",
564
+ "range"
565
+ ]
566
+ },
567
+ "placeholder": {
568
+ "type": "string"
569
+ }
570
+ }
571
+ }
572
+ ]
573
+ },
326
574
  "minimumTable": {
327
575
  "type": "object",
328
576
  "properties": {
@@ -416,6 +664,84 @@
416
664
  }
417
665
  ]
418
666
  },
667
+ "selectFormControl": {
668
+ "allOf": [
669
+ {
670
+ "$ref": "#/definitions/baseFormControl"
671
+ },
672
+ {
673
+ "type": "object",
674
+ "properties": {
675
+ "formField": {
676
+ "$ref": "#/definitions/formField"
677
+ },
678
+ "kind": {
679
+ "type": "string",
680
+ "const": "select"
681
+ },
682
+ "optionList": {
683
+ "type": "array",
684
+ "items": {
685
+ "type": "object",
686
+ "properties": {
687
+ "display": {
688
+ "type": "string"
689
+ },
690
+ "value": {
691
+ "oneOf": [
692
+ {
693
+ "type": "string"
694
+ },
695
+ {
696
+ "type": "number"
697
+ },
698
+ {
699
+ "type": "boolean"
700
+ },
701
+ {
702
+ "type": "object",
703
+ "additionalProperties": true
704
+ }
705
+ ]
706
+ }
707
+ }
708
+ }
709
+ },
710
+ "backend": {
711
+ "$ref": "#/definitions/backend"
712
+ },
713
+ "multiple": {
714
+ "alias": "multi",
715
+ "type": "boolean",
716
+ "description": "Whether the select form control is multiple mode"
717
+ }
718
+ }
719
+ }
720
+ ]
721
+ },
722
+ "slideToggleFormControl": {
723
+ "allOf": [
724
+ {
725
+ "$ref": "#/definitions/baseFormControl"
726
+ },
727
+ {
728
+ "type": "object",
729
+ "properties": {
730
+ "kind": {
731
+ "type": "string",
732
+ "const": "slide-toggle"
733
+ },
734
+ "labelPosition": {
735
+ "type": "string",
736
+ "enum": [
737
+ "before",
738
+ "after"
739
+ ]
740
+ }
741
+ }
742
+ }
743
+ ]
744
+ },
419
745
  "tableAction": {
420
746
  "type": "object",
421
747
  "properties": {
@@ -537,6 +863,138 @@
537
863
  "name"
538
864
  ]
539
865
  },
866
+ "tableSelectFormControl": {
867
+ "allOf": [
868
+ {
869
+ "$ref": "#/definitions/baseFormControl"
870
+ },
871
+ {
872
+ "type": "object",
873
+ "properties": {
874
+ "formField": {
875
+ "$ref": "#/definitions/formField"
876
+ },
877
+ "kind": {
878
+ "type": "string",
879
+ "const": "table-select"
880
+ },
881
+ "placeholder": {
882
+ "type": "string"
883
+ },
884
+ "columnList": {
885
+ "alias": "column",
886
+ "type": "array",
887
+ "items": {
888
+ "description": "table column name",
889
+ "type": "object",
890
+ "properties": {
891
+ "name": {
892
+ "type": "string",
893
+ "description": "table column name"
894
+ },
895
+ "title": {
896
+ "type": "string",
897
+ "description": "table column label"
898
+ },
899
+ "hasFilter": {
900
+ "type": "boolean",
901
+ "description": "Whether the column has a filter"
902
+ },
903
+ "kind": {
904
+ "type": "string",
905
+ "description": "The kind of data in the column"
906
+ }
907
+ }
908
+ },
909
+ "description": "List of table column names"
910
+ },
911
+ "title": {
912
+ "type": "string",
913
+ "description": "The title of the table select window"
914
+ },
915
+ "toDisplay": {
916
+ "type": "object",
917
+ "properties": {
918
+ "property": {
919
+ "$ref": "#/definitions/property"
920
+ }
921
+ }
922
+ },
923
+ "toValue": {
924
+ "type": "object",
925
+ "properties": {
926
+ "property": {
927
+ "$ref": "#/definitions/property"
928
+ }
929
+ }
930
+ },
931
+ "upstream": {
932
+ "$ref": "#/definitions/upstream"
933
+ },
934
+ "resolver": {
935
+ "type": "object",
936
+ "properties": {
937
+ "upstream": {
938
+ "$ref": "#/definitions/upstream"
939
+ }
940
+ }
941
+ }
942
+ }
943
+ }
944
+ ]
945
+ },
946
+ "textareaFormControl": {
947
+ "allOf": [
948
+ {
949
+ "$ref": "#/definitions/baseFormControl"
950
+ },
951
+ {
952
+ "type": "object",
953
+ "properties": {
954
+ "formField": {
955
+ "$ref": "#/definitions/formField"
956
+ },
957
+ "kind": {
958
+ "type": "string",
959
+ "const": "textarea"
960
+ },
961
+ "placeholder": {
962
+ "type": "string"
963
+ }
964
+ }
965
+ }
966
+ ]
967
+ },
968
+ "treeTable": {
969
+ "allOf": [
970
+ {
971
+ "$ref": "#/definitions/minimumTable"
972
+ },
973
+ {
974
+ "type": "object",
975
+ "properties": {
976
+ "modifiers": {
977
+ "alias": "modifier",
978
+ "type": "array",
979
+ "items": {
980
+ "type": "string",
981
+ "enum": [
982
+ "navigation-back-header",
983
+ "without-title"
984
+ ]
985
+ },
986
+ "description": "The table modifiers"
987
+ },
988
+ "tableRootMethod": {
989
+ "$ref": "#/definitions/type"
990
+ },
991
+ "tableChildMethod": {
992
+ "$ref": "#/definitions/type"
993
+ }
994
+ }
995
+ }
996
+ ]
997
+ },
540
998
  "type": {
541
999
  "oneOf": [
542
1000
  {