chore: handled bottom panel open and close better
Signed-off-by: mellobacon <mellodev@outlook.com>
mellobacon committed
May 13, 2024 at 13:32 UTC
30addd9fcf70d2642ec640b98e6d1904412e6a76
3 files changed
+18
-5
src/lib/Sidebar.svelte
+3
-1
@@ -2,6 +2,7 @@
2
import Folder from "carbon-icons-svelte/lib/Folder.svelte";
3
import SidebarTab from "./SidebarTab.svelte";
4
import FileTree from "./FileTree.svelte";
5
+ import { fitTerminal } from "./Terminal.svelte";
6
7
</script>
8
@@ -45,6 +46,7 @@
46
showsidebarview.set(true);
47
tool.set(new Tool(tab.tabname, tab.content));
48
}
49
+ fitTerminal();
50
}
51
52
export function openFileTree() {
@@ -70,4 +72,4 @@
72
height: .0625rem;
73
margin: 0 auto;
74
}
73
-</style>
\ No newline at end of file
75
+</style>
src/lib/Statusbar.svelte
+7
@@ -30,6 +30,7 @@
30
import { writable } from "svelte/store";
31
export let showBottomPanel = writable(false);
32
export let externalTerminal = writable(false);
33
+ let currentTool = writable(null);
34
let show = false;
35
36
export let editortool = writable({name: "", content: null});
@@ -39,12 +40,18 @@
40
showBottomPanel.set(show);
41
if (x) {
42
editortool.set({name: x.name, content: x.content});
43
+ currentTool.set(x.content);
44
}
45
}
46
export function hideBottomPanel() {
47
show = false;
48
showBottomPanel.set(false);
49
}
50
+ export function closeBottomPanel() {
51
+ show = false;
52
+ showBottomPanel.set(false);
53
+ editortool.set(null);
54
+ }
55
export function setTerminalState(value) {
56
let v = value === "true" ? true : false;
57
externalTerminal.set(v);
src/lib/ToolView.svelte
+8
-4
@@ -1,8 +1,8 @@
1
<script lang="ts">
2
- import { hideBottomPanel } from "./Statusbar.svelte";
2
+ import { closeBottomPanel, hideBottomPanel } from "./Statusbar.svelte";
3
import Ellipsis from "carbon-icons-svelte/lib/OverflowMenuHorizontal.svelte";
4
import Menu from "./utility/Menu.svelte";
5
- import { clearTerminal } from "./Terminal.svelte";
5
+ import { clearTerminal, closeTerminal } from "./Terminal.svelte";
6
7
export let content = null;
8
export let name = "Tool";
@@ -14,9 +14,13 @@
14
<Menu right menu={{icon: Ellipsis, children: [
15
{name: "Clear Terminal", action: () => {
16
clearTerminal();
17
- }},]}}></Menu>
17
+ }}, {name: "Close Terminal", action: () => {
18
+ closeBottomPanel();
19
+ closeTerminal();
20
+ }}]}}></Menu>
21
</div>
19
- <span class="close" on:click={hideBottomPanel}></span>
22
+ <!-- svelte-ignore a11y-click-events-have-key-events -->
23
+ <span class="close" title="Hide Panel" on:click={hideBottomPanel}></span>
24
</div>
25
</div>
26
<div class="toolview-container">