geminis-ng
Version:
This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 8.2.14.
48 lines • 6.03 kB
JavaScript
import { Injectable } from '@angular/core';
import { GnLoginUser } from './LoginUser';
export class GnSiteInfo {
constructor(loginUser) {
this.loginUser = loginUser;
this.showBreadcrumb = false;
this.siderMenuTheme = 'dark';
this.authSiderMenu = [];
this.siteAuthorities = [];
this.siderMenu = [];
}
filterMenu() {
this.authSiderMenu = this.getAuthorityMenu(this.siderMenu, '');
}
getAuthorityMenu(menus, parentPath) {
if (this.loginUser.authorities && menus) {
return menus.map(menu => {
var _a;
const path = parentPath + (menu.router || '');
if (menu.authority) {
const authority = (_a = this.siteAuthorities) === null || _a === void 0 ? void 0 : _a.find((item) => item.url === path);
if (!authority) {
this.siteAuthorities.push({ url: path, authority: menu.authority });
}
}
return {
title: menu.title,
router: menu.router,
icon: menu.icon,
authority: menu.authority,
subMenu: this.getAuthorityMenu(menu.subMenu, path)
};
}).filter(menu => this.loginUser.authorities.includes(menu.authority)
|| ((!menu.subMenu || menu.subMenu.length === 0) && !menu.authority)
|| (menu.subMenu && menu.subMenu.length > 0));
}
else {
return menus;
}
}
}
GnSiteInfo.decorators = [
{ type: Injectable }
];
GnSiteInfo.ctorParameters = () => [
{ type: GnLoginUser }
];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2l0ZUluZm8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9nZW1pbmlzLW5nL3NyYy9hcHAtY29uZmlnL1NpdGVJbmZvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFHekMsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGFBQWEsQ0FBQztBQUd4QyxNQUFNLE9BQU8sVUFBVTtJQVlyQixZQUFvQixTQUFzQjtRQUF0QixjQUFTLEdBQVQsU0FBUyxDQUFhO1FBTjFDLG1CQUFjLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLG1CQUFjLEdBQUcsTUFBTSxDQUFDO1FBQ3hCLGtCQUFhLEdBQWEsRUFBRSxDQUFDO1FBQzdCLG9CQUFlLEdBQWdCLEVBQUUsQ0FBQztRQUNsQyxjQUFTLEdBQWEsRUFBRSxDQUFDO0lBR3pCLENBQUM7SUFFRCxVQUFVO1FBQ1IsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsS0FBZSxFQUFFLFVBQWtCO1FBQ2xELElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLElBQUksS0FBSyxFQUFFO1lBQ3ZDLE9BQU8sS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRTs7Z0JBQ3RCLE1BQU0sSUFBSSxHQUFHLFVBQVUsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksRUFBRSxDQUFDLENBQUM7Z0JBQzlDLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtvQkFDbEIsTUFBTSxTQUFTLFNBQUcsSUFBSSxDQUFDLGVBQWUsMENBQUUsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxLQUFLLElBQUksQ0FBQyxDQUFDO29CQUMxRSxJQUFJLENBQUMsU0FBUyxFQUFFO3dCQUNkLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEVBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBQyxDQUFDLENBQUM7cUJBQ25FO2lCQUNGO2dCQUVELE9BQU87b0JBQ0wsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO29CQUNqQixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07b0JBQ25CLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtvQkFDZixTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVM7b0JBQ3pCLE9BQU8sRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUM7aUJBQ25ELENBQUM7WUFDSixDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQzttQkFDaEUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7bUJBQ2pFLENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ2pEO2FBQU07WUFDTCxPQUFPLEtBQUssQ0FBQztTQUNkO0lBQ0gsQ0FBQzs7O1lBNUNGLFVBQVU7OztZQUZILFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtHbk1lbnV9IGZyb20gJy4uL2xheW91dC9NZW51JztcbmltcG9ydCB7QXV0aG9yaXR5fSBmcm9tICcuL0F1dGhvcml0eSc7XG5pbXBvcnQge0duTG9naW5Vc2VyfSBmcm9tICcuL0xvZ2luVXNlcic7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBHblNpdGVJbmZvIHtcblxuICB0aXRsZTogc3RyaW5nO1xuICBsb2dpblVybDogc3RyaW5nO1xuICBsb2dvdXRVcmw6IHN0cmluZztcbiAgaWNvbkZvbnRVcmw6IHN0cmluZztcbiAgc2hvd0JyZWFkY3J1bWIgPSBmYWxzZTtcbiAgc2lkZXJNZW51VGhlbWUgPSAnZGFyayc7XG4gIGF1dGhTaWRlck1lbnU6IEduTWVudVtdID0gW107XG4gIHNpdGVBdXRob3JpdGllczogQXV0aG9yaXR5W10gPSBbXTtcbiAgc2lkZXJNZW51OiBHbk1lbnVbXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbG9naW5Vc2VyOiBHbkxvZ2luVXNlcikge1xuICB9XG5cbiAgZmlsdGVyTWVudSgpOiB2b2lkIHtcbiAgICB0aGlzLmF1dGhTaWRlck1lbnUgPSB0aGlzLmdldEF1dGhvcml0eU1lbnUodGhpcy5zaWRlck1lbnUsICcnKTtcbiAgfVxuXG4gIGdldEF1dGhvcml0eU1lbnUobWVudXM6IEduTWVudVtdLCBwYXJlbnRQYXRoOiBzdHJpbmcpOiBHbk1lbnVbXSB7XG4gICAgaWYgKHRoaXMubG9naW5Vc2VyLmF1dGhvcml0aWVzICYmIG1lbnVzKSB7XG4gICAgICByZXR1cm4gbWVudXMubWFwKG1lbnUgPT4ge1xuICAgICAgICBjb25zdCBwYXRoID0gcGFyZW50UGF0aCArIChtZW51LnJvdXRlciB8fCAnJyk7XG4gICAgICAgIGlmIChtZW51LmF1dGhvcml0eSkge1xuICAgICAgICAgIGNvbnN0IGF1dGhvcml0eSA9IHRoaXMuc2l0ZUF1dGhvcml0aWVzPy5maW5kKChpdGVtKSA9PiBpdGVtLnVybCA9PT0gcGF0aCk7XG4gICAgICAgICAgaWYgKCFhdXRob3JpdHkpIHtcbiAgICAgICAgICAgIHRoaXMuc2l0ZUF1dGhvcml0aWVzLnB1c2goe3VybDogcGF0aCwgYXV0aG9yaXR5OiBtZW51LmF1dGhvcml0eX0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgdGl0bGU6IG1lbnUudGl0bGUsXG4gICAgICAgICAgcm91dGVyOiBtZW51LnJvdXRlcixcbiAgICAgICAgICBpY29uOiBtZW51Lmljb24sXG4gICAgICAgICAgYXV0aG9yaXR5OiBtZW51LmF1dGhvcml0eSxcbiAgICAgICAgICBzdWJNZW51OiB0aGlzLmdldEF1dGhvcml0eU1lbnUobWVudS5zdWJNZW51LCBwYXRoKVxuICAgICAgICB9O1xuICAgICAgfSkuZmlsdGVyKG1lbnUgPT4gdGhpcy5sb2dpblVzZXIuYXV0aG9yaXRpZXMuaW5jbHVkZXMobWVudS5hdXRob3JpdHkpXG4gICAgICAgIHx8ICgoIW1lbnUuc3ViTWVudSB8fCBtZW51LnN1Yk1lbnUubGVuZ3RoID09PSAwKSAmJiAhbWVudS5hdXRob3JpdHkpXG4gICAgICAgIHx8IChtZW51LnN1Yk1lbnUgJiYgbWVudS5zdWJNZW51Lmxlbmd0aCA+IDApKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG1lbnVzO1xuICAgIH1cbiAgfVxufVxuIl19