econocart/src/pages/market/market-list-page/market-list-page.ts

114 lines
3.0 KiB
TypeScript

import { Component, OnInit } from '@angular/core';
import { IonicPage, NavController, NavParams, ActionSheetController, AlertController } from 'ionic-angular';
import { Market } from "../../../models/class/Market";
import { Toast } from "@ionic-native/toast";
import { DaoMarket } from "../../../providers/dao/dao-market.service";
import { MarketCreatePage } from "../market-create-page/market-create-page";
/**
* Generated class for the MarketListPage page.
*
* See http://ionicframework.com/docs/components/#navigation for more info
* on Ionic pages and navigation.
*/
@IonicPage()
@Component({
selector: 'page-market-list-page',
templateUrl: 'market-list-page.html',
})
export class MarketListPage implements OnInit {
ngOnInit(): void {
this.getAllMarketts();
}
_markets: Market[] = [];
constructor(public navCtrl: NavController, public navParams: NavParams, public alert: AlertController,
private _daoMarket: DaoMarket, public actionSheetCtrl: ActionSheetController,
private _toast: Toast) {
}
insert() {
this.navCtrl.push(MarketCreatePage);
}
ionViewDidLoad() {
}
getAllMarketts() {
this._daoMarket.getAll()
.then(markets => {
this._markets = markets;
})
.catch(error => {
console.error(error);
});
}
options(market: Market) {
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 o Supermercado " + market.sName + "?",
buttons: [
{
text: "Sim",
handler: () => {
let index = this._markets.indexOf(market);
this._daoMarket.delete(market)
.then(response => {
console.log(response);
this._markets.splice(index, 1);
this._toast.show("Supermercado 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(MarketCreatePage, { parametro: market });
}
},
{
text: 'Cancelar',
role: 'cancel',
icon: 'close',
handler: () => {
}
}
]
});
actionSheet.present();
}
}