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