mirror of
https://github.com/DeNNiiInc/dbgate.git
synced 2026-04-30 23:13:57 +00:00
search in databases
This commit is contained in:
@@ -24,7 +24,7 @@
|
|||||||
testEnabled: () => getVisibleCommandPalette() != 'database',
|
testEnabled: () => getVisibleCommandPalette() != 'database',
|
||||||
});
|
});
|
||||||
|
|
||||||
function extractDbItems(db, dbConnectionInfo) {
|
function extractDbItems(db, dbConnectionInfo, connectionList) {
|
||||||
const objectList = _.flatten(
|
const objectList = _.flatten(
|
||||||
['tables', 'collections', 'views', 'matviews', 'procedures', 'functions'].map(objectTypeField =>
|
['tables', 'collections', 'views', 'matviews', 'procedures', 'functions'].map(objectTypeField =>
|
||||||
_.sortBy(
|
_.sortBy(
|
||||||
@@ -33,11 +33,23 @@
|
|||||||
onClick: () => handleDatabaseObjectClick({ objectTypeField, ...dbConnectionInfo, ...obj }),
|
onClick: () => handleDatabaseObjectClick({ objectTypeField, ...dbConnectionInfo, ...obj }),
|
||||||
icon: databaseObjectIcons[objectTypeField],
|
icon: databaseObjectIcons[objectTypeField],
|
||||||
})),
|
})),
|
||||||
['schemaName', 'pureName']
|
['text']
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
return objectList;
|
const databaseList = [];
|
||||||
|
for (const connection of connectionList || []) {
|
||||||
|
const conid = connection._id;
|
||||||
|
const databases = getLocalStorage(`database_list_${conid}`) || [];
|
||||||
|
for (const db of databases) {
|
||||||
|
databaseList.push({
|
||||||
|
text: `${db.name} on ${getConnectionLabel(connection)}`,
|
||||||
|
icon: 'img database',
|
||||||
|
onClick: () => currentDatabase.set({ connection, name: db.name }),
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return [..._.sortBy(databaseList, 'text'), ...objectList];
|
||||||
|
|
||||||
// return db?.tables?.map(table => ({
|
// return db?.tables?.map(table => ({
|
||||||
// text: table.pureName,
|
// text: table.pureName,
|
||||||
@@ -61,9 +73,11 @@
|
|||||||
visibleCommandPalette,
|
visibleCommandPalette,
|
||||||
} from '../stores';
|
} from '../stores';
|
||||||
import clickOutside from '../utility/clickOutside';
|
import clickOutside from '../utility/clickOutside';
|
||||||
|
import getConnectionLabel from '../utility/getConnectionLabel';
|
||||||
import getElectron from '../utility/getElectron';
|
import getElectron from '../utility/getElectron';
|
||||||
import keycodes from '../utility/keycodes';
|
import keycodes from '../utility/keycodes';
|
||||||
import { useDatabaseInfo } from '../utility/metadataLoaders';
|
import { useConnectionList, useDatabaseInfo } from '../utility/metadataLoaders';
|
||||||
|
import { getLocalStorage } from '../utility/storageCache';
|
||||||
import registerCommand from './registerCommand';
|
import registerCommand from './registerCommand';
|
||||||
|
|
||||||
let domInput;
|
let domInput;
|
||||||
@@ -89,9 +103,10 @@
|
|||||||
$: conid = _.get($currentDatabase, 'connection._id');
|
$: conid = _.get($currentDatabase, 'connection._id');
|
||||||
$: database = _.get($currentDatabase, 'name');
|
$: database = _.get($currentDatabase, 'name');
|
||||||
$: databaseInfo = useDatabaseInfo({ conid, database });
|
$: databaseInfo = useDatabaseInfo({ conid, database });
|
||||||
|
$: connectionList = useConnectionList();
|
||||||
|
|
||||||
$: filteredItems = ($visibleCommandPalette == 'database'
|
$: filteredItems = ($visibleCommandPalette == 'database'
|
||||||
? extractDbItems($databaseInfo, { conid, database })
|
? extractDbItems($databaseInfo, { conid, database }, $connectionList)
|
||||||
: parentCommand
|
: parentCommand
|
||||||
? parentCommand.getSubCommands()
|
? parentCommand.getSubCommands()
|
||||||
: sortedComands
|
: sortedComands
|
||||||
|
|||||||
Reference in New Issue
Block a user