@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
@@ -17,109 +17,100 @@
17
17
  "description": "If true the schematic will not coerce the form component"
18
18
  },
19
19
  "formOptions": {
20
+ "$ref": "#/definitions/formComponent"
21
+ }
22
+ }
23
+ }
24
+ ],
25
+ "definitions": {
26
+ "abstractControl": {
27
+ "allOf": [
28
+ {
29
+ "$ref": "#/definitions/property"
30
+ },
31
+ {
20
32
  "type": "object",
21
33
  "properties": {
22
- "role": {
34
+ "name": {
23
35
  "type": "string",
24
- "description": "Define the role of the form"
36
+ "description": "The name of the control"
25
37
  },
26
- "window": {
38
+ "isArray": {
27
39
  "type": "boolean",
28
- "description": "Whether the form can be opened in a window"
40
+ "description": "Whether the control value is an array",
41
+ "default": false
29
42
  },
30
- "controlList": {
31
- "alias": "control",
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": {
32
74
  "type": "array",
33
75
  "items": {
34
- "$ref": "#/definitions/formControl"
76
+ "$ref": "#/definitions/type"
35
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"
36
92
  }
37
93
  },
38
94
  "additionalProperties": true
39
95
  }
40
- }
41
- }
42
- ],
43
- "definitions": {
44
- "formControl": {
96
+ ]
97
+ },
98
+ "accordionIdentifier": {
45
99
  "type": "object",
46
100
  "properties": {
47
- "name": {
48
- "type": "string",
49
- "description": "The name of the control"
50
- },
51
- "type": {
52
- "$ref": "#/definitions/type"
53
- },
54
- "isArray": {
55
- "type": "boolean",
56
- "description": "Whether the control value is an array",
57
- "default": false
58
- },
59
- "state": {
60
- "type": "string",
61
- "description": "The initial state of the control"
62
- },
63
- "isRequired": {
64
- "type": "boolean",
65
- "description": "Whether the control value is required",
66
- "default": false
67
- },
68
- "isReadonly": {
69
- "type": "boolean",
70
- "description": "Whether the control value is readonly",
71
- "default": false
72
- },
73
- "isDisabled": {
74
- "type": "boolean",
75
- "description": "Whether the control value is disabled",
76
- "default": false
77
- },
78
- "validatorList": {
79
- "type": "array",
80
- "items": {
81
- "type": "string"
82
- }
101
+ "property": {
102
+ "$ref": "#/definitions/property"
83
103
  },
84
- "kind": {
104
+ "source": {
85
105
  "type": "string",
86
- "description": "The name of the template",
87
106
  "enum": [
88
- "default",
89
- "input",
90
- "select",
91
- "checkbox",
92
- "autocomplete-table-select",
93
- "table-select",
94
- "textarea",
95
- "slide-toggle"
107
+ "route"
96
108
  ],
97
- "default": "default"
109
+ "default": "route"
98
110
  }
99
111
  },
100
112
  "required": [
101
- "name"
102
- ],
103
- "additionalProperties": true
104
- },
105
- "tableHeaderButtonSchematic": {
106
- "allOf": [
107
- {
108
- "$ref": "#/definitions/angular"
109
- },
110
- {
111
- "$ref": "#/definitions/headerButton"
112
- },
113
- {
114
- "type": "object",
115
- "properties": {
116
- "tableName": {
117
- "alias": "table",
118
- "type": "string",
119
- "description": "The name of the table action"
120
- }
121
- }
122
- }
113
+ "property"
123
114
  ]
124
115
  },
125
116
  "angular": {
@@ -173,6 +164,86 @@
173
164
  }
174
165
  ]
175
166
  },
167
+ "autocompleteTableSelectFormControl": {
168
+ "allOf": [
169
+ {
170
+ "$ref": "#/definitions/baseFormControl"
171
+ },
172
+ {
173
+ "type": "object",
174
+ "properties": {
175
+ "formField": {
176
+ "$ref": "#/definitions/formField"
177
+ },
178
+ "kind": {
179
+ "type": "string",
180
+ "const": "table-select"
181
+ },
182
+ "placeholder": {
183
+ "type": "string"
184
+ },
185
+ "columnList": {
186
+ "alias": "column",
187
+ "type": "array",
188
+ "items": {
189
+ "description": "table column name",
190
+ "type": "object",
191
+ "properties": {
192
+ "name": {
193
+ "type": "string",
194
+ "description": "table column name"
195
+ },
196
+ "title": {
197
+ "type": "string",
198
+ "description": "table column label"
199
+ },
200
+ "hasFilter": {
201
+ "type": "boolean",
202
+ "description": "Whether the column has a filter"
203
+ },
204
+ "kind": {
205
+ "type": "string",
206
+ "description": "The kind of data in the column"
207
+ }
208
+ }
209
+ },
210
+ "description": "List of table column names"
211
+ },
212
+ "title": {
213
+ "type": "string",
214
+ "description": "The title of the table select window"
215
+ },
216
+ "toDisplay": {
217
+ "type": "object",
218
+ "properties": {
219
+ "property": {
220
+ "$ref": "#/definitions/property"
221
+ }
222
+ }
223
+ },
224
+ "toValue": {
225
+ "type": "object",
226
+ "properties": {
227
+ "property": {
228
+ "$ref": "#/definitions/property"
229
+ }
230
+ }
231
+ },
232
+ "upstream": {
233
+ "$ref": "#/definitions/upstream"
234
+ },
235
+ "resolver": {
236
+ "type": "object",
237
+ "properties": {
238
+ "upstream": {
239
+ "$ref": "#/definitions/upstream"
240
+ }
241
+ }
242
+ }
243
+ }
244
+ }
245
+ ]
246
+ },
176
247
  "backend": {
177
248
  "type": "string",
178
249
  "description": "The backend that should be used to handel data",
@@ -184,6 +255,340 @@
184
255
  ],
185
256
  "default": "none"
186
257
  },
258
+ "baseFormArray": {
259
+ "allOf": [
260
+ {
261
+ "$ref": "#/definitions/abstractControl"
262
+ },
263
+ {
264
+ "type": "object",
265
+ "properties": {
266
+ "controlList": {
267
+ "type": "array",
268
+ "description": "The list of controls in the group",
269
+ "items": {
270
+ "$ref": "#/definitions/control"
271
+ }
272
+ },
273
+ "legend": {
274
+ "type": "string"
275
+ },
276
+ "groupLegend": {
277
+ "type": "string"
278
+ },
279
+ "kind": {
280
+ "type": "string",
281
+ "description": "The kind of the array",
282
+ "const": "default",
283
+ "default": "default"
284
+ },
285
+ "role": {
286
+ "type": "string",
287
+ "const": "array"
288
+ }
289
+ }
290
+ }
291
+ ]
292
+ },
293
+ "baseFormControl": {
294
+ "allOf": [
295
+ {
296
+ "$ref": "#/definitions/abstractControl"
297
+ },
298
+ {
299
+ "type": "object",
300
+ "properties": {
301
+ "label": {
302
+ "type": "string",
303
+ "description": "The label of the control"
304
+ },
305
+ "role": {
306
+ "type": "string",
307
+ "const": "control"
308
+ }
309
+ }
310
+ }
311
+ ]
312
+ },
313
+ "baseFormGroup": {
314
+ "allOf": [
315
+ {
316
+ "$ref": "#/definitions/abstractControl"
317
+ },
318
+ {
319
+ "type": "object",
320
+ "properties": {
321
+ "controlList": {
322
+ "type": "array",
323
+ "description": "The list of controls in the group",
324
+ "items": {
325
+ "$ref": "#/definitions/control"
326
+ }
327
+ },
328
+ "legend": {
329
+ "type": "string"
330
+ },
331
+ "kind": {
332
+ "type": "string",
333
+ "description": "The kind of the group",
334
+ "const": "default",
335
+ "default": "default"
336
+ },
337
+ "role": {
338
+ "type": "string",
339
+ "const": "group"
340
+ }
341
+ }
342
+ }
343
+ ]
344
+ },
345
+ "button": {
346
+ "type": "object",
347
+ "properties": {
348
+ "svgIcon": {
349
+ "type": "string"
350
+ },
351
+ "icon": {
352
+ "type": "string"
353
+ },
354
+ "directiveList": {
355
+ "type": "array",
356
+ "items": {
357
+ "$ref": "#/definitions/type"
358
+ }
359
+ },
360
+ "importList": {
361
+ "type": "array",
362
+ "items": {
363
+ "$ref": "#/definitions/type"
364
+ }
365
+ }
366
+ }
367
+ },
368
+ "checkboxFormControl": {
369
+ "allOf": [
370
+ {
371
+ "$ref": "#/definitions/baseFormControl"
372
+ },
373
+ {
374
+ "type": "object",
375
+ "properties": {
376
+ "kind": {
377
+ "type": "string",
378
+ "const": "checkbox"
379
+ },
380
+ "labelPosition": {
381
+ "type": "string",
382
+ "enum": [
383
+ "before",
384
+ "after"
385
+ ]
386
+ }
387
+ }
388
+ }
389
+ ]
390
+ },
391
+ "control": {
392
+ "oneOf": [
393
+ {
394
+ "$ref": "#/definitions/formGroup"
395
+ },
396
+ {
397
+ "$ref": "#/definitions/formArray"
398
+ },
399
+ {
400
+ "$ref": "#/definitions/formControl"
401
+ }
402
+ ]
403
+ },
404
+ "formArray": {
405
+ "allOf": [
406
+ {
407
+ "type": "object",
408
+ "properties": {
409
+ "role": {
410
+ "type": "string",
411
+ "const": "array"
412
+ }
413
+ }
414
+ },
415
+ {
416
+ "oneOf": [
417
+ {
418
+ "allOf": [
419
+ {
420
+ "$ref": "#/definitions/baseFormArray"
421
+ },
422
+ {
423
+ "type": "object",
424
+ "properties": {
425
+ "kind": {
426
+ "type": "string",
427
+ "const": "default"
428
+ }
429
+ }
430
+ }
431
+ ]
432
+ }
433
+ ]
434
+ }
435
+ ]
436
+ },
437
+ "formComponent": {
438
+ "allOf": [
439
+ {
440
+ "$ref": "#/definitions/formDefinition"
441
+ },
442
+ {
443
+ "type": "object",
444
+ "properties": {
445
+ "window": {
446
+ "type": "boolean",
447
+ "description": "Whether the form can be opened in a window"
448
+ },
449
+ "role": {
450
+ "type": "string",
451
+ "description": "Define the role of the form"
452
+ },
453
+ "matFormFieldDefaultOptions": {
454
+ "appearance": {
455
+ "type": "string",
456
+ "description": "The appearance of the mat form field",
457
+ "enum": [
458
+ "legacy",
459
+ "standard",
460
+ "fill",
461
+ "outline"
462
+ ]
463
+ }
464
+ },
465
+ "identifier": {
466
+ "$ref": "#/definitions/accordionIdentifier"
467
+ }
468
+ }
469
+ }
470
+ ]
471
+ },
472
+ "formControl": {
473
+ "allOf": [
474
+ {
475
+ "type": "object",
476
+ "properties": {
477
+ "role": {
478
+ "type": "string",
479
+ "const": "control",
480
+ "default": "control"
481
+ }
482
+ }
483
+ },
484
+ {
485
+ "oneOf": [
486
+ {
487
+ "allOf": [
488
+ {
489
+ "$ref": "#/definitions/baseFormControl"
490
+ },
491
+ {
492
+ "type": "object",
493
+ "properties": {
494
+ "kind": {
495
+ "type": "string",
496
+ "const": "default"
497
+ }
498
+ }
499
+ }
500
+ ]
501
+ },
502
+ {
503
+ "$ref": "#/definitions/inputFormControl"
504
+ },
505
+ {
506
+ "$ref": "#/definitions/selectFormControl"
507
+ },
508
+ {
509
+ "$ref": "#/definitions/checkboxFormControl"
510
+ },
511
+ {
512
+ "$ref": "#/definitions/textareaFormControl"
513
+ },
514
+ {
515
+ "$ref": "#/definitions/tableSelectFormControl"
516
+ },
517
+ {
518
+ "$ref": "#/definitions/slideToggleFormControl"
519
+ },
520
+ {
521
+ "$ref": "#/definitions/autocompleteTableSelectFormControl"
522
+ }
523
+ ]
524
+ }
525
+ ]
526
+ },
527
+ "formDefinition": {
528
+ "type": "object",
529
+ "properties": {
530
+ "controlList": {
531
+ "alias": "control",
532
+ "type": "array",
533
+ "items": {
534
+ "$ref": "#/definitions/control"
535
+ }
536
+ }
537
+ },
538
+ "required": [
539
+ "controlList"
540
+ ]
541
+ },
542
+ "formField": {
543
+ "type": "object",
544
+ "properties": {
545
+ "label": {
546
+ "type": "string"
547
+ },
548
+ "prefixButton": {
549
+ "$ref": "#/definitions/button"
550
+ },
551
+ "suffixButton": {
552
+ "$ref": "#/definitions/button"
553
+ },
554
+ "hasClearButton": {
555
+ "type": "boolean"
556
+ }
557
+ }
558
+ },
559
+ "formGroup": {
560
+ "allOf": [
561
+ {
562
+ "type": "object",
563
+ "properties": {
564
+ "role": {
565
+ "type": "string",
566
+ "const": "group"
567
+ }
568
+ }
569
+ },
570
+ {
571
+ "oneOf": [
572
+ {
573
+ "allOf": [
574
+ {
575
+ "$ref": "#/definitions/baseFormGroup"
576
+ },
577
+ {
578
+ "type": "object",
579
+ "properties": {
580
+ "kind": {
581
+ "type": "string",
582
+ "const": "default"
583
+ }
584
+ }
585
+ }
586
+ ]
587
+ }
588
+ ]
589
+ }
590
+ ]
591
+ },
187
592
  "general": {
188
593
  "type": "object",
189
594
  "properties": {
@@ -260,6 +665,279 @@
260
665
  }
261
666
  }
262
667
  },
668
+ "inputFormControl": {
669
+ "allOf": [
670
+ {
671
+ "$ref": "#/definitions/baseFormControl"
672
+ },
673
+ {
674
+ "type": "object",
675
+ "properties": {
676
+ "kind": {
677
+ "type": "string",
678
+ "const": "input"
679
+ },
680
+ "formField": {
681
+ "$ref": "#/definitions/formField"
682
+ },
683
+ "inputType": {
684
+ "type": "string",
685
+ "enum": [
686
+ "text",
687
+ "password",
688
+ "email",
689
+ "number",
690
+ "tel",
691
+ "url",
692
+ "checkbox",
693
+ "color",
694
+ "date",
695
+ "time",
696
+ "datetime-local",
697
+ "file",
698
+ "hidden",
699
+ "image",
700
+ "month",
701
+ "radio",
702
+ "reset",
703
+ "button",
704
+ "search",
705
+ "submit",
706
+ "week",
707
+ "range"
708
+ ]
709
+ },
710
+ "placeholder": {
711
+ "type": "string"
712
+ }
713
+ }
714
+ }
715
+ ]
716
+ },
717
+ "property": {
718
+ "oneOf": [
719
+ {
720
+ "type": "string"
721
+ },
722
+ {
723
+ "type": "object",
724
+ "properties": {
725
+ "name": {
726
+ "type": "string"
727
+ },
728
+ "type": {
729
+ "$ref": "#/definitions/type"
730
+ },
731
+ "isArray": {
732
+ "type": "boolean"
733
+ }
734
+ },
735
+ "required": [
736
+ "name"
737
+ ]
738
+ }
739
+ ]
740
+ },
741
+ "selectFormControl": {
742
+ "allOf": [
743
+ {
744
+ "$ref": "#/definitions/baseFormControl"
745
+ },
746
+ {
747
+ "type": "object",
748
+ "properties": {
749
+ "formField": {
750
+ "$ref": "#/definitions/formField"
751
+ },
752
+ "kind": {
753
+ "type": "string",
754
+ "const": "select"
755
+ },
756
+ "optionList": {
757
+ "type": "array",
758
+ "items": {
759
+ "type": "object",
760
+ "properties": {
761
+ "display": {
762
+ "type": "string"
763
+ },
764
+ "value": {
765
+ "oneOf": [
766
+ {
767
+ "type": "string"
768
+ },
769
+ {
770
+ "type": "number"
771
+ },
772
+ {
773
+ "type": "boolean"
774
+ },
775
+ {
776
+ "type": "object",
777
+ "additionalProperties": true
778
+ }
779
+ ]
780
+ }
781
+ }
782
+ }
783
+ },
784
+ "backend": {
785
+ "$ref": "#/definitions/backend"
786
+ },
787
+ "multiple": {
788
+ "alias": "multi",
789
+ "type": "boolean",
790
+ "description": "Whether the select form control is multiple mode"
791
+ }
792
+ }
793
+ }
794
+ ]
795
+ },
796
+ "slideToggleFormControl": {
797
+ "allOf": [
798
+ {
799
+ "$ref": "#/definitions/baseFormControl"
800
+ },
801
+ {
802
+ "type": "object",
803
+ "properties": {
804
+ "kind": {
805
+ "type": "string",
806
+ "const": "slide-toggle"
807
+ },
808
+ "labelPosition": {
809
+ "type": "string",
810
+ "enum": [
811
+ "before",
812
+ "after"
813
+ ]
814
+ }
815
+ }
816
+ }
817
+ ]
818
+ },
819
+ "tableHeaderButtonSchematic": {
820
+ "allOf": [
821
+ {
822
+ "$ref": "#/definitions/angular"
823
+ },
824
+ {
825
+ "$ref": "#/definitions/headerButton"
826
+ },
827
+ {
828
+ "type": "object",
829
+ "properties": {
830
+ "tableName": {
831
+ "alias": "table",
832
+ "type": "string",
833
+ "description": "The name of the table action"
834
+ }
835
+ }
836
+ }
837
+ ]
838
+ },
839
+ "tableSelectFormControl": {
840
+ "allOf": [
841
+ {
842
+ "$ref": "#/definitions/baseFormControl"
843
+ },
844
+ {
845
+ "type": "object",
846
+ "properties": {
847
+ "formField": {
848
+ "$ref": "#/definitions/formField"
849
+ },
850
+ "kind": {
851
+ "type": "string",
852
+ "const": "table-select"
853
+ },
854
+ "placeholder": {
855
+ "type": "string"
856
+ },
857
+ "columnList": {
858
+ "alias": "column",
859
+ "type": "array",
860
+ "items": {
861
+ "description": "table column name",
862
+ "type": "object",
863
+ "properties": {
864
+ "name": {
865
+ "type": "string",
866
+ "description": "table column name"
867
+ },
868
+ "title": {
869
+ "type": "string",
870
+ "description": "table column label"
871
+ },
872
+ "hasFilter": {
873
+ "type": "boolean",
874
+ "description": "Whether the column has a filter"
875
+ },
876
+ "kind": {
877
+ "type": "string",
878
+ "description": "The kind of data in the column"
879
+ }
880
+ }
881
+ },
882
+ "description": "List of table column names"
883
+ },
884
+ "title": {
885
+ "type": "string",
886
+ "description": "The title of the table select window"
887
+ },
888
+ "toDisplay": {
889
+ "type": "object",
890
+ "properties": {
891
+ "property": {
892
+ "$ref": "#/definitions/property"
893
+ }
894
+ }
895
+ },
896
+ "toValue": {
897
+ "type": "object",
898
+ "properties": {
899
+ "property": {
900
+ "$ref": "#/definitions/property"
901
+ }
902
+ }
903
+ },
904
+ "upstream": {
905
+ "$ref": "#/definitions/upstream"
906
+ },
907
+ "resolver": {
908
+ "type": "object",
909
+ "properties": {
910
+ "upstream": {
911
+ "$ref": "#/definitions/upstream"
912
+ }
913
+ }
914
+ }
915
+ }
916
+ }
917
+ ]
918
+ },
919
+ "textareaFormControl": {
920
+ "allOf": [
921
+ {
922
+ "$ref": "#/definitions/baseFormControl"
923
+ },
924
+ {
925
+ "type": "object",
926
+ "properties": {
927
+ "formField": {
928
+ "$ref": "#/definitions/formField"
929
+ },
930
+ "kind": {
931
+ "type": "string",
932
+ "const": "textarea"
933
+ },
934
+ "placeholder": {
935
+ "type": "string"
936
+ }
937
+ }
938
+ }
939
+ ]
940
+ },
263
941
  "type": {
264
942
  "oneOf": [
265
943
  {
@@ -292,6 +970,65 @@
292
970
  ]
293
971
  }
294
972
  ]
973
+ },
974
+ "upstream": {
975
+ "oneOf": [
976
+ {
977
+ "type": "object",
978
+ "properties": {
979
+ "kind": {
980
+ "type": "string",
981
+ "enum": [
982
+ "open-api"
983
+ ]
984
+ },
985
+ "operationId": {
986
+ "type": "string"
987
+ },
988
+ "scope": {
989
+ "type": "string"
990
+ },
991
+ "mapper": {
992
+ "type": "object",
993
+ "properties": {
994
+ "pageIndex": {
995
+ "type": "string"
996
+ },
997
+ "pageSize": {
998
+ "type": "string"
999
+ },
1000
+ "sortBy": {
1001
+ "type": "string"
1002
+ },
1003
+ "sortDirection": {
1004
+ "type": "string"
1005
+ },
1006
+ "list": {
1007
+ "type": "string"
1008
+ },
1009
+ "total": {
1010
+ "type": "string"
1011
+ },
1012
+ "filter": {
1013
+ "type": "object",
1014
+ "properties": {
1015
+ "eq": {
1016
+ "type": "string"
1017
+ },
1018
+ "join": {
1019
+ "type": "string"
1020
+ }
1021
+ }
1022
+ }
1023
+ }
1024
+ }
1025
+ },
1026
+ "required": [
1027
+ "kind",
1028
+ "operationId"
1029
+ ]
1030
+ }
1031
+ ]
295
1032
  }
296
1033
  }
297
1034
  }