From 45d86ea7ca764c00dac2ae4c04a09bfc89eb23ab Mon Sep 17 00:00:00 2001 From: Aidan Gauland Date: Thu, 21 Dec 2017 23:48:46 +1300 Subject: [PATCH] Add DialogButton component A component to normalise the buttons in dialogs. --- .../views/elements/DialogButtons.js | 61 +++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 src/components/views/elements/DialogButtons.js diff --git a/src/components/views/elements/DialogButtons.js b/src/components/views/elements/DialogButtons.js new file mode 100644 index 0000000000..e730bfb377 --- /dev/null +++ b/src/components/views/elements/DialogButtons.js @@ -0,0 +1,61 @@ +/* +Copyright 2015, 2016 OpenMarket 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. +*/ + +"use strict"; + +import React from "react"; +import { _t } from '../../../languageHandler'; + +/** + * Basic container for buttons in modal dialogs. + */ +module.exports = React.createClass({ + displayName: "DialogButtons", + + propTypes: { + // The primary button which is styled differently and has default focus. + primaryButton: React.PropTypes.node.isRequired, + + // onClick handler for the primary button. + onPrimaryButtonClick: React.PropTypes.func.isRequired, + + // onClick handler for the cancel button. + onCancel: React.PropTypes.func.isRequired, + + focus: React.PropTypes.bool, + }, + + render: function() { + let primaryButtonClassName = "mx_Dialog_primary"; + if (this.props.primaryButtonClass) { + primaryButtonClassName += " " + this.props.primaryButtonClass; + } + return ( +
+ + { this.props.children } + +
+ ); + }, +});