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
|
ambiant: 0
|
||||||
})
|
})
|
||||||
|
|
||||||
const { subscribeToObjectEvent, connected } = useContext(ApiServerContext)
|
const { subscribeToObjectEvent, connected, sendObjectAction } =
|
||||||
|
useContext(ApiServerContext)
|
||||||
|
|
||||||
// Sync input values with actual temperature targets
|
// Sync input values with actual temperature targets
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
@ -90,10 +91,19 @@ const PrinterTemperaturePanel = ({
|
|||||||
const [extruderTarget, setExtruderTarget] = useState(0)
|
const [extruderTarget, setExtruderTarget] = useState(0)
|
||||||
const [bedTarget, setBedTarget] = useState(0)
|
const [bedTarget, setBedTarget] = useState(0)
|
||||||
|
|
||||||
const handleSetTemperature = (data) => {
|
const handleSetTemperature = async (data) => {
|
||||||
if (id && connected == true) {
|
if (id && connected == true) {
|
||||||
console.log(data)
|
await sendObjectAction(
|
||||||
//sendObjectAction(id, 'printer', { type: 'setTemperature', data })
|
id,
|
||||||
|
'printer',
|
||||||
|
{
|
||||||
|
type: 'setTemperature',
|
||||||
|
data
|
||||||
|
},
|
||||||
|
(result) => {
|
||||||
|
console.log('setTemperatureResult', result)
|
||||||
|
}
|
||||||
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -169,16 +179,20 @@ const PrinterTemperaturePanel = ({
|
|||||||
style={{ width: '120px' }}
|
style={{ width: '120px' }}
|
||||||
addonAfter='°C'
|
addonAfter='°C'
|
||||||
onChange={(value) => setExtruderTarget(value || 0)}
|
onChange={(value) => setExtruderTarget(value || 0)}
|
||||||
onPressEnter={handleSetTemperature({
|
onPressEnter={() =>
|
||||||
extruder: { target: extruderTarget }
|
handleSetTemperature({
|
||||||
})}
|
extruder: { target: extruderTarget }
|
||||||
|
})
|
||||||
|
}
|
||||||
/>
|
/>
|
||||||
<Button
|
<Button
|
||||||
type='default'
|
type='default'
|
||||||
style={{ width: 40 }}
|
style={{ width: 40 }}
|
||||||
onClick={handleSetTemperature({
|
onClick={() =>
|
||||||
extruder: { target: extruderTarget }
|
handleSetTemperature({
|
||||||
})}
|
extruder: { target: extruderTarget }
|
||||||
|
})
|
||||||
|
}
|
||||||
>
|
>
|
||||||
Set
|
Set
|
||||||
</Button>
|
</Button>
|
||||||
@ -226,16 +240,20 @@ const PrinterTemperaturePanel = ({
|
|||||||
style={{ width: '120px' }}
|
style={{ width: '120px' }}
|
||||||
addonAfter='°C'
|
addonAfter='°C'
|
||||||
onChange={(value) => setBedTarget(value || 0)}
|
onChange={(value) => setBedTarget(value || 0)}
|
||||||
onPressEnter={handleSetTemperature({
|
onPressEnter={() =>
|
||||||
bed: { target: bedTarget }
|
handleSetTemperature({
|
||||||
})}
|
bed: { target: bedTarget }
|
||||||
|
})
|
||||||
|
}
|
||||||
/>
|
/>
|
||||||
<Button
|
<Button
|
||||||
type='default'
|
type='default'
|
||||||
style={{ width: 40 }}
|
style={{ width: 40 }}
|
||||||
onClick={handleSetTemperature({
|
onClick={() =>
|
||||||
bed: { target: bedTarget }
|
handleSetTemperature({
|
||||||
})}
|
bed: { target: bedTarget }
|
||||||
|
})
|
||||||
|
}
|
||||||
>
|
>
|
||||||
Set
|
Set
|
||||||
</Button>
|
</Button>
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user