A simple ember component for adding Charts

Overview

Ember Chart

Build Status Ember Observer Score

This Ember CLI addon is a simple wrapper for ChartJS (v2.9).

Compatibility

  • Ember.js v3.12 or above
  • Ember CLI v2.13 or above
  • Node.js v10 or above

Installation

$ ember install ember-cli-chart

Usage

In your handlebars template just do:

{{ember-chart
  type=CHARTTYPE
  data=CHARTDATA
  options=CHARTOPTIONS
  width=CHARTWIDTH
  height=CHARTHEIGHT
  plugins=CHARTPLUGINS
  customLegendElement=CUSTOMLEGENDELEMENT
}}
  • CHARTTYPE: String; one of the following -- line, bar, radar, polarArea, pie or doughnut.
  • CHARTDATA: Array; refer to the ChartJS documentation
  • CHARTOPTIONS: Object; refer to the ChartJS documentation. This is optional.
  • CHARTWIDTH: Number; pixel width of the canvas element. Only applies if the chart is NOT responsive.
  • CHARTHEIGHT: Number; pixel height of the canvas element. Only applies if the chart is NOT responsive.
  • CHARTPLUGINS: Array; refer to ChartJS documentaion. This is optional.
  • CUSTOMLEGENDELEMENT: HTMLElement; A custom element to put a custom legend in, when using legendCallback. This is optional.

Example

{{ember-chart type='pie' data=model.chartData width=200 height=200}}

More Resources

