Projekt

Obecné

Profil

Stáhnout (1.43 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/query.service';
4
import { Router } from '@angular/router';
5
import { DataHolderService } from '../../../services/data-holder/data-holder.service';
6
import {Subscription} from 'rxjs';
7

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

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

    
19
  ngOnInit(): void {
20
  }
21

    
22
  onSubmit(): void {
23
    if (!this.expression) { return; }
24

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

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

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