summaryrefslogtreecommitdiff
path: root/js/clipboard.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/clipboard.js')
-rw-r--r--js/clipboard.js51
1 files changed, 47 insertions, 4 deletions
diff --git a/js/clipboard.js b/js/clipboard.js
index da326ff..66c0c67 100644
--- a/js/clipboard.js
+++ b/js/clipboard.js
@@ -9,10 +9,12 @@ var clipboard = (function () {
import_ascii.addEventListener("change", exports.setFormat("ascii"))
import_irssi.addEventListener("change", exports.setFormat("irssi"))
import_mirc.addEventListener("change", exports.setFormat("mirc"))
- import_button.addEventListener("click", exports.import_data)
+ import_button.addEventListener("click", exports.import_text)
+ import_html.addEventListener("click", exports.import_html)
export_button.addEventListener("click", exports.export_data)
import_textarea.addEventListener("focus", exports.focus)
import_textarea.addEventListener("blur", exports.blur)
+ import_textarea.addEventListener('paste', exports.paste)
import_irssi.setAttribute("checked", true)
},
setFormat: function (name) {
@@ -35,18 +37,59 @@ var clipboard = (function () {
import_mode: function () {
focus()
clipboard.importing = true
- import_button.style.display = "inline-block"
+ import_buttons.style.display = "inline-block"
export_button.style.display = format_group.style.display = "none"
import_textarea.value = ""
},
export_mode: function () {
focus()
clipboard.importing = false
- import_button.style.display = "none"
+ import_buttons.style.display = "none"
export_button.style.display = format_group.style.display = "inline-block"
clipboard.export_data()
},
- import_data: function () {
+
+ paste: function (e) {
+ toArray(e.clipboardData.items).forEach(function(item,i){
+ console.log(item.kind, item.type)
+ if (item.kind == 'file' && item.type.match('image/')) {
+ var blob = item.getAsFile();
+ window.URL = window.URL || window.webkitURL;
+ var blobUrl = window.URL.createObjectURL(blob);
+
+ var img = document.createElement('img');
+ img.onerror = function(){
+ // error!
+ console.log("error! bad image!")
+ }
+ img.onload = function(){
+ // load!
+ //document.body.appendChild(img);
+ // handle importing an image?
+ console.log("image import not supported")
+ }
+ img.src = blobUrl;
+ }
+ // this can be text/plain or text/html..
+ else if (item.kind == 'string' && item.type.match('text/plain') && e.clipboardData.items.length > 1) {
+ return
+ }
+ else if (item.kind == 'string') {
+ item.getAsString(function(text){
+ import_textarea.value = text
+ })
+ }
+ else {
+ console.error("unknown type!", item.type)
+ }
+ })
+
+ },
+
+ import_html: function () {
+ },
+
+ import_text: function () {
var data = import_textarea.value
lines = data.split("\n")
var width = lines.reduce(function(a,b){ return Math.max(a, b.length) })