change default value and handle updateData

This commit is contained in:
Ehsan
2024-10-20 23:58:17 +03:30
parent 773b64ca25
commit 24fbae8797
6 changed files with 21 additions and 12 deletions
@@ -57,7 +57,7 @@ function List({ parent, data, setData, setIsDisable }) {
</TableRow>
</TableHead>
<TableBody>
{data.map((row, idx) => (
{data[parent].map((row, idx) => (
<TableRow
key={row.name}
sx={{ "&:last-child td, &:last-child th": { border: 0 } }}
@@ -12,9 +12,9 @@ function WorkingDays({ parent, data, setData }) {
لیست روزهای کاری
</p>
<List
data={data}
parent={parent}
setData={setData}
data={data.work_day}
setIsDisable={setIsDisable}
/>
<Button
@@ -4,6 +4,7 @@ import TimePickerField from "@/app/component/TimePickerField";
import AutoCompleteSelect from "@/app/component/element/AutoCompleteSelect";
import { turnTime, workplace } from "./listSelector";
import EditField from "@/app/component/EditField";
import { useState } from "react";
function Form({
handleClose,
@@ -14,6 +15,7 @@ function Form({
data,
value,
}) {
const [update, setUpdate] = useState(false);
const updateData = (value, type, name) =>
setData((prev) => {
const newData = prev;
@@ -21,6 +23,13 @@ function Form({
return newData;
});
const updateNum = (value, type, name) => {
const prevData = data;
data[parent][dataChange.idx][name].value = +value;
setUpdate(!update);
setData(prevData);
};
return (
<div className="flex flex-col gap-[32px] md:gap-[36px] lg:gap-[40px] min-w-fit md:min-w-[420px]">
<div className="flex relative flex-col gap-[16px]">
@@ -28,8 +37,8 @@ function Form({
<EditField
isTransparent={true}
iconGray={true}
changeData={updateData}
data={data?.number_turns}
changeData={updateNum}
data={data[parent][dataChange.idx].number_turns}
noDisable={true}
type="number"
placeholder="انتخاب کنید..."
@@ -21,7 +21,7 @@ function ContentModal({
const handleChange = (event) => {
const valueRadio = +event.target.value;
const newData = data;
const newData = data[parent];
const { idx, is_morgen } = dataChange;
newData[idx][is_morgen ? "morning_time" : "evening_time"][0] = "تعطیل";