Skip to content

Commit bd11d27

Browse files
authored
Merge pull request #14 from gor181/chart-instance-#3
Chart instance close #3
2 parents 092ca5e + 0e4e6a7 commit bd11d27

File tree

6 files changed

+480
-74
lines changed

6 files changed

+480
-74
lines changed

README.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,20 @@ import {Doughnut} from 'react-chartjs-2';
4545
* redraw: PropTypes.bool,
4646
* width: PropTypes.number
4747

48+
### Chart instance
49+
Chart instance can be accessed by placing a ref to the element as:
50+
51+
```
52+
render() {
53+
componentDidMount() {
54+
console.log(this.refs.chart.chart_instance); // returns a Chart.js instance reference
55+
}
56+
return (
57+
<Doughnut ref='chart' data={data} />
58+
)
59+
}
60+
```
61+
4862
### Events
4963

5064
#### onElementsClick (function)

dist/react-chartjs-2.js

Lines changed: 197 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -6,18 +6,18 @@ Object.defineProperty(exports, '__esModule', {
66
value: true
77
});
88

9-
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
9+
var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();
1010

11-
exports.Doughnut = Doughnut;
12-
exports.Pie = Pie;
13-
exports.Line = Line;
14-
exports.Bar = Bar;
15-
exports.HorizontalBar = HorizontalBar;
16-
exports.Radar = Radar;
17-
exports.Polar = Polar;
11+
var _get = function get(_x, _x2, _x3) { var _again = true; _function: while (_again) { var object = _x, property = _x2, receiver = _x3; _again = false; if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { _x = parent; _x2 = property; _x3 = receiver; _again = true; desc = parent = undefined; continue _function; } } else if ('value' in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } } };
12+
13+
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
1814

1915
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
2016

17+
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }
18+
19+
function _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
20+
2121
var _react = (typeof window !== "undefined" ? window['React'] : typeof global !== "undefined" ? global['React'] : null);
2222

