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

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 (242) hide show
  1. package/CHANGELOG.md +146 -0
  2. package/README.md +1 -1
  3. package/package.json +11 -9
  4. package/src/lib/accordion-header.d.ts +5 -0
  5. package/src/lib/accordion-header.js +9 -3
  6. package/src/lib/accordion-header.js.map +1 -1
  7. package/src/lib/accordion-identifier.d.ts +4 -0
  8. package/src/lib/accordion-identifier.js.map +1 -1
  9. package/src/lib/accordion-item.d.ts +25 -17
  10. package/src/lib/accordion-item.js +72 -33
  11. package/src/lib/accordion-item.js.map +1 -1
  12. package/src/lib/accordion-itme-kinds.d.ts +8 -0
  13. package/src/lib/accordion-itme-kinds.js +16 -0
  14. package/src/lib/accordion-itme-kinds.js.map +1 -0
  15. package/src/lib/coerce-accordion-component.js +7 -3
  16. package/src/lib/coerce-accordion-component.js.map +1 -1
  17. package/src/lib/coerce-accordion-item-table-component.js +1 -1
  18. package/src/lib/coerce-accordion-item-table-component.js.map +1 -1
  19. package/src/lib/coerce-form-component.js +5 -2
  20. package/src/lib/coerce-form-component.js.map +1 -1
  21. package/src/lib/coerce-minimum-table-component.js +9 -3
  22. package/src/lib/coerce-minimum-table-component.js.map +1 -1
  23. package/src/lib/coerce-tree-table-component.js +16 -0
  24. package/src/lib/coerce-tree-table-component.js.map +1 -1
  25. package/src/lib/data-grid-item.d.ts +46 -11
  26. package/src/lib/data-grid-item.js +80 -5
  27. package/src/lib/data-grid-item.js.map +1 -1
  28. package/src/lib/data-grid-mode.d.ts +4 -0
  29. package/src/lib/data-grid-mode.js +9 -0
  30. package/src/lib/data-grid-mode.js.map +1 -0
  31. package/src/lib/data-grid-options.d.ts +12 -5
  32. package/src/lib/data-grid-options.js +43 -13
  33. package/src/lib/data-grid-options.js.map +1 -1
  34. package/src/lib/form/generate-form-template.d.ts +5 -0
  35. package/src/lib/form/generate-form-template.js +12 -0
  36. package/src/lib/form/generate-form-template.js.map +1 -0
  37. package/src/lib/form-component-control.d.ts +2 -6
  38. package/src/lib/form-component-control.js.map +1 -1
  39. package/src/lib/form-control.d.ts +136 -0
  40. package/src/lib/form-control.js +265 -0
  41. package/src/lib/form-control.js.map +1 -0
  42. package/src/lib/form-definition-control.d.ts +3 -57
  43. package/src/lib/form-definition-control.js +18 -144
  44. package/src/lib/form-definition-control.js.map +1 -1
  45. package/src/lib/load-handlebars-template.d.ts +4 -0
  46. package/src/lib/load-handlebars-template.js +28 -0
  47. package/src/lib/load-handlebars-template.js.map +1 -0
  48. package/src/lib/merge-with-column-list.js +3 -1
  49. package/src/lib/merge-with-column-list.js.map +1 -1
  50. package/src/lib/minimum-table-component-options.d.ts +12 -2
  51. package/src/lib/minimum-table-component-options.js +14 -17
  52. package/src/lib/minimum-table-component-options.js.map +1 -1
  53. package/src/lib/minimum-table-options.d.ts +1 -1
  54. package/src/lib/minimum-table-options.js +2 -2
  55. package/src/lib/minimum-table-options.js.map +1 -1
  56. package/src/lib/pipe-option.d.ts +11 -0
  57. package/src/lib/pipe-option.js +75 -0
  58. package/src/lib/pipe-option.js.map +1 -0
  59. package/src/lib/table/table-filter-column-rule.d.ts +13 -0
  60. package/src/lib/table/table-filter-column-rule.js +88 -0
  61. package/src/lib/table/table-filter-column-rule.js.map +1 -0
  62. package/src/lib/table-column.d.ts +19 -9
  63. package/src/lib/table-column.js +132 -113
  64. package/src/lib/table-column.js.map +1 -1
  65. package/src/lib/table-options.d.ts +1 -1
  66. package/src/lib/tree-table-options.d.ts +1 -1
  67. package/src/lib/use-pick-from-table-interface-as-form-type.d.ts +10 -0
  68. package/src/lib/use-pick-from-table-interface-as-form-type.js +32 -0
  69. package/src/lib/use-pick-from-table-interface-as-form-type.js.map +1 -0
  70. package/src/lib/value-option.d.ts +12 -0
  71. package/src/lib/value-option.js +66 -0
  72. package/src/lib/value-option.js.map +1 -0
  73. package/src/schema.json +2368 -0
  74. package/src/schematic-input.schema.json +607 -0
  75. package/src/schematics/accordion/accordion-component/files/component/__componentName__.component.html.hbs +25 -0
  76. package/src/schematics/accordion/accordion-component/index.d.ts +5 -2
  77. package/src/schematics/accordion/accordion-component/index.js +56 -122
  78. package/src/schematics/accordion/accordion-component/index.js.map +1 -1
  79. package/src/schematics/accordion/accordion-component/schema.d.ts +6 -0
  80. package/src/schematics/accordion/accordion-component/schema.json +314 -132
  81. package/src/schematics/accordion/accordion-component/template.schema.json +105 -0
  82. package/src/schematics/accordion/accordion-item-component/index.d.ts +9 -4
  83. package/src/schematics/accordion/accordion-item-component/index.js +112 -86
  84. package/src/schematics/accordion/accordion-item-component/index.js.map +1 -1
  85. package/src/schematics/accordion/accordion-item-component/schema.d.ts +2 -2
  86. package/src/schematics/accordion/accordion-item-component/schema.json +282 -70
  87. package/src/schematics/accordion/accordion-item-component/template.schema.json +32 -0
  88. package/src/schematics/accordion/item/accordion-item-data-grid-component/index.d.ts +1 -1
  89. package/src/schematics/accordion/item/accordion-item-data-grid-component/index.js +35 -51
  90. package/src/schematics/accordion/item/accordion-item-data-grid-component/index.js.map +1 -1
  91. package/src/schematics/accordion/item/accordion-item-data-grid-component/schema.d.ts +1 -1
  92. package/src/schematics/accordion/item/accordion-item-data-grid-component/schema.json +454 -85
  93. package/src/schematics/accordion/item/accordion-item-data-grid-component/template.schema.json +31 -0
  94. package/src/schematics/accordion/item/accordion-item-switch-component/index.d.ts +1 -1
  95. package/src/schematics/accordion/item/accordion-item-switch-component/index.js +16 -8
  96. package/src/schematics/accordion/item/accordion-item-switch-component/index.js.map +1 -1
  97. package/src/schematics/accordion/item/accordion-item-switch-component/schema.d.ts +1 -1
  98. package/src/schematics/accordion/item/accordion-item-switch-component/schema.json +322 -190
  99. package/src/schematics/accordion/item/accordion-item-switch-component/template.schema.json +81 -0
  100. package/src/schematics/accordion/item/accordion-item-table-component/index.d.ts +1 -1
  101. package/src/schematics/accordion/item/accordion-item-table-component/index.js +16 -19
  102. package/src/schematics/accordion/item/accordion-item-table-component/index.js.map +1 -1
  103. package/src/schematics/accordion/item/accordion-item-table-component/schema.d.ts +1 -1
  104. package/src/schematics/accordion/item/accordion-item-table-component/schema.json +615 -278
  105. package/src/schematics/accordion/item/accordion-item-table-component/template.schema.json +43 -0
  106. package/src/schematics/accordion/item/accordion-item-tree-table-component/index.d.ts +1 -1
  107. package/src/schematics/accordion/item/accordion-item-tree-table-component/index.js +48 -84
  108. package/src/schematics/accordion/item/accordion-item-tree-table-component/index.js.map +1 -1
  109. package/src/schematics/accordion/item/accordion-item-tree-table-component/schema.d.ts +1 -1
  110. package/src/schematics/accordion/item/accordion-item-tree-table-component/schema.json +591 -271
  111. package/src/schematics/accordion/item/accordion-item-tree-table-component/template.schema.json +43 -0
  112. package/src/schematics/accordion/templates/accordion-header.hbs +6 -0
  113. package/src/schematics/accordion/templates/data-grid-accordion-item.hbs +15 -0
  114. package/src/schematics/accordion/templates/default-accordion-item.hbs +15 -0
  115. package/src/schematics/accordion/templates/switch-accordion-item.hbs +21 -0
  116. package/src/schematics/accordion/templates/table-accordion-item.hbs +15 -0
  117. package/src/schematics/accordion/templates/tree-table-accordion-item.hbs +15 -0
  118. package/src/schematics/accordion-identifier.schema.json +25 -0
  119. package/src/schematics/accordion-item.schema.json +59 -0
  120. package/src/schematics/angular.schema.json +11 -11
  121. package/src/schematics/backend.schema.json +13 -0
  122. package/src/schematics/button.schema.json +30 -0
  123. package/src/schematics/data-grid-component/files/component/__componentName__.component.html.hbs +35 -0
  124. package/src/schematics/data-grid-component/index.d.ts +2 -4
  125. package/src/schematics/data-grid-component/index.js +83 -52
  126. package/src/schematics/data-grid-component/index.js.map +1 -1
  127. package/src/schematics/data-grid-component/schema.json +413 -141
  128. package/src/schematics/data-grid-component/template.schema.json +20 -0
  129. package/src/schematics/data-grid-component/templates/default-data-grid-item.hbs +3 -0
  130. package/src/schematics/data-grid-component/templates/link-data-grid-item.hbs +8 -0
  131. package/src/schematics/data-grid-item.schema.json +50 -0
  132. package/src/schematics/data-grid.schema.json +66 -0
  133. package/src/schematics/dialog-component/schema.json +141 -65
  134. package/src/schematics/dialog-component/template.schema.json +62 -0
  135. package/src/schematics/form/control/input-form-control/index.d.ts +2 -2
  136. package/src/schematics/form/control/input-form-control/index.js +4 -27
  137. package/src/schematics/form/control/input-form-control/index.js.map +1 -1
  138. package/src/schematics/form/control/input-form-control/schema.d.ts +2 -3
  139. package/src/schematics/form/control/input-form-control/schema.json +182 -105
  140. package/src/schematics/form/control/input-form-control/template.schema.json +20 -0
  141. package/src/schematics/form/control/select-form-control/index.d.ts +4 -2
  142. package/src/schematics/form/control/select-form-control/index.js +132 -96
  143. package/src/schematics/form/control/select-form-control/index.js.map +1 -1
  144. package/src/schematics/form/control/select-form-control/schema.d.ts +2 -3
  145. package/src/schematics/form/control/select-form-control/schema.json +194 -86
  146. package/src/schematics/form/control/select-form-control/template.schema.json +20 -0
  147. package/src/schematics/form/control/table-select-form-control/index.d.ts +9 -5
  148. package/src/schematics/form/control/table-select-form-control/index.js +199 -143
  149. package/src/schematics/form/control/table-select-form-control/index.js.map +1 -1
  150. package/src/schematics/form/control/table-select-form-control/schema.d.ts +2 -4
  151. package/src/schematics/form/control/table-select-form-control/schema.json +245 -100
  152. package/src/schematics/form/control/table-select-form-control/template.schema.json +83 -0
  153. package/src/schematics/form/form-component/files/component/{__componentName__.component.html.template → __componentName__.component.html.hbs} +3 -3
  154. package/src/schematics/form/form-component/index.d.ts +2 -0
  155. package/src/schematics/form/form-component/index.js +22 -7
  156. package/src/schematics/form/form-component/index.js.map +1 -1
  157. package/src/schematics/form/form-component/schema.d.ts +3 -1
  158. package/src/schematics/form/form-component/schema.json +275 -150
  159. package/src/schematics/form/form-component/template.schema.json +20 -0
  160. package/src/schematics/form/form-control/index.d.ts +3 -1
  161. package/src/schematics/form/form-control/index.js +19 -8
  162. package/src/schematics/form/form-control/index.js.map +1 -1
  163. package/src/schematics/form/form-control/schema.json +203 -75
  164. package/src/schematics/form/form-control/template.schema.json +34 -0
  165. package/src/schematics/form/form-definition/index.js +14 -1
  166. package/src/schematics/form/form-definition/index.js.map +1 -1
  167. package/src/schematics/form/form-definition/schema.json +210 -127
  168. package/src/schematics/form/form-definition/template.schema.json +30 -0
  169. package/src/schematics/form/templates/checkbox-form-control.hbs +9 -0
  170. package/src/schematics/form/templates/default-form-control.hbs +2 -0
  171. package/src/schematics/form/templates/input-form-control.hbs +9 -0
  172. package/src/schematics/form/templates/mat-form-field.hbs +31 -0
  173. package/src/schematics/form/templates/slide-toggle-form-control.hbs +8 -0
  174. package/src/schematics/form/templates/table-select-form-control.hbs +18 -0
  175. package/src/schematics/form-component.schema.json +45 -0
  176. package/src/schematics/form-control.schema.json +68 -0
  177. package/src/schematics/form-definition.schema.json +22 -0
  178. package/src/schematics/form-field.schema.json +24 -0
  179. package/src/schematics/general.schema.json +1 -4
  180. package/src/schematics/header-button.schema.json +42 -0
  181. package/src/schematics/input-form-control.schema.json +55 -0
  182. package/src/schematics/minimum-table.schema.json +60 -0
  183. package/src/schematics/pipe.schema.json +38 -0
  184. package/src/schematics/property.schema.json +31 -0
  185. package/src/schematics/select-form-control.schema.json +64 -0
  186. package/src/schematics/table/action/dialog-table-action/schema.json +209 -125
  187. package/src/schematics/table/action/dialog-table-action/template.schema.json +58 -0
  188. package/src/schematics/table/action/form-table-action/schema.json +383 -153
  189. package/src/schematics/table/action/form-table-action/template.schema.json +75 -0
  190. package/src/schematics/table/action/navigation-table-action/schema.json +187 -80
  191. package/src/schematics/table/action/navigation-table-action/template.schema.json +28 -0
  192. package/src/schematics/table/action/open-api-table-action/schema.json +206 -97
  193. package/src/schematics/table/action/open-api-table-action/template.schema.json +56 -0
  194. package/src/schematics/table/action/operation-table-action/schema.json +174 -84
  195. package/src/schematics/table/action/operation-table-action/template.schema.json +14 -0
  196. package/src/schematics/table/header-button/form-table-header-button/schema.json +272 -114
  197. package/src/schematics/table/header-button/form-table-header-button/template.schema.json +51 -0
  198. package/src/schematics/table/header-button/navigation-table-header-button/schema.json +167 -71
  199. package/src/schematics/table/header-button/navigation-table-header-button/template.schema.json +28 -0
  200. package/src/schematics/table/table-action/schema.json +165 -78
  201. package/src/schematics/table/table-action/template.schema.json +30 -0
  202. package/src/schematics/table/table-component/files/component/__componentName__.component.html.hbs +241 -0
  203. package/src/schematics/table/table-component/index.d.ts +1 -3
  204. package/src/schematics/table/table-component/index.js +14 -120
  205. package/src/schematics/table/table-component/index.js.map +1 -1
  206. package/src/schematics/table/table-component/schema.json +524 -277
  207. package/src/schematics/table/table-component/template.schema.json +20 -0
  208. package/src/schematics/table/table-header-button/schema.json +146 -64
  209. package/src/schematics/table/table-header-button/template.schema.json +30 -0
  210. package/src/schematics/table/templates/boolean-table-column.hbs +10 -0
  211. package/src/schematics/table/templates/component-table-column.hbs +12 -0
  212. package/src/schematics/table/templates/copy-to-clipboard-table-column.hbs +10 -0
  213. package/src/schematics/table/templates/date-table-column.hbs +11 -0
  214. package/src/schematics/table/templates/default-table-column.hbs +8 -0
  215. package/src/schematics/table/templates/icon-table-column.hbs +10 -0
  216. package/src/schematics/table/templates/link-table-column.hbs +10 -0
  217. package/src/schematics/table/tree-table-component/files/component/__componentName__.component.html.hbs +255 -0
  218. package/src/schematics/table/tree-table-component/index.d.ts +3 -0
  219. package/src/schematics/table/tree-table-component/index.js +28 -7
  220. package/src/schematics/table/tree-table-component/index.js.map +1 -1
  221. package/src/schematics/table/tree-table-component/schema.json +514 -260
  222. package/src/schematics/table/tree-table-component/template.schema.json +20 -0
  223. package/src/schematics/table-action.schema.json +61 -0
  224. package/src/schematics/table-column.schema.json +75 -0
  225. package/src/schematics/table.schema.json +57 -0
  226. package/src/schematics/templates/pipe.hbs +4 -0
  227. package/src/schematics/tree-component/schema.json +115 -70
  228. package/src/schematics/tree-component/template.schema.json +36 -0
  229. package/src/schematics/tree-table.schema.json +40 -0
  230. package/src/schematics/type.schema.json +35 -0
  231. package/src/schematics/upstream.schema.json +56 -0
  232. package/src/schematics/value.schema.json +26 -0
  233. package/src/template.schema.json +173 -0
  234. package/src/lib/accordion-itme-types.d.ts +0 -8
  235. package/src/lib/accordion-itme-types.js +0 -16
  236. package/src/lib/accordion-itme-types.js.map +0 -1
  237. package/src/schematics/accordion/accordion-component/files/component/__componentName__.component.html.template +0 -94
  238. package/src/schematics/accordion/accordion-component/files/header-component/accordion-header.component.html.template +0 -10
  239. package/src/schematics/data-grid-component/files/form/__componentName__.component.html.template +0 -42
  240. package/src/schematics/data-grid-component/files/plain/__componentName__.component.html.template +0 -25
  241. package/src/schematics/table/table-component/files/component/__componentName__.component.html.template +0 -299
  242. package/src/schematics/table/tree-table-component/files/component/__componentName__.component.html.template +0 -213
