X-Git-Url: http://id.pley.net/movie_parser.git/blobdiff_plain/a65052e7db9fec0f0098eec2d42175bf39ce27c6..550e6dfa3c752008d9241f9617d41551f68b4827:/AtomTester.html?ds=sidebyside diff --git a/AtomTester.html b/AtomTester.html index 82d9be2..0419988 100644 --- a/AtomTester.html +++ b/AtomTester.html @@ -17,7 +17,7 @@ if (!atom) break; atoms.push(atom); - output.appendChild(atom.toDOMNode()); + output.appendChild(toDOMNode(atom)); offset += atom.size; } }; @@ -25,6 +25,38 @@ reader.readAsArrayBuffer(file); } + function toDOMNode(object) + { + var output = document.createElement('dl'); + + for (property in object) { + var value = object[property]; + if (typeof(value) == 'function') + continue; + var div = document.createElement('div'); + var dt = document.createElement('dt'); + dt.innerText = property; + + var dd = document.createElement('dd'); + if (value instanceof Atom) + dd.appendChild(toDOMNode(value)); + else if (value instanceof Array) { + dd.appendChild(toDOMNode(value)); + } + else if (typeof(value) == "string") + dd.innerText = '"' + value + '"'; + else if (value instanceof Date) + dd.innerText = value.toLocaleString(); + else + dd.innerText = value; + + div.appendChild(dt); + div.appendChild(dd); + output.appendChild(div); + } + return output; + } + function setup() { document.getElementById('file').addEventListener('change', onFileSelect, false); } @@ -34,7 +66,7 @@ dt, dd { display: inline; } dt:after { content:": " } dd:after { content:"\A"; white-space:pre; } - dd ol { display: inline-block; margin: 0; vertical-align: top } + dd dl { margin: 0; vertical-align: top } /* make the output display as a table */ dl { display: table; }