diff --git a/samples/BookStore-Angular-MongoDb/angular/src/app/books/book-list/book-list.component.html b/samples/BookStore-Angular-MongoDb/angular/src/app/books/book-list/book-list.component.html index 888def12dc..0442051148 100644 --- a/samples/BookStore-Angular-MongoDb/angular/src/app/books/book-list/book-list.component.html +++ b/samples/BookStore-Angular-MongoDb/angular/src/app/books/book-list/book-list.component.html @@ -7,7 +7,7 @@
-
@@ -37,7 +37,7 @@ Actions
- + @@ -97,6 +97,9 @@ - Save + diff --git a/samples/BookStore-Angular-MongoDb/angular/src/app/books/book-list/book-list.component.ts b/samples/BookStore-Angular-MongoDb/angular/src/app/books/book-list/book-list.component.ts index a58ff49694..bba94cb368 100644 --- a/samples/BookStore-Angular-MongoDb/angular/src/app/books/book-list/book-list.component.ts +++ b/samples/BookStore-Angular-MongoDb/angular/src/app/books/book-list/book-list.component.ts @@ -54,13 +54,13 @@ export class BookListComponent implements OnInit { }); } - onAdd() { + createBook() { this.selectedBook = {} as Books.Book; this.buildForm(); this.isModalOpen = true; } - onEdit(id: string) { + editBook(id: string) { this.booksService.getById(id).subscribe(book => { this.selectedBook = book; this.buildForm(); diff --git a/samples/BookStore-Angular-MongoDb/angular/src/app/books/shared/books.service.ts b/samples/BookStore-Angular-MongoDb/angular/src/app/books/shared/books.service.ts index 19e73a49f7..3e92e68abc 100644 --- a/samples/BookStore-Angular-MongoDb/angular/src/app/books/shared/books.service.ts +++ b/samples/BookStore-Angular-MongoDb/angular/src/app/books/shared/books.service.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { RestService, Rest } from '@abp/ng.core'; +import { RestService } from '@abp/ng.core'; import { Books } from '../../store/models'; import { Observable } from 'rxjs'; @@ -7,52 +7,42 @@ import { Observable } from 'rxjs'; providedIn: 'root', }) export class BooksService { - constructor(private rest: RestService) {} + constructor(private restService: RestService) {} get(): Observable { - const request: Rest.Request = { + return this.restService.request({ method: 'GET', url: '/api/app/book', - }; - - return this.rest.request(request); + }); } - create(body: Books.CreateUpdateBookInput): Observable { - const request: Rest.Request = { + create(createBookInput: Books.CreateUpdateBookInput): Observable { + return this.restService.request({ method: 'POST', url: '/api/app/book', - body, - }; - - return this.rest.request(request); + body: createBookInput, + }); } getById(id: string): Observable { - const request: Rest.Request = { + return this.restService.request({ method: 'GET', url: `/api/app/book/${id}`, - }; - - return this.rest.request(request); + }); } - update(body: Books.CreateUpdateBookInput, id: string): Observable { - const request: Rest.Request = { + update(updateBookInput: Books.CreateUpdateBookInput, id: string): Observable { + return this.restService.request({ method: 'PUT', url: `/api/app/book/${id}`, - body, - }; - - return this.rest.request(request); + body: updateBookInput, + }); } - delete(id: string): Observable { - const request: Rest.Request = { + delete(id: string): Observable { + return this.restService.request({ method: 'DELETE', url: `/api/app/book/${id}`, - }; - - return this.rest.request(request); + }); } } diff --git a/samples/BookStore-Angular-MongoDb/angular/src/app/store/states/books.state.ts b/samples/BookStore-Angular-MongoDb/angular/src/app/store/states/books.state.ts index fb958142de..e43098f394 100644 --- a/samples/BookStore-Angular-MongoDb/angular/src/app/store/states/books.state.ts +++ b/samples/BookStore-Angular-MongoDb/angular/src/app/store/states/books.state.ts @@ -10,38 +10,38 @@ import { GetBooks, CreateUpdateBook, DeleteBook } from '../actions/books.actions }) export class BooksState { @Selector() - static getBooks({ books }: Books.State) { - return books.items || []; + static getBooks(state: Books.State) { + return state.books.items || []; } constructor(private booksService: BooksService) {} @Action(GetBooks) - get({ patchState }: StateContext) { + get(ctx: StateContext) { return this.booksService.get().pipe( - tap(books => { - patchState({ - books, + tap(booksResponse => { + ctx.patchState({ + books: booksResponse, }); }), ); } @Action(CreateUpdateBook) - save({ dispatch }: StateContext, { payload, id }: CreateUpdateBook) { + save(ctx: StateContext, action: CreateUpdateBook) { let request; - if (id) { - request = this.booksService.update(payload, id); + if (action.id) { + request = this.booksService.update(action.payload, action.id); } else { - request = this.booksService.create(payload); + request = this.booksService.create(action.payload); } - return request.pipe(switchMap(() => dispatch(new GetBooks()))); + return request.pipe(switchMap(() => ctx.dispatch(new GetBooks()))); } @Action(DeleteBook) - delete({ dispatch }: StateContext, { id }: DeleteBook) { - return this.booksService.delete(id).pipe(switchMap(() => dispatch(new GetBooks()))); + delete(ctx: StateContext, action: DeleteBook) { + return this.booksService.delete(action.id).pipe(switchMap(() => ctx.dispatch(new GetBooks()))); } }