@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,102 +1,394 @@
1
1
  {
2
2
  "$schema": "http://json-schema.org/schema",
3
- "$id": "select-form-control",
4
- "type": "object",
5
- "properties": {
6
- "name": {
7
- "type": "string",
8
- "description": "The name of form control",
9
- "x-prompt": "Enter the name of the form control?"
3
+ "$id": "select-form-control-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
+ "$ref": "#/allOf/1/allOf/1/properties/backend"
70
+ },
71
+ "directory": {
72
+ "type": "string",
73
+ "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"
74
+ },
75
+ "shared": {
76
+ "type": "boolean",
77
+ "description": "Whether the generated code is used across the project",
78
+ "default": false
79
+ },
80
+ "scope": {
81
+ "type": "string"
82
+ },
83
+ "prefix": {
84
+ "type": "string"
85
+ },
86
+ "openApi": {
87
+ "type": "object",
88
+ "additionalProperties": true
89
+ }
90
+ }
91
+ }
92
+ ]
93
+ },
94
+ {
95
+ "type": "object",
96
+ "properties": {
97
+ "name": {
98
+ "type": "string",
99
+ "description": "The name of the control"
100
+ },
101
+ "type": {
102
+ "$ref": "#/definitions/type"
103
+ },
104
+ "isArray": {
105
+ "type": "boolean",
106
+ "description": "Whether the control value is an array",
107
+ "default": false
108
+ },
109
+ "state": {
110
+ "type": "string",
111
+ "description": "The initial state of the control"
112
+ },
113
+ "isRequired": {
114
+ "type": "boolean",
115
+ "description": "Whether the control value is required",
116
+ "default": false
117
+ },
118
+ "isReadonly": {
119
+ "type": "boolean",
120
+ "description": "Whether the control value is readonly",
121
+ "default": false
122
+ },
123
+ "isDisabled": {
124
+ "type": "boolean",
125
+ "description": "Whether the control value is disabled",
126
+ "default": false
127
+ },
128
+ "validatorList": {
129
+ "type": "array",
130
+ "items": {
131
+ "type": "string"
132
+ }
133
+ },
134
+ "kind": {
135
+ "type": "string",
136
+ "description": "The name of the template",
137
+ "enum": [
138
+ "default",
139
+ "input",
140
+ "select",
141
+ "checkbox",
142
+ "autocomplete-table-select",
143
+ "table-select",
144
+ "textarea",
145
+ "slide-toggle"
146
+ ],
147
+ "default": "default"
148
+ }
149
+ },
150
+ "required": [
151
+ "name"
152
+ ],
153
+ "additionalProperties": true
154
+ },
155
+ {
156
+ "type": "object",
157
+ "properties": {
158
+ "formName": {
159
+ "alias": "form",
160
+ "type": "string",
161
+ "description": "The name of the form where the form control should be added",
162
+ "x-prompt": "Enter the name of the form where the form control should be added"
163
+ }
164
+ },
165
+ "required": [
166
+ "formName"
167
+ ]
168
+ }
169
+ ]
10
170
  },
