ng-zorro-antd
Version:
An enterprise-class UI components based on Ant Design and Angular
37 lines • 4.33 kB
JavaScript
/**
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE
*/
import { Injectable } from '@angular/core';
import { BehaviorSubject, Subject } from 'rxjs';
export class MenuService {
constructor() {
/** all descendant menu click **/
this.descendantMenuItemClick$ = new Subject();
/** child menu item click **/
this.childMenuItemClick$ = new Subject();
this.theme$ = new BehaviorSubject('light');
this.mode$ = new BehaviorSubject('vertical');
this.inlineIndent$ = new BehaviorSubject(24);
this.isChildSubMenuOpen$ = new BehaviorSubject(false);
}
onDescendantMenuItemClick(menu) {
this.descendantMenuItemClick$.next(menu);
}
onChildMenuItemClick(menu) {
this.childMenuItemClick$.next(menu);
}
setMode(mode) {
this.mode$.next(mode);
}
setTheme(theme) {
this.theme$.next(theme);
}
setInlineIndent(indent) {
this.inlineIndent$.next(indent);
}
}
MenuService.decorators = [
{ type: Injectable }
];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Ii9ob21lL3ZzdHMvd29yay8xL3MvY29tcG9uZW50cy9tZW51LyIsInNvdXJjZXMiOlsibWVudS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRztBQUVILE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFJaEQsTUFBTSxPQUFPLFdBQVc7SUFEeEI7UUFFRSxpQ0FBaUM7UUFDakMsNkJBQXdCLEdBQUcsSUFBSSxPQUFPLEVBQWEsQ0FBQztRQUNwRCw2QkFBNkI7UUFDN0Isd0JBQW1CLEdBQUcsSUFBSSxPQUFPLEVBQWEsQ0FBQztRQUMvQyxXQUFNLEdBQUcsSUFBSSxlQUFlLENBQWtCLE9BQU8sQ0FBQyxDQUFDO1FBQ3ZELFVBQUssR0FBRyxJQUFJLGVBQWUsQ0FBaUIsVUFBVSxDQUFDLENBQUM7UUFDeEQsa0JBQWEsR0FBRyxJQUFJLGVBQWUsQ0FBUyxFQUFFLENBQUMsQ0FBQztRQUNoRCx3QkFBbUIsR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztJQXFCNUQsQ0FBQztJQW5CQyx5QkFBeUIsQ0FBQyxJQUFlO1FBQ3ZDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVELG9CQUFvQixDQUFDLElBQWU7UUFDbEMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQsT0FBTyxDQUFDLElBQW9CO1FBQzFCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxRQUFRLENBQUMsS0FBc0I7UUFDN0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVELGVBQWUsQ0FBQyxNQUFjO1FBQzVCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2xDLENBQUM7OztZQTdCRixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2dpdGh1Yi5jb20vTkctWk9SUk8vbmctem9ycm8tYW50ZC9ibG9iL21hc3Rlci9MSUNFTlNFXG4gKi9cblxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTnpTYWZlQW55IH0gZnJvbSAnbmctem9ycm8tYW50ZC9jb3JlL3R5cGVzJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTnpNZW51TW9kZVR5cGUsIE56TWVudVRoZW1lVHlwZSB9IGZyb20gJy4vbWVudS50eXBlcyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBNZW51U2VydmljZSB7XG4gIC8qKiBhbGwgZGVzY2VuZGFudCBtZW51IGNsaWNrICoqL1xuICBkZXNjZW5kYW50TWVudUl0ZW1DbGljayQgPSBuZXcgU3ViamVjdDxOelNhZmVBbnk+KCk7XG4gIC8qKiBjaGlsZCBtZW51IGl0ZW0gY2xpY2sgKiovXG4gIGNoaWxkTWVudUl0ZW1DbGljayQgPSBuZXcgU3ViamVjdDxOelNhZmVBbnk+KCk7XG4gIHRoZW1lJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TnpNZW51VGhlbWVUeXBlPignbGlnaHQnKTtcbiAgbW9kZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE56TWVudU1vZGVUeXBlPigndmVydGljYWwnKTtcbiAgaW5saW5lSW5kZW50JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPigyNCk7XG4gIGlzQ2hpbGRTdWJNZW51T3BlbiQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcblxuICBvbkRlc2NlbmRhbnRNZW51SXRlbUNsaWNrKG1lbnU6IE56U2FmZUFueSk6IHZvaWQge1xuICAgIHRoaXMuZGVzY2VuZGFudE1lbnVJdGVtQ2xpY2skLm5leHQobWVudSk7XG4gIH1cblxuICBvbkNoaWxkTWVudUl0ZW1DbGljayhtZW51OiBOelNhZmVBbnkpOiB2b2lkIHtcbiAgICB0aGlzLmNoaWxkTWVudUl0ZW1DbGljayQubmV4dChtZW51KTtcbiAgfVxuXG4gIHNldE1vZGUobW9kZTogTnpNZW51TW9kZVR5cGUpOiB2b2lkIHtcbiAgICB0aGlzLm1vZGUkLm5leHQobW9kZSk7XG4gIH1cblxuICBzZXRUaGVtZSh0aGVtZTogTnpNZW51VGhlbWVUeXBlKTogdm9pZCB7XG4gICAgdGhpcy50aGVtZSQubmV4dCh0aGVtZSk7XG4gIH1cblxuICBzZXRJbmxpbmVJbmRlbnQoaW5kZW50OiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLmlubGluZUluZGVudCQubmV4dChpbmRlbnQpO1xuICB9XG59XG4iXX0=