Project

General

Profile

1
import {Component, Input, Output, EventEmitter} from '@angular/core';
2
import { RangeFilter } from './rangeFilterHelperClasses.class';
3
import { Dates } from "../string-utils.class";
4

    
5
@Component({
6
  selector: 'range-filter',
7
  templateUrl: 'rangeFilter.component.html'
8
})
9

    
10
export class RangeFilterComponent {
11

    
12
  @Input() filter:RangeFilter;
13
  @Input() isDisabled:boolean = false;
14
  public _maxCharacters:number =28;
15
  public focusedInput: string = "";
16
  public yearMin: number = Dates.yearMin;
17
  public yearMax: number = Dates.yearMax;
18
  public currentYear: number = Dates.currentYear;
19

    
20
  @Output() onFilterChange = new EventEmitter();
21

    
22
  constructor() {}
23

    
24
  ngOnInit() {}
25

    
26
  public _formatTitle(title){
27
    return ((title.length > this._maxCharacters)?(title.substring(0,(this._maxCharacters - ('...').length))+"..."):title);
28
  }
29

    
30
  yearChanged(yearsSelected: number = null){
31
    if(yearsSelected != null) {
32
      this.filter.selectedFromValue = (this.currentYear - yearsSelected) + "";
33
      this.filter.selectedToValue = this.currentYear + "";
34
    }
35
    this.onFilterChange.emit({
36
      value: this.filter
37
    });
38
  }
39

    
40
  clearFilter() {
41
    this.filter.selectedFromValue = null;
42
    this.filter.selectedToValue = null;
43
    this.onFilterChange.emit({
44
      value: this.filter
45
    });
46
  }
47

    
48
  getFilterName(value){
49
    let name = value.name +" ("+ value.number.format()+")";
50
    return name;
51
  }
52
}
(4-4/6)