@c8y/ngx-components 1018.0.229 → 1018.0.231
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.
- package/esm2020/widgets/implementations/map/map-widget.component.mjs +26 -11
- package/fesm2015/c8y-ngx-components-widgets-implementations-map.mjs +27 -10
- package/fesm2015/c8y-ngx-components-widgets-implementations-map.mjs.map +1 -1
- package/fesm2020/c8y-ngx-components-widgets-implementations-map.mjs +18 -6
- package/fesm2020/c8y-ngx-components-widgets-implementations-map.mjs.map +1 -1
- package/package.json +1 -1
- package/widgets/implementations/map/map-widget.component.d.ts +7 -4
|
@@ -1,21 +1,34 @@
|
|
|
1
|
-
import { Component, ViewChild } from '@angular/core';
|
|
1
|
+
import { Component, ViewChild, Optional } from '@angular/core';
|
|
2
|
+
import { InventoryService } from '@c8y/client';
|
|
2
3
|
import { ClusterMapComponent } from '@c8y/ngx-components/map';
|
|
3
4
|
import { DashboardChildComponent } from '@c8y/ngx-components';
|
|
4
5
|
import { filter, takeUntil } from 'rxjs/operators';
|
|
5
6
|
import { Subject } from 'rxjs';
|
|
7
|
+
import { ContextDashboardComponent } from '@c8y/ngx-components/context-dashboard';
|
|
6
8
|
import * as i0 from "@angular/core";
|
|
7
9
|
import * as i1 from "@c8y/ngx-components";
|
|
8
|
-
import * as i2 from "@
|
|
9
|
-
import * as i3 from "@c8y/
|
|
10
|
-
import * as i4 from "@angular/
|
|
11
|
-
import * as i5 from "
|
|
10
|
+
import * as i2 from "@c8y/ngx-components/context-dashboard";
|
|
11
|
+
import * as i3 from "@c8y/client";
|
|
12
|
+
import * as i4 from "@angular/common";
|
|
13
|
+
import * as i5 from "@c8y/ngx-components/map";
|
|
14
|
+
import * as i6 from "@angular/router";
|
|
15
|
+
import * as i7 from "./map-event-info.component";
|
|
12
16
|
export class MapWidgetComponent {
|
|
13
|
-
constructor(dashboardChild) {
|
|
17
|
+
constructor(dashboardChild, dashboardContextComponent, inventory) {
|
|
18
|
+
this.dashboardContextComponent = dashboardContextComponent;
|
|
19
|
+
this.inventory = inventory;
|
|
14
20
|
this.mapConfig = { center: [0, 0] };
|
|
15
21
|
this.destroy$ = new Subject();
|
|
16
22
|
this.listenToWidgetResizeEvent(dashboardChild);
|
|
17
23
|
}
|
|
18
|
-
ngOnInit() {
|
|
24
|
+
async ngOnInit() {
|
|
25
|
+
if (this.dashboardContextComponent?.dashboard?.deviceType && !this.config.device) {
|
|
26
|
+
const context = this.dashboardContextComponent.context;
|
|
27
|
+
if (context?.id) {
|
|
28
|
+
const { id } = context;
|
|
29
|
+
this.config.device = (await this.inventory.detail(id)).data;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
19
32
|
if (this.config.device) {
|
|
20
33
|
this.rootNode = this.config.device;
|
|
21
34
|
}
|
|
@@ -50,13 +63,15 @@ export class MapWidgetComponent {
|
|
|
50
63
|
});
|
|
51
64
|
}
|
|
52
65
|
}
|
|
53
|
-
MapWidgetComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: MapWidgetComponent, deps: [{ token: i1.DashboardChildComponent }], target: i0.ɵɵFactoryTarget.Component });
|
|
54
|
-
MapWidgetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: MapWidgetComponent, selector: "c8y-map-widget", viewQueries: [{ propertyName: "clusterMap", first: true, predicate: ClusterMapComponent, descendants: true }], ngImport: i0, template: "<c8y-map-status\n [clusterMap]=\"mapWidget\"\n [(config)]=\"mapConfig\"\n (onUnfollow)=\"stopFollow()\"\n></c8y-map-status>\n<c8y-cluster-map #mapWidget [rootNode]=\"rootNode\" [config]=\"mapConfig\">\n <div *c8yMapPopup=\"let context\" class=\"map-marker\">\n <a class=\"text-truncate deviceLink text-12\" routerLink=\"/device/{{ context.id }}\">\n <strong>{{ context.name }}</strong>\n </a>\n <c8y-map-event-info [asset]=\"context\">\n <button\n type=\"button\"\n class=\"btn btn-default btn-xs btn-block m-t-8\"\n (click)=\"startFollow(context)\"\n [title]=\"'Activate realtime on this asset and follow it if it moves' | translate\"\n *ngIf=\"!mapConfig.follow\"\n translate\n >\n Follow\n </button>\n <button\n type=\"button\"\n class=\"btn btn-default btn-xs btn-block m-t-8\"\n (click)=\"stopFollow()\"\n [title]=\"'Stop following this asset.' | translate\"\n *ngIf=\"mapConfig.follow\"\n translate\n >\n Unfollow\n </button>\n </c8y-map-event-info>\n </div>\n</c8y-cluster-map>\n", dependencies: [{ kind: "directive", type:
|
|
66
|
+
MapWidgetComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: MapWidgetComponent, deps: [{ token: i1.DashboardChildComponent }, { token: i2.ContextDashboardComponent, optional: true }, { token: i3.InventoryService }], target: i0.ɵɵFactoryTarget.Component });
|
|
67
|
+
MapWidgetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: MapWidgetComponent, selector: "c8y-map-widget", viewQueries: [{ propertyName: "clusterMap", first: true, predicate: ClusterMapComponent, descendants: true }], ngImport: i0, template: "<c8y-map-status\n [clusterMap]=\"mapWidget\"\n [(config)]=\"mapConfig\"\n (onUnfollow)=\"stopFollow()\"\n></c8y-map-status>\n<c8y-cluster-map #mapWidget [rootNode]=\"rootNode\" [config]=\"mapConfig\">\n <div *c8yMapPopup=\"let context\" class=\"map-marker\">\n <a class=\"text-truncate deviceLink text-12\" routerLink=\"/device/{{ context.id }}\">\n <strong>{{ context.name }}</strong>\n </a>\n <c8y-map-event-info [asset]=\"context\">\n <button\n type=\"button\"\n class=\"btn btn-default btn-xs btn-block m-t-8\"\n (click)=\"startFollow(context)\"\n [title]=\"'Activate realtime on this asset and follow it if it moves' | translate\"\n *ngIf=\"!mapConfig.follow\"\n translate\n >\n Follow\n </button>\n <button\n type=\"button\"\n class=\"btn btn-default btn-xs btn-block m-t-8\"\n (click)=\"stopFollow()\"\n [title]=\"'Stop following this asset.' | translate\"\n *ngIf=\"mapConfig.follow\"\n translate\n >\n Unfollow\n </button>\n </c8y-map-event-info>\n </div>\n</c8y-cluster-map>\n", dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "component", type: i5.MapStatusComponent, selector: "c8y-map-status", inputs: ["config", "clusterMap"], outputs: ["configChange", "onUnfollow"] }, { kind: "component", type: i5.ClusterMapComponent, selector: "c8y-cluster-map", inputs: ["config", "rootNode", "asset", "showClusterColor"], outputs: ["mapChange"] }, { kind: "directive", type: i5.MapPopupDirective, selector: "[c8yMapPopup]" }, { kind: "directive", type: i6.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo", "routerLink"] }, { kind: "component", type: i7.MapEventInfoComponent, selector: "c8y-map-event-info", inputs: ["asset"] }, { kind: "pipe", type: i1.C8yTranslatePipe, name: "translate" }] });
|
|
55
68
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: MapWidgetComponent, decorators: [{
|
|
56
69
|
type: Component,
|
|
57
70
|
args: [{ selector: 'c8y-map-widget', template: "<c8y-map-status\n [clusterMap]=\"mapWidget\"\n [(config)]=\"mapConfig\"\n (onUnfollow)=\"stopFollow()\"\n></c8y-map-status>\n<c8y-cluster-map #mapWidget [rootNode]=\"rootNode\" [config]=\"mapConfig\">\n <div *c8yMapPopup=\"let context\" class=\"map-marker\">\n <a class=\"text-truncate deviceLink text-12\" routerLink=\"/device/{{ context.id }}\">\n <strong>{{ context.name }}</strong>\n </a>\n <c8y-map-event-info [asset]=\"context\">\n <button\n type=\"button\"\n class=\"btn btn-default btn-xs btn-block m-t-8\"\n (click)=\"startFollow(context)\"\n [title]=\"'Activate realtime on this asset and follow it if it moves' | translate\"\n *ngIf=\"!mapConfig.follow\"\n translate\n >\n Follow\n </button>\n <button\n type=\"button\"\n class=\"btn btn-default btn-xs btn-block m-t-8\"\n (click)=\"stopFollow()\"\n [title]=\"'Stop following this asset.' | translate\"\n *ngIf=\"mapConfig.follow\"\n translate\n >\n Unfollow\n </button>\n </c8y-map-event-info>\n </div>\n</c8y-cluster-map>\n" }]
|
|
58
|
-
}], ctorParameters: function () { return [{ type: i1.DashboardChildComponent }
|
|
71
|
+
}], ctorParameters: function () { return [{ type: i1.DashboardChildComponent }, { type: i2.ContextDashboardComponent, decorators: [{
|
|
72
|
+
type: Optional
|
|
73
|
+
}] }, { type: i3.InventoryService }]; }, propDecorators: { clusterMap: [{
|
|
59
74
|
type: ViewChild,
|
|
60
75
|
args: [ClusterMapComponent]
|
|
61
76
|
}] } });
|
|
62
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
77
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLXdpZGdldC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi93aWRnZXRzL2ltcGxlbWVudGF0aW9ucy9tYXAvbWFwLXdpZGdldC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi93aWRnZXRzL2ltcGxlbWVudGF0aW9ucy9tYXAvbWFwLXdpZGdldC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFxQixTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xGLE9BQU8sRUFBa0IsZ0JBQWdCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDL0QsT0FBTyxFQUFFLG1CQUFtQixFQUFvQixNQUFNLHlCQUF5QixDQUFDO0FBQ2hGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRTlELE9BQU8sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQzs7Ozs7Ozs7O0FBTWxGLE1BQU0sT0FBTyxrQkFBa0I7SUFXN0IsWUFDRSxjQUF1QyxFQUNuQix5QkFBb0QsRUFDaEUsU0FBMkI7UUFEZiw4QkFBeUIsR0FBekIseUJBQXlCLENBQTJCO1FBQ2hFLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBYnJDLGNBQVMsR0FBcUIsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQVF6QyxhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQU8vQixJQUFJLENBQUMseUJBQXlCLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVELEtBQUssQ0FBQyxRQUFRO1FBQ1osSUFBSSxJQUFJLENBQUMseUJBQXlCLEVBQUUsU0FBUyxFQUFFLFVBQVUsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFO1lBQ2hGLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxPQUFPLENBQUM7WUFDdkQsSUFBSSxPQUFPLEVBQUUsRUFBRSxFQUFFO2dCQUNmLE1BQU0sRUFBRSxFQUFFLEVBQUUsR0FBRyxPQUFPLENBQUM7Z0JBQ3ZCLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQzthQUM3RDtTQUNGO1FBQ0QsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRTtZQUN0QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDO1NBQ3BDO1FBQ0QsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUM5QyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDakMsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFPO1FBQ2pCLElBQUksT0FBTyxDQUFDLEVBQUUsS0FBSyxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsRUFBRTtZQUNwQyxJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQztTQUN6QjtRQUNELElBQUksQ0FBQyxTQUFTLEdBQUc7WUFDZixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUztZQUN4QixNQUFNLEVBQUUsSUFBSTtZQUNaLFFBQVEsRUFBRSxJQUFJO1NBQ2YsQ0FBQztJQUNKLENBQUM7SUFFRCxVQUFVO1FBQ1IsSUFBSSxDQUFDLFNBQVMsR0FBRztZQUNmLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTO1lBQ3hCLE1BQU0sRUFBRSxLQUFLO1NBQ2QsQ0FBQztRQUNGLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVPLHlCQUF5QixDQUFDLGNBQXVDO1FBQ3ZFLGNBQWMsQ0FBQyxTQUFTO2FBQ3JCLElBQUksQ0FDSCxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsVUFBVSxLQUFLLFFBQVEsQ0FBQyxFQUM5QyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUN6QjthQUNBLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzFCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs7K0dBbEVVLGtCQUFrQjttR0FBbEIsa0JBQWtCLGtHQUtsQixtQkFBbUIsZ0RDbEJoQyxrbkNBa0NBOzJGRHJCYSxrQkFBa0I7a0JBSjlCLFNBQVM7K0JBQ0UsZ0JBQWdCOzswQkFnQnZCLFFBQVE7MkVBUFgsVUFBVTtzQkFEVCxTQUFTO3VCQUFDLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXQsIFZpZXdDaGlsZCwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElNYW5hZ2VkT2JqZWN0LCBJbnZlbnRvcnlTZXJ2aWNlIH0gZnJvbSAnQGM4eS9jbGllbnQnO1xuaW1wb3J0IHsgQ2x1c3Rlck1hcENvbXBvbmVudCwgQ2x1c3Rlck1hcENvbmZpZyB9IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMvbWFwJztcbmltcG9ydCB7IERhc2hib2FyZENoaWxkQ29tcG9uZW50IH0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cyc7XG5pbXBvcnQgeyBNYXBXaWRnZXRDb25maWcgfSBmcm9tICcuL21hcC13aWRnZXQubW9kZWwnO1xuaW1wb3J0IHsgZmlsdGVyLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDb250ZXh0RGFzaGJvYXJkQ29tcG9uZW50IH0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cy9jb250ZXh0LWRhc2hib2FyZCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2M4eS1tYXAtd2lkZ2V0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL21hcC13aWRnZXQuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIE1hcFdpZGdldENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgbWFwQ29uZmlnOiBDbHVzdGVyTWFwQ29uZmlnID0geyBjZW50ZXI6IFswLCAwXSB9O1xuICByb290Tm9kZTogSU1hbmFnZWRPYmplY3Q7XG4gIGNvbmZpZzogTWFwV2lkZ2V0Q29uZmlnO1xuXG4gIEBWaWV3Q2hpbGQoQ2x1c3Rlck1hcENvbXBvbmVudClcbiAgY2x1c3Rlck1hcDogQ2x1c3Rlck1hcENvbXBvbmVudDtcblxuICBwcml2YXRlIHNhdmVkTm9kZTogSU1hbmFnZWRPYmplY3Q7XG4gIHByaXZhdGUgZGVzdHJveSQgPSBuZXcgU3ViamVjdCgpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGRhc2hib2FyZENoaWxkOiBEYXNoYm9hcmRDaGlsZENvbXBvbmVudCxcbiAgICBAT3B0aW9uYWwoKSBwcml2YXRlIGRhc2hib2FyZENvbnRleHRDb21wb25lbnQ6IENvbnRleHREYXNoYm9hcmRDb21wb25lbnQsXG4gICAgcHJpdmF0ZSBpbnZlbnRvcnk6IEludmVudG9yeVNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5saXN0ZW5Ub1dpZGdldFJlc2l6ZUV2ZW50KGRhc2hib2FyZENoaWxkKTtcbiAgfVxuXG4gIGFzeW5jIG5nT25Jbml0KCkge1xuICAgIGlmICh0aGlzLmRhc2hib2FyZENvbnRleHRDb21wb25lbnQ/LmRhc2hib2FyZD8uZGV2aWNlVHlwZSAmJiAhdGhpcy5jb25maWcuZGV2aWNlKSB7XG4gICAgICBjb25zdCBjb250ZXh0ID0gdGhpcy5kYXNoYm9hcmRDb250ZXh0Q29tcG9uZW50LmNvbnRleHQ7XG4gICAgICBpZiAoY29udGV4dD8uaWQpIHtcbiAgICAgICAgY29uc3QgeyBpZCB9ID0gY29udGV4dDtcbiAgICAgICAgdGhpcy5jb25maWcuZGV2aWNlID0gKGF3YWl0IHRoaXMuaW52ZW50b3J5LmRldGFpbChpZCkpLmRhdGE7XG4gICAgICB9XG4gICAgfVxuICAgIGlmICh0aGlzLmNvbmZpZy5kZXZpY2UpIHtcbiAgICAgIHRoaXMucm9vdE5vZGUgPSB0aGlzLmNvbmZpZy5kZXZpY2U7XG4gICAgfVxuICAgIHRoaXMubWFwQ29uZmlnID0geyAuLi50aGlzLmNvbmZpZy5tYXBDb25maWcgfTtcbiAgICB0aGlzLnNhdmVkTm9kZSA9IHRoaXMucm9vdE5vZGU7XG4gIH1cblxuICBzdGFydEZvbGxvdyhjb250ZXh0KSB7XG4gICAgaWYgKGNvbnRleHQuaWQgIT09IHRoaXMucm9vdE5vZGU/LmlkKSB7XG4gICAgICB0aGlzLnJvb3ROb2RlID0gY29udGV4dDtcbiAgICB9XG4gICAgdGhpcy5tYXBDb25maWcgPSB7XG4gICAgICAuLi50aGlzLmNvbmZpZy5tYXBDb25maWcsXG4gICAgICBmb2xsb3c6IHRydWUsXG4gICAgICByZWFsdGltZTogdHJ1ZVxuICAgIH07XG4gIH1cblxuICBzdG9wRm9sbG93KCkge1xuICAgIHRoaXMubWFwQ29uZmlnID0ge1xuICAgICAgLi4udGhpcy5jb25maWcubWFwQ29uZmlnLFxuICAgICAgZm9sbG93OiBmYWxzZVxuICAgIH07XG4gICAgdGhpcy5yb290Tm9kZSA9IHRoaXMuc2F2ZWROb2RlO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gIH1cblxuICBwcml2YXRlIGxpc3RlblRvV2lkZ2V0UmVzaXplRXZlbnQoZGFzaGJvYXJkQ2hpbGQ6IERhc2hib2FyZENoaWxkQ29tcG9uZW50KSB7XG4gICAgZGFzaGJvYXJkQ2hpbGQuY2hhbmdlRW5kXG4gICAgICAucGlwZShcbiAgICAgICAgZmlsdGVyKGNoaWxkID0+IGNoaWxkLmxhc3RDaGFuZ2UgPT09ICdyZXNpemUnKSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5jbHVzdGVyTWFwLnJlc2V0KCk7XG4gICAgICB9KTtcbiAgfVxufVxuIiwiPGM4eS1tYXAtc3RhdHVzXG4gIFtjbHVzdGVyTWFwXT1cIm1hcFdpZGdldFwiXG4gIFsoY29uZmlnKV09XCJtYXBDb25maWdcIlxuICAob25VbmZvbGxvdyk9XCJzdG9wRm9sbG93KClcIlxuPjwvYzh5LW1hcC1zdGF0dXM+XG48Yzh5LWNsdXN0ZXItbWFwICNtYXBXaWRnZXQgW3Jvb3ROb2RlXT1cInJvb3ROb2RlXCIgW2NvbmZpZ109XCJtYXBDb25maWdcIj5cbiAgPGRpdiAqYzh5TWFwUG9wdXA9XCJsZXQgY29udGV4dFwiIGNsYXNzPVwibWFwLW1hcmtlclwiPlxuICAgIDxhIGNsYXNzPVwidGV4dC10cnVuY2F0ZSBkZXZpY2VMaW5rIHRleHQtMTJcIiByb3V0ZXJMaW5rPVwiL2RldmljZS97eyBjb250ZXh0LmlkIH19XCI+XG4gICAgICA8c3Ryb25nPnt7IGNvbnRleHQubmFtZSB9fTwvc3Ryb25nPlxuICAgIDwvYT5cbiAgICA8Yzh5LW1hcC1ldmVudC1pbmZvIFthc3NldF09XCJjb250ZXh0XCI+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBjbGFzcz1cImJ0biBidG4tZGVmYXVsdCBidG4teHMgYnRuLWJsb2NrIG0tdC04XCJcbiAgICAgICAgKGNsaWNrKT1cInN0YXJ0Rm9sbG93KGNvbnRleHQpXCJcbiAgICAgICAgW3RpdGxlXT1cIidBY3RpdmF0ZSByZWFsdGltZSBvbiB0aGlzIGFzc2V0IGFuZCBmb2xsb3cgaXQgaWYgaXQgbW92ZXMnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgKm5nSWY9XCIhbWFwQ29uZmlnLmZvbGxvd1wiXG4gICAgICAgIHRyYW5zbGF0ZVxuICAgICAgPlxuICAgICAgICBGb2xsb3dcbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPGJ1dHRvblxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgY2xhc3M9XCJidG4gYnRuLWRlZmF1bHQgYnRuLXhzIGJ0bi1ibG9jayBtLXQtOFwiXG4gICAgICAgIChjbGljayk9XCJzdG9wRm9sbG93KClcIlxuICAgICAgICBbdGl0bGVdPVwiJ1N0b3AgZm9sbG93aW5nIHRoaXMgYXNzZXQuJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICpuZ0lmPVwibWFwQ29uZmlnLmZvbGxvd1wiXG4gICAgICAgIHRyYW5zbGF0ZVxuICAgICAgPlxuICAgICAgICBVbmZvbGxvd1xuICAgICAgPC9idXR0b24+XG4gICAgPC9jOHktbWFwLWV2ZW50LWluZm8+XG4gIDwvZGl2PlxuPC9jOHktY2x1c3Rlci1tYXA+XG4iXX0=
|
|
@@ -16,7 +16,8 @@ import * as i7 from 'ngx-bootstrap/tooltip';
|
|
|
16
16
|
import { TooltipModule } from 'ngx-bootstrap/tooltip';
|
|
17
17
|
import { filter, takeUntil } from 'rxjs/operators';
|
|
18
18
|
import { Subject } from 'rxjs';
|
|
19
|
-
import * as
|
|
19
|
+
import * as i2$2 from '@c8y/ngx-components/context-dashboard';
|
|
20
|
+
import * as i6$1 from '@angular/router';
|
|
20
21
|
import { RouterModule } from '@angular/router';
|
|
21
22
|
|
|
22
23
|
class MapEventInfoComponent {
|
|
@@ -212,17 +213,29 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImpor
|
|
|
212
213
|
}] } });
|
|
213
214
|
|
|
214
215
|
class MapWidgetComponent {
|
|
215
|
-
constructor(dashboardChild) {
|
|
216
|
+
constructor(dashboardChild, dashboardContextComponent, inventory) {
|
|
217
|
+
this.dashboardContextComponent = dashboardContextComponent;
|
|
218
|
+
this.inventory = inventory;
|
|
216
219
|
this.mapConfig = { center: [0, 0] };
|
|
217
220
|
this.destroy$ = new Subject();
|
|
218
221
|
this.listenToWidgetResizeEvent(dashboardChild);
|
|
219
222
|
}
|
|
220
223
|
ngOnInit() {
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
224
|
+
var _a, _b;
|
|
225
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
226
|
+
if (((_b = (_a = this.dashboardContextComponent) === null || _a === void 0 ? void 0 : _a.dashboard) === null || _b === void 0 ? void 0 : _b.deviceType) && !this.config.device) {
|
|
227
|
+
const context = this.dashboardContextComponent.context;
|
|
228
|
+
if (context === null || context === void 0 ? void 0 : context.id) {
|
|
229
|
+
const { id } = context;
|
|
230
|
+
this.config.device = (yield this.inventory.detail(id)).data;
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
if (this.config.device) {
|
|
234
|
+
this.rootNode = this.config.device;
|
|
235
|
+
}
|
|
236
|
+
this.mapConfig = Object.assign({}, this.config.mapConfig);
|
|
237
|
+
this.savedNode = this.rootNode;
|
|
238
|
+
});
|
|
226
239
|
}
|
|
227
240
|
startFollow(context) {
|
|
228
241
|
var _a;
|
|
@@ -246,12 +259,16 @@ class MapWidgetComponent {
|
|
|
246
259
|
});
|
|
247
260
|
}
|
|
248
261
|
}
|
|
249
|
-
MapWidgetComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: MapWidgetComponent, deps: [{ token: i2$1.DashboardChildComponent }], target: i0.ɵɵFactoryTarget.Component });
|
|
250
|
-
MapWidgetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: MapWidgetComponent, selector: "c8y-map-widget", viewQueries: [{ propertyName: "clusterMap", first: true, predicate: ClusterMapComponent, descendants: true }], ngImport: i0, template: "<c8y-map-status\n [clusterMap]=\"mapWidget\"\n [(config)]=\"mapConfig\"\n (onUnfollow)=\"stopFollow()\"\n></c8y-map-status>\n<c8y-cluster-map #mapWidget [rootNode]=\"rootNode\" [config]=\"mapConfig\">\n <div *c8yMapPopup=\"let context\" class=\"map-marker\">\n <a class=\"text-truncate deviceLink text-12\" routerLink=\"/device/{{ context.id }}\">\n <strong>{{ context.name }}</strong>\n </a>\n <c8y-map-event-info [asset]=\"context\">\n <button\n type=\"button\"\n class=\"btn btn-default btn-xs btn-block m-t-8\"\n (click)=\"startFollow(context)\"\n [title]=\"'Activate realtime on this asset and follow it if it moves' | translate\"\n *ngIf=\"!mapConfig.follow\"\n translate\n >\n Follow\n </button>\n <button\n type=\"button\"\n class=\"btn btn-default btn-xs btn-block m-t-8\"\n (click)=\"stopFollow()\"\n [title]=\"'Stop following this asset.' | translate\"\n *ngIf=\"mapConfig.follow\"\n translate\n >\n Unfollow\n </button>\n </c8y-map-event-info>\n </div>\n</c8y-cluster-map>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "component", type: i1$1.MapStatusComponent, selector: "c8y-map-status", inputs: ["config", "clusterMap"], outputs: ["configChange", "onUnfollow"] }, { kind: "component", type: i1$1.ClusterMapComponent, selector: "c8y-cluster-map", inputs: ["config", "rootNode", "asset", "showClusterColor"], outputs: ["mapChange"] }, { kind: "directive", type: i1$1.MapPopupDirective, selector: "[c8yMapPopup]" }, { kind: "directive", type:
|
|
262
|
+
MapWidgetComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: MapWidgetComponent, deps: [{ token: i2$1.DashboardChildComponent }, { token: i2$2.ContextDashboardComponent, optional: true }, { token: i1.InventoryService }], target: i0.ɵɵFactoryTarget.Component });
|
|
263
|
+
MapWidgetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: MapWidgetComponent, selector: "c8y-map-widget", viewQueries: [{ propertyName: "clusterMap", first: true, predicate: ClusterMapComponent, descendants: true }], ngImport: i0, template: "<c8y-map-status\n [clusterMap]=\"mapWidget\"\n [(config)]=\"mapConfig\"\n (onUnfollow)=\"stopFollow()\"\n></c8y-map-status>\n<c8y-cluster-map #mapWidget [rootNode]=\"rootNode\" [config]=\"mapConfig\">\n <div *c8yMapPopup=\"let context\" class=\"map-marker\">\n <a class=\"text-truncate deviceLink text-12\" routerLink=\"/device/{{ context.id }}\">\n <strong>{{ context.name }}</strong>\n </a>\n <c8y-map-event-info [asset]=\"context\">\n <button\n type=\"button\"\n class=\"btn btn-default btn-xs btn-block m-t-8\"\n (click)=\"startFollow(context)\"\n [title]=\"'Activate realtime on this asset and follow it if it moves' | translate\"\n *ngIf=\"!mapConfig.follow\"\n translate\n >\n Follow\n </button>\n <button\n type=\"button\"\n class=\"btn btn-default btn-xs btn-block m-t-8\"\n (click)=\"stopFollow()\"\n [title]=\"'Stop following this asset.' | translate\"\n *ngIf=\"mapConfig.follow\"\n translate\n >\n Unfollow\n </button>\n </c8y-map-event-info>\n </div>\n</c8y-cluster-map>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "component", type: i1$1.MapStatusComponent, selector: "c8y-map-status", inputs: ["config", "clusterMap"], outputs: ["configChange", "onUnfollow"] }, { kind: "component", type: i1$1.ClusterMapComponent, selector: "c8y-cluster-map", inputs: ["config", "rootNode", "asset", "showClusterColor"], outputs: ["mapChange"] }, { kind: "directive", type: i1$1.MapPopupDirective, selector: "[c8yMapPopup]" }, { kind: "directive", type: i6$1.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo", "routerLink"] }, { kind: "component", type: MapEventInfoComponent, selector: "c8y-map-event-info", inputs: ["asset"] }, { kind: "pipe", type: i2$1.C8yTranslatePipe, name: "translate" }] });
|
|
251
264
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: MapWidgetComponent, decorators: [{
|
|
252
265
|
type: Component,
|
|
253
266
|
args: [{ selector: 'c8y-map-widget', template: "<c8y-map-status\n [clusterMap]=\"mapWidget\"\n [(config)]=\"mapConfig\"\n (onUnfollow)=\"stopFollow()\"\n></c8y-map-status>\n<c8y-cluster-map #mapWidget [rootNode]=\"rootNode\" [config]=\"mapConfig\">\n <div *c8yMapPopup=\"let context\" class=\"map-marker\">\n <a class=\"text-truncate deviceLink text-12\" routerLink=\"/device/{{ context.id }}\">\n <strong>{{ context.name }}</strong>\n </a>\n <c8y-map-event-info [asset]=\"context\">\n <button\n type=\"button\"\n class=\"btn btn-default btn-xs btn-block m-t-8\"\n (click)=\"startFollow(context)\"\n [title]=\"'Activate realtime on this asset and follow it if it moves' | translate\"\n *ngIf=\"!mapConfig.follow\"\n translate\n >\n Follow\n </button>\n <button\n type=\"button\"\n class=\"btn btn-default btn-xs btn-block m-t-8\"\n (click)=\"stopFollow()\"\n [title]=\"'Stop following this asset.' | translate\"\n *ngIf=\"mapConfig.follow\"\n translate\n >\n Unfollow\n </button>\n </c8y-map-event-info>\n </div>\n</c8y-cluster-map>\n" }]
|
|
254
|
-
}], ctorParameters: function () {
|
|
267
|
+
}], ctorParameters: function () {
|
|
268
|
+
return [{ type: i2$1.DashboardChildComponent }, { type: i2$2.ContextDashboardComponent, decorators: [{
|
|
269
|
+
type: Optional
|
|
270
|
+
}] }, { type: i1.InventoryService }];
|
|
271
|
+
}, propDecorators: { clusterMap: [{
|
|
255
272
|
type: ViewChild,
|
|
256
273
|
args: [ClusterMapComponent]
|
|
257
274
|
}] } });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"c8y-ngx-components-widgets-implementations-map.mjs","sources":["../../widgets/implementations/map/map-event-info.component.ts","../../widgets/implementations/map/map-event-info.component.html","../../widgets/implementations/map/map-widget-config.component.ts","../../widgets/implementations/map/map-widget-config.component.html","../../widgets/implementations/map/map-widget.component.ts","../../widgets/implementations/map/map-widget.component.html","../../widgets/implementations/map/map-widget.module.ts","../../widgets/implementations/map/c8y-ngx-components-widgets-implementations-map.ts"],"sourcesContent":["import { Component, Input, OnChanges } from '@angular/core';\nimport { EventService, IEvent, IManagedObject } from '@c8y/client';\n\n@Component({\n selector: 'c8y-map-event-info',\n templateUrl: './map-event-info.component.html'\n})\nexport class MapEventInfoComponent implements OnChanges {\n @Input()\n asset: IManagedObject;\n\n loading = true;\n\n event: IEvent;\n\n constructor(private eventService: EventService) {}\n\n async ngOnChanges() {\n this.loading = true;\n const { data } = await this.eventService.list({\n dateFrom: '1970-01-01',\n dateTo: new Date(Date.now()).toISOString(),\n fragmentType: 'c8y_Position',\n pageSize: 1,\n source: this.asset.id\n });\n this.event = data[0];\n this.loading = false;\n }\n}\n","<div class=\"text-muted text-10 p-t-4 p-b-4\">\n <span translate>Last position update:</span>\n <br />\n <c8y-loading *ngIf=\"loading\"></c8y-loading>\n <ng-container *ngIf=\"!loading\">\n <i *ngIf=\"!event\" translate>No information found</i>\n <ng-container *ngIf=\"event\">\n <i>{{ event.time | c8yDate }}</i>\n <ng-content></ng-content>\n </ng-container>\n </ng-container>\n</div>\n","import {\n AfterViewInit,\n Component,\n Inject,\n Input,\n OnChanges,\n OnInit,\n Optional,\n SimpleChanges,\n ViewChild\n} from '@angular/core';\nimport { ControlContainer, NgForm } from '@angular/forms';\nimport { AlertService, gettext } from '@c8y/ngx-components';\nimport { IconSelectorService } from '@c8y/ngx-components/icon-selector';\nimport {\n ClusterMapConfig,\n defaultMapConfig,\n MapComponent,\n MapDefaultConfig,\n MapService,\n MAP_DEFAULT_CONFIG,\n PositionManagedObject\n} from '@c8y/ngx-components/map';\nimport { TranslateService } from '@ngx-translate/core';\nimport type L from 'leaflet';\nimport { MapWidgetConfig, RefreshOptions } from './map-widget.model';\n\n@Component({\n selector: 'c8y-map-widget-config',\n templateUrl: './map-widget-config.component.html',\n viewProviders: [{ provide: ControlContainer, useExisting: NgForm }]\n})\nexport class MapWidgetConfigComponent implements OnInit, AfterViewInit, OnChanges {\n @Input() config: MapWidgetConfig = {\n mapConfig: undefined\n };\n\n formConfig: ClusterMapConfig;\n\n canAutoCenter = true;\n isPositionedDevice = false;\n assets: PositionManagedObject[];\n refreshOptions: RefreshOptions = 'none';\n\n private leaflet: typeof L;\n private centerIcon: L.Marker;\n\n @ViewChild(MapComponent)\n private previewMap: MapComponent;\n\n constructor(\n private mapService: MapService,\n private alertService: AlertService,\n private translateService: TranslateService,\n @Optional() @Inject(MAP_DEFAULT_CONFIG) private defaultConfig: MapDefaultConfig,\n private iconSelector: IconSelectorService\n ) {\n if (!this.defaultConfig) {\n this.defaultConfig = defaultMapConfig;\n }\n this.formConfig = {\n zoomLevel: this.defaultConfig.zoomLevel,\n center: this.defaultConfig.center\n };\n }\n\n async ngOnInit() {\n if (!this.config.mapConfig) {\n this.config.mapConfig = this.formConfig;\n }\n this.formConfig = {\n ...this.formConfig,\n ...this.config.mapConfig,\n disablePan: false\n };\n await this.updateAsset();\n }\n\n async ngOnChanges(changes: SimpleChanges) {\n if (\n changes.config.currentValue !== changes.config.previousValue &&\n !changes.config.firstChange\n ) {\n await this.updateAsset();\n }\n }\n\n async ngAfterViewInit() {\n this.leaflet = await this.mapService.getLeaflet();\n this.addCenterIcon(this.formConfig.center[0], this.formConfig.center[1]);\n }\n\n onBeforeSave() {\n this.config.mapConfig = this.formConfig;\n return true;\n }\n\n zoomLevelChanged() {\n this.config.mapConfig = {\n ...this.config.mapConfig,\n zoomLevel: this.formConfig.zoomLevel\n };\n }\n\n changeCenter() {\n this.config.mapConfig = { ...this.formConfig, center: this.formConfig.center };\n }\n\n onPreviewZoomStart() {\n this.centerIcon.remove();\n }\n\n onPreviewZoomEnd(event: L.LeafletEvent) {\n this.formConfig.zoomLevel = Math.floor(event.target.getZoom());\n }\n\n onPreviewMapMove(event: L.LeafletEvent) {\n if (this.centerIcon) {\n this.centerIcon.remove();\n }\n const { lat, lng } = event.target.getBounds().getCenter();\n this.addCenterIcon(lat, lng);\n this.formConfig.center = [lat, lng];\n }\n\n useOwnPosition() {\n navigator.geolocation.getCurrentPosition(({ coords }) => {\n this.formConfig.center = [coords.latitude, coords.longitude];\n this.changeCenter();\n });\n }\n\n centerToAsset() {\n this.formConfig.center = [\n this.config.device.c8y_Position.lat,\n this.config.device.c8y_Position.lng\n ];\n this.changeCenter();\n }\n\n updateRefreshOptions() {\n this.formConfig.realtime = this.refreshOptions === 'realtime';\n this.formConfig.refreshInterval = this.refreshOptions === 'interval' ? 5000 : null;\n if (!this.formConfig.realtime) {\n this.formConfig.follow = false;\n }\n }\n\n async openIconSelector() {\n try {\n const icon = await this.iconSelector.selectIcon({\n currentSelection: this.formConfig.icon\n });\n this.formConfig.icon = icon;\n this.config.mapConfig = { ...this.config.mapConfig, icon };\n } catch {\n // nothing to do\n }\n }\n\n removeIcon() {\n this.formConfig.icon = undefined;\n this.config.mapConfig.icon = undefined;\n this.previewMap.refreshMarkers();\n }\n\n private async updateAsset() {\n this.canAutoCenter = this.mapService.hasPosition(this.config.device);\n this.isPositionedDevice = this.mapService.isPositionedDevice(this.config.device);\n this.refreshOptions = this.getRefreshOptions();\n this.updateRefreshOptions();\n\n const { data, paging } = await this.mapService.getAllPositionsMOs(this.config.device);\n this.assets = data;\n if (paging.totalPages > 1) {\n this.alertService.danger(\n gettext(\n 'It might be possible that assets are not shown in the preview, as the current selection has more than 500 assets and the preview only supports a maximum of 500 assets.'\n )\n );\n }\n }\n\n private getRefreshOptions(): RefreshOptions {\n let option: RefreshOptions = 'none';\n if (this.formConfig.realtime) {\n option = 'realtime';\n } else if (this.formConfig.refreshInterval) {\n option = 'interval';\n }\n const isNotAllowedOption =\n (!this.isPositionedDevice && option === 'realtime') ||\n (this.isPositionedDevice && option === 'interval');\n option = isNotAllowedOption ? 'none' : option;\n return option;\n }\n\n private addCenterIcon(lat: number, lng: number) {\n const titleText = this.translateService.instant(gettext('Map center'));\n const icon = this.leaflet.divIcon({\n html: `<i style=\"pointer-events: none\" class=\"c8y-map-marker-icon text-muted dlt-c8y-icon-target icon-2x\" title=\"${titleText}\" />`\n });\n this.centerIcon = this.leaflet.marker([lat, lng], {\n icon\n });\n this.previewMap.addMarkerToMap(this.centerIcon);\n }\n}\n","<div class=\"row p-t-16\">\n <div class=\"col-xs-2\">\n <c8y-form-group class=\"m-b-0 text-center form-group-sm\">\n <label translate>Marker icon</label>\n <div class=\"icon-32 text-muted text-center p-b-8\" *ngIf=\"formConfig.icon\">\n <i [c8yIcon]=\"formConfig.icon\"></i>\n </div>\n <div class=\"icon-32 text-muted text-center\" *ngIf=\"!formConfig.icon\">\n <span class=\"d-block text-12 p-b-16 p-t-16\">\n <em>{{ 'Auto' | translate }}</em>\n </span>\n </div>\n <button\n type=\"button\"\n title=\"{{ 'Select icon to override default behavior' | translate }}\"\n class=\"btn btn-default btn-xs btn-block\"\n *ngIf=\"!formConfig.icon\"\n (click)=\"openIconSelector()\"\n >\n {{ 'Select' | translate }}\n </button>\n <button\n type=\"button\"\n title=\"{{ 'Change icon' | translate }}\"\n class=\"btn btn-default btn-xs btn-block\"\n *ngIf=\"formConfig.icon\"\n (click)=\"openIconSelector()\"\n >\n {{ 'Change' | translate }}\n </button>\n <button\n type=\"button\"\n title=\"{{ 'Remove icon and use default behavior' | translate }}\"\n class=\"btn btn-danger btn-xs btn-block\"\n *ngIf=\"formConfig.icon\"\n (click)=\"removeIcon()\"\n >\n {{ 'Remove' | translate }}\n </button>\n </c8y-form-group>\n </div>\n <div class=\"col-xs-10\">\n <div class=\"row tight-grid separator-bottom\">\n <div class=\"col-xs-4\">\n <div class=\"form-group form-group-sm\">\n <label translate>Zoom level</label>\n <c8y-range\n #range\n [(ngModel)]=\"formConfig.zoomLevel\"\n name=\"zoomLevel\"\n class=\"label-bottom\"\n (change)=\"zoomLevelChanged()\"\n >\n <input type=\"range\" min=\"2\" max=\"18\" step=\"1\" />\n </c8y-range>\n </div>\n </div>\n <div class=\"col-xs-8\">\n <c8y-form-group class=\"form-group-sm m-b-8\">\n <label translate>Center bound</label>\n <div class=\"input-group input-group-sm\">\n <input\n class=\"form-control\"\n type=\"number\"\n required\n placeholder=\"lat\"\n [(ngModel)]=\"formConfig.center[0]\"\n (change)=\"changeCenter()\"\n name=\"centerLat\"\n />\n <input\n class=\"form-control\"\n type=\"number\"\n required\n placeholder=\"lng\"\n [(ngModel)]=\"formConfig.center[1]\"\n (change)=\"changeCenter()\"\n name=\"centerLng\"\n />\n <div class=\"input-group-btn\">\n <button\n class=\"btn btn-default\"\n (click)=\"useOwnPosition()\"\n [attr.aria-label]=\"'Use your location' | translate\"\n [tooltip]=\"'Use your location' | translate\"\n container=\"body\"\n placement=\"top\"\n >\n <i c8yIcon=\"location-arrow\" class=\"icon-14\"></i>\n </button>\n </div>\n <div class=\"input-group-btn\" *ngIf=\"canAutoCenter\">\n <button\n class=\"btn btn-default\"\n [attr.aria-label]=\"'Use selected asset location' | translate\"\n [tooltip]=\"'Use selected asset location' | translate\"\n placement=\"top\"\n container=\"body\"\n (click)=\"centerToAsset()\"\n >\n <i c8yIcon=\"location\" class=\"icon-14\"></i>\n </button>\n </div>\n </div>\n <div class=\"help-block\">\n {{ 'Drag the map to the desired position' | translate }}\n </div>\n </c8y-form-group>\n </div>\n </div>\n\n <div class=\"row tight-grid p-t-8 d-flex a-i-center\">\n <div class=\"col-xs-4\">\n <c8y-form-group class=\"m-b-0 form-group-sm\">\n <div class=\"c8y-select-wrapper\">\n <select\n id=\"selectExample\"\n class=\"form-control\"\n [(ngModel)]=\"refreshOptions\"\n name=\"refreshSelection\"\n title=\"{{ 'Refresh options' | translate }}\"\n (change)=\"updateRefreshOptions()\"\n >\n <option value=\"none\" [title]=\"'Only refreshing on interaction' | translate\" translate>\n No automatic refresh\n </option>\n <option\n value=\"interval\"\n *ngIf=\"!isPositionedDevice\"\n [title]=\"'Refreshing after a give interval and on interaction' | translate\"\n translate\n >\n Use refresh interval\n </option>\n <option\n value=\"realtime\"\n *ngIf=\"isPositionedDevice\"\n [title]=\"'Live updating on each position change' | translate\"\n translate\n >\n Realtime\n </option>\n </select>\n </div>\n </c8y-form-group>\n </div>\n <div class=\"col-xs-8\">\n <div class=\"form-group form-group-sm m-b-0\">\n <c8y-range\n #intervalRange\n [(ngModel)]=\"formConfig.refreshInterval\"\n name=\"refreshInterval\"\n class=\"label-bottom\"\n *ngIf=\"refreshOptions === 'interval'\"\n >\n <ng-template #c8yRangeValue>\n <div>\n <span\n translate\n [translateParams]=\"{ interval: intervalRange.value * 0.001 }\"\n ngNonBindable\n >\n {{ interval }}s\n </span>\n </div>\n </ng-template>\n <input type=\"range\" min=\"5000\" max=\"100000\" step=\"1000\" />\n </c8y-range>\n </div>\n <label class=\"c8y-switch c8y-switch--inline\" *ngIf=\"refreshOptions === 'realtime'\">\n <input type=\"checkbox\" [(ngModel)]=\"formConfig.follow\" name=\"follow\" />\n <span></span>\n <span class=\"text-12\" translate>Follow selected</span>\n </label>\n </div>\n </div>\n </div>\n</div>\n\n<div class=\"p-t-16 p-b-16\" style=\"width: 100%; height: 240px\">\n <c8y-map\n [assets]=\"assets\"\n (onMove)=\"onPreviewMapMove($event)\"\n (onZoomStart)=\"onPreviewZoomStart()\"\n (onZoomEnd)=\"onPreviewZoomEnd($event)\"\n [config]=\"config.mapConfig\"\n ></c8y-map>\n</div>\n","import { Component, OnDestroy, OnInit, ViewChild } from '@angular/core';\nimport { IManagedObject } from '@c8y/client';\nimport { ClusterMapComponent, ClusterMapConfig } from '@c8y/ngx-components/map';\nimport { DashboardChildComponent } from '@c8y/ngx-components';\nimport { MapWidgetConfig } from './map-widget.model';\nimport { filter, takeUntil } from 'rxjs/operators';\nimport { Subject } from 'rxjs';\n\n@Component({\n selector: 'c8y-map-widget',\n templateUrl: './map-widget.component.html'\n})\nexport class MapWidgetComponent implements OnInit, OnDestroy {\n mapConfig: ClusterMapConfig = { center: [0, 0] };\n rootNode: IManagedObject;\n config: MapWidgetConfig;\n\n @ViewChild(ClusterMapComponent)\n clusterMap: ClusterMapComponent;\n\n private savedNode: IManagedObject;\n private destroy$ = new Subject();\n\n constructor(dashboardChild: DashboardChildComponent) {\n this.listenToWidgetResizeEvent(dashboardChild);\n }\n\n ngOnInit(): void {\n if (this.config.device) {\n this.rootNode = this.config.device;\n }\n this.mapConfig = { ...this.config.mapConfig };\n this.savedNode = this.rootNode;\n }\n\n startFollow(context) {\n if (context.id !== this.rootNode?.id) {\n this.rootNode = context;\n }\n this.mapConfig = {\n ...this.config.mapConfig,\n follow: true,\n realtime: true\n };\n }\n\n stopFollow() {\n this.mapConfig = {\n ...this.config.mapConfig,\n follow: false\n };\n this.rootNode = this.savedNode;\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n }\n\n private listenToWidgetResizeEvent(dashboardChild: DashboardChildComponent) {\n dashboardChild.changeEnd\n .pipe(\n filter(child => child.lastChange === 'resize'),\n takeUntil(this.destroy$)\n )\n .subscribe(() => {\n this.clusterMap.reset();\n });\n }\n}\n","<c8y-map-status\n [clusterMap]=\"mapWidget\"\n [(config)]=\"mapConfig\"\n (onUnfollow)=\"stopFollow()\"\n></c8y-map-status>\n<c8y-cluster-map #mapWidget [rootNode]=\"rootNode\" [config]=\"mapConfig\">\n <div *c8yMapPopup=\"let context\" class=\"map-marker\">\n <a class=\"text-truncate deviceLink text-12\" routerLink=\"/device/{{ context.id }}\">\n <strong>{{ context.name }}</strong>\n </a>\n <c8y-map-event-info [asset]=\"context\">\n <button\n type=\"button\"\n class=\"btn btn-default btn-xs btn-block m-t-8\"\n (click)=\"startFollow(context)\"\n [title]=\"'Activate realtime on this asset and follow it if it moves' | translate\"\n *ngIf=\"!mapConfig.follow\"\n translate\n >\n Follow\n </button>\n <button\n type=\"button\"\n class=\"btn btn-default btn-xs btn-block m-t-8\"\n (click)=\"stopFollow()\"\n [title]=\"'Stop following this asset.' | translate\"\n *ngIf=\"mapConfig.follow\"\n translate\n >\n Unfollow\n </button>\n </c8y-map-event-info>\n </div>\n</c8y-cluster-map>\n","import { CommonModule as NgCommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule as NgFormsModule } from '@angular/forms';\nimport { RouterModule } from '@angular/router';\nimport { CommonModule, FormsModule } from '@c8y/ngx-components';\nimport { TooltipModule } from 'ngx-bootstrap/tooltip';\nimport { MapModule } from '@c8y/ngx-components/map';\nimport { MapEventInfoComponent } from './map-event-info.component';\nimport { MapWidgetConfigComponent } from './map-widget-config.component';\nimport { MapWidgetComponent } from './map-widget.component';\n\n@NgModule({\n declarations: [MapWidgetComponent, MapWidgetConfigComponent, MapEventInfoComponent],\n imports: [\n NgCommonModule,\n NgFormsModule,\n CommonModule,\n FormsModule,\n MapModule,\n RouterModule,\n TooltipModule.forRoot()\n ],\n exports: [MapWidgetComponent, MapWidgetConfigComponent, MapEventInfoComponent]\n})\nexport class MapWidgetModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i3","i1","i4","i5.MapEventInfoComponent","NgCommonModule","NgFormsModule","CommonModule","FormsModule"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"c8y-ngx-components-widgets-implementations-map.mjs","sources":["../../widgets/implementations/map/map-event-info.component.ts","../../widgets/implementations/map/map-event-info.component.html","../../widgets/implementations/map/map-widget-config.component.ts","../../widgets/implementations/map/map-widget-config.component.html","../../widgets/implementations/map/map-widget.component.ts","../../widgets/implementations/map/map-widget.component.html","../../widgets/implementations/map/map-widget.module.ts","../../widgets/implementations/map/c8y-ngx-components-widgets-implementations-map.ts"],"sourcesContent":["import { Component, Input, OnChanges } from '@angular/core';\nimport { EventService, IEvent, IManagedObject } from '@c8y/client';\n\n@Component({\n selector: 'c8y-map-event-info',\n templateUrl: './map-event-info.component.html'\n})\nexport class MapEventInfoComponent implements OnChanges {\n @Input()\n asset: IManagedObject;\n\n loading = true;\n\n event: IEvent;\n\n constructor(private eventService: EventService) {}\n\n async ngOnChanges() {\n this.loading = true;\n const { data } = await this.eventService.list({\n dateFrom: '1970-01-01',\n dateTo: new Date(Date.now()).toISOString(),\n fragmentType: 'c8y_Position',\n pageSize: 1,\n source: this.asset.id\n });\n this.event = data[0];\n this.loading = false;\n }\n}\n","<div class=\"text-muted text-10 p-t-4 p-b-4\">\n <span translate>Last position update:</span>\n <br />\n <c8y-loading *ngIf=\"loading\"></c8y-loading>\n <ng-container *ngIf=\"!loading\">\n <i *ngIf=\"!event\" translate>No information found</i>\n <ng-container *ngIf=\"event\">\n <i>{{ event.time | c8yDate }}</i>\n <ng-content></ng-content>\n </ng-container>\n </ng-container>\n</div>\n","import {\n AfterViewInit,\n Component,\n Inject,\n Input,\n OnChanges,\n OnInit,\n Optional,\n SimpleChanges,\n ViewChild\n} from '@angular/core';\nimport { ControlContainer, NgForm } from '@angular/forms';\nimport { AlertService, gettext } from '@c8y/ngx-components';\nimport { IconSelectorService } from '@c8y/ngx-components/icon-selector';\nimport {\n ClusterMapConfig,\n defaultMapConfig,\n MapComponent,\n MapDefaultConfig,\n MapService,\n MAP_DEFAULT_CONFIG,\n PositionManagedObject\n} from '@c8y/ngx-components/map';\nimport { TranslateService } from '@ngx-translate/core';\nimport type L from 'leaflet';\nimport { MapWidgetConfig, RefreshOptions } from './map-widget.model';\n\n@Component({\n selector: 'c8y-map-widget-config',\n templateUrl: './map-widget-config.component.html',\n viewProviders: [{ provide: ControlContainer, useExisting: NgForm }]\n})\nexport class MapWidgetConfigComponent implements OnInit, AfterViewInit, OnChanges {\n @Input() config: MapWidgetConfig = {\n mapConfig: undefined\n };\n\n formConfig: ClusterMapConfig;\n\n canAutoCenter = true;\n isPositionedDevice = false;\n assets: PositionManagedObject[];\n refreshOptions: RefreshOptions = 'none';\n\n private leaflet: typeof L;\n private centerIcon: L.Marker;\n\n @ViewChild(MapComponent)\n private previewMap: MapComponent;\n\n constructor(\n private mapService: MapService,\n private alertService: AlertService,\n private translateService: TranslateService,\n @Optional() @Inject(MAP_DEFAULT_CONFIG) private defaultConfig: MapDefaultConfig,\n private iconSelector: IconSelectorService\n ) {\n if (!this.defaultConfig) {\n this.defaultConfig = defaultMapConfig;\n }\n this.formConfig = {\n zoomLevel: this.defaultConfig.zoomLevel,\n center: this.defaultConfig.center\n };\n }\n\n async ngOnInit() {\n if (!this.config.mapConfig) {\n this.config.mapConfig = this.formConfig;\n }\n this.formConfig = {\n ...this.formConfig,\n ...this.config.mapConfig,\n disablePan: false\n };\n await this.updateAsset();\n }\n\n async ngOnChanges(changes: SimpleChanges) {\n if (\n changes.config.currentValue !== changes.config.previousValue &&\n !changes.config.firstChange\n ) {\n await this.updateAsset();\n }\n }\n\n async ngAfterViewInit() {\n this.leaflet = await this.mapService.getLeaflet();\n this.addCenterIcon(this.formConfig.center[0], this.formConfig.center[1]);\n }\n\n onBeforeSave() {\n this.config.mapConfig = this.formConfig;\n return true;\n }\n\n zoomLevelChanged() {\n this.config.mapConfig = {\n ...this.config.mapConfig,\n zoomLevel: this.formConfig.zoomLevel\n };\n }\n\n changeCenter() {\n this.config.mapConfig = { ...this.formConfig, center: this.formConfig.center };\n }\n\n onPreviewZoomStart() {\n this.centerIcon.remove();\n }\n\n onPreviewZoomEnd(event: L.LeafletEvent) {\n this.formConfig.zoomLevel = Math.floor(event.target.getZoom());\n }\n\n onPreviewMapMove(event: L.LeafletEvent) {\n if (this.centerIcon) {\n this.centerIcon.remove();\n }\n const { lat, lng } = event.target.getBounds().getCenter();\n this.addCenterIcon(lat, lng);\n this.formConfig.center = [lat, lng];\n }\n\n useOwnPosition() {\n navigator.geolocation.getCurrentPosition(({ coords }) => {\n this.formConfig.center = [coords.latitude, coords.longitude];\n this.changeCenter();\n });\n }\n\n centerToAsset() {\n this.formConfig.center = [\n this.config.device.c8y_Position.lat,\n this.config.device.c8y_Position.lng\n ];\n this.changeCenter();\n }\n\n updateRefreshOptions() {\n this.formConfig.realtime = this.refreshOptions === 'realtime';\n this.formConfig.refreshInterval = this.refreshOptions === 'interval' ? 5000 : null;\n if (!this.formConfig.realtime) {\n this.formConfig.follow = false;\n }\n }\n\n async openIconSelector() {\n try {\n const icon = await this.iconSelector.selectIcon({\n currentSelection: this.formConfig.icon\n });\n this.formConfig.icon = icon;\n this.config.mapConfig = { ...this.config.mapConfig, icon };\n } catch {\n // nothing to do\n }\n }\n\n removeIcon() {\n this.formConfig.icon = undefined;\n this.config.mapConfig.icon = undefined;\n this.previewMap.refreshMarkers();\n }\n\n private async updateAsset() {\n this.canAutoCenter = this.mapService.hasPosition(this.config.device);\n this.isPositionedDevice = this.mapService.isPositionedDevice(this.config.device);\n this.refreshOptions = this.getRefreshOptions();\n this.updateRefreshOptions();\n\n const { data, paging } = await this.mapService.getAllPositionsMOs(this.config.device);\n this.assets = data;\n if (paging.totalPages > 1) {\n this.alertService.danger(\n gettext(\n 'It might be possible that assets are not shown in the preview, as the current selection has more than 500 assets and the preview only supports a maximum of 500 assets.'\n )\n );\n }\n }\n\n private getRefreshOptions(): RefreshOptions {\n let option: RefreshOptions = 'none';\n if (this.formConfig.realtime) {\n option = 'realtime';\n } else if (this.formConfig.refreshInterval) {\n option = 'interval';\n }\n const isNotAllowedOption =\n (!this.isPositionedDevice && option === 'realtime') ||\n (this.isPositionedDevice && option === 'interval');\n option = isNotAllowedOption ? 'none' : option;\n return option;\n }\n\n private addCenterIcon(lat: number, lng: number) {\n const titleText = this.translateService.instant(gettext('Map center'));\n const icon = this.leaflet.divIcon({\n html: `<i style=\"pointer-events: none\" class=\"c8y-map-marker-icon text-muted dlt-c8y-icon-target icon-2x\" title=\"${titleText}\" />`\n });\n this.centerIcon = this.leaflet.marker([lat, lng], {\n icon\n });\n this.previewMap.addMarkerToMap(this.centerIcon);\n }\n}\n","<div class=\"row p-t-16\">\n <div class=\"col-xs-2\">\n <c8y-form-group class=\"m-b-0 text-center form-group-sm\">\n <label translate>Marker icon</label>\n <div class=\"icon-32 text-muted text-center p-b-8\" *ngIf=\"formConfig.icon\">\n <i [c8yIcon]=\"formConfig.icon\"></i>\n </div>\n <div class=\"icon-32 text-muted text-center\" *ngIf=\"!formConfig.icon\">\n <span class=\"d-block text-12 p-b-16 p-t-16\">\n <em>{{ 'Auto' | translate }}</em>\n </span>\n </div>\n <button\n type=\"button\"\n title=\"{{ 'Select icon to override default behavior' | translate }}\"\n class=\"btn btn-default btn-xs btn-block\"\n *ngIf=\"!formConfig.icon\"\n (click)=\"openIconSelector()\"\n >\n {{ 'Select' | translate }}\n </button>\n <button\n type=\"button\"\n title=\"{{ 'Change icon' | translate }}\"\n class=\"btn btn-default btn-xs btn-block\"\n *ngIf=\"formConfig.icon\"\n (click)=\"openIconSelector()\"\n >\n {{ 'Change' | translate }}\n </button>\n <button\n type=\"button\"\n title=\"{{ 'Remove icon and use default behavior' | translate }}\"\n class=\"btn btn-danger btn-xs btn-block\"\n *ngIf=\"formConfig.icon\"\n (click)=\"removeIcon()\"\n >\n {{ 'Remove' | translate }}\n </button>\n </c8y-form-group>\n </div>\n <div class=\"col-xs-10\">\n <div class=\"row tight-grid separator-bottom\">\n <div class=\"col-xs-4\">\n <div class=\"form-group form-group-sm\">\n <label translate>Zoom level</label>\n <c8y-range\n #range\n [(ngModel)]=\"formConfig.zoomLevel\"\n name=\"zoomLevel\"\n class=\"label-bottom\"\n (change)=\"zoomLevelChanged()\"\n >\n <input type=\"range\" min=\"2\" max=\"18\" step=\"1\" />\n </c8y-range>\n </div>\n </div>\n <div class=\"col-xs-8\">\n <c8y-form-group class=\"form-group-sm m-b-8\">\n <label translate>Center bound</label>\n <div class=\"input-group input-group-sm\">\n <input\n class=\"form-control\"\n type=\"number\"\n required\n placeholder=\"lat\"\n [(ngModel)]=\"formConfig.center[0]\"\n (change)=\"changeCenter()\"\n name=\"centerLat\"\n />\n <input\n class=\"form-control\"\n type=\"number\"\n required\n placeholder=\"lng\"\n [(ngModel)]=\"formConfig.center[1]\"\n (change)=\"changeCenter()\"\n name=\"centerLng\"\n />\n <div class=\"input-group-btn\">\n <button\n class=\"btn btn-default\"\n (click)=\"useOwnPosition()\"\n [attr.aria-label]=\"'Use your location' | translate\"\n [tooltip]=\"'Use your location' | translate\"\n container=\"body\"\n placement=\"top\"\n >\n <i c8yIcon=\"location-arrow\" class=\"icon-14\"></i>\n </button>\n </div>\n <div class=\"input-group-btn\" *ngIf=\"canAutoCenter\">\n <button\n class=\"btn btn-default\"\n [attr.aria-label]=\"'Use selected asset location' | translate\"\n [tooltip]=\"'Use selected asset location' | translate\"\n placement=\"top\"\n container=\"body\"\n (click)=\"centerToAsset()\"\n >\n <i c8yIcon=\"location\" class=\"icon-14\"></i>\n </button>\n </div>\n </div>\n <div class=\"help-block\">\n {{ 'Drag the map to the desired position' | translate }}\n </div>\n </c8y-form-group>\n </div>\n </div>\n\n <div class=\"row tight-grid p-t-8 d-flex a-i-center\">\n <div class=\"col-xs-4\">\n <c8y-form-group class=\"m-b-0 form-group-sm\">\n <div class=\"c8y-select-wrapper\">\n <select\n id=\"selectExample\"\n class=\"form-control\"\n [(ngModel)]=\"refreshOptions\"\n name=\"refreshSelection\"\n title=\"{{ 'Refresh options' | translate }}\"\n (change)=\"updateRefreshOptions()\"\n >\n <option value=\"none\" [title]=\"'Only refreshing on interaction' | translate\" translate>\n No automatic refresh\n </option>\n <option\n value=\"interval\"\n *ngIf=\"!isPositionedDevice\"\n [title]=\"'Refreshing after a give interval and on interaction' | translate\"\n translate\n >\n Use refresh interval\n </option>\n <option\n value=\"realtime\"\n *ngIf=\"isPositionedDevice\"\n [title]=\"'Live updating on each position change' | translate\"\n translate\n >\n Realtime\n </option>\n </select>\n </div>\n </c8y-form-group>\n </div>\n <div class=\"col-xs-8\">\n <div class=\"form-group form-group-sm m-b-0\">\n <c8y-range\n #intervalRange\n [(ngModel)]=\"formConfig.refreshInterval\"\n name=\"refreshInterval\"\n class=\"label-bottom\"\n *ngIf=\"refreshOptions === 'interval'\"\n >\n <ng-template #c8yRangeValue>\n <div>\n <span\n translate\n [translateParams]=\"{ interval: intervalRange.value * 0.001 }\"\n ngNonBindable\n >\n {{ interval }}s\n </span>\n </div>\n </ng-template>\n <input type=\"range\" min=\"5000\" max=\"100000\" step=\"1000\" />\n </c8y-range>\n </div>\n <label class=\"c8y-switch c8y-switch--inline\" *ngIf=\"refreshOptions === 'realtime'\">\n <input type=\"checkbox\" [(ngModel)]=\"formConfig.follow\" name=\"follow\" />\n <span></span>\n <span class=\"text-12\" translate>Follow selected</span>\n </label>\n </div>\n </div>\n </div>\n</div>\n\n<div class=\"p-t-16 p-b-16\" style=\"width: 100%; height: 240px\">\n <c8y-map\n [assets]=\"assets\"\n (onMove)=\"onPreviewMapMove($event)\"\n (onZoomStart)=\"onPreviewZoomStart()\"\n (onZoomEnd)=\"onPreviewZoomEnd($event)\"\n [config]=\"config.mapConfig\"\n ></c8y-map>\n</div>\n","import { Component, OnDestroy, OnInit, ViewChild, Optional } from '@angular/core';\nimport { IManagedObject, InventoryService } from '@c8y/client';\nimport { ClusterMapComponent, ClusterMapConfig } from '@c8y/ngx-components/map';\nimport { DashboardChildComponent } from '@c8y/ngx-components';\nimport { MapWidgetConfig } from './map-widget.model';\nimport { filter, takeUntil } from 'rxjs/operators';\nimport { Subject } from 'rxjs';\nimport { ContextDashboardComponent } from '@c8y/ngx-components/context-dashboard';\n\n@Component({\n selector: 'c8y-map-widget',\n templateUrl: './map-widget.component.html'\n})\nexport class MapWidgetComponent implements OnInit, OnDestroy {\n mapConfig: ClusterMapConfig = { center: [0, 0] };\n rootNode: IManagedObject;\n config: MapWidgetConfig;\n\n @ViewChild(ClusterMapComponent)\n clusterMap: ClusterMapComponent;\n\n private savedNode: IManagedObject;\n private destroy$ = new Subject();\n\n constructor(\n dashboardChild: DashboardChildComponent,\n @Optional() private dashboardContextComponent: ContextDashboardComponent,\n private inventory: InventoryService\n ) {\n this.listenToWidgetResizeEvent(dashboardChild);\n }\n\n async ngOnInit() {\n if (this.dashboardContextComponent?.dashboard?.deviceType && !this.config.device) {\n const context = this.dashboardContextComponent.context;\n if (context?.id) {\n const { id } = context;\n this.config.device = (await this.inventory.detail(id)).data;\n }\n }\n if (this.config.device) {\n this.rootNode = this.config.device;\n }\n this.mapConfig = { ...this.config.mapConfig };\n this.savedNode = this.rootNode;\n }\n\n startFollow(context) {\n if (context.id !== this.rootNode?.id) {\n this.rootNode = context;\n }\n this.mapConfig = {\n ...this.config.mapConfig,\n follow: true,\n realtime: true\n };\n }\n\n stopFollow() {\n this.mapConfig = {\n ...this.config.mapConfig,\n follow: false\n };\n this.rootNode = this.savedNode;\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n }\n\n private listenToWidgetResizeEvent(dashboardChild: DashboardChildComponent) {\n dashboardChild.changeEnd\n .pipe(\n filter(child => child.lastChange === 'resize'),\n takeUntil(this.destroy$)\n )\n .subscribe(() => {\n this.clusterMap.reset();\n });\n }\n}\n","<c8y-map-status\n [clusterMap]=\"mapWidget\"\n [(config)]=\"mapConfig\"\n (onUnfollow)=\"stopFollow()\"\n></c8y-map-status>\n<c8y-cluster-map #mapWidget [rootNode]=\"rootNode\" [config]=\"mapConfig\">\n <div *c8yMapPopup=\"let context\" class=\"map-marker\">\n <a class=\"text-truncate deviceLink text-12\" routerLink=\"/device/{{ context.id }}\">\n <strong>{{ context.name }}</strong>\n </a>\n <c8y-map-event-info [asset]=\"context\">\n <button\n type=\"button\"\n class=\"btn btn-default btn-xs btn-block m-t-8\"\n (click)=\"startFollow(context)\"\n [title]=\"'Activate realtime on this asset and follow it if it moves' | translate\"\n *ngIf=\"!mapConfig.follow\"\n translate\n >\n Follow\n </button>\n <button\n type=\"button\"\n class=\"btn btn-default btn-xs btn-block m-t-8\"\n (click)=\"stopFollow()\"\n [title]=\"'Stop following this asset.' | translate\"\n *ngIf=\"mapConfig.follow\"\n translate\n >\n Unfollow\n </button>\n </c8y-map-event-info>\n </div>\n</c8y-cluster-map>\n","import { CommonModule as NgCommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule as NgFormsModule } from '@angular/forms';\nimport { RouterModule } from '@angular/router';\nimport { CommonModule, FormsModule } from '@c8y/ngx-components';\nimport { TooltipModule } from 'ngx-bootstrap/tooltip';\nimport { MapModule } from '@c8y/ngx-components/map';\nimport { MapEventInfoComponent } from './map-event-info.component';\nimport { MapWidgetConfigComponent } from './map-widget-config.component';\nimport { MapWidgetComponent } from './map-widget.component';\n\n@NgModule({\n declarations: [MapWidgetComponent, MapWidgetConfigComponent, MapEventInfoComponent],\n imports: [\n NgCommonModule,\n NgFormsModule,\n CommonModule,\n FormsModule,\n MapModule,\n RouterModule,\n TooltipModule.forRoot()\n ],\n exports: [MapWidgetComponent, MapWidgetConfigComponent, MapEventInfoComponent]\n})\nexport class MapWidgetModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i3","i1","i2","i4","i5","i6","i7.MapEventInfoComponent","NgCommonModule","NgFormsModule","CommonModule","FormsModule"],"mappings":"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"}
|
|
@@ -15,7 +15,8 @@ import * as i7 from 'ngx-bootstrap/tooltip';
|
|
|
15
15
|
import { TooltipModule } from 'ngx-bootstrap/tooltip';
|
|
16
16
|
import { filter, takeUntil } from 'rxjs/operators';
|
|
17
17
|
import { Subject } from 'rxjs';
|
|
18
|
-
import * as
|
|
18
|
+
import * as i2$2 from '@c8y/ngx-components/context-dashboard';
|
|
19
|
+
import * as i6$1 from '@angular/router';
|
|
19
20
|
import { RouterModule } from '@angular/router';
|
|
20
21
|
|
|
21
22
|
class MapEventInfoComponent {
|
|
@@ -204,12 +205,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImpor
|
|
|
204
205
|
}] } });
|
|
205
206
|
|
|
206
207
|
class MapWidgetComponent {
|
|
207
|
-
constructor(dashboardChild) {
|
|
208
|
+
constructor(dashboardChild, dashboardContextComponent, inventory) {
|
|
209
|
+
this.dashboardContextComponent = dashboardContextComponent;
|
|
210
|
+
this.inventory = inventory;
|
|
208
211
|
this.mapConfig = { center: [0, 0] };
|
|
209
212
|
this.destroy$ = new Subject();
|
|
210
213
|
this.listenToWidgetResizeEvent(dashboardChild);
|
|
211
214
|
}
|
|
212
|
-
ngOnInit() {
|
|
215
|
+
async ngOnInit() {
|
|
216
|
+
if (this.dashboardContextComponent?.dashboard?.deviceType && !this.config.device) {
|
|
217
|
+
const context = this.dashboardContextComponent.context;
|
|
218
|
+
if (context?.id) {
|
|
219
|
+
const { id } = context;
|
|
220
|
+
this.config.device = (await this.inventory.detail(id)).data;
|
|
221
|
+
}
|
|
222
|
+
}
|
|
213
223
|
if (this.config.device) {
|
|
214
224
|
this.rootNode = this.config.device;
|
|
215
225
|
}
|
|
@@ -244,12 +254,14 @@ class MapWidgetComponent {
|
|
|
244
254
|
});
|
|
245
255
|
}
|
|
246
256
|
}
|
|
247
|
-
MapWidgetComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: MapWidgetComponent, deps: [{ token: i2$1.DashboardChildComponent }], target: i0.ɵɵFactoryTarget.Component });
|
|
248
|
-
MapWidgetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: MapWidgetComponent, selector: "c8y-map-widget", viewQueries: [{ propertyName: "clusterMap", first: true, predicate: ClusterMapComponent, descendants: true }], ngImport: i0, template: "<c8y-map-status\n [clusterMap]=\"mapWidget\"\n [(config)]=\"mapConfig\"\n (onUnfollow)=\"stopFollow()\"\n></c8y-map-status>\n<c8y-cluster-map #mapWidget [rootNode]=\"rootNode\" [config]=\"mapConfig\">\n <div *c8yMapPopup=\"let context\" class=\"map-marker\">\n <a class=\"text-truncate deviceLink text-12\" routerLink=\"/device/{{ context.id }}\">\n <strong>{{ context.name }}</strong>\n </a>\n <c8y-map-event-info [asset]=\"context\">\n <button\n type=\"button\"\n class=\"btn btn-default btn-xs btn-block m-t-8\"\n (click)=\"startFollow(context)\"\n [title]=\"'Activate realtime on this asset and follow it if it moves' | translate\"\n *ngIf=\"!mapConfig.follow\"\n translate\n >\n Follow\n </button>\n <button\n type=\"button\"\n class=\"btn btn-default btn-xs btn-block m-t-8\"\n (click)=\"stopFollow()\"\n [title]=\"'Stop following this asset.' | translate\"\n *ngIf=\"mapConfig.follow\"\n translate\n >\n Unfollow\n </button>\n </c8y-map-event-info>\n </div>\n</c8y-cluster-map>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "component", type: i1$1.MapStatusComponent, selector: "c8y-map-status", inputs: ["config", "clusterMap"], outputs: ["configChange", "onUnfollow"] }, { kind: "component", type: i1$1.ClusterMapComponent, selector: "c8y-cluster-map", inputs: ["config", "rootNode", "asset", "showClusterColor"], outputs: ["mapChange"] }, { kind: "directive", type: i1$1.MapPopupDirective, selector: "[c8yMapPopup]" }, { kind: "directive", type:
|
|
257
|
+
MapWidgetComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: MapWidgetComponent, deps: [{ token: i2$1.DashboardChildComponent }, { token: i2$2.ContextDashboardComponent, optional: true }, { token: i1.InventoryService }], target: i0.ɵɵFactoryTarget.Component });
|
|
258
|
+
MapWidgetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: MapWidgetComponent, selector: "c8y-map-widget", viewQueries: [{ propertyName: "clusterMap", first: true, predicate: ClusterMapComponent, descendants: true }], ngImport: i0, template: "<c8y-map-status\n [clusterMap]=\"mapWidget\"\n [(config)]=\"mapConfig\"\n (onUnfollow)=\"stopFollow()\"\n></c8y-map-status>\n<c8y-cluster-map #mapWidget [rootNode]=\"rootNode\" [config]=\"mapConfig\">\n <div *c8yMapPopup=\"let context\" class=\"map-marker\">\n <a class=\"text-truncate deviceLink text-12\" routerLink=\"/device/{{ context.id }}\">\n <strong>{{ context.name }}</strong>\n </a>\n <c8y-map-event-info [asset]=\"context\">\n <button\n type=\"button\"\n class=\"btn btn-default btn-xs btn-block m-t-8\"\n (click)=\"startFollow(context)\"\n [title]=\"'Activate realtime on this asset and follow it if it moves' | translate\"\n *ngIf=\"!mapConfig.follow\"\n translate\n >\n Follow\n </button>\n <button\n type=\"button\"\n class=\"btn btn-default btn-xs btn-block m-t-8\"\n (click)=\"stopFollow()\"\n [title]=\"'Stop following this asset.' | translate\"\n *ngIf=\"mapConfig.follow\"\n translate\n >\n Unfollow\n </button>\n </c8y-map-event-info>\n </div>\n</c8y-cluster-map>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "component", type: i1$1.MapStatusComponent, selector: "c8y-map-status", inputs: ["config", "clusterMap"], outputs: ["configChange", "onUnfollow"] }, { kind: "component", type: i1$1.ClusterMapComponent, selector: "c8y-cluster-map", inputs: ["config", "rootNode", "asset", "showClusterColor"], outputs: ["mapChange"] }, { kind: "directive", type: i1$1.MapPopupDirective, selector: "[c8yMapPopup]" }, { kind: "directive", type: i6$1.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo", "routerLink"] }, { kind: "component", type: MapEventInfoComponent, selector: "c8y-map-event-info", inputs: ["asset"] }, { kind: "pipe", type: i2$1.C8yTranslatePipe, name: "translate" }] });
|
|
249
259
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: MapWidgetComponent, decorators: [{
|
|
250
260
|
type: Component,
|
|
251
261
|
args: [{ selector: 'c8y-map-widget', template: "<c8y-map-status\n [clusterMap]=\"mapWidget\"\n [(config)]=\"mapConfig\"\n (onUnfollow)=\"stopFollow()\"\n></c8y-map-status>\n<c8y-cluster-map #mapWidget [rootNode]=\"rootNode\" [config]=\"mapConfig\">\n <div *c8yMapPopup=\"let context\" class=\"map-marker\">\n <a class=\"text-truncate deviceLink text-12\" routerLink=\"/device/{{ context.id }}\">\n <strong>{{ context.name }}</strong>\n </a>\n <c8y-map-event-info [asset]=\"context\">\n <button\n type=\"button\"\n class=\"btn btn-default btn-xs btn-block m-t-8\"\n (click)=\"startFollow(context)\"\n [title]=\"'Activate realtime on this asset and follow it if it moves' | translate\"\n *ngIf=\"!mapConfig.follow\"\n translate\n >\n Follow\n </button>\n <button\n type=\"button\"\n class=\"btn btn-default btn-xs btn-block m-t-8\"\n (click)=\"stopFollow()\"\n [title]=\"'Stop following this asset.' | translate\"\n *ngIf=\"mapConfig.follow\"\n translate\n >\n Unfollow\n </button>\n </c8y-map-event-info>\n </div>\n</c8y-cluster-map>\n" }]
|
|
252
|
-
}], ctorParameters: function () { return [{ type: i2$1.DashboardChildComponent }
|
|
262
|
+
}], ctorParameters: function () { return [{ type: i2$1.DashboardChildComponent }, { type: i2$2.ContextDashboardComponent, decorators: [{
|
|
263
|
+
type: Optional
|
|
264
|
+
}] }, { type: i1.InventoryService }]; }, propDecorators: { clusterMap: [{
|
|
253
265
|
type: ViewChild,
|
|
254
266
|
args: [ClusterMapComponent]
|
|
255
267
|
}] } });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"c8y-ngx-components-widgets-implementations-map.mjs","sources":["../../widgets/implementations/map/map-event-info.component.ts","../../widgets/implementations/map/map-event-info.component.html","../../widgets/implementations/map/map-widget-config.component.ts","../../widgets/implementations/map/map-widget-config.component.html","../../widgets/implementations/map/map-widget.component.ts","../../widgets/implementations/map/map-widget.component.html","../../widgets/implementations/map/map-widget.module.ts","../../widgets/implementations/map/c8y-ngx-components-widgets-implementations-map.ts"],"sourcesContent":["import { Component, Input, OnChanges } from '@angular/core';\nimport { EventService, IEvent, IManagedObject } from '@c8y/client';\n\n@Component({\n selector: 'c8y-map-event-info',\n templateUrl: './map-event-info.component.html'\n})\nexport class MapEventInfoComponent implements OnChanges {\n @Input()\n asset: IManagedObject;\n\n loading = true;\n\n event: IEvent;\n\n constructor(private eventService: EventService) {}\n\n async ngOnChanges() {\n this.loading = true;\n const { data } = await this.eventService.list({\n dateFrom: '1970-01-01',\n dateTo: new Date(Date.now()).toISOString(),\n fragmentType: 'c8y_Position',\n pageSize: 1,\n source: this.asset.id\n });\n this.event = data[0];\n this.loading = false;\n }\n}\n","<div class=\"text-muted text-10 p-t-4 p-b-4\">\n <span translate>Last position update:</span>\n <br />\n <c8y-loading *ngIf=\"loading\"></c8y-loading>\n <ng-container *ngIf=\"!loading\">\n <i *ngIf=\"!event\" translate>No information found</i>\n <ng-container *ngIf=\"event\">\n <i>{{ event.time | c8yDate }}</i>\n <ng-content></ng-content>\n </ng-container>\n </ng-container>\n</div>\n","import {\n AfterViewInit,\n Component,\n Inject,\n Input,\n OnChanges,\n OnInit,\n Optional,\n SimpleChanges,\n ViewChild\n} from '@angular/core';\nimport { ControlContainer, NgForm } from '@angular/forms';\nimport { AlertService, gettext } from '@c8y/ngx-components';\nimport { IconSelectorService } from '@c8y/ngx-components/icon-selector';\nimport {\n ClusterMapConfig,\n defaultMapConfig,\n MapComponent,\n MapDefaultConfig,\n MapService,\n MAP_DEFAULT_CONFIG,\n PositionManagedObject\n} from '@c8y/ngx-components/map';\nimport { TranslateService } from '@ngx-translate/core';\nimport type L from 'leaflet';\nimport { MapWidgetConfig, RefreshOptions } from './map-widget.model';\n\n@Component({\n selector: 'c8y-map-widget-config',\n templateUrl: './map-widget-config.component.html',\n viewProviders: [{ provide: ControlContainer, useExisting: NgForm }]\n})\nexport class MapWidgetConfigComponent implements OnInit, AfterViewInit, OnChanges {\n @Input() config: MapWidgetConfig = {\n mapConfig: undefined\n };\n\n formConfig: ClusterMapConfig;\n\n canAutoCenter = true;\n isPositionedDevice = false;\n assets: PositionManagedObject[];\n refreshOptions: RefreshOptions = 'none';\n\n private leaflet: typeof L;\n private centerIcon: L.Marker;\n\n @ViewChild(MapComponent)\n private previewMap: MapComponent;\n\n constructor(\n private mapService: MapService,\n private alertService: AlertService,\n private translateService: TranslateService,\n @Optional() @Inject(MAP_DEFAULT_CONFIG) private defaultConfig: MapDefaultConfig,\n private iconSelector: IconSelectorService\n ) {\n if (!this.defaultConfig) {\n this.defaultConfig = defaultMapConfig;\n }\n this.formConfig = {\n zoomLevel: this.defaultConfig.zoomLevel,\n center: this.defaultConfig.center\n };\n }\n\n async ngOnInit() {\n if (!this.config.mapConfig) {\n this.config.mapConfig = this.formConfig;\n }\n this.formConfig = {\n ...this.formConfig,\n ...this.config.mapConfig,\n disablePan: false\n };\n await this.updateAsset();\n }\n\n async ngOnChanges(changes: SimpleChanges) {\n if (\n changes.config.currentValue !== changes.config.previousValue &&\n !changes.config.firstChange\n ) {\n await this.updateAsset();\n }\n }\n\n async ngAfterViewInit() {\n this.leaflet = await this.mapService.getLeaflet();\n this.addCenterIcon(this.formConfig.center[0], this.formConfig.center[1]);\n }\n\n onBeforeSave() {\n this.config.mapConfig = this.formConfig;\n return true;\n }\n\n zoomLevelChanged() {\n this.config.mapConfig = {\n ...this.config.mapConfig,\n zoomLevel: this.formConfig.zoomLevel\n };\n }\n\n changeCenter() {\n this.config.mapConfig = { ...this.formConfig, center: this.formConfig.center };\n }\n\n onPreviewZoomStart() {\n this.centerIcon.remove();\n }\n\n onPreviewZoomEnd(event: L.LeafletEvent) {\n this.formConfig.zoomLevel = Math.floor(event.target.getZoom());\n }\n\n onPreviewMapMove(event: L.LeafletEvent) {\n if (this.centerIcon) {\n this.centerIcon.remove();\n }\n const { lat, lng } = event.target.getBounds().getCenter();\n this.addCenterIcon(lat, lng);\n this.formConfig.center = [lat, lng];\n }\n\n useOwnPosition() {\n navigator.geolocation.getCurrentPosition(({ coords }) => {\n this.formConfig.center = [coords.latitude, coords.longitude];\n this.changeCenter();\n });\n }\n\n centerToAsset() {\n this.formConfig.center = [\n this.config.device.c8y_Position.lat,\n this.config.device.c8y_Position.lng\n ];\n this.changeCenter();\n }\n\n updateRefreshOptions() {\n this.formConfig.realtime = this.refreshOptions === 'realtime';\n this.formConfig.refreshInterval = this.refreshOptions === 'interval' ? 5000 : null;\n if (!this.formConfig.realtime) {\n this.formConfig.follow = false;\n }\n }\n\n async openIconSelector() {\n try {\n const icon = await this.iconSelector.selectIcon({\n currentSelection: this.formConfig.icon\n });\n this.formConfig.icon = icon;\n this.config.mapConfig = { ...this.config.mapConfig, icon };\n } catch {\n // nothing to do\n }\n }\n\n removeIcon() {\n this.formConfig.icon = undefined;\n this.config.mapConfig.icon = undefined;\n this.previewMap.refreshMarkers();\n }\n\n private async updateAsset() {\n this.canAutoCenter = this.mapService.hasPosition(this.config.device);\n this.isPositionedDevice = this.mapService.isPositionedDevice(this.config.device);\n this.refreshOptions = this.getRefreshOptions();\n this.updateRefreshOptions();\n\n const { data, paging } = await this.mapService.getAllPositionsMOs(this.config.device);\n this.assets = data;\n if (paging.totalPages > 1) {\n this.alertService.danger(\n gettext(\n 'It might be possible that assets are not shown in the preview, as the current selection has more than 500 assets and the preview only supports a maximum of 500 assets.'\n )\n );\n }\n }\n\n private getRefreshOptions(): RefreshOptions {\n let option: RefreshOptions = 'none';\n if (this.formConfig.realtime) {\n option = 'realtime';\n } else if (this.formConfig.refreshInterval) {\n option = 'interval';\n }\n const isNotAllowedOption =\n (!this.isPositionedDevice && option === 'realtime') ||\n (this.isPositionedDevice && option === 'interval');\n option = isNotAllowedOption ? 'none' : option;\n return option;\n }\n\n private addCenterIcon(lat: number, lng: number) {\n const titleText = this.translateService.instant(gettext('Map center'));\n const icon = this.leaflet.divIcon({\n html: `<i style=\"pointer-events: none\" class=\"c8y-map-marker-icon text-muted dlt-c8y-icon-target icon-2x\" title=\"${titleText}\" />`\n });\n this.centerIcon = this.leaflet.marker([lat, lng], {\n icon\n });\n this.previewMap.addMarkerToMap(this.centerIcon);\n }\n}\n","<div class=\"row p-t-16\">\n <div class=\"col-xs-2\">\n <c8y-form-group class=\"m-b-0 text-center form-group-sm\">\n <label translate>Marker icon</label>\n <div class=\"icon-32 text-muted text-center p-b-8\" *ngIf=\"formConfig.icon\">\n <i [c8yIcon]=\"formConfig.icon\"></i>\n </div>\n <div class=\"icon-32 text-muted text-center\" *ngIf=\"!formConfig.icon\">\n <span class=\"d-block text-12 p-b-16 p-t-16\">\n <em>{{ 'Auto' | translate }}</em>\n </span>\n </div>\n <button\n type=\"button\"\n title=\"{{ 'Select icon to override default behavior' | translate }}\"\n class=\"btn btn-default btn-xs btn-block\"\n *ngIf=\"!formConfig.icon\"\n (click)=\"openIconSelector()\"\n >\n {{ 'Select' | translate }}\n </button>\n <button\n type=\"button\"\n title=\"{{ 'Change icon' | translate }}\"\n class=\"btn btn-default btn-xs btn-block\"\n *ngIf=\"formConfig.icon\"\n (click)=\"openIconSelector()\"\n >\n {{ 'Change' | translate }}\n </button>\n <button\n type=\"button\"\n title=\"{{ 'Remove icon and use default behavior' | translate }}\"\n class=\"btn btn-danger btn-xs btn-block\"\n *ngIf=\"formConfig.icon\"\n (click)=\"removeIcon()\"\n >\n {{ 'Remove' | translate }}\n </button>\n </c8y-form-group>\n </div>\n <div class=\"col-xs-10\">\n <div class=\"row tight-grid separator-bottom\">\n <div class=\"col-xs-4\">\n <div class=\"form-group form-group-sm\">\n <label translate>Zoom level</label>\n <c8y-range\n #range\n [(ngModel)]=\"formConfig.zoomLevel\"\n name=\"zoomLevel\"\n class=\"label-bottom\"\n (change)=\"zoomLevelChanged()\"\n >\n <input type=\"range\" min=\"2\" max=\"18\" step=\"1\" />\n </c8y-range>\n </div>\n </div>\n <div class=\"col-xs-8\">\n <c8y-form-group class=\"form-group-sm m-b-8\">\n <label translate>Center bound</label>\n <div class=\"input-group input-group-sm\">\n <input\n class=\"form-control\"\n type=\"number\"\n required\n placeholder=\"lat\"\n [(ngModel)]=\"formConfig.center[0]\"\n (change)=\"changeCenter()\"\n name=\"centerLat\"\n />\n <input\n class=\"form-control\"\n type=\"number\"\n required\n placeholder=\"lng\"\n [(ngModel)]=\"formConfig.center[1]\"\n (change)=\"changeCenter()\"\n name=\"centerLng\"\n />\n <div class=\"input-group-btn\">\n <button\n class=\"btn btn-default\"\n (click)=\"useOwnPosition()\"\n [attr.aria-label]=\"'Use your location' | translate\"\n [tooltip]=\"'Use your location' | translate\"\n container=\"body\"\n placement=\"top\"\n >\n <i c8yIcon=\"location-arrow\" class=\"icon-14\"></i>\n </button>\n </div>\n <div class=\"input-group-btn\" *ngIf=\"canAutoCenter\">\n <button\n class=\"btn btn-default\"\n [attr.aria-label]=\"'Use selected asset location' | translate\"\n [tooltip]=\"'Use selected asset location' | translate\"\n placement=\"top\"\n container=\"body\"\n (click)=\"centerToAsset()\"\n >\n <i c8yIcon=\"location\" class=\"icon-14\"></i>\n </button>\n </div>\n </div>\n <div class=\"help-block\">\n {{ 'Drag the map to the desired position' | translate }}\n </div>\n </c8y-form-group>\n </div>\n </div>\n\n <div class=\"row tight-grid p-t-8 d-flex a-i-center\">\n <div class=\"col-xs-4\">\n <c8y-form-group class=\"m-b-0 form-group-sm\">\n <div class=\"c8y-select-wrapper\">\n <select\n id=\"selectExample\"\n class=\"form-control\"\n [(ngModel)]=\"refreshOptions\"\n name=\"refreshSelection\"\n title=\"{{ 'Refresh options' | translate }}\"\n (change)=\"updateRefreshOptions()\"\n >\n <option value=\"none\" [title]=\"'Only refreshing on interaction' | translate\" translate>\n No automatic refresh\n </option>\n <option\n value=\"interval\"\n *ngIf=\"!isPositionedDevice\"\n [title]=\"'Refreshing after a give interval and on interaction' | translate\"\n translate\n >\n Use refresh interval\n </option>\n <option\n value=\"realtime\"\n *ngIf=\"isPositionedDevice\"\n [title]=\"'Live updating on each position change' | translate\"\n translate\n >\n Realtime\n </option>\n </select>\n </div>\n </c8y-form-group>\n </div>\n <div class=\"col-xs-8\">\n <div class=\"form-group form-group-sm m-b-0\">\n <c8y-range\n #intervalRange\n [(ngModel)]=\"formConfig.refreshInterval\"\n name=\"refreshInterval\"\n class=\"label-bottom\"\n *ngIf=\"refreshOptions === 'interval'\"\n >\n <ng-template #c8yRangeValue>\n <div>\n <span\n translate\n [translateParams]=\"{ interval: intervalRange.value * 0.001 }\"\n ngNonBindable\n >\n {{ interval }}s\n </span>\n </div>\n </ng-template>\n <input type=\"range\" min=\"5000\" max=\"100000\" step=\"1000\" />\n </c8y-range>\n </div>\n <label class=\"c8y-switch c8y-switch--inline\" *ngIf=\"refreshOptions === 'realtime'\">\n <input type=\"checkbox\" [(ngModel)]=\"formConfig.follow\" name=\"follow\" />\n <span></span>\n <span class=\"text-12\" translate>Follow selected</span>\n </label>\n </div>\n </div>\n </div>\n</div>\n\n<div class=\"p-t-16 p-b-16\" style=\"width: 100%; height: 240px\">\n <c8y-map\n [assets]=\"assets\"\n (onMove)=\"onPreviewMapMove($event)\"\n (onZoomStart)=\"onPreviewZoomStart()\"\n (onZoomEnd)=\"onPreviewZoomEnd($event)\"\n [config]=\"config.mapConfig\"\n ></c8y-map>\n</div>\n","import { Component, OnDestroy, OnInit, ViewChild } from '@angular/core';\nimport { IManagedObject } from '@c8y/client';\nimport { ClusterMapComponent, ClusterMapConfig } from '@c8y/ngx-components/map';\nimport { DashboardChildComponent } from '@c8y/ngx-components';\nimport { MapWidgetConfig } from './map-widget.model';\nimport { filter, takeUntil } from 'rxjs/operators';\nimport { Subject } from 'rxjs';\n\n@Component({\n selector: 'c8y-map-widget',\n templateUrl: './map-widget.component.html'\n})\nexport class MapWidgetComponent implements OnInit, OnDestroy {\n mapConfig: ClusterMapConfig = { center: [0, 0] };\n rootNode: IManagedObject;\n config: MapWidgetConfig;\n\n @ViewChild(ClusterMapComponent)\n clusterMap: ClusterMapComponent;\n\n private savedNode: IManagedObject;\n private destroy$ = new Subject();\n\n constructor(dashboardChild: DashboardChildComponent) {\n this.listenToWidgetResizeEvent(dashboardChild);\n }\n\n ngOnInit(): void {\n if (this.config.device) {\n this.rootNode = this.config.device;\n }\n this.mapConfig = { ...this.config.mapConfig };\n this.savedNode = this.rootNode;\n }\n\n startFollow(context) {\n if (context.id !== this.rootNode?.id) {\n this.rootNode = context;\n }\n this.mapConfig = {\n ...this.config.mapConfig,\n follow: true,\n realtime: true\n };\n }\n\n stopFollow() {\n this.mapConfig = {\n ...this.config.mapConfig,\n follow: false\n };\n this.rootNode = this.savedNode;\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n }\n\n private listenToWidgetResizeEvent(dashboardChild: DashboardChildComponent) {\n dashboardChild.changeEnd\n .pipe(\n filter(child => child.lastChange === 'resize'),\n takeUntil(this.destroy$)\n )\n .subscribe(() => {\n this.clusterMap.reset();\n });\n }\n}\n","<c8y-map-status\n [clusterMap]=\"mapWidget\"\n [(config)]=\"mapConfig\"\n (onUnfollow)=\"stopFollow()\"\n></c8y-map-status>\n<c8y-cluster-map #mapWidget [rootNode]=\"rootNode\" [config]=\"mapConfig\">\n <div *c8yMapPopup=\"let context\" class=\"map-marker\">\n <a class=\"text-truncate deviceLink text-12\" routerLink=\"/device/{{ context.id }}\">\n <strong>{{ context.name }}</strong>\n </a>\n <c8y-map-event-info [asset]=\"context\">\n <button\n type=\"button\"\n class=\"btn btn-default btn-xs btn-block m-t-8\"\n (click)=\"startFollow(context)\"\n [title]=\"'Activate realtime on this asset and follow it if it moves' | translate\"\n *ngIf=\"!mapConfig.follow\"\n translate\n >\n Follow\n </button>\n <button\n type=\"button\"\n class=\"btn btn-default btn-xs btn-block m-t-8\"\n (click)=\"stopFollow()\"\n [title]=\"'Stop following this asset.' | translate\"\n *ngIf=\"mapConfig.follow\"\n translate\n >\n Unfollow\n </button>\n </c8y-map-event-info>\n </div>\n</c8y-cluster-map>\n","import { CommonModule as NgCommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule as NgFormsModule } from '@angular/forms';\nimport { RouterModule } from '@angular/router';\nimport { CommonModule, FormsModule } from '@c8y/ngx-components';\nimport { TooltipModule } from 'ngx-bootstrap/tooltip';\nimport { MapModule } from '@c8y/ngx-components/map';\nimport { MapEventInfoComponent } from './map-event-info.component';\nimport { MapWidgetConfigComponent } from './map-widget-config.component';\nimport { MapWidgetComponent } from './map-widget.component';\n\n@NgModule({\n declarations: [MapWidgetComponent, MapWidgetConfigComponent, MapEventInfoComponent],\n imports: [\n NgCommonModule,\n NgFormsModule,\n CommonModule,\n FormsModule,\n MapModule,\n RouterModule,\n TooltipModule.forRoot()\n ],\n exports: [MapWidgetComponent, MapWidgetConfigComponent, MapEventInfoComponent]\n})\nexport class MapWidgetModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i3","i1","i4","i5.MapEventInfoComponent","NgCommonModule","NgFormsModule","CommonModule","FormsModule"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"c8y-ngx-components-widgets-implementations-map.mjs","sources":["../../widgets/implementations/map/map-event-info.component.ts","../../widgets/implementations/map/map-event-info.component.html","../../widgets/implementations/map/map-widget-config.component.ts","../../widgets/implementations/map/map-widget-config.component.html","../../widgets/implementations/map/map-widget.component.ts","../../widgets/implementations/map/map-widget.component.html","../../widgets/implementations/map/map-widget.module.ts","../../widgets/implementations/map/c8y-ngx-components-widgets-implementations-map.ts"],"sourcesContent":["import { Component, Input, OnChanges } from '@angular/core';\nimport { EventService, IEvent, IManagedObject } from '@c8y/client';\n\n@Component({\n selector: 'c8y-map-event-info',\n templateUrl: './map-event-info.component.html'\n})\nexport class MapEventInfoComponent implements OnChanges {\n @Input()\n asset: IManagedObject;\n\n loading = true;\n\n event: IEvent;\n\n constructor(private eventService: EventService) {}\n\n async ngOnChanges() {\n this.loading = true;\n const { data } = await this.eventService.list({\n dateFrom: '1970-01-01',\n dateTo: new Date(Date.now()).toISOString(),\n fragmentType: 'c8y_Position',\n pageSize: 1,\n source: this.asset.id\n });\n this.event = data[0];\n this.loading = false;\n }\n}\n","<div class=\"text-muted text-10 p-t-4 p-b-4\">\n <span translate>Last position update:</span>\n <br />\n <c8y-loading *ngIf=\"loading\"></c8y-loading>\n <ng-container *ngIf=\"!loading\">\n <i *ngIf=\"!event\" translate>No information found</i>\n <ng-container *ngIf=\"event\">\n <i>{{ event.time | c8yDate }}</i>\n <ng-content></ng-content>\n </ng-container>\n </ng-container>\n</div>\n","import {\n AfterViewInit,\n Component,\n Inject,\n Input,\n OnChanges,\n OnInit,\n Optional,\n SimpleChanges,\n ViewChild\n} from '@angular/core';\nimport { ControlContainer, NgForm } from '@angular/forms';\nimport { AlertService, gettext } from '@c8y/ngx-components';\nimport { IconSelectorService } from '@c8y/ngx-components/icon-selector';\nimport {\n ClusterMapConfig,\n defaultMapConfig,\n MapComponent,\n MapDefaultConfig,\n MapService,\n MAP_DEFAULT_CONFIG,\n PositionManagedObject\n} from '@c8y/ngx-components/map';\nimport { TranslateService } from '@ngx-translate/core';\nimport type L from 'leaflet';\nimport { MapWidgetConfig, RefreshOptions } from './map-widget.model';\n\n@Component({\n selector: 'c8y-map-widget-config',\n templateUrl: './map-widget-config.component.html',\n viewProviders: [{ provide: ControlContainer, useExisting: NgForm }]\n})\nexport class MapWidgetConfigComponent implements OnInit, AfterViewInit, OnChanges {\n @Input() config: MapWidgetConfig = {\n mapConfig: undefined\n };\n\n formConfig: ClusterMapConfig;\n\n canAutoCenter = true;\n isPositionedDevice = false;\n assets: PositionManagedObject[];\n refreshOptions: RefreshOptions = 'none';\n\n private leaflet: typeof L;\n private centerIcon: L.Marker;\n\n @ViewChild(MapComponent)\n private previewMap: MapComponent;\n\n constructor(\n private mapService: MapService,\n private alertService: AlertService,\n private translateService: TranslateService,\n @Optional() @Inject(MAP_DEFAULT_CONFIG) private defaultConfig: MapDefaultConfig,\n private iconSelector: IconSelectorService\n ) {\n if (!this.defaultConfig) {\n this.defaultConfig = defaultMapConfig;\n }\n this.formConfig = {\n zoomLevel: this.defaultConfig.zoomLevel,\n center: this.defaultConfig.center\n };\n }\n\n async ngOnInit() {\n if (!this.config.mapConfig) {\n this.config.mapConfig = this.formConfig;\n }\n this.formConfig = {\n ...this.formConfig,\n ...this.config.mapConfig,\n disablePan: false\n };\n await this.updateAsset();\n }\n\n async ngOnChanges(changes: SimpleChanges) {\n if (\n changes.config.currentValue !== changes.config.previousValue &&\n !changes.config.firstChange\n ) {\n await this.updateAsset();\n }\n }\n\n async ngAfterViewInit() {\n this.leaflet = await this.mapService.getLeaflet();\n this.addCenterIcon(this.formConfig.center[0], this.formConfig.center[1]);\n }\n\n onBeforeSave() {\n this.config.mapConfig = this.formConfig;\n return true;\n }\n\n zoomLevelChanged() {\n this.config.mapConfig = {\n ...this.config.mapConfig,\n zoomLevel: this.formConfig.zoomLevel\n };\n }\n\n changeCenter() {\n this.config.mapConfig = { ...this.formConfig, center: this.formConfig.center };\n }\n\n onPreviewZoomStart() {\n this.centerIcon.remove();\n }\n\n onPreviewZoomEnd(event: L.LeafletEvent) {\n this.formConfig.zoomLevel = Math.floor(event.target.getZoom());\n }\n\n onPreviewMapMove(event: L.LeafletEvent) {\n if (this.centerIcon) {\n this.centerIcon.remove();\n }\n const { lat, lng } = event.target.getBounds().getCenter();\n this.addCenterIcon(lat, lng);\n this.formConfig.center = [lat, lng];\n }\n\n useOwnPosition() {\n navigator.geolocation.getCurrentPosition(({ coords }) => {\n this.formConfig.center = [coords.latitude, coords.longitude];\n this.changeCenter();\n });\n }\n\n centerToAsset() {\n this.formConfig.center = [\n this.config.device.c8y_Position.lat,\n this.config.device.c8y_Position.lng\n ];\n this.changeCenter();\n }\n\n updateRefreshOptions() {\n this.formConfig.realtime = this.refreshOptions === 'realtime';\n this.formConfig.refreshInterval = this.refreshOptions === 'interval' ? 5000 : null;\n if (!this.formConfig.realtime) {\n this.formConfig.follow = false;\n }\n }\n\n async openIconSelector() {\n try {\n const icon = await this.iconSelector.selectIcon({\n currentSelection: this.formConfig.icon\n });\n this.formConfig.icon = icon;\n this.config.mapConfig = { ...this.config.mapConfig, icon };\n } catch {\n // nothing to do\n }\n }\n\n removeIcon() {\n this.formConfig.icon = undefined;\n this.config.mapConfig.icon = undefined;\n this.previewMap.refreshMarkers();\n }\n\n private async updateAsset() {\n this.canAutoCenter = this.mapService.hasPosition(this.config.device);\n this.isPositionedDevice = this.mapService.isPositionedDevice(this.config.device);\n this.refreshOptions = this.getRefreshOptions();\n this.updateRefreshOptions();\n\n const { data, paging } = await this.mapService.getAllPositionsMOs(this.config.device);\n this.assets = data;\n if (paging.totalPages > 1) {\n this.alertService.danger(\n gettext(\n 'It might be possible that assets are not shown in the preview, as the current selection has more than 500 assets and the preview only supports a maximum of 500 assets.'\n )\n );\n }\n }\n\n private getRefreshOptions(): RefreshOptions {\n let option: RefreshOptions = 'none';\n if (this.formConfig.realtime) {\n option = 'realtime';\n } else if (this.formConfig.refreshInterval) {\n option = 'interval';\n }\n const isNotAllowedOption =\n (!this.isPositionedDevice && option === 'realtime') ||\n (this.isPositionedDevice && option === 'interval');\n option = isNotAllowedOption ? 'none' : option;\n return option;\n }\n\n private addCenterIcon(lat: number, lng: number) {\n const titleText = this.translateService.instant(gettext('Map center'));\n const icon = this.leaflet.divIcon({\n html: `<i style=\"pointer-events: none\" class=\"c8y-map-marker-icon text-muted dlt-c8y-icon-target icon-2x\" title=\"${titleText}\" />`\n });\n this.centerIcon = this.leaflet.marker([lat, lng], {\n icon\n });\n this.previewMap.addMarkerToMap(this.centerIcon);\n }\n}\n","<div class=\"row p-t-16\">\n <div class=\"col-xs-2\">\n <c8y-form-group class=\"m-b-0 text-center form-group-sm\">\n <label translate>Marker icon</label>\n <div class=\"icon-32 text-muted text-center p-b-8\" *ngIf=\"formConfig.icon\">\n <i [c8yIcon]=\"formConfig.icon\"></i>\n </div>\n <div class=\"icon-32 text-muted text-center\" *ngIf=\"!formConfig.icon\">\n <span class=\"d-block text-12 p-b-16 p-t-16\">\n <em>{{ 'Auto' | translate }}</em>\n </span>\n </div>\n <button\n type=\"button\"\n title=\"{{ 'Select icon to override default behavior' | translate }}\"\n class=\"btn btn-default btn-xs btn-block\"\n *ngIf=\"!formConfig.icon\"\n (click)=\"openIconSelector()\"\n >\n {{ 'Select' | translate }}\n </button>\n <button\n type=\"button\"\n title=\"{{ 'Change icon' | translate }}\"\n class=\"btn btn-default btn-xs btn-block\"\n *ngIf=\"formConfig.icon\"\n (click)=\"openIconSelector()\"\n >\n {{ 'Change' | translate }}\n </button>\n <button\n type=\"button\"\n title=\"{{ 'Remove icon and use default behavior' | translate }}\"\n class=\"btn btn-danger btn-xs btn-block\"\n *ngIf=\"formConfig.icon\"\n (click)=\"removeIcon()\"\n >\n {{ 'Remove' | translate }}\n </button>\n </c8y-form-group>\n </div>\n <div class=\"col-xs-10\">\n <div class=\"row tight-grid separator-bottom\">\n <div class=\"col-xs-4\">\n <div class=\"form-group form-group-sm\">\n <label translate>Zoom level</label>\n <c8y-range\n #range\n [(ngModel)]=\"formConfig.zoomLevel\"\n name=\"zoomLevel\"\n class=\"label-bottom\"\n (change)=\"zoomLevelChanged()\"\n >\n <input type=\"range\" min=\"2\" max=\"18\" step=\"1\" />\n </c8y-range>\n </div>\n </div>\n <div class=\"col-xs-8\">\n <c8y-form-group class=\"form-group-sm m-b-8\">\n <label translate>Center bound</label>\n <div class=\"input-group input-group-sm\">\n <input\n class=\"form-control\"\n type=\"number\"\n required\n placeholder=\"lat\"\n [(ngModel)]=\"formConfig.center[0]\"\n (change)=\"changeCenter()\"\n name=\"centerLat\"\n />\n <input\n class=\"form-control\"\n type=\"number\"\n required\n placeholder=\"lng\"\n [(ngModel)]=\"formConfig.center[1]\"\n (change)=\"changeCenter()\"\n name=\"centerLng\"\n />\n <div class=\"input-group-btn\">\n <button\n class=\"btn btn-default\"\n (click)=\"useOwnPosition()\"\n [attr.aria-label]=\"'Use your location' | translate\"\n [tooltip]=\"'Use your location' | translate\"\n container=\"body\"\n placement=\"top\"\n >\n <i c8yIcon=\"location-arrow\" class=\"icon-14\"></i>\n </button>\n </div>\n <div class=\"input-group-btn\" *ngIf=\"canAutoCenter\">\n <button\n class=\"btn btn-default\"\n [attr.aria-label]=\"'Use selected asset location' | translate\"\n [tooltip]=\"'Use selected asset location' | translate\"\n placement=\"top\"\n container=\"body\"\n (click)=\"centerToAsset()\"\n >\n <i c8yIcon=\"location\" class=\"icon-14\"></i>\n </button>\n </div>\n </div>\n <div class=\"help-block\">\n {{ 'Drag the map to the desired position' | translate }}\n </div>\n </c8y-form-group>\n </div>\n </div>\n\n <div class=\"row tight-grid p-t-8 d-flex a-i-center\">\n <div class=\"col-xs-4\">\n <c8y-form-group class=\"m-b-0 form-group-sm\">\n <div class=\"c8y-select-wrapper\">\n <select\n id=\"selectExample\"\n class=\"form-control\"\n [(ngModel)]=\"refreshOptions\"\n name=\"refreshSelection\"\n title=\"{{ 'Refresh options' | translate }}\"\n (change)=\"updateRefreshOptions()\"\n >\n <option value=\"none\" [title]=\"'Only refreshing on interaction' | translate\" translate>\n No automatic refresh\n </option>\n <option\n value=\"interval\"\n *ngIf=\"!isPositionedDevice\"\n [title]=\"'Refreshing after a give interval and on interaction' | translate\"\n translate\n >\n Use refresh interval\n </option>\n <option\n value=\"realtime\"\n *ngIf=\"isPositionedDevice\"\n [title]=\"'Live updating on each position change' | translate\"\n translate\n >\n Realtime\n </option>\n </select>\n </div>\n </c8y-form-group>\n </div>\n <div class=\"col-xs-8\">\n <div class=\"form-group form-group-sm m-b-0\">\n <c8y-range\n #intervalRange\n [(ngModel)]=\"formConfig.refreshInterval\"\n name=\"refreshInterval\"\n class=\"label-bottom\"\n *ngIf=\"refreshOptions === 'interval'\"\n >\n <ng-template #c8yRangeValue>\n <div>\n <span\n translate\n [translateParams]=\"{ interval: intervalRange.value * 0.001 }\"\n ngNonBindable\n >\n {{ interval }}s\n </span>\n </div>\n </ng-template>\n <input type=\"range\" min=\"5000\" max=\"100000\" step=\"1000\" />\n </c8y-range>\n </div>\n <label class=\"c8y-switch c8y-switch--inline\" *ngIf=\"refreshOptions === 'realtime'\">\n <input type=\"checkbox\" [(ngModel)]=\"formConfig.follow\" name=\"follow\" />\n <span></span>\n <span class=\"text-12\" translate>Follow selected</span>\n </label>\n </div>\n </div>\n </div>\n</div>\n\n<div class=\"p-t-16 p-b-16\" style=\"width: 100%; height: 240px\">\n <c8y-map\n [assets]=\"assets\"\n (onMove)=\"onPreviewMapMove($event)\"\n (onZoomStart)=\"onPreviewZoomStart()\"\n (onZoomEnd)=\"onPreviewZoomEnd($event)\"\n [config]=\"config.mapConfig\"\n ></c8y-map>\n</div>\n","import { Component, OnDestroy, OnInit, ViewChild, Optional } from '@angular/core';\nimport { IManagedObject, InventoryService } from '@c8y/client';\nimport { ClusterMapComponent, ClusterMapConfig } from '@c8y/ngx-components/map';\nimport { DashboardChildComponent } from '@c8y/ngx-components';\nimport { MapWidgetConfig } from './map-widget.model';\nimport { filter, takeUntil } from 'rxjs/operators';\nimport { Subject } from 'rxjs';\nimport { ContextDashboardComponent } from '@c8y/ngx-components/context-dashboard';\n\n@Component({\n selector: 'c8y-map-widget',\n templateUrl: './map-widget.component.html'\n})\nexport class MapWidgetComponent implements OnInit, OnDestroy {\n mapConfig: ClusterMapConfig = { center: [0, 0] };\n rootNode: IManagedObject;\n config: MapWidgetConfig;\n\n @ViewChild(ClusterMapComponent)\n clusterMap: ClusterMapComponent;\n\n private savedNode: IManagedObject;\n private destroy$ = new Subject();\n\n constructor(\n dashboardChild: DashboardChildComponent,\n @Optional() private dashboardContextComponent: ContextDashboardComponent,\n private inventory: InventoryService\n ) {\n this.listenToWidgetResizeEvent(dashboardChild);\n }\n\n async ngOnInit() {\n if (this.dashboardContextComponent?.dashboard?.deviceType && !this.config.device) {\n const context = this.dashboardContextComponent.context;\n if (context?.id) {\n const { id } = context;\n this.config.device = (await this.inventory.detail(id)).data;\n }\n }\n if (this.config.device) {\n this.rootNode = this.config.device;\n }\n this.mapConfig = { ...this.config.mapConfig };\n this.savedNode = this.rootNode;\n }\n\n startFollow(context) {\n if (context.id !== this.rootNode?.id) {\n this.rootNode = context;\n }\n this.mapConfig = {\n ...this.config.mapConfig,\n follow: true,\n realtime: true\n };\n }\n\n stopFollow() {\n this.mapConfig = {\n ...this.config.mapConfig,\n follow: false\n };\n this.rootNode = this.savedNode;\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n }\n\n private listenToWidgetResizeEvent(dashboardChild: DashboardChildComponent) {\n dashboardChild.changeEnd\n .pipe(\n filter(child => child.lastChange === 'resize'),\n takeUntil(this.destroy$)\n )\n .subscribe(() => {\n this.clusterMap.reset();\n });\n }\n}\n","<c8y-map-status\n [clusterMap]=\"mapWidget\"\n [(config)]=\"mapConfig\"\n (onUnfollow)=\"stopFollow()\"\n></c8y-map-status>\n<c8y-cluster-map #mapWidget [rootNode]=\"rootNode\" [config]=\"mapConfig\">\n <div *c8yMapPopup=\"let context\" class=\"map-marker\">\n <a class=\"text-truncate deviceLink text-12\" routerLink=\"/device/{{ context.id }}\">\n <strong>{{ context.name }}</strong>\n </a>\n <c8y-map-event-info [asset]=\"context\">\n <button\n type=\"button\"\n class=\"btn btn-default btn-xs btn-block m-t-8\"\n (click)=\"startFollow(context)\"\n [title]=\"'Activate realtime on this asset and follow it if it moves' | translate\"\n *ngIf=\"!mapConfig.follow\"\n translate\n >\n Follow\n </button>\n <button\n type=\"button\"\n class=\"btn btn-default btn-xs btn-block m-t-8\"\n (click)=\"stopFollow()\"\n [title]=\"'Stop following this asset.' | translate\"\n *ngIf=\"mapConfig.follow\"\n translate\n >\n Unfollow\n </button>\n </c8y-map-event-info>\n </div>\n</c8y-cluster-map>\n","import { CommonModule as NgCommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule as NgFormsModule } from '@angular/forms';\nimport { RouterModule } from '@angular/router';\nimport { CommonModule, FormsModule } from '@c8y/ngx-components';\nimport { TooltipModule } from 'ngx-bootstrap/tooltip';\nimport { MapModule } from '@c8y/ngx-components/map';\nimport { MapEventInfoComponent } from './map-event-info.component';\nimport { MapWidgetConfigComponent } from './map-widget-config.component';\nimport { MapWidgetComponent } from './map-widget.component';\n\n@NgModule({\n declarations: [MapWidgetComponent, MapWidgetConfigComponent, MapEventInfoComponent],\n imports: [\n NgCommonModule,\n NgFormsModule,\n CommonModule,\n FormsModule,\n MapModule,\n RouterModule,\n TooltipModule.forRoot()\n ],\n exports: [MapWidgetComponent, MapWidgetConfigComponent, MapEventInfoComponent]\n})\nexport class MapWidgetModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i3","i1","i2","i4","i5","i6","i7.MapEventInfoComponent","NgCommonModule","NgFormsModule","CommonModule","FormsModule"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@c8y/ngx-components","version":"1018.0.229","license":"Apache-2.0","author":"Cumulocity","description":"Angular modules for Cumulocity IoT applications","keywords":["Cumulocity","IoT","m2m","Angular","Components"],"peerDependencies":{"@angular/cdk":"^14.0.6","@angular/common":"^14.0.6","@angular/core":"^14.0.6","@angular/forms":"^14.0.6","@angular/platform-browser":"^14.0.6","@angular/router":"^14.0.6","@angular/upgrade":"^14.0.6","rxjs":"~6.6.3","leaflet":"^1.7.1"},"dependencies":{"@c8y/client":"1018.0.229","@ngx-translate/core":"14.0.0","@ngx-translate/http-loader":"7.0.0","@ngx-formly/core":"6.1.3","libphonenumber-js":"1.10.17","lodash-es":"^4.0.0","ngx-bootstrap":"9.0.0","three":"0.148.0","tslib":"^2.3.1","angularx-qrcode":"14.0.0","file-saver":"2.0.5","marked":"4.2.12","semver":"~7.5.2"},"module":"fesm2015/c8y-ngx-components.mjs","es2020":"fesm2020/c8y-ngx-components.mjs","esm2020":"esm2020/c8y-ngx-components.mjs","fesm2020":"fesm2020/c8y-ngx-components.mjs","fesm2015":"fesm2015/c8y-ngx-components.mjs","typings":"index.d.ts","exports":{"./locales/de.po":"./locales/de.po","./locales/en.po":"./locales/en.po","./locales/es.po":"./locales/es.po","./locales/fr.po":"./locales/fr.po","./locales/ja_JP.po":"./locales/ja_JP.po","./locales/ko.po":"./locales/ko.po","./locales/nl.po":"./locales/nl.po","./locales/pt_BR.po":"./locales/pt_BR.po","./locales/ru.po":"./locales/ru.po","./locales/zh_CN.po":"./locales/zh_CN.po","./locales/zh_TW.po":"./locales/zh_TW.po","./locales/pl.po":"./locales/pl.po","./package.json":{"default":"./package.json"},".":{"types":"./index.d.ts","esm2020":"./esm2020/c8y-ngx-components.mjs","es2020":"./fesm2020/c8y-ngx-components.mjs","es2015":"./fesm2015/c8y-ngx-components.mjs","node":"./fesm2015/c8y-ngx-components.mjs","default":"./fesm2020/c8y-ngx-components.mjs"},"./actility-device-registration":{"types":"./actility-device-registration/index.d.ts","esm2020":"./esm2020/actility-device-registration/c8y-ngx-components-actility-device-registration.mjs","es2020":"./fesm2020/c8y-ngx-components-actility-device-registration.mjs","es2015":"./fesm2015/c8y-ngx-components-actility-device-registration.mjs","node":"./fesm2015/c8y-ngx-components-actility-device-registration.mjs","default":"./fesm2020/c8y-ngx-components-actility-device-registration.mjs"},"./api":{"types":"./api/index.d.ts","esm2020":"./esm2020/api/c8y-ngx-components-api.mjs","es2020":"./fesm2020/c8y-ngx-components-api.mjs","es2015":"./fesm2015/c8y-ngx-components-api.mjs","node":"./fesm2015/c8y-ngx-components-api.mjs","default":"./fesm2020/c8y-ngx-components-api.mjs"},"./app-logs":{"types":"./app-logs/index.d.ts","esm2020":"./esm2020/app-logs/c8y-ngx-components-app-logs.mjs","es2020":"./fesm2020/c8y-ngx-components-app-logs.mjs","es2015":"./fesm2015/c8y-ngx-components-app-logs.mjs","node":"./fesm2015/c8y-ngx-components-app-logs.mjs","default":"./fesm2020/c8y-ngx-components-app-logs.mjs"},"./assets-navigator":{"types":"./assets-navigator/index.d.ts","esm2020":"./esm2020/assets-navigator/c8y-ngx-components-assets-navigator.mjs","es2020":"./fesm2020/c8y-ngx-components-assets-navigator.mjs","es2015":"./fesm2015/c8y-ngx-components-assets-navigator.mjs","node":"./fesm2015/c8y-ngx-components-assets-navigator.mjs","default":"./fesm2020/c8y-ngx-components-assets-navigator.mjs"},"./auth-configuration":{"types":"./auth-configuration/index.d.ts","esm2020":"./esm2020/auth-configuration/c8y-ngx-components-auth-configuration.mjs","es2020":"./fesm2020/c8y-ngx-components-auth-configuration.mjs","es2015":"./fesm2015/c8y-ngx-components-auth-configuration.mjs","node":"./fesm2015/c8y-ngx-components-auth-configuration.mjs","default":"./fesm2020/c8y-ngx-components-auth-configuration.mjs"},"./binary-file-download":{"types":"./binary-file-download/index.d.ts","esm2020":"./esm2020/binary-file-download/c8y-ngx-components-binary-file-download.mjs","es2020":"./fesm2020/c8y-ngx-components-binary-file-download.mjs","es2015":"./fesm2015/c8y-ngx-components-binary-file-download.mjs","node":"./fesm2015/c8y-ngx-components-binary-file-download.mjs","default":"./fesm2020/c8y-ngx-components-binary-file-download.mjs"},"./child-devices":{"types":"./child-devices/index.d.ts","esm2020":"./esm2020/child-devices/c8y-ngx-components-child-devices.mjs","es2020":"./fesm2020/c8y-ngx-components-child-devices.mjs","es2015":"./fesm2015/c8y-ngx-components-child-devices.mjs","node":"./fesm2015/c8y-ngx-components-child-devices.mjs","default":"./fesm2020/c8y-ngx-components-child-devices.mjs"},"./cockpit-config":{"types":"./cockpit-config/index.d.ts","esm2020":"./esm2020/cockpit-config/c8y-ngx-components-cockpit-config.mjs","es2020":"./fesm2020/c8y-ngx-components-cockpit-config.mjs","es2015":"./fesm2015/c8y-ngx-components-cockpit-config.mjs","node":"./fesm2015/c8y-ngx-components-cockpit-config.mjs","default":"./fesm2020/c8y-ngx-components-cockpit-config.mjs"},"./connectivity":{"types":"./connectivity/index.d.ts","esm2020":"./esm2020/connectivity/c8y-ngx-components-connectivity.mjs","es2020":"./fesm2020/c8y-ngx-components-connectivity.mjs","es2015":"./fesm2015/c8y-ngx-components-connectivity.mjs","node":"./fesm2015/c8y-ngx-components-connectivity.mjs","default":"./fesm2020/c8y-ngx-components-connectivity.mjs"},"./context-dashboard":{"types":"./context-dashboard/index.d.ts","esm2020":"./esm2020/context-dashboard/c8y-ngx-components-context-dashboard.mjs","es2020":"./fesm2020/c8y-ngx-components-context-dashboard.mjs","es2015":"./fesm2015/c8y-ngx-components-context-dashboard.mjs","node":"./fesm2015/c8y-ngx-components-context-dashboard.mjs","default":"./fesm2020/c8y-ngx-components-context-dashboard.mjs"},"./data-broker":{"types":"./data-broker/index.d.ts","esm2020":"./esm2020/data-broker/c8y-ngx-components-data-broker.mjs","es2020":"./fesm2020/c8y-ngx-components-data-broker.mjs","es2015":"./fesm2015/c8y-ngx-components-data-broker.mjs","node":"./fesm2015/c8y-ngx-components-data-broker.mjs","default":"./fesm2020/c8y-ngx-components-data-broker.mjs"},"./datapoint-library/details":{"types":"./datapoint-library/details/index.d.ts","esm2020":"./esm2020/datapoint-library/details/c8y-ngx-components-datapoint-library-details.mjs","es2020":"./fesm2020/c8y-ngx-components-datapoint-library-details.mjs","es2015":"./fesm2015/c8y-ngx-components-datapoint-library-details.mjs","node":"./fesm2015/c8y-ngx-components-datapoint-library-details.mjs","default":"./fesm2020/c8y-ngx-components-datapoint-library-details.mjs"},"./datapoint-library/list":{"types":"./datapoint-library/list/index.d.ts","esm2020":"./esm2020/datapoint-library/list/c8y-ngx-components-datapoint-library-list.mjs","es2020":"./fesm2020/c8y-ngx-components-datapoint-library-list.mjs","es2015":"./fesm2015/c8y-ngx-components-datapoint-library-list.mjs","node":"./fesm2015/c8y-ngx-components-datapoint-library-list.mjs","default":"./fesm2020/c8y-ngx-components-datapoint-library-list.mjs"},"./datapoint-library/model":{"types":"./datapoint-library/model/index.d.ts","esm2020":"./esm2020/datapoint-library/model/c8y-ngx-components-datapoint-library-model.mjs","es2020":"./fesm2020/c8y-ngx-components-datapoint-library-model.mjs","es2015":"./fesm2015/c8y-ngx-components-datapoint-library-model.mjs","node":"./fesm2015/c8y-ngx-components-datapoint-library-model.mjs","default":"./fesm2020/c8y-ngx-components-datapoint-library-model.mjs"},"./datapoint-library":{"types":"./datapoint-library/index.d.ts","esm2020":"./esm2020/datapoint-library/c8y-ngx-components-datapoint-library.mjs","es2020":"./fesm2020/c8y-ngx-components-datapoint-library.mjs","es2015":"./fesm2015/c8y-ngx-components-datapoint-library.mjs","node":"./fesm2015/c8y-ngx-components-datapoint-library.mjs","default":"./fesm2020/c8y-ngx-components-datapoint-library.mjs"},"./datapoint-library/services":{"types":"./datapoint-library/services/index.d.ts","esm2020":"./esm2020/datapoint-library/services/c8y-ngx-components-datapoint-library-services.mjs","es2020":"./fesm2020/c8y-ngx-components-datapoint-library-services.mjs","es2015":"./fesm2015/c8y-ngx-components-datapoint-library-services.mjs","node":"./fesm2015/c8y-ngx-components-datapoint-library-services.mjs","default":"./fesm2020/c8y-ngx-components-datapoint-library-services.mjs"},"./datapoint-selector":{"types":"./datapoint-selector/index.d.ts","esm2020":"./esm2020/datapoint-selector/c8y-ngx-components-datapoint-selector.mjs","es2020":"./fesm2020/c8y-ngx-components-datapoint-selector.mjs","es2015":"./fesm2015/c8y-ngx-components-datapoint-selector.mjs","node":"./fesm2015/c8y-ngx-components-datapoint-selector.mjs","default":"./fesm2020/c8y-ngx-components-datapoint-selector.mjs"},"./default-subscriptions":{"types":"./default-subscriptions/index.d.ts","esm2020":"./esm2020/default-subscriptions/c8y-ngx-components-default-subscriptions.mjs","es2020":"./fesm2020/c8y-ngx-components-default-subscriptions.mjs","es2015":"./fesm2015/c8y-ngx-components-default-subscriptions.mjs","node":"./fesm2015/c8y-ngx-components-default-subscriptions.mjs","default":"./fesm2020/c8y-ngx-components-default-subscriptions.mjs"},"./device-grid":{"types":"./device-grid/index.d.ts","esm2020":"./esm2020/device-grid/c8y-ngx-components-device-grid.mjs","es2020":"./fesm2020/c8y-ngx-components-device-grid.mjs","es2015":"./fesm2015/c8y-ngx-components-device-grid.mjs","node":"./fesm2015/c8y-ngx-components-device-grid.mjs","default":"./fesm2020/c8y-ngx-components-device-grid.mjs"},"./device-list":{"types":"./device-list/index.d.ts","esm2020":"./esm2020/device-list/c8y-ngx-components-device-list.mjs","es2020":"./fesm2020/c8y-ngx-components-device-list.mjs","es2015":"./fesm2015/c8y-ngx-components-device-list.mjs","node":"./fesm2015/c8y-ngx-components-device-list.mjs","default":"./fesm2020/c8y-ngx-components-device-list.mjs"},"./device-profile":{"types":"./device-profile/index.d.ts","esm2020":"./esm2020/device-profile/c8y-ngx-components-device-profile.mjs","es2020":"./fesm2020/c8y-ngx-components-device-profile.mjs","es2015":"./fesm2015/c8y-ngx-components-device-profile.mjs","node":"./fesm2015/c8y-ngx-components-device-profile.mjs","default":"./fesm2020/c8y-ngx-components-device-profile.mjs"},"./device-protocols":{"types":"./device-protocols/index.d.ts","esm2020":"./esm2020/device-protocols/c8y-ngx-components-device-protocols.mjs","es2020":"./fesm2020/c8y-ngx-components-device-protocols.mjs","es2015":"./fesm2015/c8y-ngx-components-device-protocols.mjs","node":"./fesm2015/c8y-ngx-components-device-protocols.mjs","default":"./fesm2020/c8y-ngx-components-device-protocols.mjs"},"./device-shell":{"types":"./device-shell/index.d.ts","esm2020":"./esm2020/device-shell/c8y-ngx-components-device-shell.mjs","es2020":"./fesm2020/c8y-ngx-components-device-shell.mjs","es2015":"./fesm2015/c8y-ngx-components-device-shell.mjs","node":"./fesm2015/c8y-ngx-components-device-shell.mjs","default":"./fesm2020/c8y-ngx-components-device-shell.mjs"},"./diagnostics":{"types":"./diagnostics/index.d.ts","esm2020":"./esm2020/diagnostics/c8y-ngx-components-diagnostics.mjs","es2020":"./fesm2020/c8y-ngx-components-diagnostics.mjs","es2015":"./fesm2015/c8y-ngx-components-diagnostics.mjs","node":"./fesm2015/c8y-ngx-components-diagnostics.mjs","default":"./fesm2020/c8y-ngx-components-diagnostics.mjs"},"./ecosystem/application-plugins":{"types":"./ecosystem/application-plugins/index.d.ts","esm2020":"./esm2020/ecosystem/application-plugins/c8y-ngx-components-ecosystem-application-plugins.mjs","es2020":"./fesm2020/c8y-ngx-components-ecosystem-application-plugins.mjs","es2015":"./fesm2015/c8y-ngx-components-ecosystem-application-plugins.mjs","node":"./fesm2015/c8y-ngx-components-ecosystem-application-plugins.mjs","default":"./fesm2020/c8y-ngx-components-ecosystem-application-plugins.mjs"},"./ecosystem/license-confirm":{"types":"./ecosystem/license-confirm/index.d.ts","esm2020":"./esm2020/ecosystem/license-confirm/c8y-ngx-components-ecosystem-license-confirm.mjs","es2020":"./fesm2020/c8y-ngx-components-ecosystem-license-confirm.mjs","es2015":"./fesm2015/c8y-ngx-components-ecosystem-license-confirm.mjs","node":"./fesm2015/c8y-ngx-components-ecosystem-license-confirm.mjs","default":"./fesm2020/c8y-ngx-components-ecosystem-license-confirm.mjs"},"./ecosystem":{"types":"./ecosystem/index.d.ts","esm2020":"./esm2020/ecosystem/c8y-ngx-components-ecosystem.mjs","es2020":"./fesm2020/c8y-ngx-components-ecosystem.mjs","es2015":"./fesm2015/c8y-ngx-components-ecosystem.mjs","node":"./fesm2015/c8y-ngx-components-ecosystem.mjs","default":"./fesm2020/c8y-ngx-components-ecosystem.mjs"},"./ecosystem/plugin-setup-stepper":{"types":"./ecosystem/plugin-setup-stepper/index.d.ts","esm2020":"./esm2020/ecosystem/plugin-setup-stepper/c8y-ngx-components-ecosystem-plugin-setup-stepper.mjs","es2020":"./fesm2020/c8y-ngx-components-ecosystem-plugin-setup-stepper.mjs","es2015":"./fesm2015/c8y-ngx-components-ecosystem-plugin-setup-stepper.mjs","node":"./fesm2015/c8y-ngx-components-ecosystem-plugin-setup-stepper.mjs","default":"./fesm2020/c8y-ngx-components-ecosystem-plugin-setup-stepper.mjs"},"./ecosystem/shared":{"types":"./ecosystem/shared/index.d.ts","esm2020":"./esm2020/ecosystem/shared/c8y-ngx-components-ecosystem-shared.mjs","es2020":"./fesm2020/c8y-ngx-components-ecosystem-shared.mjs","es2015":"./fesm2015/c8y-ngx-components-ecosystem-shared.mjs","node":"./fesm2015/c8y-ngx-components-ecosystem-shared.mjs","default":"./fesm2020/c8y-ngx-components-ecosystem-shared.mjs"},"./file-preview":{"types":"./file-preview/index.d.ts","esm2020":"./esm2020/file-preview/c8y-ngx-components-file-preview.mjs","es2020":"./fesm2020/c8y-ngx-components-file-preview.mjs","es2015":"./fesm2015/c8y-ngx-components-file-preview.mjs","node":"./fesm2015/c8y-ngx-components-file-preview.mjs","default":"./fesm2020/c8y-ngx-components-file-preview.mjs"},"./files-repository":{"types":"./files-repository/index.d.ts","esm2020":"./esm2020/files-repository/c8y-ngx-components-files-repository.mjs","es2020":"./fesm2020/c8y-ngx-components-files-repository.mjs","es2015":"./fesm2015/c8y-ngx-components-files-repository.mjs","node":"./fesm2015/c8y-ngx-components-files-repository.mjs","default":"./fesm2020/c8y-ngx-components-files-repository.mjs"},"./icon-selector/icons/arrows":{"types":"./icon-selector/icons/arrows/index.d.ts","esm2020":"./esm2020/icon-selector/icons/arrows/c8y-ngx-components-icon-selector-icons-arrows.mjs","es2020":"./fesm2020/c8y-ngx-components-icon-selector-icons-arrows.mjs","es2015":"./fesm2015/c8y-ngx-components-icon-selector-icons-arrows.mjs","node":"./fesm2015/c8y-ngx-components-icon-selector-icons-arrows.mjs","default":"./fesm2020/c8y-ngx-components-icon-selector-icons-arrows.mjs"},"./icon-selector/icons/city":{"types":"./icon-selector/icons/city/index.d.ts","esm2020":"./esm2020/icon-selector/icons/city/c8y-ngx-components-icon-selector-icons-city.mjs","es2020":"./fesm2020/c8y-ngx-components-icon-selector-icons-city.mjs","es2015":"./fesm2015/c8y-ngx-components-icon-selector-icons-city.mjs","node":"./fesm2015/c8y-ngx-components-icon-selector-icons-city.mjs","default":"./fesm2020/c8y-ngx-components-icon-selector-icons-city.mjs"},"./icon-selector/icons/data":{"types":"./icon-selector/icons/data/index.d.ts","esm2020":"./esm2020/icon-selector/icons/data/c8y-ngx-components-icon-selector-icons-data.mjs","es2020":"./fesm2020/c8y-ngx-components-icon-selector-icons-data.mjs","es2015":"./fesm2015/c8y-ngx-components-icon-selector-icons-data.mjs","node":"./fesm2015/c8y-ngx-components-icon-selector-icons-data.mjs","default":"./fesm2020/c8y-ngx-components-icon-selector-icons-data.mjs"},"./icon-selector/icons/dateAndTime":{"types":"./icon-selector/icons/dateAndTime/index.d.ts","esm2020":"./esm2020/icon-selector/icons/dateAndTime/c8y-ngx-components-icon-selector-icons-dateAndTime.mjs","es2020":"./fesm2020/c8y-ngx-components-icon-selector-icons-dateAndTime.mjs","es2015":"./fesm2015/c8y-ngx-components-icon-selector-icons-dateAndTime.mjs","node":"./fesm2015/c8y-ngx-components-icon-selector-icons-dateAndTime.mjs","default":"./fesm2020/c8y-ngx-components-icon-selector-icons-dateAndTime.mjs"},"./icon-selector/icons/devicesAndSensors":{"types":"./icon-selector/icons/devicesAndSensors/index.d.ts","esm2020":"./esm2020/icon-selector/icons/devicesAndSensors/c8y-ngx-components-icon-selector-icons-devicesAndSensors.mjs","es2020":"./fesm2020/c8y-ngx-components-icon-selector-icons-devicesAndSensors.mjs","es2015":"./fesm2015/c8y-ngx-components-icon-selector-icons-devicesAndSensors.mjs","node":"./fesm2015/c8y-ngx-components-icon-selector-icons-devicesAndSensors.mjs","default":"./fesm2020/c8y-ngx-components-icon-selector-icons-devicesAndSensors.mjs"},"./icon-selector/icons/ecommerce":{"types":"./icon-selector/icons/ecommerce/index.d.ts","esm2020":"./esm2020/icon-selector/icons/ecommerce/c8y-ngx-components-icon-selector-icons-ecommerce.mjs","es2020":"./fesm2020/c8y-ngx-components-icon-selector-icons-ecommerce.mjs","es2015":"./fesm2015/c8y-ngx-components-icon-selector-icons-ecommerce.mjs","node":"./fesm2015/c8y-ngx-components-icon-selector-icons-ecommerce.mjs","default":"./fesm2020/c8y-ngx-components-icon-selector-icons-ecommerce.mjs"},"./icon-selector/icons/editing":{"types":"./icon-selector/icons/editing/index.d.ts","esm2020":"./esm2020/icon-selector/icons/editing/c8y-ngx-components-icon-selector-icons-editing.mjs","es2020":"./fesm2020/c8y-ngx-components-icon-selector-icons-editing.mjs","es2015":"./fesm2015/c8y-ngx-components-icon-selector-icons-editing.mjs","node":"./fesm2015/c8y-ngx-components-icon-selector-icons-editing.mjs","default":"./fesm2020/c8y-ngx-components-icon-selector-icons-editing.mjs"},"./icon-selector/icons/filesAndFolders":{"types":"./icon-selector/icons/filesAndFolders/index.d.ts","esm2020":"./esm2020/icon-selector/icons/filesAndFolders/c8y-ngx-components-icon-selector-icons-filesAndFolders.mjs","es2020":"./fesm2020/c8y-ngx-components-icon-selector-icons-filesAndFolders.mjs","es2015":"./fesm2015/c8y-ngx-components-icon-selector-icons-filesAndFolders.mjs","node":"./fesm2015/c8y-ngx-components-icon-selector-icons-filesAndFolders.mjs","default":"./fesm2020/c8y-ngx-components-icon-selector-icons-filesAndFolders.mjs"},"./icon-selector/icons/finance":{"types":"./icon-selector/icons/finance/index.d.ts","esm2020":"./esm2020/icon-selector/icons/finance/c8y-ngx-components-icon-selector-icons-finance.mjs","es2020":"./fesm2020/c8y-ngx-components-icon-selector-icons-finance.mjs","es2015":"./fesm2015/c8y-ngx-components-icon-selector-icons-finance.mjs","node":"./fesm2015/c8y-ngx-components-icon-selector-icons-finance.mjs","default":"./fesm2020/c8y-ngx-components-icon-selector-icons-finance.mjs"},"./icon-selector/icons/hands":{"types":"./icon-selector/icons/hands/index.d.ts","esm2020":"./esm2020/icon-selector/icons/hands/c8y-ngx-components-icon-selector-icons-hands.mjs","es2020":"./fesm2020/c8y-ngx-components-icon-selector-icons-hands.mjs","es2015":"./fesm2015/c8y-ngx-components-icon-selector-icons-hands.mjs","node":"./fesm2015/c8y-ngx-components-icon-selector-icons-hands.mjs","default":"./fesm2020/c8y-ngx-components-icon-selector-icons-hands.mjs"},"./icon-selector/icons/location":{"types":"./icon-selector/icons/location/index.d.ts","esm2020":"./esm2020/icon-selector/icons/location/c8y-ngx-components-icon-selector-icons-location.mjs","es2020":"./fesm2020/c8y-ngx-components-icon-selector-icons-location.mjs","es2015":"./fesm2015/c8y-ngx-components-icon-selector-icons-location.mjs","node":"./fesm2015/c8y-ngx-components-icon-selector-icons-location.mjs","default":"./fesm2020/c8y-ngx-components-icon-selector-icons-location.mjs"},"./icon-selector/icons/messaging":{"types":"./icon-selector/icons/messaging/index.d.ts","esm2020":"./esm2020/icon-selector/icons/messaging/c8y-ngx-components-icon-selector-icons-messaging.mjs","es2020":"./fesm2020/c8y-ngx-components-icon-selector-icons-messaging.mjs","es2015":"./fesm2015/c8y-ngx-components-icon-selector-icons-messaging.mjs","node":"./fesm2015/c8y-ngx-components-icon-selector-icons-messaging.mjs","default":"./fesm2020/c8y-ngx-components-icon-selector-icons-messaging.mjs"},"./icon-selector/icons/multimedia":{"types":"./icon-selector/icons/multimedia/index.d.ts","esm2020":"./esm2020/icon-selector/icons/multimedia/c8y-ngx-components-icon-selector-icons-multimedia.mjs","es2020":"./fesm2020/c8y-ngx-components-icon-selector-icons-multimedia.mjs","es2015":"./fesm2015/c8y-ngx-components-icon-selector-icons-multimedia.mjs","node":"./fesm2015/c8y-ngx-components-icon-selector-icons-multimedia.mjs","default":"./fesm2020/c8y-ngx-components-icon-selector-icons-multimedia.mjs"},"./icon-selector/icons/network":{"types":"./icon-selector/icons/network/index.d.ts","esm2020":"./esm2020/icon-selector/icons/network/c8y-ngx-components-icon-selector-icons-network.mjs","es2020":"./fesm2020/c8y-ngx-components-icon-selector-icons-network.mjs","es2015":"./fesm2015/c8y-ngx-components-icon-selector-icons-network.mjs","node":"./fesm2015/c8y-ngx-components-icon-selector-icons-network.mjs","default":"./fesm2020/c8y-ngx-components-icon-selector-icons-network.mjs"},"./icon-selector/icons":{"types":"./icon-selector/icons/index.d.ts","esm2020":"./esm2020/icon-selector/icons/c8y-ngx-components-icon-selector-icons.mjs","es2020":"./fesm2020/c8y-ngx-components-icon-selector-icons.mjs","es2015":"./fesm2015/c8y-ngx-components-icon-selector-icons.mjs","node":"./fesm2015/c8y-ngx-components-icon-selector-icons.mjs","default":"./fesm2020/c8y-ngx-components-icon-selector-icons.mjs"},"./icon-selector/icons/office":{"types":"./icon-selector/icons/office/index.d.ts","esm2020":"./esm2020/icon-selector/icons/office/c8y-ngx-components-icon-selector-icons-office.mjs","es2020":"./fesm2020/c8y-ngx-components-icon-selector-icons-office.mjs","es2015":"./fesm2015/c8y-ngx-components-icon-selector-icons-office.mjs","node":"./fesm2015/c8y-ngx-components-icon-selector-icons-office.mjs","default":"./fesm2020/c8y-ngx-components-icon-selector-icons-office.mjs"},"./icon-selector/icons/people":{"types":"./icon-selector/icons/people/index.d.ts","esm2020":"./esm2020/icon-selector/icons/people/c8y-ngx-components-icon-selector-icons-people.mjs","es2020":"./fesm2020/c8y-ngx-components-icon-selector-icons-people.mjs","es2015":"./fesm2015/c8y-ngx-components-icon-selector-icons-people.mjs","node":"./fesm2015/c8y-ngx-components-icon-selector-icons-people.mjs","default":"./fesm2020/c8y-ngx-components-icon-selector-icons-people.mjs"},"./icon-selector/icons/platform":{"types":"./icon-selector/icons/platform/index.d.ts","esm2020":"./esm2020/icon-selector/icons/platform/c8y-ngx-components-icon-selector-icons-platform.mjs","es2020":"./fesm2020/c8y-ngx-components-icon-selector-icons-platform.mjs","es2015":"./fesm2015/c8y-ngx-components-icon-selector-icons-platform.mjs","node":"./fesm2015/c8y-ngx-components-icon-selector-icons-platform.mjs","default":"./fesm2020/c8y-ngx-components-icon-selector-icons-platform.mjs"},"./icon-selector/icons/programming":{"types":"./icon-selector/icons/programming/index.d.ts","esm2020":"./esm2020/icon-selector/icons/programming/c8y-ngx-components-icon-selector-icons-programming.mjs","es2020":"./fesm2020/c8y-ngx-components-icon-selector-icons-programming.mjs","es2015":"./fesm2015/c8y-ngx-components-icon-selector-icons-programming.mjs","node":"./fesm2015/c8y-ngx-components-icon-selector-icons-programming.mjs","default":"./fesm2020/c8y-ngx-components-icon-selector-icons-programming.mjs"},"./icon-selector/icons/security":{"types":"./icon-selector/icons/security/index.d.ts","esm2020":"./esm2020/icon-selector/icons/security/c8y-ngx-components-icon-selector-icons-security.mjs","es2020":"./fesm2020/c8y-ngx-components-icon-selector-icons-security.mjs","es2015":"./fesm2015/c8y-ngx-components-icon-selector-icons-security.mjs","node":"./fesm2015/c8y-ngx-components-icon-selector-icons-security.mjs","default":"./fesm2020/c8y-ngx-components-icon-selector-icons-security.mjs"},"./icon-selector/icons/transport":{"types":"./icon-selector/icons/transport/index.d.ts","esm2020":"./esm2020/icon-selector/icons/transport/c8y-ngx-components-icon-selector-icons-transport.mjs","es2020":"./fesm2020/c8y-ngx-components-icon-selector-icons-transport.mjs","es2015":"./fesm2015/c8y-ngx-components-icon-selector-icons-transport.mjs","node":"./fesm2015/c8y-ngx-components-icon-selector-icons-transport.mjs","default":"./fesm2020/c8y-ngx-components-icon-selector-icons-transport.mjs"},"./icon-selector/icons/userInterface":{"types":"./icon-selector/icons/userInterface/index.d.ts","esm2020":"./esm2020/icon-selector/icons/userInterface/c8y-ngx-components-icon-selector-icons-userInterface.mjs","es2020":"./fesm2020/c8y-ngx-components-icon-selector-icons-userInterface.mjs","es2015":"./fesm2015/c8y-ngx-components-icon-selector-icons-userInterface.mjs","node":"./fesm2015/c8y-ngx-components-icon-selector-icons-userInterface.mjs","default":"./fesm2020/c8y-ngx-components-icon-selector-icons-userInterface.mjs"},"./icon-selector/icons/weather":{"types":"./icon-selector/icons/weather/index.d.ts","esm2020":"./esm2020/icon-selector/icons/weather/c8y-ngx-components-icon-selector-icons-weather.mjs","es2020":"./fesm2020/c8y-ngx-components-icon-selector-icons-weather.mjs","es2015":"./fesm2015/c8y-ngx-components-icon-selector-icons-weather.mjs","node":"./fesm2015/c8y-ngx-components-icon-selector-icons-weather.mjs","default":"./fesm2020/c8y-ngx-components-icon-selector-icons-weather.mjs"},"./icon-selector/model":{"types":"./icon-selector/model/index.d.ts","esm2020":"./esm2020/icon-selector/model/c8y-ngx-components-icon-selector-model.mjs","es2020":"./fesm2020/c8y-ngx-components-icon-selector-model.mjs","es2015":"./fesm2015/c8y-ngx-components-icon-selector-model.mjs","node":"./fesm2015/c8y-ngx-components-icon-selector-model.mjs","default":"./fesm2020/c8y-ngx-components-icon-selector-model.mjs"},"./icon-selector":{"types":"./icon-selector/index.d.ts","esm2020":"./esm2020/icon-selector/c8y-ngx-components-icon-selector.mjs","es2020":"./fesm2020/c8y-ngx-components-icon-selector.mjs","es2015":"./fesm2015/c8y-ngx-components-icon-selector.mjs","node":"./fesm2015/c8y-ngx-components-icon-selector.mjs","default":"./fesm2020/c8y-ngx-components-icon-selector.mjs"},"./lazy/three-orbit-controls":{"types":"./lazy/three-orbit-controls/index.d.ts","esm2020":"./esm2020/lazy/three-orbit-controls/c8y-ngx-components-lazy-three-orbit-controls.mjs","es2020":"./fesm2020/c8y-ngx-components-lazy-three-orbit-controls.mjs","es2015":"./fesm2015/c8y-ngx-components-lazy-three-orbit-controls.mjs","node":"./fesm2015/c8y-ngx-components-lazy-three-orbit-controls.mjs","default":"./fesm2020/c8y-ngx-components-lazy-three-orbit-controls.mjs"},"./lazy/three":{"types":"./lazy/three/index.d.ts","esm2020":"./esm2020/lazy/three/c8y-ngx-components-lazy-three.mjs","es2020":"./fesm2020/c8y-ngx-components-lazy-three.mjs","es2015":"./fesm2015/c8y-ngx-components-lazy-three.mjs","node":"./fesm2015/c8y-ngx-components-lazy-three.mjs","default":"./fesm2020/c8y-ngx-components-lazy-three.mjs"},"./loriot-device-registration":{"types":"./loriot-device-registration/index.d.ts","esm2020":"./esm2020/loriot-device-registration/c8y-ngx-components-loriot-device-registration.mjs","es2020":"./fesm2020/c8y-ngx-components-loriot-device-registration.mjs","es2015":"./fesm2015/c8y-ngx-components-loriot-device-registration.mjs","node":"./fesm2015/c8y-ngx-components-loriot-device-registration.mjs","default":"./fesm2020/c8y-ngx-components-loriot-device-registration.mjs"},"./map":{"types":"./map/index.d.ts","esm2020":"./esm2020/map/c8y-ngx-components-map.mjs","es2020":"./fesm2020/c8y-ngx-components-map.mjs","es2015":"./fesm2015/c8y-ngx-components-map.mjs","node":"./fesm2015/c8y-ngx-components-map.mjs","default":"./fesm2020/c8y-ngx-components-map.mjs"},"./operations/bulk-operation-from-single":{"types":"./operations/bulk-operation-from-single/index.d.ts","esm2020":"./esm2020/operations/bulk-operation-from-single/c8y-ngx-components-operations-bulk-operation-from-single.mjs","es2020":"./fesm2020/c8y-ngx-components-operations-bulk-operation-from-single.mjs","es2015":"./fesm2015/c8y-ngx-components-operations-bulk-operation-from-single.mjs","node":"./fesm2015/c8y-ngx-components-operations-bulk-operation-from-single.mjs","default":"./fesm2020/c8y-ngx-components-operations-bulk-operation-from-single.mjs"},"./operations/bulk-operation-list-item":{"types":"./operations/bulk-operation-list-item/index.d.ts","esm2020":"./esm2020/operations/bulk-operation-list-item/c8y-ngx-components-operations-bulk-operation-list-item.mjs","es2020":"./fesm2020/c8y-ngx-components-operations-bulk-operation-list-item.mjs","es2015":"./fesm2015/c8y-ngx-components-operations-bulk-operation-list-item.mjs","node":"./fesm2015/c8y-ngx-components-operations-bulk-operation-list-item.mjs","default":"./fesm2020/c8y-ngx-components-operations-bulk-operation-list-item.mjs"},"./operations/bulk-operation-modal-details":{"types":"./operations/bulk-operation-modal-details/index.d.ts","esm2020":"./esm2020/operations/bulk-operation-modal-details/c8y-ngx-components-operations-bulk-operation-modal-details.mjs","es2020":"./fesm2020/c8y-ngx-components-operations-bulk-operation-modal-details.mjs","es2015":"./fesm2015/c8y-ngx-components-operations-bulk-operation-modal-details.mjs","node":"./fesm2015/c8y-ngx-components-operations-bulk-operation-modal-details.mjs","default":"./fesm2020/c8y-ngx-components-operations-bulk-operation-modal-details.mjs"},"./operations/bulk-operation-scheduler":{"types":"./operations/bulk-operation-scheduler/index.d.ts","esm2020":"./esm2020/operations/bulk-operation-scheduler/c8y-ngx-components-operations-bulk-operation-scheduler.mjs","es2020":"./fesm2020/c8y-ngx-components-operations-bulk-operation-scheduler.mjs","es2015":"./fesm2015/c8y-ngx-components-operations-bulk-operation-scheduler.mjs","node":"./fesm2015/c8y-ngx-components-operations-bulk-operation-scheduler.mjs","default":"./fesm2020/c8y-ngx-components-operations-bulk-operation-scheduler.mjs"},"./operations/bulk-operation-stepper":{"types":"./operations/bulk-operation-stepper/index.d.ts","esm2020":"./esm2020/operations/bulk-operation-stepper/c8y-ngx-components-operations-bulk-operation-stepper.mjs","es2020":"./fesm2020/c8y-ngx-components-operations-bulk-operation-stepper.mjs","es2015":"./fesm2015/c8y-ngx-components-operations-bulk-operation-stepper.mjs","node":"./fesm2015/c8y-ngx-components-operations-bulk-operation-stepper.mjs","default":"./fesm2020/c8y-ngx-components-operations-bulk-operation-stepper.mjs"},"./operations/bulk-operations-list":{"types":"./operations/bulk-operations-list/index.d.ts","esm2020":"./esm2020/operations/bulk-operations-list/c8y-ngx-components-operations-bulk-operations-list.mjs","es2020":"./fesm2020/c8y-ngx-components-operations-bulk-operations-list.mjs","es2015":"./fesm2015/c8y-ngx-components-operations-bulk-operations-list.mjs","node":"./fesm2015/c8y-ngx-components-operations-bulk-operations-list.mjs","default":"./fesm2020/c8y-ngx-components-operations-bulk-operations-list.mjs"},"./operations/bulk-operations-service":{"types":"./operations/bulk-operations-service/index.d.ts","esm2020":"./esm2020/operations/bulk-operations-service/c8y-ngx-components-operations-bulk-operations-service.mjs","es2020":"./fesm2020/c8y-ngx-components-operations-bulk-operations-service.mjs","es2015":"./fesm2015/c8y-ngx-components-operations-bulk-operations-service.mjs","node":"./fesm2015/c8y-ngx-components-operations-bulk-operations-service.mjs","default":"./fesm2020/c8y-ngx-components-operations-bulk-operations-service.mjs"},"./operations/bulk-operations-stepper-container":{"types":"./operations/bulk-operations-stepper-container/index.d.ts","esm2020":"./esm2020/operations/bulk-operations-stepper-container/c8y-ngx-components-operations-bulk-operations-stepper-container.mjs","es2020":"./fesm2020/c8y-ngx-components-operations-bulk-operations-stepper-container.mjs","es2015":"./fesm2015/c8y-ngx-components-operations-bulk-operations-stepper-container.mjs","node":"./fesm2015/c8y-ngx-components-operations-bulk-operations-stepper-container.mjs","default":"./fesm2020/c8y-ngx-components-operations-bulk-operations-stepper-container.mjs"},"./operations/bulk-single-operations-list":{"types":"./operations/bulk-single-operations-list/index.d.ts","esm2020":"./esm2020/operations/bulk-single-operations-list/c8y-ngx-components-operations-bulk-single-operations-list.mjs","es2020":"./fesm2020/c8y-ngx-components-operations-bulk-single-operations-list.mjs","es2015":"./fesm2015/c8y-ngx-components-operations-bulk-single-operations-list.mjs","node":"./fesm2015/c8y-ngx-components-operations-bulk-single-operations-list.mjs","default":"./fesm2020/c8y-ngx-components-operations-bulk-single-operations-list.mjs"},"./operations/create-bulk-operation-details":{"types":"./operations/create-bulk-operation-details/index.d.ts","esm2020":"./esm2020/operations/create-bulk-operation-details/c8y-ngx-components-operations-create-bulk-operation-details.mjs","es2020":"./fesm2020/c8y-ngx-components-operations-create-bulk-operation-details.mjs","es2015":"./fesm2015/c8y-ngx-components-operations-create-bulk-operation-details.mjs","node":"./fesm2015/c8y-ngx-components-operations-create-bulk-operation-details.mjs","default":"./fesm2020/c8y-ngx-components-operations-create-bulk-operation-details.mjs"},"./operations/device-selector":{"types":"./operations/device-selector/index.d.ts","esm2020":"./esm2020/operations/device-selector/c8y-ngx-components-operations-device-selector.mjs","es2020":"./fesm2020/c8y-ngx-components-operations-device-selector.mjs","es2015":"./fesm2015/c8y-ngx-components-operations-device-selector.mjs","node":"./fesm2015/c8y-ngx-components-operations-device-selector.mjs","default":"./fesm2020/c8y-ngx-components-operations-device-selector.mjs"},"./operations":{"types":"./operations/index.d.ts","esm2020":"./esm2020/operations/c8y-ngx-components-operations.mjs","es2020":"./fesm2020/c8y-ngx-components-operations.mjs","es2015":"./fesm2015/c8y-ngx-components-operations.mjs","node":"./fesm2015/c8y-ngx-components-operations.mjs","default":"./fesm2020/c8y-ngx-components-operations.mjs"},"./operations/operation-details":{"types":"./operations/operation-details/index.d.ts","esm2020":"./esm2020/operations/operation-details/c8y-ngx-components-operations-operation-details.mjs","es2020":"./fesm2020/c8y-ngx-components-operations-operation-details.mjs","es2015":"./fesm2015/c8y-ngx-components-operations-operation-details.mjs","node":"./fesm2015/c8y-ngx-components-operations-operation-details.mjs","default":"./fesm2020/c8y-ngx-components-operations-operation-details.mjs"},"./operations/operation-summary":{"types":"./operations/operation-summary/index.d.ts","esm2020":"./esm2020/operations/operation-summary/c8y-ngx-components-operations-operation-summary.mjs","es2020":"./fesm2020/c8y-ngx-components-operations-operation-summary.mjs","es2015":"./fesm2015/c8y-ngx-components-operations-operation-summary.mjs","node":"./fesm2015/c8y-ngx-components-operations-operation-summary.mjs","default":"./fesm2020/c8y-ngx-components-operations-operation-summary.mjs"},"./operations/operations-list-item-details":{"types":"./operations/operations-list-item-details/index.d.ts","esm2020":"./esm2020/operations/operations-list-item-details/c8y-ngx-components-operations-operations-list-item-details.mjs","es2020":"./fesm2020/c8y-ngx-components-operations-operations-list-item-details.mjs","es2015":"./fesm2015/c8y-ngx-components-operations-operations-list-item-details.mjs","node":"./fesm2015/c8y-ngx-components-operations-operations-list-item-details.mjs","default":"./fesm2020/c8y-ngx-components-operations-operations-list-item-details.mjs"},"./operations/operations-list":{"types":"./operations/operations-list/index.d.ts","esm2020":"./esm2020/operations/operations-list/c8y-ngx-components-operations-operations-list.mjs","es2020":"./fesm2020/c8y-ngx-components-operations-operations-list.mjs","es2015":"./fesm2015/c8y-ngx-components-operations-operations-list.mjs","node":"./fesm2015/c8y-ngx-components-operations-operations-list.mjs","default":"./fesm2020/c8y-ngx-components-operations-operations-list.mjs"},"./operations/operations-timeline":{"types":"./operations/operations-timeline/index.d.ts","esm2020":"./esm2020/operations/operations-timeline/c8y-ngx-components-operations-operations-timeline.mjs","es2020":"./fesm2020/c8y-ngx-components-operations-operations-timeline.mjs","es2015":"./fesm2015/c8y-ngx-components-operations-operations-timeline.mjs","node":"./fesm2015/c8y-ngx-components-operations-operations-timeline.mjs","default":"./fesm2020/c8y-ngx-components-operations-operations-timeline.mjs"},"./operations/product-experience":{"types":"./operations/product-experience/index.d.ts","esm2020":"./esm2020/operations/product-experience/c8y-ngx-components-operations-product-experience.mjs","es2020":"./fesm2020/c8y-ngx-components-operations-product-experience.mjs","es2015":"./fesm2015/c8y-ngx-components-operations-product-experience.mjs","node":"./fesm2015/c8y-ngx-components-operations-product-experience.mjs","default":"./fesm2020/c8y-ngx-components-operations-product-experience.mjs"},"./operations/shared":{"types":"./operations/shared/index.d.ts","esm2020":"./esm2020/operations/shared/c8y-ngx-components-operations-shared.mjs","es2020":"./fesm2020/c8y-ngx-components-operations-shared.mjs","es2015":"./fesm2015/c8y-ngx-components-operations-shared.mjs","node":"./fesm2015/c8y-ngx-components-operations-shared.mjs","default":"./fesm2020/c8y-ngx-components-operations-shared.mjs"},"./operations/status-filter":{"types":"./operations/status-filter/index.d.ts","esm2020":"./esm2020/operations/status-filter/c8y-ngx-components-operations-status-filter.mjs","es2020":"./fesm2020/c8y-ngx-components-operations-status-filter.mjs","es2015":"./fesm2015/c8y-ngx-components-operations-status-filter.mjs","node":"./fesm2015/c8y-ngx-components-operations-status-filter.mjs","default":"./fesm2020/c8y-ngx-components-operations-status-filter.mjs"},"./operations/stepper-bulk-type-configuration":{"types":"./operations/stepper-bulk-type-configuration/index.d.ts","esm2020":"./esm2020/operations/stepper-bulk-type-configuration/c8y-ngx-components-operations-stepper-bulk-type-configuration.mjs","es2020":"./fesm2020/c8y-ngx-components-operations-stepper-bulk-type-configuration.mjs","es2015":"./fesm2015/c8y-ngx-components-operations-stepper-bulk-type-configuration.mjs","node":"./fesm2015/c8y-ngx-components-operations-stepper-bulk-type-configuration.mjs","default":"./fesm2020/c8y-ngx-components-operations-stepper-bulk-type-configuration.mjs"},"./operations/stepper-bulk-type-device-profile":{"types":"./operations/stepper-bulk-type-device-profile/index.d.ts","esm2020":"./esm2020/operations/stepper-bulk-type-device-profile/c8y-ngx-components-operations-stepper-bulk-type-device-profile.mjs","es2020":"./fesm2020/c8y-ngx-components-operations-stepper-bulk-type-device-profile.mjs","es2015":"./fesm2015/c8y-ngx-components-operations-stepper-bulk-type-device-profile.mjs","node":"./fesm2015/c8y-ngx-components-operations-stepper-bulk-type-device-profile.mjs","default":"./fesm2020/c8y-ngx-components-operations-stepper-bulk-type-device-profile.mjs"},"./operations/stepper-bulk-type-firmware":{"types":"./operations/stepper-bulk-type-firmware/index.d.ts","esm2020":"./esm2020/operations/stepper-bulk-type-firmware/c8y-ngx-components-operations-stepper-bulk-type-firmware.mjs","es2020":"./fesm2020/c8y-ngx-components-operations-stepper-bulk-type-firmware.mjs","es2015":"./fesm2015/c8y-ngx-components-operations-stepper-bulk-type-firmware.mjs","node":"./fesm2015/c8y-ngx-components-operations-stepper-bulk-type-firmware.mjs","default":"./fesm2020/c8y-ngx-components-operations-stepper-bulk-type-firmware.mjs"},"./operations/stepper-bulk-type-software":{"types":"./operations/stepper-bulk-type-software/index.d.ts","esm2020":"./esm2020/operations/stepper-bulk-type-software/c8y-ngx-components-operations-stepper-bulk-type-software.mjs","es2020":"./fesm2020/c8y-ngx-components-operations-stepper-bulk-type-software.mjs","es2015":"./fesm2015/c8y-ngx-components-operations-stepper-bulk-type-software.mjs","node":"./fesm2015/c8y-ngx-components-operations-stepper-bulk-type-software.mjs","default":"./fesm2020/c8y-ngx-components-operations-stepper-bulk-type-software.mjs"},"./operations/stepper-frames":{"types":"./operations/stepper-frames/index.d.ts","esm2020":"./esm2020/operations/stepper-frames/c8y-ngx-components-operations-stepper-frames.mjs","es2020":"./fesm2020/c8y-ngx-components-operations-stepper-frames.mjs","es2015":"./fesm2015/c8y-ngx-components-operations-stepper-frames.mjs","node":"./fesm2015/c8y-ngx-components-operations-stepper-frames.mjs","default":"./fesm2020/c8y-ngx-components-operations-stepper-frames.mjs"},"./polyfills":{"types":"./polyfills/index.d.ts","esm2020":"./esm2020/polyfills/c8y-ngx-components-polyfills.mjs","es2020":"./fesm2020/c8y-ngx-components-polyfills.mjs","es2015":"./fesm2015/c8y-ngx-components-polyfills.mjs","node":"./fesm2015/c8y-ngx-components-polyfills.mjs","default":"./fesm2020/c8y-ngx-components-polyfills.mjs"},"./protocol-impact":{"types":"./protocol-impact/index.d.ts","esm2020":"./esm2020/protocol-impact/c8y-ngx-components-protocol-impact.mjs","es2020":"./fesm2020/c8y-ngx-components-protocol-impact.mjs","es2015":"./fesm2015/c8y-ngx-components-protocol-impact.mjs","node":"./fesm2015/c8y-ngx-components-protocol-impact.mjs","default":"./fesm2020/c8y-ngx-components-protocol-impact.mjs"},"./protocol-lpwan":{"types":"./protocol-lpwan/index.d.ts","esm2020":"./esm2020/protocol-lpwan/c8y-ngx-components-protocol-lpwan.mjs","es2020":"./fesm2020/c8y-ngx-components-protocol-lpwan.mjs","es2015":"./fesm2015/c8y-ngx-components-protocol-lpwan.mjs","node":"./fesm2015/c8y-ngx-components-protocol-lpwan.mjs","default":"./fesm2020/c8y-ngx-components-protocol-lpwan.mjs"},"./protocol-lwm2m/components/bootstrap-parameters":{"types":"./protocol-lwm2m/components/bootstrap-parameters/index.d.ts","esm2020":"./esm2020/protocol-lwm2m/components/bootstrap-parameters/c8y-ngx-components-protocol-lwm2m-components-bootstrap-parameters.mjs","es2020":"./fesm2020/c8y-ngx-components-protocol-lwm2m-components-bootstrap-parameters.mjs","es2015":"./fesm2015/c8y-ngx-components-protocol-lwm2m-components-bootstrap-parameters.mjs","node":"./fesm2015/c8y-ngx-components-protocol-lwm2m-components-bootstrap-parameters.mjs","default":"./fesm2020/c8y-ngx-components-protocol-lwm2m-components-bootstrap-parameters.mjs"},"./protocol-lwm2m/components/post-registration-operations":{"types":"./protocol-lwm2m/components/post-registration-operations/index.d.ts","esm2020":"./esm2020/protocol-lwm2m/components/post-registration-operations/c8y-ngx-components-protocol-lwm2m-components-post-registration-operations.mjs","es2020":"./fesm2020/c8y-ngx-components-protocol-lwm2m-components-post-registration-operations.mjs","es2015":"./fesm2015/c8y-ngx-components-protocol-lwm2m-components-post-registration-operations.mjs","node":"./fesm2015/c8y-ngx-components-protocol-lwm2m-components-post-registration-operations.mjs","default":"./fesm2020/c8y-ngx-components-protocol-lwm2m-components-post-registration-operations.mjs"},"./protocol-lwm2m/factories":{"types":"./protocol-lwm2m/factories/index.d.ts","esm2020":"./esm2020/protocol-lwm2m/factories/c8y-ngx-components-protocol-lwm2m-factories.mjs","es2020":"./fesm2020/c8y-ngx-components-protocol-lwm2m-factories.mjs","es2015":"./fesm2015/c8y-ngx-components-protocol-lwm2m-factories.mjs","node":"./fesm2015/c8y-ngx-components-protocol-lwm2m-factories.mjs","default":"./fesm2020/c8y-ngx-components-protocol-lwm2m-factories.mjs"},"./protocol-lwm2m/guards":{"types":"./protocol-lwm2m/guards/index.d.ts","esm2020":"./esm2020/protocol-lwm2m/guards/c8y-ngx-components-protocol-lwm2m-guards.mjs","es2020":"./fesm2020/c8y-ngx-components-protocol-lwm2m-guards.mjs","es2015":"./fesm2015/c8y-ngx-components-protocol-lwm2m-guards.mjs","node":"./fesm2015/c8y-ngx-components-protocol-lwm2m-guards.mjs","default":"./fesm2020/c8y-ngx-components-protocol-lwm2m-guards.mjs"},"./protocol-lwm2m/model":{"types":"./protocol-lwm2m/model/index.d.ts","esm2020":"./esm2020/protocol-lwm2m/model/c8y-ngx-components-protocol-lwm2m-model.mjs","es2020":"./fesm2020/c8y-ngx-components-protocol-lwm2m-model.mjs","es2015":"./fesm2015/c8y-ngx-components-protocol-lwm2m-model.mjs","node":"./fesm2015/c8y-ngx-components-protocol-lwm2m-model.mjs","default":"./fesm2020/c8y-ngx-components-protocol-lwm2m-model.mjs"},"./protocol-lwm2m":{"types":"./protocol-lwm2m/index.d.ts","esm2020":"./esm2020/protocol-lwm2m/c8y-ngx-components-protocol-lwm2m.mjs","es2020":"./fesm2020/c8y-ngx-components-protocol-lwm2m.mjs","es2015":"./fesm2015/c8y-ngx-components-protocol-lwm2m.mjs","node":"./fesm2015/c8y-ngx-components-protocol-lwm2m.mjs","default":"./fesm2020/c8y-ngx-components-protocol-lwm2m.mjs"},"./protocol-lwm2m/services":{"types":"./protocol-lwm2m/services/index.d.ts","esm2020":"./esm2020/protocol-lwm2m/services/c8y-ngx-components-protocol-lwm2m-services.mjs","es2020":"./fesm2020/c8y-ngx-components-protocol-lwm2m-services.mjs","es2015":"./fesm2015/c8y-ngx-components-protocol-lwm2m-services.mjs","node":"./fesm2015/c8y-ngx-components-protocol-lwm2m-services.mjs","default":"./fesm2020/c8y-ngx-components-protocol-lwm2m-services.mjs"},"./protocol-opcua":{"types":"./protocol-opcua/index.d.ts","esm2020":"./esm2020/protocol-opcua/c8y-ngx-components-protocol-opcua.mjs","es2020":"./fesm2020/c8y-ngx-components-protocol-opcua.mjs","es2015":"./fesm2015/c8y-ngx-components-protocol-opcua.mjs","node":"./fesm2015/c8y-ngx-components-protocol-opcua.mjs","default":"./fesm2020/c8y-ngx-components-protocol-opcua.mjs"},"./register-device":{"types":"./register-device/index.d.ts","esm2020":"./esm2020/register-device/c8y-ngx-components-register-device.mjs","es2020":"./fesm2020/c8y-ngx-components-register-device.mjs","es2015":"./fesm2015/c8y-ngx-components-register-device.mjs","node":"./fesm2015/c8y-ngx-components-register-device.mjs","default":"./fesm2020/c8y-ngx-components-register-device.mjs"},"./reports":{"types":"./reports/index.d.ts","esm2020":"./esm2020/reports/c8y-ngx-components-reports.mjs","es2020":"./fesm2020/c8y-ngx-components-reports.mjs","es2015":"./fesm2015/c8y-ngx-components-reports.mjs","node":"./fesm2015/c8y-ngx-components-reports.mjs","default":"./fesm2020/c8y-ngx-components-reports.mjs"},"./repository/configuration":{"types":"./repository/configuration/index.d.ts","esm2020":"./esm2020/repository/configuration/c8y-ngx-components-repository-configuration.mjs","es2020":"./fesm2020/c8y-ngx-components-repository-configuration.mjs","es2015":"./fesm2015/c8y-ngx-components-repository-configuration.mjs","node":"./fesm2015/c8y-ngx-components-repository-configuration.mjs","default":"./fesm2020/c8y-ngx-components-repository-configuration.mjs"},"./repository/firmware":{"types":"./repository/firmware/index.d.ts","esm2020":"./esm2020/repository/firmware/c8y-ngx-components-repository-firmware.mjs","es2020":"./fesm2020/c8y-ngx-components-repository-firmware.mjs","es2015":"./fesm2015/c8y-ngx-components-repository-firmware.mjs","node":"./fesm2015/c8y-ngx-components-repository-firmware.mjs","default":"./fesm2020/c8y-ngx-components-repository-firmware.mjs"},"./repository":{"types":"./repository/index.d.ts","esm2020":"./esm2020/repository/c8y-ngx-components-repository.mjs","es2020":"./fesm2020/c8y-ngx-components-repository.mjs","es2015":"./fesm2015/c8y-ngx-components-repository.mjs","node":"./fesm2015/c8y-ngx-components-repository.mjs","default":"./fesm2020/c8y-ngx-components-repository.mjs"},"./repository/shared":{"types":"./repository/shared/index.d.ts","esm2020":"./esm2020/repository/shared/c8y-ngx-components-repository-shared.mjs","es2020":"./fesm2020/c8y-ngx-components-repository-shared.mjs","es2015":"./fesm2015/c8y-ngx-components-repository-shared.mjs","node":"./fesm2015/c8y-ngx-components-repository-shared.mjs","default":"./fesm2020/c8y-ngx-components-repository-shared.mjs"},"./repository/software":{"types":"./repository/software/index.d.ts","esm2020":"./esm2020/repository/software/c8y-ngx-components-repository-software.mjs","es2020":"./fesm2020/c8y-ngx-components-repository-software.mjs","es2015":"./fesm2015/c8y-ngx-components-repository-software.mjs","node":"./fesm2015/c8y-ngx-components-repository-software.mjs","default":"./fesm2020/c8y-ngx-components-repository-software.mjs"},"./search":{"types":"./search/index.d.ts","esm2020":"./esm2020/search/c8y-ngx-components-search.mjs","es2020":"./fesm2020/c8y-ngx-components-search.mjs","es2015":"./fesm2015/c8y-ngx-components-search.mjs","node":"./fesm2015/c8y-ngx-components-search.mjs","default":"./fesm2020/c8y-ngx-components-search.mjs"},"./sensor-phone":{"types":"./sensor-phone/index.d.ts","esm2020":"./esm2020/sensor-phone/c8y-ngx-components-sensor-phone.mjs","es2020":"./fesm2020/c8y-ngx-components-sensor-phone.mjs","es2015":"./fesm2015/c8y-ngx-components-sensor-phone.mjs","node":"./fesm2015/c8y-ngx-components-sensor-phone.mjs","default":"./fesm2020/c8y-ngx-components-sensor-phone.mjs"},"./sensor-phone/sensor-phone-modal":{"types":"./sensor-phone/sensor-phone-modal/index.d.ts","esm2020":"./esm2020/sensor-phone/sensor-phone-modal/c8y-ngx-components-sensor-phone-sensor-phone-modal.mjs","es2020":"./fesm2020/c8y-ngx-components-sensor-phone-sensor-phone-modal.mjs","es2015":"./fesm2015/c8y-ngx-components-sensor-phone-sensor-phone-modal.mjs","node":"./fesm2015/c8y-ngx-components-sensor-phone-sensor-phone-modal.mjs","default":"./fesm2020/c8y-ngx-components-sensor-phone-sensor-phone-modal.mjs"},"./services":{"types":"./services/index.d.ts","esm2020":"./esm2020/services/c8y-ngx-components-services.mjs","es2020":"./fesm2020/c8y-ngx-components-services.mjs","es2015":"./fesm2015/c8y-ngx-components-services.mjs","node":"./fesm2015/c8y-ngx-components-services.mjs","default":"./fesm2020/c8y-ngx-components-services.mjs"},"./sigfox-device-registration":{"types":"./sigfox-device-registration/index.d.ts","esm2020":"./esm2020/sigfox-device-registration/c8y-ngx-components-sigfox-device-registration.mjs","es2020":"./fesm2020/c8y-ngx-components-sigfox-device-registration.mjs","es2015":"./fesm2015/c8y-ngx-components-sigfox-device-registration.mjs","node":"./fesm2015/c8y-ngx-components-sigfox-device-registration.mjs","default":"./fesm2020/c8y-ngx-components-sigfox-device-registration.mjs"},"./sms-gateway":{"types":"./sms-gateway/index.d.ts","esm2020":"./esm2020/sms-gateway/c8y-ngx-components-sms-gateway.mjs","es2020":"./fesm2020/c8y-ngx-components-sms-gateway.mjs","es2015":"./fesm2015/c8y-ngx-components-sms-gateway.mjs","node":"./fesm2015/c8y-ngx-components-sms-gateway.mjs","default":"./fesm2020/c8y-ngx-components-sms-gateway.mjs"},"./sub-assets":{"types":"./sub-assets/index.d.ts","esm2020":"./esm2020/sub-assets/c8y-ngx-components-sub-assets.mjs","es2020":"./fesm2020/c8y-ngx-components-sub-assets.mjs","es2015":"./fesm2015/c8y-ngx-components-sub-assets.mjs","node":"./fesm2015/c8y-ngx-components-sub-assets.mjs","default":"./fesm2020/c8y-ngx-components-sub-assets.mjs"},"./tenants":{"types":"./tenants/index.d.ts","esm2020":"./esm2020/tenants/c8y-ngx-components-tenants.mjs","es2020":"./fesm2020/c8y-ngx-components-tenants.mjs","es2015":"./fesm2015/c8y-ngx-components-tenants.mjs","node":"./fesm2015/c8y-ngx-components-tenants.mjs","default":"./fesm2020/c8y-ngx-components-tenants.mjs"},"./trusted-certificates":{"types":"./trusted-certificates/index.d.ts","esm2020":"./esm2020/trusted-certificates/c8y-ngx-components-trusted-certificates.mjs","es2020":"./fesm2020/c8y-ngx-components-trusted-certificates.mjs","es2015":"./fesm2015/c8y-ngx-components-trusted-certificates.mjs","node":"./fesm2015/c8y-ngx-components-trusted-certificates.mjs","default":"./fesm2020/c8y-ngx-components-trusted-certificates.mjs"},"./upgrade":{"types":"./upgrade/index.d.ts","esm2020":"./esm2020/upgrade/c8y-ngx-components-upgrade.mjs","es2020":"./fesm2020/c8y-ngx-components-upgrade.mjs","es2015":"./fesm2015/c8y-ngx-components-upgrade.mjs","node":"./fesm2015/c8y-ngx-components-upgrade.mjs","default":"./fesm2020/c8y-ngx-components-upgrade.mjs"},"./widgets/cockpit":{"types":"./widgets/cockpit/index.d.ts","esm2020":"./esm2020/widgets/cockpit/c8y-ngx-components-widgets-cockpit.mjs","es2020":"./fesm2020/c8y-ngx-components-widgets-cockpit.mjs","es2015":"./fesm2015/c8y-ngx-components-widgets-cockpit.mjs","node":"./fesm2015/c8y-ngx-components-widgets-cockpit.mjs","default":"./fesm2020/c8y-ngx-components-widgets-cockpit.mjs"},"./widgets/definitions/cockpit-legacy-welcome":{"types":"./widgets/definitions/cockpit-legacy-welcome/index.d.ts","esm2020":"./esm2020/widgets/definitions/cockpit-legacy-welcome/c8y-ngx-components-widgets-definitions-cockpit-legacy-welcome.mjs","es2020":"./fesm2020/c8y-ngx-components-widgets-definitions-cockpit-legacy-welcome.mjs","es2015":"./fesm2015/c8y-ngx-components-widgets-definitions-cockpit-legacy-welcome.mjs","node":"./fesm2015/c8y-ngx-components-widgets-definitions-cockpit-legacy-welcome.mjs","default":"./fesm2020/c8y-ngx-components-widgets-definitions-cockpit-legacy-welcome.mjs"},"./widgets/definitions/cockpit-welcome":{"types":"./widgets/definitions/cockpit-welcome/index.d.ts","esm2020":"./esm2020/widgets/definitions/cockpit-welcome/c8y-ngx-components-widgets-definitions-cockpit-welcome.mjs","es2020":"./fesm2020/c8y-ngx-components-widgets-definitions-cockpit-welcome.mjs","es2015":"./fesm2015/c8y-ngx-components-widgets-definitions-cockpit-welcome.mjs","node":"./fesm2015/c8y-ngx-components-widgets-definitions-cockpit-welcome.mjs","default":"./fesm2020/c8y-ngx-components-widgets-definitions-cockpit-welcome.mjs"},"./widgets/definitions/device-management-welcome":{"types":"./widgets/definitions/device-management-welcome/index.d.ts","esm2020":"./esm2020/widgets/definitions/device-management-welcome/c8y-ngx-components-widgets-definitions-device-management-welcome.mjs","es2020":"./fesm2020/c8y-ngx-components-widgets-definitions-device-management-welcome.mjs","es2015":"./fesm2015/c8y-ngx-components-widgets-definitions-device-management-welcome.mjs","node":"./fesm2015/c8y-ngx-components-widgets-definitions-device-management-welcome.mjs","default":"./fesm2020/c8y-ngx-components-widgets-definitions-device-management-welcome.mjs"},"./widgets/definitions/help-and-service":{"types":"./widgets/definitions/help-and-service/index.d.ts","esm2020":"./esm2020/widgets/definitions/help-and-service/c8y-ngx-components-widgets-definitions-help-and-service.mjs","es2020":"./fesm2020/c8y-ngx-components-widgets-definitions-help-and-service.mjs","es2015":"./fesm2015/c8y-ngx-components-widgets-definitions-help-and-service.mjs","node":"./fesm2015/c8y-ngx-components-widgets-definitions-help-and-service.mjs","default":"./fesm2020/c8y-ngx-components-widgets-definitions-help-and-service.mjs"},"./widgets/definitions/image":{"types":"./widgets/definitions/image/index.d.ts","esm2020":"./esm2020/widgets/definitions/image/c8y-ngx-components-widgets-definitions-image.mjs","es2020":"./fesm2020/c8y-ngx-components-widgets-definitions-image.mjs","es2015":"./fesm2015/c8y-ngx-components-widgets-definitions-image.mjs","node":"./fesm2015/c8y-ngx-components-widgets-definitions-image.mjs","default":"./fesm2020/c8y-ngx-components-widgets-definitions-image.mjs"},"./widgets/definitions/kpi":{"types":"./widgets/definitions/kpi/index.d.ts","esm2020":"./esm2020/widgets/definitions/kpi/c8y-ngx-components-widgets-definitions-kpi.mjs","es2020":"./fesm2020/c8y-ngx-components-widgets-definitions-kpi.mjs","es2015":"./fesm2015/c8y-ngx-components-widgets-definitions-kpi.mjs","node":"./fesm2015/c8y-ngx-components-widgets-definitions-kpi.mjs","default":"./fesm2020/c8y-ngx-components-widgets-definitions-kpi.mjs"},"./widgets/definitions/map":{"types":"./widgets/definitions/map/index.d.ts","esm2020":"./esm2020/widgets/definitions/map/c8y-ngx-components-widgets-definitions-map.mjs","es2020":"./fesm2020/c8y-ngx-components-widgets-definitions-map.mjs","es2015":"./fesm2015/c8y-ngx-components-widgets-definitions-map.mjs","node":"./fesm2015/c8y-ngx-components-widgets-definitions-map.mjs","default":"./fesm2020/c8y-ngx-components-widgets-definitions-map.mjs"},"./widgets/definitions/markdown":{"types":"./widgets/definitions/markdown/index.d.ts","esm2020":"./esm2020/widgets/definitions/markdown/c8y-ngx-components-widgets-definitions-markdown.mjs","es2020":"./fesm2020/c8y-ngx-components-widgets-definitions-markdown.mjs","es2015":"./fesm2015/c8y-ngx-components-widgets-definitions-markdown.mjs","node":"./fesm2015/c8y-ngx-components-widgets-definitions-markdown.mjs","default":"./fesm2020/c8y-ngx-components-widgets-definitions-markdown.mjs"},"./widgets/definitions":{"types":"./widgets/definitions/index.d.ts","esm2020":"./esm2020/widgets/definitions/c8y-ngx-components-widgets-definitions.mjs","es2020":"./fesm2020/c8y-ngx-components-widgets-definitions.mjs","es2015":"./fesm2015/c8y-ngx-components-widgets-definitions.mjs","node":"./fesm2015/c8y-ngx-components-widgets-definitions.mjs","default":"./fesm2020/c8y-ngx-components-widgets-definitions.mjs"},"./widgets/definitions/three-d-rotation":{"types":"./widgets/definitions/three-d-rotation/index.d.ts","esm2020":"./esm2020/widgets/definitions/three-d-rotation/c8y-ngx-components-widgets-definitions-three-d-rotation.mjs","es2020":"./fesm2020/c8y-ngx-components-widgets-definitions-three-d-rotation.mjs","es2015":"./fesm2015/c8y-ngx-components-widgets-definitions-three-d-rotation.mjs","node":"./fesm2015/c8y-ngx-components-widgets-definitions-three-d-rotation.mjs","default":"./fesm2020/c8y-ngx-components-widgets-definitions-three-d-rotation.mjs"},"./widgets/device-management":{"types":"./widgets/device-management/index.d.ts","esm2020":"./esm2020/widgets/device-management/c8y-ngx-components-widgets-device-management.mjs","es2020":"./fesm2020/c8y-ngx-components-widgets-device-management.mjs","es2015":"./fesm2015/c8y-ngx-components-widgets-device-management.mjs","node":"./fesm2015/c8y-ngx-components-widgets-device-management.mjs","default":"./fesm2020/c8y-ngx-components-widgets-device-management.mjs"},"./widgets/implementations/cockpit-legacy-welcome":{"types":"./widgets/implementations/cockpit-legacy-welcome/index.d.ts","esm2020":"./esm2020/widgets/implementations/cockpit-legacy-welcome/c8y-ngx-components-widgets-implementations-cockpit-legacy-welcome.mjs","es2020":"./fesm2020/c8y-ngx-components-widgets-implementations-cockpit-legacy-welcome.mjs","es2015":"./fesm2015/c8y-ngx-components-widgets-implementations-cockpit-legacy-welcome.mjs","node":"./fesm2015/c8y-ngx-components-widgets-implementations-cockpit-legacy-welcome.mjs","default":"./fesm2020/c8y-ngx-components-widgets-implementations-cockpit-legacy-welcome.mjs"},"./widgets/implementations/cockpit-welcome":{"types":"./widgets/implementations/cockpit-welcome/index.d.ts","esm2020":"./esm2020/widgets/implementations/cockpit-welcome/c8y-ngx-components-widgets-implementations-cockpit-welcome.mjs","es2020":"./fesm2020/c8y-ngx-components-widgets-implementations-cockpit-welcome.mjs","es2015":"./fesm2015/c8y-ngx-components-widgets-implementations-cockpit-welcome.mjs","node":"./fesm2015/c8y-ngx-components-widgets-implementations-cockpit-welcome.mjs","default":"./fesm2020/c8y-ngx-components-widgets-implementations-cockpit-welcome.mjs"},"./widgets/implementations/device-management-welcome":{"types":"./widgets/implementations/device-management-welcome/index.d.ts","esm2020":"./esm2020/widgets/implementations/device-management-welcome/c8y-ngx-components-widgets-implementations-device-management-welcome.mjs","es2020":"./fesm2020/c8y-ngx-components-widgets-implementations-device-management-welcome.mjs","es2015":"./fesm2015/c8y-ngx-components-widgets-implementations-device-management-welcome.mjs","node":"./fesm2015/c8y-ngx-components-widgets-implementations-device-management-welcome.mjs","default":"./fesm2020/c8y-ngx-components-widgets-implementations-device-management-welcome.mjs"},"./widgets/implementations/help-and-service-widget":{"types":"./widgets/implementations/help-and-service-widget/index.d.ts","esm2020":"./esm2020/widgets/implementations/help-and-service-widget/c8y-ngx-components-widgets-implementations-help-and-service-widget.mjs","es2020":"./fesm2020/c8y-ngx-components-widgets-implementations-help-and-service-widget.mjs","es2015":"./fesm2015/c8y-ngx-components-widgets-implementations-help-and-service-widget.mjs","node":"./fesm2015/c8y-ngx-components-widgets-implementations-help-and-service-widget.mjs","default":"./fesm2020/c8y-ngx-components-widgets-implementations-help-and-service-widget.mjs"},"./widgets/implementations/image":{"types":"./widgets/implementations/image/index.d.ts","esm2020":"./esm2020/widgets/implementations/image/c8y-ngx-components-widgets-implementations-image.mjs","es2020":"./fesm2020/c8y-ngx-components-widgets-implementations-image.mjs","es2015":"./fesm2015/c8y-ngx-components-widgets-implementations-image.mjs","node":"./fesm2015/c8y-ngx-components-widgets-implementations-image.mjs","default":"./fesm2020/c8y-ngx-components-widgets-implementations-image.mjs"},"./widgets/implementations/kpi":{"types":"./widgets/implementations/kpi/index.d.ts","esm2020":"./esm2020/widgets/implementations/kpi/c8y-ngx-components-widgets-implementations-kpi.mjs","es2020":"./fesm2020/c8y-ngx-components-widgets-implementations-kpi.mjs","es2015":"./fesm2015/c8y-ngx-components-widgets-implementations-kpi.mjs","node":"./fesm2015/c8y-ngx-components-widgets-implementations-kpi.mjs","default":"./fesm2020/c8y-ngx-components-widgets-implementations-kpi.mjs"},"./widgets/implementations/map":{"types":"./widgets/implementations/map/index.d.ts","esm2020":"./esm2020/widgets/implementations/map/c8y-ngx-components-widgets-implementations-map.mjs","es2020":"./fesm2020/c8y-ngx-components-widgets-implementations-map.mjs","es2015":"./fesm2015/c8y-ngx-components-widgets-implementations-map.mjs","node":"./fesm2015/c8y-ngx-components-widgets-implementations-map.mjs","default":"./fesm2020/c8y-ngx-components-widgets-implementations-map.mjs"},"./widgets/implementations/markdown":{"types":"./widgets/implementations/markdown/index.d.ts","esm2020":"./esm2020/widgets/implementations/markdown/c8y-ngx-components-widgets-implementations-markdown.mjs","es2020":"./fesm2020/c8y-ngx-components-widgets-implementations-markdown.mjs","es2015":"./fesm2015/c8y-ngx-components-widgets-implementations-markdown.mjs","node":"./fesm2015/c8y-ngx-components-widgets-implementations-markdown.mjs","default":"./fesm2020/c8y-ngx-components-widgets-implementations-markdown.mjs"},"./widgets/implementations/three-d-rotation/box-model":{"types":"./widgets/implementations/three-d-rotation/box-model/index.d.ts","esm2020":"./esm2020/widgets/implementations/three-d-rotation/box-model/c8y-ngx-components-widgets-implementations-three-d-rotation-box-model.mjs","es2020":"./fesm2020/c8y-ngx-components-widgets-implementations-three-d-rotation-box-model.mjs","es2015":"./fesm2015/c8y-ngx-components-widgets-implementations-three-d-rotation-box-model.mjs","node":"./fesm2015/c8y-ngx-components-widgets-implementations-three-d-rotation-box-model.mjs","default":"./fesm2020/c8y-ngx-components-widgets-implementations-three-d-rotation-box-model.mjs"},"./widgets/implementations/three-d-rotation/lazy-box-model":{"types":"./widgets/implementations/three-d-rotation/lazy-box-model/index.d.ts","esm2020":"./esm2020/widgets/implementations/three-d-rotation/lazy-box-model/c8y-ngx-components-widgets-implementations-three-d-rotation-lazy-box-model.mjs","es2020":"./fesm2020/c8y-ngx-components-widgets-implementations-three-d-rotation-lazy-box-model.mjs","es2015":"./fesm2015/c8y-ngx-components-widgets-implementations-three-d-rotation-lazy-box-model.mjs","node":"./fesm2015/c8y-ngx-components-widgets-implementations-three-d-rotation-lazy-box-model.mjs","default":"./fesm2020/c8y-ngx-components-widgets-implementations-three-d-rotation-lazy-box-model.mjs"},"./widgets/implementations/three-d-rotation/lazy-phone-model":{"types":"./widgets/implementations/three-d-rotation/lazy-phone-model/index.d.ts","esm2020":"./esm2020/widgets/implementations/three-d-rotation/lazy-phone-model/c8y-ngx-components-widgets-implementations-three-d-rotation-lazy-phone-model.mjs","es2020":"./fesm2020/c8y-ngx-components-widgets-implementations-three-d-rotation-lazy-phone-model.mjs","es2015":"./fesm2015/c8y-ngx-components-widgets-implementations-three-d-rotation-lazy-phone-model.mjs","node":"./fesm2015/c8y-ngx-components-widgets-implementations-three-d-rotation-lazy-phone-model.mjs","default":"./fesm2020/c8y-ngx-components-widgets-implementations-three-d-rotation-lazy-phone-model.mjs"},"./widgets/implementations/three-d-rotation":{"types":"./widgets/implementations/three-d-rotation/index.d.ts","esm2020":"./esm2020/widgets/implementations/three-d-rotation/c8y-ngx-components-widgets-implementations-three-d-rotation.mjs","es2020":"./fesm2020/c8y-ngx-components-widgets-implementations-three-d-rotation.mjs","es2015":"./fesm2015/c8y-ngx-components-widgets-implementations-three-d-rotation.mjs","node":"./fesm2015/c8y-ngx-components-widgets-implementations-three-d-rotation.mjs","default":"./fesm2020/c8y-ngx-components-widgets-implementations-three-d-rotation.mjs"},"./widgets/implementations/three-d-rotation/phone-model":{"types":"./widgets/implementations/three-d-rotation/phone-model/index.d.ts","esm2020":"./esm2020/widgets/implementations/three-d-rotation/phone-model/c8y-ngx-components-widgets-implementations-three-d-rotation-phone-model.mjs","es2020":"./fesm2020/c8y-ngx-components-widgets-implementations-three-d-rotation-phone-model.mjs","es2015":"./fesm2015/c8y-ngx-components-widgets-implementations-three-d-rotation-phone-model.mjs","node":"./fesm2015/c8y-ngx-components-widgets-implementations-three-d-rotation-phone-model.mjs","default":"./fesm2020/c8y-ngx-components-widgets-implementations-three-d-rotation-phone-model.mjs"},"./widgets":{"types":"./widgets/index.d.ts","esm2020":"./esm2020/widgets/c8y-ngx-components-widgets.mjs","es2020":"./fesm2020/c8y-ngx-components-widgets.mjs","es2015":"./fesm2015/c8y-ngx-components-widgets.mjs","node":"./fesm2015/c8y-ngx-components-widgets.mjs","default":"./fesm2020/c8y-ngx-components-widgets.mjs"}},"sideEffects":false}
|
|
1
|
+
{"name":"@c8y/ngx-components","version":"1018.0.231","license":"Apache-2.0","author":"Cumulocity","description":"Angular modules for Cumulocity IoT applications","keywords":["Cumulocity","IoT","m2m","Angular","Components"],"peerDependencies":{"@angular/cdk":"^14.0.6","@angular/common":"^14.0.6","@angular/core":"^14.0.6","@angular/forms":"^14.0.6","@angular/platform-browser":"^14.0.6","@angular/router":"^14.0.6","@angular/upgrade":"^14.0.6","rxjs":"~6.6.3","leaflet":"^1.7.1"},"dependencies":{"@c8y/client":"1018.0.231","@ngx-translate/core":"14.0.0","@ngx-translate/http-loader":"7.0.0","@ngx-formly/core":"6.1.3","libphonenumber-js":"1.10.17","lodash-es":"^4.0.0","ngx-bootstrap":"9.0.0","three":"0.148.0","tslib":"^2.3.1","angularx-qrcode":"14.0.0","file-saver":"2.0.5","marked":"4.2.12","semver":"~7.5.2"},"module":"fesm2015/c8y-ngx-components.mjs","es2020":"fesm2020/c8y-ngx-components.mjs","esm2020":"esm2020/c8y-ngx-components.mjs","fesm2020":"fesm2020/c8y-ngx-components.mjs","fesm2015":"fesm2015/c8y-ngx-components.mjs","typings":"index.d.ts","exports":{"./locales/de.po":"./locales/de.po","./locales/en.po":"./locales/en.po","./locales/es.po":"./locales/es.po","./locales/fr.po":"./locales/fr.po","./locales/ja_JP.po":"./locales/ja_JP.po","./locales/ko.po":"./locales/ko.po","./locales/nl.po":"./locales/nl.po","./locales/pt_BR.po":"./locales/pt_BR.po","./locales/ru.po":"./locales/ru.po","./locales/zh_CN.po":"./locales/zh_CN.po","./locales/zh_TW.po":"./locales/zh_TW.po","./locales/pl.po":"./locales/pl.po","./package.json":{"default":"./package.json"},".":{"types":"./index.d.ts","esm2020":"./esm2020/c8y-ngx-components.mjs","es2020":"./fesm2020/c8y-ngx-components.mjs","es2015":"./fesm2015/c8y-ngx-components.mjs","node":"./fesm2015/c8y-ngx-components.mjs","default":"./fesm2020/c8y-ngx-components.mjs"},"./actility-device-registration":{"types":"./actility-device-registration/index.d.ts","esm2020":"./esm2020/actility-device-registration/c8y-ngx-components-actility-device-registration.mjs","es2020":"./fesm2020/c8y-ngx-components-actility-device-registration.mjs","es2015":"./fesm2015/c8y-ngx-components-actility-device-registration.mjs","node":"./fesm2015/c8y-ngx-components-actility-device-registration.mjs","default":"./fesm2020/c8y-ngx-components-actility-device-registration.mjs"},"./api":{"types":"./api/index.d.ts","esm2020":"./esm2020/api/c8y-ngx-components-api.mjs","es2020":"./fesm2020/c8y-ngx-components-api.mjs","es2015":"./fesm2015/c8y-ngx-components-api.mjs","node":"./fesm2015/c8y-ngx-components-api.mjs","default":"./fesm2020/c8y-ngx-components-api.mjs"},"./app-logs":{"types":"./app-logs/index.d.ts","esm2020":"./esm2020/app-logs/c8y-ngx-components-app-logs.mjs","es2020":"./fesm2020/c8y-ngx-components-app-logs.mjs","es2015":"./fesm2015/c8y-ngx-components-app-logs.mjs","node":"./fesm2015/c8y-ngx-components-app-logs.mjs","default":"./fesm2020/c8y-ngx-components-app-logs.mjs"},"./assets-navigator":{"types":"./assets-navigator/index.d.ts","esm2020":"./esm2020/assets-navigator/c8y-ngx-components-assets-navigator.mjs","es2020":"./fesm2020/c8y-ngx-components-assets-navigator.mjs","es2015":"./fesm2015/c8y-ngx-components-assets-navigator.mjs","node":"./fesm2015/c8y-ngx-components-assets-navigator.mjs","default":"./fesm2020/c8y-ngx-components-assets-navigator.mjs"},"./auth-configuration":{"types":"./auth-configuration/index.d.ts","esm2020":"./esm2020/auth-configuration/c8y-ngx-components-auth-configuration.mjs","es2020":"./fesm2020/c8y-ngx-components-auth-configuration.mjs","es2015":"./fesm2015/c8y-ngx-components-auth-configuration.mjs","node":"./fesm2015/c8y-ngx-components-auth-configuration.mjs","default":"./fesm2020/c8y-ngx-components-auth-configuration.mjs"},"./binary-file-download":{"types":"./binary-file-download/index.d.ts","esm2020":"./esm2020/binary-file-download/c8y-ngx-components-binary-file-download.mjs","es2020":"./fesm2020/c8y-ngx-components-binary-file-download.mjs","es2015":"./fesm2015/c8y-ngx-components-binary-file-download.mjs","node":"./fesm2015/c8y-ngx-components-binary-file-download.mjs","default":"./fesm2020/c8y-ngx-components-binary-file-download.mjs"},"./child-devices":{"types":"./child-devices/index.d.ts","esm2020":"./esm2020/child-devices/c8y-ngx-components-child-devices.mjs","es2020":"./fesm2020/c8y-ngx-components-child-devices.mjs","es2015":"./fesm2015/c8y-ngx-components-child-devices.mjs","node":"./fesm2015/c8y-ngx-components-child-devices.mjs","default":"./fesm2020/c8y-ngx-components-child-devices.mjs"},"./cockpit-config":{"types":"./cockpit-config/index.d.ts","esm2020":"./esm2020/cockpit-config/c8y-ngx-components-cockpit-config.mjs","es2020":"./fesm2020/c8y-ngx-components-cockpit-config.mjs","es2015":"./fesm2015/c8y-ngx-components-cockpit-config.mjs","node":"./fesm2015/c8y-ngx-components-cockpit-config.mjs","default":"./fesm2020/c8y-ngx-components-cockpit-config.mjs"},"./connectivity":{"types":"./connectivity/index.d.ts","esm2020":"./esm2020/connectivity/c8y-ngx-components-connectivity.mjs","es2020":"./fesm2020/c8y-ngx-components-connectivity.mjs","es2015":"./fesm2015/c8y-ngx-components-connectivity.mjs","node":"./fesm2015/c8y-ngx-components-connectivity.mjs","default":"./fesm2020/c8y-ngx-components-connectivity.mjs"},"./context-dashboard":{"types":"./context-dashboard/index.d.ts","esm2020":"./esm2020/context-dashboard/c8y-ngx-components-context-dashboard.mjs","es2020":"./fesm2020/c8y-ngx-components-context-dashboard.mjs","es2015":"./fesm2015/c8y-ngx-components-context-dashboard.mjs","node":"./fesm2015/c8y-ngx-components-context-dashboard.mjs","default":"./fesm2020/c8y-ngx-components-context-dashboard.mjs"},"./data-broker":{"types":"./data-broker/index.d.ts","esm2020":"./esm2020/data-broker/c8y-ngx-components-data-broker.mjs","es2020":"./fesm2020/c8y-ngx-components-data-broker.mjs","es2015":"./fesm2015/c8y-ngx-components-data-broker.mjs","node":"./fesm2015/c8y-ngx-components-data-broker.mjs","default":"./fesm2020/c8y-ngx-components-data-broker.mjs"},"./datapoint-library/details":{"types":"./datapoint-library/details/index.d.ts","esm2020":"./esm2020/datapoint-library/details/c8y-ngx-components-datapoint-library-details.mjs","es2020":"./fesm2020/c8y-ngx-components-datapoint-library-details.mjs","es2015":"./fesm2015/c8y-ngx-components-datapoint-library-details.mjs","node":"./fesm2015/c8y-ngx-components-datapoint-library-details.mjs","default":"./fesm2020/c8y-ngx-components-datapoint-library-details.mjs"},"./datapoint-library/list":{"types":"./datapoint-library/list/index.d.ts","esm2020":"./esm2020/datapoint-library/list/c8y-ngx-components-datapoint-library-list.mjs","es2020":"./fesm2020/c8y-ngx-components-datapoint-library-list.mjs","es2015":"./fesm2015/c8y-ngx-components-datapoint-library-list.mjs","node":"./fesm2015/c8y-ngx-components-datapoint-library-list.mjs","default":"./fesm2020/c8y-ngx-components-datapoint-library-list.mjs"},"./datapoint-library/model":{"types":"./datapoint-library/model/index.d.ts","esm2020":"./esm2020/datapoint-library/model/c8y-ngx-components-datapoint-library-model.mjs","es2020":"./fesm2020/c8y-ngx-components-datapoint-library-model.mjs","es2015":"./fesm2015/c8y-ngx-components-datapoint-library-model.mjs","node":"./fesm2015/c8y-ngx-components-datapoint-library-model.mjs","default":"./fesm2020/c8y-ngx-components-datapoint-library-model.mjs"},"./datapoint-library":{"types":"./datapoint-library/index.d.ts","esm2020":"./esm2020/datapoint-library/c8y-ngx-components-datapoint-library.mjs","es2020":"./fesm2020/c8y-ngx-components-datapoint-library.mjs","es2015":"./fesm2015/c8y-ngx-components-datapoint-library.mjs","node":"./fesm2015/c8y-ngx-components-datapoint-library.mjs","default":"./fesm2020/c8y-ngx-components-datapoint-library.mjs"},"./datapoint-library/services":{"types":"./datapoint-library/services/index.d.ts","esm2020":"./esm2020/datapoint-library/services/c8y-ngx-components-datapoint-library-services.mjs","es2020":"./fesm2020/c8y-ngx-components-datapoint-library-services.mjs","es2015":"./fesm2015/c8y-ngx-components-datapoint-library-services.mjs","node":"./fesm2015/c8y-ngx-components-datapoint-library-services.mjs","default":"./fesm2020/c8y-ngx-components-datapoint-library-services.mjs"},"./datapoint-selector":{"types":"./datapoint-selector/index.d.ts","esm2020":"./esm2020/datapoint-selector/c8y-ngx-components-datapoint-selector.mjs","es2020":"./fesm2020/c8y-ngx-components-datapoint-selector.mjs","es2015":"./fesm2015/c8y-ngx-components-datapoint-selector.mjs","node":"./fesm2015/c8y-ngx-components-datapoint-selector.mjs","default":"./fesm2020/c8y-ngx-components-datapoint-selector.mjs"},"./default-subscriptions":{"types":"./default-subscriptions/index.d.ts","esm2020":"./esm2020/default-subscriptions/c8y-ngx-components-default-subscriptions.mjs","es2020":"./fesm2020/c8y-ngx-components-default-subscriptions.mjs","es2015":"./fesm2015/c8y-ngx-components-default-subscriptions.mjs","node":"./fesm2015/c8y-ngx-components-default-subscriptions.mjs","default":"./fesm2020/c8y-ngx-components-default-subscriptions.mjs"},"./device-grid":{"types":"./device-grid/index.d.ts","esm2020":"./esm2020/device-grid/c8y-ngx-components-device-grid.mjs","es2020":"./fesm2020/c8y-ngx-components-device-grid.mjs","es2015":"./fesm2015/c8y-ngx-components-device-grid.mjs","node":"./fesm2015/c8y-ngx-components-device-grid.mjs","default":"./fesm2020/c8y-ngx-components-device-grid.mjs"},"./device-list":{"types":"./device-list/index.d.ts","esm2020":"./esm2020/device-list/c8y-ngx-components-device-list.mjs","es2020":"./fesm2020/c8y-ngx-components-device-list.mjs","es2015":"./fesm2015/c8y-ngx-components-device-list.mjs","node":"./fesm2015/c8y-ngx-components-device-list.mjs","default":"./fesm2020/c8y-ngx-components-device-list.mjs"},"./device-profile":{"types":"./device-profile/index.d.ts","esm2020":"./esm2020/device-profile/c8y-ngx-components-device-profile.mjs","es2020":"./fesm2020/c8y-ngx-components-device-profile.mjs","es2015":"./fesm2015/c8y-ngx-components-device-profile.mjs","node":"./fesm2015/c8y-ngx-components-device-profile.mjs","default":"./fesm2020/c8y-ngx-components-device-profile.mjs"},"./device-protocols":{"types":"./device-protocols/index.d.ts","esm2020":"./esm2020/device-protocols/c8y-ngx-components-device-protocols.mjs","es2020":"./fesm2020/c8y-ngx-components-device-protocols.mjs","es2015":"./fesm2015/c8y-ngx-components-device-protocols.mjs","node":"./fesm2015/c8y-ngx-components-device-protocols.mjs","default":"./fesm2020/c8y-ngx-components-device-protocols.mjs"},"./device-shell":{"types":"./device-shell/index.d.ts","esm2020":"./esm2020/device-shell/c8y-ngx-components-device-shell.mjs","es2020":"./fesm2020/c8y-ngx-components-device-shell.mjs","es2015":"./fesm2015/c8y-ngx-components-device-shell.mjs","node":"./fesm2015/c8y-ngx-components-device-shell.mjs","default":"./fesm2020/c8y-ngx-components-device-shell.mjs"},"./diagnostics":{"types":"./diagnostics/index.d.ts","esm2020":"./esm2020/diagnostics/c8y-ngx-components-diagnostics.mjs","es2020":"./fesm2020/c8y-ngx-components-diagnostics.mjs","es2015":"./fesm2015/c8y-ngx-components-diagnostics.mjs","node":"./fesm2015/c8y-ngx-components-diagnostics.mjs","default":"./fesm2020/c8y-ngx-components-diagnostics.mjs"},"./ecosystem/application-plugins":{"types":"./ecosystem/application-plugins/index.d.ts","esm2020":"./esm2020/ecosystem/application-plugins/c8y-ngx-components-ecosystem-application-plugins.mjs","es2020":"./fesm2020/c8y-ngx-components-ecosystem-application-plugins.mjs","es2015":"./fesm2015/c8y-ngx-components-ecosystem-application-plugins.mjs","node":"./fesm2015/c8y-ngx-components-ecosystem-application-plugins.mjs","default":"./fesm2020/c8y-ngx-components-ecosystem-application-plugins.mjs"},"./ecosystem/license-confirm":{"types":"./ecosystem/license-confirm/index.d.ts","esm2020":"./esm2020/ecosystem/license-confirm/c8y-ngx-components-ecosystem-license-confirm.mjs","es2020":"./fesm2020/c8y-ngx-components-ecosystem-license-confirm.mjs","es2015":"./fesm2015/c8y-ngx-components-ecosystem-license-confirm.mjs","node":"./fesm2015/c8y-ngx-components-ecosystem-license-confirm.mjs","default":"./fesm2020/c8y-ngx-components-ecosystem-license-confirm.mjs"},"./ecosystem":{"types":"./ecosystem/index.d.ts","esm2020":"./esm2020/ecosystem/c8y-ngx-components-ecosystem.mjs","es2020":"./fesm2020/c8y-ngx-components-ecosystem.mjs","es2015":"./fesm2015/c8y-ngx-components-ecosystem.mjs","node":"./fesm2015/c8y-ngx-components-ecosystem.mjs","default":"./fesm2020/c8y-ngx-components-ecosystem.mjs"},"./ecosystem/plugin-setup-stepper":{"types":"./ecosystem/plugin-setup-stepper/index.d.ts","esm2020":"./esm2020/ecosystem/plugin-setup-stepper/c8y-ngx-components-ecosystem-plugin-setup-stepper.mjs","es2020":"./fesm2020/c8y-ngx-components-ecosystem-plugin-setup-stepper.mjs","es2015":"./fesm2015/c8y-ngx-components-ecosystem-plugin-setup-stepper.mjs","node":"./fesm2015/c8y-ngx-components-ecosystem-plugin-setup-stepper.mjs","default":"./fesm2020/c8y-ngx-components-ecosystem-plugin-setup-stepper.mjs"},"./ecosystem/shared":{"types":"./ecosystem/shared/index.d.ts","esm2020":"./esm2020/ecosystem/shared/c8y-ngx-components-ecosystem-shared.mjs","es2020":"./fesm2020/c8y-ngx-components-ecosystem-shared.mjs","es2015":"./fesm2015/c8y-ngx-components-ecosystem-shared.mjs","node":"./fesm2015/c8y-ngx-components-ecosystem-shared.mjs","default":"./fesm2020/c8y-ngx-components-ecosystem-shared.mjs"},"./file-preview":{"types":"./file-preview/index.d.ts","esm2020":"./esm2020/file-preview/c8y-ngx-components-file-preview.mjs","es2020":"./fesm2020/c8y-ngx-components-file-preview.mjs","es2015":"./fesm2015/c8y-ngx-components-file-preview.mjs","node":"./fesm2015/c8y-ngx-components-file-preview.mjs","default":"./fesm2020/c8y-ngx-components-file-preview.mjs"},"./files-repository":{"types":"./files-repository/index.d.ts","esm2020":"./esm2020/files-repository/c8y-ngx-components-files-repository.mjs","es2020":"./fesm2020/c8y-ngx-components-files-repository.mjs","es2015":"./fesm2015/c8y-ngx-components-files-repository.mjs","node":"./fesm2015/c8y-ngx-components-files-repository.mjs","default":"./fesm2020/c8y-ngx-components-files-repository.mjs"},"./icon-selector/icons/arrows":{"types":"./icon-selector/icons/arrows/index.d.ts","esm2020":"./esm2020/icon-selector/icons/arrows/c8y-ngx-components-icon-selector-icons-arrows.mjs","es2020":"./fesm2020/c8y-ngx-components-icon-selector-icons-arrows.mjs","es2015":"./fesm2015/c8y-ngx-components-icon-selector-icons-arrows.mjs","node":"./fesm2015/c8y-ngx-components-icon-selector-icons-arrows.mjs","default":"./fesm2020/c8y-ngx-components-icon-selector-icons-arrows.mjs"},"./icon-selector/icons/city":{"types":"./icon-selector/icons/city/index.d.ts","esm2020":"./esm2020/icon-selector/icons/city/c8y-ngx-components-icon-selector-icons-city.mjs","es2020":"./fesm2020/c8y-ngx-components-icon-selector-icons-city.mjs","es2015":"./fesm2015/c8y-ngx-components-icon-selector-icons-city.mjs","node":"./fesm2015/c8y-ngx-components-icon-selector-icons-city.mjs","default":"./fesm2020/c8y-ngx-components-icon-selector-icons-city.mjs"},"./icon-selector/icons/data":{"types":"./icon-selector/icons/data/index.d.ts","esm2020":"./esm2020/icon-selector/icons/data/c8y-ngx-components-icon-selector-icons-data.mjs","es2020":"./fesm2020/c8y-ngx-components-icon-selector-icons-data.mjs","es2015":"./fesm2015/c8y-ngx-components-icon-selector-icons-data.mjs","node":"./fesm2015/c8y-ngx-components-icon-selector-icons-data.mjs","default":"./fesm2020/c8y-ngx-components-icon-selector-icons-data.mjs"},"./icon-selector/icons/dateAndTime":{"types":"./icon-selector/icons/dateAndTime/index.d.ts","esm2020":"./esm2020/icon-selector/icons/dateAndTime/c8y-ngx-components-icon-selector-icons-dateAndTime.mjs","es2020":"./fesm2020/c8y-ngx-components-icon-selector-icons-dateAndTime.mjs","es2015":"./fesm2015/c8y-ngx-components-icon-selector-icons-dateAndTime.mjs","node":"./fesm2015/c8y-ngx-components-icon-selector-icons-dateAndTime.mjs","default":"./fesm2020/c8y-ngx-components-icon-selector-icons-dateAndTime.mjs"},"./icon-selector/icons/devicesAndSensors":{"types":"./icon-selector/icons/devicesAndSensors/index.d.ts","esm2020":"./esm2020/icon-selector/icons/devicesAndSensors/c8y-ngx-components-icon-selector-icons-devicesAndSensors.mjs","es2020":"./fesm2020/c8y-ngx-components-icon-selector-icons-devicesAndSensors.mjs","es2015":"./fesm2015/c8y-ngx-components-icon-selector-icons-devicesAndSensors.mjs","node":"./fesm2015/c8y-ngx-components-icon-selector-icons-devicesAndSensors.mjs","default":"./fesm2020/c8y-ngx-components-icon-selector-icons-devicesAndSensors.mjs"},"./icon-selector/icons/ecommerce":{"types":"./icon-selector/icons/ecommerce/index.d.ts","esm2020":"./esm2020/icon-selector/icons/ecommerce/c8y-ngx-components-icon-selector-icons-ecommerce.mjs","es2020":"./fesm2020/c8y-ngx-components-icon-selector-icons-ecommerce.mjs","es2015":"./fesm2015/c8y-ngx-components-icon-selector-icons-ecommerce.mjs","node":"./fesm2015/c8y-ngx-components-icon-selector-icons-ecommerce.mjs","default":"./fesm2020/c8y-ngx-components-icon-selector-icons-ecommerce.mjs"},"./icon-selector/icons/editing":{"types":"./icon-selector/icons/editing/index.d.ts","esm2020":"./esm2020/icon-selector/icons/editing/c8y-ngx-components-icon-selector-icons-editing.mjs","es2020":"./fesm2020/c8y-ngx-components-icon-selector-icons-editing.mjs","es2015":"./fesm2015/c8y-ngx-components-icon-selector-icons-editing.mjs","node":"./fesm2015/c8y-ngx-components-icon-selector-icons-editing.mjs","default":"./fesm2020/c8y-ngx-components-icon-selector-icons-editing.mjs"},"./icon-selector/icons/filesAndFolders":{"types":"./icon-selector/icons/filesAndFolders/index.d.ts","esm2020":"./esm2020/icon-selector/icons/filesAndFolders/c8y-ngx-components-icon-selector-icons-filesAndFolders.mjs","es2020":"./fesm2020/c8y-ngx-components-icon-selector-icons-filesAndFolders.mjs","es2015":"./fesm2015/c8y-ngx-components-icon-selector-icons-filesAndFolders.mjs","node":"./fesm2015/c8y-ngx-components-icon-selector-icons-filesAndFolders.mjs","default":"./fesm2020/c8y-ngx-components-icon-selector-icons-filesAndFolders.mjs"},"./icon-selector/icons/finance":{"types":"./icon-selector/icons/finance/index.d.ts","esm2020":"./esm2020/icon-selector/icons/finance/c8y-ngx-components-icon-selector-icons-finance.mjs","es2020":"./fesm2020/c8y-ngx-components-icon-selector-icons-finance.mjs","es2015":"./fesm2015/c8y-ngx-components-icon-selector-icons-finance.mjs","node":"./fesm2015/c8y-ngx-components-icon-selector-icons-finance.mjs","default":"./fesm2020/c8y-ngx-components-icon-selector-icons-finance.mjs"},"./icon-selector/icons/hands":{"types":"./icon-selector/icons/hands/index.d.ts","esm2020":"./esm2020/icon-selector/icons/hands/c8y-ngx-components-icon-selector-icons-hands.mjs","es2020":"./fesm2020/c8y-ngx-components-icon-selector-icons-hands.mjs","es2015":"./fesm2015/c8y-ngx-components-icon-selector-icons-hands.mjs","node":"./fesm2015/c8y-ngx-components-icon-selector-icons-hands.mjs","default":"./fesm2020/c8y-ngx-components-icon-selector-icons-hands.mjs"},"./icon-selector/icons/location":{"types":"./icon-selector/icons/location/index.d.ts","esm2020":"./esm2020/icon-selector/icons/location/c8y-ngx-components-icon-selector-icons-location.mjs","es2020":"./fesm2020/c8y-ngx-components-icon-selector-icons-location.mjs","es2015":"./fesm2015/c8y-ngx-components-icon-selector-icons-location.mjs","node":"./fesm2015/c8y-ngx-components-icon-selector-icons-location.mjs","default":"./fesm2020/c8y-ngx-components-icon-selector-icons-location.mjs"},"./icon-selector/icons/messaging":{"types":"./icon-selector/icons/messaging/index.d.ts","esm2020":"./esm2020/icon-selector/icons/messaging/c8y-ngx-components-icon-selector-icons-messaging.mjs","es2020":"./fesm2020/c8y-ngx-components-icon-selector-icons-messaging.mjs","es2015":"./fesm2015/c8y-ngx-components-icon-selector-icons-messaging.mjs","node":"./fesm2015/c8y-ngx-components-icon-selector-icons-messaging.mjs","default":"./fesm2020/c8y-ngx-components-icon-selector-icons-messaging.mjs"},"./icon-selector/icons/multimedia":{"types":"./icon-selector/icons/multimedia/index.d.ts","esm2020":"./esm2020/icon-selector/icons/multimedia/c8y-ngx-components-icon-selector-icons-multimedia.mjs","es2020":"./fesm2020/c8y-ngx-components-icon-selector-icons-multimedia.mjs","es2015":"./fesm2015/c8y-ngx-components-icon-selector-icons-multimedia.mjs","node":"./fesm2015/c8y-ngx-components-icon-selector-icons-multimedia.mjs","default":"./fesm2020/c8y-ngx-components-icon-selector-icons-multimedia.mjs"},"./icon-selector/icons/network":{"types":"./icon-selector/icons/network/index.d.ts","esm2020":"./esm2020/icon-selector/icons/network/c8y-ngx-components-icon-selector-icons-network.mjs","es2020":"./fesm2020/c8y-ngx-components-icon-selector-icons-network.mjs","es2015":"./fesm2015/c8y-ngx-components-icon-selector-icons-network.mjs","node":"./fesm2015/c8y-ngx-components-icon-selector-icons-network.mjs","default":"./fesm2020/c8y-ngx-components-icon-selector-icons-network.mjs"},"./icon-selector/icons":{"types":"./icon-selector/icons/index.d.ts","esm2020":"./esm2020/icon-selector/icons/c8y-ngx-components-icon-selector-icons.mjs","es2020":"./fesm2020/c8y-ngx-components-icon-selector-icons.mjs","es2015":"./fesm2015/c8y-ngx-components-icon-selector-icons.mjs","node":"./fesm2015/c8y-ngx-components-icon-selector-icons.mjs","default":"./fesm2020/c8y-ngx-components-icon-selector-icons.mjs"},"./icon-selector/icons/office":{"types":"./icon-selector/icons/office/index.d.ts","esm2020":"./esm2020/icon-selector/icons/office/c8y-ngx-components-icon-selector-icons-office.mjs","es2020":"./fesm2020/c8y-ngx-components-icon-selector-icons-office.mjs","es2015":"./fesm2015/c8y-ngx-components-icon-selector-icons-office.mjs","node":"./fesm2015/c8y-ngx-components-icon-selector-icons-office.mjs","default":"./fesm2020/c8y-ngx-components-icon-selector-icons-office.mjs"},"./icon-selector/icons/people":{"types":"./icon-selector/icons/people/index.d.ts","esm2020":"./esm2020/icon-selector/icons/people/c8y-ngx-components-icon-selector-icons-people.mjs","es2020":"./fesm2020/c8y-ngx-components-icon-selector-icons-people.mjs","es2015":"./fesm2015/c8y-ngx-components-icon-selector-icons-people.mjs","node":"./fesm2015/c8y-ngx-components-icon-selector-icons-people.mjs","default":"./fesm2020/c8y-ngx-components-icon-selector-icons-people.mjs"},"./icon-selector/icons/platform":{"types":"./icon-selector/icons/platform/index.d.ts","esm2020":"./esm2020/icon-selector/icons/platform/c8y-ngx-components-icon-selector-icons-platform.mjs","es2020":"./fesm2020/c8y-ngx-components-icon-selector-icons-platform.mjs","es2015":"./fesm2015/c8y-ngx-components-icon-selector-icons-platform.mjs","node":"./fesm2015/c8y-ngx-components-icon-selector-icons-platform.mjs","default":"./fesm2020/c8y-ngx-components-icon-selector-icons-platform.mjs"},"./icon-selector/icons/programming":{"types":"./icon-selector/icons/programming/index.d.ts","esm2020":"./esm2020/icon-selector/icons/programming/c8y-ngx-components-icon-selector-icons-programming.mjs","es2020":"./fesm2020/c8y-ngx-components-icon-selector-icons-programming.mjs","es2015":"./fesm2015/c8y-ngx-components-icon-selector-icons-programming.mjs","node":"./fesm2015/c8y-ngx-components-icon-selector-icons-programming.mjs","default":"./fesm2020/c8y-ngx-components-icon-selector-icons-programming.mjs"},"./icon-selector/icons/security":{"types":"./icon-selector/icons/security/index.d.ts","esm2020":"./esm2020/icon-selector/icons/security/c8y-ngx-components-icon-selector-icons-security.mjs","es2020":"./fesm2020/c8y-ngx-components-icon-selector-icons-security.mjs","es2015":"./fesm2015/c8y-ngx-components-icon-selector-icons-security.mjs","node":"./fesm2015/c8y-ngx-components-icon-selector-icons-security.mjs","default":"./fesm2020/c8y-ngx-components-icon-selector-icons-security.mjs"},"./icon-selector/icons/transport":{"types":"./icon-selector/icons/transport/index.d.ts","esm2020":"./esm2020/icon-selector/icons/transport/c8y-ngx-components-icon-selector-icons-transport.mjs","es2020":"./fesm2020/c8y-ngx-components-icon-selector-icons-transport.mjs","es2015":"./fesm2015/c8y-ngx-components-icon-selector-icons-transport.mjs","node":"./fesm2015/c8y-ngx-components-icon-selector-icons-transport.mjs","default":"./fesm2020/c8y-ngx-components-icon-selector-icons-transport.mjs"},"./icon-selector/icons/userInterface":{"types":"./icon-selector/icons/userInterface/index.d.ts","esm2020":"./esm2020/icon-selector/icons/userInterface/c8y-ngx-components-icon-selector-icons-userInterface.mjs","es2020":"./fesm2020/c8y-ngx-components-icon-selector-icons-userInterface.mjs","es2015":"./fesm2015/c8y-ngx-components-icon-selector-icons-userInterface.mjs","node":"./fesm2015/c8y-ngx-components-icon-selector-icons-userInterface.mjs","default":"./fesm2020/c8y-ngx-components-icon-selector-icons-userInterface.mjs"},"./icon-selector/icons/weather":{"types":"./icon-selector/icons/weather/index.d.ts","esm2020":"./esm2020/icon-selector/icons/weather/c8y-ngx-components-icon-selector-icons-weather.mjs","es2020":"./fesm2020/c8y-ngx-components-icon-selector-icons-weather.mjs","es2015":"./fesm2015/c8y-ngx-components-icon-selector-icons-weather.mjs","node":"./fesm2015/c8y-ngx-components-icon-selector-icons-weather.mjs","default":"./fesm2020/c8y-ngx-components-icon-selector-icons-weather.mjs"},"./icon-selector/model":{"types":"./icon-selector/model/index.d.ts","esm2020":"./esm2020/icon-selector/model/c8y-ngx-components-icon-selector-model.mjs","es2020":"./fesm2020/c8y-ngx-components-icon-selector-model.mjs","es2015":"./fesm2015/c8y-ngx-components-icon-selector-model.mjs","node":"./fesm2015/c8y-ngx-components-icon-selector-model.mjs","default":"./fesm2020/c8y-ngx-components-icon-selector-model.mjs"},"./icon-selector":{"types":"./icon-selector/index.d.ts","esm2020":"./esm2020/icon-selector/c8y-ngx-components-icon-selector.mjs","es2020":"./fesm2020/c8y-ngx-components-icon-selector.mjs","es2015":"./fesm2015/c8y-ngx-components-icon-selector.mjs","node":"./fesm2015/c8y-ngx-components-icon-selector.mjs","default":"./fesm2020/c8y-ngx-components-icon-selector.mjs"},"./lazy/three-orbit-controls":{"types":"./lazy/three-orbit-controls/index.d.ts","esm2020":"./esm2020/lazy/three-orbit-controls/c8y-ngx-components-lazy-three-orbit-controls.mjs","es2020":"./fesm2020/c8y-ngx-components-lazy-three-orbit-controls.mjs","es2015":"./fesm2015/c8y-ngx-components-lazy-three-orbit-controls.mjs","node":"./fesm2015/c8y-ngx-components-lazy-three-orbit-controls.mjs","default":"./fesm2020/c8y-ngx-components-lazy-three-orbit-controls.mjs"},"./lazy/three":{"types":"./lazy/three/index.d.ts","esm2020":"./esm2020/lazy/three/c8y-ngx-components-lazy-three.mjs","es2020":"./fesm2020/c8y-ngx-components-lazy-three.mjs","es2015":"./fesm2015/c8y-ngx-components-lazy-three.mjs","node":"./fesm2015/c8y-ngx-components-lazy-three.mjs","default":"./fesm2020/c8y-ngx-components-lazy-three.mjs"},"./loriot-device-registration":{"types":"./loriot-device-registration/index.d.ts","esm2020":"./esm2020/loriot-device-registration/c8y-ngx-components-loriot-device-registration.mjs","es2020":"./fesm2020/c8y-ngx-components-loriot-device-registration.mjs","es2015":"./fesm2015/c8y-ngx-components-loriot-device-registration.mjs","node":"./fesm2015/c8y-ngx-components-loriot-device-registration.mjs","default":"./fesm2020/c8y-ngx-components-loriot-device-registration.mjs"},"./map":{"types":"./map/index.d.ts","esm2020":"./esm2020/map/c8y-ngx-components-map.mjs","es2020":"./fesm2020/c8y-ngx-components-map.mjs","es2015":"./fesm2015/c8y-ngx-components-map.mjs","node":"./fesm2015/c8y-ngx-components-map.mjs","default":"./fesm2020/c8y-ngx-components-map.mjs"},"./operations/bulk-operation-from-single":{"types":"./operations/bulk-operation-from-single/index.d.ts","esm2020":"./esm2020/operations/bulk-operation-from-single/c8y-ngx-components-operations-bulk-operation-from-single.mjs","es2020":"./fesm2020/c8y-ngx-components-operations-bulk-operation-from-single.mjs","es2015":"./fesm2015/c8y-ngx-components-operations-bulk-operation-from-single.mjs","node":"./fesm2015/c8y-ngx-components-operations-bulk-operation-from-single.mjs","default":"./fesm2020/c8y-ngx-components-operations-bulk-operation-from-single.mjs"},"./operations/bulk-operation-list-item":{"types":"./operations/bulk-operation-list-item/index.d.ts","esm2020":"./esm2020/operations/bulk-operation-list-item/c8y-ngx-components-operations-bulk-operation-list-item.mjs","es2020":"./fesm2020/c8y-ngx-components-operations-bulk-operation-list-item.mjs","es2015":"./fesm2015/c8y-ngx-components-operations-bulk-operation-list-item.mjs","node":"./fesm2015/c8y-ngx-components-operations-bulk-operation-list-item.mjs","default":"./fesm2020/c8y-ngx-components-operations-bulk-operation-list-item.mjs"},"./operations/bulk-operation-modal-details":{"types":"./operations/bulk-operation-modal-details/index.d.ts","esm2020":"./esm2020/operations/bulk-operation-modal-details/c8y-ngx-components-operations-bulk-operation-modal-details.mjs","es2020":"./fesm2020/c8y-ngx-components-operations-bulk-operation-modal-details.mjs","es2015":"./fesm2015/c8y-ngx-components-operations-bulk-operation-modal-details.mjs","node":"./fesm2015/c8y-ngx-components-operations-bulk-operation-modal-details.mjs","default":"./fesm2020/c8y-ngx-components-operations-bulk-operation-modal-details.mjs"},"./operations/bulk-operation-scheduler":{"types":"./operations/bulk-operation-scheduler/index.d.ts","esm2020":"./esm2020/operations/bulk-operation-scheduler/c8y-ngx-components-operations-bulk-operation-scheduler.mjs","es2020":"./fesm2020/c8y-ngx-components-operations-bulk-operation-scheduler.mjs","es2015":"./fesm2015/c8y-ngx-components-operations-bulk-operation-scheduler.mjs","node":"./fesm2015/c8y-ngx-components-operations-bulk-operation-scheduler.mjs","default":"./fesm2020/c8y-ngx-components-operations-bulk-operation-scheduler.mjs"},"./operations/bulk-operation-stepper":{"types":"./operations/bulk-operation-stepper/index.d.ts","esm2020":"./esm2020/operations/bulk-operation-stepper/c8y-ngx-components-operations-bulk-operation-stepper.mjs","es2020":"./fesm2020/c8y-ngx-components-operations-bulk-operation-stepper.mjs","es2015":"./fesm2015/c8y-ngx-components-operations-bulk-operation-stepper.mjs","node":"./fesm2015/c8y-ngx-components-operations-bulk-operation-stepper.mjs","default":"./fesm2020/c8y-ngx-components-operations-bulk-operation-stepper.mjs"},"./operations/bulk-operations-list":{"types":"./operations/bulk-operations-list/index.d.ts","esm2020":"./esm2020/operations/bulk-operations-list/c8y-ngx-components-operations-bulk-operations-list.mjs","es2020":"./fesm2020/c8y-ngx-components-operations-bulk-operations-list.mjs","es2015":"./fesm2015/c8y-ngx-components-operations-bulk-operations-list.mjs","node":"./fesm2015/c8y-ngx-components-operations-bulk-operations-list.mjs","default":"./fesm2020/c8y-ngx-components-operations-bulk-operations-list.mjs"},"./operations/bulk-operations-service":{"types":"./operations/bulk-operations-service/index.d.ts","esm2020":"./esm2020/operations/bulk-operations-service/c8y-ngx-components-operations-bulk-operations-service.mjs","es2020":"./fesm2020/c8y-ngx-components-operations-bulk-operations-service.mjs","es2015":"./fesm2015/c8y-ngx-components-operations-bulk-operations-service.mjs","node":"./fesm2015/c8y-ngx-components-operations-bulk-operations-service.mjs","default":"./fesm2020/c8y-ngx-components-operations-bulk-operations-service.mjs"},"./operations/bulk-operations-stepper-container":{"types":"./operations/bulk-operations-stepper-container/index.d.ts","esm2020":"./esm2020/operations/bulk-operations-stepper-container/c8y-ngx-components-operations-bulk-operations-stepper-container.mjs","es2020":"./fesm2020/c8y-ngx-components-operations-bulk-operations-stepper-container.mjs","es2015":"./fesm2015/c8y-ngx-components-operations-bulk-operations-stepper-container.mjs","node":"./fesm2015/c8y-ngx-components-operations-bulk-operations-stepper-container.mjs","default":"./fesm2020/c8y-ngx-components-operations-bulk-operations-stepper-container.mjs"},"./operations/bulk-single-operations-list":{"types":"./operations/bulk-single-operations-list/index.d.ts","esm2020":"./esm2020/operations/bulk-single-operations-list/c8y-ngx-components-operations-bulk-single-operations-list.mjs","es2020":"./fesm2020/c8y-ngx-components-operations-bulk-single-operations-list.mjs","es2015":"./fesm2015/c8y-ngx-components-operations-bulk-single-operations-list.mjs","node":"./fesm2015/c8y-ngx-components-operations-bulk-single-operations-list.mjs","default":"./fesm2020/c8y-ngx-components-operations-bulk-single-operations-list.mjs"},"./operations/create-bulk-operation-details":{"types":"./operations/create-bulk-operation-details/index.d.ts","esm2020":"./esm2020/operations/create-bulk-operation-details/c8y-ngx-components-operations-create-bulk-operation-details.mjs","es2020":"./fesm2020/c8y-ngx-components-operations-create-bulk-operation-details.mjs","es2015":"./fesm2015/c8y-ngx-components-operations-create-bulk-operation-details.mjs","node":"./fesm2015/c8y-ngx-components-operations-create-bulk-operation-details.mjs","default":"./fesm2020/c8y-ngx-components-operations-create-bulk-operation-details.mjs"},"./operations/device-selector":{"types":"./operations/device-selector/index.d.ts","esm2020":"./esm2020/operations/device-selector/c8y-ngx-components-operations-device-selector.mjs","es2020":"./fesm2020/c8y-ngx-components-operations-device-selector.mjs","es2015":"./fesm2015/c8y-ngx-components-operations-device-selector.mjs","node":"./fesm2015/c8y-ngx-components-operations-device-selector.mjs","default":"./fesm2020/c8y-ngx-components-operations-device-selector.mjs"},"./operations":{"types":"./operations/index.d.ts","esm2020":"./esm2020/operations/c8y-ngx-components-operations.mjs","es2020":"./fesm2020/c8y-ngx-components-operations.mjs","es2015":"./fesm2015/c8y-ngx-components-operations.mjs","node":"./fesm2015/c8y-ngx-components-operations.mjs","default":"./fesm2020/c8y-ngx-components-operations.mjs"},"./operations/operation-details":{"types":"./operations/operation-details/index.d.ts","esm2020":"./esm2020/operations/operation-details/c8y-ngx-components-operations-operation-details.mjs","es2020":"./fesm2020/c8y-ngx-components-operations-operation-details.mjs","es2015":"./fesm2015/c8y-ngx-components-operations-operation-details.mjs","node":"./fesm2015/c8y-ngx-components-operations-operation-details.mjs","default":"./fesm2020/c8y-ngx-components-operations-operation-details.mjs"},"./operations/operation-summary":{"types":"./operations/operation-summary/index.d.ts","esm2020":"./esm2020/operations/operation-summary/c8y-ngx-components-operations-operation-summary.mjs","es2020":"./fesm2020/c8y-ngx-components-operations-operation-summary.mjs","es2015":"./fesm2015/c8y-ngx-components-operations-operation-summary.mjs","node":"./fesm2015/c8y-ngx-components-operations-operation-summary.mjs","default":"./fesm2020/c8y-ngx-components-operations-operation-summary.mjs"},"./operations/operations-list-item-details":{"types":"./operations/operations-list-item-details/index.d.ts","esm2020":"./esm2020/operations/operations-list-item-details/c8y-ngx-components-operations-operations-list-item-details.mjs","es2020":"./fesm2020/c8y-ngx-components-operations-operations-list-item-details.mjs","es2015":"./fesm2015/c8y-ngx-components-operations-operations-list-item-details.mjs","node":"./fesm2015/c8y-ngx-components-operations-operations-list-item-details.mjs","default":"./fesm2020/c8y-ngx-components-operations-operations-list-item-details.mjs"},"./operations/operations-list":{"types":"./operations/operations-list/index.d.ts","esm2020":"./esm2020/operations/operations-list/c8y-ngx-components-operations-operations-list.mjs","es2020":"./fesm2020/c8y-ngx-components-operations-operations-list.mjs","es2015":"./fesm2015/c8y-ngx-components-operations-operations-list.mjs","node":"./fesm2015/c8y-ngx-components-operations-operations-list.mjs","default":"./fesm2020/c8y-ngx-components-operations-operations-list.mjs"},"./operations/operations-timeline":{"types":"./operations/operations-timeline/index.d.ts","esm2020":"./esm2020/operations/operations-timeline/c8y-ngx-components-operations-operations-timeline.mjs","es2020":"./fesm2020/c8y-ngx-components-operations-operations-timeline.mjs","es2015":"./fesm2015/c8y-ngx-components-operations-operations-timeline.mjs","node":"./fesm2015/c8y-ngx-components-operations-operations-timeline.mjs","default":"./fesm2020/c8y-ngx-components-operations-operations-timeline.mjs"},"./operations/product-experience":{"types":"./operations/product-experience/index.d.ts","esm2020":"./esm2020/operations/product-experience/c8y-ngx-components-operations-product-experience.mjs","es2020":"./fesm2020/c8y-ngx-components-operations-product-experience.mjs","es2015":"./fesm2015/c8y-ngx-components-operations-product-experience.mjs","node":"./fesm2015/c8y-ngx-components-operations-product-experience.mjs","default":"./fesm2020/c8y-ngx-components-operations-product-experience.mjs"},"./operations/shared":{"types":"./operations/shared/index.d.ts","esm2020":"./esm2020/operations/shared/c8y-ngx-components-operations-shared.mjs","es2020":"./fesm2020/c8y-ngx-components-operations-shared.mjs","es2015":"./fesm2015/c8y-ngx-components-operations-shared.mjs","node":"./fesm2015/c8y-ngx-components-operations-shared.mjs","default":"./fesm2020/c8y-ngx-components-operations-shared.mjs"},"./operations/status-filter":{"types":"./operations/status-filter/index.d.ts","esm2020":"./esm2020/operations/status-filter/c8y-ngx-components-operations-status-filter.mjs","es2020":"./fesm2020/c8y-ngx-components-operations-status-filter.mjs","es2015":"./fesm2015/c8y-ngx-components-operations-status-filter.mjs","node":"./fesm2015/c8y-ngx-components-operations-status-filter.mjs","default":"./fesm2020/c8y-ngx-components-operations-status-filter.mjs"},"./operations/stepper-bulk-type-configuration":{"types":"./operations/stepper-bulk-type-configuration/index.d.ts","esm2020":"./esm2020/operations/stepper-bulk-type-configuration/c8y-ngx-components-operations-stepper-bulk-type-configuration.mjs","es2020":"./fesm2020/c8y-ngx-components-operations-stepper-bulk-type-configuration.mjs","es2015":"./fesm2015/c8y-ngx-components-operations-stepper-bulk-type-configuration.mjs","node":"./fesm2015/c8y-ngx-components-operations-stepper-bulk-type-configuration.mjs","default":"./fesm2020/c8y-ngx-components-operations-stepper-bulk-type-configuration.mjs"},"./operations/stepper-bulk-type-device-profile":{"types":"./operations/stepper-bulk-type-device-profile/index.d.ts","esm2020":"./esm2020/operations/stepper-bulk-type-device-profile/c8y-ngx-components-operations-stepper-bulk-type-device-profile.mjs","es2020":"./fesm2020/c8y-ngx-components-operations-stepper-bulk-type-device-profile.mjs","es2015":"./fesm2015/c8y-ngx-components-operations-stepper-bulk-type-device-profile.mjs","node":"./fesm2015/c8y-ngx-components-operations-stepper-bulk-type-device-profile.mjs","default":"./fesm2020/c8y-ngx-components-operations-stepper-bulk-type-device-profile.mjs"},"./operations/stepper-bulk-type-firmware":{"types":"./operations/stepper-bulk-type-firmware/index.d.ts","esm2020":"./esm2020/operations/stepper-bulk-type-firmware/c8y-ngx-components-operations-stepper-bulk-type-firmware.mjs","es2020":"./fesm2020/c8y-ngx-components-operations-stepper-bulk-type-firmware.mjs","es2015":"./fesm2015/c8y-ngx-components-operations-stepper-bulk-type-firmware.mjs","node":"./fesm2015/c8y-ngx-components-operations-stepper-bulk-type-firmware.mjs","default":"./fesm2020/c8y-ngx-components-operations-stepper-bulk-type-firmware.mjs"},"./operations/stepper-bulk-type-software":{"types":"./operations/stepper-bulk-type-software/index.d.ts","esm2020":"./esm2020/operations/stepper-bulk-type-software/c8y-ngx-components-operations-stepper-bulk-type-software.mjs","es2020":"./fesm2020/c8y-ngx-components-operations-stepper-bulk-type-software.mjs","es2015":"./fesm2015/c8y-ngx-components-operations-stepper-bulk-type-software.mjs","node":"./fesm2015/c8y-ngx-components-operations-stepper-bulk-type-software.mjs","default":"./fesm2020/c8y-ngx-components-operations-stepper-bulk-type-software.mjs"},"./operations/stepper-frames":{"types":"./operations/stepper-frames/index.d.ts","esm2020":"./esm2020/operations/stepper-frames/c8y-ngx-components-operations-stepper-frames.mjs","es2020":"./fesm2020/c8y-ngx-components-operations-stepper-frames.mjs","es2015":"./fesm2015/c8y-ngx-components-operations-stepper-frames.mjs","node":"./fesm2015/c8y-ngx-components-operations-stepper-frames.mjs","default":"./fesm2020/c8y-ngx-components-operations-stepper-frames.mjs"},"./polyfills":{"types":"./polyfills/index.d.ts","esm2020":"./esm2020/polyfills/c8y-ngx-components-polyfills.mjs","es2020":"./fesm2020/c8y-ngx-components-polyfills.mjs","es2015":"./fesm2015/c8y-ngx-components-polyfills.mjs","node":"./fesm2015/c8y-ngx-components-polyfills.mjs","default":"./fesm2020/c8y-ngx-components-polyfills.mjs"},"./protocol-impact":{"types":"./protocol-impact/index.d.ts","esm2020":"./esm2020/protocol-impact/c8y-ngx-components-protocol-impact.mjs","es2020":"./fesm2020/c8y-ngx-components-protocol-impact.mjs","es2015":"./fesm2015/c8y-ngx-components-protocol-impact.mjs","node":"./fesm2015/c8y-ngx-components-protocol-impact.mjs","default":"./fesm2020/c8y-ngx-components-protocol-impact.mjs"},"./protocol-lpwan":{"types":"./protocol-lpwan/index.d.ts","esm2020":"./esm2020/protocol-lpwan/c8y-ngx-components-protocol-lpwan.mjs","es2020":"./fesm2020/c8y-ngx-components-protocol-lpwan.mjs","es2015":"./fesm2015/c8y-ngx-components-protocol-lpwan.mjs","node":"./fesm2015/c8y-ngx-components-protocol-lpwan.mjs","default":"./fesm2020/c8y-ngx-components-protocol-lpwan.mjs"},"./protocol-lwm2m/components/bootstrap-parameters":{"types":"./protocol-lwm2m/components/bootstrap-parameters/index.d.ts","esm2020":"./esm2020/protocol-lwm2m/components/bootstrap-parameters/c8y-ngx-components-protocol-lwm2m-components-bootstrap-parameters.mjs","es2020":"./fesm2020/c8y-ngx-components-protocol-lwm2m-components-bootstrap-parameters.mjs","es2015":"./fesm2015/c8y-ngx-components-protocol-lwm2m-components-bootstrap-parameters.mjs","node":"./fesm2015/c8y-ngx-components-protocol-lwm2m-components-bootstrap-parameters.mjs","default":"./fesm2020/c8y-ngx-components-protocol-lwm2m-components-bootstrap-parameters.mjs"},"./protocol-lwm2m/components/post-registration-operations":{"types":"./protocol-lwm2m/components/post-registration-operations/index.d.ts","esm2020":"./esm2020/protocol-lwm2m/components/post-registration-operations/c8y-ngx-components-protocol-lwm2m-components-post-registration-operations.mjs","es2020":"./fesm2020/c8y-ngx-components-protocol-lwm2m-components-post-registration-operations.mjs","es2015":"./fesm2015/c8y-ngx-components-protocol-lwm2m-components-post-registration-operations.mjs","node":"./fesm2015/c8y-ngx-components-protocol-lwm2m-components-post-registration-operations.mjs","default":"./fesm2020/c8y-ngx-components-protocol-lwm2m-components-post-registration-operations.mjs"},"./protocol-lwm2m/factories":{"types":"./protocol-lwm2m/factories/index.d.ts","esm2020":"./esm2020/protocol-lwm2m/factories/c8y-ngx-components-protocol-lwm2m-factories.mjs","es2020":"./fesm2020/c8y-ngx-components-protocol-lwm2m-factories.mjs","es2015":"./fesm2015/c8y-ngx-components-protocol-lwm2m-factories.mjs","node":"./fesm2015/c8y-ngx-components-protocol-lwm2m-factories.mjs","default":"./fesm2020/c8y-ngx-components-protocol-lwm2m-factories.mjs"},"./protocol-lwm2m/guards":{"types":"./protocol-lwm2m/guards/index.d.ts","esm2020":"./esm2020/protocol-lwm2m/guards/c8y-ngx-components-protocol-lwm2m-guards.mjs","es2020":"./fesm2020/c8y-ngx-components-protocol-lwm2m-guards.mjs","es2015":"./fesm2015/c8y-ngx-components-protocol-lwm2m-guards.mjs","node":"./fesm2015/c8y-ngx-components-protocol-lwm2m-guards.mjs","default":"./fesm2020/c8y-ngx-components-protocol-lwm2m-guards.mjs"},"./protocol-lwm2m/model":{"types":"./protocol-lwm2m/model/index.d.ts","esm2020":"./esm2020/protocol-lwm2m/model/c8y-ngx-components-protocol-lwm2m-model.mjs","es2020":"./fesm2020/c8y-ngx-components-protocol-lwm2m-model.mjs","es2015":"./fesm2015/c8y-ngx-components-protocol-lwm2m-model.mjs","node":"./fesm2015/c8y-ngx-components-protocol-lwm2m-model.mjs","default":"./fesm2020/c8y-ngx-components-protocol-lwm2m-model.mjs"},"./protocol-lwm2m":{"types":"./protocol-lwm2m/index.d.ts","esm2020":"./esm2020/protocol-lwm2m/c8y-ngx-components-protocol-lwm2m.mjs","es2020":"./fesm2020/c8y-ngx-components-protocol-lwm2m.mjs","es2015":"./fesm2015/c8y-ngx-components-protocol-lwm2m.mjs","node":"./fesm2015/c8y-ngx-components-protocol-lwm2m.mjs","default":"./fesm2020/c8y-ngx-components-protocol-lwm2m.mjs"},"./protocol-lwm2m/services":{"types":"./protocol-lwm2m/services/index.d.ts","esm2020":"./esm2020/protocol-lwm2m/services/c8y-ngx-components-protocol-lwm2m-services.mjs","es2020":"./fesm2020/c8y-ngx-components-protocol-lwm2m-services.mjs","es2015":"./fesm2015/c8y-ngx-components-protocol-lwm2m-services.mjs","node":"./fesm2015/c8y-ngx-components-protocol-lwm2m-services.mjs","default":"./fesm2020/c8y-ngx-components-protocol-lwm2m-services.mjs"},"./protocol-opcua":{"types":"./protocol-opcua/index.d.ts","esm2020":"./esm2020/protocol-opcua/c8y-ngx-components-protocol-opcua.mjs","es2020":"./fesm2020/c8y-ngx-components-protocol-opcua.mjs","es2015":"./fesm2015/c8y-ngx-components-protocol-opcua.mjs","node":"./fesm2015/c8y-ngx-components-protocol-opcua.mjs","default":"./fesm2020/c8y-ngx-components-protocol-opcua.mjs"},"./register-device":{"types":"./register-device/index.d.ts","esm2020":"./esm2020/register-device/c8y-ngx-components-register-device.mjs","es2020":"./fesm2020/c8y-ngx-components-register-device.mjs","es2015":"./fesm2015/c8y-ngx-components-register-device.mjs","node":"./fesm2015/c8y-ngx-components-register-device.mjs","default":"./fesm2020/c8y-ngx-components-register-device.mjs"},"./reports":{"types":"./reports/index.d.ts","esm2020":"./esm2020/reports/c8y-ngx-components-reports.mjs","es2020":"./fesm2020/c8y-ngx-components-reports.mjs","es2015":"./fesm2015/c8y-ngx-components-reports.mjs","node":"./fesm2015/c8y-ngx-components-reports.mjs","default":"./fesm2020/c8y-ngx-components-reports.mjs"},"./repository/configuration":{"types":"./repository/configuration/index.d.ts","esm2020":"./esm2020/repository/configuration/c8y-ngx-components-repository-configuration.mjs","es2020":"./fesm2020/c8y-ngx-components-repository-configuration.mjs","es2015":"./fesm2015/c8y-ngx-components-repository-configuration.mjs","node":"./fesm2015/c8y-ngx-components-repository-configuration.mjs","default":"./fesm2020/c8y-ngx-components-repository-configuration.mjs"},"./repository/firmware":{"types":"./repository/firmware/index.d.ts","esm2020":"./esm2020/repository/firmware/c8y-ngx-components-repository-firmware.mjs","es2020":"./fesm2020/c8y-ngx-components-repository-firmware.mjs","es2015":"./fesm2015/c8y-ngx-components-repository-firmware.mjs","node":"./fesm2015/c8y-ngx-components-repository-firmware.mjs","default":"./fesm2020/c8y-ngx-components-repository-firmware.mjs"},"./repository":{"types":"./repository/index.d.ts","esm2020":"./esm2020/repository/c8y-ngx-components-repository.mjs","es2020":"./fesm2020/c8y-ngx-components-repository.mjs","es2015":"./fesm2015/c8y-ngx-components-repository.mjs","node":"./fesm2015/c8y-ngx-components-repository.mjs","default":"./fesm2020/c8y-ngx-components-repository.mjs"},"./repository/shared":{"types":"./repository/shared/index.d.ts","esm2020":"./esm2020/repository/shared/c8y-ngx-components-repository-shared.mjs","es2020":"./fesm2020/c8y-ngx-components-repository-shared.mjs","es2015":"./fesm2015/c8y-ngx-components-repository-shared.mjs","node":"./fesm2015/c8y-ngx-components-repository-shared.mjs","default":"./fesm2020/c8y-ngx-components-repository-shared.mjs"},"./repository/software":{"types":"./repository/software/index.d.ts","esm2020":"./esm2020/repository/software/c8y-ngx-components-repository-software.mjs","es2020":"./fesm2020/c8y-ngx-components-repository-software.mjs","es2015":"./fesm2015/c8y-ngx-components-repository-software.mjs","node":"./fesm2015/c8y-ngx-components-repository-software.mjs","default":"./fesm2020/c8y-ngx-components-repository-software.mjs"},"./search":{"types":"./search/index.d.ts","esm2020":"./esm2020/search/c8y-ngx-components-search.mjs","es2020":"./fesm2020/c8y-ngx-components-search.mjs","es2015":"./fesm2015/c8y-ngx-components-search.mjs","node":"./fesm2015/c8y-ngx-components-search.mjs","default":"./fesm2020/c8y-ngx-components-search.mjs"},"./sensor-phone":{"types":"./sensor-phone/index.d.ts","esm2020":"./esm2020/sensor-phone/c8y-ngx-components-sensor-phone.mjs","es2020":"./fesm2020/c8y-ngx-components-sensor-phone.mjs","es2015":"./fesm2015/c8y-ngx-components-sensor-phone.mjs","node":"./fesm2015/c8y-ngx-components-sensor-phone.mjs","default":"./fesm2020/c8y-ngx-components-sensor-phone.mjs"},"./sensor-phone/sensor-phone-modal":{"types":"./sensor-phone/sensor-phone-modal/index.d.ts","esm2020":"./esm2020/sensor-phone/sensor-phone-modal/c8y-ngx-components-sensor-phone-sensor-phone-modal.mjs","es2020":"./fesm2020/c8y-ngx-components-sensor-phone-sensor-phone-modal.mjs","es2015":"./fesm2015/c8y-ngx-components-sensor-phone-sensor-phone-modal.mjs","node":"./fesm2015/c8y-ngx-components-sensor-phone-sensor-phone-modal.mjs","default":"./fesm2020/c8y-ngx-components-sensor-phone-sensor-phone-modal.mjs"},"./services":{"types":"./services/index.d.ts","esm2020":"./esm2020/services/c8y-ngx-components-services.mjs","es2020":"./fesm2020/c8y-ngx-components-services.mjs","es2015":"./fesm2015/c8y-ngx-components-services.mjs","node":"./fesm2015/c8y-ngx-components-services.mjs","default":"./fesm2020/c8y-ngx-components-services.mjs"},"./sigfox-device-registration":{"types":"./sigfox-device-registration/index.d.ts","esm2020":"./esm2020/sigfox-device-registration/c8y-ngx-components-sigfox-device-registration.mjs","es2020":"./fesm2020/c8y-ngx-components-sigfox-device-registration.mjs","es2015":"./fesm2015/c8y-ngx-components-sigfox-device-registration.mjs","node":"./fesm2015/c8y-ngx-components-sigfox-device-registration.mjs","default":"./fesm2020/c8y-ngx-components-sigfox-device-registration.mjs"},"./sms-gateway":{"types":"./sms-gateway/index.d.ts","esm2020":"./esm2020/sms-gateway/c8y-ngx-components-sms-gateway.mjs","es2020":"./fesm2020/c8y-ngx-components-sms-gateway.mjs","es2015":"./fesm2015/c8y-ngx-components-sms-gateway.mjs","node":"./fesm2015/c8y-ngx-components-sms-gateway.mjs","default":"./fesm2020/c8y-ngx-components-sms-gateway.mjs"},"./sub-assets":{"types":"./sub-assets/index.d.ts","esm2020":"./esm2020/sub-assets/c8y-ngx-components-sub-assets.mjs","es2020":"./fesm2020/c8y-ngx-components-sub-assets.mjs","es2015":"./fesm2015/c8y-ngx-components-sub-assets.mjs","node":"./fesm2015/c8y-ngx-components-sub-assets.mjs","default":"./fesm2020/c8y-ngx-components-sub-assets.mjs"},"./tenants":{"types":"./tenants/index.d.ts","esm2020":"./esm2020/tenants/c8y-ngx-components-tenants.mjs","es2020":"./fesm2020/c8y-ngx-components-tenants.mjs","es2015":"./fesm2015/c8y-ngx-components-tenants.mjs","node":"./fesm2015/c8y-ngx-components-tenants.mjs","default":"./fesm2020/c8y-ngx-components-tenants.mjs"},"./trusted-certificates":{"types":"./trusted-certificates/index.d.ts","esm2020":"./esm2020/trusted-certificates/c8y-ngx-components-trusted-certificates.mjs","es2020":"./fesm2020/c8y-ngx-components-trusted-certificates.mjs","es2015":"./fesm2015/c8y-ngx-components-trusted-certificates.mjs","node":"./fesm2015/c8y-ngx-components-trusted-certificates.mjs","default":"./fesm2020/c8y-ngx-components-trusted-certificates.mjs"},"./upgrade":{"types":"./upgrade/index.d.ts","esm2020":"./esm2020/upgrade/c8y-ngx-components-upgrade.mjs","es2020":"./fesm2020/c8y-ngx-components-upgrade.mjs","es2015":"./fesm2015/c8y-ngx-components-upgrade.mjs","node":"./fesm2015/c8y-ngx-components-upgrade.mjs","default":"./fesm2020/c8y-ngx-components-upgrade.mjs"},"./widgets/cockpit":{"types":"./widgets/cockpit/index.d.ts","esm2020":"./esm2020/widgets/cockpit/c8y-ngx-components-widgets-cockpit.mjs","es2020":"./fesm2020/c8y-ngx-components-widgets-cockpit.mjs","es2015":"./fesm2015/c8y-ngx-components-widgets-cockpit.mjs","node":"./fesm2015/c8y-ngx-components-widgets-cockpit.mjs","default":"./fesm2020/c8y-ngx-components-widgets-cockpit.mjs"},"./widgets/definitions/cockpit-legacy-welcome":{"types":"./widgets/definitions/cockpit-legacy-welcome/index.d.ts","esm2020":"./esm2020/widgets/definitions/cockpit-legacy-welcome/c8y-ngx-components-widgets-definitions-cockpit-legacy-welcome.mjs","es2020":"./fesm2020/c8y-ngx-components-widgets-definitions-cockpit-legacy-welcome.mjs","es2015":"./fesm2015/c8y-ngx-components-widgets-definitions-cockpit-legacy-welcome.mjs","node":"./fesm2015/c8y-ngx-components-widgets-definitions-cockpit-legacy-welcome.mjs","default":"./fesm2020/c8y-ngx-components-widgets-definitions-cockpit-legacy-welcome.mjs"},"./widgets/definitions/cockpit-welcome":{"types":"./widgets/definitions/cockpit-welcome/index.d.ts","esm2020":"./esm2020/widgets/definitions/cockpit-welcome/c8y-ngx-components-widgets-definitions-cockpit-welcome.mjs","es2020":"./fesm2020/c8y-ngx-components-widgets-definitions-cockpit-welcome.mjs","es2015":"./fesm2015/c8y-ngx-components-widgets-definitions-cockpit-welcome.mjs","node":"./fesm2015/c8y-ngx-components-widgets-definitions-cockpit-welcome.mjs","default":"./fesm2020/c8y-ngx-components-widgets-definitions-cockpit-welcome.mjs"},"./widgets/definitions/device-management-welcome":{"types":"./widgets/definitions/device-management-welcome/index.d.ts","esm2020":"./esm2020/widgets/definitions/device-management-welcome/c8y-ngx-components-widgets-definitions-device-management-welcome.mjs","es2020":"./fesm2020/c8y-ngx-components-widgets-definitions-device-management-welcome.mjs","es2015":"./fesm2015/c8y-ngx-components-widgets-definitions-device-management-welcome.mjs","node":"./fesm2015/c8y-ngx-components-widgets-definitions-device-management-welcome.mjs","default":"./fesm2020/c8y-ngx-components-widgets-definitions-device-management-welcome.mjs"},"./widgets/definitions/help-and-service":{"types":"./widgets/definitions/help-and-service/index.d.ts","esm2020":"./esm2020/widgets/definitions/help-and-service/c8y-ngx-components-widgets-definitions-help-and-service.mjs","es2020":"./fesm2020/c8y-ngx-components-widgets-definitions-help-and-service.mjs","es2015":"./fesm2015/c8y-ngx-components-widgets-definitions-help-and-service.mjs","node":"./fesm2015/c8y-ngx-components-widgets-definitions-help-and-service.mjs","default":"./fesm2020/c8y-ngx-components-widgets-definitions-help-and-service.mjs"},"./widgets/definitions/image":{"types":"./widgets/definitions/image/index.d.ts","esm2020":"./esm2020/widgets/definitions/image/c8y-ngx-components-widgets-definitions-image.mjs","es2020":"./fesm2020/c8y-ngx-components-widgets-definitions-image.mjs","es2015":"./fesm2015/c8y-ngx-components-widgets-definitions-image.mjs","node":"./fesm2015/c8y-ngx-components-widgets-definitions-image.mjs","default":"./fesm2020/c8y-ngx-components-widgets-definitions-image.mjs"},"./widgets/definitions/kpi":{"types":"./widgets/definitions/kpi/index.d.ts","esm2020":"./esm2020/widgets/definitions/kpi/c8y-ngx-components-widgets-definitions-kpi.mjs","es2020":"./fesm2020/c8y-ngx-components-widgets-definitions-kpi.mjs","es2015":"./fesm2015/c8y-ngx-components-widgets-definitions-kpi.mjs","node":"./fesm2015/c8y-ngx-components-widgets-definitions-kpi.mjs","default":"./fesm2020/c8y-ngx-components-widgets-definitions-kpi.mjs"},"./widgets/definitions/map":{"types":"./widgets/definitions/map/index.d.ts","esm2020":"./esm2020/widgets/definitions/map/c8y-ngx-components-widgets-definitions-map.mjs","es2020":"./fesm2020/c8y-ngx-components-widgets-definitions-map.mjs","es2015":"./fesm2015/c8y-ngx-components-widgets-definitions-map.mjs","node":"./fesm2015/c8y-ngx-components-widgets-definitions-map.mjs","default":"./fesm2020/c8y-ngx-components-widgets-definitions-map.mjs"},"./widgets/definitions/markdown":{"types":"./widgets/definitions/markdown/index.d.ts","esm2020":"./esm2020/widgets/definitions/markdown/c8y-ngx-components-widgets-definitions-markdown.mjs","es2020":"./fesm2020/c8y-ngx-components-widgets-definitions-markdown.mjs","es2015":"./fesm2015/c8y-ngx-components-widgets-definitions-markdown.mjs","node":"./fesm2015/c8y-ngx-components-widgets-definitions-markdown.mjs","default":"./fesm2020/c8y-ngx-components-widgets-definitions-markdown.mjs"},"./widgets/definitions":{"types":"./widgets/definitions/index.d.ts","esm2020":"./esm2020/widgets/definitions/c8y-ngx-components-widgets-definitions.mjs","es2020":"./fesm2020/c8y-ngx-components-widgets-definitions.mjs","es2015":"./fesm2015/c8y-ngx-components-widgets-definitions.mjs","node":"./fesm2015/c8y-ngx-components-widgets-definitions.mjs","default":"./fesm2020/c8y-ngx-components-widgets-definitions.mjs"},"./widgets/definitions/three-d-rotation":{"types":"./widgets/definitions/three-d-rotation/index.d.ts","esm2020":"./esm2020/widgets/definitions/three-d-rotation/c8y-ngx-components-widgets-definitions-three-d-rotation.mjs","es2020":"./fesm2020/c8y-ngx-components-widgets-definitions-three-d-rotation.mjs","es2015":"./fesm2015/c8y-ngx-components-widgets-definitions-three-d-rotation.mjs","node":"./fesm2015/c8y-ngx-components-widgets-definitions-three-d-rotation.mjs","default":"./fesm2020/c8y-ngx-components-widgets-definitions-three-d-rotation.mjs"},"./widgets/device-management":{"types":"./widgets/device-management/index.d.ts","esm2020":"./esm2020/widgets/device-management/c8y-ngx-components-widgets-device-management.mjs","es2020":"./fesm2020/c8y-ngx-components-widgets-device-management.mjs","es2015":"./fesm2015/c8y-ngx-components-widgets-device-management.mjs","node":"./fesm2015/c8y-ngx-components-widgets-device-management.mjs","default":"./fesm2020/c8y-ngx-components-widgets-device-management.mjs"},"./widgets/implementations/cockpit-legacy-welcome":{"types":"./widgets/implementations/cockpit-legacy-welcome/index.d.ts","esm2020":"./esm2020/widgets/implementations/cockpit-legacy-welcome/c8y-ngx-components-widgets-implementations-cockpit-legacy-welcome.mjs","es2020":"./fesm2020/c8y-ngx-components-widgets-implementations-cockpit-legacy-welcome.mjs","es2015":"./fesm2015/c8y-ngx-components-widgets-implementations-cockpit-legacy-welcome.mjs","node":"./fesm2015/c8y-ngx-components-widgets-implementations-cockpit-legacy-welcome.mjs","default":"./fesm2020/c8y-ngx-components-widgets-implementations-cockpit-legacy-welcome.mjs"},"./widgets/implementations/cockpit-welcome":{"types":"./widgets/implementations/cockpit-welcome/index.d.ts","esm2020":"./esm2020/widgets/implementations/cockpit-welcome/c8y-ngx-components-widgets-implementations-cockpit-welcome.mjs","es2020":"./fesm2020/c8y-ngx-components-widgets-implementations-cockpit-welcome.mjs","es2015":"./fesm2015/c8y-ngx-components-widgets-implementations-cockpit-welcome.mjs","node":"./fesm2015/c8y-ngx-components-widgets-implementations-cockpit-welcome.mjs","default":"./fesm2020/c8y-ngx-components-widgets-implementations-cockpit-welcome.mjs"},"./widgets/implementations/device-management-welcome":{"types":"./widgets/implementations/device-management-welcome/index.d.ts","esm2020":"./esm2020/widgets/implementations/device-management-welcome/c8y-ngx-components-widgets-implementations-device-management-welcome.mjs","es2020":"./fesm2020/c8y-ngx-components-widgets-implementations-device-management-welcome.mjs","es2015":"./fesm2015/c8y-ngx-components-widgets-implementations-device-management-welcome.mjs","node":"./fesm2015/c8y-ngx-components-widgets-implementations-device-management-welcome.mjs","default":"./fesm2020/c8y-ngx-components-widgets-implementations-device-management-welcome.mjs"},"./widgets/implementations/help-and-service-widget":{"types":"./widgets/implementations/help-and-service-widget/index.d.ts","esm2020":"./esm2020/widgets/implementations/help-and-service-widget/c8y-ngx-components-widgets-implementations-help-and-service-widget.mjs","es2020":"./fesm2020/c8y-ngx-components-widgets-implementations-help-and-service-widget.mjs","es2015":"./fesm2015/c8y-ngx-components-widgets-implementations-help-and-service-widget.mjs","node":"./fesm2015/c8y-ngx-components-widgets-implementations-help-and-service-widget.mjs","default":"./fesm2020/c8y-ngx-components-widgets-implementations-help-and-service-widget.mjs"},"./widgets/implementations/image":{"types":"./widgets/implementations/image/index.d.ts","esm2020":"./esm2020/widgets/implementations/image/c8y-ngx-components-widgets-implementations-image.mjs","es2020":"./fesm2020/c8y-ngx-components-widgets-implementations-image.mjs","es2015":"./fesm2015/c8y-ngx-components-widgets-implementations-image.mjs","node":"./fesm2015/c8y-ngx-components-widgets-implementations-image.mjs","default":"./fesm2020/c8y-ngx-components-widgets-implementations-image.mjs"},"./widgets/implementations/kpi":{"types":"./widgets/implementations/kpi/index.d.ts","esm2020":"./esm2020/widgets/implementations/kpi/c8y-ngx-components-widgets-implementations-kpi.mjs","es2020":"./fesm2020/c8y-ngx-components-widgets-implementations-kpi.mjs","es2015":"./fesm2015/c8y-ngx-components-widgets-implementations-kpi.mjs","node":"./fesm2015/c8y-ngx-components-widgets-implementations-kpi.mjs","default":"./fesm2020/c8y-ngx-components-widgets-implementations-kpi.mjs"},"./widgets/implementations/map":{"types":"./widgets/implementations/map/index.d.ts","esm2020":"./esm2020/widgets/implementations/map/c8y-ngx-components-widgets-implementations-map.mjs","es2020":"./fesm2020/c8y-ngx-components-widgets-implementations-map.mjs","es2015":"./fesm2015/c8y-ngx-components-widgets-implementations-map.mjs","node":"./fesm2015/c8y-ngx-components-widgets-implementations-map.mjs","default":"./fesm2020/c8y-ngx-components-widgets-implementations-map.mjs"},"./widgets/implementations/markdown":{"types":"./widgets/implementations/markdown/index.d.ts","esm2020":"./esm2020/widgets/implementations/markdown/c8y-ngx-components-widgets-implementations-markdown.mjs","es2020":"./fesm2020/c8y-ngx-components-widgets-implementations-markdown.mjs","es2015":"./fesm2015/c8y-ngx-components-widgets-implementations-markdown.mjs","node":"./fesm2015/c8y-ngx-components-widgets-implementations-markdown.mjs","default":"./fesm2020/c8y-ngx-components-widgets-implementations-markdown.mjs"},"./widgets/implementations/three-d-rotation/box-model":{"types":"./widgets/implementations/three-d-rotation/box-model/index.d.ts","esm2020":"./esm2020/widgets/implementations/three-d-rotation/box-model/c8y-ngx-components-widgets-implementations-three-d-rotation-box-model.mjs","es2020":"./fesm2020/c8y-ngx-components-widgets-implementations-three-d-rotation-box-model.mjs","es2015":"./fesm2015/c8y-ngx-components-widgets-implementations-three-d-rotation-box-model.mjs","node":"./fesm2015/c8y-ngx-components-widgets-implementations-three-d-rotation-box-model.mjs","default":"./fesm2020/c8y-ngx-components-widgets-implementations-three-d-rotation-box-model.mjs"},"./widgets/implementations/three-d-rotation/lazy-box-model":{"types":"./widgets/implementations/three-d-rotation/lazy-box-model/index.d.ts","esm2020":"./esm2020/widgets/implementations/three-d-rotation/lazy-box-model/c8y-ngx-components-widgets-implementations-three-d-rotation-lazy-box-model.mjs","es2020":"./fesm2020/c8y-ngx-components-widgets-implementations-three-d-rotation-lazy-box-model.mjs","es2015":"./fesm2015/c8y-ngx-components-widgets-implementations-three-d-rotation-lazy-box-model.mjs","node":"./fesm2015/c8y-ngx-components-widgets-implementations-three-d-rotation-lazy-box-model.mjs","default":"./fesm2020/c8y-ngx-components-widgets-implementations-three-d-rotation-lazy-box-model.mjs"},"./widgets/implementations/three-d-rotation/lazy-phone-model":{"types":"./widgets/implementations/three-d-rotation/lazy-phone-model/index.d.ts","esm2020":"./esm2020/widgets/implementations/three-d-rotation/lazy-phone-model/c8y-ngx-components-widgets-implementations-three-d-rotation-lazy-phone-model.mjs","es2020":"./fesm2020/c8y-ngx-components-widgets-implementations-three-d-rotation-lazy-phone-model.mjs","es2015":"./fesm2015/c8y-ngx-components-widgets-implementations-three-d-rotation-lazy-phone-model.mjs","node":"./fesm2015/c8y-ngx-components-widgets-implementations-three-d-rotation-lazy-phone-model.mjs","default":"./fesm2020/c8y-ngx-components-widgets-implementations-three-d-rotation-lazy-phone-model.mjs"},"./widgets/implementations/three-d-rotation":{"types":"./widgets/implementations/three-d-rotation/index.d.ts","esm2020":"./esm2020/widgets/implementations/three-d-rotation/c8y-ngx-components-widgets-implementations-three-d-rotation.mjs","es2020":"./fesm2020/c8y-ngx-components-widgets-implementations-three-d-rotation.mjs","es2015":"./fesm2015/c8y-ngx-components-widgets-implementations-three-d-rotation.mjs","node":"./fesm2015/c8y-ngx-components-widgets-implementations-three-d-rotation.mjs","default":"./fesm2020/c8y-ngx-components-widgets-implementations-three-d-rotation.mjs"},"./widgets/implementations/three-d-rotation/phone-model":{"types":"./widgets/implementations/three-d-rotation/phone-model/index.d.ts","esm2020":"./esm2020/widgets/implementations/three-d-rotation/phone-model/c8y-ngx-components-widgets-implementations-three-d-rotation-phone-model.mjs","es2020":"./fesm2020/c8y-ngx-components-widgets-implementations-three-d-rotation-phone-model.mjs","es2015":"./fesm2015/c8y-ngx-components-widgets-implementations-three-d-rotation-phone-model.mjs","node":"./fesm2015/c8y-ngx-components-widgets-implementations-three-d-rotation-phone-model.mjs","default":"./fesm2020/c8y-ngx-components-widgets-implementations-three-d-rotation-phone-model.mjs"},"./widgets":{"types":"./widgets/index.d.ts","esm2020":"./esm2020/widgets/c8y-ngx-components-widgets.mjs","es2020":"./fesm2020/c8y-ngx-components-widgets.mjs","es2015":"./fesm2015/c8y-ngx-components-widgets.mjs","node":"./fesm2015/c8y-ngx-components-widgets.mjs","default":"./fesm2020/c8y-ngx-components-widgets.mjs"}},"sideEffects":false}
|
|
@@ -1,22 +1,25 @@
|
|
|
1
1
|
import { OnDestroy, OnInit } from '@angular/core';
|
|
2
|
-
import { IManagedObject } from '@c8y/client';
|
|
2
|
+
import { IManagedObject, InventoryService } from '@c8y/client';
|
|
3
3
|
import { ClusterMapComponent, ClusterMapConfig } from '@c8y/ngx-components/map';
|
|
4
4
|
import { DashboardChildComponent } from '@c8y/ngx-components';
|
|
5
5
|
import { MapWidgetConfig } from './map-widget.model';
|
|
6
|
+
import { ContextDashboardComponent } from '@c8y/ngx-components/context-dashboard';
|
|
6
7
|
import * as i0 from "@angular/core";
|
|
7
8
|
export declare class MapWidgetComponent implements OnInit, OnDestroy {
|
|
9
|
+
private dashboardContextComponent;
|
|
10
|
+
private inventory;
|
|
8
11
|
mapConfig: ClusterMapConfig;
|
|
9
12
|
rootNode: IManagedObject;
|
|
10
13
|
config: MapWidgetConfig;
|
|
11
14
|
clusterMap: ClusterMapComponent;
|
|
12
15
|
private savedNode;
|
|
13
16
|
private destroy$;
|
|
14
|
-
constructor(dashboardChild: DashboardChildComponent);
|
|
15
|
-
ngOnInit(): void
|
|
17
|
+
constructor(dashboardChild: DashboardChildComponent, dashboardContextComponent: ContextDashboardComponent, inventory: InventoryService);
|
|
18
|
+
ngOnInit(): Promise<void>;
|
|
16
19
|
startFollow(context: any): void;
|
|
17
20
|
stopFollow(): void;
|
|
18
21
|
ngOnDestroy(): void;
|
|
19
22
|
private listenToWidgetResizeEvent;
|
|
20
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<MapWidgetComponent,
|
|
23
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<MapWidgetComponent, [null, { optional: true; }, null]>;
|
|
21
24
|
static ɵcmp: i0.ɵɵComponentDeclaration<MapWidgetComponent, "c8y-map-widget", never, {}, {}, never, never, false>;
|
|
22
25
|
}
|