diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-21 11:54:28 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-21 11:54:28 +0000 |
commit | e6918187568dbd01842d8d1d2c808ce16a894239 (patch) | |
tree | 64f88b554b444a49f656b6c656111a145cbbaa28 /src/arrow/js/examples/read_file.html | |
parent | Initial commit. (diff) | |
download | ceph-e6918187568dbd01842d8d1d2c808ce16a894239.tar.xz ceph-e6918187568dbd01842d8d1d2c808ce16a894239.zip |
Adding upstream version 18.2.2.upstream/18.2.2
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/arrow/js/examples/read_file.html')
-rw-r--r-- | src/arrow/js/examples/read_file.html | 91 |
1 files changed, 91 insertions, 0 deletions
diff --git a/src/arrow/js/examples/read_file.html b/src/arrow/js/examples/read_file.html new file mode 100644 index 000000000..1013fbe79 --- /dev/null +++ b/src/arrow/js/examples/read_file.html @@ -0,0 +1,91 @@ +<!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/es2015/umd/Arrow.js"></script> + </body> +</html> |