From 41cd750b8d438f2c6efa0235c56c8c0560ea2017 Mon Sep 17 00:00:00 2001 From: Le Deng Date: Mon, 6 Mar 2017 10:49:55 -0500 Subject: [PATCH] latest --- admin-portal/src/app/app.module.ts | 16 +- .../book-list/book-list.component.html | 3 +- .../book-list/book-list.component.ts | 34 ++++- .../dialog-result-example-dialog.html | 6 + .../app/services/remove-book.service.spec.ts | 16 ++ .../src/app/services/remove-book.service.ts | 18 +++ bookstore-api/.idea/workspace.xml | 139 ++++++++++++++---- .../com/bookstore/resource/BookResource.java | 10 ++ .../com/bookstore/service/BookService.java | 2 + .../service/impl/BookServiceImpl.java | 4 + .../com/bookstore/resource/BookResource.class | Bin 4892 -> 5373 bytes .../com/bookstore/service/BookService.class | Bin 545 -> 587 bytes .../service/impl/BookServiceImpl.class | Bin 2607 -> 2769 bytes .../target/classes/static/image/book/10.png | Bin 0 -> 14760 bytes .../target/classes/static/image/book/5.png | Bin 57573 -> 14760 bytes 15 files changed, 209 insertions(+), 39 deletions(-) create mode 100644 admin-portal/src/app/components/book-list/dialog-result-example-dialog.html create mode 100644 admin-portal/src/app/services/remove-book.service.spec.ts create mode 100644 admin-portal/src/app/services/remove-book.service.ts create mode 100644 bookstore-api/target/classes/static/image/book/10.png diff --git a/admin-portal/src/app/app.module.ts b/admin-portal/src/app/app.module.ts index a1839e2..e9d4ab2 100644 --- a/admin-portal/src/app/app.module.ts +++ b/admin-portal/src/app/app.module.ts @@ -15,13 +15,11 @@ import {LoginService} from './services/login.service'; import { AddNewBookComponent } from './components/add-new-book/add-new-book.component'; import {UploadImageService} from "./services/upload-image.service"; import {AddBookService} from "./services/add-book.service"; -// import { BookListComponent } from './components/book-list/book-list.component'; import {GetBookListService} from "./services/get-book-list.service"; -// import { ViewBookComponent } from './components/view-book/view-book.component'; import {GetBookService} from "./services/get-book.service"; -// import { EditBookComponent } from './components/edit-book/edit-book.component'; import {EditBookService} from "./services/edit-book.service"; -import { BookListComponent } from './components/book-list/book-list.component'; +import {RemoveBookService} from "./services/remove-book.service"; +import { BookListComponent, DialogResultExampleDialog } from './components/book-list/book-list.component'; import { EditBookComponent } from './components/edit-book/edit-book.component'; import { ViewBookComponent } from './components/view-book/view-book.component'; @@ -32,12 +30,9 @@ import { ViewBookComponent } from './components/view-book/view-book.component'; LoginComponent, AddNewBookComponent, BookListComponent, + DialogResultExampleDialog, EditBookComponent, ViewBookComponent, - // BookListComponent, - // BookListComponent, - // ViewBookComponent, - // EditBookComponent ], imports: [ BrowserModule, @@ -53,8 +48,9 @@ import { ViewBookComponent } from './components/view-book/view-book.component'; AddBookService, GetBookListService, GetBookService, - EditBookService + EditBookService, + RemoveBookService ], - bootstrap: [AppComponent] + bootstrap: [AppComponent, DialogResultExampleDialog] }) export class AppModule { } diff --git a/admin-portal/src/app/components/book-list/book-list.component.html b/admin-portal/src/app/components/book-list/book-list.component.html index 1df3d16..3357dc6 100644 --- a/admin-portal/src/app/components/book-list/book-list.component.html +++ b/admin-portal/src/app/components/book-list/book-list.component.html @@ -27,7 +27,7 @@ {{book.active}} - @@ -37,3 +37,4 @@ + diff --git a/admin-portal/src/app/components/book-list/book-list.component.ts b/admin-portal/src/app/components/book-list/book-list.component.ts index 1f7121e..7b5e099 100644 --- a/admin-portal/src/app/components/book-list/book-list.component.ts +++ b/admin-portal/src/app/components/book-list/book-list.component.ts @@ -2,8 +2,11 @@ import { Component, OnInit } from '@angular/core'; import {LoginService} from "../../services/login.service"; import {Book} from "../../models/book"; import {GetBookListService} from "../../services/get-book-list.service"; +import {RemoveBookService} from "../../services/remove-book.service"; import {Router} from "@angular/router"; +import {MdDialog, MdDialogRef} from '@angular/material'; + @Component({ selector: 'app-book-list', templateUrl: './book-list.component.html', @@ -14,7 +17,7 @@ export class BookListComponent implements OnInit { private selectedBook : Book; private bookList: Book[]; - constructor(private getBookListService: GetBookListService, private router: Router) { + constructor(private removeBookService:RemoveBookService, private getBookListService: GetBookListService, private router: Router, public dialog: MdDialog) { this.getBookListService.getBookList().subscribe( res => { console.log(res.json()); @@ -31,8 +34,35 @@ export class BookListComponent implements OnInit { this.router.navigate(['/viewBook', this.selectedBook.id]); } + openDialog(book:Book) { + let dialogRef = this.dialog.open(DialogResultExampleDialog); + dialogRef.afterClosed().subscribe(result => { + console.log(result); + if(result=="yes") { + this.removeBookService.sendBook(book.id).subscribe( + res => { + console.log(res); + location.reload(); + }, + err => { + console.log(err); + } + + ); + } +}); +} + ngOnInit() { } - +} + + +@Component({ + selector: 'dialog-result-example-dialog', + templateUrl: './dialog-result-example-dialog.html' +}) +export class DialogResultExampleDialog { + constructor(public dialogRef: MdDialogRef) {} } diff --git a/admin-portal/src/app/components/book-list/dialog-result-example-dialog.html b/admin-portal/src/app/components/book-list/dialog-result-example-dialog.html new file mode 100644 index 0000000..8c98ab4 --- /dev/null +++ b/admin-portal/src/app/components/book-list/dialog-result-example-dialog.html @@ -0,0 +1,6 @@ +

