Newer
Older
import React, { useState } from "react";
import { Form } from "react-bootstrap";
import { printMoney } from "./util";
import PriceEditor from "./PriceEditor";
function EditableCell(props) {
const [data, setData] = useState(props.value);
const [editing, setEditing] = useState(false);
let value = props.value;
if (props.price) {
value = printMoney(props.value);
}
return <td onClick={() => setEditing(true)}>{value}</td>;
}
const submit = (e) => {
e.preventDefault();
props.onChange(data);
setEditing(false);
};
return (
<td>
<Form onSubmit={submit}>
{props.price ? (
<PriceEditor value={data} onChange={(price) => setData(price)} />
) : (
<Form.Control
value={data}
onChange={(e) => setData(e.target.value)}
onBlur={() => setEditing(false)}
/>
)}