@fivethree/core
Version:
Fivethree Core Components
110 lines • 6.47 kB
JavaScript
/**
* @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==