frontend: using MethodComponent and AsyncMethodComponent

This commit is contained in:
Mose Müller 2023-08-02 12:06:20 +02:00
parent cf740cb058
commit 00c2cf7110

View File

@ -1,10 +1,11 @@
import { useEffect, useReducer } from 'react'; import { useEffect, useReducer } from 'react';
import { Component, ComponentLabel } from './components/component';
import { ButtonComponent } from './components/ButtonComponent'; import { ButtonComponent } from './components/ButtonComponent';
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'; import { socket } from './socket';
import { MethodComponent } from './components/MethodComponent';
import { AsyncMethodComponent } from './components/AsyncMethodComponent';
type AttributeType = type AttributeType =
| 'str' | 'str'
@ -183,20 +184,31 @@ const App = () => {
/> />
</div> </div>
); );
} else if (!value.async) { } else if (value.type === 'method') {
return ( if (!value.async) {
<div key={key}> return (
<ComponentLabel name={key} docString={value.doc} /> <div key={key}>
<Component <MethodComponent
name={key} name={key}
parent_path="DataService" parent_path="DataService"
value={value.value} docString={value.doc}
readOnly={value.readonly} parameters={value.parameters}
type={value.type} />
docString={value.doc} </div>
/> );
</div> } else {
); return (
<div key={key}>
<AsyncMethodComponent
name={key}
parent_path="DataService"
docString={value.doc}
parameters={value.parameters}
value={value.value as Record<string, string>}
/>
</div>
);
}
} else { } else {
return <div key={key}></div>; return <div key={key}></div>;
} }