matrix-react-sdk
Version:
SDK for matrix.org using React
74 lines (70 loc) • 9.54 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
exports.extractErrorMessageFromError = extractErrorMessageFromError;
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _react = _interopRequireDefault(require("react"));
var _languageHandler = require("../../../languageHandler");
var _BaseDialog = _interopRequireDefault(require("./BaseDialog"));
/*
Copyright 2024 New Vector Ltd.
Copyright 2015, 2016 OpenMarket Ltd
SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only
Please see LICENSE files in the repository root for full details.
*/
/*
* Usage:
* Modal.createDialog(ErrorDialog, {
* title: "some text", (default: "Error")
* description: "some more text",
* button: "Button Text",
* onFinished: someFunction,
* focus: true|false (default: true)
* });
*/
/**
* Get a user friendly error message string from a given error. Useful for the
* `description` prop of the `ErrorDialog`
* @param err Error object in question to extract a useful message from. To make it easy
* to use with try/catch, this is typed as `any` because try/catch will type
* the error as `unknown`. And in any case we can use the fallback message.
* @param translatedFallbackMessage The fallback message to be used if the error doesn't have any message
* @returns a user friendly error message string from a given error
*/
function extractErrorMessageFromError(err, translatedFallbackMessage) {
return err instanceof _languageHandler.UserFriendlyError && err.translatedMessage || err instanceof Error && err.message || translatedFallbackMessage;
}
class ErrorDialog extends _react.default.Component {
constructor(...args) {
super(...args);
(0, _defineProperty2.default)(this, "onClick", () => {
this.props.onFinished(true);
});
}
render() {
return /*#__PURE__*/_react.default.createElement(_BaseDialog.default, {
className: "mx_ErrorDialog",
onFinished: this.props.onFinished,
title: this.props.title || (0, _languageHandler._t)("common|error"),
headerImage: this.props.headerImage,
contentId: "mx_Dialog_content"
}, /*#__PURE__*/_react.default.createElement("div", {
className: "mx_Dialog_content",
id: "mx_Dialog_content"
}, this.props.description || (0, _languageHandler._t)("error|dialog_description_default")), /*#__PURE__*/_react.default.createElement("div", {
className: "mx_Dialog_buttons"
}, /*#__PURE__*/_react.default.createElement("button", {
className: "mx_Dialog_primary",
onClick: this.onClick,
autoFocus: this.props.focus
}, this.props.button || (0, _languageHandler._t)("action|ok"))));
}
}
exports.default = ErrorDialog;
(0, _defineProperty2.default)(ErrorDialog, "defaultProps", {
focus: true
});
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9sYW5ndWFnZUhhbmRsZXIiLCJfQmFzZURpYWxvZyIsImV4dHJhY3RFcnJvck1lc3NhZ2VGcm9tRXJyb3IiLCJlcnIiLCJ0cmFuc2xhdGVkRmFsbGJhY2tNZXNzYWdlIiwiVXNlckZyaWVuZGx5RXJyb3IiLCJ0cmFuc2xhdGVkTWVzc2FnZSIsIkVycm9yIiwibWVzc2FnZSIsIkVycm9yRGlhbG9nIiwiUmVhY3QiLCJDb21wb25lbnQiLCJjb25zdHJ1Y3RvciIsImFyZ3MiLCJfZGVmaW5lUHJvcGVydHkyIiwiZGVmYXVsdCIsInByb3BzIiwib25GaW5pc2hlZCIsInJlbmRlciIsImNyZWF0ZUVsZW1lbnQiLCJjbGFzc05hbWUiLCJ0aXRsZSIsIl90IiwiaGVhZGVySW1hZ2UiLCJjb250ZW50SWQiLCJpZCIsImRlc2NyaXB0aW9uIiwib25DbGljayIsImF1dG9Gb2N1cyIsImZvY3VzIiwiYnV0dG9uIiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3ZpZXdzL2RpYWxvZ3MvRXJyb3JEaWFsb2cudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDE1LCAyMDE2IE9wZW5NYXJrZXQgTHRkXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seVxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi8qXG4gKiBVc2FnZTpcbiAqIE1vZGFsLmNyZWF0ZURpYWxvZyhFcnJvckRpYWxvZywge1xuICogICB0aXRsZTogXCJzb21lIHRleHRcIiwgKGRlZmF1bHQ6IFwiRXJyb3JcIilcbiAqICAgZGVzY3JpcHRpb246IFwic29tZSBtb3JlIHRleHRcIixcbiAqICAgYnV0dG9uOiBcIkJ1dHRvbiBUZXh0XCIsXG4gKiAgIG9uRmluaXNoZWQ6IHNvbWVGdW5jdGlvbixcbiAqICAgZm9jdXM6IHRydWV8ZmFsc2UgKGRlZmF1bHQ6IHRydWUpXG4gKiB9KTtcbiAqL1xuXG5pbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5cbmltcG9ydCB7IF90LCBVc2VyRnJpZW5kbHlFcnJvciB9IGZyb20gXCIuLi8uLi8uLi9sYW5ndWFnZUhhbmRsZXJcIjtcbmltcG9ydCBCYXNlRGlhbG9nIGZyb20gXCIuL0Jhc2VEaWFsb2dcIjtcblxuLyoqXG4gKiBHZXQgYSB1c2VyIGZyaWVuZGx5IGVycm9yIG1lc3NhZ2Ugc3RyaW5nIGZyb20gYSBnaXZlbiBlcnJvci4gVXNlZnVsIGZvciB0aGVcbiAqIGBkZXNjcmlwdGlvbmAgcHJvcCBvZiB0aGUgYEVycm9yRGlhbG9nYFxuICogQHBhcmFtIGVyciBFcnJvciBvYmplY3QgaW4gcXVlc3Rpb24gdG8gZXh0cmFjdCBhIHVzZWZ1bCBtZXNzYWdlIGZyb20uIFRvIG1ha2UgaXQgZWFzeVxuICogdG8gdXNlIHdpdGggdHJ5L2NhdGNoLCB0aGlzIGlzIHR5cGVkIGFzIGBhbnlgIGJlY2F1c2UgdHJ5L2NhdGNoIHdpbGwgdHlwZVxuICogdGhlIGVycm9yIGFzIGB1bmtub3duYC4gQW5kIGluIGFueSBjYXNlIHdlIGNhbiB1c2UgdGhlIGZhbGxiYWNrIG1lc3NhZ2UuXG4gKiBAcGFyYW0gdHJhbnNsYXRlZEZhbGxiYWNrTWVzc2FnZSBUaGUgZmFsbGJhY2sgbWVzc2FnZSB0byBiZSB1c2VkIGlmIHRoZSBlcnJvciBkb2Vzbid0IGhhdmUgYW55IG1lc3NhZ2VcbiAqIEByZXR1cm5zIGEgdXNlciBmcmllbmRseSBlcnJvciBtZXNzYWdlIHN0cmluZyBmcm9tIGEgZ2l2ZW4gZXJyb3JcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGV4dHJhY3RFcnJvck1lc3NhZ2VGcm9tRXJyb3IoZXJyOiBhbnksIHRyYW5zbGF0ZWRGYWxsYmFja01lc3NhZ2U6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIChcbiAgICAgICAgKGVyciBpbnN0YW5jZW9mIFVzZXJGcmllbmRseUVycm9yICYmIGVyci50cmFuc2xhdGVkTWVzc2FnZSkgfHxcbiAgICAgICAgKGVyciBpbnN0YW5jZW9mIEVycm9yICYmIGVyci5tZXNzYWdlKSB8fFxuICAgICAgICB0cmFuc2xhdGVkRmFsbGJhY2tNZXNzYWdlXG4gICAgKTtcbn1cblxuaW50ZXJmYWNlIElQcm9wcyB7XG4gICAgb25GaW5pc2hlZDogKHN1Y2Nlc3M/OiBib29sZWFuKSA9PiB2b2lkO1xuICAgIHRpdGxlPzogc3RyaW5nO1xuICAgIGRlc2NyaXB0aW9uPzogUmVhY3QuUmVhY3ROb2RlO1xuICAgIGJ1dHRvbj86IHN0cmluZztcbiAgICBmb2N1cz86IGJvb2xlYW47XG4gICAgaGVhZGVySW1hZ2U/OiBzdHJpbmc7XG59XG5cbmludGVyZmFjZSBJU3RhdGUge1xuICAgIG9uRmluaXNoZWQ6IChzdWNjZXNzOiBib29sZWFuKSA9PiB2b2lkO1xufVxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBFcnJvckRpYWxvZyBleHRlbmRzIFJlYWN0LkNvbXBvbmVudDxJUHJvcHMsIElTdGF0ZT4ge1xuICAgIHB1YmxpYyBzdGF0aWMgZGVmYXVsdFByb3BzOiBQYXJ0aWFsPElQcm9wcz4gPSB7XG4gICAgICAgIGZvY3VzOiB0cnVlLFxuICAgIH07XG5cbiAgICBwcml2YXRlIG9uQ2xpY2sgPSAoKTogdm9pZCA9PiB7XG4gICAgICAgIHRoaXMucHJvcHMub25GaW5pc2hlZCh0cnVlKTtcbiAgICB9O1xuXG4gICAgcHVibGljIHJlbmRlcigpOiBSZWFjdC5SZWFjdE5vZGUge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgPEJhc2VEaWFsb2dcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJteF9FcnJvckRpYWxvZ1wiXG4gICAgICAgICAgICAgICAgb25GaW5pc2hlZD17dGhpcy5wcm9wcy5vbkZpbmlzaGVkfVxuICAgICAgICAgICAgICAgIHRpdGxlPXt0aGlzLnByb3BzLnRpdGxlIHx8IF90KFwiY29tbW9ufGVycm9yXCIpfVxuICAgICAgICAgICAgICAgIGhlYWRlckltYWdlPXt0aGlzLnByb3BzLmhlYWRlckltYWdlfVxuICAgICAgICAgICAgICAgIGNvbnRlbnRJZD1cIm14X0RpYWxvZ19jb250ZW50XCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm14X0RpYWxvZ19jb250ZW50XCIgaWQ9XCJteF9EaWFsb2dfY29udGVudFwiPlxuICAgICAgICAgICAgICAgICAgICB7dGhpcy5wcm9wcy5kZXNjcmlwdGlvbiB8fCBfdChcImVycm9yfGRpYWxvZ19kZXNjcmlwdGlvbl9kZWZhdWx0XCIpfVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXhfRGlhbG9nX2J1dHRvbnNcIj5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzc05hbWU9XCJteF9EaWFsb2dfcHJpbWFyeVwiIG9uQ2xpY2s9e3RoaXMub25DbGlja30gYXV0b0ZvY3VzPXt0aGlzLnByb3BzLmZvY3VzfT5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt0aGlzLnByb3BzLmJ1dHRvbiB8fCBfdChcImFjdGlvbnxva1wiKX1cbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L0Jhc2VEaWFsb2c+XG4gICAgICAgICk7XG4gICAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFtQkEsSUFBQUEsTUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBRUEsSUFBQUMsZ0JBQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLFdBQUEsR0FBQUgsc0JBQUEsQ0FBQUMsT0FBQTtBQXRCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFPQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDTyxTQUFTRyw0QkFBNEJBLENBQUNDLEdBQVEsRUFBRUMseUJBQWlDLEVBQVU7RUFDOUYsT0FDS0QsR0FBRyxZQUFZRSxrQ0FBaUIsSUFBSUYsR0FBRyxDQUFDRyxpQkFBaUIsSUFDekRILEdBQUcsWUFBWUksS0FBSyxJQUFJSixHQUFHLENBQUNLLE9BQVEsSUFDckNKLHlCQUF5QjtBQUVqQztBQWVlLE1BQU1LLFdBQVcsU0FBU0MsY0FBSyxDQUFDQyxTQUFTLENBQWlCO0VBQUFDLFlBQUEsR0FBQUMsSUFBQTtJQUFBLFNBQUFBLElBQUE7SUFBQSxJQUFBQyxnQkFBQSxDQUFBQyxPQUFBLG1CQUtuRCxNQUFZO01BQzFCLElBQUksQ0FBQ0MsS0FBSyxDQUFDQyxVQUFVLENBQUMsSUFBSSxDQUFDO0lBQy9CLENBQUM7RUFBQTtFQUVNQyxNQUFNQSxDQUFBLEVBQW9CO0lBQzdCLG9CQUNJckIsTUFBQSxDQUFBa0IsT0FBQSxDQUFBSSxhQUFBLENBQUNsQixXQUFBLENBQUFjLE9BQVU7TUFDUEssU0FBUyxFQUFDLGdCQUFnQjtNQUMxQkgsVUFBVSxFQUFFLElBQUksQ0FBQ0QsS0FBSyxDQUFDQyxVQUFXO01BQ2xDSSxLQUFLLEVBQUUsSUFBSSxDQUFDTCxLQUFLLENBQUNLLEtBQUssSUFBSSxJQUFBQyxtQkFBRSxFQUFDLGNBQWMsQ0FBRTtNQUM5Q0MsV0FBVyxFQUFFLElBQUksQ0FBQ1AsS0FBSyxDQUFDTyxXQUFZO01BQ3BDQyxTQUFTLEVBQUM7SUFBbUIsZ0JBRTdCM0IsTUFBQSxDQUFBa0IsT0FBQSxDQUFBSSxhQUFBO01BQUtDLFNBQVMsRUFBQyxtQkFBbUI7TUFBQ0ssRUFBRSxFQUFDO0lBQW1CLEdBQ3BELElBQUksQ0FBQ1QsS0FBSyxDQUFDVSxXQUFXLElBQUksSUFBQUosbUJBQUUsRUFBQyxrQ0FBa0MsQ0FDL0QsQ0FBQyxlQUNOekIsTUFBQSxDQUFBa0IsT0FBQSxDQUFBSSxhQUFBO01BQUtDLFNBQVMsRUFBQztJQUFtQixnQkFDOUJ2QixNQUFBLENBQUFrQixPQUFBLENBQUFJLGFBQUE7TUFBUUMsU0FBUyxFQUFDLG1CQUFtQjtNQUFDTyxPQUFPLEVBQUUsSUFBSSxDQUFDQSxPQUFRO01BQUNDLFNBQVMsRUFBRSxJQUFJLENBQUNaLEtBQUssQ0FBQ2E7SUFBTSxHQUNwRixJQUFJLENBQUNiLEtBQUssQ0FBQ2MsTUFBTSxJQUFJLElBQUFSLG1CQUFFLEVBQUMsV0FBVyxDQUNoQyxDQUNQLENBQ0csQ0FBQztFQUVyQjtBQUNKO0FBQUNTLE9BQUEsQ0FBQWhCLE9BQUEsR0FBQU4sV0FBQTtBQUFBLElBQUFLLGdCQUFBLENBQUFDLE9BQUEsRUE3Qm9CTixXQUFXLGtCQUNrQjtFQUMxQ29CLEtBQUssRUFBRTtBQUNYLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=