@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
@@ -10,6 +10,78 @@
10
10
  }
11
11
  ],
12
12
  "definitions": {
13
+ "abstractControl": {
14
+ "allOf": [
15
+ {
16
+ "$ref": "#/definitions/property"
17
+ },
18
+ {
19
+ "type": "object",
20
+ "properties": {
21
+ "name": {
22
+ "type": "string",
23
+ "description": "The name of the control"
24
+ },
25
+ "isArray": {
26
+ "type": "boolean",
27
+ "description": "Whether the control value is an array",
28
+ "default": false
29
+ },
30
+ "state": {
31
+ "type": "string",
32
+ "description": "The initial state of the control"
33
+ },
34
+ "isRequired": {
35
+ "type": "boolean",
36
+ "description": "Whether the control value is required",
37
+ "default": false
38
+ },
39
+ "isReadonly": {
40
+ "type": "boolean",
41
+ "description": "Whether the control value is readonly",
42
+ "default": false
43
+ },
44
+ "isDisabled": {
45
+ "type": "boolean",
46
+ "description": "Whether the control value is disabled",
47
+ "default": false
48
+ },
49
+ "validatorList": {
50
+ "type": "array",
51
+ "items": {
52
+ "type": "string"
53
+ }
54
+ },
55
+ "kind": {
56
+ "type": "string",
57
+ "description": "The kind of the control",
58
+ "default": "default"
59
+ },
60
+ "importList": {
61
+ "type": "array",
62
+ "items": {
63
+ "$ref": "#/definitions/type"
64
+ }
65
+ },
66
+ "template": {
67
+ "type": "string",
68
+ "description": "The template of the control"
69
+ },
70
+ "role": {
71
+ "type": "string",
72
+ "description": "The role of the control",
73
+ "enum": [
74
+ "control",
75
+ "group",
76
+ "array"
77
+ ],
78
+ "default": "control"
79
+ }
80
+ },
81
+ "additionalProperties": true
82
+ }
83
+ ]
84
+ },
13
85
  "angular": {
14
86
  "allOf": [
15
87
  {
@@ -61,48 +133,81 @@
61
133
  }
62
134
  ]
63
135
  },
64
- "table": {
136
+ "autocompleteTableSelectFormControl": {
65
137
  "allOf": [
66
138
  {
67
- "$ref": "#/definitions/minimumTable"
139
+ "$ref": "#/definitions/baseFormControl"
68
140
  },
69
141
  {
70
142
  "type": "object",
71
143
  "properties": {
72
- "tableMethod": {
73
- "$ref": "#/definitions/type"
144
+ "formField": {
145
+ "$ref": "#/definitions/formField"
74
146
  },
75
- "openApi": {
76
- "type": "object",
77
- "properties": {
78
- "operationId": {
79
- "type": "string",
80
- "description": "The operationId for the open api operation"
81
- },
82
- "adapter": {
83
- "$ref": "#/definitions/type"
84
- }
85
- },
86
- "required": [
87
- "operationId"
88
- ]
147
+ "kind": {
148
+ "type": "string",
149
+ "const": "table-select"
89
150
  },
90
- "modifiers": {
91
- "alias": "modifier",
151
+ "placeholder": {
152
+ "type": "string"
153
+ },
154
+ "columnList": {
155
+ "alias": "column",
92
156
  "type": "array",
93
157
  "items": {
94
- "type": "string",
95
- "enum": [
96
- "navigation-back-header",
97
- "without-title",
98
- "show-archived-slide"
99
- ]
158
+ "description": "table column name",
159
+ "type": "object",
160
+ "properties": {
161
+ "name": {
162
+ "type": "string",
163
+ "description": "table column name"
164
+ },
165
+ "title": {
166
+ "type": "string",
167
+ "description": "table column label"
168
+ },
169
+ "hasFilter": {
170
+ "type": "boolean",
171
+ "description": "Whether the column has a filter"
172
+ },
173
+ "kind": {
174
+ "type": "string",
175
+ "description": "The kind of data in the column"
176
+ }
177
+ }
100
178
  },
101
- "description": "The table modifiers"
179
+ "description": "List of table column names"
102
180
  },
103
- "selectColumn": {
104
- "type": "boolean",
105
- "description": "Whether to add a select column to the table"
181
+ "title": {
182
+ "type": "string",
183
+ "description": "The title of the table select window"
184
+ },
185
+ "toDisplay": {
186
+ "type": "object",
187
+ "properties": {
188
+ "property": {
189
+ "$ref": "#/definitions/property"
190
+ }
191
+ }
192
+ },
193
+ "toValue": {
194
+ "type": "object",
195
+ "properties": {
196
+ "property": {
197
+ "$ref": "#/definitions/property"
198
+ }
199
+ }
200
+ },
201
+ "upstream": {
202
+ "$ref": "#/definitions/upstream"
203
+ },
204
+ "resolver": {
205
+ "type": "object",
206
+ "properties": {
207
+ "upstream": {
208
+ "$ref": "#/definitions/upstream"
209
+ }
210
+ }
106
211
  }
107
212
  }
108
213
  }
@@ -119,66 +224,143 @@
119
224
  ],
120
225
  "default": "none"
121
226
  },
122
- "formControl": {
227
+ "baseFormControl": {
228
+ "allOf": [
229
+ {
230
+ "$ref": "#/definitions/abstractControl"
231
+ },
232
+ {
233
+ "type": "object",
234
+ "properties": {
235
+ "label": {
236
+ "type": "string",
237
+ "description": "The label of the control"
238
+ },
239
+ "role": {
240
+ "type": "string",
241
+ "const": "control"
242
+ }
243
+ }
244
+ }
245
+ ]
246
+ },
247
+ "button": {
123
248
  "type": "object",
124
249
  "properties": {
125
- "name": {
126
- "type": "string",
127
- "description": "The name of the control"
250
+ "svgIcon": {
251
+ "type": "string"
128
252
  },
129
- "type": {
130
- "$ref": "#/definitions/type"
253
+ "icon": {
254
+ "type": "string"
131
255
  },
132
- "isArray": {
133
- "type": "boolean",
134
- "description": "Whether the control value is an array",
135
- "default": false
256
+ "directiveList": {
257
+ "type": "array",
258
+ "items": {
259
+ "$ref": "#/definitions/type"
260
+ }
136
261
  },
137
- "state": {
138
- "type": "string",
139
- "description": "The initial state of the control"
262
+ "importList": {
263
+ "type": "array",
264
+ "items": {
265
+ "$ref": "#/definitions/type"
266
+ }
267
+ }
268
+ }
269
+ },
270
+ "checkboxFormControl": {
271
+ "allOf": [
272
+ {
273
+ "$ref": "#/definitions/baseFormControl"
140
274
  },
141
- "isRequired": {
142
- "type": "boolean",
143
- "description": "Whether the control value is required",
144
- "default": false
275
+ {
276
+ "type": "object",
277
+ "properties": {
278
+ "kind": {
279
+ "type": "string",
280
+ "const": "checkbox"
281
+ },
282
+ "labelPosition": {
283
+ "type": "string",
284
+ "enum": [
285
+ "before",
286
+ "after"
287
+ ]
288
+ }
289
+ }
290
+ }
291
+ ]
292
+ },
293
+ "formControl": {
294
+ "allOf": [
295
+ {
296
+ "type": "object",
297
+ "properties": {
298
+ "role": {
299
+ "type": "string",
300
+ "const": "control",
301
+ "default": "control"
302
+ }
303
+ }
145
304
  },
146
- "isReadonly": {
147
- "type": "boolean",
148
- "description": "Whether the control value is readonly",
149
- "default": false
305
+ {
306
+ "oneOf": [
307
+ {
308
+ "allOf": [
309
+ {
310
+ "$ref": "#/definitions/baseFormControl"
311
+ },
312
+ {
313
+ "type": "object",
314
+ "properties": {
315
+ "kind": {
316
+ "type": "string",
317
+ "const": "default"
318
+ }
319
+ }
320
+ }
321
+ ]
322
+ },
323
+ {
324
+ "$ref": "#/definitions/inputFormControl"
325
+ },
326
+ {
327
+ "$ref": "#/definitions/selectFormControl"
328
+ },
329
+ {
330
+ "$ref": "#/definitions/checkboxFormControl"
331
+ },
332
+ {
333
+ "$ref": "#/definitions/textareaFormControl"
334
+ },
335
+ {
336
+ "$ref": "#/definitions/tableSelectFormControl"
337
+ },
338
+ {
339
+ "$ref": "#/definitions/slideToggleFormControl"
340
+ },
341
+ {
342
+ "$ref": "#/definitions/autocompleteTableSelectFormControl"
343
+ }
344
+ ]
345
+ }
346
+ ]
347
+ },
348
+ "formField": {
349
+ "type": "object",
350
+ "properties": {
351
+ "label": {
352
+ "type": "string"
150
353
  },
151
- "isDisabled": {
152
- "type": "boolean",
153
- "description": "Whether the control value is disabled",
154
- "default": false
354
+ "prefixButton": {
355
+ "$ref": "#/definitions/button"
155
356
  },
156
- "validatorList": {
157
- "type": "array",
158
- "items": {
159
- "type": "string"
160
- }
357
+ "suffixButton": {
358
+ "$ref": "#/definitions/button"
161
359
  },
162
- "kind": {
163
- "type": "string",
164
- "description": "The name of the template",
165
- "enum": [
166
- "default",
167
- "input",
168
- "select",
169
- "checkbox",
170
- "autocomplete-table-select",
171
- "table-select",
172
- "textarea",
173
- "slide-toggle"
174
- ],
175
- "default": "default"
360
+ "hasClearButton": {
361
+ "type": "boolean"
176
362
  }
177
- },
178
- "required": [
179
- "name"
180
- ],
181
- "additionalProperties": true
363
+ }
182
364
  },
183
365
  "general": {
184
366
  "type": "object",
@@ -256,6 +438,55 @@
256
438
  }
257
439
  }
258
440
  },
441
+ "inputFormControl": {
442
+ "allOf": [
443
+ {
444
+ "$ref": "#/definitions/baseFormControl"
445
+ },
446
+ {
447
+ "type": "object",
448
+ "properties": {
449
+ "kind": {
450
+ "type": "string",
451
+ "const": "input"
452
+ },
453
+ "formField": {
454
+ "$ref": "#/definitions/formField"
455
+ },
456
+ "inputType": {
457
+ "type": "string",
458
+ "enum": [
459
+ "text",
460
+ "password",
461
+ "email",
462
+ "number",
463
+ "tel",
464
+ "url",
465
+ "checkbox",
466
+ "color",
467
+ "date",
468
+ "time",
469
+ "datetime-local",
470
+ "file",
471
+ "hidden",
472
+ "image",
473
+ "month",
474
+ "radio",
475
+ "reset",
476
+ "button",
477
+ "search",
478
+ "submit",
479
+ "week",
480
+ "range"
481
+ ]
482
+ },
483
+ "placeholder": {
484
+ "type": "string"
485
+ }
486
+ }
487
+ }
488
+ ]
489
+ },
259
490
  "minimumTable": {
260
491
  "type": "object",
261
492
  "properties": {
@@ -349,6 +580,131 @@
349
580
  }
350
581
  ]
351
582
  },
583
+ "selectFormControl": {
584
+ "allOf": [
585
+ {
586
+ "$ref": "#/definitions/baseFormControl"
587
+ },
588
+ {
589
+ "type": "object",
590
+ "properties": {
591
+ "formField": {
592
+ "$ref": "#/definitions/formField"
593
+ },
594
+ "kind": {
595
+ "type": "string",
596
+ "const": "select"
597
+ },
598
+ "optionList": {
599
+ "type": "array",
600
+ "items": {
601
+ "type": "object",
602
+ "properties": {
603
+ "display": {
604
+ "type": "string"
605
+ },
606
+ "value": {
607
+ "oneOf": [
608
+ {
609
+ "type": "string"
610
+ },
611
+ {
612
+ "type": "number"
613
+ },
614
+ {
615
+ "type": "boolean"
616
+ },
617
+ {
618
+ "type": "object",
619
+ "additionalProperties": true
620
+ }
621
+ ]
622
+ }
623
+ }
624
+ }
625
+ },
626
+ "backend": {
627
+ "$ref": "#/definitions/backend"
628
+ },
629
+ "multiple": {
630
+ "alias": "multi",
631
+ "type": "boolean",
632
+ "description": "Whether the select form control is multiple mode"
633
+ }
634
+ }
635
+ }
636
+ ]
637
+ },
638
+ "slideToggleFormControl": {
639
+ "allOf": [
640
+ {
641
+ "$ref": "#/definitions/baseFormControl"
642
+ },
643
+ {
644
+ "type": "object",
645
+ "properties": {
646
+ "kind": {
647
+ "type": "string",
648
+ "const": "slide-toggle"
649
+ },
650
+ "labelPosition": {
651
+ "type": "string",
652
+ "enum": [
653
+ "before",
654
+ "after"
655
+ ]
656
+ }
657
+ }
658
+ }
659
+ ]
660
+ },
661
+ "table": {
662
+ "allOf": [
663
+ {
664
+ "$ref": "#/definitions/minimumTable"
665
+ },
666
+ {
667
+ "type": "object",
668
+ "properties": {
669
+ "tableMethod": {
670
+ "$ref": "#/definitions/type"
671
+ },
672
+ "openApi": {
673
+ "type": "object",
674
+ "properties": {
675
+ "operationId": {
676
+ "type": "string",
677
+ "description": "The operationId for the open api operation"
678
+ },
679
+ "adapter": {
680
+ "$ref": "#/definitions/type"
681
+ }
682
+ },
683
+ "required": [
684
+ "operationId"
685
+ ]
686
+ },
687
+ "modifiers": {
688
+ "alias": "modifier",
689
+ "type": "array",
690
+ "items": {
691
+ "type": "string",
692
+ "enum": [
693
+ "navigation-back-header",
694
+ "without-title",
695
+ "show-archived-slide"
696
+ ]
697
+ },
698
+ "description": "The table modifiers"
699
+ },
700
+ "selectColumn": {
701
+ "type": "boolean",
702
+ "description": "Whether to add a select column to the table"
703
+ }
704
+ }
705
+ }
706
+ ]
707
+ },
352
708
  "tableAction": {
353
709
  "type": "object",
354
710
  "properties": {
@@ -470,6 +826,108 @@
470
826
  "name"
471
827
  ]
472
828
  },
829
+ "tableSelectFormControl": {
830
+ "allOf": [
831
+ {
832
+ "$ref": "#/definitions/baseFormControl"
833
+ },
834
+ {
835
+ "type": "object",
836
+ "properties": {
837
+ "formField": {
838
+ "$ref": "#/definitions/formField"
839
+ },
840
+ "kind": {
841
+ "type": "string",
842
+ "const": "table-select"
843
+ },
844
+ "placeholder": {
845
+ "type": "string"
846
+ },
847
+ "columnList": {
848
+ "alias": "column",
849
+ "type": "array",
850
+ "items": {
851
+ "description": "table column name",
852
+ "type": "object",
853
+ "properties": {
854
+ "name": {
855
+ "type": "string",
856
+ "description": "table column name"
857
+ },
858
+ "title": {
859
+ "type": "string",
860
+ "description": "table column label"
861
+ },
862
+ "hasFilter": {
863
+ "type": "boolean",
864
+ "description": "Whether the column has a filter"
865
+ },
866
+ "kind": {
867
+ "type": "string",
868
+ "description": "The kind of data in the column"
869
+ }
870
+ }
871
+ },
872
+ "description": "List of table column names"
873
+ },
874
+ "title": {
875
+ "type": "string",
876
+ "description": "The title of the table select window"
877
+ },
878
+ "toDisplay": {
879
+ "type": "object",
880
+ "properties": {
881
+ "property": {
882
+ "$ref": "#/definitions/property"
883
+ }
884
+ }
885
+ },
886
+ "toValue": {
887
+ "type": "object",
888
+ "properties": {
889
+ "property": {
890
+ "$ref": "#/definitions/property"
891
+ }
892
+ }
893
+ },
894
+ "upstream": {
895
+ "$ref": "#/definitions/upstream"
896
+ },
897
+ "resolver": {
898
+ "type": "object",
899
+ "properties": {
900
+ "upstream": {
901
+ "$ref": "#/definitions/upstream"
902
+ }
903
+ }
904
+ }
905
+ }
906
+ }
907
+ ]
908
+ },
909
+ "textareaFormControl": {
910
+ "allOf": [
911
+ {
912
+ "$ref": "#/definitions/baseFormControl"
913
+ },
914
+ {
915
+ "type": "object",
916
+ "properties": {
917
+ "formField": {
918
+ "$ref": "#/definitions/formField"
919
+ },
920
+ "kind": {
921
+ "type": "string",
922
+ "const": "textarea"
923
+ },
924
+ "placeholder": {
925
+ "type": "string"
926
+ }
927
+ }
928
+ }
929
+ ]
930
+ },
473
931
  "type": {
474
932
  "oneOf": [
475
933
  {