Ignore:
Timestamp:
11/11/21 12:59:26 (3 years ago)
Author:
Ema <ema_spirova@…>
Branches:
master
Children:
59329aa
Parents:
6c1585f
Message:

add location to planner

File:
1 edited

Legend:

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

    r6c1585f rceaed42  
    1 import { Component, Injectable, OnInit } from '@angular/core';
    2 import { FormControl, NgForm } from '@angular/forms';
    3 import {map, startWith, switchMap} from 'rxjs/operators';
    4 import {forkJoin, Observable} from 'rxjs';
     1import { Component, EventEmitter, OnInit, Output } from '@angular/core';
     2import { FormBuilder, FormControl } from '@angular/forms';
     3import { map, startWith, switchMap } from 'rxjs/operators';
     4import { Observable } from 'rxjs';
    55import { CityService } from '../_services/city.service';
    66import { City } from '../_models/city';
    7 import { Country } from '../_models/country';
    8 import { CountryService } from '../_services/country.service';
    97import { Companion } from '../_models/companion';
    108import { CompanionService } from '../_services/companion.service';
    119import { Category } from '../_models/category';
    1210import { CategoryService } from '../_services/cateogry.service';
    13 import {CdkDragDrop, moveItemInArray} from '@angular/cdk/drag-drop';
    1411import { MatChip } from '@angular/material/chips';
    1512import { LocationService } from '../_services/location.service';
    1613import { Region } from '../_models/region';
    1714import { RegionService } from '../_services/region.service';
    18 import { Router } from '@angular/router';
     15import { ActivatedRoute, Params, Router } from '@angular/router';
     16import { Location } from '../_models/location';
     17
     18
    1919
    2020@Component({
     
    4141  cityOption: boolean = false;
    4242  regionOption: boolean = false;
    43   value:number;
     43  value: number;
    4444  max: number;
    4545  toggle = true;
    4646  status = 'Enable';
     47  proba: any[];
    4748
    48   constructor(private cityService : CityService, private regionService: RegionService,
    49               private companionService : CompanionService, private categoryService : CategoryService,
    50               private locationService: LocationService, private router : Router){
     49
     50  constructor(private cityService: CityService, private regionService: RegionService,
     51    private companionService: CompanionService, private categoryService: CategoryService,
     52    private locationService: LocationService, private router: Router, private fb: FormBuilder, private route: ActivatedRoute) {
    5153    this.filteredOptions = new Observable<City[]>();
    5254    this.cities = [];
     
    6365    this.value = 0;
    6466    this.max = 30;
     67    this.proba = [];
    6568  }
     69
     70  ngOnInit(): void {
    6671 
    67   ngOnInit() :void {
    6872    this.filteredOptions = this.myControl.valueChanges
    69     .pipe(
    70       startWith(''),
    71       switchMap(val => {
    72         return this.filter(val || '')
    73       })       
    74     );
     73      .pipe(
     74        startWith(''),
     75        switchMap(val => {
     76          return this.filter(val || '')
     77        })
     78      );
    7579
    7680    this.cityService.getAllCities().subscribe(
     
    96100        this.companions = data;
    97101      }
    98     )
     102    );
     103
    99104  }
    100  
     105
    101106  filter(val: string): Observable<City[]> {
    102107    // call the service which makes the http-request
     
    107112        }))
    108113      )
    109 
    110114  }
    111115
    112  toggleSelection(chip: MatChip, category: Category){
    113   chip.toggleSelected();
    114  
    115    if (this.chipsSeletion.length > 0) {
    116      if (this.chipsSeletion.indexOf(category.id) <= -1) {
    117        this.chipsSeletion.push(category.id);
    118      } else {
    119        const index = this.chipsSeletion.indexOf(category.id);
    120        this.chipsSeletion.splice(index, 1);
    121      }
    122    } else {
    123      this.chipsSeletion.push(category.id);
    124    }
    125    console.log(this.chipsSeletion);
    126  }
     116  toggleSelection(chip: MatChip, category: Category) {
     117    chip.toggleSelected();
     118
     119    if (this.chipsSeletion.length > 0) {
     120      if (this.chipsSeletion.indexOf(category.id) <= -1) {
     121        this.chipsSeletion.push(category.id);
     122      } else {
     123        const index = this.chipsSeletion.indexOf(category.id);
     124        this.chipsSeletion.splice(index, 1);
     125      }
     126    } else {
     127      this.chipsSeletion.push(category.id);
     128    }
     129    console.log(this.chipsSeletion);
     130  }
     131
    127132
    128133
     
    135140        result => {
    136141          console.log(result);
    137           this.router.navigate(['locations']);
     142          this.proba = result;
     143          this.router.navigate(['locations'], {queryParams: {cityId: this.cityId, companionId: this.companionId, lengthOfStay: this.lengthOfStay, categoryIds: this.categoryIds}});
    138144        }
    139145      );
    140     } else if (this.regionOption) {
    141       this.locationService.getLocationsFromRegion(this.regionId, this.companionId, this.lengthOfStay, this.categoryIds).subscribe(
    142         result => {
    143           console.log(result);
    144           this.router.navigate(['locations']);
    145         }
    146       );
    147     }
    148 
    149 
    150 
     146    } else
     147      if (this.regionOption) {
     148        this.locationService.getLocationsFromRegion(this.regionId, this.companionId, this.lengthOfStay, this.categoryIds).subscribe(
     149          result => {
     150            console.log(result);
     151            this.router.navigate(['locations'], {queryParams: {regionId: this.regionId, companionId: this.companionId, lengthOfStay: this.lengthOfStay, categoryIds: this.categoryIds}});
     152          }
     153        );
     154      }
    151155  }
    152156
     
    166170  }
    167171
     172
    168173}
Note: See TracChangeset for help on using the changeset viewer.