diff options
author | Tucker Evans <tuckerevans24@gmail.com> | 2019-12-11 16:55:58 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-12-11 16:55:58 -0500 |
commit | e5abeda08c77e7051f24601dab315c0839c05416 (patch) | |
tree | 3ec5b16d410aa81a05a9e400061939a75076fb20 | |
parent | 77f57229c02521f00be16fe27e8e672f06809dbc (diff) | |
parent | ed1c7d95398c90263db74937a780e71f43475012 (diff) |
Merge pull request #23 from tuckerevans/shoppingcart
Shopping Cart base functionality added.
4 files changed, 125 insertions, 0 deletions
diff --git a/recipeBuddy/src/app/shopping-cart/shopping-cart.component.css b/recipeBuddy/src/app/shopping-cart/shopping-cart.component.css new file mode 100644 index 0000000..4c11ade --- /dev/null +++ b/recipeBuddy/src/app/shopping-cart/shopping-cart.component.css @@ -0,0 +1,13 @@ +.column { + float: left; + width: 33.33%; + +} + + +.row:after { + content: ""; + display: table; + clear: both; + +}
\ No newline at end of file diff --git a/recipeBuddy/src/app/shopping-cart/shopping-cart.component.html b/recipeBuddy/src/app/shopping-cart/shopping-cart.component.html new file mode 100644 index 0000000..a4e87ab --- /dev/null +++ b/recipeBuddy/src/app/shopping-cart/shopping-cart.component.html @@ -0,0 +1,28 @@ +<div class="row"> + <div class="column"> + <h1> Recipes </h1> + <mat-selection-list #rlist> + <mat-list-option *ngFor="let recipe of recipes" [value]="recipe"> + {{recipe.name}} + </mat-list-option> + </mat-selection-list> + </div> + <div class="column"> + <h1> Ingredients </h1> + <div *ngFor="let selectedRecipe of rlist.selectedOptions.selected"> + <h3>{{selectedRecipe.value.name}}</h3> + <mat-selection-list #ilist> + <mat-list-option *ngFor="let ing of selectedRecipe.value.ingredients" [value]="ing" (click)="addIngredient(ing)"> + {{ing.name}} {{ing.amount}} {{ing.unit}} + </mat-list-option> + </mat-selection-list> + </div> + </div> + <div class="column"> + <h1> Shopping List </h1> + <mat-list #clist *ngFor="let cartItem of ingredients"> + <mat-list-item>{{cartItem.name}} {{cartItem.amount}} {{cartItem.unit}}</mat-list-item> + <mat-divider></mat-divider> + </mat-list> + </div> +</div>
\ No newline at end of file diff --git a/recipeBuddy/src/app/shopping-cart/shopping-cart.component.spec.ts b/recipeBuddy/src/app/shopping-cart/shopping-cart.component.spec.ts new file mode 100644 index 0000000..5d77354 --- /dev/null +++ b/recipeBuddy/src/app/shopping-cart/shopping-cart.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { ShoppingCartComponent } from './shopping-cart.component'; + +describe('ShoppingCartComponent', () => { + let component: ShoppingCartComponent; + let fixture: ComponentFixture<ShoppingCartComponent>; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ ShoppingCartComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(ShoppingCartComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/recipeBuddy/src/app/shopping-cart/shopping-cart.component.ts b/recipeBuddy/src/app/shopping-cart/shopping-cart.component.ts new file mode 100644 index 0000000..7c3f6fa --- /dev/null +++ b/recipeBuddy/src/app/shopping-cart/shopping-cart.component.ts @@ -0,0 +1,59 @@ +import { Component, OnInit } from '@angular/core'; +import { MatSelectModule } from '@angular/material/select'; +import { MatDividerModule } from '@angular/material/divider'; +import { BackendService } from '../REST_service/backend.service'; +import { FormsModule } from '@angular/forms'; + + + + +@Component({ + selector: 'shopping-cart.component', + templateUrl: './shopping-cart.component.html', + styleUrls: ['./shopping-cart.component.css'] +}) +export class ShoppingCartComponent implements OnInit { + + recipes: Recipe[] = []; + ingredients : Ingredient[] = []; + units: string[] = []; + amounts: number[] = []; + types: string[] = []; + rIDs: number[] = []; + + + + constructor( private restService: BackendService) { + + this.restService.getRecipes().subscribe( + res => { + var i: number; + for(i = 0; i < res.length; i++) { + this.restService.getRecipe(res[i]).subscribe( + res2 => { + this.recipes.push(res2) + }); + } + }); + + } + + + + ngOnInit() { + } + + addAll(): void { + + } + addRecipe(id: number): void { + + } + addIngredient(ing: Ingredient): void { + this.ingredients.push(ing); + + } + printList(): void { + + } +} |