handle tab focus

This commit is contained in:
SPRINX0\prochazka
2024-11-21 16:49:56 +01:00
parent 4b1c021871
commit b9f9501e67
9 changed files with 58 additions and 17 deletions

View File

@@ -4,17 +4,22 @@
export let tabid;
export let tabVisible;
export let tabFocused;
export let tabComponent;
const tabVisibleStore = writable(tabVisible);
setContext('tabid', tabid);
setContext('tabVisible', tabVisibleStore);
const tabVisibleStore = writable(tabVisible);
setContext('tabVisible', tabVisibleStore);
$: tabVisibleStore.set(tabVisible);
const tabFocusedStore = writable(tabFocused);
setContext('tabFocused', tabFocusedStore);
$: tabFocusedStore.set(tabFocused);
</script>
<div class:tabVisible>
<svelte:component this={tabComponent} {...$$restProps} {tabid} {tabVisible} />
<svelte:component this={tabComponent} {...$$restProps} {tabid} {tabVisible} {tabFocused} />
</div>
<style>

View File

@@ -52,5 +52,6 @@
{tabid}
unsaved={openedTabsByTabId[tabid]?.unsaved}
tabVisible={tabid == shownTab?.tabid}
tabFocused={tabid == shownTab?.tabid && shownTab?.focused}
/>
{/each}

View File

@@ -295,7 +295,7 @@
import CloseTabModal from '../modals/CloseTabModal.svelte';
import SwitchDatabaseModal from '../modals/SwitchDatabaseModal.svelte';
import { getConnectionLabel } from 'dbgate-tools';
import { changeDatabaseByCurrentTab } from '../utility/changeCurrentDbByTab';
import { handleAfterTabClick } from '../utility/changeCurrentDbByTab';
export let multiTabIndex;
export let shownTab;
@@ -335,7 +335,7 @@
return;
}
setSelectedTab(tabid);
changeDatabaseByCurrentTab();
handleAfterTabClick();
};
const handleMouseDown = (e, tabid) => {