diff --git a/CHANGELOG.md b/CHANGELOG.md index 9254b1bb..485bbc8e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,11 @@ +# 4.0.3 + +_Fixes:_ + +- Fixed the warning message when the the default `resources.json` file is not found. +- Fixed the problem with the lack of the `instr` value, when the `options` is set instead. +- Corrected the `Node.js Module` example in the README. + # 4.0.2 _Hotfix_: diff --git a/README.md b/README.md index effeb48f..7c2a83d8 100644 --- a/README.md +++ b/README.md @@ -568,20 +568,24 @@ const options = { } }; -// Initialize export settings with your chart's config -const exportSettings = exporter.setOptions(options); -// Must initialize exporting before being able to export charts -await exporter.initExport(exportSettings); +// Logic must be triggered in an asynchronous function +(async () => { + // Initialize export settings with your chart's config + const exportSettings = exporter.setOptions(options); -// Perform an export -await exporter.startExport(exportSettings, async (error, info) => { - // The export result is now in info - // It will be base64 encoded (info.data) + // Must initialize exporting before being able to export charts + await exporter.initExport(exportSettings); - // Kill the pool when we are done with it - await exporter.killPool(); -}); + // Perform an export + await exporter.startExport(exportSettings, async (error, info) => { + // The export result is now in info + // It will be base64 encoded (info.result) + + // Kill the pool when we are done with it + await exporter.killPool(); + }); +})(); ``` ## CommonJS support diff --git a/lib/chart.js b/lib/chart.js index 47b28f8d..731d2c7a 100644 --- a/lib/chart.js +++ b/lib/chart.js @@ -97,6 +97,9 @@ export const startExport = async (settings, endCallback) => { try { log(4, '[chart] Attempting to export from a raw input.'); + // Use whichever one is available + exportOptions.instr = exportOptions.instr || exportOptions.options; + // Perform a direct inject when forced if (toBoolean(options.customLogic?.allowCodeExecution)) { return doStraightInject(options, endCallback); @@ -321,11 +324,7 @@ const doExport = async (options, chartJson, endCallback, svg) => { toBoolean(options.customLogic.allowFileResources) ); } catch (error) { - logWithStack( - 2, - error, - `[chart] Unable to load the default resources.json file.` - ); + log(2, `[chart] Unable to load the default resources.json file.`); } } } diff --git a/lib/highcharts.js b/lib/highcharts.js index e82a2213..5e4b1df6 100644 --- a/lib/highcharts.js +++ b/lib/highcharts.js @@ -95,7 +95,7 @@ export async function triggerExport(chartOptions, options, displayErrors) { const userOptions = options.export.strInj ? new Function(`return ${options.export.strInj}`)() : chartOptions; - + // Trigger custom code if (options.customLogic.customCode) { new Function('options', options.customLogic.customCode)(userOptions);