Advertisement
Shell_Casing

edit page

Nov 10th, 2018
322
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import { Component, OnInit } from '@angular/core';
  2. import { FormBuilder, FormGroup, Validators } from '@angular/forms';
  3. import { FoodCategoryService } from '../../food-category.service';
  4. import { ProductService } from '../../product.service';
  5. import { ActivatedRoute, Router } from '@angular/router';
  6.  
  7. @Component({
  8.   selector: 'app-product-edit-form',
  9.   templateUrl: './product-edit-form.component.html',
  10.   styleUrls: ['./product-edit-form.component.css']
  11. })
  12. export class ProductEditFormComponent implements OnInit {
  13.   categories: any[];
  14.   id: string;
  15.   product: any = {};
  16.   updateForm: FormGroup;
  17.  
  18.   constructor(private categoryService: FoodCategoryService,
  19.               private productService: ProductService,
  20.               private formBuilder: FormBuilder,
  21.               private router: Router,
  22.               private activatedRoute: ActivatedRoute,
  23.   ) {
  24.     this.updateForm = formBuilder.group({title: ['', Validators.required], price: ['', Validators.required], category: ['', Validators.required], image: ''});
  25.   }
  26.  
  27.   ngOnInit() {
  28.     this.categoryService.getFoodCategories().valueChanges().subscribe(categories => {
  29.       console.log(categories);
  30.       this.categories = categories;
  31.  
  32.       this.activatedRoute.params.subscribe(params => this.id  = params.id);
  33.       this.productService.getOneProduct(this.id).subscribe(product => {
  34.         this.product = product;
  35.         this.updateForm.get('title').setValue(this.product.title);
  36.         this.updateForm.get('price').setValue(this.product.price);
  37.         this.updateForm.get('category').setValue(this.product.category);
  38.         this.updateForm.get('image').setValue(this.product.image);
  39.       });
  40.     });
  41.   }
  42.  
  43.  
  44.   updateProduct(title, price, category, image) {
  45.     this.productService.updateAProduct(this.id, title, price, category, image).subscribe(() => {
  46.       this.router.navigate(['/admin/products']);
  47.     });
  48.   }
  49.  
  50. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement