Advertisement
Shell_Casing

controller

Nov 19th, 2018
278
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.39 KB | None | 0 0
  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. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement