import { Component } from '@angular/core' ; import { IonicPage , NavController , NavParams } from 'ionic-angular' ; import { CartItem } from '../../models/cart-item' ; import { ProdutoService } from '../../services/domain/produto.service' ; import { API_CONFIG } from '../../config/api.config' ; import { CartService } from '../../services/domain/cart.service' ; import { ProdutoDTO } from '../../models/produto.dto' ; @ IonicPage ( ) @ Component ( { selector : 'page-cart' , templateUrl : 'cart.html' , } ) export class CartPage { items : CartItem [ ] ; constructor ( public navCtrl , public navParams , public cartService , public produtoService ) { } ionViewDidLoad ( ) { let cart = this . cartService . getCart ( ) ; this . items = cart . items ; this . loadImageUrls ( ) ; } loadImageUrls ( ) { for ( var i = 0 ; i < this . items . length ; i ++ ) { let item = this . items [ i ] ; this . produtoService . getSmallImageFromBucket ( item . produto . id ) . subscribe ( response => { item . produto . imageUrl = `${ API_CONFIG . bucketBaseUrl }/prod${ item . produto . id }-small.jpg` ; } , error => { } ) ; } } removeItem ( produto ) { this . items = this . cartService . removeProduto ( produto ) . items ; } increaseQuantity ( produto ) { this . items = this . cartService . increaseQuantity ( produto ) . items ; } decreaseQuantity ( produto ) { this . items = this . cartService . decreaseQuantity ( produto ) . items ; } total ( ) { return this . cartService . total ( ) ; } goOn ( ) { this . navCtrl . setRoot ( 'CategoriasPage' ) ; } checkout ( ) { this . navCtrl . push ( 'PickAddressPage' ) ; } }