|
@@ -2,6 +2,8 @@ import * as React from "react";
|
|
import { Observable } from "babylonjs/Misc/observable";
|
|
import { Observable } from "babylonjs/Misc/observable";
|
|
import { Tools } from 'babylonjs/Misc/tools';
|
|
import { Tools } from 'babylonjs/Misc/tools';
|
|
import { PropertyChangedEvent } from './propertyChangedEvent';
|
|
import { PropertyChangedEvent } from './propertyChangedEvent';
|
|
|
|
+import { FloatLineComponent } from './floatLineComponent';
|
|
|
|
+import { GlobalState } from '../globalState';
|
|
|
|
|
|
interface ISliderLineComponentProps {
|
|
interface ISliderLineComponentProps {
|
|
label: string;
|
|
label: string;
|
|
@@ -16,6 +18,7 @@ interface ISliderLineComponentProps {
|
|
onInput?: (value: number) => void;
|
|
onInput?: (value: number) => void;
|
|
onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
|
|
onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
|
|
decimalCount?: number;
|
|
decimalCount?: number;
|
|
|
|
+ globalState: GlobalState;
|
|
}
|
|
}
|
|
|
|
|
|
export class SliderLineComponent extends React.Component<ISliderLineComponentProps, { value: number }> {
|
|
export class SliderLineComponent extends React.Component<ISliderLineComponentProps, { value: number }> {
|
|
@@ -100,14 +103,20 @@ export class SliderLineComponent extends React.Component<ISliderLineComponentPro
|
|
}
|
|
}
|
|
|
|
|
|
render() {
|
|
render() {
|
|
- let decimalCount = this.props.decimalCount !== undefined ? this.props.decimalCount : 2;
|
|
|
|
|
|
+
|
|
return (
|
|
return (
|
|
<div className="sliderLine">
|
|
<div className="sliderLine">
|
|
<div className="label">
|
|
<div className="label">
|
|
{this.props.label}
|
|
{this.props.label}
|
|
</div>
|
|
</div>
|
|
|
|
+ <FloatLineComponent globalState={this.props.globalState} smallUI={true} label="" target={this.state} propertyName="value" min={this.prepareDataToRead(this.props.minimum)} max={this.prepareDataToRead(this.props.maximum)}
|
|
|
|
+ onEnter={ () => {
|
|
|
|
+ this.onChange(this.state.value)
|
|
|
|
+ }
|
|
|
|
+ } >
|
|
|
|
+ </FloatLineComponent>
|
|
<div className="slider">
|
|
<div className="slider">
|
|
- {this.state.value ? this.prepareDataToRead(this.state.value).toFixed(decimalCount) : "0"} <input className="range" type="range" step={this.props.step} min={this.prepareDataToRead(this.props.minimum)} max={this.prepareDataToRead(this.props.maximum)} value={this.prepareDataToRead(this.state.value)}
|
|
|
|
|
|
+ <input className="range" type="range" step={this.props.step} min={this.prepareDataToRead(this.props.minimum)} max={this.prepareDataToRead(this.props.maximum)} value={this.prepareDataToRead(this.state.value)}
|
|
onInput={evt => this.onInput((evt.target as HTMLInputElement).value)}
|
|
onInput={evt => this.onInput((evt.target as HTMLInputElement).value)}
|
|
onChange={evt => this.onChange(evt.target.value)} />
|
|
onChange={evt => this.onChange(evt.target.value)} />
|
|
</div>
|
|
</div>
|