mirror of https://github.com/wekan/wekan
commit
569f8d50ba
@ -0,0 +1,62 @@ |
||||
/* 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); |
@ -0,0 +1,57 @@ |
||||
/* eslint-disable */ |
||||
|
||||
// ------------------------------------------------------------------------
|
||||
// Created by STRd6
|
||||
// MIT License
|
||||
// https://github.com/distri/jquery-image_reader/blob/master/paste.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('copy') === 0 || event.type.indexOf('paste') === 0) { |
||||
event.clipboardData = event.originalEvent.clipboardData; |
||||
} |
||||
return event; |
||||
}; |
||||
})($.event.fix); |
||||
|
||||
const defaults = { |
||||
callback: $.noop, |
||||
matchType: /image.*/, |
||||
}; |
||||
|
||||
return $.fn.pasteImageReader = function(options) { |
||||
if (typeof options === 'function') { |
||||
options = { |
||||
callback: options, |
||||
}; |
||||
} |
||||
options = $.extend({}, defaults, options); |
||||
return this.each(function() { |
||||
const element = this; |
||||
return $(element).bind('paste', function(event) { |
||||
const types = event.clipboardData.types; |
||||
const items = event.clipboardData.items; |
||||
for(let i=0; i<types.length; i++) { |
||||
if(types[i].match(options.matchType) || items[i].type.match(options.matchType)) { |
||||
const f = items[i].getAsFile(); |
||||
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); |
Loading…
Reference in new issue