diff --git a/core/modules/ckeditor/js/plugins/drupalimage/plugin.js b/core/modules/ckeditor/js/plugins/drupalimage/plugin.js index 0025664..6c28182 100644 --- a/core/modules/ckeditor/js/plugins/drupalimage/plugin.js +++ b/core/modules/ckeditor/js/plugins/drupalimage/plugin.js @@ -18,7 +18,7 @@ 'use strict'; CKEDITOR.plugins.add('drupalimage', { - requires: 'image2', + requires: 'image2,uploadwidget', icons: 'drupalimage', hidpi: true, @@ -267,6 +267,47 @@ } }); + var fileTools = CKEDITOR.fileTools; + fileTools.addUploadWidget(editor, 'fileReader', { + loadMethod: 'load', + supportedTypes: /image\/(jpeg|png|gif|bmp)/ + }); + + editor.on('paste', function (evt) { + var file = evt.data.dataTransfer.getFile(0); + + if (CKEDITOR.fileTools.isTypeSupported(file, /image\/(jpeg|png|gif|bmp)/)) { + + editor.execCommand('image'); + + $(window).on('dialogcreate', function (e, dialog, $element, settings) { + var form = $(e.target).find('form.editor-image-dialog'); + var formData = new FormData(); + var uploadButtonId = '#' + form.find('[name=fid_upload_button]').attr('id'); + + _.each(Drupal.ajax.instances, function (value, key, list) { + if (value !== null && value.selector === uploadButtonId) { + var myAjaxObject = Drupal.ajax.instances[key]; + + myAjaxObject.beforeSerialize = function (element_settings, options) { + formData.append('files[fid]', file); + $.each(this.$form.serializeArray(), function (_, kv) { + formData[kv.name] = kv.value; + formData.append(kv.name, kv.value); + }); + options.data = formData; + options.contentType = false; + options.processData = false; + }; + + myAjaxObject.execute(); + } + }); + + }); + } + }); + // Register the toolbar button. if (editor.ui.addButton) { editor.ui.addButton('DrupalImage', { diff --git a/core/modules/ckeditor/js/plugins/drupalimagedragndrop/plugin.js b/core/modules/ckeditor/js/plugins/drupalimagedragndrop/plugin.js deleted file mode 100644 index 5b2c2e6..0000000 --- a/core/modules/ckeditor/js/plugins/drupalimagedragndrop/plugin.js +++ /dev/null @@ -1,63 +0,0 @@ -(function (CKEDITOR, $) { - - 'use strict'; - - CKEDITOR.plugins.add('drupalimagedragndrop', { - requires: 'drupalimage,uploadwidget', - - init: function (editor) { - if (!CKEDITOR.plugins.clipboard.isFileApiSupported) { - return; - } - - var fileTools = CKEDITOR.fileTools; - - fileTools.addUploadWidget(editor, 'fileReader', { - loadMethod: 'load', - supportedTypes: /image\/(jpeg|png|gif|bmp)/ - }); - - editor.on('paste', function (evt) { - var file = evt.data.dataTransfer.getFile(0); - - if (CKEDITOR.fileTools.isTypeSupported(file, /image\/(jpeg|png|gif|bmp)/)) { - - var data = {}; - var dialogSettings = { - title: editor.config.drupalImage_dialogTitleAdd, - dialogClass: 'editor-image-dialog' - }; - - Drupal.ckeditor.openDialog(editor, Drupal.url('editor/dialog/image/' + editor.config.drupal.format), data.existingValues, data.saveCallback, dialogSettings); - - $(window).on('dialogcreate', function (e, dialog, $element, settings) { - var form = $(e.target).find('form.editor-image-dialog'); - var formData = new FormData(); - var uploadButtonId = '#' + form.find('[name=fid_upload_button]').attr('id'); - - _.each(Drupal.ajax.instances, function (value, key, list) { - if (value !== null && value.selector === uploadButtonId) { - var myAjaxObject = Drupal.ajax.instances[key]; - - myAjaxObject.beforeSerialize = function (element_settings, options) { - formData.append('files[fid]', file); - $.each(this.$form.serializeArray(), function (_, kv) { - formData[kv.name] = kv.value; - formData.append(kv.name, kv.value); - }); - options.data = formData; - options.contentType = false; - options.processData = false; - }; - - myAjaxObject.execute(); - } - }); - - }); - } - }); - } - }); - -})(CKEDITOR, jQuery); diff --git a/core/modules/ckeditor/src/Plugin/CKEditorPlugin/DrupalImageDragNDrop.php b/core/modules/ckeditor/src/Plugin/CKEditorPlugin/DrupalImageDragNDrop.php deleted file mode 100644 index 003ffab..0000000 --- a/core/modules/ckeditor/src/Plugin/CKEditorPlugin/DrupalImageDragNDrop.php +++ /dev/null @@ -1,88 +0,0 @@ -hasAssociatedFilterFormat()) { - return FALSE; - } - - // Automatically enable this plugin if the text format associated with this - // text editor uses the filter_align or filter_caption filter and the - // DrupalImage button is enabled. - $format = $editor->getFilterFormat(); - if ($format->filters('filter_align')->status || $format->filters('filter_caption')->status) { - $enabled = FALSE; - $settings = $editor->getSettings(); - foreach ($settings['toolbar']['rows'] as $row) { - foreach ($row as $group) { - foreach ($group['items'] as $button) { - if ($button === 'DrupalImage') { - $enabled = TRUE; - } - } - } - } - return $enabled; - } - - return FALSE; - } - -}