From 0e11c505d48bd3bb14a7c6b8210586fa7f2ff52a Mon Sep 17 00:00:00 2001 From: 1ilit <1ilit@proton.me> Date: Sat, 15 Nov 2025 22:37:39 +0400 Subject: [PATCH] Allow importing from sql without uploading a file --- .../EditorHeader/Modal/ImportSource.jsx | 97 +++++++++++-------- src/i18n/locales/en.js | 2 + 2 files changed, 60 insertions(+), 39 deletions(-) diff --git a/src/components/EditorHeader/Modal/ImportSource.jsx b/src/components/EditorHeader/Modal/ImportSource.jsx index 176e35ad2..b6eed3982 100644 --- a/src/components/EditorHeader/Modal/ImportSource.jsx +++ b/src/components/EditorHeader/Modal/ImportSource.jsx @@ -1,6 +1,7 @@ -import { Upload, Checkbox, Banner } from "@douyinfe/semi-ui"; +import { Upload, Checkbox, Banner, Tabs, TabPane } from "@douyinfe/semi-ui"; import { STATUS } from "../../../data/constants"; import { useTranslation } from "react-i18next"; +import CodeEditor from "../../CodeEditor"; export default function ImportSource({ importData, @@ -12,45 +13,63 @@ export default function ImportSource({ return (
- { - const f = fileList[0].fileInstance; - if (!f) { - return; - } - const reader = new FileReader(); - reader.onload = async (e) => { - setImportData((prev) => ({ ...prev, src: e.target.result })); - }; - reader.readAsText(f); + + + { + setImportData((prev) => ({ ...prev, src: value })); + setError({ + type: STATUS.NONE, + message: "", + }); + }} + /> + + + { + const f = fileList[0].fileInstance; + if (!f) { + return; + } + const reader = new FileReader(); + reader.onload = async (e) => { + setImportData((prev) => ({ ...prev, src: e.target.result })); + }; + reader.readAsText(f); + + return { + autoRemove: false, + fileInstance: file.fileInstance, + status: "success", + shouldUpload: false, + }; + }} + draggable={true} + dragMainText={t("drag_and_drop_files")} + dragSubText={t("upload_sql_to_generate_diagrams")} + accept=".sql" + onRemove={() => { + setError({ + type: STATUS.NONE, + message: "", + }); + setImportData((prev) => ({ ...prev, src: "" })); + }} + onFileChange={() => + setError({ + type: STATUS.NONE, + message: "", + }) + } + limit={1} + /> + + - return { - autoRemove: false, - fileInstance: file.fileInstance, - status: "success", - shouldUpload: false, - }; - }} - draggable={true} - dragMainText={t("drag_and_drop_files")} - dragSubText={t("upload_sql_to_generate_diagrams")} - accept=".sql" - onRemove={() => { - setError({ - type: STATUS.NONE, - message: "", - }); - setImportData((prev) => ({ ...prev, src: "" })); - }} - onFileChange={() => - setError({ - type: STATUS.NONE, - message: "", - }) - } - limit={1} - />