11
- "formName": {
12
- "alias": "form",
13
- "type": "string",
14
- "description": "The name of the form where the form control should be added",
15
- "x-prompt": "Enter the name of the form where the form control should be added"
16
- },
17
- "project": {
18
- "type": "string",
19
- "description": "The project where the form control should be added",
20
- "x-prompt": "Enter project name where the form control should be added"
171
+ {
172
+ "allOf": [
173
+ {
174
+ "$ref": "#/allOf/0/allOf/1"
175
+ },
176
+ {
177
+ "type": "object",
178
+ "properties": {
179
+ "formField": {
180
+ "type": "object",
181
+ "properties": {
182
+ "label": {
183
+ "type": "string"
184
+ },
185
+ "prefixButton": {
186
+ "$ref": "#/definitions/button"
187
+ },
188
+ "suffixButton": {
189
+ "$ref": "#/definitions/button"
190
+ },
191
+ "hasClearButton": {
192
+ "type": "boolean"
193
+ }
194
+ }
195
+ },
196
+ "options": {
197
+ "type": "array",
198
+ "items": {
199
+ "type": "object",
200
+ "properties": {
201
+ "display": {
202
+ "type": "string"
203
+ },
204
+ "value": {
205
+ "oneOf": [
206
+ {
207
+ "type": "string"
208
+ },
209
+ {
210
+ "type": "number"
211
+ },
212
+ {
213
+ "type": "boolean"
214
+ },
215
+ {
216
+ "type": "object",
217
+ "additionalProperties": true
218
+ }
219
+ ]
220
+ }
221
+ }
222
+ }
223
+ },
224
+ "backend": {
225
+ "type": "string",
226
+ "description": "The backend that should be used to handel data",
227
+ "enum": [
228
+ "none",
229
+ "nestjs",
230
+ "open-api",
231
+ "local"
232
+ ],
233
+ "default": "none"
234
+ },
235
+ "multiple": {
236
+ "alias": "multi",
237
+ "type": "boolean",
238
+ "description": "Whether the select form control is multiple mode"
239
+ }
240
+ }
241
+ }
242
+ ]
243
+ }
244
+ ],
245
+ "definitions": {
246
+ "type": {
247
+ "oneOf": [
248
+ {
249
+ "type": "string"
250
+ },
251
+ {
252
+ "type": "object",
253
+ "properties": {
254
+ "name": {
255
+ "type": "string"
256
+ },
257
+ "isTypeOnly": {
258
+ "type": "boolean"
259
+ },
260
+ "moduleSpecifier": {
261
+ "type": "string"
262
+ },
263
+ "namedImport": {
264
+ "type": "string"
265
+ },
266
+ "namespaceImport": {
267
+ "type": "string"
268
+ },
269
+ "defaultImport": {
270
+ "type": "string"
271
+ }
272
+ },
273
+ "required": [
274
+ "name"
275
+ ]
276
+ }
277
+ ]
21
278
  },
22
- "backend": {
23
- "type": "string",
24
- "description": "The backend that should be used to handel data",
25
- "enum": [
26
- "none",
27
- "local",
28
- "nestjs",
29
- "open-api"
279
+ "property": {
280
+ "oneOf": [
281
+ {
282
+ "type": "string"
283
+ },
284
+ {
285
+ "type": "object",
286
+ "properties": {
287
+ "name": {
288
+ "type": "string"
289
+ },
290
+ "type": {
291
+ "$ref": "#/definitions/type"
292
+ }
293
+ },
294
+ "required": [
295
+ "name"
296
+ ]
297
+ }
30
298
  ],
31
- "default": "none"
32
- },
33
- "feature": {
34
- "type": "string",
35
- "description": "The feature where the form control should be added",
36
- "x-prompt": "Enter feature name where the form control should be added"
37
- },
38
- "shared": {
39
- "type": "boolean",
40
- "description": "Whether the form is shared across applications",
41
- "default": false
42
- },
43
- "directory": {
44
- "type": "string",
45
- "description": "A path suffix added to the base path"
46
- },
47
- "nestModule": {
48
- "type": "string",
49
- "description": "Name of the nest module where the controller is created"
50
- },
51
- "controllerName": {
52
- "type": "string",
53
- "description": "Name of the nest controller"
299
+ "definitions": {
300
+ "type": {
301
+ "oneOf": [
302
+ {
303
+ "type": "string"
304
+ },
305
+ {
306
+ "type": "object",
307
+ "properties": {
308
+ "name": {
309
+ "type": "string"
310
+ },
311
+ "isTypeOnly": {
312
+ "type": "boolean"
313
+ },
314
+ "moduleSpecifier": {
315
+ "type": "string"
316
+ },
317
+ "namedImport": {
318
+ "type": "string"
319
+ },
320
+ "namespaceImport": {
321
+ "type": "string"
322
+ },
323
+ "defaultImport": {
324
+ "type": "string"
325
+ }
326
+ },
327
+ "required": [
328
+ "name"
329
+ ]
330
+ }
331
+ ]
332
+ }
333
+ }
54
334
  },
55
- "type": {
56
- "type": "string",
57
- "description": "The data type of the form control"
58
- },
59
- "validatorList": {
60
- "alias": "validator",
61
- "type": "array",
62
- "items": {
63
- "type": "string"
335
+ "button": {
336
+ "type": "object",
337
+ "properties": {
338
+ "svgIcon": {
339
+ "type": "string"
340
+ },
341
+ "icon": {
342
+ "type": "string"
343
+ },
344
+ "directiveList": {
345
+ "type": "array",
346
+ "items": {
347
+ "$ref": "#/definitions/type"
348
+ }
349
+ },
350
+ "importList": {
351
+ "type": "array",
352
+ "items": {
353
+ "$ref": "#/definitions/type"
354
+ }
355
+ }
64
356
  },
65
- "description": "List of validators to be added to the form control"
66
- },
67
- "isRequired": {
68
- "alias": "required",
69
- "type": "boolean",
70
- "description": "Whether the form control value is required"
71
- },
72
- "state": {
73
- "type": "string",
74
- "description": "The initial state of the form control"
75
- },
76
- "isArray": {
77
- "alias": "array",
78
- "type": "boolean",
79
- "description": "Whether the form control is an array"
80
- },
81
- "staticDataSource": {
82
- "alias": "static",
83
- "type": "boolean",
84
- "description": "Whether the options data source is static"
85
- },
86
- "multiple": {
87
- "alias": "multi",
88
- "type": "boolean",
89
- "description": "Whether the select form control is multiple mode"
90
- },
91
- "context": {
92
- "type": "string",
93
- "description": "The context use to generate proper names for class, files, etc"
357
+ "definitions": {
358
+ "type": {
359
+ "oneOf": [
360
+ {
361
+ "type": "string"
362
+ },
363
+ {
364
+ "type": "object",
365
+ "properties": {
366
+ "name": {
367
+ "type": "string"
368
+ },
369
+ "isTypeOnly": {
370
+ "type": "boolean"
371
+ },
372
+ "moduleSpecifier": {
373
+ "type": "string"
374
+ },
375
+ "namedImport": {
376
+ "type": "string"
377
+ },
378
+ "namespaceImport": {
379
+ "type": "string"
380
+ },
381
+ "defaultImport": {
382
+ "type": "string"
383
+ }
384
+ },
385
+ "required": [
386
+ "name"
387
+ ]
388
+ }
389
+ ]
390
+ }
391
+ }
94
392
  }
95
- },
96
- "required": [
97
- "name",
98
- "formName",
99
- "project",
100
- "feature"
101
- ]
102
- }
393
+ }
394
+ }
@@ -0,0 +1,23 @@
1
+ {
2
+ "$schema": "http://json-schema.org/schema",
3
+ "$id": "select-form-control-schematic",
4
+ "allOf": [
5
+ {
6
+ "$ref": "../../form-control/template.schema.json"
7
+ },
8
+ {
9
+ "$ref": "../../../select-form-control.schema.json"
10
+ }
11
+ ],
12
+ "definitions": {
13
+ "type": {
14
+ "$ref": "../../../type.schema.json"
15
+ },
16
+ "property": {
17
+ "$ref": "../../../property.schema.json"
18
+ },
19
+ "button": {
20
+ "$ref": "../../../button.schema.json"
21
+ }
22
+ }
23
+ }
@@ -1,12 +1,10 @@
1
1
  import { Normalized } from '@rxap/utilities';
2
2
  import { WriterFunction } from 'ts-morph';
3
- import { NormalizedTableColumn } from '../../../../lib/table-column';
3
+ import { NormalizedTableSelectColumn, NormalizedTableSelectFormControl } from '../../../../lib/form-control';
4
4
  import { NormalizedFormControlOptions } from '../../form-control';
5
5
  import { TableSelectFormControlOptions } from './schema';
6
- export interface NormalizedTableSelectFormControlOptions extends Omit<Readonly<Normalized<TableSelectFormControlOptions> & NormalizedFormControlOptions>, 'columnList'> {
7
- columnList: ReadonlyArray<NormalizedTableColumn>;
8
- }
6
+ export type NormalizedTableSelectFormControlOptions = Readonly<Normalized<Omit<TableSelectFormControlOptions, 'columnList' | 'propertyList'>> & NormalizedFormControlOptions & NormalizedTableSelectFormControl>;
9
7
  export declare function NormalizeTableSelectFormControlOptions(options: TableSelectFormControlOptions): NormalizedTableSelectFormControlOptions;
10
- export declare function TableColumnToTableSelectColumn(options: NormalizedTableColumn): WriterFunction;
11
- export declare function TableColumnListToTableSelectColumnMap(columnList: ReadonlyArray<NormalizedTableColumn>): WriterFunction;
8
+ export declare function TableColumnToTableSelectColumn(column: NormalizedTableSelectColumn): WriterFunction;
9
+ export declare function TableColumnListToTableSelectColumnMap(columnList: Array<NormalizedTableSelectColumn>): WriterFunction;
12
10
  export default function (options: TableSelectFormControlOptions): () => import("@angular-devkit/schematics").Rule;