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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (179) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/README.md +1 -1
  3. package/collection.json +10 -0
  4. package/package.json +4 -4
  5. package/src/lib/coerce-form-component.js +15 -3
  6. package/src/lib/coerce-form-component.js.map +1 -1
  7. package/src/lib/data-grid-item.d.ts +3 -3
  8. package/src/lib/data-grid-item.js +2 -2
  9. package/src/lib/data-grid-item.js.map +1 -1
  10. package/src/lib/form/abstract-control.d.ts +29 -0
  11. package/src/lib/form/abstract-control.js +37 -0
  12. package/src/lib/form/abstract-control.js.map +1 -0
  13. package/src/lib/form/array/base-form-array.d.ts +18 -0
  14. package/src/lib/form/array/base-form-array.js +40 -0
  15. package/src/lib/form/array/base-form-array.js.map +1 -0
  16. package/src/lib/form/array/form-array-kind.d.ts +3 -0
  17. package/src/lib/form/array/form-array-kind.js +8 -0
  18. package/src/lib/form/array/form-array-kind.js.map +1 -0
  19. package/src/lib/form/array/form-array.d.ts +12 -0
  20. package/src/lib/form/array/form-array.js +18 -0
  21. package/src/lib/form/array/form-array.js.map +1 -0
  22. package/src/lib/form/coerce-control-component-imports.d.ts +3 -0
  23. package/src/lib/form/coerce-control-component-imports.js +18 -0
  24. package/src/lib/form/coerce-control-component-imports.js.map +1 -0
  25. package/src/lib/form/control/base-form-control.d.ts +14 -0
  26. package/src/lib/form/control/base-form-control.js +19 -0
  27. package/src/lib/form/control/base-form-control.js.map +1 -0
  28. package/src/lib/form/control/checkbox-form-control.d.ts +11 -0
  29. package/src/lib/form/control/checkbox-form-control.js +23 -0
  30. package/src/lib/form/control/checkbox-form-control.js.map +1 -0
  31. package/src/lib/form/control/form-control-kind.d.ts +8 -0
  32. package/src/lib/form/control/form-control-kind.js +13 -0
  33. package/src/lib/form/control/form-control-kind.js.map +1 -0
  34. package/src/lib/form/control/form-control.d.ts +18 -0
  35. package/src/lib/form/control/form-control.js +40 -0
  36. package/src/lib/form/control/form-control.js.map +1 -0
  37. package/src/lib/form/control/form-field-form-control.d.ts +33 -0
  38. package/src/lib/form/control/form-field-form-control.js +76 -0
  39. package/src/lib/form/control/form-field-form-control.js.map +1 -0
  40. package/src/lib/form/control/input-form-control.d.ts +14 -0
  41. package/src/lib/form/control/input-form-control.js +71 -0
  42. package/src/lib/form/control/input-form-control.js.map +1 -0
  43. package/src/lib/form/control/select-form-control.d.ts +18 -0
  44. package/src/lib/form/control/select-form-control.js +29 -0
  45. package/src/lib/form/control/select-form-control.js.map +1 -0
  46. package/src/lib/form/control/slide-toggle-form-control.d.ts +11 -0
  47. package/src/lib/form/control/slide-toggle-form-control.js +23 -0
  48. package/src/lib/form/control/slide-toggle-form-control.js.map +1 -0
  49. package/src/lib/form/control/table-select-form-control.d.ts +43 -0
  50. package/src/lib/form/control/table-select-form-control.js +69 -0
  51. package/src/lib/form/control/table-select-form-control.js.map +1 -0
  52. package/src/lib/form/control.d.ts +8 -0
  53. package/src/lib/form/control.js +38 -0
  54. package/src/lib/form/control.js.map +1 -0
  55. package/src/lib/form/generate-form-template.d.ts +2 -2
  56. package/src/lib/form/group/base-form-group.d.ts +17 -0
  57. package/src/lib/form/group/base-form-group.js +20 -0
  58. package/src/lib/form/group/base-form-group.js.map +1 -0
  59. package/src/lib/form/group/form-group-kind.d.ts +3 -0
  60. package/src/lib/form/group/form-group-kind.js +8 -0
  61. package/src/lib/form/group/form-group-kind.js.map +1 -0
  62. package/src/lib/form/group/form-group.d.ts +12 -0
  63. package/src/lib/form/group/form-group.js +18 -0
  64. package/src/lib/form/group/form-group.js.map +1 -0
  65. package/src/lib/table-column.d.ts +4 -3
  66. package/src/lib/table-column.js +5 -4
  67. package/src/lib/table-column.js.map +1 -1
  68. package/src/schema.json +1673 -1415
  69. package/src/schematic-input.schema.json +90 -156
  70. package/src/schematics/abstract-control.schema.json +78 -0
  71. package/src/schematics/accordion/accordion-component/schema.json +127 -127
  72. package/src/schematics/accordion/accordion-item-component/schema.json +18 -18
  73. package/src/schematics/accordion/item/accordion-item-data-grid-component/schema.json +602 -81
  74. package/src/schematics/accordion/item/accordion-item-switch-component/schema.json +76 -76
  75. package/src/schematics/accordion/item/accordion-item-table-component/schema.json +486 -111
  76. package/src/schematics/accordion/item/accordion-item-tree-table-component/schema.json +458 -83
  77. package/src/schematics/base-form-array.schema.json +45 -0
  78. package/src/schematics/base-form-control.schema.json +27 -0
  79. package/src/schematics/base-form-group.schema.json +42 -0
  80. package/src/schematics/checkbox-form-control.schema.json +30 -0
  81. package/src/schematics/control.schema.json +26 -0
  82. package/src/schematics/data-grid-component/index.js +4 -0
  83. package/src/schematics/data-grid-component/index.js.map +1 -1
  84. package/src/schematics/data-grid-component/schema.json +602 -81
  85. package/src/schematics/data-grid-item.schema.json +3 -3
  86. package/src/schematics/form/control/input-form-control/index.d.ts +1 -1
  87. package/src/schematics/form/control/input-form-control/index.js +4 -4
  88. package/src/schematics/form/control/input-form-control/index.js.map +1 -1
  89. package/src/schematics/form/control/input-form-control/schema.d.ts +2 -2
  90. package/src/schematics/form/control/input-form-control/schema.json +256 -86
  91. package/src/schematics/form/control/input-form-control/template.schema.json +16 -3
  92. package/src/schematics/form/control/select-form-control/index.d.ts +2 -2
  93. package/src/schematics/form/control/select-form-control/index.js +21 -14
  94. package/src/schematics/form/control/select-form-control/index.js.map +1 -1
  95. package/src/schematics/form/control/select-form-control/schema.d.ts +2 -3
  96. package/src/schematics/form/control/select-form-control/schema.json +249 -90
  97. package/src/schematics/form/control/select-form-control/template.schema.json +16 -3
  98. package/src/schematics/form/control/table-select-form-control/index.d.ts +3 -9
  99. package/src/schematics/form/control/table-select-form-control/index.js +24 -18
  100. package/src/schematics/form/control/table-select-form-control/index.js.map +1 -1
  101. package/src/schematics/form/control/table-select-form-control/schema.d.ts +2 -3
  102. package/src/schematics/form/control/table-select-form-control/schema.json +325 -123
  103. package/src/schematics/form/control/table-select-form-control/template.schema.json +16 -60
  104. package/src/schematics/form/form-array/index.d.ts +9 -0
  105. package/src/schematics/form/form-array/index.js +54 -0
  106. package/src/schematics/form/form-array/index.js.map +1 -0
  107. package/src/schematics/form/form-array/schema.d.ts +4 -0
  108. package/src/schematics/form/form-array/schema.json +823 -0
  109. package/src/schematics/form/form-array/template.schema.json +33 -0
  110. package/src/schematics/form/form-component/files/component/__componentName__.component.html.hbs +4 -1
  111. package/src/schematics/form/form-component/index.d.ts +2 -4
  112. package/src/schematics/form/form-component/index.js +8 -24
  113. package/src/schematics/form/form-component/index.js.map +1 -1
  114. package/src/schematics/form/form-component/schema.d.ts +2 -2
  115. package/src/schematics/form/form-component/schema.json +666 -86
  116. package/src/schematics/form/form-control/index.d.ts +3 -5
  117. package/src/schematics/form/form-control/index.js +8 -20
  118. package/src/schematics/form/form-control/index.js.map +1 -1
  119. package/src/schematics/form/form-control/schema.d.ts +2 -4
  120. package/src/schematics/form/form-control/schema.json +519 -62
  121. package/src/schematics/form/form-control/template.schema.json +1 -2
  122. package/src/schematics/form/form-definition/index.d.ts +2 -2
  123. package/src/schematics/form/form-definition/index.js +28 -15
  124. package/src/schematics/form/form-definition/index.js.map +1 -1
  125. package/src/schematics/form/form-definition/schema.d.ts +2 -2
  126. package/src/schematics/form/form-definition/schema.json +664 -60
  127. package/src/schematics/form/form-group/index.d.ts +9 -0
  128. package/src/schematics/form/form-group/index.js +54 -0
  129. package/src/schematics/form/form-group/index.js.map +1 -0
  130. package/src/schematics/form/form-group/schema.d.ts +4 -0
  131. package/src/schematics/form/form-group/schema.json +823 -0
  132. package/src/schematics/form/form-group/template.schema.json +33 -0
  133. package/src/schematics/form/templates/checkbox-form-control.hbs +1 -1
  134. package/src/schematics/form/templates/default-form-array.hbs +27 -0
  135. package/src/schematics/form/templates/default-form-group.hbs +13 -0
  136. package/src/schematics/form/templates/input-form-control.hbs +7 -7
  137. package/src/schematics/form/templates/select-form-control.hbs +5 -0
  138. package/src/schematics/form/templates/table-select-form-control.hbs +16 -16
  139. package/src/schematics/form-array.schema.json +40 -0
  140. package/src/schematics/form-control.schema.json +64 -55
  141. package/src/schematics/form-definition.schema.json +3 -3
  142. package/src/schematics/form-group.schema.json +40 -0
  143. package/src/schematics/input-form-control.schema.json +10 -6
  144. package/src/schematics/select-form-control.schema.json +8 -4
  145. package/src/schematics/slide-toggle-form-control.schema.json +30 -0
  146. package/src/schematics/table/action/dialog-table-action/schema.json +20 -20
  147. package/src/schematics/table/action/form-table-action/index.d.ts +2 -2
  148. package/src/schematics/table/action/form-table-action/index.js +3 -4
  149. package/src/schematics/table/action/form-table-action/index.js.map +1 -1
  150. package/src/schematics/table/action/form-table-action/schema.d.ts +2 -2
  151. package/src/schematics/table/action/form-table-action/schema.json +667 -87
  152. package/src/schematics/table/action/navigation-table-action/schema.json +20 -20
  153. package/src/schematics/table/action/open-api-table-action/schema.json +20 -20
  154. package/src/schematics/table/action/operation-table-action/schema.json +20 -20
  155. package/src/schematics/table/header-button/form-table-header-button/index.d.ts +2 -2
  156. package/src/schematics/table/header-button/form-table-header-button/index.js +2 -2
  157. package/src/schematics/table/header-button/form-table-header-button/index.js.map +1 -1
  158. package/src/schematics/table/header-button/form-table-header-button/schema.d.ts +2 -2
  159. package/src/schematics/table/header-button/form-table-header-button/schema.json +735 -81
  160. package/src/schematics/table/header-button/form-table-header-button/template.schema.json +4 -22
  161. package/src/schematics/table/header-button/navigation-table-header-button/schema.json +20 -20
  162. package/src/schematics/table/table-action/schema.json +47 -47
  163. package/src/schematics/table/table-component/index.d.ts +2 -2
  164. package/src/schematics/table/table-component/schema.json +470 -95
  165. package/src/schematics/table/table-header-button/schema.json +40 -40
  166. package/src/schematics/table/tree-table-component/files/component/__componentName__.component.html.hbs +1 -1
  167. package/src/schematics/table/tree-table-component/schema.json +453 -78
  168. package/src/schematics/table-select-form-control.schema.json +96 -0
  169. package/src/schematics/textarea-form-control.schema.json +32 -0
  170. package/src/template.schema.json +39 -0
  171. package/src/lib/form-component-control.d.ts +0 -8
  172. package/src/lib/form-component-control.js +0 -15
  173. package/src/lib/form-component-control.js.map +0 -1
  174. package/src/lib/form-control.d.ts +0 -136
  175. package/src/lib/form-control.js +0 -265
  176. package/src/lib/form-control.js.map +0 -1
  177. package/src/lib/form-definition-control.d.ts +0 -5
  178. package/src/lib/form-definition-control.js +0 -30
  179. package/src/lib/form-definition-control.js.map +0 -1
