outsystems-ui
Version:
OutSystems UI Framework
75 lines (70 loc) • 2.33 kB
text/typescript
// eslint-disable-next-line @typescript-eslint/no-unused-vars
namespace OSFramework.OSUI.Patterns.RangeSlider {
export abstract class AbstractRangeSliderConfig extends Patterns.AbstractProviderConfiguration {
// These variables hold the inital state of a RangeSlider
public InitialValueFrom: number;
public InitialValueTo: number;
public IsDisabled: boolean;
public IsInterval: boolean;
public MaxValue: number;
public MinValue: number;
public Orientation: Orientation;
public ShowFloatingLabel: boolean;
public ShowTickMarks: boolean;
public Size: string;
public StartingValueFrom: number;
public StartingValueTo: number;
public Step: number;
public TickMarksInterval: number;
constructor(config: JSON) {
super(config);
}
/**
* Method that will check if a given property (key) value is the type expected!
*
* @param key property name
* @param value value to be check
* @returns {unknown} value
* @memberof OSFramework.Patterns.RangeSlider.AbstractRangeSliderConfig
*/
public validateDefault(key: string, value: unknown): unknown {
let validatedValue = undefined;
switch (key) {
case Enum.Properties.InitialValueFrom:
case Enum.Properties.InitialValueTo:
validatedValue = this.validateNumber(value as number, 0);
break;
case Enum.Properties.Orientation:
validatedValue = this.validateInRange(
value,
GlobalEnum.Orientation.Horizontal,
GlobalEnum.Orientation.Vertical
);
break;
case Enum.Properties.IsDisabled:
case Enum.Properties.ShowFloatingLabel:
case Enum.Properties.ShowTickMarks:
validatedValue = this.validateBoolean(value as boolean, false);
break;
case Enum.Properties.Size:
validatedValue = this.validateString(
value as string,
this.Orientation === (GlobalEnum.Orientation.Horizontal as string)
? Enum.DefaultValues.PercentualSize
: Enum.DefaultValues.PixelSize
);
break;
case Enum.Properties.Step:
validatedValue = this.validateNumber(value as number, 1);
break;
case Enum.Properties.TickMarksInterval:
validatedValue = this.validateNumber(value as number, 0);
break;
default:
validatedValue = super.validateDefault(key, value);
break;
}
return validatedValue;
}
}
}