0.1.04 文件树与导入mmap
This commit is contained in:
@@ -464,10 +464,9 @@ const MindmapBlockView = ({
|
||||
const onFsChange = () => {
|
||||
const active = Boolean(document.fullscreenElement);
|
||||
setFullscreenApiActive(active);
|
||||
// 用户按 ESC 退出浏览器全屏时,同步退出沉浸式全屏界面
|
||||
if (!active && localFullscreen) {
|
||||
setLocalFullscreen(false);
|
||||
}
|
||||
// 注意:浏览器在打开原生对话框(例如 file picker / alert / confirm)时可能会自动退出
|
||||
// Fullscreen API。此时不应退出“沉浸式全屏”UI,否则会导致用户在全屏编辑中执行导入/新建
|
||||
// 等操作时被强制退出全屏。
|
||||
};
|
||||
|
||||
document.addEventListener("fullscreenchange", onFsChange);
|
||||
@@ -1432,7 +1431,7 @@ const MindmapBlockView = ({
|
||||
const data = await xmindParser.default.parseXmindFile(blob, (content) => {
|
||||
const list = content;
|
||||
if (list.length > 1) {
|
||||
window.alert("检测到 XMind 多画布,自动导入第一个画布。");
|
||||
window.alert("检测到 XMind 多画布,自动导入第一个画布。");
|
||||
}
|
||||
return list.length > 0 ? list[0] : content;
|
||||
});
|
||||
@@ -1442,6 +1441,16 @@ const MindmapBlockView = ({
|
||||
return;
|
||||
}
|
||||
|
||||
// MindManager (.mmap)
|
||||
if (ext === "mmap") {
|
||||
const { parseMindManagerMmapFile } = await import("./mindmapMindManagerImport");
|
||||
const data = await parseMindManagerMmapFile(file);
|
||||
mindmap?.setData(data);
|
||||
mindmap?.command.clearHistory();
|
||||
debouncedPersist(data);
|
||||
return;
|
||||
}
|
||||
|
||||
// Markdown
|
||||
if (ext === "md" || ext === "markdown") {
|
||||
const { transformMarkdownTo } = await import(
|
||||
@@ -1458,7 +1467,7 @@ const MindmapBlockView = ({
|
||||
return;
|
||||
}
|
||||
|
||||
window.alert("暂不支持该文件类型,请选择 .json / .smm / .xmind / .md");
|
||||
window.alert("暂不支持该文件类型,请选择 .json / .smm / .xmind / .mmap / .md");
|
||||
} catch (error) {
|
||||
console.error(error);
|
||||
window.alert("导入失败:文件格式或内容错误");
|
||||
@@ -1798,7 +1807,7 @@ const MindmapBlockView = ({
|
||||
>
|
||||
<div className="fixed left-0 right-0 top-0 z-30 flex h-12 items-center justify-between border-b border-gray-200 bg-white/90 px-4 backdrop-blur">
|
||||
<div className="text-sm font-medium text-gray-700">
|
||||
思维导图编辑{fullscreenApiActive ? "(全屏)" : ""}
|
||||
思维导图编辑(全屏{fullscreenApiActive ? "·真" : ""})
|
||||
</div>
|
||||
<button
|
||||
type="button"
|
||||
|
||||
Reference in New Issue
Block a user