- Retire position:sticky/z-index sur th.dash-header (abandonnés avec
le scroll contenu : overflow-x:hidden crée un scroll container qui
empêche le sticky page-level, et le z-index provoquait un recouvrement
des champs de filtre)
- Retire la règle :has() devenue inutile
- Barre de scroll réduite à 12px
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Remplace le scroll de page (window.scrollTo) par dashContainer.scrollLeft :
- overflow-x:hidden sur .dash-spreadsheet-container → la table ne déborde
plus la page → scrollbar navigateur en bas éliminée
- overflow-y:clip évite la conversion CSS visible→auto (pas de scrollbar
vertical parasite sur le conteneur)
- metrics(), syncThumb, drag et clic utilisent tous dashContainer
- wheel handler capture les gestures trackpad horizontaux et les redirige
vers dashContainer.scrollLeft
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- adjustBarWidth() brise le padding Bootstrap (margin-left négatif +
width: 100vw) pour que la barre s'étende jusqu'au bord de la fenêtre
- metrics() utilise window.innerWidth comme largeur de piste (cohérent
avec la barre pleine largeur)
- hasOverflow mesure la largeur de .cell-table de CETTE table via
getBoundingClientRect(), plutôt que document.documentElement.scrollWidth
→ les petits tableaux (top10 /acheteur, /titulaire, /observatoire)
n'affichent pas de barre s'ils ne débordent pas individuellement
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Remplace le scrollbar natif (invisible en mode overlay sous Linux) par
un thumb div orange toujours visible. Track gris (#e0e0e0) 16px.
Drag souris + toucher + clic sur le track supportés.
Supprime la dépendance aux pseudo-éléments webkit et scrollbar-color.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- overflow-x:scroll force le thumb orange toujours visible (pas overlay)
- hauteur 16px pour le drag-and-drop
- :has(.dt-hscroll:not(.is-hidden)) décale les th à top:16px quand la
barre est présente, évitant le recouvrement
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Abandonne le wrapper overflow-x (incompatible avec position:sticky des
en-têtes). La barre contrôle désormais le scroll horizontal de la page
via window.scrollTo/scrollX, ce qui préserve le sticky des th.
Scrollbar orange 12px, styling webkit + Firefox.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Si la garde est posée avant de vérifier que dashContainer existe, un
déclenchement prématuré de rootObs (avant le rendu Dash) marque le
wrapper comme traité sans jamais injecter le scroll wrapper.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Évite la boucle infinie : le rootObs se déclenchait sur les insertions
DOM de setup() avant que la garde ne soit posée, relançant setup() en
boucle et faisant monter le CPU.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Replace the custom CSS grid (`.wrapper`, `.org_*`, `.results_*` classes)
in acheteur, titulaire, and recherche pages with dbc.Row/dbc.Col.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>