diff --git a/src/pages/lists/lists.html b/src/pages/lists/lists.html index dd1aa0f..d1c40dc 100644 --- a/src/pages/lists/lists.html +++ b/src/pages/lists/lists.html @@ -7,6 +7,11 @@ + + + My lists @@ -15,7 +20,7 @@ - {{list.name}} + {{list.name}} diff --git a/src/pages/lists/lists.ts b/src/pages/lists/lists.ts index c79efff..13d77fc 100644 --- a/src/pages/lists/lists.ts +++ b/src/pages/lists/lists.ts @@ -20,12 +20,14 @@ import { ListModel} from "../../data/list-model"; }) export class ListsPage { + public selectedList:ListModel = null; constructor(public navCtrl: NavController, public navParams: NavParams, public alertCtrl: AlertController, public listService:ListServiceProvider, private loadingCtrl: LoadingController) { } goToList(list: ListModel):void{ + this.clearSelected(); this.navCtrl.push(TodosPage, {list}); } @@ -77,4 +79,22 @@ export class ListsPage { }); } + + clearSelected(){ + this.selectedList = null; + } + + selectList(list:ListModel){ + if(this.selectedList == list){ + this.clearSelected(); + } + else{ + this.selectedList = list; + } + } + + removeSelectedList(){ + this.listService.removeList(this.selectedList); + this.clearSelected(); + } } diff --git a/src/providers/list-service/list-service.ts b/src/providers/list-service/list-service.ts index 99c8cbf..5f48025 100644 --- a/src/providers/list-service/list-service.ts +++ b/src/providers/list-service/list-service.ts @@ -1,7 +1,7 @@ // import { Http } from "@angular/http"; import { HttpClient, HttpHeaders } from '@angular/common/http'; import { Injectable } from '@angular/core'; -import { ListModel} from "../../data/list-model"; +import { ListModel } from "../../data/list-model"; import { Storage} from "@ionic/storage"; import 'rxjs/add/operator/map'; import 'rxjs/add/operator/share'; @@ -99,4 +99,14 @@ export class ListServiceProvider { return observable; } + + public removeList(list: ListModel){ + this.deleteListFromServer(list.id).subscribe( + ()=> { + let index = this.list.indexOf((list)); + this.list = [...this.list.slice(0,index), ...this.list.slice(index+1)]; + this.saveStorage(); + } + ) + } }