UNPKG

@ux-aspects/ux-aspects

Version:

Open source user interface framework for building modern, responsive, mobile big data applications

25 lines 3.34 kB
import { Injectable } from '@angular/core'; import { BehaviorSubject } from 'rxjs'; import * as i0 from "@angular/core"; export class MenuNavigationService { constructor() { /** Store a list of items that belong to this menu */ this.menuItems = []; /** Store the current active menu item */ this.active$ = new BehaviorSubject(null); } /** Add an item to this menu */ register(menuItem) { this.menuItems = [...this.menuItems, menuItem]; } /** Remove an item from the list of menu items */ unregister(menuItem) { this.menuItems = this.menuItems.filter(_menuItem => _menuItem !== menuItem); } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: MenuNavigationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); } static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: MenuNavigationService }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: MenuNavigationService, decorators: [{ type: Injectable }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1uYXZpZ2F0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZGlyZWN0aXZlcy9tZW51LW5hdmlnYXRpb24vbWVudS1uYXZpZ2F0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUl2QyxNQUFNLE9BQU8scUJBQXFCO0lBRGxDO1FBR0kscURBQXFEO1FBQ3JELGNBQVMsR0FBK0MsRUFBRSxDQUFDO1FBRTNELHlDQUF5QztRQUN6QyxZQUFPLEdBQUcsSUFBSSxlQUFlLENBQThCLElBQUksQ0FBQyxDQUFDO0tBV3BFO0lBVEcsK0JBQStCO0lBQy9CLFFBQVEsQ0FBQyxRQUFxQztRQUMxQyxJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRCxpREFBaUQ7SUFDakQsVUFBVSxDQUFDLFFBQXFDO1FBQzVDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxTQUFTLEtBQUssUUFBUSxDQUFDLENBQUM7SUFDaEYsQ0FBQzsrR0FoQlEscUJBQXFCO21IQUFyQixxQkFBcUI7OzRGQUFyQixxQkFBcUI7a0JBRGpDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE1lbnVOYXZpZ2F0aW9uSXRlbURpcmVjdGl2ZSB9IGZyb20gJy4vbWVudS1uYXZpZ2F0aW9uLWl0ZW0uZGlyZWN0aXZlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE1lbnVOYXZpZ2F0aW9uU2VydmljZSB7XG5cbiAgICAvKiogU3RvcmUgYSBsaXN0IG9mIGl0ZW1zIHRoYXQgYmVsb25nIHRvIHRoaXMgbWVudSAqL1xuICAgIG1lbnVJdGVtczogUmVhZG9ubHlBcnJheTxNZW51TmF2aWdhdGlvbkl0ZW1EaXJlY3RpdmU+ID0gW107XG5cbiAgICAvKiogU3RvcmUgdGhlIGN1cnJlbnQgYWN0aXZlIG1lbnUgaXRlbSAqL1xuICAgIGFjdGl2ZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE1lbnVOYXZpZ2F0aW9uSXRlbURpcmVjdGl2ZT4obnVsbCk7XG5cbiAgICAvKiogQWRkIGFuIGl0ZW0gdG8gdGhpcyBtZW51ICovXG4gICAgcmVnaXN0ZXIobWVudUl0ZW06IE1lbnVOYXZpZ2F0aW9uSXRlbURpcmVjdGl2ZSk6IHZvaWQge1xuICAgICAgICB0aGlzLm1lbnVJdGVtcyA9IFsuLi50aGlzLm1lbnVJdGVtcywgbWVudUl0ZW1dO1xuICAgIH1cblxuICAgIC8qKiBSZW1vdmUgYW4gaXRlbSBmcm9tIHRoZSBsaXN0IG9mIG1lbnUgaXRlbXMgKi9cbiAgICB1bnJlZ2lzdGVyKG1lbnVJdGVtOiBNZW51TmF2aWdhdGlvbkl0ZW1EaXJlY3RpdmUpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5tZW51SXRlbXMgPSB0aGlzLm1lbnVJdGVtcy5maWx0ZXIoX21lbnVJdGVtID0+IF9tZW51SXRlbSAhPT0gbWVudUl0ZW0pO1xuICAgIH1cbn0iXX0=