diff --git a/src/components/canvas.jsx b/src/components/canvas.jsx
index 9ded02c..c3bc785 100644
--- a/src/components/canvas.jsx
+++ b/src/components/canvas.jsx
@@ -159,12 +159,6 @@ export default function Canvas(props) {
setLinking(false);
};
- const deleteTable = (id) => {
- const updatedTables = [...props.tables];
- updatedTables.splice(id, 1);
- props.setTables(updatedTables);
- };
-
const handleGripField = (id) => {
setPanning(false);
setDragging([ObjectType.NONE, -1]);
@@ -300,7 +294,7 @@ export default function Canvas(props) {
onMouseDown={(e) =>
handleMouseDownRect(e, table.id, ObjectType.TABLE)
}
- onDelete={deleteTable}
+ handleDelete={props.handleDelete}
/>
))}
{linking && (
diff --git a/src/components/editor_panel.jsx b/src/components/editor_panel.jsx
index 09fbe9e..2a25aed 100644
--- a/src/components/editor_panel.jsx
+++ b/src/components/editor_panel.jsx
@@ -40,7 +40,7 @@ export default function EditorPanel(props) {
];
const contentList = [
,
{
Toast.success(`Table deleted!`);
- props.onDelete(props.id);
+ props.handleDelete(props.id);
}}
onCancel={() => {}}
>
diff --git a/src/components/table_overview.jsx b/src/components/table_overview.jsx
index 8d1e19a..3c58576 100644
--- a/src/components/table_overview.jsx
+++ b/src/components/table_overview.jsx
@@ -12,6 +12,7 @@ import {
Checkbox,
Select,
AutoComplete,
+ Toast
} from "@douyinfe/semi-ui";
import {
IconMore,
@@ -25,7 +26,7 @@ import {
export default function TableOverview(props) {
const [indexActiveKey, setIndexActiveKey] = useState("");
- const [indexActiveKeyTable, setIndexActiveKeyTable] = useState("");
+ const [indexActiveKeyTable, setIndexActiveKeyTable] = useState([]);
const updateColor = (id, c) => {
const updatedTables = [...props.tables];
@@ -70,7 +71,7 @@ export default function TableOverview(props) {
onChange={(v) => handleChange(v)}
onSelect={(v) => {
const { id, name } = props.tables.find((t) => t.name === v);
- setIndexActiveKeyTable(`${id}`);
+ setIndexActiveKeyTable([`${id}`]);
document
.getElementById(`${name}_scroll_id`)
.scrollIntoView({ behavior: "smooth" });
@@ -83,9 +84,13 @@ export default function TableOverview(props) {
icon={}
block
onClick={() => {
+ const id =
+ props.tables.length === 0
+ ? 0
+ : props.tables[props.tables.length - 1].id + 1;
const newTable = {
- id: props.tables.length,
- name: `table_${props.tables.length}`,
+ id: id,
+ name: `table_${id}`,
x: 0,
y: 0,
fields: [
@@ -118,10 +123,10 @@ export default function TableOverview(props) {
setIndexActiveKeyTable(i)}
+ onChange={(k) => setIndexActiveKeyTable(k)}
>
{props.tables.map((t, i) => (
-