store.toggleSidebar()}>
store.closeGraph()} title="Back to the page (Esc)">
Back
Graph view
{counts.nodes} {counts.nodes === 1 ? 'note' : 'notes'} · {counts.links} {counts.links === 1 ? 'link' : 'links'}
fit()}>
(panelOpen = !panelOpen)}>
!nodeAt(local(e).sx, local(e).sy) && fit()} >
{#if data && !counts.nodes}
{#if store.graph.local}This page has no links yet.{:else}No notes to show.{/if}
{/if} {#if panelOpen}
set({ local: false })}>All notes
set({ local: true })}>This page
{#if store.graph.local}
Steps away
{#each [1, 2, 3] as d (d)}
set({ depth: d })}>{d}
{/each}
{/if}
Notes without links
set({ orphans: !store.graph.orphans })}>
Links to missing pages
set({ ghosts: !store.graph.ghosts })}>
Page hierarchy
set({ folders: !store.graph.folders })}>
Spacing
{ set({ spacing: +e.currentTarget.value }); sim.params.repel = (store.graph.repel || 420) * (+e.currentTarget.value); sim.params.linkDistance = (store.graph.linkDistance || 96) * (+e.currentTarget.value); sim.reheat(0.25); start(); }} />
Repulsion
{ set({ repel: +e.currentTarget.value }); sim.params.repel = (+e.currentTarget.value) * store.graph.spacing; sim.reheat(0.25); start(); }} />
Link Distance
{ set({ linkDistance: +e.currentTarget.value }); sim.params.linkDistance = (+e.currentTarget.value) * store.graph.spacing; sim.reheat(0.25); start(); }} />
{/if}