mirror of
https://github.com/rzmk/czv.git
synced 2025-12-19 08:09:24 +00:00
- Add relevant links to all READMEs and source code - Resolve clippy lints czv: - Add more docs for top-level items - Add suggestion to use builder methods instead of functions - Disable slice and slice tests until operation is complete czv-wasm: - Use tsify_next for allowing objects as parameters - Add nodejs example and instructions
34 lines
1 KiB
TypeScript
34 lines
1 KiB
TypeScript
const progress = document.getElementById("progress");
|
|
|
|
import init, * as czv from "../../pkg/czv.js";
|
|
// Must run `await init()` or `initSync()` first for web use
|
|
await init();
|
|
|
|
const fileReader = new FileReader();
|
|
|
|
fileReader.onloadstart = () => {
|
|
if (progress) progress.style.display = "block";
|
|
};
|
|
|
|
fileReader.onloadend = () => {
|
|
const rowCountElement = document.getElementById("row-count");
|
|
const columnCountElement = document.getElementById("column-count");
|
|
if (rowCountElement)
|
|
rowCountElement.innerText = String(
|
|
czv.rowCount({
|
|
file_data: fileReader.result as string,
|
|
})
|
|
);
|
|
if (columnCountElement)
|
|
columnCountElement.innerText = String(
|
|
czv.columnCount({ file_data: fileReader.result as string })
|
|
);
|
|
if (progress) progress.style.display = "none";
|
|
};
|
|
|
|
const input = document.getElementById("upload");
|
|
if (input)
|
|
input.addEventListener("change", () => {
|
|
// @ts-ignore
|
|
fileReader.readAsText(input.files[0]);
|
|
});
|