mirror of
https://github.com/BookStackApp/BookStack.git
synced 2025-05-02 23:40:04 +00:00
Wrapped wysiwyg drawing change in editor transaction
To make the content changes made a undoable transaction that is picked up as a change. From my testing, should address #3682
This commit is contained in:
parent
2d7552aa09
commit
b698bb0e07
1 changed files with 14 additions and 8 deletions
|
@ -18,11 +18,13 @@ function showDrawingManager(mceEditor, selectedNode = null) {
|
||||||
// Show image manager
|
// Show image manager
|
||||||
window.ImageManager.show(function (image) {
|
window.ImageManager.show(function (image) {
|
||||||
if (selectedNode) {
|
if (selectedNode) {
|
||||||
let imgElem = selectedNode.querySelector('img');
|
const imgElem = selectedNode.querySelector('img');
|
||||||
pageEditor.dom.setAttrib(imgElem, 'src', image.url);
|
pageEditor.undoManager.transact(function () {
|
||||||
pageEditor.dom.setAttrib(selectedNode, 'drawio-diagram', image.id);
|
pageEditor.dom.setAttrib(imgElem, 'src', image.url);
|
||||||
|
pageEditor.dom.setAttrib(selectedNode, 'drawio-diagram', image.id);
|
||||||
|
});
|
||||||
} else {
|
} else {
|
||||||
let imgHTML = `<div drawio-diagram="${image.id}" contenteditable="false"><img src="${image.url}"></div>`;
|
const imgHTML = `<div drawio-diagram="${image.id}" contenteditable="false"><img src="${image.url}"></div>`;
|
||||||
pageEditor.insertContent(imgHTML);
|
pageEditor.insertContent(imgHTML);
|
||||||
}
|
}
|
||||||
}, 'drawio');
|
}, 'drawio');
|
||||||
|
@ -53,8 +55,10 @@ async function updateContent(pngData) {
|
||||||
let imgElem = currentNode.querySelector('img');
|
let imgElem = currentNode.querySelector('img');
|
||||||
try {
|
try {
|
||||||
const img = await DrawIO.upload(pngData, options.pageId);
|
const img = await DrawIO.upload(pngData, options.pageId);
|
||||||
pageEditor.dom.setAttrib(imgElem, 'src', img.url);
|
pageEditor.undoManager.transact(function () {
|
||||||
pageEditor.dom.setAttrib(currentNode, 'drawio-diagram', img.id);
|
pageEditor.dom.setAttrib(imgElem, 'src', img.url);
|
||||||
|
pageEditor.dom.setAttrib(currentNode, 'drawio-diagram', img.id);
|
||||||
|
});
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
handleUploadError(err);
|
handleUploadError(err);
|
||||||
}
|
}
|
||||||
|
@ -66,8 +70,10 @@ async function updateContent(pngData) {
|
||||||
DrawIO.close();
|
DrawIO.close();
|
||||||
try {
|
try {
|
||||||
const img = await DrawIO.upload(pngData, options.pageId);
|
const img = await DrawIO.upload(pngData, options.pageId);
|
||||||
pageEditor.dom.setAttrib(id, 'src', img.url);
|
pageEditor.undoManager.transact(function () {
|
||||||
pageEditor.dom.get(id).parentNode.setAttribute('drawio-diagram', img.id);
|
pageEditor.dom.setAttrib(id, 'src', img.url);
|
||||||
|
pageEditor.dom.get(id).parentNode.setAttribute('drawio-diagram', img.id);
|
||||||
|
});
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
pageEditor.dom.remove(id);
|
pageEditor.dom.remove(id);
|
||||||
handleUploadError(err);
|
handleUploadError(err);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue