• This repository has been archived on 21/Jan/2022
  • Stars
    star
    204
  • Rank 192,063 (Top 4 %)
  • Language
    JavaScript
  • License
    MIT License
  • Created about 10 years ago
  • Updated almost 3 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Angular directive for Chartist.js

angular-chartist.js

Angular 1.x directive for Chartist.js

Looking for the Angular version?

Installation

Current

npm install angular-chartist.js chartist angular --save
yarn add angular-chartist.js chartist angular

Next

npm install angular-chartist.js@next chartist angular --save
yarn add angular-chartist.js@next chartist angular

Usage

Make sure you have loaded the necessary scripts in the correct order. Add angular-chartist as a module dependency, like so:

// >= 4.1
import angular from 'angular';
import angularChartist from 'angular-chartist.js';

angular.module('app', [angularChartist]);

In your HTML, add the chartist directive to any div or make it a custom element:

<chartist
  class="ct-chart"
  chartist-data="chartist.barData"
  chartist-chart-type="Bar"
></chartist>
Attribute Type Required
chartist-data Object Yes
chartist-chart-type String Yes
chartist-events* Object No
chartist-chart-options Object No
chartist-responsive-options Array No

Format for Chartist events:

{
  event: function eventHandler(obj) {
    // do stuff on event
  }
}

For the sorts of values these options accept, check out the Chartist.js docs

Using Plugins

Simply put the plugins array in the options object.

Example:

$scope.chartOptions = {
  plugins: [
    Chartist.plugins.ctPointLabels({
      textAnchor: 'middle'
    })
  ]
};

Issues?

This directive is simply a wrapper, anything you pass to the directive gets passed right through to the appropriate method on the Chartist side. Any issues with the charts, data, options, etc, should be filed against Chartist.js

Feel free to file an issue / PR if you feel that the directive can be improved in some way though.