@c8y/apps
Version:
Cumulocity IoT applications
68 lines (56 loc) • 1.61 kB
text/typescript
import { Component } from '@angular/core';
import { ClusterMapConfig, defaultMapConfig } from '@c8y/ngx-components/map';
export class ClusterMapExamplesComponent {
config: ClusterMapConfig = { center: defaultMapConfig.center, zoomLevel: 4 };
followConfig: ClusterMapConfig = { center: defaultMapConfig.center, zoomLevel: 4 };
rootNode: unknown;
oldRootNode: unknown;
showClusterColor = false;
setRandomZoomLevel() {
this.config = { ...this.config, zoomLevel: Math.floor(1 + Math.random() * 11) };
}
setCenter() {
this.config = { ...this.config, center: defaultMapConfig.center };
}
changeIcon() {
this.config = { ...this.config, icon: this.config.icon ? undefined : 'map' };
}
changeColor() {
this.config = { ...this.config, color: this.config.color ? undefined : '#0f0' };
}
toggleAutorefresh() {
this.config = {
...this.config,
refreshInterval: this.config.refreshInterval ? undefined : 5000
};
}
startFollow(device) {
this.oldRootNode = this.rootNode;
this.rootNode = device;
this.followConfig = {
...this.followConfig,
follow: true,
disablePan: true,
disableZoom: true,
realtime: true,
zoomLevel: 14
};
}
stopFollow() {
this.rootNode = this.oldRootNode;
this.resetConfig();
}
resetConfig() {
this.followConfig = {
...this.followConfig,
follow: false,
disablePan: false,
disableZoom: false,
realtime: false
};
}
}