From 9be5536808edc6c182524c5022d03190b13d8a35 Mon Sep 17 00:00:00 2001 From: moshiko1988 Date: Fri, 17 Mar 2017 16:28:00 -0400 Subject: [PATCH] Dispense item workshop Scuffled dispensed-item component. Updated quantity. team : Moshe, Jackson, Bill, and Max. --- db.json | 6 ++-- src/app/app.component.html | 2 ++ src/app/app.module.ts | 6 +++- .../dispense-item/dispense-item.component.css | 0 .../dispense-item.component.html | 1 + .../dispense-item.component.spec.ts | 25 ++++++++++++++ .../dispense-item/dispense-item.component.ts | 33 +++++++++++++++++++ .../insert-coin/insert-coin.component.html | 1 + src/app/insert-coin/insert-coin.component.ts | 4 +++ src/app/select-item/select-item.component.css | 0 .../select-item/select-item.component.html | 4 +++ .../select-item/select-item.component.spec.ts | 25 ++++++++++++++ src/app/select-item/select-item.component.ts | 22 +++++++++++++ 13 files changed, 125 insertions(+), 4 deletions(-) create mode 100644 src/app/dispense-item/dispense-item.component.css create mode 100644 src/app/dispense-item/dispense-item.component.html create mode 100644 src/app/dispense-item/dispense-item.component.spec.ts create mode 100644 src/app/dispense-item/dispense-item.component.ts create mode 100644 src/app/select-item/select-item.component.css create mode 100644 src/app/select-item/select-item.component.html create mode 100644 src/app/select-item/select-item.component.spec.ts create mode 100644 src/app/select-item/select-item.component.ts diff --git a/db.json b/db.json index baf7af9..d72d3e6 100644 --- a/db.json +++ b/db.json @@ -4,7 +4,7 @@ "id": 1, "name": "Sprite", "cost": 0.5, - "remaining": 10 + "remaining": 0 }, { "id": 2, @@ -22,7 +22,7 @@ "id": 4, "name": "Mr Pibbs", "cost": 0.5, - "remaining": 10 + "remaining": 7 } ] -} \ No newline at end of file +} diff --git a/src/app/app.component.html b/src/app/app.component.html index 20f9499..a4fee6a 100644 --- a/src/app/app.component.html +++ b/src/app/app.component.html @@ -2,3 +2,5 @@

{{title}}

+ + diff --git a/src/app/app.module.ts b/src/app/app.module.ts index b290358..62f9f67 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -8,11 +8,15 @@ import { InsertCoinComponent } from './insert-coin/insert-coin.component'; import { ItemService } from './item/item.service'; import { BalanceService } from './balance/balance.service'; +import { SelectItemComponent } from './select-item/select-item.component'; +import { DispenseItemComponent } from './dispense-item/dispense-item.component'; @NgModule({ declarations: [ AppComponent, - InsertCoinComponent + InsertCoinComponent, + SelectItemComponent, + DispenseItemComponent ], imports: [ BrowserModule, diff --git a/src/app/dispense-item/dispense-item.component.css b/src/app/dispense-item/dispense-item.component.css new file mode 100644 index 0000000..e69de29 diff --git a/src/app/dispense-item/dispense-item.component.html b/src/app/dispense-item/dispense-item.component.html new file mode 100644 index 0000000..1d0efaa --- /dev/null +++ b/src/app/dispense-item/dispense-item.component.html @@ -0,0 +1 @@ + diff --git a/src/app/dispense-item/dispense-item.component.spec.ts b/src/app/dispense-item/dispense-item.component.spec.ts new file mode 100644 index 0000000..e3d2ca1 --- /dev/null +++ b/src/app/dispense-item/dispense-item.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { DispenseItemComponent } from './dispense-item.component'; + +describe('DispenseItemComponent', () => { + let component: DispenseItemComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ DispenseItemComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(DispenseItemComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/dispense-item/dispense-item.component.ts b/src/app/dispense-item/dispense-item.component.ts new file mode 100644 index 0000000..1029e46 --- /dev/null +++ b/src/app/dispense-item/dispense-item.component.ts @@ -0,0 +1,33 @@ +import { Component, OnInit } from '@angular/core'; +import { ItemService } from '../item/item.service'; +import { BalanceService } from '../balance/balance.service'; + + +@Component({ + selector: 'app-dispense-item', + templateUrl: './dispense-item.component.html', + styleUrls: ['./dispense-item.component.css'] +}) +export class DispenseItemComponent implements OnInit { + + + constructor(public itemService: ItemService, public balanceService: BalanceService) { } + + ngOnInit() { + } + + onItemDispensed() { + let hasRemaining = this.itemService.hasRemaining(); + + if (hasRemaining === false) { + alert('None remaining.') + } + // if (this.itemService.hasSufficientBalance(this.balanceService.getBalance())) { + // this.itemService.dispenseItem(function(){ + // this.balanceService.deductBalance() + // }); + // } else { + // alert('not enough cashhh booo'); + // } + } +} diff --git a/src/app/insert-coin/insert-coin.component.html b/src/app/insert-coin/insert-coin.component.html index 0513897..b4a0bbb 100644 --- a/src/app/insert-coin/insert-coin.component.html +++ b/src/app/insert-coin/insert-coin.component.html @@ -2,3 +2,4 @@ + diff --git a/src/app/insert-coin/insert-coin.component.ts b/src/app/insert-coin/insert-coin.component.ts index 7c16031..62dc0f8 100644 --- a/src/app/insert-coin/insert-coin.component.ts +++ b/src/app/insert-coin/insert-coin.component.ts @@ -21,4 +21,8 @@ export class InsertCoinComponent implements OnInit { this.balanceService.addBalance(amount); } + returnCoins(){ + this.balanceService.setBalance(0); + alert('coins returned'); + } } diff --git a/src/app/select-item/select-item.component.css b/src/app/select-item/select-item.component.css new file mode 100644 index 0000000..e69de29 diff --git a/src/app/select-item/select-item.component.html b/src/app/select-item/select-item.component.html new file mode 100644 index 0000000..96e5159 --- /dev/null +++ b/src/app/select-item/select-item.component.html @@ -0,0 +1,4 @@ +
  • + + {{item.name}} {{item.cost}} {{item.remaining}} +
  • diff --git a/src/app/select-item/select-item.component.spec.ts b/src/app/select-item/select-item.component.spec.ts new file mode 100644 index 0000000..217a5ae --- /dev/null +++ b/src/app/select-item/select-item.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { SelectItemComponent } from './select-item.component'; + +describe('SelectItemComponent', () => { + let component: SelectItemComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ SelectItemComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(SelectItemComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/select-item/select-item.component.ts b/src/app/select-item/select-item.component.ts new file mode 100644 index 0000000..bead8b5 --- /dev/null +++ b/src/app/select-item/select-item.component.ts @@ -0,0 +1,22 @@ +import { Component, OnInit } from '@angular/core'; +import { ItemService } from '../item/item.service'; + +@Component({ + selector: 'app-select-item', + templateUrl: './select-item.component.html', + styleUrls: ['./select-item.component.css'] +}) + +export class SelectItemComponent implements OnInit { + public items; + constructor(public itemService: ItemService) { } + + ngOnInit() { + this.itemService.onItemsRetrieved((items) => { + this.items = items + }) + } + onItemSelected(item) { + this.itemService.setSelectedItem(item); + } +}