Projekt

Obecné

Profil

Stáhnout (1.49 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(): void {
24
    if (!this.expression) { return; }
25

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

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

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