UNPKG

@c8y/ngx-components

Version:

Angular modules for Cumulocity IoT applications

55 lines 7.33 kB
import { ChangeDetectionStrategy, Component, ElementRef, Optional } from '@angular/core'; import { DashboardBridgeService } from './dashboard-bridge.service'; import { WidgetsDashboardComponent } from '@c8y/ngx-components'; import { debounceTime, merge } from 'rxjs'; import * as i0 from "@angular/core"; import * as i1 from "@c8y/ngx-components"; import * as i2 from "./dashboard-bridge.service"; export class WidgetComponent { constructor(dashboard, dashboardBridgeService, el) { this.dashboard = dashboard; this.dashboardBridgeService = dashboardBridgeService; this.el = el; this.DEBOUNCE_TIME_UNTIL_WIDGET_HAS_SNAPPED = 400; } onBeforeSave() { this.ng1Scope.$broadcast('saveWidget'); return true; } async ngOnInit() { if (this.config) { if (this.config.child) { this.config.child.alerts = this.alerts; } this.ng1Scope = await this.dashboardBridgeService.instantiateComponent(this.config, this.el.nativeElement); if (this.dashboard) { this.resizeSubscription = merge(this.dashboard.onChangeDashboard, this.dashboard.onResize) .pipe(debounceTime(this.DEBOUNCE_TIME_UNTIL_WIDGET_HAS_SNAPPED)) .subscribe(() => { this.ng1Scope.$broadcast('dashboardResize'); }); } } } ngOnDestroy() { if (this.ng1Scope) { this.ng1Scope.$destroy(); } if (this.resizeSubscription) { this.resizeSubscription.unsubscribe(); } } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WidgetComponent, deps: [{ token: i1.WidgetsDashboardComponent, optional: true }, { token: i2.DashboardBridgeService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); } static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: WidgetComponent, selector: "c8y-widget-legacy", ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WidgetComponent, decorators: [{ type: Component, args: [{ selector: 'c8y-widget-legacy', template: '', changeDetection: ChangeDetectionStrategy.OnPush }] }], ctorParameters: () => [{ type: i1.WidgetsDashboardComponent, decorators: [{ type: Optional }] }, { type: i2.DashboardBridgeService }, { type: i0.ElementRef }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3VwZ3JhZGUvZGFzaGJvYXJkL3dpZGdldC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsVUFBVSxFQUdWLFFBQVEsRUFDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNwRSxPQUFPLEVBQWdCLHlCQUF5QixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDOUUsT0FBTyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQWdCLE1BQU0sTUFBTSxDQUFDOzs7O0FBT3pELE1BQU0sT0FBTyxlQUFlO0lBTzFCLFlBQ3NCLFNBQW9DLEVBQ2hELHNCQUE4QyxFQUM5QyxFQUFjO1FBRkYsY0FBUyxHQUFULFNBQVMsQ0FBMkI7UUFDaEQsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF3QjtRQUM5QyxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBTFAsMkNBQXNDLEdBQUcsR0FBRyxDQUFDO0lBTTNELENBQUM7SUFFSixZQUFZO1FBQ1YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDdkMsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsS0FBSyxDQUFDLFFBQVE7UUFDWixJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNoQixJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ3RCLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1lBQ3pDLENBQUM7WUFDRCxJQUFJLENBQUMsUUFBUSxHQUFHLE1BQU0sSUFBSSxDQUFDLHNCQUFzQixDQUFDLG9CQUFvQixDQUNwRSxJQUFJLENBQUMsTUFBTSxFQUNYLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUN0QixDQUFDO1lBQ0YsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7Z0JBQ25CLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQztxQkFDdkYsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsc0NBQXNDLENBQUMsQ0FBQztxQkFDL0QsU0FBUyxDQUFDLEdBQUcsRUFBRTtvQkFDZCxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO2dCQUM5QyxDQUFDLENBQUMsQ0FBQztZQUNQLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQzNCLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1lBQzVCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUN4QyxDQUFDO0lBQ0gsQ0FBQzsrR0E1Q1UsZUFBZTttR0FBZixlQUFlLHlEQUhoQixFQUFFOzs0RkFHRCxlQUFlO2tCQUwzQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxtQkFBbUI7b0JBQzdCLFFBQVEsRUFBRSxFQUFFO29CQUNaLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNoRDs7MEJBU0ksUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIE9uSW5pdCxcbiAgT25EZXN0cm95LFxuICBPcHRpb25hbFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERhc2hib2FyZEJyaWRnZVNlcnZpY2UgfSBmcm9tICcuL2Rhc2hib2FyZC1icmlkZ2Uuc2VydmljZSc7XG5pbXBvcnQgeyBPbkJlZm9yZVNhdmUsIFdpZGdldHNEYXNoYm9hcmRDb21wb25lbnQgfSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgbWVyZ2UsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjOHktd2lkZ2V0LWxlZ2FjeScsXG4gIHRlbXBsYXRlOiAnJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgV2lkZ2V0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIE9uQmVmb3JlU2F2ZSB7XG4gIG5nMVNjb3BlO1xuICBjb25maWc7XG4gIGFsZXJ0cztcbiAgcHJpdmF0ZSByZXNpemVTdWJzY3JpcHRpb24/OiBTdWJzY3JpcHRpb247XG4gIHByaXZhdGUgcmVhZG9ubHkgREVCT1VOQ0VfVElNRV9VTlRJTF9XSURHRVRfSEFTX1NOQVBQRUQgPSA0MDA7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBkYXNoYm9hcmQ6IFdpZGdldHNEYXNoYm9hcmRDb21wb25lbnQsXG4gICAgcHJpdmF0ZSBkYXNoYm9hcmRCcmlkZ2VTZXJ2aWNlOiBEYXNoYm9hcmRCcmlkZ2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgZWw6IEVsZW1lbnRSZWZcbiAgKSB7fVxuXG4gIG9uQmVmb3JlU2F2ZSgpOiBib29sZWFuIHtcbiAgICB0aGlzLm5nMVNjb3BlLiRicm9hZGNhc3QoJ3NhdmVXaWRnZXQnKTtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIGFzeW5jIG5nT25Jbml0KCkge1xuICAgIGlmICh0aGlzLmNvbmZpZykge1xuICAgICAgaWYgKHRoaXMuY29uZmlnLmNoaWxkKSB7XG4gICAgICAgIHRoaXMuY29uZmlnLmNoaWxkLmFsZXJ0cyA9IHRoaXMuYWxlcnRzO1xuICAgICAgfVxuICAgICAgdGhpcy5uZzFTY29wZSA9IGF3YWl0IHRoaXMuZGFzaGJvYXJkQnJpZGdlU2VydmljZS5pbnN0YW50aWF0ZUNvbXBvbmVudChcbiAgICAgICAgdGhpcy5jb25maWcsXG4gICAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudFxuICAgICAgKTtcbiAgICAgIGlmICh0aGlzLmRhc2hib2FyZCkge1xuICAgICAgICB0aGlzLnJlc2l6ZVN1YnNjcmlwdGlvbiA9IG1lcmdlKHRoaXMuZGFzaGJvYXJkLm9uQ2hhbmdlRGFzaGJvYXJkLCB0aGlzLmRhc2hib2FyZC5vblJlc2l6ZSlcbiAgICAgICAgICAucGlwZShkZWJvdW5jZVRpbWUodGhpcy5ERUJPVU5DRV9USU1FX1VOVElMX1dJREdFVF9IQVNfU05BUFBFRCkpXG4gICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLm5nMVNjb3BlLiRicm9hZGNhc3QoJ2Rhc2hib2FyZFJlc2l6ZScpO1xuICAgICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLm5nMVNjb3BlKSB7XG4gICAgICB0aGlzLm5nMVNjb3BlLiRkZXN0cm95KCk7XG4gICAgfVxuICAgIGlmICh0aGlzLnJlc2l6ZVN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5yZXNpemVTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==