Farmbot-Web-App/frontend/controls/move/settings_menu.tsx

67 lines
2.4 KiB
TypeScript
Raw Normal View History

2018-07-31 18:48:43 -06:00
import * as React from "react";
import { BooleanSetting } from "../../session_keys";
import { ToggleButton } from "../toggle_button";
import { ToggleWebAppBool, GetWebAppBool } from "./interfaces";
2018-10-22 09:35:44 -06:00
import { BooleanConfigKey } from "farmbot/dist/resources/configs/web_app";
2018-12-30 11:05:45 -07:00
import { DevSettings } from "../../account/dev/dev_support";
2019-04-02 13:59:37 -06:00
import { t } from "../../i18next_wrapper";
2020-02-07 16:06:40 -07:00
import { FirmwareHardware } from "farmbot";
2020-02-26 11:10:59 -07:00
import { hasEncoders } from "../../devices/components/firmware_hardware_support";
2018-07-31 18:48:43 -06:00
2019-09-23 12:56:35 -06:00
export const moveWidgetSetting =
(toggle: ToggleWebAppBool, getValue: GetWebAppBool) =>
({ label, setting }: { label: string, setting: BooleanConfigKey }) =>
<fieldset>
<label>
{t(label)}
</label>
<ToggleButton
toggleAction={toggle(BooleanSetting[setting])}
toggleValue={getValue(setting)} />
</fieldset>;
2018-07-31 18:48:43 -06:00
2020-02-07 16:06:40 -07:00
export interface MoveWidgetSettingsMenuProps {
toggle: ToggleWebAppBool;
getValue: GetWebAppBool;
firmwareHardware: FirmwareHardware | undefined;
}
export const MoveWidgetSettingsMenu = (
{ toggle, getValue, firmwareHardware }: MoveWidgetSettingsMenuProps
) => {
2018-07-31 18:48:43 -06:00
const Setting = moveWidgetSetting(toggle, getValue);
2018-08-29 18:55:25 -06:00
return <div className="move-settings-menu">
<p>{t("Invert Jog Buttons")}</p>
<Setting label={t("X Axis")} setting={BooleanSetting.x_axis_inverted} />
<Setting label={t("Y Axis")} setting={BooleanSetting.y_axis_inverted} />
<Setting label={t("Z Axis")} setting={BooleanSetting.z_axis_inverted} />
2018-07-31 18:48:43 -06:00
2020-02-26 11:10:59 -07:00
{hasEncoders(firmwareHardware) &&
2020-02-07 16:06:40 -07:00
<div className="display-encoder-data">
<p>{t("Display Encoder Data")}</p>
<Setting
label={t("Scaled encoder position")}
setting={BooleanSetting.scaled_encoders} />
<Setting
label={t("Raw encoder position")}
setting={BooleanSetting.raw_encoders} />
</div>}
2018-07-31 18:48:43 -06:00
2018-08-29 18:55:25 -06:00
<p>{t("Swap jog buttons (and rotate map)")}</p>
<Setting label={t("x and y axis")} setting={BooleanSetting.xy_swap} />
2018-07-31 18:48:43 -06:00
2018-08-29 18:55:25 -06:00
<p>{t("Home button behavior")}</p>
<Setting
label={t("perform homing (find home)")}
setting={BooleanSetting.home_button_homing} />
2018-12-30 11:05:45 -07:00
{DevSettings.futureFeaturesEnabled() &&
2020-02-28 09:34:28 -07:00
<div className={"motor-position-plot-setting-row"}>
2018-08-29 18:55:25 -06:00
<p>{t("Motor position plot")}</p>
<Setting
label={t("show")}
setting={BooleanSetting.show_motor_plot} />
</div>}
</div>;
2018-07-31 18:48:43 -06:00
};