assaas
This commit is contained in:
@@ -340,6 +340,18 @@
|
||||
}
|
||||
return model;
|
||||
};
|
||||
const resolveViewEl = (model) => {
|
||||
const direct = model && model.view && model.view.el;
|
||||
if (direct) return direct;
|
||||
try {
|
||||
const id = model && (model.getId ? model.getId() : model.get && model.get('id'));
|
||||
if (!id || !editor || !editor.Canvas || !editor.Canvas.getBody) return null;
|
||||
const body = editor.Canvas.getBody();
|
||||
if (!body) return null;
|
||||
return body.querySelector(`#${id}`);
|
||||
} catch {}
|
||||
return null;
|
||||
};
|
||||
const lastContent = new Map();
|
||||
const syncing = new WeakSet();
|
||||
const normalizeHtml = (value) => {
|
||||
@@ -437,8 +449,9 @@
|
||||
};
|
||||
const ensureViewMatchesModel = (model) => {
|
||||
const target = resolveTextModel(model);
|
||||
if (!isTextLike(target) || !target.view || !target.view.el) return;
|
||||
const el = target.view.el;
|
||||
if (!isTextLike(target)) return;
|
||||
const el = resolveViewEl(target);
|
||||
if (!el) return;
|
||||
if (el.isContentEditable || el.getAttribute('contenteditable') === 'true') return;
|
||||
const modelHtml = String(getModelHtml(target) || '').trim();
|
||||
if (!modelHtml) return;
|
||||
@@ -564,7 +577,14 @@
|
||||
const logComponentInput = (model, label) => {
|
||||
try {
|
||||
const modelType = model && model.get ? model.get('type') : undefined;
|
||||
const selectedEl = model && model.view && model.view.el;
|
||||
let selectedEl = model && model.view && model.view.el;
|
||||
if (!selectedEl && editor && editor.Canvas && editor.Canvas.getBody) {
|
||||
const body = editor.Canvas.getBody();
|
||||
const id = model && (model.getId ? model.getId() : model.get && model.get('id'));
|
||||
if (body && id) {
|
||||
selectedEl = body.querySelector(`#${id}`);
|
||||
}
|
||||
}
|
||||
const viewOuter = selectedEl ? String(selectedEl.outerHTML || '') : '';
|
||||
const modelContent = String(getModelHtmlForLog(model) || '');
|
||||
const editorHtml = editor && typeof editor.getHtml === 'function' ? String(editor.getHtml() || '') : '';
|
||||
@@ -579,8 +599,13 @@
|
||||
editorHtml: editorHtml.slice(0, 1000),
|
||||
});
|
||||
if (label === 'DESELECT' && model && model.get && model.get('type') === 'text') {
|
||||
const viewHtml = selectedEl ? String(selectedEl.innerHTML || '') : '';
|
||||
const visibleText = selectedEl ? String(selectedEl.textContent || '') : '';
|
||||
let viewHtml = selectedEl ? String(selectedEl.innerHTML || '') : '';
|
||||
let visibleText = selectedEl ? String(selectedEl.textContent || '') : '';
|
||||
if (!viewHtml && selectedEl && modelContent) {
|
||||
try { selectedEl.innerHTML = modelContent; } catch {}
|
||||
viewHtml = selectedEl ? String(selectedEl.innerHTML || '') : '';
|
||||
visibleText = selectedEl ? String(selectedEl.textContent || '') : '';
|
||||
}
|
||||
const summary = {
|
||||
source: 'ui',
|
||||
modelId: model && (model.getId ? model.getId() : model.get && model.get('id')),
|
||||
|
||||
Reference in New Issue
Block a user