@rxap/schematic-angular 19.1.1-dev.2 → 19.2.0-dev.0

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 (38) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/GUIDES.md +160 -0
  3. package/README.md +164 -0
  4. package/package.json +8 -8
  5. package/src/examples/feature/dashboard/dashboard-accordion/schematics.yaml +226 -0
  6. package/src/examples/feature/dashboard/dashboard-table/schematic.yml +103 -0
  7. package/src/examples/feature/dashboard-template/dashboard-template-table/schematic.yml +95 -0
  8. package/src/examples/feature/machine/machine-accordion/schematic.yaml +83 -0
  9. package/src/examples/feature/machine/machine-table/schematic.yaml +139 -0
  10. package/src/examples/feature/machine-definition/machine-definition-details/data-definition-modbus-tcp-table/schematic.yaml +63 -0
  11. package/src/examples/feature/machine-definition/machine-definition-details/data-definition-opc-ua-table/schematic.yaml +58 -0
  12. package/src/examples/feature/machine-definition/machine-definition-details/data-definition-open-platform-protocol-table/schematic.yaml +49 -0
  13. package/src/examples/feature/machine-definition/machine-definition-details/data-definition-s7-iso-on-tcp-table/schematic.yaml +64 -0
  14. package/src/examples/feature/machine-definition/machine-definition-details/data-trigger-table/schematic.yaml +43 -0
  15. package/src/examples/feature/machine-definition/machine-definition-details/message-group-table/schematic.yaml +41 -0
  16. package/src/examples/feature/machine-definition/machine-definition-details/message-trigger-connection-table/schematic.yaml +38 -0
  17. package/src/examples/feature/machine-definition/machine-definition-details/physical-unit-table/schematic.yaml +41 -0
  18. package/src/examples/feature/machine-definition/machine-definition-table/schematic.yaml +107 -0
  19. package/src/examples/feature/node-red/node-red-table/schematic.yaml +114 -0
  20. package/src/examples/feature/report/report-accordion/schematic.yaml +318 -0
  21. package/src/examples/feature/report/report-table/schematic.yaml +66 -0
  22. package/src/examples/feature/service-network/company-accordion/schematic.yaml +119 -0
  23. package/src/examples/feature/service-network/service-network-accordion/schematic.yml +65 -0
  24. package/src/examples/feature/thing/thing-table/schematic.yml +115 -0
  25. package/src/examples/feature/user/user-table/schematic.yaml +99 -0
  26. package/src/examples/schematics.yaml +18 -0
  27. package/src/guides/backend.md +49 -0
  28. package/src/guides/form-component.md +58 -0
  29. package/src/guides/form-control.md +269 -0
  30. package/src/guides/header-button.md +57 -0
  31. package/src/guides/table-action.md +120 -0
  32. package/src/guides/table-column.md +185 -0
  33. package/src/guides/table-component.md +51 -0
  34. package/src/guides/table-filter.md +69 -0
  35. package/src/guides/table-modifiers.md +22 -0
  36. package/src/guides/upstream.md +49 -0
  37. package/src/lib/angular-options.js +0 -1
  38. package/src/lib/angular-options.js.map +1 -1
