Fix broken RTEs when reordering grid rows

This commit is contained in:
Kenn Jacobsen
2019-10-29 21:48:39 +01:00
committed by Bjarke Berg
parent a4c4a978d9
commit 6690c2ad27

View File

@@ -72,7 +72,10 @@ angular.module("umbraco")
ui.item.find(".umb-rte").each(function (key, value) {
// remove all RTEs in the dragged row and save their settings
var rteId = value.id;
draggedRteSettings[rteId] = _.findWhere(tinyMCE.editors, { id: rteId }).settings;
var editor = _.findWhere(tinyMCE.editors, { id: rteId });
if (editor) {
draggedRteSettings[rteId] = editor.settings;
}
});
},
@@ -84,9 +87,17 @@ angular.module("umbraco")
// reset all RTEs affected by the dragging
ui.item.parents(".umb-column").find(".umb-rte").each(function (key, value) {
var rteId = value.id;
draggedRteSettings[rteId] = draggedRteSettings[rteId] || _.findWhere(tinyMCE.editors, { id: rteId }).settings;
tinyMCE.execCommand("mceRemoveEditor", false, rteId);
tinyMCE.init(draggedRteSettings[rteId]);
var settings = draggedRteSettings[rteId];
if (!settings) {
var editor = _.findWhere(tinyMCE.editors, { id: rteId });
if (editor) {
settings = editor.settings;
}
}
if (settings) {
tinyMCE.execCommand("mceRemoveEditor", false, rteId);
tinyMCE.init(settings);
}
});
currentForm.$setDirty();
}