Skip to content

Commit 277ecf8

Browse files
committed
Revert JedWatson#64 and use findDOMNode to get the component reference
1 parent 14500eb commit 277ecf8

File tree

5 files changed

+13
-41
lines changed

5 files changed

+13
-41
lines changed

dist/react-hammerjs.es.js

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import PropTypes from 'prop-types';
22
import React from 'react';
3+
import { findDOMNode } from 'react-dom';
34

45
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; }; }();
56

@@ -117,7 +118,7 @@ var HammerComponent = function (_React$Component) {
117118
_createClass(HammerComponent, [{
118119
key: 'componentDidMount',
119120
value: function componentDidMount() {
120-
this.hammer = new Hammer(this.domElement);
121+
this.hammer = new Hammer(findDOMNode(this));
121122
updateHammer(this.hammer, this.props);
122123
}
123124
}, {
@@ -147,14 +148,6 @@ var HammerComponent = function (_React$Component) {
147148
}
148149
}, this);
149150

150-
var self = this;
151-
props.ref = function (domElement) {
152-
if (self.props.ref) {
153-
self.props.ref(domElement);
154-
}
155-
self.domElement = domElement;
156-
};
157-
158151
// Reuse the child provided
159152
// This makes it flexible to use whatever element is wanted (div, ul, etc)
160153
return React.cloneElement(React.Children.only(this.props.children), props);

dist/react-hammerjs.js

Lines changed: 5 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
(function (global, factory) {
2-
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('prop-types'), require('react')) :
3-
typeof define === 'function' && define.amd ? define(['prop-types', 'react'], factory) :
4-
(global.Hammer = factory(global.PropTypes,global.React));
5-
}(this, (function (PropTypes,React) { 'use strict';
2+
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('prop-types'), require('react'), require('react-dom')) :
3+
typeof define === 'function' && define.amd ? define(['prop-types', 'react', 'react-dom'], factory) :
4+
(global.Hammer = factory(global.PropTypes,global.React,global.ReactDOM));
5+
}(this, (function (PropTypes,React,reactDom) { 'use strict';
66

77
PropTypes = PropTypes && PropTypes.hasOwnProperty('default') ? PropTypes['default'] : PropTypes;
88
React = React && React.hasOwnProperty('default') ? React['default'] : React;
@@ -123,7 +123,7 @@ var HammerComponent = function (_React$Component) {
123123
_createClass(HammerComponent, [{
124124
key: 'componentDidMount',
125125
value: function componentDidMount() {
126-
this.hammer = new Hammer(this.domElement);
126+
this.hammer = new Hammer(reactDom.findDOMNode(this));
127127
updateHammer(this.hammer, this.props);
128128
}
129129
}, {
@@ -153,14 +153,6 @@ var HammerComponent = function (_React$Component) {
153153
}
154154
}, this);
155155

156-
var self = this;
157-
props.ref = function (domElement) {
158-
if (self.props.ref) {
159-
self.props.ref(domElement);
160-
}
161-
self.domElement = domElement;
162-
};
163-
164156
// Reuse the child provided
165157
// This makes it flexible to use whatever element is wanted (div, ul, etc)
166158
return React.cloneElement(React.Children.only(this.props.children), props);

dist/react-hammerjs.min.js

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

lib/Hammer.js

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@ var _react = require('react');
1414

1515
var _react2 = _interopRequireDefault(_react);
1616

17+
var _reactDom = require('react-dom');
18+
1719
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
1820

1921
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
@@ -130,7 +132,7 @@ var HammerComponent = function (_React$Component) {
130132
_createClass(HammerComponent, [{
131133
key: 'componentDidMount',
132134
value: function componentDidMount() {
133-
this.hammer = new Hammer(this.domElement);
135+
this.hammer = new Hammer((0, _reactDom.findDOMNode)(this));
134136
updateHammer(this.hammer, this.props);
135137
}
136138
}, {
@@ -160,14 +162,6 @@ var HammerComponent = function (_React$Component) {
160162
}
161163
}, this);
162164

163-
var self = this;
164-
props.ref = function (domElement) {
165-
if (self.props.ref) {
166-
self.props.ref(domElement);
167-
}
168-
self.domElement = domElement;
169-
};
170-
171165
// Reuse the child provided
172166
// This makes it flexible to use whatever element is wanted (div, ul, etc)
173167
return _react2.default.cloneElement(_react2.default.Children.only(this.props.children), props);

src/Hammer.js

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import PropTypes from 'prop-types';
22
import React from 'react';
3+
import { findDOMNode } from 'react-dom'
34

45
// require('hammerjs') when in a browser. This is safe because Hammer is only
56
// invoked in componentDidMount, which is not executed on the server.
@@ -109,7 +110,7 @@ export default class HammerComponent extends React.Component {
109110
};
110111

111112
componentDidMount() {
112-
this.hammer = new Hammer(this.domElement);
113+
this.hammer = new Hammer(findDOMNode(this));
113114
updateHammer(this.hammer, this.props);
114115
}
115116

@@ -136,14 +137,6 @@ export default class HammerComponent extends React.Component {
136137
}
137138
}, this);
138139

139-
var self = this;
140-
props.ref = function(domElement) {
141-
if (self.props.ref) {
142-
self.props.ref(domElement);
143-
}
144-
self.domElement = domElement;
145-
};
146-
147140
// Reuse the child provided
148141
// This makes it flexible to use whatever element is wanted (div, ul, etc)
149142
return React.cloneElement(React.Children.only(this.props.children), props);

0 commit comments

Comments
 (0)