Farmbot-Web-App/frontend/controls/key_val_edit_row.tsx

40 lines
1.1 KiB
TypeScript
Raw Normal View History

2017-09-19 08:45:18 -06:00
import * as React from "react";
import { Row, Col } from "../ui/index";
import { KeyValRowProps } from "./key_val_show_row";
2019-08-26 12:20:46 -06:00
import { t } from "../i18next_wrapper";
2017-09-19 08:45:18 -06:00
interface Props extends KeyValRowProps {
onLabelChange(e: React.ChangeEvent<HTMLInputElement>): void;
onValueChange(e: React.ChangeEvent<HTMLInputElement>): void;
valueType: "number" | "string";
2017-09-19 08:45:18 -06:00
}
/** A row containing two textboxes and a delete button. Useful for maintaining
* lists of things (peripherals, feeds, tools etc). */
export function KeyValEditRow(p: Props) {
2017-09-19 08:45:18 -06:00
return <Row>
<Col xs={6}>
<input type="text"
2020-02-28 09:34:28 -07:00
name="label"
placeholder={p.labelPlaceholder}
value={p.label}
onChange={p.onLabelChange} />
2017-09-19 08:45:18 -06:00
</Col>
<Col xs={4}>
<input type={p.valueType}
2020-02-28 09:34:28 -07:00
name="value"
value={p.value}
placeholder={p.valuePlaceholder}
onChange={p.onValueChange} />
2017-09-19 08:45:18 -06:00
</Col>
<Col xs={2}>
<button
2019-08-26 12:20:46 -06:00
className="red fb-button del-button"
title={t("Delete")}
onClick={p.onClick}>
<i className="fa fa-times" />
</button>
2017-09-19 08:45:18 -06:00
</Col>
</Row>;
}