Skip to content

Commit 89ccd61

Browse files
authored
Merge pull request #49 from HaecheonLee/enh/open-note-in-tab-after-clicking-button
Open note in tab after clicking edit button
2 parents d95b085 + 157888f commit 89ccd61

File tree

2 files changed

+27
-19
lines changed

2 files changed

+27
-19
lines changed

src/components/EditorCanvas/Note.jsx

Lines changed: 9 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -61,22 +61,18 @@ export default function Note({ data, onMouseDown }) {
6161
};
6262

6363
const edit = () => {
64-
if (layout.sidebar) {
65-
setSelectedElement((prev) => ({
66-
...prev,
67-
currentTab: Tab.NOTES,
68-
}));
69-
if (selectedElement.currentTab !== Tab.NOTES) return;
64+
setSelectedElement((prev) => ({
65+
...prev,
66+
...(layout.sidebar && { currentTab: Tab.NOTES }),
67+
...(!layout.sidebar && { element: ObjectType.NOTE }),
68+
id: data.id,
69+
open: true,
70+
}));
71+
72+
if (layout.sidebar && selectedElement.currentTab === Tab.NOTES) {
7073
document
7174
.getElementById(`scroll_note_${data.id}`)
7275
.scrollIntoView({ behavior: "smooth" });
73-
} else {
74-
setSelectedElement((prev) => ({
75-
...prev,
76-
element: ObjectType.NOTE,
77-
id: data.id,
78-
open: true,
79-
}));
8076
}
8177
};
8278

src/components/EditorSidePanel/NotesTab/NotesTab.jsx

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,26 @@
1-
import { useState } from "react";
21
import { Row, Col, Button, Collapse } from "@douyinfe/semi-ui";
32
import { IconPlus } from "@douyinfe/semi-icons";
4-
import { useNotes } from "../../../hooks";
3+
import { useNotes, useSelect } from "../../../hooks";
54
import Empty from "../Empty";
65
import SearchBar from "./SearchBar";
76
import NoteInfo from "./NoteInfo";
87

98
export default function NotesTab() {
109
const { notes, addNote } = useNotes();
11-
const [activeKey, setActiveKey] = useState("");
10+
const { selectedElement, setSelectedElement } = useSelect();
1211

1312
return (
1413
<>
1514
<Row gutter={6}>
1615
<Col span={16}>
17-
<SearchBar setActiveKey={setActiveKey} />
16+
<SearchBar
17+
setActiveKey={(activeKey) =>
18+
setSelectedElement((prev) => ({
19+
...prev,
20+
id: parseInt(activeKey),
21+
}))
22+
}
23+
/>
1824
</Col>
1925
<Col span={8}>
2026
<Button icon={<IconPlus />} block onClick={() => addNote()}>
@@ -26,8 +32,14 @@ export default function NotesTab() {
2632
<Empty title="No text notes" text="Add notes cuz why not!" />
2733
) : (
2834
<Collapse
29-
activeKey={activeKey}
30-
onChange={(k) => setActiveKey(k)}
35+
activeKey={selectedElement.open ? `${selectedElement.id}` : ""}
36+
onChange={(activeKey) => {
37+
setSelectedElement((prev) => ({
38+
...prev,
39+
id: parseInt(activeKey),
40+
open: true,
41+
}));
42+
}}
3143
accordion
3244
>
3345
{notes.map((n, i) => (

0 commit comments

Comments
 (0)