mirror of
https://github.com/tiqi-group/pydase.git
synced 2025-04-20 00:10:03 +02:00
updates frontend components to use new methods from socket.ts
This commit is contained in:
parent
a750644c20
commit
d18be54284
@ -1,5 +1,5 @@
|
|||||||
import React, { useEffect, useRef } from 'react';
|
import React, { useEffect, useRef } from 'react';
|
||||||
import { emit_update } from '../socket';
|
import { runMethod } from '../socket';
|
||||||
import { InputGroup, Form, Button } from 'react-bootstrap';
|
import { InputGroup, Form, Button } from 'react-bootstrap';
|
||||||
import { DocStringComponent } from './DocStringComponent';
|
import { DocStringComponent } from './DocStringComponent';
|
||||||
import { getIdFromFullAccessPath } from '../utils/stringUtils';
|
import { getIdFromFullAccessPath } from '../utils/stringUtils';
|
||||||
@ -56,18 +56,18 @@ export const AsyncMethodComponent = React.memo((props: AsyncMethodProps) => {
|
|||||||
const execute = async (event: React.FormEvent) => {
|
const execute = async (event: React.FormEvent) => {
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
let method_name: string;
|
let method_name: string;
|
||||||
const args = {};
|
const kwargs: Record<string, unknown> = {};
|
||||||
|
|
||||||
if (runningTask !== undefined && runningTask !== null) {
|
if (runningTask !== undefined && runningTask !== null) {
|
||||||
method_name = `stop_${name}`;
|
method_name = `stop_${name}`;
|
||||||
} else {
|
} else {
|
||||||
Object.keys(props.parameters).forEach(
|
Object.keys(props.parameters).forEach(
|
||||||
(name) => (args[name] = event.target[name].value)
|
(name) => (kwargs[name] = event.target[name].value)
|
||||||
);
|
);
|
||||||
method_name = `start_${name}`;
|
method_name = `start_${name}`;
|
||||||
}
|
}
|
||||||
|
|
||||||
emit_update(method_name, parentPath, { args: args });
|
runMethod(method_name, parentPath, kwargs);
|
||||||
};
|
};
|
||||||
|
|
||||||
const args = Object.entries(props.parameters).map(([name, type], index) => {
|
const args = Object.entries(props.parameters).map(([name, type], index) => {
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
import React, { useEffect, useRef } from 'react';
|
import React, { useEffect, useRef } from 'react';
|
||||||
import { ToggleButton } from 'react-bootstrap';
|
import { ToggleButton } from 'react-bootstrap';
|
||||||
import { emit_update } from '../socket';
|
import { setAttribute } from '../socket';
|
||||||
import { DocStringComponent } from './DocStringComponent';
|
import { DocStringComponent } from './DocStringComponent';
|
||||||
import { getIdFromFullAccessPath } from '../utils/stringUtils';
|
import { getIdFromFullAccessPath } from '../utils/stringUtils';
|
||||||
|
|
||||||
@ -31,7 +31,7 @@ export const ButtonComponent = React.memo((props: ButtonComponentProps) => {
|
|||||||
}, [props.value]);
|
}, [props.value]);
|
||||||
|
|
||||||
const setChecked = (checked: boolean) => {
|
const setChecked = (checked: boolean) => {
|
||||||
emit_update(name, parentPath, checked);
|
setAttribute(name, parentPath, checked);
|
||||||
};
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
import React, { useEffect, useRef } from 'react';
|
import React, { useEffect, useRef } from 'react';
|
||||||
import { InputGroup, Form, Row, Col } from 'react-bootstrap';
|
import { InputGroup, Form, Row, Col } from 'react-bootstrap';
|
||||||
import { emit_update } from '../socket';
|
import { setAttribute } from '../socket';
|
||||||
import { DocStringComponent } from './DocStringComponent';
|
import { DocStringComponent } from './DocStringComponent';
|
||||||
import { getIdFromFullAccessPath } from '../utils/stringUtils';
|
import { getIdFromFullAccessPath } from '../utils/stringUtils';
|
||||||
|
|
||||||
@ -36,7 +36,7 @@ export const ColouredEnumComponent = React.memo((props: ColouredEnumComponentPro
|
|||||||
}, [props.value]);
|
}, [props.value]);
|
||||||
|
|
||||||
const handleValueChange = (newValue: string) => {
|
const handleValueChange = (newValue: string) => {
|
||||||
emit_update(name, parentPath, newValue);
|
setAttribute(name, parentPath, newValue);
|
||||||
};
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
import React, { useEffect, useRef } from 'react';
|
import React, { useEffect, useRef } from 'react';
|
||||||
import { InputGroup, Form, Row, Col } from 'react-bootstrap';
|
import { InputGroup, Form, Row, Col } from 'react-bootstrap';
|
||||||
import { emit_update } from '../socket';
|
import { setAttribute } from '../socket';
|
||||||
import { DocStringComponent } from './DocStringComponent';
|
import { DocStringComponent } from './DocStringComponent';
|
||||||
|
|
||||||
interface EnumComponentProps {
|
interface EnumComponentProps {
|
||||||
@ -33,7 +33,7 @@ export const EnumComponent = React.memo((props: EnumComponentProps) => {
|
|||||||
}, [props.value]);
|
}, [props.value]);
|
||||||
|
|
||||||
const handleValueChange = (newValue: string) => {
|
const handleValueChange = (newValue: string) => {
|
||||||
emit_update(name, parentPath, newValue);
|
setAttribute(name, parentPath, newValue);
|
||||||
};
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import React, { useState, useEffect, useRef } from 'react';
|
import React, { useState, useEffect, useRef } from 'react';
|
||||||
import { emit_update } from '../socket';
|
import { runMethod } from '../socket';
|
||||||
import { Button, InputGroup, Form, Collapse } from 'react-bootstrap';
|
import { Button, InputGroup, Form, Collapse } from 'react-bootstrap';
|
||||||
import { DocStringComponent } from './DocStringComponent';
|
import { DocStringComponent } from './DocStringComponent';
|
||||||
import { getIdFromFullAccessPath } from '../utils/stringUtils';
|
import { getIdFromFullAccessPath } from '../utils/stringUtils';
|
||||||
@ -46,18 +46,21 @@ export const MethodComponent = React.memo((props: MethodProps) => {
|
|||||||
const execute = async (event: React.FormEvent) => {
|
const execute = async (event: React.FormEvent) => {
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
|
|
||||||
const args = {};
|
const kwargs = {};
|
||||||
Object.keys(props.parameters).forEach(
|
Object.keys(props.parameters).forEach(
|
||||||
(name) => (args[name] = event.target[name].value)
|
(name) => (kwargs[name] = event.target[name].value)
|
||||||
);
|
);
|
||||||
emit_update(name, parentPath, { args: args }, (ack) => {
|
runMethod(name, parentPath, kwargs, (ack) => {
|
||||||
// Update the functionCalls state with the new call if we get an acknowledge msg
|
// Update the functionCalls state with the new call if we get an acknowledge msg
|
||||||
if (ack !== undefined) {
|
if (ack !== undefined) {
|
||||||
setFunctionCalls((prevCalls) => [...prevCalls, { name, args, result: ack }]);
|
setFunctionCalls((prevCalls) => [
|
||||||
|
...prevCalls,
|
||||||
|
{ name, args: kwargs, result: ack }
|
||||||
|
]);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
triggerNotification(args);
|
triggerNotification(kwargs);
|
||||||
};
|
};
|
||||||
|
|
||||||
const args = Object.entries(props.parameters).map(([name, type], index) => {
|
const args = Object.entries(props.parameters).map(([name, type], index) => {
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
import React, { useEffect, useRef, useState } from 'react';
|
import React, { useEffect, useRef, useState } from 'react';
|
||||||
import { Form, InputGroup } from 'react-bootstrap';
|
import { Form, InputGroup } from 'react-bootstrap';
|
||||||
import { emit_update } from '../socket';
|
import { setAttribute } from '../socket';
|
||||||
import { DocStringComponent } from './DocStringComponent';
|
import { DocStringComponent } from './DocStringComponent';
|
||||||
import '../App.css';
|
import '../App.css';
|
||||||
import { getIdFromFullAccessPath } from '../utils/stringUtils';
|
import { getIdFromFullAccessPath } from '../utils/stringUtils';
|
||||||
@ -125,7 +125,7 @@ export const NumberComponent = React.memo((props: NumberComponentProps) => {
|
|||||||
// If emitUpdate is passed, use this instead of the emit_update from the socket
|
// If emitUpdate is passed, use this instead of the emit_update from the socket
|
||||||
// Also used when used with a slider
|
// Also used when used with a slider
|
||||||
const emitUpdate =
|
const emitUpdate =
|
||||||
props.customEmitUpdate !== undefined ? props.customEmitUpdate : emit_update;
|
props.customEmitUpdate !== undefined ? props.customEmitUpdate : setAttribute;
|
||||||
|
|
||||||
const renderCount = useRef(0);
|
const renderCount = useRef(0);
|
||||||
// Create a state for the cursor position
|
// Create a state for the cursor position
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
import React, { useEffect, useRef, useState } from 'react';
|
import React, { useEffect, useRef, useState } from 'react';
|
||||||
import { InputGroup, Form, Row, Col, Collapse, ToggleButton } from 'react-bootstrap';
|
import { InputGroup, Form, Row, Col, Collapse, ToggleButton } from 'react-bootstrap';
|
||||||
import { emit_update } from '../socket';
|
import { setAttribute } from '../socket';
|
||||||
import { DocStringComponent } from './DocStringComponent';
|
import { DocStringComponent } from './DocStringComponent';
|
||||||
import { Slider } from '@mui/material';
|
import { Slider } from '@mui/material';
|
||||||
import { NumberComponent } from './NumberComponent';
|
import { NumberComponent } from './NumberComponent';
|
||||||
@ -66,7 +66,7 @@ export const SliderComponent = React.memo((props: SliderComponentProps) => {
|
|||||||
max: number = props.max,
|
max: number = props.max,
|
||||||
stepSize: number = props.stepSize
|
stepSize: number = props.stepSize
|
||||||
) => {
|
) => {
|
||||||
emit_update(
|
setAttribute(
|
||||||
name,
|
name,
|
||||||
parentPath,
|
parentPath,
|
||||||
{
|
{
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
import React, { useEffect, useRef, useState } from 'react';
|
import React, { useEffect, useRef, useState } from 'react';
|
||||||
import { Form, InputGroup } from 'react-bootstrap';
|
import { Form, InputGroup } from 'react-bootstrap';
|
||||||
import { emit_update } from '../socket';
|
import { setAttribute } from '../socket';
|
||||||
import { DocStringComponent } from './DocStringComponent';
|
import { DocStringComponent } from './DocStringComponent';
|
||||||
import '../App.css';
|
import '../App.css';
|
||||||
import { getIdFromFullAccessPath } from '../utils/stringUtils';
|
import { getIdFromFullAccessPath } from '../utils/stringUtils';
|
||||||
@ -41,19 +41,19 @@ export const StringComponent = React.memo((props: StringComponentProps) => {
|
|||||||
const handleChange = (event) => {
|
const handleChange = (event) => {
|
||||||
setInputString(event.target.value);
|
setInputString(event.target.value);
|
||||||
if (isInstantUpdate) {
|
if (isInstantUpdate) {
|
||||||
emit_update(name, parentPath, event.target.value);
|
setAttribute(name, parentPath, event.target.value);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
const handleKeyDown = (event) => {
|
const handleKeyDown = (event) => {
|
||||||
if (event.key === 'Enter' && !isInstantUpdate) {
|
if (event.key === 'Enter' && !isInstantUpdate) {
|
||||||
emit_update(name, parentPath, inputString);
|
setAttribute(name, parentPath, inputString);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
const handleBlur = () => {
|
const handleBlur = () => {
|
||||||
if (!isInstantUpdate) {
|
if (!isInstantUpdate) {
|
||||||
emit_update(name, parentPath, inputString);
|
setAttribute(name, parentPath, inputString);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user