Skip to content

Conversation

@UmbraCi
Copy link
Contributor

@UmbraCi UmbraCi commented Sep 16, 2025

This PR adds multiline editing and display for mind map nodes.

Key changes

  • Introduce contenteditable editor for multiline mode
  • Render line breaks using <br> in display mode
  • Sync node max-width with new option: textAutoWrapWidth
  • Adjust editor width/height to respect node padding and editor padding
  • Improve initial layout to avoid misplaced lines for multiline nodes
  • Update demo data to cover multiline scenarios

Why

  • Enable users to enter and read multi-paragraph content within nodes
  • Ensure visual consistency between display and editing states

Notes

  • Backward compatible when enable_multiline is false
  • Default textAutoWrapWidth is 300px

UmbraCi and others added 7 commits September 12, 2025 02:11
- 将复杂的三选项系统简化为单一的enable_multiline布尔开关
- 移除enable_rich_text和text_edit_mode选项,专注于核心的单行/多行编辑需求
- 优化编辑器文本处理逻辑,修复多行文本的编码/解码问题
- 简化示例页面按钮,从5个减少到2个核心功能按钮
- 添加动态节点重新渲染功能,切换模式时立即更新显示效果
- 改进HTML实体处理和浏览器兼容性(处理div元素插入等)
- 保持向后兼容性的同时大幅简化API复杂度
- 更新构建配置和开发环境设置
…ing; sync node max-width with textAutoWrapWidth; fix initial layout for multiline nodes; align editor sizing with node padding; convert comments to English; update demo data
Copy link
Owner

@hizzgdev hizzgdev left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

感谢 @UmbraCi 的大力支持。Editor 的功能其实并不是 jsMind 关心的,jsMind 只是一个展示脑图的 library,编辑器的功能我更希望是交给用户自己去实现,因为不同的产品有不同的编辑需求,做为 library 做得多了未必是一件有益的事情。

但是我仍然鼓励我们为 jsMind 提供更丰富的编辑功能,但不是作为内置的功能提供。而是以插件或者独立 library 形式提供。代码可以提交到 jsMind 的 repository ,也可以放到你自己的 repository 里。这样也能给用户更多的选择空间。

我们可以按这个思路,看看还需要 jsMind 开放哪些方法或者选项。

@UmbraCi
Copy link
Contributor Author

UmbraCi commented Sep 18, 2025

感谢 @UmbraCi 的大力支持。Editor 的功能其实并不是 jsMind 关心的,jsMind 只是一个展示脑图的 library,编辑器的功能我更希望是交给用户自己去实现,因为不同的产品有不同的编辑需求,做为 library 做得多了未必是一件有益的事情。

但是我仍然鼓励我们为 jsMind 提供更丰富的编辑功能,但不是作为内置的功能提供。而是以插件或者独立 library 形式提供。代码可以提交到 jsMind 的 repository ,也可以放到你自己的 repository 里。这样也能给用户更多的选择空间。

我们可以按这个思路,看看还需要 jsMind 开放哪些方法或者选项。

那我看看能不能新增一个plugin,和Jsmind内置的拖拽节点plugin类似的方式,你看可以吗

@hizzgdev
Copy link
Owner

感谢 @UmbraCi 的大力支持。Editor 的功能其实并不是 jsMind 关心的,jsMind 只是一个展示脑图的 library,编辑器的功能我更希望是交给用户自己去实现,因为不同的产品有不同的编辑需求,做为 library 做得多了未必是一件有益的事情。
但是我仍然鼓励我们为 jsMind 提供更丰富的编辑功能,但不是作为内置的功能提供。而是以插件或者独立 library 形式提供。代码可以提交到 jsMind 的 repository ,也可以放到你自己的 repository 里。这样也能给用户更多的选择空间。
我们可以按这个思路,看看还需要 jsMind 开放哪些方法或者选项。

那我看看能不能新增一个plugin,和Jsmind内置的拖拽节点plugin类似的方式,你看可以吗

可以的!

@UmbraCi
Copy link
Contributor Author

UmbraCi commented Sep 21, 2025

关闭此PR,将使用新的分支 feature/add-mult-line-node-plugin 创建新的PR

@UmbraCi UmbraCi closed this Sep 21, 2025
@UmbraCi
Copy link
Contributor Author

UmbraCi commented Sep 21, 2025

感谢 @UmbraCi 的大力支持。Editor 的功能其实并不是 jsMind 关心的,jsMind 只是一个展示脑图的 library,编辑器的功能我更希望是交给用户自己去实现,因为不同的产品有不同的编辑需求,做为 library 做得多了未必是一件有益的事情。
但是我仍然鼓励我们为 jsMind 提供更丰富的编辑功能,但不是作为内置的功能提供。而是以插件或者独立 library 形式提供。代码可以提交到 jsMind 的 repository ,也可以放到你自己的 repository 里。这样也能给用户更多的选择空间。
我们可以按这个思路,看看还需要 jsMind 开放哪些方法或者选项。

那我看看能不能新增一个plugin,和Jsmind内置的拖拽节点plugin类似的方式,你看可以吗

可以的!

新的PR地址: #675 请抽空CR

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants