react-tm-nucleus
Version:
React statefull components for TM-Nucleus
115 lines (90 loc) • 3.95 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _objectWithoutProperties2 = require('babel-runtime/helpers/objectWithoutProperties');
var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);
var _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of');
var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
var _createClass2 = require('babel-runtime/helpers/createClass');
var _createClass3 = _interopRequireDefault(_createClass2);
var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
var _inherits2 = require('babel-runtime/helpers/inherits');
var _inherits3 = _interopRequireDefault(_inherits2);
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var CallbackBase = function (_React$Component) {
(0, _inherits3.default)(CallbackBase, _React$Component);
function CallbackBase(props) {
(0, _classCallCheck3.default)(this, CallbackBase);
var _this = (0, _possibleConstructorReturn3.default)(this, (0, _getPrototypeOf2.default)(CallbackBase).call(this, props));
_this._onClick = _this._onClick.bind(_this);
_this._onFocus = _this._onFocus.bind(_this);
_this._onBlur = _this._onBlur.bind(_this);
_this._onMouseEnter = _this._onMouseEnter.bind(_this);
_this._onMouseLeave = _this._onMouseLeave.bind(_this);
return _this;
}
(0, _createClass3.default)(CallbackBase, [{
key: '_onFocus',
value: function _onFocus(e) {
this.props.focusCallback();
}
}, {
key: '_onBlur',
value: function _onBlur(e) {
this.props.blurCallback();
}
}, {
key: '_onMouseEnter',
value: function _onMouseEnter(e) {
this.props.mouseEnterCallback();
}
}, {
key: '_onMouseLeave',
value: function _onMouseLeave(e) {
this.props.mouseLeaveCallback();
}
}, {
key: '_onClick',
value: function _onClick(e) {
this.props.clickCallback();
}
}, {
key: 'filterProps',
value: function filterProps(props) {
var clickCallback = props.clickCallback;
var focusCallback = props.focusCallback;
var blurCallback = props.blurCallback;
var mouseEnterCallback = props.mouseEnterCallback;
var mouseLeaveCallback = props.mouseLeaveCallback;
var other = (0, _objectWithoutProperties3.default)(props, ['clickCallback', 'focusCallback', 'blurCallback', 'mouseEnterCallback', 'mouseLeaveCallback']);
other.onClick = this._onClick;
other.onFocus = this._onFocus;
other.onBlur = this._onBlur;
other.onMouseEnter = this._onMouseEnter;
other.onMouseLeave = this._onMouseLeave;
return other;
}
}]);
return CallbackBase;
}(_react2.default.Component);
CallbackBase.propTypes = {
clickCallback: _react2.default.PropTypes.func,
focusCallback: _react2.default.PropTypes.func,
blurCallback: _react2.default.PropTypes.func,
mouseEnterCallback: _react2.default.PropTypes.func,
mouseLeaveCallback: _react2.default.PropTypes.func
};
CallbackBase.defaultProps = {
clickCallback: function clickCallback() {},
focusCallback: function focusCallback() {},
blurCallback: function blurCallback() {},
mouseEnterCallback: function mouseEnterCallback() {},
mouseLeaveCallback: function mouseLeaveCallback() {}
};
exports.default = CallbackBase;