diff --git a/src/app/app.module.ts b/src/app/app.module.ts
index 98b96db..2dfb3ad 100644
--- a/src/app/app.module.ts
+++ b/src/app/app.module.ts
@@ -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]
})
diff --git a/src/app/menu-items/menu-items.component.html b/src/app/menu-items/menu-items.component.html
index 566aa81..6c6411f 100644
--- a/src/app/menu-items/menu-items.component.html
+++ b/src/app/menu-items/menu-items.component.html
@@ -41,7 +41,7 @@
+ (click)="item.is_available = !item.is_available; updateItem(item)">
|
diff --git a/src/app/menu-items/menu-items.component.ts b/src/app/menu-items/menu-items.component.ts
index 1020c23..e10aacb 100644
--- a/src/app/menu-items/menu-items.component.ts
+++ b/src/app/menu-items/menu-items.component.ts
@@ -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() {
diff --git a/src/app/services/item.service.spec.ts b/src/app/services/item.service.spec.ts
new file mode 100644
index 0000000..acaa4f8
--- /dev/null
+++ b/src/app/services/item.service.spec.ts
@@ -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();
+ });
+});
diff --git a/src/app/services/item.service.ts b/src/app/services/item.service.ts
new file mode 100644
index 0000000..0463b85
--- /dev/null
+++ b/src/app/services/item.service.ts
@@ -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();
+ }
+}