UNPKG

dynamic-mat-table

Version:

dynamic-mat-table is an Angular component for presenting large and complex data with a lightning fast performance (at least 10x faster) and excellent level of control over the presentation.

34 lines 2.85 kB
import { Directive, Input, TemplateRef, ViewContainerRef } from '@angular/core'; export class TemplateOrStringDirective { constructor(defaultTpl, vcr) { this.defaultTpl = defaultTpl; this.vcr = vcr; } set templateOrString(content) { let template = content instanceof TemplateRef ? content : this.defaultTpl; this.vcr.clear(); this.vcr.createEmbeddedView(template); } } /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */ TemplateOrStringDirective.decorators = [ { type: Directive, args: [{ selector: '[templateOrString]' },] } ]; /** * @type {function(): !Array<(null|{ * type: ?, * decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>), * })>} * @nocollapse */ TemplateOrStringDirective.ctorParameters = () => [ { type: TemplateRef }, { type: ViewContainerRef } ]; /** @type {!Object<string, !Array<{type: !Function, args: (undefined|!Array<?>)}>>} */ TemplateOrStringDirective.propDecorators = { templateOrString: [{ type: Input }] }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGUtb3Itc3RyaW5nLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2R5bmFtaWMtbWF0LXRhYmxlL3NyYy9saWIvdG9vbHRpcC90ZW1wbGF0ZS1vci1zdHJpbmcuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUtoRixNQUFNLE9BQU8seUJBQXlCO0lBUXBDLFlBQW9CLFVBQTRCLEVBQVUsR0FBcUI7UUFBM0QsZUFBVSxHQUFWLFVBQVUsQ0FBa0I7UUFBVSxRQUFHLEdBQUgsR0FBRyxDQUFrQjtJQUFJLENBQUM7SUFOcEYsSUFBYSxnQkFBZ0IsQ0FBQyxPQUFrQztRQUM5RCxJQUFJLFFBQVEsR0FBRyxPQUFPLFlBQVksV0FBVyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7UUFDMUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7Ozs7WUFURixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLG9CQUFvQjthQUMvQjs7Ozs7Ozs7OztZQUowQixXQUFXO1lBQUUsZ0JBQWdCOzs7OytCQU9yRCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCwgVGVtcGxhdGVSZWYsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW3RlbXBsYXRlT3JTdHJpbmddJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgVGVtcGxhdGVPclN0cmluZ0RpcmVjdGl2ZSB7XHJcblxyXG4gIEBJbnB1dCgpIHNldCB0ZW1wbGF0ZU9yU3RyaW5nKGNvbnRlbnQ6IHN0cmluZyB8IFRlbXBsYXRlUmVmPGFueT4pIHtcclxuICAgIGxldCB0ZW1wbGF0ZSA9IGNvbnRlbnQgaW5zdGFuY2VvZiBUZW1wbGF0ZVJlZiA/IGNvbnRlbnQgOiB0aGlzLmRlZmF1bHRUcGw7XHJcbiAgICB0aGlzLnZjci5jbGVhcigpO1xyXG4gICAgdGhpcy52Y3IuY3JlYXRlRW1iZWRkZWRWaWV3KHRlbXBsYXRlKTtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZGVmYXVsdFRwbDogVGVtcGxhdGVSZWY8YW55PiwgcHJpdmF0ZSB2Y3I6IFZpZXdDb250YWluZXJSZWYpIHsgfVxyXG5cclxufVxyXG4iXX0=