diff options
| author | Michael Williamson <mike@zwobble.org> | 2014-01-06 22:32:27 +0000 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2014-01-06 22:32:27 +0000 |
| commit | 723a7d54bd4823b2a9876fdea7b8b08cde74f669 (patch) | |
| tree | 048096d0bfbdaa9ff889143aff5f8f150e0267cc /browser-demo | |
| parent | 278082b9fe502ce1ca083db66beb2c25c4a6ca5f (diff) | |
Use same module for node.js and browsers
Diffstat (limited to 'browser-demo')
| -rw-r--r-- | browser-demo/demo.js | 45 |
1 files changed, 33 insertions, 12 deletions
diff --git a/browser-demo/demo.js b/browser-demo/demo.js index 20dcda0..3126192 100644 --- a/browser-demo/demo.js +++ b/browser-demo/demo.js @@ -1,16 +1,37 @@ (function() { - mammoth.fileInput( - document.getElementById("document"), - function(result) { - document.getElementById("output").innerHTML = result.value; - - var messageHtml = result.messages.map(function(message) { - return '<li class="' + message.type + '">' + escapeHtml(message.message) + "</li>"; - }).join(""); - - document.getElementById("messages").innerHTML = "<ul>" + messageHtml + "</ul>"; - } - ); + document.getElementById("document") + .addEventListener("change", handleFileSelect, false); + + function handleFileSelect(event) { + readFileInputEventAsArrayBuffer(event, function(arrayBuffer) { + mammoth.convertToHtml({arrayBuffer: arrayBuffer}) + .then(displayResult) + .done(); + }); + } + + function displayResult(result) { + document.getElementById("output").innerHTML = result.value; + + var messageHtml = result.messages.map(function(message) { + return '<li class="' + message.type + '">' + escapeHtml(message.message) + "</li>"; + }).join(""); + + document.getElementById("messages").innerHTML = "<ul>" + messageHtml + "</ul>"; + } + + function readFileInputEventAsArrayBuffer(event, callback) { + var file = event.target.files[0]; + + var reader = new FileReader(); + + reader.onload = function(loadEvent) { + var arrayBuffer = loadEvent.target.result; + callback(arrayBuffer); + }; + + reader.readAsArrayBuffer(file); + } function escapeHtml(value) { return value |
