diff --git a/includes/ckeditor.utils.js b/includes/ckeditor.utils.js index 27552a4..2b96483 100644 --- a/includes/ckeditor.utils.js +++ b/includes/ckeditor.utils.js @@ -51,6 +51,16 @@ window.CKEDITOR_BASEPATH = Drupal.settings.ckeditor.editor_path; else { CKEDITOR.addCss(ev.editor.config.extraCss); } + // Let Drupal trigger formUpdated event [#1895278] + ev.editor.on('change', function(ev) { + $(ev.editor.element.$).trigger('change'); + }); + ev.editor.on('blur', function(ev) { + $(ev.editor.element.$).trigger('blur'); + }); + ev.editor.on('focus', function(ev) { + $(ev.editor.element.$).trigger('click'); + }); }, instanceReady : function(ev) { @@ -78,13 +88,20 @@ window.CKEDITOR_BASEPATH = Drupal.settings.ckeditor.editor_path; body.attr('id', ev.editor.config.bodyId); if (typeof(Drupal.smileysAttach) != 'undefined' && typeof(ev.editor.dataProcessor.writer) != 'undefined') ev.editor.dataProcessor.writer.indentationChars = ' '; + + // Let Drupal trigger formUpdated event [#1895278] + ev.editor.editable().on( 'keyup', function() { + $(ev.editor.element.$).trigger('keyup'); + }); + ev.editor.editable().on( 'keydown', function() { + $(ev.editor.element.$).trigger('keydown'); + }); }, focus : function(ev) { Drupal.ckeditorInstance = ev.editor; Drupal.ckeditorActiveId = ev.editor.name; - } - , + }, afterCommandExec: function(ev) { if (ev.data.name != 'maximize') {