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