+ [class.disabled]="disabled">
GO
diff --git a/utils/rangeFilter/rangeFilter.component.ts b/utils/rangeFilter/rangeFilter.component.ts
index 084ebce0..d99993c7 100644
--- a/utils/rangeFilter/rangeFilter.component.ts
+++ b/utils/rangeFilter/rangeFilter.component.ts
@@ -1,10 +1,10 @@
-import {Component, EventEmitter, Input, Output} from '@angular/core';
+import {Component, EventEmitter, Input, Output, ViewChild} from '@angular/core';
import {RangeFilter} from './rangeFilterHelperClasses.class';
import {Dates, StringUtils} from "../string-utils.class";
import {ActivatedRoute, Router} from "@angular/router";
import {properties} from "../../../../environments/environment";
import {UntypedFormBuilder, UntypedFormGroup} from "@angular/forms";
-import {YearRange} from "../../sharedComponents/input/input.component";
+import {InputComponent, YearRange} from "../../sharedComponents/input/input.component";
@Component({
selector: 'range-filter',
@@ -17,7 +17,6 @@ export class RangeFilterComponent {
@Input() isDisabled:boolean = false;
@Input() showQuickButtons:boolean = true;
public _maxCharacters:number =28;
- public focusedInput: string = "";
@Input() yearMin: number = Dates.yearMin;
@Input() yearMax: number = Dates.yearMax;
@Input() mandatoryRange:boolean = false;
@@ -29,10 +28,16 @@ export class RangeFilterComponent {
from: {control: 'yearFrom', placeholder: this.yearMin.toString()},
to: {control: 'yearTo', placeholder: this.yearMax.toString()}
}
-
@Output() onFilterChange = new EventEmitter();
@Input() actionRoute:boolean = false;
+ @ViewChild('input') input: InputComponent;
queryParams = {};
+ onEnter: () => void = () => {
+ if(!this.disabled) {
+ this.yearChanged();
+ }
+ }
+
constructor(private _router: Router, private route: ActivatedRoute, private _fb: UntypedFormBuilder) {}
ngOnInit() {
@@ -51,6 +56,12 @@ export class RangeFilterComponent {
public _formatTitle(title){
return ((title.length > this._maxCharacters)?(title.substring(0,(this._maxCharacters - ('...').length))+"..."):title);
}
+
+ get disabled() {
+ return this.isDisabled || this.rangeForm.invalid ||
+ (!this.rangeForm.get('yearFrom').dirty && !this.rangeForm.get('yearTo').dirty) ||
+ this.rangeForm.get('yearFrom').invalid || this.rangeForm.get('yearTo').invalid
+ }
yearChanged(yearsSelected: number = null){
if(yearsSelected != null) {
@@ -72,16 +83,11 @@ export class RangeFilterComponent {
this.filter.selectedToValue = null;
this.rangeForm.get('yearFrom').setValue(this.filter.selectedFromValue);
this.rangeForm.get('yearTo').setValue(this.filter.selectedToValue);
- console.log(this.rangeForm);
this.onFilterChange.emit({
value: this.filter
});
}
- getFilterName(value){
- return value.name + " (" + value.number.format() + ")";
- }
-
stringToNum(value: string): number {
return +(value);
}