@rxap/schematic-angular 18.1.0-dev.3 → 18.1.0-dev.5

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 (187) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/collection.json +5 -0
  3. package/package.json +2 -2
  4. package/src/lib/accordion/header/base-accordion-header.js +1 -1
  5. package/src/lib/accordion/header/base-accordion-header.js.map +1 -1
  6. package/src/lib/accordion/item/base-accordion-item.d.ts +5 -0
  7. package/src/lib/accordion/item/base-accordion-item.js +7 -1
  8. package/src/lib/accordion/item/base-accordion-item.js.map +1 -1
  9. package/src/lib/accordion/item/nested-accordion-item.js +10 -1
  10. package/src/lib/accordion/item/nested-accordion-item.js.map +1 -1
  11. package/src/lib/accordion/item/switch-accordion-item.js +7 -5
  12. package/src/lib/accordion/item/switch-accordion-item.js.map +1 -1
  13. package/src/lib/angular-options.d.ts +1 -1
  14. package/src/lib/angular-options.js +1 -1
  15. package/src/lib/angular-options.js.map +1 -1
  16. package/src/lib/backend/backend-options.d.ts +1 -1
  17. package/src/lib/backend/backend-options.js +1 -1
  18. package/src/lib/backend/backend-options.js.map +1 -1
  19. package/src/lib/backend/backend-types.js.map +1 -0
  20. package/src/lib/backend/base-backend-options.d.ts +1 -1
  21. package/src/lib/backend/nest-js-backend-options.d.ts +1 -1
  22. package/src/lib/backend/nest-js-backend-options.js +1 -1
  23. package/src/lib/backend/nest-js-backend-options.js.map +1 -1
  24. package/src/lib/coerce-accordion-component.js +2 -12
  25. package/src/lib/coerce-accordion-component.js.map +1 -1
  26. package/src/lib/coerce-minimum-table-component.js +1 -1
  27. package/src/lib/coerce-minimum-table-component.js.map +1 -1
  28. package/src/lib/data-source/base-data-source-options.d.ts +7 -0
  29. package/src/lib/data-source/base-data-source-options.js +12 -0
  30. package/src/lib/data-source/base-data-source-options.js.map +1 -0
  31. package/src/lib/data-source/data-source-kinds.d.ts +4 -0
  32. package/src/lib/data-source/data-source-kinds.js +9 -0
  33. package/src/lib/data-source/data-source-kinds.js.map +1 -0
  34. package/src/lib/data-source/data-source-options.d.ts +7 -0
  35. package/src/lib/data-source/data-source-options.js +29 -0
  36. package/src/lib/data-source/data-source-options.js.map +1 -0
  37. package/src/lib/data-source/import-data-source-options.d.ts +13 -0
  38. package/src/lib/data-source/import-data-source-options.js +14 -0
  39. package/src/lib/data-source/import-data-source-options.js.map +1 -0
  40. package/src/lib/form/control/autocomplete-form-control.d.ts +1 -1
  41. package/src/lib/form/control/autocomplete-form-control.js +1 -1
  42. package/src/lib/form/control/autocomplete-form-control.js.map +1 -1
  43. package/src/lib/form/control/autocomplete-table-select-form-control.js +3 -2
  44. package/src/lib/form/control/autocomplete-table-select-form-control.js.map +1 -1
  45. package/src/lib/form/control/select-form-control.d.ts +4 -1
  46. package/src/lib/form/control/select-form-control.js +3 -2
  47. package/src/lib/form/control/select-form-control.js.map +1 -1
  48. package/src/lib/form/control/table-select-form-control.d.ts +15 -1
  49. package/src/lib/form/control/table-select-form-control.js +24 -3
  50. package/src/lib/form/control/table-select-form-control.js.map +1 -1
  51. package/src/lib/method/base-method-options.d.ts +7 -0
  52. package/src/lib/method/base-method-options.js +12 -0
  53. package/src/lib/method/base-method-options.js.map +1 -0
  54. package/src/lib/method/import-method-options.d.ts +13 -0
  55. package/src/lib/method/import-method-options.js +14 -0
  56. package/src/lib/method/import-method-options.js.map +1 -0
  57. package/src/lib/method/method-kinds.d.ts +5 -0
  58. package/src/lib/method/method-kinds.js +10 -0
  59. package/src/lib/method/method-kinds.js.map +1 -0
  60. package/src/lib/method/method-options.d.ts +11 -0
  61. package/src/lib/method/method-options.js +42 -0
  62. package/src/lib/method/method-options.js.map +1 -0
  63. package/src/lib/method/open-api-method-options.d.ts +12 -0
  64. package/src/lib/method/open-api-method-options.js +13 -0
  65. package/src/lib/method/open-api-method-options.js.map +1 -0
  66. package/src/lib/minimum-table-component-options.js +41 -32
  67. package/src/lib/minimum-table-component-options.js.map +1 -1
  68. package/src/lib/minimum-table-options.d.ts +2 -2
  69. package/src/lib/minimum-table-options.js +2 -2
  70. package/src/lib/minimum-table-options.js.map +1 -1
  71. package/src/lib/table/header-button/base-header-button.d.ts +16 -0
  72. package/src/lib/table/header-button/base-header-button.js +23 -0
  73. package/src/lib/table/header-button/base-header-button.js.map +1 -0
  74. package/src/lib/table/header-button/form-header-button.d.ts +14 -0
  75. package/src/lib/table/header-button/form-header-button.js +22 -0
  76. package/src/lib/table/header-button/form-header-button.js.map +1 -0
  77. package/src/lib/table/header-button/method-header-button.d.ts +14 -0
  78. package/src/lib/table/header-button/method-header-button.js +22 -0
  79. package/src/lib/table/header-button/method-header-button.js.map +1 -0
  80. package/src/lib/table/header-button/navigation-header-button.d.ts +17 -0
  81. package/src/lib/table/header-button/navigation-header-button.js +22 -0
  82. package/src/lib/table/header-button/navigation-header-button.js.map +1 -0
  83. package/src/lib/table/header-button-kind.d.ts +6 -0
  84. package/src/lib/table/header-button-kind.js +11 -0
  85. package/src/lib/table/header-button-kind.js.map +1 -0
  86. package/src/lib/table/table-header-button.d.ts +7 -0
  87. package/src/lib/table/table-header-button.js +25 -0
  88. package/src/lib/table/table-header-button.js.map +1 -0
  89. package/src/schema.json +329 -62
  90. package/src/schematic-input.schema.json +19 -0
  91. package/src/schematics/accordion/accordion-component/index.d.ts +1 -0
  92. package/src/schematics/accordion/accordion-component/index.js +48 -2
  93. package/src/schematics/accordion/accordion-component/index.js.map +1 -1
  94. package/src/schematics/accordion/accordion-component/schema.json +301 -36
  95. package/src/schematics/accordion/accordion-item-component/index.js +6 -2
  96. package/src/schematics/accordion/accordion-item-component/index.js.map +1 -1
  97. package/src/schematics/accordion/accordion-item-component/schema.json +301 -36
  98. package/src/schematics/accordion/item/accordion-item-data-grid-component/index.js +1 -1
  99. package/src/schematics/accordion/item/accordion-item-data-grid-component/index.js.map +1 -1
  100. package/src/schematics/accordion/item/accordion-item-data-grid-component/schema.json +164 -0
  101. package/src/schematics/accordion/item/accordion-item-nested-component/schema.json +301 -36
  102. package/src/schematics/accordion/item/accordion-item-switch-component/schema.json +301 -36
  103. package/src/schematics/accordion/item/accordion-item-table-component/schema.json +299 -34
  104. package/src/schematics/accordion/item/accordion-item-tree-table-component/index.js +1 -1
  105. package/src/schematics/accordion/item/accordion-item-tree-table-component/index.js.map +1 -1
  106. package/src/schematics/accordion/item/accordion-item-tree-table-component/schema.json +299 -34
  107. package/src/schematics/autocomplete-table-select-form-control.schema.json +20 -0
  108. package/src/schematics/base-data-source.schema.json +10 -0
  109. package/src/schematics/base-header-button.schema.json +41 -0
  110. package/src/schematics/base-method.schema.json +10 -0
  111. package/src/schematics/data-grid-component/index.js +1 -1
  112. package/src/schematics/data-grid-component/index.js.map +1 -1
  113. package/src/schematics/data-grid-component/schema.json +164 -0
  114. package/src/schematics/data-source.schema.json +34 -0
  115. package/src/schematics/form/control/autocomplete-form-control/index.js +3 -3
  116. package/src/schematics/form/control/autocomplete-form-control/index.js.map +1 -1
  117. package/src/schematics/form/control/autocomplete-table-select-form-control/index.d.ts +2 -1
  118. package/src/schematics/form/control/autocomplete-table-select-form-control/index.js +343 -215
  119. package/src/schematics/form/control/autocomplete-table-select-form-control/index.js.map +1 -1
  120. package/src/schematics/form/control/autocomplete-table-select-form-control/schema.json +150 -0
  121. package/src/schematics/form/control/select-form-control/index.js +72 -6
  122. package/src/schematics/form/control/select-form-control/index.js.map +1 -1
  123. package/src/schematics/form/control/table-select-form-control/schema.json +150 -0
  124. package/src/schematics/form/form-array/schema.json +164 -0
  125. package/src/schematics/form/form-component/index.js +1 -1
  126. package/src/schematics/form/form-component/index.js.map +1 -1
  127. package/src/schematics/form/form-component/schema.json +164 -0
  128. package/src/schematics/form/form-control/schema.json +164 -0
  129. package/src/schematics/form/form-definition/schema.json +164 -0
  130. package/src/schematics/form/form-group/schema.json +164 -0
  131. package/src/schematics/form-header-button.schema.json +31 -0
  132. package/src/schematics/header-button.schema.json +37 -33
  133. package/src/schematics/import-data-source.schema.json +31 -0
  134. package/src/schematics/import-method.schema.json +31 -0
  135. package/src/schematics/method-header-button.schema.json +31 -0
  136. package/src/schematics/method.schema.json +40 -0
  137. package/src/schematics/navigation-header-button.schema.json +31 -0
  138. package/src/schematics/open-api-method.schema.json +28 -0
  139. package/src/schematics/property-accordion-header.schema.json +2 -2
  140. package/src/schematics/table/action/dialog-table-action/schema.json +164 -0
  141. package/src/schematics/table/action/form-table-action/index.js +8 -2
  142. package/src/schematics/table/action/form-table-action/index.js.map +1 -1
  143. package/src/schematics/table/action/form-table-action/schema.json +164 -0
  144. package/src/schematics/table/action/navigation-table-action/schema.json +164 -0
  145. package/src/schematics/table/action/open-api-table-action/schema.json +164 -0
  146. package/src/schematics/table/action/operation-table-action/index.js +1 -1
  147. package/src/schematics/table/action/operation-table-action/index.js.map +1 -1
  148. package/src/schematics/table/action/operation-table-action/schema.json +164 -0
  149. package/src/schematics/table/header-button/form-table-header-button/index.d.ts +3 -11
  150. package/src/schematics/table/header-button/form-table-header-button/index.js +21 -24
  151. package/src/schematics/table/header-button/form-table-header-button/index.js.map +1 -1
  152. package/src/schematics/table/header-button/form-table-header-button/schema.d.ts +4 -13
  153. package/src/schematics/table/header-button/form-table-header-button/schema.json +297 -45
  154. package/src/schematics/table/header-button/form-table-header-button/template.schema.json +3 -16
  155. package/src/schematics/table/header-button/method-table-header-button/index.d.ts +8 -0
  156. package/src/schematics/table/header-button/method-table-header-button/index.js +91 -0
  157. package/src/schematics/table/header-button/method-table-header-button/index.js.map +1 -0
  158. package/src/schematics/table/header-button/method-table-header-button/schema.d.ts +6 -0
  159. package/src/schematics/table/header-button/method-table-header-button/schema.json +1502 -0
  160. package/src/schematics/table/header-button/method-table-header-button/template.schema.json +20 -0
  161. package/src/schematics/table/header-button/navigation-table-header-button/index.d.ts +3 -3
  162. package/src/schematics/table/header-button/navigation-table-header-button/index.js +9 -4
  163. package/src/schematics/table/header-button/navigation-table-header-button/index.js.map +1 -1
  164. package/src/schematics/table/header-button/navigation-table-header-button/schema.d.ts +4 -4
  165. package/src/schematics/table/header-button/navigation-table-header-button/schema.json +1342 -49
  166. package/src/schematics/table/header-button/navigation-table-header-button/template.schema.json +4 -12
  167. package/src/schematics/table/table-action/schema.json +164 -0
  168. package/src/schematics/table/table-component/index.js +1 -1
  169. package/src/schematics/table/table-component/index.js.map +1 -1
  170. package/src/schematics/table/table-component/schema.json +299 -34
  171. package/src/schematics/table/table-header-button/index.d.ts +4 -4
  172. package/src/schematics/table/table-header-button/index.js +2 -2
  173. package/src/schematics/table/table-header-button/index.js.map +1 -1
  174. package/src/schematics/table/table-header-button/schema.d.ts +2 -3
  175. package/src/schematics/table/table-header-button/schema.json +1333 -29
  176. package/src/schematics/table/tree-table-component/index.js +1 -1
  177. package/src/schematics/table/tree-table-component/index.js.map +1 -1
  178. package/src/schematics/table/tree-table-component/schema.json +299 -34
  179. package/src/schematics/table-select-form-control.schema.json +20 -0
  180. package/src/template.schema.json +36 -0
  181. package/src/lib/backend-types.js.map +0 -1
  182. package/src/lib/table-header-button.d.ts +0 -16
  183. package/src/lib/table-header-button.js +0 -78
  184. package/src/lib/table-header-button.js.map +0 -1
  185. package/src/schematics/accordion/accordion-component/files/component/__componentName__.component.stories.ts.hbs +0 -34
  186. /package/src/lib/{backend-types.d.ts → backend/backend-types.d.ts} +0 -0
  187. /package/src/lib/{backend-types.js → backend/backend-types.js} +0 -0
