@netgrif/components-core
Version:
Netgrif Application engine frontend core Angular library
68 lines • 9.32 kB
JavaScript
import { ImportToAdd } from './import-to-add';
import { classify, dasherize } from './angular-cli-devkit-core-strings';
export class ViewClassInfo extends ImportToAdd {
/**
* for `caseView` located at route `cases/all/` this is equal to `cases-all`
*/
prefix;
/**
* for `caseView` located at route `cases/all/` this is equal to `CasesAllCaseView`
*/
nameWithoutComponent;
constructor(path, viewType, customComponentName) {
super('', '');
if (!customComponentName) {
this.prefix = ViewClassInfo.convertPathToClassNamePrefix(path);
const classSuffix = ViewClassInfo.resolveClassSuffixForView(viewType);
this.nameWithoutComponent = `${classify(this.prefix)}${classSuffix}`;
this.fileImportPath = `./views/${path}/${this.prefix}-${dasherize(classSuffix)}.component`;
}
else {
this.prefix = '';
this.nameWithoutComponent = classify(customComponentName);
this.fileImportPath = `./views/${path}/${dasherize(customComponentName)}.component`;
}
this.className = `${this.nameWithoutComponent}Component`;
}
static convertPathToClassNamePrefix(path) {
const regexDash = /-/g;
return path.replace(regexDash, '_').replace(/\//g, '-').toLocaleLowerCase();
}
static resolveClassSuffixForView(view) {
switch (view) {
case 'login':
return 'Login';
case 'tabView':
return 'TabView';
case 'taskView':
return 'TaskView';
case 'caseView':
return 'CaseView';
case 'emptyView':
return 'EmptyView';
case 'sidenavView':
return 'SidenavView';
case 'doubleDrawerView':
return 'DoubleDrawerView';
case 'toolbarView':
return 'ToolbarView';
case 'sidenavAndToolbarView':
return 'SidenavAndToolbarView';
case 'groupView':
return 'GroupView';
case 'dashboard':
return 'Dashboard';
case 'treeCaseView':
return 'TreeCaseView';
case 'workflowView':
return 'WorkflowView';
case 'roleAssignmentView':
return 'RoleAssignmentView';
case 'ldapRoleAssignmentView':
return 'LdapRoleAssignmentView';
default:
throw new Error(`Unknown view type '${view}'`);
}
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlldy1jbGFzcy1pbmZvLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV0Z3JpZi1jb21wb25lbnRzLWNvcmUvc3JjL2NvbW1vbnMvdmlldy1jbGFzcy1pbmZvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM1QyxPQUFPLEVBQUMsUUFBUSxFQUFFLFNBQVMsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBRXRFLE1BQU0sT0FBTyxhQUFjLFNBQVEsV0FBVztJQUUxQzs7T0FFRztJQUNJLE1BQU0sQ0FBUztJQUN0Qjs7T0FFRztJQUNJLG9CQUFvQixDQUFTO0lBVXBDLFlBQVksSUFBWSxFQUFFLFFBQWdCLEVBQUUsbUJBQTRCO1FBQ3BFLEtBQUssQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDZCxJQUFJLENBQUMsbUJBQW1CLEVBQUU7WUFDdEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxhQUFhLENBQUMsNEJBQTRCLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDL0QsTUFBTSxXQUFXLEdBQUcsYUFBYSxDQUFDLHlCQUF5QixDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3RFLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsV0FBVyxFQUFFLENBQUM7WUFDckUsSUFBSSxDQUFDLGNBQWMsR0FBRyxXQUFXLElBQUksSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLFNBQVMsQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDO1NBQzlGO2FBQU07WUFDSCxJQUFJLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQztZQUNqQixJQUFJLENBQUMsb0JBQW9CLEdBQUcsUUFBUSxDQUFDLG1CQUFtQixDQUFDLENBQUM7WUFDMUQsSUFBSSxDQUFDLGNBQWMsR0FBRyxXQUFXLElBQUksSUFBSSxTQUFTLENBQUMsbUJBQW1CLENBQUMsWUFBWSxDQUFDO1NBQ3ZGO1FBQ0QsSUFBSSxDQUFDLFNBQVMsR0FBRyxHQUFHLElBQUksQ0FBQyxvQkFBb0IsV0FBVyxDQUFDO0lBQzdELENBQUM7SUFFTyxNQUFNLENBQUMsNEJBQTRCLENBQUMsSUFBWTtRQUNwRCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDdkIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDaEYsQ0FBQztJQUVPLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxJQUFZO1FBQ2pELFFBQVEsSUFBSSxFQUFFO1lBQ1YsS0FBSyxPQUFPO2dCQUNSLE9BQU8sT0FBTyxDQUFDO1lBQ25CLEtBQUssU0FBUztnQkFDVixPQUFPLFNBQVMsQ0FBQztZQUNyQixLQUFLLFVBQVU7Z0JBQ1gsT0FBTyxVQUFVLENBQUM7WUFDdEIsS0FBSyxVQUFVO2dCQUNYLE9BQU8sVUFBVSxDQUFDO1lBQ3RCLEtBQUssV0FBVztnQkFDWixPQUFPLFdBQVcsQ0FBQztZQUN2QixLQUFLLGFBQWE7Z0JBQ2QsT0FBTyxhQUFhLENBQUM7WUFDekIsS0FBSyxrQkFBa0I7Z0JBQ25CLE9BQU8sa0JBQWtCLENBQUM7WUFDOUIsS0FBSyxhQUFhO2dCQUNkLE9BQU8sYUFBYSxDQUFDO1lBQ3pCLEtBQUssdUJBQXVCO2dCQUN4QixPQUFPLHVCQUF1QixDQUFDO1lBQ25DLEtBQUssV0FBVztnQkFDWixPQUFPLFdBQVcsQ0FBQztZQUN2QixLQUFLLFdBQVc7Z0JBQ1osT0FBTyxXQUFXLENBQUM7WUFDdkIsS0FBSyxjQUFjO2dCQUNmLE9BQU8sY0FBYyxDQUFDO1lBQzFCLEtBQUssY0FBYztnQkFDZixPQUFPLGNBQWMsQ0FBQztZQUMxQixLQUFLLG9CQUFvQjtnQkFDckIsT0FBTyxvQkFBb0IsQ0FBQztZQUNoQyxLQUFLLHdCQUF3QjtnQkFDekIsT0FBTyx3QkFBd0IsQ0FBQztZQUNwQztnQkFDSSxNQUFNLElBQUksS0FBSyxDQUFDLHNCQUFzQixJQUFJLEdBQUcsQ0FBQyxDQUFDO1NBQ3REO0lBQ0wsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbXBvcnRUb0FkZH0gZnJvbSAnLi9pbXBvcnQtdG8tYWRkJztcbmltcG9ydCB7Y2xhc3NpZnksIGRhc2hlcml6ZX0gZnJvbSAnLi9hbmd1bGFyLWNsaS1kZXZraXQtY29yZS1zdHJpbmdzJztcblxuZXhwb3J0IGNsYXNzIFZpZXdDbGFzc0luZm8gZXh0ZW5kcyBJbXBvcnRUb0FkZCB7XG5cbiAgICAvKipcbiAgICAgKiBmb3IgYGNhc2VWaWV3YCBsb2NhdGVkIGF0IHJvdXRlIGBjYXNlcy9hbGwvYCB0aGlzIGlzIGVxdWFsIHRvIGBjYXNlcy1hbGxgXG4gICAgICovXG4gICAgcHVibGljIHByZWZpeDogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIGZvciBgY2FzZVZpZXdgIGxvY2F0ZWQgYXQgcm91dGUgYGNhc2VzL2FsbC9gIHRoaXMgaXMgZXF1YWwgdG8gYENhc2VzQWxsQ2FzZVZpZXdgXG4gICAgICovXG4gICAgcHVibGljIG5hbWVXaXRob3V0Q29tcG9uZW50OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogZm9yIGBjYXNlVmlld2AgbG9jYXRlZCBhdCByb3V0ZSBgY2FzZXMvYWxsL2AgdGhpcyBpcyBlcXVhbCB0byBgQ2FzZXNBbGxDYXNlVmlld0NvbXBvbmVudGBcbiAgICAgKi9cbiAgICBkZWNsYXJlIHB1YmxpYyBjbGFzc05hbWU6IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBmb3IgYGNhc2VWaWV3YCBsb2NhdGVkIGF0IHJvdXRlIGBjYXNlcy9hbGwvYCB0aGlzIGlzIGVxdWFsIHRvIGAuL3ZpZXdzL2Nhc2VzL2FsbC9jYXNlcy1hbGwtY2FzZS12aWV3LmNvbXBvbmVudGBcbiAgICAgKi9cbiAgICBkZWNsYXJlIHB1YmxpYyBmaWxlSW1wb3J0UGF0aDogc3RyaW5nO1xuXG4gICAgY29uc3RydWN0b3IocGF0aDogc3RyaW5nLCB2aWV3VHlwZTogc3RyaW5nLCBjdXN0b21Db21wb25lbnROYW1lPzogc3RyaW5nKSB7XG4gICAgICAgIHN1cGVyKCcnLCAnJyk7XG4gICAgICAgIGlmICghY3VzdG9tQ29tcG9uZW50TmFtZSkge1xuICAgICAgICAgICAgdGhpcy5wcmVmaXggPSBWaWV3Q2xhc3NJbmZvLmNvbnZlcnRQYXRoVG9DbGFzc05hbWVQcmVmaXgocGF0aCk7XG4gICAgICAgICAgICBjb25zdCBjbGFzc1N1ZmZpeCA9IFZpZXdDbGFzc0luZm8ucmVzb2x2ZUNsYXNzU3VmZml4Rm9yVmlldyh2aWV3VHlwZSk7XG4gICAgICAgICAgICB0aGlzLm5hbWVXaXRob3V0Q29tcG9uZW50ID0gYCR7Y2xhc3NpZnkodGhpcy5wcmVmaXgpfSR7Y2xhc3NTdWZmaXh9YDtcbiAgICAgICAgICAgIHRoaXMuZmlsZUltcG9ydFBhdGggPSBgLi92aWV3cy8ke3BhdGh9LyR7dGhpcy5wcmVmaXh9LSR7ZGFzaGVyaXplKGNsYXNzU3VmZml4KX0uY29tcG9uZW50YDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMucHJlZml4ID0gJyc7XG4gICAgICAgICAgICB0aGlzLm5hbWVXaXRob3V0Q29tcG9uZW50ID0gY2xhc3NpZnkoY3VzdG9tQ29tcG9uZW50TmFtZSk7XG4gICAgICAgICAgICB0aGlzLmZpbGVJbXBvcnRQYXRoID0gYC4vdmlld3MvJHtwYXRofS8ke2Rhc2hlcml6ZShjdXN0b21Db21wb25lbnROYW1lKX0uY29tcG9uZW50YDtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNsYXNzTmFtZSA9IGAke3RoaXMubmFtZVdpdGhvdXRDb21wb25lbnR9Q29tcG9uZW50YDtcbiAgICB9XG5cbiAgICBwcml2YXRlIHN0YXRpYyBjb252ZXJ0UGF0aFRvQ2xhc3NOYW1lUHJlZml4KHBhdGg6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IHJlZ2V4RGFzaCA9IC8tL2c7XG4gICAgICAgIHJldHVybiBwYXRoLnJlcGxhY2UocmVnZXhEYXNoLCAnXycpLnJlcGxhY2UoL1xcLy9nLCAnLScpLnRvTG9jYWxlTG93ZXJDYXNlKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdGF0aWMgcmVzb2x2ZUNsYXNzU3VmZml4Rm9yVmlldyh2aWV3OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICBzd2l0Y2ggKHZpZXcpIHtcbiAgICAgICAgICAgIGNhc2UgJ2xvZ2luJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gJ0xvZ2luJztcbiAgICAgICAgICAgIGNhc2UgJ3RhYlZpZXcnOlxuICAgICAgICAgICAgICAgIHJldHVybiAnVGFiVmlldyc7XG4gICAgICAgICAgICBjYXNlICd0YXNrVmlldyc6XG4gICAgICAgICAgICAgICAgcmV0dXJuICdUYXNrVmlldyc7XG4gICAgICAgICAgICBjYXNlICdjYXNlVmlldyc6XG4gICAgICAgICAgICAgICAgcmV0dXJuICdDYXNlVmlldyc7XG4gICAgICAgICAgICBjYXNlICdlbXB0eVZpZXcnOlxuICAgICAgICAgICAgICAgIHJldHVybiAnRW1wdHlWaWV3JztcbiAgICAgICAgICAgIGNhc2UgJ3NpZGVuYXZWaWV3JzpcbiAgICAgICAgICAgICAgICByZXR1cm4gJ1NpZGVuYXZWaWV3JztcbiAgICAgICAgICAgIGNhc2UgJ2RvdWJsZURyYXdlclZpZXcnOlxuICAgICAgICAgICAgICAgIHJldHVybiAnRG91YmxlRHJhd2VyVmlldyc7XG4gICAgICAgICAgICBjYXNlICd0b29sYmFyVmlldyc6XG4gICAgICAgICAgICAgICAgcmV0dXJuICdUb29sYmFyVmlldyc7XG4gICAgICAgICAgICBjYXNlICdzaWRlbmF2QW5kVG9vbGJhclZpZXcnOlxuICAgICAgICAgICAgICAgIHJldHVybiAnU2lkZW5hdkFuZFRvb2xiYXJWaWV3JztcbiAgICAgICAgICAgIGNhc2UgJ2dyb3VwVmlldyc6XG4gICAgICAgICAgICAgICAgcmV0dXJuICdHcm91cFZpZXcnO1xuICAgICAgICAgICAgY2FzZSAnZGFzaGJvYXJkJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gJ0Rhc2hib2FyZCc7XG4gICAgICAgICAgICBjYXNlICd0cmVlQ2FzZVZpZXcnOlxuICAgICAgICAgICAgICAgIHJldHVybiAnVHJlZUNhc2VWaWV3JztcbiAgICAgICAgICAgIGNhc2UgJ3dvcmtmbG93Vmlldyc6XG4gICAgICAgICAgICAgICAgcmV0dXJuICdXb3JrZmxvd1ZpZXcnO1xuICAgICAgICAgICAgY2FzZSAncm9sZUFzc2lnbm1lbnRWaWV3JzpcbiAgICAgICAgICAgICAgICByZXR1cm4gJ1JvbGVBc3NpZ25tZW50Vmlldyc7XG4gICAgICAgICAgICBjYXNlICdsZGFwUm9sZUFzc2lnbm1lbnRWaWV3JzpcbiAgICAgICAgICAgICAgICByZXR1cm4gJ0xkYXBSb2xlQXNzaWdubWVudFZpZXcnO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFVua25vd24gdmlldyB0eXBlICcke3ZpZXd9J2ApO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19