fix: remove getter from giteaWorkspace() to fix Alpine 3.14.9 init error
The 'get sortedTreeItems()' getter caused Alpine's Proxy to fail during component initialization, resulting in all properties being undefined (fileLoading, fileLanguage, showFile, etc. — Uncaught ReferenceError). Fix: - Replaced getter with _sortTree() method + sortedTreeItems property - _sortTree() called after treeItems is updated in loadMainTree() - sortedTreeItems explicitly set to [] on error/empty paths
This commit is contained in:
@@ -215,14 +215,15 @@ function giteaWorkspace() {
|
|||||||
commitHistory: JSON.parse(localStorage.getItem('fd_commit_msgs') || '[]'),
|
commitHistory: JSON.parse(localStorage.getItem('fd_commit_msgs') || '[]'),
|
||||||
// File tree browser
|
// File tree browser
|
||||||
treeItems: [],
|
treeItems: [],
|
||||||
|
sortedTreeItems: [],
|
||||||
treeLoading: false,
|
treeLoading: false,
|
||||||
folderStack: [],
|
folderStack: [],
|
||||||
currentPath: '',
|
currentPath: '',
|
||||||
// Context menu
|
// Context menu
|
||||||
gwCtx: { visible: false, x: 0, y: 0, item: null },
|
gwCtx: { visible: false, x: 0, y: 0, item: null },
|
||||||
|
|
||||||
get sortedTreeItems() {
|
_sortTree() {
|
||||||
return [...this.treeItems].sort(function(a, b) {
|
this.sortedTreeItems = [...this.treeItems].sort(function(a, b) {
|
||||||
if (a.type === b.type) return a.name.localeCompare(b.name);
|
if (a.type === b.type) return a.name.localeCompare(b.name);
|
||||||
return a.type === 'folder' ? -1 : 1;
|
return a.type === 'folder' ? -1 : 1;
|
||||||
});
|
});
|
||||||
@@ -248,10 +249,11 @@ function giteaWorkspace() {
|
|||||||
var url = '/api/gitea/projects/' + this.owner + '/' + this.repo + '/tree';
|
var url = '/api/gitea/projects/' + this.owner + '/' + this.repo + '/tree';
|
||||||
if (path) url += '?path=' + encodeURIComponent(path);
|
if (path) url += '?path=' + encodeURIComponent(path);
|
||||||
var r = await fetch(url);
|
var r = await fetch(url);
|
||||||
if (!r.ok) { this.treeItems = []; return; }
|
if (!r.ok) { this.treeItems = []; this.sortedTreeItems = []; return; }
|
||||||
var d = await r.json();
|
var d = await r.json();
|
||||||
this.treeItems = d.tree || [];
|
this.treeItems = d.tree || [];
|
||||||
} catch(e) { this.treeItems = []; }
|
this._sortTree();
|
||||||
|
} catch(e) { this.treeItems = []; this.sortedTreeItems = []; }
|
||||||
finally { this.treeLoading = false; }
|
finally { this.treeLoading = false; }
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user