refactor: split sidebar settings and slash menu view

This commit is contained in:
lix-2026
2026-05-26 04:17:52 +08:00
parent a8bc87173f
commit 85914cd4e1
9 changed files with 1082 additions and 853 deletions
@@ -160,6 +160,7 @@ cargo test --manifest-path rust/Cargo.toml -p mnote-web --lib routes::web_shell
- 新建:`rust/crates/mnote-web/browser/sidebar-filetree-upload-runtime.js`
- 新建:`rust/crates/mnote-web/browser/sidebar-attachment-open-runtime.js`
- 新建:`rust/crates/mnote-web/browser/sidebar-tree-live-apply-runtime.js`
- 新建:`rust/crates/mnote-web/browser/sidebar-page-settings-runtime.js`
拆分项:
@@ -170,7 +171,7 @@ cargo test --manifest-path rust/Cargo.toml -p mnote-web --lib routes::web_shell
- [x] C5. `sidebar-filetree-upload-runtime.js`local upload target plan、drop/paste preflight、readonly guard。
- [x] C6. `sidebar-attachment-open-runtime.js`OnlyOffice/PDF/code/image open mode guard。
- [x] C7. `sidebar-tree-live-apply-runtime.js`WS/SSE snapshot/delta/resync DOM apply。
- [ ] C8. `sidebar-tree-runtime.js` 保留为 entrypoint,目标少于 3,000 行。
- [x] C8. `sidebar-tree-runtime.js` 保留为 entrypoint,目标少于 3,000 行。
验收命令:
@@ -183,6 +184,7 @@ node --check rust/crates/mnote-web/browser/sidebar-filetree-command-runtime.js
node --check rust/crates/mnote-web/browser/sidebar-filetree-upload-runtime.js
node --check rust/crates/mnote-web/browser/sidebar-attachment-open-runtime.js
node --check rust/crates/mnote-web/browser/sidebar-tree-live-apply-runtime.js
node --check rust/crates/mnote-web/browser/sidebar-page-settings-runtime.js
cargo test --manifest-path rust/Cargo.toml -p mnote-web --lib ssr::pages::layout -- --test-threads=1
```
@@ -247,7 +249,7 @@ cargo test --manifest-path rust/Cargo.toml -p mnote-web --lib routes::tree -- --
- [x] E2. `mount.rs`:迁出 mount context、mounted handles、`mount_app_into` 周边可独立部分;`#[wasm_bindgen]` wrapper 可暂留根文件。
- [x] E3. `runtime_bridge.rs`:迁出 `dispatch_runtime_event``dispatch_*_to_target`、host command listener install。
- [x] E4. `block_transform.rs`:迁出 `run_block_turn_into_action``top_level_block_matches_action`、page/block transform helpers。
- [ ] E5. `slash_menu_view.rs`:迁出 slash menu Leptos view 和 click handling。
- [x] E5. `slash_menu_view.rs`:迁出 slash menu Leptos view 和 click handling。
- [ ] E6. `block_handle_menu_view.rs`:迁出 block handle menu 和 submenu view,作为最后一刀。
验收标准: