RomainMarecat/slate

View on GitHub
projects/laboiteasessions/src/app/pages/cart/cart-list/cart-list.component.ts

Summary

Maintainability
A
0 mins
Test Coverage
import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';
import { Cart, CartItem } from '../../../shared/interfaces/cart';
 
@Component({
selector: 'app-cart-list',
templateUrl: './cart-list.component.html',
styleUrls: ['./cart-list.component.scss']
})
export class CartListComponent implements OnInit {
 
@Input() cart: Cart;
 
totalQuantity: number;
 
articleWord: string;
 
editable: boolean;
 
@Output() updateCart: EventEmitter<Cart> = new EventEmitter<Cart>();
 
constructor() {
}
 
ngOnInit() {
}
 
onNextStep() {
}
 
onCartItemChange(event: {cartItem: CartItem, quantity: number}) {
let total = 0;
this.cart.items = this.cart.items.map((item: CartItem) => {
if (item.code === event.cartItem.code) {
item.quantity = event.quantity;
}
total += item.quantity * item.price;
 
return item;
});
this.cart.items = this.cart.items.filter(item => item.quantity > 0);
this.cart.total = total;
 
this.updateCart.emit(this.cart);
}
}