README.md 1.8 KB

@file-viewer/renderer-mindmap

Flyfish File Viewer 的独立 XMind / Mind Map renderer 包。它负责解析现代 content.json 和经典 content.xml XMind 文件,并使用轻量 @panzoom/panzoom 提供支持拖拽平移、移动端双指缩放、键盘平移、自适应容器尺寸、统一 toolbar 状态同步和定位的脑图画布。

用法

import FileViewer from '@file-viewer/vue3'
import { mindmapRenderer } from '@file-viewer/renderer-mindmap'

const options = {
  rendererMode: 'replace',
  renderers: mindmapRenderer,
}

也可以和其他 renderer 一起组合:

import { pdfRenderer } from '@file-viewer/renderer-pdf'
import { mindmapRenderer } from '@file-viewer/renderer-mindmap'

const options = {
  rendererMode: 'replace',
  renderers: [pdfRenderer, mindmapRenderer],
}

能力边界

  • 支持 .xmind
  • 支持 XMind 2020+ 的 content.json 和 XMind 8 / Classic 的 content.xml
  • 支持多 sheet、节点层级、标签、备注、链接、图片资源提示、概要/标注/浮动节点状态。
  • 支持工具栏缩放、适配画布、Panzoom 拖拽平移、移动端双指缩放、按帧合并平移更新、Ctrl / Command + 滚轮指针缩放、键盘方向键平移。
  • 首次打开和容器尺寸变化时会自动适配视图;用户手动拖拽、滚轮或缩放后会保留当前画布视角,只做安全边界校正。
  • 浏览器 smoke 会对 .xmind 样例执行真实 pan 回归,覆盖普通 Pointer、节点起手拖拽、滚轮平移和真实鼠标拖拽,避免画布再次退化成“能打开但拖不动”。

迁移说明

core 已不再内置 XMind 解析器,也不会默认安装 @ljheee/xmind-parser。需要 XMind 脑图预览时,请显式安装本包,或直接使用 @file-viewer/preset-all 聚合能力。