UNPKG

ng-materialgrammi

Version:

An Angular framework which follows

112 lines 13.3 kB
import { Component, EventEmitter, Input, Output } from '@angular/core'; import * as i0 from "@angular/core"; import * as i1 from "../../materialgrammi.service"; import * as i2 from "@angular/common"; export class WidgetComponent { constructor(mainService, cd) { this.mainService = mainService; this.cd = cd; this.id = "general-widget-1"; this.parent = "general-parent-1"; this.type = "general"; this.options = false; this.status = false; this.standalone = false; this.class = ""; this.triggered = new EventEmitter(); this.settings = { header: { always: false }, footer: { always: false } }; this.myClasses = ""; } ngOnInit() { this.init(); this.myClasses = this.class; } ngOnChanges() { this.init(); this.myClasses = this.class; } ngAfterContentChecked() { this.myClasses = this.class; } init() { if (this.standalone) { this.registerWidget(); if (this.status) { this.openWidget(); } else { this.closeWidget(); } } this.watch(); this.watchOptions(); } setOptions() { if (this.options && this.options.header.always) { this.settings.header.always = true; } if (this.options && this.options.footer.always) { this.settings.footer.always = true; } } registerWidget() { this.mainService.registerWidget(this.id, this.type, this.parent, this.options); if (this.status) { this.openWidget(); } } openWidget() { this.mainService.openWidget(this.id, this.type, this.parent); } closeWidget() { this.mainService.closeWidget(this.id, this.type, this.parent); } watch() { if (this.mainService.widgetExists(this.id, this.type, this.parent)) { this.mainService.watchWidget(this.id, this.type, this.parent).subscribe((data) => { this.status = data; this.triggered.emit({ status: this.status, options: this.options }); }); } } watchOptions() { if (this.mainService.widgetExists(this.id, this.type, this.parent)) { this.mainService.watchWidget(this.id, this.type, this.parent).subscribe((data) => { this.options = data; }); } } } WidgetComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: WidgetComponent, deps: [{ token: i1.MaterialgrammiService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); WidgetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: WidgetComponent, selector: "mg-widget", inputs: { id: "id", parent: "parent", type: "type", options: "options", status: "status", standalone: "standalone", class: "class" }, outputs: { triggered: "triggered" }, usesOnChanges: true, ngImport: i0, template: "<div [ngClass]=\"myClasses\">\n <ng-container *ngIf=\"settings.header.always || status\">\n <ng-content select=\"[mg-data=header]\"></ng-content>\n </ng-container>\n <ng-container *ngIf=\"status\">\n <ng-content></ng-content>\n </ng-container>\n <ng-container *ngIf=\"settings.footer.always || status\">\n <ng-content select=\"[mg-data=footer]\"></ng-content>\n </ng-container>\n</div>\n\n", styles: [""], directives: [{ type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: WidgetComponent, decorators: [{ type: Component, args: [{ selector: 'mg-widget', template: "<div [ngClass]=\"myClasses\">\n <ng-container *ngIf=\"settings.header.always || status\">\n <ng-content select=\"[mg-data=header]\"></ng-content>\n </ng-container>\n <ng-container *ngIf=\"status\">\n <ng-content></ng-content>\n </ng-container>\n <ng-container *ngIf=\"settings.footer.always || status\">\n <ng-content select=\"[mg-data=footer]\"></ng-content>\n </ng-container>\n</div>\n\n", styles: [""] }] }], ctorParameters: function () { return [{ type: i1.MaterialgrammiService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { id: [{ type: Input }], parent: [{ type: Input }], type: [{ type: Input }], options: [{ type: Input }], status: [{ type: Input }], standalone: [{ type: Input }], class: [{ type: Input }], triggered: [{ type: Output }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hdGVyaWFsZ3JhbW1pL3NyYy9saWIvY29tcG9uZW50cy93aWRnZXQvd2lkZ2V0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hdGVyaWFsZ3JhbW1pL3NyYy9saWIvY29tcG9uZW50cy93aWRnZXQvd2lkZ2V0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBNEQsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQVFwSixNQUFNLE9BQU8sZUFBZTtJQW9CMUIsWUFBb0IsV0FBa0MsRUFBVSxFQUFxQjtRQUFqRSxnQkFBVyxHQUFYLFdBQVcsQ0FBdUI7UUFBVSxPQUFFLEdBQUYsRUFBRSxDQUFtQjtRQW5CNUUsT0FBRSxHQUFHLGtCQUFrQixDQUFDO1FBQ3hCLFdBQU0sR0FBRyxrQkFBa0IsQ0FBQztRQUM1QixTQUFJLEdBQUcsU0FBUyxDQUFDO1FBQ2pCLFlBQU8sR0FBUSxLQUFLLENBQUM7UUFDckIsV0FBTSxHQUFHLEtBQUssQ0FBQztRQUNmLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFDbkIsVUFBSyxHQUFDLEVBQUUsQ0FBQztRQUNSLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBRXpDLGFBQVEsR0FBRztZQUNULE1BQU0sRUFBRTtnQkFDTixNQUFNLEVBQUUsS0FBSzthQUNkO1lBQ0QsTUFBTSxFQUFFO2dCQUNOLE1BQU0sRUFBRSxLQUFLO2FBQ2Q7U0FDRixDQUFDO1FBRUYsY0FBUyxHQUFHLEVBQUUsQ0FBQztJQUMwRSxDQUFDO0lBSTFGLFFBQVE7UUFDTixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDWixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFL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SUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQVMsRUFBRSxFQUFFO2dCQUNwRixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztZQUN0QixDQUFDLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQzs7NEdBN0ZVLGVBQWU7Z0dBQWYsZUFBZSxpUENSNUIsc1pBWUE7MkZESmEsZUFBZTtrQkFMM0IsU0FBUzsrQkFDRSxXQUFXOzRJQUtaLEVBQUU7c0JBQVYsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0ksU0FBUztzQkFBbEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyQ29udGVudENoZWNrZWQsIEFmdGVyQ29udGVudEluaXQsIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdGVyaWFsZ3JhbW1pU2VydmljZSB9IGZyb20gJy4uLy4uL21hdGVyaWFsZ3JhbW1pLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtZy13aWRnZXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vd2lkZ2V0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vd2lkZ2V0LmNvbXBvbmVudC5jc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBXaWRnZXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgQWZ0ZXJDb250ZW50Q2hlY2tlZCB7XG4gIEBJbnB1dCgpIGlkID0gXCJnZW5lcmFsLXdpZGdldC0xXCI7XG4gIEBJbnB1dCgpIHBhcmVudCA9IFwiZ2VuZXJhbC1wYXJlbnQtMVwiO1xuICBASW5wdXQoKSB0eXBlID0gXCJnZW5lcmFsXCI7XG4gIEBJbnB1dCgpIG9wdGlvbnM6IGFueSA9IGZhbHNlO1xuICBASW5wdXQoKSBzdGF0dXMgPSBmYWxzZTtcbiAgQElucHV0KCkgc3RhbmRhbG9uZSA9IGZhbHNlO1xuICBASW5wdXQoKSBjbGFzcz1cIlwiO1xuICBAT3V0cHV0KCkgdHJpZ2dlcmVkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIHNldHRpbmdzID0ge1xuICAgIGhlYWRlcjoge1xuICAgICAgYWx3YXlzOiBmYWxzZVxuICAgIH0sXG4gICAgZm9vdGVyOiB7XG4gICAgICBhbHdheXM6IGZhbHNlXG4gICAgfVxuICB9O1xuXG4gIG15Q2xhc3NlcyA9IFwiXCI7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbWFpblNlcnZpY2U6IE1hdGVyaWFsZ3JhbW1pU2VydmljZSwgcHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYpIHsgfVxuXG5cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmluaXQoKTtcbiAgICB0aGlzLm15Q2xhc3NlcyA9IHRoaXMuY2xhc3M7XG4gIH1cblxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLmluaXQoKTtcbiAgICB0aGlzLm15Q2xhc3NlcyA9IHRoaXMuY2xhc3M7XG4gIH1cblxuICBuZ0FmdGVyQ29udGVudENoZWNrZWQoKTogdm9pZCB7XG4gICAgdGhpcy5teUNsYXNzZXMgPSB0aGlzLmNsYXNzO1xuICB9XG5cbiAgaW5pdCgpIHtcbiAgICBpZiAodGhpcy5zdGFuZGFsb25lKSB7XG4gICAgICB0aGlzLnJlZ2lzdGVyV2lkZ2V0KCk7XG4gICAgICBpZiAodGhpcy5zdGF0dXMpIHtcbiAgICAgICAgdGhpcy5vcGVuV2lkZ2V0KCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmNsb3NlV2lkZ2V0KCk7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMud2F0Y2goKTtcbiAgICB0aGlzLndhdGNoT3B0aW9ucygpO1xuICB9XG5cbiAgc2V0T3B0aW9ucygpIHtcbiAgICBpZiAodGhpcy5vcHRpb25zICYmIHRoaXMub3B0aW9ucy5oZWFkZXIuYWx3YXlzKSB7XG4gICAgICB0aGlzLnNldHRpbmdzLmhlYWRlci5hbHdheXMgPSB0cnVlO1xuICAgIH1cbiAgICBpZiAodGhpcy5vcHRpb25zICYmIHRoaXMub3B0aW9ucy5mb290ZXIuYWx3YXlzKSB7XG4gICAgICB0aGlzLnNldHRpbmdzLmZvb3Rlci5hbHdheXMgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHJlZ2lzdGVyV2lkZ2V0KCkge1xuICAgIHRoaXMubWFpblNlcnZpY2UucmVnaXN0ZXJXaWRnZXQodGhpcy5pZCwgdGhpcy50eXBlLCB0aGlzLnBhcmVudCwgdGhpcy5vcHRpb25zKTtcbiAgICBpZiAodGhpcy5zdGF0dXMpIHtcbiAgICAgIHRoaXMub3BlbldpZGdldCgpO1xuICAgIH1cbiAgfVxuXG4gIG9wZW5XaWRnZXQoKSB7XG4gICAgdGhpcy5tYWluU2VydmljZS5vcGVuV2lkZ2V0KHRoaXMuaWQsIHRoaXMudHlwZSwgdGhpcy5wYXJlbnQpO1xuICB9XG5cbiAgY2xvc2VXaWRnZXQoKSB7XG4gICAgdGhpcy5tYWluU2VydmljZS5jbG9zZVdpZGdldCh0aGlzLmlkLCB0aGlzLnR5cGUsIHRoaXMucGFyZW50KTtcbiAgfVxuXG4gIHdhdGNoKCkge1xuICAgIGlmICh0aGlzLm1haW5TZXJ2aWNlLndpZGdldEV4aXN0cyh0aGlzLmlkLCB0aGlzLnR5cGUsIHRoaXMucGFyZW50KSkge1xuICAgICAgdGhpcy5tYWluU2VydmljZS53YXRjaFdpZGdldCh0aGlzLmlkLCB0aGlzLnR5cGUsIHRoaXMucGFyZW50KS5zdWJzY3JpYmUoKGRhdGE6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLnN0YXR1cyA9IGRhdGE7XG4gICAgICAgIHRoaXMudHJpZ2dlcmVkLmVtaXQoe1xuICAgICAgICAgIHN0YXR1czogdGhpcy5zdGF0dXMsXG4gICAgICAgICAgb3B0aW9uczogdGhpcy5vcHRpb25zXG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgd2F0Y2hPcHRpb25zKCkge1xuICAgIGlmICh0aGlzLm1haW5TZXJ2aWNlLndpZGdldEV4aXN0cyh0aGlzLmlkLCB0aGlzLnR5cGUsIHRoaXMucGFyZW50KSkge1xuICAgICAgdGhpcy5tYWluU2VydmljZS53YXRjaFdpZGdldCh0aGlzLmlkLCB0aGlzLnR5cGUsIHRoaXMucGFyZW50KS5zdWJzY3JpYmUoKGRhdGE6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLm9wdGlvbnMgPSBkYXRhO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IFtuZ0NsYXNzXT1cIm15Q2xhc3Nlc1wiPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwic2V0dGluZ3MuaGVhZGVyLmFsd2F5cyB8fCBzdGF0dXNcIj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbbWctZGF0YT1oZWFkZXJdXCI+PC9uZy1jb250ZW50PlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInN0YXR1c1wiPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJzZXR0aW5ncy5mb290ZXIuYWx3YXlzIHx8IHN0YXR1c1wiPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIlttZy1kYXRhPWZvb3Rlcl1cIj48L25nLWNvbnRlbnQ+XG4gIDwvbmctY29udGFpbmVyPlxuPC9kaXY+XG5cbiJdfQ==