Parcourir la source

Update menu item API connection

master
kj1352 il y a 4 ans
Parent
révision
c564792487
5 fichiers modifiés avec 62 ajouts et 3 suppressions
  1. +3
    -1
      src/app/app.module.ts
  2. +1
    -1
      src/app/menu-items/menu-items.component.html
  3. +19
    -1
      src/app/menu-items/menu-items.component.ts
  4. +12
    -0
      src/app/services/item.service.spec.ts
  5. +27
    -0
      src/app/services/item.service.ts

+ 3
- 1
src/app/app.module.ts Voir le fichier

@@ -26,6 +26,7 @@ import { MoreComponent } from './more/more.component';
// Services
import { AuthService } from './services/auth.service';
import { OrderService } from './services/order.service';
import { ItemService } from './services/item.service';

@NgModule({
declarations: [
@@ -51,7 +52,8 @@ import { OrderService } from './services/order.service';
],
providers: [
AuthService,
OrderService
OrderService,
ItemService
],
bootstrap: [AppComponent]
})


+ 1
- 1
src/app/menu-items/menu-items.component.html Voir le fichier

@@ -41,7 +41,7 @@
</td>
<td>
<div class="toggle" [ngClass]="{'on' : item.is_available }"
(click)="item.is_available = !item.is_available">
(click)="item.is_available = !item.is_available; updateItem(item)">
<div class="knob"></div>
</div>
</td>


+ 19
- 1
src/app/menu-items/menu-items.component.ts Voir le fichier

@@ -1,4 +1,5 @@
import { Component, OnInit } from '@angular/core';
import { ItemService } from '../services/item.service';

@Component({
selector: 'app-menu-items',
@@ -12,7 +13,9 @@ export class MenuItemsComponent implements OnInit {
searchTerm: string = '';
menuItems: any = [];

constructor() { }
constructor(
private itemService: ItemService
) { }

ngOnInit() {
this.profile_type = localStorage.current_login_type;
@@ -24,7 +27,22 @@ export class MenuItemsComponent implements OnInit {
}
this.menuItems = JSON.parse(JSON.stringify(this.profile_info.menuitems));
}

updateItem(menuItem) {
this.itemService.updateMenuItem(menuItem, this.profile_info.outlet_id).then((data) => {
this.profile_info.menuitems = JSON.parse(JSON.stringify(this.menuItems));
if (this.profile_type === 'VENDOR') {
localStorage.vendor_info = JSON.stringify(this.profile_info);
} else if (this.profile_type === 'OUTLET') {
localStorage.outlet_info = JSON.stringify(this.profile_info);
}

}, (err) => {
console.log(err);
alert("Failed to update");
});
}
searchItems() {


+ 12
- 0
src/app/services/item.service.spec.ts Voir le fichier

@@ -0,0 +1,12 @@
import { TestBed } from '@angular/core/testing';

import { ItemService } from './item.service';

describe('ItemService', () => {
beforeEach(() => TestBed.configureTestingModule({}));

it('should be created', () => {
const service: ItemService = TestBed.get(ItemService);
expect(service).toBeTruthy();
});
});

+ 27
- 0
src/app/services/item.service.ts Voir le fichier

@@ -0,0 +1,27 @@
import { Injectable } from '@angular/core';
import { URL } from '../data/url';
import { HttpClient, HttpHeaders } from '@angular/common/http';

@Injectable({
providedIn: 'root'
})
export class ItemService {

constructor(
private http: HttpClient
) { }

updateMenuItem(menuItem: any, outlet_id: string | number) {
menuItem.outlet = {
outlet_id: outlet_id
};
const httpOptions = {
headers: new HttpHeaders({
'Access-Control-Allow-Origin': '*',
'Content-Type': 'application/json',
'Authorization': 'Bearer ' + localStorage.token
})
};
return this.http.put(URL + '/api/maioraservice/menuitems/v1/update/', menuItem, httpOptions).toPromise();
}
}

Chargement…
Annuler
Enregistrer