summaryrefslogtreecommitdiffstats
path: root/webapp/components/change_url_modal.jsx
diff options
context:
space:
mode:
authorHarrison Healey <harrisonmhealey@gmail.com>2017-04-03 08:42:05 -0400
committerGeorge Goldberg <george@gberg.me>2017-04-03 13:42:05 +0100
commit36c74d7b47253249ec83aedacf409a93de1d182f (patch)
treed603e715c19b7d6173f430b7bc929ba3a57f45d7 /webapp/components/change_url_modal.jsx
parent06e09a05530699be1319a339d027eb508bf24617 (diff)
downloadchat-36c74d7b47253249ec83aedacf409a93de1d182f.tar.gz
chat-36c74d7b47253249ec83aedacf409a93de1d182f.tar.bz2
chat-36c74d7b47253249ec83aedacf409a93de1d182f.zip
PLT-5873 Renamed private groups to private channels (#5924)
* PLT-5873 Renamed private groups to private channels in web app * PLT-5873 Renamed private groups to private channels in server
Diffstat (limited to 'webapp/components/change_url_modal.jsx')
-rw-r--r--webapp/components/change_url_modal.jsx29
1 files changed, 21 insertions, 8 deletions
diff --git a/webapp/components/change_url_modal.jsx b/webapp/components/change_url_modal.jsx
index 509517678..fd5cdfd74 100644
--- a/webapp/components/change_url_modal.jsx
+++ b/webapp/components/change_url_modal.jsx
@@ -25,6 +25,7 @@ export default class ChangeUrlModal extends React.Component {
userEdit: false
};
}
+
componentWillReceiveProps(nextProps) {
// This check prevents the url being deleted when we re-render
// because of user status check
@@ -34,15 +35,18 @@ export default class ChangeUrlModal extends React.Component {
});
}
}
+
componentDidUpdate(prevProps) {
if (this.props.show === true && prevProps.show === false) {
ReactDOM.findDOMNode(this.refs.urlinput).select();
}
}
+
onURLChanged(e) {
const url = e.target.value.trim();
this.setState({currentURL: url.replace(/[^A-Za-z0-9-_]/g, '').toLowerCase(), userEdit: true});
}
+
getURLError(url) {
let error = []; //eslint-disable-line prefer-const
if (url.length < 2) {
@@ -101,6 +105,7 @@ export default class ChangeUrlModal extends React.Component {
}
return error;
}
+
doSubmit(e) {
e.preventDefault();
@@ -113,10 +118,12 @@ export default class ChangeUrlModal extends React.Component {
this.setState({urlError: '', userEdit: false});
this.props.onModalSubmit(url);
}
+
doCancel() {
this.setState({urlError: '', userEdit: false});
this.props.onModalDismissed();
}
+
render() {
let urlClass = 'input-group input-group--limit';
let error = null;
@@ -155,9 +162,19 @@ export default class ChangeUrlModal extends React.Component {
className='form-horizontal'
>
<Modal.Body>
- <div className='modal-intro'>{this.props.description}</div>
+ <div className='modal-intro'>
+ <FormattedMessage
+ id='channel_flow.changeUrlDescription'
+ defaultMessage='Some characters are now allowed in URLs and may be removed.'
+ />
+ </div>
<div className='form-group'>
- <label className='col-sm-2 form__label control-label'>{this.props.urlLabel}</label>
+ <label className='col-sm-2 form__label control-label'>
+ <FormattedMessage
+ id='change_url.urlLabel'
+ defaultMessage='Channel URL'
+ />
+ </label>
<div className='col-sm-10'>
<div className={urlClass}>
<OverlayTrigger
@@ -211,8 +228,6 @@ export default class ChangeUrlModal extends React.Component {
ChangeUrlModal.defaultProps = {
show: false,
title: 'Change URL',
- desciption: '',
- urlLabel: 'URL',
submitButtonText: 'Save',
currentURL: '',
serverError: null
@@ -220,10 +235,8 @@ ChangeUrlModal.defaultProps = {
ChangeUrlModal.propTypes = {
show: React.PropTypes.bool.isRequired,
- title: React.PropTypes.string,
- description: React.PropTypes.string,
- urlLabel: React.PropTypes.string,
- submitButtonText: React.PropTypes.string,
+ title: React.PropTypes.node,
+ submitButtonText: React.PropTypes.node,
currentURL: React.PropTypes.string,
serverError: React.PropTypes.node,
onModalSubmit: React.PropTypes.func.isRequired,