make dit modal functional
This commit is contained in:
parent
79874a0413
commit
c10399d90e
@ -46,6 +46,21 @@ const Rect = (props) => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
const handleOkEdit = () => {
|
const handleOkEdit = () => {
|
||||||
|
setFields((prev) => {
|
||||||
|
// console.log(field);
|
||||||
|
const updatedFields = [...prev];
|
||||||
|
updatedFields[editFieldVisible] = { ...field };
|
||||||
|
return updatedFields;
|
||||||
|
});
|
||||||
|
setField({
|
||||||
|
name: "",
|
||||||
|
type: "",
|
||||||
|
default: "",
|
||||||
|
primary: false,
|
||||||
|
unique: false,
|
||||||
|
notNull: false,
|
||||||
|
increment: false,
|
||||||
|
});
|
||||||
setEditFieldVisible(-1);
|
setEditFieldVisible(-1);
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -65,6 +80,13 @@ const Rect = (props) => {
|
|||||||
|
|
||||||
const height = fields.length * 36 + 40 + 4;
|
const height = fields.length * 36 + 40 + 4;
|
||||||
|
|
||||||
|
const onCheck = (checkedValues) => {
|
||||||
|
setField({
|
||||||
|
...field,
|
||||||
|
[checkedValues.target.value]: checkedValues.target.checked,
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<g>
|
<g>
|
||||||
<foreignObject
|
<foreignObject
|
||||||
@ -181,7 +203,10 @@ const Rect = (props) => {
|
|||||||
<div>
|
<div>
|
||||||
<button
|
<button
|
||||||
className="btn bg-sky-800 text-white text-xs py-1 px-2 me-2 opacity-80"
|
className="btn bg-sky-800 text-white text-xs py-1 px-2 me-2 opacity-80"
|
||||||
onClick={(e) => setEditFieldVisible(i)}
|
onClick={(ev) => {
|
||||||
|
setEditFieldVisible(i);
|
||||||
|
setField({ ...e });
|
||||||
|
}}
|
||||||
>
|
>
|
||||||
<IconEdit />
|
<IconEdit />
|
||||||
</button>
|
</button>
|
||||||
@ -362,21 +387,26 @@ const Rect = (props) => {
|
|||||||
}`}
|
}`}
|
||||||
visible={editFieldVisible !== -1}
|
visible={editFieldVisible !== -1}
|
||||||
onOk={handleOkEdit}
|
onOk={handleOkEdit}
|
||||||
afterClose={handleOkEdit}
|
onCancel={() => setEditFieldVisible(-1)}
|
||||||
onCancel={handleOkEdit}
|
|
||||||
centered
|
centered
|
||||||
closeOnEsc={true}
|
closeOnEsc={true}
|
||||||
okText="Edit"
|
okText="Edit"
|
||||||
cancelText="Cancel"
|
cancelText="Cancel"
|
||||||
>
|
>
|
||||||
<Form labelPosition="left" labelAlign="right">
|
<Form
|
||||||
|
labelPosition="left"
|
||||||
|
labelAlign="right"
|
||||||
|
onValueChange={(v) => setField({ ...field, ...v })}
|
||||||
|
>
|
||||||
<Row>
|
<Row>
|
||||||
<Col span={11}>
|
<Col span={11}>
|
||||||
<Form.Input
|
<Form.Input
|
||||||
field="name"
|
field="name"
|
||||||
label="Name"
|
label="Name"
|
||||||
trigger="blur"
|
trigger="blur"
|
||||||
onChange={(e) => setField({ ...field, name: e.target.value })}
|
initValue={
|
||||||
|
editFieldVisible !== -1 ? fields[editFieldVisible].name : ""
|
||||||
|
}
|
||||||
/>
|
/>
|
||||||
</Col>
|
</Col>
|
||||||
<Col span={2}></Col>
|
<Col span={2}></Col>
|
||||||
@ -385,8 +415,10 @@ const Rect = (props) => {
|
|||||||
field="default"
|
field="default"
|
||||||
label="Default"
|
label="Default"
|
||||||
trigger="blur"
|
trigger="blur"
|
||||||
onChange={(e) =>
|
initValue={
|
||||||
setField({ ...field, default: e.target.value })
|
editFieldVisible !== -1
|
||||||
|
? fields[editFieldVisible].default
|
||||||
|
: ""
|
||||||
}
|
}
|
||||||
/>
|
/>
|
||||||
</Col>
|
</Col>
|
||||||
@ -400,16 +432,58 @@ const Rect = (props) => {
|
|||||||
optionList={sqlDataTypes.map((value, index) => {
|
optionList={sqlDataTypes.map((value, index) => {
|
||||||
return {
|
return {
|
||||||
label: value,
|
label: value,
|
||||||
value: index,
|
value: value,
|
||||||
};
|
};
|
||||||
})}
|
})}
|
||||||
onChange={(e) => setField({ ...field, type: e.target.value })}
|
initValue={
|
||||||
|
editFieldVisible !== -1 ? fields[editFieldVisible].type : ""
|
||||||
|
}
|
||||||
></Form.Select>
|
></Form.Select>
|
||||||
<div className="flex justify-around mt-2">
|
<div className="flex justify-around mt-2">
|
||||||
<Checkbox value="A">Primary</Checkbox>
|
<Checkbox
|
||||||
<Checkbox value="B">Unique</Checkbox>
|
value="primary"
|
||||||
<Checkbox value="C">Not null</Checkbox>
|
onChange={onCheck}
|
||||||
<Checkbox value="D">Increment</Checkbox>
|
defaultChecked={
|
||||||
|
editFieldVisible !== -1
|
||||||
|
? fields[editFieldVisible].primary
|
||||||
|
: undefined
|
||||||
|
}
|
||||||
|
>
|
||||||
|
Primary
|
||||||
|
</Checkbox>
|
||||||
|
<Checkbox
|
||||||
|
value="unique"
|
||||||
|
onChange={onCheck}
|
||||||
|
defaultChecked={
|
||||||
|
editFieldVisible !== -1
|
||||||
|
? fields[editFieldVisible].unique
|
||||||
|
: undefined
|
||||||
|
}
|
||||||
|
>
|
||||||
|
Unique
|
||||||
|
</Checkbox>
|
||||||
|
<Checkbox
|
||||||
|
value="notNull"
|
||||||
|
onChange={onCheck}
|
||||||
|
defaultChecked={
|
||||||
|
editFieldVisible !== -1
|
||||||
|
? fields[editFieldVisible].notNull
|
||||||
|
: undefined
|
||||||
|
}
|
||||||
|
>
|
||||||
|
Not null
|
||||||
|
</Checkbox>
|
||||||
|
<Checkbox
|
||||||
|
value="increment"
|
||||||
|
onChange={onCheck}
|
||||||
|
defaultChecked={
|
||||||
|
editFieldVisible !== -1
|
||||||
|
? fields[editFieldVisible].increment
|
||||||
|
: undefined
|
||||||
|
}
|
||||||
|
>
|
||||||
|
Increment
|
||||||
|
</Checkbox>
|
||||||
</div>
|
</div>
|
||||||
</Col>
|
</Col>
|
||||||
</Row>
|
</Row>
|
||||||
|
Loading…
Reference in New Issue
Block a user