matrix-react-sdk
Version:
SDK for matrix.org using React
58 lines (45 loc) • 5.8 kB
JavaScript
;
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 _propTypes = _interopRequireDefault(require("prop-types"));
var _replaceableComponent = require("../../../utils/replaceableComponent");
var _dec, _class, _class2, _temp;
let GenericElementContextMenu = (
/*
* This component can be used to display generic HTML content in a contextual
* menu.
*/
_dec = (0, _replaceableComponent.replaceableComponent)("views.context_menus.GenericElementContextMenu"), _dec(_class = (_temp = _class2 = class GenericElementContextMenu extends _react.default.Component {
constructor(props) {
super(props);
this.resize = this.resize.bind(this);
}
componentDidMount() {
this.resize = this.resize.bind(this);
window.addEventListener("resize", this.resize);
}
componentWillUnmount() {
window.removeEventListener("resize", this.resize);
}
resize() {
if (this.props.onResize) {
this.props.onResize();
}
}
render() {
return /*#__PURE__*/_react.default.createElement("div", null, this.props.element);
}
}, (0, _defineProperty2.default)(_class2, "propTypes", {
element: _propTypes.default.element.isRequired,
// Function to be called when the parent window is resized
// This can be used to reposition or close the menu on resize and
// ensure that it is not displayed in a stale position.
onResize: _propTypes.default.func
}), _temp)) || _class);
exports.default = GenericElementContextMenu;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3ZpZXdzL2NvbnRleHRfbWVudXMvR2VuZXJpY0VsZW1lbnRDb250ZXh0TWVudS5qcyJdLCJuYW1lcyI6WyJHZW5lcmljRWxlbWVudENvbnRleHRNZW51IiwiUmVhY3QiLCJDb21wb25lbnQiLCJjb25zdHJ1Y3RvciIsInByb3BzIiwicmVzaXplIiwiYmluZCIsImNvbXBvbmVudERpZE1vdW50Iiwid2luZG93IiwiYWRkRXZlbnRMaXN0ZW5lciIsImNvbXBvbmVudFdpbGxVbm1vdW50IiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsIm9uUmVzaXplIiwicmVuZGVyIiwiZWxlbWVudCIsIlByb3BUeXBlcyIsImlzUmVxdWlyZWQiLCJmdW5jIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQWdCQTs7QUFDQTs7QUFDQTs7OztJQVNxQkEseUI7QUFQckI7QUFDQTtBQUNBO0FBQ0E7T0FHQyxnREFBcUIsK0NBQXJCLEMsbUNBQUQsTUFDcUJBLHlCQURyQixTQUN1REMsZUFBTUMsU0FEN0QsQ0FDdUU7QUFTbkVDLEVBQUFBLFdBQVcsQ0FBQ0MsS0FBRCxFQUFRO0FBQ2YsVUFBTUEsS0FBTjtBQUNBLFNBQUtDLE1BQUwsR0FBYyxLQUFLQSxNQUFMLENBQVlDLElBQVosQ0FBaUIsSUFBakIsQ0FBZDtBQUNIOztBQUVEQyxFQUFBQSxpQkFBaUIsR0FBRztBQUNoQixTQUFLRixNQUFMLEdBQWMsS0FBS0EsTUFBTCxDQUFZQyxJQUFaLENBQWlCLElBQWpCLENBQWQ7QUFDQUUsSUFBQUEsTUFBTSxDQUFDQyxnQkFBUCxDQUF3QixRQUF4QixFQUFrQyxLQUFLSixNQUF2QztBQUNIOztBQUVESyxFQUFBQSxvQkFBb0IsR0FBRztBQUNuQkYsSUFBQUEsTUFBTSxDQUFDRyxtQkFBUCxDQUEyQixRQUEzQixFQUFxQyxLQUFLTixNQUExQztBQUNIOztBQUVEQSxFQUFBQSxNQUFNLEdBQUc7QUFDTCxRQUFJLEtBQUtELEtBQUwsQ0FBV1EsUUFBZixFQUF5QjtBQUNyQixXQUFLUixLQUFMLENBQVdRLFFBQVg7QUFDSDtBQUNKOztBQUVEQyxFQUFBQSxNQUFNLEdBQUc7QUFDTCx3QkFBTywwQ0FBTyxLQUFLVCxLQUFMLENBQVdVLE9BQWxCLENBQVA7QUFDSDs7QUEvQmtFLEMsc0RBQ2hEO0FBQ2ZBLEVBQUFBLE9BQU8sRUFBRUMsbUJBQVVELE9BQVYsQ0FBa0JFLFVBRFo7QUFFZjtBQUNBO0FBQ0E7QUFDQUosRUFBQUEsUUFBUSxFQUFFRyxtQkFBVUU7QUFMTCxDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbkNvcHlyaWdodCAyMDE3IE5ldyBWZWN0b3IgTHRkXG5cbkxpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG55b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG5Zb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG5Vbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG5kaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG5XSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cblNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbmxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuKi9cblxuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQge3JlcGxhY2VhYmxlQ29tcG9uZW50fSBmcm9tIFwiLi4vLi4vLi4vdXRpbHMvcmVwbGFjZWFibGVDb21wb25lbnRcIjtcblxuLypcbiAqIFRoaXMgY29tcG9uZW50IGNhbiBiZSB1c2VkIHRvIGRpc3BsYXkgZ2VuZXJpYyBIVE1MIGNvbnRlbnQgaW4gYSBjb250ZXh0dWFsXG4gKiBtZW51LlxuICovXG5cblxuQHJlcGxhY2VhYmxlQ29tcG9uZW50KFwidmlld3MuY29udGV4dF9tZW51cy5HZW5lcmljRWxlbWVudENvbnRleHRNZW51XCIpXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBHZW5lcmljRWxlbWVudENvbnRleHRNZW51IGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgICAgICBlbGVtZW50OiBQcm9wVHlwZXMuZWxlbWVudC5pc1JlcXVpcmVkLFxuICAgICAgICAvLyBGdW5jdGlvbiB0byBiZSBjYWxsZWQgd2hlbiB0aGUgcGFyZW50IHdpbmRvdyBpcyByZXNpemVkXG4gICAgICAgIC8vIFRoaXMgY2FuIGJlIHVzZWQgdG8gcmVwb3NpdGlvbiBvciBjbG9zZSB0aGUgbWVudSBvbiByZXNpemUgYW5kXG4gICAgICAgIC8vIGVuc3VyZSB0aGF0IGl0IGlzIG5vdCBkaXNwbGF5ZWQgaW4gYSBzdGFsZSBwb3NpdGlvbi5cbiAgICAgICAgb25SZXNpemU6IFByb3BUeXBlcy5mdW5jLFxuICAgIH07XG5cbiAgICBjb25zdHJ1Y3Rvcihwcm9wcykge1xuICAgICAgICBzdXBlcihwcm9wcyk7XG4gICAgICAgIHRoaXMucmVzaXplID0gdGhpcy5yZXNpemUuYmluZCh0aGlzKTtcbiAgICB9XG5cbiAgICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICAgICAgdGhpcy5yZXNpemUgPSB0aGlzLnJlc2l6ZS5iaW5kKHRoaXMpO1xuICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcInJlc2l6ZVwiLCB0aGlzLnJlc2l6ZSk7XG4gICAgfVxuXG4gICAgY29tcG9uZW50V2lsbFVubW91bnQoKSB7XG4gICAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKFwicmVzaXplXCIsIHRoaXMucmVzaXplKTtcbiAgICB9XG5cbiAgICByZXNpemUoKSB7XG4gICAgICAgIGlmICh0aGlzLnByb3BzLm9uUmVzaXplKSB7XG4gICAgICAgICAgICB0aGlzLnByb3BzLm9uUmVzaXplKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZW5kZXIoKSB7XG4gICAgICAgIHJldHVybiA8ZGl2PnsgdGhpcy5wcm9wcy5lbGVtZW50IH08L2Rpdj47XG4gICAgfVxufVxuIl19