siyuan/app/src
Achuan-2 7545c2517f
Improve the outline panel (#15814)
*  实现大纲持久化
- 添加折叠状态变化的实时保存功能
- 在文档更新时恢复折叠状态
- 保存拖拽前的折叠状态并在拖拽后恢复
- 更新本地存储结构以支持折叠状态

* 🎨 clean code

*  在`data/storage`文件夹下创建`outline/${docID}.json`文件,存储标题outline展开信息

*  alt click折叠/展开统计标题

* 添加层级控制功能
- 新增层级控制滑条,允许用户展开指定层级

* 🌐 添加多语言支持的展开层级功能

*  f添加层级重置显示功能
- 新增 resetLevelDisplay 方法以重置层级显示状态
- 更新层级控制的初始化逻辑,默认不显示层级
- 在文档切换时重置层级显示状态

* 优化层级控制功能
- 添加用户主动层级控制标记
- 修改层级显示重置逻辑,仅在非用户操作时重置
- 更新层级控制滑条的点击事件处理

* ♻️ 重构大纲存储逻辑
- 合并大纲存储为单一文件 outline.json

* ♻️ outline.json 单行存储

* ♻️ outline.json参考recent-doc.json,只存储前1000个文档信息,每次新增信息会把数据放在最前面

* ♻️单行存储json

* ♻️ 增加outline.json存储限制至2000个

*  新增`保持当前标题展开`按钮,`保持全部展开`改为`全部展开`按钮

*  保持当前标题展开优化
- 超过两级折叠,也能都展开
- 如果父节点折叠,展开时自动折叠兄弟节点,只展开当前节点路径,如果父节点是展开状态,则不影响兄弟节点折叠状态

* 🔥 移除层级文本

*  右键点击toggle时展开所有子标题

*  右键click点击折叠图标,会折叠/展开所有子标题

*  大纲支持筛选功能

*  feat(大纲): 优化筛选功能以显示所有子标题
- 添加 showAllDescendants 函数以显示所有子标题
- 修改 processUL 函数以在父标题命中时显示所有子标题
- 确保未命中的子标题隐藏

*  优化大纲筛选

- 如果标题命中筛选,这个标题的所有父标题展开,以显示出这个标题位置
- 如果父标题命中筛选,子项都没有命中筛选,则折叠全部子项(依然可以展开显示)
- 如果父标题命中筛选,子项也有命中筛选,则展开命中的子项,其他无关子项隐藏

* 💄 展开层级改为按钮,原先的圆点样式碍眼

* 💄 展开层级改为按钮,原先的圆点样式碍眼

* 💄 style(菜单): 优化展开层级菜单的样式和位置
- 添加图标以增强可视化
- 调整菜单弹出位置以改善用户体验

* ♻️ refactor(大纲): 优化标题级别获取逻辑
- 调整展开到指定层级的逻辑,使用标题级别进行判断

* 🎨

*  feat(大纲): 添加右键菜单功能
- 实现右键点击标题时显示上下文菜单
- 增加标题升级、降级、插入、删除等操作
- 基于标题级别展开/折叠同级标题

*  feat(大纲): 添加子标题功能
- 在右键菜单中添加“添加子标题”选项
- 实现子标题的添加逻辑,支持最大级别为H6
- 使用当前标题作为父标题,插入新子标题

*  feat(大纲): "添加子标题"确保父标题展开状态

*  feat(大纲): 使用expandIds方式保存父标题展开状态
- 确保父标题保持展开状态
- 保存展开状态到持久化存储
- 移除冗余的状态保存逻辑

*  feat(大纲): 调整右键菜单顺序,将“全部折叠”功能移至“全部展开”之后

* 🌐 i18n optimization
2025-10-15 10:01:47 +08:00
..
ai Replace the deprecated isSameNode method in DOM Level 4 with the === operator (#15347) 2025-07-23 12:21:59 +08:00
asset 🎨 https://github.com/siyuan-note/siyuan/issues/15835 2025-09-13 23:27:45 +08:00
assets 🎨 https://github.com/siyuan-note/siyuan/pull/15983 2025-10-12 20:29:42 +08:00
block 块引浮窗显示文档标题 #15 (#15929) 2025-09-26 22:01:14 +08:00
boot 🎨 https://github.com/siyuan-note/siyuan/pull/15965 2025-09-29 19:21:07 +08:00
business 🎨 https://github.com/siyuan-note/siyuan/issues/12721 2024-10-25 16:58:06 +08:00
card 🎨 https://github.com/siyuan-note/siyuan/issues/16088 2025-10-14 18:13:45 +08:00
config 🎨 History Retention Days supports a maximum setting of 3650 https://github.com/siyuan-note/siyuan/issues/15979 2025-09-29 21:14:44 +08:00
dialog 🎨 Manually optimize the data index to reduce space usage and improve performance https://github.com/siyuan-note/siyuan/issues/15663 2025-08-25 16:17:52 +08:00
editor 🎨 https://github.com/siyuan-note/siyuan/issues/14894 2025-05-24 17:41:06 +08:00
emoji 🐛 https://github.com/siyuan-note/siyuan/issues/15970 2025-09-27 22:21:17 +08:00
history Replace the deprecated isSameNode method in DOM Level 4 with the === operator (#15347) 2025-07-23 12:21:59 +08:00
layout Improve the outline panel (#15814) 2025-10-15 10:01:47 +08:00
menus 🚨 2025-10-14 11:15:38 +08:00
mobile 🎨 Clean code 2025-10-13 22:54:20 +08:00
plugin 🎨 Hide the separator line in the top bar plugin menu in publish service (#15809) 2025-09-09 18:08:21 +08:00
protyle Improve the outline panel (#15814) 2025-10-15 10:01:47 +08:00
search 🎨 https://github.com/siyuan-note/siyuan/issues/16011 2025-10-13 10:44:35 +08:00
sync 🎨 Improve text https://github.com/siyuan-note/siyuan/issues/14447 2025-03-25 23:57:39 +08:00
types 🎨 https://github.com/siyuan-note/siyuan/issues/15948 2025-09-25 23:10:03 +08:00
util Improve the outline panel (#15814) 2025-10-15 10:01:47 +08:00
window 🎨 https://github.com/siyuan-note/siyuan/issues/15177 2025-06-29 23:07:26 +08:00
constants.ts 💄 Improve the animation for opening dialog (#15383) 2025-07-30 17:22:40 +08:00
index.ts 🎨 https://github.com/siyuan-note/siyuan/issues/14652 2025-04-23 17:26:44 +08:00