| 10 | 1. Корисникот по најава е пренасочен на страницата за преглед и креирање на свои планери (http://localhost:4200/planners) |
| 11 | - При вчитување на страницата, се прикажува PlannerComponent компонентата. Во оваа компонента во ngOnInit() методот се прави subscribe на методот getAllPlanners() кој се повикува од planner service-от. Оваа метода getAllPlanners() се “претплатува” на Observable со колекција од планери (getAllPlanners(): Observable<Planner[]>) која се добива со испраќање на HTTP GET метод до backend REST контролерот со url = "http://localhost:8080/api/planners/user". Дополнително при испраќање на повикот, покрај урл-то се испраќа и header во кој се наоѓа и токенот од најавениот корисник. Овој токен се чува и зема од sessionStorage. На овој начин како одговор од GET методот се враќаат сите планири на најавениот корисник. |
| 12 | httpHeaders: HttpHeaders = new HttpHeaders({ |
| 13 | 'Authorization': '' + sessionStorage.getItem("token"), |
| 14 | 'Accept': 'application/json', |
| 15 | 'Content-Type': 'application/json' |
| 16 | }); |
| 17 | 2. По клик на копчето “Create initial planner” се отвора Dynamic Dialog каде се внесуваат име и опис на планерот. |
| 18 | - Овој Dynamic Dialog е готова компонента која е преземена од PrimeNG. На копчето “Create initial planner” кое е креирано во planner.component.html при клик се извршува метод show() чија имплементација е во planner.component.ts . За отворање на дијалогот се користат готовите класи DynamicDialogRef и DialogService, каде што овој дијалог сервис ја отвора CreateInitialPlannerComponent компонентата. Во оваа компонента во ngOnInit() се креира нов објект од класата PlannerDto и при клик на копчето “Save” од CreateInitialPlannerComponent се извршува методот onFormSubmitPlanner(plannerDto) каде како параметар се испаќа plannerDto. Со помош на ова plannerDto се праќаат името и описот на планерот кои ги внел корисникот каде преку show() методот се прима plannerDto-то. |
| 19 | Потоа како продолжение во методот show() , се прави subscribe на методот postInitialPlanner(plannerDto) кој се повикува од planner service-от. Оваа метода postInitialPlanner(plannerDto: PlannerDto) се “претплатува” на Observable со моделот Planner (postInitialPlanner(plannerDto: PlannerDto) : Observable<Planner>) кој се зачувува во база со испраќање на HTTP POST метод до backend REST контролерот со url = " http://localhost:8080/api/planner/new". Дополнително при испраќање на повикот, покрај урл-то се испраќа и header во кој се наоѓа и токенот од најавениот корисник. Овој токен се чува и зема од sessionStorage. На овој начин при POST request ќе се зачува нов планер со име и опис. Новокреираниот планер се прикажува на /planners патеката. |
| 20 | |
| 21 | |