UNPKG

ng-devui

Version:

DevUI components based on Angular

75 lines 8.11 kB
import { Directive, Injectable, QueryList } from '@angular/core'; import { BehaviorSubject } from 'rxjs'; import { debounceTime } from 'rxjs/operators'; import * as i0 from "@angular/core"; export class DescendantRegisterService { constructor() { this._result = []; this.changeSubject = new BehaviorSubject([]); this.changes = this.changeSubject.asObservable().pipe(debounceTime(200)); } register(t) { if (!t) { return; } const index = this._result.indexOf(t); if (index === -1) { this._result.push(t); this.changeSubject.next(this._result); } } unregister(t) { if (!t) { return; } const index = this._result.indexOf(t); if (index > -1) { this._result.splice(index, 1); this.changeSubject.next(this._result); } } queryResult() { return this._result.concat([]); } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DescendantRegisterService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); } static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DescendantRegisterService }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DescendantRegisterService, decorators: [{ type: Injectable }] }); /* eslint-disable-next-line @angular-eslint/directive-class-suffix */ export class DescendantChildren { constructor(drs) { this.drs = drs; } ngOnInit() { this.drs.register(this.descendantItem); } ngOnDestroy() { this.drs.unregister(this.descendantItem); } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DescendantChildren, deps: [{ token: DescendantRegisterService }], target: i0.ɵɵFactoryTarget.Directive }); } static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: DescendantChildren, ngImport: i0 }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DescendantChildren, decorators: [{ type: Directive }], ctorParameters: () => [{ type: DescendantRegisterService }] }); export class DescendantRoot extends QueryList { constructor(drs) { super(); this.drs = drs; } on() { if (this.sub) { return; } this.reset(this.drs.queryResult()); this.sub = this.drs.changes.subscribe(result => { this.reset(result); }); } off() { if (this.sub) { this.sub.unsubscribe(); } } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZy1kcm9wLWRlc2MtcmVnLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9kZXZ1aS9kcmFnZHJvcC9zZXJ2aWNlcy9kcmFnLWRyb3AtZGVzYy1yZWcuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBcUIsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxlQUFlLEVBQXFDLE1BQU0sTUFBTSxDQUFDO0FBQzFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFHOUMsTUFBTSxPQUFPLHlCQUF5QjtJQUR0QztRQUVZLFlBQU8sR0FBYSxFQUFFLENBQUM7UUFDdkIsa0JBQWEsR0FBc0IsSUFBSSxlQUFlLENBQVcsRUFBRSxDQUFDLENBQUM7UUFDeEUsWUFBTyxHQUF5QixJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksRUFBRSxDQUFDLElBQUksQ0FDM0UsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUNsQixDQUFDO0tBb0JIO0lBbkJRLFFBQVEsQ0FBQyxDQUFJO1FBQ2xCLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUFBLE9BQU87UUFBQyxDQUFDO1FBQ2xCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3RDLElBQUksS0FBSyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDakIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDckIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3hDLENBQUM7SUFDSCxDQUFDO0lBQ00sVUFBVSxDQUFDLENBQUk7UUFDcEIsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQUEsT0FBTztRQUFDLENBQUM7UUFDbEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdEMsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNmLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztZQUM5QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDeEMsQ0FBQztJQUNILENBQUM7SUFDTSxXQUFXO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDakMsQ0FBQzsrR0F4QlUseUJBQXlCO21IQUF6Qix5QkFBeUI7OzRGQUF6Qix5QkFBeUI7a0JBRHJDLFVBQVU7O0FBNkJYLHFFQUFxRTtBQUNyRSxNQUFNLE9BQU8sa0JBQWtCO0lBQzdCLFlBQXFCLEdBQWlDO1FBQWpDLFFBQUcsR0FBSCxHQUFHLENBQThCO0lBQUcsQ0FBQztJQUUxRCxRQUFRO1FBQ04sSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFDRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzNDLENBQUM7K0dBUlUsa0JBQWtCO21HQUFsQixrQkFBa0I7OzRGQUFsQixrQkFBa0I7a0JBRjlCLFNBQVM7O0FBYVYsTUFBTSxPQUFPLGNBQWtCLFNBQVEsU0FBWTtJQUVqRCxZQUFvQixHQUFpQztRQUNuRCxLQUFLLEVBQUUsQ0FBQztRQURVLFFBQUcsR0FBSCxHQUFHLENBQThCO0lBRXJELENBQUM7SUFDTSxFQUFFO1FBQ1AsSUFBSSxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7WUFBQyxPQUFPO1FBQUMsQ0FBQztRQUN6QixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUNuQyxJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRSxHQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMxRSxDQUFDO0lBRU0sR0FBRztRQUNSLElBQUksSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ2IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUN6QixDQUFDO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbmplY3RhYmxlLCBPbkRlc3Ryb3ksIE9uSW5pdCwgUXVlcnlMaXN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIFN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRGVzY2VuZGFudFJlZ2lzdGVyU2VydmljZTxUPiB7XG4gIHByb3RlY3RlZCBfcmVzdWx0OiBBcnJheTxUPiA9IFtdO1xuICBwcm90ZWN0ZWQgY2hhbmdlU3ViamVjdDogU3ViamVjdDxBcnJheTxUPj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEFycmF5PFQ+PihbXSk7XG4gIHB1YmxpYyBjaGFuZ2VzOiBPYnNlcnZhYmxlPEFycmF5PFQ+PiA9IHRoaXMuY2hhbmdlU3ViamVjdC5hc09ic2VydmFibGUoKS5waXBlKFxuICAgIGRlYm91bmNlVGltZSgyMDApXG4gICk7XG4gIHB1YmxpYyByZWdpc3Rlcih0OiBUKSB7XG4gICAgaWYgKCF0KSB7cmV0dXJuOyB9XG4gICAgY29uc3QgaW5kZXggPSB0aGlzLl9yZXN1bHQuaW5kZXhPZih0KTtcbiAgICBpZiAoaW5kZXggPT09IC0xKSB7XG4gICAgICB0aGlzLl9yZXN1bHQucHVzaCh0KTtcbiAgICAgIHRoaXMuY2hhbmdlU3ViamVjdC5uZXh0KHRoaXMuX3Jlc3VsdCk7XG4gICAgfVxuICB9XG4gIHB1YmxpYyB1bnJlZ2lzdGVyKHQ6IFQpIHtcbiAgICBpZiAoIXQpIHtyZXR1cm47IH1cbiAgICBjb25zdCBpbmRleCA9IHRoaXMuX3Jlc3VsdC5pbmRleE9mKHQpO1xuICAgIGlmIChpbmRleCA+IC0xKSB7XG4gICAgICB0aGlzLl9yZXN1bHQuc3BsaWNlKGluZGV4LCAxKTtcbiAgICAgIHRoaXMuY2hhbmdlU3ViamVjdC5uZXh0KHRoaXMuX3Jlc3VsdCk7XG4gICAgfVxuICB9XG4gIHB1YmxpYyBxdWVyeVJlc3VsdCgpIHtcbiAgICByZXR1cm4gdGhpcy5fcmVzdWx0LmNvbmNhdChbXSk7XG4gIH1cbn1cblxuQERpcmVjdGl2ZSgpXG4vKiBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2RpcmVjdGl2ZS1jbGFzcy1zdWZmaXggKi9cbmV4cG9ydCBjbGFzcyBEZXNjZW5kYW50Q2hpbGRyZW48VD4gaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIGNvbnN0cnVjdG9yIChwcml2YXRlIGRyczogRGVzY2VuZGFudFJlZ2lzdGVyU2VydmljZTxUPikge31cbiAgcHJvdGVjdGVkIGRlc2NlbmRhbnRJdGVtOiBUO1xuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmRycy5yZWdpc3Rlcih0aGlzLmRlc2NlbmRhbnRJdGVtKTtcbiAgfVxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmRycy51bnJlZ2lzdGVyKHRoaXMuZGVzY2VuZGFudEl0ZW0pO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBEZXNjZW5kYW50Um9vdDxUPiBleHRlbmRzIFF1ZXJ5TGlzdDxUPiB7XG4gIHByb3RlY3RlZCBzdWI6IFN1YnNjcmlwdGlvbjtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBkcnM6IERlc2NlbmRhbnRSZWdpc3RlclNlcnZpY2U8VD4pIHtcbiAgICBzdXBlcigpO1xuICB9XG4gIHB1YmxpYyBvbigpIHtcbiAgICBpZiAodGhpcy5zdWIpIHsgcmV0dXJuOyB9XG4gICAgdGhpcy5yZXNldCh0aGlzLmRycy5xdWVyeVJlc3VsdCgpKTtcbiAgICB0aGlzLnN1YiA9IHRoaXMuZHJzLmNoYW5nZXMuc3Vic2NyaWJlKHJlc3VsdCA9PiB7dGhpcy5yZXNldChyZXN1bHQpOyB9KTtcbiAgfVxuXG4gIHB1YmxpYyBvZmYoKSB7XG4gICAgaWYgKHRoaXMuc3ViKSB7XG4gICAgICB0aGlzLnN1Yi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxufVxuIl19