UNPKG

@fivethree/core

Version:
110 lines 6.47 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'; var FivPermissions = /** @class */ (function () { function FivPermissions(viewContainer, templateRef) { this.viewContainer = viewContainer; this.templateRef = templateRef; this.allowedPermissions = []; this.uPermissions = []; } Object.defineProperty(FivPermissions.prototype, "fivPermissionsUserPermissions", { set: /** * @param {?} userPermissions * @return {?} */ function (userPermissions) { this.uPermissions = userPermissions || []; this.updateView(); }, enumerable: true, configurable: true }); Object.defineProperty(FivPermissions.prototype, "fivPermissions", { set: /** * @param {?} allowed * @return {?} */ function (allowed) { this.allowedPermissions = allowed || []; this.updateView(); }, enumerable: true, configurable: true }); /** * @return {?} */ FivPermissions.prototype.checkPermission = /** * @return {?} */ function () { var _this = this; /** @type {?} */ var show = false; this.uPermissions.forEach((/** * @param {?} role * @return {?} */ function (role) { if (_this.allowedPermissions.find((/** * @param {?} a * @return {?} */ function (a) { return a.toUpperCase() === role.toUpperCase(); }))) { show = true; } })); return show; }; /** * @return {?} */ FivPermissions.prototype.updateView = /** * @return {?} */ function () { if (this.checkPermission()) { this.viewContainer.createEmbeddedView(this.templateRef); } else { this.viewContainer.clear(); } }; FivPermissions.decorators = [ { type: Directive, args: [{ selector: '[fivPermissions]' },] } ]; /** @nocollapse */ FivPermissions.ctorParameters = function () { return [ { type: ViewContainerRef }, { type: TemplateRef } ]; }; FivPermissions.propDecorators = { fivPermissionsUserPermissions: [{ type: Input }], fivPermissions: [{ type: Input }] }; return FivPermissions; }()); export { FivPermissions }; 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbnMuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGZpdmV0aHJlZS9jb3JlLyIsInNvdXJjZXMiOlsibGliL3Blcm1pc3Npb25zL3Blcm1pc3Npb25zLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVoRjtJQU9FLHdCQUNVLGFBQStCLEVBQy9CLFdBQTZCO1FBRDdCLGtCQUFhLEdBQWIsYUFBYSxDQUFrQjtRQUMvQixnQkFBVyxHQUFYLFdBQVcsQ0FBa0I7UUFMdkMsdUJBQWtCLEdBQWEsRUFBRSxDQUFDO1FBQ2xDLGlCQUFZLEdBQWEsRUFBRSxDQUFDO0lBS3pCLENBQUM7SUFFSixzQkFBYSx5REFBNkI7Ozs7O1FBQTFDLFVBQTJDLGVBQXlCO1lBQ2xFLElBQUksQ0FBQyxZQUFZLEdBQUcsZUFBZSxJQUFJLEVBQUUsQ0FBQztZQUMxQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDcEIsQ0FBQzs7O09BQUE7SUFFRCxzQkFDSSwwQ0FBYzs7Ozs7UUFEbEIsVUFDbUIsT0FBaUI7WUFDbEMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLE9BQU8sSUFBSSxFQUFFLENBQUM7WUFDeEMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3BCLENBQUM7OztPQUFBOzs7O0lBRUQsd0NBQWU7OztJQUFmO1FBQUEsaUJBYUM7O1lBWkssSUFBSSxHQUFHLEtBQUs7UUFDaEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPOzs7O1FBQUMsVUFBQSxJQUFJO1lBQzVCLElBQ0UsS0FBSSxDQUFDLGtCQUFrQixDQUFDLElBQUk7Ozs7WUFDMUIsVUFBQSxDQUFDLElBQUksT0FBQSxDQUFDLENBQUMsV0FBVyxFQUFFLEtBQUssSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUF0QyxDQUFzQyxFQUM1QyxFQUNEO2dCQUNBLElBQUksR0FBRyxJQUFJLENBQUM7YUFDYjtRQUNILENBQUMsRUFBQyxDQUFDO1FBRUgsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDOzs7O0lBRUQsbUNBQVU7OztJQUFWO1FBQ0UsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFLEVBQUU7WUFDMUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7U0FDekQ7YUFBTTtZQUNMLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDNUI7SUFDSCxDQUFDOztnQkE1Q0YsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSxrQkFBa0I7aUJBQzdCOzs7O2dCQUowQixnQkFBZ0I7Z0JBQUUsV0FBVzs7O2dEQWNyRCxLQUFLO2lDQUtMLEtBQUs7O0lBNEJSLHFCQUFDO0NBQUEsQUE3Q0QsSUE2Q0M7U0ExQ1ksY0FBYzs7O0lBQ3pCLDRDQUFrQzs7SUFDbEMsc0NBQTRCOzs7OztJQUcxQix1Q0FBdUM7Ozs7O0lBQ3ZDLHFDQUFxQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQsIFZpZXdDb250YWluZXJSZWYsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tmaXZQZXJtaXNzaW9uc10nXG59KVxuZXhwb3J0IGNsYXNzIEZpdlBlcm1pc3Npb25zIHtcbiAgYWxsb3dlZFBlcm1pc3Npb25zOiBzdHJpbmdbXSA9IFtdO1xuICB1UGVybWlzc2lvbnM6IHN0cmluZ1tdID0gW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgIHByaXZhdGUgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT5cbiAgKSB7fVxuXG4gIEBJbnB1dCgpIHNldCBmaXZQZXJtaXNzaW9uc1VzZXJQZXJtaXNzaW9ucyh1c2VyUGVybWlzc2lvbnM6IHN0cmluZ1tdKSB7XG4gICAgdGhpcy51UGVybWlzc2lvbnMgPSB1c2VyUGVybWlzc2lvbnMgfHwgW107XG4gICAgdGhpcy51cGRhdGVWaWV3KCk7XG4gIH1cblxuICBASW5wdXQoKVxuICBzZXQgZml2UGVybWlzc2lvbnMoYWxsb3dlZDogc3RyaW5nW10pIHtcbiAgICB0aGlzLmFsbG93ZWRQZXJtaXNzaW9ucyA9IGFsbG93ZWQgfHwgW107XG4gICAgdGhpcy51cGRhdGVWaWV3KCk7XG4gIH1cblxuICBjaGVja1Blcm1pc3Npb24oKTogYm9vbGVhbiB7XG4gICAgbGV0IHNob3cgPSBmYWxzZTtcbiAgICB0aGlzLnVQZXJtaXNzaW9ucy5mb3JFYWNoKHJvbGUgPT4ge1xuICAgICAgaWYgKFxuICAgICAgICB0aGlzLmFsbG93ZWRQZXJtaXNzaW9ucy5maW5kKFxuICAgICAgICAgIGEgPT4gYS50b1VwcGVyQ2FzZSgpID09PSByb2xlLnRvVXBwZXJDYXNlKClcbiAgICAgICAgKVxuICAgICAgKSB7XG4gICAgICAgIHNob3cgPSB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHNob3c7XG4gIH1cblxuICB1cGRhdGVWaWV3KCkge1xuICAgIGlmICh0aGlzLmNoZWNrUGVybWlzc2lvbigpKSB7XG4gICAgICB0aGlzLnZpZXdDb250YWluZXIuY3JlYXRlRW1iZWRkZWRWaWV3KHRoaXMudGVtcGxhdGVSZWYpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnZpZXdDb250YWluZXIuY2xlYXIoKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==