econocart/src/pages/listitem/list-item-list-page/list-item-list-page.ts

115 lines
3.1 KiB
TypeScript

import { Component, OnInit } from '@angular/core';
import { IonicPage, NavController, NavParams, ActionSheetController, AlertController } from 'ionic-angular';
import { ListItem } from "../../../models/class/ListItem";
import { Toast } from "@ionic-native/toast";
import { DaoListItem } from "../../../providers/dao/dao-listitem.service";
import { ListItemCreatePage } from "../list-item-create-page/list-item-create-page";
/**
* Generated class for the ListItemListPage page.
*
* See http://ionicframework.com/docs/components/#navigation for more info
* on Ionic pages and navigation.
*/
@IonicPage()
@Component({
selector: 'page-list-item-list-page',
templateUrl: 'list-item-list-page.html',
})
export class ListItemListPage implements OnInit {
ngOnInit(): void {
this.getAllListItem();
}
_listItem: ListItem[] = [];
constructor(public navCtrl: NavController, public navParams: NavParams, public alert: AlertController,
private _daoListItem: DaoListItem, public actionSheetCtrl: ActionSheetController,
private _toast: Toast) {
}
insert() {
this.navCtrl.push(ListItemCreatePage);
}
ionViewDidLoad() {
}
getAllListItem() {
this._daoListItem.getAll()
.then(listItem => {
this._listItem = listItem;
})
.catch(error => {
console.error(error);
});
}
options(listItem: ListItem) {
let actionSheet = this.actionSheetCtrl.create({
title: 'Escolha uma das opções abaixo:',
buttons: [
{
text: 'Deletar',
role: 'destructive',
icon: 'trash',
handler: () => {
let confirm = this.alert.create({
title: "Excluir",
subTitle: "Gostaria de realmente excluir a Lista de Itens " + listItem.sName + "?",
buttons: [
{
text: "Sim",
handler: () => {
let index = this._listItem.indexOf(listItem);
this._daoListItem.delete(listItem)
.then(response => {
console.log(response);
this._daoListItem.deleteAux(listItem);
this._listItem.splice(index, 1);
this._toast.show("Lista de Itens excluído com sucesso", '1500', 'center').subscribe(
toast => {
console.log(toast);
}
);
})
.catch(error => {
console.error(error);
})
}
},
{
text: "Não"
}
]
});
confirm.present();
}
},
/* {
text: 'Editar',
role: 'edit',
icon: 'create',
handler: () => {
this.navCtrl.push(ListItemCreatePage, { parametro: listItem });
}
},*/
{
text: 'Cancelar',
role: 'cancel',
icon: 'close',
handler: () => {
}
}
]
});
actionSheet.present();
}
}