2323
var _react2 = _interopRequireDefault(_react);
@@ -156,33 +156,201 @@ var ChartComponent = _react2['default'].createClass({
156156

157157
exports['default'] = ChartComponent;
158158

159-
function Doughnut(props) {
160-
return _react2['default'].createElement(ChartComponent, _extends({}, props, { type: 'doughnut' }));
161-
}
159+
var Doughnut = (function (_React$Component) {
160+
_inherits(Doughnut, _React$Component);
161+
162+
function Doughnut() {
163+
_classCallCheck(this, Doughnut);
164+
165+
_get(Object.getPrototypeOf(Doughnut.prototype), 'constructor', this).apply(this, arguments);
166+
}
167+
168+
_createClass(Doughnut, [{
169+
key: 'render',
170+
value: function render() {
171+
var _this = this;
172+
173+
return _react2['default'].createElement(ChartComponent, _extends({}, this.props, {
174+
ref: function (ref) {
175+
return _this.chart_instance = ref && ref.chart_instance;
176+
},
177+
type: 'doughnut'
178+
}));
179+
}
180+
}]);
181+
182+
return Doughnut;
183+
})(_react2['default'].Component);
184+
185+
exports.Doughnut = Doughnut;
186+
187+
var Pie = (function (_React$Component2) {
188+
_inherits(Pie, _React$Component2);
189+
190+
function Pie() {
191+
_classCallCheck(this, Pie);
192+
193+
_get(Object.getPrototypeOf(Pie.prototype), 'constructor', this).apply(this, arguments);
194+
}
195+
196+
_createClass(Pie, [{
197+
key: 'render',
198+
value: function render() {
199+
var _this2 = this;
200+
201+
return _react2['default'].createElement(ChartComponent, _extends({}, this.props, {
202+
ref: function (ref) {
203+
return _this2.chart_instance = ref && ref.chart_instance;
204+
},
205+
type: 'pie'
206+
}));
207+
}
208+
}]);
209+
210+
return Pie;
211+
})(_react2['default'].Component);
212+
213+
exports.Pie = Pie;
214+
215+
var Line = (function (_React$Component3) {
216+
_inherits(Line, _React$Component3);
217+
218+
function Line() {
219+
_classCallCheck(this, Line);
220+
221+
_get(Object.getPrototypeOf(Line.prototype), 'constructor', this).apply(this, arguments);
222+
}
223+
224+
_createClass(Line, [{
225+
key: 'render',
226+
value: function render() {
227+
var _this3 = this;
228+
229+
return _react2['default'].createElement(ChartComponent, _extends({}, this.props, {
230+
ref: function (ref) {
231+
return _this3.chart_instance = ref && ref.chart_instance;
232+
},
233+
type: 'line'
234+
}));
235+
}
236+
}]);
237+
238+
return Line;
239+
})(_react2['default'].Component);
240+
241+
exports.Line = Line;
242+
243+
var Bar = (function (_React$Component4) {
244+
_inherits(Bar, _React$Component4);
245+
246+
function Bar() {
247+
_classCallCheck(this, Bar);
248+
249+
_get(Object.getPrototypeOf(Bar.prototype), 'constructor', this).apply(this, arguments);
250+
}
251+
252+
_createClass(Bar, [{
253+
key: 'render',
254+
value: function render() {
255+
var _this4 = this;
256+
257+
return _react2['default'].createElement(ChartComponent, _extends({}, this.props, {
258+
ref: function (ref) {
259+
return _this4.chart_instance = ref && ref.chart_instance;
260+
},
261+
type: 'bar'
262+
}));
263+
}
264+
}]);
265+
266+
return Bar;
267+
})(_react2['default'].Component);
268+
269+
exports.Bar = Bar;
270+
271+
var HorizontalBar = (function (_React$Component5) {
272+
_inherits(HorizontalBar, _React$Component5);
273+
274+
function HorizontalBar() {
275+
_classCallCheck(this, HorizontalBar);
276+
277+
_get(Object.getPrototypeOf(HorizontalBar.prototype), 'constructor', this).apply(this, arguments);
278+
}
162279

163-
function Pie(props) {
164-
return _react2['default'].createElement(ChartComponent, _extends({}, props, { type: 'pie' }));
165-
}
280+
_createClass(HorizontalBar, [{
281+
key: 'render',
282+
value: function render() {
283+
var _this5 = this;
284+
285+
return _react2['default'].createElement(ChartComponent, _extends({}, this.props, {
286+
ref: function (ref) {
287+
return _this5.chart_instance = ref && ref.chart_instance;
288+
},
289+
type: 'horizontalBar'
290+
}));
291+
}
292+
}]);
293+
294+
return HorizontalBar;
295+
})(_react2['default'].Component);
166296

167-
function Line(props) {
168-
return _react2['default'].createElement(ChartComponent, _extends({}, props, { type: 'line' }));
169-
}
297+
exports.HorizontalBar = HorizontalBar;
170298

171-
function Bar(props) {
172-
return _react2['default'].createElement(ChartComponent, _extends({}, props, { type: 'bar' }));
173-
}
299+
var Radar = (function (_React$Component6) {
300+
_inherits(Radar, _React$Component6);
174301

175-
function HorizontalBar(props) {
176-
return _react2['default'].createElement(ChartComponent, _extends({}, props, { type: 'horizontalBar' }));
177-
}
302+
function Radar() {
303+
_classCallCheck(this, Radar);
304+
305+
_get(Object.getPrototypeOf(Radar.prototype), 'constructor', this).apply(this, arguments);
306+
}
178307

179-
function Radar(props) {
180-
return _react2['default'].createElement(ChartComponent, _extends({}, props, { type: 'radar' }));
181-
}
308+
_createClass(Radar, [{
309+
key: 'render',
310+
value: function render() {
311+
var _this6 = this;
312+
313+
return _react2['default'].createElement(ChartComponent, _extends({}, this.props, {
314+
ref: function (ref) {
315+
return _this6.chart_instance = ref && ref.chart_instance;
316+
},
317+
type: 'radar'
318+
}));
319+
}
320+
}]);
321+
322+
return Radar;
323+
})(_react2['default'].Component);
324+
325+
exports.Radar = Radar;
182326

183-
function Polar(props) {
184-
return _react2['default'].createElement(ChartComponent, _extends({}, props, { type: 'polarArea' }));
185-
}
327+
var Polar = (function (_React$Component7) {
328+
_inherits(Polar, _React$Component7);
329+
330+
function Polar() {
331+
_classCallCheck(this, Polar);
332+
333+
_get(Object.getPrototypeOf(Polar.prototype), 'constructor', this).apply(this, arguments);
334+
}
335+
336+
_createClass(Polar, [{
337+
key: 'render',
338+
value: function render() {
339+
var _this7 = this;
340+
341+
return _react2['default'].createElement(ChartComponent, _extends({}, this.props, {
342+
ref: function (ref) {
343+
return _this7.chart_instance = ref && ref.chart_instance;
344+
},
345+
type: 'polarArea'
346+
}));
347+
}
348+
}]);
349+
350+
return Polar;
351+
})(_react2['default'].Component);
352+
353+
exports.Polar = Polar;
186354

187355
}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
188356
},{"./utils/deepEqual":2,"chart.js":undefined,"react-dom":undefined}],2:[function(require,module,exports){

0 commit comments

Comments
 (0)