게시글 수정 원복
This commit is contained in:
parent
9e2b3a072d
commit
e9f3a6c8a6
@ -141,13 +141,34 @@
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
function extractPlainText(delta) {
|
function isDeltaChanged(current, original) {
|
||||||
if (!delta || !Array.isArray(delta.ops)) return '';
|
const Delta = Quill.import('delta');
|
||||||
return delta.ops
|
const currentDelta = new Delta(current || []);
|
||||||
.filter(op => typeof op.insert === 'string')
|
const originalDelta = new Delta(original || []);
|
||||||
.map(op => op.insert.trim())
|
|
||||||
.join(' ')
|
const diff = originalDelta.diff(currentDelta);
|
||||||
.trim();
|
if (!diff || diff.ops.length === 0) return false;
|
||||||
|
|
||||||
|
// 텍스트만 비교해서 완전 동일한지 확인
|
||||||
|
const getPlainText = delta =>
|
||||||
|
(delta.ops || [])
|
||||||
|
.filter(op => typeof op.insert === 'string')
|
||||||
|
.map(op => op.insert)
|
||||||
|
.join('');
|
||||||
|
|
||||||
|
const getImages = delta =>
|
||||||
|
(delta.ops || []).filter(op => typeof op.insert === 'object' && op.insert.image).map(op => op.insert.image);
|
||||||
|
|
||||||
|
const textCurrent = getPlainText(currentDelta);
|
||||||
|
const textOriginal = getPlainText(originalDelta);
|
||||||
|
|
||||||
|
const imgsCurrent = getImages(currentDelta);
|
||||||
|
const imgsOriginal = getImages(originalDelta);
|
||||||
|
|
||||||
|
const textEqual = textCurrent === textOriginal;
|
||||||
|
const imageEqual = JSON.stringify(imgsCurrent) === JSON.stringify(imgsOriginal);
|
||||||
|
|
||||||
|
return !(textEqual && imageEqual); // 둘 다 같아야 false
|
||||||
}
|
}
|
||||||
|
|
||||||
const isChanged = computed(() => {
|
const isChanged = computed(() => {
|
||||||
@ -212,16 +233,6 @@
|
|||||||
contentLoaded.value = true;
|
contentLoaded.value = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
watch(
|
|
||||||
content,
|
|
||||||
val => {
|
|
||||||
if (contentLoaded.value && !originalPlainText.value) {
|
|
||||||
originalPlainText.value = extractPlainText(val);
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{ immediate: true },
|
|
||||||
);
|
|
||||||
|
|
||||||
const handleUpdateEditorImg = item => {
|
const handleUpdateEditorImg = item => {
|
||||||
editorUploadedImgList.value = item;
|
editorUploadedImgList.value = item;
|
||||||
};
|
};
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user