@rxap/schematic-angular 18.1.0-dev.0 → 18.1.0-dev.2

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 (167) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/collection.json +10 -0
  3. package/package.json +12 -12
  4. package/src/lib/accordion/accordion-header-kind.d.ts +5 -0
  5. package/src/lib/accordion/accordion-header-kind.js +10 -0
  6. package/src/lib/accordion/accordion-header-kind.js.map +1 -0
  7. package/src/lib/accordion/accordion-header.d.ts +6 -0
  8. package/src/lib/accordion/accordion-header.js +22 -0
  9. package/src/lib/accordion/accordion-header.js.map +1 -0
  10. package/src/lib/{accordion-itme-kinds.d.ts → accordion/accordion-item-kind.d.ts} +2 -1
  11. package/src/lib/{accordion-itme-kinds.js → accordion/accordion-item-kind.js} +2 -1
  12. package/src/lib/accordion/accordion-item-kind.js.map +1 -0
  13. package/src/lib/accordion/accordion-item.d.ts +10 -0
  14. package/src/lib/accordion/accordion-item.js +32 -0
  15. package/src/lib/accordion/accordion-item.js.map +1 -0
  16. package/src/lib/accordion/accordion.d.ts +29 -0
  17. package/src/lib/accordion/accordion.js +58 -0
  18. package/src/lib/accordion/accordion.js.map +1 -0
  19. package/src/lib/accordion/header/base-accordion-header.d.ts +18 -0
  20. package/src/lib/accordion/header/base-accordion-header.js +35 -0
  21. package/src/lib/accordion/header/base-accordion-header.js.map +1 -0
  22. package/src/lib/accordion/header/property-accordion-header.d.ts +14 -0
  23. package/src/lib/accordion/header/property-accordion-header.js +23 -0
  24. package/src/lib/accordion/header/property-accordion-header.js.map +1 -0
  25. package/src/lib/accordion/header/static-accordion-header.d.ts +11 -0
  26. package/src/lib/accordion/header/static-accordion-header.js +13 -0
  27. package/src/lib/accordion/header/static-accordion-header.js.map +1 -0
  28. package/src/lib/accordion/item/base-accordion-item.d.ts +31 -0
  29. package/src/lib/accordion/item/base-accordion-item.js +55 -0
  30. package/src/lib/accordion/item/base-accordion-item.js.map +1 -0
  31. package/src/lib/accordion/item/data-grid-accordion-item.d.ts +14 -0
  32. package/src/lib/accordion/item/data-grid-accordion-item.js +29 -0
  33. package/src/lib/accordion/item/data-grid-accordion-item.js.map +1 -0
  34. package/src/lib/accordion/item/nested-accordion-item.d.ts +14 -0
  35. package/src/lib/accordion/item/nested-accordion-item.js +19 -0
  36. package/src/lib/accordion/item/nested-accordion-item.js.map +1 -0
  37. package/src/lib/accordion/item/switch-accordion-item.d.ts +32 -0
  38. package/src/lib/accordion/item/switch-accordion-item.js +89 -0
  39. package/src/lib/accordion/item/switch-accordion-item.js.map +1 -0
  40. package/src/lib/accordion/item/table-accordion-item.d.ts +14 -0
  41. package/src/lib/accordion/item/table-accordion-item.js +21 -0
  42. package/src/lib/accordion/item/table-accordion-item.js.map +1 -0
  43. package/src/lib/accordion/item/tree-table-accordion-item.d.ts +14 -0
  44. package/src/lib/accordion/item/tree-table-accordion-item.js +21 -0
  45. package/src/lib/accordion/item/tree-table-accordion-item.js.map +1 -0
  46. package/src/lib/coerce-accordion-component.js +16 -3
  47. package/src/lib/coerce-accordion-component.js.map +1 -1
  48. package/src/lib/coerce-accordion-item-table-component.d.ts +4 -1
  49. package/src/lib/coerce-accordion-item-table-component.js +4 -1
  50. package/src/lib/coerce-accordion-item-table-component.js.map +1 -1
  51. package/src/lib/form/control/autocomplete-form-control.d.ts +32 -0
  52. package/src/lib/form/control/autocomplete-form-control.js +58 -0
  53. package/src/lib/form/control/autocomplete-form-control.js.map +1 -0
  54. package/src/lib/form/control/form-control-kind.d.ts +1 -0
  55. package/src/lib/form/control/form-control-kind.js +1 -0
  56. package/src/lib/form/control/form-control-kind.js.map +1 -1
  57. package/src/lib/form/control/form-control.js +3 -0
  58. package/src/lib/form/control/form-control.js.map +1 -1
  59. package/src/lib/form/control/table-select-form-control.d.ts +6 -11
  60. package/src/lib/form/control/table-select-form-control.js +5 -6
  61. package/src/lib/form/control/table-select-form-control.js.map +1 -1
  62. package/src/lib/load-handlebars-template.js +3 -0
  63. package/src/lib/load-handlebars-template.js.map +1 -1
  64. package/src/lib/minimum-table-component-options.js +45 -20
  65. package/src/lib/minimum-table-component-options.js.map +1 -1
  66. package/src/lib/utilities/if-truthy.d.ts +8 -0
  67. package/src/lib/utilities/if-truthy.js +14 -0
  68. package/src/lib/utilities/if-truthy.js.map +1 -0
  69. package/src/lib/utilities/to-function.d.ts +9 -0
  70. package/src/lib/utilities/to-function.js +14 -0
  71. package/src/lib/utilities/to-function.js.map +1 -0
  72. package/src/schema.json +323 -78
  73. package/src/schematic-input.schema.json +38 -0
  74. package/src/schematics/accordion/accordion-component/files/component/__componentName__.component.html.hbs +6 -0
  75. package/src/schematics/accordion/accordion-component/index.d.ts +2 -14
  76. package/src/schematics/accordion/accordion-component/index.js +23 -32
  77. package/src/schematics/accordion/accordion-component/index.js.map +1 -1
  78. package/src/schematics/accordion/accordion-component/schema.d.ts +2 -17
  79. package/src/schematics/accordion/accordion-component/schema.json +262 -82
  80. package/src/schematics/accordion/accordion-component/template.schema.json +3 -88
  81. package/src/schematics/accordion/accordion-item-component/index.d.ts +4 -8
  82. package/src/schematics/accordion/accordion-item-component/index.js +41 -24
  83. package/src/schematics/accordion/accordion-item-component/index.js.map +1 -1
  84. package/src/schematics/accordion/accordion-item-component/schema.d.ts +4 -5
  85. package/src/schematics/accordion/accordion-item-component/schema.json +261 -0
  86. package/src/schematics/accordion/item/accordion-item-data-grid-component/index.d.ts +7 -4
  87. package/src/schematics/accordion/item/accordion-item-data-grid-component/index.js +6 -5
  88. package/src/schematics/accordion/item/accordion-item-data-grid-component/index.js.map +1 -1
  89. package/src/schematics/accordion/item/accordion-item-data-grid-component/schema.d.ts +5 -3
  90. package/src/schematics/accordion/item/accordion-item-data-grid-component/schema.json +55 -0
  91. package/src/schematics/accordion/item/accordion-item-nested-component/index.d.ts +12 -0
  92. package/src/schematics/accordion/item/accordion-item-nested-component/index.js +40 -0
  93. package/src/schematics/accordion/item/accordion-item-nested-component/index.js.map +1 -0
  94. package/src/schematics/accordion/item/accordion-item-nested-component/schema.d.ts +6 -0
  95. package/src/schematics/accordion/item/accordion-item-nested-component/schema.json +2645 -0
  96. package/src/schematics/accordion/item/accordion-item-nested-component/template.schema.json +20 -0
  97. package/src/schematics/accordion/item/accordion-item-switch-component/index.d.ts +7 -4
  98. package/src/schematics/accordion/item/accordion-item-switch-component/index.js +2 -4
  99. package/src/schematics/accordion/item/accordion-item-switch-component/index.js.map +1 -1
  100. package/src/schematics/accordion/item/accordion-item-switch-component/schema.d.ts +5 -3
  101. package/src/schematics/accordion/item/accordion-item-switch-component/schema.json +261 -0
  102. package/src/schematics/accordion/item/accordion-item-table-component/index.d.ts +7 -4
  103. package/src/schematics/accordion/item/accordion-item-table-component/index.js +5 -5
  104. package/src/schematics/accordion/item/accordion-item-table-component/index.js.map +1 -1
  105. package/src/schematics/accordion/item/accordion-item-table-component/schema.d.ts +5 -3
  106. package/src/schematics/accordion/item/accordion-item-table-component/schema.json +63 -0
  107. package/src/schematics/accordion/item/accordion-item-tree-table-component/index.d.ts +7 -3
  108. package/src/schematics/accordion/item/accordion-item-tree-table-component/index.js +2 -4
  109. package/src/schematics/accordion/item/accordion-item-tree-table-component/index.js.map +1 -1
  110. package/src/schematics/accordion/item/accordion-item-tree-table-component/schema.d.ts +5 -3
  111. package/src/schematics/accordion/item/accordion-item-tree-table-component/schema.json +63 -0
  112. package/src/schematics/accordion/templates/default-accordion-header.hbs +2 -0
  113. package/src/schematics/accordion/templates/nested-accordion-item.hbs +15 -0
  114. package/src/schematics/accordion/templates/{accordion-header.hbs → property-accordion-header.hbs} +0 -5
  115. package/src/schematics/accordion/templates/static-accordion-header.hbs +3 -0
  116. package/src/schematics/accordion/templates/switch-accordion-item.hbs +12 -0
  117. package/src/schematics/accordion-header.schema.json +40 -0
  118. package/src/schematics/accordion-item.schema.json +6 -0
  119. package/src/schematics/accordion.schema.json +91 -0
  120. package/src/schematics/autocomplete-form-control.schema.json +66 -0
  121. package/src/schematics/base-accordion-header.schema.json +35 -0
  122. package/src/schematics/data-grid-component/schema.json +55 -0
  123. package/src/schematics/form/control/autocomplete-form-control/index.d.ts +8 -0
  124. package/src/schematics/form/control/autocomplete-form-control/index.js +151 -0
  125. package/src/schematics/form/control/autocomplete-form-control/index.js.map +1 -0
  126. package/src/schematics/form/control/autocomplete-form-control/schema.d.ts +4 -0
  127. package/src/schematics/form/control/autocomplete-form-control/schema.json +537 -0
  128. package/src/schematics/form/control/autocomplete-form-control/template.schema.json +39 -0
  129. package/src/schematics/form/control/autocomplete-table-select-form-control/index.js +1 -1
  130. package/src/schematics/form/control/autocomplete-table-select-form-control/index.js.map +1 -1
  131. package/src/schematics/form/form-array/schema.json +55 -0
  132. package/src/schematics/form/form-component/schema.json +55 -0
  133. package/src/schematics/form/form-control/index.js +2 -0
  134. package/src/schematics/form/form-control/index.js.map +1 -1
  135. package/src/schematics/form/form-control/schema.json +55 -0
  136. package/src/schematics/form/form-definition/schema.json +55 -0
  137. package/src/schematics/form/form-group/schema.json +55 -0
  138. package/src/schematics/form/templates/autocomplete-form-control.hbs +22 -0
  139. package/src/schematics/form-control.schema.json +6 -0
  140. package/src/schematics/nested-accordion-item.schema.json +30 -0
  141. package/src/schematics/property-accordion-header.schema.json +31 -0
  142. package/src/schematics/static-accordion-header.schema.json +29 -0
  143. package/src/schematics/table/action/dialog-table-action/schema.json +55 -0
  144. package/src/schematics/table/action/form-table-action/index.js +9 -5
  145. package/src/schematics/table/action/form-table-action/index.js.map +1 -1
  146. package/src/schematics/table/action/form-table-action/schema.json +55 -0
  147. package/src/schematics/table/action/navigation-table-action/schema.json +55 -0
  148. package/src/schematics/table/action/open-api-table-action/schema.json +55 -0
  149. package/src/schematics/table/action/operation-table-action/index.js +11 -7
  150. package/src/schematics/table/action/operation-table-action/index.js.map +1 -1
  151. package/src/schematics/table/action/operation-table-action/schema.json +55 -0
  152. package/src/schematics/table/header-button/form-table-header-button/schema.json +55 -0
  153. package/src/schematics/table/table-action/index.js.map +1 -1
  154. package/src/schematics/table/table-action/schema.d.ts +1 -2
  155. package/src/schematics/table/table-action/schema.json +55 -0
  156. package/src/schematics/table/table-component/index.js +5 -0
  157. package/src/schematics/table/table-component/index.js.map +1 -1
  158. package/src/schematics/table/table-component/schema.json +63 -0
  159. package/src/schematics/table/tree-table-component/schema.json +63 -0
  160. package/src/template.schema.json +27 -0
  161. package/src/lib/accordion-header.d.ts +0 -32
  162. package/src/lib/accordion-header.js +0 -57
  163. package/src/lib/accordion-header.js.map +0 -1
  164. package/src/lib/accordion-item.d.ts +0 -91
  165. package/src/lib/accordion-item.js +0 -206
  166. package/src/lib/accordion-item.js.map +0 -1
  167. package/src/lib/accordion-itme-kinds.js.map +0 -1
