UNPKG

uv-charts-dashboard

Version:
65 lines 3.51 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); }; 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