uv-charts-dashboard
Version:
A dashboard for uvCharts examples
65 lines • 3.51 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);
};
var core_1 = require('@angular/core');
var line_chart_component_1 = require('../line-chart-component/line-chart.component');
var area_chart_component_1 = require('../area-chart-component/area-chart.component');
var ChartDetailsComponent = (function () {
function ChartDetailsComponent(resolver) {
this.resolver = resolver;
this.currentComponent = null;
}
Object.defineProperty(ChartDetailsComponent.prototype, "componentData", {
// component: Class for the component you want to create
// inputs: An object with key/value pairs mapped to input name/input value
set: function (data) {
if (!data) {
return;
}
// We create an injector out of the data we want to pass down and this components injector
var injector = core_1.ReflectiveInjector.fromResolvedProviders([], this.dynamicComponentContainer.parentInjector);
// We create a factory out of the component we want to create
var factory = this.resolver.resolveComponentFactory(data.component);
// We create the component using the factory and the injector
var component = factory.create(injector);
// We insert the component into the dom container
this.dynamicComponentContainer.insert(component.hostView);
// We can destroy the old component is we like by calling destroy
if (this.currentComponent) {
this.currentComponent.destroy();
}
this.currentComponent = component;
},
enumerable: true,
configurable: true
});
__decorate([
core_1.ViewChild('dynamicComponentContainer', { read: core_1.ViewContainerRef }),
__metadata('design:type', core_1.ViewContainerRef)
], ChartDetailsComponent.prototype, "dynamicComponentContainer", void 0);
__decorate([
core_1.Input(),
__metadata('design:type', Object),
__metadata('design:paramtypes', [Object])
], ChartDetailsComponent.prototype, "componentData", null);
ChartDetailsComponent = __decorate([
core_1.Component({
selector: 'chart-details',
entryComponents: [line_chart_component_1.LineChartComponent, area_chart_component_1.AreaChartComponent,],
templateUrl: './chart-details.component.html',
styleUrls: ['./chart-details.component.css']
}),
__metadata('design:paramtypes', [core_1.ComponentFactoryResolver])
], ChartDetailsComponent);
return ChartDetailsComponent;
}());
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = ChartDetailsComponent;
//# sourceMappingURL=chart-details.component.js.map