@nova-ui/dashboards
Version:
Nova Dashboards is a framework designed to provide feature developers with a common solution for presenting data coming from various sources within a single view, as well as a set of predefined widget visualizations that are 100% configuration-driven and
66 lines • 3.05 kB
JavaScript
;
// © 2022 SolarWinds Worldwide, LLC. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to
// deal in the Software without restriction, including without limitation the
// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
// sell copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.
Object.defineProperty(exports, "__esModule", { value: true });
exports.ComponentPortalService = void 0;
const tslib_1 = require("tslib");
const portal_1 = require("@angular/cdk/portal");
const core_1 = require("@angular/core");
const bits_1 = require("@nova-ui/bits");
const component_registry_service_1 = require("./component-registry.service");
const template_load_error_component_1 = require("../../components/template-load-error/template-load-error.component");
/** @ignore */
let ComponentPortalService = class ComponentPortalService {
constructor(componentRegistry, logger) {
this.componentRegistry = componentRegistry;
this.logger = logger;
}
createComponentPortal(componentType, injector) {
let loadType;
if (typeof componentType === "string") {
loadType = this.componentRegistry.getComponentType(componentType);
}
else {
loadType = componentType;
}
if (!loadType) {
this.logger.error(`Cannot Find Component Type ${componentType}`);
loadType = template_load_error_component_1.TemplateLoadErrorComponent;
}
return new portal_1.ComponentPortal(loadType, null, injector);
}
createInjector(environment) {
const providers = environment.providers || [];
return core_1.Injector.create({
providers,
parent: environment.injector,
name: "Component Injector",
});
}
};
exports.ComponentPortalService = ComponentPortalService;
exports.ComponentPortalService = ComponentPortalService = tslib_1.__decorate([
(0, core_1.Injectable)({
providedIn: "root",
}),
tslib_1.__metadata("design:paramtypes", [component_registry_service_1.ComponentRegistryService,
bits_1.LoggerService])
], ComponentPortalService);
//# sourceMappingURL=component-portal.service.js.map