@rxap/schematic-angular 19.1.1-dev.3 → 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 +9 -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,103 @@
1
+ package: "@rxap/schematic-angular"
2
+ name: table-component
3
+ options:
4
+ name: dashboard
5
+ backend: open-api
6
+ sortable: true
7
+ modifiers:
8
+ - show-archived-slide
9
+ openApi:
10
+ operationId: dashboard-controller-getByFilter
11
+ adapter:
12
+ name: TableAdapterFactory
13
+ moduleSpecifier: "@digitaix/eurogard-table-system"
14
+ headerButton:
15
+ role: form
16
+ options:
17
+ customComponent: true
18
+ formComponent: DashboardCreateForm
19
+ propertyList:
20
+ - name: __archived
21
+ type: boolean
22
+ columnList:
23
+ - name: __removedAt
24
+ kind: date
25
+ inactive: true
26
+ hidden: true
27
+ - name: dashboardType
28
+ kind: component
29
+ - name: name
30
+ hasFilter: true
31
+ type: string
32
+ - name: link
33
+ hasFilter: true
34
+ kind: link
35
+ - name: comment
36
+ hasFilter: true
37
+ type: string
38
+ - name: locationName
39
+ source: location.name
40
+ hasFilter: true
41
+ type: string
42
+ actionList:
43
+ - type: details
44
+ icon: visibility
45
+ role: navigation
46
+ checkFunction: "!element.__archived"
47
+ options:
48
+ route: "/dashboards/dashboard/{{uuid}}/details"
49
+ - type: edit
50
+ role: form
51
+ icon: edit
52
+ refresh: true
53
+ permission: dashboard.update
54
+ checkFunction: "!element.__archived"
55
+ options:
56
+ customComponent: true
57
+ formComponent: DashboardEditForm
58
+ loadFrom:
59
+ operationId: dashboard-controller-getByUuid
60
+ parameters:
61
+ uuid: rowId
62
+ formInitial:
63
+ locationUuid: location.uuid
64
+ name: name
65
+ link: link
66
+ comment: comment
67
+ dashboardType: dashboardType
68
+ - type: delete
69
+ icon: delete
70
+ refresh: true
71
+ confirm: true
72
+ inHeader: true
73
+ permission: dashboard.delete
74
+ checkFunction: "!!element.__archived"
75
+ role: open-api
76
+ color: warn
77
+ options:
78
+ operationId: dashboard-controller-delete
79
+ parameters:
80
+ uuid: rowId
81
+ - type: archive
82
+ role: open-api
83
+ refresh: true
84
+ confirm: true
85
+ inHeader: true
86
+ permission: dashboard.archive
87
+ checkFunction: "!element.__archived"
88
+ options:
89
+ operationId: dashboard-controller-delete
90
+ parameters:
91
+ uuid: rowId
92
+ - type: restore
93
+ role: open-api
94
+ refresh: true
95
+ inHeader: true
96
+ confirm: true
97
+ permission: dashboard.archive
98
+ checkFunction: "!!element.__archived"
99
+ options:
100
+ operationId: dashboard-controller-delete
101
+ parameters:
102
+ uuid: rowId
103
+
@@ -0,0 +1,95 @@
1
+ package: "@rxap/schematic-angular"
2
+ name: table-component
3
+ options:
4
+ name: dashboard-template
5
+ backend: nestjs
6
+ sortable: true
7
+ rowId:
8
+ name: uuid
9
+ modifiers:
10
+ - show-archived-slide
11
+ headerButton:
12
+ role: form
13
+ permission: dashboard-template.create
14
+ options:
15
+ customComponent: true
16
+ formComponent: CreateForm
17
+ propertyList:
18
+ - name: __archived
19
+ type: boolean
20
+ columnList:
21
+ - name: __removedAt
22
+ kind: date
23
+ inactive: true
24
+ hidden: true
25
+ - name: type
26
+ kind: icon
27
+ - name: name
28
+ hasFilter: true
29
+ type: string
30
+ - name: machine-template
31
+ hasFilter: true
32
+ type: string
33
+ - name: version-range
34
+ type: string
35
+ - name: location
36
+ hasFilter: true
37
+ type: string
38
+ - name: lastRefresh
39
+ kind: date
40
+ actionList:
41
+ - type: edit
42
+ role: form
43
+ refresh: true
44
+ icon: edit
45
+ permission: dashboard-template.update
46
+ checkFunction: "!element.__archived"
47
+ options:
48
+ customComponent: true
49
+ formComponent: EditForm
50
+ - type: delete
51
+ icon: delete
52
+ refresh: true
53
+ confirm: true
54
+ inHeader: true
55
+ permission: dashboard-template.delete
56
+ checkFunction: "!!element.__archived"
57
+ role: operation
58
+ color: warn
59
+ - type: archive
60
+ role: operation
61
+ refresh: true
62
+ confirm: true
63
+ inHeader: true
64
+ permission: dashboard-template.archive
65
+ checkFunction: "!element.__archived"
66
+ - type: restore
67
+ role: operation
68
+ refresh: true
69
+ inHeader: true
70
+ confirm: true
71
+ permission: dashboard-template.archive
72
+ checkFunction: "!!element.__archived"
73
+ - type: global-rollout
74
+ icon: upgrade
75
+ role: operation
76
+ confirm: true
77
+ permission: dashboard-template.global-rollout
78
+ checkFunction: "!element.__archived"
79
+ - type: refresh-dashboard-model
80
+ permission: dashboard-template.refresh-dashboard-model
81
+ icon: playlist_add
82
+ checkFunction: "!element.__archived"
83
+ role: form
84
+ confirm: true
85
+ options:
86
+ customComponent: true
87
+ formComponent: RefreshDashboardModelForm
88
+ - type: create-dashboard
89
+ icon: add
90
+ role: form
91
+ permission: dashboard-template.create-dashboard
92
+ checkFunction: "!element.__archived"
93
+ options:
94
+ customComponent: true
95
+ formComponent: CreateDashboardForm
@@ -0,0 +1,83 @@
1
+ package: "@rxap/schematic-angular"
2
+ name: accordion-component
3
+ options:
4
+ name: machine
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: machine-controller-getByUuid@legacy
20
+ propertyList:
21
+ - name: name
22
+ source: "name!"
23
+ itemList:
24
+ - name: dashboard
25
+ kind: table
26
+ title: Dashboard
27
+ upstream:
28
+ kind: open-api
29
+ operationId: machine-controller-get-dashboards-by-template@legacy
30
+ mapper:
31
+ kind: paged
32
+ pageIndex: page
33
+ pageSize: size
34
+ sortBy: sort
35
+ sortDirection: order
36
+ list: entities
37
+ total: maxCount
38
+ filter:
39
+ eq: ':'
40
+ join: ';'
41
+ table:
42
+ columnList:
43
+ - name: dashboardType
44
+ type: number
45
+ kind: component
46
+ - name: name
47
+ hasFilter: true
48
+ - name: link
49
+ hasFilter: true
50
+ type: string
51
+ - name: comment
52
+ hasFilter: true
53
+ type: string
54
+ - name: companyName
55
+ hasFilter: true
56
+ type: string
57
+ - name: live-values
58
+ kind: tree-table
59
+ title: LiveValues
60
+ table:
61
+ cssClass:
62
+ - "!min-w-0"
63
+ columnList:
64
+ - name: name
65
+ cssClass:
66
+ - "w-[200px]"
67
+ - "max-w-[200px]"
68
+ - "min-w-[50px]"
69
+ type: string
70
+ kind: default
71
+ - name: lastValue
72
+ cssClass:
73
+ - "!w-[200px]"
74
+ - "min-w-[50px]"
75
+ - "max-w-[200px]"
76
+ type: string
77
+ - name: lastTimestamp
78
+ cssClass:
79
+ - "!w-[200px]"
80
+ - "min-w-[200px]"
81
+ - "max-w-[200px]"
82
+ type: number
83
+ kind: date
@@ -0,0 +1,139 @@
1
+ package: "@rxap/schematic-angular"
2
+ name: table-component
3
+ options:
4
+ name: machine
5
+ backend: open-api
6
+ sortable: true
7
+ modifiers:
8
+ - show-archived-slide
9
+ headerButton:
10
+ role: navigation
11
+ permission: machine.create
12
+ options:
13
+ route: "/machines/machine/create"
14
+ openApi:
15
+ operationId: machine-gui-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
+ kind: default
26
+ hasFilter: true
27
+ - name: thingName
28
+ kind: default
29
+ hasFilter: true
30
+ - name: machineTypeDefinitionName
31
+ kind: default
32
+ filterControl:
33
+ kind: input
34
+ formField:
35
+ cssClass: 'w-[300px]'
36
+ - name: lastConnection
37
+ kind: date
38
+ format: "dd.MM.yyyy HH:mm:ss"
39
+ - name: companyName
40
+ kind: default
41
+ hasFilter: true
42
+ - name: locationName
43
+ kind: default
44
+ hasFilter: true
45
+ - name: machineTypeDefinitionVersion
46
+ kind: component
47
+ filterControl:
48
+ kind: input
49
+ formField:
50
+ cssClass: 'w-[300px]'
51
+ actionList:
52
+ - type: details
53
+ role: navigation
54
+ icon: visibility
55
+ permission: machine.get
56
+ checkFunction: "!element.__archived"
57
+ options:
58
+ route: "/machines/machine/{{uuid}}/details"
59
+ - type: edit
60
+ role: form
61
+ permission: machine.update
62
+ checkFunction: "!element.__archived"
63
+ refresh: true
64
+ options:
65
+ customComponent: true
66
+ formComponent: EditMachineForm
67
+ loadFrom:
68
+ operationId: machine-gui-controller-getByUuid
69
+ parameters:
70
+ uuid: rowId
71
+ formInitial:
72
+ uuid: uuid
73
+ thing:
74
+ uuid: thingUuid
75
+ name: thingName
76
+ company:
77
+ uuid: companyUuid
78
+ name: companyName
79
+ location:
80
+ uuid: locationUuid
81
+ name: locationName
82
+ - type: delete
83
+ icon: delete
84
+ refresh: true
85
+ confirm: true
86
+ inHeader: true
87
+ permission: machine.archive
88
+ checkFunction: "!!element.__archived"
89
+ role: open-api
90
+ color: warn
91
+ options:
92
+ operationId: machine-controller-delete
93
+ parameters:
94
+ uuid: rowId
95
+ - type: archive
96
+ role: open-api
97
+ refresh: true
98
+ confirm: true
99
+ inHeader: true
100
+ permission: machine.archive
101
+ checkFunction: "!element.__archived"
102
+ options:
103
+ operationId: machine-controller-archive
104
+ parameters:
105
+ uuid: rowId
106
+ - type: restore
107
+ role: open-api
108
+ refresh: true
109
+ inHeader: true
110
+ confirm: true
111
+ permission: machine.archive
112
+ checkFunction: "!!element.__archived"
113
+ options:
114
+ operationId: machine-controller-unarchive
115
+ parameters:
116
+ uuid: rowId
117
+ - type: upgrade
118
+ role: open-api
119
+ icon: upgrade
120
+ permission: machine.upgrade
121
+ tooltip: Upgrade
122
+ inHeader: true
123
+ confirm: true
124
+ checkFunction: "!element.__archived && element.machineTypeDefinitionStatus === 3"
125
+ refresh: true
126
+ options:
127
+ operationId: machine-controller-updateLastMachineTypeDefinition
128
+ body:
129
+ uuid: rowId
130
+ - type: regenerate-dashboards
131
+ role: open-api
132
+ icon: playlist_add
133
+ checkFunction: "!element.__archived"
134
+ confirm: true
135
+ tooltip: Regenerate the dashboards for this machine
136
+ options:
137
+ operationId: MachineTableController_regenerateDashboardsAction@service-app-settings-machine
138
+ parameters:
139
+ rowId: rowId
@@ -0,0 +1,63 @@
1
+ package: "@rxap/schematic-angular"
2
+ name: table-component
3
+ options:
4
+ name: data-definition-modbus-tcp
5
+ sortable: true
6
+ backend: open-api
7
+ openApi:
8
+ operationId: machine-type-definition-controller-getMeasurementsFilter
9
+ adapter:
10
+ name: TableAdapterFactory
11
+ moduleSpecifier: "@digitaix/eurogard-table-system"
12
+ columnList:
13
+ - name: name
14
+ hasFilter: true
15
+ - name: dataDefinitionType
16
+ pipeList:
17
+ - name: toDataDefinitionTypeEnumValue
18
+ namedImport: ToDataDefinitionTypeEnumValuePipe
19
+ moduleSpecifier: enum
20
+ - async
21
+ - name: share
22
+ kind: boolean
23
+ - name: readLevel
24
+ - name: writeLevel
25
+ - name: physicalUnitSymbol
26
+ source: physicalUnit?.symbol
27
+ - name: dataTriggerName
28
+ source: dataTrigger?.name
29
+ - name: connectionDataType
30
+ source: connection?.dataType
31
+ pipeList:
32
+ - name: "toDataTypesForProtocolEnumValue:element.connectionType"
33
+ namedImport: ToDataTypesForProtocolEnumValuePipe
34
+ moduleSpecifier: enum
35
+ - async
36
+ - name: connectionModbusAddress
37
+ source: connection?.modbusAddress
38
+ - name: connectionModbusFunction
39
+ source: connection?.modbusFunction
40
+ pipeList:
41
+ - name: toModbusFunctionsEnumValue
42
+ namedImport: ToModbusFunctionsEnumValuePipe
43
+ moduleSpecifier: enum
44
+ - async
45
+ - name: connectionConnectionId
46
+ source: connection?.connectionId
47
+ - name: dataId
48
+ actionList:
49
+ - type: delete
50
+ role: open-api
51
+ icon: delete
52
+ color: warn
53
+ refresh: true
54
+ confirm: true
55
+ options:
56
+ operationId: data-definition-controller-delete
57
+ parameters:
58
+ uuid: rowId
59
+ - type: details
60
+ role: navigation
61
+ icon: visibility
62
+ options:
63
+ route: "/data-definition/{{uuid}}/details"
@@ -0,0 +1,58 @@
1
+ package: "@rxap/schematic-angular"
2
+ name: table-component
3
+ options:
4
+ name: data-definition-opc-ua
5
+ backend: open-api
6
+ sortable: true
7
+ openApi:
8
+ operationId: machine-type-definition-controller-getMeasurementsFilter
9
+ adapter:
10
+ name: TableAdapterFactory
11
+ moduleSpecifier: "@digitaix/eurogard-table-system"
12
+ columnList:
13
+ - name: name
14
+ hasFilter: true
15
+ - name: dataDefinitionType
16
+ pipeList:
17
+ - name: toDataDefinitionTypeEnumValue
18
+ namedImport: ToDataDefinitionTypeEnumValuePipe
19
+ moduleSpecifier: enum
20
+ - async
21
+ - name: share
22
+ kind: boolean
23
+ - name: readLevel
24
+ - name: writeLevel
25
+ - name: physicalUnitSymbol
26
+ source: physicalUnit?.symbol
27
+ - name: dataTriggerName
28
+ source: dataTrigger?.name
29
+ - name: connectionDataType
30
+ source: connection?.dataType
31
+ pipeList:
32
+ - name: "toDataTypesForProtocolEnumValue:element.connectionType"
33
+ namedImport: ToDataTypesForProtocolEnumValuePipe
34
+ moduleSpecifier: enum
35
+ - async
36
+ - name: connectionNamespace
37
+ source: connection?.namespace
38
+ - name: connectionStringAddress
39
+ source: connection?.stringAddress
40
+ - name: connectionConnectionId
41
+ source: connection?.connectionId
42
+ - name: dataId
43
+ actionList:
44
+ - type: delete
45
+ role: open-api
46
+ icon: delete
47
+ refresh: true
48
+ confirm: true
49
+ color: warn
50
+ options:
51
+ operationId: data-definition-controller-delete
52
+ parameters:
53
+ uuid: rowId
54
+ - type: details
55
+ role: navigation
56
+ icon: visibility
57
+ options:
58
+ route: "/data-definition/{{uuid}}/details"
@@ -0,0 +1,49 @@
1
+ package: "@rxap/schematic-angular"
2
+ name: table-component
3
+ options:
4
+ name: data-definition-open-platform-protocol
5
+ backend: open-api
6
+ sortable: true
7
+ openApi:
8
+ operationId: machine-type-definition-controller-getMeasurementsFilter
9
+ adapter:
10
+ name: TableAdapterFactory
11
+ moduleSpecifier: "@digitaix/eurogard-table-system"
12
+ columnList:
13
+ - name: name
14
+ hasFilter: true
15
+ - name: dataDefinitionType
16
+ pipeList:
17
+ - name: toDataDefinitionTypeEnumValue
18
+ namedImport: ToDataDefinitionTypeEnumValuePipe
19
+ moduleSpecifier: enum
20
+ - async
21
+ - name: share
22
+ kind: boolean
23
+ - name: readLevel
24
+ - name: writeLevel
25
+ - name: physicalUnitSymbol
26
+ source: physicalUnit?.symbol
27
+ - name: dataTriggerName
28
+ source: dataTrigger?.name
29
+ - name: connectionSpezifikation
30
+ source: connection?.spezifikation
31
+ - name: connectionConnectionId
32
+ source: connection?.connectionId
33
+ - name: dataId
34
+ actionList:
35
+ - type: delete
36
+ role: open-api
37
+ icon: delete
38
+ refresh: true
39
+ confirm: true
40
+ color: warn
41
+ options:
42
+ operationId: data-definition-controller-delete
43
+ parameters:
44
+ uuid: rowId
45
+ - type: details
46
+ role: navigation
47
+ icon: visibility
48
+ options:
49
+ route: "/data-definition/{{uuid}}/details"
@@ -0,0 +1,64 @@
1
+ package: "@rxap/schematic-angular"
2
+ name: table-component
3
+ options:
4
+ name: data-definition-s7-iso-on-tcp
5
+ backend: open-api
6
+ sortable: true
7
+ openApi:
8
+ operationId: machine-type-definition-controller-getMeasurementsFilter
9
+ adapter:
10
+ name: TableAdapterFactory
11
+ moduleSpecifier: "@digitaix/eurogard-table-system"
12
+ columnList:
13
+ - name: name
14
+ hasFilter: true
15
+ - name: dataDefinitionType
16
+ pipeList:
17
+ - name: toDataDefinitionTypeEnumValue
18
+ namedImport: ToDataDefinitionTypeEnumValuePipe
19
+ moduleSpecifier: enum
20
+ - async
21
+ - name: share
22
+ kind: boolean
23
+ - name: readLevel
24
+ - name: writeLevel
25
+ - name: physicalUnitSymbol
26
+ source: physicalUnit?.symbol
27
+ - name: dataTriggerName
28
+ source: dataTrigger?.name
29
+ modifiers:
30
+ - nowrap
31
+ - name: connectionDataType
32
+ source: connection?.dataType
33
+ pipeList:
34
+ - name: "toDataTypesForProtocolEnumValue:element.connectionType"
35
+ namedImport: ToDataTypesForProtocolEnumValuePipe
36
+ moduleSpecifier: enum
37
+ - async
38
+ - name: connectionDatablock
39
+ source: connection?.datablock
40
+ - name: connectionOffset
41
+ source: connection?.offset
42
+ - name: connectionBit
43
+ source: connection?.bit
44
+ - name: connectionConnectionId
45
+ source: connection?.connectionId
46
+ modifiers:
47
+ - nowrap
48
+ - name: dataId
49
+ actionList:
50
+ - type: delete
51
+ role: open-api
52
+ icon: delete
53
+ refresh: true
54
+ confirm: true
55
+ color: warn
56
+ options:
57
+ operationId: data-definition-controller-delete
58
+ parameters:
59
+ uuid: rowId
60
+ - type: details
61
+ role: navigation
62
+ icon: visibility
63
+ options:
64
+ route: "/data-definition/{{uuid}}/details"
@@ -0,0 +1,43 @@
1
+ package: "@rxap/schematic-angular"
2
+ name: table-component
3
+ options:
4
+ name: data-trigger
5
+ sortable: true
6
+ backend: data-source
7
+ cssClass:
8
+ - "!min-w-0"
9
+ propertyList:
10
+ - name: uuid
11
+ columnList:
12
+ - name: name
13
+ - name: triggerType
14
+ kind: options
15
+ type: number
16
+ optionList:
17
+ - value: 0
18
+ display: Zyklisch
19
+ - value: 1
20
+ display: Bei Wertänderung
21
+ - name: value1
22
+ type: string
23
+ - name: value2
24
+ type: string
25
+ - name: value3
26
+ type: string
27
+ actionList:
28
+ - type: edit
29
+ role: form
30
+ refresh: true
31
+ icon: edit
32
+ options:
33
+ customComponent: true
34
+ formComponent: DataTriggerEditForm
35
+ - type: delete
36
+ icon: delete
37
+ refresh: true
38
+ confirm: true
39
+ inHeader: true
40
+ role: open-api
41
+ options:
42
+ operationId: data-trigger-controller-delete@legacy
43
+ color: warn