backup
This commit is contained in:
parent
519b9d0a27
commit
d3897f8112
@ -159,12 +159,6 @@ export default function Canvas(props) {
|
|||||||
setLinking(false);
|
setLinking(false);
|
||||||
};
|
};
|
||||||
|
|
||||||
const deleteTable = (id) => {
|
|
||||||
const updatedTables = [...props.tables];
|
|
||||||
updatedTables.splice(id, 1);
|
|
||||||
props.setTables(updatedTables);
|
|
||||||
};
|
|
||||||
|
|
||||||
const handleGripField = (id) => {
|
const handleGripField = (id) => {
|
||||||
setPanning(false);
|
setPanning(false);
|
||||||
setDragging([ObjectType.NONE, -1]);
|
setDragging([ObjectType.NONE, -1]);
|
||||||
@ -300,7 +294,7 @@ export default function Canvas(props) {
|
|||||||
onMouseDown={(e) =>
|
onMouseDown={(e) =>
|
||||||
handleMouseDownRect(e, table.id, ObjectType.TABLE)
|
handleMouseDownRect(e, table.id, ObjectType.TABLE)
|
||||||
}
|
}
|
||||||
onDelete={deleteTable}
|
handleDelete={props.handleDelete}
|
||||||
/>
|
/>
|
||||||
))}
|
))}
|
||||||
{linking && (
|
{linking && (
|
||||||
|
@ -40,7 +40,7 @@ export default function EditorPanel(props) {
|
|||||||
];
|
];
|
||||||
const contentList = [
|
const contentList = [
|
||||||
<div>
|
<div>
|
||||||
<TableOverview tables={props.tables} setTables={props.setTables} />
|
<TableOverview tables={props.tables} setTables={props.setTables} handleDelete={props.handleDelete}/>
|
||||||
</div>,
|
</div>,
|
||||||
<div>
|
<div>
|
||||||
<ReferenceOverview
|
<ReferenceOverview
|
||||||
|
@ -157,7 +157,7 @@ export default function Table(props) {
|
|||||||
okText="Delete"
|
okText="Delete"
|
||||||
onConfirm={() => {
|
onConfirm={() => {
|
||||||
Toast.success(`Table deleted!`);
|
Toast.success(`Table deleted!`);
|
||||||
props.onDelete(props.id);
|
props.handleDelete(props.id);
|
||||||
}}
|
}}
|
||||||
onCancel={() => {}}
|
onCancel={() => {}}
|
||||||
>
|
>
|
||||||
|
@ -12,6 +12,7 @@ import {
|
|||||||
Checkbox,
|
Checkbox,
|
||||||
Select,
|
Select,
|
||||||
AutoComplete,
|
AutoComplete,
|
||||||
|
Toast
|
||||||
} from "@douyinfe/semi-ui";
|
} from "@douyinfe/semi-ui";
|
||||||
import {
|
import {
|
||||||
IconMore,
|
IconMore,
|
||||||
@ -25,7 +26,7 @@ import {
|
|||||||
|
|
||||||
export default function TableOverview(props) {
|
export default function TableOverview(props) {
|
||||||
const [indexActiveKey, setIndexActiveKey] = useState("");
|
const [indexActiveKey, setIndexActiveKey] = useState("");
|
||||||
const [indexActiveKeyTable, setIndexActiveKeyTable] = useState("");
|
const [indexActiveKeyTable, setIndexActiveKeyTable] = useState([]);
|
||||||
|
|
||||||
const updateColor = (id, c) => {
|
const updateColor = (id, c) => {
|
||||||
const updatedTables = [...props.tables];
|
const updatedTables = [...props.tables];
|
||||||
@ -70,7 +71,7 @@ export default function TableOverview(props) {
|
|||||||
onChange={(v) => handleChange(v)}
|
onChange={(v) => handleChange(v)}
|
||||||
onSelect={(v) => {
|
onSelect={(v) => {
|
||||||
const { id, name } = props.tables.find((t) => t.name === v);
|
const { id, name } = props.tables.find((t) => t.name === v);
|
||||||
setIndexActiveKeyTable(`${id}`);
|
setIndexActiveKeyTable([`${id}`]);
|
||||||
document
|
document
|
||||||
.getElementById(`${name}_scroll_id`)
|
.getElementById(`${name}_scroll_id`)
|
||||||
.scrollIntoView({ behavior: "smooth" });
|
.scrollIntoView({ behavior: "smooth" });
|
||||||
@ -83,9 +84,13 @@ export default function TableOverview(props) {
|
|||||||
icon={<IconPlus />}
|
icon={<IconPlus />}
|
||||||
block
|
block
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
|
const id =
|
||||||
|
props.tables.length === 0
|
||||||
|
? 0
|
||||||
|
: props.tables[props.tables.length - 1].id + 1;
|
||||||
const newTable = {
|
const newTable = {
|
||||||
id: props.tables.length,
|
id: id,
|
||||||
name: `table_${props.tables.length}`,
|
name: `table_${id}`,
|
||||||
x: 0,
|
x: 0,
|
||||||
y: 0,
|
y: 0,
|
||||||
fields: [
|
fields: [
|
||||||
@ -118,10 +123,10 @@ export default function TableOverview(props) {
|
|||||||
</div>
|
</div>
|
||||||
<Collapse
|
<Collapse
|
||||||
activeKey={indexActiveKeyTable}
|
activeKey={indexActiveKeyTable}
|
||||||
onChange={(i) => setIndexActiveKeyTable(i)}
|
onChange={(k) => setIndexActiveKeyTable(k)}
|
||||||
>
|
>
|
||||||
{props.tables.map((t, i) => (
|
{props.tables.map((t, i) => (
|
||||||
<div id={`${t.name}_scroll_id`} key={i}>
|
<div id={`${t.name}_scroll_id`} key={t.id}>
|
||||||
<Collapse.Panel
|
<Collapse.Panel
|
||||||
header={
|
header={
|
||||||
<div>
|
<div>
|
||||||
@ -307,15 +312,18 @@ export default function TableOverview(props) {
|
|||||||
icon={<IconDeleteStroked />}
|
icon={<IconDeleteStroked />}
|
||||||
type="danger"
|
type="danger"
|
||||||
block
|
block
|
||||||
onClick={() => {
|
onClick={(ev) => {
|
||||||
const updatedTables = [...props.tables];
|
props.setTables((prev) => {
|
||||||
const updatedFields = [...t.fields];
|
const updatedTables = [...prev];
|
||||||
updatedFields.splice(j, 1);
|
const updatedFields = [
|
||||||
updatedTables[i] = {
|
...updatedTables[t.id].fields,
|
||||||
...t,
|
];
|
||||||
fields: [...updatedFields],
|
updatedFields.splice(j, 1);
|
||||||
};
|
updatedTables[t.id].fields = [
|
||||||
props.setTables(updatedTables);
|
...updatedFields,
|
||||||
|
];
|
||||||
|
return updatedTables;
|
||||||
|
});
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
Delete
|
Delete
|
||||||
@ -342,7 +350,7 @@ export default function TableOverview(props) {
|
|||||||
activeKey={indexActiveKey}
|
activeKey={indexActiveKey}
|
||||||
onChange={(itemKey) => setIndexActiveKey(itemKey)}
|
onChange={(itemKey) => setIndexActiveKey(itemKey)}
|
||||||
>
|
>
|
||||||
<Collapse.Panel header="Indices" itemKey="1">
|
<Collapse.Panel header="Indices" itemKey="1" accordion>
|
||||||
{t.indices.map((idx, k) => (
|
{t.indices.map((idx, k) => (
|
||||||
<div
|
<div
|
||||||
className="flex justify-between items-center mb-2"
|
className="flex justify-between items-center mb-2"
|
||||||
@ -526,7 +534,7 @@ export default function TableOverview(props) {
|
|||||||
></Button>
|
></Button>
|
||||||
</Popover>
|
</Popover>
|
||||||
</Col>
|
</Col>
|
||||||
<Col span={8}>
|
<Col span={7}>
|
||||||
<Button
|
<Button
|
||||||
block
|
block
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
@ -545,7 +553,7 @@ export default function TableOverview(props) {
|
|||||||
Add index
|
Add index
|
||||||
</Button>
|
</Button>
|
||||||
</Col>
|
</Col>
|
||||||
<Col span={8}>
|
<Col span={6}>
|
||||||
<Button
|
<Button
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
const updatedTables = [...props.tables];
|
const updatedTables = [...props.tables];
|
||||||
@ -569,6 +577,16 @@ export default function TableOverview(props) {
|
|||||||
Add field
|
Add field
|
||||||
</Button>
|
</Button>
|
||||||
</Col>
|
</Col>
|
||||||
|
<Col span={3}>
|
||||||
|
<Button
|
||||||
|
icon={<IconDeleteStroked />}
|
||||||
|
type="danger"
|
||||||
|
onClick={() => {
|
||||||
|
Toast.success(`Table deleted!`);
|
||||||
|
props.handleDelete(i);
|
||||||
|
}}
|
||||||
|
></Button>
|
||||||
|
</Col>
|
||||||
</Row>
|
</Row>
|
||||||
</Collapse.Panel>
|
</Collapse.Panel>
|
||||||
</div>
|
</div>
|
||||||
|
@ -13,6 +13,15 @@ export default function Editor(props) {
|
|||||||
const [relationships, setRelationships] = useState([]);
|
const [relationships, setRelationships] = useState([]);
|
||||||
const [areas, setAreas] = useState([]);
|
const [areas, setAreas] = useState([]);
|
||||||
|
|
||||||
|
const deleteTable = (id) => {
|
||||||
|
let updatedTables = [...tables];
|
||||||
|
updatedTables.splice(id, 1);
|
||||||
|
updatedTables = updatedTables.length>0? updatedTables.map((t, i) => ({ ...t, id: i })):[];
|
||||||
|
setTables(updatedTables);
|
||||||
|
console.log(tables);
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<Header name={props.name} />
|
<Header name={props.name} />
|
||||||
@ -28,6 +37,7 @@ export default function Editor(props) {
|
|||||||
setRelationships={setRelationships}
|
setRelationships={setRelationships}
|
||||||
areas={areas}
|
areas={areas}
|
||||||
setAreas={setAreas}
|
setAreas={setAreas}
|
||||||
|
handleDelete={deleteTable}
|
||||||
/>
|
/>
|
||||||
<Canvas
|
<Canvas
|
||||||
tables={tables}
|
tables={tables}
|
||||||
@ -38,6 +48,7 @@ export default function Editor(props) {
|
|||||||
setRelationships={setRelationships}
|
setRelationships={setRelationships}
|
||||||
areas={areas}
|
areas={areas}
|
||||||
setAreas={setAreas}
|
setAreas={setAreas}
|
||||||
|
handleDelete={deleteTable}
|
||||||
/>
|
/>
|
||||||
</DndProvider>
|
</DndProvider>
|
||||||
<Sidebar />
|
<Sidebar />
|
||||||
|
Loading…
Reference in New Issue
Block a user