mirror of
https://github.com/bitcoinresearchkit/brk.git
synced 2026-06-12 16:03:31 -07:00
46 lines
1.3 KiB
JavaScript
46 lines
1.3 KiB
JavaScript
import { renderBarPlot } from "./bar/index.js";
|
|
import { renderDotsPlot } from "./dots/index.js";
|
|
import { renderLinePlot } from "./line/index.js";
|
|
import { renderStackedPlot } from "./stacked/index.js";
|
|
|
|
/**
|
|
* @param {ChartView} view
|
|
* @param {SVGGElement} group
|
|
* @param {LoadedSeries[]} loadedSeries
|
|
* @param {number} height
|
|
* @param {SeriesHighlight} highlight
|
|
* @param {ChartScale} scale
|
|
*/
|
|
export function renderPlot(view, group, loadedSeries, height, highlight, scale) {
|
|
switch (view) {
|
|
case "line":
|
|
return renderLinePlot(group, loadedSeries, height, highlight, scale);
|
|
case "bar":
|
|
case "bar-reversed":
|
|
return renderBarPlot(
|
|
group,
|
|
loadedSeries,
|
|
height,
|
|
highlight,
|
|
{ reversed: view === "bar-reversed" },
|
|
scale,
|
|
);
|
|
case "dots":
|
|
return renderDotsPlot(group, loadedSeries, height, highlight, scale);
|
|
default:
|
|
return renderStackedPlot(
|
|
group,
|
|
loadedSeries,
|
|
height,
|
|
highlight,
|
|
{ reversed: view === "stacked-reversed" },
|
|
scale,
|
|
);
|
|
}
|
|
}
|
|
|
|
/** @typedef {import("./highlight.js").SeriesHighlight} SeriesHighlight */
|
|
/** @typedef {import("./index.js").LoadedSeries} LoadedSeries */
|
|
/** @typedef {import("./scale.js").ChartScale} ChartScale */
|
|
/** @typedef {import("./views.js").ChartView} ChartView */
|