@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
@@ -0,0 +1,58 @@
1
+ {
2
+ "$schema": "http://json-schema.org/schema",
3
+ "$id": "dialog-table-action-schematic",
4
+ "allOf": [
5
+ {
6
+ "$ref": "#/definitions/tableActionSchematic"
7
+ },
8
+ {
9
+ "type": "object",
10
+ "properties": {
11
+ "withoutBody": {
12
+ "type": "boolean",
13
+ "description": "Whether the table action operation should be without body",
14
+ "default": false
15
+ },
16
+ "actionList": {
17
+ "alias": "action",
18
+ "type": "array",
19
+ "description": "The list of actions to be added to the dialog",
20
+ "items": {
21
+ "oneOf": [
22
+ {
23
+ "type": "string"
24
+ },
25
+ {
26
+ "type": "object",
27
+ "properties": {
28
+ "label": {
29
+ "type": "string"
30
+ },
31
+ "color": {
32
+ "type": "string"
33
+ },
34
+ "role": {
35
+ "type": "string",
36
+ "enum": [
37
+ "submit",
38
+ "close"
39
+ ]
40
+ }
41
+ }
42
+ }
43
+ ]
44
+ }
45
+ },
46
+ "title": {
47
+ "type": "string",
48
+ "description": "The title for the dialog"
49
+ }
50
+ }
51
+ }
52
+ ],
53
+ "definitions": {
54
+ "tableActionSchematic": {
55
+ "$ref": "../../table-action/template.schema.json"
56
+ }
57
+ }
58
+ }
@@ -1,202 +1,432 @@
1
1
  {
2
2
  "$schema": "http://json-schema.org/schema",
3
- "$id": "form-table-action",
4
- "type": "object",
5
- "properties": {
6
- "tableName": {
7
- "alias": "table",
8
- "type": "string",
9
- "description": "The name of the table action"
3
+ "$id": "form-table-action-schematic",
4
+ "allOf": [
5
+ {
6
+ "$ref": "#/definitions/tableActionSchematic"
10
7
  },
11
- "type": {
12
- "alias": "actionType",
13
- "type": "string",
14
- "description": "The table action type string",
15
- "x-prompt": "Enter the table action type string?"
8
+ {
9
+ "type": "object",
10
+ "properties": {
11
+ "formInitial": {
12
+ "type": "object",
13
+ "description": "The mapping from the row object to the form initial object"
14
+ },
15
+ "formComponent": {
16
+ "type": "string"
17
+ },
18
+ "customComponent": {
19
+ "type": "boolean",
20
+ "default": false,
21
+ "description": "If true the schematic will not coerce the form component"
22
+ },
23
+ "loadFrom": {
24
+ "type": "object",
25
+ "properties": {
26
+ "operationId": {
27
+ "type": "string"
28
+ },
29
+ "scope": {
30
+ "type": "string",
31
+ "description": "The scope of package for the openapi classes"
32
+ },
33
+ "body": {
34
+ "oneOf": [
35
+ {
36
+ "type": "boolean",
37
+ "description": "Pass the full row as body for the operation request"
38
+ },
39
+ {
40
+ "type": "object",
41
+ "description": "Mapping of table columns to body properties - [request property]: [table column]",
42
+ "additionalProperties": true
43
+ }
44
+ ]
45
+ },
46
+ "parameters": {
47
+ "oneOf": [
48
+ {
49
+ "type": "boolean",
50
+ "description": "Pass the full row as parameters for the operation request"
51
+ },
52
+ {
53
+ "type": "object",
54
+ "description": "Mapping of table columns to parameters properties - [request property]: [table column]",
55
+ "additionalProperties": true
56
+ }
57
+ ]
58
+ }
59
+ }
60
+ },
61
+ "formOptions": {
62
+ "$ref": "#/definitions/formComponent"
63
+ }
64
+ }
65
+ }
66
+ ],
67
+ "definitions": {
68
+ "formComponent": {
69
+ "allOf": [
70
+ {
71
+ "$ref": "#/definitions/formDefinition"
72
+ },
73
+ {
74
+ "type": "object",
75
+ "properties": {
76
+ "window": {
77
+ "type": "boolean",
78
+ "description": "Whether the form can be opened in a window"
79
+ },
80
+ "role": {
81
+ "type": "string",
82
+ "description": "Define the role of the form"
83
+ },
84
+ "matFormFieldDefaultOptions": {
85
+ "appearance": {
86
+ "type": "string",
87
+ "description": "The appearance of the mat form field",
88
+ "enum": [
89
+ "legacy",
90
+ "standard",
91
+ "fill",
92
+ "outline"
93
+ ]
94
+ }
95
+ },
96
+ "identifier": {
97
+ "$ref": "#/definitions/accordionIdentifier"
98
+ }
99
+ }
100
+ }
101
+ ]
16
102
  },
17
- "project": {
18
- "type": "string",
19
- "description": "The target project where the table action should be added."
103
+ "tableActionSchematic": {
104
+ "allOf": [
105
+ {
106
+ "$ref": "#/definitions/angular"
107
+ },
108
+ {
109
+ "$ref": "#/definitions/tableAction"
110
+ },
111
+ {
112
+ "type": "object",
113
+ "properties": {
114
+ "tableName": {
115
+ "alias": "table",
116
+ "type": "string",
117
+ "description": "The name of the table action"
118
+ }
119
+ }
120
+ }
121
+ ]
20
122
  },
21
- "feature": {
22
- "type": "string",
23
- "description": "The feature name where the table action should be added.",
24
- "x-prompt": "To which feature should the table action be added?"
123
+ "accordionIdentifier": {
124
+ "type": "object",
125
+ "properties": {
126
+ "property": {
127
+ "$ref": "#/definitions/property"
128
+ },
129
+ "source": {
130
+ "type": "string",
131
+ "enum": [
132
+ "route"
133
+ ],
134
+ "default": "route"
135
+ }
136
+ },
137
+ "required": [
138
+ "property"
139
+ ]
140
+ },
141
+ "angular": {
142
+ "allOf": [
143
+ {
144
+ "$ref": "#/definitions/general"
145
+ },
146
+ {
147
+ "type": "object",
148
+ "properties": {
149
+ "componentName": {
150
+ "type": "string"
151
+ },
152
+ "name": {
153
+ "type": "string"
154
+ },
155
+ "context": {
156
+ "type": "string",
157
+ "description": "The context use to generate proper names for class, files, etc"
158
+ },
159
+ "nestModule": {
160
+ "type": "string",
161
+ "description": "The module name for the table nest operations"
162
+ },
163
+ "controllerName": {
164
+ "type": "string"
165
+ },
166
+ "backend": {
167
+ "$ref": "#/definitions/backend"
168
+ },
169
+ "directory": {
170
+ "type": "string",
171
+ "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"
172
+ },
173
+ "shared": {
174
+ "type": "boolean",
175
+ "description": "Whether the generated code is used across the project",
176
+ "default": false
177
+ },
178
+ "scope": {
179
+ "type": "string"
180
+ },
181
+ "prefix": {
182
+ "type": "string"
183
+ },
184
+ "openApi": {
185
+ "type": "object",
186
+ "additionalProperties": true
187
+ }
188
+ }
189
+ }
190
+ ]
25
191
  },
26
192
  "backend": {
27
193
  "type": "string",
28
194
  "description": "The backend that should be used to handel data",
29
195
  "enum": [
30
196
  "none",
31
- "local",
32
197
  "nestjs",
33
- "open-api"
198
+ "open-api",
199
+ "local"
34
200
  ],
35
201
  "default": "none"
36
202
  },
37
- "shared": {
38
- "type": "boolean",
39
- "description": "Whether the table action is shared across applications",
40
- "default": false
41
- },
42
- "refresh": {
43
- "type": "boolean",
44
- "description": "Whether the table action should refresh the table after execution",
45
- "default": false
46
- },
47
- "confirm": {
48
- "type": "boolean",
49
- "description": "Whether the table action should confirm before execution",
50
- "default": false
51
- },
52
- "tooltip": {
53
- "type": "string",
54
- "description": "The tooltip for the table action"
55
- },
56
- "errorMessage": {
57
- "type": "string",
58
- "description": "The error message for the table action"
59
- },
60
- "successMessage": {
61
- "type": "string",
62
- "description": "The success message for the table action"
63
- },
64
- "checkFunction": {
65
- "type": "string",
66
- "description": "The check function for the table action"
67
- },
68
- "priority": {
69
- "type": "number",
70
- "description": "The priority of the table action"
71
- },
72
- "directory": {
73
- "type": "string",
74
- "description": "A directory name or absolute path for the table action. relative to the feature base path"
75
- },
76
- "nestModule": {
77
- "type": "string",
78
- "description": "The module name for the table nest operations"
79
- },
80
- "overwrite": {
81
- "anyOf": [
82
- {
83
- "type": "boolean"
203
+ "formControl": {
204
+ "type": "object",
205
+ "properties": {
206
+ "name": {
207
+ "type": "string",
208
+ "description": "The name of the control"
84
209
  },
85
- {
210
+ "type": {
211
+ "$ref": "#/definitions/type"
212
+ },
213
+ "isArray": {
214
+ "type": "boolean",
215
+ "description": "Whether the control value is an array",
216
+ "default": false
217
+ },
218
+ "state": {
219
+ "type": "string",
220
+ "description": "The initial state of the control"
221
+ },
222
+ "isRequired": {
223
+ "type": "boolean",
224
+ "description": "Whether the control value is required",
225
+ "default": false
226
+ },
227
+ "isReadonly": {
228
+ "type": "boolean",
229
+ "description": "Whether the control value is readonly",
230
+ "default": false
231
+ },
232
+ "isDisabled": {
233
+ "type": "boolean",
234
+ "description": "Whether the control value is disabled",
235
+ "default": false
236
+ },
237
+ "validatorList": {
86
238
  "type": "array",
87
239
  "items": {
88
240
  "type": "string"
89
241
  }
242
+ },
243
+ "kind": {
244
+ "type": "string",
245
+ "description": "The name of the template",
246
+ "enum": [
247
+ "default",
248
+ "input",
249
+ "select",
250
+ "checkbox",
251
+ "autocomplete-table-select",
252
+ "table-select",
253
+ "textarea",
254
+ "slide-toggle"
255
+ ],
256
+ "default": "default"
90
257
  }
258
+ },
259
+ "required": [
260
+ "name"
91
261
  ],
92
- "description": "Overwrite existing files",
93
- "default": false
94
- },
95
- "context": {
96
- "type": "string",
97
- "description": "The context use to generate proper names for class, files, etc"
262
+ "additionalProperties": true
98
263
  },
99
- "formInitial": {
264
+ "formDefinition": {
100
265
  "type": "object",
101
- "description": "The mapping from the row object to the form initial object"
102
- },
103
- "formComponent": {
104
- "type": "string"
105
- },
106
- "customComponent": {
107
- "type": "boolean",
108
- "default": false,
109
- "description": "If true the schematic will not coerce the form component"
266
+ "properties": {
267
+ "controlList": {
268
+ "alias": "control",
269
+ "type": "array",
270
+ "items": {
271
+ "$ref": "#/definitions/formControl"
272
+ }
273
+ }
274
+ },
275
+ "required": [
276
+ "controlList"
277
+ ]
110
278
  },
111
- "loadFrom": {
279
+ "general": {
112
280
  "type": "object",
113
281
  "properties": {
114
- "operationId": {
115
- "type": "string"
282
+ "project": {
283
+ "type": "string",
284
+ "description": "Project name where the files should be generated"
116
285
  },
117
- "scope": {
286
+ "feature": {
118
287
  "type": "string",
119
- "description": "The scope of package for the openapi classes"
288
+ "description": "Feature name where the files should be generated"
120
289
  },
121
- "body": {
122
- "oneOf": [
290
+ "overwrite": {
291
+ "anyOf": [
123
292
  {
124
- "type": "boolean",
125
- "description": "Pass the full row as body for the operation request"
293
+ "type": "boolean"
126
294
  },
127
295
  {
128
- "type": "object",
129
- "description": "Mapping of table columns to body properties - [request property]: [table column]",
130
- "additionalProperties": true
296
+ "type": "array",
297
+ "items": {
298
+ "type": "string"
299
+ }
131
300
  }
132
- ]
301
+ ],
302
+ "description": "Overwrite existing files",
303
+ "default": false
133
304
  },
134
- "parameters": {
135
- "oneOf": [
136
- {
137
- "type": "boolean",
138
- "description": "Pass the full row as parameters for the operation request"
305
+ "overwriteHtml": {
306
+ "type": "boolean",
307
+ "default": false
308
+ },
309
+ "replace": {
310
+ "type": "boolean",
311
+ "default": false
312
+ }
313
+ }
314
+ },
315
+ "property": {
316
+ "oneOf": [
317
+ {
318
+ "type": "string"
319
+ },
320
+ {
321
+ "type": "object",
322
+ "properties": {
323
+ "name": {
324
+ "type": "string"
139
325
  },
140
- {
141
- "type": "object",
142
- "description": "Mapping of table columns to parameters properties - [request property]: [table column]",
143
- "additionalProperties": true
326
+ "type": {
327
+ "$ref": "#/definitions/type"
328
+ },
329
+ "isArray": {
330
+ "type": "boolean"
144
331
  }
332
+ },
333
+ "required": [
334
+ "name"
145
335
  ]
146
336
  }
147
- }
337
+ ]
148
338
  },
149
- "formOptions": {
339
+ "tableAction": {
150
340
  "type": "object",
151
341
  "properties": {
342
+ "type": {
343
+ "type": "string"
344
+ },
345
+ "refresh": {
346
+ "type": "boolean"
347
+ },
348
+ "confirm": {
349
+ "type": "boolean"
350
+ },
351
+ "tooltip": {
352
+ "type": "string"
353
+ },
354
+ "errorMessage": {
355
+ "type": "string"
356
+ },
357
+ "successMessage": {
358
+ "type": "string"
359
+ },
360
+ "priority": {
361
+ "type": "number"
362
+ },
363
+ "checkFunction": {
364
+ "type": "string"
365
+ },
366
+ "inHeader": {
367
+ "type": "boolean"
368
+ },
152
369
  "role": {
370
+ "type": "string"
371
+ },
372
+ "icon": {
373
+ "type": "string"
374
+ },
375
+ "svgIcon": {
376
+ "type": "string"
377
+ },
378
+ "permission": {
379
+ "type": "string"
380
+ },
381
+ "color": {
153
382
  "type": "string",
154
- "description": "Define the role of the form"
383
+ "description": "Value for the color input of the mat-button / mat-icon component"
155
384
  },
156
- "window": {
157
- "type": "boolean",
158
- "description": "Whether the form can be opened in a window"
385
+ "cssClass": {
386
+ "type": "string",
387
+ "description": "Additional CSS classes added to the button element"
159
388
  },
160
- "controlList": {
161
- "alias": "control",
162
- "type": "array",
163
- "items": {
164
- "type": "object",
165
- "properties": {
166
- "type": {
167
- "type": "string"
168
- },
169
- "name": {
170
- "type": "string"
171
- },
172
- "state": {
173
- "type": "string",
174
- "description": "The initial state of the control"
175
- },
176
- "isRequired": {
177
- "type": "boolean",
178
- "description": "Whether the control value is required",
179
- "default": false
180
- },
181
- "validatorList": {
182
- "type": "array",
183
- "items": {
184
- "type": "string"
185
- }
186
- }
187
- },
188
- "required": [
189
- "name"
190
- ]
191
- }
389
+ "options": {
390
+ "type": "object",
391
+ "additionalProperties": true
192
392
  }
193
393
  },
194
- "additionalProperties": true
394
+ "required": [
395
+ "type"
396
+ ]
397
+ },
398
+ "type": {
399
+ "oneOf": [
400
+ {
401
+ "type": "string"
402
+ },
403
+ {
404
+ "type": "object",
405
+ "properties": {
406
+ "name": {
407
+ "type": "string"
408
+ },
409
+ "isTypeOnly": {
410
+ "type": "boolean"
411
+ },
412
+ "moduleSpecifier": {
413
+ "type": "string"
414
+ },
415
+ "namedImport": {
416
+ "type": "string"
417
+ },
418
+ "namespaceImport": {
419
+ "type": "string"
420
+ },
421
+ "defaultImport": {
422
+ "type": "string"
423
+ }
424
+ },
425
+ "required": [
426
+ "name"
427
+ ]
428
+ }
429
+ ]
195
430
  }
196
- },
197
- "required": [
198
- "type",
199
- "project",
200
- "feature"
201
- ]
202
- }
431
+ }
432
+ }