fix: /local-workspace — chemin du header + clic sur un dossier du sidebar (v7.69.9)
Corrige deux régressions de /local-workspace :
- le chemin du header restait bloqué sur « Home / <workspace> » quel que
soit le dossier affiché : la route rend désormais breadcrumb_items
(Home / <workspace> / <dossier> / <sous-dossier>, niveaux cliquables,
collapse « … » au-delà de 4) et la navigation sans rechargement recalcule
le chemin via l'event flowdeck:breadcrumb-changed ;
- le clic sur un dossier du sidebar affichait TOUS les composants à la
fois : Alpine.data('wsInitData') retournait le même objet singleton, le
2e montage (navigation partielle) levait « Cannot redefine property:
\ » et initTree abandonnait, laissant tout le contenu au state
brut. La factory retourne désormais une enveloppe fraîche par montage
qui délègue à l'état réactif partagé. #lw-config est aussi relu à chaque
exécution (le 2e montage gardait le folder_id du 1er chargement).
Inclus également le travail en cours de l'arbre : Library (colonnes Last
visited/Source, ordre d'en-tête, favoris à icônes Workspace), Meeting
Notes (bloc, CSS, routes, docs), coloration de code hljs, badges
favori/publié dans l'arbre local-workspace, docs (DATA_MODEL,
architectures) et tests associés.
This commit is contained in:
@@ -181,6 +181,16 @@ document.addEventListener('alpine:init', function () {
|
||||
return String(c.id) === id ? Object.assign({}, c, { label: d.title || 'Untitled' }) : c;
|
||||
});
|
||||
});
|
||||
// Navigation in-place (ex. /local-workspace qui descend dans ses
|
||||
// dossiers sans recharger) : le chemin du header est recalé sur la
|
||||
// pile de dossiers courante. Même contrat que le rendu serveur.
|
||||
window.addEventListener('flowdeck:breadcrumb-changed', function (e) {
|
||||
var d = e && e.detail;
|
||||
if (!d || !d.crumbs || !d.crumbs.length) return;
|
||||
self.crumbs = d.crumbs.map(function (c, i) { c.origIndex = i; return c; });
|
||||
if (d.workspace_id) self.wsId = d.workspace_id;
|
||||
self.closeAll();
|
||||
});
|
||||
},
|
||||
|
||||
get display() {
|
||||
|
||||
Reference in New Issue
Block a user