fix: context menu uses Alpine proxy (window._wsData) instead of raw object
The context menu component (_ctxMenuData) was calling methods on window._wsInitData (the raw JS object), NOT on Alpine's reactive proxy. This meant that changes made by ctxMenuDelete/ctxMenuDuplicate (like updating displayTree) were applied to the raw object but not reflected in Alpine's reactive proxy that controls DOM rendering. Fix: _ctxMenuData now uses a _ws() helper that returns window._wsData (Alpine proxy, set in init()) with fallback to window._wsInitData for safety. All context menu actions now go through the reactive proxy.
This commit is contained in:
@@ -1986,14 +1986,16 @@ window._ctxMenuData = {
|
||||
ctxAvailTags: [],
|
||||
ctxNewTagColor: '#787774',
|
||||
ctxTagColors: ['#787774','#E03E3E','#D9730D','#DFAB01','#0F7B6C','#0B6E99','#6940A5','#AD1A72','#E16259','#D4A72C','#448361','#337EA9','#9065B0','#C94D8B'],
|
||||
ctxMenuOpenPage() { window._wsInitData.ctxMenuOpenPage(); },
|
||||
ctxMenuOpenFolder() { window._wsInitData.ctxMenuOpenFolder(); },
|
||||
ctxMenuRename() { window._wsInitData.ctxMenuRename(); },
|
||||
ctxMenuDuplicate() { window._wsInitData.ctxMenuDuplicate(); },
|
||||
ctxMenuDelete() { window._wsInitData.ctxMenuDelete(); },
|
||||
ctxAddExistingTag(t) { window._wsInitData.ctxAddExistingTag(t); },
|
||||
ctxAddNewTag(n, c) { window._wsInitData.ctxAddNewTag(n, c); },
|
||||
ctxRemoveTag(id) { window._wsInitData.ctxRemoveTag(id); },
|
||||
// Use Alpine proxy (window._wsData) for reactivity, not raw object (window._wsInitData)
|
||||
_ws() { return window._wsData || window._wsInitData; },
|
||||
ctxMenuOpenPage() { this._ws().ctxMenuOpenPage(); },
|
||||
ctxMenuOpenFolder() { this._ws().ctxMenuOpenFolder(); },
|
||||
ctxMenuRename() { this._ws().ctxMenuRename(); },
|
||||
ctxMenuDuplicate() { this._ws().ctxMenuDuplicate(); },
|
||||
ctxMenuDelete() { this._ws().ctxMenuDelete(); },
|
||||
ctxAddExistingTag(t) { this._ws().ctxAddExistingTag(t); },
|
||||
ctxAddNewTag(n, c) { this._ws().ctxAddNewTag(n, c); },
|
||||
ctxRemoveTag(id) { this._ws().ctxRemoveTag(id); },
|
||||
};
|
||||
console.log('FLOWDECK v2.4.6 — IIFE done, _wsInitData keys:', Object.keys(window._wsInitData).length);
|
||||
</script>
|
||||
|
||||
Reference in New Issue
Block a user