billboard.js
Version:
Re-usable easy interface JavaScript chart library, based on D3 v4+
213 lines (212 loc) • 7.25 kB
JavaScript
/*!
* Copyright (c) 2017 ~ present NAVER Corp.
* billboard.js project is licensed under the MIT license
*
* billboard.js, JavaScript chart library
* https://naver.github.io/billboard.js/
*
* @version 4.1.1
*/
import { TYPE } from "../const.js";
import area_default from "../Options/shape/area.js";
import spline_default from "../Options/shape/spline.js";
import point_default from "../Options/common/point.js";
import line_default from "../Options/shape/line.js";
import { extendAxisModules } from "./axis.core.js";
import bar_default from "../Options/shape/bar.js";
import bubble_default from "../../ChartInternal/shape/core/bubble.js";
import bubble_default$1 from "../Options/shape/bubble.js";
import candlestick_default from "../../ChartInternal/shape/core/candlestick.js";
import candlestick_default$1 from "../Options/shape/candlestick.js";
import scatter_default from "../Options/shape/scatter.js";
import treemap_default from "../../ChartInternal/shape/core/treemap.js";
import treemap_default$1 from "../Options/shape/treemap.js";
//#region src/config/resolver/canvasShape.ts
/**
* Copyright (c) 2017 ~ present NAVER Corp.
* billboard.js project is licensed under the MIT license
*/
/**
* Canvas line shape marker.
* Installed to satisfy chart type import checks without importing SVG line renderer.
* @private
*/
const canvasLineModule = {
/**
* No-op canvas line initializer.
* Canvas mode creates drawing surfaces through canvas().
* @private
*/
initLine() {} };
/**
* Canvas area shape marker.
* Installed to satisfy chart type import checks without importing SVG area renderer.
* @private
*/
const canvasAreaModule = {
/**
* No-op canvas area initializer.
* Canvas mode creates drawing surfaces through canvas().
* @private
*/
initArea() {} };
/**
* Canvas bar shape marker.
* Installed to satisfy chart type import checks without importing SVG bar renderer.
* @private
*/
const canvasBarModule = {
/**
* No-op canvas bar initializer.
* Canvas mode creates drawing surfaces through canvas().
* @private
*/
initBar() {} };
/**
* Canvas point shape marker.
* Installed to satisfy chart type import checks without importing SVG point renderer.
* @private
*/
const canvasPointModule = {
/**
* No-op canvas circle initializer.
* Canvas mode draws circles through CanvasRenderer.
* @private
*/
initCircle() {} };
/**
* Canvas candlestick shape marker.
* Installed to satisfy chart type import checks without importing SVG candlestick renderer.
* @private
*/
const canvasCandlestickModule = {
/**
* No-op canvas candlestick initializer.
* Canvas mode draws candlesticks through CanvasRenderer.
* @private
*/
initCandlestick() {} };
/**
* Canvas treemap shape marker.
* Installed to satisfy chart type import checks without importing SVG treemap renderer.
* @private
*/
const canvasTreemapModule = {
/**
* Initialize the shared treemap layout without SVG elements.
* @private
*/
initTreemap() {
this.initTreemapLayout?.();
} };
/**
* Extend axis/options needed by canvas axis-based shapes without importing SVG shape modules.
* @param {Array<object>} module Internal modules
* @param {Array<object>} option Option modules
* @private
*/
function extendCanvasAxisShape(module = [], option = []) {
extendAxisModules(module, option);
}
/**
* Register modules and options required for canvas line charts.
* @returns {string} Line chart type
*/
let line = () => (extendCanvasAxisShape([canvasLineModule], [point_default, line_default]), (line = () => TYPE.LINE)());
/**
* Register modules and options required for canvas spline charts.
* @returns {string} Spline chart type
*/
let spline = () => (extendCanvasAxisShape([canvasLineModule], [
point_default,
line_default,
spline_default
]), (spline = () => TYPE.SPLINE)());
/**
* Register modules and options required for canvas step charts.
* @returns {string} Step chart type
*/
let step = () => (extendCanvasAxisShape([canvasLineModule], [point_default, line_default]), (step = () => TYPE.STEP)());
/**
* Register modules and options required for canvas area charts.
* @returns {string} Area chart type
*/
let area = () => (extendCanvasAxisShape([canvasLineModule, canvasAreaModule], [
point_default,
line_default,
area_default
]), (area = () => TYPE.AREA)());
/**
* Register modules and options required for canvas area-line-range charts.
* @returns {string} Area line range chart type
*/
let areaLineRange = () => (extendCanvasAxisShape([canvasLineModule, canvasAreaModule], [
point_default,
line_default,
area_default
]), (areaLineRange = () => TYPE.AREA_LINE_RANGE)());
/**
* Register modules and options required for canvas area-spline charts.
* @returns {string} Area spline chart type
*/
let areaSpline = () => (extendCanvasAxisShape([canvasLineModule, canvasAreaModule], [
point_default,
line_default,
area_default,
spline_default
]), (areaSpline = () => TYPE.AREA_SPLINE)());
/**
* Register modules and options required for canvas area-spline-range charts.
* @returns {string} Area spline range chart type
*/
let areaSplineRange = () => (extendCanvasAxisShape([canvasLineModule, canvasAreaModule], [
point_default,
line_default,
area_default,
spline_default
]), (areaSplineRange = () => TYPE.AREA_SPLINE_RANGE)());
/**
* Register modules and options required for canvas area-step charts.
* @returns {string} Area step chart type
*/
let areaStep = () => (extendCanvasAxisShape([canvasLineModule, canvasAreaModule], [
point_default,
line_default,
area_default
]), (areaStep = () => TYPE.AREA_STEP)());
/**
* Register modules and options required for canvas area-step-range charts.
* @returns {string} Area step range chart type
*/
let areaStepRange = () => (extendCanvasAxisShape([canvasLineModule, canvasAreaModule], [
point_default,
line_default,
area_default
]), (areaStepRange = () => TYPE.AREA_STEP_RANGE)());
/**
* Register modules and options required for canvas bar charts.
* @returns {string} Bar chart type
*/
let bar = () => (extendCanvasAxisShape([canvasBarModule], [bar_default]), (bar = () => TYPE.BAR)());
/**
* Register modules and options required for canvas scatter charts.
* @returns {string} Scatter chart type
*/
let scatter = () => (extendCanvasAxisShape([canvasPointModule], [point_default, scatter_default]), (scatter = () => TYPE.SCATTER)());
/**
* Register modules and options required for canvas bubble charts.
* @returns {string} Bubble chart type
*/
let bubble = () => (extendCanvasAxisShape([canvasPointModule, bubble_default], [point_default, bubble_default$1]), (bubble = () => TYPE.BUBBLE)());
/**
* Register modules and options required for canvas candlestick charts.
* @returns {string} Candlestick chart type
*/
let candlestick = () => (extendCanvasAxisShape([canvasCandlestickModule, candlestick_default], [point_default, candlestick_default$1]), (candlestick = () => TYPE.CANDLESTICK)());
/**
* Register modules and options required for canvas treemap charts.
* @returns {string} Treemap chart type
*/
let treemap = () => (extendCanvasAxisShape([canvasTreemapModule, treemap_default], [treemap_default$1]), (treemap = () => TYPE.TREEMAP)());
//#endregion
export { area, areaLineRange, areaSpline, areaSplineRange, areaStep, areaStepRange, bar, bubble, candlestick, line, scatter, spline, step, treemap };