| <!DOCTYPE html> |
| |
| <!-- |
| Licensed to the Apache Software Foundation (ASF) under one |
| or more contributor license agreements. See the NOTICE file |
| distributed with this work for additional information |
| regarding copyright ownership. The ASF licenses this file |
| to you under the Apache License, Version 2.0 (the |
| "License"); you may not use this file except in compliance |
| with the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, |
| software distributed under the License is distributed on an |
| "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| KIND, either express or implied. See the License for the |
| specific language governing permissions and limitations |
| under the License. |
| --> |
| |
| <html> |
| <head> |
| <title>Arrow.js browser test</title> |
| <meta charset="utf-8"> |
| <style> |
| table { |
| border-collapse: collapse; |
| } |
| table, th, td { |
| border: 1px solid black; |
| white-space: nowrap; |
| } |
| </style> |
| <script type="text/javascript"> |
| var reader = new FileReader(); |
| function addCell (tr, type, value) { |
| var td = document.createElement(type) |
| td.textContent = value; |
| tr.appendChild(td); |
| } |
| reader.onload = function (evt) { |
| |
| var arrowTable = Arrow.Table.from([new Uint8Array(evt.target.result)]); |
| var thead = document.getElementById("thead"); |
| var tbody = document.getElementById("tbody"); |
| |
| while (thead.hasChildNodes()) { |
| thead.removeChild(thead.lastChild); |
| } |
| |
| while (tbody.hasChildNodes()) { |
| tbody.removeChild(tbody.lastChild); |
| } |
| |
| var header_row = document.createElement("tr"); |
| for (let field of arrowTable.schema.fields) { |
| addCell(header_row, "th", `${field}`); |
| } |
| |
| thead.appendChild(header_row); |
| |
| for (let row of arrowTable) { |
| var tr = document.createElement("tr"); |
| for (let cell of row) { |
| addCell(tr, "td", |
| cell == null ? 'null' |
| : !Array.isArray(cell) ? cell |
| : '[' + cell.map((value) => value == null ? 'null' : value).join(', ') + ']' |
| ); |
| } |
| tbody.appendChild(tr); |
| } |
| } |
| |
| function handleFiles(files) { |
| reader.readAsArrayBuffer(files[0]); |
| } |
| </script> |
| </head> |
| <body> |
| <input id="arrow-in" type="file" onchange="handleFiles(this.files)" /> |
| <table> |
| <thead id="thead"> |
| </thead> |
| <tbody id="tbody"> |
| </tbody> |
| </table> |
| <script type="text/javascript" src="../targets/es5/umd/Arrow.js"></script> |
| </body> |
| </html> |