diff --git a/packages/web/src/elements/TabControl.svelte b/packages/web/src/elements/TabControl.svelte
index f91eb7161..f9305dd58 100644
--- a/packages/web/src/elements/TabControl.svelte
+++ b/packages/web/src/elements/TabControl.svelte
@@ -33,14 +33,17 @@
{#each tabs as tab, index}
- {#if tab.slot == 0}{/if}
- {#if tab.slot == 1}{/if}
- {#if tab.slot == 2}{/if}
- {#if tab.slot == 3}{/if}
- {#if tab.slot == 4}{/if}
- {#if tab.slot == 5}{/if}
- {#if tab.slot == 6}{/if}
- {#if tab.slot == 7}{/if}
+ {#if tab.slot != null}
+ {#if tab.slot == 0}
+ {:else if tab.slot == 1}
+ {:else if tab.slot == 2}
+ {:else if tab.slot == 3}
+ {:else if tab.slot == 4}
+ {:else if tab.slot == 5}
+ {:else if tab.slot == 6}
+ {:else if tab.slot == 7}
+ {/if}
+ {/if}
{/each}
diff --git a/packages/web/src/elements/TableControl.svelte b/packages/web/src/elements/TableControl.svelte
index cecdda4e2..658c8134b 100644
--- a/packages/web/src/elements/TableControl.svelte
+++ b/packages/web/src/elements/TableControl.svelte
@@ -10,6 +10,7 @@
component?: any;
getProps?: any;
formatter?: any;
+ slot?: number;
}
export let columns: TableColumn[];
@@ -52,6 +53,16 @@
{:else if col.formatter}
{col.formatter(row)}
+ {:else if col.slot != null}
+ {#if col.slot == 0}
+ {:else if col.slot == 1}
+ {:else if col.slot == 2}
+ {:else if col.slot == 3}
+ {:else if col.slot == 4}
+ {:else if col.slot == 5}
+ {:else if col.slot == 6}
+ {:else if col.slot == 7}
+ {/if}
{:else}
{row[col.fieldName]}
{/if}
diff --git a/packages/web/src/query/RunnerOutputFiles/RunnerOutputFiles.svelte b/packages/web/src/query/RunnerOutputFiles/RunnerOutputFiles.svelte
index f88d68218..46d5a712e 100644
--- a/packages/web/src/query/RunnerOutputFiles/RunnerOutputFiles.svelte
+++ b/packages/web/src/query/RunnerOutputFiles/RunnerOutputFiles.svelte
@@ -5,6 +5,7 @@
import axiosInstance from '../../utility/axiosInstance';
import formatFileSize from '../../utility/formatFileSize';
import getElectron from '../../utility/getElectron';
+ import resolveApi from '../../utility/resolveApi';
import socket from '../../utility/socket';
import useEffect from '../../utility/useEffect';
import CopyLink from './CopyLink.svelte';
@@ -52,30 +53,69 @@
!electron && {
fieldName: 'download',
header: 'Download',
- component: DownloadLink,
- getProps: row => ({
- row,
- runnerId,
- }),
+ slot: 0,
+ // component: DownloadLink,
+ // getProps: row => ({
+ // row,
+ // runnerId,
+ // }),
},
electron && {
fieldName: 'copy',
header: 'Copy',
- component: CopyLink,
- getProps: row => ({
- row,
- runnerId,
- }),
+ slot: 1,
+ // component: CopyLink,
+ // getProps: row => ({
+ // row,
+ // runnerId,
+ // }),
},
electron && {
fieldName: 'show',
header: 'Show',
- component: ShowLink,
- getProps: row => ({
- row,
- runnerId,
- }),
+ slot: 2,
+ // component: ShowLink,
+ // getProps: row => ({
+ // row,
+ // runnerId,
+ // }),
},
]}
- />
+ >
+
+ download
+
+
+ {
+ const file = electron.remote.dialog.showSaveDialogSync(electron.remote.getCurrentWindow(), {});
+ if (file) {
+ const fs = window.require('fs');
+ fs.copyFile(row.path, file, () => {});
+ }
+ }}
+ >
+ save
+
+
+ {
+ electron.remote.shell.showItemInFolder(row.path);
+ }}
+ >
+ show
+
+
{/if}