Comments
  • Updating data & options

    Updating data & options

    So from what I've read, it seems with the use of chartjs 2.0+, chart.js should just automatically determine what data values have changed and then animate the change to those new values (rather than doing the entire initial load animation).

    Similarly, from chartjs 2.5+, the same should occur with options.

    Using ember-cli-charts with 3.3.0 should have both of these features since it uses chartjs 2.6.

    Due to this new feature, updating data/options in ember-cli-chart has been simplified down to essentially just

    chart.config.data = data;
    chart.config.options = options;
    chart.update();
    

    However, at least for me, it seems that it doesn't work at all. When some value in data changes, it replaces the entire chart.config.data with the new data which causes the animation to reload from the beginning (rather than just animating the changed value).

    Similarly, changing a single option and then replacing the entire chart.config.options actually doesn't seem to apply the new options at all.

    The following example snippets work though, if they are placed in the update chart function of ember-cli-chart instead of the existing chart.config.data = data; and chart.config.options = options; statements; Changing data (example, works)

    myChart.config.data.datasets[0].data = [36, 19, 3, 5, 2, 3];
    

    Changing options (example, works)

    myChart.config.options.legend = {
        display: true,
        position: 'bottom'
    };
    

    or

    myChart.config.options.legend.position = 'bottom';
    

    Am I missing something here? Is data/options changing working for anyone else without having to resort to modify the individual datasets/options?

    Thanks

    opened by Techn1x 14
  • Data reload

    Data reload

    I'm using 2.0.1 version of this addon and I'm having problems with data not being reflected in (bar)chart after change.

    1. I bind a propery with the data to the component.
    2. I change the data so that I remove "columns" from the data set and remove corresponding labels. Also because it's different data set, remaining columns values changes.
    3. The graph reflects new values - the bars re-renders with nice animation. Problem is that the graph never removes the columns for which I don't provide data anymore. It also never adds new columns if my dataset expands.

    Is this a bug or should I triger re-rendering somehow?

    opened by MichalBryxi 12
  • chartjs plugins

    chartjs plugins

    Sorry about the issue spam!

    I am looking to use some external plugins for chart.js (eg chartjs-plugin-annotation ), and it doesn't seem to be loading... is there something special I need to do to get chartjs plugins/addons working? Or is it more likely that I've implemented it wrong

    Essentially I just did an npm install chartjs-plugin-annotation --save-dev and then tried to use it, but nothing appears different on my charts.

    Thanks for the help

    opened by Techn1x 11
  • Production build of ember-cli-chart

    Production build of ember-cli-chart

    Hi everyone,

    Firstly, thanks for keeping this repo alive and up to date :)

    I've recently updated from 3.2.0 to 3.3.0 of ember-cli-chart, and while it all worked on my local dev machine as a dev build, when I do a production build, I get this error

    ReferenceError: Chart is not defined
        at a.didInsertElement (vendor-fc2065f….js:formatted:46192)
        at a.trigger (vendor-fc2065f….js:formatted:28417)
        at a.n [as trigger] (vendor-fc2065f….js:formatted:27745)
        at n.didCreate (vendor-fc2065f….js:formatted:18178)
        at e.commit (vendor-fc2065f….js:formatted:11801)
        at r.e.commit (vendor-fc2065f….js:formatted:11951)
        at r.commit (vendor-fc2065f….js:formatted:16914)
        at t.e._renderRoots (vendor-fc2065f….js:formatted:17779)
        at t.e._renderRootsTransaction (vendor-fc2065f….js:formatted:17793)
        at t.e._renderRoot (vendor-fc2065f….js:formatted:17754)
    

    Looks like it's not including charts.js when doing a prod build? The error occurs in the didInsertElement() in the ember-chart component, the specific line is here: https://github.com/aomran/ember-cli-chart/blob/master/addon/components/ember-chart.js#L14

    Or am I doing something incredibly dumb? Everything was working fine with 3.2.0...

    Thanks

    opened by Techn1x 11
  • Version 3

    Version 3

    • Upgrades ember-cli to v2.5
    • Upgrades chartjs to v.2.1.1
    • This requires a major version bump because chartjs made major changes to their api.
    • This version makes the addon a small wrapper for chartjs by removing code that was added to make legends and auto-updating work.
    opened by aomran 9
  • Chart.js v2 compatibility

    Chart.js v2 compatibility

    Are there any plans to make this addon compatible with the upcoming v2 release of Chart.js? I'm specifically looking forward to using their time-series charts.

    opened by Turbo87 9
  • Bar Charts not updating correctly on dataset change

    Bar Charts not updating correctly on dataset change

    Thanks for all the work on ember-cli-chart. I have an issue where we track interest payments over sets of years, with 2 data points: screen shot 2015-07-10 at 1 38 11 pm

    However, when the loan is paid off faster than 10 years, the chart should update. Here is the default behavior: screen shot 2015-07-10 at 11 44 39 am

    To solve this, I edited chart-data-updater to check to see if the bars length matched our new dataset length:

        if (chart.datasets.length !== datasets.length) {
          return this.set('redraw', true);
        } else if (chart.datasets[0].bars.length !== datasets[0].data.length) {
          return this.set('redraw', true);
        }
    

    Is there a better way to do this? Would it make sense to also confirm that the type is bar?

    opened by sbatson5 8
  • Legend

    Legend

    Can you add legend to the component

    import Ember from 'ember';
    /* global Chart */
    
    export default Ember.Component.extend({
      tagName: 'canvas',
      attributeBindings: ['width', 'height'],
    
      renderChart: function(){
        var context = this.get('element').getContext('2d');
        var data = this.get('data');
        var type = this.get('type').capitalize();
        var options = Ember.merge({}, this.get('options'));
    
        var chart = new Chart(context)[type](data, options);
    
        //************** LEGEND
        var legend = chart.generateLegend();
        this.$().parent().append(legend);
        //**************
    
        this.set('chart', chart);
      }.on('didInsertElement'),
    
      destroyChart: function(){
        this.get('chart').destroy();
      }.on('willDestroyElement'),
    
      updateChart: function(){
        this.destroyChart();
        this.renderChart();
      }.observes('data', 'options')
    });
    

    And the following css makes it look nice

    *[class$='-legend'] {
      list-style: none;
      position: absolute;
      right: 8px;
      top: 0;
    }
    *[class$='-legend'] li {
      display: block;
      padding-left: 30px;
      position: relative;
      margin-bottom: 4px;
      border-radius: 5px;
      padding: 2px 8px 2px 28px;
      font-size: 14px;
      cursor: default;
      -webkit-transition: background-color 200ms ease-in-out;
      -moz-transition: background-color 200ms ease-in-out;
      -o-transition: background-color 200ms ease-in-out;
      transition: background-color 200ms ease-in-out;
    }
    *[class$='-legend'] li:hover {
      background-color: #fafafa;
    }
    *[class$='-legend'] li span {
      display: block;
      position: absolute;
      left: 0;
      top: 0;
      width: 20px;
      height: 100%;
      border-radius: 5px;
    }
    
    opened by jackmatt2 7
  • Adding maintainers or transferring to adopted-ember-addons

    Adding maintainers or transferring to adopted-ember-addons

    Hi @aomran would you be open to giving some more maintainers access to this repo and npm and/or transferring to https://github.com/adopted-ember-addons?

    opened by rwwagner90 6
  • Build errors when using latest Ember and ember-cli-chart

    Build errors when using latest Ember and ember-cli-chart

    I am seeing the following build error when I use this add-on.

    Build failed.
    The Broccoli Plugin: [BroccoliMergeTrees: TreeMerger (vendor & appJS)] failed with:
    Error: ENOENT: no such file or directory, open 'C:\repos\ember-quickstart\tmp\source_map_concat-input_base_path-ECsfiHVC.tmp\C:\repos\ember-quickstart\node_modules\chart.js\dist\Chart.js'
        at Error (native)
        at Object.fs.openSync (fs.js:641:18)
        at Object.fs.readFileSync (fs.js:509:33)
        at SourceMap.addFile (C:\repos\ember-quickstart\node_modules\fast-sourcemap-concat\lib\source-map.js:75:31)
        at C:\repos\ember-quickstart\node_modules\broccoli-concat\concat.js:200:16
        at Array.forEach (native)
        at Concat.<anonymous> (C:\repos\ember-quickstart\node_modules\broccoli-concat\concat.js:198:24)
        at C:\repos\ember-quickstart\node_modules\fast-sourcemap-concat\lib\source-map.js:393:12
        at initializePromise (C:\repos\ember-quickstart\node_modules\rsvp\dist\rsvp.js:567:5)
        at new Promise (C:\repos\ember-quickstart\node_modules\rsvp\dist\rsvp.js:1039:33)
    
    The broccoli plugin was instantiated at:
        at BroccoliMergeTrees.Plugin (C:\repos\ember-quickstart\node_modules\broccoli-plugin\index.js:7:31)
        at new BroccoliMergeTrees (C:\repos\ember-quickstart\node_modules\ember-cli\node_modules\broccoli-merge-trees\index.js:16:10)
        at Function.BroccoliMergeTrees [as _upstreamMergeTrees] (C:\repos\ember-quickstart\node_modules\ember-cli\node_modules\broccoli-merge-trees\index.js:10:53)
        at mergeTrees (C:\repos\ember-quickstart\node_modules\ember-cli\lib\broccoli\merge-trees.js:85:33)
        at EmberApp._mergeTrees (C:\repos\ember-quickstart\node_modules\ember-cli\lib\broccoli\ember-app.js:1817:12)
        at EmberApp.javascript (C:\repos\ember-quickstart\node_modules\ember-cli\lib\broccoli\ember-app.js:1299:17)
        at EmberApp.toArray (C:\repos\ember-quickstart\node_modules\ember-cli\lib\broccoli\ember-app.js:1674:12)
        at EmberApp.toTree (C:\repos\ember-quickstart\node_modules\ember-cli\lib\broccoli\ember-app.js:1696:38)
        at module.exports (C:\repos\ember-quickstart\ember-cli-build.js:22:14)
        at Builder.setupBroccoliBuilder (C:\repos\ember-quickstart\node_modules\ember-cli\lib\models\builder.js:56:19)
    

    To verify my configuration I rolled back to the simple ember-quickstart app. Still repros. Any ideas what is going on here?

    Thanks in advance.

    opened by jdelliot 6
  • Adds support for automatically updating the chart when the type changes

    Adds support for automatically updating the chart when the type changes

    I found myself needing this for a project in which I'm using the ember-cli-chart library. It's great when you can create a chart using:

    {{ember-chart type=chartType data=chartData}}

    And have it automatically update when chartData changes. (Either due to an auto-update loop, or in response to user actions.) However, if one set of data is best viewed as a line chart and another set is better as a bar chart, it follows that changes to chartType should also trigger chart updates.

    See it in action: https://vid.me/3ab0

    opened by craigotis 6
  • Bump flat from 4.1.0 to 5.0.2

    Bump flat from 4.1.0 to 5.0.2

    Bumps flat from 4.1.0 to 5.0.2.

    Commits
    • e5ffd66 Release 5.0.2
    • fdb79d5 Update dependencies, refresh lockfile, format with standard.
    • e52185d Test against node 14 in CI.
    • 0189cb1 Avoid arrow function syntax.
    • f25d3a1 Release 5.0.1
    • 54cc7ad use standard formatting
    • 779816e drop dependencies
    • 2eea6d3 Bump lodash from 4.17.15 to 4.17.19
    • a61a554 Bump acorn from 7.1.0 to 7.4.0
    • 20ef0ef Fix prototype pollution on unflatten
    • Additional commits viewable in compare view
    Maintainer changes

    This version was pushed to npm by timoxley, a new releaser for flat since your current version.


    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • Bump express from 4.17.1 to 4.18.2

    Bump express from 4.17.1 to 4.18.2

    Bumps express from 4.17.1 to 4.18.2.

    Release notes

    Sourced from express's releases.

    4.18.2

    4.18.1

    • Fix hanging on large stack of sync routes

    4.18.0

    ... (truncated)

    Changelog

    Sourced from express's changelog.

    4.18.2 / 2022-10-08

    4.18.1 / 2022-04-29

    • Fix hanging on large stack of sync routes

    4.18.0 / 2022-04-25

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • Bump qs from 6.5.2 to 6.5.3

    Bump qs from 6.5.2 to 6.5.3

    Bumps qs from 6.5.2 to 6.5.3.

    Changelog

    Sourced from qs's changelog.

    6.5.3

    • [Fix] parse: ignore __proto__ keys (#428)
    • [Fix] utils.merge`: avoid a crash with a null target and a truthy non-array source
    • [Fix] correctly parse nested arrays
    • [Fix] stringify: fix a crash with strictNullHandling and a custom filter/serializeDate (#279)
    • [Fix] utils: merge: fix crash when source is a truthy primitive & no options are provided
    • [Fix] when parseArrays is false, properly handle keys ending in []
    • [Fix] fix for an impossible situation: when the formatter is called with a non-string value
    • [Fix] utils.merge: avoid a crash with a null target and an array source
    • [Refactor] utils: reduce observable [[Get]]s
    • [Refactor] use cached Array.isArray
    • [Refactor] stringify: Avoid arr = arr.concat(...), push to the existing instance (#269)
    • [Refactor] parse: only need to reassign the var once
    • [Robustness] stringify: avoid relying on a global undefined (#427)
    • [readme] remove travis badge; add github actions/codecov badges; update URLs
    • [Docs] Clean up license text so it’s properly detected as BSD-3-Clause
    • [Docs] Clarify the need for "arrayLimit" option
    • [meta] fix README.md (#399)
    • [meta] add FUNDING.yml
    • [actions] backport actions from main
    • [Tests] always use String(x) over x.toString()
    • [Tests] remove nonexistent tape option
    • [Dev Deps] backport from main
    Commits
    • 298bfa5 v6.5.3
    • ed0f5dc [Fix] parse: ignore __proto__ keys (#428)
    • 691e739 [Robustness] stringify: avoid relying on a global undefined (#427)
    • 1072d57 [readme] remove travis badge; add github actions/codecov badges; update URLs
    • 12ac1c4 [meta] fix README.md (#399)
    • 0338716 [actions] backport actions from main
    • 5639c20 Clean up license text so it’s properly detected as BSD-3-Clause
    • 51b8a0b add FUNDING.yml
    • 45f6759 [Fix] fix for an impossible situation: when the formatter is called with a no...
    • f814a7f [Dev Deps] backport from main
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • Bump decode-uri-component from 0.2.0 to 0.2.2

    Bump decode-uri-component from 0.2.0 to 0.2.2

    Bumps decode-uri-component from 0.2.0 to 0.2.2.

    Release notes

    Sourced from decode-uri-component's releases.

    v0.2.2

    • Prevent overwriting previously decoded tokens 980e0bf

    https://github.com/SamVerschueren/decode-uri-component/compare/v0.2.1...v0.2.2

    v0.2.1

    • Switch to GitHub workflows 76abc93
    • Fix issue where decode throws - fixes #6 746ca5d
    • Update license (#1) 486d7e2
    • Tidelift tasks a650457
    • Meta tweaks 66e1c28

    https://github.com/SamVerschueren/decode-uri-component/compare/v0.2.0...v0.2.1

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • Bump engine.io and socket.io

    Bump engine.io and socket.io

    Bumps engine.io and socket.io. These dependencies needed to be updated together. Updates engine.io from 3.4.2 to 3.6.1

    Release notes

    Sourced from engine.io's releases.

    3.6.1

    :warning: This release contains an important security fix :warning:

    A malicious client could send a specially crafted HTTP request, triggering an uncaught exception and killing the Node.js process:

    Error: read ECONNRESET
        at TCP.onStreamRead (internal/stream_base_commons.js:209:20)
    Emitted 'error' event on Socket instance at:
        at emitErrorNT (internal/streams/destroy.js:106:8)
        at emitErrorCloseNT (internal/streams/destroy.js:74:3)
        at processTicksAndRejections (internal/process/task_queues.js:80:21) {
      errno: -104,
      code: 'ECONNRESET',
      syscall: 'read'
    }
    

    Please upgrade as soon as possible.

    Bug Fixes

    • catch errors when destroying invalid upgrades (83c4071)

    3.6.0

    Bug Fixes

    • add extension in the package.json main entry (#608) (3ad0567)
    • do not reset the ping timer after upgrade (1f5d469)

    Features

    • decrease the default value of maxHttpBufferSize (58e274c)

    This change reduces the default value from 100 mb to a more sane 1 mb.

    This helps protect the server against denial of service attacks by malicious clients sending huge amounts of data.

    See also: https://github.com/advisories/GHSA-j4f2-536g-r55m

    • increase the default value of pingTimeout (f55a79a)

    Links

    ... (truncated)

    Changelog

    Sourced from engine.io's changelog.

    3.6.1 (2022-11-20)

    :warning: This release contains an important security fix :warning:

    A malicious client could send a specially crafted HTTP request, triggering an uncaught exception and killing the Node.js process:

    Error: read ECONNRESET
        at TCP.onStreamRead (internal/stream_base_commons.js:209:20)
    Emitted 'error' event on Socket instance at:
        at emitErrorNT (internal/streams/destroy.js:106:8)
        at emitErrorCloseNT (internal/streams/destroy.js:74:3)
        at processTicksAndRejections (internal/process/task_queues.js:80:21) {
      errno: -104,
      code: 'ECONNRESET',
      syscall: 'read'
    }
    

    Please upgrade as soon as possible.

    Bug Fixes

    • catch errors when destroying invalid upgrades (83c4071)

    6.2.1 (2022-11-20)

    :warning: This release contains an important security fix :warning:

    A malicious client could send a specially crafted HTTP request, triggering an uncaught exception and killing the Node.js process:

    Error: read ECONNRESET
        at TCP.onStreamRead (internal/stream_base_commons.js:209:20)
    Emitted 'error' event on Socket instance at:
        at emitErrorNT (internal/streams/destroy.js:106:8)
        at emitErrorCloseNT (internal/streams/destroy.js:74:3)
        at processTicksAndRejections (internal/process/task_queues.js:80:21) {
      errno: -104,
      code: 'ECONNRESET',
      syscall: 'read'
    }
    

    Please upgrade as soon as possible.

    Bug Fixes

    ... (truncated)

    Commits
    • 67a3a87 chore(release): 3.6.1
    • 83c4071 fix: catch errors when destroying invalid upgrades
    • f62f265 chore(release): 3.6.0
    • f55a79a feat: increase the default value of pingTimeout
    • 1f5d469 fix: do not reset the ping timer after upgrade
    • 3ad0567 fix: add extension in the package.json main entry (#608)
    • 58e274c feat: decrease the default value of maxHttpBufferSize
    • b9dee7b chore(release): 3.5.0
    • 19cc582 feat: add support for all cookie options
    • 5ad2736 feat: disable perMessageDeflate by default
    • Additional commits viewable in compare view

    Updates socket.io from 2.3.0 to 2.5.0

    Release notes

    Sourced from socket.io's releases.

    2.5.0

    :warning: WARNING :warning:

    The default value of the maxHttpBufferSize option has been decreased from 100 MB to 1 MB, in order to prevent attacks by denial of service.

    Security advisory: https://github.com/advisories/GHSA-j4f2-536g-r55m

    Bug Fixes

    • fix race condition in dynamic namespaces (05e1278)
    • ignore packet received after disconnection (22d4bdf)
    • only set 'connected' to true after middleware execution (226cc16)
    • prevent the socket from joining a room after disconnection (f223178)

    Links:

    2.4.1

    This release reverts the breaking change introduced in 2.4.0 (https://github.com/socketio/socket.io/commit/f78a575f66ab693c3ea96ea88429ddb1a44c86c7).

    If you are using Socket.IO v2, you should explicitly allow/disallow cross-origin requests:

    • without CORS (server and client are served from the same domain):
    const io = require("socket.io")(httpServer, {
      allowRequest: (req, callback) => {
        callback(null, req.headers.origin === undefined); // cross-origin requests will not be allowed
      }
    });
    
    • with CORS (server and client are served from distinct domains):
    io.origins(["http://localhost:3000"]); // for local development
    io.origins(["https://example.com"]);
    

    In any case, please consider upgrading to Socket.IO v3, where this security issue is now fixed (CORS is disabled by default).

    Reverts

    • fix(security): do not allow all origins by default (a169050)

    Links:

    ... (truncated)

    Changelog

    Sourced from socket.io's changelog.

    2.5.0 (2022-06-26)

    Bug Fixes

    • fix race condition in dynamic namespaces (05e1278)
    • ignore packet received after disconnection (22d4bdf)
    • only set 'connected' to true after middleware execution (226cc16)
    • prevent the socket from joining a room after disconnection (f223178)

    4.5.1 (2022-05-17)

    Bug Fixes

    • forward the local flag to the adapter when using fetchSockets() (30430f0)
    • typings: add HTTPS server to accepted types (#4351) (9b43c91)

    4.5.0 (2022-04-23)

    Bug Fixes

    • typings: ensure compatibility with TypeScript 3.x (#4259) (02c87a8)

    Features

    • add support for catch-all listeners for outgoing packets (531104d)

    This is similar to onAny(), but for outgoing packets.

    Syntax:

    socket.onAnyOutgoing((event, ...args) => {
      console.log(event);
    });
    
    • broadcast and expect multiple acks (8b20457)

    Syntax:

    io.timeout(1000).emit("some-event", (err, responses) => {
    </tr></table> 
    

    ... (truncated)

    Commits
    • baa6804 chore(release): 2.5.0
    • f223178 fix: prevent the socket from joining a room after disconnection
    • 226cc16 fix: only set 'connected' to true after middleware execution
    • 05e1278 fix: fix race condition in dynamic namespaces
    • 22d4bdf fix: ignore packet received after disconnection
    • dfded53 chore: update engine.io version to 3.6.0
    • e6b8697 chore(release): 2.4.1
    • a169050 revert: fix(security): do not allow all origins by default
    • 873fdc5 chore(release): 2.4.0
    • f78a575 fix(security): do not allow all origins by default
    • Additional commits viewable in compare view

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • Bump loader-utils from 1.4.0 to 1.4.2

    Bump loader-utils from 1.4.0 to 1.4.2

    Bumps loader-utils from 1.4.0 to 1.4.2.

    Release notes

    Sourced from loader-utils's releases.

    v1.4.2

    1.4.2 (2022-11-11)

    Bug Fixes

    v1.4.1

    1.4.1 (2022-11-07)

    Bug Fixes

    Changelog

    Sourced from loader-utils's changelog.

    1.4.2 (2022-11-11)

    Bug Fixes

    1.4.1 (2022-11-07)

    Bug Fixes

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
Releases(v3.7.2)
  • v3.7.2(Aug 6, 2020)

  • 3.7(Jul 16, 2020)

  • 3.6(Jan 15, 2020)

  • 3.5.0(Aug 3, 2019)

  • 3.4.1(Aug 3, 2019)

    thanks to @joostverdoorn for upgrading the addon to Chart.js 2.7.3 #102 thanks to @jandillmann for fixing the chat updating in 2.7.x #104 thanks to @bdavi for adding Chart.js plugin support #101

    Source code(tar.gz)
    Source code(zip)
  • 3.4.0(Oct 15, 2017)

  • 3.3.2(Aug 16, 2017)

  • 3.3.1(Aug 16, 2017)

    Ember-cli doesn't support loading dependencies from the node_modules folder. app.import only supports bower or vendor. Bower is being removed eventually from ember-cli so we're stuck with just the vendor option. See https://github.com/aomran/ember-cli-chart/pull/79

    Source code(tar.gz)
    Source code(zip)
  • 3.1.0(Apr 18, 2017)

    This version has been out for a while now on npm.

    • Upgrades ember-cli to v2.5
    • Upgrades chartjs to v.2.1.1
    • This requires a major version bump because chartjs made major changes to their api.
    • This version makes the addon a small wrapper for chartjs by removing code that was added to make legends and auto-updating work.
    Source code(tar.gz)
    Source code(zip)
  • v2.0.6(Mar 12, 2016)

  • v2.0.5(Aug 15, 2015)

  • v2.0.3(Jun 17, 2015)

  • v2.0.2(Jun 7, 2015)

    • upgrade the addon to use the latest Ember-CLI V0.2.7 and EmberJS 1.12
    • fix observer related bug in EmberJS 1.13 (Glimmer) https://github.com/aomra015/ember-cli-chart/issues/18
    • fix a bug when using the legend=true option and parent element being <html> https://github.com/aomra015/ember-cli-chart/issues/21
    Source code(tar.gz)
    Source code(zip)
  • v2.0.0(Mar 28, 2015)

    This version of the addon upgrades to the latest ember-cli and ember-js. There are also automated tests added and a lot of refactoring of the code.

    The addon can now be extended:

    // your-app/components/ember-chart.js
    import EmberChart from 'ember-cli-chart/components/ember-chart';
    
    export default EmberChart.extend({
      // do whatever you want here to change functionality
    });
    
    Source code(tar.gz)
    Source code(zip)
Smoothie Charts: smooooooth JavaScript charts for realtime streaming data

Smoothie Charts is a really small charting library designed for live streaming data. I built it to reduce the headaches I was getting from watching ch

Joe Walnes 2.2k Dec 13, 2022
Synchro Charts is a front-end component library that provides a collection of components to visualize time-series data.

Synchro Charts Synchro Charts is a front-end component library that provides a collection of components to visualize time-series data. You can learn m

Amazon Web Services - Labs 60 Dec 29, 2022
Simple HTML5 Charts using the tag

Simple yet flexible JavaScript charting for designers & developers Documentation Currently, there are two versions of the library (2.9.4 and 3.x.x). V

Chart.js 59.4k Jan 7, 2023
Simple responsive charts

Big welcome by the Chartist Guy Checkout the documentation site at http://gionkunz.github.io/chartist-js/ Checkout this lightning talk that gives you

Gion Kunz 26 Dec 30, 2022
Simple, responsive, modern SVG Charts with zero dependencies

Frappe Charts GitHub-inspired modern, intuitive and responsive charts with zero dependencies Explore Demos » Edit at CodePen » Contents Installation U

Frappe 14.6k Jan 4, 2023
Simple package to facilitate and automate the use of charts in Laravel 5.x using Chartjs v2 library

laravel-chartjs - Chart.js v2 wrapper for Laravel 5.x Simple package to facilitate and automate the use of charts in Laravel 5.x using the Chart.js v2

Felix Costa 473 Dec 15, 2022
A simple script for pure javascript charts.

MK Charts A simple pure Javascript for displaying circle charts. Demo: https://mkirschen.de/mk-scripts/mk-charts/ Circle charts To insert a chart all

Marcus Kirschen 6 Dec 14, 2022
📊 A highly interactive data-driven visualization grammar for statistical charts.

English | 简体中文 G2 A highly interactive data-driven visualization grammar for statistical charts. Website • Tutorial Docs • Blog • G2Plot G2 is a visua

AntV team 11.5k Dec 30, 2022
JavaScript diagramming library for interactive flowcharts, org charts, design tools, planning tools, visual languages.

GoJS, a JavaScript Library for HTML Diagrams GoJS is a JavaScript and TypeScript library for creating and manipulating diagrams, charts, and graphs. S

Northwoods Software Corporation 6.6k Dec 30, 2022
Attractive JavaScript charts for jQuery

flot About flot is a JavaScript plotting library for engineering and scientific applications derived from Flot: http://www.flotcharts.org/ Take a look

Flot 5.9k Dec 22, 2022
Progressive pie, donut, bar and line charts

Peity Peity (sounds like deity) is a jQuery plugin that converts an element's content into a mini <svg> pie, donut, line or bar chart. Basic Usage HTM

Ben Pickles 4.2k Jan 1, 2023
Charts for Raphaël

g.Raphaël - Official charting plugin for Raphaël For more information, see: http://g.raphaeljs.com/ Changelog v0.51 Fixed issues with piechart related

Dmitry Baranovskiy 1.5k Dec 31, 2022
A plugin for the jQuery javascript library to generate small sparkline charts directly in the browser

jQuery Sparklines This jQuery plugin makes it easy to generate a number of different types of sparklines directly in the browser, using online a line

Gareth Watts 1.2k Jan 4, 2023
Awesome charts for AngularJS.

n3-line-chart v2 n3-line-chart is an easy-to-use JavaScript library for creating beautiful charts in AngularJS applications and it is built on top of

null 1.2k Dec 7, 2022
Create beautiful charts with one line of JavaScript

Chartkick.js Create beautiful charts with one line of JavaScript See it in action Supports Chart.js, Google Charts, and Highcharts Also available for

Andrew Kane 1.2k Jan 2, 2023
A friendly reusable charts DSL for D3

D4 D4 is a friendly charting DSL for D3. The goal of D4 is to allow developers to quickly build data-driven charts with little knowledge of the intern

Mark Daggett 429 Dec 5, 2022
Reusable JavaScript library for creating sketchy/hand-drawn styled charts in the browser.

roughViz.js is a reusable JavaScript library for creating sketchy/hand-drawn styled charts in the browser, based on D3v5, roughjs, and handy. Why? Use

Jared Wilber 6.4k Jan 4, 2023
Financial lightweight charts built with HTML5 canvas

Lightweight Charts Demos | Documentation | Discord community TradingView Lightweight Charts are one of the smallest and fastest financial HTML5 charts

TradingView, Inc. 5.8k Jan 9, 2023
Create beautiful JavaScript charts with one line of React

React Chartkick Create beautiful JavaScript charts with one line of React See it in action Supports Chart.js, Google Charts, and Highcharts Quick Star

Andrew Kane 1.2k Dec 28, 2022