Ignore:
Timestamp:
11/04/21 23:10:39 (3 years ago)
Author:
Ema <ema_spirova@…>
Branches:
master
Children:
ceaed42
Parents:
6a80231
Message:

edit planner form with angular

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trip-planner-front/src/app/planner/edit-planner/edit-planner.component.ts

    r6a80231 r6c1585f  
    11import { Component, OnInit } from '@angular/core';
    2 import { Router } from '@angular/router';
     2import { FormBuilder, FormGroup, Validators } from '@angular/forms';
     3import { ActivatedRoute, Router } from '@angular/router';
     4import { PlannerDto } from 'src/app/_models/dto/plannerDto';
    35import { Planner } from 'src/app/_models/planner';
     6import { PlannerService } from 'src/app/_services/planner.service';
    47
    58@Component({
     
    1114
    1215  planner: Planner;
     16  planners: Planner[];
     17  form: FormGroup;
     18  plannerDto: PlannerDto;
     19  id: number;
    1320
    1421
    15   constructor(private router: Router) {
     22  constructor(private router: Router, private route: ActivatedRoute ,private fb: FormBuilder, private plannerService: PlannerService) {
    1623    this.planner = new Planner();
     24    this.planners = [];
     25    this.form = fb.group({
     26      title: fb.control('initial value', Validators.required)
     27  });
     28    this.plannerDto = new PlannerDto();
     29    this.id = 1;
    1730  }
    1831
    1932  ngOnInit(): void {
     33    this.id = this.route.snapshot.params['id'];
     34
     35    this.form = this.fb.group({
     36        name: [''],
     37        description: [''],
     38        locationList: []
     39    });
     40
     41    this.plannerService.getPlannerById(this.id)
     42    .pipe()
     43    .subscribe(x => this.form.patchValue(x));
    2044  }
    2145
    2246
    23   onClickSavePlanner(){
    24       this.router.navigate(['planners']);
     47  onSubmit(){
     48    this.updatePlanner();
     49     
    2550  }
    2651
    27   onClickAddLocation(){
     52  onClickAddLocation()
     53  {
    2854    this.router.navigate(['form']);
    2955  }
     56
     57  private updatePlanner() {
     58    this.plannerService.updatePlanner(this.id, this.form.value)
     59        .pipe()
     60        .subscribe({
     61            next: () => {
     62              this.router.navigate(['planners']);
     63            },
     64            error: error => {
     65                console.log("error");
     66            }
     67        });
    3068}
     69 
     70}
Note: See TracChangeset for help on using the changeset viewer.