Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | 93x 93x 10x 10x 2x 1x 1x | import { Input } from '../zd-input/input';
import { IToggleable, StateType } from './interfaces';
/**
* Base class for Toggleable inputs.
*/
export class Toggleable extends Input implements IToggleable {
/**
* Value for falsy state
*/
public falseValue: StateType = false;
/**
* Value for truthy state
*/
public trueValue: StateType = true;
/* istanbul ignore next */
/**
* Create a new Toggleable input.
* @param props Toggleable properties
*/
constructor(props: IToggleable) {
super(props);
this.falseValue = this.getInitValue('falseValue', props.falseValue, this.falseValue);
this.trueValue = this.getInitValue('trueValue', props.trueValue, this.trueValue);
this.createAccessors();
}
public toggleValue() {
if (this.value === this.trueValue) {
this.value = this.falseValue;
} else {
this.value = this.trueValue;
}
}
}
|