Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import { Injectable } from '@angular/core';
- import { AngularFireList, AngularFireDatabase } from 'angularfire2/database';
- import { Observable } from '@firebase/util';
- import { Menu } from '../../model/menu';
- import { MenuItem } from '../../model/menu-item';
- /*
- Generated class for the MenuProvider provider.
- See https://angular.io/guide/dependency-injection for more info on providers
- and Angular DI.
- */
- @Injectable()
- export class MenuProvider {
- private activeMenu: Menu;
- public firebase: AngularFireDatabase;
- constructor(private _firebase: AngularFireDatabase) {
- this.firebase = _firebase;
- }
- getActiveMenu(): Menu {
- this.firebase.list('/menus').snapshotChanges().subscribe((menus) => {
- menus.map(menu => {
- if (menu.payload.val().isActive) {
- // this.activeMenu.$key = menu.key;
- // this.activeMenu.isActive = menu.payload.val().isActive;
- // this.activeMenu.name = menu.payload.val().name;
- let menuItems: MenuItem[] = this.convertEntitiesToArray(menu.payload.val().menuItems);
- // console.log(menuItems[0]);
- this.activeMenu = new Menu(menu.payload.val().name, menu.payload.val().isActive, menuItems);
- // this.activeMenu.menuItems = [...menuItems];
- // console.log()
- // for(let menuItem of menuItems){
- // this.activeMenu.menuItems.push(new MenuItem(menuItem as MenuItem));
- // }
- }
- })
- });
- return this.activeMenu;
- // this.firebase.list('/menus').snapshotChanges().subscribe(menus=>{
- // // menus.map(menu=>{
- // // console.log(menu);
- // // })
- // });
- // this.firebase.list('/menus').query.orderByChild('isActive').equalTo(true).on('value', (snapshot) => {
- // let tempMenu = scope.convertEntitiesToArray(snapshot.val())[0];
- // var menu = new Menu();
- // menu.$key = tempMenu.$key;
- // menu.isActive = tempMenu.isActive;
- // menu.name = tempMenu.name;
- // menu.menuItems = scope.convertEntitiesToArray(tempMenu.menuItems);
- // return menu;
- // });
- // console.log(this.activeMenu);
- // return this.activeMenu;
- }
- convertEntitiesToArray(entities) {
- const keys = Object.keys(entities);
- return keys.map(key => {
- return {
- id: key,
- ...entities[key]
- };
- });
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement