/* eslint-disable */ // ------------------------------------------------------------------------ // Created by STRd6 // MIT License // https://github.com/distri/jquery-image_reader/blob/master/drop.coffee.md // // Raymond re-write it to javascript (function($) { $.event.fix = (function(originalFix) { return function(event) { event = originalFix.apply(this, arguments); if ( event.type.indexOf('drag') === 0 || event.type.indexOf('drop') === 0 ) { event.dataTransfer = event.originalEvent.dataTransfer; } return event; }; })($.event.fix); const defaults = { callback: $.noop, matchType: /image.*/, }; return ($.fn.dropImageReader = function(options) { if (typeof options === 'function') { options = { callback: options, }; } options = $.extend({}, defaults, options); const stopFn = function(event) { event.stopPropagation(); return event.preventDefault(); }; return this.each(function() { const element = this; $(element).bind('dragenter dragover dragleave', stopFn); return $(element).bind('drop', function(event) { stopFn(event); const files = event.dataTransfer.files; for (let i = 0; i < files.length; i++) { const f = files[i]; if (f.type.match(options.matchType)) { const reader = new FileReader(); reader.onload = function(evt) { return options.callback.call(element, { dataURL: evt.target.result, event: evt, file: f, name: f.name, }); }; reader.readAsDataURL(f); return; } } }); }); }); })(jQuery);