lamb-web-lib
Version:
LambWebLib. Es un proyecto angular de tipo Librería. que contiene una Suit de componentes reutilizables para el proyecto [Lamb Financial](https://lamb.upeu.edu.pe).
73 lines • 6.16 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingReturn,uselessCode} checked by tsc
*/
/**
* @license
* Copyright Lamb Team. All Rights Reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*/
import { Injectable } from '@angular/core';
import { BehaviorSubject } from 'rxjs';
import { share } from 'rxjs/operators';
import { submenuToggle$, itemClick$, itemSelect$, itemHover$, addItems$, navigateHome$, getSelectedItem$, } from './variables';
export class LambMenuService {
constructor() { }
/**
* Agregar elementos al final de la lista de elementos del menú
* @param {?} items
* @param {?=} tag
* @return {?}
*/
addItems(items, tag) {
addItems$.next({ tag, items });
}
/**
* Navega al elemento del menú de inicio (home).
* @param {?=} tag
* @return {?}
*/
navigateHome(tag) {
navigateHome$.next({ tag });
}
/**
* Devuelve el elemento seleccionado actualmente. No se suscribirá a los eventos futuros.
* @param {?=} tag
* @return {?} Observable<{tag: string; item: LambMenuBag}>
*/
getSelectedItem(tag) {
/** @type {?} */
const listener = new BehaviorSubject(null);
getSelectedItem$.next({ tag, listener });
return listener.asObservable();
}
/**
* @return {?}
*/
onSubmenuToggle$() {
return submenuToggle$.pipe(share());
}
/**
* @return {?}
*/
onItemClick() {
return itemClick$.pipe(share());
}
/**
* @return {?}
*/
onItemSelect() {
return itemSelect$.pipe(share());
}
/**
* @return {?}
*/
onItemHover() {
return itemHover$.pipe(share());
}
}
LambMenuService.decorators = [
{ type: Injectable },
];
LambMenuService.ctorParameters = () => [];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbGFtYi13ZWItbGliLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvbWVudS9tZW51LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBT0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQWMsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRW5ELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV2QyxPQUFPLEVBQ0wsY0FBYyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUNuRCxTQUFTLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixHQUMzQyxNQUFNLGFBQWEsQ0FBQztBQUdyQixNQUFNO0lBRUosZ0JBQWdCLENBQUM7Ozs7Ozs7SUFPVixRQUFRLENBQUMsS0FBcUIsRUFBRSxHQUFZO1FBQ2pELFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUNqQyxDQUFDOzs7Ozs7SUFNTSxZQUFZLENBQUMsR0FBWTtRQUM5QixhQUFhLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUM5QixDQUFDOzs7Ozs7SUFPTSxlQUFlLENBQUMsR0FBWTs7Y0FDM0IsUUFBUSxHQUFHLElBQUksZUFBZSxDQUFjLElBQUksQ0FBQztRQUV2RCxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUV6QyxNQUFNLENBQUMsUUFBUSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ2pDLENBQUM7Ozs7SUFFTSxnQkFBZ0I7UUFDckIsTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUN0QyxDQUFDOzs7O0lBRU0sV0FBVztRQUNoQixNQUFNLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7Ozs7SUFFTSxZQUFZO1FBQ2pCLE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDbkMsQ0FBQzs7OztJQUVNLFdBQVc7UUFDaEIsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUNsQyxDQUFDOzs7WUFqREYsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbIlxyXG4vKipcclxuICogQGxpY2Vuc2VcclxuICogQ29weXJpZ2h0IExhbWIgVGVhbS4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cclxuICogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgTGljZW5zZS50eHQgaW4gdGhlIHByb2plY3Qgcm9vdCBmb3IgbGljZW5zZSBpbmZvcm1hdGlvbi5cclxuICovXHJcblxyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBMYW1iTWVudUJhZywgTGFtYk1lbnVJdGVtIH0gZnJvbSAnLi9tZW51LWl0ZW0nO1xyXG5pbXBvcnQgeyBzaGFyZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmltcG9ydCB7XHJcbiAgc3VibWVudVRvZ2dsZSQsIGl0ZW1DbGljayQsIGl0ZW1TZWxlY3QkLCBpdGVtSG92ZXIkLFxyXG4gIGFkZEl0ZW1zJCwgbmF2aWdhdGVIb21lJCwgZ2V0U2VsZWN0ZWRJdGVtJCxcclxufSBmcm9tICcuL3ZhcmlhYmxlcyc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBMYW1iTWVudVNlcnZpY2Uge1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuICAvKipcclxuICAgKiBBZ3JlZ2FyIGVsZW1lbnRvcyBhbCBmaW5hbCBkZSBsYSBsaXN0YSBkZSBlbGVtZW50b3MgZGVsIG1lbsO6XHJcbiAgICogQHBhcmFtIExpc3Q8TGFtYk1lbnVJdGVtPn0gaXRlbXNcclxuICAgKiBAcGFyYW0gc3RyaW5nIHRhZ1xyXG4gICAqL1xyXG4gIHB1YmxpYyBhZGRJdGVtcyhpdGVtczogTGFtYk1lbnVJdGVtW10sIHRhZz86IHN0cmluZykge1xyXG4gICAgYWRkSXRlbXMkLm5leHQoeyB0YWcsIGl0ZW1zIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTmF2ZWdhIGFsIGVsZW1lbnRvIGRlbCBtZW7DuiBkZSBpbmljaW8gKGhvbWUpLlxyXG4gICAqIEBwYXJhbSBzdHJpbmcgdGFnXHJcbiAgICovXHJcbiAgcHVibGljIG5hdmlnYXRlSG9tZSh0YWc/OiBzdHJpbmcpIHtcclxuICAgIG5hdmlnYXRlSG9tZSQubmV4dCh7IHRhZyB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIERldnVlbHZlIGVsIGVsZW1lbnRvIHNlbGVjY2lvbmFkbyBhY3R1YWxtZW50ZS4gTm8gc2Ugc3VzY3JpYmlyw6EgYSBsb3MgZXZlbnRvcyBmdXR1cm9zLlxyXG4gICAqIEBwYXJhbSBzdHJpbmcgdGFnXHJcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZTx7dGFnOiBzdHJpbmc7IGl0ZW06IExhbWJNZW51QmFnfT5cclxuICAgKi9cclxuICBwdWJsaWMgZ2V0U2VsZWN0ZWRJdGVtKHRhZz86IHN0cmluZyk6IE9ic2VydmFibGU8TGFtYk1lbnVCYWc+IHtcclxuICAgIGNvbnN0IGxpc3RlbmVyID0gbmV3IEJlaGF2aW9yU3ViamVjdDxMYW1iTWVudUJhZz4obnVsbCk7XHJcblxyXG4gICAgZ2V0U2VsZWN0ZWRJdGVtJC5uZXh0KHsgdGFnLCBsaXN0ZW5lciB9KTtcclxuXHJcbiAgICByZXR1cm4gbGlzdGVuZXIuYXNPYnNlcnZhYmxlKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25TdWJtZW51VG9nZ2xlJCgpOiBPYnNlcnZhYmxlPExhbWJNZW51QmFnPiB7XHJcbiAgICByZXR1cm4gc3VibWVudVRvZ2dsZSQucGlwZShzaGFyZSgpKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvbkl0ZW1DbGljaygpOiBPYnNlcnZhYmxlPExhbWJNZW51QmFnPiB7XHJcbiAgICByZXR1cm4gaXRlbUNsaWNrJC5waXBlKHNoYXJlKCkpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uSXRlbVNlbGVjdCgpOiBPYnNlcnZhYmxlPExhbWJNZW51QmFnPiB7XHJcbiAgICByZXR1cm4gaXRlbVNlbGVjdCQucGlwZShzaGFyZSgpKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvbkl0ZW1Ib3ZlcigpOiBPYnNlcnZhYmxlPExhbWJNZW51QmFnPiB7XHJcbiAgICByZXR1cm4gaXRlbUhvdmVyJC5waXBlKHNoYXJlKCkpO1xyXG4gIH1cclxufVxyXG4iXX0=