chore: import upstream snapshot with attribution
This commit is contained in:
@@ -0,0 +1 @@
|
||||
license: apache-2.0
|
||||
@@ -0,0 +1,9 @@
|
||||
Demo of [Perspective](https://github.com/perspective-dev/perspective).
|
||||
|
||||
This example of a `<perspective-workspace>` dashboard is generated from one
|
||||
[Apache Arrow](https://arrow.apache.org/) source dataset, converted originally
|
||||
from this
|
||||
[XLS from a Tableau presentation](https://community.tableau.com/docs/DOC-1236).
|
||||
This layout is just an example; you can explore your own visualizations in the
|
||||
Perspective configuration menu, accessed by clicking the dropdown arrow in each
|
||||
pane's upper left, or advanced options in the pane's right-click context menu.
|
||||
@@ -0,0 +1,50 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,minimum-scale=1,user-scalable=no" />
|
||||
<link rel="preload" href="/node_modules/@perspective-dev/server/dist/wasm/perspective-server.wasm" as="fetch" type="application/wasm" crossorigin="anonymous" />
|
||||
<link rel="preload" href="/node_modules/@perspective-dev/viewer/dist/wasm/perspective-viewer.wasm" as="fetch" type="application/wasm" crossorigin="anonymous" />
|
||||
<link rel="stylesheet" crossorigin="anonymous" href="/node_modules/@perspective-dev/viewer/dist/css/themes.css" />
|
||||
<link rel="stylesheet" crossorigin="anonymous" href="/node_modules/@perspective-dev/workspace/dist/css/pro.css" />
|
||||
<style>
|
||||
perspective-workspace {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
}
|
||||
|
||||
body {
|
||||
overflow: hidden;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<perspective-workspace id="workspace"></perspective-workspace>
|
||||
<script type="module">
|
||||
import "/node_modules/@perspective-dev/viewer/dist/cdn/perspective-viewer.js";
|
||||
import "/node_modules/@perspective-dev/workspace/dist/cdn/perspective-workspace.js";
|
||||
import "/node_modules/@perspective-dev/viewer-datagrid/dist/cdn/perspective-viewer-datagrid.js";
|
||||
import "/node_modules/@perspective-dev/viewer-charts/dist/cdn/perspective-viewer-charts.js";
|
||||
|
||||
import perspective from "/node_modules/@perspective-dev/client/dist/cdn/perspective.js";
|
||||
|
||||
const DATA_URL = "/node_modules/superstore-arrow/superstore.lz4.arrow";
|
||||
|
||||
async function get_layout() {
|
||||
const req = await fetch("layout.json");
|
||||
const json = await req.json();
|
||||
return json;
|
||||
}
|
||||
|
||||
const request = fetch(DATA_URL);
|
||||
const worker = await perspective.worker();
|
||||
const response = await request;
|
||||
const buffer = await response.arrayBuffer();
|
||||
await worker.table(buffer, { name: "superstore" });
|
||||
window.workspace.load(worker);
|
||||
const layout = await get_layout();
|
||||
await window.workspace.restore(layout);
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,169 @@
|
||||
index.html: 48 {
|
||||
"sizes": [
|
||||
1
|
||||
],
|
||||
"detail": {
|
||||
"main": {
|
||||
"type": "split-area",
|
||||
"orientation": "horizontal",
|
||||
"children": [
|
||||
{
|
||||
"type": "tab-area",
|
||||
"widgets": [
|
||||
"PERSPECTIVE_GENERATED_ID_0",
|
||||
"PERSPECTIVE_GENERATED_ID_1"
|
||||
],
|
||||
"currentIndex": 0
|
||||
},
|
||||
{
|
||||
"type": "tab-area",
|
||||
"widgets": [
|
||||
"PERSPECTIVE_GENERATED_ID_3"
|
||||
],
|
||||
"currentIndex": 0
|
||||
},
|
||||
{
|
||||
"type": "tab-area",
|
||||
"widgets": [
|
||||
"PERSPECTIVE_GENERATED_ID_2"
|
||||
],
|
||||
"currentIndex": 0
|
||||
}
|
||||
],
|
||||
"sizes": [
|
||||
0.3765432098765432,
|
||||
0.24691358024691357,
|
||||
0.3765432098765432
|
||||
]
|
||||
}
|
||||
},
|
||||
"viewers": {
|
||||
"PERSPECTIVE_GENERATED_ID_0": {
|
||||
"version": "3.5.0",
|
||||
"plugin": "Datagrid",
|
||||
"plugin_config": {
|
||||
"columns": {},
|
||||
"edit_mode": "READ_ONLY",
|
||||
"scroll_lock": false
|
||||
},
|
||||
"columns_config": {},
|
||||
"title": "Sales Report 2",
|
||||
"group_by": [
|
||||
"Region",
|
||||
"State"
|
||||
],
|
||||
"split_by": [
|
||||
"Category",
|
||||
"Sub-Category"
|
||||
],
|
||||
"columns": [
|
||||
"Sales",
|
||||
"Profit"
|
||||
],
|
||||
"filter": [],
|
||||
"sort": [],
|
||||
"expressions": {},
|
||||
"aggregates": {},
|
||||
"table": "superstore",
|
||||
"settings": false
|
||||
},
|
||||
"PERSPECTIVE_GENERATED_ID_1": {
|
||||
"version": "3.5.0",
|
||||
"plugin": "Datagrid",
|
||||
"plugin_config": {
|
||||
"columns": {},
|
||||
"edit_mode": "READ_ONLY",
|
||||
"scroll_lock": false
|
||||
},
|
||||
"columns_config": {},
|
||||
"title": null,
|
||||
"group_by": [],
|
||||
"split_by": [],
|
||||
"columns": [
|
||||
"Row ID",
|
||||
"Order ID",
|
||||
"Ship Mode",
|
||||
"Customer ID",
|
||||
"Customer Name",
|
||||
"Segment",
|
||||
"Country",
|
||||
"City",
|
||||
"State",
|
||||
"Postal Code",
|
||||
"Region",
|
||||
"Product ID",
|
||||
"Category",
|
||||
"Sub-Category",
|
||||
"Product Name",
|
||||
"Sales",
|
||||
"Quantity",
|
||||
"Discount",
|
||||
"Profit",
|
||||
"Order Date",
|
||||
"Ship Date"
|
||||
],
|
||||
"filter": [],
|
||||
"sort": [],
|
||||
"expressions": {},
|
||||
"aggregates": {},
|
||||
"table": "superstore",
|
||||
"settings": false
|
||||
},
|
||||
"PERSPECTIVE_GENERATED_ID_3": {
|
||||
"version": "3.5.0",
|
||||
"plugin": "Datagrid",
|
||||
"plugin_config": {
|
||||
"columns": {},
|
||||
"edit_mode": "READ_ONLY",
|
||||
"scroll_lock": false
|
||||
},
|
||||
"columns_config": {},
|
||||
"title": "Sales Report 2 (*)",
|
||||
"group_by": [
|
||||
"Region",
|
||||
"State"
|
||||
],
|
||||
"split_by": [
|
||||
"Category",
|
||||
"Sub-Category"
|
||||
],
|
||||
"columns": [
|
||||
"Sales",
|
||||
"Profit"
|
||||
],
|
||||
"filter": [],
|
||||
"sort": [],
|
||||
"expressions": {},
|
||||
"aggregates": {},
|
||||
"table": "superstore",
|
||||
"settings": false
|
||||
},
|
||||
"PERSPECTIVE_GENERATED_ID_2": {
|
||||
"version": "3.5.0",
|
||||
"plugin": "Treemap",
|
||||
"plugin_config": {},
|
||||
"columns_config": {},
|
||||
"title": "Sales Report (by State)",
|
||||
"group_by": [
|
||||
"State"
|
||||
],
|
||||
"split_by": [],
|
||||
"columns": [
|
||||
"Sales",
|
||||
"Profit",
|
||||
null
|
||||
],
|
||||
"filter": [],
|
||||
"sort": [
|
||||
[
|
||||
"Profit",
|
||||
"desc"
|
||||
]
|
||||
],
|
||||
"expressions": {},
|
||||
"aggregates": {},
|
||||
"table": "superstore",
|
||||
"settings": false
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,88 @@
|
||||
{
|
||||
"sizes": [1],
|
||||
"detail": {
|
||||
"main": {
|
||||
"type": "split-area",
|
||||
"orientation": "horizontal",
|
||||
"children": [
|
||||
{
|
||||
"type": "tab-area",
|
||||
"widgets": [
|
||||
"PERSPECTIVE_GENERATED_ID_0",
|
||||
"PERSPECTIVE_GENERATED_ID_1"
|
||||
],
|
||||
"currentIndex": 0
|
||||
},
|
||||
{
|
||||
"type": "tab-area",
|
||||
"widgets": ["PERSPECTIVE_GENERATED_ID_2"],
|
||||
"currentIndex": 0
|
||||
}
|
||||
],
|
||||
"sizes": [0.5, 0.5]
|
||||
}
|
||||
},
|
||||
"mode": "globalFilters",
|
||||
"viewers": {
|
||||
"PERSPECTIVE_GENERATED_ID_0": {
|
||||
"plugin": "datagrid",
|
||||
"group_by": ["Region", "State"],
|
||||
"split_by": ["Category", "Sub-Category"],
|
||||
"columns": ["Sales", "Profit"],
|
||||
"master": false,
|
||||
"name": "Sales Report",
|
||||
"table": "superstore",
|
||||
"linked": false,
|
||||
"title": "Sales Report 2"
|
||||
},
|
||||
"PERSPECTIVE_GENERATED_ID_1": {
|
||||
"plugin": "datagrid",
|
||||
"columns": [
|
||||
"Row ID",
|
||||
"Order ID",
|
||||
"Ship Mode",
|
||||
"Customer ID",
|
||||
"Customer Name",
|
||||
"Segment",
|
||||
"Country",
|
||||
"City",
|
||||
"State",
|
||||
"Postal Code",
|
||||
"Region",
|
||||
"Product ID",
|
||||
"Category",
|
||||
"Sub-Category",
|
||||
"Product Name",
|
||||
"Sales",
|
||||
"Quantity",
|
||||
"Discount",
|
||||
"Profit",
|
||||
"Order Date",
|
||||
"Ship Date"
|
||||
],
|
||||
"master": false,
|
||||
"name": "superstore.csv",
|
||||
"table": "superstore",
|
||||
"linked": false
|
||||
},
|
||||
"PERSPECTIVE_GENERATED_ID_2": {
|
||||
"plugin": "Treemap",
|
||||
"group_by": ["State"],
|
||||
"columns": ["Sales", "Profit", null],
|
||||
"sort": [["Profit", "desc"]],
|
||||
"plugin_config": {
|
||||
"realValues": ["Sales", "Profit", null],
|
||||
"treemaps": {
|
||||
"": {
|
||||
"treemapLevel": 0,
|
||||
"treemapRoute": [""]
|
||||
}
|
||||
}
|
||||
},
|
||||
"master": false,
|
||||
"title": "Sales Report (by State)",
|
||||
"table": "superstore",
|
||||
"linked": false
|
||||
}
|
||||
}
|
||||
}
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 140 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 21 KiB |
Reference in New Issue
Block a user