@@ -0,0 +1,41 @@
1
+ package: "@rxap/schematic-angular"
2
+ name: table-component
3
+ options:
4
+ name: message-group
5
+ cssClass:
6
+ - "!min-w-0"
7
+ sortable: true
8
+ backend: data-source
9
+ propertyList:
10
+ - name: uuid
11
+ columnList:
12
+ - name: name
13
+ - name: priority
14
+ type: number
15
+ - name: messageType
16
+ kind: options
17
+ type: number
18
+ optionList:
19
+ - value: 0
20
+ display: Information
21
+ - value: 1
22
+ display: Fehler
23
+ - value: 2
24
+ display: Warnung
25
+ actionList:
26
+ - type: edit
27
+ role: form
28
+ refresh: true
29
+ icon: edit
30
+ options:
31
+ customComponent: true
32
+ formComponent: MessageGroupEditForm
33
+ - type: delete
34
+ icon: delete
35
+ refresh: true
36
+ confirm: true
37
+ inHeader: true
38
+ role: open-api
39
+ options:
40
+ operationId: message-group-controller-delete@legacy
41
+ color: warn
@@ -0,0 +1,38 @@
1
+ package: "@rxap/schematic-angular"
2
+ name: table-component
3
+ options:
4
+ name: message-trigger-connection
5
+ sortable: true
6
+ backend: open-api
7
+ openApi:
8
+ operationId: machine-type-definition-controller-getMessagesFilter
9
+ adapter:
10
+ name: TableAdapterFactory
11
+ moduleSpecifier: "@digitaix/eurogard-table-system"
12
+ columnList:
13
+ - name: name
14
+ hasFilter: true
15
+ - name: share
16
+ kind: boolean
17
+ - name: readLevel
18
+ - name: writeLevel
19
+ - name: messageGroupName
20
+ source: messageGroup?.name
21
+ - name: dataId
22
+ actionList:
23
+ - type: delete
24
+ role: open-api
25
+ icon: delete
26
+ color: warn
27
+ refresh: true
28
+ confirm: true
29
+ options:
30
+ operationId: data-definition-controller-delete
31
+ parameters:
32
+ uuid: rowId
33
+ - type: details
34
+ role: navigation
35
+ icon: visibility
36
+ options:
37
+ route: "../messages/{{uuid}}/details"
38
+ relativeTo: true
@@ -0,0 +1,41 @@
1
+ package: "@rxap/schematic-angular"
2
+ name: table-component
3
+ options:
4
+ name: physical-unit
5
+ cssClass:
6
+ - "!min-w-0"
7
+ sortable: true
8
+ backend: data-source
9
+ propertyList:
10
+ - name: uuid
11
+ columnList:
12
+ - name: name
13
+ - name: priority
14
+ type: number
15
+ - name: messageType
16
+ kind: options
17
+ type: number
18
+ optionList:
19
+ - value: 0
20
+ display: Information
21
+ - value: 1
22
+ display: Fehler
23
+ - value: 2
24
+ display: Warnung
25
+ actionList:
26
+ - type: edit
27
+ role: form
28
+ refresh: true
29
+ icon: edit
30
+ options:
31
+ customComponent: true
32
+ formComponent: MessageGroupEditForm
33
+ - type: delete
34
+ icon: delete
35
+ refresh: true
36
+ confirm: true
37
+ inHeader: true
38
+ role: open-api
39
+ options:
40
+ operationId: message-group-controller-delete@legacy
41
+ color: warn
@@ -0,0 +1,107 @@
1
+ package: "@rxap/schematic-angular"
2
+ name: table-component
3
+ options:
4
+ name: machine-definition
5
+ backend: open-api
6
+ sortable: true
7
+ modifiers:
8
+ - show-archived-slide
9
+ headerButton:
10
+ role: navigation
11
+ permission: machine-type-definition.create
12
+ options:
13
+ route: "/machine-definition/create"
14
+ openApi:
15
+ operationId: machine-type-definition-controller-getByFilter
16
+ adapter:
17
+ name: TableAdapterFactory
18
+ moduleSpecifier: "@digitaix/eurogard-table-system"
19
+ columnList:
20
+ - name: __removedAt
21
+ kind: date
22
+ inactive: true
23
+ hidden: true
24
+ - name: name
25
+ hasFilter: true
26
+ - name: companyName
27
+ hasFilter: true
28
+ - name: version
29
+ kind: custom
30
+ html: "v{{element.version}}"
31
+ - name: status
32
+ pipeList:
33
+ - name: toMachineTypeDefinitionStatusEnumValue
34
+ namedImport: ToMachineTypeDefinitionStatusEnumValuePipe
35
+ moduleSpecifier: enum
36
+ - async
37
+ actionList:
38
+ - type: details
39
+ role: navigation
40
+ icon: visibility
41
+ permission: machine-type-definition.get
42
+ checkFunction: "!element.__archived"
43
+ options:
44
+ route: "/machine-definition/{{uuid}}/details"
45
+ - type: edit
46
+ role: form
47
+ permission: machine-type-definition.update
48
+ checkFunction: "!element.__archived"
49
+ refresh: true
50
+ options:
51
+ customComponent: true
52
+ formComponent: MachineDefinitionEditForm
53
+ loadFrom:
54
+ operationId: machine-type-definition-controller-getByUuid
55
+ parameters:
56
+ uuid: rowId
57
+ formInitial:
58
+ uuid: uuid
59
+ name: name
60
+ company: company?.uuid
61
+ - type: delete
62
+ icon: delete
63
+ refresh: true
64
+ confirm: true
65
+ inHeader: true
66
+ permission: machine-type-definition.archive
67
+ checkFunction: "!!element.__archived"
68
+ role: open-api
69
+ color: warn
70
+ options:
71
+ operationId: machine-type-definition-controller-delete
72
+ parameters:
73
+ uuid: rowId
74
+ - type: archive
75
+ role: open-api
76
+ refresh: true
77
+ confirm: true
78
+ inHeader: true
79
+ permission: machine-type-definition.archive
80
+ checkFunction: "!element.__archived"
81
+ options:
82
+ operationId: machine-type-definition-controller-archive
83
+ parameters:
84
+ uuid: rowId
85
+ - type: restore
86
+ role: open-api
87
+ refresh: true
88
+ inHeader: true
89
+ confirm: true
90
+ permission: machine-type-definition.archive
91
+ checkFunction: "!!element.__archived"
92
+ options:
93
+ operationId: machine-type-definition-controller-unarchive
94
+ parameters:
95
+ uuid: rowId
96
+ - type: import
97
+ role: navigation
98
+ svgIcon: database-import
99
+ permission: machine-type-definition.import
100
+ checkFunction: "!element.__archived"
101
+ options:
102
+ route: "/machine-definition/{{uuid}}/import"
103
+ - type: export
104
+ svgIcon: database-export
105
+ checkFunction: "!element.__archived"
106
+ permission: machine-type-definition.export
107
+
@@ -0,0 +1,114 @@
1
+ package: "@rxap/schematic-angular"
2
+ name: table-component
3
+ options:
4
+ name: node-red
5
+ backend: open-api
6
+ sortable: true
7
+ modifiers:
8
+ - show-archived-slide
9
+ openApi:
10
+ operationId: node-red-rule-controller-getByFilter
11
+ adapter:
12
+ name: TableAdapterFactory
13
+ moduleSpecifier: "@digitaix/eurogard-table-system"
14
+ propertyList:
15
+ - name: link
16
+ type: string
17
+ columnList:
18
+ - name: __removedAt
19
+ kind: date
20
+ inactive: true
21
+ hidden: true
22
+ - name: name
23
+ hasFilter: true
24
+ type: string
25
+ - name: comment
26
+ hasFilter: true
27
+ type: string
28
+ - name: companyName
29
+ source: company.name
30
+ hasFilter: true
31
+ - name: filename
32
+ type: string
33
+ actionList:
34
+ - type: edit
35
+ role: form
36
+ permission: node-red.update
37
+ checkFunction: "!element.__archived"
38
+ refresh: true
39
+ options:
40
+ customComponent: true
41
+ formComponent: NodeRedEditForm
42
+ formInitial:
43
+ name: name
44
+ link: link
45
+ comment: filename
46
+ filename: filename
47
+ - type: delete
48
+ icon: delete
49
+ refresh: true
50
+ confirm: true
51
+ inHeader: true
52
+ permission: node-red.delete
53
+ checkFunction: "!!element.__archived"
54
+ role: open-api
55
+ color: warn
56
+ options:
57
+ operationId: node-red-rule-controller-delete
58
+ parameters:
59
+ uuid: rowId
60
+ - type: archive
61
+ role: open-api
62
+ refresh: true
63
+ confirm: true
64
+ inHeader: true
65
+ permission: node-red.archive
66
+ checkFunction: "!element.__archived"
67
+ options:
68
+ operationId: node-red-rule-controller-archive
69
+ parameters:
70
+ uuid: rowId
71
+ - type: restore
72
+ role: open-api
73
+ refresh: true
74
+ inHeader: true
75
+ confirm: true
76
+ permission: node-red.archive
77
+ checkFunction: "!!element.__archived"
78
+ options:
79
+ operationId: node-red-rule-controller-unarchive
80
+ parameters:
81
+ uuid: rowId
82
+ - type: open-iframe
83
+ role: navigation
84
+ icon: visibility
85
+ permission: node-red.get
86
+ tooltip: "Open in iframe"
87
+ checkFunction: "!element.__archived && !!element.link"
88
+ options:
89
+ route: "{{uuid}}/inline"
90
+ relativeTo: true
91
+ - type: open-tab
92
+ icon: open_in_new
93
+ tooltip: "Open in tab"
94
+ permission: node-red.get
95
+ checkFunction: "!element.__archived && !!element.link"
96
+ - type: vpn-cert-upload
97
+ icon: cloud_upload
98
+ tooltip: Upload VPN Certificate
99
+ refresh: true
100
+ checkFunction: "!element.__archived"
101
+ permission: node-red.upload
102
+ - type: node-red-generate
103
+ icon: playlist_add
104
+ tooltip: Node-RED generieren
105
+ role: open-api
106
+ refresh: true
107
+ confirm: true
108
+ checkFunction: "!element.__archived"
109
+ permission: node-red.generate
110
+ options:
111
+ operationId: node-red-rule-controller-nodeRedSrc
112
+ parameters:
113
+ node-red-uuid: rowId
114
+
@@ -0,0 +1,318 @@
1
+ package: "@rxap/schematic-angular"
2
+ name: accordion-component
3
+ options:
4
+ name: report
5
+ backend: nestjs
6
+ multiple: true
7
+ header:
8
+ property:
9
+ name: name
10
+ persistent:
11
+ property:
12
+ name: uuid
13
+ identifier:
14
+ source: route
15
+ property:
16
+ name: uuid
17
+ upstream:
18
+ kind: open-api
19
+ operationId: report-controller-getByUuid@legacy
20
+ propertyList:
21
+ - name: name
22
+ source: "name!"
23
+ itemList:
24
+ - name: general-information
25
+ title: Allgemeine Informationen
26
+ kind: data-grid
27
+ dataGrid:
28
+ itemList:
29
+ - name: name
30
+ source: "name!"
31
+ formControl:
32
+ kind: input
33
+ isRequired: true
34
+ formField:
35
+ cssClass:
36
+ - "w-[500px]"
37
+ - name: link
38
+ source: "link!"
39
+ - name: company
40
+ source: "company!.uuid!"
41
+ type: string
42
+ pipeList:
43
+ - name: company
44
+ namedImport: CompanyPipe
45
+ moduleSpecifier: "@digitaix/eurogard-pipes"
46
+ - async
47
+ - getFromObject:name
48
+ formControl:
49
+ isRequired: true
50
+ kind: autocomplete-table-select
51
+ backend: nestjs
52
+ formField:
53
+ cssClass:
54
+ - "w-[500px]"
55
+ toValue:
56
+ property:
57
+ name: uuid
58
+ columnList:
59
+ - name: name
60
+ hasFilter: true
61
+ resolver:
62
+ upstream:
63
+ kind: open-api
64
+ operationId: company-gui-controller-getByUuid@legacy
65
+ mapper:
66
+ kind: resolve
67
+ value: uuid
68
+ upstream:
69
+ kind: open-api
70
+ operationId: company-gui-controller-getByFilter@legacy
71
+ mapper:
72
+ kind: paged
73
+ pageIndex: page
74
+ pageSize: size
75
+ sortBy: sort
76
+ sortDirection: order
77
+ list: entities
78
+ total: maxCount
79
+ filter:
80
+ eq: ':'
81
+ join: ';'
82
+ - name: location
83
+ source: "location!.uuid!"
84
+ type: string
85
+ pipeList:
86
+ - name: company
87
+ namedImport: CompanyPipe
88
+ moduleSpecifier: "@digitaix/eurogard-pipes"
89
+ - async
90
+ - getFromObject:name
91
+ formControl:
92
+ isRequired: true
93
+ kind: autocomplete-table-select
94
+ backend: nestjs
95
+ formField:
96
+ cssClass:
97
+ - "w-[500px]"
98
+ toValue:
99
+ property:
100
+ name: uuid
101
+ columnList:
102
+ - name: name
103
+ hasFilter: true
104
+ resolver:
105
+ upstream:
106
+ kind: open-api
107
+ operationId: company-gui-controller-getByUuid@legacy
108
+ mapper:
109
+ kind: resolve
110
+ value: uuid
111
+ upstream:
112
+ kind: open-api
113
+ operationId: company-gui-controller-getByFilter@legacy
114
+ mapper:
115
+ kind: paged
116
+ pageIndex: page
117
+ pageSize: size
118
+ sortBy: sort
119
+ sortDirection: order
120
+ list: entities
121
+ total: maxCount
122
+ filter:
123
+ eq: ':'
124
+ join: ';'
125
+ - name: resultType
126
+ source: "resultType!"
127
+ type: number
128
+ pipeList:
129
+ - name: toReportResultTypeEnumValue
130
+ namedImport: ToReportResultTypeEnumValuePipe
131
+ moduleSpecifier: enum
132
+ - async
133
+ formControl:
134
+ isRequired: true
135
+ formField:
136
+ cssClass:
137
+ - "w-[500px]"
138
+ kind: select
139
+ backend: nestjs
140
+ upstream:
141
+ kind: open-api
142
+ operationId: options-controller-getReportResultType@legacy
143
+ mapper:
144
+ kind: options
145
+ toFunction: ToOptionsFromObject
146
+ toValue: Number
147
+ - name: comment
148
+ source: "comment!"
149
+ formControl:
150
+ kind: textarea
151
+ formField:
152
+ cssClass:
153
+ - "w-[500px]"
154
+ - name: type
155
+ type: number
156
+ source: "typ!"
157
+ header: Report Type
158
+ pipeList:
159
+ - name: toReportTypesEnumValue
160
+ namedImport: ToReportTypesEnumValuePipe
161
+ moduleSpecifier: enum
162
+ - async
163
+ formControl:
164
+ isRequired: true
165
+ kind: select
166
+ formField:
167
+ cssClass:
168
+ - "w-[500px]"
169
+ backend: nestjs
170
+ upstream:
171
+ kind: open-api
172
+ operationId: options-controller-getReportTypes@legacy
173
+ mapper:
174
+ kind: options
175
+ toFunction: ToOptionsFromObject
176
+ toValue: Number
177
+
178
+ - name: task-scheduling
179
+ upstream:
180
+ kind: open-api
181
+ operationId: report-controller-getReportExecutionPlan@legacy
182
+ title: Aufgabenplanung
183
+ kind: default
184
+ propertyList:
185
+ - name: cron
186
+ - name: notification
187
+ title: Bereitstellung
188
+ kind: default
189
+ upstream:
190
+ kind: open-api
191
+ operationId: report-controller-getReportNotification@legacy
192
+ propertyList:
193
+ - name: userList
194
+ isArray: true
195
+ memberList:
196
+ - name: uuid
197
+ - name: name
198
+ - name: isCloudUser
199
+ - name: isCompany
200
+ - name: configuration
201
+ title: Konfiguration
202
+ kind: data-grid
203
+ upstream:
204
+ kind: open-api
205
+ operationId: report-controller-getReportConfiguration@legacy
206
+ dataGrid:
207
+ itemList:
208
+ - name: time
209
+ formControl:
210
+ kind: input
211
+ isRequired: true
212
+ validatorList:
213
+ - "pattern(/^(0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$/)"
214
+ - name: timespan
215
+ type: string
216
+ formControl:
217
+ kind: select
218
+ backend: nestjs
219
+ upstream:
220
+ kind: open-api
221
+ operationId: options-controller-getTimespan@legacy
222
+ mapper:
223
+ kind: options
224
+ toFunction: ToOptionsFromObject
225
+ - name: timezone
226
+ type: string
227
+ formControl:
228
+ kind: select
229
+ backend: nestjs
230
+ upstream:
231
+ kind: open-api
232
+ operationId: options-controller-getTimezone@legacy
233
+ mapper:
234
+ kind: options
235
+ - name: retention
236
+ type: string
237
+ formControl:
238
+ kind: select
239
+ backend: nestjs
240
+ upstream:
241
+ kind: open-api
242
+ operationId: options-controller-getTimespan@legacy
243
+ mapper:
244
+ kind: options
245
+ toFunction: ToOptionsFromObject
246
+ - name: reportVariableList
247
+ formControl:
248
+ kind: default
249
+ role: array
250
+ controlList:
251
+ - name: uuid
252
+ - name: name
253
+ kind: input
254
+ isRequired: true
255
+ - name: value
256
+ type: string
257
+ kind: input
258
+ isRequired: true
259
+ - name: variableType
260
+ type: number
261
+ kind: select
262
+ backend: nestjs
263
+ upstream:
264
+ kind: open-api
265
+ operationId: options-controller-getVariableType@legacy
266
+ mapper:
267
+ kind: options
268
+ toFunction: ToOptionsFromObject
269
+ toValue: Number
270
+ isRequired: true
271
+ - name: reference
272
+ kind: tree-table
273
+ title: Zuordnung
274
+ table:
275
+ cssClass:
276
+ - "!min-w-0"
277
+ propertyList:
278
+ - name: referenceUuid
279
+ - name: type
280
+ columnList:
281
+ - name: isReferenced
282
+ cssClass:
283
+ - "!w-[200px]"
284
+ - "min-w-[200px]"
285
+ - "max-w-[200px]"
286
+ filterControl:
287
+ kind: select
288
+ formField:
289
+ cssClass:
290
+ - "w-[200px]"
291
+ kind: component
292
+ - name: name
293
+ filterControl:
294
+ kind: input
295
+ cssClass:
296
+ - "w-[500px]"
297
+ - "max-w-[500px]"
298
+ - "min-w-[250px]"
299
+ type: string
300
+ - name: scopeType
301
+ cssClass:
302
+ - "!w-[280px]"
303
+ - "min-w-[280px]"
304
+ - "max-w-[280px]"
305
+ type: number
306
+ kind: component
307
+ filterControl:
308
+ kind: select
309
+ backend: nestjs
310
+ upstream:
311
+ kind: open-api
312
+ operationId: options-controller-getReferenceScopeTypes@legacy
313
+ mapper:
314
+ kind: options
315
+ toFunction: ToOptionsFromObject
316
+ toValue: Number
317
+ - name: job-execution
318
+ kind: default