@@ -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,124 +133,151 @@
61
133
  }
62
134
  ]
63
135
  },
64
- "table": {
136
+ "backend": {
137
+ "type": "string",
138
+ "description": "The backend that should be used to handel data",
139
+ "enum": [
140
+ "none",
141
+ "nestjs",
142
+ "open-api",
143
+ "local"
144
+ ],
145
+ "default": "none"
146
+ },
147
+ "baseFormControl": {
65
148
  "allOf": [
66
149
  {
67
- "$ref": "#/definitions/minimumTable"
150
+ "$ref": "#/definitions/abstractControl"
68
151
  },
69
152
  {
70
153
  "type": "object",
71
154
  "properties": {
72
- "tableMethod": {
73
- "$ref": "#/definitions/type"
74
- },
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
- ]
89
- },
90
- "modifiers": {
91
- "alias": "modifier",
92
- "type": "array",
93
- "items": {
94
- "type": "string",
95
- "enum": [
96
- "navigation-back-header",
97
- "without-title",
98
- "show-archived-slide"
99
- ]
100
- },
101
- "description": "The table modifiers"
155
+ "label": {
156
+ "type": "string",
157
+ "description": "The label of the control"
102
158
  },
103
- "selectColumn": {
104
- "type": "boolean",
105
- "description": "Whether to add a select column to the table"
159
+ "role": {
160
+ "type": "string",
161
+ "const": "control"
106
162
  }
107
163
  }
108
164
  }
109
165
  ]
110
166
  },
111
- "backend": {
112
- "type": "string",
113
- "description": "The backend that should be used to handel data",
114
- "enum": [
115
- "none",
116
- "nestjs",
117
- "open-api",
118
- "local"
119
- ],
120
- "default": "none"
121
- },
122
- "formControl": {
167
+ "button": {
123
168
  "type": "object",
124
169
  "properties": {
125
- "name": {
126
- "type": "string",
127
- "description": "The name of the control"
170
+ "svgIcon": {
171
+ "type": "string"
128
172
  },
129
- "type": {
130
- "$ref": "#/definitions/type"
173
+ "icon": {
174
+ "type": "string"
131
175
  },
132
- "isArray": {
133
- "type": "boolean",
134
- "description": "Whether the control value is an array",
135
- "default": false
176
+ "directiveList": {
177
+ "type": "array",
178
+ "items": {
179
+ "$ref": "#/definitions/type"
180
+ }
136
181
  },
137
- "state": {
138
- "type": "string",
139
- "description": "The initial state of the control"
182
+ "importList": {
183
+ "type": "array",
184
+ "items": {
185
+ "$ref": "#/definitions/type"
186
+ }
187
+ }
188
+ }
189
+ },
190
+ "checkboxFormControl": {
191
+ "allOf": [
192
+ {
193
+ "$ref": "#/definitions/baseFormControl"
140
194
  },
141
- "isRequired": {
142
- "type": "boolean",
143
- "description": "Whether the control value is required",
144
- "default": false
195
+ {
196
+ "type": "object",
197
+ "properties": {
198
+ "kind": {
199
+ "type": "string",
200
+ "const": "checkbox"
201
+ },
202
+ "labelPosition": {
203
+ "type": "string",
204
+ "enum": [
205
+ "before",
206
+ "after"
207
+ ]
208
+ }
209
+ }
210
+ }
211
+ ]
212
+ },
213
+ "formControl": {
214
+ "allOf": [
215
+ {
216
+ "type": "object",
217
+ "properties": {
218
+ "role": {
219
+ "type": "string",
220
+ "const": "control",
221
+ "default": "control"
222
+ }
223
+ }
145
224
  },
146
- "isReadonly": {
147
- "type": "boolean",
148
- "description": "Whether the control value is readonly",
149
- "default": false
225
+ {
226
+ "oneOf": [
227
+ {
228
+ "allOf": [
229
+ {
230
+ "$ref": "#/definitions/baseFormControl"
231
+ },
232
+ {
233
+ "type": "object",
234
+ "properties": {
235
+ "kind": {
236
+ "type": "string",
237
+ "const": "default"
238
+ }
239
+ }
240
+ }
241
+ ]
242
+ },
243
+ {
244
+ "$ref": "#/definitions/inputFormControl"
245
+ },
246
+ {
247
+ "$ref": "#/definitions/selectFormControl"
248
+ },
249
+ {
250
+ "$ref": "#/definitions/checkboxFormControl"
251
+ },
252
+ {
253
+ "$ref": "#/definitions/textareaFormControl"
254
+ },
255
+ {
256
+ "$ref": "#/definitions/tableSelectFormControl"
257
+ },
258
+ {
259
+ "$ref": "#/definitions/slideToggleFormControl"
260
+ }
261
+ ]
262
+ }
263
+ ]
264
+ },
265
+ "formField": {
266
+ "type": "object",
267
+ "properties": {
268
+ "label": {
269
+ "type": "string"
150
270
  },
151
- "isDisabled": {
152
- "type": "boolean",
153
- "description": "Whether the control value is disabled",
154
- "default": false
271
+ "prefixButton": {
272
+ "$ref": "#/definitions/button"
155
273
  },
156
- "validatorList": {
157
- "type": "array",
158
- "items": {
159
- "type": "string"
160
- }
274
+ "suffixButton": {
275
+ "$ref": "#/definitions/button"
161
276
  },
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"
277
+ "hasClearButton": {
278
+ "type": "boolean"
176
279
  }
177
- },
178
- "required": [
179
- "name"
180
- ],
181
- "additionalProperties": true
280
+ }
182
281
  },
183
282
  "general": {
184
283
  "type": "object",
@@ -256,6 +355,55 @@
256
355
  }
257
356
  }
258
357
  },
358
+ "inputFormControl": {
359
+ "allOf": [
360
+ {
361
+ "$ref": "#/definitions/baseFormControl"
362
+ },
363
+ {
364
+ "type": "object",
365
+ "properties": {
366
+ "kind": {
367
+ "type": "string",
368
+ "const": "input"
369
+ },
370
+ "formField": {
371
+ "$ref": "#/definitions/formField"
372
+ },
373
+ "inputType": {
374
+ "type": "string",
375
+ "enum": [
376
+ "text",
377
+ "password",
378
+ "email",
379
+ "number",
380
+ "tel",
381
+ "url",
382
+ "checkbox",
383
+ "color",
384
+ "date",
385
+ "time",
386
+ "datetime-local",
387
+ "file",
388
+ "hidden",
389
+ "image",
390
+ "month",
391
+ "radio",
392
+ "reset",
393
+ "button",
394
+ "search",
395
+ "submit",
396
+ "week",
397
+ "range"
398
+ ]
399
+ },
400
+ "placeholder": {
401
+ "type": "string"
402
+ }
403
+ }
404
+ }
405
+ ]
406
+ },
259
407
  "minimumTable": {
260
408
  "type": "object",
261
409
  "properties": {
@@ -349,6 +497,131 @@
349
497
  }
350
498
  ]
351
499
  },
500
+ "selectFormControl": {
501
+ "allOf": [
502
+ {
503
+ "$ref": "#/definitions/baseFormControl"
504
+ },
505
+ {
506
+ "type": "object",
507
+ "properties": {
508
+ "formField": {
509
+ "$ref": "#/definitions/formField"
510
+ },
511
+ "kind": {
512
+ "type": "string",
513
+ "const": "select"
514
+ },
515
+ "optionList": {
516
+ "type": "array",
517
+ "items": {
518
+ "type": "object",
519
+ "properties": {
520
+ "display": {
521
+ "type": "string"
522
+ },
523
+ "value": {
524
+ "oneOf": [
525
+ {
526
+ "type": "string"
527
+ },
528
+ {
529
+ "type": "number"
530
+ },
531
+ {
532
+ "type": "boolean"
533
+ },
534
+ {
535
+ "type": "object",
536
+ "additionalProperties": true
537
+ }
538
+ ]
539
+ }
540
+ }
541
+ }
542
+ },
543
+ "backend": {
544
+ "$ref": "#/definitions/backend"
545
+ },
546
+ "multiple": {
547
+ "alias": "multi",
548
+ "type": "boolean",
549
+ "description": "Whether the select form control is multiple mode"
550
+ }
551
+ }
552
+ }
553
+ ]
554
+ },
555
+ "slideToggleFormControl": {
556
+ "allOf": [
557
+ {
558
+ "$ref": "#/definitions/baseFormControl"
559
+ },
560
+ {
561
+ "type": "object",
562
+ "properties": {
563
+ "kind": {
564
+ "type": "string",
565
+ "const": "slide-toggle"
566
+ },
567
+ "labelPosition": {
568
+ "type": "string",
569
+ "enum": [
570
+ "before",
571
+ "after"
572
+ ]
573
+ }
574
+ }
575
+ }
576
+ ]
577
+ },
578
+ "table": {
579
+ "allOf": [
580
+ {
581
+ "$ref": "#/definitions/minimumTable"
582
+ },
583
+ {
584
+ "type": "object",
585
+ "properties": {
586
+ "tableMethod": {
587
+ "$ref": "#/definitions/type"
588
+ },
589
+ "openApi": {
590
+ "type": "object",
591
+ "properties": {
592
+ "operationId": {
593
+ "type": "string",
594
+ "description": "The operationId for the open api operation"
595
+ },
596
+ "adapter": {
597
+ "$ref": "#/definitions/type"
598
+ }
599
+ },
600
+ "required": [
601
+ "operationId"
602
+ ]
603
+ },
604
+ "modifiers": {
605
+ "alias": "modifier",
606
+ "type": "array",
607
+ "items": {
608
+ "type": "string",
609
+ "enum": [
610
+ "navigation-back-header",
611
+ "without-title",
612
+ "show-archived-slide"
613
+ ]
614
+ },
615
+ "description": "The table modifiers"
616
+ },
617
+ "selectColumn": {
618
+ "type": "boolean",
619
+ "description": "Whether to add a select column to the table"
620
+ }
621
+ }
622
+ }
623
+ ]
624
+ },
352
625
  "tableAction": {
353
626
  "type": "object",
354
627
  "properties": {
@@ -470,6 +743,108 @@
470
743
  "name"
471
744
  ]
472
745
  },
746
+ "tableSelectFormControl": {
747
+ "allOf": [
748
+ {
749
+ "$ref": "#/definitions/baseFormControl"
750
+ },
751
+ {
752
+ "type": "object",
753
+ "properties": {
754
+ "formField": {
755
+ "$ref": "#/definitions/formField"
756
+ },
757
+ "kind": {
758
+ "type": "string",
759
+ "const": "table-select"
760
+ },
761
+ "placeholder": {
762
+ "type": "string"
763
+ },
764
+ "columnList": {
765
+ "alias": "column",
766
+ "type": "array",
767
+ "items": {
768
+ "description": "table column name",
769
+ "type": "object",
770
+ "properties": {
771
+ "name": {
772
+ "type": "string",
773
+ "description": "table column name"
774
+ },
775
+ "title": {
776
+ "type": "string",
777
+ "description": "table column label"
778
+ },
779
+ "hasFilter": {
780
+ "type": "boolean",
781
+ "description": "Whether the column has a filter"
782
+ },
783
+ "kind": {
784
+ "type": "string",
785
+ "description": "The kind of data in the column"
786
+ }
787
+ }
788
+ },
789
+ "description": "List of table column names"
790
+ },
791
+ "title": {
792
+ "type": "string",
793
+ "description": "The title of the table select window"
794
+ },
795
+ "toDisplay": {
796
+ "type": "object",
797
+ "properties": {
798
+ "property": {
799
+ "$ref": "#/definitions/property"
800
+ }
801
+ }
802
+ },
803
+ "toValue": {
804
+ "type": "object",
805
+ "properties": {
806
+ "property": {
807
+ "$ref": "#/definitions/property"
808
+ }
809
+ }
810
+ },
811
+ "upstream": {
812
+ "$ref": "#/definitions/upstream"
813
+ },
814
+ "resolver": {
815
+ "type": "object",
816
+ "properties": {
817
+ "upstream": {
818
+ "$ref": "#/definitions/upstream"
819
+ }
820
+ }
821
+ }
822
+ }
823
+ }
824
+ ]
825
+ },
826
+ "textareaFormControl": {
827
+ "allOf": [
828
+ {
829
+ "$ref": "#/definitions/baseFormControl"
830
+ },
831
+ {
832
+ "type": "object",
833
+ "properties": {
834
+ "formField": {
835
+ "$ref": "#/definitions/formField"
836
+ },
837
+ "kind": {
838
+ "type": "string",
839
+ "const": "textarea"
840
+ },
841
+ "placeholder": {
842
+ "type": "string"
843
+ }
844
+ }
845
+ }
846
+ ]
847
+ },
473
848
  "type": {
474
849
  "oneOf": [
475
850
  {