fix(editeur): #93 garde-fous de session d'edition inline (onglets, ecriture externe) + hooks de versionnage documentes
Une session d'edition inline (Editer/Forge) qui possede la zone de contenu etait detruite par deux chemins qui vident cette zone : activation d'onglet (TabManager.activate, PaneTabManager.activate) -> detachInlineEditor() avant le placeholder ; evenement SSE index_updated -> reloadExternalWrite() recharge le tampon de l'editeur au lieu de re-rendre la vue lecture. Nouveau helper queryEditor() ; closeEditor() remet le conteneur dans la modale avant de restaurer en-tete/pied/marque. docs/CONTRIBUTING.md documente scripts/install-hooks.sh.
This commit is contained in:
@@ -10,7 +10,7 @@
|
||||
*/
|
||||
import { state } from './state.js';
|
||||
import { api } from './auth.js';
|
||||
import { escapeHtml, getFileIcon, safeCreateIcons } from './utils.js';
|
||||
import { escapeHtml, getFileIcon, safeCreateIcons, detachInlineEditor } from './utils.js';
|
||||
|
||||
const PANE_MAX = 4;
|
||||
|
||||
@@ -154,6 +154,9 @@ function createPaneTabManager(paneId) {
|
||||
|
||||
async activate(tabId) {
|
||||
if (this._activeTabId === tabId && this._tabs.length > 0) return;
|
||||
// #93 — an inline edition session owns this pane's content area: release
|
||||
// it before the load placeholder / read view wipes it off the DOM.
|
||||
detachInlineEditor();
|
||||
if (this._activeTabId && this._tabCache[this._activeTabId])
|
||||
this._saveCurrentTabState();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user