UNPKG

@lxlib/acl

Version:

This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 9.1.1.

177 lines 11.3 kB
/** * @fileoverview added by tsickle * Generated from: src/acl-if.directive.ts * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { __decorate, __metadata } from "tslib"; import { Directive, Input, TemplateRef, ViewContainerRef } from '@angular/core'; import { InputBoolean } from '@lxlib/util'; import { filter } from 'rxjs/operators'; import { ACLService } from './acl.service'; var ACLIfDirective = /** @class */ (function () { function ACLIfDirective(templateRef, srv, _viewContainer) { var _this = this; this.srv = srv; this._viewContainer = _viewContainer; this._thenTemplateRef = null; this._elseTemplateRef = null; this._thenViewRef = null; this._elseViewRef = null; this.except = false; this._change$ = this.srv.change.pipe(filter((/** * @param {?} r * @return {?} */ function (r) { return r != null; }))).subscribe((/** * @return {?} */ function () { return _this._updateView(); })); this._thenTemplateRef = templateRef; } Object.defineProperty(ACLIfDirective.prototype, "aclIf", { set: /** * @param {?} value * @return {?} */ function (value) { this._value = value; this._updateView(); }, enumerable: true, configurable: true }); Object.defineProperty(ACLIfDirective.prototype, "aclIfThen", { set: /** * @param {?} templateRef * @return {?} */ function (templateRef) { this._thenTemplateRef = templateRef; this._thenViewRef = null; this._updateView(); }, enumerable: true, configurable: true }); Object.defineProperty(ACLIfDirective.prototype, "aclIfElse", { set: /** * @param {?} templateRef * @return {?} */ function (templateRef) { this._elseTemplateRef = templateRef; this._elseViewRef = null; this._updateView(); }, enumerable: true, configurable: true }); /** * @protected * @return {?} */ ACLIfDirective.prototype._updateView = /** * @protected * @return {?} */ function () { /** @type {?} */ var res = this.srv.can(this._value); if ((res && !this.except) || (!res && this.except)) { if (!this._thenViewRef) { this._viewContainer.clear(); this._elseViewRef = null; if (this._thenTemplateRef) { this._thenViewRef = this._viewContainer.createEmbeddedView(this._thenTemplateRef); } } } else { if (!this._elseViewRef) { this._viewContainer.clear(); this._thenViewRef = null; if (this._elseTemplateRef) { this._elseViewRef = this._viewContainer.createEmbeddedView(this._elseTemplateRef); } } } }; /** * @return {?} */ ACLIfDirective.prototype.ngOnDestroy = /** * @return {?} */ function () { this._change$.unsubscribe(); }; ACLIfDirective.decorators = [ { type: Directive, args: [{ selector: '[aclIf]', exportAs: 'aclIf', },] } ]; /** @nocollapse */ ACLIfDirective.ctorParameters = function () { return [ { type: TemplateRef }, { type: ACLService }, { type: ViewContainerRef } ]; }; ACLIfDirective.propDecorators = { aclIf: [{ type: Input }], aclIfThen: [{ type: Input }], aclIfElse: [{ type: Input }], except: [{ type: Input }] }; __decorate([ InputBoolean(), __metadata("design:type", Object) ], ACLIfDirective.prototype, "except", void 0); return ACLIfDirective; }()); export { ACLIfDirective }; if (false) { /** * @type {?} * @private */ ACLIfDirective.prototype._value; /** * @type {?} * @private */ ACLIfDirective.prototype._change$; /** * @type {?} * @private */ ACLIfDirective.prototype._thenTemplateRef; /** * @type {?} * @private */ ACLIfDirective.prototype._elseTemplateRef; /** * @type {?} * @private */ ACLIfDirective.prototype._thenViewRef; /** * @type {?} * @private */ ACLIfDirective.prototype._elseViewRef; /** @type {?} */ ACLIfDirective.prototype.except; /** * @type {?} * @private */ ACLIfDirective.prototype.srv; /** * @type {?} * @private */ ACLIfDirective.prototype._viewContainer; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNsLWlmLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BseGxpYi9hY2wvIiwic291cmNlcyI6WyJzcmMvYWNsLWlmLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFtQixLQUFLLEVBQWEsV0FBVyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFM0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0M7SUFZRSx3QkFBWSxXQUE4QixFQUFVLEdBQWUsRUFBVSxjQUFnQztRQUE3RyxpQkFHQztRQUhtRCxRQUFHLEdBQUgsR0FBRyxDQUFZO1FBQVUsbUJBQWMsR0FBZCxjQUFjLENBQWtCO1FBTHJHLHFCQUFnQixHQUE2QixJQUFJLENBQUM7UUFDbEQscUJBQWdCLEdBQTZCLElBQUksQ0FBQztRQUNsRCxpQkFBWSxHQUFpQyxJQUFJLENBQUM7UUFDbEQsaUJBQVksR0FBaUMsSUFBSSxDQUFDO1FBMkJqQyxXQUFNLEdBQUcsS0FBSyxDQUFDO1FBeEJ0QyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNOzs7O1FBQUMsVUFBQSxDQUFDLElBQUksT0FBQSxDQUFDLElBQUksSUFBSSxFQUFULENBQVMsRUFBQyxDQUFDLENBQUMsU0FBUzs7O1FBQUMsY0FBTSxPQUFBLEtBQUksQ0FBQyxXQUFXLEVBQUUsRUFBbEIsQ0FBa0IsRUFBQyxDQUFDO1FBQ2pHLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxXQUFXLENBQUM7SUFDdEMsQ0FBQztJQUVELHNCQUNJLGlDQUFLOzs7OztRQURULFVBQ1UsS0FBaUI7WUFDekIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7WUFDcEIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3JCLENBQUM7OztPQUFBO0lBRUQsc0JBQ0kscUNBQVM7Ozs7O1FBRGIsVUFDYyxXQUFxQztZQUNqRCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsV0FBVyxDQUFDO1lBQ3BDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNyQixDQUFDOzs7T0FBQTtJQUVELHNCQUNJLHFDQUFTOzs7OztRQURiLFVBQ2MsV0FBcUM7WUFDakQsSUFBSSxDQUFDLGdCQUFnQixHQUFHLFdBQVcsQ0FBQztZQUNwQyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztZQUN6QixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDckIsQ0FBQzs7O09BQUE7Ozs7O0lBSVMsb0NBQVc7Ozs7SUFBckI7O1lBQ1EsR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDckMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNsRCxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRTtnQkFDdEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDNUIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7Z0JBQ3pCLElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFO29CQUN6QixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7aUJBQ25GO2FBQ0Y7U0FDRjthQUFNO1lBQ0wsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUU7Z0JBQ3RCLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQzVCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO2dCQUN6QixJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtvQkFDekIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO2lCQUNuRjthQUNGO1NBQ0Y7SUFDSCxDQUFDOzs7O0lBRUQsb0NBQVc7OztJQUFYO1FBQ0UsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUM5QixDQUFDOztnQkE5REYsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSxTQUFTO29CQUNuQixRQUFRLEVBQUUsT0FBTztpQkFDbEI7Ozs7Z0JBVnNELFdBQVc7Z0JBSXpELFVBQVU7Z0JBSmlELGdCQUFnQjs7O3dCQXdCakYsS0FBSzs0QkFNTCxLQUFLOzRCQU9MLEtBQUs7eUJBT0wsS0FBSzs7SUFBbUI7UUFBZixZQUFZLEVBQUU7O2tEQUFnQjtJQTBCMUMscUJBQUM7Q0FBQSxBQS9ERCxJQStEQztTQTNEWSxjQUFjOzs7Ozs7SUFDekIsZ0NBQTJCOzs7OztJQUMzQixrQ0FBK0I7Ozs7O0lBQy9CLDBDQUEwRDs7Ozs7SUFDMUQsMENBQTBEOzs7OztJQUMxRCxzQ0FBMEQ7Ozs7O0lBQzFELHNDQUEwRDs7SUEyQjFELGdDQUF3Qzs7Ozs7SUF6QkksNkJBQXVCOzs7OztJQUFFLHdDQUF3QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRW1iZWRkZWRWaWV3UmVmLCBJbnB1dCwgT25EZXN0cm95LCBUZW1wbGF0ZVJlZiwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSW5wdXRCb29sZWFuIH0gZnJvbSAnQGx4bGliL3V0aWwnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBBQ0xTZXJ2aWNlIH0gZnJvbSAnLi9hY2wuc2VydmljZSc7XG5pbXBvcnQgeyBBQ0xDYW5UeXBlIH0gZnJvbSAnLi9hY2wudHlwZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1thY2xJZl0nLFxuICBleHBvcnRBczogJ2FjbElmJyxcbn0pXG5leHBvcnQgY2xhc3MgQUNMSWZEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBwcml2YXRlIF92YWx1ZTogQUNMQ2FuVHlwZTtcbiAgcHJpdmF0ZSBfY2hhbmdlJDogU3Vic2NyaXB0aW9uO1xuICBwcml2YXRlIF90aGVuVGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPHZvaWQ+IHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgX2Vsc2VUZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8dm9pZD4gfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBfdGhlblZpZXdSZWY6IEVtYmVkZGVkVmlld1JlZjx2b2lkPiB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIF9lbHNlVmlld1JlZjogRW1iZWRkZWRWaWV3UmVmPHZvaWQ+IHwgbnVsbCA9IG51bGw7XG5cbiAgY29uc3RydWN0b3IodGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPHZvaWQ+LCBwcml2YXRlIHNydjogQUNMU2VydmljZSwgcHJpdmF0ZSBfdmlld0NvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZikge1xuICAgIHRoaXMuX2NoYW5nZSQgPSB0aGlzLnNydi5jaGFuZ2UucGlwZShmaWx0ZXIociA9PiByICE9IG51bGwpKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5fdXBkYXRlVmlldygpKTtcbiAgICB0aGlzLl90aGVuVGVtcGxhdGVSZWYgPSB0ZW1wbGF0ZVJlZjtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHNldCBhY2xJZih2YWx1ZTogQUNMQ2FuVHlwZSkge1xuICAgIHRoaXMuX3ZhbHVlID0gdmFsdWU7XG4gICAgdGhpcy5fdXBkYXRlVmlldygpO1xuICB9XG5cbiAgQElucHV0KClcbiAgc2V0IGFjbElmVGhlbih0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8dm9pZD4gfCBudWxsKSB7XG4gICAgdGhpcy5fdGhlblRlbXBsYXRlUmVmID0gdGVtcGxhdGVSZWY7XG4gICAgdGhpcy5fdGhlblZpZXdSZWYgPSBudWxsO1xuICAgIHRoaXMuX3VwZGF0ZVZpZXcoKTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHNldCBhY2xJZkVsc2UodGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPHZvaWQ+IHwgbnVsbCkge1xuICAgIHRoaXMuX2Vsc2VUZW1wbGF0ZVJlZiA9IHRlbXBsYXRlUmVmO1xuICAgIHRoaXMuX2Vsc2VWaWV3UmVmID0gbnVsbDtcbiAgICB0aGlzLl91cGRhdGVWaWV3KCk7XG4gIH1cblxuICBASW5wdXQoKSBASW5wdXRCb29sZWFuKCkgZXhjZXB0ID0gZmFsc2U7XG5cbiAgcHJvdGVjdGVkIF91cGRhdGVWaWV3KCk6IHZvaWQge1xuICAgIGNvbnN0IHJlcyA9IHRoaXMuc3J2LmNhbih0aGlzLl92YWx1ZSk7XG4gICAgaWYgKChyZXMgJiYgIXRoaXMuZXhjZXB0KSB8fCAoIXJlcyAmJiB0aGlzLmV4Y2VwdCkpIHtcbiAgICAgIGlmICghdGhpcy5fdGhlblZpZXdSZWYpIHtcbiAgICAgICAgdGhpcy5fdmlld0NvbnRhaW5lci5jbGVhcigpO1xuICAgICAgICB0aGlzLl9lbHNlVmlld1JlZiA9IG51bGw7XG4gICAgICAgIGlmICh0aGlzLl90aGVuVGVtcGxhdGVSZWYpIHtcbiAgICAgICAgICB0aGlzLl90aGVuVmlld1JlZiA9IHRoaXMuX3ZpZXdDb250YWluZXIuY3JlYXRlRW1iZWRkZWRWaWV3KHRoaXMuX3RoZW5UZW1wbGF0ZVJlZik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKCF0aGlzLl9lbHNlVmlld1JlZikge1xuICAgICAgICB0aGlzLl92aWV3Q29udGFpbmVyLmNsZWFyKCk7XG4gICAgICAgIHRoaXMuX3RoZW5WaWV3UmVmID0gbnVsbDtcbiAgICAgICAgaWYgKHRoaXMuX2Vsc2VUZW1wbGF0ZVJlZikge1xuICAgICAgICAgIHRoaXMuX2Vsc2VWaWV3UmVmID0gdGhpcy5fdmlld0NvbnRhaW5lci5jcmVhdGVFbWJlZGRlZFZpZXcodGhpcy5fZWxzZVRlbXBsYXRlUmVmKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX2NoYW5nZSQudW5zdWJzY3JpYmUoKTtcbiAgfVxufVxuIl19