mirror of
https://github.com/DeNNiiInc/dbgate.git
synced 2026-04-19 22:26:01 +00:00
electron - work with exported files
This commit is contained in:
@@ -5,6 +5,7 @@ import styled from 'styled-components';
|
||||
import TableControl, { TableColumn } from '../utility/TableControl';
|
||||
import formatFileSize from '../utility/formatFileSize';
|
||||
import resolveApi from '../utility/resolveApi';
|
||||
import getElectron from '../utility/getElectron';
|
||||
|
||||
export default function RunnerOutputFiles({ runnerId, executeNumber }) {
|
||||
const socket = useSocket();
|
||||
@@ -28,19 +29,59 @@ export default function RunnerOutputFiles({ runnerId, executeNumber }) {
|
||||
setFiles([]);
|
||||
}, [executeNumber]);
|
||||
|
||||
const electron = getElectron();
|
||||
|
||||
return (
|
||||
<TableControl rows={files}>
|
||||
<TableColumn fieldName="name" header="Name" />
|
||||
<TableColumn fieldName="size" header="Size" formatter={(row) => formatFileSize(row.size)} />
|
||||
<TableColumn
|
||||
fieldName="download"
|
||||
header="Download"
|
||||
formatter={(row) => (
|
||||
<a href={`${resolveApi()}/runners/data/${runnerId}/${row.name}`} target="_blank" rel="noopener noreferrer">
|
||||
download
|
||||
</a>
|
||||
)}
|
||||
/>
|
||||
{!electron && (
|
||||
<TableColumn
|
||||
fieldName="download"
|
||||
header="Download"
|
||||
formatter={(row) => (
|
||||
<a href={`${resolveApi()}/runners/data/${runnerId}/${row.name}`} target="_blank" rel="noopener noreferrer">
|
||||
download
|
||||
</a>
|
||||
)}
|
||||
/>
|
||||
)}
|
||||
{electron && (
|
||||
<TableColumn
|
||||
fieldName="copy"
|
||||
header="Copy"
|
||||
formatter={(row) => (
|
||||
<a
|
||||
href="#"
|
||||
onClick={() => {
|
||||
const file = electron.remote.dialog.showSaveDialogSync(electron.remote.getCurrentWindow(), {});
|
||||
if (file) {
|
||||
const fs = window.require('fs');
|
||||
fs.copyFile(row.path, file, () => {});
|
||||
}
|
||||
}}
|
||||
>
|
||||
save
|
||||
</a>
|
||||
)}
|
||||
/>
|
||||
)}
|
||||
{electron && (
|
||||
<TableColumn
|
||||
fieldName="show"
|
||||
header="Show"
|
||||
formatter={(row) => (
|
||||
<a
|
||||
href="#"
|
||||
onClick={() => {
|
||||
electron.remote.shell.showItemInFolder(row.path);
|
||||
}}
|
||||
>
|
||||
show
|
||||
</a>
|
||||
)}
|
||||
/>
|
||||
)}
|
||||
</TableControl>
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user