openpencil/packages/docs/fr/programmable/sdk/guides/navigation-panels.md
Danila Poyarkov 14325280d9 docs(i18n): translate all missing pages to 6 languages
- 78 SDK pages per language (components, composables, advanced API,
  guides, architecture, getting-started)
- vector-edit.md user guide page (5 languages)
- Update stale ru/programmable/cli/inspecting.md
- Fix YAML frontmatter quoting for colons in descriptions

474 files, 0 missing pages across de/es/fr/it/pl/ru.
VitePress build verified — all 546 SDK pages render.
2026-04-22 18:35:22 +03:00

61 lines
1.6 KiB
Markdown

---
title: Panneaux de navigation
description: Créez des barres latérales de pages et de calques avec PageListRoot, LayerTreeRoot et l'état de sélection.
---
# Panneaux de navigation
Les barres latérales OpenPencil combinent généralement deux préoccupations :
- la navigation entre pages
- la navigation entre calques
Le Vue SDK fournit des primitives headless pour les deux.
## Navigation entre pages
Utilisez `PageListRoot` ou `usePageList()`.
```vue
<PageListRoot v-slot="{ pages, currentPageId, switchPage, addPage }">
<div>
<button v-for="page in pages" :key="page.id" @click="switchPage(page.id)">
{{ page.name }}
</button>
<button @click="addPage()">Nouvelle page</button>
</div>
</PageListRoot>
```
## Navigation entre calques
Utilisez `LayerTreeRoot` quand vous voulez une structure d'arbre gérée par le SDK mais une présentation appartenant à l'application.
```vue
<LayerTreeRoot v-slot="{ items, selectedIds, select, toggleExpand, getKey, getChildren }">
<TreeView
:items="items"
:selected-ids="selectedIds"
:get-key="getKey"
:get-children="getChildren"
@select="select"
@toggle-expand="toggleExpand"
/>
</LayerTreeRoot>
```
## Pattern pratique
Une mise en page courante est :
- les pages en haut de la barre latérale
- les calques en dessous
- les détails ou contrôles de renommage intégrés dans vos composants de ligne
## API associées
- [usePageList](../api/composables/use-page-list)
- [PageListRoot](../api/components/page-list-root)
- [LayerTreeRoot](../api/components/layer-tree-root)
- [useSelectionState](../api/composables/use-selection-state)