UNPKG

matrix-react-sdk

Version:
86 lines (84 loc) 13.8 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties")); var _react = _interopRequireWildcard(require("react")); var _MediaDeviceHandler = _interopRequireWildcard(require("../../../MediaDeviceHandler")); var _IconizedContextMenu = _interopRequireWildcard(require("./IconizedContextMenu")); var _languageHandler = require("../../../languageHandler"); const _excluded = ["deviceKinds"]; /* Copyright 2024 New Vector Ltd. Copyright 2021 Šimon Brandner <simon.bra.ag@gmail.com> SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only Please see LICENSE files in the repository root for full details. */ 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; } const SECTION_NAMES = { [_MediaDeviceHandler.MediaDeviceKindEnum.AudioInput]: (0, _languageHandler._td)("voip|input_devices"), [_MediaDeviceHandler.MediaDeviceKindEnum.AudioOutput]: (0, _languageHandler._td)("voip|output_devices"), [_MediaDeviceHandler.MediaDeviceKindEnum.VideoInput]: (0, _languageHandler._td)("common|cameras") }; const DeviceContextMenuDevice = ({ label, selected, onClick }) => { return /*#__PURE__*/_react.default.createElement(_IconizedContextMenu.IconizedContextMenuRadio, { iconClassName: "mx_DeviceContextMenu_device_icon", label: label, active: selected, onClick: onClick }); }; const DeviceContextMenuSection = ({ deviceKind }) => { const [devices, setDevices] = (0, _react.useState)([]); const [selectedDevice, setSelectedDevice] = (0, _react.useState)(_MediaDeviceHandler.default.getDevice(deviceKind)); (0, _react.useEffect)(() => { const getDevices = async () => { return setDevices((await _MediaDeviceHandler.default.getDevices())?.[deviceKind] ?? []); }; getDevices(); }, [deviceKind]); const onDeviceClick = deviceId => { _MediaDeviceHandler.default.instance.setDevice(deviceId, deviceKind); setSelectedDevice(deviceId); }; return /*#__PURE__*/_react.default.createElement(_IconizedContextMenu.IconizedContextMenuOptionList, { label: (0, _languageHandler._t)(SECTION_NAMES[deviceKind]) }, devices.map(({ label, deviceId }) => { return /*#__PURE__*/_react.default.createElement(DeviceContextMenuDevice, { key: deviceId, label: label, selected: selectedDevice === deviceId, onClick: () => onDeviceClick(deviceId) }); })); }; const DeviceContextMenu = _ref => { let { deviceKinds } = _ref, props = (0, _objectWithoutProperties2.default)(_ref, _excluded); return /*#__PURE__*/_react.default.createElement(_IconizedContextMenu.default, (0, _extends2.default)({ compact: true, className: "mx_DeviceContextMenu" }, props), deviceKinds.map(kind => { return /*#__PURE__*/_react.default.createElement(DeviceContextMenuSection, { key: kind, deviceKind: kind }); })); }; var _default = exports.default = DeviceContextMenu; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfTWVkaWFEZXZpY2VIYW5kbGVyIiwiX0ljb25pemVkQ29udGV4dE1lbnUiLCJfbGFuZ3VhZ2VIYW5kbGVyIiwiX2V4Y2x1ZGVkIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwiZSIsIldlYWtNYXAiLCJyIiwidCIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwiaGFzIiwiZ2V0IiwibiIsIl9fcHJvdG9fXyIsImEiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpIiwic2V0IiwiU0VDVElPTl9OQU1FUyIsIk1lZGlhRGV2aWNlS2luZEVudW0iLCJBdWRpb0lucHV0IiwiX3RkIiwiQXVkaW9PdXRwdXQiLCJWaWRlb0lucHV0IiwiRGV2aWNlQ29udGV4dE1lbnVEZXZpY2UiLCJsYWJlbCIsInNlbGVjdGVkIiwib25DbGljayIsImNyZWF0ZUVsZW1lbnQiLCJJY29uaXplZENvbnRleHRNZW51UmFkaW8iLCJpY29uQ2xhc3NOYW1lIiwiYWN0aXZlIiwiRGV2aWNlQ29udGV4dE1lbnVTZWN0aW9uIiwiZGV2aWNlS2luZCIsImRldmljZXMiLCJzZXREZXZpY2VzIiwidXNlU3RhdGUiLCJzZWxlY3RlZERldmljZSIsInNldFNlbGVjdGVkRGV2aWNlIiwiTWVkaWFEZXZpY2VIYW5kbGVyIiwiZ2V0RGV2aWNlIiwidXNlRWZmZWN0IiwiZ2V0RGV2aWNlcyIsIm9uRGV2aWNlQ2xpY2siLCJkZXZpY2VJZCIsImluc3RhbmNlIiwic2V0RGV2aWNlIiwiSWNvbml6ZWRDb250ZXh0TWVudU9wdGlvbkxpc3QiLCJfdCIsIm1hcCIsImtleSIsIkRldmljZUNvbnRleHRNZW51IiwiX3JlZiIsImRldmljZUtpbmRzIiwicHJvcHMiLCJfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMyIiwiX2V4dGVuZHMyIiwiY29tcGFjdCIsImNsYXNzTmFtZSIsImtpbmQiLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy92aWV3cy9jb250ZXh0X21lbnVzL0RldmljZUNvbnRleHRNZW51LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMSDFoGltb24gQnJhbmRuZXIgPHNpbW9uLmJyYS5hZ0BnbWFpbC5jb20+XG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seVxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbmltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSBcInJlYWN0XCI7XG5cbmltcG9ydCBNZWRpYURldmljZUhhbmRsZXIsIHsgTWVkaWFEZXZpY2VLaW5kRW51bSB9IGZyb20gXCIuLi8uLi8uLi9NZWRpYURldmljZUhhbmRsZXJcIjtcbmltcG9ydCBJY29uaXplZENvbnRleHRNZW51LCB7IEljb25pemVkQ29udGV4dE1lbnVPcHRpb25MaXN0LCBJY29uaXplZENvbnRleHRNZW51UmFkaW8gfSBmcm9tIFwiLi9JY29uaXplZENvbnRleHRNZW51XCI7XG5pbXBvcnQgeyBJUHJvcHMgYXMgSUNvbnRleHRNZW51UHJvcHMgfSBmcm9tIFwiLi4vLi4vc3RydWN0dXJlcy9Db250ZXh0TWVudVwiO1xuaW1wb3J0IHsgX3QsIF90ZCwgVHJhbnNsYXRpb25LZXkgfSBmcm9tIFwiLi4vLi4vLi4vbGFuZ3VhZ2VIYW5kbGVyXCI7XG5cbmNvbnN0IFNFQ1RJT05fTkFNRVM6IFJlY29yZDxNZWRpYURldmljZUtpbmRFbnVtLCBUcmFuc2xhdGlvbktleT4gPSB7XG4gICAgW01lZGlhRGV2aWNlS2luZEVudW0uQXVkaW9JbnB1dF06IF90ZChcInZvaXB8aW5wdXRfZGV2aWNlc1wiKSxcbiAgICBbTWVkaWFEZXZpY2VLaW5kRW51bS5BdWRpb091dHB1dF06IF90ZChcInZvaXB8b3V0cHV0X2RldmljZXNcIiksXG4gICAgW01lZGlhRGV2aWNlS2luZEVudW0uVmlkZW9JbnB1dF06IF90ZChcImNvbW1vbnxjYW1lcmFzXCIpLFxufTtcblxuaW50ZXJmYWNlIElEZXZpY2VDb250ZXh0TWVudURldmljZVByb3BzIHtcbiAgICBsYWJlbDogc3RyaW5nO1xuICAgIHNlbGVjdGVkOiBib29sZWFuO1xuICAgIG9uQ2xpY2s6ICgpID0+IHZvaWQ7XG59XG5cbmNvbnN0IERldmljZUNvbnRleHRNZW51RGV2aWNlOiBSZWFjdC5GQzxJRGV2aWNlQ29udGV4dE1lbnVEZXZpY2VQcm9wcz4gPSAoeyBsYWJlbCwgc2VsZWN0ZWQsIG9uQ2xpY2sgfSkgPT4ge1xuICAgIHJldHVybiAoXG4gICAgICAgIDxJY29uaXplZENvbnRleHRNZW51UmFkaW9cbiAgICAgICAgICAgIGljb25DbGFzc05hbWU9XCJteF9EZXZpY2VDb250ZXh0TWVudV9kZXZpY2VfaWNvblwiXG4gICAgICAgICAgICBsYWJlbD17bGFiZWx9XG4gICAgICAgICAgICBhY3RpdmU9e3NlbGVjdGVkfVxuICAgICAgICAgICAgb25DbGljaz17b25DbGlja31cbiAgICAgICAgLz5cbiAgICApO1xufTtcblxuaW50ZXJmYWNlIElEZXZpY2VDb250ZXh0TWVudVNlY3Rpb25Qcm9wcyB7XG4gICAgZGV2aWNlS2luZDogTWVkaWFEZXZpY2VLaW5kRW51bTtcbn1cblxuY29uc3QgRGV2aWNlQ29udGV4dE1lbnVTZWN0aW9uOiBSZWFjdC5GQzxJRGV2aWNlQ29udGV4dE1lbnVTZWN0aW9uUHJvcHM+ID0gKHsgZGV2aWNlS2luZCB9KSA9PiB7XG4gICAgY29uc3QgW2RldmljZXMsIHNldERldmljZXNdID0gdXNlU3RhdGU8TWVkaWFEZXZpY2VJbmZvW10+KFtdKTtcbiAgICBjb25zdCBbc2VsZWN0ZWREZXZpY2UsIHNldFNlbGVjdGVkRGV2aWNlXSA9IHVzZVN0YXRlKE1lZGlhRGV2aWNlSGFuZGxlci5nZXREZXZpY2UoZGV2aWNlS2luZCkpO1xuXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgY29uc3QgZ2V0RGV2aWNlcyA9IGFzeW5jICgpOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgICAgICAgICAgIHJldHVybiBzZXREZXZpY2VzKChhd2FpdCBNZWRpYURldmljZUhhbmRsZXIuZ2V0RGV2aWNlcygpKT8uW2RldmljZUtpbmRdID8/IFtdKTtcbiAgICAgICAgfTtcbiAgICAgICAgZ2V0RGV2aWNlcygpO1xuICAgIH0sIFtkZXZpY2VLaW5kXSk7XG5cbiAgICBjb25zdCBvbkRldmljZUNsaWNrID0gKGRldmljZUlkOiBzdHJpbmcpOiB2b2lkID0+IHtcbiAgICAgICAgTWVkaWFEZXZpY2VIYW5kbGVyLmluc3RhbmNlLnNldERldmljZShkZXZpY2VJZCwgZGV2aWNlS2luZCk7XG4gICAgICAgIHNldFNlbGVjdGVkRGV2aWNlKGRldmljZUlkKTtcbiAgICB9O1xuXG4gICAgcmV0dXJuIChcbiAgICAgICAgPEljb25pemVkQ29udGV4dE1lbnVPcHRpb25MaXN0IGxhYmVsPXtfdChTRUNUSU9OX05BTUVTW2RldmljZUtpbmRdKX0+XG4gICAgICAgICAgICB7ZGV2aWNlcy5tYXAoKHsgbGFiZWwsIGRldmljZUlkIH0pID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICA8RGV2aWNlQ29udGV4dE1lbnVEZXZpY2VcbiAgICAgICAgICAgICAgICAgICAgICAgIGtleT17ZGV2aWNlSWR9XG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbD17bGFiZWx9XG4gICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZD17c2VsZWN0ZWREZXZpY2UgPT09IGRldmljZUlkfVxuICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25EZXZpY2VDbGljayhkZXZpY2VJZCl9XG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0pfVxuICAgICAgICA8L0ljb25pemVkQ29udGV4dE1lbnVPcHRpb25MaXN0PlxuICAgICk7XG59O1xuXG5pbnRlcmZhY2UgSVByb3BzIGV4dGVuZHMgSUNvbnRleHRNZW51UHJvcHMge1xuICAgIGRldmljZUtpbmRzOiBNZWRpYURldmljZUtpbmRbXTtcbn1cblxuY29uc3QgRGV2aWNlQ29udGV4dE1lbnU6IFJlYWN0LkZDPElQcm9wcz4gPSAoeyBkZXZpY2VLaW5kcywgLi4ucHJvcHMgfSkgPT4ge1xuICAgIHJldHVybiAoXG4gICAgICAgIDxJY29uaXplZENvbnRleHRNZW51IGNvbXBhY3QgY2xhc3NOYW1lPVwibXhfRGV2aWNlQ29udGV4dE1lbnVcIiB7Li4ucHJvcHN9PlxuICAgICAgICAgICAge2RldmljZUtpbmRzLm1hcCgoa2luZCkgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiA8RGV2aWNlQ29udGV4dE1lbnVTZWN0aW9uIGtleT17a2luZH0gZGV2aWNlS2luZD17a2luZCBhcyBNZWRpYURldmljZUtpbmRFbnVtfSAvPjtcbiAgICAgICAgICAgIH0pfVxuICAgICAgICA8L0ljb25pemVkQ29udGV4dE1lbnU+XG4gICAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IERldmljZUNvbnRleHRNZW51O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFRQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFFQSxJQUFBQyxtQkFBQSxHQUFBRix1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUUsb0JBQUEsR0FBQUgsdUJBQUEsQ0FBQUMsT0FBQTtBQUVBLElBQUFHLGdCQUFBLEdBQUFILE9BQUE7QUFBbUUsTUFBQUksU0FBQTtBQWJuRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQU5BLFNBQUFDLHlCQUFBQyxDQUFBLDZC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YSxHQUFJQyxRQUFnQixJQUFXO0lBQzlDTCwyQkFBa0IsQ0FBQ00sUUFBUSxDQUFDQyxTQUFTLENBQUNGLFFBQVEsRUFBRVgsVUFBVSxDQUFDO0lBQzNESyxpQkFBaUIsQ0FBQ00sUUFBUSxDQUFDO0VBQy9CLENBQUM7RUFFRCxvQkFDSXJELE1BQUEsQ0FBQWEsT0FBQSxDQUFBd0IsYUFBQSxDQUFDakMsb0JBQUEsQ0FBQW9ELDZCQUE2QjtJQUFDdEIsS0FBSyxFQUFFLElBQUF1QixtQkFBRSxFQUFDOUIsYUFBYSxDQUFDZSxVQUFVLENBQUM7RUFBRSxHQUMvREMsT0FBTyxDQUFDZSxHQUFHLENBQUMsQ0FBQztJQUFFeEIsS0FBSztJQUFFbUI7RUFBUyxDQUFDLEtBQUs7SUFDbEMsb0JBQ0lyRCxNQUFBLENBQUFhLE9BQUEsQ0FBQXdCLGFBQUEsQ0FBQ0osdUJBQXVCO01BQ3BCMEIsR0FBRyxFQUFFTixRQUFTO01BQ2RuQixLQUFLLEVBQUVBLEtBQU07TUFDYkMsUUFBUSxFQUFFVyxjQUFjLEtBQUtPLFFBQVM7TUFDdENqQixPQUFPLEVBQUVBLENBQUEsS0FBTWdCLGFBQWEsQ0FBQ0MsUUFBUTtJQUFFLENBQzFDLENBQUM7RUFFVixDQUFDLENBQzBCLENBQUM7QUFFeEMsQ0FBQztBQU1ELE1BQU1PLGlCQUFtQyxHQUFHQyxJQUFBLElBQStCO0VBQUEsSUFBOUI7TUFBRUM7SUFBc0IsQ0FBQyxHQUFBRCxJQUFBO0lBQVBFLEtBQUssT0FBQUMseUJBQUEsQ0FBQW5ELE9BQUEsRUFBQWdELElBQUEsRUFBQXZELFNBQUE7RUFDaEUsb0JBQ0lOLE1BQUEsQ0FBQWEsT0FBQSxDQUFBd0IsYUFBQSxDQUFDakMsb0JBQUEsQ0FBQVMsT0FBbUIsTUFBQW9ELFNBQUEsQ0FBQXBELE9BQUE7SUFBQ3FELE9BQU87SUFBQ0MsU0FBUyxFQUFDO0VBQXNCLEdBQUtKLEtBQUssR0FDbEVELFdBQVcsQ0FBQ0osR0FBRyxDQUFFVSxJQUFJLElBQUs7SUFDdkIsb0JBQU9wRSxNQUFBLENBQUFhLE9BQUEsQ0FBQXdCLGFBQUEsQ0FBQ0ksd0JBQXdCO01BQUNrQixHQUFHLEVBQUVTLElBQUs7TUFBQzFCLFVBQVUsRUFBRTBCO0lBQTRCLENBQUUsQ0FBQztFQUMzRixDQUFDLENBQ2dCLENBQUM7QUFFOUIsQ0FBQztBQUFDLElBQUFDLFFBQUEsR0FBQUMsT0FBQSxDQUFBekQsT0FBQSxHQUVhK0MsaUJBQWlCIiwiaWdub3JlTGlzdCI6W119