add product detail & modify products c

This commit is contained in:
Raghu-Ch
2018-09-13 14:13:24 -04:00
parent 0e203675c5
commit d8d30747d0
9 changed files with 49 additions and 13 deletions

View File

@@ -0,0 +1,4 @@
section {
width: 60%;
margin: 10px auto 0 auto;
}

View File

@@ -1,3 +1,3 @@
<p>
product-detail works!
</p>
<section>
<h3>{{currentProduct.productName}}</h3>
</section>

View File

@@ -1,4 +1,7 @@
import { Component, OnInit } from '@angular/core';
import { ActivatedRoute } from '@angular/router';
import { ProductService } from '../product/product.service';
@Component({
selector: 'app-product-detail',
@@ -7,9 +10,20 @@ import { Component, OnInit } from '@angular/core';
})
export class ProductDetailComponent implements OnInit {
constructor() { }
currentProduct = {};
constructor(private productService: ProductService, private route: ActivatedRoute) { }
ngOnInit() {
this.getProductDetails();
}
getProductDetails(): void {
const id = this.route.snapshot.paramMap.get('id');
// console.log(id);
this.productService.getProduct(id).subscribe((res) => {
this.currentProduct = res;
console.log(this.currentProduct);
});
}
}

View File

@@ -1,4 +1,5 @@
<section fxFlex=50 class="aligner">
<mat-card *ngFor="let product of products" (click)="getProductById(product._id)">
<mat-card *ngFor="let product of products" [routerLink]="['/product', product._id]" routerLinkActive="router-link-active">
{{product.productName}}</mat-card>
</section>

View File

@@ -1,5 +1,5 @@
import { Component, OnInit } from '@angular/core';
import { RouterModule, Router } from '@angular/router';
import { Router } from '@angular/router';
import { ProductService } from '../product/product.service';
import { Product } from './product';
@@ -24,8 +24,4 @@ export class ProductComponent implements OnInit {
});
}
getProductById(id: string): void {
this.productService.getProduct(id).subscribe(res => console.log(res));
}
}

View File

@@ -5,8 +5,10 @@ import { RouterModule } from '@angular/router';
import { MatTableModule } from '@angular/material/table';
import { MatCardModule } from '@angular/material/card';
import { MatButtonModule } from '@angular/material/button';
import { MatDividerModule } from '@angular/material/divider';
import { MatGridListModule } from '@angular/material/grid-list';
import {ProductComponent} from '../product/product.component';
import { ProductComponent } from '../product/product.component';
import { ProductDetailComponent } from './product-detail.component';
@NgModule({
@@ -15,7 +17,9 @@ import { ProductDetailComponent } from './product-detail.component';
RouterModule,
MatTableModule,
MatCardModule,
MatButtonModule
MatButtonModule,
MatDividerModule,
MatGridListModule
],
declarations: [
ProductComponent,

View File

@@ -20,7 +20,7 @@ export class ProductService {
getProduct(id: string): Observable<Product> {
const url = `${this.__url}/products/${id}`;
console.log(url);
// console.log(url);
return this.http.get<Product>(url);
}
}