@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
@@ -71,46 +71,6 @@
71
71
  }
72
72
  ]
73
73
  },
74
- "headerButton": {
75
- "type": "object",
76
- "properties": {
77
- "permission": {
78
- "type": "string"
79
- },
80
- "icon": {
81
- "type": "string"
82
- },
83
- "svgIcon": {
84
- "type": "string"
85
- },
86
- "refresh": {
87
- "type": "boolean",
88
- "description": "Whether the table action should refresh the table after execution",
89
- "default": false
90
- },
91
- "confirm": {
92
- "type": "boolean",
93
- "description": "Whether the table action should confirm before execution",
94
- "default": false
95
- },
96
- "tooltip": {
97
- "type": "string",
98
- "description": "The tooltip for the table action"
99
- },
100
- "errorMessage": {
101
- "type": "string",
102
- "description": "The error message for the table action"
103
- },
104
- "successMessage": {
105
- "type": "string",
106
- "description": "The success message for the table action"
107
- },
108
- "options": {
109
- "type": "object",
110
- "additionalProperties": true
111
- }
112
- }
113
- },
114
74
  "backend": {
115
75
  "type": "string",
116
76
  "description": "The backend that should be used to handel data",
@@ -157,6 +117,46 @@
157
117
  "default": false
158
118
  }
159
119
  }
120
+ },
121
+ "headerButton": {
122
+ "type": "object",
123
+ "properties": {
124
+ "permission": {
125
+ "type": "string"
126
+ },
127
+ "icon": {
128
+ "type": "string"
129
+ },
130
+ "svgIcon": {
131
+ "type": "string"
132
+ },
133
+ "refresh": {
134
+ "type": "boolean",
135
+ "description": "Whether the table action should refresh the table after execution",
136
+ "default": false
137
+ },
138
+ "confirm": {
139
+ "type": "boolean",
140
+ "description": "Whether the table action should confirm before execution",
141
+ "default": false
142
+ },
143
+ "tooltip": {
144
+ "type": "string",
145
+ "description": "The tooltip for the table action"
146
+ },
147
+ "errorMessage": {
148
+ "type": "string",
149
+ "description": "The error message for the table action"
150
+ },
151
+ "successMessage": {
152
+ "type": "string",
153
+ "description": "The success message for the table action"
154
+ },
155
+ "options": {
156
+ "type": "object",
157
+ "additionalProperties": true
158
+ }
159
+ }
160
160
  }
161
161
  }
162
162
  }
@@ -47,7 +47,6 @@
47
47
  </rxap-table-column-option>
48
48
  {{/if}}
49
49
  <rxap-table-column-option name="tree" hidden></rxap-table-column-option>
50
- <rxap-table-column-option name="__spinner__" hidden></rxap-table-column-option>
51
50
  {{#each columnList}}
52
51
  <rxap-table-column-option name="{{this.name}}"
53
52
  {{~#if this.active}} active{{/if~}}
@@ -57,6 +56,7 @@
57
56
  <ng-container i18n>{{this.title}}</ng-container>
58
57
  </rxap-table-column-option>
59
58
  {{/each}}
59
+ <rxap-table-column-option name="__spinner__" hidden></rxap-table-column-option>
60
60
  {{#if actionList.length}}
61
61
  <rxap-table-column-option hidden name="actions">
62
62
  <ng-container i18n>Actions</ng-container>
@@ -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,107 +133,151 @@
61
133
  }
62
134
  ]
63
135
  },
64
- "treeTable": {
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
- "modifiers": {
73
- "alias": "modifier",
74
- "type": "array",
75
- "items": {
76
- "type": "string",
77
- "enum": [
78
- "navigation-back-header",
79
- "without-title"
80
- ]
81
- },
82
- "description": "The table modifiers"
83
- },
84
- "tableRootMethod": {
85
- "$ref": "#/definitions/type"
155
+ "label": {
156
+ "type": "string",
157
+ "description": "The label of the control"
86
158
  },
87
- "tableChildMethod": {
88
- "$ref": "#/definitions/type"
159
+ "role": {
160
+ "type": "string",
161
+ "const": "control"
89
162
  }
90
163
  }
91
164
  }
92
165
  ]
93
166
  },
94
- "backend": {
95
- "type": "string",
96
- "description": "The backend that should be used to handel data",
97
- "enum": [
98
- "none",
99
- "nestjs",
100
- "open-api",
101
- "local"
102
- ],
103
- "default": "none"
104
- },
105
- "formControl": {
167
+ "button": {
106
168
  "type": "object",
107
169
  "properties": {
108
- "name": {
109
- "type": "string",
110
- "description": "The name of the control"
170
+ "svgIcon": {
171
+ "type": "string"
111
172
  },
112
- "type": {
113
- "$ref": "#/definitions/type"
173
+ "icon": {
174
+ "type": "string"
114
175
  },
115
- "isArray": {
116
- "type": "boolean",
117
- "description": "Whether the control value is an array",
118
- "default": false
176
+ "directiveList": {
177
+ "type": "array",
178
+ "items": {
179
+ "$ref": "#/definitions/type"
180
+ }
119
181
  },
120
- "state": {
121
- "type": "string",
122
- "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"
123
194
  },
124
- "isRequired": {
125
- "type": "boolean",
126
- "description": "Whether the control value is required",
127
- "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
+ }
128
224
  },
129
- "isReadonly": {
130
- "type": "boolean",
131
- "description": "Whether the control value is readonly",
132
- "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"
133
270
  },
134
- "isDisabled": {
135
- "type": "boolean",
136
- "description": "Whether the control value is disabled",
137
- "default": false
271
+ "prefixButton": {
272
+ "$ref": "#/definitions/button"
138
273
  },
139
- "validatorList": {
140
- "type": "array",
141
- "items": {
142
- "type": "string"
143
- }
274
+ "suffixButton": {
275
+ "$ref": "#/definitions/button"
144
276
  },
145
- "kind": {
146
- "type": "string",
147
- "description": "The name of the template",
148
- "enum": [
149
- "default",
150
- "input",
151
- "select",
152
- "checkbox",
153
- "autocomplete-table-select",
154
- "table-select",
155
- "textarea",
156
- "slide-toggle"
157
- ],
158
- "default": "default"
277
+ "hasClearButton": {
278
+ "type": "boolean"
159
279
  }
160
- },
161
- "required": [
162
- "name"
163
- ],
164
- "additionalProperties": true
280
+ }
165
281
  },
166
282
  "general": {
167
283
  "type": "object",
@@ -239,6 +355,55 @@
239
355
  }
240
356
  }
241
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
+ },
242
407
  "minimumTable": {
243
408
  "type": "object",
244
409
  "properties": {
@@ -332,6 +497,84 @@
332
497
  }
333
498
  ]
334
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
+ },
335
578
  "tableAction": {
336
579
  "type": "object",
337
580
  "properties": {
@@ -453,6 +696,138 @@
453
696
  "name"
454
697
  ]
455
698
  },
699
+ "tableSelectFormControl": {
700
+ "allOf": [
701
+ {
702
+ "$ref": "#/definitions/baseFormControl"
703
+ },
704
+ {
705
+ "type": "object",
706
+ "properties": {
707
+ "formField": {
708
+ "$ref": "#/definitions/formField"
709
+ },
710
+ "kind": {
711
+ "type": "string",
712
+ "const": "table-select"
713
+ },
714
+ "placeholder": {
715
+ "type": "string"
716
+ },
717
+ "columnList": {
718
+ "alias": "column",
719
+ "type": "array",
720
+ "items": {
721
+ "description": "table column name",
722
+ "type": "object",
723
+ "properties": {
724
+ "name": {
725
+ "type": "string",
726
+ "description": "table column name"
727
+ },
728
+ "title": {
729
+ "type": "string",
730
+ "description": "table column label"
731
+ },
732
+ "hasFilter": {
733
+ "type": "boolean",
734
+ "description": "Whether the column has a filter"
735
+ },
736
+ "kind": {
737
+ "type": "string",
738
+ "description": "The kind of data in the column"
739
+ }
740
+ }
741
+ },
742
+ "description": "List of table column names"
743
+ },
744
+ "title": {
745
+ "type": "string",
746
+ "description": "The title of the table select window"
747
+ },
748
+ "toDisplay": {
749
+ "type": "object",
750
+ "properties": {
751
+ "property": {
752
+ "$ref": "#/definitions/property"
753
+ }
754
+ }
755
+ },
756
+ "toValue": {
757
+ "type": "object",
758
+ "properties": {
759
+ "property": {
760
+ "$ref": "#/definitions/property"
761
+ }
762
+ }
763
+ },
764
+ "upstream": {
765
+ "$ref": "#/definitions/upstream"
766
+ },
767
+ "resolver": {
768
+ "type": "object",
769
+ "properties": {
770
+ "upstream": {
771
+ "$ref": "#/definitions/upstream"
772
+ }
773
+ }
774
+ }
775
+ }
776
+ }
777
+ ]
778
+ },
779
+ "textareaFormControl": {
780
+ "allOf": [
781
+ {
782
+ "$ref": "#/definitions/baseFormControl"
783
+ },
784
+ {
785
+ "type": "object",
786
+ "properties": {
787
+ "formField": {
788
+ "$ref": "#/definitions/formField"
789
+ },
790
+ "kind": {
791
+ "type": "string",
792
+ "const": "textarea"
793
+ },
794
+ "placeholder": {
795
+ "type": "string"
796
+ }
797
+ }
798
+ }
799
+ ]
800
+ },
801
+ "treeTable": {
802
+ "allOf": [
803
+ {
804
+ "$ref": "#/definitions/minimumTable"
805
+ },
806
+ {
807
+ "type": "object",
808
+ "properties": {
809
+ "modifiers": {
810
+ "alias": "modifier",
811
+ "type": "array",
812
+ "items": {
813
+ "type": "string",
814
+ "enum": [
815
+ "navigation-back-header",
816
+ "without-title"
817
+ ]
818
+ },
819
+ "description": "The table modifiers"
820
+ },
821
+ "tableRootMethod": {
822
+ "$ref": "#/definitions/type"
823
+ },
824
+ "tableChildMethod": {
825
+ "$ref": "#/definitions/type"
826
+ }
827
+ }
828
+ }
829
+ ]
830
+ },
456
831
  "type": {
457
832
  "oneOf": [
458
833
  {