...
|
...
|
@@ -34,7 +34,7 @@ import { DatePipe } from '@angular/common'; |
34
|
34
|
import { MatDialog } from '@angular/material/dialog';
|
35
|
35
|
import { EntityId } from '@shared/models/id/entity-id';
|
36
|
36
|
import { EntityTypeResource } from '@shared/models/entity-type.models';
|
37
|
|
-import { Observable, of } from 'rxjs';
|
|
37
|
+import { Observable } from 'rxjs';
|
38
|
38
|
import { PageData } from '@shared/models/page/page-data';
|
39
|
39
|
import { Direction } from '@shared/models/page/sort-order';
|
40
|
40
|
import { DialogService } from '@core/services/dialog.service';
|
...
|
...
|
@@ -43,15 +43,12 @@ import { |
43
|
43
|
EventContentDialogComponent,
|
44
|
44
|
EventContentDialogData
|
45
|
45
|
} from '@home/components/event/event-content-dialog.component';
|
46
|
|
-import { RuleChainService } from '@core/http/rule-chain.service';
|
47
|
46
|
import { AttributeService } from '@core/http/attribute.service';
|
48
|
47
|
import { AttributeScope } from '@shared/models/telemetry/telemetry.models';
|
49
|
48
|
import { EdgeDownlinkTableHeaderComponent } from '@home/components/edge/edge-downlink-table-header.component';
|
50
|
49
|
import { EdgeService } from '@core/http/edge.service';
|
51
|
50
|
import { map } from 'rxjs/operators';
|
52
|
51
|
import { EntityService } from "@core/http/entity.service";
|
53
|
|
-import { WidgetService } from "@core/http/widget.service";
|
54
|
|
-import { DeviceProfileService } from "@core/http/device-profile.service";
|
55
|
52
|
|
56
|
53
|
export class EdgeDownlinkTableConfig extends EntityTableConfig<EdgeEvent, TimePageLink> {
|
57
|
54
|
|
...
|
...
|
@@ -62,16 +59,13 @@ export class EdgeDownlinkTableConfig extends EntityTableConfig<EdgeEvent, TimePa |
62
|
59
|
private dialogService: DialogService,
|
63
|
60
|
private translate: TranslateService,
|
64
|
61
|
private attributeService: AttributeService,
|
65
|
|
- private deviceProfileService: DeviceProfileService,
|
66
|
|
- private ruleChainService: RuleChainService,
|
67
|
|
- private widgetService: WidgetService,
|
68
|
62
|
private datePipe: DatePipe,
|
69
|
63
|
private dialog: MatDialog,
|
70
|
64
|
public entityId: EntityId) {
|
71
|
65
|
super();
|
72
|
66
|
|
73
|
|
- this.loadDataOnInit = false;
|
74
|
67
|
this.tableTitle = '';
|
|
68
|
+ this.loadDataOnInit = false;
|
75
|
69
|
this.useTimePageLink = true;
|
76
|
70
|
this.detailsPanelEnabled = false;
|
77
|
71
|
this.selectionEnabled = false;
|
...
|
...
|
@@ -95,7 +89,7 @@ export class EdgeDownlinkTableConfig extends EntityTableConfig<EdgeEvent, TimePa |
95
|
89
|
return this.edgeService.getEdgeEvents(this.entityId, pageLink);
|
96
|
90
|
}
|
97
|
91
|
|
98
|
|
- loadEdgeInfo() {
|
|
92
|
+ loadEdgeInfo(): void {
|
99
|
93
|
this.attributeService.getEntityAttributes(this.entityId, AttributeScope.SERVER_SCOPE, ['queueStartTs'])
|
100
|
94
|
.subscribe(
|
101
|
95
|
attributes => this.onUpdate(attributes)
|
...
|
...
|
@@ -147,7 +141,7 @@ export class EdgeDownlinkTableConfig extends EntityTableConfig<EdgeEvent, TimePa |
147
|
141
|
}
|
148
|
142
|
}
|
149
|
143
|
|
150
|
|
- updateEdgeEventStatus(createdTime) {
|
|
144
|
+ updateEdgeEventStatus(createdTime): string {
|
151
|
145
|
if (this.queueStartTs && createdTime < this.queueStartTs) {
|
152
|
146
|
return this.translate.instant('edge.deployed');
|
153
|
147
|
} else {
|
...
|
...
|
@@ -155,11 +149,11 @@ export class EdgeDownlinkTableConfig extends EntityTableConfig<EdgeEvent, TimePa |
155
|
149
|
}
|
156
|
150
|
}
|
157
|
151
|
|
158
|
|
- isPending(createdTime) {
|
|
152
|
+ isPending(createdTime): boolean {
|
159
|
153
|
return createdTime > this.queueStartTs;
|
160
|
154
|
}
|
161
|
155
|
|
162
|
|
- isEdgeEventHasData(edgeEventType: EdgeEventType) {
|
|
156
|
+ isEdgeEventHasData(edgeEventType: EdgeEventType): boolean {
|
163
|
157
|
switch (edgeEventType) {
|
164
|
158
|
case EdgeEventType.ADMIN_SETTINGS:
|
165
|
159
|
return false;
|
...
|
...
|
@@ -168,42 +162,10 @@ export class EdgeDownlinkTableConfig extends EntityTableConfig<EdgeEvent, TimePa |
168
|
162
|
}
|
169
|
163
|
}
|
170
|
164
|
|
171
|
|
- prepareEdgeEventContent(entity) {
|
172
|
|
- switch (entity.type) {
|
173
|
|
- case EdgeEventType.DEVICE:
|
174
|
|
- case EdgeEventType.ASSET:
|
175
|
|
- case EdgeEventType.EDGE:
|
176
|
|
- case EdgeEventType.ENTITY_VIEW:
|
177
|
|
- case EdgeEventType.TENANT:
|
178
|
|
- case EdgeEventType.CUSTOMER:
|
179
|
|
- case EdgeEventType.DASHBOARD:
|
180
|
|
- case EdgeEventType.USER:
|
181
|
|
- case EdgeEventType.RULE_CHAIN:
|
182
|
|
- case EdgeEventType.ALARM:
|
183
|
|
- return this.entityService.getEntity(entity.type, entity.entityId, { ignoreLoading: true, ignoreErrors: true }).pipe(
|
184
|
|
- map((entity) => JSON.stringify(entity))
|
185
|
|
- );
|
186
|
|
- case EdgeEventType.RELATION:
|
187
|
|
- return of(JSON.stringify(entity.body));
|
188
|
|
- case EdgeEventType.RULE_CHAIN_METADATA:
|
189
|
|
- return this.ruleChainService.getRuleChainMetadata(entity.entityId).pipe(
|
190
|
|
- map((ruleChainMetaData) => JSON.stringify(ruleChainMetaData.nodes))
|
191
|
|
- );
|
192
|
|
- case EdgeEventType.WIDGET_TYPE:
|
193
|
|
- return this.widgetService.getWidgetTypeById(entity.entityId).pipe(
|
194
|
|
- map((widgetType) => JSON.stringify(widgetType))
|
195
|
|
- );
|
196
|
|
- case EdgeEventType.WIDGETS_BUNDLE:
|
197
|
|
- return this.widgetService.getWidgetsBundle(entity.entityId).pipe(
|
198
|
|
- map((widgetBundles) => JSON.stringify(widgetBundles))
|
199
|
|
- );
|
200
|
|
- case EdgeEventType.DEVICE_PROFILE:
|
201
|
|
- return this.deviceProfileService.getDeviceProfile(entity.entityId).pipe(
|
202
|
|
- map((deviceProfile) => JSON.stringify(deviceProfile))
|
203
|
|
- );
|
204
|
|
- case EdgeEventType.ADMIN_SETTINGS:
|
205
|
|
- return of(null);
|
206
|
|
- }
|
|
165
|
+ prepareEdgeEventContent(entity: any): Observable<string> {
|
|
166
|
+ return this.entityService.getEdgeEventContentByEntityType(entity).pipe(
|
|
167
|
+ map((result) => JSON.stringify(result))
|
|
168
|
+ );
|
207
|
169
|
}
|
208
|
170
|
|
209
|
171
|
showEdgeEventContent($event: MouseEvent, content: string, title: string): void {
|
...
|
...
|
|