@netgrif/components
Version:
Netgrif Application Engine frontend Angular components
88 lines • 4.41 kB
JavaScript
;
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