Enhance PrinterTemperaturePanel component by adding sendObjectAction for temperature setting; refactor handleSetTemperature to support async operations and improve event handling for temperature input changes.
This commit is contained in:
parent
d07e2be330
commit
800e0d82a2
@ -53,7 +53,8 @@ const PrinterTemperaturePanel = ({
|
||||
ambiant: 0
|
||||
})
|
||||
|
||||
const { subscribeToObjectEvent, connected } = useContext(ApiServerContext)
|
||||
const { subscribeToObjectEvent, connected, sendObjectAction } =
|
||||
useContext(ApiServerContext)
|
||||
|
||||
// Sync input values with actual temperature targets
|
||||
useEffect(() => {
|
||||
@ -90,10 +91,19 @@ const PrinterTemperaturePanel = ({
|
||||
const [extruderTarget, setExtruderTarget] = useState(0)
|
||||
const [bedTarget, setBedTarget] = useState(0)
|
||||
|
||||
const handleSetTemperature = (data) => {
|
||||
const handleSetTemperature = async (data) => {
|
||||
if (id && connected == true) {
|
||||
console.log(data)
|
||||
//sendObjectAction(id, 'printer', { type: 'setTemperature', data })
|
||||
await sendObjectAction(
|
||||
id,
|
||||
'printer',
|
||||
{
|
||||
type: 'setTemperature',
|
||||
data
|
||||
},
|
||||
(result) => {
|
||||
console.log('setTemperatureResult', result)
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@ -169,16 +179,20 @@ const PrinterTemperaturePanel = ({
|
||||
style={{ width: '120px' }}
|
||||
addonAfter='°C'
|
||||
onChange={(value) => setExtruderTarget(value || 0)}
|
||||
onPressEnter={handleSetTemperature({
|
||||
extruder: { target: extruderTarget }
|
||||
})}
|
||||
onPressEnter={() =>
|
||||
handleSetTemperature({
|
||||
extruder: { target: extruderTarget }
|
||||
})
|
||||
}
|
||||
/>
|
||||
<Button
|
||||
type='default'
|
||||
style={{ width: 40 }}
|
||||
onClick={handleSetTemperature({
|
||||
extruder: { target: extruderTarget }
|
||||
})}
|
||||
onClick={() =>
|
||||
handleSetTemperature({
|
||||
extruder: { target: extruderTarget }
|
||||
})
|
||||
}
|
||||
>
|
||||
Set
|
||||
</Button>
|
||||
@ -226,16 +240,20 @@ const PrinterTemperaturePanel = ({
|
||||
style={{ width: '120px' }}
|
||||
addonAfter='°C'
|
||||
onChange={(value) => setBedTarget(value || 0)}
|
||||
onPressEnter={handleSetTemperature({
|
||||
bed: { target: bedTarget }
|
||||
})}
|
||||
onPressEnter={() =>
|
||||
handleSetTemperature({
|
||||
bed: { target: bedTarget }
|
||||
})
|
||||
}
|
||||
/>
|
||||
<Button
|
||||
type='default'
|
||||
style={{ width: 40 }}
|
||||
onClick={handleSetTemperature({
|
||||
bed: { target: bedTarget }
|
||||
})}
|
||||
onClick={() =>
|
||||
handleSetTemperature({
|
||||
bed: { target: bedTarget }
|
||||
})
|
||||
}
|
||||
>
|
||||
Set
|
||||
</Button>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user