Projekt

Obecné

Profil

Stáhnout (1.45 KB) Statistiky
| Větev: | Tag: | Revize:
1
import {Component, OnDestroy, OnInit} from '@angular/core';
2
import { SearchRequest } from '../../../model/SearchRequest';
3
import { QueryService } from '../../../services/query.service';
4
import { Router } from '@angular/router';
5
import { DataHolderService } from '../../../services/data-holder/data-holder.service';
6
import {SearchComponent} from '../../pages/search/search.component';
7
import {Subscription} from 'rxjs';
8

    
9
@Component({
10
  selector: 'app-search-box',
11
  templateUrl: './search-box.component.html',
12
  styleUrls: ['./search-box.component.css']
13
})
14
export class SearchBoxComponent implements OnInit, OnDestroy {
15
  expression: string;
16
  private queryServiceSubscription$: Subscription;
17

    
18
  constructor(private queryService: QueryService, private router: Router, private dataHolderService: DataHolderService) { }
19

    
20
  ngOnInit(): void {
21
  }
22

    
23
  onSubmit() {
24
    const searchRequest: SearchRequest = new SearchRequest(this.expression, new Date());
25
    console.log('odeslano: ' + JSON.stringify(searchRequest));
26

    
27
    this.queryServiceSubscription$ = this.queryService.searchPost(searchRequest).subscribe (data => {
28
      this.dataHolderService.setData(data);
29
      if (this.router.url === '/') {
30
        this.router.navigate(['/search']);
31
      }
32
    });
33
  }
34

    
35
  ngOnDestroy(): void {
36
    console.log(this.queryServiceSubscription$);
37
    if (this.queryServiceSubscription$ !== undefined) {
38
      console.log('podminka');
39
      this.queryServiceSubscription$.unsubscribe();
40
    }
41
  }
42
}
(4-4/4)