matrix-react-sdk
Version:
SDK for matrix.org using React
101 lines (79 loc) • 11.8 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _react = _interopRequireDefault(require("react"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var sdk = _interopRequireWildcard(require("../../../index"));
var _languageHandler = require("../../../languageHandler");
var _MatrixClientPeg = require("../../../MatrixClientPeg");
var _DateUtils = require("../../../DateUtils");
var _StyledCheckbox = _interopRequireDefault(require("../elements/StyledCheckbox"));
var _replaceableComponent = require("../../../utils/replaceableComponent");
var _dec, _class;
let DevicesPanelEntry = (_dec = (0, _replaceableComponent.replaceableComponent)("views.settings.DevicesPanelEntry"), _dec(_class = class DevicesPanelEntry extends _react.default.Component {
constructor(props) {
super(props);
this._unmounted = false;
this.onDeviceToggled = this.onDeviceToggled.bind(this);
this._onDisplayNameChanged = this._onDisplayNameChanged.bind(this);
}
componentWillUnmount() {
this._unmounted = true;
}
_onDisplayNameChanged(value) {
const device = this.props.device;
return _MatrixClientPeg.MatrixClientPeg.get().setDeviceDetails(device.device_id, {
display_name: value
}).catch(e => {
console.error("Error setting session display name", e);
throw new Error((0, _languageHandler._t)("Failed to set display name"));
});
}
onDeviceToggled() {
this.props.onDeviceToggled(this.props.device);
}
render() {
const EditableTextContainer = sdk.getComponent('elements.EditableTextContainer');
const device = this.props.device;
let lastSeen = "";
if (device.last_seen_ts) {
const lastSeenDate = (0, _DateUtils.formatDate)(new Date(device.last_seen_ts));
lastSeen = device.last_seen_ip + " @ " + lastSeenDate.toLocaleString();
}
let myDeviceClass = '';
if (device.device_id === _MatrixClientPeg.MatrixClientPeg.get().getDeviceId()) {
myDeviceClass = " mx_DevicesPanel_myDevice";
}
return /*#__PURE__*/_react.default.createElement("div", {
className: "mx_DevicesPanel_device" + myDeviceClass
}, /*#__PURE__*/_react.default.createElement("div", {
className: "mx_DevicesPanel_deviceId"
}, device.device_id), /*#__PURE__*/_react.default.createElement("div", {
className: "mx_DevicesPanel_deviceName"
}, /*#__PURE__*/_react.default.createElement(EditableTextContainer, {
initialValue: device.display_name,
onSubmit: this._onDisplayNameChanged,
placeholder: device.device_id
})), /*#__PURE__*/_react.default.createElement("div", {
className: "mx_DevicesPanel_lastSeen"
}, lastSeen), /*#__PURE__*/_react.default.createElement("div", {
className: "mx_DevicesPanel_deviceButtons"
}, /*#__PURE__*/_react.default.createElement(_StyledCheckbox.default, {
onChange: this.onDeviceToggled,
checked: this.props.selected
})));
}
}) || _class);
exports.default = DevicesPanelEntry;
DevicesPanelEntry.propTypes = {
device: _propTypes.default.object.isRequired,
onDeviceToggled: _propTypes.default.func
};
DevicesPanelEntry.defaultProps = {
onDeviceToggled: function () {}
};
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3ZpZXdzL3NldHRpbmdzL0RldmljZXNQYW5lbEVudHJ5LmpzIl0sIm5hbWVzIjpbIkRldmljZXNQYW5lbEVudHJ5IiwiUmVhY3QiLCJDb21wb25lbnQiLCJjb25zdHJ1Y3RvciIsInByb3BzIiwiX3VubW91bnRlZCIsIm9uRGV2aWNlVG9nZ2xlZCIsImJpbmQiLCJfb25EaXNwbGF5TmFtZUNoYW5nZWQiLCJjb21wb25lbnRXaWxsVW5tb3VudCIsInZhbHVlIiwiZGV2aWNlIiwiTWF0cml4Q2xpZW50UGVnIiwiZ2V0Iiwic2V0RGV2aWNlRGV0YWlscyIsImRldmljZV9pZCIsImRpc3BsYXlfbmFtZSIsImNhdGNoIiwiZSIsImNvbnNvbGUiLCJlcnJvciIsIkVycm9yIiwicmVuZGVyIiwiRWRpdGFibGVUZXh0Q29udGFpbmVyIiwic2RrIiwiZ2V0Q29tcG9uZW50IiwibGFzdFNlZW4iLCJsYXN0X3NlZW5fdHMiLCJsYXN0U2VlbkRhdGUiLCJEYXRlIiwibGFzdF9zZWVuX2lwIiwidG9Mb2NhbGVTdHJpbmciLCJteURldmljZUNsYXNzIiwiZ2V0RGV2aWNlSWQiLCJzZWxlY3RlZCIsInByb3BUeXBlcyIsIlByb3BUeXBlcyIsIm9iamVjdCIsImlzUmVxdWlyZWQiLCJmdW5jIiwiZGVmYXVsdFByb3BzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQWdCQTs7QUFDQTs7QUFFQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7OztJQUdxQkEsaUIsV0FEcEIsZ0RBQXFCLGtDQUFyQixDLGdCQUFELE1BQ3FCQSxpQkFEckIsU0FDK0NDLGVBQU1DLFNBRHJELENBQytEO0FBQzNEQyxFQUFBQSxXQUFXLENBQUNDLEtBQUQsRUFBUTtBQUNmLFVBQU1BLEtBQU47QUFFQSxTQUFLQyxVQUFMLEdBQWtCLEtBQWxCO0FBQ0EsU0FBS0MsZUFBTCxHQUF1QixLQUFLQSxlQUFMLENBQXFCQyxJQUFyQixDQUEwQixJQUExQixDQUF2QjtBQUNBLFNBQUtDLHFCQUFMLEdBQTZCLEtBQUtBLHFCQUFMLENBQTJCRCxJQUEzQixDQUFnQyxJQUFoQyxDQUE3QjtBQUNIOztBQUVERSxFQUFBQSxvQkFBb0IsR0FBRztBQUNuQixTQUFLSixVQUFMLEdBQWtCLElBQWxCO0FBQ0g7O0FBRURHLEVBQUFBLHFCQUFxQixDQUFDRSxLQUFELEVBQVE7QUFDekIsVUFBTUMsTUFBTSxHQUFHLEtBQUtQLEtBQUwsQ0FBV08sTUFBMUI7QUFDQSxXQUFPQyxpQ0FBZ0JDLEdBQWhCLEdBQXNCQyxnQkFBdEIsQ0FBdUNILE1BQU0sQ0FBQ0ksU0FBOUMsRUFBeUQ7QUFDNURDLE1BQUFBLFlBQVksRUFBRU47QUFEOEMsS0FBekQsRUFFSk8sS0FGSSxDQUVHQyxDQUFELElBQU87QUFDWkMsTUFBQUEsT0FBTyxDQUFDQyxLQUFSLENBQWMsb0NBQWQsRUFBb0RGLENBQXBEO0FBQ0EsWUFBTSxJQUFJRyxLQUFKLENBQVUseUJBQUcsNEJBQUgsQ0FBVixDQUFOO0FBQ0gsS0FMTSxDQUFQO0FBTUg7O0FBRURmLEVBQUFBLGVBQWUsR0FBRztBQUNkLFNBQUtGLEtBQUwsQ0FBV0UsZUFBWCxDQUEyQixLQUFLRixLQUFMLENBQVdPLE1BQXRDO0FBQ0g7O0FBRURXLEVBQUFBLE1BQU0sR0FBRztBQUNMLFVBQU1DLHFCQUFxQixHQUFHQyxHQUFHLENBQUNDLFlBQUosQ0FBaUIsZ0NBQWpCLENBQTlCO0FBRUEsVUFBTWQsTUFBTSxHQUFHLEtBQUtQLEtBQUwsQ0FBV08sTUFBMUI7QUFFQSxRQUFJZSxRQUFRLEdBQUcsRUFBZjs7QUFDQSxRQUFJZixNQUFNLENBQUNnQixZQUFYLEVBQXlCO0FBQ3JCLFlBQU1DLFlBQVksR0FBRywyQkFBVyxJQUFJQyxJQUFKLENBQVNsQixNQUFNLENBQUNnQixZQUFoQixDQUFYLENBQXJCO0FBQ0FELE1BQUFBLFFBQVEsR0FBR2YsTUFBTSxDQUFDbUIsWUFBUCxHQUFzQixLQUF0QixHQUNQRixZQUFZLENBQUNHLGNBQWIsRUFESjtBQUVIOztBQUVELFFBQUlDLGFBQWEsR0FBRyxFQUFwQjs7QUFDQSxRQUFJckIsTUFBTSxDQUFDSSxTQUFQLEtBQXFCSCxpQ0FBZ0JDLEdBQWhCLEdBQXNCb0IsV0FBdEIsRUFBekIsRUFBOEQ7QUFDMURELE1BQUFBLGFBQWEsR0FBRywyQkFBaEI7QUFDSDs7QUFFRCx3QkFDSTtBQUFLLE1BQUEsU0FBUyxFQUFFLDJCQUEyQkE7QUFBM0Msb0JBQ0k7QUFBSyxNQUFBLFNBQVMsRUFBQztBQUFmLE9BQ01yQixNQUFNLENBQUNJLFNBRGIsQ0FESixlQUlJO0FBQUssTUFBQSxTQUFTLEVBQUM7QUFBZixvQkFDSSw2QkFBQyxxQkFBRDtBQUF1QixNQUFBLFlBQVksRUFBRUosTUFBTSxDQUFDSyxZQUE1QztBQUNJLE1BQUEsUUFBUSxFQUFFLEtBQUtSLHFCQURuQjtBQUVJLE1BQUEsV0FBVyxFQUFFRyxNQUFNLENBQUNJO0FBRnhCLE1BREosQ0FKSixlQVVJO0FBQUssTUFBQSxTQUFTLEVBQUM7QUFBZixPQUNNVyxRQUROLENBVkosZUFhSTtBQUFLLE1BQUEsU0FBUyxFQUFDO0FBQWYsb0JBQ0ksNkJBQUMsdUJBQUQ7QUFBZ0IsTUFBQSxRQUFRLEVBQUUsS0FBS3BCLGVBQS9CO0FBQWdELE1BQUEsT0FBTyxFQUFFLEtBQUtGLEtBQUwsQ0FBVzhCO0FBQXBFLE1BREosQ0FiSixDQURKO0FBbUJIOztBQS9EMEQsQzs7QUFrRS9EbEMsaUJBQWlCLENBQUNtQyxTQUFsQixHQUE4QjtBQUMxQnhCLEVBQUFBLE1BQU0sRUFBRXlCLG1CQUFVQyxNQUFWLENBQWlCQyxVQURDO0FBRTFCaEMsRUFBQUEsZUFBZSxFQUFFOEIsbUJBQVVHO0FBRkQsQ0FBOUI7QUFLQXZDLGlCQUFpQixDQUFDd0MsWUFBbEIsR0FBaUM7QUFDN0JsQyxFQUFBQSxlQUFlLEVBQUUsWUFBVyxDQUFFO0FBREQsQ0FBakMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuQ29weXJpZ2h0IDIwMTYgT3Blbk1hcmtldCBMdGRcblxuTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbnlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbllvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cblVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbmRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbldJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxubGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4qL1xuXG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcblxuaW1wb3J0ICogYXMgc2RrIGZyb20gJy4uLy4uLy4uL2luZGV4JztcbmltcG9ydCB7IF90IH0gZnJvbSAnLi4vLi4vLi4vbGFuZ3VhZ2VIYW5kbGVyJztcbmltcG9ydCB7TWF0cml4Q2xpZW50UGVnfSBmcm9tICcuLi8uLi8uLi9NYXRyaXhDbGllbnRQZWcnO1xuaW1wb3J0IHtmb3JtYXREYXRlfSBmcm9tICcuLi8uLi8uLi9EYXRlVXRpbHMnO1xuaW1wb3J0IFN0eWxlZENoZWNrYm94IGZyb20gJy4uL2VsZW1lbnRzL1N0eWxlZENoZWNrYm94JztcbmltcG9ydCB7cmVwbGFjZWFibGVDb21wb25lbnR9IGZyb20gXCIuLi8uLi8uLi91dGlscy9yZXBsYWNlYWJsZUNvbXBvbmVudFwiO1xuXG5AcmVwbGFjZWFibGVDb21wb25lbnQoXCJ2aWV3cy5zZXR0aW5ncy5EZXZpY2VzUGFuZWxFbnRyeVwiKVxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRGV2aWNlc1BhbmVsRW50cnkgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICAgIGNvbnN0cnVjdG9yKHByb3BzKSB7XG4gICAgICAgIHN1cGVyKHByb3BzKTtcblxuICAgICAgICB0aGlzLl91bm1vdW50ZWQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5vbkRldmljZVRvZ2dsZWQgPSB0aGlzLm9uRGV2aWNlVG9nZ2xlZC5iaW5kKHRoaXMpO1xuICAgICAgICB0aGlzLl9vbkRpc3BsYXlOYW1lQ2hhbmdlZCA9IHRoaXMuX29uRGlzcGxheU5hbWVDaGFuZ2VkLmJpbmQodGhpcyk7XG4gICAgfVxuXG4gICAgY29tcG9uZW50V2lsbFVubW91bnQoKSB7XG4gICAgICAgIHRoaXMuX3VubW91bnRlZCA9IHRydWU7XG4gICAgfVxuXG4gICAgX29uRGlzcGxheU5hbWVDaGFuZ2VkKHZhbHVlKSB7XG4gICAgICAgIGNvbnN0IGRldmljZSA9IHRoaXMucHJvcHMuZGV2aWNlO1xuICAgICAgICByZXR1cm4gTWF0cml4Q2xpZW50UGVnLmdldCgpLnNldERldmljZURldGFpbHMoZGV2aWNlLmRldmljZV9pZCwge1xuICAgICAgICAgICAgZGlzcGxheV9uYW1lOiB2YWx1ZSxcbiAgICAgICAgfSkuY2F0Y2goKGUpID0+IHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXCJFcnJvciBzZXR0aW5nIHNlc3Npb24gZGlzcGxheSBuYW1lXCIsIGUpO1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKF90KFwiRmFpbGVkIHRvIHNldCBkaXNwbGF5IG5hbWVcIikpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBvbkRldmljZVRvZ2dsZWQoKSB7XG4gICAgICAgIHRoaXMucHJvcHMub25EZXZpY2VUb2dnbGVkKHRoaXMucHJvcHMuZGV2aWNlKTtcbiAgICB9XG5cbiAgICByZW5kZXIoKSB7XG4gICAgICAgIGNvbnN0IEVkaXRhYmxlVGV4dENvbnRhaW5lciA9IHNkay5nZXRDb21wb25lbnQoJ2VsZW1lbnRzLkVkaXRhYmxlVGV4dENvbnRhaW5lcicpO1xuXG4gICAgICAgIGNvbnN0IGRldmljZSA9IHRoaXMucHJvcHMuZGV2aWNlO1xuXG4gICAgICAgIGxldCBsYXN0U2VlbiA9IFwiXCI7XG4gICAgICAgIGlmIChkZXZpY2UubGFzdF9zZWVuX3RzKSB7XG4gICAgICAgICAgICBjb25zdCBsYXN0U2VlbkRhdGUgPSBmb3JtYXREYXRlKG5ldyBEYXRlKGRldmljZS5sYXN0X3NlZW5fdHMpKTtcbiAgICAgICAgICAgIGxhc3RTZWVuID0gZGV2aWNlLmxhc3Rfc2Vlbl9pcCArIFwiIEAgXCIgK1xuICAgICAgICAgICAgICAgIGxhc3RTZWVuRGF0ZS50b0xvY2FsZVN0cmluZygpO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IG15RGV2aWNlQ2xhc3MgPSAnJztcbiAgICAgICAgaWYgKGRldmljZS5kZXZpY2VfaWQgPT09IE1hdHJpeENsaWVudFBlZy5nZXQoKS5nZXREZXZpY2VJZCgpKSB7XG4gICAgICAgICAgICBteURldmljZUNsYXNzID0gXCIgbXhfRGV2aWNlc1BhbmVsX215RGV2aWNlXCI7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e1wibXhfRGV2aWNlc1BhbmVsX2RldmljZVwiICsgbXlEZXZpY2VDbGFzc30+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJteF9EZXZpY2VzUGFuZWxfZGV2aWNlSWRcIj5cbiAgICAgICAgICAgICAgICAgICAgeyBkZXZpY2UuZGV2aWNlX2lkIH1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm14X0RldmljZXNQYW5lbF9kZXZpY2VOYW1lXCI+XG4gICAgICAgICAgICAgICAgICAgIDxFZGl0YWJsZVRleHRDb250YWluZXIgaW5pdGlhbFZhbHVlPXtkZXZpY2UuZGlzcGxheV9uYW1lfVxuICAgICAgICAgICAgICAgICAgICAgICAgb25TdWJtaXQ9e3RoaXMuX29uRGlzcGxheU5hbWVDaGFuZ2VkfVxuICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9e2RldmljZS5kZXZpY2VfaWR9XG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJteF9EZXZpY2VzUGFuZWxfbGFzdFNlZW5cIj5cbiAgICAgICAgICAgICAgICAgICAgeyBsYXN0U2VlbiB9XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJteF9EZXZpY2VzUGFuZWxfZGV2aWNlQnV0dG9uc1wiPlxuICAgICAgICAgICAgICAgICAgICA8U3R5bGVkQ2hlY2tib3ggb25DaGFuZ2U9e3RoaXMub25EZXZpY2VUb2dnbGVkfSBjaGVja2VkPXt0aGlzLnByb3BzLnNlbGVjdGVkfSAvPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICk7XG4gICAgfVxufVxuXG5EZXZpY2VzUGFuZWxFbnRyeS5wcm9wVHlwZXMgPSB7XG4gICAgZGV2aWNlOiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWQsXG4gICAgb25EZXZpY2VUb2dnbGVkOiBQcm9wVHlwZXMuZnVuYyxcbn07XG5cbkRldmljZXNQYW5lbEVudHJ5LmRlZmF1bHRQcm9wcyA9IHtcbiAgICBvbkRldmljZVRvZ2dsZWQ6IGZ1bmN0aW9uKCkge30sXG59O1xuIl19