ng2-bs-table
Version:
Boostrap table view for angular 2.
169 lines • 6.67 kB
JavaScript
;
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