@@ -1,334 +1,671 @@
1
1
  {
2
2
  "$schema": "http://json-schema.org/schema",
3
- "$id": "accordion-item-table-component",
4
- "type": "object",
5
- "properties": {
6
- "itemName": {
7
- "alias": "name",
8
- "type": "string",
9
- "description": "The name of the accordion item",
10
- "x-prompt": "Which name should the accordion item module have?"
3
+ "$id": "accordion-item-table-component-schematic",
4
+ "allOf": [
5
+ {
6
+ "$ref": "#/definitions/angular"
11
7
  },
12
- "project": {
13
- "type": "string",
14
- "description": "The target project where the accordion item module should be added.",
15
- "x-prompt": "To which project should the accordion item module be added?"
8
+ {
9
+ "$ref": "#/definitions/accordionItem"
16
10
  },
17
- "feature": {
18
- "type": "string",
19
- "description": "The feature name where the accordion item module should be added.",
20
- "x-prompt": "To which feature should the accordion item module be added?"
11
+ {
12
+ "type": "object",
13
+ "properties": {
14
+ "modifiers": {
15
+ "alias": "modifier",
16
+ "type": "array",
17
+ "items": {
18
+ "type": "string",
19
+ "enum": [
20
+ "navigation-back-header",
21
+ "without-title"
22
+ ]
23
+ },
24
+ "description": "The table modifiers"
25
+ },
26
+ "table": {
27
+ "$ref": "#/definitions/table"
28
+ }
29
+ }
30
+ }
31
+ ],
32
+ "definitions": {
33
+ "accordionItem": {
34
+ "type": "object",
35
+ "properties": {
36
+ "kind": {
37
+ "type": "string",
38
+ "enum": [
39
+ "default",
40
+ "table",
41
+ "data-grid",
42
+ "data-grid-collection",
43
+ "tree-table",
44
+ "switch"
45
+ ],
46
+ "description": "The type of the accordion item",
47
+ "default": "panel"
48
+ },
49
+ "modifiers": {
50
+ "alias": "modifier",
51
+ "type": "array",
52
+ "items": {
53
+ "type": "string"
54
+ },
55
+ "description": "The modifiers to apply to the accordion item type"
56
+ },
57
+ "identifier": {
58
+ "$ref": "#/definitions/accordionIdentifier"
59
+ },
60
+ "title": {
61
+ "type": "string"
62
+ },
63
+ "description": {
64
+ "type": "string"
65
+ },
66
+ "upstream": {
67
+ "$ref": "#/definitions/upstream"
68
+ },
69
+ "propertyList": {
70
+ "alias": "property",
71
+ "type": "array",
72
+ "items": {
73
+ "$ref": "#/definitions/property"
74
+ }
75
+ }
76
+ },
77
+ "additionalProperties": true
21
78
  },
22
- "accordionName": {
23
- "type": "string",
24
- "description": "The name of the accordion module where the item should be added.",
25
- "x-prompt": "To which accordion module should the accordion item module be added?"
79
+ "angular": {
80
+ "allOf": [
81
+ {
82
+ "$ref": "#/definitions/general"
83
+ },
84
+ {
85
+ "type": "object",
86
+ "properties": {
87
+ "componentName": {
88
+ "type": "string"
89
+ },
90
+ "name": {
91
+ "type": "string"
92
+ },
93
+ "context": {
94
+ "type": "string",
95
+ "description": "The context use to generate proper names for class, files, etc"
96
+ },
97
+ "nestModule": {
98
+ "type": "string",
99
+ "description": "The module name for the table nest operations"
100
+ },
101
+ "controllerName": {
102
+ "type": "string"
103
+ },
104
+ "backend": {
105
+ "$ref": "#/definitions/backend"
106
+ },
107
+ "directory": {
108
+ "type": "string",
109
+ "description": "A directory name or absolute path where the files should be generated. Relative to the project and feature base path if a feature is defined"
110
+ },
111
+ "shared": {
112
+ "type": "boolean",
113
+ "description": "Whether the generated code is used across the project",
114
+ "default": false
115
+ },
116
+ "scope": {
117
+ "type": "string"
118
+ },
119
+ "prefix": {
120
+ "type": "string"
121
+ },
122
+ "openApi": {
123
+ "type": "object",
124
+ "additionalProperties": true
125
+ }
126
+ }
127
+ }
128
+ ]
26
129
  },
27
- "shared": {
28
- "type": "boolean",
29
- "default": false,
30
- "description": "Whether the item is based of a shared component"
130
+ "table": {
131
+ "allOf": [
132
+ {
133
+ "$ref": "#/definitions/minimumTable"
134
+ },
135
+ {
136
+ "type": "object",
137
+ "properties": {
138
+ "tableMethod": {
139
+ "$ref": "#/definitions/type"
140
+ },
141
+ "openApi": {
142
+ "type": "object",
143
+ "properties": {
144
+ "operationId": {
145
+ "type": "string",
146
+ "description": "The operationId for the open api operation"
147
+ },
148
+ "adapter": {
149
+ "$ref": "#/definitions/type"
150
+ }
151
+ },
152
+ "required": [
153
+ "operationId"
154
+ ]
155
+ },
156
+ "modifiers": {
157
+ "alias": "modifier",
158
+ "type": "array",
159
+ "items": {
160
+ "type": "string",
161
+ "enum": [
162
+ "navigation-back-header",
163
+ "without-title",
164
+ "show-archived-slide"
165
+ ]
166
+ },
167
+ "description": "The table modifiers"
168
+ },
169
+ "selectColumn": {
170
+ "type": "boolean",
171
+ "description": "Whether to add a select column to the table"
172
+ }
173
+ }
174
+ }
175
+ ]
176
+ },
177
+ "accordionIdentifier": {
178
+ "type": "object",
179
+ "properties": {
180
+ "property": {
181
+ "$ref": "#/definitions/property"
182
+ },
183
+ "source": {
184
+ "type": "string",
185
+ "enum": [
186
+ "route"
187
+ ],
188
+ "default": "route"
189
+ }
190
+ },
191
+ "required": [
192
+ "property"
193
+ ]
31
194
  },
32
195
  "backend": {
33
196
  "type": "string",
34
197
  "description": "The backend that should be used to handel data",
35
198
  "enum": [
36
199
  "none",
37
- "local",
38
200
  "nestjs",
39
- "open-api"
201
+ "open-api",
202
+ "local"
40
203
  ],
41
204
  "default": "none"
42
205
  },
43
- "modifiers": {
44
- "alias": "modifier",
45
- "type": "array",
46
- "items": {
47
- "type": "string",
48
- "enum": [
49
- "navigation-back-header",
50
- "without-title"
51
- ]
206
+ "formControl": {
207
+ "type": "object",
208
+ "properties": {
209
+ "name": {
210
+ "type": "string",
211
+ "description": "The name of the control"
212
+ },
213
+ "type": {
214
+ "$ref": "#/definitions/type"
215
+ },
216
+ "isArray": {
217
+ "type": "boolean",
218
+ "description": "Whether the control value is an array",
219
+ "default": false
220
+ },
221
+ "state": {
222
+ "type": "string",
223
+ "description": "The initial state of the control"
224
+ },
225
+ "isRequired": {
226
+ "type": "boolean",
227
+ "description": "Whether the control value is required",
228
+ "default": false
229
+ },
230
+ "isReadonly": {
231
+ "type": "boolean",
232
+ "description": "Whether the control value is readonly",
233
+ "default": false
234
+ },
235
+ "isDisabled": {
236
+ "type": "boolean",
237
+ "description": "Whether the control value is disabled",
238
+ "default": false
239
+ },
240
+ "validatorList": {
241
+ "type": "array",
242
+ "items": {
243
+ "type": "string"
244
+ }
245
+ },
246
+ "kind": {
247
+ "type": "string",
248
+ "description": "The name of the template",
249
+ "enum": [
250
+ "default",
251
+ "input",
252
+ "select",
253
+ "checkbox",
254
+ "autocomplete-table-select",
255
+ "table-select",
256
+ "textarea",
257
+ "slide-toggle"
258
+ ],
259
+ "default": "default"
260
+ }
52
261
  },
53
- "description": "The table modifiers"
262
+ "required": [
263
+ "name"
264
+ ],
265
+ "additionalProperties": true
54
266
  },
55
- "table": {
267
+ "general": {
268
+ "type": "object",
269
+ "properties": {
270
+ "project": {
271
+ "type": "string",
272
+ "description": "Project name where the files should be generated"
273
+ },
274
+ "feature": {
275
+ "type": "string",
276
+ "description": "Feature name where the files should be generated"
277
+ },
278
+ "overwrite": {
279
+ "anyOf": [
280
+ {
281
+ "type": "boolean"
282
+ },
283
+ {
284
+ "type": "array",
285
+ "items": {
286
+ "type": "string"
287
+ }
288
+ }
289
+ ],
290
+ "description": "Overwrite existing files",
291
+ "default": false
292
+ },
293
+ "overwriteHtml": {
294
+ "type": "boolean",
295
+ "default": false
296
+ },
297
+ "replace": {
298
+ "type": "boolean",
299
+ "default": false
300
+ }
301
+ }
302
+ },
303
+ "headerButton": {
56
304
  "type": "object",
57
305
  "properties": {
58
- "tableMethod": {
306
+ "permission": {
307
+ "type": "string"
308
+ },
309
+ "icon": {
310
+ "type": "string"
311
+ },
312
+ "svgIcon": {
313
+ "type": "string"
314
+ },
315
+ "refresh": {
316
+ "type": "boolean",
317
+ "description": "Whether the table action should refresh the table after execution",
318
+ "default": false
319
+ },
320
+ "confirm": {
321
+ "type": "boolean",
322
+ "description": "Whether the table action should confirm before execution",
323
+ "default": false
324
+ },
325
+ "tooltip": {
326
+ "type": "string",
327
+ "description": "The tooltip for the table action"
328
+ },
329
+ "errorMessage": {
330
+ "type": "string",
331
+ "description": "The error message for the table action"
332
+ },
333
+ "successMessage": {
334
+ "type": "string",
335
+ "description": "The success message for the table action"
336
+ },
337
+ "options": {
338
+ "type": "object",
339
+ "additionalProperties": true
340
+ }
341
+ }
342
+ },
343
+ "minimumTable": {
344
+ "type": "object",
345
+ "properties": {
346
+ "propertyList": {
347
+ "alias": "property",
348
+ "type": "array",
349
+ "items": {
350
+ "$ref": "#/definitions/property"
351
+ }
352
+ },
353
+ "upstream": {
354
+ "$ref": "#/definitions/upstream"
355
+ },
356
+ "columnList": {
357
+ "alias": "column",
358
+ "type": "array",
359
+ "items": {
360
+ "$ref": "#/definitions/tableColumn"
361
+ },
362
+ "description": "List of table column names"
363
+ },
364
+ "actionList": {
365
+ "alias": "action",
366
+ "type": "array",
367
+ "items": {
368
+ "$ref": "#/definitions/tableAction"
369
+ }
370
+ },
371
+ "headerButton": {
372
+ "$ref": "#/definitions/headerButton"
373
+ },
374
+ "modifiers": {
375
+ "alias": "modifier",
376
+ "type": "array",
377
+ "items": {
378
+ "type": "string"
379
+ },
380
+ "description": "The table modifiers"
381
+ }
382
+ }
383
+ },
384
+ "pipe": {
385
+ "oneOf": [
386
+ {
387
+ "type": "string"
388
+ },
389
+ {
390
+ "allOf": [
391
+ {
392
+ "$ref": "#/definitions/type"
393
+ },
394
+ {
395
+ "type": "object",
396
+ "properties": {
397
+ "argumentList": {
398
+ "type": "array",
399
+ "items": {
400
+ "$ref": "#/definitions/value"
401
+ }
402
+ }
403
+ },
404
+ "required": [
405
+ "name"
406
+ ]
407
+ }
408
+ ]
409
+ }
410
+ ]
411
+ },
412
+ "property": {
413
+ "oneOf": [
414
+ {
415
+ "type": "string"
416
+ },
417
+ {
59
418
  "type": "object",
60
419
  "properties": {
61
420
  "name": {
62
- "type": "string",
63
- "description": "The name of the open api adapter class"
421
+ "type": "string"
64
422
  },
65
- "moduleSpecifier": {
66
- "type": "string",
67
- "description": "The import path for the open api adapter class"
423
+ "type": {
424
+ "$ref": "#/definitions/type"
425
+ },
426
+ "isArray": {
427
+ "type": "boolean"
68
428
  }
69
429
  },
70
430
  "required": [
71
- "name",
72
- "moduleSpecifier"
431
+ "name"
73
432
  ]
433
+ }
434
+ ]
435
+ },
436
+ "tableAction": {
437
+ "type": "object",
438
+ "properties": {
439
+ "type": {
440
+ "type": "string"
441
+ },
442
+ "refresh": {
443
+ "type": "boolean"
444
+ },
445
+ "confirm": {
446
+ "type": "boolean"
447
+ },
448
+ "tooltip": {
449
+ "type": "string"
450
+ },
451
+ "errorMessage": {
452
+ "type": "string"
453
+ },
454
+ "successMessage": {
455
+ "type": "string"
456
+ },
457
+ "priority": {
458
+ "type": "number"
459
+ },
460
+ "checkFunction": {
461
+ "type": "string"
462
+ },
463
+ "inHeader": {
464
+ "type": "boolean"
465
+ },
466
+ "role": {
467
+ "type": "string"
468
+ },
469
+ "icon": {
470
+ "type": "string"
471
+ },
472
+ "svgIcon": {
473
+ "type": "string"
474
+ },
475
+ "permission": {
476
+ "type": "string"
477
+ },
478
+ "color": {
479
+ "type": "string",
480
+ "description": "Value for the color input of the mat-button / mat-icon component"
481
+ },
482
+ "cssClass": {
483
+ "type": "string",
484
+ "description": "Additional CSS classes added to the button element"
485
+ },
486
+ "options": {
487
+ "type": "object",
488
+ "additionalProperties": true
489
+ }
490
+ },
491
+ "required": [
492
+ "type"
493
+ ]
494
+ },
495
+ "tableColumn": {
496
+ "type": "object",
497
+ "properties": {
498
+ "name": {
499
+ "type": "string"
500
+ },
501
+ "type": {
502
+ "$ref": "#/definitions/type"
503
+ },
504
+ "kind": {
505
+ "type": "string"
74
506
  },
75
507
  "modifiers": {
76
- "alias": "modifier",
77
508
  "type": "array",
78
509
  "items": {
79
- "type": "string",
80
- "enum": [
81
- "navigation-back-header",
82
- "without-title"
83
- ]
84
- },
85
- "description": "The table modifiers"
510
+ "type": "string"
511
+ }
86
512
  },
87
- "headerButton": {
88
- "oneOf": [
89
- {
513
+ "template": {
514
+ "type": "string"
515
+ },
516
+ "pipeList": {
517
+ "type": "array",
518
+ "items": {
519
+ "$ref": "#/definitions/pipe"
520
+ }
521
+ },
522
+ "hasFilter": {
523
+ "type": "boolean"
524
+ },
525
+ "nowrap": {
526
+ "type": "boolean"
527
+ },
528
+ "cssClass": {
529
+ "type": "string"
530
+ },
531
+ "title": {
532
+ "type": "string"
533
+ },
534
+ "propertyPath": {
535
+ "type": "string"
536
+ },
537
+ "hidden": {
538
+ "type": "boolean"
539
+ },
540
+ "active": {
541
+ "type": "boolean"
542
+ },
543
+ "inactive": {
544
+ "type": "boolean"
545
+ },
546
+ "show": {
547
+ "type": "boolean"
548
+ },
549
+ "filterControl": {
550
+ "$ref": "#/definitions/formControl"
551
+ }
552
+ },
553
+ "required": [
554
+ "name"
555
+ ]
556
+ },
557
+ "type": {
558
+ "oneOf": [
559
+ {
560
+ "type": "string"
561
+ },
562
+ {
563
+ "type": "object",
564
+ "properties": {
565
+ "name": {
90
566
  "type": "string"
91
567
  },
92
- {
568
+ "isTypeOnly": {
569
+ "type": "boolean"
570
+ },
571
+ "moduleSpecifier": {
572
+ "type": "string"
573
+ },
574
+ "namedImport": {
575
+ "type": "string"
576
+ },
577
+ "namespaceImport": {
578
+ "type": "string"
579
+ },
580
+ "defaultImport": {
581
+ "type": "string"
582
+ }
583
+ },
584
+ "required": [
585
+ "name"
586
+ ]
587
+ }
588
+ ]
589
+ },
590
+ "upstream": {
591
+ "oneOf": [
592
+ {
593
+ "type": "object",
594
+ "properties": {
595
+ "kind": {
596
+ "type": "string",
597
+ "enum": [
598
+ "open-api"
599
+ ]
600
+ },
601
+ "operationId": {
602
+ "type": "string"
603
+ },
604
+ "scope": {
605
+ "type": "string"
606
+ },
607
+ "mapper": {
93
608
  "type": "object",
94
609
  "properties": {
95
- "role": {
610
+ "pageIndex": {
96
611
  "type": "string"
97
612
  },
98
- "permission": {
613
+ "pageSize": {
99
614
  "type": "string"
100
615
  },
101
- "icon": {
616
+ "sortBy": {
102
617
  "type": "string"
103
618
  },
104
- "svgIcon": {
619
+ "sortDirection": {
105
620
  "type": "string"
106
- }
107
- }
108
- }
109
- ],
110
- "description": "The header button configuration"
111
- },
112
- "columnList": {
113
- "alias": "column",
114
- "type": "array",
115
- "items": {
116
- "oneOf": [
117
- {
118
- "type": "string"
119
- },
120
- {
121
- "type": "object",
122
- "properties": {
123
- "name": {
124
- "type": "string"
125
- },
126
- "type": {
127
- "oneOf": [
128
- {
129
- "type": "string"
130
- },
131
- {
132
- "type": "object",
133
- "properties": {
134
- "name": {
135
- "type": "string"
136
- },
137
- "isTypeOnly": {
138
- "type": "boolean"
139
- },
140
- "moduleSpecifier": {
141
- "type": "string"
142
- },
143
- "namedImport": {
144
- "type": "string"
145
- },
146
- "namespaceImport": {
147
- "type": "string"
148
- },
149
- "defaultImport": {
150
- "type": "string"
151
- }
152
- },
153
- "required": [
154
- "name"
155
- ]
156
- }
157
- ]
158
- },
159
- "role": {
160
- "type": "string"
161
- },
162
- "modifiers": {
163
- "type": "array",
164
- "items": {
621
+ },
622
+ "list": {
623
+ "type": "string"
624
+ },
625
+ "total": {
626
+ "type": "string"
627
+ },
628
+ "filter": {
629
+ "type": "object",
630
+ "properties": {
631
+ "eq": {
632
+ "type": "string"
633
+ },
634
+ "join": {
165
635
  "type": "string"
166
636
  }
167
- },
168
- "template": {
169
- "type": "string"
170
- },
171
- "pipeList": {
172
- "type": "array",
173
- "items": {
174
- "oneOf": [
175
- {
176
- "type": "string"
177
- },
178
- {
179
- "type": "object",
180
- "properties": {
181
- "name": {
182
- "type": "string"
183
- },
184
- "namedImport": {
185
- "type": "string"
186
- },
187
- "moduleSpecifier": {
188
- "type": "string"
189
- }
190
- },
191
- "required": [
192
- "name",
193
- "namedImport",
194
- "moduleSpecifier"
195
- ]
196
- }
197
- ]
198
- }
199
- },
200
- "hasFilter": {
201
- "type": "boolean"
202
- },
203
- "nowrap": {
204
- "type": "boolean"
205
- },
206
- "cssClass": {
207
- "type": "string"
208
- },
209
- "title": {
210
- "type": "string"
211
- },
212
- "propertyPath": {
213
- "type": "string"
214
- },
215
- "hidden": {
216
- "type": "boolean"
217
- },
218
- "active": {
219
- "type": "boolean"
220
- },
221
- "inactive": {
222
- "type": "boolean"
223
- },
224
- "show": {
225
- "type": "boolean"
226
637
  }
227
- },
228
- "required": [
229
- "name"
230
- ]
638
+ }
231
639
  }
232
- ],
233
- "description": "table column name"
640
+ }
234
641
  },
235
- "description": "List of table column names"
236
- },
237
- "actionList": {
238
- "alias": "action",
239
- "type": "array",
240
- "items": {
241
- "oneOf": [
242
- {
243
- "type": "string"
244
- },
245
- {
246
- "type": "object",
247
- "properties": {
248
- "type": {
249
- "type": "string"
250
- },
251
- "refresh": {
252
- "type": "boolean"
253
- },
254
- "confirm": {
255
- "type": "boolean"
256
- },
257
- "tooltip": {
258
- "type": "string"
259
- },
260
- "errorMessage": {
261
- "type": "string"
262
- },
263
- "successMessage": {
264
- "type": "string"
265
- },
266
- "priority": {
267
- "type": "number"
268
- },
269
- "checkFunction": {
270
- "type": "string"
271
- },
272
- "inHeader": {
273
- "type": "boolean"
274
- },
275
- "role": {
276
- "type": "string",
277
- "enum": [
278
- "form",
279
- "link",
280
- "method",
281
- "custom"
282
- ]
283
- },
284
- "icon": {
285
- "type": "string"
286
- },
287
- "svgIcon": {
288
- "type": "string"
289
- },
290
- "permission": {
291
- "type": "string"
292
- }
293
- },
294
- "required": [
295
- "type",
296
- "role"
297
- ]
298
- }
299
- ]
300
- }
301
- },
302
- "selectColumn": {
303
- "type": "boolean",
304
- "description": "Whether to add a select column to the table"
305
- },
306
- "context": {
307
- "type": "string",
308
- "description": "The context use to generate proper names for class, files, etc"
642
+ "required": [
643
+ "kind",
644
+ "operationId"
645
+ ]
309
646
  }
310
- }
647
+ ]
311
648
  },
312
- "overwrite": {
313
- "anyOf": [
649
+ "value": {
650
+ "oneOf": [
314
651
  {
315
- "type": "boolean"
652
+ "type": "string"
316
653
  },
317
654
  {
318
- "type": "array",
319
- "items": {
320
- "type": "string"
321
- }
655
+ "type": "object",
656
+ "properties": {
657
+ "type": {
658
+ "$ref": "#/definitions/type"
659
+ },
660
+ "value": {
661
+ "type": "string"
662
+ }
663
+ },
664
+ "required": [
665
+ "value"
666
+ ]
322
667
  }
323
- ],
324
- "description": "Overwrite existing files",
325
- "default": false
668
+ ]
326
669
  }
327
- },
328
- "required": [
329
- "itemName",
330
- "project",
331
- "feature",
332
- "accordionName"
333
- ]
334
- }
670
+ }
671
+ }