@netgrif/components
Version:
Netgrif Application Engine frontend Angular components
118 lines • 6.61 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.schematicEntryPoint = void 0;
const schematics_1 = require("@angular-devkit/schematics");
const add_view_to_nae_json_1 = require("../_utility/add-view-to-nae-json");
const view_utility_functions_1 = require("../_utility/view-utility-functions");
const create_login_view_1 = require("./views/login/create-login-view");
const create_tab_view_1 = require("./views/tab-view/create-tab-view");
const create_task_view_1 = require("./views/task-view/create-task-view");
const create_case_view_1 = require("./views/case-view/create-case-view");
const create_sidenav_or_toolbar_view_1 = require("./views/sidenav-toolbar-view/create-sidenav-or-toolbar-view");
const create_empty_view_1 = require("./views/empty-view/create-empty-view");
const create_dashboard_view_1 = require("./views/dashboard-view/create-dashboard-view");
const schematic_create_sidenav_prompt_1 = require("./schematic-create-sidenav-prompt");
const view_service_functions_1 = require("../_utility/view-service-functions");
const import_to_add_1 = require("../../_commons/import-to-add");
const create_tree_case_view_1 = require("./views/tree-case-view/create-tree-case-view");
const create_group_view_1 = require("./views/group-view/create-group-view");
const create_workflow_view_1 = require("./views/workflow-view/create-workflow-view");
const role_assignment_view_1 = require("./views/role-assignment-view/role-assignment-view");
const create_public_task_view_1 = require("./views/public-task-view/create-public-task-view");
const create_public_workflow_view_1 = require("./views/public-workflow-view/create-public-workflow-view");
const create_public_single_task_view_1 = require("./views/public-single-task-view/create-public-single-task-view");
const create_public_resolver_view_1 = require("./views/public-resolver-view/create-public-resolver-view");
const ldap_role_assignment_view_1 = require("./views/ldap-role-assignment-view/ldap-role-assignment-view");
function schematicEntryPoint(schematicArguments) {
return (tree) => {
console.log('Creating view ' + schematicArguments.viewType + ' [' + schematicArguments.path + ']');
checkPathValidity(tree, schematicArguments.path);
return createView(tree, schematicArguments);
};
}
exports.schematicEntryPoint = schematicEntryPoint;
function checkPathValidity(tree, path) {
if (path === undefined) {
throw new schematics_1.SchematicsException(`View path cannot be undefined!`);
}
if (!(0, view_utility_functions_1.parentViewDefined)(tree, path)) {
throw new schematics_1.SchematicsException(`Parent view doesn't exist! Create a view with '${(0, view_utility_functions_1.getParentPath)(path)}' path first.`);
}
}
function createView(tree, args, addViewToService = true) {
const rules = [];
switch (args.viewType) {
case 'login':
rules.push((0, create_login_view_1.createLoginView)(tree, args, addViewToService));
break;
case 'tabView':
rules.push((0, create_tab_view_1.createTabView)(tree, args, addViewToService, createViewRef));
break;
case 'taskView':
rules.push((0, create_task_view_1.createTaskView)(tree, args, addViewToService));
break;
case 'publicTaskView':
rules.push((0, create_public_task_view_1.createPublicTaskView)(tree, args, addViewToService));
break;
case 'publicSingleTaskView':
rules.push((0, create_public_single_task_view_1.createPublicSingleTaskView)(tree, args, addViewToService));
break;
case 'publicWorkflowView':
rules.push((0, create_public_workflow_view_1.createPublicWorkflowView)(tree, args, addViewToService));
break;
case 'publicResolverView':
rules.push((0, create_public_resolver_view_1.createPublicResolverView)(tree, args, addViewToService));
break;
case 'caseView':
rules.push((0, create_case_view_1.createCaseView)(tree, args, addViewToService));
break;
case 'emptyView':
rules.push((0, create_empty_view_1.createEmptyView)(tree, args, addViewToService));
break;
case 'dashboard':
rules.push((0, create_dashboard_view_1.createDashboardView)(tree, args, addViewToService));
break;
case 'groupView':
rules.push((0, create_group_view_1.createGroupView)(tree, args, addViewToService));
break;
case 'treeCaseView':
rules.push((0, create_tree_case_view_1.createTreeCaseView)(tree, args, addViewToService));
break;
case 'doubleDrawerView':
case 'toolbarView':
rules.push((0, create_sidenav_or_toolbar_view_1.createSidenavOrToolbarView)(tree, {
createViewArguments: args,
addViewToService
}));
break;
case 'sidenavView':
case 'sidenavAndToolbarView':
rules.push((0, schematics_1.schematic)('create-sidenav-prompt', (0, schematic_create_sidenav_prompt_1.checkJsonParamsForSidenav)(args, addViewToService)));
// we want to add the route AFTER we get the data from the schematic
addViewToService = false;
break;
case 'customView':
if (!args.componentName || !args.customImportPath) {
throw new schematics_1.SchematicsException(`Custom components must define both a 'class' and a 'from' attribute! Path: '${args.path}'`);
}
(0, view_service_functions_1.addViewToViewService)(tree, new import_to_add_1.ImportToAdd(args.componentName, args.customImportPath));
break;
case 'workflowView':
rules.push((0, create_workflow_view_1.createWorkflowView)(tree, args, addViewToService));
break;
case 'roleAssignmentView':
rules.push((0, role_assignment_view_1.createRoleAssignmentView)(tree, args, addViewToService));
break;
case 'ldapRoleAssignmentView':
rules.push((0, ldap_role_assignment_view_1.createLdapRoleAssignmentView)(tree, args, addViewToService));
break;
default:
throw new schematics_1.SchematicsException(`Unknown view type '${args.viewType}'`);
}
if (addViewToService) {
rules.push((0, add_view_to_nae_json_1.addViewToNaeJson)(args));
}
return (0, schematics_1.chain)(rules);
}
const createViewRef = createView;
//# sourceMappingURL=schematic-create-view-prompt.js.map