Skip to content
Snippets Groups Projects

DOC: update CHANGELOG

Merged Timm Fitschen requested to merge release-0.5.0 into main
1 file
+ 41
24
Compare changes
  • Side-by-side
  • Inline
@@ -39,6 +39,8 @@
*/
var ext_editmode_wysiwyg_text = function ($, logger, ClassicEditor, edit_mode, getPropertyElements, getPropertyDatatype, getPropertyName) {
var _callOnSave = [];
var insertEditorInProperty = async function (prop) {
if (!(getPropertyDatatype(prop) === 'TEXT')) {
// Ignore anything that isn't a list property, even LIST<TEXT>
@@ -62,16 +64,17 @@ var ext_editmode_wysiwyg_text = function ($, logger, ClassicEditor, edit_mode, g
logger.debug('Initialized editor for ' + getPropertyName(prop));
// Manually implement saving the data since edit mode is not
// a form to be submitted.
editor.model.document.on("change:data", (e) => {
_callOnSave.push(() => { editor.updateSourceElement() });
//editor.model.document.on("change:data", (e) => {
// console.log(editor.getData());
// console.log(editor.sourceElement.value);
console.log(editor.getData() != editor.sourceElement.value);
if (editor.getData() != editor.sourceElement.value) {
console.log("Saving editor...");
editor.updateSourceElement();
}
});
//// console.log(editor.getData());
//// console.log(editor.sourceElement.value);
//console.log(editor.getData() != editor.sourceElement.value);
//if (editor.getData() != editor.sourceElement.value) {
//console.log("Saving editor...");
//editor.updateSourceElement();
//}
//});
// TODO(fspreck): Add an event listener to save also changes made in
// source mode. What event can we listen to? The following doesn't
// work either.
@@ -79,28 +82,42 @@ var ext_editmode_wysiwyg_text = function ($, logger, ClassicEditor, edit_mode, g
// console.log("Saving after input...");
// editor.updateSourceElement();
// }, true);
const sourceEditingPlugin = editor.plugins.get("SourceEditing");
sourceEditingPlugin.on("change:isSourceEditingMode", (e, name, isSourceEditingMode) => {
if (isSourceEditingMode) {
// Maybe this helps?
console.log("Entering source editing");
const [domSourceEditingElementWrapper] = sourceEditingPlugin._replacedRoots.values();
const textarea = domSourceEditingElementWrapper.querySelector('textarea');
//const sourceEditingPlugin = editor.plugins.get("SourceEditing");
//sourceEditingPlugin.on("change:isSourceEditingMode", (e, name, isSourceEditingMode) => {
//if (isSourceEditingMode) {
//// Maybe this helps?
//console.log("Entering source editing");
//const [domSourceEditingElementWrapper] = sourceEditingPlugin._replacedRoots.values();
//const textarea = domSourceEditingElementWrapper.querySelector('textarea');
// TODO(fspreck) this has to be more intelligent since it
// leads to an infinite update loop...
textarea.addEventListener("input", (e) => {
console.log("Input in source mode");
// sourceEditingPlugin._updateEditorData();
});
}
});
//// TODO(fspreck) this has to be more intelligent since it
//// leads to an infinite update loop...
//textarea.addEventListener("input", (e) => {
//console.log("Input in source mode");
//// sourceEditingPlugin._updateEditorData();
//});
//}
//});
} catch (error) {
logger.error(error.stack);
}
}
const proxySaveMethod = function (original) {
const result = function (entity) {
_callOnSave.forEach(cb => {cb();});
if(typeof original === "function") {
return original(entity);
}
return undefined;
}
return result;
}
var replaceTextAreas = function (entity) {
// on save, call callbacks
edit_mode.app.onBeforeInsert = proxySaveMethod(edit_mode.app.onBeforeInsert);
edit_mode.app.onBeforeUpdate = proxySaveMethod(edit_mode.app.onBeforeUpdate);
const properties = getPropertyElements(entity);
for (let prop of properties) {
// TODO(fspreck): This will be replaced by a whitelist of properties
Loading