@karelics/angular-unleash-proxy-client
Version:
Angular wrapper for [unleash-proxy-client](https://github.com/Unleash/unleash-proxy-client-js).
46 lines • 5.89 kB
JavaScript
import { Directive, Input } from '@angular/core';
import { FeatureDirective } from './feature.directive';
import { NgIf } from '@angular/common';
import { combineLatest, map } from 'rxjs';
import * as i0 from "@angular/core";
import * as i1 from "@angular/common";
export class FeatureDisabledDirective extends FeatureDirective {
constructor() {
super(...arguments);
this._operator = 'or';
this.toggleState$ = (toggleNames) => {
return combineLatest(toggleNames.map(name => this.unleashService.isDisabled$(name))).pipe(map(states => this._operator === 'and'
? states.every(state => state)
: states.some(state => state)));
};
}
set toggleNames(val) {
this.setToggleNames(Array.isArray(val) ? val : [val]);
}
set operator(val) {
this._operator = val.toLowerCase();
}
set else(templateRef) {
this.setElseTemplate(templateRef);
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: FeatureDisabledDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.11", type: FeatureDisabledDirective, isStandalone: true, selector: "[featureDisabled]", inputs: { toggleNames: ["featureDisabled", "toggleNames"], operator: ["featureDisabledOperator", "operator"], else: ["featureDisabledElse", "else"] }, usesInheritance: true, hostDirectives: [{ directive: i1.NgIf }], ngImport: i0 }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: FeatureDisabledDirective, decorators: [{
type: Directive,
args: [{
selector: '[featureDisabled]',
standalone: true,
hostDirectives: [NgIf],
}]
}], propDecorators: { toggleNames: [{
type: Input,
args: ['featureDisabled']
}], operator: [{
type: Input,
args: ['featureDisabledOperator']
}], else: [{
type: Input,
args: ['featureDisabledElse']
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS1kaXNhYmxlZC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXVubGVhc2gtcHJveHktY2xpZW50L3NyYy9saWIvZGlyZWN0aXZlcy9mZWF0dXJlLWRpc2FibGVkLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBZSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsSUFBSSxFQUFlLE1BQU0saUJBQWlCLENBQUM7QUFDcEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7OztBQVExQyxNQUFNLE9BQU8sd0JBQXlCLFNBQVEsZ0JBQWdCO0lBTDlEOztRQWtCVSxjQUFTLEdBQWlCLElBQUksQ0FBQztRQUU3QixpQkFBWSxHQUFHLENBQUMsV0FBcUIsRUFBRSxFQUFFO1lBQ2pELE9BQU8sYUFBYSxDQUNsQixXQUFXLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FDL0QsQ0FBQyxJQUFJLENBQ0osR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQ1gsSUFBSSxDQUFDLFNBQVMsS0FBSyxLQUFLO2dCQUN0QixDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQztnQkFDOUIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FDaEMsQ0FDRixDQUFDO1FBQ0osQ0FBQyxDQUFDO0tBQ0g7SUF6QkMsSUFBOEIsV0FBVyxDQUFDLEdBQXNCO1FBQzlELElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVELElBQXNDLFFBQVEsQ0FBQyxHQUFpQjtRQUM5RCxJQUFJLENBQUMsU0FBUyxHQUFHLEdBQUcsQ0FBQyxXQUFXLEVBQWtCLENBQUM7SUFDckQsQ0FBQztJQUVELElBQWtDLElBQUksQ0FBQyxXQUFxRDtRQUMxRixJQUFJLENBQUMsZUFBZSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7K0dBWFUsd0JBQXdCO21HQUF4Qix3QkFBd0I7OzRGQUF4Qix3QkFBd0I7a0JBTHBDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG1CQUFtQjtvQkFDN0IsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLGNBQWMsRUFBRSxDQUFDLElBQUksQ0FBQztpQkFDdkI7OEJBRStCLFdBQVc7c0JBQXhDLEtBQUs7dUJBQUMsaUJBQWlCO2dCQUljLFFBQVE7c0JBQTdDLEtBQUs7dUJBQUMseUJBQXlCO2dCQUlFLElBQUk7c0JBQXJDLEtBQUs7dUJBQUMscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZlYXR1cmVEaXJlY3RpdmUgfSBmcm9tICcuL2ZlYXR1cmUuZGlyZWN0aXZlJztcbmltcG9ydCB7IE5nSWYsIE5nSWZDb250ZXh0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IGNvbWJpbmVMYXRlc3QsIG1hcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSm9pbk9wZXJhdG9yIH0gZnJvbSAnLi9qb2luLW9wZXJhdG9yJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2ZlYXR1cmVEaXNhYmxlZF0nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBob3N0RGlyZWN0aXZlczogW05nSWZdLFxufSlcbmV4cG9ydCBjbGFzcyBGZWF0dXJlRGlzYWJsZWREaXJlY3RpdmUgZXh0ZW5kcyBGZWF0dXJlRGlyZWN0aXZlIHtcbiAgQElucHV0KCdmZWF0dXJlRGlzYWJsZWQnKSBzZXQgdG9nZ2xlTmFtZXModmFsOiBzdHJpbmcgfCBzdHJpbmdbXSkge1xuICAgIHRoaXMuc2V0VG9nZ2xlTmFtZXMoQXJyYXkuaXNBcnJheSh2YWwpID8gdmFsIDogW3ZhbF0pO1xuICB9XG5cbiAgQElucHV0KCdmZWF0dXJlRGlzYWJsZWRPcGVyYXRvcicpIHNldCBvcGVyYXRvcih2YWw6IEpvaW5PcGVyYXRvcikge1xuICAgIHRoaXMuX29wZXJhdG9yID0gdmFsLnRvTG93ZXJDYXNlKCkgYXMgSm9pbk9wZXJhdG9yO1xuICB9XG5cbiAgQElucHV0KCdmZWF0dXJlRGlzYWJsZWRFbHNlJykgc2V0IGVsc2UodGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPE5nSWZDb250ZXh0PGJvb2xlYW4+PiB8IG51bGwpIHtcbiAgICB0aGlzLnNldEVsc2VUZW1wbGF0ZSh0ZW1wbGF0ZVJlZik7XG4gIH1cblxuICBwcml2YXRlIF9vcGVyYXRvcjogSm9pbk9wZXJhdG9yID0gJ29yJztcblxuICBwcm90ZWN0ZWQgdG9nZ2xlU3RhdGUkID0gKHRvZ2dsZU5hbWVzOiBzdHJpbmdbXSkgPT4ge1xuICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KFxuICAgICAgdG9nZ2xlTmFtZXMubWFwKG5hbWUgPT4gdGhpcy51bmxlYXNoU2VydmljZS5pc0Rpc2FibGVkJChuYW1lKSlcbiAgICApLnBpcGUoXG4gICAgICBtYXAoc3RhdGVzID0+XG4gICAgICAgIHRoaXMuX29wZXJhdG9yID09PSAnYW5kJ1xuICAgICAgICAgID8gc3RhdGVzLmV2ZXJ5KHN0YXRlID0+IHN0YXRlKVxuICAgICAgICAgIDogc3RhdGVzLnNvbWUoc3RhdGUgPT4gc3RhdGUpXG4gICAgICApLFxuICAgICk7XG4gIH07XG59XG4iXX0=