UNPKG

matrix-react-sdk

Version:
59 lines (56 loc) 7.09 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _react = _interopRequireDefault(require("react")); /* Copyright 2024 New Vector Ltd. Copyright 2020 The Matrix.org Foundation C.I.C. SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only Please see LICENSE files in the repository root for full details. */ class Draggable extends _react.default.Component { constructor(props) { super(props); (0, _defineProperty2.default)(this, "onMouseDown", event => { this.setState({ location: { currentX: event.clientX, currentY: event.clientY } }); document.addEventListener("mousemove", this.state.onMouseMove); document.addEventListener("mouseup", this.state.onMouseUp); }); (0, _defineProperty2.default)(this, "onMouseUp", event => { document.removeEventListener("mousemove", this.state.onMouseMove); document.removeEventListener("mouseup", this.state.onMouseUp); this.props.onMouseUp(event); }); this.state = { onMouseMove: this.onMouseMove.bind(this), onMouseUp: this.onMouseUp.bind(this), location: { currentX: 0, currentY: 0 } }; } onMouseMove(event) { const newLocation = this.props.dragFunc(this.state.location, event); this.setState({ location: newLocation }); } render() { return /*#__PURE__*/_react.default.createElement("div", { className: this.props.className, onMouseDown: this.onMouseDown }); } } exports.default = Draggable; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIkRyYWdnYWJsZSIsIlJlYWN0IiwiQ29tcG9uZW50IiwiY29uc3RydWN0b3IiLCJwcm9wcyIsIl9kZWZpbmVQcm9wZXJ0eTIiLCJkZWZhdWx0IiwiZXZlbnQiLCJzZXRTdGF0ZSIsImxvY2F0aW9uIiwiY3VycmVudFgiLCJjbGllbnRYIiwiY3VycmVudFkiLCJjbGllbnRZIiwiZG9jdW1lbnQiLCJhZGRFdmVudExpc3RlbmVyIiwic3RhdGUiLCJvbk1vdXNlTW92ZSIsIm9uTW91c2VVcCIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJiaW5kIiwibmV3TG9jYXRpb24iLCJkcmFnRnVuYyIsInJlbmRlciIsImNyZWF0ZUVsZW1lbnQiLCJjbGFzc05hbWUiLCJvbk1vdXNlRG93biIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy92aWV3cy9lbGVtZW50cy9EcmFnZ2FibGUudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIwIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seVxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbmltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIjtcblxuaW50ZXJmYWNlIElQcm9wcyB7XG4gICAgY2xhc3NOYW1lOiBzdHJpbmc7XG4gICAgZHJhZ0Z1bmM6IChjdXJyZW50TG9jYXRpb246IElMb2NhdGlvblN0YXRlLCBldmVudDogTW91c2VFdmVudCkgPT4gSUxvY2F0aW9uU3RhdGU7XG4gICAgb25Nb3VzZVVwOiAoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHZvaWQ7XG59XG5cbmludGVyZmFjZSBJU3RhdGUge1xuICAgIG9uTW91c2VNb3ZlOiAoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHZvaWQ7XG4gICAgb25Nb3VzZVVwOiAoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHZvaWQ7XG4gICAgbG9jYXRpb246IElMb2NhdGlvblN0YXRlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElMb2NhdGlvblN0YXRlIHtcbiAgICBjdXJyZW50WDogbnVtYmVyO1xuICAgIGN1cnJlbnRZOiBudW1iZXI7XG59XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIERyYWdnYWJsZSBleHRlbmRzIFJlYWN0LkNvbXBvbmVudDxJUHJvcHMsIElTdGF0ZT4ge1xuICAgIHB1YmxpYyBjb25zdHJ1Y3Rvcihwcm9wczogSVByb3BzKSB7XG4gICAgICAgIHN1cGVyKHByb3BzKTtcblxuICAgICAgICB0aGlzLnN0YXRlID0ge1xuICAgICAgICAgICAgb25Nb3VzZU1vdmU6IHRoaXMub25Nb3VzZU1vdmUuYmluZCh0aGlzKSxcbiAgICAgICAgICAgIG9uTW91c2VVcDogdGhpcy5vbk1vdXNlVXAuYmluZCh0aGlzKSxcbiAgICAgICAgICAgIGxvY2F0aW9uOiB7XG4gICAgICAgICAgICAgICAgY3VycmVudFg6IDAsXG4gICAgICAgICAgICAgICAgY3VycmVudFk6IDAsXG4gICAgICAgICAgICB9LFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIHByaXZhdGUgb25Nb3VzZURvd24gPSAoZXZlbnQ6IFJlYWN0Lk1vdXNlRXZlbnQpOiB2b2lkID0+IHtcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgICAgICBsb2NhdGlvbjoge1xuICAgICAgICAgICAgICAgIGN1cnJlbnRYOiBldmVudC5jbGllbnRYLFxuICAgICAgICAgICAgICAgIGN1cnJlbnRZOiBldmVudC5jbGllbnRZLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcIm1vdXNlbW92ZVwiLCB0aGlzLnN0YXRlLm9uTW91c2VNb3ZlKTtcbiAgICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcIm1vdXNldXBcIiwgdGhpcy5zdGF0ZS5vbk1vdXNlVXApO1xuICAgIH07XG5cbiAgICBwcml2YXRlIG9uTW91c2VVcCA9IChldmVudDogTW91c2VFdmVudCk6IHZvaWQgPT4ge1xuICAgICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKFwibW91c2Vtb3ZlXCIsIHRoaXMuc3RhdGUub25Nb3VzZU1vdmUpO1xuICAgICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKFwibW91c2V1cFwiLCB0aGlzLnN0YXRlLm9uTW91c2VVcCk7XG4gICAgICAgIHRoaXMucHJvcHMub25Nb3VzZVVwKGV2ZW50KTtcbiAgICB9O1xuXG4gICAgcHJpdmF0ZSBvbk1vdXNlTW92ZShldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgICAgICBjb25zdCBuZXdMb2NhdGlvbiA9IHRoaXMucHJvcHMuZHJhZ0Z1bmModGhpcy5zdGF0ZS5sb2NhdGlvbiwgZXZlbnQpO1xuXG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICAgICAgbG9jYXRpb246IG5ld0xvY2F0aW9uLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVuZGVyKCk6IFJlYWN0LlJlYWN0Tm9kZSB7XG4gICAgICAgIHJldHVybiA8ZGl2IGNsYXNzTmFtZT17dGhpcy5wcm9wcy5jbGFzc05hbWV9IG9uTW91c2VEb3duPXt0aGlzLm9uTW91c2VEb3dufSAvPjtcbiAgICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBUUEsSUFBQUEsTUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBUkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBcUJlLE1BQU1DLFNBQVMsU0FBU0MsY0FBSyxDQUFDQyxTQUFTLENBQWlCO0VBQzVEQyxXQUFXQSxDQUFDQyxLQUFhLEVBQUU7SUFDOUIsS0FBSyxDQUFDQSxLQUFLLENBQUM7SUFBQyxJQUFBQyxnQkFBQSxDQUFBQyxPQUFBLHVCQVlNQyxLQUF1QixJQUFXO01BQ3JELElBQUksQ0FBQ0MsUUFBUSxDQUFDO1FBQ1ZDLFFBQVEsRUFBRTtVQUNOQyxRQUFRLEVBQUVILEtBQUssQ0FBQ0ksT0FBTztVQUN2QkMsUUFBUSxFQUFFTCxLQUFLLENBQUNNO1FBQ3BCO01BQ0osQ0FBQyxDQUFDO01BRUZDLFFBQVEsQ0FBQ0MsZ0JBQWdCLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQ0MsS0FBSyxDQUFDQyxXQUFXLENBQUM7TUFDOURILFFBQVEsQ0FBQ0MsZ0JBQWdCLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQ0MsS0FBSyxDQUFDRSxTQUFTLENBQUM7SUFDOUQsQ0FBQztJQUFBLElBQUFiLGdCQUFBLENBQUFDLE9BQUEscUJBRW9CQyxLQUFpQixJQUFXO01BQzdDTyxRQUFRLENBQUNLLG1CQUFtQixDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUNILEtBQUssQ0FBQ0MsV0FBVyxDQUFDO01BQ2pFSCxRQUFRLENBQUNLLG1CQUFtQixDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUNILEtBQUssQ0FBQ0UsU0FBUyxDQUFDO01BQzdELElBQUksQ0FBQ2QsS0FBSyxDQUFDYyxTQUFTLENBQUNYLEtBQUssQ0FBQztJQUMvQixDQUFDO0lBMUJHLElBQUksQ0FBQ1MsS0FBSyxHQUFHO01BQ1RDLFdBQVcsRUFBRSxJQUFJLENBQUNBLFdBQVcsQ0FBQ0csSUFBSSxDQUFDLElBQUksQ0FBQztNQUN4Q0YsU0FBUyxFQUFFLElBQUksQ0FBQ0EsU0FBUyxDQUFDRSxJQUFJLENBQUMsSUFBSSxDQUFDO01BQ3BDWCxRQUFRLEVBQUU7UUFDTkMsUUFBUSxFQUFFLENBQUM7UUFDWEUsUUFBUSxFQUFFO01BQ2Q7SUFDSixDQUFDO0VBQ0w7RUFvQlFLLFdBQVdBLENBQUNWLEtBQWlCLEVBQVE7SUFDekMsTUFBTWMsV0FBVyxHQUFHLElBQUksQ0FBQ2pCLEtBQUssQ0FBQ2tCLFFBQVEsQ0FBQyxJQUFJLENBQUNOLEtBQUssQ0FBQ1AsUUFBUSxFQUFFRixLQUFLLENBQUM7SUFFbkUsSUFBSSxDQUFDQyxRQUFRLENBQUM7TUFDVkMsUUFBUSxFQUFFWTtJQUNkLENBQUMsQ0FBQztFQUNOO0VBRU9FLE1BQU1BLENBQUEsRUFBb0I7SUFDN0Isb0JBQU8xQixNQUFBLENBQUFTLE9BQUEsQ0FBQWtCLGFBQUE7TUFBS0MsU0FBUyxFQUFFLElBQUksQ0FBQ3JCLEtBQUssQ0FBQ3FCLFNBQVU7TUFBQ0MsV0FBVyxFQUFFLElBQUksQ0FBQ0E7SUFBWSxDQUFFLENBQUM7RUFDbEY7QUFDSjtBQUFDQyxPQUFBLENBQUFyQixPQUFBLEdBQUFOLFNBQUEiLCJpZ25vcmVMaXN0IjpbXX0=