UNPKG

@netgrif/components

Version:

Netgrif Application Engine frontend Angular components

88 lines 4.41 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createSidenavOrToolbarView = void 0; const schematics_1 = require("@angular-devkit/schematics"); const core_1 = require("@angular-devkit/core"); const utility_functions_1 = require("../../../../_utility/utility-functions"); const view_utility_functions_1 = require("../../../_utility/view-utility-functions"); const view_service_functions_1 = require("../../../_utility/view-service-functions"); const add_view_to_nae_json_1 = require("../../../_utility/add-view-to-nae-json"); const view_class_info_1 = require("../../../../_commons/view-class-info"); const import_to_add_1 = require("../../../../_commons/import-to-add"); function createSidenavOrToolbarView(tree, sidenavOptions) { const projectInfo = (0, utility_functions_1.getProjectInfo)(tree); const view = new view_class_info_1.ViewClassInfo(sidenavOptions.createViewArguments.path, sidenavOptions.createViewArguments.viewType, sidenavOptions.createViewArguments.componentName); let drawerType = 'nc-navigation-drawer'; let drawerParam = ''; const rules = []; let isSideNav = false; let isToolbar = false; let nameOfComponent = ''; checkArgsToCreateAppropriateView(); checkTypeOfSideNav(); rules.push((0, utility_functions_1.createFilesFromTemplates)('./views/sidenav-toolbar-view/files', `${projectInfo.path}/views/${sidenavOptions.createViewArguments.path}`, { prefix: projectInfo.projectPrefixDasherized, className: view.nameWithoutComponent, dasherize: core_1.strings.dasherize, classify: core_1.strings.classify, viewType: core_1.strings.dasherize(nameOfComponent), isSideNav, isToolbar, drawerType, drawerParam, configName: projectInfo.projectNameClassified, configImportPath: (0, utility_functions_1.createRelativePath)(view.fileImportPath, `./${projectInfo.projectNameDasherized}-configuration.service`), viewIdSegment: (0, view_utility_functions_1.getViewIdSegmentFromPath)(sidenavOptions.createViewArguments.path) })); (0, view_utility_functions_1.updateAppModule)(tree, view.className, view.fileImportPath, [ new import_to_add_1.ImportToAdd('ToolbarComponentModule', '@netgrif/components'), new import_to_add_1.ImportToAdd('NavigationComponentModule', '@netgrif/components') ]); if (sidenavOptions.addViewToService) { (0, view_service_functions_1.addViewToViewService)(tree, view); sidenavOptions.createViewArguments.layoutParams = { user: sidenavOptions.user, quickPanel: sidenavOptions.quickPanel, navigation: sidenavOptions.navigation, }; rules.push((0, add_view_to_nae_json_1.addViewToNaeJson)(sidenavOptions.createViewArguments)); } return (0, schematics_1.chain)(rules); function checkArgsToCreateAppropriateView() { switch (sidenavOptions.createViewArguments.viewType) { case 'doubleDrawerView': isSideNav = true; drawerType = 'nc-navigation-double-drawer'; nameOfComponent = 'navigation-double-drawer'; drawerParam += ' image="assets/img/netgrif_full_white.svg" imageRouterLink="/"'; break; case 'sidenavView': isSideNav = true; nameOfComponent = 'sidenav-view'; break; case 'toolbarView': isToolbar = true; nameOfComponent = 'toolbar-view'; break; case 'sidenavAndToolbarView': isToolbar = true; isSideNav = true; nameOfComponent = 'sidenav-and-toolbar-view'; break; default: } } function checkTypeOfSideNav() { if (sidenavOptions.user === undefined || sidenavOptions.quickPanel === undefined || sidenavOptions.navigation === undefined) { return; } if (sidenavOptions.user) drawerParam += ' [showUser]="true"'; if (sidenavOptions.quickPanel) drawerParam += ' [showQuickPanel]="true"'; if (sidenavOptions.navigation) drawerParam += ' [navigation]="true"'; } } exports.createSidenavOrToolbarView = createSidenavOrToolbarView; //# sourceMappingURL=create-sidenav-or-toolbar-view.js.map