UNPKG

ng2-bs-table

Version:
169 lines 6.67 kB
"use strict"; var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; var __metadata = (this && this.__metadata) || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; Object.defineProperty(exports, "__esModule", { value: true }); var core_1 = require("@angular/core"); var router_1 = require("@angular/router"); var common_1 = require("@angular/common"); function createComponentFactory(compiler, metadata, imports) { if (imports === void 0) { imports = []; } var cmpClass = (function () { function DynamicComponent() { } return DynamicComponent; }()); var decoratedCmp = core_1.Component(metadata)(cmpClass); var DynamicHtmlModule = (function () { function DynamicHtmlModule() { } return DynamicHtmlModule; }()); DynamicHtmlModule = __decorate([ core_1.NgModule({ imports: Object.assign([common_1.CommonModule, router_1.RouterModule], imports), declarations: [decoratedCmp] }) ], DynamicHtmlModule); return compiler.compileModuleAndAllComponentsAsync(DynamicHtmlModule) .then(function (moduleWithComponentFactory) { return moduleWithComponentFactory.componentFactories.find(function (x) { return x.componentType === decoratedCmp; }); }); } exports.createComponentFactory = createComponentFactory; var TableHtmlOutlet = (function () { function TableHtmlOutlet(vcRef, compiler) { this.vcRef = vcRef; this.compiler = compiler; this.imports = []; this.cellChange = new core_1.EventEmitter; } TableHtmlOutlet.prototype.ngOnChanges = function () { var _this = this; var html = this.html; if (!html) return; if (this.cmpRef) { this.cmpRef.destroy(); } var compMetadata = new core_1.Component({ selector: 'dynamic-html', template: this.html, }); createComponentFactory(this.compiler, compMetadata, this.imports) .then(function (factory) { var injector = core_1.ReflectiveInjector.fromResolvedProviders([], _this.vcRef.parentInjector); _this.cmpRef = _this.vcRef.createComponent(factory, 0, injector, []); }).then(function () { _this.cmpRef.instance.data = _this.data; _this.cmpRef.instance.columnName = _this.columnName; // Change cell event _this.cmpRef.instance.cellChange = _this.cellChange; _this.cmpRef.instance.onCellChange = _this.onCellChange; }); }; TableHtmlOutlet.prototype.ngOnDestroy = function () { if (this.cmpRef) { this.cmpRef.destroy(); } }; TableHtmlOutlet.prototype.onCellChange = function (event) { this.cellChange.emit(event); }; return TableHtmlOutlet; }()); __decorate([ core_1.Input(), __metadata("design:type", String) ], TableHtmlOutlet.prototype, "html", void 0); __decorate([ core_1.Input(), __metadata("design:type", Object) ], TableHtmlOutlet.prototype, "data", void 0); __decorate([ core_1.Input(), __metadata("design:type", Array) ], TableHtmlOutlet.prototype, "imports", void 0); __decorate([ core_1.Input(), __metadata("design:type", String) ], TableHtmlOutlet.prototype, "columnName", void 0); __decorate([ core_1.Output(), __metadata("design:type", core_1.EventEmitter) ], TableHtmlOutlet.prototype, "cellChange", void 0); TableHtmlOutlet = __decorate([ core_1.Directive({ selector: 'table-html-outlet' }), __metadata("design:paramtypes", [core_1.ViewContainerRef, core_1.Compiler]) ], TableHtmlOutlet); exports.TableHtmlOutlet = TableHtmlOutlet; var TableFilterOutlet = (function () { function TableFilterOutlet(vcRef, compiler) { this.vcRef = vcRef; this.compiler = compiler; this.imports = []; this.filter = new core_1.EventEmitter; } TableFilterOutlet.prototype.ngOnChanges = function () { var _this = this; var html = this.html; if (!html) return; if (this.cmpRef) { this.cmpRef.destroy(); } var compMetadata = new core_1.Component({ selector: 'dynamic-html', template: this.html, }); createComponentFactory(this.compiler, compMetadata, this.imports) .then(function (factory) { var injector = core_1.ReflectiveInjector.fromResolvedProviders([], _this.vcRef.parentInjector); _this.cmpRef = _this.vcRef.createComponent(factory, 0, injector, []); }).then(function () { _this.cmpRef.instance.collection = _this.collection; _this.cmpRef.instance.columnName = _this.columnName; // Filter event _this.cmpRef.instance.filter = _this.filter; _this.cmpRef.instance.onFilter = _this.onFilter; }); }; TableFilterOutlet.prototype.ngOnDestroy = function () { if (this.cmpRef) { this.cmpRef.destroy(); } }; TableFilterOutlet.prototype.onFilter = function (event) { this.filter.emit(event); }; return TableFilterOutlet; }()); __decorate([ core_1.Input(), __metadata("design:type", String) ], TableFilterOutlet.prototype, "html", void 0); __decorate([ core_1.Input(), __metadata("design:type", Array) ], TableFilterOutlet.prototype, "imports", void 0); __decorate([ core_1.Input(), __metadata("design:type", Object) ], TableFilterOutlet.prototype, "collection", void 0); __decorate([ core_1.Input(), __metadata("design:type", String) ], TableFilterOutlet.prototype, "columnName", void 0); __decorate([ core_1.Output(), __metadata("design:type", core_1.EventEmitter) ], TableFilterOutlet.prototype, "filter", void 0); TableFilterOutlet = __decorate([ core_1.Directive({ selector: 'table-filter-outlet' }), __metadata("design:paramtypes", [core_1.ViewContainerRef, core_1.Compiler]) ], TableFilterOutlet); exports.TableFilterOutlet = TableFilterOutlet; //# sourceMappingURL=table-html-outlet.js.map