change type field number in all page

This commit is contained in:
Ehsan
2024-10-22 02:35:37 +03:30
parent f4c198110c
commit 7c14323126
6 changed files with 92 additions and 19 deletions
@@ -10,6 +10,11 @@ import ArrowLeftPA from "@/components/icons/ArrowLeftPA";
import AutoCompleteSelect from "@/app/component/element/AutoCompleteSelect";
import { checkAllValues } from "@/helper";
const validate_medical_number = {
min: 1,
max: 9999999999,
};
function Form({ setValue, parent, data, setData }) {
const changeData = (value, type, name) =>
type !== "isEdit" &&
@@ -26,6 +31,13 @@ function Form({ setValue, parent, data, setData }) {
};
});
const updateNum = (value, type, name) => {
const parseValue = +value;
const { max } = validate_medical_number;
const validateValue = parseValue > max ? data[name].value : value;
changeData(validateValue, type, name);
};
return (
<>
<div className="mt-[24px] scroll-mui md:mt-[26px] lg:mt-[28px] grid grid-cols-1 md:grid-cols-2 gap-x-[48px] gap-y-[24px]">
@@ -43,10 +55,15 @@ function Form({ setValue, parent, data, setData }) {
<EditField
isTransparent={true}
iconGray={true}
changeData={changeData}
changeData={updateNum}
data={data?.medical_system_number}
noDisable={true}
type="number"
placeholder={data?.medical_system_number.placeholder}
name="medical_system_number"
props={{
inputProps: validate_medical_number,
}}
/>
</ContentText>
<ContentText text="تخصص">
@@ -60,6 +77,7 @@ function Form({ setValue, parent, data, setData }) {
<ContentText text="مدرک">
<AutoCompleteSelect
updateData={changeData}
type="number"
label="انتخاب کنید..."
name="degree"
list={degree}
@@ -8,6 +8,11 @@ import AutoCompleteSelect from "@/app/component/element/AutoCompleteSelect";
import { useState } from "react";
import ModalMap from "./modal";
const validate_phone_number = {
min: 1,
max: 9999999999,
};
function Form({ parent, data, setData }) {
const [open, setOpen] = useState(false);
@@ -29,6 +34,13 @@ function Form({ parent, data, setData }) {
};
});
const updateNum = (value, type, name) => {
const parseValue = +value;
const { max } = validate_phone_number;
const validateValue = parseValue > max ? data[name].value : value;
changeData(validateValue, type, name);
};
return (
<>
<div className="mt-[24px] grid grid-cols-1 md:grid-cols-2 gap-x-[48px] gap-y-[24px]">
@@ -68,31 +80,46 @@ function Form({ parent, data, setData }) {
<ContentText text="شماره موبایل">
<EditField
isTransparent={true}
placeholder="شماره موبایل"
iconGray={true}
changeData={changeData}
changeData={updateNum}
data={data?.phone}
noDisable={true}
type="number"
placeholder="شماره موبایل"
name="phone"
props={{
inputProps: validate_phone_number,
}}
/>
</ContentText>
<ContentText text="شماره مطب">
<EditField
isTransparent={true}
placeholder="شماره مطب"
iconGray={true}
changeData={changeData}
changeData={updateNum}
data={data?.office_number1}
noDisable={true}
type="number"
placeholder="شماره مطب"
name="office_number1"
props={{
inputProps: validate_phone_number,
}}
/>
</ContentText>
<ContentText text="شماره مطب">
<EditField
isTransparent={true}
placeholder="شماره مطب"
iconGray={true}
changeData={changeData}
changeData={updateNum}
data={data?.office_number2}
noDisable={true}
type="number"
placeholder="شماره مطب"
name="office_number2"
props={{
inputProps: validate_phone_number,
}}
/>
</ContentText>
</div>
@@ -30,10 +30,10 @@ function Form({
const updateNum = (value, type, name) => {
const prevData = data;
const prevVal = data[parent][dataChange.idx][name].value;
const parseValue = +value;
const { min, max } = validate_number_turns;
const validateValue =
parseValue > max ? max : parseValue < min ? min : value;
const { max } = validate_number_turns;
const validateValue = parseValue > max ? prevVal : value;
data[parent][dataChange.idx][name].value = validateValue;
setUpdate(!update);
setData(prevData);