From e976319f00a3439f8f43358cb60342dac5964b5f Mon Sep 17 00:00:00 2001 From: mehmet-erim Date: Thu, 15 Aug 2019 08:56:00 +0300 Subject: [PATCH] docs: refactor angular tutorial --- docs/en/Tutorials/Angular/Part-I.md | 17 ++- docs/en/Tutorials/Angular/Part-II.md | 111 ++++++++++-------- .../images/bookstore-confirmation-popup.png | Bin 0 -> 33856 bytes .../bookstore-final-actions-dropdown.png | Bin 0 -> 15155 bytes 4 files changed, 70 insertions(+), 58 deletions(-) create mode 100644 docs/en/Tutorials/Angular/images/bookstore-confirmation-popup.png create mode 100644 docs/en/Tutorials/Angular/images/bookstore-final-actions-dropdown.png diff --git a/docs/en/Tutorials/Angular/Part-I.md b/docs/en/Tutorials/Angular/Part-I.md index d79d2074ce..fdfddef683 100644 --- a/docs/en/Tutorials/Angular/Part-I.md +++ b/docs/en/Tutorials/Angular/Part-I.md @@ -342,12 +342,12 @@ Run `yarn start`, wait Angular to run the application and open `http://localhost Open the `app-routing.module.ts` and replace `books` as shown below: ```typescript -import { LayoutApplicationComponent } from '@abp/ng.theme.basic';- +import { ApplicationLayoutComponent } from '@abp/ng.theme.basic';- //... { path: 'books', - component: LayoutApplicationComponent, + component: ApplicationLayoutComponent, loadChildren: () => import('./books/books.module').then(m => m.BooksModule), data: { routes: { @@ -357,7 +357,7 @@ import { LayoutApplicationComponent } from '@abp/ng.theme.basic';- }, ``` -`LayoutApplicationComponent` configuration sets the application layout to the new page. If you would like to see your route on the navigation bar (main menu) you must also add the `data` object with `name` property in your route. +`ApplicationLayoutComponent` configuration sets the application layout to the new page. If you would like to see your route on the navigation bar (main menu) you must also add the `data` object with `name` property in your route. ![initial-books-page](images/bookstore-initial-books-page-with-layout.png) @@ -458,7 +458,7 @@ export namespace Books { export interface Book { name: string; - type: Type; + type: BookType; publishDate: string; price: number; lastModificationTime: string; @@ -494,7 +494,7 @@ yarn ng generate service books/shared/books ![service-terminal-output](images/bookstore-service-terminal-output.png) -Modify `book.service.ts` as shown below: +Modify `books.service.ts` as shown below: ```typescript import { Injectable } from '@angular/core'; @@ -598,10 +598,9 @@ export class BookListComponent implements OnInit { ngOnInit() { this.loading = true; - this.store.dispatch(new GetBooks()) - .subscribe(() => { - this.loading = false - }; + this.store.dispatch(new GetBooks()).subscribe(() => { + this.loading = false; + }); } } ``` diff --git a/docs/en/Tutorials/Angular/Part-II.md b/docs/en/Tutorials/Angular/Part-II.md index ca204aed74..b322783db3 100644 --- a/docs/en/Tutorials/Angular/Part-II.md +++ b/docs/en/Tutorials/Angular/Part-II.md @@ -60,17 +60,18 @@ export class CreateUpdateBook { } ``` - - Open `books.state.ts` and define the `save` method that will listen to a `CreateUpdateBook` action to create a book: ```typescript - @Action(CreateUpdateBook) - save({ dispatch }: StateContext, { payload }: CreateUpdateBook) { - return this.booksService - .create(payload) - .pipe(switchMap(() => dispatch(new GetBooks()))); - } +import { GetBooks, CreateUpdateBook } from '../actions/books.actions'; +import { tap, switchMap } from 'rxjs/operators'; +//... +@Action(CreateUpdateBook) +save({ dispatch }: StateContext, { payload }: CreateUpdateBook) { + return this.booksService + .create(payload) + .pipe(switchMap(() => dispatch(new GetBooks()))); +} ``` When the `SaveBook` action dispatched, the save method is executed. It call `create` method of the `BooksService` defined before. After the service call, `BooksState` dispatches the `GetBooks` action to get books again from the server to refresh the page. @@ -301,7 +302,7 @@ Now, You can add a new book. TODO: Description -Open the `book.service.ts` and then add the `getById` and `update` methods. +Open the `books.service.ts` and then add the `getById` and `update` methods. ```typescript getById(id: string): Observable { @@ -327,15 +328,47 @@ update(body: Books.CreateUpdateBookInput, id: string): Observable { - Added the `getById` method to get the editing book by performing an HTTP request to the related endpoint. - Added the `update` method to update a book with the `id` by performing an HTTP request to the related endpoint. +TODO: header ?? + +Open the `books.actins.ts` and add `id` parameter. + +```typescript +export class CreateUpdateBook { + static readonly type = '[Books] Create Update Book'; + constructor(public payload: Books.CreateUpdateBookInput, public id?: string) {} +} +``` + +Added `id` parameter to reuse the `BooksSave` while updating and creating a book. + +Open `books.state.ts` and then modify the `save` method as show below: + +```typescript +@Action(CreateUpdateBook) +save({ dispatch }: StateContext, { payload, id }: CreateUpdateBook) { + let request; + + if (id) { + request = this.booksService.update(payload, id); + } else { + request = this.booksService.create(payload); + } + + return request.pipe(switchMap(() => dispatch(new GetBooks()))); +} +``` + ### Update a Book Inject `BooksService` dependency by adding it to the `book-list.component.ts` constructor and add variable named `selectedBook`. ```typescript +import { BooksService } from '../shared/books.service'; +//... selectedBook = {} as Books.Book; constructor( - //... + //... private booksService: BooksService ) ``` @@ -374,19 +407,25 @@ Add the `selectedBook` definition to `onAdd` method for reuse same form while ad ```typescript onAdd() { - this.selectedBook = {} as Books.Item; + this.selectedBook = {} as Books.Book; //... } ``` -Add the `this.selectedBook.id` to `CreateUpdateBook` action in `save` method. +Modify the `save` method as shown below: ```typescript - save() { - //... - this.store.dispatch(new CreateUpdateBook(this.form.value, this.selectedBook.id)) - //... +save() { + if (this.form.invalid) { + return; } + + this.store.dispatch(new CreateUpdateBook(this.form.value, this.selectedBook.id)) + .subscribe(() => { + this.isModalOpen = false; + this.form.reset(); + }); +} ``` Added the `this.selectedBook.id` property to reuse the `CreateUpdateBook` action. @@ -430,7 +469,6 @@ Open the `book-list.component.html` and add modify the `p-table` as shown belo -> ``` Actions button added to each row of the table. @@ -445,42 +483,12 @@ Update the modal header for reuse the same modal. ```html -

