Farmbot-Web-App/frontend/devices/components/hardware_settings/calibration_row.tsx

39 lines
1.3 KiB
TypeScript
Raw Normal View History

2017-06-29 12:54:02 -06:00
import * as React from "react";
import { LockableButton } from "../lockable_button";
import { axisTrackingStatus } from "../axis_tracking_status";
2019-09-19 07:41:37 -06:00
import { Row, Col, Help } from "../../../ui/index";
import { CalibrationRowProps } from "../interfaces";
2019-04-02 13:59:37 -06:00
import { t } from "../../../i18next_wrapper";
2019-09-19 07:41:37 -06:00
import { Position } from "@blueprintjs/core";
2020-02-18 12:21:09 -07:00
import { Highlight } from "../maybe_highlight";
2017-06-29 12:54:02 -06:00
export function CalibrationRow(props: CalibrationRowProps) {
2018-03-09 02:34:24 -07:00
const { hardware, botDisconnected } = props;
2017-06-29 12:54:02 -06:00
return <Row>
2020-02-18 12:21:09 -07:00
<Highlight settingName={props.title}>
<Col xs={6} className={"widget-body-tooltips"}>
<label>
{t(props.title)}
</label>
<Help text={t(props.toolTip)}
requireClick={true} position={Position.RIGHT} />
</Col>
{axisTrackingStatus(hardware)
.map(row => {
const { axis } = row;
const hardwareDisabled = props.type == "zero" ? false : row.disabled;
return <Col xs={2} key={axis} className={"centered-button-div"}>
<LockableButton
disabled={hardwareDisabled || botDisconnected}
2020-02-28 09:34:28 -07:00
title={t(props.axisTitle)}
2020-02-18 12:21:09 -07:00
onClick={() => props.action(axis)}>
{`${t(props.axisTitle)} ${axis}`}
</LockableButton>
</Col>;
})}
</Highlight>
2017-06-29 12:54:02 -06:00
</Row>;
}