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}