kurkle / chartjs-plugin-gradient

Easy gradients for Chart.js
MIT License
33 stars 6 forks source link

ReferenceError: CanvasGradient is not defined #33

Closed amitkumarhq closed 2 years ago

amitkumarhq commented 2 years ago

ReferenceError: CanvasGradient is not defined at isPatternOrGradient (F:\Code\Javascript\NodeJS\Discord Bot\node_modules\chart.js\dist\chart.js:750:57)
at Object.color (F:\Code\Javascript\NodeJS\Discord Bot\node_modules\chart.js\dist\chart.js:752:10) at addColors (F:\Code\Javascript\NodeJS\Discord Bot\node_modules\chartjs-plugin-gradient\dist\chartjs-plugin-gradient.js:244:33) at updateDataset (F:\Code\Javascript\NodeJS\Discord Bot\node_modules\chartjs-plugin-gradient\dist\chartjs-plugin-gradient.js:306:5) at Object.beforeDatasetsUpdate (F:\Code\Javascript\NodeJS\Discord Bot\node_modules\chartjs-plugin-gradient\dist\chartjs-plugin-gradient.js:334:9) at callback (F:\Code\Javascript\NodeJS\Discord Bot\node_modules\chart.js\dist\chart.js:800:15) at PluginService._notify (F:\Code\Javascript\NodeJS\Discord Bot\node_modules\chart.js\dist\chart.js:6187:11)
at PluginService.notify (F:\Code\Javascript\NodeJS\Discord Bot\node_modules\chart.js\dist\chart.js:6174:25)
at Chart.notifyPlugins (F:\Code\Javascript\NodeJS\Discord Bot\node_modules\chart.js\dist\chart.js:7312:26)
at Chart._updateDatasets (F:\Code\Javascript\NodeJS\Discord Bot\node_modules\chart.js\dist\chart.js:6981:14)
at Chart.update (F:\Code\Javascript\NodeJS\Discord Bot\node_modules\chart.js\dist\chart.js:6901:10) at new Chart (F:\Code\Javascript\NodeJS\Discord Bot\node_modules\chart.js\dist\chart.js:6667:12) at ChartJSNodeCanvas.renderChart (F:\Code\Javascript\NodeJS\Discord Bot\node_modules\chartjs-node-canvas\dist\index.js:196:23) at ChartJSNodeCanvas.renderToBuffer (F:\Code\Javascript\NodeJS\Discord Bot\node_modules\chartjs-node-canvas\dist\index.js:79:28) at Object.execute (F:\Code\Javascript\NodeJS\Discord Bot\Commands\Information\info.js:373:56) at processTicksAndRejections (node:internal/process/task_queues:96:5)

I'm using chartjs-node-canvas

stockiNail commented 2 years ago

@AmitKumarHQ the issue is in Chart.js helper.color.js:

const isPatternOrGradient = (value) => value instanceof CanvasGradient || value instanceof CanvasPattern;

Using chartjs-node-canvas you could not use the class reference because it emulates the canvas object. As did in another plugin (see here and here the fix), the fix will be to use toString instead of instanceof.

Could you open the issue in Chart.js repo?