2026-04-29 12:24:44 +08:00
|
|
|
//! MNOTE 思维导图页面组件 (SSR)
|
|
|
|
|
//!
|
|
|
|
|
//! 提供思维导图页面的服务器端渲染壳。
|
|
|
|
|
//! 外部手写 `<body>` 包装和 `<script>` 数据嵌入由路由 handler 处理。
|
|
|
|
|
|
|
|
|
|
use super::layout::PageLayout;
|
2026-04-29 14:36:24 +08:00
|
|
|
use leptos::prelude::*;
|
2026-04-29 12:24:44 +08:00
|
|
|
|
|
|
|
|
/// MNOTE 思维导图页面
|
|
|
|
|
///
|
|
|
|
|
/// 渲染思维导图的 SSR 壳结构:
|
|
|
|
|
/// - `<main id="mnote-mindmap-shell" data-object-shell="mindmap">`
|
|
|
|
|
/// - 思维导图标题区域
|
2026-05-11 12:27:40 +08:00
|
|
|
/// - leptos-mindmap / simple-mind-map adapter 挂载占位区
|
2026-04-29 12:24:44 +08:00
|
|
|
#[component]
|
|
|
|
|
pub fn MindmapPage(
|
|
|
|
|
/// 文档 ID
|
|
|
|
|
document_id: String,
|
|
|
|
|
/// 思维导图 ID
|
|
|
|
|
mindmap_id: String,
|
|
|
|
|
) -> impl IntoView {
|
|
|
|
|
view! {
|
|
|
|
|
<PageLayout current_nav="documents">
|
|
|
|
|
<main
|
|
|
|
|
id="mnote-mindmap-shell"
|
|
|
|
|
data-object-shell="mindmap"
|
|
|
|
|
data-document-id={document_id}
|
|
|
|
|
data-mindmap-id={mindmap_id}
|
|
|
|
|
>
|
|
|
|
|
<header>
|
|
|
|
|
<h1>{"思维导图"}</h1>
|
|
|
|
|
</header>
|
2026-05-11 12:27:40 +08:00
|
|
|
<section
|
|
|
|
|
id="mnote-mindmap-island"
|
|
|
|
|
data-leptos-mindmap-island="standalone"
|
|
|
|
|
data-runtime="simple-mind-map"
|
|
|
|
|
data-projection-query="mindmap.simple_mind_map_scene.get"
|
|
|
|
|
data-command-name="mindmap.command.apply"
|
|
|
|
|
></section>
|
2026-04-29 12:24:44 +08:00
|
|
|
</main>
|
|
|
|
|
</PageLayout>
|
|
|
|
|
}
|
|
|
|
|
}
|