aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2013-04-12 19:42:10 +0100
committerMichael Williamson <mike@zwobble.org>2013-04-12 19:42:10 +0100
commit9d9de782a10d1217c55e2cab764924493ee3435b (patch)
treec84f4c6dab0805476752487be5778dae9a52c64b /lib
parent1a8e6ced5cdfa0ec9216e75bdb28155ce3080240 (diff)
Simplify generation of browser JavaScript
Diffstat (limited to 'lib')
-rw-r--r--lib/browser.js50
1 files changed, 47 insertions, 3 deletions
diff --git a/lib/browser.js b/lib/browser.js
index 6d06c4a..04d73ee 100644
--- a/lib/browser.js
+++ b/lib/browser.js
@@ -1,3 +1,47 @@
-exports.q = require("q");
-exports.mammoth = require("./");
-exports.Buffer = Buffer;
+var q = require("q");
+var mammoth = require("./");
+
+var converter = new mammoth.Converter(mammoth.standardOptions);
+function handleFileSelect(event) {
+ var files = event.target.files;
+
+ for (var i = 0; i < files.length; i++) {
+ var file = files[i];
+ var reader = new FileReader();
+
+ reader.onload = function(loadEvent) {
+ var arrayBuffer = loadEvent.target.result;
+ converter.convertToHtml({file: openFile(arrayBuffer)})
+ .then(function(result) {
+ document.getElementById("output").innerHTML = result.html;
+ })
+ .done();
+ };
+
+
+ reader.readAsArrayBuffer(file);
+ }
+
+ function openFile(arrayBuffer) {
+ var zipFile = new JSZip(arrayBuffer);
+ function exists(name) {
+ return zipFile.file(name) !== null;
+ }
+
+ function read(name, encoding) {
+ var array = zipFile.file(name).asUint8Array();
+ var buffer = new Buffer(array);
+ if (encoding) {
+ return q.when(buffer.toString(encoding));
+ } else {
+ return q.when(buffer);
+ }
+ }
+ return {
+ exists: exists,
+ read: read
+ };
+ }
+}
+
+document.getElementById("document").addEventListener('change', handleFileSelect, false);