{{ (selectedBook.id ? 'Edit' : 'New Book') }}

+

{{ selectedBook.id ? 'Edit' : 'New Book' }}

``` ![actions-buttons](images/bookstore-edit-modal.png) -TODO: header ?? - -Open the `books.actins.ts` and add `id` parameter. - -```typescript -export class CreateUpdateBook { - static readonly type = '[Books] Create Update Book'; - constructor(public payload: Books.CreateUpdateBookInput, public id?: string) {} -} -``` - -Added `id` parameter to reuse the `BooksSave` while updating and creating a book. - -Open `books.state.ts` and then modify the `save` method as show below: - -```typescript -@Action(CreateUpdateBook) -save({ dispatch }: StateContext, { payload, id }: CreateUpdateBook) { - let request; - - if (id) { - request = this.booksService.update(payload, id); - } else { - request = this.booksService.create(payload); - } - - return request.pipe(switchMap(() => dispatch(new GetBooks()))); -} -``` - TODO: description & screenshot ?? ### Delete a Book @@ -512,6 +520,8 @@ export class DeleteBook { Then, open the `books.state.ts` and add the `delete` method that will listen to a `CreateUpdateBook` action to create a book ```typescript +import { ... , DeleteBook } from '../actions/books.actions'; +//... @Action(DeleteBook) delete({ dispatch }: StateContext, { id }: DeleteBook) { return this.booksService.delete(id).pipe(switchMap(() => dispatch(new GetBooks()))); @@ -553,7 +563,8 @@ constructor( Add the following method to `BookListComponent`. ```typescript -import { ConfirmationService, Toaster } from '@abp/ng.theme.shared'; +import { ... , DeleteBook } from '../../store/actions'; +import { ... , Toaster } from '@abp/ng.theme.shared'; //... delete(id: string, name: string) { this.confirmationService @@ -571,3 +582,5 @@ The `delete` method shows confirmation popup and listens to them. When close the The confirmation popup looks like this: ![bookstore-confirmation-popup](images/bookstore-confirmation-popup.png) + +TODO: End diff --git a/docs/en/Tutorials/Angular/images/bookstore-confirmation-popup.png b/docs/en/Tutorials/Angular/images/bookstore-confirmation-popup.png new file mode 100644 index 0000000000000000000000000000000000000000..c3f46af8219b9e9d24e185ca81b1a4b7fcbdfa91 GIT binary patch literal 33856 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 F`(JMV1bF}e literal 0 HcmV?d00001