@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,6 +30,96 @@
30
30
  }
31
31
  ],
32
32
  "definitions": {
33
+ "abstractControl": {
34
+ "allOf": [
35
+ {
36
+ "$ref": "#/definitions/property"
37
+ },
38
+ {
39
+ "type": "object",
40
+ "properties": {
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": {
70
+ "type": "array",
71
+ "items": {
72
+ "type": "string"
73
+ }
74
+ },
75
+ "kind": {
76
+ "type": "string",
77
+ "description": "The kind of the control",
78
+ "default": "default"
79
+ },
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"
99
+ }
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"
117
+ }
118
+ },
119
+ "required": [
120
+ "property"
121
+ ]
122
+ },
33
123
  "accordionItem": {
34
124
  "type": "object",
35
125
  "properties": {
@@ -127,71 +217,86 @@
127
217
  }
128
218
  ]
129
219
  },
130
- "table": {
220
+ "autocompleteTableSelectFormControl": {
131
221
  "allOf": [
132
222
  {
133
- "$ref": "#/definitions/minimumTable"
223
+ "$ref": "#/definitions/baseFormControl"
134
224
  },
135
225
  {
136
226
  "type": "object",
137
227
  "properties": {
138
- "tableMethod": {
139
- "$ref": "#/definitions/type"
228
+ "formField": {
229
+ "$ref": "#/definitions/formField"
140
230
  },
141
- "openApi": {
142
- "type": "object",
143
- "properties": {
144
- "operationId": {
145
- "type": "string",
146
- "description": "The operationId for the open api operation"
147
- },
148
- "adapter": {
149
- "$ref": "#/definitions/type"
150
- }
151
- },
152
- "required": [
153
- "operationId"
154
- ]
231
+ "kind": {
232
+ "type": "string",
233
+ "const": "table-select"
155
234
  },
156
- "modifiers": {
157
- "alias": "modifier",
235
+ "placeholder": {
236
+ "type": "string"
237
+ },
238
+ "columnList": {
239
+ "alias": "column",
158
240
  "type": "array",
159
241
  "items": {
160
- "type": "string",
161
- "enum": [
162
- "navigation-back-header",
163
- "without-title",
164
- "show-archived-slide"
165
- ]
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
+ }
166
262
  },
167
- "description": "The table modifiers"
263
+ "description": "List of table column names"
168
264
  },
169
- "selectColumn": {
170
- "type": "boolean",
171
- "description": "Whether to add a select column to the table"
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
+ }
172
295
  }
173
296
  }
174
297
  }
175
298
  ]
176
299
  },
177
- "accordionIdentifier": {
178
- "type": "object",
179
- "properties": {
180
- "property": {
181
- "$ref": "#/definitions/property"
182
- },
183
- "source": {
184
- "type": "string",
185
- "enum": [
186
- "route"
187
- ],
188
- "default": "route"
189
- }
190
- },
191
- "required": [
192
- "property"
193
- ]
194
- },
195
300
  "backend": {
196
301
  "type": "string",
197
302
  "description": "The backend that should be used to handel data",
@@ -203,66 +308,143 @@
203
308
  ],
204
309
  "default": "none"
205
310
  },
206
- "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": {
207
332
  "type": "object",
208
333
  "properties": {
209
- "name": {
210
- "type": "string",
211
- "description": "The name of the control"
334
+ "svgIcon": {
335
+ "type": "string"
212
336
  },
213
- "type": {
214
- "$ref": "#/definitions/type"
337
+ "icon": {
338
+ "type": "string"
215
339
  },
216
- "isArray": {
217
- "type": "boolean",
218
- "description": "Whether the control value is an array",
219
- "default": false
340
+ "directiveList": {
341
+ "type": "array",
342
+ "items": {
343
+ "$ref": "#/definitions/type"
344
+ }
220
345
  },
221
- "state": {
222
- "type": "string",
223
- "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"
224
358
  },
225
- "isRequired": {
226
- "type": "boolean",
227
- "description": "Whether the control value is required",
228
- "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
+ }
229
388
  },
230
- "isReadonly": {
231
- "type": "boolean",
232
- "description": "Whether the control value is readonly",
233
- "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"
234
437
  },
235
- "isDisabled": {
236
- "type": "boolean",
237
- "description": "Whether the control value is disabled",
238
- "default": false
438
+ "prefixButton": {
439
+ "$ref": "#/definitions/button"
239
440
  },
240
- "validatorList": {
241
- "type": "array",
242
- "items": {
243
- "type": "string"
244
- }
441
+ "suffixButton": {
442
+ "$ref": "#/definitions/button"
245
443
  },
246
- "kind": {
247
- "type": "string",
248
- "description": "The name of the template",
249
- "enum": [
250
- "default",
251
- "input",
252
- "select",
253
- "checkbox",
254
- "autocomplete-table-select",
255
- "table-select",
256
- "textarea",
257
- "slide-toggle"
258
- ],
259
- "default": "default"
444
+ "hasClearButton": {
445
+ "type": "boolean"
260
446
  }
261
- },
262
- "required": [
263
- "name"
264
- ],
265
- "additionalProperties": true
447
+ }
266
448
  },
267
449
  "general": {
268
450
  "type": "object",
@@ -340,6 +522,55 @@
340
522
  }
341
523
  }
342
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
+ },
343
574
  "minimumTable": {
344
575
  "type": "object",
345
576
  "properties": {
@@ -433,6 +664,131 @@
433
664
  }
434
665
  ]
435
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
+ },
745
+ "table": {
746
+ "allOf": [
747
+ {
748
+ "$ref": "#/definitions/minimumTable"
749
+ },
750
+ {
751
+ "type": "object",
752
+ "properties": {
753
+ "tableMethod": {
754
+ "$ref": "#/definitions/type"
755
+ },
756
+ "openApi": {
757
+ "type": "object",
758
+ "properties": {
759
+ "operationId": {
760
+ "type": "string",
761
+ "description": "The operationId for the open api operation"
762
+ },
763
+ "adapter": {
764
+ "$ref": "#/definitions/type"
765
+ }
766
+ },
767
+ "required": [
768
+ "operationId"
769
+ ]
770
+ },
771
+ "modifiers": {
772
+ "alias": "modifier",
773
+ "type": "array",
774
+ "items": {
775
+ "type": "string",
776
+ "enum": [
777
+ "navigation-back-header",
778
+ "without-title",
779
+ "show-archived-slide"
780
+ ]
781
+ },
782
+ "description": "The table modifiers"
783
+ },
784
+ "selectColumn": {
785
+ "type": "boolean",
786
+ "description": "Whether to add a select column to the table"
787
+ }
788
+ }
789
+ }
790
+ ]
791
+ },
436
792
  "tableAction": {
437
793
  "type": "object",
438
794
  "properties": {
@@ -554,6 +910,108 @@
554
910
  "name"
555
911
  ]
556
912
  },
913
+ "tableSelectFormControl": {
914
+ "allOf": [
915
+ {
916
+ "$ref": "#/definitions/baseFormControl"
917
+ },
918
+ {
919
+ "type": "object",
920
+ "properties": {
921
+ "formField": {
922
+ "$ref": "#/definitions/formField"
923
+ },
924
+ "kind": {
925
+ "type": "string",
926
+ "const": "table-select"
927
+ },
928
+ "placeholder": {
929
+ "type": "string"
930
+ },
931
+ "columnList": {
932
+ "alias": "column",
933
+ "type": "array",
934
+ "items": {
935
+ "description": "table column name",
936
+ "type": "object",
937
+ "properties": {
938
+ "name": {
939
+ "type": "string",
940
+ "description": "table column name"
941
+ },
942
+ "title": {
943
+ "type": "string",
944
+ "description": "table column label"
945
+ },
946
+ "hasFilter": {
947
+ "type": "boolean",
948
+ "description": "Whether the column has a filter"
949
+ },
950
+ "kind": {
951
+ "type": "string",
952
+ "description": "The kind of data in the column"
953
+ }
954
+ }
955
+ },
956
+ "description": "List of table column names"
957
+ },
958
+ "title": {
959
+ "type": "string",
960
+ "description": "The title of the table select window"
961
+ },
962
+ "toDisplay": {
963
+ "type": "object",
964
+ "properties": {
965
+ "property": {
966
+ "$ref": "#/definitions/property"
967
+ }
968
+ }
969
+ },
970
+ "toValue": {
971
+ "type": "object",
972
+ "properties": {
973
+ "property": {
974
+ "$ref": "#/definitions/property"
975
+ }
976
+ }
977
+ },
978
+ "upstream": {
979
+ "$ref": "#/definitions/upstream"
980
+ },
981
+ "resolver": {
982
+ "type": "object",
983
+ "properties": {
984
+ "upstream": {
985
+ "$ref": "#/definitions/upstream"
986
+ }
987
+ }
988
+ }
989
+ }
990
+ }
991
+ ]
992
+ },
993
+ "textareaFormControl": {
994
+ "allOf": [
995
+ {
996
+ "$ref": "#/definitions/baseFormControl"
997
+ },
998
+ {
999
+ "type": "object",
1000
+ "properties": {
1001
+ "formField": {
1002
+ "$ref": "#/definitions/formField"
1003
+ },
1004
+ "kind": {
1005
+ "type": "string",
1006
+ "const": "textarea"
1007
+ },
1008
+ "placeholder": {
1009
+ "type": "string"
1010
+ }
1011
+ }
1012
+ }
1013
+ ]
1014
+ },
557
1015
  "type": {
558
1016
  "oneOf": [
559
1017
  {