UNPKG

ngx-material-drawer

Version:

A dynamic, configurable Angular Material drawer with dashboard capabilities

32 lines 5.59 kB
import { Component, Input, ViewChild, ComponentFactoryResolver, } from "@angular/core"; import { CardDirective } from "../directive/card.directive"; import * as i0 from "@angular/core"; import * as i1 from "../directive/card.directive"; export class CardHolderComponent { constructor(componentFactoryResolver) { this.componentFactoryResolver = componentFactoryResolver; } ngOnInit() { this.cardHost && this.cardData && this.loadComponent(); } ngAfterViewInit() { } loadComponent() { const componentFactory = this.componentFactoryResolver.resolveComponentFactory(this.cardData.component); const viewContainerRef = this.cardHost.viewContainerRef; viewContainerRef.clear(); const componentRef = viewContainerRef.createComponent(componentFactory); componentRef.instance.data = this.cardData.data; } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CardHolderComponent, deps: [{ token: i0.ComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Component }); } static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: CardHolderComponent, selector: "lib-card-holder", inputs: { cardData: "cardData" }, viewQueries: [{ propertyName: "cardHost", first: true, predicate: CardDirective, descendants: true, static: true }], ngImport: i0, template: "<div class=\"ngx-card-holder\">\n <ng-template card-host></ng-template>\n</div>", styles: [":host{height:100%;width:100%}:host .ngx-card-holder{height:inherit;width:inherit}\n"], dependencies: [{ kind: "directive", type: i1.CardDirective, selector: "[card-host]" }] }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CardHolderComponent, decorators: [{ type: Component, args: [{ selector: "lib-card-holder", template: "<div class=\"ngx-card-holder\">\n <ng-template card-host></ng-template>\n</div>", styles: [":host{height:100%;width:100%}:host .ngx-card-holder{height:inherit;width:inherit}\n"] }] }], ctorParameters: () => [{ type: i0.ComponentFactoryResolver }], propDecorators: { cardData: [{ type: Input }], cardHost: [{ type: ViewChild, args: [CardDirective, { static: true }] }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC1ob2xkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW1hdGVyaWFsLWRyYXdlci9zcmMvbGliL2FwcC9jYXJkLWhvbGRlci9jYXJkLWhvbGRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbWF0ZXJpYWwtZHJhd2VyL3NyYy9saWIvYXBwL2NhcmQtaG9sZGVyL2NhcmQtaG9sZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUVMLFNBQVMsRUFDVCx3QkFBd0IsR0FFekIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDZCQUE2QixDQUFDOzs7QUFRNUQsTUFBTSxPQUFPLG1CQUFtQjtJQUk5QixZQUFvQix3QkFBa0Q7UUFBbEQsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEwQjtJQUFHLENBQUM7SUFFMUUsUUFBUTtRQUNOLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDekQsQ0FBQztJQUVELGVBQWUsS0FBSSxDQUFDO0lBRXBCLGFBQWE7UUFDWCxNQUFNLGdCQUFnQixHQUNwQixJQUFJLENBQUMsd0JBQXdCLENBQUMsdUJBQXVCLENBQ25ELElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUN4QixDQUFDO1FBRUosTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDO1FBQ3hELGdCQUFnQixDQUFDLEtBQUssRUFBRSxDQUFDO1FBRXpCLE1BQU0sWUFBWSxHQUFHLGdCQUFnQixDQUFDLGVBQWUsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzdELFlBQVksQ0FBQyxRQUFTLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO0lBQzlELENBQUM7K0dBdkJVLG1CQUFtQjttR0FBbkIsbUJBQW1CLG1JQUVuQixhQUFhLDhEQ2xCMUIsa0ZBRU07OzRGRGNPLG1CQUFtQjtrQkFML0IsU0FBUzsrQkFDRSxpQkFBaUI7NkZBS2xCLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ3NDLFFBQVE7c0JBQW5ELFNBQVM7dUJBQUMsYUFBYSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgVmlld0NoaWxkLFxuICBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gIE9uRGVzdHJveSxcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IENhcmREaXJlY3RpdmUgfSBmcm9tIFwiLi4vZGlyZWN0aXZlL2NhcmQuZGlyZWN0aXZlXCI7XG5pbXBvcnQgeyBJTmd4Q2FyZCB9IGZyb20gXCIuLi9pbnRlcmZhY2VcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcImxpYi1jYXJkLWhvbGRlclwiLFxuICB0ZW1wbGF0ZVVybDogXCIuL2NhcmQtaG9sZGVyLmNvbXBvbmVudC5odG1sXCIsXG4gIHN0eWxlVXJsczogW1wiLi9jYXJkLWhvbGRlci5jb21wb25lbnQuc2Nzc1wiXSxcbn0pXG5leHBvcnQgY2xhc3MgQ2FyZEhvbGRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIGNhcmREYXRhOiBhbnk7XG4gIEBWaWV3Q2hpbGQoQ2FyZERpcmVjdGl2ZSwgeyBzdGF0aWM6IHRydWUgfSkgY2FyZEhvc3QhOiBDYXJkRGlyZWN0aXZlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY29tcG9uZW50RmFjdG9yeVJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIpIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5jYXJkSG9zdCAmJiB0aGlzLmNhcmREYXRhICYmIHRoaXMubG9hZENvbXBvbmVudCgpO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge31cblxuICBsb2FkQ29tcG9uZW50KCkge1xuICAgIGNvbnN0IGNvbXBvbmVudEZhY3RvcnkgPVxuICAgICAgdGhpcy5jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoXG4gICAgICAgIHRoaXMuY2FyZERhdGEuY29tcG9uZW50XG4gICAgICApO1xuXG4gICAgY29uc3Qgdmlld0NvbnRhaW5lclJlZiA9IHRoaXMuY2FyZEhvc3Qudmlld0NvbnRhaW5lclJlZjtcbiAgICB2aWV3Q29udGFpbmVyUmVmLmNsZWFyKCk7XG5cbiAgICBjb25zdCBjb21wb25lbnRSZWYgPSB2aWV3Q29udGFpbmVyUmVmLmNyZWF0ZUNvbXBvbmVudChjb21wb25lbnRGYWN0b3J5KTtcbiAgICAoPElOZ3hDYXJkPmNvbXBvbmVudFJlZi5pbnN0YW5jZSkuZGF0YSA9IHRoaXMuY2FyZERhdGEuZGF0YTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIm5neC1jYXJkLWhvbGRlclwiPlxuICA8bmctdGVtcGxhdGUgY2FyZC1ob3N0PjwvbmctdGVtcGxhdGU+XG48L2Rpdj4iXX0=