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 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -755,15 +841,15 @@
-
+
-
+
-
+
@@ -783,7 +869,7 @@
-
+
@@ -823,21 +909,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -1168,10 +1239,26 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
diff --git a/bookstore-api/src/main/java/com/bookstore/resource/BookResource.java b/bookstore-api/src/main/java/com/bookstore/resource/BookResource.java
index d1817f9..15efbab 100644
--- a/bookstore-api/src/main/java/com/bookstore/resource/BookResource.java
+++ b/bookstore-api/src/main/java/com/bookstore/resource/BookResource.java
@@ -5,6 +5,7 @@ import com.bookstore.service.BookService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
+import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
@@ -114,4 +115,13 @@ public class BookResource {
return book;
}
+ @RequestMapping(value = "/remove", method = RequestMethod.POST)
+ public ResponseEntity remove(
+ @RequestBody String id, Model model
+ ){
+ bookService.removeOne(Long.parseLong(id));
+
+ return new ResponseEntity("Remove Success!", HttpStatus.OK);
+ }
+
}
diff --git a/bookstore-api/src/main/java/com/bookstore/service/BookService.java b/bookstore-api/src/main/java/com/bookstore/service/BookService.java
index 9df4031..aa153cd 100644
--- a/bookstore-api/src/main/java/com/bookstore/service/BookService.java
+++ b/bookstore-api/src/main/java/com/bookstore/service/BookService.java
@@ -19,4 +19,6 @@ public interface BookService {
List blurrySearch(String title);
+ void removeOne(Long id);
+
}
diff --git a/bookstore-api/src/main/java/com/bookstore/service/impl/BookServiceImpl.java b/bookstore-api/src/main/java/com/bookstore/service/impl/BookServiceImpl.java
index 37782b1..ca01660 100644
--- a/bookstore-api/src/main/java/com/bookstore/service/impl/BookServiceImpl.java
+++ b/bookstore-api/src/main/java/com/bookstore/service/impl/BookServiceImpl.java
@@ -68,4 +68,8 @@ public class BookServiceImpl implements BookService{
return activeBookList;
}
+
+ public void removeOne(Long id) {
+ bookRepository.delete(id);
+ }
}
diff --git a/bookstore-api/target/classes/com/bookstore/resource/BookResource.class b/bookstore-api/target/classes/com/bookstore/resource/BookResource.class
index dbe1a6d..6fc5b2f 100644
Binary files a/bookstore-api/target/classes/com/bookstore/resource/BookResource.class and b/bookstore-api/target/classes/com/bookstore/resource/BookResource.class differ
diff --git a/bookstore-api/target/classes/com/bookstore/service/BookService.class b/bookstore-api/target/classes/com/bookstore/service/BookService.class
index 7763ab7..d0f8ad0 100644
Binary files a/bookstore-api/target/classes/com/bookstore/service/BookService.class and b/bookstore-api/target/classes/com/bookstore/service/BookService.class differ
diff --git a/bookstore-api/target/classes/com/bookstore/service/impl/BookServiceImpl.class b/bookstore-api/target/classes/com/bookstore/service/impl/BookServiceImpl.class
index 5032495..4ab6cb6 100644
Binary files a/bookstore-api/target/classes/com/bookstore/service/impl/BookServiceImpl.class and b/bookstore-api/target/classes/com/bookstore/service/impl/BookServiceImpl.class differ
diff --git a/bookstore-api/target/classes/static/image/book/10.png b/bookstore-api/target/classes/static/image/book/10.png
new file mode 100644
index 0000000..7006cd1
Binary files /dev/null and b/bookstore-api/target/classes/static/image/book/10.png differ
diff --git a/bookstore-api/target/classes/static/image/book/5.png b/bookstore-api/target/classes/static/image/book/5.png
index 3850162..7006cd1 100644
Binary files a/bookstore-api/target/classes/static/image/book/5.png and b/bookstore-api/target/classes/static/image/book/5.png differ