mirror of
https://github.com/tiqi-group/pydase.git
synced 2025-06-05 13:10:41 +02:00
frontend: remote states from slider component
This commit is contained in:
parent
e48e33c948
commit
9c9e11ac51
@ -1,10 +1,10 @@
|
|||||||
import { useEffect, useReducer } from 'react';
|
import { useEffect, useReducer } from 'react';
|
||||||
import { Component, ComponentLabel } from './components/component';
|
import { Component, ComponentLabel } from './components/component';
|
||||||
import { ButtonComponent } from './components/ButtonComponent';
|
import { ButtonComponent } from './components/ButtonComponent';
|
||||||
import { socket } from './socket';
|
|
||||||
import { NumberComponent } from './components/NumberComponent';
|
import { NumberComponent } from './components/NumberComponent';
|
||||||
import { SliderComponent } from './components/SliderComponent';
|
import { SliderComponent } from './components/SliderComponent';
|
||||||
import { EnumComponent } from './components/EnumComponent';
|
import { EnumComponent } from './components/EnumComponent';
|
||||||
|
import { socket } from './socket';
|
||||||
|
|
||||||
type AttributeType =
|
type AttributeType =
|
||||||
| 'str'
|
| 'str'
|
||||||
|
@ -1,15 +1,5 @@
|
|||||||
import React, { useEffect, useRef, useState } from 'react';
|
import React, { useEffect, useRef, useState } from 'react';
|
||||||
import {
|
import { InputGroup, Form, Row, Col, Button, Collapse } from 'react-bootstrap';
|
||||||
OverlayTrigger,
|
|
||||||
Badge,
|
|
||||||
Tooltip,
|
|
||||||
InputGroup,
|
|
||||||
Form,
|
|
||||||
Row,
|
|
||||||
Col,
|
|
||||||
Button,
|
|
||||||
Collapse
|
|
||||||
} from 'react-bootstrap';
|
|
||||||
import { socket } from '../socket';
|
import { socket } from '../socket';
|
||||||
import RangeSlider from 'react-bootstrap-range-slider';
|
import RangeSlider from 'react-bootstrap-range-slider';
|
||||||
import { DocStringComponent } from './DocStringComponent';
|
import { DocStringComponent } from './DocStringComponent';
|
||||||
@ -33,10 +23,7 @@ export const SliderComponent = React.memo((props: SliderComponentProps) => {
|
|||||||
renderCount.current++;
|
renderCount.current++;
|
||||||
});
|
});
|
||||||
|
|
||||||
const { name, parent_path, value, readOnly, docString } = props;
|
const { name, parent_path, value, min, max, stepSize, readOnly, docString } = props;
|
||||||
const [min, setMin] = useState(props.min);
|
|
||||||
const [max, setMax] = useState(props.max);
|
|
||||||
const [stepSize, setStepSize] = useState(props.stepSize);
|
|
||||||
|
|
||||||
const socketEmit = (
|
const socketEmit = (
|
||||||
newNumber: number,
|
newNumber: number,
|
||||||
@ -56,18 +43,17 @@ export const SliderComponent = React.memo((props: SliderComponentProps) => {
|
|||||||
const handleValueChange = (newValue: number, valueType: string) => {
|
const handleValueChange = (newValue: number, valueType: string) => {
|
||||||
switch (valueType) {
|
switch (valueType) {
|
||||||
case 'min':
|
case 'min':
|
||||||
setMin(newValue);
|
socketEmit(value, newValue, max, stepSize);
|
||||||
break;
|
break;
|
||||||
case 'max':
|
case 'max':
|
||||||
setMax(newValue);
|
socketEmit(value, min, newValue, stepSize);
|
||||||
break;
|
break;
|
||||||
case 'stepSize':
|
case 'stepSize':
|
||||||
setStepSize(newValue);
|
socketEmit(value, min, max, newValue);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
socketEmit(value, min, max, stepSize);
|
|
||||||
};
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
Loading…
x
Reference in New Issue
Block a user