UNPKG

@fivethree/core

Version:
97 lines 5.74 kB
/** * @fileoverview added by tsickle * Generated from: lib/permissions/permissions.directive.ts * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Directive, Input, ViewContainerRef, TemplateRef } from '@angular/core'; export class FivPermissions { /** * @param {?} viewContainer * @param {?} templateRef */ constructor(viewContainer, templateRef) { this.viewContainer = viewContainer; this.templateRef = templateRef; this.allowedPermissions = []; this.uPermissions = []; } /** * @param {?} userPermissions * @return {?} */ set fivPermissionsUserPermissions(userPermissions) { this.uPermissions = userPermissions || []; this.updateView(); } /** * @param {?} allowed * @return {?} */ set fivPermissions(allowed) { this.allowedPermissions = allowed || []; this.updateView(); } /** * @return {?} */ checkPermission() { /** @type {?} */ let show = false; this.uPermissions.forEach((/** * @param {?} role * @return {?} */ role => { if (this.allowedPermissions.find((/** * @param {?} a * @return {?} */ a => a.toUpperCase() === role.toUpperCase()))) { show = true; } })); return show; } /** * @return {?} */ updateView() { if (this.checkPermission()) { this.viewContainer.createEmbeddedView(this.templateRef); } else { this.viewContainer.clear(); } } } FivPermissions.decorators = [ { type: Directive, args: [{ selector: '[fivPermissions]' },] } ]; /** @nocollapse */ FivPermissions.ctorParameters = () => [ { type: ViewContainerRef }, { type: TemplateRef } ]; FivPermissions.propDecorators = { fivPermissionsUserPermissions: [{ type: Input }], fivPermissions: [{ type: Input }] }; if (false) { /** @type {?} */ FivPermissions.prototype.allowedPermissions; /** @type {?} */ FivPermissions.prototype.uPermissions; /** * @type {?} * @private */ FivPermissions.prototype.viewContainer; /** * @type {?} * @private */ FivPermissions.prototype.templateRef; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbnMuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGZpdmV0aHJlZS9jb3JlLyIsInNvdXJjZXMiOlsibGliL3Blcm1pc3Npb25zL3Blcm1pc3Npb25zLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUtoRixNQUFNLE9BQU8sY0FBYzs7Ozs7SUFJekIsWUFDVSxhQUErQixFQUMvQixXQUE2QjtRQUQ3QixrQkFBYSxHQUFiLGFBQWEsQ0FBa0I7UUFDL0IsZ0JBQVcsR0FBWCxXQUFXLENBQWtCO1FBTHZDLHVCQUFrQixHQUFhLEVBQUUsQ0FBQztRQUNsQyxpQkFBWSxHQUFhLEVBQUUsQ0FBQztJQUt6QixDQUFDOzs7OztJQUVKLElBQWEsNkJBQTZCLENBQUMsZUFBeUI7UUFDbEUsSUFBSSxDQUFDLFlBQVksR0FBRyxlQUFlLElBQUksRUFBRSxDQUFDO1FBQzFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNwQixDQUFDOzs7OztJQUVELElBQ0ksY0FBYyxDQUFDLE9BQWlCO1FBQ2xDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxPQUFPLElBQUksRUFBRSxDQUFDO1FBQ3hDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNwQixDQUFDOzs7O0lBRUQsZUFBZTs7WUFDVCxJQUFJLEdBQUcsS0FBSztRQUNoQixJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU87Ozs7UUFBQyxJQUFJLENBQUMsRUFBRTtZQUMvQixJQUNFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJOzs7O1lBQzFCLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxLQUFLLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFDNUMsRUFDRDtnQkFDQSxJQUFJLEdBQUcsSUFBSSxDQUFDO2FBQ2I7UUFDSCxDQUFDLEVBQUMsQ0FBQztRQUVILE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQzs7OztJQUVELFVBQVU7UUFDUixJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUUsRUFBRTtZQUMxQixJQUFJLENBQUMsYUFBYSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztTQUN6RDthQUFNO1lBQ0wsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUM1QjtJQUNILENBQUM7OztZQTVDRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGtCQUFrQjthQUM3Qjs7OztZQUowQixnQkFBZ0I7WUFBRSxXQUFXOzs7NENBY3JELEtBQUs7NkJBS0wsS0FBSzs7OztJQWJOLDRDQUFrQzs7SUFDbEMsc0NBQTRCOzs7OztJQUcxQix1Q0FBdUM7Ozs7O0lBQ3ZDLHFDQUFxQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQsIFZpZXdDb250YWluZXJSZWYsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tmaXZQZXJtaXNzaW9uc10nXG59KVxuZXhwb3J0IGNsYXNzIEZpdlBlcm1pc3Npb25zIHtcbiAgYWxsb3dlZFBlcm1pc3Npb25zOiBzdHJpbmdbXSA9IFtdO1xuICB1UGVybWlzc2lvbnM6IHN0cmluZ1tdID0gW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgIHByaXZhdGUgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT5cbiAgKSB7fVxuXG4gIEBJbnB1dCgpIHNldCBmaXZQZXJtaXNzaW9uc1VzZXJQZXJtaXNzaW9ucyh1c2VyUGVybWlzc2lvbnM6IHN0cmluZ1tdKSB7XG4gICAgdGhpcy51UGVybWlzc2lvbnMgPSB1c2VyUGVybWlzc2lvbnMgfHwgW107XG4gICAgdGhpcy51cGRhdGVWaWV3KCk7XG4gIH1cblxuICBASW5wdXQoKVxuICBzZXQgZml2UGVybWlzc2lvbnMoYWxsb3dlZDogc3RyaW5nW10pIHtcbiAgICB0aGlzLmFsbG93ZWRQZXJtaXNzaW9ucyA9IGFsbG93ZWQgfHwgW107XG4gICAgdGhpcy51cGRhdGVWaWV3KCk7XG4gIH1cblxuICBjaGVja1Blcm1pc3Npb24oKTogYm9vbGVhbiB7XG4gICAgbGV0IHNob3cgPSBmYWxzZTtcbiAgICB0aGlzLnVQZXJtaXNzaW9ucy5mb3JFYWNoKHJvbGUgPT4ge1xuICAgICAgaWYgKFxuICAgICAgICB0aGlzLmFsbG93ZWRQZXJtaXNzaW9ucy5maW5kKFxuICAgICAgICAgIGEgPT4gYS50b1VwcGVyQ2FzZSgpID09PSByb2xlLnRvVXBwZXJDYXNlKClcbiAgICAgICAgKVxuICAgICAgKSB7XG4gICAgICAgIHNob3cgPSB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHNob3c7XG4gIH1cblxuICB1cGRhdGVWaWV3KCkge1xuICAgIGlmICh0aGlzLmNoZWNrUGVybWlzc2lvbigpKSB7XG4gICAgICB0aGlzLnZpZXdDb250YWluZXIuY3JlYXRlRW1iZWRkZWRWaWV3KHRoaXMudGVtcGxhdGVSZWYpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnZpZXdDb250YWluZXIuY2xlYXIoKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==