yycxc
This commit is contained in:
@@ -71,6 +71,27 @@
|
|||||||
|
|
||||||
const isTextLike = (component) => !!(component && component.is && (component.is('text') || component.is('button') || component.is('link')));
|
const isTextLike = (component) => !!(component && component.is && (component.is('text') || component.is('button') || component.is('link')));
|
||||||
|
|
||||||
|
const logConsoleSnapshot = (editor, component, label) => {
|
||||||
|
try {
|
||||||
|
const viewEl = component && component.view ? component.view.el : null;
|
||||||
|
const modelContent = component && component.get ? String(component.get('content') || '') : '';
|
||||||
|
const editorHtml = editor && typeof editor.getHtml === 'function' ? String(editor.getHtml() || '') : '';
|
||||||
|
const maxLen = 1000;
|
||||||
|
console.log(`[RTE DEBUG] ${label}`, {
|
||||||
|
modelId: component && (component.getId ? component.getId() : component.get && component.get('id')),
|
||||||
|
modelType: component && component.get ? component.get('type') : undefined,
|
||||||
|
modelContentLen: modelContent.length,
|
||||||
|
modelContent: modelContent.slice(0, maxLen),
|
||||||
|
viewHtmlLen: viewEl ? String(viewEl.innerHTML || '').length : 0,
|
||||||
|
viewHtml: viewEl ? String(viewEl.innerHTML || '').slice(0, maxLen) : '',
|
||||||
|
viewOuterLen: viewEl ? String(viewEl.outerHTML || '').length : 0,
|
||||||
|
viewOuter: viewEl ? String(viewEl.outerHTML || '').slice(0, maxLen) : '',
|
||||||
|
editorHtmlLen: editorHtml.length,
|
||||||
|
editorHtml: editorHtml.slice(0, maxLen),
|
||||||
|
});
|
||||||
|
} catch {}
|
||||||
|
};
|
||||||
|
|
||||||
const applyContentToComponent = (editor, component, html) => {
|
const applyContentToComponent = (editor, component, html) => {
|
||||||
if (!component) return;
|
if (!component) return;
|
||||||
const content = String(html || '');
|
const content = String(html || '');
|
||||||
@@ -289,7 +310,9 @@
|
|||||||
const rawHtml = content.innerHTML || '';
|
const rawHtml = content.innerHTML || '';
|
||||||
const html = sanitizeInlineHtml(rawHtml, content.textContent || '');
|
const html = sanitizeInlineHtml(rawHtml, content.textContent || '');
|
||||||
component.__bridgeRteLastContent = html;
|
component.__bridgeRteLastContent = html;
|
||||||
|
logConsoleSnapshot(editor, component, 'before-save');
|
||||||
applyContentToComponent(editor, component, html);
|
applyContentToComponent(editor, component, html);
|
||||||
|
logConsoleSnapshot(editor, component, 'after-save');
|
||||||
closeModal();
|
closeModal();
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -346,7 +369,9 @@
|
|||||||
const current = String(model.get('content') || '').trim();
|
const current = String(model.get('content') || '').trim();
|
||||||
if (!current || current === '<div></div>' || current === '<div><br></div>' || current === '<div><br></div><br>') {
|
if (!current || current === '<div></div>' || current === '<div><br></div>' || current === '<div><br></div><br>') {
|
||||||
model.__bridgeRteRestoring = true;
|
model.__bridgeRteRestoring = true;
|
||||||
|
logConsoleSnapshot(editor, model, 'restore-start');
|
||||||
applyContentToComponent(editor, model, last);
|
applyContentToComponent(editor, model, last);
|
||||||
|
logConsoleSnapshot(editor, model, 'restore-end');
|
||||||
model.__bridgeRteRestoring = false;
|
model.__bridgeRteRestoring = false;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -377,6 +377,14 @@
|
|||||||
try {
|
try {
|
||||||
modelContent = selected && selected.get ? String(selected.get('content') || '') : '';
|
modelContent = selected && selected.get ? String(selected.get('content') || '') : '';
|
||||||
} catch {}
|
} catch {}
|
||||||
|
let viewOuter = '';
|
||||||
|
try {
|
||||||
|
viewOuter = selectedEl ? String(selectedEl.outerHTML || '') : '';
|
||||||
|
} catch {}
|
||||||
|
let editorHtml = '';
|
||||||
|
try {
|
||||||
|
editorHtml = editor && typeof editor.getHtml === 'function' ? String(editor.getHtml() || '') : '';
|
||||||
|
} catch {}
|
||||||
try {
|
try {
|
||||||
console.warn('[BLUR LOG]', {
|
console.warn('[BLUR LOG]', {
|
||||||
tag: target.tagName,
|
tag: target.tagName,
|
||||||
@@ -385,7 +393,12 @@
|
|||||||
modelType: selected && selected.get ? selected.get('type') : undefined,
|
modelType: selected && selected.get ? selected.get('type') : undefined,
|
||||||
modelId: selected && (selected.getId ? selected.getId() : selected.get && selected.get('id')),
|
modelId: selected && (selected.getId ? selected.getId() : selected.get && selected.get('id')),
|
||||||
modelContentLen: modelContent.length,
|
modelContentLen: modelContent.length,
|
||||||
|
modelContent: modelContent.slice(0, 1000),
|
||||||
inSelected,
|
inSelected,
|
||||||
|
viewOuterLen: viewOuter.length,
|
||||||
|
viewOuter: viewOuter.slice(0, 1000),
|
||||||
|
editorHtmlLen: editorHtml.length,
|
||||||
|
editorHtml: editorHtml.slice(0, 1000),
|
||||||
});
|
});
|
||||||
} catch {}
|
} catch {}
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user