matrix-react-sdk
Version:
SDK for matrix.org using React
110 lines (92 loc) • 11.7 kB
JavaScript
"use strict";
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
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 _propTypes = _interopRequireDefault(require("prop-types"));
var _classnames = _interopRequireDefault(require("classnames"));
var sdk = _interopRequireWildcard(require("../../../index"));
var _languageHandler = require("../../../languageHandler");
/*
Copyright 2015, 2016 OpenMarket Ltd
Copyright 2017 New Vector Ltd.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
class QuestionDialog extends _react.default.Component {
constructor(...args) {
super(...args);
(0, _defineProperty2.default)(this, "onOk", () => {
this.props.onFinished(true);
});
(0, _defineProperty2.default)(this, "onCancel", () => {
this.props.onFinished(false);
});
}
render() {
const BaseDialog = sdk.getComponent('views.dialogs.BaseDialog');
const DialogButtons = sdk.getComponent('views.elements.DialogButtons');
let primaryButtonClass = "";
if (this.props.danger) {
primaryButtonClass = "danger";
}
return /*#__PURE__*/_react.default.createElement(BaseDialog, {
className: (0, _classnames.default)("mx_QuestionDialog", this.props.className),
onFinished: this.props.onFinished,
title: this.props.title,
contentId: "mx_Dialog_content",
headerImage: this.props.headerImage,
hasCancel: this.props.hasCancelButton,
fixedWidth: this.props.fixedWidth
}, /*#__PURE__*/_react.default.createElement("div", {
className: "mx_Dialog_content",
id: "mx_Dialog_content"
}, this.props.description), /*#__PURE__*/_react.default.createElement(DialogButtons, {
primaryButton: this.props.button || (0, _languageHandler._t)('OK'),
primaryButtonClass: primaryButtonClass,
primaryDisabled: this.props.buttonDisabled,
cancelButton: this.props.cancelButton,
hasCancel: this.props.hasCancelButton && !this.props.quitOnly,
onPrimaryButtonClick: this.onOk,
focus: this.props.focus,
onCancel: this.onCancel
}, this.props.extraButtons));
}
}
exports.default = QuestionDialog;
(0, _defineProperty2.default)(QuestionDialog, "propTypes", {
title: _propTypes.default.string,
description: _propTypes.default.node,
extraButtons: _propTypes.default.node,
button: _propTypes.default.string,
buttonDisabled: _propTypes.default.bool,
danger: _propTypes.default.bool,
focus: _propTypes.default.bool,
onFinished: _propTypes.default.func.isRequired,
headerImage: _propTypes.default.string,
quitOnly: _propTypes.default.bool,
// quitOnly doesn't show the cancel button just the quit [x].
fixedWidth: _propTypes.default.bool,
className: _propTypes.default.string
});
(0, _defineProperty2.default)(QuestionDialog, "defaultProps", {
title: "",
description: "",
extraButtons: null,
focus: true,
hasCancelButton: true,
danger: false,
quitOnly: false
});
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3ZpZXdzL2RpYWxvZ3MvUXVlc3Rpb25EaWFsb2cuanMiXSwibmFtZXMiOlsiUXVlc3Rpb25EaWFsb2ciLCJSZWFjdCIsIkNvbXBvbmVudCIsInByb3BzIiwib25GaW5pc2hlZCIsInJlbmRlciIsIkJhc2VEaWFsb2ciLCJzZGsiLCJnZXRDb21wb25lbnQiLCJEaWFsb2dCdXR0b25zIiwicHJpbWFyeUJ1dHRvbkNsYXNzIiwiZGFuZ2VyIiwiY2xhc3NOYW1lIiwidGl0bGUiLCJoZWFkZXJJbWFnZSIsImhhc0NhbmNlbEJ1dHRvbiIsImZpeGVkV2lkdGgiLCJkZXNjcmlwdGlvbiIsImJ1dHRvbiIsImJ1dHRvbkRpc2FibGVkIiwiY2FuY2VsQnV0dG9uIiwicXVpdE9ubHkiLCJvbk9rIiwiZm9jdXMiLCJvbkNhbmNlbCIsImV4dHJhQnV0dG9ucyIsIlByb3BUeXBlcyIsInN0cmluZyIsIm5vZGUiLCJib29sIiwiZnVuYyIsImlzUmVxdWlyZWQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFpQkE7O0FBQ0E7O0FBQ0E7O0FBRUE7O0FBQ0E7O0FBdEJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBU2UsTUFBTUEsY0FBTixTQUE2QkMsZUFBTUMsU0FBbkMsQ0FBNkM7QUFBQTtBQUFBO0FBQUEsZ0RBMEJqRCxNQUFNO0FBQ1QsV0FBS0MsS0FBTCxDQUFXQyxVQUFYLENBQXNCLElBQXRCO0FBQ0gsS0E1QnVEO0FBQUEsb0RBOEI3QyxNQUFNO0FBQ2IsV0FBS0QsS0FBTCxDQUFXQyxVQUFYLENBQXNCLEtBQXRCO0FBQ0gsS0FoQ3VEO0FBQUE7O0FBa0N4REMsRUFBQUEsTUFBTSxHQUFHO0FBQ0wsVUFBTUMsVUFBVSxHQUFHQyxHQUFHLENBQUNDLFlBQUosQ0FBaUIsMEJBQWpCLENBQW5CO0FBQ0EsVUFBTUMsYUFBYSxHQUFHRixHQUFHLENBQUNDLFlBQUosQ0FBaUIsOEJBQWpCLENBQXRCO0FBQ0EsUUFBSUUsa0JBQWtCLEdBQUcsRUFBekI7O0FBQ0EsUUFBSSxLQUFLUCxLQUFMLENBQVdRLE1BQWYsRUFBdUI7QUFDbkJELE1BQUFBLGtCQUFrQixHQUFHLFFBQXJCO0FBQ0g7O0FBQ0Qsd0JBQ0ksNkJBQUMsVUFBRDtBQUNJLE1BQUEsU0FBUyxFQUFFLHlCQUFXLG1CQUFYLEVBQWdDLEtBQUtQLEtBQUwsQ0FBV1MsU0FBM0MsQ0FEZjtBQUVJLE1BQUEsVUFBVSxFQUFFLEtBQUtULEtBQUwsQ0FBV0MsVUFGM0I7QUFHSSxNQUFBLEtBQUssRUFBRSxLQUFLRCxLQUFMLENBQVdVLEtBSHRCO0FBSUksTUFBQSxTQUFTLEVBQUMsbUJBSmQ7QUFLSSxNQUFBLFdBQVcsRUFBRSxLQUFLVixLQUFMLENBQVdXLFdBTDVCO0FBTUksTUFBQSxTQUFTLEVBQUUsS0FBS1gsS0FBTCxDQUFXWSxlQU4xQjtBQU9JLE1BQUEsVUFBVSxFQUFFLEtBQUtaLEtBQUwsQ0FBV2E7QUFQM0Isb0JBU0k7QUFBSyxNQUFBLFNBQVMsRUFBQyxtQkFBZjtBQUFtQyxNQUFBLEVBQUUsRUFBQztBQUF0QyxPQUNNLEtBQUtiLEtBQUwsQ0FBV2MsV0FEakIsQ0FUSixlQVlJLDZCQUFDLGFBQUQ7QUFBZSxNQUFBLGFBQWEsRUFBRSxLQUFLZCxLQUFMLENBQVdlLE1BQVgsSUFBcUIseUJBQUcsSUFBSCxDQUFuRDtBQUNJLE1BQUEsa0JBQWtCLEVBQUVSLGtCQUR4QjtBQUVJLE1BQUEsZUFBZSxFQUFFLEtBQUtQLEtBQUwsQ0FBV2dCLGNBRmhDO0FBR0ksTUFBQSxZQUFZLEVBQUUsS0FBS2hCLEtBQUwsQ0FBV2lCLFlBSDdCO0FBSUksTUFBQSxTQUFTLEVBQUUsS0FBS2pCLEtBQUwsQ0FBV1ksZUFBWCxJQUE4QixDQUFDLEtBQUtaLEtBQUwsQ0FBV2tCLFFBSnpEO0FBS0ksTUFBQSxvQkFBb0IsRUFBRSxLQUFLQyxJQUwvQjtBQU1JLE1BQUEsS0FBSyxFQUFFLEtBQUtuQixLQUFMLENBQVdvQixLQU50QjtBQU9JLE1BQUEsUUFBUSxFQUFFLEtBQUtDO0FBUG5CLE9BU00sS0FBS3JCLEtBQUwsQ0FBV3NCLFlBVGpCLENBWkosQ0FESjtBQTBCSDs7QUFuRXVEOzs7OEJBQXZDekIsYyxlQUNFO0FBQ2ZhLEVBQUFBLEtBQUssRUFBRWEsbUJBQVVDLE1BREY7QUFFZlYsRUFBQUEsV0FBVyxFQUFFUyxtQkFBVUUsSUFGUjtBQUdmSCxFQUFBQSxZQUFZLEVBQUVDLG1CQUFVRSxJQUhUO0FBSWZWLEVBQUFBLE1BQU0sRUFBRVEsbUJBQVVDLE1BSkg7QUFLZlIsRUFBQUEsY0FBYyxFQUFFTyxtQkFBVUcsSUFMWDtBQU1mbEIsRUFBQUEsTUFBTSxFQUFFZSxtQkFBVUcsSUFOSDtBQU9mTixFQUFBQSxLQUFLLEVBQUVHLG1CQUFVRyxJQVBGO0FBUWZ6QixFQUFBQSxVQUFVLEVBQUVzQixtQkFBVUksSUFBVixDQUFlQyxVQVJaO0FBU2ZqQixFQUFBQSxXQUFXLEVBQUVZLG1CQUFVQyxNQVRSO0FBVWZOLEVBQUFBLFFBQVEsRUFBRUssbUJBQVVHLElBVkw7QUFVVztBQUMxQmIsRUFBQUEsVUFBVSxFQUFFVSxtQkFBVUcsSUFYUDtBQVlmakIsRUFBQUEsU0FBUyxFQUFFYyxtQkFBVUM7QUFaTixDOzhCQURGM0IsYyxrQkFnQks7QUFDbEJhLEVBQUFBLEtBQUssRUFBRSxFQURXO0FBRWxCSSxFQUFBQSxXQUFXLEVBQUUsRUFGSztBQUdsQlEsRUFBQUEsWUFBWSxFQUFFLElBSEk7QUFJbEJGLEVBQUFBLEtBQUssRUFBRSxJQUpXO0FBS2xCUixFQUFBQSxlQUFlLEVBQUUsSUFMQztBQU1sQkosRUFBQUEsTUFBTSxFQUFFLEtBTlU7QUFPbEJVLEVBQUFBLFFBQVEsRUFBRTtBQVBRLEMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuQ29weXJpZ2h0IDIwMTUsIDIwMTYgT3Blbk1hcmtldCBMdGRcbkNvcHlyaWdodCAyMDE3IE5ldyBWZWN0b3IgTHRkLlxuXG5MaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xueW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG5TZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG5saW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiovXG5cbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IGNsYXNzTmFtZXMgZnJvbSBcImNsYXNzbmFtZXNcIjtcblxuaW1wb3J0ICogYXMgc2RrIGZyb20gJy4uLy4uLy4uL2luZGV4JztcbmltcG9ydCB7IF90IH0gZnJvbSAnLi4vLi4vLi4vbGFuZ3VhZ2VIYW5kbGVyJztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgUXVlc3Rpb25EaWFsb2cgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICAgIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgICAgIHRpdGxlOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICBkZXNjcmlwdGlvbjogUHJvcFR5cGVzLm5vZGUsXG4gICAgICAgIGV4dHJhQnV0dG9uczogUHJvcFR5cGVzLm5vZGUsXG4gICAgICAgIGJ1dHRvbjogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgICAgYnV0dG9uRGlzYWJsZWQ6IFByb3BUeXBlcy5ib29sLFxuICAgICAgICBkYW5nZXI6IFByb3BUeXBlcy5ib29sLFxuICAgICAgICBmb2N1czogUHJvcFR5cGVzLmJvb2wsXG4gICAgICAgIG9uRmluaXNoZWQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICAgIGhlYWRlckltYWdlOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICBxdWl0T25seTogUHJvcFR5cGVzLmJvb2wsIC8vIHF1aXRPbmx5IGRvZXNuJ3Qgc2hvdyB0aGUgY2FuY2VsIGJ1dHRvbiBqdXN0IHRoZSBxdWl0IFt4XS5cbiAgICAgICAgZml4ZWRXaWR0aDogUHJvcFR5cGVzLmJvb2wsXG4gICAgICAgIGNsYXNzTmFtZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICB9O1xuXG4gICAgc3RhdGljIGRlZmF1bHRQcm9wcyA9IHtcbiAgICAgICAgdGl0bGU6IFwiXCIsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBcIlwiLFxuICAgICAgICBleHRyYUJ1dHRvbnM6IG51bGwsXG4gICAgICAgIGZvY3VzOiB0cnVlLFxuICAgICAgICBoYXNDYW5jZWxCdXR0b246IHRydWUsXG4gICAgICAgIGRhbmdlcjogZmFsc2UsXG4gICAgICAgIHF1aXRPbmx5OiBmYWxzZSxcbiAgICB9O1xuXG4gICAgb25PayA9ICgpID0+IHtcbiAgICAgICAgdGhpcy5wcm9wcy5vbkZpbmlzaGVkKHRydWUpO1xuICAgIH07XG5cbiAgICBvbkNhbmNlbCA9ICgpID0+IHtcbiAgICAgICAgdGhpcy5wcm9wcy5vbkZpbmlzaGVkKGZhbHNlKTtcbiAgICB9O1xuXG4gICAgcmVuZGVyKCkge1xuICAgICAgICBjb25zdCBCYXNlRGlhbG9nID0gc2RrLmdldENvbXBvbmVudCgndmlld3MuZGlhbG9ncy5CYXNlRGlhbG9nJyk7XG4gICAgICAgIGNvbnN0IERpYWxvZ0J1dHRvbnMgPSBzZGsuZ2V0Q29tcG9uZW50KCd2aWV3cy5lbGVtZW50cy5EaWFsb2dCdXR0b25zJyk7XG4gICAgICAgIGxldCBwcmltYXJ5QnV0dG9uQ2xhc3MgPSBcIlwiO1xuICAgICAgICBpZiAodGhpcy5wcm9wcy5kYW5nZXIpIHtcbiAgICAgICAgICAgIHByaW1hcnlCdXR0b25DbGFzcyA9IFwiZGFuZ2VyXCI7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDxCYXNlRGlhbG9nXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWVzKFwibXhfUXVlc3Rpb25EaWFsb2dcIiwgdGhpcy5wcm9wcy5jbGFzc05hbWUpfVxuICAgICAgICAgICAgICAgIG9uRmluaXNoZWQ9e3RoaXMucHJvcHMub25GaW5pc2hlZH1cbiAgICAgICAgICAgICAgICB0aXRsZT17dGhpcy5wcm9wcy50aXRsZX1cbiAgICAgICAgICAgICAgICBjb250ZW50SWQ9J214X0RpYWxvZ19jb250ZW50J1xuICAgICAgICAgICAgICAgIGhlYWRlckltYWdlPXt0aGlzLnByb3BzLmhlYWRlckltYWdlfVxuICAgICAgICAgICAgICAgIGhhc0NhbmNlbD17dGhpcy5wcm9wcy5oYXNDYW5jZWxCdXR0b259XG4gICAgICAgICAgICAgICAgZml4ZWRXaWR0aD17dGhpcy5wcm9wcy5maXhlZFdpZHRofVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXhfRGlhbG9nX2NvbnRlbnRcIiBpZD0nbXhfRGlhbG9nX2NvbnRlbnQnPlxuICAgICAgICAgICAgICAgICAgICB7IHRoaXMucHJvcHMuZGVzY3JpcHRpb24gfVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxEaWFsb2dCdXR0b25zIHByaW1hcnlCdXR0b249e3RoaXMucHJvcHMuYnV0dG9uIHx8IF90KCdPSycpfVxuICAgICAgICAgICAgICAgICAgICBwcmltYXJ5QnV0dG9uQ2xhc3M9e3ByaW1hcnlCdXR0b25DbGFzc31cbiAgICAgICAgICAgICAgICAgICAgcHJpbWFyeURpc2FibGVkPXt0aGlzLnByb3BzLmJ1dHRvbkRpc2FibGVkfVxuICAgICAgICAgICAgICAgICAgICBjYW5jZWxCdXR0b249e3RoaXMucHJvcHMuY2FuY2VsQnV0dG9ufVxuICAgICAgICAgICAgICAgICAgICBoYXNDYW5jZWw9e3RoaXMucHJvcHMuaGFzQ2FuY2VsQnV0dG9uICYmICF0aGlzLnByb3BzLnF1aXRPbmx5fVxuICAgICAgICAgICAgICAgICAgICBvblByaW1hcnlCdXR0b25DbGljaz17dGhpcy5vbk9rfVxuICAgICAgICAgICAgICAgICAgICBmb2N1cz17dGhpcy5wcm9wcy5mb2N1c31cbiAgICAgICAgICAgICAgICAgICAgb25DYW5jZWw9e3RoaXMub25DYW5jZWx9XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7IHRoaXMucHJvcHMuZXh0cmFCdXR0b25zIH1cbiAgICAgICAgICAgICAgICA8L0RpYWxvZ0J1dHRvbnM+XG4gICAgICAgICAgICA8L0Jhc2VEaWFsb2c+XG4gICAgICAgICk7XG4gICAgfVxufVxuIl19