{"version":3,"sources":["webpack:///./src/app/shared/screen-size.service.ts","webpack:///./src/app/main/items/items.service.ts","webpack:///./src/app/shared/pathbuilder.service.ts","webpack:///./src/app/users/users.service.ts","webpack:///./src/app/home/home.component.ts","webpack:///./src/app/main/lists/lists.component.ts","webpack:///./src/app/main/main-view.component.ts","webpack:///./src/app/not-found.component.ts","webpack:///./src/app/app.component.css","webpack:///./src async","webpack:///./src/main.ts","webpack:///./src/app/auth/auth.service.ts","webpack:///./src/app/app.component.ts","webpack:///./src/app/app.module.ts","webpack:///./src/app/app.routing.ts","webpack:///./src/app/auth/auth.component.ts","webpack:///./src/app/auth/auth.module.ts","webpack:///./src/app/firebase-secrets.ts","webpack:///./src/app/main/items/items.component.ts","webpack:///./src/app/main/lists/details/details.component.ts","webpack:///./src/app/main/lists/manage/manage.component.ts","webpack:///./src/app/main/lists/minimal-lists.component.ts","webpack:///./src/app/main/lists/new-list.component.ts","webpack:///./src/app/main/main.module.ts","webpack:///./src/app/main/main.routing.ts","webpack:///./src/app/nav/nav.component.ts","webpack:///./src/app/shared/gearmenu.component.ts","webpack:///./src/app/shared/userloggedinguard.service.ts","webpack:///./src/environments/environment.ts","webpack:///./src/polyfills.ts","webpack:///./src/app/auth/auth.component.css","webpack:///./src/app/main/items/items.component.css","webpack:///./src/app/main/lists/details/details.component.css","webpack:///./src/app/main/lists/lists.component.css","webpack:///./src/app/main/lists/manage/manage.component.css","webpack:///./src/app/nav/nav.component.css","webpack:///./src/app/app.component.html","webpack:///./src/app/auth/auth.component.html","webpack:///./src/app/home/home.component.html","webpack:///./src/app/main/items/items.component.html","webpack:///./src/app/main/lists/details/details.component.html","webpack:///./src/app/main/lists/lists.component.html","webpack:///./src/app/main/lists/manage/manage.component.html","webpack:///./src/app/main/main-view.component.html","webpack:///./src/app/nav/nav.component.html","webpack:///./src/app/main/lists/lists.service.ts"],"names":[],"mappings":"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","file":"main.bundle.js","sourcesContent":["import { Injectable,\n         HostListener } from '@angular/core';\n\n@Injectable()\nexport class ScreenSizeService {\n\n  private _screenPhoneSize = 768;\n\n  screenIsPhoneSized = false;\n\n  constructor() {\n    this.checkWindowSize(window.innerWidth);\n    window.addEventListener('resize', event => this.checkWindowSize((event.target as any).innerWidth));\n  }\n\n  private checkWindowSize(width) {\n    this.screenIsPhoneSized = width < this._screenPhoneSize;\n    console.log('phone sized', this.screenIsPhoneSized);\n  }\n\n  @HostListener('window:resize', ['$event'])\n  onResize(event) {\n    this.checkWindowSize(event.target.innerWidth);\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/shared/screen-size.service.ts","import { Injectable,\n         EventEmitter } from '@angular/core';\nimport { AngularFire,\n         FirebaseListObservable,\n         FirebaseObjectObservable } from 'angularfire2';\nimport { Observable} from 'rxjs/Observable';\nimport { BehaviorSubject } from 'rxjs/rx';\nimport { Subject } from 'rxjs/Subject';\n\nimport 'rxjs/add/operator/share';\nimport 'rxjs/add/operator/take';\nimport 'rxjs/add/operator/map';\n\nimport { PathBuilderService } from '../../shared/pathbuilder.service';\n\n@Injectable()\nexport class ItemsService {\n\n  constructor(private _af: AngularFire,\n              private _pb: PathBuilderService) {\n  }\n\n  archive(listKey, itemKey) {\n    let sourcePath = this._pb.buildItemPath(listKey, itemKey);\n    let destinationPath = this._pb.buildArchivedItemPath(listKey, itemKey);\n    this.moveItem(sourcePath, destinationPath);\n  }\n\n  moveItem(sourcePath, destinationPath) {\n    this.copyItem(sourcePath, destinationPath);\n    this._af.database.object(sourcePath).set(null);\n  }\n\n  copyItem(sourcePath, destinationPath) {\n    this._af.database.object(sourcePath).take(1).subscribe(x => {\n      delete x.$key;\n      delete x.$exists;\n      this._af.database.object(destinationPath).set(x);\n    });\n  }\n\n  rename(listKey, itemKey, name) {\n    //console.log(\"rename\", listKey, itemKey, name);\n    let path = this._pb.buildItemPath(listKey, itemKey);\n    this._af.database.object(path).update({ name: name});\n  }\n\n  restore(listKey, itemKey) {\n    let sourcePath = this._pb.buildArchivedItemPath(listKey, itemKey);\n    let destinationPath = this._pb.buildItemPath(listKey, itemKey);\n    this.moveItem(sourcePath, destinationPath);\n  }\n\n  delete(listKey, itemKey) {\n    this._af.database.object(this._pb.buildItemPath(listKey, itemKey)).set(null);\n  }\n\n  addToList(key, value) {\n    let path = this._pb.buildListItemsPath(key);\n    this._af.database.list(path).push({\n      name: value,\n      complete: false\n    });\n  }\n\n  toggleCompletionState(listKey, itemKey, completionState) {\n    let path = this._pb.buildItemPath(listKey, itemKey);\n    this._af.database.object(path).update({ complete: completionState});\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/main/items/items.service.ts","import { Injectable } from '@angular/core';\n\n@Injectable()\nexport class PathBuilderService {\n\n  constructor() { }\n\n  buildUserListsPath(userId) {\n    return this.buildUserPath(userId) + '/lists';\n  }\n\n  buildUserListPath(userId, listId) {\n    return this.buildUserListsPath(userId) + '/' + listId;\n  }\n\n  buildListsPath() {\n    return '/lists';\n  }\n  buildListPath(listKey) {\n    return this.buildListsPath() + '/' + listKey;\n  }\n\n  buildListItemsPath(listKey) {\n    return this.buildListPath(listKey) + '/items';\n  }\n\n  buildListArchivePath(listKey) {\n    return this.buildListPath(listKey) + '/archive';\n  }\n\n  buildArchivedItemPath(listKey, itemKey) {\n    return this.buildListArchivePath(listKey) + '/' + itemKey;\n  }\n\n  buildItemPath(listKey, itemKey) {\n    return this.buildListItemsPath(listKey) + '/' + itemKey;\n  }\n\n  buildUsersPath() {\n    return '/users';\n  }\n  buildUserPath(userId) {\n    return this.buildUsersPath() + '/' + userId;\n  }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/shared/pathbuilder.service.ts","import { Injectable } from '@angular/core';\nimport { AngularFire,\n         AuthProviders,\n         AuthMethods,\n         FirebaseListObservable,\n         FirebaseObjectObservable } from 'angularfire2';\nimport { Observable} from 'rxjs/Observable';\nimport { BehaviorSubject } from 'rxjs/rx';\nimport { Subject } from 'rxjs/Subject';\n\nimport { PathBuilderService } from '../shared/pathbuilder.service';\n\nimport 'rxjs/add/operator/share';\nimport 'rxjs/add/operator/take';\nimport 'rxjs/add/operator/map';\n\n@Injectable()\nexport class UsersService {\n\n  constructor(private _af: AngularFire,\n              private _pb: PathBuilderService) { }\n\n  getUserByEmail(email) {\n    return this._af.database.list(this._pb.buildUsersPath(), {\n      query: {\n        orderByChild: 'email',\n        equalTo: email\n      }\n    });\n  }\n\n  getUsers() {\n    return this._af.database.list(this._pb.buildUsersPath());\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/users/users.service.ts","import { Component, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { AuthService } from '../auth/auth.service';\n\n@Component({\n  selector: 'app-home',\n  templateUrl: './home.component.html'\n})\nexport class HomeComponent implements OnInit {\n\n  constructor(public auth: AuthService,\n              public router: Router) { }\n\n  ngOnInit() {\n    console.log('home component init');\n  }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/home/home.component.ts","import { Component,\n         OnInit,\n         Input,\n         OnDestroy,\n         ViewContainerRef } from '@angular/core';\nimport { Overlay } from 'angular2-modal';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { Modal } from 'angular2-modal/plugins/bootstrap';\n\nimport { ListsService } from './lists.service';\nimport { ScreenSizeService } from '../../shared/screen-size.service';\nimport { AuthService } from '../../auth/auth.service';\n\n@Component({\n  selector: 'app-lists, .app-lists',\n  templateUrl: './lists.component.html',\n  styleUrls: ['./lists.component.css']\n})\nexport class ListsComponent implements OnInit, OnDestroy {\n\n  constructor(public lists: ListsService,\n              public router: Router,\n              private _route: ActivatedRoute,\n              public sizeService: ScreenSizeService,\n              private _auth: AuthService,\n              overlay: Overlay,\n              vcRef: ViewContainerRef,\n              private _modal: Modal) {\n    overlay.defaultViewContainer = vcRef;\n}\n\n  ngOnInit() {\n    this.lists.usersListsChanged$.subscribe(x => console.log('lists component init', x));\n    console.log('lists component init');\n  }\n\n  ngOnDestroy() {\n    console.log('destroy');\n  }\n\n  getMenuData(list) {\n    // console.log('getting menu data', list);\n    return [ {\n      label: 'Share',\n      action: {\n        func: this.showEmailModal,\n        context: this,\n        args: [\n          list\n        ]\n      }\n    }, {\n      label: 'Delete',\n      action: {\n        func: this.confirmDelete,\n        context: this,\n        args: [\n          list\n        ]\n      }\n    } ];\n  }\n\n  showEmailModal(listKey) {\n    this._modal.prompt()\n      .size('sm')\n      .showClose(true)\n      .title('Enter email of recipient')\n      .open()\n      .then(resultPromise => {\n        resultPromise.result.then( result => {\n          this.lists.share(result, listKey);\n        }, () => console.log('email fail?')\n      ); });\n  }\n\n  confirmDelete(listKey) {\n    this._modal.confirm()\n      .size('sm')\n      .showClose(false)\n      .title('Delete list?')\n      .body('This action is irreversible.')\n      .open()\n      .then(resultPromise => {\n        resultPromise.result.then(result => {\n          if (result) { this.lists.delete(listKey); };\n        }, () => true);\n      });\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/main/lists/lists.component.ts","import { Component,\n         OnInit } from '@angular/core';\nimport { ActivatedRoute,\n         Router,\n         UrlTree } from '@angular/router';\n\nimport { ListsService } from './lists/lists.service';\nimport { ScreenSizeService } from '../shared/screen-size.service';\n\n@Component({\n  selector: 'app-main-view',\n  templateUrl: './main-view.component.html'\n})\nexport class MainViewComponent implements OnInit {\n\n  activeList = null;\n  activeListKey = null;\n  activeView = '';\n\n  constructor(public lists: ListsService,\n              public sizeService: ScreenSizeService,\n              public activatedRoute: ActivatedRoute,\n              public router: Router) { }\n\n  ngOnInit() {\n    this.activatedRoute.url.subscribe(segments => {\n      if (segments.length === 2) {\n        // we're at /lists/<id>/, load just the items component\n        this.activeView = 'items';\n      } else if (segments.length === 3) {\n        // we're at either /lists/<id>/manage or /lists/<id>/details\n        this.activeView = segments[2].path;\n      }\n    });\n    this.activatedRoute.params.subscribe(x => {\n      this.activeList = this.lists.getList(x['listKey']);\n      this.activeListKey = x['listKey'];\n    });\n  }\n\n  isActive(instruction: any[]): boolean {\n    return this.router.isActive(this.router.createUrlTree(instruction), true);\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/main/main-view.component.ts","import { Component, OnInit } from '@angular/core';\n\n@Component({\n  selector: 'app-root',\n  template: '<h1>Not Found</h1>',\n  styleUrls: ['./app.component.css']\n})\nexport class NotFoundComponent implements OnInit {\n\n  constructor() { }\n\n  ngOnInit() {\n    console.log('notfound component init');\n  }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/not-found.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/app.component.css\n// module id = 441\n// module chunks = 0","function webpackEmptyContext(req) {\n\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n}\nwebpackEmptyContext.keys = function() { return []; };\nwebpackEmptyContext.resolve = webpackEmptyContext;\nmodule.exports = webpackEmptyContext;\nwebpackEmptyContext.id = 470;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src async\n// module id = 470\n// module chunks = 0","import './polyfills.ts';\n\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\nimport { enableProdMode } from '@angular/core';\nimport { environment } from './environments/environment';\nimport { AppModule } from './app/app.module';\n\nif (environment.production) {\n  enableProdMode();\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule);\n\n\n\n// WEBPACK FOOTER //\n// ./src/main.ts","import { Injectable,\n         EventEmitter } from '@angular/core';\nimport { AngularFire,\n         AuthProviders,\n         AuthMethods,\n         FirebaseListObservable,\n         FirebaseObjectObservable } from 'angularfire2';\nimport { Router } from '@angular/router';\n\nimport { BehaviorSubject } from 'rxjs/rx';\n\nimport { PathBuilderService } from '../shared/pathbuilder.service';\n\n@Injectable()\nexport class AuthService {\n  private _nullUser = {\n      userId: null,\n      userPicture: null,\n      displayName: null,\n      email: null\n    };\n  userData = this._nullUser;\n\n  private _authChanged: BehaviorSubject<any> = new BehaviorSubject<any>({});\n  authChanged$ = this._authChanged.asObservable();\n\n  constructor(private _af: AngularFire,\n              private _pb: PathBuilderService,\n              private _router: Router) {\n    this._af.auth.subscribe(x => {\n      if (x) {\n        // console.log(\"logged in\", x);\n        this.userData = {\n          userId: x.uid,\n          userPicture: x.google.photoURL,\n          displayName: x.google.displayName,\n          email: x.google.email\n        };\n\n        let p = _pb.buildUserPath(this.userData.userId);\n        this._af.database.object(p).update(this.userData);\n      } else {\n        // console.log(\"not logged in\", x);\n        this.userData = this._nullUser;\n      };\n      this._authChanged.next(this.userData);\n    });\n }\n\n  login() {\n    this._af.auth.login({\n      provider: AuthProviders.Google,\n      method: AuthMethods.Popup\n    });\n  }\n\n  logout() {\n    this._af.auth.logout();\n    this._router.navigate(['/']);\n  }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/auth/auth.service.ts","import { Component, OnInit } from '@angular/core';\n\nimport { AuthService } from './auth/auth.service';\nimport { UsersService } from './users/users.service';\n\n@Component({\n  selector: 'app-root',\n  templateUrl: './app.component.html',\n  styleUrls: ['./app.component.css'],\n  providers: [UsersService]\n})\nexport class AppComponent implements OnInit {\n  title = 'FireList';\n\n  constructor(private _auth: AuthService,\n              private _users: UsersService) { }\n\n  ngOnInit() {\n  }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/app.component.ts","import { BrowserModule } from '@angular/platform-browser';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { HttpModule } from '@angular/http';\nimport { AngularFireModule } from 'angularfire2';\nimport { AlertModule } from 'ng2-bootstrap/alert';\n\nimport { AppComponent } from './app.component';\nimport { AuthService } from './auth/auth.service';\nimport { AuthModule } from './auth/auth.module';\nimport { routing } from './app.routing';\nimport { mainRouting } from './main/main.routing';\nimport { MainModule } from './main/main.module';\nimport { NavComponent } from './nav/nav.component';\nimport { HomeComponent } from './home/home.component';\nimport { NotFoundComponent } from './not-found.component';\nimport { UserIsLoggedInGuard } from './shared/userloggedinguard.service';\nimport { ScreenSizeService } from './shared/screen-size.service';\nimport { FirebaseSecrets } from './firebase-secrets';\n\n\n@NgModule({\n  declarations: [\n    AppComponent,\n    NavComponent,\n    HomeComponent,\n    NotFoundComponent\n  ],\n  imports: [\n    BrowserModule,\n    FormsModule,\n    HttpModule,\n    AngularFireModule.initializeApp(FirebaseSecrets.firebaseConfig),\n    AuthModule,\n    MainModule,\n    mainRouting,\n    routing\n  ],\n  providers: [ AuthService,\n               UserIsLoggedInGuard,\n               ScreenSizeService ],\n  bootstrap: [AppComponent]\n})\nexport class AppModule { }\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/app.module.ts","\nimport { Router, RouterModule } from '@angular/router';\n\nimport {HomeComponent} from './home/home.component';\nimport {NotFoundComponent} from './not-found.component';\n\nexport const routing = RouterModule.forRoot([\n  { path: '', redirectTo: '/home', pathMatch: 'full' },\n  { path: 'home', component: HomeComponent },\n  { path: '**', component: NotFoundComponent }\n]);\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/app.routing.ts","import { Component,\n         OnInit,\n         EventEmitter } from '@angular/core';\nimport { AngularFire,\n         AuthProviders,\n         AuthMethods,\n         FirebaseListObservable,\n         FirebaseObjectObservable } from 'angularfire2';\n\nimport { AuthService } from './auth.service';\n\n@Component({\n  selector: 'app-auth',\n  templateUrl: './auth.component.html',\n  styleUrls: ['./auth.component.css']\n})\nexport class AuthComponent implements OnInit {\n\n  userData = null;\n\n  constructor(public auth: AuthService) { }\n\n  ngOnInit() {\n    this.auth.authChanged$.subscribe(x => this.userData = x);\n  }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/auth/auth.component.ts","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { AuthService } from './auth.service';\nimport { AuthComponent } from './auth.component';\n\n@NgModule({\n  imports: [\n    CommonModule\n  ],\n  providers: [ ],\n  declarations: [\n    AuthComponent\n  ],\n  exports: [\n    AuthComponent\n  ]\n})\nexport class AuthModule { }\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/auth/auth.module.ts","export class FirebaseSecrets {\n  static firebaseConfig = {\n      apiKey: 'AIzaSyAMd7WvZSQDha7aqwPMIY_RJaW_SjM_Cz4',\n      authDomain: 'firetodo-7a135.firebaseapp.com',\n      databaseURL: 'https://firetodo-7a135.firebaseio.com',\n      storageBucket: 'firetodo-7a135.appspot.com',\n      messagingSenderId: '292064679986'\n    };\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/firebase-secrets.ts","import { Component, OnInit, Input } from '@angular/core';\nimport { Router, ActivatedRoute, Params } from '@angular/router';\n\nimport { ItemsService } from './items.service';\nimport { ListsService } from '../lists/lists.service';\n\n@Component({\n  selector: 'app-items',\n  templateUrl: './items.component.html',\n  styleUrls: ['./items.component.css']\n})\nexport class ItemsComponent implements OnInit {\n\n  @Input() activeList = null;\n  @Input() activeListKey = null;\n\n  archiveOpen = null;\n\n  constructor(public items: ItemsService,\n              public lists: ListsService,\n              public activedRoute: ActivatedRoute ) {\n  }\n\n  ngOnInit() {\n    console.log('items, activelist', this.activeList);\n  }\n\n  getMenuObject(listKey, itemKey) {\n    return [\n    {\n      label: 'Archive',\n      action: {\n        func: this.items.archive,\n        context: this.items,\n        args: [listKey, itemKey]\n      }\n    },\n    {\n      label: 'Delete',\n      action: {\n        func: this.items.delete,\n        context: this.items,\n        args: [listKey, itemKey]\n      }\n    }];\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/main/items/items.component.ts","import { Component, OnInit, Input } from '@angular/core';\n\nimport { ScreenSizeService } from '../../../shared/screen-size.service';\nimport { ItemsService } from '../../items/items.service';\n\n@Component({\n  selector: 'app-list-details',\n  templateUrl: './details.component.html',\n  styleUrls: ['./details.component.css']\n})\nexport class DetailsComponent implements OnInit {\n\n  @Input() activeList = null;\n  @Input() activeListKey = null;\n  @Input() creatorId: string = null;\n\n    constructor( public items: ItemsService,\n                 public sizeService: ScreenSizeService) { }\n\n  ngOnInit() {\n  }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/main/lists/details/details.component.ts","import { Component, OnInit, Input } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { FirebaseListObservable } from 'angularfire2';\n\nimport { ListsService, List } from '../lists.service';\nimport { ScreenSizeService } from '../../../shared/screen-size.service';\nimport { ItemsService } from '../../items/items.service';\nimport { Modal } from 'angular2-modal/plugins/bootstrap';\n\nimport 'rxjs/add/operator/delay';\n\ndeclare let $:any;\n\n@Component({\n  selector: 'app-list-manage',\n  templateUrl: './manage.component.html',\n  styleUrls: ['./manage.component.css']\n})\nexport class ManageListComponent implements OnInit {\n\n  @Input() activeList: FirebaseListObservable<List> = null;\n  @Input() activeListKey: string = null;\n  @Input() creatorId: string = null;\n\n  constructor( public items: ItemsService,\n               public lists: ListsService,\n               public sizeService: ScreenSizeService,\n               private _modal: Modal,\n               private _router: Router ) { }\n\n  ngOnInit() { }\n\n  renameList(newName) {\n    this.lists.rename(this.activeListKey, newName);\n  }\n\n  removeAccess(userKey) {\n    console.log(\"remove\", userKey, this.activeListKey);\n    this.lists.removeAccess(userKey, this.activeListKey);\n  }\n\n  deleteItem(itemKey) {\n    this.confirmDeletion().then(resultPromise => {\n      resultPromise.result.then( result => {\n        this.items.delete(this.activeListKey, itemKey)\n      }, () => void(0) );\n    });\n  }\n\n  deleteList() {\n    this.confirmDeletion().then(resultPromise => {\n      resultPromise.result.then( result => {\n        this.lists.delete(this.activeList);\n        this._router.navigate(['/lists']);\n      }, () => void(0) );\n    });\n  }\n\n  confirmDeletion() {\n    return this._modal.confirm()\n      .size('sm')\n      .showClose(true)\n      .title('Confirm Deletion')\n      .body('This action cannot be undone')\n      .open()\n\n  }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/main/lists/manage/manage.component.ts","import { Component,\n         OnInit } from '@angular/core';\n\nimport { ListsService } from './lists.service';\n\n@Component({\n  selector: 'app-lists-minimal, .app-lists-minimal',\n  template: `\n    <ng-container>\n      <li role=\"button\" *ngFor=\"let l of _lists.usersListsChanged$ | async\" [routerLink] = \"['/lists', l.$key]\">\n        <a class=\"hand\">\n          {{ l.name }}\n        </a>\n      </li>\n    </ng-container>\n  `\n})\nexport class MinimalListsComponent implements OnInit {\n\n  constructor(private _lists: ListsService) { }\n\n  ngOnInit() {\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/main/lists/minimal-lists.component.ts","import { Component, OnInit } from '@angular/core';\n\nimport { ListsService } from './lists.service';\n\n@Component({\n  selector: 'app-list-new',\n  template: `\n            <div class='input-group'>\n              <input class='form-control' #id type=\"text\" name=\"\" value=\"\" placeholder='New list name...'>\n              <div class='input-group-btn'>\n                <button class='btn btn-default'\n                        (click)=\"lists.newList(id.value);id.value='';\"\n                        data-toggle=\"collapse\"\n                        data-target=\"#lists\">\n                  <span class='glyphicon glyphicon-ok'></span>\n                </button>\n              </div>\n            </div>\n          `\n})\nexport class NewListComponent implements OnInit {\n\n  constructor(public lists: ListsService) { }\n\n  ngOnInit() {\n  }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/main/lists/new-list.component.ts","import { BrowserModule } from '@angular/platform-browser';\nimport { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AngularFire } from 'angularfire2';\nimport { RouterModule } from '@angular/router';\n\nimport { AuthService } from '../auth/auth.service';\nimport { ItemsComponent } from './items/items.component';\nimport { ListsComponent } from './lists/lists.component';\nimport { MinimalListsComponent } from './lists/minimal-lists.component';\nimport { NewListComponent } from './lists/new-list.component';\nimport { MainViewComponent } from './main-view.component';\nimport { ItemsService } from './items/items.service';\nimport { ListsService } from './lists/lists.service';\nimport { PathBuilderService } from '../shared/pathbuilder.service';\nimport { GearMenuComponent } from '../shared/gearmenu.component';\nimport { UsersService } from '../users/users.service';\n\nimport { ModalModule } from 'angular2-modal';\nimport { BootstrapModalModule } from 'angular2-modal/plugins/bootstrap';\nimport { ManageListComponent } from './lists/manage/manage.component';\nimport { DetailsComponent } from './lists/details/details.component';\n\n@NgModule({\n  imports: [\n    RouterModule,\n    CommonModule,\n    ModalModule.forRoot(),\n    BootstrapModalModule\n  ],\n  declarations: [\n    ItemsComponent,\n    ListsComponent,\n    MinimalListsComponent,\n    NewListComponent,\n    MainViewComponent,\n    GearMenuComponent,\n    ManageListComponent,\n    DetailsComponent\n  ],\n  exports: [\n    ItemsComponent,\n    MinimalListsComponent,\n    NewListComponent,\n    MainViewComponent,\n  ],\n  providers: [\n    AuthService,\n    ListsService,\n    ItemsService,\n    AngularFire,\n    PathBuilderService,\n    UsersService\n  ]\n})\nexport class MainModule { }\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/main/main.module.ts","\nimport { Router, RouterModule } from '@angular/router';\n\nimport { MainViewComponent} from './main-view.component';\nimport { ListsComponent} from './lists/lists.component';\nimport { ManageListComponent} from './lists/manage/manage.component';\nimport { UserIsLoggedInGuard } from '../shared/userloggedinguard.service';\n\nexport const mainRouting = RouterModule.forChild([\n  { path: 'lists', component: ListsComponent },\n  { path: 'lists/:listKey', component: MainViewComponent },\n  { path: 'lists/:listKey/manage', component: MainViewComponent },\n  { path: 'lists/:listKey/details', component: MainViewComponent }\n]);\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/main/main.routing.ts","import { Component, OnInit } from '@angular/core';\n\nimport { AuthService } from '../auth/auth.service';\nimport { ScreenSizeService }  from '../shared/screen-size.service';\n\n@Component({\n  selector: 'app-nav',\n  templateUrl: './nav.component.html',\n  styleUrls: ['./nav.component.css']\n})\nexport class NavComponent implements OnInit {\n\n  constructor(public auth: AuthService,\n              public sizeService: ScreenSizeService ) { }\n\n  ngOnInit() {\n  }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/nav/nav.component.ts","import { Component,\n         OnInit,\n         OnDestroy,\n         Input } from '@angular/core';\n\ndeclare let $: any;\n\n@Component({\n  selector: 'app-gear-menu',\n  template: `\n    <span class='dropdown'>\n      <a aria-haspopup='true'\n          class='dropdown-toggle'\n          role='button'\n          (click)='showMenu($event)'>\n        <span class='glyphicon glyphicon-cog'></span>\n      </a>\n      <ul class='dropdown-menu gear-menu'>\n        <li [attr.data-toggle]='i.data_toggle ? i.data_toggle : \"\"'\n            [attr.data-target]='i.data_target ? i.data_target : \"\"'\n            (click)='performAction(i.action);'\n            *ngFor='let i of menuData' role='button'>\n          <a>\n            {{ i.label }}\n          </a>\n        </li>\n      </ul>\n  </span>`,\n  styles: [`\n    .edge {\n      right: 0px;\n    }`]\n})\nexport class GearMenuComponent implements OnInit, OnDestroy {\n  @Input() menuData = null;\n\n  constructor() { }\n\n  ngOnInit() {\n    $('html').click(function(e) {\n      $('.gear-menu').each(function() {\n        let m = $(this);\n        if (m.is(':visible')) {\n          m.hide();\n        }\n      });\n    });\n  }\n\n  ngOnDestroy() {\n    $('html').off('click');\n  }\n\n  showMenu(event) {\n    event.stopImmediatePropagation();\n    let menu = $(event.target).parent().parent().children('ul');\n\n    if (menu.is(':visible')) {\n      menu.hide();\n      return;\n    }\n    menu.show();\n\n    let left = event.clientX;\n    let width = menu.width();\n    let gearIconWidth = $(event.target).width();\n    let offset = -width + gearIconWidth;\n    let docWidth = $('.container').width();\n\n    let isEntirelyVisible = (left + width <= docWidth);\n\n    if (!isEntirelyVisible) {\n      menu.css({left: offset + 'px'});\n    } else {\n      menu.css({left: '0px'});\n    }\n  }\n\n  performAction(action) {\n    if (!action) { return; }\n    action.func.apply(action.context, action.args);\n  }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/shared/gearmenu.component.ts","import { Injectable } from '@angular/core';\nimport { Router,\n         CanActivate,\n         ActivatedRouteSnapshot,\n         RouterStateSnapshot } from '@angular/router';\nimport { Observable } from 'rxjs/Observable';\n\nimport { AuthService } from '../auth/auth.service';\n\n@Injectable()\nexport class UserIsLoggedInGuard implements CanActivate {\n\n  constructor(private _router: Router,\n              private _auth: AuthService) {}\n\n  canActivate() {\n    if (!this._auth.userData) { return false; }\n\n    return this._auth.userData.userId != null;\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/shared/userloggedinguard.service.ts","// The file contents for the current environment will overwrite these during build.\n// The build system defaults to the dev environment which uses `environment.ts`, but if you do\n// `ng build --env=prod` then `environment.prod.ts` will be used instead.\n// The list of which env maps to which file can be found in `angular-cli.json`.\n\nexport const environment = {\n  production: false\n};\n\n\n\n// WEBPACK FOOTER //\n// ./src/environments/environment.ts","// This file includes polyfills needed by Angular 2 and is loaded before\n// the app. You can add your own extra polyfills to this file.\nimport 'core-js/es6/symbol';\nimport 'core-js/es6/object';\nimport 'core-js/es6/function';\nimport 'core-js/es6/parse-int';\nimport 'core-js/es6/parse-float';\nimport 'core-js/es6/number';\nimport 'core-js/es6/math';\nimport 'core-js/es6/string';\nimport 'core-js/es6/date';\nimport 'core-js/es6/array';\nimport 'core-js/es6/regexp';\nimport 'core-js/es6/map';\nimport 'core-js/es6/set';\nimport 'core-js/es6/reflect';\n\nimport 'core-js/es7/reflect';\nimport 'zone.js/dist/zone';\n\n\n\n// WEBPACK FOOTER //\n// ./src/polyfills.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/auth/auth.component.css\n// module id = 784\n// module chunks = 0","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/main/items/items.component.css\n// module id = 785\n// module chunks = 0","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/main/lists/details/details.component.css\n// module id = 786\n// module chunks = 0","module.exports = \"li:hover {\\n  background-color: #f5f5f5;\\n}\\n\\n.active, .active:hover {\\n  background-color: #f5f5f5;\\n  border-color: #ddd;\\n}\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/main/lists/lists.component.css\n// module id = 787\n// module chunks = 0","module.exports = \"hr {\\n\\t/*height: 10px;\\n\\tborder: 0;\\n\\tbox-shadow: 0 10px 10px -10px #8c8b8b inset;*/\\n\\n\\tborder-top: 1px solid #8c8b8b;\\n\\tborder-bottom: 1px solid #fff;\\n}\\n\\n/*hr:after {\\n\\tcontent: '';\\n\\tdisplay: block;\\n\\tmargin-top: 2px;\\n\\tborder-top: 1px solid #8c8b8b;\\n\\tborder-bottom: 1px solid #fff;\\n}*/\\n\\n.text-center {\\n   text-align:center\\n}\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/main/lists/manage/manage.component.css\n// module id = 788\n// module chunks = 0","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/nav/nav.component.css\n// module id = 789\n// module chunks = 0","module.exports = \"<app-nav></app-nav>\\n\\n<div class='container'>\\n  <router-outlet></router-outlet>\\n</div>\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/app.component.html\n// module id = 790\n// module chunks = 0","module.exports = \"<ul class=\\\"nav navbar-nav\\\">\\n  <li *ngIf=\\\"!userData.userId\\\">\\n    <a href=\\\"#\\\" (click)=\\\"auth.login()\\\">\\n      Login\\n    </a>\\n  </li>\\n  <li *ngIf=\\\"userData.userId\\\" (click)=\\\"auth.logout()\\\">\\n    <!-- <img class=\\\"profileImage navbar-right\\\" *ngIf=\\\"_userData.userId\\\" [src]=\\\"_userData.userPicture\\\" /> -->\\n    <a>\\n      Logout\\n    </a>\\n  </li>\\n</ul>\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/auth/auth.component.html\n// module id = 791\n// module chunks = 0","module.exports = \"\\n<div class=\\\"row\\\">\\n  <div class=\\\"jumbotron\\\">\\n    <div *ngIf=\\\"((auth.authChanged$ | async)?.userId)\\\">\\n      <h2>Logged in as {{ auth.userData.displayName }}</h2>\\n      <h4>View your <a routerLink='/lists'>lists</a></h4>\\n    </div>\\n    <div *ngIf=\\\"!((auth.authChanged$ | async)?.userId)\\\">\\n      <h2>FireList</h2>\\n      <h4>A firebase backed todo list.</h4>\\n      <p>\\n      <h5>You need to login to use this service</h5>\\n      <p><button class=\\\"btn btn-default\\\" (click)='auth.login()'>Log in using Google</button>\\n    </div>\\n  </div>\\n</div>\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/home/home.component.html\n// module id = 792\n// module chunks = 0","module.exports = \"<div class=\\\"jumbotron\\\" *ngIf=\\\"!activeList\\\">\\n  <h3>Select an available list or create a new one</h3>\\n  <app-list-new></app-list-new>\\n</div>\\n\\n<div class=\\\"panel panel-default\\\" *ngIf=\\\"activeList\\\">\\n  <div class=\\\"panel-heading\\\">\\n    <h3 class=\\\"panel-title\\\">Items</h3>\\n  </div>\\n  <div class=\\\"panel-body\\\">\\n    <div class=\\\"jumbotron\\\" *ngIf=\\\"((activeList | async)?.items | async)?.length === 0\\\">\\n      This list is empty.  Add items using the field below.\\n    </div>\\n    <ul class=\\\"list-group\\\">\\n      <li class='list-group-item'\\n          *ngFor=\\\"let i of (activeList | async)?.items | async\\\"\\n          role=\\\"button\\\">\\n        <div class='pull-right gearMenu'>\\n          <a><span class=\\\"fa fa-archive\\\" (click)=\\\"items.archive(activeListKey, i.$key)\\\"></span></a>\\n        </div>\\n        <div class=\\\"listEntry\\\">\\n          <div class=\\\"row\\\">\\n            <div class='col-xs-12'\\n                role=\\\"button\\\"\\n                (click)=\\\"items.toggleCompletionState(activeListKey, i.$key, !i.complete)\\\">\\n              <input class=\\\"\\\" type=\\\"checkbox\\\" [checked]=\\\"i.complete\\\">\\n              {{ i.name }}\\n            </div>\\n          </div>\\n        </div>\\n      </li>\\n    </ul>\\n    <div class='input-group'>\\n      <input #newListItem type=\\\"text\\\" class=\\\"form-control\\\" placeholder='Add to list...'>\\n      <span class='input-group-btn'>\\n        <button class=\\\"btn btn-success\\\" (click)=\\\"items.addToList(activeListKey, newListItem.value);newListItem.value='';\\\">\\n          <span class='glyphicon glyphicon-ok'></span>\\n        </button>\\n      </span>\\n    </div>\\n  </div>\\n</div>\\n\\n<div *ngIf=\\\"((activeList | async)?.archive | async)?.length > 0\\\" class=\\\"panel panel-default\\\">\\n  <div class=\\\"panel-heading\\\">\\n    <h3 class=\\\"panel-title\\\"\\n       data-toggle=\\\"collapse\\\"\\n       data-target=\\\"#archivedItems\\\"\\n       (click)=\\\"archiveOpen=!archiveOpen\\\">\\n      <span\\n        class=\\\"pull-right glyphicon\\\"\\n        [ngClass]=\\\"{'glyphicon-plus-sign' : !archiveOpen, 'glyphicon-minus-sign' : archiveOpen}\\\">\\n      </span>\\n      Archive\\n    </h3>\\n  </div>\\n  <div class=\\\"panel-body collapse\\\" id=\\\"archivedItems\\\">\\n    <p>Click an item to restore</p>\\n    <button *ngFor=\\\"let a of (activeList | async)?.archive | async\\\" class=\\\"btn btn-default\\\" (click)=\\\"items.restore(activeListKey, a.$key)\\\">\\n      {{ a.name }}\\n    </button>\\n  </div>\\n</div>\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/main/items/items.component.html\n// module id = 793\n// module chunks = 0","module.exports = \"<div class='panel panel-default'>\\n  <div class='panel-heading'>\\n    <h3 class='panel-title'>List Information</h3>\\n  </div>\\n  <div class='panel-body'>\\n    <h4>{{ (activeList | async)?.name }}</h4>\\n    <div class='row'>\\n      <div class='col-sm-12'>\\n        <h4>Users with access</h4>\\n        <div *ngFor='let u of (activeList | async)?.usersWithAccess | async'>\\n          {{ u.displayName }}\\n          <span *ngIf='creatorId === u.$key'>(List owner)</span>\\n        </div>\\n      </div>\\n    </div>\\n    <hr>\\n  </div>\\n</div>\\n\\n<div class='panel panel-default' *ngIf='activeList'>\\n  <div class='panel-heading'>\\n    <h3 class='panel-title'>Items</h3>\\n  </div>\\n  <div class='panel-body'>\\n    <div class='jumbotron' *ngIf='((activeList | async)?.items | async)?.length === 0'>\\n      This list is empty.\\n    </div>\\n    <ul class='list-group'>\\n      <li class='list-group-item'\\n          *ngFor='let i of (activeList | async)?.items | async'>\\n        <div class='row'>\\n          <div class='col-sm-9 col-lg-10'>\\n            <input class='form-control' #name [value]='i.name'>\\n          </div>\\n          <div class='col-sm-3 col-lg-2 text-center pull-right'>\\n            <button class='btn btn-success' (click)='items.rename(activeListKey, i.$key, name.value)'>\\n              <span class='glyphicon glyphicon-ok'></span>\\n            </button>\\n          </div>\\n        </div>\\n      </li>\\n    </ul>\\n  </div>\\n</div>\\n\\n<div *ngIf='((activeList | async)?.archive | async)?.length > 0' class='panel panel-default'>\\n  <div class='panel-heading'>\\n    <h3 class='panel-title'>\\n      Archive\\n    </h3>\\n  </div>\\n  <div class='panel-body' id='archivedItems'>\\n    <p>Click an item to restore</p>\\n    <button *ngFor='let a of (activeList | async).archive | async' class='btn btn-default' (click)='items.restore(activeListKey, a.$key)'>\\n      {{ a.name }}\\n    </button>\\n  </div>\\n</div>\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/main/lists/details/details.component.html\n// module id = 794\n// module chunks = 0","module.exports = \"<div class=\\\"panel panel-default\\\">\\n  <div class=\\\"panel-heading\\\">\\n    <h3 class=\\\"panel-title\\\">Available Lists</h3>\\n  </div>\\n  <div id=\\\"available-lists\\\" class=\\\"panel-body\\\">\\n    <div class=\\\"jumbotron\\\" *ngIf=\\\"(lists.usersListsChanged$ | async)?.length === 0\\\">\\n      You have no lists yet.  Create one using the field below.\\n    </div>\\n    <ul class='list-group' id='listItems'>\\n      <li *ngFor=\\\"let l of lists.usersListsChanged$ | async\\\"\\n          [class.active]=\\\"l.$key === lists.activeListKey\\\"\\n          class='list-group-item'>\\n        <div class=\\\"row\\\">\\n          <div class=\\\"col-xs-12\\\"\\n              data-target=\\\"#lists\\\"\\n              [attr.data-toggle]=\\\"sizeService.screenIsPhoneSized && (_route.params | async)['listKey'] ? 'collapse' : ''\\\"\\n              (click)=\\\"router.navigate(['/lists', l.$key])\\\"\\n              role=\\\"button\\\">\\n            {{ l.name === \\\"\\\" ? \\\"[no name]\\\" : l.name }}\\n          </div>\\n        </div>\\n      </li>\\n    </ul>\\n    <app-list-new></app-list-new>\\n  </div>\\n</div>\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/main/lists/lists.component.html\n// module id = 795\n// module chunks = 0","module.exports = \"<div class='panel panel-default'>\\n  <div class='panel-heading'>\\n    <h3 class='panel-title'>List operations</h3>\\n  </div>\\n  <div class='panel-body'>\\n    <h4>Rename</h4>\\n    <div class='row'>\\n      <div class='col-xs-12'>\\n        <div class='input-group'>\\n          <input #listName type=text class='form-control' [value]='(activeList | async)?.name'>\\n          <span class=\\\"input-group-btn\\\">\\n            <button class='btn btn-success' (click)='renameList(listName.value)'>\\n              <span class='glyphicon glyphicon-ok'></span>\\n            </button>\\n          </span>\\n        </div>\\n      </div>\\n    </div>\\n    <hr>\\n    <div class='row'>\\n      <div class='col-sm-6'>\\n        <h4>Users with access</h4>\\n        <div *ngFor='let u of (activeList | async)?.usersWithAccess | async'>\\n          <span *ngIf='creatorId != u.$key' role='button' (click)='removeAccess(u.$key)'>\\n            <span class='glyphicon glyphicon-remove-sign'></span>\\n            {{ u.displayName }}\\n          </span>\\n        </div>\\n        <hr *ngIf='sizeService.screenIsPhoneSized'>\\n      </div>\\n      <div class='col-sm-6'>\\n        <h4>Share list</h4>\\n        <div class='input-group'>\\n          <input type='text' class='form-control' placeholder='Recipients email...' #shareEmail>\\n          <span class=\\\"input-group-btn\\\">\\n            <button class='btn btn-default' (click)='lists.share(shareEmail.value, activeListKey)'>Share</button>\\n          </span>\\n        </div>\\n      </div>\\n    </div>\\n    <hr>\\n    <div class='row'>\\n      <div class='col-sm-12'>\\n        <button type='button' class='btn btn-danger pull-right' (click)='deleteList()'>Delete List</button>\\n      </div>\\n    </div>\\n  </div>\\n</div>\\n\\n<div class='panel panel-default' *ngIf='activeList'>\\n  <div class='panel-heading'>\\n    <h3 class='panel-title'>Items</h3>\\n  </div>\\n  <div class='panel-body'>\\n    <div class='jumbotron' *ngIf='((activeList | async)?.items | async)?.length === 0'>\\n      This list is empty.\\n    </div>\\n    <ul class='list-group'>\\n      <li class='list-group-item'\\n          *ngFor='let i of (activeList | async)?.items | async'>\\n        <div class='row'>\\n          <div class='col-xs-12'>\\n            <div class='input-group'>\\n              <input class='form-control' #name [value]='i.name'>\\n              <span class=\\\"input-group-btn\\\">\\n                <button class='btn btn-success' type='button' (click)='items.rename(activeListKey, i.$key, name.value)'>\\n                  <span class='glyphicon glyphicon-ok'></span>\\n                </button>\\n                <button class='btn btn-danger' type='button' (click)='deleteItem(i.$key)'>\\n                  <span class='glyphicon glyphicon-trash'></span>\\n                </button>\\n              </span>\\n            </div>\\n          </div>\\n        </div>\\n      </li>\\n    </ul>\\n  </div>\\n</div>\\n\\n<div *ngIf='((activeList | async)?.archive | async)?.length > 0' class='panel panel-default'>\\n  <div class='panel-heading'>\\n    <h3 class='panel-title'>\\n      Archive\\n    </h3>\\n  </div>\\n  <div class='panel-body' id='archivedItems'>\\n    <p>Click an item to restore</p>\\n    <button *ngFor='let a of (activeList | async).archive | async' class='btn btn-default' (click)='items.restore(activeListKey, a.$key)'>\\n      {{ a.name }}\\n    </button>\\n  </div>\\n</div>\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/main/lists/manage/manage.component.html\n// module id = 796\n// module chunks = 0","module.exports = \"<div class=\\\"col-sm-3\\\">\\n  <div class=\\\"row\\\">\\n    <div class=\\\"panel-group\\\" id=\\\"accordion\\\" role=\\\"tablist\\\" aria-multiselectable=\\\"true\\\">\\n      <div class=\\\"panel\\\">\\n        <div class=\\\"col-md-12 visible-xs\\\">\\n          <p>\\n            <button data-parent=\\\"#accordion\\\"\\n                    class=\\\"btn btn-primary btn-lg btn-block visible-xs\\\"\\n                    type=\\\"button\\\"\\n                    data-toggle=\\\"collapse\\\"\\n                    data-target=\\\"#lists\\\"\\n                    aria-expanded=\\\"false\\\"\\n                    aria-controls=\\\"lists\\\">\\n              Show Available Lists\\n            </button>\\n          </p>\\n        </div>\\n        <div class=\\\"col-xs-12 \\\" id=\\\"lists\\\" [class.collapse]=\\\"sizeService.screenIsPhoneSized\\\">\\n          <app-lists></app-lists>\\n        </div>\\n      </div>\\n    </div>\\n  </div>\\n</div>\\n<div class=\\\"col-sm-9\\\">\\n  <h2>{{ (activeList | async)?.name }} </h2>\\n  <ul class=\\\"nav nav-tabs\\\">\\n    <li role=\\\"presentation\\\" [class.active]=\\\"isActive(['/lists', (activatedRoute.params | async)['listKey']])\\\">\\n      <a [routerLink]=\\\"['/lists', (activatedRoute.params | async)['listKey']]\\\">Items</a>\\n    </li>\\n    <li *ngIf=\\\"(activeList | async)?.userIsOwner\\\" role=\\\"presentation\\\" routerLinkActive=\\\"active\\\" [routerLinkActiveOptions]=\\\"{exact:true}\\\">\\n      <a [routerLink]=\\\"['/lists', (activatedRoute.params | async)['listKey'], 'manage']\\\">Manage</a>\\n    </li>\\n    <li *ngIf=\\\"!(activeList | async)?.userIsOwner\\\" role=\\\"presentation\\\" routerLinkActive=\\\"active\\\" [routerLinkActiveOptions]=\\\"{exact:true}\\\">\\n      <a [routerLink]=\\\"['/lists', (activatedRoute.params | async)['listKey'], 'details']\\\">Details</a>\\n    </li>\\n  </ul>\\n  <app-items\\n    *ngIf=\\\"activeView === 'items'\\\"\\n    [activeList]=\\\"activeList\\\"\\n    [activeListKey]=\\\"activeListKey\\\"></app-items>\\n  <app-list-manage\\n    *ngIf=\\\"activeView === 'manage'\\\"\\n    [activeList]=\\\"activeList\\\"\\n    [activeListKey]=\\\"activeListKey\\\"\\n    [creatorId]=\\\"(activeList | async)?.creatorId\\\"></app-list-manage>\\n  <app-list-details\\n    *ngIf=\\\"activeView === 'details'\\\"\\n    [activeList]=\\\"activeList\\\"\\n    [activeListKey]=\\\"activeListKey\\\"\\n    [creatorId]=\\\"(activeList | async)?.creatorId\\\"></app-list-details>\\n</div>\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/main/main-view.component.html\n// module id = 797\n// module chunks = 0","module.exports = \"<nav class=\\\"navbar navbar-default\\\">\\n  <div class=\\\"container-fluid\\\">\\n    <!-- Brand and toggle get grouped for better mobile display -->\\n    <div class=\\\"navbar-header\\\">\\n      <button type=\\\"button\\\" class=\\\"navbar-toggle collapsed\\\" data-toggle=\\\"collapse\\\" data-target=\\\"#bs-example-navbar-collapse-1\\\" aria-expanded=\\\"false\\\">\\n        <span class=\\\"sr-only\\\">Toggle navigation</span>\\n        <span class=\\\"icon-bar\\\"></span>\\n        <span class=\\\"icon-bar\\\"></span>\\n        <span class=\\\"icon-bar\\\"></span>\\n      </button>\\n      <a class=\\\"navbar-brand\\\" routerLink=''>FireList</a>\\n    </div>\\n\\n    <!-- Collect the nav links, forms, and other content for toggling -->\\n    <div class=\\\"collapse navbar-collapse\\\"\\n         [attr.data-toggle]=\\\"sizeService.screenIsPhoneSized ? 'collapse' : ''\\\"\\n         data-target=\\\".navbar-collapse\\\"\\n         id=\\\"bs-example-navbar-collapse-1\\\">\\n      <ul class=\\\"nav navbar-nav\\\">\\n        <li routerLinkActive='active'><a routerLink='home'>Home</a></li>\\n        <li routerLinkActive='active' [class.disabled]=\\\"auth.userData.userId == null\\\"><a routerLink='/lists'>Lists</a></li>\\n        <li class=\\\"dropdown\\\">\\n          <a href=\\\"#\\\"\\n             class=\\\"dropdown-toggle\\\"\\n             data-toggle=\\\"dropdown\\\"\\n             role=\\\"button\\\"\\n             aria-haspopup=\\\"true\\\"\\n             aria-expanded=\\\"false\\\">\\n             Your Lists<span class=\\\"caret\\\"></span>\\n          </a>\\n          <ul class=\\\"dropdown-menu app-lists-minimal\\\"></ul>\\n        </li>\\n      </ul>\\n      <!-- <form class=\\\"navbar-form navbar-left\\\">\\n        <input type=\\\"text\\\" class=\\\"form-control\\\" placeholder=\\\"Search\\\">\\n        <button type=\\\"submit\\\" class=\\\"btn btn-default\\\">Submit</button>\\n      </form> -->\\n      <form class='navbar-right'>\\n        <app-auth></app-auth>\\n      </form>\\n    </div><!-- /.navbar-collapse -->\\n  </div><!-- /.container-fluid -->\\n</nav>\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/nav/nav.component.html\n// module id = 798\n// module chunks = 0","import { Injectable,\n         EventEmitter } from '@angular/core';\nimport { AngularFire,\n         AuthProviders,\n         AuthMethods,\n         FirebaseListObservable,\n         FirebaseObjectObservable } from 'angularfire2';\nimport { Router } from '@angular/router';\nimport { Observable} from 'rxjs/Observable';\nimport { BehaviorSubject } from 'rxjs/rx';\nimport { Subject } from 'rxjs/Subject';\n\nimport 'rxjs/add/operator/share';\nimport 'rxjs/add/operator/take';\nimport 'rxjs/add/operator/map';\nimport 'rxjs/add/operator/delay';\n\nimport { AuthService } from '../../auth/auth.service';\nimport { PathBuilderService } from '../../shared/pathbuilder.service';\nimport { ItemsService } from '../items/items.service';\nimport { UsersService } from '../../users/users.service';\n\nexport class List {\n  $key: string;\n  name: string;\n  creatorId: string;\n  dateCreated: string;\n  userIsOwner: boolean;\n  usersWithAccess: FirebaseListObservable<any>;\n  items: FirebaseListObservable<any>;\n  archive: FirebaseListObservable<any>;\n  creatorName: string;\n}\n\n@Injectable()\nexport class ListsService {\n\n  private _listsSubscription;\n  private _activeListSubscription;\n  private _usersLists: BehaviorSubject<any> = new BehaviorSubject<any>('');\n  private _listChanged: BehaviorSubject<any> = new BehaviorSubject<any>('');\n\n  usersListsChanged$ = this._usersLists.asObservable();\n  activeListChanged$ = this._listChanged.asObservable();\n\n  activeListKey = null;\n\n  constructor(private _auth: AuthService,\n              private _af: AngularFire,\n              private _pb: PathBuilderService,\n              private _items: ItemsService,\n              private _users: UsersService,\n              private _router: Router) {\n\n    _auth.authChanged$.subscribe(x => {\n      // if user is logged in\n      if (x.userId) {\n        let userListPath = this._pb.buildUserListsPath(x.userId);\n        this._listsSubscription = this._af.database.list(userListPath)\n          .map(lists => {\n            lists.map(list => {\n              this._fillListDetails(list);\n            });\n            console.log('inside map', lists);\n            return lists;\n          }).subscribe(y => { console.log('emitting', y); this._usersLists.next(y); });\n      } else {\n        if (this._listsSubscription) { this._listsSubscription.unsubscribe(); };\n        if (this._activeListSubscription) { this._activeListSubscription.unsubscribe(); };\n        this._usersLists.next([]);\n        this._listChanged.next([]);\n      }\n    });\n  }\n\n  private _fillListDetails(list: List) {\n    let path = this._pb.buildListPath(list.$key);\n    this._af.database.object(path).subscribe(y => {\n      list.name = y.name;\n      list.creatorId = y.creator;\n      list.dateCreated = y.dateCreated;\n      list.userIsOwner = y.creator === this._auth.userData.userId;\n      this.getUsersWithListAccess(list);\n      this._af.database.object(this._pb.buildUserPath(y.creator))\n        .subscribe(z => {\n          list.creatorName = z.displayName;\n      });\n    });\n  }\n\n  getList(listKey) {\n    return this._af.database.object(this._pb.buildListPath(listKey)).map(x => {\n      this._fillListDetails(x);\n      x.items = this._af.database.list(this._pb.buildListItemsPath(listKey));\n      x.archive = this._af.database.list(this._pb.buildListArchivePath(listKey));\n      return x;\n    });\n  }\n\n  getUsersWithListAccess(list: List) {\n    list.usersWithAccess = this._af.database.list(this._pb.buildUsersPath(), {\n      query: {\n        orderByChild: 'lists/' + list.$key,\n        equalTo: 'true'\n      }\n    });\n  }\n\n  share(email: string, listKey: any) {\n    this._users.getUserByEmail(email).take(1).subscribe(x => {\n      let userId = x[0].userId;\n      console.log('sharing list', this._pb.buildUserListPath(userId, listKey));\n      this._af.database.object(this._pb.buildUserListPath(userId, listKey)).set('true');\n    });\n  }\n\n  delete(list: FirebaseListObservable<List>) {\n    list.delay(10).subscribe( (x: List) => {\n      console.log('listpath', this._pb.buildListPath(x.$key), 'list', x, 'keys', Object.keys(x));\n      console.log(\"userswithaccess\", x['usersWithAccess']);\n      x.usersWithAccess.subscribe(y => {\n        y.forEach( u => {\n          console.log('removing access for', u.displayName, 'path', this._pb.buildUserListPath(u.$key, x.$key));\n          this.removeAccess(u.$key, x.$key);\n        })\n      });\n      this._af.database.object(this._pb.buildListPath(x.$key)).remove();\n    });\n  }\n\n  removeAccess(userKey, listKey) {\n    this._af.database.object(this._pb.buildUserListPath(userKey, listKey)).remove();\n  }\n\n  newList(name) {\n    let userListPath = this._pb.buildUserListsPath(this._auth.userData.userId);\n    this._af.database.list(userListPath).push('true')\n      .then(x => {\n        this._af.database.object(this._pb.buildListPath(x.key)).set({\n            name: name,\n            creator: this._auth.userData.userId,\n            dateCreated: Date()\n          });\n          this._router.navigate(['/lists/', x.key]);\n      });\n  }\n\n  rename(listKey, name) {\n    let listPath = this._pb.buildListPath(listKey);\n    this._af.database.object(listPath).update({\n      name: name\n    });\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/main/lists/lists.service.ts"],"sourceRoot":""}