From 3718ad488c552d860989ddde2a68ced05713d015 Mon Sep 17 00:00:00 2001 From: bruno Date: Sun, 12 Jul 2026 22:24:24 -0400 Subject: [PATCH] =?UTF-8?q?fix:=206=20getters=20=E2=86=92=20propri=C3=A9t?= =?UTF-8?q?=C3=A9s=20plain=20+=20=5Frecompute()=20(=C3=A9tape=201)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Alpine 3.14.9 ne supporte pas les getters dans le Proxy x-data. Converti en propriétés mises à jour via _recompute() dans: - init() après chargement tree - _loadFolder() après chaque navigation - doSort() / doFilter() après modifs Getters remplacés: - pathValue, canGoBack, canGoForward, flatTree, filteredTableItems, contentSnippetMap - _computeFilteredTableItems() extrait de get filteredTableItems Zéro getter restant, braces/parens équilibrés, 73 tests OK --- app/templates/local_workspace.html | 46 ++++++++++++++++++------------ 1 file changed, 27 insertions(+), 19 deletions(-) diff --git a/app/templates/local_workspace.html b/app/templates/local_workspace.html index 9ec2217..ec9e359 100644 --- a/app/templates/local_workspace.html +++ b/app/templates/local_workspace.html @@ -944,9 +944,7 @@ window._wsInitData = (function() { uploadStartTime: 0, // Path bar - get pathValue() { - return '/workspace/' + this.folderStack.filter(function(b){return b.id > 0}).map(function(b){return b.name}).join('/'); - }, + pathValue: '/workspace/', async navigateToRoot() { this.folderStack = []; @@ -986,8 +984,8 @@ window._wsInitData = (function() { // Navigation history navHistory: [], navIndex: -1, - get canGoBack() { return this.navIndex > 0; }, - get canGoForward() { return this.navIndex < this.folderStack.length - 1; }, + canGoBack: false, + canGoForward: false, // Preview popup previewVisible: false, @@ -1034,6 +1032,20 @@ window._wsInitData = (function() { // Load workspace tags this.loadWorkspaceTags(); } catch(e) { console.error('Tree load error:', e); this.loaded = true; } + this._recompute(); + }, + + _recompute() { + // Recompute all former getters as plain properties + this.canGoBack = this.navIndex > 0; + this.canGoForward = this.navIndex < this.folderStack.length - 1; + this.pathValue = '/workspace/' + this.folderStack.filter(function(b){return b.id > 0}).map(function(b){return b.name}).join('/'); + // flatTree + var ft = []; + this._flattenTree(this.tree, ft); + this.flatTree = ft; + // filteredTableItems + this._computeFilteredTableItems(); }, // ── Pin/Favorite items ── @@ -1108,11 +1120,7 @@ window._wsInitData = (function() { }, // ── Table view data ── - get flatTree() { - var result = []; - this._flattenTree(this.tree, result); - return result; - }, + flatTree: [], _flattenTree(nodes, out) { for (var i=0; i