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

86 lines
2.9 KiB
TypeScript
Raw Normal View History

2017-12-16 18:21:13 -07:00
import * as React from "react";
import { PinGuardMCUInputGroup } from "../pin_guard_input_group";
import { PinGuardProps } from "../interfaces";
import { Header } from "./header";
2019-09-19 07:41:37 -06:00
import { Collapse, Position } from "@blueprintjs/core";
import { Row, Col, Help } from "../../../ui/index";
2020-02-18 12:21:09 -07:00
import { ToolTips, DeviceSetting } from "../../../constants";
2019-04-02 13:59:37 -06:00
import { t } from "../../../i18next_wrapper";
2020-02-18 12:21:09 -07:00
import { Highlight } from "../maybe_highlight";
2017-12-16 18:21:13 -07:00
export function PinGuard(props: PinGuardProps) {
2018-03-09 02:34:24 -07:00
const { pin_guard } = props.controlPanelState;
2019-06-21 15:45:44 -06:00
const { dispatch, sourceFwConfig, resources } = props;
2017-12-16 18:21:13 -07:00
2020-02-18 12:21:09 -07:00
return <Highlight className={"section"}
settingName={DeviceSetting.pinGuard}>
2017-12-16 18:21:13 -07:00
<Header
expanded={pin_guard}
2020-02-18 12:21:09 -07:00
title={DeviceSetting.pinGuard}
panel={"pin_guard"}
2017-12-16 18:21:13 -07:00
dispatch={dispatch} />
<Collapse isOpen={!!pin_guard}>
<Row>
2019-09-19 07:41:37 -06:00
<Col xs={3} xsOffset={3} className={"widget-body-tooltips"}>
2017-12-16 18:21:13 -07:00
<label>
{t("Pin Number")}
</label>
2020-02-07 16:05:16 -07:00
<Help text={ToolTips.PIN_GUARD_PIN_NUMBER} requireClick={true}
position={Position.RIGHT} />
2017-12-16 18:21:13 -07:00
</Col>
2018-01-29 11:32:32 -07:00
<Col xs={4}>
2017-12-16 18:21:13 -07:00
<label>
{t("Timeout (sec)")}
</label>
</Col>
2018-01-29 11:32:32 -07:00
<Col xs={2} className={"centered-button-div"}>
<label>
2017-12-20 20:01:40 -07:00
{t("To State")}
2017-12-16 18:21:13 -07:00
</label>
</Col>
</Row>
<PinGuardMCUInputGroup
2018-02-27 14:24:15 -07:00
name={t("Pin Guard {{ num }}", { num: 1 })}
2019-06-21 15:45:44 -06:00
pinNumKey={"pin_guard_1_pin_nr"}
timeoutKey={"pin_guard_1_time_out"}
activeStateKey={"pin_guard_1_active_state"}
2017-12-16 18:21:13 -07:00
dispatch={dispatch}
2019-06-21 15:45:44 -06:00
resources={resources}
2018-03-09 02:34:24 -07:00
sourceFwConfig={sourceFwConfig} />
2017-12-16 18:21:13 -07:00
<PinGuardMCUInputGroup
2018-02-27 14:24:15 -07:00
name={t("Pin Guard {{ num }}", { num: 2 })}
2019-06-21 15:45:44 -06:00
pinNumKey={"pin_guard_2_pin_nr"}
timeoutKey={"pin_guard_2_time_out"}
activeStateKey={"pin_guard_2_active_state"}
2017-12-16 18:21:13 -07:00
dispatch={dispatch}
2019-06-21 15:45:44 -06:00
resources={resources}
2018-03-09 02:34:24 -07:00
sourceFwConfig={sourceFwConfig} />
2017-12-16 18:21:13 -07:00
<PinGuardMCUInputGroup
2018-02-27 14:24:15 -07:00
name={t("Pin Guard {{ num }}", { num: 3 })}
2019-06-21 15:45:44 -06:00
pinNumKey={"pin_guard_3_pin_nr"}
timeoutKey={"pin_guard_3_time_out"}
activeStateKey={"pin_guard_3_active_state"}
2017-12-16 18:21:13 -07:00
dispatch={dispatch}
2019-06-21 15:45:44 -06:00
resources={resources}
2018-03-09 02:34:24 -07:00
sourceFwConfig={sourceFwConfig} />
2017-12-16 18:21:13 -07:00
<PinGuardMCUInputGroup
2018-02-27 14:24:15 -07:00
name={t("Pin Guard {{ num }}", { num: 4 })}
2019-06-21 15:45:44 -06:00
pinNumKey={"pin_guard_4_pin_nr"}
timeoutKey={"pin_guard_4_time_out"}
activeStateKey={"pin_guard_4_active_state"}
2017-12-16 18:21:13 -07:00
dispatch={dispatch}
2019-06-21 15:45:44 -06:00
resources={resources}
2018-03-09 02:34:24 -07:00
sourceFwConfig={sourceFwConfig} />
2017-12-16 18:21:13 -07:00
<PinGuardMCUInputGroup
2018-02-27 14:24:15 -07:00
name={t("Pin Guard {{ num }}", { num: 5 })}
2019-06-21 15:45:44 -06:00
pinNumKey={"pin_guard_5_pin_nr"}
timeoutKey={"pin_guard_5_time_out"}
activeStateKey={"pin_guard_5_active_state"}
2017-12-16 18:21:13 -07:00
dispatch={dispatch}
2019-06-21 15:45:44 -06:00
resources={resources}
2018-03-09 02:34:24 -07:00
sourceFwConfig={sourceFwConfig} />
2017-12-16 18:21:13 -07:00
</Collapse>
2020-02-18 12:21:09 -07:00
</Highlight>;
2017-12-16 18:21:13 -07:00
}