收敛树命令与投影切换

This commit is contained in:
lix-2026
2026-04-30 06:58:17 +08:00
parent 3cc090ba5e
commit 8c895b3dc0
16 changed files with 980 additions and 281 deletions
+12 -8
View File
@@ -195,12 +195,12 @@ fn render_document_title_controller_script() -> &'static str {
}
if (!documentId) return;
const escapedId = cssEscape(documentId);
setText(`[data-node-id="${escapedId}"] .tree-link-title`, title);
setText(`[data-document-id="${escapedId}"] .tree-link-title`, title);
setText(`[data-doc-id="${escapedId}"] .tree-link-title`, title);
setText(`[data-node-id="${escapedId}"] .wolai-row-title`, title);
setText(`a[href="/documents/${escapedId}"] .wolai-row-title`, title);
setText(`a[href^="/documents/${escapedId}?"] .wolai-row-title`, title);
setText(`.tree-row[data-node-id="${escapedId}"] > .tree-link > .tree-link-title`, title);
setText(`.tree-row[data-document-id="${escapedId}"] > .tree-link > .tree-link-title`, title);
setText(`.tree-row[data-doc-id="${escapedId}"] > .tree-link > .tree-link-title`, title);
setText(`.wolai-page-row[data-node-id="${escapedId}"] > .wolai-row-title`, title);
setText(`a[href="/documents/${escapedId}"] > .wolai-row-title`, title);
setText(`a[href^="/documents/${escapedId}?"] > .wolai-row-title`, title);
};
const saveTitle = async () => {
@@ -627,8 +627,9 @@ async fn build_page_aggregate_snapshot(
}),
)?;
serde_json::from_value::<PageAggregate>(projection)
.map_err(|error| WebError::internal(format!("Page Aggregate projection 反序列化失败: {error}")))
serde_json::from_value::<PageAggregate>(projection).map_err(|error| {
WebError::internal(format!("Page Aggregate projection 反序列化失败: {error}"))
})
}
fn stamp_recent_page_cookie(headers: &mut HeaderMap, document_id: &str) {
@@ -941,6 +942,9 @@ mod tests {
assert!(html.contains("data-page-title-input=\"true\""));
assert!(html.contains("data-title-endpoint=\"/api/documents/title\""));
assert!(html.contains("mnote.document_title_controller.v1"));
assert!(html
.contains(".tree-row[data-node-id=\"${escapedId}\"] > .tree-link > .tree-link-title"));
assert!(!html.contains("[data-node-id=\"${escapedId}\"] .tree-link-title"));
assert!(html.contains("\"titleEndpoint\":\"/api/documents/title\""));
assert!(html.contains("__MNOTE_TREE_LIVE_BOOTSTRAP__"));
assert!(html.contains("mnote.tree_live_bootstrap.v1"));