New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

@data-forge-plot/apex

Package Overview
Dependencies
Maintainers
1
Versions
43
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@data-forge-plot/apex - npm Package Compare versions

Comparing version
0.2.0
to
0.2.1
+26
-2
build/index.js

@@ -272,3 +272,5 @@ (function(e, a) { for(var i in a) e[i] = a[i]; }(exports, /******/ (function(modules) { // webpackBootstrap

max: axisConfig.max,
labels: {},
labels: {
style: {},
},
title: {

@@ -307,2 +309,12 @@ style: {},

}
if (axisConfig.ticks) {
if (axisConfig.ticks.font) {
if (axisConfig.ticks.font.size) {
yAxisConfig.labels.style.fontSize = axisConfig.ticks.font.size;
}
if (axisConfig.ticks.font.family) {
yAxisConfig.labels.style.fontFamily = axisConfig.ticks.font.family;
}
}
}
show = false;

@@ -338,6 +350,8 @@ return yAxisConfig;

type: xaxisType,
labels: {},
title: {
style: {},
},
labels: {
style: {},
},
};

@@ -372,2 +386,12 @@ var xAxisFormatString = inputChartDef.plotConfig.x && inputChartDef.plotConfig.x.format;

}
if (inputChartDef.plotConfig.x.ticks) {
if (inputChartDef.plotConfig.x.ticks.font) {
if (inputChartDef.plotConfig.x.ticks.font.size) {
xaxis.labels.style.fontSize = inputChartDef.plotConfig.x.ticks.font.size;
}
if (inputChartDef.plotConfig.x.ticks.font.family) {
xaxis.labels.style.fontFamily = inputChartDef.plotConfig.x.ticks.font.family;
}
}
}
}

@@ -374,0 +398,0 @@ var yAxisSeries = extractSeries(inputChartDef.data, inputChartDef.axisMap.y, inputChartDef.axisMap.x)

+1
-1

@@ -1,1 +0,1 @@

{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/index.ts","webpack:///./src/lib/format-chart-def.ts","webpack:///external \"apexcharts\"","webpack:///external \"dayjs\"","webpack:///external \"numeral\""],"names":[],"mappings":"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","file":"index.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"./src/index.ts\");\n","import { IChartDef } from \"@data-forge-plot/chart-def\";\r\nimport { formatChartDef } from \"./lib/format-chart-def\";\r\nexport { formatChartDef } from \"./lib/format-chart-def\";\r\nlet ApexCharts = require(\"apexcharts\");\r\nif (ApexCharts.default !== undefined) {\r\n ApexCharts = ApexCharts.default; // Bit of a hack here. It seems to be the only to get this work as a template and as a module.\r\n}\r\n\r\n//\r\n// Interface to control and configure a mounted chart.\r\n//\r\nexport interface IChart {\r\n\r\n //\r\n // Unmount the chart.\r\n //\r\n unmount(): void;\r\n\r\n //\r\n // Size the chart to fit its container.\r\n //\r\n sizeToFit(): void;\r\n}\r\n\r\n//\r\n// Wrapper for an ApexCharts chart.\r\n//\r\nclass ApexChart implements IChart {\r\n\r\n //\r\n // The ApexCharts chart object.\r\n //\r\n private chart?: ApexCharts;\r\n\r\n constructor(chart: ApexCharts) {\r\n this.chart = chart;\r\n }\r\n\r\n //\r\n // Unmount the chart.\r\n //\r\n public unmount(): void {\r\n if (this.chart) {\r\n this.chart.destroy();\r\n this.chart = undefined;\r\n }\r\n }\r\n\r\n //\r\n // Size the chart to fit its container.\r\n //\r\n public sizeToFit(): void {\r\n if (this.chart) {\r\n //todo: this.chart.resize();\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * Options to control how the chart is mounted.\r\n */\r\nexport interface IMountOptions {\r\n /**\r\n * Set to true to make the chart static.\r\n * The chart will have interactive features and animations disabled.\r\n */\r\n makeStatic?: boolean;\r\n\r\n /**\r\n * Debug log the chart definition after formatting.\r\n */\r\n showChartDef?: boolean;\r\n}\r\n\r\n//\r\n// Mount the chart on the DOM element.\r\n//\r\nexport async function mountChart(chartDef: IChartDef, domElement: HTMLElement, chartOptions?: IMountOptions): Promise<IChart> {\r\n const apexChartDef = formatChartDef(chartDef);\r\n if (!apexChartDef.chart) {\r\n apexChartDef.chart = {};\r\n }\r\n\r\n if (!apexChartDef.chart!.animations) {\r\n apexChartDef.chart!.animations = {};\r\n }\r\n\r\n if (!apexChartDef.tooltip) {\r\n apexChartDef.tooltip = {};\r\n }\r\n\r\n if (!apexChartDef.chart!.zoom) {\r\n apexChartDef.chart!.zoom = {};\r\n }\r\n\r\n if (!apexChartDef.chart!.toolbar) {\r\n apexChartDef.chart!.toolbar = {};\r\n }\r\n \r\n if (chartOptions && chartOptions.makeStatic) {\r\n apexChartDef.chart!.animations!.enabled = false;\r\n apexChartDef.tooltip!.enabled = false;\r\n apexChartDef.chart!.zoom!.enabled = false;\r\n apexChartDef.chart!.toolbar!.show = false;\r\n }\r\n else {\r\n apexChartDef.chart!.animations!.enabled = true;\r\n apexChartDef.tooltip!.enabled = true;\r\n apexChartDef.chart!.zoom!.enabled = true;\r\n apexChartDef.chart!.toolbar!.show = true;\r\n }\r\n\r\n if (chartOptions && chartOptions.showChartDef) {\r\n console.log(\"Formatted chart definition:\");\r\n console.log(JSON.stringify(apexChartDef, null, 4));\r\n }\r\n\r\n const apexChart = new ApexCharts(domElement, apexChartDef);\r\n await apexChart.render();\r\n return new ApexChart(apexChart);\r\n}","import { IChartDef, IAxisConfig, IYAxisConfig, ChartType, IAxisMap, IAxisSeriesConfig, IYAxisSeriesConfig } from \"@data-forge-plot/chart-def\";\r\nimport { ApexOptions } from \"apexcharts\";\r\nimport { ISerializedDataFrame } from \"@data-forge/serialization\";\r\nimport * as dayjs from \"dayjs\";\r\nimport * as numeral from \"numeral\";\r\n\r\n//\r\n// Pluck a single named series from chart data.\r\n//\r\nfunction pluckValues(columnName: string, values: any[]) {\r\n return values.map(row => row[columnName]);\r\n}\r\n\r\n//\r\n// Build a series for Apex cahrts.\r\n//\r\nfunction buildApexSeries(columnName: string, values: any[], indexValues: any[]) {\r\n return pluckValues(columnName, values)\r\n .map((yValue, index) => ({ x: indexValues[index], y: yValue }));\r\n}\r\n\r\n//\r\n// Extract series from the chart definition's data.\r\n//\r\nfunction extractSeries(data: ISerializedDataFrame, axises: IYAxisSeriesConfig[], xAxis?: IAxisSeriesConfig): ApexAxisChartSeries {\r\n return axises.map(seriesConfig => {\r\n const columnName = seriesConfig.series;\r\n const xAxisColumnName = seriesConfig.x && seriesConfig.x.series || xAxis && xAxis.series;\r\n const xAxisValues = xAxisColumnName ? pluckValues(xAxisColumnName, data.values) : data.index.values;\r\n return {\r\n name: columnName, \r\n data: buildApexSeries(columnName, data.values, xAxisValues),\r\n };\r\n });\r\n}\r\n\r\n//\r\n// Get the configuration Y axis for apex.\r\n//\r\nfunction extractYAxisConfiguration(seriesConfigs: IYAxisSeriesConfig[], axisConfig: IYAxisConfig, opposite: boolean, data: ISerializedDataFrame): ApexYAxis[] {\r\n let show: boolean = true;\r\n return seriesConfigs.map(seriesConfig => { \r\n const yAxisConfig: ApexYAxis = { \r\n opposite, \r\n show,\r\n min: axisConfig.min,\r\n max: axisConfig.max,\r\n labels: {},\r\n title: { \r\n style: {},\r\n },\r\n };\r\n\r\n const formatString = axisConfig.format;\r\n const columnName = seriesConfig.series;\r\n const dataType = data.columns[columnName];\r\n if (formatString) {\r\n if (dataType === \"date\") {\r\n yAxisConfig.labels!.formatter = value => dayjs(value).format(formatString);\r\n }\r\n else if (dataType === \"number\") {\r\n yAxisConfig.labels!.formatter = value => numeral(value).format(formatString);\r\n }\r\n }\r\n else {\r\n if (dataType === \"number\") {\r\n yAxisConfig.labels!.formatter = value => numeral(value).format(\"0.00\"); // Default to formatting with two decimal places for numeric data with no format string.\r\n }\r\n }\r\n\r\n if (axisConfig.label) {\r\n if (axisConfig.label.text) {\r\n yAxisConfig.title!.text = axisConfig.label.text;\r\n }\r\n\r\n if (axisConfig.label.font) {\r\n if (axisConfig.label.font.size) {\r\n yAxisConfig.title!.style!.fontSize = axisConfig.label.font.size;\r\n }\r\n\r\n if (axisConfig.label.font.family) {\r\n yAxisConfig.title!.style!.fontFamily = axisConfig.label.font.family;\r\n }\r\n }\r\n }\r\n \r\n show = false;\r\n return yAxisConfig;\r\n });\r\n}\r\n\r\n//\r\n// Determine the Apex type to use for the x axis.\r\n//\r\nfunction determineXAxisType(inputChartDef: IChartDef): string {\r\n const dataType = inputChartDef.axisMap.x \r\n && inputChartDef.axisMap.x.series \r\n && inputChartDef.data.columns[inputChartDef.axisMap.x.series] \r\n || inputChartDef.data.index.type;\r\n if (dataType === \"date\") {\r\n return \"datetime\";\r\n }\r\n else if (dataType === \"number\") {\r\n return \"numeric\";\r\n }\r\n else {\r\n return \"category\";\r\n }\r\n}\r\n\r\n/**\r\n * Convert a data-forge-plot chart definition to an ApexCharts chart definition.\r\n */\r\nexport function formatChartDef(inputChartDef: IChartDef): ApexOptions {\r\n\r\n //todo: use the serialization library to deserialize the chart def here!\r\n\r\n const xaxisType = determineXAxisType(inputChartDef);\r\n const xaxis: ApexXAxis = {\r\n type: xaxisType as any, // The type in Apex is wrong. \"categories\" instead of \"category\".\r\n labels: {},\r\n title: {\r\n style: {\r\n\r\n },\r\n },\r\n };\r\n\r\n const xAxisFormatString = inputChartDef.plotConfig.x && inputChartDef.plotConfig.x.format;\r\n if (xAxisFormatString) {\r\n if (xaxisType === \"datetime\") {\r\n xaxis.labels!.formatter = value => dayjs(value).format(xAxisFormatString);\r\n }\r\n else if (xaxisType === \"numeric\") {\r\n xaxis.labels!.formatter = value => numeral(value).format(xAxisFormatString);\r\n }\r\n }\r\n else {\r\n if (xaxisType === \"numeric\") {\r\n xaxis.labels!.formatter = value => numeral(value).format(\"0.00\"); // Default to formatting with two decimal places for numeric data with no format string.\r\n }\r\n }\r\n\r\n if (inputChartDef.plotConfig.x) {\r\n if (inputChartDef.plotConfig.x.label) {\r\n if (inputChartDef.plotConfig.x.label.text) {\r\n xaxis.title!.text = inputChartDef.plotConfig.x.label.text;\r\n }\r\n\r\n if (inputChartDef.plotConfig.x.label.font) {\r\n if (inputChartDef.plotConfig.x.label.font.size) {\r\n xaxis.title!.style!.fontSize = inputChartDef.plotConfig.x.label.font.size;\r\n }\r\n \r\n if (inputChartDef.plotConfig.x.label.font.family) {\r\n (xaxis.title!.style! as any).fontFamily = inputChartDef.plotConfig.x.label.font.family; //TODO: Typecast to any due to missing TS types in ApexCharts.\r\n }\r\n }\r\n }\r\n }\r\n\r\n const yAxisSeries = extractSeries(inputChartDef.data, inputChartDef.axisMap.y, inputChartDef.axisMap.x)\r\n .concat(extractSeries(inputChartDef.data, inputChartDef.axisMap.y2, inputChartDef.axisMap.x));\r\n\r\n const yAxisConfig = extractYAxisConfiguration(inputChartDef.axisMap.y, inputChartDef.plotConfig.y || {}, false, inputChartDef.data)\r\n .concat(extractYAxisConfiguration(inputChartDef.axisMap.y2, inputChartDef.plotConfig.y2 || {}, true, inputChartDef.data));\r\n\r\n const dataLabels: ApexDataLabels = {\r\n enabled: false,\r\n style: {},\r\n };\r\n\r\n if (inputChartDef.plotConfig && inputChartDef.plotConfig.dataLabels) {\r\n dataLabels.enabled = true;\r\n\r\n if (inputChartDef.plotConfig.dataLabels.font) {\r\n if (inputChartDef.plotConfig.dataLabels.font.size) {\r\n dataLabels.style!.fontSize = inputChartDef.plotConfig.dataLabels.font.size;\r\n }\r\n\r\n if (inputChartDef.plotConfig.dataLabels.font.family) {\r\n dataLabels.style!.fontFamily = inputChartDef.plotConfig.dataLabels.font.family;\r\n }\r\n }\r\n }\r\n\r\n const legend: ApexLegend = {\r\n show: inputChartDef.plotConfig.legend && inputChartDef.plotConfig.legend.show !== undefined\r\n ? inputChartDef.plotConfig.legend.show\r\n : true,\r\n };\r\n\r\n if (inputChartDef.plotConfig && inputChartDef.plotConfig.legend) {\r\n if (inputChartDef.plotConfig.legend.font) {\r\n if (inputChartDef.plotConfig.legend.font.size) {\r\n legend.fontSize = inputChartDef.plotConfig.legend.font.size;\r\n }\r\n\r\n if (inputChartDef.plotConfig.legend.font.family) {\r\n legend.fontFamily = inputChartDef.plotConfig.legend.font.family;\r\n }\r\n }\r\n }\r\n\r\n return {\r\n chart: {\r\n type: inputChartDef.plotConfig.chartType,\r\n width: inputChartDef.plotConfig.width,\r\n height: inputChartDef.plotConfig.height,\r\n },\r\n stroke: {\r\n width: 1,\r\n },\r\n series: yAxisSeries,\r\n yaxis: yAxisConfig,\r\n xaxis,\r\n dataLabels,\r\n legend,\r\n };\r\n}\r\n","module.exports = require(\"apexcharts\");","module.exports = require(\"dayjs\");","module.exports = require(\"numeral\");"],"sourceRoot":""}
{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/index.ts","webpack:///./src/lib/format-chart-def.ts","webpack:///external \"apexcharts\"","webpack:///external \"dayjs\"","webpack:///external \"numeral\""],"names":[],"mappings":"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","file":"index.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"./src/index.ts\");\n","import { IChartDef } from \"@data-forge-plot/chart-def\";\r\nimport { formatChartDef } from \"./lib/format-chart-def\";\r\nexport { formatChartDef } from \"./lib/format-chart-def\";\r\nlet ApexCharts = require(\"apexcharts\");\r\nif (ApexCharts.default !== undefined) {\r\n ApexCharts = ApexCharts.default; // Bit of a hack here. It seems to be the only to get this work as a template and as a module.\r\n}\r\n\r\n//\r\n// Interface to control and configure a mounted chart.\r\n//\r\nexport interface IChart {\r\n\r\n //\r\n // Unmount the chart.\r\n //\r\n unmount(): void;\r\n\r\n //\r\n // Size the chart to fit its container.\r\n //\r\n sizeToFit(): void;\r\n}\r\n\r\n//\r\n// Wrapper for an ApexCharts chart.\r\n//\r\nclass ApexChart implements IChart {\r\n\r\n //\r\n // The ApexCharts chart object.\r\n //\r\n private chart?: ApexCharts;\r\n\r\n constructor(chart: ApexCharts) {\r\n this.chart = chart;\r\n }\r\n\r\n //\r\n // Unmount the chart.\r\n //\r\n public unmount(): void {\r\n if (this.chart) {\r\n this.chart.destroy();\r\n this.chart = undefined;\r\n }\r\n }\r\n\r\n //\r\n // Size the chart to fit its container.\r\n //\r\n public sizeToFit(): void {\r\n if (this.chart) {\r\n //todo: this.chart.resize();\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * Options to control how the chart is mounted.\r\n */\r\nexport interface IMountOptions {\r\n /**\r\n * Set to true to make the chart static.\r\n * The chart will have interactive features and animations disabled.\r\n */\r\n makeStatic?: boolean;\r\n\r\n /**\r\n * Debug log the chart definition after formatting.\r\n */\r\n showChartDef?: boolean;\r\n}\r\n\r\n//\r\n// Mount the chart on the DOM element.\r\n//\r\nexport async function mountChart(chartDef: IChartDef, domElement: HTMLElement, chartOptions?: IMountOptions): Promise<IChart> {\r\n const apexChartDef = formatChartDef(chartDef);\r\n if (!apexChartDef.chart) {\r\n apexChartDef.chart = {};\r\n }\r\n\r\n if (!apexChartDef.chart!.animations) {\r\n apexChartDef.chart!.animations = {};\r\n }\r\n\r\n if (!apexChartDef.tooltip) {\r\n apexChartDef.tooltip = {};\r\n }\r\n\r\n if (!apexChartDef.chart!.zoom) {\r\n apexChartDef.chart!.zoom = {};\r\n }\r\n\r\n if (!apexChartDef.chart!.toolbar) {\r\n apexChartDef.chart!.toolbar = {};\r\n }\r\n \r\n if (chartOptions && chartOptions.makeStatic) {\r\n apexChartDef.chart!.animations!.enabled = false;\r\n apexChartDef.tooltip!.enabled = false;\r\n apexChartDef.chart!.zoom!.enabled = false;\r\n apexChartDef.chart!.toolbar!.show = false;\r\n }\r\n else {\r\n apexChartDef.chart!.animations!.enabled = true;\r\n apexChartDef.tooltip!.enabled = true;\r\n apexChartDef.chart!.zoom!.enabled = true;\r\n apexChartDef.chart!.toolbar!.show = true;\r\n }\r\n\r\n if (chartOptions && chartOptions.showChartDef) {\r\n console.log(\"Formatted chart definition:\");\r\n console.log(JSON.stringify(apexChartDef, null, 4));\r\n }\r\n\r\n const apexChart = new ApexCharts(domElement, apexChartDef);\r\n await apexChart.render();\r\n return new ApexChart(apexChart);\r\n}","import { IChartDef, IAxisConfig, IYAxisConfig, ChartType, IAxisMap, IAxisSeriesConfig, IYAxisSeriesConfig } from \"@data-forge-plot/chart-def\";\r\nimport { ApexOptions } from \"apexcharts\";\r\nimport { ISerializedDataFrame } from \"@data-forge/serialization\";\r\nimport * as dayjs from \"dayjs\";\r\nimport * as numeral from \"numeral\";\r\n\r\n//\r\n// Pluck a single named series from chart data.\r\n//\r\nfunction pluckValues(columnName: string, values: any[]) {\r\n return values.map(row => row[columnName]);\r\n}\r\n\r\n//\r\n// Build a series for Apex cahrts.\r\n//\r\nfunction buildApexSeries(columnName: string, values: any[], indexValues: any[]) {\r\n return pluckValues(columnName, values)\r\n .map((yValue, index) => ({ x: indexValues[index], y: yValue }));\r\n}\r\n\r\n//\r\n// Extract series from the chart definition's data.\r\n//\r\nfunction extractSeries(data: ISerializedDataFrame, axises: IYAxisSeriesConfig[], xAxis?: IAxisSeriesConfig): ApexAxisChartSeries {\r\n return axises.map(seriesConfig => {\r\n const columnName = seriesConfig.series;\r\n const xAxisColumnName = seriesConfig.x && seriesConfig.x.series || xAxis && xAxis.series;\r\n const xAxisValues = xAxisColumnName ? pluckValues(xAxisColumnName, data.values) : data.index.values;\r\n return {\r\n name: columnName, \r\n data: buildApexSeries(columnName, data.values, xAxisValues),\r\n };\r\n });\r\n}\r\n\r\n//\r\n// Get the configuration Y axis for apex.\r\n//\r\nfunction extractYAxisConfiguration(seriesConfigs: IYAxisSeriesConfig[], axisConfig: IYAxisConfig, opposite: boolean, data: ISerializedDataFrame): ApexYAxis[] {\r\n let show: boolean = true;\r\n return seriesConfigs.map(seriesConfig => { \r\n const yAxisConfig: ApexYAxis = { \r\n opposite, \r\n show,\r\n min: axisConfig.min,\r\n max: axisConfig.max,\r\n labels: {\r\n style: {},\r\n },\r\n title: { \r\n style: {},\r\n },\r\n };\r\n\r\n const formatString = axisConfig.format;\r\n const columnName = seriesConfig.series;\r\n const dataType = data.columns[columnName];\r\n if (formatString) {\r\n if (dataType === \"date\") {\r\n yAxisConfig.labels!.formatter = value => dayjs(value).format(formatString);\r\n }\r\n else if (dataType === \"number\") {\r\n yAxisConfig.labels!.formatter = value => numeral(value).format(formatString);\r\n }\r\n }\r\n else {\r\n if (dataType === \"number\") {\r\n yAxisConfig.labels!.formatter = value => numeral(value).format(\"0.00\"); // Default to formatting with two decimal places for numeric data with no format string.\r\n }\r\n }\r\n\r\n if (axisConfig.label) {\r\n if (axisConfig.label.text) {\r\n yAxisConfig.title!.text = axisConfig.label.text;\r\n }\r\n\r\n if (axisConfig.label.font) {\r\n if (axisConfig.label.font.size) {\r\n yAxisConfig.title!.style!.fontSize = axisConfig.label.font.size;\r\n }\r\n\r\n if (axisConfig.label.font.family) {\r\n yAxisConfig.title!.style!.fontFamily = axisConfig.label.font.family;\r\n }\r\n }\r\n }\r\n\r\n if (axisConfig.ticks) {\r\n if (axisConfig.ticks.font) {\r\n if (axisConfig.ticks.font.size) {\r\n yAxisConfig.labels!.style!.fontSize = axisConfig.ticks.font.size;\r\n }\r\n\r\n if (axisConfig.ticks.font.family) {\r\n yAxisConfig.labels!.style!.fontFamily = axisConfig.ticks.font.family;\r\n }\r\n }\r\n }\r\n \r\n show = false;\r\n return yAxisConfig;\r\n });\r\n}\r\n\r\n//\r\n// Determine the Apex type to use for the x axis.\r\n//\r\nfunction determineXAxisType(inputChartDef: IChartDef): string {\r\n const dataType = inputChartDef.axisMap.x \r\n && inputChartDef.axisMap.x.series \r\n && inputChartDef.data.columns[inputChartDef.axisMap.x.series] \r\n || inputChartDef.data.index.type;\r\n if (dataType === \"date\") {\r\n return \"datetime\";\r\n }\r\n else if (dataType === \"number\") {\r\n return \"numeric\";\r\n }\r\n else {\r\n return \"category\";\r\n }\r\n}\r\n\r\n/**\r\n * Convert a data-forge-plot chart definition to an ApexCharts chart definition.\r\n */\r\nexport function formatChartDef(inputChartDef: IChartDef): ApexOptions {\r\n\r\n //todo: use the serialization library to deserialize the chart def here!\r\n\r\n const xaxisType = determineXAxisType(inputChartDef);\r\n const xaxis: ApexXAxis = {\r\n type: xaxisType as any, // The type in Apex is wrong. \"categories\" instead of \"category\".\r\n title: {\r\n style: {\r\n\r\n },\r\n },\r\n labels: {\r\n style: {\r\n\r\n },\r\n },\r\n };\r\n\r\n const xAxisFormatString = inputChartDef.plotConfig.x && inputChartDef.plotConfig.x.format;\r\n if (xAxisFormatString) {\r\n if (xaxisType === \"datetime\") {\r\n xaxis.labels!.formatter = value => dayjs(value).format(xAxisFormatString);\r\n }\r\n else if (xaxisType === \"numeric\") {\r\n xaxis.labels!.formatter = value => numeral(value).format(xAxisFormatString);\r\n }\r\n }\r\n else {\r\n if (xaxisType === \"numeric\") {\r\n xaxis.labels!.formatter = value => numeral(value).format(\"0.00\"); // Default to formatting with two decimal places for numeric data with no format string.\r\n }\r\n }\r\n\r\n if (inputChartDef.plotConfig.x) {\r\n if (inputChartDef.plotConfig.x.label) {\r\n if (inputChartDef.plotConfig.x.label.text) {\r\n xaxis.title!.text = inputChartDef.plotConfig.x.label.text;\r\n }\r\n\r\n if (inputChartDef.plotConfig.x.label.font) {\r\n if (inputChartDef.plotConfig.x.label.font.size) {\r\n xaxis.title!.style!.fontSize = inputChartDef.plotConfig.x.label.font.size;\r\n }\r\n \r\n if (inputChartDef.plotConfig.x.label.font.family) {\r\n (xaxis.title!.style! as any).fontFamily = inputChartDef.plotConfig.x.label.font.family; //TODO: Typecast to any due to missing TS types in ApexCharts.\r\n }\r\n }\r\n }\r\n\r\n if (inputChartDef.plotConfig.x.ticks) {\r\n if (inputChartDef.plotConfig.x.ticks.font) {\r\n if (inputChartDef.plotConfig.x.ticks.font.size) {\r\n xaxis.labels!.style!.fontSize = inputChartDef.plotConfig.x.ticks.font.size;\r\n }\r\n \r\n if (inputChartDef.plotConfig.x.ticks.font.family) {\r\n xaxis.labels!.style!.fontFamily = inputChartDef.plotConfig.x.ticks.font.family;\r\n }\r\n }\r\n }\r\n }\r\n\r\n const yAxisSeries = extractSeries(inputChartDef.data, inputChartDef.axisMap.y, inputChartDef.axisMap.x)\r\n .concat(extractSeries(inputChartDef.data, inputChartDef.axisMap.y2, inputChartDef.axisMap.x));\r\n\r\n const yAxisConfig = extractYAxisConfiguration(inputChartDef.axisMap.y, inputChartDef.plotConfig.y || {}, false, inputChartDef.data)\r\n .concat(extractYAxisConfiguration(inputChartDef.axisMap.y2, inputChartDef.plotConfig.y2 || {}, true, inputChartDef.data));\r\n\r\n const dataLabels: ApexDataLabels = {\r\n enabled: false,\r\n style: {},\r\n };\r\n\r\n if (inputChartDef.plotConfig && inputChartDef.plotConfig.dataLabels) {\r\n dataLabels.enabled = true;\r\n\r\n if (inputChartDef.plotConfig.dataLabels.font) {\r\n if (inputChartDef.plotConfig.dataLabels.font.size) {\r\n dataLabels.style!.fontSize = inputChartDef.plotConfig.dataLabels.font.size;\r\n }\r\n\r\n if (inputChartDef.plotConfig.dataLabels.font.family) {\r\n dataLabels.style!.fontFamily = inputChartDef.plotConfig.dataLabels.font.family;\r\n }\r\n }\r\n }\r\n\r\n const legend: ApexLegend = {\r\n show: inputChartDef.plotConfig.legend && inputChartDef.plotConfig.legend.show !== undefined\r\n ? inputChartDef.plotConfig.legend.show\r\n : true,\r\n };\r\n\r\n if (inputChartDef.plotConfig && inputChartDef.plotConfig.legend) {\r\n if (inputChartDef.plotConfig.legend.font) {\r\n if (inputChartDef.plotConfig.legend.font.size) {\r\n legend.fontSize = inputChartDef.plotConfig.legend.font.size;\r\n }\r\n\r\n if (inputChartDef.plotConfig.legend.font.family) {\r\n legend.fontFamily = inputChartDef.plotConfig.legend.font.family;\r\n }\r\n }\r\n }\r\n\r\n return {\r\n chart: {\r\n type: inputChartDef.plotConfig.chartType,\r\n width: inputChartDef.plotConfig.width,\r\n height: inputChartDef.plotConfig.height,\r\n },\r\n stroke: {\r\n width: 1,\r\n },\r\n series: yAxisSeries,\r\n yaxis: yAxisConfig,\r\n xaxis,\r\n dataLabels,\r\n legend,\r\n };\r\n}\r\n","module.exports = require(\"apexcharts\");","module.exports = require(\"dayjs\");","module.exports = require(\"numeral\");"],"sourceRoot":""}
{
"name": "@data-forge-plot/apex",
"version": "0.2.0",
"version": "0.2.1",
"description": "A plugin to Data-Forge Plot for plotting charts using ApexCharts.",

@@ -37,3 +37,3 @@ "main": "build/index.js",

"dependencies": {
"@data-forge-plot/chart-def": "^1.4.0",
"@data-forge-plot/chart-def": "^1.4.1",
"@data-forge/serialization": "^1.0.0",

@@ -40,0 +40,0 @@ "apexcharts": "^3.8.0",

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display