// PrinterMovementPanel.js import { useContext, useState } from 'react' import { Flex, Space, InputNumber, Button, Radio, Dropdown, Card, message // eslint-disable-line } from 'antd' import PropTypes from 'prop-types' import LevelBedIcon from '../../Icons/LevelBedIcon' import ArrowLeftIcon from '../../Icons/ArrowLeftIcon' import ArrowRightIcon from '../../Icons/ArrowRightIcon' import ArrowUpIcon from '../../Icons/ArrowUpIcon' import ArrowDownIcon from '../../Icons/ArrowDownIcon' import HomeIcon from '../../Icons/HomeIcon' import { ApiServerContext } from '../context/ApiServerContext' const PrinterMovementPanel = ({ id }) => { const { connected, sendObjectAction } = useContext(ApiServerContext) const [posValue, setPosValue] = useState(10) const [rateValue, setRateValue] = useState(1000) const handlePosRadioChange = (e) => { const value = e.target.value setPosValue(value) // Update posValue state when radio button changes } const handlePosInputChange = (value) => { setPosValue(value) // Update posValue state when input changes } const handleRateInputChange = (value) => { setRateValue(value) // Update rateValue state when input changes } const handleHomeAxisClick = (axis) => { if (id && connected == true) { sendObjectAction(id, 'printer', { type: 'homeAxis', data: { axis: axis } }) } } const handleMoveAxisClick = (axis, minus) => { const distanceValue = !minus ? posValue * -1 : posValue if (id && connected == true) { sendObjectAction(id, 'printer', { type: 'moveAxis', data: { axis: axis, distance: distanceValue, rate: rateValue } }) } //sendCommand('moveAxis', { axis, pos, rate }) } const handleLevelBedClick = () => { //sendCommand('levelBed') } const homeAxisButtonItems = [ { key: 'homeXYZ', label: 'Home XYZ', onClick: () => handleHomeAxisClick('ALL') }, { key: 'homeXY', label: 'Home XY', onClick: () => handleHomeAxisClick('X Y') }, { key: 'homeX', label: 'Home X', onClick: () => handleHomeAxisClick('X') }, { key: 'homeY', label: 'Home Y', onClick: () => handleHomeAxisClick('Y') }, { key: 'homeZ', label: 'Home Z', onClick: () => handleHomeAxisClick('Z') } ] return (
0.1 1 10 100
) } PrinterMovementPanel.propTypes = { id: PropTypes.string.isRequired } export default PrinterMovementPanel