matrix-react-sdk
Version:
SDK for matrix.org using React
71 lines (67 loc) • 9.17 kB
JavaScript
"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"));
var _SettingsStore = _interopRequireDefault(require("../../../settings/SettingsStore"));
var _Draggable = _interopRequireDefault(require("./Draggable"));
var _SettingLevel = require("../../../settings/SettingLevel");
/*
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 IRCTimelineProfileResizer extends _react.default.Component {
constructor(props) {
super(props);
(0, _defineProperty2.default)(this, "dragFunc", (location, event) => {
const offset = event.clientX - location.currentX;
const newWidth = this.state.width + offset;
// If we're trying to go smaller than min width, don't.
if (newWidth < this.props.minWidth) {
return location;
}
if (newWidth > this.props.maxWidth) {
return location;
}
this.setState({
width: newWidth
});
this.updateCSSWidth.bind(this)(newWidth);
return {
currentX: event.clientX,
currentY: location.currentY
};
});
(0, _defineProperty2.default)(this, "onMoueUp", () => {
if (this.props.roomId) {
_SettingsStore.default.setValue("ircDisplayNameWidth", this.props.roomId, _SettingLevel.SettingLevel.ROOM_DEVICE, this.state.width);
}
});
this.state = {
width: _SettingsStore.default.getValue("ircDisplayNameWidth", this.props.roomId),
IRCLayoutRoot: null
};
}
componentDidMount() {
this.setState({
IRCLayoutRoot: document.querySelector(".mx_IRCLayout")
}, () => this.updateCSSWidth(this.state.width));
}
updateCSSWidth(newWidth) {
this.state.IRCLayoutRoot?.style.setProperty("--name-width", newWidth + "px");
}
render() {
return /*#__PURE__*/_react.default.createElement(_Draggable.default, {
className: "mx_ProfileResizer",
dragFunc: this.dragFunc,
onMouseUp: this.onMoueUp
});
}
}
exports.default = IRCTimelineProfileResizer;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9TZXR0aW5nc1N0b3JlIiwiX0RyYWdnYWJsZSIsIl9TZXR0aW5nTGV2ZWwiLCJJUkNUaW1lbGluZVByb2ZpbGVSZXNpemVyIiwiUmVhY3QiLCJDb21wb25lbnQiLCJjb25zdHJ1Y3RvciIsInByb3BzIiwiX2RlZmluZVByb3BlcnR5MiIsImRlZmF1bHQiLCJsb2NhdGlvbiIsImV2ZW50Iiwib2Zmc2V0IiwiY2xpZW50WCIsImN1cnJlbnRYIiwibmV3V2lkdGgiLCJzdGF0ZSIsIndpZHRoIiwibWluV2lkdGgiLCJtYXhXaWR0aCIsInNldFN0YXRlIiwidXBkYXRlQ1NTV2lkdGgiLCJiaW5kIiwiY3VycmVudFkiLCJyb29tSWQiLCJTZXR0aW5nc1N0b3JlIiwic2V0VmFsdWUiLCJTZXR0aW5nTGV2ZWwiLCJST09NX0RFVklDRSIsImdldFZhbHVlIiwiSVJDTGF5b3V0Um9vdCIsImNvbXBvbmVudERpZE1vdW50IiwiZG9jdW1lbnQiLCJxdWVyeVNlbGVjdG9yIiwic3R5bGUiLCJzZXRQcm9wZXJ0eSIsInJlbmRlciIsImNyZWF0ZUVsZW1lbnQiLCJjbGFzc05hbWUiLCJkcmFnRnVuYyIsIm9uTW91c2VVcCIsIm9uTW91ZVVwIiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3ZpZXdzL2VsZW1lbnRzL0lSQ1RpbWVsaW5lUHJvZmlsZVJlc2l6ZXIudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIwIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seVxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbmltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIjtcblxuaW1wb3J0IFNldHRpbmdzU3RvcmUgZnJvbSBcIi4uLy4uLy4uL3NldHRpbmdzL1NldHRpbmdzU3RvcmVcIjtcbmltcG9ydCBEcmFnZ2FibGUsIHsgSUxvY2F0aW9uU3RhdGUgfSBmcm9tIFwiLi9EcmFnZ2FibGVcIjtcbmltcG9ydCB7IFNldHRpbmdMZXZlbCB9IGZyb20gXCIuLi8uLi8uLi9zZXR0aW5ncy9TZXR0aW5nTGV2ZWxcIjtcblxuaW50ZXJmYWNlIElQcm9wcyB7XG4gICAgLy8gQ3VycmVudCByb29tXG4gICAgcm9vbUlkOiBzdHJpbmcgfCBudWxsO1xuICAgIG1pbldpZHRoOiBudW1iZXI7XG4gICAgbWF4V2lkdGg6IG51bWJlcjtcbn1cblxuaW50ZXJmYWNlIElTdGF0ZSB7XG4gICAgd2lkdGg6IG51bWJlcjtcbiAgICBJUkNMYXlvdXRSb290OiBIVE1MRWxlbWVudCB8IG51bGw7XG59XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIElSQ1RpbWVsaW5lUHJvZmlsZVJlc2l6ZXIgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQ8SVByb3BzLCBJU3RhdGU+IHtcbiAgICBwdWJsaWMgY29uc3RydWN0b3IocHJvcHM6IElQcm9wcykge1xuICAgICAgICBzdXBlcihwcm9wcyk7XG5cbiAgICAgICAgdGhpcy5zdGF0ZSA9IHtcbiAgICAgICAgICAgIHdpZHRoOiBTZXR0aW5nc1N0b3JlLmdldFZhbHVlKFwiaXJjRGlzcGxheU5hbWVXaWR0aFwiLCB0aGlzLnByb3BzLnJvb21JZCksXG4gICAgICAgICAgICBJUkNMYXlvdXRSb290OiBudWxsLFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIHB1YmxpYyBjb21wb25lbnREaWRNb3VudCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZXRTdGF0ZShcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBJUkNMYXlvdXRSb290OiBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiLm14X0lSQ0xheW91dFwiKSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAoKSA9PiB0aGlzLnVwZGF0ZUNTU1dpZHRoKHRoaXMuc3RhdGUud2lkdGgpLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgZHJhZ0Z1bmMgPSAobG9jYXRpb246IElMb2NhdGlvblN0YXRlLCBldmVudDogTW91c2VFdmVudCk6IElMb2NhdGlvblN0YXRlID0+IHtcbiAgICAgICAgY29uc3Qgb2Zmc2V0ID0gZXZlbnQuY2xpZW50WCAtIGxvY2F0aW9uLmN1cnJlbnRYO1xuICAgICAgICBjb25zdCBuZXdXaWR0aCA9IHRoaXMuc3RhdGUud2lkdGggKyBvZmZzZXQ7XG5cbiAgICAgICAgLy8gSWYgd2UncmUgdHJ5aW5nIHRvIGdvIHNtYWxsZXIgdGhhbiBtaW4gd2lkdGgsIGRvbid0LlxuICAgICAgICBpZiAobmV3V2lkdGggPCB0aGlzLnByb3BzLm1pbldpZHRoKSB7XG4gICAgICAgICAgICByZXR1cm4gbG9jYXRpb247XG4gICAgICAgIH1cblxuICAgICAgICBpZiAobmV3V2lkdGggPiB0aGlzLnByb3BzLm1heFdpZHRoKSB7XG4gICAgICAgICAgICByZXR1cm4gbG9jYXRpb247XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgICAgIHdpZHRoOiBuZXdXaWR0aCxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy51cGRhdGVDU1NXaWR0aC5iaW5kKHRoaXMpKG5ld1dpZHRoKTtcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgY3VycmVudFg6IGV2ZW50LmNsaWVudFgsXG4gICAgICAgICAgICBjdXJyZW50WTogbG9jYXRpb24uY3VycmVudFksXG4gICAgICAgIH07XG4gICAgfTtcblxuICAgIHByaXZhdGUgdXBkYXRlQ1NTV2lkdGgobmV3V2lkdGg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLnN0YXRlLklSQ0xheW91dFJvb3Q/LnN0eWxlLnNldFByb3BlcnR5KFwiLS1uYW1lLXdpZHRoXCIsIG5ld1dpZHRoICsgXCJweFwiKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIG9uTW91ZVVwID0gKCk6IHZvaWQgPT4ge1xuICAgICAgICBpZiAodGhpcy5wcm9wcy5yb29tSWQpIHtcbiAgICAgICAgICAgIFNldHRpbmdzU3RvcmUuc2V0VmFsdWUoXG4gICAgICAgICAgICAgICAgXCJpcmNEaXNwbGF5TmFtZVdpZHRoXCIsXG4gICAgICAgICAgICAgICAgdGhpcy5wcm9wcy5yb29tSWQsXG4gICAgICAgICAgICAgICAgU2V0dGluZ0xldmVsLlJPT01fREVWSUNFLFxuICAgICAgICAgICAgICAgIHRoaXMuc3RhdGUud2lkdGgsXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfTtcblxuICAgIHB1YmxpYyByZW5kZXIoKTogUmVhY3QuUmVhY3ROb2RlIHtcbiAgICAgICAgcmV0dXJuIDxEcmFnZ2FibGUgY2xhc3NOYW1lPVwibXhfUHJvZmlsZVJlc2l6ZXJcIiBkcmFnRnVuYz17dGhpcy5kcmFnRnVuY30gb25Nb3VzZVVwPXt0aGlzLm9uTW91ZVVwfSAvPjtcbiAgICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBUUEsSUFBQUEsTUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBRUEsSUFBQUMsY0FBQSxHQUFBRixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUUsVUFBQSxHQUFBSCxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUcsYUFBQSxHQUFBSCxPQUFBO0FBWkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBb0JlLE1BQU1JLHlCQUF5QixTQUFTQyxjQUFLLENBQUNDLFNBQVMsQ0FBaUI7RUFDNUVDLFdBQVdBLENBQUNDLEtBQWEsRUFBRTtJQUM5QixLQUFLLENBQUNBLEtBQUssQ0FBQztJQUFDLElBQUFDLGdCQUFBLENBQUFDLE9BQUEsb0JBaUJFLENBQUNDLFFBQXdCLEVBQUVDLEtBQWlCLEtBQXFCO01BQ2hGLE1BQU1DLE1BQU0sR0FBR0QsS0FBSyxDQUFDRSxPQUFPLEdBQUdILFFBQVEsQ0FBQ0ksUUFBUTtNQUNoRCxNQUFNQyxRQUFRLEdBQUcsSUFBSSxDQUFDQyxLQUFLLENBQUNDLEtBQUssR0FBR0wsTUFBTTs7TUFFMUM7TUFDQSxJQUFJRyxRQUFRLEdBQUcsSUFBSSxDQUFDUixLQUFLLENBQUNXLFFBQVEsRUFBRTtRQUNoQyxPQUFPUixRQUFRO01BQ25CO01BRUEsSUFBSUssUUFBUSxHQUFHLElBQUksQ0FBQ1IsS0FBSyxDQUFDWSxRQUFRLEVBQUU7UUFDaEMsT0FBT1QsUUFBUTtNQUNuQjtNQUVBLElBQUksQ0FBQ1UsUUFBUSxDQUFDO1FBQ1ZILEtBQUssRUFBRUY7TUFDWCxDQUFDLENBQUM7TUFFRixJQUFJLENBQUNNLGNBQWMsQ0FBQ0MsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDUCxRQUFRLENBQUM7TUFFeEMsT0FBTztRQUNIRCxRQUFRLEVBQUVILEtBQUssQ0FBQ0UsT0FBTztRQUN2QlUsUUFBUSxFQUFFYixRQUFRLENBQUNhO01BQ3ZCLENBQUM7SUFDTCxDQUFDO0lBQUEsSUFBQWYsZ0JBQUEsQ0FBQUMsT0FBQSxvQkFNa0IsTUFBWTtNQUMzQixJQUFJLElBQUksQ0FBQ0YsS0FBSyxDQUFDaUIsTUFBTSxFQUFFO1FBQ25CQyxzQkFBYSxDQUFDQyxRQUFRLENBQ2xCLHFCQUFxQixFQUNyQixJQUFJLENBQUNuQixLQUFLLENBQUNpQixNQUFNLEVBQ2pCRywwQkFBWSxDQUFDQyxXQUFXLEVBQ3hCLElBQUksQ0FBQ1osS0FBSyxDQUFDQyxLQUNmLENBQUM7TUFDTDtJQUNKLENBQUM7SUFyREcsSUFBSSxDQUFDRCxLQUFLLEdBQUc7TUFDVEMsS0FBSyxFQUFFUSxzQkFBYSxDQUFDSSxRQUFRLENBQUMscUJBQXFCLEVBQUUsSUFBSSxDQUFDdEIsS0FBSyxDQUFDaUIsTUFBTSxDQUFDO01BQ3ZFTSxhQUFhLEVBQUU7SUFDbkIsQ0FBQztFQUNMO0VBRU9DLGlCQUFpQkEsQ0FBQSxFQUFTO0lBQzdCLElBQUksQ0FBQ1gsUUFBUSxDQUNUO01BQ0lVLGFBQWEsRUFBRUUsUUFBUSxDQUFDQyxhQUFhLENBQUMsZUFBZTtJQUN6RCxDQUFDLEVBQ0QsTUFBTSxJQUFJLENBQUNaLGNBQWMsQ0FBQyxJQUFJLENBQUNMLEtBQUssQ0FBQ0MsS0FBSyxDQUM5QyxDQUFDO0VBQ0w7RUEyQlFJLGNBQWNBLENBQUNOLFFBQWdCLEVBQVE7SUFDM0MsSUFBSSxDQUFDQyxLQUFLLENBQUNjLGFBQWEsRUFBRUksS0FBSyxDQUFDQyxXQUFXLENBQUMsY0FBYyxFQUFFcEIsUUFBUSxHQUFHLElBQUksQ0FBQztFQUNoRjtFQWFPcUIsTUFBTUEsQ0FBQSxFQUFvQjtJQUM3QixvQkFBT3ZDLE1BQUEsQ0FBQVksT0FBQSxDQUFBNEIsYUFBQSxDQUFDcEMsVUFBQSxDQUFBUSxPQUFTO01BQUM2QixTQUFTLEVBQUMsbUJBQW1CO01BQUNDLFFBQVEsRUFBRSxJQUFJLENBQUNBLFFBQVM7TUFBQ0MsU0FBUyxFQUFFLElBQUksQ0FBQ0M7SUFBUyxDQUFFLENBQUM7RUFDekc7QUFDSjtBQUFDQyxPQUFBLENBQUFqQyxPQUFBLEdBQUFOLHlCQUFBIiwiaWdub3JlTGlzdCI6W119