@nepwork/dashboards
Version:
Dashboards for emergencies and monitoring
44 lines (43 loc) • 2 kB
JavaScript
;
/*
* @license
* Copyright Akveo. All Rights Reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*/
Object.defineProperty(exports, "__esModule", { value: true });
var core_1 = require("@angular-devkit/core");
var util_1 = require("../../util");
var layout_content_1 = require("./layout-content");
/**
* Wraps `AppComponent` in `NbLayoutComponent`. It's required for correct
* work of Nebular components.
* */
function wrapRootComponentInLayout(options) {
return function (tree) {
var componentPath = util_1.getAppComponentPath(tree, options.project);
var templateDescriptor = util_1.getComponentTemplateDescriptor(tree, componentPath);
if (templateDescriptor.isInline()) {
wrapInlineTemplate(tree, templateDescriptor);
}
else {
wrapHtmlFileTemplate(tree, templateDescriptor);
}
return tree;
};
}
exports.wrapRootComponentInLayout = wrapRootComponentInLayout;
function wrapInlineTemplate(tree, templateDescriptor) {
var templateProp = templateDescriptor.templateProp, componentPath = templateDescriptor.componentPath, template = templateDescriptor.template;
var wrappedTemplate = layout_content_1.wrapInlineTemplateInLayout(template);
var recorder = tree.beginUpdate(componentPath)
.remove(templateProp.initializer.pos, template.length)
.insertLeft(templateProp.initializer.pos, wrappedTemplate);
tree.commitUpdate(recorder);
}
function wrapHtmlFileTemplate(tree, templateDescriptor) {
var templateUrlProp = templateDescriptor.templateUrlProp, componentPath = templateDescriptor.componentPath, template = templateDescriptor.template;
var templateUrl = templateUrlProp.initializer.text;
var dir = core_1.dirname(core_1.normalize(componentPath));
var templatePath = core_1.join(dir, templateUrl);
util_1.writeText(tree, templatePath, layout_content_1.wrapHtmlFileTemplateInLayout(template));
}