@@ -150,6 +150,58 @@
150
150
  }
151
151
  ]
152
152
  },
153
+ "autocompleteFormControl": {
154
+ "allOf": [
155
+ {
156
+ "$ref": "#/definitions/baseFormControl"
157
+ },
158
+ {
159
+ "type": "object",
160
+ "properties": {
161
+ "formField": {
162
+ "$ref": "#/definitions/formField"
163
+ },
164
+ "kind": {
165
+ "type": "string",
166
+ "const": "autocomplete"
167
+ },
168
+ "placeholder": {
169
+ "type": "string"
170
+ },
171
+ "toDisplay": {
172
+ "type": "object",
173
+ "properties": {
174
+ "property": {
175
+ "$ref": "#/definitions/property"
176
+ }
177
+ }
178
+ },
179
+ "toValue": {
180
+ "type": "object",
181
+ "properties": {
182
+ "property": {
183
+ "$ref": "#/definitions/property"
184
+ }
185
+ }
186
+ },
187
+ "upstream": {
188
+ "$ref": "#/definitions/upstream"
189
+ },
190
+ "resolver": {
191
+ "type": "object",
192
+ "properties": {
193
+ "upstream": {
194
+ "$ref": "#/definitions/upstream"
195
+ }
196
+ }
197
+ }
198
+ },
199
+ "required": [
200
+ "kind"
201
+ ]
202
+ }
203
+ ]
204
+ },
153
205
  "autocompleteTableSelectFormControl": {
154
206
  "allOf": [
155
207
  {
@@ -897,6 +949,9 @@
897
949
  },
898
950
  {
899
951
  "$ref": "#/definitions/autocompleteTableSelectFormControl"
952
+ },
953
+ {
954
+ "$ref": "#/definitions/autocompleteFormControl"
900
955
  }
901
956
  ]
902
957
  }
