@bespunky/angular-zen
Version:
The Angular tools you always wished were there.
31 lines • 4.01 kB
JavaScript
import { Directive, TemplateRef, ViewContainerRef } from '@angular/core';
import { UniversalService } from '../services/universal.service';
import * as i0 from "@angular/core";
import * as i1 from "../services/universal.service";
/**
* Provides the base functionality for platform directives to render elements only on certain platforms.
*
* @export
* @abstract
* @class PlatformDirective
* @implements {OnInit}
*/
export class PlatformDirective {
constructor(template, viewContainer, universal) {
this.template = template;
this.viewContainer = viewContainer;
this.universal = universal;
}
/**
* Checks whether the element should be rendered on the current platform and renders it.
*/
ngOnInit() {
this.shouldRender() ? this.viewContainer.createEmbeddedView(this.template) : this.viewContainer.clear();
}
}
PlatformDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: PlatformDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }, { token: i1.UniversalService }], target: i0.ɵɵFactoryTarget.Directive });
PlatformDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: PlatformDirective, ngImport: i0 });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: PlatformDirective, decorators: [{
type: Directive
}], ctorParameters: function () { return [{ type: i0.TemplateRef }, { type: i0.ViewContainerRef }, { type: i1.UniversalService }]; } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhdGZvcm0uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXplbi91bml2ZXJzYWwvc3JjL2RpcmVjdGl2ZXMvcGxhdGZvcm0uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFzQixNQUFNLGVBQWUsQ0FBQztBQUU3RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7O0FBRWpFOzs7Ozs7O0dBT0c7QUFFSCxNQUFNLE9BQWdCLGlCQUFpQjtJQUVuQyxZQUFvQixRQUFpQyxFQUFVLGFBQStCLEVBQVksU0FBMkI7UUFBakgsYUFBUSxHQUFSLFFBQVEsQ0FBeUI7UUFBVSxrQkFBYSxHQUFiLGFBQWEsQ0FBa0I7UUFBWSxjQUFTLEdBQVQsU0FBUyxDQUFrQjtJQUFJLENBQUM7SUFFMUk7O09BRUc7SUFDSCxRQUFRO1FBRUosSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUM1RyxDQUFDOzsrR0FWaUIsaUJBQWlCO21HQUFqQixpQkFBaUI7NEZBQWpCLGlCQUFpQjtrQkFEdEMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgVGVtcGxhdGVSZWYsIFZpZXdDb250YWluZXJSZWYsIEVsZW1lbnRSZWYsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBVbml2ZXJzYWxTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvdW5pdmVyc2FsLnNlcnZpY2UnO1xuXG4vKipcbiAqIFByb3ZpZGVzIHRoZSBiYXNlIGZ1bmN0aW9uYWxpdHkgZm9yIHBsYXRmb3JtIGRpcmVjdGl2ZXMgdG8gcmVuZGVyIGVsZW1lbnRzIG9ubHkgb24gY2VydGFpbiBwbGF0Zm9ybXMuXG4gKlxuICogQGV4cG9ydFxuICogQGFic3RyYWN0XG4gKiBAY2xhc3MgUGxhdGZvcm1EaXJlY3RpdmVcbiAqIEBpbXBsZW1lbnRzIHtPbkluaXR9XG4gKi9cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFBsYXRmb3JtRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0XG57XG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSB0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8RWxlbWVudFJlZj4sIHByaXZhdGUgdmlld0NvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZiwgcHJvdGVjdGVkIHVuaXZlcnNhbDogVW5pdmVyc2FsU2VydmljZSkgeyB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3Mgd2hldGhlciB0aGUgZWxlbWVudCBzaG91bGQgYmUgcmVuZGVyZWQgb24gdGhlIGN1cnJlbnQgcGxhdGZvcm0gYW5kIHJlbmRlcnMgaXQuXG4gICAgICovXG4gICAgbmdPbkluaXQoKVxuICAgIHtcbiAgICAgICAgdGhpcy5zaG91bGRSZW5kZXIoKSA/IHRoaXMudmlld0NvbnRhaW5lci5jcmVhdGVFbWJlZGRlZFZpZXcodGhpcy50ZW1wbGF0ZSkgOiB0aGlzLnZpZXdDb250YWluZXIuY2xlYXIoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3Mgd2hldGhlciB0aGUgZWxlbWVudCBzaG91bGQgYmUgcmVuZGVyZWQgb24gdGhlIGN1cnJlbnQgcGxhdGZvcm0uXG4gICAgICpcbiAgICAgKiBAcHJvdGVjdGVkXG4gICAgICogQGFic3RyYWN0XG4gICAgICogQHJldHVybnMge2Jvb2xlYW59XG4gICAgICovXG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IHNob3VsZFJlbmRlcigpOiBib29sZWFuO1xufSJdfQ==