MindMap BlockShell-panel i arbeidsflaten (oppgave 27.2)

Legger til MindMap-støtte i workspace-siden slik at tankekartet
kan brukes som et fritt plassert BlockShell-panel med fullskjerm,
resize og drag-handle — på linje med alle andre trait-paneler.

Samlingssiden hadde allerede full MindMap-integrasjon fra 27.1.
Workspace-siden manglet import, knownTraits-oppføring og
rendering i både mobil- og desktop-modus.
This commit is contained in:
vegard 2026-03-18 19:38:49 +00:00
parent 1144933ac0
commit 6c5cdf817d
2 changed files with 7 additions and 3 deletions

View file

@ -34,6 +34,7 @@
import TranscriptionTrait from '$lib/components/traits/TranscriptionTrait.svelte';
import StudioTrait from '$lib/components/traits/StudioTrait.svelte';
import MixerTrait from '$lib/components/traits/MixerTrait.svelte';
import MindMapTrait from '$lib/components/traits/MindMapTrait.svelte';
import GenericTrait from '$lib/components/traits/GenericTrait.svelte';
import AiToolPanel from '$lib/components/AiToolPanel.svelte';
import { createBlockReceiver, executeTransfer, resolveTransferMode, type DragPayload } from '$lib/transfer';
@ -321,7 +322,7 @@
/** Trait components that have dedicated implementations */
const knownTraits = new Set([
'editor', 'chat', 'kanban', 'podcast', 'publishing',
'rss', 'calendar', 'recording', 'transcription', 'studio', 'mixer'
'rss', 'calendar', 'recording', 'transcription', 'studio', 'mixer', 'mindmap'
]);
// =========================================================================
@ -544,6 +545,8 @@
<StudioTrait collection={undefined} config={{}} userId={nodeId} />
{:else if panel.trait === 'mixer'}
<MixerTrait collection={undefined} config={{}} {accessToken} />
{:else if panel.trait === 'mindmap'}
<MindMapTrait collection={undefined} config={{}} userId={nodeId} {accessToken} />
{/if}
{:else}
<GenericTrait name={panel.trait} config={{}} />
@ -599,6 +602,8 @@
<StudioTrait collection={undefined} config={{}} userId={nodeId} />
{:else if trait === 'mixer'}
<MixerTrait collection={undefined} config={{}} {accessToken} />
{:else if trait === 'mindmap'}
<MindMapTrait collection={undefined} config={{}} userId={nodeId} {accessToken} />
{/if}
{:else}
<GenericTrait name={trait} config={{}} />

View file

@ -362,8 +362,7 @@ i radial layout med en rotnode i sentrum. Ingen ny backend — ren frontend-
visning av eksisterende grafdata.
- [x] 27.1 MindMap Svelte-komponent: radial/tree-layout av noder rundt en rotnode. Hent relaterte noder (1-2 hopp) via WebSocket. d3-hierarchy eller trigonometri for layout. Pan/zoom via canvas-primitiv. Klikk node = ny rot, dobbeltklikk = åpne i editor.
- [~] 27.2 BlockShell-panel: MindMap som BlockShell-panel i arbeidsflaten med fullskjerm, resize, drag-handle. Rotnode fra kontekst-header. Responsivt.
> Påbegynt: 2026-03-18T19:35
- [x] 27.2 BlockShell-panel: MindMap som BlockShell-panel i arbeidsflaten med fullskjerm, resize, drag-handle. Rotnode fra kontekst-header. Responsivt.
- [ ] 27.3 MindMap-trait: `mindmap`-trait for samlingsnoder. Vises i trait-velger ved opprettelse. Konfigurasjon: default dybde (1-3 hopp), layout-stil (radial/tree).
## Fase 28: Manglende CLI-verktøy + AI-rutingskontroll