Skip to content

Commit ea2944f

Browse files
authored
Merge pull request #69 from coreui/dev-v2-tooltips
feat: chart.js custom tooltips plugin
2 parents a44b204 + 0e28db8 commit ea2944f

File tree

3 files changed

+55
-7
lines changed

3 files changed

+55
-7
lines changed

package.json

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@coreui/coreui-free-react-admin-template",
3-
"version": "2.0.0-beta.1",
3+
"version": "2.0.0-beta.2",
44
"description": "CoreUI React Open Source Bootstrap 4 Admin Template",
55
"author": "Łukasz Holeczek",
66
"homepage": "https://coreui.io",
@@ -13,6 +13,7 @@
1313
},
1414
"dependencies": {
1515
"@coreui/coreui": "^2.0.0-beta.10",
16+
"@coreui/coreui-plugin-chartjs-custom-tooltips": "^1.2.0",
1617
"@coreui/react": "^2.0.0-beta.1",
1718
"bootstrap": "^4.1.0",
1819
"chart.js": "^2.7.2",

src/views/Charts/Charts.js

+12-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import React, { Component } from 'react';
22
import { Bar, Doughnut, Line, Pie, Polar, Radar } from 'react-chartjs-2';
33
import { Card, CardBody, CardColumns, CardHeader } from 'reactstrap';
4+
import { CustomTooltips } from '@coreui/coreui-plugin-chartjs-custom-tooltips';
45

56
const line = {
67
labels: ['January', 'February', 'March', 'April', 'May', 'June', 'July'],
@@ -142,6 +143,14 @@ const polar = {
142143
],
143144
};
144145

146+
const options = {
147+
tooltips: {
148+
enabled: false,
149+
custom: CustomTooltips
150+
},
151+
maintainAspectRatio: false
152+
}
153+
145154
class Charts extends Component {
146155
render() {
147156
return (
@@ -158,7 +167,7 @@ class Charts extends Component {
158167
</CardHeader>
159168
<CardBody>
160169
<div className="chart-wrapper">
161-
<Line data={line} options={{ maintainAspectRatio: false, }} />
170+
<Line data={line} options={options} />
162171
</div>
163172
</CardBody>
164173
</Card>
@@ -173,7 +182,7 @@ class Charts extends Component {
173182
</CardHeader>
174183
<CardBody>
175184
<div className="chart-wrapper">
176-
<Bar data={bar} options={{ maintainAspectRatio: false, }} />
185+
<Bar data={bar} options={options} />
177186
</div>
178187
</CardBody>
179188
</Card>
@@ -233,7 +242,7 @@ class Charts extends Component {
233242
</CardHeader>
234243
<CardBody>
235244
<div className="chart-wrapper">
236-
<Polar data={polar} />
245+
<Polar data={polar} options={options}/>
237246
</div>
238247
</CardBody>
239248
</Card>

src/views/Dashboard/Dashboard.js

+41-3
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ import {
2121
Table,
2222
} from 'reactstrap';
2323
import Widget03 from '../../views/Widgets/Widget03'
24+
import { CustomTooltips } from '@coreui/coreui-plugin-chartjs-custom-tooltips';
2425

2526
const brandPrimary = '#20a8d8';
2627
const brandSuccess = '#4dbd74';
@@ -42,6 +43,10 @@ const cardChartData1 = {
4243
};
4344

4445
const cardChartOpts1 = {
46+
tooltips: {
47+
enabled: false,
48+
custom: CustomTooltips
49+
},
4550
maintainAspectRatio: false,
4651
legend: {
4752
display: false,
@@ -78,8 +83,9 @@ const cardChartOpts1 = {
7883
hitRadius: 10,
7984
hoverRadius: 4,
8085
},
81-
},
82-
};
86+
}
87+
}
88+
8389

8490
// Card Chart 2
8591
const cardChartData2 = {
@@ -95,6 +101,10 @@ const cardChartData2 = {
95101
};
96102

97103
const cardChartOpts2 = {
104+
tooltips: {
105+
enabled: false,
106+
custom: CustomTooltips
107+
},
98108
maintainAspectRatio: false,
99109
legend: {
100110
display: false,
@@ -149,6 +159,10 @@ const cardChartData3 = {
149159
};
150160

151161
const cardChartOpts3 = {
162+
tooltips: {
163+
enabled: false,
164+
custom: CustomTooltips
165+
},
152166
maintainAspectRatio: false,
153167
legend: {
154168
display: false,
@@ -189,6 +203,10 @@ const cardChartData4 = {
189203
};
190204

191205
const cardChartOpts4 = {
206+
tooltips: {
207+
enabled: false,
208+
custom: CustomTooltips
209+
},
192210
maintainAspectRatio: false,
193211
legend: {
194212
display: false,
@@ -233,6 +251,10 @@ const makeSocialBoxData = (dataSetNo) => {
233251
};
234252

235253
const socialChartOpts = {
254+
tooltips: {
255+
enabled: false,
256+
custom: CustomTooltips
257+
},
236258
responsive: true,
237259
maintainAspectRatio: false,
238260
legend: {
@@ -303,6 +325,10 @@ const makeSparkLineData = (dataSetNo, variant) => {
303325
};
304326

305327
const sparklineChartOpts = {
328+
tooltips: {
329+
enabled: false,
330+
custom: CustomTooltips
331+
},
306332
responsive: true,
307333
maintainAspectRatio: true,
308334
scales: {
@@ -361,7 +387,7 @@ for (var i = 0; i <= elements; i++) {
361387
}
362388

363389
const mainChart = {
364-
labels: ['M', 'T', 'W', 'T', 'F', 'S', 'S', 'M', 'T', 'W', 'T', 'F', 'S', 'S', 'M', 'T', 'W', 'T', 'F', 'S', 'S', 'M', 'T', 'W', 'T', 'F', 'S', 'S'],
390+
labels: ['Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa', 'Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa', 'Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa', 'Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa', 'Su'],
365391
datasets: [
366392
{
367393
label: 'My First dataset',
@@ -392,6 +418,18 @@ const mainChart = {
392418
};
393419

394420
const mainChartOpts = {
421+
tooltips: {
422+
enabled: false,
423+
custom: CustomTooltips,
424+
intersect: true,
425+
mode: 'index',
426+
position: 'nearest',
427+
callbacks: {
428+
labelColor: function(tooltipItem, chart) {
429+
return { backgroundColor: chart.data.datasets[tooltipItem.datasetIndex].borderColor }
430+
}
431+
}
432+
},
395433
maintainAspectRatio: false,
396434
legend: {
397435
display: false,

0 commit comments

Comments
 (0)