diff options
author | Harrison Healey <harrisonmhealey@gmail.com> | 2016-03-28 09:41:03 -0400 |
---|---|---|
committer | Harrison Healey <harrisonmhealey@gmail.com> | 2016-03-29 15:18:26 -0400 |
commit | 3246d97d5ea00320f9d051318321e156eb0130a0 (patch) | |
tree | 6bca338fe860c76ef00f540f5848cfb3010f93f1 /webapp/components/form_error.jsx | |
parent | dcdea9f30b419eeb8d55ed9be3f824aaf27de50c (diff) | |
download | chat-3246d97d5ea00320f9d051318321e156eb0130a0.tar.gz chat-3246d97d5ea00320f9d051318321e156eb0130a0.tar.bz2 chat-3246d97d5ea00320f9d051318321e156eb0130a0.zip |
Added basic screen to add incoming webhooks
Diffstat (limited to 'webapp/components/form_error.jsx')
-rw-r--r-- | webapp/components/form_error.jsx | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/webapp/components/form_error.jsx b/webapp/components/form_error.jsx new file mode 100644 index 000000000..b7d1de16a --- /dev/null +++ b/webapp/components/form_error.jsx @@ -0,0 +1,50 @@ +// Copyright (c) 2016 Mattermost, Inc. All Rights Reserved. +// See License.txt for license information. + +import React from 'react'; + +export default class FormError extends React.Component { + static get propTypes() { + // accepts either a single error or an array of errors + return { + error: React.PropTypes.node, + errors: React.PropTypes.arrayOf(React.PropTypes.node) + }; + } + + static get defaultProps() { + return { + error: null, + errors: [] + }; + } + + render() { + if (!this.props.error && this.props.errors.length === 0) { + return null; + } + + // look for the first truthy error to display + let message = this.props.error; + + if (!message) { + for (const error of this.props.errors) { + if (error) { + message = error; + } + } + } + + if (!message) { + return null; + } + + return ( + <div className='form-group has-error'> + <label className='control-label'> + {message} + </label> + </div> + ); + } +} |