mirror of
https://github.com/dbgate/dbgate
synced 2024-11-07 20:26:23 +00:00
import-export advanced config
This commit is contained in:
parent
cc11e63cd7
commit
e0c91214fd
@ -2,11 +2,11 @@ import _ from 'lodash';
|
||||
import { extractShellApiFunctionName, extractShellApiPlugins } from 'dbgate-tools';
|
||||
|
||||
export default class ScriptWriter {
|
||||
constructor() {
|
||||
constructor(varCount) {
|
||||
this.s = '';
|
||||
this.packageNames = [];
|
||||
// this.engines = [];
|
||||
this.varCount = 0;
|
||||
this.varCount = parseInt(varCount) || 0;
|
||||
}
|
||||
|
||||
allocVariable(prefix = 'var') {
|
||||
@ -32,22 +32,14 @@ export default class ScriptWriter {
|
||||
this.put(`// ${s}`);
|
||||
}
|
||||
|
||||
getScript(extensions) {
|
||||
// if (this.packageNames.length > 0) {
|
||||
// this.comment('@packages');
|
||||
// this.comment(JSON.stringify(this.packageNames));
|
||||
// }
|
||||
// if (this.engines.length > 0) {
|
||||
// this.comment('@engines');
|
||||
// this.comment(JSON.stringify(this.engines));
|
||||
// }
|
||||
getScript(extensions, schedule) {
|
||||
const packageNames = this.packageNames;
|
||||
return (
|
||||
_.uniq(packageNames)
|
||||
let prefix = _.uniq(packageNames)
|
||||
.map((packageName) => `// @require ${packageName}\n`)
|
||||
.join('') +
|
||||
'\n' +
|
||||
this.s
|
||||
);
|
||||
.join('');
|
||||
if (schedule) prefix += `// @schedule ${schedule}`;
|
||||
if (prefix) prefix += '\n';
|
||||
|
||||
return prefix + this.s;
|
||||
}
|
||||
}
|
||||
|
@ -150,7 +150,7 @@ function getTargetExpr(extensions, sourceName, values, targetConnection, targetD
|
||||
}
|
||||
|
||||
export default async function createImpExpScript(extensions, values, addEditorInfo = true) {
|
||||
const script = new ScriptWriter();
|
||||
const script = new ScriptWriter(values.startVariableIndex || 0);
|
||||
|
||||
const [sourceConnection, sourceDriver] = await getConnection(
|
||||
extensions,
|
||||
@ -182,7 +182,7 @@ export default async function createImpExpScript(extensions, values, addEditorIn
|
||||
script.comment('@ImportExportConfigurator');
|
||||
script.comment(JSON.stringify(values));
|
||||
}
|
||||
return script.getScript(extensions);
|
||||
return script.getScript(extensions, values.schedule);
|
||||
}
|
||||
|
||||
export function getActionOptions(extensions, source, values, targetDbinfo) {
|
||||
|
@ -24,6 +24,7 @@ import LargeButton, { LargeFormButton } from '../widgets/LargeButton';
|
||||
import { getDefaultFileFormat } from '../utility/fileformats';
|
||||
import useExtensions from '../utility/useExtensions';
|
||||
import { FormProvider, useForm } from '../utility/FormProvider';
|
||||
import { FormTextField } from '../utility/forms';
|
||||
|
||||
const headerHeight = '60px';
|
||||
const footerHeight = '100px';
|
||||
@ -213,6 +214,10 @@ export default function ImportExportModal({
|
||||
<PreviewDataGrid reader={previewReader} />
|
||||
</WidgetColumnBarItem>
|
||||
)}
|
||||
<WidgetColumnBarItem title="Advanced configuration" name="config" collapsed>
|
||||
<FormTextField label="Schedule" name="schedule" />
|
||||
<FormTextField label="Start variable index" name="startVariableIndex" />
|
||||
</WidgetColumnBarItem>
|
||||
</WidgetColumnBar>
|
||||
</WidgetColumnWrapper>
|
||||
</Wrapper>
|
||||
|
Loading…
Reference in New Issue
Block a user