Skip to content
Snippets Groups Projects
Commit 5df2fe71 authored by meskio's avatar meskio :tent:
Browse files

Use price editor on product prices

parent 7471a700
No related branches found
No related tags found
No related merge requests found
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);
}
if (props.ro || !editing) {
return <td onClick={() => setEditing(true)}>{props.value}</td>;
return <td onClick={() => setEditing(true)}>{value}</td>;
}
const submit = (e) => {
......@@ -18,11 +24,15 @@ function EditableCell(props) {
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)}
/>
)}
</Form>
</td>
);
......
......@@ -4,7 +4,7 @@ import Fetcher from "./Fetcher";
import EditableCell from "./EditableCell";
import ProductAdder from "./ProductAdder";
import AuthContext from "./AuthContext";
import { printMoney, url } from "./util";
import { url } from "./util";
class ProductList extends React.Component {
static contextType = AuthContext;
......@@ -34,9 +34,6 @@ class ProductList extends React.Component {
case "stock":
value = parseInt(value);
break;
case "price":
value = value * 100;
break;
default:
break;
}
......@@ -127,8 +124,9 @@ class ProductList extends React.Component {
/>
<EditableCell
onChange={(v) => this.update(row, "price", v)}
value={printMoney(product.price)}
value={product.price}
ro={!isAdmin}
price
/>
<EditableCell
onChange={(v) => this.update(row, "stock", v)}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment