import { Component, OnInit, OnDestroy } from '@angular/core'; import { NavController, ToastController, ActionSheetController, Events } from 'ionic-angular'; import { Slots } from "../../utils/slots"; import { INavigable } from "../../interfaces/navigable-interface"; import { DataProvider } from "../../providers/data-provider"; import { DefaultListable } from "../../defaults/default-listable"; import { DefaultListView } from "../../defaults/default-list-view"; import { SaleOrder } from "../../models/sale.order"; import { BudgetDetailsPage } from "../budget-details/budget-details"; @Component({ selector: 'page-budget-list', templateUrl: 'budget-list.html' }) export class BudgetListPage extends DefaultListView implements INavigable { constructor( public navCtrl: NavController, public toastCtrl: ToastController, public actionSheetCtrl: ActionSheetController, public events: Events, public db: DataProvider ) { super(); } /** * */ ionViewDidLoad() { this.initialize(); } // /** // * // */ // ngOnInit() { // this.events.subscribe(Slots.ITEM_SAVED, data => { // this.add(data[0]); // }); // } // /** // * // */ // ngOnDestroy() { // this.events.unsubscribe(Slots.ITEM_SAVED); // } /** * */ initialize(): void { this.events.publish(Slots.APP_LOADING); this.db.getAll(DataProvider.DOCS.SALE_ORDER).then(orders => { this.elements = orders.filter(item => { // return item.state === "draft" && item.doc_state !== "deleted"; return true; }); this.events.publish(Slots.APP_LOADED); }, e => { console.log(e); this.events.publish(Slots.APP_LOADED); this.events.publish(Slots.APP_ERROR, "No se ha podido cargar las órdenes de venta"); }); } /** * */ goToPage(page: any) { this.navCtrl.push(BudgetDetailsPage); } /** * */ showOptions(e, item): void { this.actionSheetCtrl.create({ title: "Opciones", buttons: [ { text: "Abrir", icon: "open", handler: () => console.log("open") }, { text: "Eliminar", icon: "trash", role: "destructive", handler: () => console.log("Delete") }, { text: "Cancelar", role: "cancel", handler: () => console.log("Cancel") } ] }).present(); } }