@c8y/ngx-components 1023.14.41 → 1023.14.47
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/datapoint-explorer/view/index.d.ts +2 -0
- package/datapoint-explorer/view/index.d.ts.map +1 -1
- package/echart/index.d.ts +7 -1
- package/echart/index.d.ts.map +1 -1
- package/fesm2022/c8y-ngx-components-context-dashboard.mjs +1 -1
- package/fesm2022/c8y-ngx-components-context-dashboard.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-datapoint-explorer-view.mjs +21 -36
- package/fesm2022/c8y-ngx-components-datapoint-explorer-view.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-echart.mjs +127 -83
- package/fesm2022/c8y-ngx-components-echart.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-global-context.mjs +21 -6
- package/fesm2022/c8y-ngx-components-global-context.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-icon-selector.mjs +7 -8
- package/fesm2022/c8y-ngx-components-icon-selector.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-implementations-datapoints-graph.mjs +3 -3
- package/fesm2022/c8y-ngx-components-widgets-implementations-datapoints-graph.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-implementations-datapoints-table.mjs +2 -2
- package/fesm2022/c8y-ngx-components-widgets-implementations-datapoints-table.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-implementations-map.mjs +1 -1
- package/fesm2022/c8y-ngx-components-widgets-implementations-map.mjs.map +1 -1
- package/global-context/index.d.ts +12 -2
- package/global-context/index.d.ts.map +1 -1
- package/icon-selector/index.d.ts.map +1 -1
- package/locales/de.po +7 -2
- package/locales/es.po +6 -0
- package/locales/fr.po +6 -0
- package/locales/ja_JP.po +6 -0
- package/locales/ko.po +6 -0
- package/locales/locales.pot +6 -0
- package/locales/nl.po +6 -0
- package/locales/pl.po +6 -0
- package/locales/pt_BR.po +6 -0
- package/locales/zh_CN.po +6 -0
- package/locales/zh_TW.po +6 -0
- package/package.json +1 -1
|
@@ -406,7 +406,7 @@ class MapWidgetComponent {
|
|
|
406
406
|
}
|
|
407
407
|
}
|
|
408
408
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: MapWidgetComponent, deps: [{ token: i2.DashboardChildComponent }, { token: i4$1.ContextDashboardComponent, optional: true }, { token: i1.InventoryService }, { token: i4.MapService }, { token: i2.WidgetsDashboardComponent, optional: true }, { token: i2.DynamicComponentService }, { token: i5$1.WidgetConfigMigrationService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
409
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: MapWidgetComponent, isStandalone: true, selector: "c8y-map-widget", inputs: { config: "config" }, viewQueries: [{ propertyName: "clusterMap", first: true, predicate: ClusterMapComponent, descendants: true }], ngImport: i0, template: "@if (mapConfig) {\n <c8y-map-status\n [clusterMap]=\"mapWidget\"\n [(config)]=\"mapConfig\"\n (onUnfollow)=\"stopFollow()\"\n (fitAssetsToBounds)=\"fitToBounds()\"\n [assets]=\"assets\"\n [buttonsConfig]=\"{\n autoRefresh: { show: false },\n refresh: { show: false },\n realtime: { show: false },\n fitToBounds: { show: true }\n }\"\n >\n <c8y-global-context-widget-wrapper\n *ngIf=\"controls\"\n [widgetControls]=\"controls\"\n [config]=\"config\"\n [isLoading]=\"mapWidget.isLoading$ | async\"\n (globalContextChange)=\"onGlobalContext($event)\"\n ></c8y-global-context-widget-wrapper>\n </c8y-map-status>\n\n <c8y-cluster-map\n #mapWidget\n [rootNode]=\"rootNode\"\n [config]=\"mapConfig\"\n [asset]=\"assets\"\n >\n <div\n class=\"map-marker\"\n *c8yMapPopup=\"let context\"\n >\n <a\n class=\"text-truncate deviceLink text-12\"\n routerLink=\"{{ context | assetLink }}\"\n >\n <strong>{{ context.name }}</strong>\n </a>\n <c8y-map-event-info [asset]=\"context\">\n <button\n class=\"btn btn-default btn-xs btn-block m-t-8\"\n [title]=\"'Activate realtime on this asset and follow it if it moves' | translate\"\n type=\"button\"\n (click)=\"startFollow(context)\"\n *ngIf=\"!mapConfig.follow\"\n translate\n >\n Follow\n </button>\n <button\n class=\"btn btn-default btn-xs btn-block m-t-8\"\n [title]=\"'Stop following this asset.' | translate\"\n type=\"button\"\n (click)=\"stopFollow()\"\n *ngIf=\"mapConfig.follow\"\n translate\n >\n Unfollow\n </button>\n </c8y-map-event-info>\n </div>\n </c8y-cluster-map>\n}\n", dependencies: [{ kind: "component", type: MapEventInfoComponent, selector: "c8y-map-event-info", inputs: ["asset"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: CommonModule$1 }, { kind: "directive", type: i2.C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "ngmodule", type: FormsModule$1 }, { kind: "ngmodule", type: IconSelectorModule }, { kind: "ngmodule", type: MapModule }, { kind: "component", type: i4.MapStatusComponent, selector: "c8y-map-status", inputs: ["config", "assets", "clusterMap", "buttonsConfig"], outputs: ["configChange", "onUnfollow", "fitAssetsToBounds"] }, { kind: "component", type: i4.ClusterMapComponent, selector: "c8y-cluster-map", inputs: ["config", "rootNode", "asset", "showClusterColor"], outputs: ["mapChange"] }, { kind: "directive", type: i4.MapPopupDirective, selector: "[c8yMapPopup]" }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: GlobalContextWidgetWrapperComponent, selector: "c8y-global-context-widget-wrapper", inputs: ["isLoading", "displayMode", "widgetControls", "controlLinks", "dashboardChildForLegacy", "config"], outputs: ["globalContextChange"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: i2.AssetLinkPipe, name: "assetLink" }] }); }
|
|
409
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: MapWidgetComponent, isStandalone: true, selector: "c8y-map-widget", inputs: { config: "config" }, viewQueries: [{ propertyName: "clusterMap", first: true, predicate: ClusterMapComponent, descendants: true }], ngImport: i0, template: "@if (mapConfig) {\n <c8y-map-status\n [clusterMap]=\"mapWidget\"\n [(config)]=\"mapConfig\"\n (onUnfollow)=\"stopFollow()\"\n (fitAssetsToBounds)=\"fitToBounds()\"\n [assets]=\"assets\"\n [buttonsConfig]=\"{\n autoRefresh: { show: false },\n refresh: { show: false },\n realtime: { show: false },\n fitToBounds: { show: true }\n }\"\n >\n <c8y-global-context-widget-wrapper\n *ngIf=\"controls\"\n [widgetControls]=\"controls\"\n [config]=\"config\"\n [isLoading]=\"mapWidget.isLoading$ | async\"\n (globalContextChange)=\"onGlobalContext($event)\"\n ></c8y-global-context-widget-wrapper>\n </c8y-map-status>\n\n <c8y-cluster-map\n #mapWidget\n [rootNode]=\"rootNode\"\n [config]=\"mapConfig\"\n [asset]=\"assets\"\n >\n <div\n class=\"map-marker\"\n *c8yMapPopup=\"let context\"\n >\n <a\n class=\"text-truncate deviceLink text-12\"\n routerLink=\"{{ context | assetLink }}\"\n >\n <strong>{{ context.name }}</strong>\n </a>\n <c8y-map-event-info [asset]=\"context\">\n <button\n class=\"btn btn-default btn-xs btn-block m-t-8\"\n [title]=\"'Activate realtime on this asset and follow it if it moves' | translate\"\n type=\"button\"\n (click)=\"startFollow(context)\"\n *ngIf=\"!mapConfig.follow\"\n translate\n >\n Follow\n </button>\n <button\n class=\"btn btn-default btn-xs btn-block m-t-8\"\n [title]=\"'Stop following this asset.' | translate\"\n type=\"button\"\n (click)=\"stopFollow()\"\n *ngIf=\"mapConfig.follow\"\n translate\n >\n Unfollow\n </button>\n </c8y-map-event-info>\n </div>\n </c8y-cluster-map>\n}\n", dependencies: [{ kind: "component", type: MapEventInfoComponent, selector: "c8y-map-event-info", inputs: ["asset"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: CommonModule$1 }, { kind: "directive", type: i2.C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "ngmodule", type: FormsModule$1 }, { kind: "ngmodule", type: IconSelectorModule }, { kind: "ngmodule", type: MapModule }, { kind: "component", type: i4.MapStatusComponent, selector: "c8y-map-status", inputs: ["config", "assets", "clusterMap", "buttonsConfig"], outputs: ["configChange", "onUnfollow", "fitAssetsToBounds"] }, { kind: "component", type: i4.ClusterMapComponent, selector: "c8y-cluster-map", inputs: ["config", "rootNode", "asset", "showClusterColor"], outputs: ["mapChange"] }, { kind: "directive", type: i4.MapPopupDirective, selector: "[c8yMapPopup]" }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: GlobalContextWidgetWrapperComponent, selector: "c8y-global-context-widget-wrapper", inputs: ["isLoading", "displayMode", "widgetControls", "controlLinks", "dashboardChildForLegacy", "config", "disableRefreshEmits"], outputs: ["globalContextChange"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: i2.AssetLinkPipe, name: "assetLink" }] }); }
|
|
410
410
|
}
|
|
411
411
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: MapWidgetComponent, decorators: [{
|
|
412
412
|
type: Component,
|
|
@@ -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/c8y-ngx-components-widgets-implementations-map.ts"],"sourcesContent":["import { CommonModule as NgCommonModule } from '@angular/common';\nimport { Component, Input, OnChanges } from '@angular/core';\nimport { EventService, IEvent, IManagedObject } from '@c8y/client';\nimport { C8yTranslateDirective, DatePipe, LoadingComponent } from '@c8y/ngx-components';\n\n@Component({\n selector: 'c8y-map-event-info',\n templateUrl: './map-event-info.component.html',\n standalone: true,\n imports: [NgCommonModule, C8yTranslateDirective, DatePipe, LoadingComponent]\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 { CommonModule as NgCommonModule } from '@angular/common';\nimport {\n Component,\n computed,\n Inject,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n signal,\n SimpleChanges,\n TemplateRef,\n ViewChild\n} from '@angular/core';\nimport {\n ControlContainer,\n NgForm,\n FormsModule as NgFormsModule,\n ReactiveFormsModule\n} from '@angular/forms';\nimport type { IIdentified } from '@c8y/client';\nimport { AlertService, C8yTranslatePipe, CommonModule, FormsModule } from '@c8y/ngx-components';\nimport { WidgetConfigService } from '@c8y/ngx-components/context-dashboard';\nimport { gettext } from '@c8y/ngx-components/gettext';\nimport { GLOBAL_CONTEXT_DISPLAY_MODE, RefreshOption } from '@c8y/ngx-components/global-context';\nimport { IconSelectorModule } from '@c8y/ngx-components/icon-selector';\nimport {\n ClusterMapConfig,\n defaultFitBoundsOptions,\n MAP_DEFAULT_CONFIG,\n MapComponent,\n MapModule,\n MapService,\n PositionManagedObject\n} from '@c8y/ngx-components/map';\nimport type { MapDefaultConfig } from '@c8y/options';\nimport { TranslateService } from '@ngx-translate/core';\nimport type L from 'leaflet';\nimport { isUndefined } from 'lodash';\nimport { PopoverModule } from 'ngx-bootstrap/popover';\nimport { TooltipModule } from 'ngx-bootstrap/tooltip';\nimport { fromEvent, Observable, Subject } from 'rxjs';\nimport { combineLatestWith, take, takeUntil } from 'rxjs/operators';\nimport { MapWidgetConfig } 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 standalone: true,\n imports: [\n NgCommonModule,\n NgFormsModule,\n CommonModule,\n FormsModule,\n IconSelectorModule,\n MapModule,\n TooltipModule,\n ReactiveFormsModule,\n PopoverModule,\n C8yTranslatePipe\n ]\n})\nexport class MapWidgetConfigComponent implements OnInit, OnChanges, OnDestroy {\n @Input() config: MapWidgetConfig = {\n mapConfig: undefined\n };\n formConfig: ClusterMapConfig;\n\n readonly device = signal<IIdentified | undefined>(undefined);\n readonly assets = signal<PositionManagedObject[]>([]);\n\n readonly canAutoCenter = computed(() => {\n const assetsList = this.assets();\n const deviceValue = this.device();\n\n const isSingleAsset = assetsList?.length === 1;\n const idMatchesDevice = deviceValue?.id === assetsList[0]?.id;\n\n if (isSingleAsset && idMatchesDevice) {\n return this.mapService.hasPosition(assetsList[0]);\n }\n return false;\n });\n\n readonly isPositionedDevice = computed(() => {\n const assetsList = this.assets();\n const deviceValue = this.device();\n\n const isSingleAsset = assetsList?.length === 1;\n const idMatchesDevice = deviceValue?.id === assetsList[0]?.id;\n\n if (isSingleAsset && idMatchesDevice) {\n return this.mapService.isPositionedDevice(assetsList[0]);\n }\n return false;\n });\n\n refreshOption: RefreshOption = 'live';\n\n private destroyed$ = new Subject<void>();\n private leaflet: typeof L;\n private centerIcon: L.Marker;\n // JS precision for floating point number is 15 for 64-bit and because of this provided to leaflet are recalculated\n // to values almost-like provided (e.g. 0 is recalculated to 1.46e-14; for 180 it's 180.00000000000003).\n // To ensure provided value has no floating point error, number needs to be rounded to fixed point 13.\n private readonly FIXED_POINT_DIGITS = 13;\n\n @ViewChild(MapComponent)\n previewMap: MapComponent;\n\n @ViewChild('previewMap')\n set previewMapSet(template: TemplateRef<any>) {\n if (template) {\n this.widgetConfigService.setPreview(template);\n return;\n }\n this.widgetConfigService.setPreview(null);\n }\n\n constructor(\n private mapService: MapService,\n private alertService: AlertService,\n private translateService: TranslateService,\n @Inject(MAP_DEFAULT_CONFIG) private defaultMapConfig: Observable<MapDefaultConfig>,\n private widgetConfigService: WidgetConfigService\n ) {}\n\n ngOnDestroy(): void {\n this.destroyed$.next();\n }\n\n ngOnInit() {\n this.device.set(this.config.device);\n\n this.defaultMapConfig.pipe(takeUntil(this.destroyed$)).subscribe(defaultConfig => {\n this.formConfig = {\n zoomLevel: defaultConfig.zoomLevel,\n center: defaultConfig.center\n };\n this.initForm();\n });\n }\n\n async initForm() {\n if (!this.config.mapConfig) {\n this.config.mapConfig = this.formConfig;\n }\n\n this.formConfig = {\n ...this.formConfig,\n ...this.config.mapConfig,\n disablePan: false,\n displayMode: this.config.mapConfig?.displayMode ?? GLOBAL_CONTEXT_DISPLAY_MODE.DASHBOARD,\n // Keep both in sync\n realtime:\n this.config.mapConfig?.isRealtimeEnabled ?? this.config.mapConfig?.realtime ?? false,\n refreshOption: this.config.mapConfig?.refreshOption,\n refreshInterval: this.config.mapConfig?.refreshInterval ?? 30_000\n };\n\n await this.updateAsset();\n }\n\n async ngOnChanges(changes: SimpleChanges) {\n if (changes.config) {\n this.device.set(this.config.device);\n\n if (\n changes.config.currentValue !== changes.config.previousValue &&\n !changes.config.firstChange\n ) {\n await this.updateAsset();\n }\n }\n }\n\n previewMapInit(leaflet: typeof L): void {\n this.leaflet = leaflet;\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 if (this.centerIcon) {\n this.centerIcon.remove();\n }\n this.config.mapConfig = { ...this.formConfig, center: [...this.formConfig.center] };\n this.addCenterIcon(this.formConfig.center[0], this.formConfig.center[1]);\n }\n\n changeCenterOnEnterKey(event: KeyboardEvent): void {\n event.preventDefault();\n this.changeCenter();\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.getCenter();\n const fixedLat = +lat.toFixed(this.FIXED_POINT_DIGITS);\n const fixedLng = +lng.toFixed(this.FIXED_POINT_DIGITS);\n this.addCenterIcon(fixedLat, fixedLng);\n this.formConfig.center = [fixedLat, fixedLng];\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 async fitToBounds() {\n const assetsList = this.assets();\n if (!assetsList?.length || !this.previewMap?.map) {\n return;\n }\n\n const bounds = await this.mapService.getAssetsBounds(assetsList);\n\n // map.fitBounds causes zoom and move events, so get new center and zoom level only when these events are finished\n fromEvent<L.LeafletEvent>(this.previewMap.map, 'moveend')\n .pipe(combineLatestWith(fromEvent<L.LeafletEvent>(this.previewMap.map, 'zoomend')), take(1))\n .subscribe(() => {\n const center = this.previewMap.map.getCenter();\n const zoom = this.previewMap.map.getZoom();\n\n const fixedLat = +center.lat.toFixed(this.FIXED_POINT_DIGITS);\n const fixedLng = +center.lng.toFixed(this.FIXED_POINT_DIGITS);\n this.formConfig.center = [fixedLat, fixedLng];\n this.formConfig.zoomLevel = Math.floor(zoom);\n\n this.changeCenter();\n });\n\n this.previewMap.map.fitBounds(bounds, defaultFitBoundsOptions);\n }\n\n selectIcon(icon: string) {\n this.formConfig.icon = icon;\n this.config.mapConfig.icon = icon;\n this.previewMap.refreshMarkers();\n }\n\n private async updateAsset() {\n const { data, paging } = await this.mapService.getAllPositionMOs(this.device());\n const onlyAssetsWithLatLng = data.filter(\n asset => !isUndefined(asset.c8y_Position?.lat) && !isUndefined(asset.c8y_Position?.lng)\n );\n\n this.assets.set(onlyAssetsWithLatLng);\n\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 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","@if (formConfig) {\n <fieldset class=\"c8y-fieldset\">\n <legend>{{ 'Map' | translate }}</legend>\n <div class=\"row tight-grid\">\n <div class=\"col-xs-3\">\n <c8y-form-group class=\"m-b-16 text-center form-group-sm\">\n <label translate>Marker icon</label>\n <c8y-icon-selector-wrapper\n [canRemoveIcon]=\"true\"\n [selectedIcon]=\"formConfig.icon\"\n (onSelect)=\"selectIcon($event)\"\n ></c8y-icon-selector-wrapper>\n </c8y-form-group>\n </div>\n <div class=\"col-xs-9\">\n <div class=\"form-group form-group-sm\">\n <label translate>Zoom level</label>\n <c8y-range\n class=\"label-bottom\"\n name=\"zoomLevel\"\n #range\n [(ngModel)]=\"formConfig.zoomLevel\"\n (change)=\"zoomLevelChanged()\"\n >\n <input\n type=\"range\"\n min=\"0\"\n max=\"18\"\n step=\"1\"\n />\n </c8y-range>\n </div>\n </div>\n </div>\n <c8y-form-group class=\"form-group-sm\">\n <label translate>Center bound</label>\n <div class=\"input-group input-group-sm\">\n <input\n class=\"form-control\"\n placeholder=\"{{ 'lat.`latitude`' | translate }}\"\n name=\"centerLat\"\n type=\"number\"\n required\n [(ngModel)]=\"formConfig.center[0]\"\n (change)=\"changeCenter()\"\n (keydown.enter)=\"changeCenterOnEnterKey($event)\"\n min=\"-90\"\n max=\"90\"\n step=\"0.1\"\n />\n <input\n class=\"form-control\"\n placeholder=\"{{ 'lng.`longitude`' | translate }}\"\n name=\"centerLng\"\n type=\"number\"\n required\n min=\"-180\"\n max=\"180\"\n [(ngModel)]=\"formConfig.center[1]\"\n (change)=\"changeCenter()\"\n (keydown.enter)=\"changeCenterOnEnterKey($event)\"\n min=\"-180\"\n max=\"180\"\n step=\"0.1\"\n />\n <div class=\"input-group-btn\">\n <button\n class=\"btn btn-default\"\n [attr.aria-label]=\"'Use your location' | translate\"\n [tooltip]=\"'Use your location' | translate\"\n placement=\"top\"\n container=\"body\"\n (click)=\"useOwnPosition()\"\n >\n <i\n class=\"icon-14\"\n c8yIcon=\"location-arrow\"\n ></i>\n </button>\n </div>\n <div class=\"input-group-btn\">\n @if (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\n class=\"icon-14\"\n c8yIcon=\"location\"\n ></i>\n </button>\n } @else {\n <button\n class=\"btn btn-default\"\n [attr.aria-label]=\"'Fit to assets bounds' | translate\"\n [tooltip]=\"'Fit to assets bounds' | translate\"\n placement=\"top\"\n container=\"body\"\n (click)=\"fitToBounds()\"\n >\n <i\n class=\"icon-14\"\n c8yIcon=\"waypoint-map\"\n ></i>\n </button>\n }\n </div>\n </div>\n\n <c8y-messages\n [helpMessage]=\"'Drag the map to the desired position' | translate\"\n ></c8y-messages>\n </c8y-form-group>\n </fieldset>\n\n @if (isPositionedDevice()) {\n <fieldset class=\"c8y-fieldset\">\n <legend>{{ 'Follow' | translate }}</legend>\n <div class=\"row tight-grid d-flex a-i-center\">\n <div class=\"col-xs-12\">\n <div class=\"form-group form-group-sm m-b-16\">\n <label class=\"c8y-switch c8y-switch--inline\">\n <input\n name=\"follow\"\n type=\"checkbox\"\n [(ngModel)]=\"formConfig.follow\"\n />\n <span></span>\n <span\n class=\"text-12\"\n translate\n >\n Follow selected\n </span>\n </label>\n </div>\n </div>\n </div>\n </fieldset>\n }\n}\n\n<ng-template #previewMap>\n <div style=\"width: 100%; height: 100%\">\n @if (config.mapConfig) {\n <c8y-map\n [assets]=\"assets()\"\n [config]=\"config.mapConfig\"\n (onMove)=\"onPreviewMapMove($event)\"\n (onZoomStart)=\"onPreviewZoomStart()\"\n (onZoomEnd)=\"onPreviewZoomEnd($event)\"\n (onInit)=\"previewMapInit($event)\"\n ></c8y-map>\n }\n </div>\n</ng-template>\n","import { CommonModule as NgCommonModule } from '@angular/common';\nimport {\n AfterViewInit,\n Component,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n ViewChild\n} from '@angular/core';\nimport { FormsModule as NgFormsModule } from '@angular/forms';\nimport { RouterLink } from '@angular/router';\nimport { IIdentified, InventoryService } from '@c8y/client';\nimport {\n AssetLinkPipe,\n CommonModule,\n DashboardChildComponent,\n DismissAlertStrategy,\n DynamicComponent,\n DynamicComponentAlert,\n DynamicComponentAlertAggregator,\n DynamicComponentService,\n FormsModule,\n WidgetsDashboardComponent\n} from '@c8y/ngx-components';\nimport { ContextDashboardComponent } from '@c8y/ngx-components/context-dashboard';\nimport { gettext } from '@c8y/ngx-components/gettext';\nimport {\n GLOBAL_CONTEXT_DISPLAY_MODE,\n GlobalContextWidgetWrapperComponent,\n WidgetConfigMigrationService,\n WidgetControls\n} from '@c8y/ngx-components/global-context';\nimport { IconSelectorModule } from '@c8y/ngx-components/icon-selector';\nimport {\n ClusterMapComponent,\n ClusterMapConfig,\n defaultFitBoundsOptions,\n MapModule,\n MapService,\n PositionManagedObject\n} from '@c8y/ngx-components/map';\nimport { defaultWidgetIds } from '@c8y/ngx-components/widgets/definitions';\nimport { debounce, merge } from 'lodash-es';\nimport { TooltipModule } from 'ngx-bootstrap/tooltip';\nimport { Subject } from 'rxjs';\nimport { filter, takeUntil } from 'rxjs/operators';\nimport { MapEventInfoComponent } from './map-event-info.component';\nimport { MapWidgetConfig } from './map-widget.model';\n\n@Component({\n selector: 'c8y-map-widget',\n templateUrl: './map-widget.component.html',\n standalone: true,\n imports: [\n MapEventInfoComponent,\n NgCommonModule,\n NgFormsModule,\n CommonModule,\n FormsModule,\n IconSelectorModule,\n MapModule,\n AssetLinkPipe,\n TooltipModule,\n RouterLink,\n GlobalContextWidgetWrapperComponent\n ]\n})\nexport class MapWidgetComponent implements OnInit, OnDestroy, AfterViewInit, DynamicComponent {\n mapConfig: ClusterMapConfig = { center: [0, 0] };\n rootNode: IIdentified;\n @Input() config: MapWidgetConfig;\n\n @ViewChild(ClusterMapComponent)\n clusterMap: ClusterMapComponent;\n alerts: DynamicComponentAlertAggregator;\n assets: PositionManagedObject[];\n\n private TIMEOUT_ERROR_TEXT = gettext(\n 'The request is taking longer than usual. We apologize for the inconvenience.'\n );\n private SERVER_ERROR_TEXT = gettext('Server error occurred.');\n private savedNode: IIdentified;\n private destroy$ = new Subject<void>();\n private resizeObserver: ResizeObserver;\n controls: WidgetControls;\n\n constructor(\n dashboardChild: DashboardChildComponent,\n @Optional() private dashboardContextComponent: ContextDashboardComponent,\n private inventory: InventoryService,\n private mapService: MapService,\n @Optional() private widgetsDashboardComponent: WidgetsDashboardComponent,\n private dynamicComponentService: DynamicComponentService,\n private widgetConfigMigrationService: WidgetConfigMigrationService\n ) {\n this.listenToWidgetResizeEvent(dashboardChild);\n }\n\n async ngOnInit() {\n this.alerts.setAlertGroupDismissStrategy(\n 'warning',\n DismissAlertStrategy.TEMPORARY_OR_PERMANENT\n );\n\n await this.applyDeviceTypeTarget();\n\n if (this.config.device) {\n this.rootNode = this.config.device;\n }\n this.mapConfig = { ...this.config.mapConfig };\n\n // Check for legacy widget BEFORE updateMapConfigRealtime() overwrites it\n const isLegacyWidgetWithRealtime =\n !this.config.hasOwnProperty('displayMode') && this.mapConfig.realtime;\n\n this.updateMapConfigRealtime();\n this.savedNode = this.rootNode;\n await this.updateAssets();\n\n const migratedConfig = this.widgetConfigMigrationService.migrateWidgetConfig(this.config);\n this.config = merge(this.config, migratedConfig);\n\n // For legacy widgets (with realtime), set displayMode to 'view_and_config' to maintain previous behavior to some degree\n // TODO: adjust widgetConfigMigrationService.migrateWidgetConfig or do nothing.\n // Map widget is a special case since it blocks auto-refresh in the config live mode.\n if (isLegacyWidgetWithRealtime) {\n this.config.displayMode = GLOBAL_CONTEXT_DISPLAY_MODE.VIEW_AND_CONFIG;\n }\n\n if (this.assets.length > 1) {\n this.mapConfig = {\n ...this.mapConfig,\n follow: false\n };\n }\n\n this.controls =\n (await this.dynamicComponentService.getById(defaultWidgetIds.MAP)).data?.widgetControls || {};\n }\n\n ngAfterViewInit(): void {\n this.subscribeToErrorsOccurred();\n\n if (this.widgetsDashboardComponent) {\n const resizeCallback = debounce(() => {\n // initial size of map is assigned when left drawer is closed, but if it is opened after initialization\n // the map size is not updated, so we need to call invalidateSize so that map use the correct size\n this.clusterMap.map?.invalidateSize(false);\n }, 100);\n this.resizeObserver = new ResizeObserver(resizeCallback);\n\n this.resizeObserver.observe(this.widgetsDashboardComponent.nativeElement);\n }\n }\n\n startFollow(context) {\n if (context.id !== this.rootNode?.id) {\n this.rootNode = context;\n }\n\n this.mapConfig = {\n ...this.mapConfig,\n follow: true\n };\n }\n\n stopFollow() {\n this.mapConfig = {\n ...this.mapConfig,\n follow: false\n };\n this.rootNode = this.savedNode;\n }\n\n ngOnDestroy(): void {\n if (this.resizeObserver) {\n this.resizeObserver.disconnect();\n }\n this.destroy$.next();\n }\n\n async fitToBounds() {\n await this.updateAssets();\n if (this.assets.length === 0 || !this.clusterMap?.map) {\n return;\n }\n\n const bounds = await this.mapService.getAssetsBounds(this.assets);\n\n this.clusterMap.map.fitBounds(bounds, defaultFitBoundsOptions);\n }\n\n async onGlobalContext(event) {\n const { context } = event;\n\n const isRealtime = this.mapConfig.realtime;\n if (!isRealtime && context.isAutoRefreshEnabled) {\n // If follow is enabled, fetch latest position and center map before reload\n if (this.mapConfig.follow && this.config.device?.c8y_Position) {\n await this.updateAssets();\n if (this.assets?.length === 1) {\n // Update clusterMap's asset so marker can be rendered even if cluster query returns 0 positions\n (this.clusterMap as any).assets = this.assets[0];\n this.clusterMap?.moveToPositionOfMo(this.assets[0]);\n // Prevent cluster subscription from re-centering to same position\n const pos = this.assets[0].c8y_Position;\n (this.clusterMap as any).lastFollowedPosition = { lat: pos.lat, lng: pos.lng };\n }\n }\n\n this.clusterMap?.reload();\n }\n }\n\n private async updateAssets() {\n this.assets = (await this.mapService.getAllPositionMOs(this.config.device)).data;\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 private subscribeToErrorsOccurred() {\n this.clusterMap.errorNotifier\n .pipe(filter(Boolean), takeUntil(this.destroy$))\n .subscribe(error => {\n this.alerts.addAlerts(\n new DynamicComponentAlert({\n type: 'warning',\n text:\n error?.name === 'TimeoutError'\n ? this.TIMEOUT_ERROR_TEXT\n : (error?.message ?? this.SERVER_ERROR_TEXT)\n })\n );\n });\n }\n\n private updateMapConfigRealtime() {\n this.mapConfig.realtime = this.config.realtime || false;\n }\n\n private async applyDeviceTypeTarget() {\n const hasDeviceTarget = !!this.config.device; // The map widget supports not selecting any target\n const isDeviceTypeDashboard = !!this.dashboardContextComponent?.dashboard?.deviceType;\n if (isDeviceTypeDashboard && hasDeviceTarget) {\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 }\n}\n","@if (mapConfig) {\n <c8y-map-status\n [clusterMap]=\"mapWidget\"\n [(config)]=\"mapConfig\"\n (onUnfollow)=\"stopFollow()\"\n (fitAssetsToBounds)=\"fitToBounds()\"\n [assets]=\"assets\"\n [buttonsConfig]=\"{\n autoRefresh: { show: false },\n refresh: { show: false },\n realtime: { show: false },\n fitToBounds: { show: true }\n }\"\n >\n <c8y-global-context-widget-wrapper\n *ngIf=\"controls\"\n [widgetControls]=\"controls\"\n [config]=\"config\"\n [isLoading]=\"mapWidget.isLoading$ | async\"\n (globalContextChange)=\"onGlobalContext($event)\"\n ></c8y-global-context-widget-wrapper>\n </c8y-map-status>\n\n <c8y-cluster-map\n #mapWidget\n [rootNode]=\"rootNode\"\n [config]=\"mapConfig\"\n [asset]=\"assets\"\n >\n <div\n class=\"map-marker\"\n *c8yMapPopup=\"let context\"\n >\n <a\n class=\"text-truncate deviceLink text-12\"\n routerLink=\"{{ context | assetLink }}\"\n >\n <strong>{{ context.name }}</strong>\n </a>\n <c8y-map-event-info [asset]=\"context\">\n <button\n class=\"btn btn-default btn-xs btn-block m-t-8\"\n [title]=\"'Activate realtime on this asset and follow it if it moves' | translate\"\n type=\"button\"\n (click)=\"startFollow(context)\"\n *ngIf=\"!mapConfig.follow\"\n translate\n >\n Follow\n </button>\n <button\n class=\"btn btn-default btn-xs btn-block m-t-8\"\n [title]=\"'Stop following this asset.' | translate\"\n type=\"button\"\n (click)=\"stopFollow()\"\n *ngIf=\"mapConfig.follow\"\n translate\n >\n Unfollow\n </button>\n </c8y-map-event-info>\n </div>\n </c8y-cluster-map>\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["NgCommonModule","i4","NgFormsModule","CommonModule","FormsModule","i6","i1","i2","i3","i5"],"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/c8y-ngx-components-widgets-implementations-map.ts"],"sourcesContent":["import { CommonModule as NgCommonModule } from '@angular/common';\nimport { Component, Input, OnChanges } from '@angular/core';\nimport { EventService, IEvent, IManagedObject } from '@c8y/client';\nimport { C8yTranslateDirective, DatePipe, LoadingComponent } from '@c8y/ngx-components';\n\n@Component({\n selector: 'c8y-map-event-info',\n templateUrl: './map-event-info.component.html',\n standalone: true,\n imports: [NgCommonModule, C8yTranslateDirective, DatePipe, LoadingComponent]\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 { CommonModule as NgCommonModule } from '@angular/common';\nimport {\n Component,\n computed,\n Inject,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n signal,\n SimpleChanges,\n TemplateRef,\n ViewChild\n} from '@angular/core';\nimport {\n ControlContainer,\n NgForm,\n FormsModule as NgFormsModule,\n ReactiveFormsModule\n} from '@angular/forms';\nimport type { IIdentified } from '@c8y/client';\nimport { AlertService, C8yTranslatePipe, CommonModule, FormsModule } from '@c8y/ngx-components';\nimport { WidgetConfigService } from '@c8y/ngx-components/context-dashboard';\nimport { gettext } from '@c8y/ngx-components/gettext';\nimport { GLOBAL_CONTEXT_DISPLAY_MODE, RefreshOption } from '@c8y/ngx-components/global-context';\nimport { IconSelectorModule } from '@c8y/ngx-components/icon-selector';\nimport {\n ClusterMapConfig,\n defaultFitBoundsOptions,\n MAP_DEFAULT_CONFIG,\n MapComponent,\n MapModule,\n MapService,\n PositionManagedObject\n} from '@c8y/ngx-components/map';\nimport type { MapDefaultConfig } from '@c8y/options';\nimport { TranslateService } from '@ngx-translate/core';\nimport type L from 'leaflet';\nimport { isUndefined } from 'lodash';\nimport { PopoverModule } from 'ngx-bootstrap/popover';\nimport { TooltipModule } from 'ngx-bootstrap/tooltip';\nimport { fromEvent, Observable, Subject } from 'rxjs';\nimport { combineLatestWith, take, takeUntil } from 'rxjs/operators';\nimport { MapWidgetConfig } 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 standalone: true,\n imports: [\n NgCommonModule,\n NgFormsModule,\n CommonModule,\n FormsModule,\n IconSelectorModule,\n MapModule,\n TooltipModule,\n ReactiveFormsModule,\n PopoverModule,\n C8yTranslatePipe\n ]\n})\nexport class MapWidgetConfigComponent implements OnInit, OnChanges, OnDestroy {\n @Input() config: MapWidgetConfig = {\n mapConfig: undefined\n };\n formConfig: ClusterMapConfig;\n\n readonly device = signal<IIdentified | undefined>(undefined);\n readonly assets = signal<PositionManagedObject[]>([]);\n\n readonly canAutoCenter = computed(() => {\n const assetsList = this.assets();\n const deviceValue = this.device();\n\n const isSingleAsset = assetsList?.length === 1;\n const idMatchesDevice = deviceValue?.id === assetsList[0]?.id;\n\n if (isSingleAsset && idMatchesDevice) {\n return this.mapService.hasPosition(assetsList[0]);\n }\n return false;\n });\n\n readonly isPositionedDevice = computed(() => {\n const assetsList = this.assets();\n const deviceValue = this.device();\n\n const isSingleAsset = assetsList?.length === 1;\n const idMatchesDevice = deviceValue?.id === assetsList[0]?.id;\n\n if (isSingleAsset && idMatchesDevice) {\n return this.mapService.isPositionedDevice(assetsList[0]);\n }\n return false;\n });\n\n refreshOption: RefreshOption = 'live';\n\n private destroyed$ = new Subject<void>();\n private leaflet: typeof L;\n private centerIcon: L.Marker;\n // JS precision for floating point number is 15 for 64-bit and because of this provided to leaflet are recalculated\n // to values almost-like provided (e.g. 0 is recalculated to 1.46e-14; for 180 it's 180.00000000000003).\n // To ensure provided value has no floating point error, number needs to be rounded to fixed point 13.\n private readonly FIXED_POINT_DIGITS = 13;\n\n @ViewChild(MapComponent)\n previewMap: MapComponent;\n\n @ViewChild('previewMap')\n set previewMapSet(template: TemplateRef<any>) {\n if (template) {\n this.widgetConfigService.setPreview(template);\n return;\n }\n this.widgetConfigService.setPreview(null);\n }\n\n constructor(\n private mapService: MapService,\n private alertService: AlertService,\n private translateService: TranslateService,\n @Inject(MAP_DEFAULT_CONFIG) private defaultMapConfig: Observable<MapDefaultConfig>,\n private widgetConfigService: WidgetConfigService\n ) {}\n\n ngOnDestroy(): void {\n this.destroyed$.next();\n }\n\n ngOnInit() {\n this.device.set(this.config.device);\n\n this.defaultMapConfig.pipe(takeUntil(this.destroyed$)).subscribe(defaultConfig => {\n this.formConfig = {\n zoomLevel: defaultConfig.zoomLevel,\n center: defaultConfig.center\n };\n this.initForm();\n });\n }\n\n async initForm() {\n if (!this.config.mapConfig) {\n this.config.mapConfig = this.formConfig;\n }\n\n this.formConfig = {\n ...this.formConfig,\n ...this.config.mapConfig,\n disablePan: false,\n displayMode: this.config.mapConfig?.displayMode ?? GLOBAL_CONTEXT_DISPLAY_MODE.DASHBOARD,\n // Keep both in sync\n realtime:\n this.config.mapConfig?.isRealtimeEnabled ?? this.config.mapConfig?.realtime ?? false,\n refreshOption: this.config.mapConfig?.refreshOption,\n refreshInterval: this.config.mapConfig?.refreshInterval ?? 30_000\n };\n\n await this.updateAsset();\n }\n\n async ngOnChanges(changes: SimpleChanges) {\n if (changes.config) {\n this.device.set(this.config.device);\n\n if (\n changes.config.currentValue !== changes.config.previousValue &&\n !changes.config.firstChange\n ) {\n await this.updateAsset();\n }\n }\n }\n\n previewMapInit(leaflet: typeof L): void {\n this.leaflet = leaflet;\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 if (this.centerIcon) {\n this.centerIcon.remove();\n }\n this.config.mapConfig = { ...this.formConfig, center: [...this.formConfig.center] };\n this.addCenterIcon(this.formConfig.center[0], this.formConfig.center[1]);\n }\n\n changeCenterOnEnterKey(event: KeyboardEvent): void {\n event.preventDefault();\n this.changeCenter();\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.getCenter();\n const fixedLat = +lat.toFixed(this.FIXED_POINT_DIGITS);\n const fixedLng = +lng.toFixed(this.FIXED_POINT_DIGITS);\n this.addCenterIcon(fixedLat, fixedLng);\n this.formConfig.center = [fixedLat, fixedLng];\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 async fitToBounds() {\n const assetsList = this.assets();\n if (!assetsList?.length || !this.previewMap?.map) {\n return;\n }\n\n const bounds = await this.mapService.getAssetsBounds(assetsList);\n\n // map.fitBounds causes zoom and move events, so get new center and zoom level only when these events are finished\n fromEvent<L.LeafletEvent>(this.previewMap.map, 'moveend')\n .pipe(combineLatestWith(fromEvent<L.LeafletEvent>(this.previewMap.map, 'zoomend')), take(1))\n .subscribe(() => {\n const center = this.previewMap.map.getCenter();\n const zoom = this.previewMap.map.getZoom();\n\n const fixedLat = +center.lat.toFixed(this.FIXED_POINT_DIGITS);\n const fixedLng = +center.lng.toFixed(this.FIXED_POINT_DIGITS);\n this.formConfig.center = [fixedLat, fixedLng];\n this.formConfig.zoomLevel = Math.floor(zoom);\n\n this.changeCenter();\n });\n\n this.previewMap.map.fitBounds(bounds, defaultFitBoundsOptions);\n }\n\n selectIcon(icon: string) {\n this.formConfig.icon = icon;\n this.config.mapConfig.icon = icon;\n this.previewMap.refreshMarkers();\n }\n\n private async updateAsset() {\n const { data, paging } = await this.mapService.getAllPositionMOs(this.device());\n const onlyAssetsWithLatLng = data.filter(\n asset => !isUndefined(asset.c8y_Position?.lat) && !isUndefined(asset.c8y_Position?.lng)\n );\n\n this.assets.set(onlyAssetsWithLatLng);\n\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 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","@if (formConfig) {\n <fieldset class=\"c8y-fieldset\">\n <legend>{{ 'Map' | translate }}</legend>\n <div class=\"row tight-grid\">\n <div class=\"col-xs-3\">\n <c8y-form-group class=\"m-b-16 text-center form-group-sm\">\n <label translate>Marker icon</label>\n <c8y-icon-selector-wrapper\n [canRemoveIcon]=\"true\"\n [selectedIcon]=\"formConfig.icon\"\n (onSelect)=\"selectIcon($event)\"\n ></c8y-icon-selector-wrapper>\n </c8y-form-group>\n </div>\n <div class=\"col-xs-9\">\n <div class=\"form-group form-group-sm\">\n <label translate>Zoom level</label>\n <c8y-range\n class=\"label-bottom\"\n name=\"zoomLevel\"\n #range\n [(ngModel)]=\"formConfig.zoomLevel\"\n (change)=\"zoomLevelChanged()\"\n >\n <input\n type=\"range\"\n min=\"0\"\n max=\"18\"\n step=\"1\"\n />\n </c8y-range>\n </div>\n </div>\n </div>\n <c8y-form-group class=\"form-group-sm\">\n <label translate>Center bound</label>\n <div class=\"input-group input-group-sm\">\n <input\n class=\"form-control\"\n placeholder=\"{{ 'lat.`latitude`' | translate }}\"\n name=\"centerLat\"\n type=\"number\"\n required\n [(ngModel)]=\"formConfig.center[0]\"\n (change)=\"changeCenter()\"\n (keydown.enter)=\"changeCenterOnEnterKey($event)\"\n min=\"-90\"\n max=\"90\"\n step=\"0.1\"\n />\n <input\n class=\"form-control\"\n placeholder=\"{{ 'lng.`longitude`' | translate }}\"\n name=\"centerLng\"\n type=\"number\"\n required\n min=\"-180\"\n max=\"180\"\n [(ngModel)]=\"formConfig.center[1]\"\n (change)=\"changeCenter()\"\n (keydown.enter)=\"changeCenterOnEnterKey($event)\"\n min=\"-180\"\n max=\"180\"\n step=\"0.1\"\n />\n <div class=\"input-group-btn\">\n <button\n class=\"btn btn-default\"\n [attr.aria-label]=\"'Use your location' | translate\"\n [tooltip]=\"'Use your location' | translate\"\n placement=\"top\"\n container=\"body\"\n (click)=\"useOwnPosition()\"\n >\n <i\n class=\"icon-14\"\n c8yIcon=\"location-arrow\"\n ></i>\n </button>\n </div>\n <div class=\"input-group-btn\">\n @if (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\n class=\"icon-14\"\n c8yIcon=\"location\"\n ></i>\n </button>\n } @else {\n <button\n class=\"btn btn-default\"\n [attr.aria-label]=\"'Fit to assets bounds' | translate\"\n [tooltip]=\"'Fit to assets bounds' | translate\"\n placement=\"top\"\n container=\"body\"\n (click)=\"fitToBounds()\"\n >\n <i\n class=\"icon-14\"\n c8yIcon=\"waypoint-map\"\n ></i>\n </button>\n }\n </div>\n </div>\n\n <c8y-messages\n [helpMessage]=\"'Drag the map to the desired position' | translate\"\n ></c8y-messages>\n </c8y-form-group>\n </fieldset>\n\n @if (isPositionedDevice()) {\n <fieldset class=\"c8y-fieldset\">\n <legend>{{ 'Follow' | translate }}</legend>\n <div class=\"row tight-grid d-flex a-i-center\">\n <div class=\"col-xs-12\">\n <div class=\"form-group form-group-sm m-b-16\">\n <label class=\"c8y-switch c8y-switch--inline\">\n <input\n name=\"follow\"\n type=\"checkbox\"\n [(ngModel)]=\"formConfig.follow\"\n />\n <span></span>\n <span\n class=\"text-12\"\n translate\n >\n Follow selected\n </span>\n </label>\n </div>\n </div>\n </div>\n </fieldset>\n }\n}\n\n<ng-template #previewMap>\n <div style=\"width: 100%; height: 100%\">\n @if (config.mapConfig) {\n <c8y-map\n [assets]=\"assets()\"\n [config]=\"config.mapConfig\"\n (onMove)=\"onPreviewMapMove($event)\"\n (onZoomStart)=\"onPreviewZoomStart()\"\n (onZoomEnd)=\"onPreviewZoomEnd($event)\"\n (onInit)=\"previewMapInit($event)\"\n ></c8y-map>\n }\n </div>\n</ng-template>\n","import { CommonModule as NgCommonModule } from '@angular/common';\nimport {\n AfterViewInit,\n Component,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n ViewChild\n} from '@angular/core';\nimport { FormsModule as NgFormsModule } from '@angular/forms';\nimport { RouterLink } from '@angular/router';\nimport { IIdentified, InventoryService } from '@c8y/client';\nimport {\n AssetLinkPipe,\n CommonModule,\n DashboardChildComponent,\n DismissAlertStrategy,\n DynamicComponent,\n DynamicComponentAlert,\n DynamicComponentAlertAggregator,\n DynamicComponentService,\n FormsModule,\n WidgetsDashboardComponent\n} from '@c8y/ngx-components';\nimport { ContextDashboardComponent } from '@c8y/ngx-components/context-dashboard';\nimport { gettext } from '@c8y/ngx-components/gettext';\nimport {\n GLOBAL_CONTEXT_DISPLAY_MODE,\n GlobalContextWidgetWrapperComponent,\n WidgetConfigMigrationService,\n WidgetControls\n} from '@c8y/ngx-components/global-context';\nimport { IconSelectorModule } from '@c8y/ngx-components/icon-selector';\nimport {\n ClusterMapComponent,\n ClusterMapConfig,\n defaultFitBoundsOptions,\n MapModule,\n MapService,\n PositionManagedObject\n} from '@c8y/ngx-components/map';\nimport { defaultWidgetIds } from '@c8y/ngx-components/widgets/definitions';\nimport { debounce, merge } from 'lodash-es';\nimport { TooltipModule } from 'ngx-bootstrap/tooltip';\nimport { Subject } from 'rxjs';\nimport { filter, takeUntil } from 'rxjs/operators';\nimport { MapEventInfoComponent } from './map-event-info.component';\nimport { MapWidgetConfig } from './map-widget.model';\n\n@Component({\n selector: 'c8y-map-widget',\n templateUrl: './map-widget.component.html',\n standalone: true,\n imports: [\n MapEventInfoComponent,\n NgCommonModule,\n NgFormsModule,\n CommonModule,\n FormsModule,\n IconSelectorModule,\n MapModule,\n AssetLinkPipe,\n TooltipModule,\n RouterLink,\n GlobalContextWidgetWrapperComponent\n ]\n})\nexport class MapWidgetComponent implements OnInit, OnDestroy, AfterViewInit, DynamicComponent {\n mapConfig: ClusterMapConfig = { center: [0, 0] };\n rootNode: IIdentified;\n @Input() config: MapWidgetConfig;\n\n @ViewChild(ClusterMapComponent)\n clusterMap: ClusterMapComponent;\n alerts: DynamicComponentAlertAggregator;\n assets: PositionManagedObject[];\n\n private TIMEOUT_ERROR_TEXT = gettext(\n 'The request is taking longer than usual. We apologize for the inconvenience.'\n );\n private SERVER_ERROR_TEXT = gettext('Server error occurred.');\n private savedNode: IIdentified;\n private destroy$ = new Subject<void>();\n private resizeObserver: ResizeObserver;\n controls: WidgetControls;\n\n constructor(\n dashboardChild: DashboardChildComponent,\n @Optional() private dashboardContextComponent: ContextDashboardComponent,\n private inventory: InventoryService,\n private mapService: MapService,\n @Optional() private widgetsDashboardComponent: WidgetsDashboardComponent,\n private dynamicComponentService: DynamicComponentService,\n private widgetConfigMigrationService: WidgetConfigMigrationService\n ) {\n this.listenToWidgetResizeEvent(dashboardChild);\n }\n\n async ngOnInit() {\n this.alerts.setAlertGroupDismissStrategy(\n 'warning',\n DismissAlertStrategy.TEMPORARY_OR_PERMANENT\n );\n\n await this.applyDeviceTypeTarget();\n\n if (this.config.device) {\n this.rootNode = this.config.device;\n }\n this.mapConfig = { ...this.config.mapConfig };\n\n // Check for legacy widget BEFORE updateMapConfigRealtime() overwrites it\n const isLegacyWidgetWithRealtime =\n !this.config.hasOwnProperty('displayMode') && this.mapConfig.realtime;\n\n this.updateMapConfigRealtime();\n this.savedNode = this.rootNode;\n await this.updateAssets();\n\n const migratedConfig = this.widgetConfigMigrationService.migrateWidgetConfig(this.config);\n this.config = merge(this.config, migratedConfig);\n\n // For legacy widgets (with realtime), set displayMode to 'view_and_config' to maintain previous behavior to some degree\n // TODO: adjust widgetConfigMigrationService.migrateWidgetConfig or do nothing.\n // Map widget is a special case since it blocks auto-refresh in the config live mode.\n if (isLegacyWidgetWithRealtime) {\n this.config.displayMode = GLOBAL_CONTEXT_DISPLAY_MODE.VIEW_AND_CONFIG;\n }\n\n if (this.assets.length > 1) {\n this.mapConfig = {\n ...this.mapConfig,\n follow: false\n };\n }\n\n this.controls =\n (await this.dynamicComponentService.getById(defaultWidgetIds.MAP)).data?.widgetControls || {};\n }\n\n ngAfterViewInit(): void {\n this.subscribeToErrorsOccurred();\n\n if (this.widgetsDashboardComponent) {\n const resizeCallback = debounce(() => {\n // initial size of map is assigned when left drawer is closed, but if it is opened after initialization\n // the map size is not updated, so we need to call invalidateSize so that map use the correct size\n this.clusterMap.map?.invalidateSize(false);\n }, 100);\n this.resizeObserver = new ResizeObserver(resizeCallback);\n\n this.resizeObserver.observe(this.widgetsDashboardComponent.nativeElement);\n }\n }\n\n startFollow(context) {\n if (context.id !== this.rootNode?.id) {\n this.rootNode = context;\n }\n\n this.mapConfig = {\n ...this.mapConfig,\n follow: true\n };\n }\n\n stopFollow() {\n this.mapConfig = {\n ...this.mapConfig,\n follow: false\n };\n this.rootNode = this.savedNode;\n }\n\n ngOnDestroy(): void {\n if (this.resizeObserver) {\n this.resizeObserver.disconnect();\n }\n this.destroy$.next();\n }\n\n async fitToBounds() {\n await this.updateAssets();\n if (this.assets.length === 0 || !this.clusterMap?.map) {\n return;\n }\n\n const bounds = await this.mapService.getAssetsBounds(this.assets);\n\n this.clusterMap.map.fitBounds(bounds, defaultFitBoundsOptions);\n }\n\n async onGlobalContext(event) {\n const { context } = event;\n\n const isRealtime = this.mapConfig.realtime;\n if (!isRealtime && context.isAutoRefreshEnabled) {\n // If follow is enabled, fetch latest position and center map before reload\n if (this.mapConfig.follow && this.config.device?.c8y_Position) {\n await this.updateAssets();\n if (this.assets?.length === 1) {\n // Update clusterMap's asset so marker can be rendered even if cluster query returns 0 positions\n (this.clusterMap as any).assets = this.assets[0];\n this.clusterMap?.moveToPositionOfMo(this.assets[0]);\n // Prevent cluster subscription from re-centering to same position\n const pos = this.assets[0].c8y_Position;\n (this.clusterMap as any).lastFollowedPosition = { lat: pos.lat, lng: pos.lng };\n }\n }\n\n this.clusterMap?.reload();\n }\n }\n\n private async updateAssets() {\n this.assets = (await this.mapService.getAllPositionMOs(this.config.device)).data;\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 private subscribeToErrorsOccurred() {\n this.clusterMap.errorNotifier\n .pipe(filter(Boolean), takeUntil(this.destroy$))\n .subscribe(error => {\n this.alerts.addAlerts(\n new DynamicComponentAlert({\n type: 'warning',\n text:\n error?.name === 'TimeoutError'\n ? this.TIMEOUT_ERROR_TEXT\n : (error?.message ?? this.SERVER_ERROR_TEXT)\n })\n );\n });\n }\n\n private updateMapConfigRealtime() {\n this.mapConfig.realtime = this.config.realtime || false;\n }\n\n private async applyDeviceTypeTarget() {\n const hasDeviceTarget = !!this.config.device; // The map widget supports not selecting any target\n const isDeviceTypeDashboard = !!this.dashboardContextComponent?.dashboard?.deviceType;\n if (isDeviceTypeDashboard && hasDeviceTarget) {\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 }\n}\n","@if (mapConfig) {\n <c8y-map-status\n [clusterMap]=\"mapWidget\"\n [(config)]=\"mapConfig\"\n (onUnfollow)=\"stopFollow()\"\n (fitAssetsToBounds)=\"fitToBounds()\"\n [assets]=\"assets\"\n [buttonsConfig]=\"{\n autoRefresh: { show: false },\n refresh: { show: false },\n realtime: { show: false },\n fitToBounds: { show: true }\n }\"\n >\n <c8y-global-context-widget-wrapper\n *ngIf=\"controls\"\n [widgetControls]=\"controls\"\n [config]=\"config\"\n [isLoading]=\"mapWidget.isLoading$ | async\"\n (globalContextChange)=\"onGlobalContext($event)\"\n ></c8y-global-context-widget-wrapper>\n </c8y-map-status>\n\n <c8y-cluster-map\n #mapWidget\n [rootNode]=\"rootNode\"\n [config]=\"mapConfig\"\n [asset]=\"assets\"\n >\n <div\n class=\"map-marker\"\n *c8yMapPopup=\"let context\"\n >\n <a\n class=\"text-truncate deviceLink text-12\"\n routerLink=\"{{ context | assetLink }}\"\n >\n <strong>{{ context.name }}</strong>\n </a>\n <c8y-map-event-info [asset]=\"context\">\n <button\n class=\"btn btn-default btn-xs btn-block m-t-8\"\n [title]=\"'Activate realtime on this asset and follow it if it moves' | translate\"\n type=\"button\"\n (click)=\"startFollow(context)\"\n *ngIf=\"!mapConfig.follow\"\n translate\n >\n Follow\n </button>\n <button\n class=\"btn btn-default btn-xs btn-block m-t-8\"\n [title]=\"'Stop following this asset.' | translate\"\n type=\"button\"\n (click)=\"stopFollow()\"\n *ngIf=\"mapConfig.follow\"\n translate\n >\n Unfollow\n </button>\n </c8y-map-event-info>\n </div>\n </c8y-cluster-map>\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["NgCommonModule","i4","NgFormsModule","CommonModule","FormsModule","i6","i1","i2","i3","i5"],"mappings":"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"}
|
|
@@ -2496,6 +2496,11 @@ declare class GlobalContextInlineComponent implements OnInit, AfterViewInit, OnD
|
|
|
2496
2496
|
config: _angular_core.InputSignal<GlobalContextState>;
|
|
2497
2497
|
isLoading: _angular_core.InputSignal<boolean>;
|
|
2498
2498
|
dashboardChildForLegacy: _angular_core.InputSignal<DashboardChildComponent>;
|
|
2499
|
+
/**
|
|
2500
|
+
* When true, disables refresh event emissions.
|
|
2501
|
+
* Use when widget handles its own data refresh (e.g., via realtime subscriptions).
|
|
2502
|
+
*/
|
|
2503
|
+
disableRefreshEmits: _angular_core.InputSignal<boolean>;
|
|
2499
2504
|
readonly refresh: _angular_core.OutputEmitterRef<Partial<DateTimeContext>>;
|
|
2500
2505
|
readonly globalContextChange: _angular_core.OutputEmitterRef<Partial<GlobalContextState>>;
|
|
2501
2506
|
private inlineOverrides;
|
|
@@ -2616,7 +2621,7 @@ declare class GlobalContextInlineComponent implements OnInit, AfterViewInit, OnD
|
|
|
2616
2621
|
private getLinkContext;
|
|
2617
2622
|
private createLinkContext;
|
|
2618
2623
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<GlobalContextInlineComponent, never>;
|
|
2619
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<GlobalContextInlineComponent, "c8y-global-context-inline", ["globalContextInline"], { "widgetControls": { "alias": "widgetControls"; "required": true; "isSignal": true; }; "config": { "alias": "config"; "required": false; "isSignal": true; }; "isLoading": { "alias": "isLoading"; "required": false; "isSignal": true; }; "dashboardChildForLegacy": { "alias": "dashboardChildForLegacy"; "required": false; "isSignal": true; }; }, { "refresh": "refresh"; "globalContextChange": "globalContextChange"; }, never, ["#header", "#body"], true, never>;
|
|
2624
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<GlobalContextInlineComponent, "c8y-global-context-inline", ["globalContextInline"], { "widgetControls": { "alias": "widgetControls"; "required": true; "isSignal": true; }; "config": { "alias": "config"; "required": false; "isSignal": true; }; "isLoading": { "alias": "isLoading"; "required": false; "isSignal": true; }; "dashboardChildForLegacy": { "alias": "dashboardChildForLegacy"; "required": false; "isSignal": true; }; "disableRefreshEmits": { "alias": "disableRefreshEmits"; "required": false; "isSignal": true; }; }, { "refresh": "refresh"; "globalContextChange": "globalContextChange"; }, never, ["#header", "#body"], true, never>;
|
|
2620
2625
|
}
|
|
2621
2626
|
|
|
2622
2627
|
/**
|
|
@@ -3564,6 +3569,11 @@ declare class GlobalContextWidgetWrapperComponent implements OnInit {
|
|
|
3564
3569
|
controlLinks: _angular_core.InputSignal<Partial<Record<"dateTimeContext" | "aggregation" | "isAutoRefreshEnabled", boolean>>>;
|
|
3565
3570
|
dashboardChildForLegacy: _angular_core.InputSignal<DashboardChildComponent>;
|
|
3566
3571
|
config: _angular_core.InputSignal<GlobalContextState>;
|
|
3572
|
+
/**
|
|
3573
|
+
* When true, disables refresh event emissions.
|
|
3574
|
+
* Use when widget handles its own data refresh (e.g., via realtime subscriptions).
|
|
3575
|
+
*/
|
|
3576
|
+
disableRefreshEmits: _angular_core.InputSignal<boolean>;
|
|
3567
3577
|
internalConfig: WritableSignal<GlobalContextState>;
|
|
3568
3578
|
private widgetInitialConfig;
|
|
3569
3579
|
private lastEmittedState;
|
|
@@ -3626,7 +3636,7 @@ declare class GlobalContextWidgetWrapperComponent implements OnInit {
|
|
|
3626
3636
|
*/
|
|
3627
3637
|
private _processConfigDiff;
|
|
3628
3638
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<GlobalContextWidgetWrapperComponent, never>;
|
|
3629
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<GlobalContextWidgetWrapperComponent, "c8y-global-context-widget-wrapper", never, { "isLoading": { "alias": "isLoading"; "required": false; "isSignal": true; }; "displayMode": { "alias": "displayMode"; "required": false; "isSignal": true; }; "widgetControlsConfig": { "alias": "widgetControls"; "required": true; "isSignal": true; }; "controlLinks": { "alias": "controlLinks"; "required": false; "isSignal": true; }; "dashboardChildForLegacy": { "alias": "dashboardChildForLegacy"; "required": false; "isSignal": true; }; "config": { "alias": "config"; "required": false; "isSignal": true; }; }, { "globalContextChange": "globalContextChange"; }, ["widgetBodyRef", "widgetHeaderRef"], ["*"], true, never>;
|
|
3639
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<GlobalContextWidgetWrapperComponent, "c8y-global-context-widget-wrapper", never, { "isLoading": { "alias": "isLoading"; "required": false; "isSignal": true; }; "displayMode": { "alias": "displayMode"; "required": false; "isSignal": true; }; "widgetControlsConfig": { "alias": "widgetControls"; "required": true; "isSignal": true; }; "controlLinks": { "alias": "controlLinks"; "required": false; "isSignal": true; }; "dashboardChildForLegacy": { "alias": "dashboardChildForLegacy"; "required": false; "isSignal": true; }; "config": { "alias": "config"; "required": false; "isSignal": true; }; "disableRefreshEmits": { "alias": "disableRefreshEmits"; "required": false; "isSignal": true; }; }, { "globalContextChange": "globalContextChange"; }, ["widgetBodyRef", "widgetHeaderRef"], ["*"], true, never>;
|
|
3630
3640
|
}
|
|
3631
3641
|
|
|
3632
3642
|
type DisplayMode = GlobalContextDisplayMode;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sources":["../../global-context/models/auto-refresh.model.ts","../../global-context/models/control-flow.model.ts","../../global-context/models/interval-picker.model.ts","../../global-context/models/date-time-context-picker.model.ts","../../global-context/models/global-context.model.ts","../../global-context/models/global-context-defaults.ts","../../global-context/models/aggregation.model.ts","../../global-context/models/context-config.model.ts","../../global-context/models/constants.ts","../../global-context/services/state/global-context.service.ts","../../global-context/services/state/global-context-form.service.ts","../../global-context/services/state/global-context-event.service.ts","../../global-context/services/domain/widget-control.service.ts","../../global-context/services/domain/date-time-context-picker.service.ts","../../global-context/services/domain/widget-config-migration.service.ts","../../global-context/services/domain/global-context-validation.service.ts","../../global-context/services/domain/aggregation-picker.service.ts","../../global-context/services/domain/aggregation-validation.service.ts","../../global-context/services/infrastructure/global-context-utils.service.ts","../../global-context/services/infrastructure/global-context-navigation.service.ts","../../global-context/services/infrastructure/global-context-query.service.ts","../../global-context/features/configuration/configuration-collapse/configuration-collapse.component.ts","../../global-context/core/global-context.component.ts","../../global-context/core/global-context-inline.component.ts","../../global-context/core/global-context-config.component.ts","../../global-context/core/global-context-widget-config.component.ts","../../global-context/core/widget-inline/inline-context.models.ts","../../global-context/core/widget-inline/inline-link-controls.component.ts","../../global-context/features/time-context/time-range-picker/date-time-context-picker.component.ts","../../global-context/features/time-context/time-range-display/time-range-display.component.ts","../../global-context/features/time-context/interval-picker/interval-picker.component.ts","../../global-context/features/aggregation/aggregation-picker/aggregation-picker.component.ts","../../global-context/features/aggregation/aggregation-display/aggregation-display.component.ts","../../global-context/features/refresh/auto-refresh/auto-refresh-control.component.ts","../../global-context/features/refresh/realtime-control/realtime-control.component.ts","../../global-context/features/configuration/config-context-selector/config-context-selector.component.ts","../../global-context/features/configuration/configuration-controls/configuration-controls.component.ts","../../global-context/features/configuration/live-mode-configuration-controls/live-mode-configuration-controls.component.ts","../../global-context/features/configuration/history-mode-configuration-controls/history-mode-configuration-controls.component.ts","../../global-context/shared/context-controls/context-controls.component.ts","../../global-context/shared/preview-controls/preview-controls.component.ts","../../global-context/integration/widget-controls/widget-controls-factory.ts","../../global-context/integration/widget-controls/guards.ts","../../global-context/integration/widget-controls/update-helpers.ts","../../global-context/integration/widget-controls/default-widget-template.ts","../../global-context/integration/widget-controls/widget-controls-presets.ts","../../global-context/integration/widget-wrapper/global-context-widget-wrapper.component.ts","../../global-context/integration/presets/control-presets.ts","../../global-context/integration/config-mode-controls/config-mode-controls.component.ts","../../global-context/integration/global-context-connector/global-context-connector.component.ts","../../global-context/integration/link-buttons/link-buttons.component.ts","../../global-context/integration/local-controls/local-controls.component.ts","../../global-context/global-context.module.ts","../../global-context/integration/widget-controls/widget-controls-presets.helpers.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sources":["../../global-context/models/auto-refresh.model.ts","../../global-context/models/control-flow.model.ts","../../global-context/models/interval-picker.model.ts","../../global-context/models/date-time-context-picker.model.ts","../../global-context/models/global-context.model.ts","../../global-context/models/global-context-defaults.ts","../../global-context/models/aggregation.model.ts","../../global-context/models/context-config.model.ts","../../global-context/models/constants.ts","../../global-context/services/state/global-context.service.ts","../../global-context/services/state/global-context-form.service.ts","../../global-context/services/state/global-context-event.service.ts","../../global-context/services/domain/widget-control.service.ts","../../global-context/services/domain/date-time-context-picker.service.ts","../../global-context/services/domain/widget-config-migration.service.ts","../../global-context/services/domain/global-context-validation.service.ts","../../global-context/services/domain/aggregation-picker.service.ts","../../global-context/services/domain/aggregation-validation.service.ts","../../global-context/services/infrastructure/global-context-utils.service.ts","../../global-context/services/infrastructure/global-context-navigation.service.ts","../../global-context/services/infrastructure/global-context-query.service.ts","../../global-context/features/configuration/configuration-collapse/configuration-collapse.component.ts","../../global-context/core/global-context.component.ts","../../global-context/core/global-context-inline.component.ts","../../global-context/core/global-context-config.component.ts","../../global-context/core/global-context-widget-config.component.ts","../../global-context/core/widget-inline/inline-context.models.ts","../../global-context/core/widget-inline/inline-link-controls.component.ts","../../global-context/features/time-context/time-range-picker/date-time-context-picker.component.ts","../../global-context/features/time-context/time-range-display/time-range-display.component.ts","../../global-context/features/time-context/interval-picker/interval-picker.component.ts","../../global-context/features/aggregation/aggregation-picker/aggregation-picker.component.ts","../../global-context/features/aggregation/aggregation-display/aggregation-display.component.ts","../../global-context/features/refresh/auto-refresh/auto-refresh-control.component.ts","../../global-context/features/refresh/realtime-control/realtime-control.component.ts","../../global-context/features/configuration/config-context-selector/config-context-selector.component.ts","../../global-context/features/configuration/configuration-controls/configuration-controls.component.ts","../../global-context/features/configuration/live-mode-configuration-controls/live-mode-configuration-controls.component.ts","../../global-context/features/configuration/history-mode-configuration-controls/history-mode-configuration-controls.component.ts","../../global-context/shared/context-controls/context-controls.component.ts","../../global-context/shared/preview-controls/preview-controls.component.ts","../../global-context/integration/widget-controls/widget-controls-factory.ts","../../global-context/integration/widget-controls/guards.ts","../../global-context/integration/widget-controls/update-helpers.ts","../../global-context/integration/widget-controls/default-widget-template.ts","../../global-context/integration/widget-controls/widget-controls-presets.ts","../../global-context/integration/widget-wrapper/global-context-widget-wrapper.component.ts","../../global-context/integration/presets/control-presets.ts","../../global-context/integration/config-mode-controls/config-mode-controls.component.ts","../../global-context/integration/global-context-connector/global-context-connector.component.ts","../../global-context/integration/link-buttons/link-buttons.component.ts","../../global-context/integration/local-controls/local-controls.component.ts","../../global-context/global-context.module.ts","../../global-context/integration/widget-controls/widget-controls-presets.helpers.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sources":["../../icon-selector/icon-selector.component.ts","../../icon-selector/icon-selector-modal/icon-selector-modal.component.ts","../../icon-selector/icon-name.pipe.ts","../../icon-selector/icon-selector.service.ts","../../icon-selector/icon-selector-wrapper/icon-selector-wrapper.component.ts","../../icon-selector/icon-selector.module.ts"],"sourcesContent":[null,null,null,null,null,null],"names":[],"mappings":";;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sources":["../../icon-selector/icon-selector.component.ts","../../icon-selector/icon-selector-modal/icon-selector-modal.component.ts","../../icon-selector/icon-name.pipe.ts","../../icon-selector/icon-selector.service.ts","../../icon-selector/icon-selector-wrapper/icon-selector-wrapper.component.ts","../../icon-selector/icon-selector.module.ts"],"sourcesContent":[null,null,null,null,null,null],"names":[],"mappings":";;;;;;;;;;;;AAmBA,cAAA,qBAAA;;AAiBW;AACC,cAAA,YAAA;;AAGV,YAAA,UAAA,CAAA,qBAAA;AACA,oBAAA,UAAA,CAAA,qBAAA;AACA,iBAAA,eAAA;AACA,2BAAA,eAAA;AACA,8BAAA,UAAA;;AAqBM,2BAAA,OAAA,CAAA,qBAAA;AAKN,uDAAA,qBAAA,mDAAA,qBAAA;;AA8BA;;;;AAQD;;ACtGD,cAAA,0BAAA;AAoBc;;;;;AAVZ;AAEA,qBAAA,OAAA;;;AAQoB,yBAAA,UAAA;;AAOpB;;;;AAQD;;ACvCD,cAAA,YAAA,YAAA,aAAA;AAEE;;;AAMD;;ACND,cAAA,mBAAA;;AAEwB,uBAAA,cAAA;;;;AAuBvB;;ACrBD;;;;;;;;;;;;;;;;AAgBG;AACH,cAAA,4BAAA,YAAA,oBAAA;AA2BI;AACA;AAfO;;AAET;;AAEG;AACM;AACC,cAAA,YAAA;AAEV;;AAEG;;AAIO,8BAAA,mBAAA,oBAAA,gBAAA;AAIV;;AAEG;AAEH;AAEA;;;AAGG;AACH;AAIA;;;AAGG;AACH;AAIA;;;AAGG;AACH;;;;;AA4BD;;ACrGD,cAAA,kBAAA;;;;AAkBkC;;;;"}
|
package/locales/de.po
CHANGED
|
@@ -10789,6 +10789,9 @@ msgstr "Keine Halteregister verfügbar."
|
|
|
10789
10789
|
msgid "No holding registers defined."
|
|
10790
10790
|
msgstr "Keine Halteregister definiert."
|
|
10791
10791
|
|
|
10792
|
+
msgid "No icons found"
|
|
10793
|
+
msgstr "Keine Symbole gefunden"
|
|
10794
|
+
|
|
10792
10795
|
msgid "No image to display."
|
|
10793
10796
|
msgstr "Kein Bild anzuzeigen."
|
|
10794
10797
|
|
|
@@ -16498,8 +16501,7 @@ msgstr "Die dynamische Gruppe wird auf Grundlage der aktuell in der Geräteliste
|
|
|
16498
16501
|
|
|
16499
16502
|
msgid "The successfully enrolled devices can now request signed certificates and use them\n"
|
|
16500
16503
|
" to connect and authenticate to the platform via certificate-based authentication."
|
|
16501
|
-
msgstr "
|
|
16502
|
-
" Die erfolgreich registrierten Geräte können nun signierte Zertifikate anfordern und diese verwenden, um sich über eine zertifikatsbasierte Authentifizierung mit der Plattform zu verbinden und zu authentifizieren."
|
|
16504
|
+
msgstr "Die erfolgreich registrierten Geräte können nun signierte Zertifikate anfordern und diese verwenden, um sich über eine zertifikatsbasierte Authentifizierung mit der Plattform zu verbinden und zu authentifizieren."
|
|
16503
16505
|
|
|
16504
16506
|
msgid "The target URL did not accept the connection yet."
|
|
16505
16507
|
msgstr "Die Ziel-URL hat die Verbindung noch nicht bestätigt."
|
|
@@ -17158,6 +17160,9 @@ msgstr "Vertrauenswürdige Zertifikate"
|
|
|
17158
17160
|
msgid "Trusted user agents"
|
|
17159
17161
|
msgstr "Vertrauenswürdige Benutzer-Agenten"
|
|
17160
17162
|
|
|
17163
|
+
msgid "Try adjusting your search or filter to find what you're looking for."
|
|
17164
|
+
msgstr "Versuchen Sie, Ihre Suche oder Ihren Filter anzupassen, um das Gesuchte zu finden."
|
|
17165
|
+
|
|
17161
17166
|
msgid "Try another search term."
|
|
17162
17167
|
msgstr "Versuchen Sie es mit einem anderen Suchbegriff."
|
|
17163
17168
|
|
package/locales/es.po
CHANGED
|
@@ -10816,6 +10816,9 @@ msgstr "No explotación registros disponibles."
|
|
|
10816
10816
|
msgid "No holding registers defined."
|
|
10817
10817
|
msgstr "No hay registros de explotación definidos."
|
|
10818
10818
|
|
|
10819
|
+
msgid "No icons found"
|
|
10820
|
+
msgstr "No se han encontrado iconos."
|
|
10821
|
+
|
|
10819
10822
|
msgid "No image to display."
|
|
10820
10823
|
msgstr "No hay imagen que mostrar."
|
|
10821
10824
|
|
|
@@ -17188,6 +17191,9 @@ msgstr "Certificados de confianza"
|
|
|
17188
17191
|
msgid "Trusted user agents"
|
|
17189
17192
|
msgstr "Agente de usuario de confianza"
|
|
17190
17193
|
|
|
17194
|
+
msgid "Try adjusting your search or filter to find what you're looking for."
|
|
17195
|
+
msgstr "Intenta ajustar tu búsqueda o filtro para encontrar lo que estás buscando."
|
|
17196
|
+
|
|
17191
17197
|
msgid "Try another search term."
|
|
17192
17198
|
msgstr "Pruebe otro término de búsqueda."
|
|
17193
17199
|
|
package/locales/fr.po
CHANGED
|
@@ -10817,6 +10817,9 @@ msgstr "Aucun registre de holding disponible."
|
|
|
10817
10817
|
msgid "No holding registers defined."
|
|
10818
10818
|
msgstr "Aucun registre de holding défini."
|
|
10819
10819
|
|
|
10820
|
+
msgid "No icons found"
|
|
10821
|
+
msgstr "Aucune icône trouvée"
|
|
10822
|
+
|
|
10820
10823
|
msgid "No image to display."
|
|
10821
10824
|
msgstr "Aucune image à afficher."
|
|
10822
10825
|
|
|
@@ -17190,6 +17193,9 @@ msgstr "Certificats approuvés"
|
|
|
17190
17193
|
msgid "Trusted user agents"
|
|
17191
17194
|
msgstr "Agents utilisateurs approuvés"
|
|
17192
17195
|
|
|
17196
|
+
msgid "Try adjusting your search or filter to find what you're looking for."
|
|
17197
|
+
msgstr "Essayez d'ajuster votre recherche ou votre filtre pour trouver ce que vous cherchez."
|
|
17198
|
+
|
|
17193
17199
|
msgid "Try another search term."
|
|
17194
17200
|
msgstr "Essayez un autre terme de recherche."
|
|
17195
17201
|
|
package/locales/ja_JP.po
CHANGED
|
@@ -10772,6 +10772,9 @@ msgstr "利用可能な保持レジスタはありません。"
|
|
|
10772
10772
|
msgid "No holding registers defined."
|
|
10773
10773
|
msgstr "保持レジスタは定義されていません。"
|
|
10774
10774
|
|
|
10775
|
+
msgid "No icons found"
|
|
10776
|
+
msgstr ""
|
|
10777
|
+
|
|
10775
10778
|
msgid "No image to display."
|
|
10776
10779
|
msgstr "表示できる画像はありません。"
|
|
10777
10780
|
|
|
@@ -17138,6 +17141,9 @@ msgstr "信頼できる証明書"
|
|
|
17138
17141
|
msgid "Trusted user agents"
|
|
17139
17142
|
msgstr "信頼できるユーザー エージェント"
|
|
17140
17143
|
|
|
17144
|
+
msgid "Try adjusting your search or filter to find what you're looking for."
|
|
17145
|
+
msgstr ""
|
|
17146
|
+
|
|
17141
17147
|
msgid "Try another search term."
|
|
17142
17148
|
msgstr "他の検索語を試してください。"
|
|
17143
17149
|
|
package/locales/ko.po
CHANGED
|
@@ -10793,6 +10793,9 @@ msgstr "사용 가능한 홀딩 레지스터가 없습니다."
|
|
|
10793
10793
|
msgid "No holding registers defined."
|
|
10794
10794
|
msgstr "정의된 홀딩 레지스터가 없습니다."
|
|
10795
10795
|
|
|
10796
|
+
msgid "No icons found"
|
|
10797
|
+
msgstr "아이콘을 찾을 수 없습니다"
|
|
10798
|
+
|
|
10796
10799
|
msgid "No image to display."
|
|
10797
10800
|
msgstr "표시할 이미지가 없습니다."
|
|
10798
10801
|
|
|
@@ -17164,6 +17167,9 @@ msgstr "신뢰할 수 있는 인증서"
|
|
|
17164
17167
|
msgid "Trusted user agents"
|
|
17165
17168
|
msgstr "신뢰할 수 있는 사용자 에이전트"
|
|
17166
17169
|
|
|
17170
|
+
msgid "Try adjusting your search or filter to find what you're looking for."
|
|
17171
|
+
msgstr "원하는 내용을 찾으려면 검색어나 필터를 조정해 보세요."
|
|
17172
|
+
|
|
17167
17173
|
msgid "Try another search term."
|
|
17168
17174
|
msgstr "다른 검색 용어를 시도해 보십시오."
|
|
17169
17175
|
|
package/locales/locales.pot
CHANGED
|
@@ -10643,6 +10643,9 @@ msgstr ""
|
|
|
10643
10643
|
msgid "No holding registers defined."
|
|
10644
10644
|
msgstr ""
|
|
10645
10645
|
|
|
10646
|
+
msgid "No icons found"
|
|
10647
|
+
msgstr ""
|
|
10648
|
+
|
|
10646
10649
|
msgid "No image to display."
|
|
10647
10650
|
msgstr ""
|
|
10648
10651
|
|
|
@@ -16993,6 +16996,9 @@ msgstr ""
|
|
|
16993
16996
|
msgid "Trusted user agents"
|
|
16994
16997
|
msgstr ""
|
|
16995
16998
|
|
|
16999
|
+
msgid "Try adjusting your search or filter to find what you're looking for."
|
|
17000
|
+
msgstr ""
|
|
17001
|
+
|
|
16996
17002
|
msgid "Try another search term."
|
|
16997
17003
|
msgstr ""
|
|
16998
17004
|
|
package/locales/nl.po
CHANGED
|
@@ -10817,6 +10817,9 @@ msgstr "Geen bedrijfsregisters beschikbaar."
|
|
|
10817
10817
|
msgid "No holding registers defined."
|
|
10818
10818
|
msgstr "Geen bedrijfsregisters gedefinieerd."
|
|
10819
10819
|
|
|
10820
|
+
msgid "No icons found"
|
|
10821
|
+
msgstr "Geen pictogrammen gevonden"
|
|
10822
|
+
|
|
10820
10823
|
msgid "No image to display."
|
|
10821
10824
|
msgstr "Geen afbeeldingen om weer te geven."
|
|
10822
10825
|
|
|
@@ -17189,6 +17192,9 @@ msgstr "Vertrouwde certificaten"
|
|
|
17189
17192
|
msgid "Trusted user agents"
|
|
17190
17193
|
msgstr "Vertrouwde user-agents"
|
|
17191
17194
|
|
|
17195
|
+
msgid "Try adjusting your search or filter to find what you're looking for."
|
|
17196
|
+
msgstr "Probeer uw zoekopdracht of filter aan te passen om te vinden wat u zoekt."
|
|
17197
|
+
|
|
17192
17198
|
msgid "Try another search term."
|
|
17193
17199
|
msgstr "Probeer een andere zoekterm."
|
|
17194
17200
|
|
package/locales/pl.po
CHANGED
|
@@ -10862,6 +10862,9 @@ msgstr "Brak rejestrów przechowujących."
|
|
|
10862
10862
|
msgid "No holding registers defined."
|
|
10863
10863
|
msgstr "Nie zdefiniowano rejestrów przechowujących."
|
|
10864
10864
|
|
|
10865
|
+
msgid "No icons found"
|
|
10866
|
+
msgstr "Nie znaleziono ikon"
|
|
10867
|
+
|
|
10865
10868
|
msgid "No image to display."
|
|
10866
10869
|
msgstr "Brak obrazu do wyświetlenia."
|
|
10867
10870
|
|
|
@@ -17235,6 +17238,9 @@ msgstr "Zaufane certyfikaty"
|
|
|
17235
17238
|
msgid "Trusted user agents"
|
|
17236
17239
|
msgstr "Zaufane agenty użytkownika"
|
|
17237
17240
|
|
|
17241
|
+
msgid "Try adjusting your search or filter to find what you're looking for."
|
|
17242
|
+
msgstr "Spróbuj dostosować wyszukiwanie lub filtr, aby znaleźć to, czego szukasz."
|
|
17243
|
+
|
|
17238
17244
|
msgid "Try another search term."
|
|
17239
17245
|
msgstr "Spróbuj użyć innego wyszukiwanego terminu."
|
|
17240
17246
|
|
package/locales/pt_BR.po
CHANGED
|
@@ -10815,6 +10815,9 @@ msgstr "Não existem registradores de armazenamento disponíveis."
|
|
|
10815
10815
|
msgid "No holding registers defined."
|
|
10816
10816
|
msgstr "Nenhum registro de armazenamento definido."
|
|
10817
10817
|
|
|
10818
|
+
msgid "No icons found"
|
|
10819
|
+
msgstr "Não foram encontrados ícones"
|
|
10820
|
+
|
|
10818
10821
|
msgid "No image to display."
|
|
10819
10822
|
msgstr "Nenhuma imagem para exibir."
|
|
10820
10823
|
|
|
@@ -17187,6 +17190,9 @@ msgstr "Certificados confiáveis"
|
|
|
17187
17190
|
msgid "Trusted user agents"
|
|
17188
17191
|
msgstr "Agentes de usuário confiáveis"
|
|
17189
17192
|
|
|
17193
|
+
msgid "Try adjusting your search or filter to find what you're looking for."
|
|
17194
|
+
msgstr "Tente ajustar sua pesquisa ou filtro para encontrar o que você está procurando."
|
|
17195
|
+
|
|
17190
17196
|
msgid "Try another search term."
|
|
17191
17197
|
msgstr "Tente outro termo de pesquisa."
|
|
17192
17198
|
|
package/locales/zh_CN.po
CHANGED
|
@@ -10797,6 +10797,9 @@ msgstr "没有保持寄存器。"
|
|
|
10797
10797
|
msgid "No holding registers defined."
|
|
10798
10798
|
msgstr "未定义保持寄存器。"
|
|
10799
10799
|
|
|
10800
|
+
msgid "No icons found"
|
|
10801
|
+
msgstr "未找到图标"
|
|
10802
|
+
|
|
10800
10803
|
msgid "No image to display."
|
|
10801
10804
|
msgstr "没有可供显示的图像。"
|
|
10802
10805
|
|
|
@@ -17168,6 +17171,9 @@ msgstr "可信证书"
|
|
|
17168
17171
|
msgid "Trusted user agents"
|
|
17169
17172
|
msgstr "可信用户代理"
|
|
17170
17173
|
|
|
17174
|
+
msgid "Try adjusting your search or filter to find what you're looking for."
|
|
17175
|
+
msgstr "请尝试调整您的搜索或筛选条件,以找到您想要的内容。"
|
|
17176
|
+
|
|
17171
17177
|
msgid "Try another search term."
|
|
17172
17178
|
msgstr "尝试其他搜索词。"
|
|
17173
17179
|
|