Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import { Component } from '@angular/core';
- import { NouiFormatter } from 'ng2-nouislider';
- import { BehaviorSubject, Observable } from 'rxjs';
- import * as moment from 'moment';
- @Component({
- selector: 'app-root',
- templateUrl: './app.component.html',
- styleUrls: ['./app.component.scss'],
- })
- export class AppComponent {
- someRange = [-12, 0];
- start$ = new BehaviorSubject<number>(-12);
- end$ = new BehaviorSubject<number>(0);
- config: any = {
- tooltips: [new StartFormat(this.start$), new EndFormat(this.end$)],
- };
- onChange(event: [number, number]) {
- this.start$.next(event[0]);
- this.end$.next(event[1]);
- }
- }
- class StartFormat implements NouiFormatter {
- private start: number;
- constructor(private start$: Observable<number>) {
- start$.subscribe(data => (this.start = data));
- }
- from = () => 0;
- to(value: number): string {
- return moment()
- .utc()
- .subtract(Math.abs(this.start), 'months')
- .toISOString();
- }
- }
- class EndFormat implements NouiFormatter {
- private end: number;
- constructor(private end$: Observable<number>) {
- end$.subscribe(data => (this.end = data));
- }
- from = () => 0;
- to(value: number): string {
- return moment()
- .utc()
- .subtract(Math.abs(this.end), 'months')
- .toISOString();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement