connection workflow

This commit is contained in:
Jan Prochazka 2022-05-19 12:36:15 +02:00
parent 566082d40f
commit 8e5584e90f
5 changed files with 11 additions and 19 deletions

View File

@ -71,6 +71,7 @@
draggable={true}
on:click={handleClick}
on:mouseup={handleMouseUp}
on:dblclick
use:contextMenu={disableContextMenu ? null : menu}
on:dragstart={e => {
e.dataTransfer.setData('app_object_drag_data', JSON.stringify(data));

View File

@ -27,6 +27,7 @@
});
expandedConnections.update(x => _.uniq([...x, connection._id]));
}
closeMultipleTabs(x => x.tabComponent == 'ConnectionTab' && x.props?.conid == connection._id, true);
}
</script>
@ -46,7 +47,7 @@
import ConnectionModal from '../modals/ConnectionModal.svelte';
import ConfirmModal from '../modals/ConfirmModal.svelte';
import InputTextModal from '../modals/InputTextModal.svelte';
import openNewTab from '../utility/openNewTab';
import openNewTab, { closeTabWithNoHistory } from '../utility/openNewTab';
import { getDatabaseMenuItems } from './DatabaseAppObject.svelte';
import getElectron from '../utility/getElectron';
import getConnectionLabel from '../utility/getConnectionLabel';
@ -257,6 +258,7 @@
on:click={handleOpenConnectionTab}
on:click
on:expand
on:dblclick={handleConnect}
on:middleclick={() => {
_.flattenDeep(getContextMenu())
.find(x => x.isNewQuery)

View File

@ -24,7 +24,6 @@
import { changeTab } from '../utility/common';
import getConnectionLabel from '../utility/getConnectionLabel';
import { onMount } from 'svelte';
import { closeTabWithNoHistory } from '../utility/openNewTab';
import { openConnection } from '../appobj/ConnectionAppObject.svelte';
export let connection;
@ -133,7 +132,6 @@
unsaved: true,
};
const saved = await apiCall('connections/save', connection);
closeTabWithNoHistory(tabid);
openConnection(saved);
}

View File

@ -186,14 +186,3 @@ export function groupTabs(tabs: any[]) {
return res;
}
export function closeTabWithNoHistory(tabid) {
openedTabs.update(tabs => {
const res = tabs.filter(x => x.tabid != tabid);
const selectedIndex = _.findLastIndex(res, x => x.closedTime == null);
return res.map((x, index) => ({
...x,
selected: index == selectedIndex,
}));
});
}

View File

@ -22,12 +22,14 @@
});
};
export const closeMultipleTabs = closeCondition => {
export const closeMultipleTabs = (closeCondition, deleteFromHistory = false) => {
openedTabs.update(files => {
const newFiles = files.map(x => ({
...x,
closedTime: x.closedTime || (closeCondition(x) ? new Date().getTime() : undefined),
}));
const newFiles = deleteFromHistory
? files.filter(x => !closeCondition(x))
: files.map(x => ({
...x,
closedTime: x.closedTime || (closeCondition(x) ? new Date().getTime() : undefined),
}));
if (newFiles.find(x => x.selected && x.closedTime == null)) {
return newFiles;