1
0
mirror of https://github.com/garraflavatra/rolens.git synced 2025-07-18 22:04:05 +00:00

Removed export functionality. Only dumping for now

This commit is contained in:
2023-02-21 20:26:46 +01:00
parent 5dd9e0573d
commit b15fde11db
7 changed files with 94 additions and 145 deletions

View File

@ -160,7 +160,7 @@
</label>
</div>
<div class="form-row three">
<div class="form-row actions">
<!-- <CodeExample {code} /> -->
<button class="btn" type="button" on:click={loadQuery}>
<Icon name="upload" /> Load query…
@ -168,6 +168,9 @@
<button class="btn" type="button" on:click={saveQuery}>
<Icon name="save" /> Save as…
</button>
<button class="btn" type="button" on:click={saveQuery}>
<Icon name="save" /> Export results…
</button>
<button type="submit" class="btn" title="Run query">
<Icon name="play" /> Run
</button>
@ -276,10 +279,10 @@
.form-row.two {
grid-template: 1fr / 5fr 1fr 1fr;
}
.form-row.three {
.form-row.actions {
margin-bottom: 0rem;
grid-template: 1fr / repeat(3, auto);
justify-content: end;
grid-template: 1fr / repeat(4, auto);
justify-content: start;
}
.result {

View File

@ -5,26 +5,14 @@
import busy from '$lib/stores/busy';
import { connections } from '$lib/stores/connections';
import applicationSettings from '$lib/stores/settings';
import { OpenConnection, OpenDatabase, PerformExport } from '$wails/go/app/App';
import { OpenConnection, OpenDatabase, PerformDump } from '$wails/go/app/App';
export let info;
export let hosts = {};
const actionLabel = {
export: 'Perform export',
dump: 'Perform dump',
};
$: if (info) {
info.outdir = info.outdir || $applicationSettings.defaultExportDirectory;
info.filename = info.filename || `Export ${new Date().getTime()}`;
if (info.filetype === 'bson') {
info.type = 'dump';
}
else {
info.type = 'export';
}
info.filename = info.filename || `Dump ${new Date().getTime()}`;
}
async function selectHost(hostKey) {
@ -63,8 +51,11 @@
}
}
async function performExport() {
await PerformExport(JSON.stringify(info));
async function performDump() {
const ok = await PerformDump(JSON.stringify(info));
if (ok) {
info = undefined;
}
}
function selectCollection(collKey) {
@ -72,38 +63,16 @@
}
</script>
<Modal bind:show={info} title={actionLabel[info?.type]}>
<form on:submit|preventDefault={performExport}>
<Modal bind:show={info} title="Perform dump">
<form on:submit|preventDefault={performDump}>
<!-- svelte-ignore a11y-label-has-associated-control - input is in DirectoryChooser -->
<label class="field">
<span class="label">Output destination:</span>
<DirectoryChooser bind:value={info.outdir} />
<span class="label">/</span>
<input type="text" bind:value={info.filename} />
<span class="label">.</span>
<select bind:value={info.filetype} class="filetype">
<optgroup label="Dump (via mongodump)">
<option value="bson">bson</option>
</optgroup>
<optgroup label="Export">
<option value="csv">csv</option>
<option value="json">json</option>
</optgroup>
</select>
</label>
<div class="options">
{#if info.filetype === 'json'}
<label class="field">
<span class="label">Separate items using:</span>
<select bind:value={info.jsonType}>
<option value="newline">Newline</option>
<option value="array">JSON array</option>
</select>
</label>
{/if}
</div>
<div class="location">
<div class="grid">
<Grid
@ -156,7 +125,7 @@
</div>
<div>
<button type="submit" class="btn">{actionLabel[info.type]}</button>
<button type="submit" class="btn">Perform dump</button>
</div>
</form>
</Modal>
@ -164,7 +133,7 @@
<style>
form {
display: grid;
grid-template: auto auto 1fr auto / 1fr;
grid-template: auto 1fr auto / 1fr;
gap: 0.5rem;
}
.location {
@ -176,8 +145,4 @@
border: 1px solid #ccc;
overflow-y: auto;
}
select.filetype {
flex: 0 1;
}
</style>

View File

@ -6,7 +6,7 @@
import { EventsOn } from '$wails/runtime/runtime';
import { onMount } from 'svelte';
import CollectionDetail from './collection/index.svelte';
import Export from './export/export.svelte';
import DumpInfo from './dump.svelte';
import HostDetail from './hostdetail.svelte';
import HostTree from './hosttree.svelte';
@ -119,7 +119,7 @@
{hosts}
/>
<Export bind:info={exportInfo} {hosts} />
<DumpInfo bind:info={exportInfo} {hosts} />
<style>
.tree {

View File

@ -37,7 +37,7 @@ export function OpenConnection(arg1:string):Promise<Array<string>>;
export function OpenDatabase(arg1:string,arg2:string):Promise<Array<string>>;
export function PerformExport(arg1:string):Promise<boolean>;
export function PerformDump(arg1:string):Promise<boolean>;
export function PurgeLogDirectory():Promise<void>;

View File

@ -62,8 +62,8 @@ export function OpenDatabase(arg1, arg2) {
return window['go']['app']['App']['OpenDatabase'](arg1, arg2);
}
export function PerformExport(arg1) {
return window['go']['app']['App']['PerformExport'](arg1);
export function PerformDump(arg1) {
return window['go']['app']['App']['PerformDump'](arg1);
}
export function PurgeLogDirectory() {