@rxap/schematic-angular 16.2.0-dev.1 → 16.2.0-dev.10

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