matrix-react-sdk
Version:
SDK for matrix.org using React
84 lines (80 loc) • 13.3 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 = _interopRequireWildcard(require("react"));
var React = _react;
var _AccessibleButton = _interopRequireDefault(require("../elements/AccessibleButton"));
var _ContextMenu = _interopRequireDefault(require("../../structures/ContextMenu"));
var _Field = _interopRequireDefault(require("../elements/Field"));
var _DialPad = _interopRequireDefault(require("../voip/DialPad"));
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
/*
Copyright 2024 New Vector Ltd.
Copyright 2021 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 DialpadContextMenu extends React.Component {
constructor(props) {
super(props);
(0, _defineProperty2.default)(this, "numberEntryFieldRef", /*#__PURE__*/(0, _react.createRef)());
(0, _defineProperty2.default)(this, "onDigitPress", (digit, ev) => {
this.props.call.sendDtmfDigit(digit);
this.setState({
value: this.state.value + digit
});
// Keep the number field focused so that keyboard entry is still available
// However, don't focus if this wasn't the result of directly clicking on the button,
// i.e someone using keyboard navigation.
if (ev.type === "click") {
this.numberEntryFieldRef.current?.focus();
}
});
(0, _defineProperty2.default)(this, "onCancelClick", () => {
this.props.onFinished();
});
(0, _defineProperty2.default)(this, "onKeyDown", ev => {
// Prevent Backspace and Delete keys from functioning in the entry field
if (ev.code === "Backspace" || ev.code === "Delete") {
ev.preventDefault();
}
});
(0, _defineProperty2.default)(this, "onChange", ev => {
this.setState({
value: ev.target.value
});
});
this.state = {
value: ""
};
}
render() {
return /*#__PURE__*/React.createElement(_ContextMenu.default, this.props, /*#__PURE__*/React.createElement("div", {
className: "mx_DialPadContextMenuWrapper"
}, /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(_AccessibleButton.default, {
className: "mx_DialPadContextMenu_cancel",
onClick: this.onCancelClick
})), /*#__PURE__*/React.createElement("div", {
className: "mx_DialPadContextMenu_header"
}, /*#__PURE__*/React.createElement(_Field.default, {
ref: this.numberEntryFieldRef,
className: "mx_DialPadContextMenu_dialled",
value: this.state.value,
autoFocus: true,
onKeyDown: this.onKeyDown,
onChange: this.onChange
})), /*#__PURE__*/React.createElement("div", {
className: "mx_DialPadContextMenu_dialPad"
}, /*#__PURE__*/React.createElement(_DialPad.default, {
onDigitPress: this.onDigitPress,
hasDial: false
}))));
}
}
exports.default = DialpadContextMenu;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJSZWFjdCIsIl9BY2Nlc3NpYmxlQnV0dG9uIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9Db250ZXh0TWVudSIsIl9GaWVsZCIsIl9EaWFsUGFkIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwiZSIsIldlYWtNYXAiLCJyIiwidCIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwiaGFzIiwiZ2V0IiwibiIsIl9fcHJvdG9fXyIsImEiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpIiwic2V0IiwiRGlhbHBhZENvbnRleHRNZW51IiwiQ29tcG9uZW50IiwiY29uc3RydWN0b3IiLCJwcm9wcyIsIl9kZWZpbmVQcm9wZXJ0eTIiLCJjcmVhdGVSZWYiLCJkaWdpdCIsImV2Iiwic2VuZER0bWZEaWdpdCIsInNldFN0YXRlIiwidmFsdWUiLCJzdGF0ZSIsInR5cGUiLCJudW1iZXJFbnRyeUZpZWxkUmVmIiwiY3VycmVudCIsImZvY3VzIiwib25GaW5pc2hlZCIsImNvZGUiLCJwcmV2ZW50RGVmYXVsdCIsInRhcmdldCIsInJlbmRlciIsImNyZWF0ZUVsZW1lbnQiLCJjbGFzc05hbWUiLCJvbkNsaWNrIiwib25DYW5jZWxDbGljayIsInJlZiIsImF1dG9Gb2N1cyIsIm9uS2V5RG93biIsIm9uQ2hhbmdlIiwib25EaWdpdFByZXNzIiwiaGFzRGlhbCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy92aWV3cy9jb250ZXh0X21lbnVzL0RpYWxwYWRDb250ZXh0TWVudS50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjEgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5XG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBjcmVhdGVSZWYgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IE1hdHJpeENhbGwgfSBmcm9tIFwibWF0cml4LWpzLXNkay9zcmMvd2VicnRjL2NhbGxcIjtcblxuaW1wb3J0IEFjY2Vzc2libGVCdXR0b24sIHsgQnV0dG9uRXZlbnQgfSBmcm9tIFwiLi4vZWxlbWVudHMvQWNjZXNzaWJsZUJ1dHRvblwiO1xuaW1wb3J0IENvbnRleHRNZW51LCB7IElQcm9wcyBhcyBJQ29udGV4dE1lbnVQcm9wcyB9IGZyb20gXCIuLi8uLi9zdHJ1Y3R1cmVzL0NvbnRleHRNZW51XCI7XG5pbXBvcnQgRmllbGQgZnJvbSBcIi4uL2VsZW1lbnRzL0ZpZWxkXCI7XG5pbXBvcnQgRGlhbFBhZCBmcm9tIFwiLi4vdm9pcC9EaWFsUGFkXCI7XG5cbmludGVyZmFjZSBJUHJvcHMgZXh0ZW5kcyBJQ29udGV4dE1lbnVQcm9wcyB7XG4gICAgY2FsbDogTWF0cml4Q2FsbDtcbn1cblxuaW50ZXJmYWNlIElTdGF0ZSB7XG4gICAgdmFsdWU6IHN0cmluZztcbn1cblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRGlhbHBhZENvbnRleHRNZW51IGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50PElQcm9wcywgSVN0YXRlPiB7XG4gICAgcHJpdmF0ZSBudW1iZXJFbnRyeUZpZWxkUmVmOiBSZWFjdC5SZWZPYmplY3Q8RmllbGQ+ID0gY3JlYXRlUmVmKCk7XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IocHJvcHM6IElQcm9wcykge1xuICAgICAgICBzdXBlcihwcm9wcyk7XG5cbiAgICAgICAgdGhpcy5zdGF0ZSA9IHtcbiAgICAgICAgICAgIHZhbHVlOiBcIlwiLFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIHB1YmxpYyBvbkRpZ2l0UHJlc3MgPSAoZGlnaXQ6IHN0cmluZywgZXY6IEJ1dHRvbkV2ZW50KTogdm9pZCA9PiB7XG4gICAgICAgIHRoaXMucHJvcHMuY2FsbC5zZW5kRHRtZkRpZ2l0KGRpZ2l0KTtcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IHZhbHVlOiB0aGlzLnN0YXRlLnZhbHVlICsgZGlnaXQgfSk7XG5cbiAgICAgICAgLy8gS2VlcCB0aGUgbnVtYmVyIGZpZWxkIGZvY3VzZWQgc28gdGhhdCBrZXlib2FyZCBlbnRyeSBpcyBzdGlsbCBhdmFpbGFibGVcbiAgICAgICAgLy8gSG93ZXZlciwgZG9uJ3QgZm9jdXMgaWYgdGhpcyB3YXNuJ3QgdGhlIHJlc3VsdCBvZiBkaXJlY3RseSBjbGlja2luZyBvbiB0aGUgYnV0dG9uLFxuICAgICAgICAvLyBpLmUgc29tZW9uZSB1c2luZyBrZXlib2FyZCBuYXZpZ2F0aW9uLlxuICAgICAgICBpZiAoZXYudHlwZSA9PT0gXCJjbGlja1wiKSB7XG4gICAgICAgICAgICB0aGlzLm51bWJlckVudHJ5RmllbGRSZWYuY3VycmVudD8uZm9jdXMoKTtcbiAgICAgICAgfVxuICAgIH07XG5cbiAgICBwdWJsaWMgb25DYW5jZWxDbGljayA9ICgpOiB2b2lkID0+IHtcbiAgICAgICAgdGhpcy5wcm9wcy5vbkZpbmlzaGVkKCk7XG4gICAgfTtcblxuICAgIHB1YmxpYyBvbktleURvd24gPSAoZXY6IFJlYWN0LktleWJvYXJkRXZlbnQpOiB2b2lkID0+IHtcbiAgICAgICAgLy8gUHJldmVudCBCYWNrc3BhY2UgYW5kIERlbGV0ZSBrZXlzIGZyb20gZnVuY3Rpb25pbmcgaW4gdGhlIGVudHJ5IGZpZWxkXG4gICAgICAgIGlmIChldi5jb2RlID09PSBcIkJhY2tzcGFjZVwiIHx8IGV2LmNvZGUgPT09IFwiRGVsZXRlXCIpIHtcbiAgICAgICAgICAgIGV2LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgcHVibGljIG9uQ2hhbmdlID0gKGV2OiBSZWFjdC5DaGFuZ2VFdmVudDxIVE1MSW5wdXRFbGVtZW50Pik6IHZvaWQgPT4ge1xuICAgICAgICB0aGlzLnNldFN0YXRlKHsgdmFsdWU6IGV2LnRhcmdldC52YWx1ZSB9KTtcbiAgICB9O1xuXG4gICAgcHVibGljIHJlbmRlcigpOiBSZWFjdC5SZWFjdE5vZGUge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgPENvbnRleHRNZW51IHsuLi50aGlzLnByb3BzfT5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm14X0RpYWxQYWRDb250ZXh0TWVudVdyYXBwZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxBY2Nlc3NpYmxlQnV0dG9uIGNsYXNzTmFtZT1cIm14X0RpYWxQYWRDb250ZXh0TWVudV9jYW5jZWxcIiBvbkNsaWNrPXt0aGlzLm9uQ2FuY2VsQ2xpY2t9IC8+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm14X0RpYWxQYWRDb250ZXh0TWVudV9oZWFkZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxGaWVsZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZj17dGhpcy5udW1iZXJFbnRyeUZpZWxkUmVmfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cIm14X0RpYWxQYWRDb250ZXh0TWVudV9kaWFsbGVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT17dGhpcy5zdGF0ZS52YWx1ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvRm9jdXM9e3RydWV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb25LZXlEb3duPXt0aGlzLm9uS2V5RG93bn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZT17dGhpcy5vbkNoYW5nZX1cbiAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm14X0RpYWxQYWRDb250ZXh0TWVudV9kaWFsUGFkXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8RGlhbFBhZCBvbkRpZ2l0UHJlc3M9e3RoaXMub25EaWdpdFByZXNzfSBoYXNEaWFsPXtmYWxzZX0gLz5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L0NvbnRleHRNZW51PlxuICAgICAgICApO1xuICAgIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFRQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFBK0IsSUFBQUMsS0FBQSxHQUFBSCxNQUFBO0FBSS9CLElBQUFJLGlCQUFBLEdBQUFDLHNCQUFBLENBQUFILE9BQUE7QUFDQSxJQUFBSSxZQUFBLEdBQUFELHNCQUFBLENBQUFILE9BQUE7QUFDQSxJQUFBSyxNQUFBLEdBQUFGLHNCQUFBLENBQUFILE9BQUE7QUFDQSxJQUFBTSxRQUFBLEdBQUFILHNCQUFBLENBQUFILE9BQUE7QUFBc0MsU0FBQU8seUJBQUFDLENBQUEsNkJBQUFDLE9BQUEsbUJBQUFDLENBQUEsT0FBQUQsT0FBQSxJQUFBRSxDQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEsQ0FBQUMsQ0FBQSxXQUFBQSxDQUFBLEdBQUFHLENBQUEsR0FBQUQsQ0FBQSxLQUFBRixDQUFBO0FBQUEsU0FBQVQsd0JBQUFTLENBQUEsRUFBQUUsQ0FBQSxTQUFBQSxDQUFBLElBQUFGLENBQUEsSUFBQUEsQ0FBQSxDQUFBSSxVQUFBLFNBQUFKLENBQUEsZUFBQUEsQ0FBQSx1QkFBQUEsQ0FBQSx5QkFBQUEsQ0FBQSxXQUFB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