UNPKG

ng-yunzai-mobile

Version:

1. 适配yunzai_uni_app_x

136 lines 9.01 kB
/** * @fileoverview added by tsickle * Generated from: acl/acl.directive.ts * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Directive, Input, ViewContainerRef, TemplateRef } from '@angular/core'; import { UserService } from '../user/user.service'; var AclDirective = /** @class */ (function () { function AclDirective(user, viewContainer, templateRef) { this.user = user; this.viewContainer = viewContainer; this.templateRef = templateRef; } Object.defineProperty(AclDirective.prototype, "condition", { set: /** * @param {?} acl * @return {?} */ function (acl) { // 系统代码 /** @type {?} */ var systemCode = acl[0]; // 路由 /** @type {?} */ var elementRoute = acl[1]; // 元素key /** @type {?} */ var elementKey = acl[2]; /** @type {?} */ var tempArray = []; // tslint:disable-next-line: prefer-const /** @type {?} */ var hasElement = false; // 过滤菜单通过 系统代码 路由 this.filterMenuByAcl(this.filterSystemSider(systemCode), tempArray, elementRoute); tempArray.forEach((/** * @param {?} menu * @return {?} */ function (menu) { if (menu.menuAuths.includes(elementKey)) { hasElement = true; } })); if (hasElement) { this.viewContainer.createEmbeddedView(this.templateRef); } else { this.viewContainer.clear(); } }, enumerable: true, configurable: true }); /** * @param {?} systemcode * @return {?} */ AclDirective.prototype.filterSystemSider = /** * @param {?} systemcode * @return {?} */ function (systemcode) { return this.user.get().menu.filter((/** * @param {?} menu * @return {?} */ function (menu) { return menu.systemCode === systemcode; })); }; /** * @param {?} menus * @param {?} tempArray * @param {?} elementRoute * @return {?} */ AclDirective.prototype.filterMenuByAcl = /** * @param {?} menus * @param {?} tempArray * @param {?} elementRoute * @return {?} */ function (menus, tempArray, elementRoute) { var _this = this; menus.forEach((/** * @param {?} menu * @return {?} */ function (menu) { if (menu.children.length > 0) { _this.filterMenuByAcl(menu.children, tempArray, elementRoute); } else { if (menu.link === elementRoute) { tempArray.push(menu); } } })); }; AclDirective.decorators = [ { type: Directive, args: [{ // tslint:disable-next-line: directive-selector selector: '[acl]' },] } ]; /** @nocollapse */ AclDirective.ctorParameters = function () { return [ { type: UserService }, { type: ViewContainerRef }, { type: TemplateRef } ]; }; AclDirective.propDecorators = { condition: [{ type: Input, args: ['acl',] }] }; return AclDirective; }()); export { AclDirective }; if (false) { /** * @type {?} * @private */ AclDirective.prototype.user; /** * @type {?} * @private */ AclDirective.prototype.viewContainer; /** * @type {?} * @private */ AclDirective.prototype.templateRef; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNsLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25nLXl1bnphaS1tb2JpbGUvIiwic291cmNlcyI6WyJhY2wvYWNsLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFHbkQ7SUFRRSxzQkFDVSxJQUFpQixFQUNqQixhQUErQixFQUMvQixXQUE2QjtRQUY3QixTQUFJLEdBQUosSUFBSSxDQUFhO1FBQ2pCLGtCQUFhLEdBQWIsYUFBYSxDQUFrQjtRQUMvQixnQkFBVyxHQUFYLFdBQVcsQ0FBa0I7SUFFdkMsQ0FBQztJQUVELHNCQUNJLG1DQUFTOzs7OztRQURiLFVBQ2MsR0FBYTs7O2dCQUVuQixVQUFVLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQzs7O2dCQUVuQixZQUFZLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQzs7O2dCQUVyQixVQUFVLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQzs7Z0JBQ25CLFNBQVMsR0FBaUIsRUFBRTs7O2dCQUU5QixVQUFVLEdBQUcsS0FBSztZQUN0QixpQkFBaUI7WUFDakIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUFDLEVBQUUsU0FBUyxFQUFFLFlBQVksQ0FBQyxDQUFDO1lBQ2xGLFNBQVMsQ0FBQyxPQUFPOzs7O1lBQUMsVUFBQyxJQUFXO2dCQUM1QixJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUFFO29CQUN2QyxVQUFVLEdBQUcsSUFBSSxDQUFDO2lCQUNuQjtZQUNILENBQUMsRUFBQyxDQUFDO1lBQ0gsSUFBSSxVQUFVLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7YUFDekQ7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQzthQUM1QjtRQUNILENBQUM7OztPQUFBOzs7OztJQUVELHdDQUFpQjs7OztJQUFqQixVQUFrQixVQUFrQjtRQUNsQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU07Ozs7UUFBQyxVQUFDLElBQVc7WUFDN0MsT0FBTyxJQUFJLENBQUMsVUFBVSxLQUFLLFVBQVUsQ0FBQztRQUN4QyxDQUFDLEVBQUMsQ0FBQztJQUNMLENBQUM7Ozs7Ozs7SUFFRCxzQ0FBZTs7Ozs7O0lBQWYsVUFDRSxLQUFtQixFQUNuQixTQUF1QixFQUN2QixZQUFvQjtRQUh0QixpQkFjQztRQVRDLEtBQUssQ0FBQyxPQUFPOzs7O1FBQUMsVUFBQyxJQUFXO1lBQ3hCLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO2dCQUM1QixLQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsU0FBUyxFQUFFLFlBQVksQ0FBQyxDQUFDO2FBQzlEO2lCQUFNO2dCQUNMLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxZQUFZLEVBQUU7b0JBQzlCLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7aUJBQ3RCO2FBQ0Y7UUFDSCxDQUFDLEVBQUMsQ0FBQztJQUNMLENBQUM7O2dCQTVERixTQUFTLFNBQUM7O29CQUVULFFBQVEsRUFBRSxPQUFPO2lCQUNsQjs7OztnQkFOUSxXQUFXO2dCQURPLGdCQUFnQjtnQkFBRSxXQUFXOzs7NEJBbUJyRCxLQUFLLFNBQUMsS0FBSzs7SUE4Q2QsbUJBQUM7Q0FBQSxBQTdERCxJQTZEQztTQXpEWSxZQUFZOzs7Ozs7SUFLckIsNEJBQXlCOzs7OztJQUN6QixxQ0FBdUM7Ozs7O0lBQ3ZDLG1DQUFxQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQsIFZpZXdDb250YWluZXJSZWYsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFVzZXJTZXJ2aWNlIH0gZnJvbSAnLi4vdXNlci91c2VyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTaWRlciB9IGZyb20gJy4uL3VzZXIvdXNlci5pbnRlcmZhY2UnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBkaXJlY3RpdmUtc2VsZWN0b3JcclxuICBzZWxlY3RvcjogJ1thY2xdJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQWNsRGlyZWN0aXZlIHtcclxuXHJcblxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgdXNlcjogVXNlclNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHZpZXdDb250YWluZXI6IFZpZXdDb250YWluZXJSZWYsXHJcbiAgICBwcml2YXRlIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+XHJcbiAgKSB7XHJcbiAgfVxyXG5cclxuICBASW5wdXQoJ2FjbCcpXHJcbiAgc2V0IGNvbmRpdGlvbihhY2w6IHN0cmluZ1tdKSB7XHJcbiAgICAvLyDns7vnu5/ku6PnoIFcclxuICAgIGNvbnN0IHN5c3RlbUNvZGUgPSBhY2xbMF07XHJcbiAgICAvLyDot6/nlLFcclxuICAgIGNvbnN0IGVsZW1lbnRSb3V0ZSA9IGFjbFsxXTtcclxuICAgIC8vIOWFg+e0oGtleVxyXG4gICAgY29uc3QgZWxlbWVudEtleSA9IGFjbFsyXTtcclxuICAgIGNvbnN0IHRlbXBBcnJheTogQXJyYXk8U2lkZXI+ID0gW107XHJcbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IHByZWZlci1jb25zdFxyXG4gICAgbGV0IGhhc0VsZW1lbnQgPSBmYWxzZTtcclxuICAgIC8vIOi/h+a7pOiPnOWNlemAmui/hyDns7vnu5/ku6PnoIEg6Lev55SxXHJcbiAgICB0aGlzLmZpbHRlck1lbnVCeUFjbCh0aGlzLmZpbHRlclN5c3RlbVNpZGVyKHN5c3RlbUNvZGUpLCB0ZW1wQXJyYXksIGVsZW1lbnRSb3V0ZSk7XHJcbiAgICB0ZW1wQXJyYXkuZm9yRWFjaCgobWVudTogU2lkZXIpID0+IHtcclxuICAgICAgaWYgKG1lbnUubWVudUF1dGhzLmluY2x1ZGVzKGVsZW1lbnRLZXkpKSB7XHJcbiAgICAgICAgaGFzRWxlbWVudCA9IHRydWU7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgaWYgKGhhc0VsZW1lbnQpIHtcclxuICAgICAgdGhpcy52aWV3Q29udGFpbmVyLmNyZWF0ZUVtYmVkZGVkVmlldyh0aGlzLnRlbXBsYXRlUmVmKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMudmlld0NvbnRhaW5lci5jbGVhcigpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZmlsdGVyU3lzdGVtU2lkZXIoc3lzdGVtY29kZTogc3RyaW5nKTogQXJyYXk8U2lkZXI+IHtcclxuICAgIHJldHVybiB0aGlzLnVzZXIuZ2V0KCkubWVudS5maWx0ZXIoKG1lbnU6IFNpZGVyKSA9PiB7XHJcbiAgICAgIHJldHVybiBtZW51LnN5c3RlbUNvZGUgPT09IHN5c3RlbWNvZGU7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGZpbHRlck1lbnVCeUFjbChcclxuICAgIG1lbnVzOiBBcnJheTxTaWRlcj4sXHJcbiAgICB0ZW1wQXJyYXk6IEFycmF5PFNpZGVyPixcclxuICAgIGVsZW1lbnRSb3V0ZTogc3RyaW5nXHJcbiAgKTogdm9pZCB7XHJcbiAgICBtZW51cy5mb3JFYWNoKChtZW51OiBTaWRlcikgPT4ge1xyXG4gICAgICBpZiAobWVudS5jaGlsZHJlbi5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgdGhpcy5maWx0ZXJNZW51QnlBY2wobWVudS5jaGlsZHJlbiwgdGVtcEFycmF5LCBlbGVtZW50Um91dGUpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGlmIChtZW51LmxpbmsgPT09IGVsZW1lbnRSb3V0ZSkge1xyXG4gICAgICAgICAgdGVtcEFycmF5LnB1c2gobWVudSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIl19