Files
2026-07-13 12:25:07 +08:00

45 lines
1.8 KiB
HTML

<!doctype html>
<html>
<head>
<link rel="stylesheet" href="../css/demo.css" />
<link rel="stylesheet" href="/node_modules/@perspective-dev/viewer/dist/css/pro.css" />
<link rel="stylesheet" href="/node_modules/@fontsource/roboto-mono/400.css" />
</head>
<body>
<script type="module">
import perspective from "/node_modules/@perspective-dev/client/dist/cdn/perspective.js";
import "/node_modules/@perspective-dev/viewer/dist/cdn/perspective-viewer.js";
class TestChartPlugin extends customElements.get("perspective-viewer-plugin") {
get_static_config() {
return {
name: "test chart",
select_mode: "toggle",
config_column_names: ["X Axis", "Y Axis", "Color", "Size", "Tooltip"],
min_config_columns: 2,
};
}
}
customElements.define("test-chart-plugin", TestChartPlugin);
const Viewer = customElements.get("perspective-viewer");
Viewer.registerPlugin("test-chart-plugin");
const viewer = document.createElement("perspective-viewer");
document.body.appendChild(viewer);
let resp = await fetch("/node_modules/@perspective-dev/test/assets/superstore.csv");
let csv = await resp.text();
const worker = await perspective.worker();
const table = worker.table(csv, {
index: "Row ID",
name: "load-viewer-csv",
});
await viewer.load(table);
window.__TEST_WORKER__ = worker;
window.__TEST_PERSPECTIVE_READY__ = true;
</script>
</body>
</html>