Shell_Casing

component

Nov 19th, 2018
274
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import { Component, OnInit } from '@angular/core';
  2. import { ProductService } from '../../product.service';
  3. import { Router } from '@angular/router';
  4. import { ProductInterface } from '../../product-interface';
  5.  
  6. @Component({
  7.   selector: 'app-admin-products',
  8.   templateUrl: './admin-products.component.html',
  9.   styleUrls: ['./admin-products.component.css']
  10. })
  11. export class AdminProductsComponent implements OnInit {
  12.   products: ProductInterface[] = [];
  13.   filteredProducts: ProductInterface[];
  14.   displayedTableColumns = ['title', 'category', 'price', 'actions'];
  15.  
  16.   constructor(private productService: ProductService, private router: Router) { }
  17.  
  18.   ngOnInit() {
  19.     this.getProducts();
  20.   }
  21.  
  22.   editProduct(id) {
  23.     this.router.navigate([`/admin/products/${id}`]);
  24.   }
  25.  
  26.   deleteProduct(id) {
  27.     if (confirm('You are about to permanently remove this product. Continue?')) {
  28.       this.productService.deleteAProduct(id).subscribe(() => this.ngOnInit());
  29.     }
  30.   }
  31.  
  32.   getProducts() {
  33.     this.productService.getAllProducts().subscribe((products: ProductInterface[]) => {
  34.       console.log(products);
  35.       this.products = products;
  36.       this.filteredProducts = this.products;
  37.     });
  38.   }
  39.  
  40.   filterProducts(query) {
  41.     this.filteredProducts = query ?
  42.       this.products.filter(product => product.title.toLowerCase().includes(query.toLowerCase())) :
  43.       this.products;
  44.   }
  45.  
  46. }
Add Comment
Please, Sign In to add comment