fix(desktop): keep saving structure export sql
This commit is contained in:
parent
6dee9705d9
commit
36923fa581
|
|
@ -797,6 +797,7 @@ const showBatchDropConfirm = ref(false);
|
|||
const showStructurePreviewDialog = ref(false);
|
||||
const structurePreviewSql = ref("");
|
||||
const structurePreviewTitle = ref("");
|
||||
const structurePreviewDefaultFileName = ref("structure.sql");
|
||||
const structurePreviewError = ref("");
|
||||
const isLoadingStructurePreview = ref(false);
|
||||
const showEmptyTableConfirm = ref(false);
|
||||
|
|
@ -1688,6 +1689,7 @@ async function exportStructure() {
|
|||
targets.length === 1
|
||||
? t("contextMenu.exportStructurePreviewTitle", { name: targets[0]!.label })
|
||||
: t("contextMenu.exportStructurePreviewTitleMultiple", { count: targets.length });
|
||||
structurePreviewDefaultFileName.value = targets.length === 1 ? `${targets[0]!.label}.sql` : "structures.sql";
|
||||
showStructurePreviewDialog.value = true;
|
||||
try {
|
||||
const parts: string[] = [];
|
||||
|
|
@ -1749,6 +1751,16 @@ async function copyStructurePreview() {
|
|||
}
|
||||
}
|
||||
|
||||
async function saveStructurePreview() {
|
||||
if (!structurePreviewSql.value) return;
|
||||
try {
|
||||
await saveFileContent(structurePreviewSql.value, structurePreviewDefaultFileName.value, "SQL", "sql");
|
||||
toast(t("grid.exported"));
|
||||
} catch (e: any) {
|
||||
toast(t("grid.exportFailed", { message: e?.message || String(e) }), 5000);
|
||||
}
|
||||
}
|
||||
|
||||
async function exportData(format: "csv" | "json" | "sql") {
|
||||
const node = props.node;
|
||||
if (!node.connectionId || !node.database) return;
|
||||
|
|
@ -3009,10 +3021,18 @@ function treeItemMenuItems(): ContextMenuItem[] {
|
|||
</div>
|
||||
<DialogFooter>
|
||||
<Button variant="outline" @click="showStructurePreviewDialog = false">{{ t("dangerDialog.cancel") }}</Button>
|
||||
<Button :disabled="isLoadingStructurePreview || !structurePreviewSql" @click="copyStructurePreview">
|
||||
<Button
|
||||
variant="outline"
|
||||
:disabled="isLoadingStructurePreview || !structurePreviewSql"
|
||||
@click="copyStructurePreview"
|
||||
>
|
||||
<Clipboard class="h-4 w-4" />
|
||||
{{ t("contextMenu.copyStructure") }}
|
||||
</Button>
|
||||
<Button :disabled="isLoadingStructurePreview || !structurePreviewSql" @click="saveStructurePreview">
|
||||
<Download class="h-4 w-4" />
|
||||
{{ t("contextMenu.saveStructure") }}
|
||||
</Button>
|
||||
</DialogFooter>
|
||||
</DialogContent>
|
||||
</Dialog>
|
||||
|
|
|
|||
|
|
@ -922,6 +922,7 @@ export default {
|
|||
exportStructurePreviewTitleMultiple: "Structure - {count} objects",
|
||||
exportStructureLoading: "Loading structure...",
|
||||
copyStructure: "Copy Structure",
|
||||
saveStructure: "Save SQL",
|
||||
exportStructureCopied: "Structure copied",
|
||||
createTable: "Create Table",
|
||||
dropTable: "Drop Table",
|
||||
|
|
|
|||
|
|
@ -818,6 +818,7 @@ export default {
|
|||
exportStructurePreviewTitleMultiple: "Estructura - {count} objetos",
|
||||
exportStructureLoading: "Cargando estructura...",
|
||||
copyStructure: "Copiar estructura",
|
||||
saveStructure: "Guardar SQL",
|
||||
exportStructureCopied: "Estructura copiada",
|
||||
createTable: "Crear tabla",
|
||||
dropTable: "Eliminar tabla",
|
||||
|
|
|
|||
|
|
@ -903,6 +903,7 @@ export default {
|
|||
exportStructurePreviewTitleMultiple: "表结构 - {count} 个对象",
|
||||
exportStructureLoading: "正在读取表结构...",
|
||||
copyStructure: "复制表结构",
|
||||
saveStructure: "保存 SQL",
|
||||
exportStructureCopied: "表结构已复制",
|
||||
createTable: "新建表",
|
||||
dropTable: "删除表",
|
||||
|
|
|
|||
|
|
@ -903,6 +903,7 @@ export default {
|
|||
exportStructurePreviewTitleMultiple: "資料表結構 - {count} 個物件",
|
||||
exportStructureLoading: "正在讀取資料表結構...",
|
||||
copyStructure: "複製資料表結構",
|
||||
saveStructure: "儲存 SQL",
|
||||
exportStructureCopied: "資料表結構已複製",
|
||||
createTable: "建立資料表",
|
||||
dropTable: "刪除資料表",
|
||||
|
|
|
|||
Loading…
Reference in New Issue