asdsd
This commit is contained in:
@@ -1 +1 @@
|
|||||||
1.1.51
|
1.1.52
|
||||||
@@ -453,13 +453,30 @@
|
|||||||
const ensureViewMatchesModel = (model) => {
|
const ensureViewMatchesModel = (model) => {
|
||||||
const target = resolveTextModel(model);
|
const target = resolveTextModel(model);
|
||||||
if (!isTextLike(target)) return;
|
if (!isTextLike(target)) return;
|
||||||
|
if (syncing.has(target)) return;
|
||||||
const el = resolveViewEl(target);
|
const el = resolveViewEl(target);
|
||||||
if (!el) return;
|
|
||||||
if (el.isContentEditable || el.getAttribute('contenteditable') === 'true') return;
|
|
||||||
const modelHtml = String(getModelHtml(target) || '').trim();
|
const modelHtml = String(getModelHtml(target) || '').trim();
|
||||||
if (!modelHtml) return;
|
if (!modelHtml) return;
|
||||||
const viewHtml = String(el.innerHTML || '').trim();
|
if (el && (el.isContentEditable || el.getAttribute('contenteditable') === 'true')) return;
|
||||||
|
const viewHtml = String((el && el.innerHTML) || '').trim();
|
||||||
if (viewHtml) return;
|
if (viewHtml) return;
|
||||||
|
try {
|
||||||
|
syncing.add(target);
|
||||||
|
if (target.components) {
|
||||||
|
try { target.components(modelHtml); } catch {}
|
||||||
|
}
|
||||||
|
if (target.set) target.set('content', modelHtml);
|
||||||
|
target.trigger && target.trigger('change:content');
|
||||||
|
if (target.view && typeof target.view.render === 'function') {
|
||||||
|
target.view.render();
|
||||||
|
}
|
||||||
|
if (editor && typeof editor.trigger === 'function') {
|
||||||
|
editor.trigger('component:update', target);
|
||||||
|
}
|
||||||
|
} catch {} finally {
|
||||||
|
syncing.delete(target);
|
||||||
|
}
|
||||||
|
if (!el) return;
|
||||||
const apply = () => {
|
const apply = () => {
|
||||||
try {
|
try {
|
||||||
const current = String(el.innerHTML || '').trim();
|
const current = String(el.innerHTML || '').trim();
|
||||||
@@ -475,8 +492,12 @@
|
|||||||
if (!isTextLike(target) || !target.view || !target.view.el || syncing.has(target)) return;
|
if (!isTextLike(target) || !target.view || !target.view.el || syncing.has(target)) return;
|
||||||
if (window.__bridgeRteOpen) return;
|
if (window.__bridgeRteOpen) return;
|
||||||
const viewHtml = normalizeViewHtmlForModel(target.view.el.innerHTML || '');
|
const viewHtml = normalizeViewHtmlForModel(target.view.el.innerHTML || '');
|
||||||
if (!viewHtml) return;
|
|
||||||
const modelHtml = normalizeViewHtmlForModel(getModelHtml(target));
|
const modelHtml = normalizeViewHtmlForModel(getModelHtml(target));
|
||||||
|
if (!viewHtml && modelHtml) {
|
||||||
|
ensureViewMatchesModel(target);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (!viewHtml) return;
|
||||||
if (viewHtml === modelHtml) return;
|
if (viewHtml === modelHtml) return;
|
||||||
try {
|
try {
|
||||||
syncing.add(target);
|
syncing.add(target);
|
||||||
|
|||||||
Reference in New Issue
Block a user