@@ -1239,6 +1294,14 @@
1239
1294
  "rowId": {
1240
1295
  "$ref": "#/definitions/property"
1241
1296
  },
1297
+ "filterList": {
1298
+ "alias": "filter",
1299
+ "type": "array",
1300
+ "items": {
1301
+ "$ref": "#/definitions/formControl"
1302
+ },
1303
+ "description": "List of table filter controls"
1304
+ },
1242
1305
  "columnList": {
1243
1306
  "alias": "column",
1244
1307
  "type": "array",
@@ -0,0 +1,2 @@
1
+ <rxap-navigate-back-button>
2
+ </rxap-navigate-back-button>
@@ -0,0 +1,15 @@
1
+
2
+ <mat-expansion-panel>
3
+
4
+ <mat-expansion-panel-header>
5
+ <mat-panel-title i18n>{{item.title}}</mat-panel-title>
6
+ {{#if item.description}}
7
+ <mat-panel-description i18n>{{item.description}}</mat-panel-description>
8
+ {{/if}}
9
+ </mat-expansion-panel-header>
10
+
11
+ <ng-template matExpansionPanelContent>
12
+ <{{prefix}}-{{item.name}}-accordion></{{prefix}}-{{item.name}}-accordion>
13
+ </ng-template>
14
+
15
+ </mat-expansion-panel>
@@ -1,10 +1,5 @@
1
1
  <rxap-navigate-back-button>
2
2
  <ng-container *rxapDataSource="let data from accordionDataSource">
3
- {{#if header.title}}
4
- <h1>{{header.title}}</h1>
5
- {{/if}}
6
- {{#if header.property}}
7
3
  <h1>\{{ data.{{header.property.name}} }}</h1>
8
- {{/if}}
9
4
  </ng-container>
10
5
  </rxap-navigate-back-button>
@@ -0,0 +1,3 @@
1
+ <rxap-navigate-back-button>
2
+ <h1>{{header.title}}</h1>
3
+ </rxap-navigate-back-button>
@@ -3,6 +3,9 @@
3
3
  {{#each item.switch.case}}
4
4
  <ng-template [ngSwitchCase]="{{propertyValue this.test}}">
5
5
  {{#each this.itemList}}
6
+ {{#if this.ifTruthy}}
7
+ <ng-template [ngIf]="data.{{this.ifTruthy.property.name}}">
8
+ {{/if}}
6
9
  {{#if this.permission}}
7
10
  <ng-template rxapIfHasPermission="{{item.permission}}">
8
11
  {{/if}}
@@ -10,12 +13,18 @@
10
13
  {{#if this.permission}}
11
14
  </ng-template>
12
15
  {{/if}}
16
+ {{#if this.ifTruthy}}
17
+ </ng-template>
18
+ {{/if}}
13
19
  {{/each}}
14
20
  </ng-template>
15
21
  {{/each}}
16
22
  {{#if item.switch.defaultCase}}
17
23
  <ng-template ngSwitchDefault>
18
24
  {{#each item.switch.defaultCase.itemList}}
25
+ {{#if this.ifTruthy}}
26
+ <ng-template ngIf="data.{{this.ifTruthy.property.name}}">
27
+ {{/if}}
19
28
  {{#if this.permission}}
20
29
  <ng-template rxapIfHasPermission="{{item.permission}}">
21
30
  {{/if}}
@@ -23,6 +32,9 @@
23
32
  {{#if this.permission}}
24
33
  </ng-template>
25
34
  {{/if}}
35
+ {{#if this.ifTruthy}}
36
+ </ng-template>
37
+ {{/if}}
26
38
  {{/each}}
27
39
  </ng-template>
28
40
  {{/if}}
@@ -0,0 +1,40 @@
1
+ {
2
+ "$schema": "http://json-schema.org/schema",
3
+ "$id": "accordion-header",
4
+ "oneOf": [
5
+ {
6
+ "allOf": [
7
+ {
8
+ "$ref": "#/definitions/baseAccordionHeader"
9
+ },
10
+ {
11
+ "type": "object",
12
+ "properties": {
13
+ "kind": {
14
+ "type": "string",
15
+ "const": "default",
16
+ "default": "default"
17
+ }
18
+ }
19
+ }
20
+ ]
21
+ },
22
+ {
23
+ "$ref": "#/definitions/staticAccordionHeader"
24
+ },
25
+ {
26
+ "$ref": "#/definitions/propertyAccordionHeader"
27
+ }
28
+ ],
29
+ "definitions": {
30
+ "baseAccordionHeader": {
31
+ "$ref": "./base-accordion-header.schema.json"
32
+ },
33
+ "staticAccordionHeader": {
34
+ "$ref": "./static-accordion-header.schema.json"
35
+ },
36
+ "propertyAccordionHeader": {
37
+ "$ref": "./property-accordion-header.schema.json"
38
+ }
39
+ }
40
+ }
@@ -30,6 +30,9 @@
30
30
  },
31
31
  {
32
32
  "$ref": "#/definitions/treeTableAccordionItem"
33
+ },
34
+ {
35
+ "$ref": "#/definitions/nestedAccordionItem"
33
36
  }
34
37
  ],
35
38
  "definitions": {
@@ -47,6 +50,9 @@
47
50
  },
48
51
  "treeTableAccordionItem": {
49
52
  "$ref": "./tree-table-accordion-item.schema.json"
53
+ },
54
+ "nestedAccordionItem": {
55
+ "$ref": "./nested-accordion-item.schema.json"
50
56
  }
51
57
  }
52
58
  }
@@ -0,0 +1,91 @@
1
+ {
2
+ "$schema": "http://json-schema.org/schema",
3
+ "$id": "accordion",
4
+ "type": "object",
5
+ "properties": {
6
+ "name": {
7
+ "type": "string",
8
+ "description": "The name of the accordion component"
9
+ },
10
+ "importList": {
11
+ "alias": "import",
12
+ "type": "array",
13
+ "items": {
14
+ "$ref": "#/definitions/type"
15
+ },
16
+ "description": "The list of imports"
17
+ },
18
+ "multiple": {
19
+ "type": "boolean",
20
+ "description": "Whether the accordion should allow multiple panels to be expanded at the same time",
21
+ "default": false,
22
+ "alias": "multi"
23
+ },
24
+ "persistent": {
25
+ "oneOf": [
26
+ {
27
+ "type": "object",
28
+ "properties": {
29
+ "key": {
30
+ "type": "string"
31
+ }
32
+ },
33
+ "required": ["key"]
34
+ },
35
+ {
36
+ "type": "object",
37
+ "properties": {
38
+ "property": {
39
+ "$ref": "#/definitions/property"
40
+ }
41
+ },
42
+ "required": ["property"]
43
+ }
44
+ ]
45
+ },
46
+ "identifier": {
47
+ "$ref": "#/definitions/accordionIdentifier"
48
+ },
49
+ "header": {
50
+ "$ref": "#/definitions/accordionHeader"
51
+ },
52
+ "itemList": {
53
+ "alias": "item",
54
+ "type": "array",
55
+ "items": {
56
+ "$ref": "#/definitions/accordionItem"
57
+ },
58
+ "description": "The list of accordion expansion panels"
59
+ },
60
+ "upstream": {
61
+ "$ref": "#/definitions/upstream"
62
+ },
63
+ "propertyList": {
64
+ "alias": "property",
65
+ "type": "array",
66
+ "items": {
67
+ "$ref": "#/definitions/property"
68
+ }
69
+ }
70
+ },
71
+ "definitions": {
72
+ "accordionItem": {
73
+ "$ref": "./accordion-item.schema.json"
74
+ },
75
+ "property": {
76
+ "$ref": "./property.schema.json"
77
+ },
78
+ "accordionIdentifier": {
79
+ "$ref": "./accordion-identifier.schema.json"
80
+ },
81
+ "accordionHeader": {
82
+ "$ref": "./accordion-header.schema.json"
83
+ },
84
+ "upstream": {
85
+ "$ref": "./upstream.schema.json"
86
+ },
87
+ "type": {
88
+ "$ref": "./type.schema.json"
89
+ }
90
+ }
91
+ }
@@ -0,0 +1,66 @@
1
+ {
2
+ "$schema": "http://json-schema.org/schema",
3
+ "$id": "autocomplete-form-control",
4
+ "allOf": [
5
+ {
6
+ "$ref": "#/definitions/baseFormControl"
7
+ },
8
+ {
9
+ "type": "object",
10
+ "properties": {
11
+ "formField": {
12
+ "$ref": "#/definitions/formField"
13
+ },
14
+ "kind": {
15
+ "type": "string",
16
+ "const": "autocomplete"
17
+ },
18
+ "placeholder": {
19
+ "type": "string"
20
+ },
21
+ "toDisplay": {
22
+ "type": "object",
23
+ "properties": {
24
+ "property": {
25
+ "$ref": "#/definitions/property"
26
+ }
27
+ }
28
+ },
29
+ "toValue": {
30
+ "type": "object",
31
+ "properties": {
32
+ "property": {
33
+ "$ref": "#/definitions/property"
34
+ }
35
+ }
36
+ },
37
+ "upstream": {
38
+ "$ref": "#/definitions/upstream"
39
+ },
40
+ "resolver": {
41
+ "type": "object",
42
+ "properties": {
43
+ "upstream": {
44
+ "$ref": "#/definitions/upstream"
45
+ }
46
+ }
47
+ }
48
+ },
49
+ "required": ["kind"]
50
+ }
51
+ ],
52
+ "definitions": {
53
+ "property": {
54
+ "$ref": "./property.schema.json"
55
+ },
56
+ "upstream": {
57
+ "$ref": "./upstream.schema.json"
58
+ },
59
+ "formField": {
60
+ "$ref": "./form-field.schema.json"
61
+ },
62
+ "baseFormControl": {
63
+ "$ref": "./base-form-control.schema.json"
64
+ }
65
+ }
66
+ }
@@ -0,0 +1,35 @@
1
+ {
2
+ "$schema": "http://json-schema.org/schema",
3
+ "$id": "base-accordion-header",
4
+ "type": "object",
5
+ "properties": {
6
+ "kind": {
7
+ "type": "string"
8
+ },
9
+ "template": {
10
+ "type": "string"
11
+ },
12
+ "importList": {
13
+ "alias": "import",
14
+ "type": "array",
15
+ "items": {
16
+ "$ref": "#/definitions/type"
17
+ }
18
+ },
19
+ "propertyList": {
20
+ "type": "array",
21
+ "items": {
22
+ "$ref": "#/definitions/property"
23
+ }
24
+ }
25
+ },
26
+ "required": [],
27
+ "definitions": {
28
+ "type": {
29
+ "$ref": "./type.schema.json"
30
+ },
31
+ "property": {
32
+ "$ref": "./property.schema.json"
33
+ }
34
+ }
35
+ }
@@ -150,6 +150,58 @@
150
150
  }
151
151
  ]
152
152
  },
153
+ "autocompleteFormControl": {
154
+ "allOf": [
155
+ {
156
+ "$ref": "#/definitions/baseFormControl"
157
+ },
158
+ {
159
+ "type": "object",
160
+ "properties": {
161
+ "formField": {
162
+ "$ref": "#/definitions/formField"
163
+ },
164
+ "kind": {
165
+ "type": "string",
166
+ "const": "autocomplete"
167
+ },
168
+ "placeholder": {
169
+ "type": "string"
170
+ },
171
+ "toDisplay": {
172
+ "type": "object",
173
+ "properties": {
174
+ "property": {
175
+ "$ref": "#/definitions/property"
176
+ }
177
+ }
178
+ },
179
+ "toValue": {
180
+ "type": "object",
181
+ "properties": {
182
+ "property": {
183
+ "$ref": "#/definitions/property"
184
+ }
185
+ }
186
+ },
187
+ "upstream": {
188
+ "$ref": "#/definitions/upstream"
189
+ },
190
+ "resolver": {
191
+ "type": "object",
192
+ "properties": {
193
+ "upstream": {
194
+ "$ref": "#/definitions/upstream"
195
+ }
196
+ }
197
+ }
198
+ },
199
+ "required": [
200
+ "kind"
201
+ ]
202
+ }
203
+ ]
204
+ },
153
205
  "autocompleteTableSelectFormControl": {
154
206
  "allOf": [
155
207
  {
@@ -631,6 +683,9 @@
631
683
  },
632
684
  {
633
685
  "$ref": "#/definitions/autocompleteTableSelectFormControl"
686
+ },
687
+ {
688
+ "$ref": "#/definitions/autocompleteFormControl"
634
689
  }
635
690
  ]
636
691
  }
@@ -0,0 +1,8 @@
1
+ import { NonNullableSelected, Normalized } from '@rxap/utilities';
2
+ import { AutocompleteFormControl, NormalizedAutocompleteFormControl } from '../../../../lib/form/control/autocomplete-form-control';
3
+ import { NormalizedFormControlOptions } from '../../form-control';
4
+ import { FormControlOptions } from '../../form-control/schema';
5
+ import { AutocompleteFormControlOptions } from './schema';
6
+ export type NormalizedAutocompleteFormControlOptions = NonNullableSelected<Readonly<Normalized<Omit<AutocompleteFormControlOptions, keyof FormControlOptions | keyof AutocompleteFormControl>>> & NormalizedFormControlOptions & NormalizedAutocompleteFormControl, 'controllerName'>;
7
+ export declare function NormalizeAutocompleteFormControlOptions(options: AutocompleteFormControlOptions): NormalizedAutocompleteFormControlOptions;
8
+ export default function (options: AutocompleteFormControlOptions): () => import("@angular-devkit/schematics").Rule;
@@ -0,0 +1,151 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NormalizeAutocompleteFormControlOptions = void 0;
4
+ const schematics_1 = require("@angular-devkit/schematics");
5
+ const schematics_ts_morph_1 = require("@rxap/schematics-ts-morph");
6
+ const ts_morph_1 = require("@rxap/ts-morph");
7
+ const utilities_1 = require("@rxap/utilities");
8
+ const angular_options_1 = require("../../../../lib/angular-options");
9
+ const autocomplete_form_control_1 = require("../../../../lib/form/control/autocomplete-form-control");
10
+ const form_control_1 = require("../../form-control");
11
+ function NormalizeAutocompleteFormControlOptions(options) {
12
+ const normalizedOptions = (0, form_control_1.NormalizeFormControlOptions)(options);
13
+ return Object.freeze(Object.assign(Object.assign(Object.assign({}, normalizedOptions), (0, autocomplete_form_control_1.NormalizeAutocompleteFormControl)(options)), { controllerName: (0, schematics_ts_morph_1.BuildNestControllerName)(normalizedOptions) }));
14
+ }
15
+ exports.NormalizeAutocompleteFormControlOptions = NormalizeAutocompleteFormControlOptions;
16
+ function printOptions(options) {
17
+ (0, angular_options_1.PrintAngularOptions)('autocomplete-form-control', options);
18
+ }
19
+ function CoerceUseAutocompleteResolveMethod(normalizedOptions, injectionToken, hook) {
20
+ const { name, project, feature, directory, formName, type, isArray, state, isRequired, validatorList, role, isOptional, source, } = normalizedOptions;
21
+ return (0, schematics_ts_morph_1.CoerceFormDefinitionControl)({
22
+ role,
23
+ isOptional,
24
+ source,
25
+ project,
26
+ feature,
27
+ directory,
28
+ formName,
29
+ name,
30
+ type,
31
+ isArray,
32
+ state,
33
+ isRequired,
34
+ validatorList,
35
+ coerceFormControl: (sourceFile, classDeclaration, formTypeName, control) => {
36
+ const { propertyDeclaration, decoratorDeclaration, } = (0, schematics_ts_morph_1.CoerceFormControl)(sourceFile, classDeclaration, formTypeName, control);
37
+ (0, ts_morph_1.CoerceDecorator)(propertyDeclaration, 'UseAutocompleteResolveMethod').set({
38
+ arguments: [
39
+ injectionToken,
40
+ ],
41
+ });
42
+ hook === null || hook === void 0 ? void 0 : hook(classDeclaration);
43
+ (0, ts_morph_1.CoerceImports)(sourceFile, {
44
+ namedImports: [
45
+ 'UseAutocompleteResolveMethod',
46
+ ],
47
+ moduleSpecifier: 'autocomplete-table-select',
48
+ });
49
+ return {
50
+ propertyDeclaration,
51
+ decoratorDeclaration,
52
+ };
53
+ },
54
+ });
55
+ }
56
+ function CoerceUseAutocompleteOptionsMethod(normalizedOptions, injectionToken, hook) {
57
+ const { name, project, feature, directory, formName, type, isArray, state, isRequired, validatorList, role, isOptional, source, } = normalizedOptions;
58
+ return (0, schematics_ts_morph_1.CoerceFormDefinitionControl)({
59
+ role,
60
+ isOptional,
61
+ source,
62
+ project,
63
+ feature,
64
+ directory,
65
+ formName,
66
+ name,
67
+ type,
68
+ isArray,
69
+ state,
70
+ isRequired,
71
+ validatorList,
72
+ coerceFormControl: (sourceFile, classDeclaration, formTypeName, control) => {
73
+ const { propertyDeclaration, decoratorDeclaration, } = (0, schematics_ts_morph_1.CoerceFormControl)(sourceFile, classDeclaration, formTypeName, control);
74
+ (0, ts_morph_1.CoerceDecorator)(propertyDeclaration, 'UseAutocompleteOptionsMethod').set({
75
+ arguments: [
76
+ injectionToken,
77
+ ],
78
+ });
79
+ hook === null || hook === void 0 ? void 0 : hook(classDeclaration);
80
+ (0, ts_morph_1.CoerceImports)(sourceFile, {
81
+ namedImports: [
82
+ 'UseAutocompleteOptionsMethod',
83
+ ],
84
+ moduleSpecifier: 'autocomplete-table-select',
85
+ });
86
+ return {
87
+ propertyDeclaration,
88
+ decoratorDeclaration,
89
+ };
90
+ },
91
+ });
92
+ }
93
+ function autocompleteResolveRule(normalizedOptions) {
94
+ const { name, formName, } = normalizedOptions;
95
+ const tokenName = (0, utilities_1.underscore)([formName, name, 'autocomplete', 'resolve', 'method'].join('-')).toUpperCase();
96
+ return (0, schematics_1.chain)([
97
+ CoerceUseAutocompleteResolveMethod(normalizedOptions, tokenName, classDeclaration => {
98
+ (0, ts_morph_1.CoerceImports)(classDeclaration.getSourceFile(), {
99
+ namedImports: [tokenName],
100
+ moduleSpecifier: './tokens',
101
+ });
102
+ }),
103
+ (0, schematics_ts_morph_1.TsMorphAngularProjectTransformRule)(normalizedOptions, (_, [sourceFile]) => {
104
+ (0, ts_morph_1.CoerceTokenExport)(sourceFile, {
105
+ name: tokenName,
106
+ description: `The resolve method for the ${name} autocomplete form control`,
107
+ type: {
108
+ name: 'AutocompleteResolveMethod',
109
+ moduleSpecifier: 'autocomplete-table-select',
110
+ },
111
+ });
112
+ }, ['tokens.ts?']),
113
+ ]);
114
+ }
115
+ function autocompleteOptionsRule(normalizedOptions) {
116
+ const { name, formName, } = normalizedOptions;
117
+ const tokenName = (0, utilities_1.underscore)([formName, name, 'autocomplete', 'options', 'method'].join('-')).toUpperCase();
118
+ return (0, schematics_1.chain)([
119
+ CoerceUseAutocompleteOptionsMethod(normalizedOptions, tokenName, classDeclaration => {
120
+ (0, ts_morph_1.CoerceImports)(classDeclaration.getSourceFile(), {
121
+ namedImports: [tokenName],
122
+ moduleSpecifier: './tokens',
123
+ });
124
+ }),
125
+ (0, schematics_ts_morph_1.TsMorphAngularProjectTransformRule)(normalizedOptions, (_, [sourceFile]) => {
126
+ (0, ts_morph_1.CoerceTokenExport)(sourceFile, {
127
+ name: tokenName,
128
+ description: `The options method for the ${name} autocomplete form control`,
129
+ type: {
130
+ name: 'AutocompleteOptionsMethod',
131
+ moduleSpecifier: 'autocomplete-table-select',
132
+ },
133
+ });
134
+ }, ['tokens.ts?']),
135
+ ]);
136
+ }
137
+ function default_1(options) {
138
+ const normalizedOptions = NormalizeAutocompleteFormControlOptions(options);
139
+ printOptions(normalizedOptions);
140
+ return () => {
141
+ return (0, schematics_1.chain)([
142
+ () => console.group('[@rxap/schematics-angular:autocomplete-table-select-form-control]'.green),
143
+ autocompleteResolveRule(normalizedOptions),
144
+ autocompleteOptionsRule(normalizedOptions),
145
+ (0, schematics_ts_morph_1.EnforceUseFormControlOrderRule)(normalizedOptions),
146
+ () => console.groupEnd(),
147
+ ]);
148
+ };
149
+ }
150
+ exports.default = default_1;
151
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../../packages/schematic/angular/src/schematics/form/control/autocomplete-form-control/index.ts"],"names":[],"mappings":";;;AAAA,2DAAmD;AACnD,mEAOmC;AACnC,6CAOwB;AACxB,+CAIyB;AAMzB,qEAAsE;AACtE,sGAIgE;AAChE,qDAG4B;AAM5B,SAAgB,uCAAuC,CACrD,OAAuC;IAEvC,MAAM,iBAAiB,GAAG,IAAA,0CAA2B,EAAC,OAAO,CAAC,CAAC;IAC/D,OAAO,MAAM,CAAC,MAAM,+CACf,iBAAiB,GACjB,IAAA,4DAAgC,EAAC,OAAO,CAAC,KAC5C,cAAc,EAAE,IAAA,6CAAuB,EAAC,iBAAiB,CAAC,IAC1D,CAAC;AACL,CAAC;AATD,0FASC;AAED,SAAS,YAAY,CAAC,OAAiD;IACrE,IAAA,qCAAmB,EAAC,2BAA2B,EAAE,OAAO,CAAC,CAAC;AAC5D,CAAC;AAED,SAAS,kCAAkC,CACzC,iBAA2D,EAC3D,cAAsB,EACtB,IAAmD;IAGnD,MAAM,EACJ,IAAI,EACJ,OAAO,EACP,OAAO,EACP,SAAS,EACT,QAAQ,EACR,IAAI,EACJ,OAAO,EACP,KAAK,EACL,UAAU,EACV,aAAa,EACb,IAAI,EACJ,UAAU,EACV,MAAM,GACP,GAAG,iBAAiB,CAAC;IAEtB,OAAO,IAAA,iDAA2B,EAAC;QACjC,IAAI;QACJ,UAAU;QACV,MAAM;QACN,OAAO;QACP,OAAO;QACP,SAAS;QACT,QAAQ;QACR,IAAI;QACJ,IAAI;QACJ,OAAO;QACP,KAAK;QACL,UAAU;QACV,aAAa;QACb,iBAAiB,EAAE,CACjB,UAAsB,EACtB,gBAAkC,EAClC,YAAoB,EACpB,OAAwB,EACxB,EAAE;YACF,MAAM,EACJ,mBAAmB,EACnB,oBAAoB,GACrB,GACC,IAAA,uCAAiB,EAAC,UAAU,EAAE,gBAAgB,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;YAEzE,IAAA,0BAAe,EAAC,mBAAmB,EAAE,8BAA8B,CAAC,CAAC,GAAG,CAAC;gBACvE,SAAS,EAAE;oBACT,cAAc;iBACf;aACF,CAAC,CAAC;YACH,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAG,gBAAgB,CAAC,CAAC;YACzB,IAAA,wBAAa,EAAC,UAAU,EAAE;gBACxB,YAAY,EAAE;oBACZ,8BAA8B;iBAC/B;gBACD,eAAe,EAAE,2BAA2B;aAC7C,CAAC,CAAC;YAEH,OAAO;gBACL,mBAAmB;gBACnB,oBAAoB;aACrB,CAAC;QACJ,CAAC;KACF,CAAC,CAAC;AAEL,CAAC;AAED,SAAS,kCAAkC,CACzC,iBAA2D,EAC3D,cAAsB,EACtB,IAAmD;IAGnD,MAAM,EACJ,IAAI,EACJ,OAAO,EACP,OAAO,EACP,SAAS,EACT,QAAQ,EACR,IAAI,EACJ,OAAO,EACP,KAAK,EACL,UAAU,EACV,aAAa,EACb,IAAI,EACJ,UAAU,EACV,MAAM,GACP,GAAG,iBAAiB,CAAC;IAEtB,OAAO,IAAA,iDAA2B,EAAC;QACjC,IAAI;QACJ,UAAU;QACV,MAAM;QACN,OAAO;QACP,OAAO;QACP,SAAS;QACT,QAAQ;QACR,IAAI;QACJ,IAAI;QACJ,OAAO;QACP,KAAK;QACL,UAAU;QACV,aAAa;QACb,iBAAiB,EAAE,CACjB,UAAsB,EACtB,gBAAkC,EAClC,YAAoB,EACpB,OAAwB,EACxB,EAAE;YACF,MAAM,EACJ,mBAAmB,EACnB,oBAAoB,GACrB,GACC,IAAA,uCAAiB,EAAC,UAAU,EAAE,gBAAgB,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;YAEzE,IAAA,0BAAe,EAAC,mBAAmB,EAAE,8BAA8B,CAAC,CAAC,GAAG,CAAC;gBACvE,SAAS,EAAE;oBACT,cAAc;iBACf;aACF,CAAC,CAAC;YACH,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAG,gBAAgB,CAAC,CAAC;YACzB,IAAA,wBAAa,EAAC,UAAU,EAAE;gBACxB,YAAY,EAAE;oBACZ,8BAA8B;iBAC/B;gBACD,eAAe,EAAE,2BAA2B;aAC7C,CAAC,CAAC;YAEH,OAAO;gBACL,mBAAmB;gBACnB,oBAAoB;aACrB,CAAC;QACJ,CAAC;KACF,CAAC,CAAC;AAEL,CAAC;AAED,SAAS,uBAAuB,CAAC,iBAA2D;IAE1F,MAAM,EACJ,IAAI,EACJ,QAAQ,GACT,GAAG,iBAAiB,CAAC;IAEtB,MAAM,SAAS,GAAG,IAAA,sBAAU,EAAC,CAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,EAAE,SAAS,EAAE,QAAQ,CAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IAE9G,OAAO,IAAA,kBAAK,EAAC;QACX,kCAAkC,CAAC,iBAAiB,EAAE,SAAS,EAAE,gBAAgB,CAAC,EAAE;YAClF,IAAA,wBAAa,EAAC,gBAAgB,CAAC,aAAa,EAAE,EAAE;gBAC9C,YAAY,EAAE,CAAE,SAAS,CAAE;gBAC3B,eAAe,EAAE,UAAU;aAC5B,CAAC,CAAC;QACL,CAAC,CAAC;QACF,IAAA,wDAAkC,EAAC,iBAAiB,EAAE,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,EAAE;YACxE,IAAA,4BAAiB,EAAC,UAAU,EAAE;gBAC5B,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,8BAA+B,IAAK,4BAA4B;gBAC7E,IAAI,EAAE;oBACJ,IAAI,EAAE,2BAA2B;oBACjC,eAAe,EAAE,2BAA2B;iBAC7C;aACF,CAAC,CAAC;QACL,CAAC,EAAC,CAAE,YAAY,CAAE,CAAC;KACpB,CAAC,CAAC;AACL,CAAC;AAED,SAAS,uBAAuB,CAAC,iBAA2D;IAE1F,MAAM,EACJ,IAAI,EACJ,QAAQ,GACT,GAAG,iBAAiB,CAAC;IAEtB,MAAM,SAAS,GAAG,IAAA,sBAAU,EAAC,CAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,EAAE,SAAS,EAAE,QAAQ,CAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IAE9G,OAAO,IAAA,kBAAK,EAAC;QACX,kCAAkC,CAChC,iBAAiB,EACjB,SAAS,EACT,gBAAgB,CAAC,EAAE;YACjB,IAAA,wBAAa,EAAC,gBAAgB,CAAC,aAAa,EAAE,EAAE;gBAC9C,YAAY,EAAE,CAAE,SAAS,CAAE;gBAC3B,eAAe,EAAE,UAAU;aAC5B,CAAC,CAAC;QACL,CAAC,CACF;QACD,IAAA,wDAAkC,EAAC,iBAAiB,EAAE,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,EAAE;YACxE,IAAA,4BAAiB,EAAC,UAAU,EAAE;gBAC5B,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,8BAA+B,IAAK,4BAA4B;gBAC7E,IAAI,EAAE;oBACJ,IAAI,EAAE,2BAA2B;oBACjC,eAAe,EAAE,2BAA2B;iBAC7C;aACF,CAAC,CAAC;QACL,CAAC,EAAC,CAAE,YAAY,CAAE,CAAC;KACpB,CAAC,CAAC;AACL,CAAC;AAED,mBAAyB,OAAuC;IAC9D,MAAM,iBAAiB,GAAG,uCAAuC,CAAC,OAAO,CAAC,CAAC;IAC3E,YAAY,CAAC,iBAAiB,CAAC,CAAC;IAEhC,OAAO,GAAG,EAAE;QACV,OAAO,IAAA,kBAAK,EAAC;YACX,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,mEAAmE,CAAC,KAAK,CAAC;YAC9F,uBAAuB,CAAC,iBAAiB,CAAC;YAC1C,uBAAuB,CAAC,iBAAiB,CAAC;YAC1C,IAAA,oDAA8B,EAAC,iBAAiB,CAAC;YACjD,GAAG,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE;SACzB,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAbD,4BAaC"}
@@ -0,0 +1,4 @@
1
+ import { AutocompleteFormControl } from '../../../../lib/form/control/autocomplete-form-control';
2
+ import { FormControlOptions } from '../../form-control/schema';
3
+
4
+ export type AutocompleteFormControlOptions = FormControlOptions & AutocompleteFormControl;