igniteui-angular-sovn
Version:
Ignite UI for Angular is a dependency-free Angular toolkit for building modern web apps
95 lines (74 loc) • 2.42 kB
text/typescript
import { Component, Input, TemplateRef, HostBinding, ElementRef } from '@angular/core';
import { SliderHandle } from '../slider.common';
import { IgxSliderThumbComponent } from '../thumb/thumb-slider.component';
import { NgClass, NgTemplateOutlet } from '@angular/common';
/**
* @hidden
*/
export class IgxThumbLabelComponent {
public value: any;
public templateRef: TemplateRef<any>;
public context: any;
public type: SliderHandle;
public continuous: boolean;
public deactiveState: boolean;
public thumb: IgxSliderThumbComponent;
public get thumbFromClass() {
return this.type === SliderHandle.FROM;
}
public get thumbToClass() {
return this.type === SliderHandle.TO;
}
public get thumbFromActiveClass() {
return this.type === SliderHandle.FROM && this.active;
}
public get thumbToActiveClass() {
return this.type === SliderHandle.TO && this.active;
}
public get labelFromPressedClass() {
return this.thumb?.thumbFromPressedClass;
}
public get labelToPressedClass() {
return this.thumb?.thumbToPressedClass;
}
public get getLabelClass() {
return {
'igx-slider-thumb-label-from__container': this.type === SliderHandle.FROM,
'igx-slider-thumb-label-to__container': this.type === SliderHandle.TO
};
}
private _active: boolean;
constructor(private _elementRef: ElementRef) { }
public get nativeElement() {
return this._elementRef.nativeElement;
}
public get active() {
return this._active;
}
public set active(val: boolean) {
if (this.continuous || this.deactiveState) {
this._active = false;
} else {
this._active = val;
}
}
}