patternplate-client
Version:
Universal javascript client application for patternplate
138 lines (104 loc) • 9.7 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = undefined;
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 _class, _class2, _temp2;
var _autobindDecorator = require('autobind-decorator');
var _autobindDecorator2 = _interopRequireDefault(_autobindDecorator);
var _classnames = require('classnames');
var _classnames2 = _interopRequireDefault(_classnames);
var _lodash = require('lodash');
var _queryString = require('query-string');
var _queryString2 = _interopRequireDefault(_queryString);
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var Handle = (0, _autobindDecorator2.default)(_class = (_temp2 = _class2 = function (_Component) {
(0, _inherits3.default)(Handle, _Component);
function Handle() {
var _ref;
var _temp, _this, _ret;
(0, _classCallCheck3.default)(this, Handle);
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
return _ret = (_temp = (_this = (0, _possibleConstructorReturn3.default)(this, (_ref = Handle.__proto__ || (0, _getPrototypeOf2.default)(Handle)).call.apply(_ref, [this].concat(args))), _this), _this.state = {
active: false
}, _temp), (0, _possibleConstructorReturn3.default)(_this, _ret);
}
(0, _createClass3.default)(Handle, [{
key: 'componentDidMount',
value: function componentDidMount() {
global.addEventListener('mousemove', this.handleGlobalMouseMove);
global.addEventListener('mouseup', this.handleGlobalMouseUp);
}
}, {
key: 'componentWillUnmount',
value: function componentWillUnmount() {
global.removeEventListener('mousemove', this.handleGlobalMouseMove);
global.removeEventListener('mouseup', this.handleGlobalMouseUp);
}
}, {
key: 'handleMouseDown',
value: function handleMouseDown(e) {
e.preventDefault();
this.setState({ active: true });
}
}, {
key: 'handleGlobalMouseMove',
value: function handleGlobalMouseMove(e) {
e.preventDefault();
if (this.state.active) {
this.props.onDrag(e);
}
}
}, {
key: 'handleGlobalMouseUp',
value: function handleGlobalMouseUp() {
if (this.state.active) {
this.setState({ active: false });
}
}
}, {
key: 'render',
value: function render() {
var props = this.props;
var style = { width: props.width, height: props.height };
var target = props.value ? props.pathname + '?' + _queryString2.default.stringify(props.query) : '';
var className = (0, _classnames2.default)('handle', props.className, {
'handle--active': this.state.active
});
return _react2.default.createElement(
'div',
{ className: className, style: style },
_react2.default.createElement(
'div',
{
className: 'handle__interaction',
onMouseDown: this.handleMouseDown
},
this.state.active && _react2.default.createElement('div', { className: 'handle__capture' })
)
);
}
}]);
return Handle;
}(_react.Component), _class2.defaultProps = {
onSubmit: _lodash.noop,
onClear: _lodash.noop,
onDrag: _lodash.noop
}, _temp2)) || _class;
exports.default = Handle;
module.exports = exports['default'];
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NvdXJjZS9hcHBsaWNhdGlvbi9jb21wb25lbnRzL2NvbW1vbi9mcmFtZS9oYW5kbGUuanMiXSwibmFtZXMiOlsiSGFuZGxlIiwic3RhdGUiLCJhY3RpdmUiLCJnbG9iYWwiLCJhZGRFdmVudExpc3RlbmVyIiwiaGFuZGxlR2xvYmFsTW91c2VNb3ZlIiwiaGFuZGxlR2xvYmFsTW91c2VVcCIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJlIiwicHJldmVudERlZmF1bHQiLCJzZXRTdGF0ZSIsInByb3BzIiwib25EcmFnIiwic3R5bGUiLCJ3aWR0aCIsImhlaWdodCIsInRhcmdldCIsInZhbHVlIiwicGF0aG5hbWUiLCJzdHJpbmdpZnkiLCJxdWVyeSIsImNsYXNzTmFtZSIsImhhbmRsZU1vdXNlRG93biIsImRlZmF1bHRQcm9wcyIsIm9uU3VibWl0Iiwib25DbGVhciJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7OztBQUNBOzs7O0FBQ0E7O0FBQ0E7Ozs7QUFDQTs7Ozs7O0lBR3FCQSxNOzs7Ozs7Ozs7Ozs7OzswTUFpQnBCQyxLLEdBQVE7QUFDUEMsV0FBUTtBQURELEc7Ozs7O3NDQUlZO0FBQ25CQyxVQUFPQyxnQkFBUCxDQUF3QixXQUF4QixFQUFxQyxLQUFLQyxxQkFBMUM7QUFDQUYsVUFBT0MsZ0JBQVAsQ0FBd0IsU0FBeEIsRUFBbUMsS0FBS0UsbUJBQXhDO0FBQ0E7Ozt5Q0FFc0I7QUFDdEJILFVBQU9JLG1CQUFQLENBQTJCLFdBQTNCLEVBQXdDLEtBQUtGLHFCQUE3QztBQUNBRixVQUFPSSxtQkFBUCxDQUEyQixTQUEzQixFQUFzQyxLQUFLRCxtQkFBM0M7QUFDQTs7O2tDQUVlRSxDLEVBQUc7QUFDbEJBLEtBQUVDLGNBQUY7QUFDQSxRQUFLQyxRQUFMLENBQWMsRUFBQ1IsUUFBUSxJQUFULEVBQWQ7QUFDQTs7O3dDQUVxQk0sQyxFQUFHO0FBQ3hCQSxLQUFFQyxjQUFGO0FBQ0EsT0FBSSxLQUFLUixLQUFMLENBQVdDLE1BQWYsRUFBdUI7QUFDdEIsU0FBS1MsS0FBTCxDQUFXQyxNQUFYLENBQWtCSixDQUFsQjtBQUNBO0FBQ0Q7Ozt3Q0FFcUI7QUFDckIsT0FBSSxLQUFLUCxLQUFMLENBQVdDLE1BQWYsRUFBdUI7QUFDdEIsU0FBS1EsUUFBTCxDQUFjLEVBQUNSLFFBQVEsS0FBVCxFQUFkO0FBQ0E7QUFDRDs7OzJCQUVRO0FBQUEsT0FDRFMsS0FEQyxHQUNRLElBRFIsQ0FDREEsS0FEQzs7QUFFUixPQUFNRSxRQUFRLEVBQUNDLE9BQU9ILE1BQU1HLEtBQWQsRUFBcUJDLFFBQVFKLE1BQU1JLE1BQW5DLEVBQWQ7O0FBRUEsT0FBTUMsU0FBU0wsTUFBTU0sS0FBTixHQUNYTixNQUFNTyxRQURLLFNBQ08sc0JBQVlDLFNBQVosQ0FBc0JSLE1BQU1TLEtBQTVCLENBRFAsS0FBZjs7QUFHQSxPQUFNQyxZQUFZLDBCQUFLLFFBQUwsRUFBZVYsTUFBTVUsU0FBckIsRUFBZ0M7QUFDakQsc0JBQWtCLEtBQUtwQixLQUFMLENBQVdDO0FBRG9CLElBQWhDLENBQWxCOztBQUlBLFVBQ0M7QUFBQTtBQUFBLE1BQUssV0FBV21CLFNBQWhCLEVBQTJCLE9BQU9SLEtBQWxDO0FBQ0M7QUFBQTtBQUFBO0FBQ0MsaUJBQVUscUJBRFg7QUFFQyxtQkFBYSxLQUFLUztBQUZuQjtBQUtFLFVBQUtyQixLQUFMLENBQVdDLE1BQVgsSUFDQyx1Q0FBSyxXQUFVLGlCQUFmO0FBTkg7QUFERCxJQUREO0FBa0NBOzs7NkJBbkZNcUIsWSxHQUFlO0FBQ3JCQyx1QkFEcUI7QUFFckJDLHNCQUZxQjtBQUdyQmI7QUFIcUIsQzs7a0JBWEZaLE0iLCJmaWxlIjoiaGFuZGxlLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGF1dG9iaW5kIGZyb20gJ2F1dG9iaW5kLWRlY29yYXRvcic7XG5pbXBvcnQgam9pbiBmcm9tICdjbGFzc25hbWVzJztcbmltcG9ydCB7bm9vcH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCBxdWVyeVN0cmluZyBmcm9tICdxdWVyeS1zdHJpbmcnO1xuaW1wb3J0IFJlYWN0LCB7Q29tcG9uZW50LCBQcm9wVHlwZXMgYXMgdH0gZnJvbSAncmVhY3QnO1xuXG5AYXV0b2JpbmRcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEhhbmRsZSBleHRlbmRzIENvbXBvbmVudCB7XG5cdHN0YXRpYyBwcm9wVHlwZXMgPSB7XG5cdFx0Y2xhc3NOYW1lOiB0LnN0cmluZyxcblx0XHRvbkNsZWFyOiB0LmZ1bmMuaXNSZXF1aXJlZCxcblx0XHRvbkRyYWc6IHQuZnVuYy5pc1JlcXVpcmVkLFxuXHRcdG9uU3VibWl0OiB0LmZ1bmMuaXNSZXF1aXJlZCxcblx0XHRwYXRobmFtZTogdC5zdHJpbmcsXG5cdFx0cXVlcnk6IHQub2JqZWN0LFxuXHRcdHZhbHVlOiB0LnN0cmluZ1xuXHR9XG5cblx0c3RhdGljIGRlZmF1bHRQcm9wcyA9IHtcblx0XHRvblN1Ym1pdDogbm9vcCxcblx0XHRvbkNsZWFyOiBub29wLFxuXHRcdG9uRHJhZzogbm9vcFxuXHR9O1xuXG5cdHN0YXRlID0ge1xuXHRcdGFjdGl2ZTogZmFsc2Vcblx0fTtcblxuXHRjb21wb25lbnREaWRNb3VudCgpIHtcblx0XHRnbG9iYWwuYWRkRXZlbnRMaXN0ZW5lcignbW91c2Vtb3ZlJywgdGhpcy5oYW5kbGVHbG9iYWxNb3VzZU1vdmUpO1xuXHRcdGdsb2JhbC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZXVwJywgdGhpcy5oYW5kbGVHbG9iYWxNb3VzZVVwKTtcblx0fVxuXG5cdGNvbXBvbmVudFdpbGxVbm1vdW50KCkge1xuXHRcdGdsb2JhbC5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZW1vdmUnLCB0aGlzLmhhbmRsZUdsb2JhbE1vdXNlTW92ZSk7XG5cdFx0Z2xvYmFsLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNldXAnLCB0aGlzLmhhbmRsZUdsb2JhbE1vdXNlVXApO1xuXHR9XG5cblx0aGFuZGxlTW91c2VEb3duKGUpIHtcblx0XHRlLnByZXZlbnREZWZhdWx0KCk7XG5cdFx0dGhpcy5zZXRTdGF0ZSh7YWN0aXZlOiB0cnVlfSk7XG5cdH1cblxuXHRoYW5kbGVHbG9iYWxNb3VzZU1vdmUoZSkge1xuXHRcdGUucHJldmVudERlZmF1bHQoKTtcblx0XHRpZiAodGhpcy5zdGF0ZS5hY3RpdmUpIHtcblx0XHRcdHRoaXMucHJvcHMub25EcmFnKGUpO1xuXHRcdH1cblx0fVxuXG5cdGhhbmRsZUdsb2JhbE1vdXNlVXAoKSB7XG5cdFx0aWYgKHRoaXMuc3RhdGUuYWN0aXZlKSB7XG5cdFx0XHR0aGlzLnNldFN0YXRlKHthY3RpdmU6IGZhbHNlfSk7XG5cdFx0fVxuXHR9XG5cblx0cmVuZGVyKCkge1xuXHRcdGNvbnN0IHtwcm9wc30gPSB0aGlzO1xuXHRcdGNvbnN0IHN0eWxlID0ge3dpZHRoOiBwcm9wcy53aWR0aCwgaGVpZ2h0OiBwcm9wcy5oZWlnaHR9O1xuXG5cdFx0Y29uc3QgdGFyZ2V0ID0gcHJvcHMudmFsdWUgP1xuXHRcdFx0YCR7cHJvcHMucGF0aG5hbWV9PyR7cXVlcnlTdHJpbmcuc3RyaW5naWZ5KHByb3BzLnF1ZXJ5KX1gIDogYGA7XG5cblx0XHRjb25zdCBjbGFzc05hbWUgPSBqb2luKCdoYW5kbGUnLCBwcm9wcy5jbGFzc05hbWUsIHtcblx0XHRcdCdoYW5kbGUtLWFjdGl2ZSc6IHRoaXMuc3RhdGUuYWN0aXZlXG5cdFx0fSk7XG5cblx0XHRyZXR1cm4gKFxuXHRcdFx0PGRpdiBjbGFzc05hbWU9e2NsYXNzTmFtZX0gc3R5bGU9e3N0eWxlfT5cblx0XHRcdFx0PGRpdlxuXHRcdFx0XHRcdGNsYXNzTmFtZT1cImhhbmRsZV9faW50ZXJhY3Rpb25cIlxuXHRcdFx0XHRcdG9uTW91c2VEb3duPXt0aGlzLmhhbmRsZU1vdXNlRG93bn1cblx0XHRcdFx0XHQ+XG5cdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0dGhpcy5zdGF0ZS5hY3RpdmUgJiZcblx0XHRcdFx0XHRcdFx0PGRpdiBjbGFzc05hbWU9XCJoYW5kbGVfX2NhcHR1cmVcIi8+XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0ey8qXG5cdFx0XHRcdFx0KCd2YWx1ZScgaW4gdGhpcy5wcm9wcykgJiZcblx0XHRcdFx0XHRcdDxmb3JtXG5cdFx0XHRcdFx0XHRcdGNsYXNzTmFtZT1cImhhbmRsZV9fdmFsdWVcIlxuXHRcdFx0XHRcdFx0XHRtZXRob2Q9XCJnZXRcIlxuXHRcdFx0XHRcdFx0XHR0YXJnZXQ9e3RhcmdldH1cblx0XHRcdFx0XHRcdFx0b25TdWJtaXQ9e3RoaXMucHJvcHMub25TdWJtaXR9XG5cdFx0XHRcdFx0XHRcdD5cblx0XHRcdFx0XHRcdFx0PGlucHV0XG5cdFx0XHRcdFx0XHRcdFx0Y2xhc3NOYW1lPVwiaGFuZGxlX19pbnB1dFwiXG5cdFx0XHRcdFx0XHRcdFx0dmFsdWU9e3RoaXMucHJvcHMudmFsdWV9XG5cdFx0XHRcdFx0XHRcdFx0Lz5cblx0XHRcdFx0XHRcdFx0PGJ1dHRvblxuXHRcdFx0XHRcdFx0XHRcdHR5cGU9XCJyZXNldFwiXG5cdFx0XHRcdFx0XHRcdFx0Y2xhc3NOYW1lPVwiaGFuZGxlX19jbGVhclwiXG5cdFx0XHRcdFx0XHRcdFx0b25DbGljaz17dGhpcy5wcm9wcy5vbkNsZWFyfVxuXHRcdFx0XHRcdFx0XHRcdD5cblx0XHRcdFx0XHRcdFx0XHRDbGVhclxuXHRcdFx0XHRcdFx0XHQ8L2J1dHRvbj5cblx0XHRcdFx0XHRcdDwvZm9ybT5cblx0XHRcdFx0Ki99XG5cdFx0XHQ8L2Rpdj5cblx0XHQpO1xuXHR9XG59XG4iXX0=
;