Skip to content
This repository has been archived by the owner on Nov 26, 2022. It is now read-only.

Commit

Permalink
Merge pull request #53 from cstefanache/master
Browse files Browse the repository at this point in the history
Added click support on chart data
  • Loading branch information
carlcraig committed Jan 4, 2016
2 parents b9a430c + e24ca84 commit 8081ebf
Show file tree
Hide file tree
Showing 4 changed files with 46 additions and 6 deletions.
7 changes: 6 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ You will also want to give the chart some `data` and `options`. These can be pro
by assigning $scope variables to `chart-options` and `chart-data` attributes on the same canvas element.

```html
<canvas tc-chartjs-doughnut chart-data="myData" chart-options="myOptions" width="350" height="350"></canvas>
<canvas tc-chartjs-doughnut chart-data="myData" chart-options="myOptions" chart-click="onChartClick(data, event)" width="350" height="350"></canvas>
```
```javascript
$scope.myData = [
Expand All @@ -75,6 +75,11 @@ $scope.myData = [
$scope.myOptions = {
// Chart.js options can go here.
};

$scope.onChartClick = function (data, event) {
console.log(data, event);
};

```

Using the `tc-chartjs` directive
Expand Down
22 changes: 20 additions & 2 deletions dist/tc-angular-chartjs.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/**
* tc-angular-chartjs - v1.0.12 - 2015-07-08
* tc-angular-chartjs - v1.0.12 - 2015-12-30
* Copyright (c) 2015 Carl Craig <carlcraig.threeceestudios@gmail.com>
* Dual licensed with the Apache-2.0 or MIT license.
*/
Expand Down Expand Up @@ -43,7 +43,8 @@
options: "=chartOptions",
type: "@chartType",
legend: "=chartLegend",
chart: "=chart"
chart: "=chart",
click: "&chartClick"
},
link: link
};
Expand All @@ -69,6 +70,23 @@
chartObj.destroy();
}
});
if ($scope.click) {
0;
$elem[0].onclick = function(evt) {
var segment;
if (chartObj.getSegmentsAtEvent !== undefined) {
segment = chartObj.getSegmentsAtEvent(evt);
} else if (chartObj.getPointsAtEvent !== undefined) {
segment = chartObj.getPointsAtEvent(evt);
} else if (chartObj.getBarsAtEvent !== undefined) {
segment = chartObj.getBarsAtEvent(evt);
}
$scope.click({
data: segment,
event: evt
});
};
}
$scope.$watch("data", function(value) {
if (value) {
if (chartObj) {
Expand Down
4 changes: 2 additions & 2 deletions dist/tc-angular-chartjs.min.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

19 changes: 18 additions & 1 deletion src/tc-angular-chartjs.js
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,8 @@
options: '=chartOptions',
type: '@chartType',
legend: '=chartLegend',
chart: '=chart'
chart: '=chart',
click: '&chartClick'
},
link: link
};
Expand Down Expand Up @@ -87,6 +88,22 @@
}
});

if ($scope.click) {
$elem[0].onclick = function (evt) {
var segment;

if (chartObj.getSegmentsAtEvent !== undefined) {
segment = chartObj.getSegmentsAtEvent(evt);
} else if (chartObj.getPointsAtEvent !== undefined) {
segment = chartObj.getPointsAtEvent(evt);
} else if (chartObj.getBarsAtEvent !== undefined) {
segment = chartObj.getBarsAtEvent(evt);
}

$scope.click({data: segment, event: evt});
};
}

$scope.$watch(
'data',
function ( value ) {
Expand Down

0 comments on commit 8081ebf

Please sign in to comment.