mirror of
https://github.com/Tygs/0bin.git
synced 2023-08-10 21:13:00 +03:00
Handle paste
This commit is contained in:
parent
1f35f96fe3
commit
2abbab5305
|
@ -628,23 +628,31 @@ window.zerobin = {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// return total * 250 / size;
|
|
||||||
return total * 1000 / size;
|
return total * 1000 / size;
|
||||||
},
|
},
|
||||||
|
|
||||||
// prevent defaults
|
|
||||||
ignoreDrag: function (e) {
|
ignoreDrag: function (e) {
|
||||||
e.stopPropagation();
|
e.stopPropagation();
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
},
|
},
|
||||||
|
|
||||||
// Handle Drop
|
|
||||||
handleDrop: function (e) {
|
handleDrop: function (e) {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
zerobin.upload(e.dataTransfer.files);
|
zerobin.upload(e.dataTransfer.files);
|
||||||
document.getElementById("content").classList.remove("hover");
|
document.getElementById("content").classList.remove("hover");
|
||||||
},
|
},
|
||||||
|
|
||||||
|
handlePaste: function (e) {
|
||||||
|
var items = (event.clipboardData || event.originalEvent.clipboardData).items;
|
||||||
|
for (var i = 0; i < items.length; i++) {
|
||||||
|
if (items[i].type.indexOf("image") === 0) {
|
||||||
|
e.preventDefault()
|
||||||
|
return zerobin.upload([items[i].getAsFile()]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
handleDragOver: function (e) {
|
handleDragOver: function (e) {
|
||||||
zerobin.ignoreDrag(e);
|
zerobin.ignoreDrag(e);
|
||||||
document.getElementById("content").classList.add('hover');
|
document.getElementById("content").classList.add('hover');
|
||||||
|
@ -656,58 +664,28 @@ window.zerobin = {
|
||||||
|
|
||||||
upload: function (files) {
|
upload: function (files) {
|
||||||
let content = document.getElementById('content');
|
let content = document.getElementById('content');
|
||||||
var current_file = files[0];
|
var currentFile = files[0];
|
||||||
var reader = new FileReader();
|
var reader = new FileReader();
|
||||||
if (current_file.type.indexOf('image') == 0) {
|
if (currentFile.type.indexOf('image') == 0) {
|
||||||
reader.onload = function (event) {
|
reader.onload = function (event) {
|
||||||
var image = new Image();
|
var image = new Image();
|
||||||
image.src = event.target.result;
|
image.src = event.target.result;
|
||||||
|
|
||||||
image.onload = function () {
|
image.onload = function () {
|
||||||
var maxWidth = 1024,
|
var imgWrapper = document.createElement('div');
|
||||||
maxHeight = 1024,
|
imgWrapper.classList.add('paste-wrapper');
|
||||||
imageWidth = image.width,
|
imgWrapper.appendChild(image)
|
||||||
imageHeight = image.height;
|
|
||||||
|
|
||||||
if (imageWidth > imageHeight) {
|
|
||||||
if (imageWidth > maxWidth) {
|
|
||||||
imageHeight *= maxWidth / imageWidth;
|
|
||||||
imageWidth = maxWidth;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
if (imageHeight > maxHeight) {
|
|
||||||
imageWidth *= maxHeight / imageHeight;
|
|
||||||
imageHeight = maxHeight;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
var canvas = document.createElement('canvas');
|
|
||||||
canvas.width = imageWidth;
|
|
||||||
canvas.height = imageHeight;
|
|
||||||
image.width = imageWidth;
|
|
||||||
image.height = imageHeight;
|
|
||||||
var ctx = canvas.getContext("2d");
|
|
||||||
ctx.drawImage(this, 0, 0, imageWidth, imageHeight);
|
|
||||||
|
|
||||||
var paste = canvas.toDataURL(current_file.type);
|
|
||||||
|
|
||||||
content.value = paste;
|
|
||||||
content.dispatchEvent(new Event('change'));
|
|
||||||
|
|
||||||
image.style.maxWidth = '742px';
|
|
||||||
|
|
||||||
content.style.display = "none";
|
content.style.display = "none";
|
||||||
content.after(image);
|
content.after(imgWrapper);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
reader.readAsDataURL(current_file);
|
reader.readAsDataURL(currentFile);
|
||||||
} else {
|
} else {
|
||||||
reader.onload = function (event) {
|
reader.onload = function (event) {
|
||||||
content.value = event.target.result
|
content.value = event.target.result
|
||||||
content.dispatchEvent(new Event('change'));
|
content.dispatchEvent(new Event('change'));
|
||||||
};
|
};
|
||||||
reader.readAsText(current_file);
|
reader.readAsText(currentFile);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -862,6 +840,7 @@ if (app.support.fileUpload) {
|
||||||
// Implements drag & drop upload
|
// Implements drag & drop upload
|
||||||
let content = document.getElementById('content');
|
let content = document.getElementById('content');
|
||||||
content.addEventListener('drop', zerobin.handleDrop);
|
content.addEventListener('drop', zerobin.handleDrop);
|
||||||
|
content.addEventListener('paste', zerobin.handlePaste);
|
||||||
content.addEventListener('dragover', zerobin.handleDragOver);
|
content.addEventListener('dragover', zerobin.handleDragOver);
|
||||||
content.addEventListener('dragleave', zerobin.handleDragLeave);
|
content.addEventListener('dragleave', zerobin.handleDragLeave);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user