Browse Source

add debound time

pull/15/head
PhamY0601 1 year ago
parent
commit
a8c63b3f53
1 changed files with 12 additions and 5 deletions
  1. +12
    -5
      src/app/shared/component/slider-range/slider-range.component.ts

+ 12
- 5
src/app/shared/component/slider-range/slider-range.component.ts View File

@@ -6,6 +6,7 @@ import {
Output,
} from '@angular/core';
import { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';
import {debounceTime, Subject} from 'rxjs';

@Component({
selector: 'app-slider-range',
@@ -24,11 +25,16 @@ export class SliderRangeComponent implements ControlValueAccessor {
@Input() max: number = 300;
@Input() icon: string = '';
@Output() valueChange = new EventEmitter<number>();
@Input() disable: boolean = false;
onChange = (value: number) => {};
onTouched = () => {};
private valueChangeSubject = new Subject<number>();

constructor() {}
constructor() {
this.valueChangeSubject.pipe(debounceTime(500)).subscribe(value => {
this.valueChange.emit(value);
});
}

writeValue(value: number): void {
this.value = value;
@@ -50,7 +56,7 @@ export class SliderRangeComponent implements ControlValueAccessor {
this.value = event.target.value;
this.onChange(this.value);
this.onTouched();
this.valueChange.emit(this.value);
this.valueChangeSubject.next(this.value);
}

onSliderChangeBackground() {
@@ -88,7 +94,8 @@ export class SliderRangeComponent implements ControlValueAccessor {
this.value += 10;
this.onChange(this.value);
this.onTouched();
this.valueChange.emit(this.value);
this.valueChangeSubject.next(this.value);

}
}

@@ -97,7 +104,7 @@ export class SliderRangeComponent implements ControlValueAccessor {
this.value -= 10;
this.onChange(this.value);
this.onTouched();
this.valueChange.emit(this.value);
this.valueChangeSubject.next(this.value);
}
}
}

Loading…
Cancel
Save