UNPKG

matrix-react-sdk

Version:
85 lines (82 loc) 13.2 kB
"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 _Modal = _interopRequireDefault(require("../../../Modal")); var _languageHandler = require("../../../languageHandler"); var _RoomUpgrade = require("../../../utils/RoomUpgrade"); var _BaseDialog = _interopRequireDefault(require("./BaseDialog")); var _ErrorDialog = _interopRequireDefault(require("./ErrorDialog")); var _DialogButtons = _interopRequireDefault(require("../elements/DialogButtons")); var _Spinner = _interopRequireDefault(require("../elements/Spinner")); /* Copyright 2024 New Vector Ltd. Copyright 2018-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 RoomUpgradeDialog extends _react.default.Component { constructor(...args) { super(...args); (0, _defineProperty2.default)(this, "targetVersion", void 0); (0, _defineProperty2.default)(this, "state", { busy: true }); (0, _defineProperty2.default)(this, "onCancelClick", () => { this.props.onFinished(false); }); (0, _defineProperty2.default)(this, "onUpgradeClick", () => { this.setState({ busy: true }); (0, _RoomUpgrade.upgradeRoom)(this.props.room, this.targetVersion, false, false).then(() => { this.props.onFinished(true); }).catch(err => { _Modal.default.createDialog(_ErrorDialog.default, { title: (0, _languageHandler._t)("room_settings|advanced|error_upgrade_title"), description: err && err.message ? err.message : (0, _languageHandler._t)("room_settings|advanced|error_upgrade_description") }); }).finally(() => { this.setState({ busy: false }); }); }); } async componentDidMount() { const recommended = await this.props.room.getRecommendedVersion(); this.targetVersion = recommended.version; this.setState({ busy: false }); } render() { let buttons; if (this.state.busy) { buttons = /*#__PURE__*/_react.default.createElement(_Spinner.default, null); } else { buttons = /*#__PURE__*/_react.default.createElement(_DialogButtons.default, { primaryButton: (0, _languageHandler._t)("room_settings|advanced|upgrade_button", { version: this.targetVersion }), primaryButtonClass: "danger", hasCancel: true, onPrimaryButtonClick: this.onUpgradeClick, onCancel: this.onCancelClick }); } return /*#__PURE__*/_react.default.createElement(_BaseDialog.default, { className: "mx_RoomUpgradeDialog", onFinished: this.props.onFinished, title: (0, _languageHandler._t)("room_settings|advanced|upgrade_dialog_title"), contentId: "mx_Dialog_content", hasCancel: true }, /*#__PURE__*/_react.default.createElement("p", null, (0, _languageHandler._t)("room_settings|advanced|upgrade_dialog_description")), /*#__PURE__*/_react.default.createElement("ol", null, /*#__PURE__*/_react.default.createElement("li", null, (0, _languageHandler._t)("room_settings|advanced|upgrade_dialog_description_1")), /*#__PURE__*/_react.default.createElement("li", null, (0, _languageHandler._t)("room_settings|advanced|upgrade_dialog_description_2")), /*#__PURE__*/_react.default.createElement("li", null, (0, _languageHandler._t)("room_settings|advanced|upgrade_dialog_description_3")), /*#__PURE__*/_react.default.createElement("li", null, (0, _languageHandler._t)("room_settings|advanced|upgrade_dialog_description_4"))), buttons); } } exports.default = RoomUpgradeDialog; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9Nb2RhbCIsIl9sYW5ndWFnZUhhbmRsZXIiLCJfUm9vbVVwZ3JhZGUiLCJfQmFzZURpYWxvZyIsIl9FcnJvckRpYWxvZyIsIl9EaWFsb2dCdXR0b25zIiwiX1NwaW5uZXIiLCJSb29tVXBncmFkZURpYWxvZyIsIlJlYWN0IiwiQ29tcG9uZW50IiwiY29uc3RydWN0b3IiLCJhcmdzIiwiX2RlZmluZVByb3BlcnR5MiIsImRlZmF1bHQiLCJidXN5IiwicHJvcHMiLCJvbkZpbmlzaGVkIiwic2V0U3RhdGUiLCJ1cGdyYWRlUm9vbSIsInJvb20iLCJ0YXJnZXRWZXJzaW9uIiwidGhlbiIsImNhdGNoIiwiZXJyIiwiTW9kYWwiLCJjcmVhdGVEaWFsb2ciLCJFcnJvckRpYWxvZyIsInRpdGxlIiwiX3QiLCJkZXNjcmlwdGlvbiIsIm1lc3NhZ2UiLCJmaW5hbGx5IiwiY29tcG9uZW50RGlkTW91bnQiLCJyZWNvbW1lbmRlZCIsImdldFJlY29tbWVuZGVkVmVyc2lvbiIsInZlcnNpb24iLCJyZW5kZXIiLCJidXR0b25zIiwic3RhdGUiLCJjcmVhdGVFbGVtZW50IiwicHJpbWFyeUJ1dHRvbiIsInByaW1hcnlCdXR0b25DbGFzcyIsImhhc0NhbmNlbCIsIm9uUHJpbWFyeUJ1dHRvbkNsaWNrIiwib25VcGdyYWRlQ2xpY2siLCJvbkNhbmNlbCIsIm9uQ2FuY2VsQ2xpY2siLCJjbGFzc05hbWUiLCJjb250ZW50SWQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvdmlld3MvZGlhbG9ncy9Sb29tVXBncmFkZURpYWxvZy50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMTgtMjAyMSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHlcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG5pbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBSb29tIH0gZnJvbSBcIm1hdHJpeC1qcy1zZGsvc3JjL21hdHJpeFwiO1xuXG5pbXBvcnQgTW9kYWwgZnJvbSBcIi4uLy4uLy4uL01vZGFsXCI7XG5pbXBvcnQgeyBfdCB9IGZyb20gXCIuLi8uLi8uLi9sYW5ndWFnZUhhbmRsZXJcIjtcbmltcG9ydCB7IHVwZ3JhZGVSb29tIH0gZnJvbSBcIi4uLy4uLy4uL3V0aWxzL1Jvb21VcGdyYWRlXCI7XG5pbXBvcnQgQmFzZURpYWxvZyBmcm9tIFwiLi9CYXNlRGlhbG9nXCI7XG5pbXBvcnQgRXJyb3JEaWFsb2cgZnJvbSBcIi4vRXJyb3JEaWFsb2dcIjtcbmltcG9ydCBEaWFsb2dCdXR0b25zIGZyb20gXCIuLi9lbGVtZW50cy9EaWFsb2dCdXR0b25zXCI7XG5pbXBvcnQgU3Bpbm5lciBmcm9tIFwiLi4vZWxlbWVudHMvU3Bpbm5lclwiO1xuXG5pbnRlcmZhY2UgSVByb3BzIHtcbiAgICByb29tOiBSb29tO1xuICAgIG9uRmluaXNoZWQodXBncmFkZT86IGJvb2xlYW4pOiB2b2lkO1xufVxuXG5pbnRlcmZhY2UgSVN0YXRlIHtcbiAgICBidXN5OiBib29sZWFuO1xufVxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBSb29tVXBncmFkZURpYWxvZyBleHRlbmRzIFJlYWN0LkNvbXBvbmVudDxJUHJvcHMsIElTdGF0ZT4ge1xuICAgIHByaXZhdGUgdGFyZ2V0VmVyc2lvbj86IHN0cmluZztcblxuICAgIHB1YmxpYyBzdGF0ZSA9IHtcbiAgICAgICAgYnVzeTogdHJ1ZSxcbiAgICB9O1xuXG4gICAgcHVibGljIGFzeW5jIGNvbXBvbmVudERpZE1vdW50KCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBjb25zdCByZWNvbW1lbmRlZCA9IGF3YWl0IHRoaXMucHJvcHMucm9vbS5nZXRSZWNvbW1lbmRlZFZlcnNpb24oKTtcbiAgICAgICAgdGhpcy50YXJnZXRWZXJzaW9uID0gcmVjb21tZW5kZWQudmVyc2lvbjtcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IGJ1c3k6IGZhbHNlIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgb25DYW5jZWxDbGljayA9ICgpOiB2b2lkID0+IHtcbiAgICAgICAgdGhpcy5wcm9wcy5vbkZpbmlzaGVkKGZhbHNlKTtcbiAgICB9O1xuXG4gICAgcHJpdmF0ZSBvblVwZ3JhZGVDbGljayA9ICgpOiB2b2lkID0+IHtcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IGJ1c3k6IHRydWUgfSk7XG4gICAgICAgIHVwZ3JhZGVSb29tKHRoaXMucHJvcHMucm9vbSwgdGhpcy50YXJnZXRWZXJzaW9uISwgZmFsc2UsIGZhbHNlKVxuICAgICAgICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMucHJvcHMub25GaW5pc2hlZCh0cnVlKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuY2F0Y2goKGVycikgPT4ge1xuICAgICAgICAgICAgICAgIE1vZGFsLmNyZWF0ZURpYWxvZyhFcnJvckRpYWxvZywge1xuICAgICAgICAgICAgICAgICAgICB0aXRsZTogX3QoXCJyb29tX3NldHRpbmdzfGFkdmFuY2VkfGVycm9yX3VwZ3JhZGVfdGl0bGVcIiksXG4gICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOlxuICAgICAgICAgICAgICAgICAgICAgICAgZXJyICYmIGVyci5tZXNzYWdlID8gZXJyLm1lc3NhZ2UgOiBfdChcInJvb21fc2V0dGluZ3N8YWR2YW5jZWR8ZXJyb3JfdXBncmFkZV9kZXNjcmlwdGlvblwiKSxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuZmluYWxseSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IGJ1c3k6IGZhbHNlIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgfTtcblxuICAgIHB1YmxpYyByZW5kZXIoKTogUmVhY3QuUmVhY3ROb2RlIHtcbiAgICAgICAgbGV0IGJ1dHRvbnM6IEpTWC5FbGVtZW50O1xuICAgICAgICBpZiAodGhpcy5zdGF0ZS5idXN5KSB7XG4gICAgICAgICAgICBidXR0b25zID0gPFNwaW5uZXIgLz47XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBidXR0b25zID0gKFxuICAgICAgICAgICAgICAgIDxEaWFsb2dCdXR0b25zXG4gICAgICAgICAgICAgICAgICAgIHByaW1hcnlCdXR0b249e190KFwicm9vbV9zZXR0aW5nc3xhZHZhbmNlZHx1cGdyYWRlX2J1dHRvblwiLCB7IHZlcnNpb246IHRoaXMudGFyZ2V0VmVyc2lvbiB9KX1cbiAgICAgICAgICAgICAgICAgICAgcHJpbWFyeUJ1dHRvbkNsYXNzPVwiZGFuZ2VyXCJcbiAgICAgICAgICAgICAgICAgICAgaGFzQ2FuY2VsPXt0cnVlfVxuICAgICAgICAgICAgICAgICAgICBvblByaW1hcnlCdXR0b25DbGljaz17dGhpcy5vblVwZ3JhZGVDbGlja31cbiAgICAgICAgICAgICAgICAgICAgb25DYW5jZWw9e3RoaXMub25DYW5jZWxDbGlja31cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICA8QmFzZURpYWxvZ1xuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cIm14X1Jvb21VcGdyYWRlRGlhbG9nXCJcbiAgICAgICAgICAgICAgICBvbkZpbmlzaGVkPXt0aGlzLnByb3BzLm9uRmluaXNoZWR9XG4gICAgICAgICAgICAgICAgdGl0bGU9e190KFwicm9vbV9zZXR0aW5nc3xhZHZhbmNlZHx1cGdyYWRlX2RpYWxvZ190aXRsZVwiKX1cbiAgICAgICAgICAgICAgICBjb250ZW50SWQ9XCJteF9EaWFsb2dfY29udGVudFwiXG4gICAgICAgICAgICAgICAgaGFzQ2FuY2VsPXt0cnVlfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxwPntfdChcInJvb21fc2V0dGluZ3N8YWR2YW5jZWR8dXBncmFkZV9kaWFsb2dfZGVzY3JpcHRpb25cIil9PC9wPlxuICAgICAgICAgICAgICAgIDxvbD5cbiAgICAgICAgICAgICAgICAgICAgPGxpPntfdChcInJvb21fc2V0dGluZ3N8YWR2YW5jZWR8dXBncmFkZV9kaWFsb2dfZGVzY3JpcHRpb25fMVwiKX08L2xpPlxuICAgICAgICAgICAgICAgICAgICA8bGk+e190KFwicm9vbV9zZXR0aW5nc3xhZHZhbmNlZHx1cGdyYWRlX2RpYWxvZ19kZXNjcmlwdGlvbl8yXCIpfTwvbGk+XG4gICAgICAgICAgICAgICAgICAgIDxsaT57X3QoXCJyb29tX3NldHRpbmdzfGFkdmFuY2VkfHVwZ3JhZGVfZGlhbG9nX2Rlc2NyaXB0aW9uXzNcIil9PC9saT5cbiAgICAgICAgICAgICAgICAgICAgPGxpPntfdChcInJvb21fc2V0dGluZ3N8YWR2YW5jZWR8dXBncmFkZV9kaWFsb2dfZGVzY3JpcHRpb25fNFwiKX08L2xpPlxuICAgICAgICAgICAgICAgIDwvb2w+XG4gICAgICAgICAgICAgICAge2J1dHRvbnN9XG4gICAgICAgICAgICA8L0Jhc2VEaWFsb2c+XG4gICAgICAgICk7XG4gICAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQVFBLElBQUFBLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUdBLElBQUFDLE1BQUEsR0FBQUYsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFFLGdCQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxZQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxXQUFBLEdBQUFMLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBSyxZQUFBLEdBQUFOLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBTSxj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