mirror of
https://github.com/garraflavatra/rolens.git
synced 2025-07-19 22:18:03 +00:00
Added collection copy feature (fixes #63)
This commit is contained in:
@ -6,7 +6,8 @@
|
||||
"chev-u": "<path d=\"m18 15-6-6-6 6\"/>",
|
||||
"chevs-l": "<path d=\"m11 17-5-5 5-5M18 17l-5-5 5-5\"/>",
|
||||
"chevs-r": "<path d=\"m13 17 5-5-5-5M6 17l5-5-5-5\"/>",
|
||||
"arr-d": " <path d=\"M12 5v14M19 12l-7 7-7-7\"/>",
|
||||
"arr-d": "<path d=\"M12 5v14M19 12l-7 7-7-7\"/>",
|
||||
"arr-r": "<path d=\"M5 12h14M12 5l7 7-7 7\"/>",
|
||||
"db": "<ellipse cx=\"12\" cy=\"5\" rx=\"9\" ry=\"3\"></ellipse><path d=\"M21 12c0 1.66-4 3-9 3s-9-1.34-9-3\"></path><path d=\"M3 5v14c0 1.66 4 3 9 3s9-1.34 9-3V5\"></path>",
|
||||
"x": "<line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\"></line><line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\"></line>",
|
||||
"+": "<line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\"></line><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"></line>",
|
||||
|
@ -10,12 +10,14 @@ import IndexDetailDialog from '$organisms/connection/collection/dialogs/indexdet
|
||||
import QueryChooserDialog from '$organisms/connection/collection/dialogs/querychooser.svelte';
|
||||
import DumpDialog from '$organisms/connection/database/dialogs/dump.svelte';
|
||||
import HostDetailDialog from '$organisms/connection/host/dialogs/hostdetail.svelte';
|
||||
import DuplicateDialog from '$organisms/connection/collection/dialogs/duplicate.svelte';
|
||||
|
||||
import {
|
||||
CreateIndex,
|
||||
DropCollection,
|
||||
DropDatabase,
|
||||
DropIndex,
|
||||
DuplicateCollection,
|
||||
ExecuteShellScript,
|
||||
GetIndexes,
|
||||
HostLogs,
|
||||
@ -30,6 +32,7 @@ import {
|
||||
TruncateCollection
|
||||
} from '$wails/go/app/App';
|
||||
|
||||
|
||||
const { set, subscribe } = writable({});
|
||||
const getValue = () => get({ subscribe });
|
||||
let hostTreeInited = false;
|
||||
@ -120,9 +123,30 @@ async function refresh() {
|
||||
}
|
||||
};
|
||||
|
||||
collection.duplicate = async function() {
|
||||
const dialog = dialogs.new(DuplicateDialog, { host, dbKey, collKey });
|
||||
return new Promise(resolve => {
|
||||
dialog.$on('duplicate', async event => {
|
||||
const success = await DuplicateCollection(
|
||||
hostKey,
|
||||
dbKey,
|
||||
collKey,
|
||||
event.detail.newHost,
|
||||
event.detail.newDb,
|
||||
event.detail.newColl
|
||||
);
|
||||
|
||||
if (success) {
|
||||
await refresh();
|
||||
dialog.$close();
|
||||
resolve();
|
||||
}
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
collection.export = function(query) {
|
||||
const dialog = dialogs.new(ExportDialog, { collection, query });
|
||||
|
||||
return new Promise(resolve => {
|
||||
dialog.$on('export', async event => {
|
||||
const success = await PerformFindExport(hostKey, dbKey, collKey, JSON.stringify(event.detail.exportInfo));
|
||||
|
Reference in New Issue
Block a user