diff --git a/packages/web/src/impexp/ScriptWriter.js b/packages/web/src/impexp/ScriptWriter.js index f4f6e29b1..a20a48b85 100644 --- a/packages/web/src/impexp/ScriptWriter.js +++ b/packages/web/src/impexp/ScriptWriter.js @@ -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) - .map((packageName) => `// @require ${packageName}\n`) - .join('') + - '\n' + - this.s - ); + let prefix = _.uniq(packageNames) + .map((packageName) => `// @require ${packageName}\n`) + .join(''); + if (schedule) prefix += `// @schedule ${schedule}`; + if (prefix) prefix += '\n'; + + return prefix + this.s; } } diff --git a/packages/web/src/impexp/createImpExpScript.js b/packages/web/src/impexp/createImpExpScript.js index 47d404740..87c161665 100644 --- a/packages/web/src/impexp/createImpExpScript.js +++ b/packages/web/src/impexp/createImpExpScript.js @@ -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) { diff --git a/packages/web/src/modals/ImportExportModal.js b/packages/web/src/modals/ImportExportModal.js index e47174a6f..1ff3b5e1b 100644 --- a/packages/web/src/modals/ImportExportModal.js +++ b/packages/web/src/modals/ImportExportModal.js @@ -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({ )} + + + +