Skip to content

Commit 7b286bb

Browse files
committed
fix(example): 'made dev' works again, small fixes.
Install react, so 'make dev' will launch the example. Fix issue #328 - use for loop instead of iterator, for IE. Fix issue #341 - propagate 'id' to the wrapper element, for assessibility.
1 parent 6f615d5 commit 7b286bb

File tree

7 files changed

+58
-65
lines changed

7 files changed

+58
-65
lines changed

example/src/index.js

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
'use strict'
22

3-
import React, { Component } from 'react'
4-
import {render, findDOMNode} from 'react-dom'
3+
import React from 'react'
4+
import ReactDOM from 'react-dom'
55
import ReactTooltip from '../../src'
66

7-
class Test extends Component {
7+
class Test extends React.Component {
88
constructor(props) {
99
super(props);
1010
this.state = {
@@ -157,8 +157,8 @@ class Test extends Component {
157157
<ReactTooltip id='custom-off-event'/>
158158
{/*
159159
<div>
160-
<button onClick={() => { ReactTooltip.show(findDOMNode(this.refs.target)) }}>Show toolip</button>
161-
<button onClick={() => { ReactTooltip.hide(findDOMNode(this.refs.target)) }}>Hide toolip</button>
160+
<button onClick={() => { ReactTooltip.show(ReactDOM.findDOMNode(this.refs.target)) }}>Show toolip</button>
161+
<button onClick={() => { ReactTooltip.hide(ReactDOM.findDOMNode(this.refs.target)) }}>Hide toolip</button>
162162
</div>
163163
*/}
164164
</div>
@@ -252,4 +252,4 @@ class Test extends Component {
252252
}
253253
}
254254

255-
render(<Test />, document.getElementById('main'))
255+
ReactDOM.render(<Test />, document.getElementById('main'))

package-lock.json

Lines changed: 25 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "react-tooltip",
3-
"version": "3.4.1",
3+
"version": "3.4.2",
44
"description": "react tooltip component",
55
"main": "dist/index.js",
66
"scripts": {
@@ -73,6 +73,8 @@
7373
"jsdom": "^9.2.1",
7474
"mocha": "^2.5.3",
7575
"node-sass": "^3.7.0",
76+
"react": "^16.1.1",
77+
"react-dom": "^16.1.1",
7678
"react-addons-test-utils": "^15.1.0",
7779
"sinon": "^1.17.4",
7880
"snazzy": "^2.0.1",

src/decorators/trackRemoval.js

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,10 @@ export default function (target) {
2020
if (MutationObserver == null) return
2121

2222
const observer = new MutationObserver((mutations) => {
23-
for (const mutation of mutations) {
24-
for (const element of mutation.removedNodes) {
23+
for (let m1 = 0; m1 < mutations.length; m1++) {
24+
const mutation = mutations[m1]
25+
for (let m2 = 0; m2 < mutation.removedNodes.length; m2++) {
26+
const element = mutation.removedNodes[m2]
2527
if (element === this.state.currentTarget) {
2628
this.hideTooltip()
2729
return

src/index.js

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
'use strict'
22

3-
import React, { Component } from 'react'
3+
import React from 'react'
44
import PropTypes from 'prop-types'
55
import ReactDOM from 'react-dom'
66
import classname from 'classnames'
@@ -28,7 +28,7 @@ import cssStyle from './style'
2828
@isCapture
2929
@getEffect
3030
@trackRemoval
31-
class ReactTooltip extends Component {
31+
class ReactTooltip extends React.Component {
3232

3333
static propTypes = {
3434
children: PropTypes.any,
@@ -450,13 +450,15 @@ class ReactTooltip extends Component {
450450
if (html) {
451451
return (
452452
<Wrapper className={`${tooltipClass} ${extraClass}`}
453+
id={this.props.id}
453454
{...ariaProps}
454455
data-id='tooltip'
455456
dangerouslySetInnerHTML={{__html: placeholder}}/>
456457
)
457458
} else {
458459
return (
459460
<Wrapper className={`${tooltipClass} ${extraClass}`}
461+
id={this.props.id}
460462
{...ariaProps}
461463
data-id='tooltip'>{placeholder}</Wrapper>
462464
)

standalone/react-tooltip.js

Lines changed: 14 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -1427,52 +1427,13 @@ exports.default = function (target) {
14271427
if (MutationObserver == null) return;
14281428

14291429
var observer = new MutationObserver(function (mutations) {
1430-
var _iteratorNormalCompletion = true;
1431-
var _didIteratorError = false;
1432-
var _iteratorError = undefined;
1433-
1434-
try {
1435-
for (var _iterator = mutations[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
1436-
var mutation = _step.value;
1437-
var _iteratorNormalCompletion2 = true;
1438-
var _didIteratorError2 = false;
1439-
var _iteratorError2 = undefined;
1440-
1441-
try {
1442-
for (var _iterator2 = mutation.removedNodes[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
1443-
var element = _step2.value;
1444-
1445-
if (element === _this.state.currentTarget) {
1446-
_this.hideTooltip();
1447-
return;
1448-
}
1449-
}
1450-
} catch (err) {
1451-
_didIteratorError2 = true;
1452-
_iteratorError2 = err;
1453-
} finally {
1454-
try {
1455-
if (!_iteratorNormalCompletion2 && _iterator2.return) {
1456-
_iterator2.return();
1457-
}
1458-
} finally {
1459-
if (_didIteratorError2) {
1460-
throw _iteratorError2;
1461-
}
1462-
}
1463-
}
1464-
}
1465-
} catch (err) {
1466-
_didIteratorError = true;
1467-
_iteratorError = err;
1468-
} finally {
1469-
try {
1470-
if (!_iteratorNormalCompletion && _iterator.return) {
1471-
_iterator.return();
1472-
}
1473-
} finally {
1474-
if (_didIteratorError) {
1475-
throw _iteratorError;
1430+
for (var m1 = 0; m1 < mutations.length; m1++) {
1431+
var mutation = mutations[m1];
1432+
for (var m2 = 0; m2 < mutation.removedNodes.length; m2++) {
1433+
var element = mutation.removedNodes[m2];
1434+
if (element === _this.state.currentTarget) {
1435+
_this.hideTooltip();
1436+
return;
14761437
}
14771438
}
14781439
}
@@ -1640,8 +1601,8 @@ function _possibleConstructorReturn(self, call) { if (!self) { throw new Referen
16401601

16411602
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; }
16421603

1643-
var ReactTooltip = (0, _staticMethods2.default)(_class = (0, _windowListener2.default)(_class = (0, _customEvent2.default)(_class = (0, _isCapture2.default)(_class = (0, _getEffect2.default)(_class = (0, _trackRemoval2.default)(_class = (_temp = _class2 = function (_Component) {
1644-
_inherits(ReactTooltip, _Component);
1604+
var ReactTooltip = (0, _staticMethods2.default)(_class = (0, _windowListener2.default)(_class = (0, _customEvent2.default)(_class = (0, _isCapture2.default)(_class = (0, _getEffect2.default)(_class = (0, _trackRemoval2.default)(_class = (_temp = _class2 = function (_React$Component) {
1605+
_inherits(ReactTooltip, _React$Component);
16451606

16461607
function ReactTooltip(props) {
16471608
_classCallCheck(this, ReactTooltip);
@@ -2097,14 +2058,16 @@ var ReactTooltip = (0, _staticMethods2.default)(_class = (0, _windowListener2.de
20972058
}
20982059

20992060
if (html) {
2100-
return _react2.default.createElement(Wrapper, _extends({ className: tooltipClass + ' ' + extraClass
2061+
return _react2.default.createElement(Wrapper, _extends({ className: tooltipClass + ' ' + extraClass,
2062+
id: this.props.id
21012063
}, ariaProps, {
21022064
'data-id': 'tooltip',
21032065
dangerouslySetInnerHTML: { __html: placeholder } }));
21042066
} else {
21052067
return _react2.default.createElement(
21062068
Wrapper,
2107-
_extends({ className: tooltipClass + ' ' + extraClass
2069+
_extends({ className: tooltipClass + ' ' + extraClass,
2070+
id: this.props.id
21082071
}, ariaProps, {
21092072
'data-id': 'tooltip' }),
21102073
placeholder
@@ -2114,7 +2077,7 @@ var ReactTooltip = (0, _staticMethods2.default)(_class = (0, _windowListener2.de
21142077
}]);
21152078

21162079
return ReactTooltip;
2117-
}(_react.Component), _class2.propTypes = {
2080+
}(_react2.default.Component), _class2.propTypes = {
21182081
children: _propTypes2.default.any,
21192082
place: _propTypes2.default.string,
21202083
type: _propTypes2.default.string,

standalone/react-tooltip.min.js

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)