From f73956369948a1e43ee49fd15977131d738aec99 Mon Sep 17 00:00:00 2001 From: coderaiser Date: Tue, 13 Jan 2015 10:37:49 -0500 Subject: [PATCH] feature(edward) add onDrop --- lib/client/edit.js | 23 +---------------------- lib/client/edward.js | 25 +++++++++++++++++++++++++ 2 files changed, 26 insertions(+), 22 deletions(-) diff --git a/lib/client/edit.js b/lib/client/edit.js index 91d7a92d..96d8af2e 100644 --- a/lib/client/edit.js +++ b/lib/client/edit.js @@ -136,9 +136,7 @@ var CloudCmd, Util, DOM, CloudFunc, io, ace, Zip, MenuIO, Format, edward; }); Events.add(element, { - contextmenu : setMenu, - drop : onDrop, - dragover : Events.preventDefault + contextmenu : setMenu }); return element; @@ -597,25 +595,6 @@ var CloudCmd, Util, DOM, CloudFunc, io, ace, Zip, MenuIO, Format, edward; }); } - function onDrop(event) { - var reader, files, - onLoad = function(event) { - var data = event.target.result; - - edward.setValue(data); - }; - - event.preventDefault(); - - files = event.dataTransfer.files; - - [].forEach.call(files, function(file) { - reader = new FileReader(); - Events.addLoad(reader, onLoad); - reader.readAsBinaryString(file); - }); - } - this.showMessage = function(text) { edward.showMessage(text); }; diff --git a/lib/client/edward.js b/lib/client/edward.js index 8431d8d0..28cb32f3 100644 --- a/lib/client/edward.js +++ b/lib/client/edward.js @@ -16,6 +16,12 @@ var join, ace, Util, DOM; edward = function(el, callback) { Element = el || document.body; + + Element.addEventListener('drop', onDrop); + Element.addEventListener('dragover', function(event) { + event.preventDefault(); + }); + exec.series([ loadFiles, function() { @@ -144,6 +150,25 @@ var join, ace, Util, DOM; }, HIDE_TIME); }; + function onDrop(event) { + var reader, files, + onLoad = function(event) { + var data = event.target.result; + + edward.setValue(data); + }; + + event.preventDefault(); + + files = event.dataTransfer.files; + + [].forEach.call(files, function(file) { + reader = new FileReader(); + reader.addEventListener('load', onLoad); + reader.readAsBinaryString(file); + }); + } + function loadFiles(callback) { var css = '/css/edward.css', dir = '/modules/ace-builds/src-noconflict/',