@@ -20,6 +20,95 @@
20
20
  }
21
21
  ],
22
22
  "definitions": {
23
+ "abstractControl": {
24
+ "allOf": [
25
+ {
26
+ "$ref": "#/definitions/property"
27
+ },
28
+ {
29
+ "type": "object",
30
+ "properties": {
31
+ "name": {
32
+ "type": "string",
33
+ "description": "The name of the control"
34
+ },
35
+ "isArray": {
36
+ "type": "boolean",
37
+ "description": "Whether the control value is an array",
38
+ "default": false
39
+ },
40
+ "state": {
41
+ "type": "string",
42
+ "description": "The initial state of the control"
43
+ },
44
+ "isRequired": {
45
+ "type": "boolean",
46
+ "description": "Whether the control value is required",
47
+ "default": false
48
+ },
49
+ "isReadonly": {
50
+ "type": "boolean",
51
+ "description": "Whether the control value is readonly",
52
+ "default": false
53
+ },
54
+ "isDisabled": {
55
+ "type": "boolean",
56
+ "description": "Whether the control value is disabled",
57
+ "default": false
58
+ },
59
+ "validatorList": {
60
+ "type": "array",
61
+ "items": {
62
+ "type": "string"
63
+ }
64
+ },
65
+ "kind": {
66
+ "type": "string",
67
+ "description": "The kind of the control",
68
+ "default": "default"
69
+ },
70
+ "importList": {
71
+ "type": "array",
72
+ "items": {
73
+ "$ref": "#/definitions/type"
74
+ }
75
+ },
76
+ "template": {
77
+ "type": "string",
78
+ "description": "The template of the control"
79
+ },
80
+ "role": {
81
+ "type": "string",
82
+ "description": "The role of the control",
83
+ "enum": [
84
+ "control",
85
+ "group",
86
+ "array"
87
+ ],
88
+ "default": "control"
89
+ }
90
+ },
91
+ "additionalProperties": true
92
+ }
93
+ ]
94
+ },
95
+ "accordionIdentifier": {
96
+ "type": "object",
97
+ "properties": {
98
+ "property": {
99
+ "$ref": "#/definitions/property"
100
+ },
101
+ "source": {
102
+ "type": "string",
103
+ "enum": [
104
+ "route"
105
+ ]
106
+ }
107
+ },
108
+ "required": [
109
+ "property"
110
+ ]
111
+ },
23
112
  "angular": {
24
113
  "allOf": [
25
114
  {
@@ -71,6 +160,155 @@
71
160
  }
72
161
  ]
73
162
  },
163
+ "autocompleteFormControl": {
164
+ "allOf": [
165
+ {
166
+ "$ref": "#/definitions/baseFormControl"
167
+ },
168
+ {
169
+ "type": "object",
170
+ "properties": {
171
+ "formField": {
172
+ "$ref": "#/definitions/formField"
173
+ },
174
+ "kind": {
175
+ "type": "string",
176
+ "const": "autocomplete"
177
+ },
178
+ "placeholder": {
179
+ "type": "string"
180
+ },
181
+ "toDisplay": {
182
+ "type": "object",
183
+ "properties": {
184
+ "property": {
185
+ "$ref": "#/definitions/property"
186
+ }
187
+ }
188
+ },
189
+ "toValue": {
190
+ "type": "object",
191
+ "properties": {
192
+ "property": {
193
+ "$ref": "#/definitions/property"
194
+ }
195
+ }
196
+ },
197
+ "upstream": {
198
+ "$ref": "#/definitions/upstream"
199
+ },
200
+ "resolver": {
201
+ "type": "object",
202
+ "properties": {
203
+ "upstream": {
204
+ "$ref": "#/definitions/upstream"
205
+ }
206
+ }
207
+ }
208
+ },
209
+ "required": [
210
+ "kind"
211
+ ]
212
+ }
213
+ ]
214
+ },
215
+ "autocompleteTableSelectFormControl": {
216
+ "allOf": [
217
+ {
218
+ "$ref": "#/definitions/baseFormControl"
219
+ },
220
+ {
221
+ "type": "object",
222
+ "properties": {
223
+ "formField": {
224
+ "$ref": "#/definitions/formField"
225
+ },
226
+ "kind": {
227
+ "type": "string",
228
+ "const": "autocomplete-table-select"
229
+ },
230
+ "dataSource": {
231
+ "$ref": "#/definitions/dataSource"
232
+ },
233
+ "options": {
234
+ "type": "object",
235
+ "properties": {
236
+ "method": {
237
+ "$ref": "#/definitions/method"
238
+ }
239
+ }
240
+ },
241
+ "placeholder": {
242
+ "type": "string"
243
+ },
244
+ "columnList": {
245
+ "alias": "column",
246
+ "type": "array",
247
+ "items": {
248
+ "description": "table column name",
249
+ "type": "object",
250
+ "properties": {
251
+ "name": {
252
+ "type": "string",
253
+ "description": "table column name"
254
+ },
255
+ "title": {
256
+ "type": "string",
257
+ "description": "table column label"
258
+ },
259
+ "hasFilter": {
260
+ "type": "boolean",
261
+ "description": "Whether the column has a filter"
262
+ },
263
+ "kind": {
264
+ "type": "string",
265
+ "description": "The kind of data in the column"
266
+ }
267
+ }
268
+ },
269
+ "description": "List of table column names"
270
+ },
271
+ "title": {
272
+ "type": "string",
273
+ "description": "The title of the table select window"
274
+ },
275
+ "toDisplay": {
276
+ "type": "object",
277
+ "properties": {
278
+ "property": {
279
+ "$ref": "#/definitions/property"
280
+ }
281
+ }
282
+ },
283
+ "toValue": {
284
+ "type": "object",
285
+ "properties": {
286
+ "property": {
287
+ "$ref": "#/definitions/property"
288
+ }
289
+ }
290
+ },
291
+ "upstream": {
292
+ "$ref": "#/definitions/upstream"
293
+ },
294
+ "resolver": {
295
+ "type": "object",
296
+ "properties": {
297
+ "upstream": {
298
+ "$ref": "#/definitions/upstream"
299
+ },
300
+ "method": {
301
+ "$ref": "#/definitions/method"
302
+ }
303
+ }
304
+ }
305
+ },
306
+ "required": [
307
+ "kind"
308
+ ]
309
+ }
310
+ ]
311
+ },
74
312
  "backend": {
75
313
  "oneOf": [
76
314
  {
@@ -108,45 +346,107 @@
108
346
  "description": "The backend that should be used to handel data",
109
347
  "default": "none"
110
348
  },
111
- "general": {
349
+ "baseDataSource": {
112
350
  "type": "object",
113
351
  "properties": {
114
- "project": {
115
- "type": "string",
116
- "description": "Project name where the files should be generated"
117
- },
118
- "feature": {
119
- "type": "string",
120
- "description": "Feature name where the files should be generated"
352
+ "kind": {
353
+ "type": "string"
354
+ }
355
+ }
356
+ },
357
+ "baseFormArray": {
358
+ "allOf": [
359
+ {
360
+ "$ref": "#/definitions/abstractControl"
121
361
  },
122
- "overwrite": {
123
- "anyOf": [
124
- {
125
- "type": "boolean"
126
- },
127
- {
362
+ {
363
+ "type": "object",
364
+ "properties": {
365
+ "controlList": {
128
366
  "type": "array",
367
+ "description": "The list of controls in the group",
129
368
  "items": {
130
- "type": "string"
369
+ "$ref": "#/definitions/control"
131
370
  }
371
+ },
372
+ "legend": {
373
+ "type": "string"
374
+ },
375
+ "groupLegend": {
376
+ "type": "string"
377
+ },
378
+ "kind": {
379
+ "type": "string",
380
+ "description": "The kind of the array",
381
+ "const": "default",
382
+ "default": "default"
383
+ },
384
+ "role": {
385
+ "type": "string",
386
+ "const": "array"
132
387
  }
133
- ],
134
- "description": "Overwrite existing files",
135
- "default": false
388
+ }
389
+ }
390
+ ]
391
+ },
392
+ "baseFormControl": {
393
+ "allOf": [
394
+ {
395
+ "$ref": "#/definitions/abstractControl"
136
396
  },
137
- "overwriteHtml": {
138
- "type": "boolean",
139
- "default": false
397
+ {
398
+ "type": "object",
399
+ "properties": {
400
+ "label": {
401
+ "type": "string",
402
+ "description": "The label of the control"
403
+ },
404
+ "role": {
405
+ "type": "string",
406
+ "const": "control"
407
+ }
408
+ }
409
+ }
410
+ ]
411
+ },
412
+ "baseFormGroup": {
413
+ "allOf": [
414
+ {
415
+ "$ref": "#/definitions/abstractControl"
140
416
  },
141
- "replace": {
142
- "type": "boolean",
143
- "default": false
417
+ {
418
+ "type": "object",
419
+ "properties": {
420
+ "controlList": {
421
+ "type": "array",
422
+ "description": "The list of controls in the group",
423
+ "items": {
424
+ "$ref": "#/definitions/control"
425
+ }
426
+ },
427
+ "legend": {
428
+ "type": "string"
429
+ },
430
+ "kind": {
431
+ "type": "string",
432
+ "description": "The kind of the group",
433
+ "const": "default",
434
+ "default": "default"
435
+ },
436
+ "role": {
437
+ "type": "string",
438
+ "const": "group"
439
+ }
440
+ }
144
441
  }
145
- }
442
+ ]
146
443
  },
147
- "headerButton": {
444
+ "baseHeaderButton": {
148
445
  "type": "object",
149
446
  "properties": {
447
+ "kind": {
448
+ "type": "string"
449
+ },
150
450
  "permission": {
151
451
  "type": "string"
152
452
  },
@@ -177,12 +477,1016 @@
177
477
  "successMessage": {
178
478
  "type": "string",
179
479
  "description": "The success message for the table action"
480
+ }
481
+ }
482
+ },
483
+ "baseMethod": {
484
+ "type": "object",
485
+ "properties": {
486
+ "kind": {
487
+ "type": "string"
488
+ }
489
+ }
490
+ },
491
+ "button": {
492
+ "type": "object",
493
+ "properties": {
494
+ "svgIcon": {
495
+ "type": "string"
180
496
  },
181
- "options": {
182
- "type": "object",
183
- "additionalProperties": true
497
+ "icon": {
498
+ "type": "string"
499
+ },
500
+ "directiveList": {
501
+ "type": "array",
502
+ "items": {
503
+ "$ref": "#/definitions/type"
504
+ }
505
+ },
506
+ "importList": {
507
+ "type": "array",
508
+ "items": {
509
+ "$ref": "#/definitions/type"
510
+ }
184
511
  }
185
512
  }
513
+ },
514
+ "checkboxFormControl": {
515
+ "allOf": [
516
+ {
517
+ "$ref": "#/definitions/baseFormControl"
518
+ },
519
+ {
520
+ "type": "object",
521
+ "properties": {
522
+ "kind": {
523
+ "type": "string",
524
+ "const": "checkbox"
525
+ },
526
+ "labelPosition": {
527
+ "type": "string",
528
+ "enum": [
529
+ "before",
530
+ "after"
531
+ ]
532
+ }
533
+ },
534
+ "required": [
535
+ "kind"
536
+ ]
537
+ }
538
+ ]
539
+ },
540
+ "control": {
541
+ "oneOf": [
542
+ {
543
+ "$ref": "#/definitions/formGroup"
544
+ },
545
+ {
546
+ "$ref": "#/definitions/formArray"
547
+ },
548
+ {
549
+ "$ref": "#/definitions/formControl"
550
+ }
551
+ ]
552
+ },
553
+ "cssClass": {
554
+ "oneOf": [
555
+ {
556
+ "type": "string"
557
+ },
558
+ {
559
+ "type": "array",
560
+ "items": {
561
+ "type": "string"
562
+ }
563
+ },
564
+ {
565
+ "type": "object",
566
+ "properties": {
567
+ "name": {
568
+ "type": "string"
569
+ }
570
+ }
571
+ },
572
+ {
573
+ "type": "array",
574
+ "items": {
575
+ "type": "object",
576
+ "properties": {
577
+ "name": {
578
+ "type": "string"
579
+ }
580
+ }
581
+ }
582
+ }
583
+ ]
584
+ },
585
+ "dataSource": {
586
+ "oneOf": [
587
+ {
588
+ "allOf": [
589
+ {
590
+ "$ref": "#/definitions/baseDataSource"
591
+ },
592
+ {
593
+ "type": "object",
594
+ "properties": {
595
+ "kind": {
596
+ "type": "string",
597
+ "const": "default",
598
+ "default": "default"
599
+ }
600
+ }
601
+ }
602
+ ]
603
+ },
604
+ {
605
+ "$ref": "#/definitions/importDataSource"
606
+ }
607
+ ]
608
+ },
609
+ "formArray": {
610
+ "allOf": [
611
+ {
612
+ "type": "object",
613
+ "properties": {
614
+ "role": {
615
+ "type": "string",
616
+ "const": "array"
617
+ }
618
+ },
619
+ "required": [
620
+ "role"
621
+ ]
622
+ },
623
+ {
624
+ "oneOf": [
625
+ {
626
+ "allOf": [
627
+ {
628
+ "$ref": "#/definitions/baseFormArray"
629
+ },
630
+ {
631
+ "type": "object",
632
+ "properties": {
633
+ "kind": {
634
+ "type": "string",
635
+ "const": "default",
636
+ "default": "default"
637
+ }
638
+ }
639
+ }
640
+ ]
641
+ }
642
+ ]
643
+ }
644
+ ]
645
+ },
646
+ "formComponent": {
647
+ "allOf": [
648
+ {
649
+ "$ref": "#/definitions/formDefinition"
650
+ },
651
+ {
652
+ "type": "object",
653
+ "properties": {
654
+ "window": {
655
+ "type": "boolean",
656
+ "description": "Whether the form can be opened in a window"
657
+ },
658
+ "role": {
659
+ "type": "string",
660
+ "description": "Define the role of the form"
661
+ },
662
+ "matFormFieldDefaultOptions": {
663
+ "appearance": {
664
+ "type": "string",
665
+ "description": "The appearance of the mat form field",
666
+ "enum": [
667
+ "legacy",
668
+ "standard",
669
+ "fill",
670
+ "outline"
671
+ ]
672
+ }
673
+ },
674
+ "identifier": {
675
+ "$ref": "#/definitions/accordionIdentifier"
676
+ }
677
+ }
678
+ }
679
+ ]
680
+ },
681
+ "formControl": {
682
+ "allOf": [
683
+ {
684
+ "type": "object",
685
+ "properties": {
686
+ "role": {
687
+ "type": "string",
688
+ "const": "control",
689
+ "default": "control"
690
+ }
691
+ }
692
+ },
693
+ {
694
+ "oneOf": [
695
+ {
696
+ "allOf": [
697
+ {
698
+ "$ref": "#/definitions/baseFormControl"
699
+ },
700
+ {
701
+ "type": "object",
702
+ "properties": {
703
+ "kind": {
704
+ "type": "string",
705
+ "const": "default",
706
+ "default": "default"
707
+ }
708
+ }
709
+ }
710
+ ]
711
+ },
712
+ {
713
+ "$ref": "#/definitions/inputFormControl"
714
+ },
715
+ {
716
+ "$ref": "#/definitions/selectFormControl"
717
+ },
718
+ {
719
+ "$ref": "#/definitions/checkboxFormControl"
720
+ },
721
+ {
722
+ "$ref": "#/definitions/textareaFormControl"
723
+ },
724
+ {
725
+ "$ref": "#/definitions/tableSelectFormControl"
726
+ },
727
+ {
728
+ "$ref": "#/definitions/slideToggleFormControl"
729
+ },
730
+ {
731
+ "$ref": "#/definitions/autocompleteTableSelectFormControl"
732
+ },
733
+ {
734
+ "$ref": "#/definitions/autocompleteFormControl"
735
+ }
736
+ ]
737
+ }
738
+ ]
739
+ },
740
+ "formDefinition": {
741
+ "type": "object",
742
+ "properties": {
743
+ "controlList": {
744
+ "alias": "control",
745
+ "type": "array",
746
+ "items": {
747
+ "$ref": "#/definitions/control"
748
+ }
749
+ }
750
+ },
751
+ "required": [
752
+ "controlList"
753
+ ]
754
+ },
755
+ "formField": {
756
+ "type": "object",
757
+ "properties": {
758
+ "label": {
759
+ "type": "string"
760
+ },
761
+ "prefixButton": {
762
+ "$ref": "#/definitions/button"
763
+ },
764
+ "suffixButton": {
765
+ "$ref": "#/definitions/button"
766
+ },
767
+ "hasClearButton": {
768
+ "type": "boolean"
769
+ },
770
+ "cssClass": {
771
+ "$ref": "#/definitions/cssClass"
772
+ }
773
+ }
774
+ },
775
+ "formGroup": {
776
+ "allOf": [
777
+ {
778
+ "type": "object",
779
+ "properties": {
780
+ "role": {
781
+ "type": "string",
782
+ "const": "group"
783
+ }
784
+ },
785
+ "required": [
786
+ "role"
787
+ ]
788
+ },
789
+ {
790
+ "oneOf": [
791
+ {
792
+ "allOf": [
793
+ {
794
+ "$ref": "#/definitions/baseFormGroup"
795
+ },
796
+ {
797
+ "type": "object",
798
+ "properties": {
799
+ "kind": {
800
+ "type": "string",
801
+ "const": "default",
802
+ "default": "default"
803
+ }
804
+ }
805
+ }
806
+ ]
807
+ }
808
+ ]
809
+ }
810
+ ]
811
+ },
812
+ "formHeaderButton": {
813
+ "allOf": [
814
+ {
815
+ "$ref": "#/definitions/baseHeaderButton"
816
+ },
817
+ {
818
+ "type": "object",
819
+ "properties": {
820
+ "kind": {
821
+ "type": "string",
822
+ "const": "form",
823
+ "default": "form"
824
+ },
825
+ "form": {
826
+ "$ref": "#/definitions/formComponent"
827
+ }
828
+ },
829
+ "required": [
830
+ "form"
831
+ ]
832
+ }
833
+ ]
834
+ },
835
+ "general": {
836
+ "type": "object",
837
+ "properties": {
838
+ "project": {
839
+ "type": "string",
840
+ "description": "Project name where the files should be generated"
841
+ },
842
+ "feature": {
843
+ "type": "string",
844
+ "description": "Feature name where the files should be generated"
845
+ },
846
+ "overwrite": {
847
+ "anyOf": [
848
+ {
849
+ "type": "boolean"
850
+ },
851
+ {
852
+ "type": "array",
853
+ "items": {
854
+ "type": "string"
855
+ }
856
+ }
857
+ ],
858
+ "description": "Overwrite existing files",
859
+ "default": false
860
+ },
861
+ "overwriteHtml": {
862
+ "type": "boolean",
863
+ "default": false
864
+ },
865
+ "replace": {
866
+ "type": "boolean",
867
+ "default": false
868
+ }
869
+ }
870
+ },
871
+ "headerButton": {
872
+ "oneOf": [
873
+ {
874
+ "allOf": [
875
+ {
876
+ "$ref": "#/definitions/baseHeaderButton"
877
+ },
878
+ {
879
+ "type": "object",
880
+ "properties": {
881
+ "kind": {
882
+ "type": "string",
883
+ "const": "default",
884
+ "default": "default"
885
+ }
886
+ }
887
+ }
888
+ ]
889
+ },
890
+ {
891
+ "$ref": "#/definitions/formHeaderButton"
892
+ },
893
+ {
894
+ "$ref": "#/definitions/navigationHeaderButton"
895
+ },
896
+ {
897
+ "$ref": "#/definitions/methodHeaderButton"
898
+ }
899
+ ]
900
+ },
901
+ "importDataSource": {
902
+ "allOf": [
903
+ {
904
+ "$ref": "#/definitions/baseDataSource"
905
+ },
906
+ {
907
+ "type": "object",
908
+ "properties": {
909
+ "kind": {
910
+ "type": "string",
911
+ "const": "import",
912
+ "default": "import"
913
+ },
914
+ "import": {
915
+ "$ref": "#/definitions/type"
916
+ }
917
+ },
918
+ "required": [
919
+ "import"
920
+ ]
921
+ }
922
+ ]
923
+ },
924
+ "importMethod": {
925
+ "allOf": [
926
+ {
927
+ "$ref": "#/definitions/baseMethod"
928
+ },
929
+ {
930
+ "type": "object",
931
+ "properties": {
932
+ "kind": {
933
+ "type": "string",
934
+ "const": "import",
935
+ "default": "import"
936
+ },
937
+ "import": {
938
+ "$ref": "#/definitions/type"
939
+ }
940
+ },
941
+ "required": [
942
+ "import"
943
+ ]
944
+ }
945
+ ]
946
+ },
947
+ "inputFormControl": {
948
+ "allOf": [
949
+ {
950
+ "$ref": "#/definitions/baseFormControl"
951
+ },
952
+ {
953
+ "type": "object",
954
+ "properties": {
955
+ "kind": {
956
+ "type": "string",
957
+ "const": "input"
958
+ },
959
+ "formField": {
960
+ "$ref": "#/definitions/formField"
961
+ },
962
+ "inputType": {
963
+ "type": "string",
964
+ "enum": [
965
+ "text",
966
+ "password",
967
+ "email",
968
+ "number",
969
+ "tel",
970
+ "url",
971
+ "checkbox",
972
+ "color",
973
+ "date",
974
+ "time",
975
+ "datetime-local",
976
+ "file",
977
+ "hidden",
978
+ "image",
979
+ "month",
980
+ "radio",
981
+ "reset",
982
+ "button",
983
+ "search",
984
+ "submit",
985
+ "week",
986
+ "range"
987
+ ]
988
+ },
989
+ "placeholder": {
990
+ "type": "string"
991
+ }
992
+ },
993
+ "required": [
994
+ "kind"
995
+ ]
996
+ }
997
+ ]
998
+ },
999
+ "method": {
1000
+ "oneOf": [
1001
+ {
1002
+ "allOf": [
1003
+ {
1004
+ "$ref": "#/definitions/baseMethod"
1005
+ },
1006
+ {
1007
+ "type": "object",
1008
+ "properties": {
1009
+ "kind": {
1010
+ "type": "string",
1011
+ "const": "default",
1012
+ "default": "default"
1013
+ }
1014
+ }
1015
+ }
1016
+ ]
1017
+ },
1018
+ {
1019
+ "$ref": "#/definitions/importMethod"
1020
+ },
1021
+ {
1022
+ "$ref": "#/definitions/openApiMethod"
1023
+ }
1024
+ ]
1025
+ },
1026
+ "methodHeaderButton": {
1027
+ "allOf": [
1028
+ {
1029
+ "$ref": "#/definitions/baseHeaderButton"
1030
+ },
1031
+ {
1032
+ "type": "object",
1033
+ "properties": {
1034
+ "kind": {
1035
+ "type": "string",
1036
+ "const": "method",
1037
+ "default": "method"
1038
+ },
1039
+ "method": {
1040
+ "$ref": "#/definitions/method"
1041
+ }
1042
+ },
1043
+ "required": [
1044
+ "method"
1045
+ ]
1046
+ }
1047
+ ]
1048
+ },
1049
+ "navigationHeaderButton": {
1050
+ "allOf": [
1051
+ {
1052
+ "$ref": "#/definitions/baseHeaderButton"
1053
+ },
1054
+ {
1055
+ "type": "object",
1056
+ "properties": {
1057
+ "kind": {
1058
+ "type": "string",
1059
+ "const": "navigation",
1060
+ "default": "navigation"
1061
+ },
1062
+ "route": {
1063
+ "type": "string"
1064
+ },
1065
+ "relativeTo": {
1066
+ "type": "boolean"
1067
+ }
1068
+ },
1069
+ "required": [
1070
+ "route"
1071
+ ]
1072
+ }
1073
+ ]
1074
+ },
1075
+ "openApiMethod": {
1076
+ "allOf": [
1077
+ {
1078
+ "$ref": "#/definitions/baseMethod"
1079
+ },
1080
+ {
1081
+ "type": "object",
1082
+ "properties": {
1083
+ "kind": {
1084
+ "type": "string",
1085
+ "const": "open-api",
1086
+ "default": "open-api"
1087
+ },
1088
+ "operationId": {
1089
+ "type": "string"
1090
+ }
1091
+ },
1092
+ "required": [
1093
+ "operationId"
1094
+ ]
1095
+ }
1096
+ ]
1097
+ },
1098
+ "option": {
1099
+ "type": "object",
1100
+ "properties": {
1101
+ "display": {
1102
+ "type": "string"
1103
+ },
1104
+ "value": {
1105
+ "oneOf": [
1106
+ {
1107
+ "type": "string"
1108
+ },
1109
+ {
1110
+ "type": "number"
1111
+ },
1112
+ {
1113
+ "type": "boolean"
1114
+ },
1115
+ {
1116
+ "type": "object",
1117
+ "additionalProperties": true
1118
+ }
1119
+ ]
1120
+ }
1121
+ }
1122
+ },
1123
+ "property": {
1124
+ "oneOf": [
1125
+ {
1126
+ "type": "string"
1127
+ },
1128
+ {
1129
+ "type": "object",
1130
+ "properties": {
1131
+ "name": {
1132
+ "type": "string"
1133
+ },
1134
+ "type": {
1135
+ "$ref": "#/definitions/type"
1136
+ },
1137
+ "isArray": {
1138
+ "type": "boolean"
1139
+ },
1140
+ "isRequired": {
1141
+ "type": "boolean"
1142
+ },
1143
+ "source": {
1144
+ "type": "string"
1145
+ },
1146
+ "memberList": {
1147
+ "type": "array",
1148
+ "items": {
1149
+ "additionalProperties": true
1150
+ }
1151
+ }
1152
+ }
1153
+ }
1154
+ ]
1155
+ },
1156
+ "selectFormControl": {
1157
+ "allOf": [
1158
+ {
1159
+ "$ref": "#/definitions/baseFormControl"
1160
+ },
1161
+ {
1162
+ "type": "object",
1163
+ "properties": {
1164
+ "formField": {
1165
+ "$ref": "#/definitions/formField"
1166
+ },
1167
+ "kind": {
1168
+ "type": "string",
1169
+ "const": "select"
1170
+ },
1171
+ "upstream": {
1172
+ "$ref": "#/definitions/upstream"
1173
+ },
1174
+ "optionList": {
1175
+ "type": "array",
1176
+ "items": {
1177
+ "$ref": "#/definitions/option"
1178
+ }
1179
+ },
1180
+ "backend": {
1181
+ "$ref": "#/definitions/backend"
1182
+ },
1183
+ "multiple": {
1184
+ "alias": "multi",
1185
+ "type": "boolean",
1186
+ "description": "Whether the select form control is multiple mode"
1187
+ }
1188
+ },
1189
+ "required": [
1190
+ "kind"
1191
+ ]
1192
+ }
1193
+ ]
1194
+ },
1195
+ "slideToggleFormControl": {
1196
+ "allOf": [
1197
+ {
1198
+ "$ref": "#/definitions/baseFormControl"
1199
+ },
1200
+ {
1201
+ "type": "object",
1202
+ "properties": {
1203
+ "kind": {
1204
+ "type": "string",
1205
+ "const": "slide-toggle"
1206
+ },
1207
+ "labelPosition": {
1208
+ "type": "string",
1209
+ "enum": [
1210
+ "before",
1211
+ "after"
1212
+ ]
1213
+ }
1214
+ },
1215
+ "required": [
1216
+ "kind"
1217
+ ]
1218
+ }
1219
+ ]
1220
+ },
1221
+ "tableSelectFormControl": {
1222
+ "allOf": [
1223
+ {
1224
+ "$ref": "#/definitions/baseFormControl"
1225
+ },
1226
+ {
1227
+ "type": "object",
1228
+ "properties": {
1229
+ "formField": {
1230
+ "$ref": "#/definitions/formField"
1231
+ },
1232
+ "kind": {
1233
+ "type": "string",
1234
+ "const": "table-select"
1235
+ },
1236
+ "dataSource": {
1237
+ "$ref": "#/definitions/dataSource"
1238
+ },
1239
+ "options": {
1240
+ "type": "object",
1241
+ "properties": {
1242
+ "method": {
1243
+ "$ref": "#/definitions/method"
1244
+ }
1245
+ }
1246
+ },
1247
+ "placeholder": {
1248
+ "type": "string"
1249
+ },
1250
+ "columnList": {
1251
+ "alias": "column",
1252
+ "type": "array",
1253
+ "items": {
1254
+ "description": "table column name",
1255
+ "type": "object",
1256
+ "properties": {
1257
+ "name": {
1258
+ "type": "string",
1259
+ "description": "table column name"
1260
+ },
1261
+ "title": {
1262
+ "type": "string",
1263
+ "description": "table column label"
1264
+ },
1265
+ "hasFilter": {
1266
+ "type": "boolean",
1267
+ "description": "Whether the column has a filter"
1268
+ },
1269
+ "kind": {
1270
+ "type": "string",
1271
+ "description": "The kind of data in the column"
1272
+ }
1273
+ }
1274
+ },
1275
+ "description": "List of table column names"
1276
+ },
1277
+ "title": {
1278
+ "type": "string",
1279
+ "description": "The title of the table select window"
1280
+ },
1281
+ "toDisplay": {
1282
+ "type": "object",
1283
+ "properties": {
1284
+ "property": {
1285
+ "$ref": "#/definitions/property"
1286
+ }
1287
+ }
1288
+ },
1289
+ "toValue": {
1290
+ "type": "object",
1291
+ "properties": {
1292
+ "property": {
1293
+ "$ref": "#/definitions/property"
1294
+ }
1295
+ }
1296
+ },
1297
+ "upstream": {
1298
+ "$ref": "#/definitions/upstream"
1299
+ },
1300
+ "resolver": {
1301
+ "type": "object",
1302
+ "properties": {
1303
+ "upstream": {
1304
+ "$ref": "#/definitions/upstream"
1305
+ },
1306
+ "method": {
1307
+ "$ref": "#/definitions/method"
1308
+ }
1309
+ }
1310
+ },
1311
+ "identifier": {
1312
+ "$ref": "#/definitions/accordionIdentifier"
1313
+ }
1314
+ },
1315
+ "required": [
1316
+ "kind"
1317
+ ]
1318
+ }
1319
+ ]
1320
+ },
1321
+ "textareaFormControl": {
1322
+ "allOf": [
1323
+ {
1324
+ "$ref": "#/definitions/baseFormControl"
1325
+ },
1326
+ {
1327
+ "type": "object",
1328
+ "properties": {
1329
+ "formField": {
1330
+ "$ref": "#/definitions/formField"
1331
+ },
1332
+ "kind": {
1333
+ "type": "string",
1334
+ "const": "textarea"
1335
+ },
1336
+ "placeholder": {
1337
+ "type": "string"
1338
+ },
1339
+ "autosize": {
1340
+ "type": "object",
1341
+ "properties": {
1342
+ "minRows": {
1343
+ "type": "number"
1344
+ },
1345
+ "maxRows": {
1346
+ "type": "number"
1347
+ }
1348
+ }
1349
+ }
1350
+ },
1351
+ "required": [
1352
+ "kind"
1353
+ ]
1354
+ }
1355
+ ]
1356
+ },
1357
+ "type": {
1358
+ "oneOf": [
1359
+ {
1360
+ "type": "string"
1361
+ },
1362
+ {
1363
+ "type": "object",
1364
+ "properties": {
1365
+ "name": {
1366
+ "type": "string"
1367
+ },
1368
+ "isTypeOnly": {
1369
+ "type": "boolean"
1370
+ },
1371
+ "moduleSpecifier": {
1372
+ "type": "string"
1373
+ },
1374
+ "namedImport": {
1375
+ "type": "string"
1376
+ },
1377
+ "namespaceImport": {
1378
+ "type": "string"
1379
+ },
1380
+ "defaultImport": {
1381
+ "type": "string"
1382
+ }
1383
+ },
1384
+ "required": [
1385
+ "name"
1386
+ ]
1387
+ }
1388
+ ]
1389
+ },
1390
+ "upstream": {
1391
+ "oneOf": [
1392
+ {
1393
+ "type": "object",
1394
+ "properties": {
1395
+ "kind": {
1396
+ "type": "string",
1397
+ "enum": [
1398
+ "open-api"
1399
+ ]
1400
+ },
1401
+ "operationId": {
1402
+ "type": "string"
1403
+ },
1404
+ "scope": {
1405
+ "type": "string"
1406
+ },
1407
+ "mapper": {
1408
+ "oneOf": [
1409
+ {
1410
+ "type": "object",
1411
+ "properties": {
1412
+ "kind": {
1413
+ "type": "string",
1414
+ "const": "paged"
1415
+ },
1416
+ "pageIndex": {
1417
+ "type": "string"
1418
+ },
1419
+ "pageSize": {
1420
+ "type": "string"
1421
+ },
1422
+ "sortBy": {
1423
+ "type": "string"
1424
+ },
1425
+ "sortDirection": {
1426
+ "type": "string"
1427
+ },
1428
+ "list": {
1429
+ "type": "string"
1430
+ },
1431
+ "total": {
1432
+ "type": "string"
1433
+ },
1434
+ "filter": {
1435
+ "type": "object",
1436
+ "properties": {
1437
+ "eq": {
1438
+ "type": "string"
1439
+ },
1440
+ "join": {
1441
+ "type": "string"
1442
+ }
1443
+ }
1444
+ }
1445
+ }
1446
+ },
1447
+ {
1448
+ "type": "object",
1449
+ "properties": {
1450
+ "kind": {
1451
+ "type": "string",
1452
+ "const": "options"
1453
+ },
1454
+ "toFunction": {
1455
+ "type": "string",
1456
+ "enum": [
1457
+ "ToOptions",
1458
+ "ToOptionsFromObject"
1459
+ ]
1460
+ },
1461
+ "toValue": {
1462
+ "type": "string"
1463
+ },
1464
+ "toDisplay": {
1465
+ "type": "string"
1466
+ }
1467
+ }
1468
+ },
1469
+ {
1470
+ "type": "object",
1471
+ "properties": {
1472
+ "kind": {
1473
+ "type": "string",
1474
+ "const": "resolve"
1475
+ },
1476
+ "value": {
1477
+ "type": "string"
1478
+ }
1479
+ }
1480
+ }
1481
+ ]
1482
+ }
1483
+ },
1484
+ "required": [
1485
+ "kind",
1486
+ "operationId"
1487
+ ]
1488
+ }
1489
+ ]
186
1490
  }
187
1491
  }
188
1492
  }