Confirm Deleting

+
Are you sure you want to delete?
+
+ + +
\ No newline at end of file diff --git a/admin-portal/src/app/services/remove-book.service.spec.ts b/admin-portal/src/app/services/remove-book.service.spec.ts new file mode 100644 index 0000000..ec2b51e --- /dev/null +++ b/admin-portal/src/app/services/remove-book.service.spec.ts @@ -0,0 +1,16 @@ +/* tslint:disable:no-unused-variable */ + +import { TestBed, async, inject } from '@angular/core/testing'; +import { RemoveBookService } from './remove-book.service'; + +describe('RemoveBookService', () => { + beforeEach(() => { + TestBed.configureTestingModule({ + providers: [RemoveBookService] + }); + }); + + it('should ...', inject([RemoveBookService], (service: RemoveBookService) => { + expect(service).toBeTruthy(); + })); +}); diff --git a/admin-portal/src/app/services/remove-book.service.ts b/admin-portal/src/app/services/remove-book.service.ts new file mode 100644 index 0000000..4989be9 --- /dev/null +++ b/admin-portal/src/app/services/remove-book.service.ts @@ -0,0 +1,18 @@ +import { Injectable } from '@angular/core'; +import {Book} from "../models/book"; +import {Http, Headers} from "@angular/http"; + +@Injectable() +export class RemoveBookService { + + constructor (private http: Http) {} + + sendBook(bookId: number) { + let url = "http://localhost:8181/book/remove"; + let headers1 = new Headers({ + 'Content-Type': 'application/json', + 'x-auth-token' : localStorage.getItem("xAuthToken") + }); + return this.http.post(url, bookId, {headers: headers1}); + } +} diff --git a/bookstore-api/.idea/workspace.xml b/bookstore-api/.idea/workspace.xml index 6be07a5..e7bcdf5 100644 --- a/bookstore-api/.idea/workspace.xml +++ b/bookstore-api/.idea/workspace.xml @@ -19,8 +19,28 @@ - - + + + + + + + + + + + + + + + + + + + + + + @@ -76,12 +96,14 @@ @@ -99,8 +121,8 @@ - @@ -250,6 +272,70 @@