UNPKG

ng-devui

Version:

DevUI components based on Angular

31 lines 4.12 kB
import { ChangeDetectorRef, inject, Injectable, } from '@angular/core'; import { BehaviorSubject, Subject } from 'rxjs'; import * as i0 from "@angular/core"; export class SubMenuService { constructor() { this.parentSubMenuService = inject(SubMenuService, { skipSelf: true, optional: true }); this.menuItems = []; this.childState$ = new Subject(); this.parentPopoverOpen$ = new BehaviorSubject(false); this.childActive$ = new Subject(); this.parentSubMenuActive$ = new BehaviorSubject(false); this.cdr = inject(ChangeDetectorRef); this.level = 1; if (this.parentSubMenuService) { this.level = this.parentSubMenuService.level + 1; } } setChildActive() { const active = this.menuItems.some(item => item.active); this.childActive$.next(active); } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SubMenuService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); } static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SubMenuService }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SubMenuService, decorators: [{ type: Injectable }], ctorParameters: () => [] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VibWVudS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vZGV2dWkvbWVudS9zdWJtZW51LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixNQUFNLEVBQ04sVUFBVSxHQUNYLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUdoRCxNQUFNLE9BQU8sY0FBYztJQWN6QjtRQWJTLHlCQUFvQixHQUFHLE1BQU0sQ0FBQyxjQUFjLEVBQUU7WUFDckQsUUFBUSxFQUFFLElBQUk7WUFDZCxRQUFRLEVBQUUsSUFBSTtTQUNmLENBQUMsQ0FBQztRQUVILGNBQVMsR0FBd0IsRUFBRSxDQUFDO1FBQzNCLGdCQUFXLEdBQUcsSUFBSSxPQUFPLEVBQWtCLENBQUM7UUFDNUMsdUJBQWtCLEdBQUcsSUFBSSxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFaEQsaUJBQVksR0FBRyxJQUFJLE9BQU8sRUFBVyxDQUFDO1FBQ3RDLHlCQUFvQixHQUFHLElBQUksZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2pELFFBQUcsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUMxQyxVQUFLLEdBQUcsQ0FBQyxDQUFDO1FBRVIsSUFBSSxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztZQUM5QixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQ25ELENBQUM7SUFDSCxDQUFDO0lBRUQsY0FBYztRQUNaLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3hELElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2pDLENBQUM7K0dBdkJVLGNBQWM7bUhBQWQsY0FBYzs7NEZBQWQsY0FBYztrQkFEMUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBpbmplY3QsXG4gIEluamVjdGFibGUsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWVudUhvdmVyVHlwZXMgfSBmcm9tICcuL3R5cGUnO1xuaW1wb3J0IHsgTWVudUl0ZW1EaXJlY3RpdmUgfSBmcm9tICcuL21lbnUtaXRlbS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBTdWJNZW51U2VydmljZSB7XG4gIHJlYWRvbmx5IHBhcmVudFN1Yk1lbnVTZXJ2aWNlID0gaW5qZWN0KFN1Yk1lbnVTZXJ2aWNlLCB7XG4gICAgc2tpcFNlbGY6IHRydWUsXG4gICAgb3B0aW9uYWw6IHRydWVcbiAgfSk7XG5cbiAgbWVudUl0ZW1zOiBNZW51SXRlbURpcmVjdGl2ZVtdID0gW107XG4gIHJlYWRvbmx5IGNoaWxkU3RhdGUkID0gbmV3IFN1YmplY3Q8TWVudUhvdmVyVHlwZXM+KCk7XG4gIHJlYWRvbmx5IHBhcmVudFBvcG92ZXJPcGVuJCA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuXG4gIHJlYWRvbmx5IGNoaWxkQWN0aXZlJCA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG4gIHJlYWRvbmx5IHBhcmVudFN1Yk1lbnVBY3RpdmUkID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG4gIHByb3RlY3RlZCBjZHIgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuICBsZXZlbCA9IDE7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGlmICh0aGlzLnBhcmVudFN1Yk1lbnVTZXJ2aWNlKSB7XG4gICAgICB0aGlzLmxldmVsID0gdGhpcy5wYXJlbnRTdWJNZW51U2VydmljZS5sZXZlbCArIDE7XG4gICAgfVxuICB9XG5cbiAgc2V0Q2hpbGRBY3RpdmUoKSB7XG4gICAgY29uc3QgYWN0aXZlID0gdGhpcy5tZW51SXRlbXMuc29tZShpdGVtID0+IGl0ZW0uYWN0aXZlKTtcbiAgICB0aGlzLmNoaWxkQWN0aXZlJC5uZXh0KGFjdGl2ZSk7XG4gIH1cbn1cbiJdfQ==