@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
@@ -14,8 +14,7 @@
14
14
  "formName": {
15
15
  "alias": "form",
16
16
  "type": "string",
17
- "description": "The name of the form where the form control should be added",
18
- "x-prompt": "Enter the name of the form where the form control should be added"
17
+ "description": "The name of the form where the form control should be added"
19
18
  }
20
19
  },
21
20
  "required": [
@@ -24,6 +23,78 @@
24
23
  }
25
24
  ],
26
25
  "definitions": {
26
+ "abstractControl": {
27
+ "allOf": [
28
+ {
29
+ "$ref": "#/definitions/property"
30
+ },
31
+ {
32
+ "type": "object",
33
+ "properties": {
34
+ "name": {
35
+ "type": "string",
36
+ "description": "The name of the control"
37
+ },
38
+ "isArray": {
39
+ "type": "boolean",
40
+ "description": "Whether the control value is an array",
41
+ "default": false
42
+ },
43
+ "state": {
44
+ "type": "string",
45
+ "description": "The initial state of the control"
46
+ },
47
+ "isRequired": {
48
+ "type": "boolean",
49
+ "description": "Whether the control value is required",
50
+ "default": false
51
+ },
52
+ "isReadonly": {
53
+ "type": "boolean",
54
+ "description": "Whether the control value is readonly",
55
+ "default": false
56
+ },
57
+ "isDisabled": {
58
+ "type": "boolean",
59
+ "description": "Whether the control value is disabled",
60
+ "default": false
61
+ },
62
+ "validatorList": {
63
+ "type": "array",
64
+ "items": {
65
+ "type": "string"
66
+ }
67
+ },
68
+ "kind": {
69
+ "type": "string",
70
+ "description": "The kind of the control",
71
+ "default": "default"
72
+ },
73
+ "importList": {
74
+ "type": "array",
75
+ "items": {
76
+ "$ref": "#/definitions/type"
77
+ }
78
+ },
79
+ "template": {
80
+ "type": "string",
81
+ "description": "The template of the control"
82
+ },
83
+ "role": {
84
+ "type": "string",
85
+ "description": "The role of the control",
86
+ "enum": [
87
+ "control",
88
+ "group",
89
+ "array"
90
+ ],
91
+ "default": "control"
92
+ }
93
+ },
94
+ "additionalProperties": true
95
+ }
96
+ ]
97
+ },
27
98
  "angular": {
28
99
  "allOf": [
29
100
  {
@@ -75,66 +146,85 @@
75
146
  }
76
147
  ]
77
148
  },
78
- "formControl": {
79
- "type": "object",
80
- "properties": {
81
- "name": {
82
- "type": "string",
83
- "description": "The name of the control"
84
- },
85
- "type": {
86
- "$ref": "#/definitions/type"
87
- },
88
- "isArray": {
89
- "type": "boolean",
90
- "description": "Whether the control value is an array",
91
- "default": false
92
- },
93
- "state": {
94
- "type": "string",
95
- "description": "The initial state of the control"
96
- },
97
- "isRequired": {
98
- "type": "boolean",
99
- "description": "Whether the control value is required",
100
- "default": false
101
- },
102
- "isReadonly": {
103
- "type": "boolean",
104
- "description": "Whether the control value is readonly",
105
- "default": false
106
- },
107
- "isDisabled": {
108
- "type": "boolean",
109
- "description": "Whether the control value is disabled",
110
- "default": false
149
+ "autocompleteTableSelectFormControl": {
150
+ "allOf": [
151
+ {
152
+ "$ref": "#/definitions/baseFormControl"
111
153
  },
112
- "validatorList": {
113
- "type": "array",
114
- "items": {
115
- "type": "string"
154
+ {
155
+ "type": "object",
156
+ "properties": {
157
+ "formField": {
158
+ "$ref": "#/definitions/formField"
159
+ },
160
+ "kind": {
161
+ "type": "string",
162
+ "const": "table-select"
163
+ },
164
+ "placeholder": {
165
+ "type": "string"
166
+ },
167
+ "columnList": {
168
+ "alias": "column",
169
+ "type": "array",
170
+ "items": {
171
+ "description": "table column name",
172
+ "type": "object",
173
+ "properties": {
174
+ "name": {
175
+ "type": "string",
176
+ "description": "table column name"
177
+ },
178
+ "title": {
179
+ "type": "string",
180
+ "description": "table column label"
181
+ },
182
+ "hasFilter": {
183
+ "type": "boolean",
184
+ "description": "Whether the column has a filter"
185
+ },
186
+ "kind": {
187
+ "type": "string",
188
+ "description": "The kind of data in the column"
189
+ }
190
+ }
191
+ },
192
+ "description": "List of table column names"
193
+ },
194
+ "title": {
195
+ "type": "string",
196
+ "description": "The title of the table select window"
197
+ },
198
+ "toDisplay": {
199
+ "type": "object",
200
+ "properties": {
201
+ "property": {
202
+ "$ref": "#/definitions/property"
203
+ }
204
+ }
205
+ },
206
+ "toValue": {
207
+ "type": "object",
208
+ "properties": {
209
+ "property": {
210
+ "$ref": "#/definitions/property"
211
+ }
212
+ }
213
+ },
214
+ "upstream": {
215
+ "$ref": "#/definitions/upstream"
216
+ },
217
+ "resolver": {
218
+ "type": "object",
219
+ "properties": {
220
+ "upstream": {
221
+ "$ref": "#/definitions/upstream"
222
+ }
223
+ }
224
+ }
116
225
  }
117
- },
118
- "kind": {
119
- "type": "string",
120
- "description": "The name of the template",
121
- "enum": [
122
- "default",
123
- "input",
124
- "select",
125
- "checkbox",
126
- "autocomplete-table-select",
127
- "table-select",
128
- "textarea",
129
- "slide-toggle"
130
- ],
131
- "default": "default"
132
226
  }
133
- },
134
- "required": [
135
- "name"
136
- ],
137
- "additionalProperties": true
227
+ ]
138
228
  },
139
229
  "backend": {
140
230
  "type": "string",
@@ -147,6 +237,144 @@
147
237
  ],
148
238
  "default": "none"
149
239
  },
240
+ "baseFormControl": {
241
+ "allOf": [
242
+ {
243
+ "$ref": "#/definitions/abstractControl"
244
+ },
245
+ {
246
+ "type": "object",
247
+ "properties": {
248
+ "label": {
249
+ "type": "string",
250
+ "description": "The label of the control"
251
+ },
252
+ "role": {
253
+ "type": "string",
254
+ "const": "control"
255
+ }
256
+ }
257
+ }
258
+ ]
259
+ },
260
+ "button": {
261
+ "type": "object",
262
+ "properties": {
263
+ "svgIcon": {
264
+ "type": "string"
265
+ },
266
+ "icon": {
267
+ "type": "string"
268
+ },
269
+ "directiveList": {
270
+ "type": "array",
271
+ "items": {
272
+ "$ref": "#/definitions/type"
273
+ }
274
+ },
275
+ "importList": {
276
+ "type": "array",
277
+ "items": {
278
+ "$ref": "#/definitions/type"
279
+ }
280
+ }
281
+ }
282
+ },
283
+ "checkboxFormControl": {
284
+ "allOf": [
285
+ {
286
+ "$ref": "#/definitions/baseFormControl"
287
+ },
288
+ {
289
+ "type": "object",
290
+ "properties": {
291
+ "kind": {
292
+ "type": "string",
293
+ "const": "checkbox"
294
+ },
295
+ "labelPosition": {
296
+ "type": "string",
297
+ "enum": [
298
+ "before",
299
+ "after"
300
+ ]
301
+ }
302
+ }
303
+ }
304
+ ]
305
+ },
306
+ "formControl": {
307
+ "allOf": [
308
+ {
309
+ "type": "object",
310
+ "properties": {
311
+ "role": {
312
+ "type": "string",
313
+ "const": "control",
314
+ "default": "control"
315
+ }
316
+ }
317
+ },
318
+ {
319
+ "oneOf": [
320
+ {
321
+ "allOf": [
322
+ {
323
+ "$ref": "#/definitions/baseFormControl"
324
+ },
325
+ {
326
+ "type": "object",
327
+ "properties": {
328
+ "kind": {
329
+ "type": "string",
330
+ "const": "default"
331
+ }
332
+ }
333
+ }
334
+ ]
335
+ },
336
+ {
337
+ "$ref": "#/definitions/inputFormControl"
338
+ },
339
+ {
340
+ "$ref": "#/definitions/selectFormControl"
341
+ },
342
+ {
343
+ "$ref": "#/definitions/checkboxFormControl"
344
+ },
345
+ {
346
+ "$ref": "#/definitions/textareaFormControl"
347
+ },
348
+ {
349
+ "$ref": "#/definitions/tableSelectFormControl"
350
+ },
351
+ {
352
+ "$ref": "#/definitions/slideToggleFormControl"
353
+ },
354
+ {
355
+ "$ref": "#/definitions/autocompleteTableSelectFormControl"
356
+ }
357
+ ]
358
+ }
359
+ ]
360
+ },
361
+ "formField": {
362
+ "type": "object",
363
+ "properties": {
364
+ "label": {
365
+ "type": "string"
366
+ },
367
+ "prefixButton": {
368
+ "$ref": "#/definitions/button"
369
+ },
370
+ "suffixButton": {
371
+ "$ref": "#/definitions/button"
372
+ },
373
+ "hasClearButton": {
374
+ "type": "boolean"
375
+ }
376
+ }
377
+ },
150
378
  "general": {
151
379
  "type": "object",
152
380
  "properties": {
@@ -183,6 +411,259 @@
183
411
  }
184
412
  }
185
413
  },
414
+ "inputFormControl": {
415
+ "allOf": [
416
+ {
417
+ "$ref": "#/definitions/baseFormControl"
418
+ },
419
+ {
420
+ "type": "object",
421
+ "properties": {
422
+ "kind": {
423
+ "type": "string",
424
+ "const": "input"
425
+ },
426
+ "formField": {
427
+ "$ref": "#/definitions/formField"
428
+ },
429
+ "inputType": {
430
+ "type": "string",
431
+ "enum": [
432
+ "text",
433
+ "password",
434
+ "email",
435
+ "number",
436
+ "tel",
437
+ "url",
438
+ "checkbox",
439
+ "color",
440
+ "date",
441
+ "time",
442
+ "datetime-local",
443
+ "file",
444
+ "hidden",
445
+ "image",
446
+ "month",
447
+ "radio",
448
+ "reset",
449
+ "button",
450
+ "search",
451
+ "submit",
452
+ "week",
453
+ "range"
454
+ ]
455
+ },
456
+ "placeholder": {
457
+ "type": "string"
458
+ }
459
+ }
460
+ }
461
+ ]
462
+ },
463
+ "property": {
464
+ "oneOf": [
465
+ {
466
+ "type": "string"
467
+ },
468
+ {
469
+ "type": "object",
470
+ "properties": {
471
+ "name": {
472
+ "type": "string"
473
+ },
474
+ "type": {
475
+ "$ref": "#/definitions/type"
476
+ },
477
+ "isArray": {
478
+ "type": "boolean"
479
+ }
480
+ },
481
+ "required": [
482
+ "name"
483
+ ]
484
+ }
485
+ ]
486
+ },
487
+ "selectFormControl": {
488
+ "allOf": [
489
+ {
490
+ "$ref": "#/definitions/baseFormControl"
491
+ },
492
+ {
493
+ "type": "object",
494
+ "properties": {
495
+ "formField": {
496
+ "$ref": "#/definitions/formField"
497
+ },
498
+ "kind": {
499
+ "type": "string",
500
+ "const": "select"
501
+ },
502
+ "optionList": {
503
+ "type": "array",
504
+ "items": {
505
+ "type": "object",
506
+ "properties": {
507
+ "display": {
508
+ "type": "string"
509
+ },
510
+ "value": {
511
+ "oneOf": [
512
+ {
513
+ "type": "string"
514
+ },
515
+ {
516
+ "type": "number"
517
+ },
518
+ {
519
+ "type": "boolean"
520
+ },
521
+ {
522
+ "type": "object",
523
+ "additionalProperties": true
524
+ }
525
+ ]
526
+ }
527
+ }
528
+ }
529
+ },
530
+ "backend": {
531
+ "$ref": "#/definitions/backend"
532
+ },
533
+ "multiple": {
534
+ "alias": "multi",
535
+ "type": "boolean",
536
+ "description": "Whether the select form control is multiple mode"
537
+ }
538
+ }
539
+ }
540
+ ]
541
+ },
542
+ "slideToggleFormControl": {
543
+ "allOf": [
544
+ {
545
+ "$ref": "#/definitions/baseFormControl"
546
+ },
547
+ {
548
+ "type": "object",
549
+ "properties": {
550
+ "kind": {
551
+ "type": "string",
552
+ "const": "slide-toggle"
553
+ },
554
+ "labelPosition": {
555
+ "type": "string",
556
+ "enum": [
557
+ "before",
558
+ "after"
559
+ ]
560
+ }
561
+ }
562
+ }
563
+ ]
564
+ },
565
+ "tableSelectFormControl": {
566
+ "allOf": [
567
+ {
568
+ "$ref": "#/definitions/baseFormControl"
569
+ },
570
+ {
571
+ "type": "object",
572
+ "properties": {
573
+ "formField": {
574
+ "$ref": "#/definitions/formField"
575
+ },
576
+ "kind": {
577
+ "type": "string",
578
+ "const": "table-select"
579
+ },
580
+ "placeholder": {
581
+ "type": "string"
582
+ },
583
+ "columnList": {
584
+ "alias": "column",
585
+ "type": "array",
586
+ "items": {
587
+ "description": "table column name",
588
+ "type": "object",
589
+ "properties": {
590
+ "name": {
591
+ "type": "string",
592
+ "description": "table column name"
593
+ },
594
+ "title": {
595
+ "type": "string",
596
+ "description": "table column label"
597
+ },
598
+ "hasFilter": {
599
+ "type": "boolean",
600
+ "description": "Whether the column has a filter"
601
+ },
602
+ "kind": {
603
+ "type": "string",
604
+ "description": "The kind of data in the column"
605
+ }
606
+ }
607
+ },
608
+ "description": "List of table column names"
609
+ },
610
+ "title": {
611
+ "type": "string",
612
+ "description": "The title of the table select window"
613
+ },
614
+ "toDisplay": {
615
+ "type": "object",
616
+ "properties": {
617
+ "property": {
618
+ "$ref": "#/definitions/property"
619
+ }
620
+ }
621
+ },
622
+ "toValue": {
623
+ "type": "object",
624
+ "properties": {
625
+ "property": {
626
+ "$ref": "#/definitions/property"
627
+ }
628
+ }
629
+ },
630
+ "upstream": {
631
+ "$ref": "#/definitions/upstream"
632
+ },
633
+ "resolver": {
634
+ "type": "object",
635
+ "properties": {
636
+ "upstream": {
637
+ "$ref": "#/definitions/upstream"
638
+ }
639
+ }
640
+ }
641
+ }
642
+ }
643
+ ]
644
+ },
645
+ "textareaFormControl": {
646
+ "allOf": [
647
+ {
648
+ "$ref": "#/definitions/baseFormControl"
649
+ },
650
+ {
651
+ "type": "object",
652
+ "properties": {
653
+ "formField": {
654
+ "$ref": "#/definitions/formField"
655
+ },
656
+ "kind": {
657
+ "type": "string",
658
+ "const": "textarea"
659
+ },
660
+ "placeholder": {
661
+ "type": "string"
662
+ }
663
+ }
664
+ }
665
+ ]
666
+ },
186
667
  "type": {
187
668
  "oneOf": [
188
669
  {
@@ -215,6 +696,65 @@
215
696
  ]
216
697
  }
217
698
  ]
699
+ },
700
+ "upstream": {
701
+ "oneOf": [
702
+ {
703
+ "type": "object",
704
+ "properties": {
705
+ "kind": {
706
+ "type": "string",
707
+ "enum": [
708
+ "open-api"
709
+ ]
710
+ },
711
+ "operationId": {
712
+ "type": "string"
713
+ },
714
+ "scope": {
715
+ "type": "string"
716
+ },
717
+ "mapper": {
718
+ "type": "object",
719
+ "properties": {
720
+ "pageIndex": {
721
+ "type": "string"
722
+ },
723
+ "pageSize": {
724
+ "type": "string"
725
+ },
726
+ "sortBy": {
727
+ "type": "string"
728
+ },
729
+ "sortDirection": {
730
+ "type": "string"
731
+ },
732
+ "list": {
733
+ "type": "string"
734
+ },
735
+ "total": {
736
+ "type": "string"
737
+ },
738
+ "filter": {
739
+ "type": "object",
740
+ "properties": {
741
+ "eq": {
742
+ "type": "string"
743
+ },
744
+ "join": {
745
+ "type": "string"
746
+ }
747
+ }
748
+ }
749
+ }
750
+ }
751
+ },
752
+ "required": [
753
+ "kind",
754
+ "operationId"
755
+ ]
756
+ }
757
+ ]
218
758
  }
219
759
  }
220
760
  }
@@ -14,8 +14,7 @@
14
14
  "formName": {
15
15
  "alias": "form",
16
16
  "type": "string",
17
- "description": "The name of the form where the form control should be added",
18
- "x-prompt": "Enter the name of the form where the form control should be added"
17
+ "description": "The name of the form where the form control should be added"
19
18
  }
20
19
  },
21
20
  "required": [