Added create component
This commit is contained in:
		@@ -25,6 +25,7 @@ import {DeleteComponent} from './delete/delete.component';
 | 
				
			|||||||
import {ProductsComponent} from './store/products/products.component';
 | 
					import {ProductsComponent} from './store/products/products.component';
 | 
				
			||||||
import {CartComponent} from './store/cart/cart.component';
 | 
					import {CartComponent} from './store/cart/cart.component';
 | 
				
			||||||
import {ViewComponents} from './formulaManager/viewComponents/viewComponents.component';
 | 
					import {ViewComponents} from './formulaManager/viewComponents/viewComponents.component';
 | 
				
			||||||
 | 
					import {NewComponentComponent} from './formulaManager/newComponent/newComponent.component';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@NgModule({
 | 
					@NgModule({
 | 
				
			||||||
  declarations: [
 | 
					  declarations: [
 | 
				
			||||||
@@ -39,6 +40,7 @@ import {ViewComponents} from './formulaManager/viewComponents/viewComponents.com
 | 
				
			|||||||
    HomeComponent,
 | 
					    HomeComponent,
 | 
				
			||||||
    LoginComponent,
 | 
					    LoginComponent,
 | 
				
			||||||
    NewCategoryComponent,
 | 
					    NewCategoryComponent,
 | 
				
			||||||
 | 
					    NewComponentComponent,
 | 
				
			||||||
    NewProductComponent,
 | 
					    NewProductComponent,
 | 
				
			||||||
    ProductsComponent,
 | 
					    ProductsComponent,
 | 
				
			||||||
    ScalePipe,
 | 
					    ScalePipe,
 | 
				
			||||||
@@ -67,7 +69,14 @@ import {ViewComponents} from './formulaManager/viewComponents/viewComponents.com
 | 
				
			|||||||
    ServiceWorkerModule.register('/ngsw-worker.js', {enabled: environment.production})
 | 
					    ServiceWorkerModule.register('/ngsw-worker.js', {enabled: environment.production})
 | 
				
			||||||
  ],
 | 
					  ],
 | 
				
			||||||
  providers: [],
 | 
					  providers: [],
 | 
				
			||||||
  entryComponents: [DeleteComponent, LoginComponent, NewCategoryComponent, NewProductComponent, ViewComponents],
 | 
					  entryComponents: [
 | 
				
			||||||
 | 
					    DeleteComponent,
 | 
				
			||||||
 | 
					    LoginComponent,
 | 
				
			||||||
 | 
					    NewCategoryComponent,
 | 
				
			||||||
 | 
					    NewComponentComponent,
 | 
				
			||||||
 | 
					    NewProductComponent,
 | 
				
			||||||
 | 
					    ViewComponents
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
  bootstrap: [AppComponent]
 | 
					  bootstrap: [AppComponent]
 | 
				
			||||||
})
 | 
					})
 | 
				
			||||||
export class AppModule {
 | 
					export class AppModule {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -0,0 +1,23 @@
 | 
				
			|||||||
 | 
					<mat-dialog-content>
 | 
				
			||||||
 | 
					    <h3 mat-dialog-title>
 | 
				
			||||||
 | 
					        <span *ngIf="data">Update</span>
 | 
				
			||||||
 | 
					        <span *ngIf="!data">Create</span> Category</h3>
 | 
				
			||||||
 | 
					    <form id="createForm">
 | 
				
			||||||
 | 
					        <mat-form-field class="w-100">
 | 
				
			||||||
 | 
					            <input matInput placeholder="Name" name="name" [(ngModel)]="name">
 | 
				
			||||||
 | 
					        </mat-form-field>
 | 
				
			||||||
 | 
					        <mat-form-field class="w-100">
 | 
				
			||||||
 | 
					            <input matInput placeholder="Description" name="description" [(ngModel)]="description">
 | 
				
			||||||
 | 
					        </mat-form-field>
 | 
				
			||||||
 | 
					        <mat-form-field>
 | 
				
			||||||
 | 
					            <input matInput placeholder="Cost Per Kg" type="number" name="cost" [(ngModel)]="cost">
 | 
				
			||||||
 | 
					            <span matPrefix>$ </span>
 | 
				
			||||||
 | 
					        </mat-form-field>
 | 
				
			||||||
 | 
					    </form>
 | 
				
			||||||
 | 
					</mat-dialog-content>
 | 
				
			||||||
 | 
					<mat-dialog-actions>
 | 
				
			||||||
 | 
					    <button mat-raised-button type="submit" form="createForm" color="primary" (click)="submit()">
 | 
				
			||||||
 | 
					        <span *ngIf="data">Update</span>
 | 
				
			||||||
 | 
					        <span *ngIf="!data">Create</span>
 | 
				
			||||||
 | 
					    </button>
 | 
				
			||||||
 | 
					</mat-dialog-actions>
 | 
				
			||||||
@@ -0,0 +1,39 @@
 | 
				
			|||||||
 | 
					import {Component, ViewChild, Inject} from '@angular/core';
 | 
				
			||||||
 | 
					import {AngularFirestore} from 'angularfire2/firestore';
 | 
				
			||||||
 | 
					import {MAT_DIALOG_DATA, MatDialogRef} from '@angular/material';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@Component({
 | 
				
			||||||
 | 
					  selector: 'new-component',
 | 
				
			||||||
 | 
					  templateUrl: 'newComponent.component.html'
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					export class NewComponentComponent {
 | 
				
			||||||
 | 
					  name: string;
 | 
				
			||||||
 | 
					  description: string;
 | 
				
			||||||
 | 
					  cost: number;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  constructor(
 | 
				
			||||||
 | 
					    private dialogRef: MatDialogRef<NewComponentComponent>,
 | 
				
			||||||
 | 
					    private db: AngularFirestore,
 | 
				
			||||||
 | 
					    @Inject(MAT_DIALOG_DATA) public data
 | 
				
			||||||
 | 
					  ) {
 | 
				
			||||||
 | 
					    if (data) {
 | 
				
			||||||
 | 
					      this.name = data.name;
 | 
				
			||||||
 | 
					      this.description = data.description;
 | 
				
			||||||
 | 
					      this.cost = data.cost;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  submit() {
 | 
				
			||||||
 | 
					    let newComponent = {name: this.name, description: this.description, cost: Number(this.cost)};
 | 
				
			||||||
 | 
					    if (!this.data) newComponent['created'] = new Date();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if (!this.data) {
 | 
				
			||||||
 | 
					      this.db
 | 
				
			||||||
 | 
					        .collection('components', ref => ref.orderBy('name'))
 | 
				
			||||||
 | 
					        .add(newComponent)
 | 
				
			||||||
 | 
					        .then(data => this.dialogRef.close());
 | 
				
			||||||
 | 
					    } else {
 | 
				
			||||||
 | 
					      this.data.ref.update(newComponent).then(data => this.dialogRef.close());
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@@ -1,4 +1,4 @@
 | 
				
			|||||||
<button mat-raised-button class="float-right mb-3">
 | 
					<button mat-raised-button class="float-right mb-3" (click)="createComponent()">
 | 
				
			||||||
    <mat-icon>add</mat-icon> Component</button>
 | 
					    <mat-icon>add</mat-icon> Component</button>
 | 
				
			||||||
<table class="table">
 | 
					<table class="table">
 | 
				
			||||||
    <thead>
 | 
					    <thead>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -3,6 +3,7 @@ import {AngularFirestore} from 'angularfire2/firestore';
 | 
				
			|||||||
import {map} from 'rxjs/operators';
 | 
					import {map} from 'rxjs/operators';
 | 
				
			||||||
import {MatDialog} from '@angular/material';
 | 
					import {MatDialog} from '@angular/material';
 | 
				
			||||||
import {DeleteComponent} from '../../delete/delete.component';
 | 
					import {DeleteComponent} from '../../delete/delete.component';
 | 
				
			||||||
 | 
					import {NewComponentComponent} from '../newComponent/newComponent.component';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@Component({
 | 
					@Component({
 | 
				
			||||||
  selector: '',
 | 
					  selector: '',
 | 
				
			||||||
@@ -26,6 +27,10 @@ export class ViewComponents {
 | 
				
			|||||||
      );
 | 
					      );
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  createComponent() {
 | 
				
			||||||
 | 
					    this.dialog.open(NewComponentComponent);
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  delete(component) {
 | 
					  delete(component) {
 | 
				
			||||||
    this.dialog.open(DeleteComponent, {data: component});
 | 
					    this.dialog.open(DeleteComponent, {data: component});
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user