summaryrefslogtreecommitdiffstats
path: root/webapp/components/edit_channel_purpose_modal.jsx
diff options
context:
space:
mode:
Diffstat (limited to 'webapp/components/edit_channel_purpose_modal.jsx')
-rw-r--r--webapp/components/edit_channel_purpose_modal.jsx188
1 files changed, 0 insertions, 188 deletions
diff --git a/webapp/components/edit_channel_purpose_modal.jsx b/webapp/components/edit_channel_purpose_modal.jsx
deleted file mode 100644
index c00b30c49..000000000
--- a/webapp/components/edit_channel_purpose_modal.jsx
+++ /dev/null
@@ -1,188 +0,0 @@
-// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
-// See License.txt for license information.
-
-import PreferenceStore from 'stores/preference_store.jsx';
-
-import Constants from 'utils/constants.jsx';
-import * as Utils from 'utils/utils.jsx';
-
-import PropTypes from 'prop-types';
-
-import React from 'react';
-import {Modal} from 'react-bootstrap';
-import {FormattedMessage} from 'react-intl';
-import {updateChannelPurpose} from 'actions/channel_actions.jsx';
-
-export default class EditChannelPurposeModal extends React.Component {
- constructor(props) {
- super(props);
-
- this.handleHide = this.handleHide.bind(this);
- this.handleSave = this.handleSave.bind(this);
- this.handleKeyDown = this.handleKeyDown.bind(this);
- this.onPreferenceChange = this.onPreferenceChange.bind(this);
-
- this.ctrlSend = PreferenceStore.getBool(Constants.Preferences.CATEGORY_ADVANCED_SETTINGS, 'send_on_ctrl_enter');
-
- this.state = {
- serverError: '',
- show: true,
- submitted: false
- };
- }
-
- componentDidMount() {
- PreferenceStore.addChangeListener(this.onPreferenceChange);
- Utils.placeCaretAtEnd(this.refs.purpose);
- }
-
- componentWillUnmount() {
- PreferenceStore.removeChangeListener(this.onPreferenceChange);
- }
-
- handleHide() {
- this.setState({show: false});
- }
-
- onPreferenceChange() {
- this.ctrlSend = PreferenceStore.getBool(Constants.Preferences.CATEGORY_ADVANCED_SETTINGS, 'send_on_ctrl_enter');
- }
-
- handleKeyDown(e) {
- if (this.ctrlSend && e.keyCode === Constants.KeyCodes.ENTER && e.ctrlKey) {
- e.preventDefault();
- this.handleSave(e);
- } else if (!this.ctrlSend && e.keyCode === Constants.KeyCodes.ENTER && !e.shiftKey && !e.altKey) {
- e.preventDefault();
- this.handleSave(e);
- }
- }
-
- handleSave() {
- if (!this.props.channel) {
- return;
- }
-
- this.setState({submitted: true});
-
- updateChannelPurpose(
- this.props.channel.id,
- this.refs.purpose.value.trim(),
- () => {
- this.handleHide();
- },
- (err) => {
- if (err.id === 'api.context.invalid_param.app_error') {
- this.setState({serverError: Utils.localizeMessage('edit_channel_purpose_modal.error', 'This channel purpose is too long, please enter a shorter one')});
- } else {
- this.setState({serverError: err.message});
- }
- }
- );
- }
-
- render() {
- let serverError = null;
- if (this.state.serverError) {
- serverError = (
- <div className='form-group has-error'>
- <br/>
- <label className='control-label'>{this.state.serverError}</label>
- </div>
- );
- }
-
- let title = (
- <span>
- <FormattedMessage
- id='edit_channel_purpose_modal.title1'
- defaultMessage='Edit Purpose'
- />
- </span>
- );
- if (this.props.channel.display_name) {
- title = (
- <span>
- <FormattedMessage
- id='edit_channel_purpose_modal.title2'
- defaultMessage='Edit Purpose for '
- />
- <span className='name'>{this.props.channel.display_name}</span>
- </span>
- );
- }
-
- let channelPurposeModal = (
- <FormattedMessage
- id='edit_channel_purpose_modal.body'
- defaultMessage='Describe how this channel should be used. This text appears in the channel list in the "More..." menu and helps others decide whether to join.'
- />
- );
- if (this.props.channel.type === 'P') {
- channelPurposeModal = (
- <FormattedMessage
- id='edit_channel_private_purpose_modal.body'
- defaultMessage='This text appears in the \"View Info\" modal of the private channel.'
- />
- );
- }
-
- return (
- <Modal
- className='modal-edit-channel-purpose'
- ref='modal'
- show={this.state.show}
- onHide={this.handleHide}
- onExited={this.props.onModalDismissed}
- >
- <Modal.Header closeButton={true}>
- <Modal.Title>
- {title}
- </Modal.Title>
- </Modal.Header>
- <Modal.Body>
- <p>
- {channelPurposeModal}
- </p>
- <textarea
- ref='purpose'
- className='form-control no-resize'
- rows='6'
- maxLength='250'
- defaultValue={this.props.channel.purpose}
- onKeyDown={this.handleKeyDown}
- />
- {serverError}
- </Modal.Body>
- <Modal.Footer>
- <button
- type='button'
- className='btn btn-default'
- onClick={this.handleHide}
- >
- <FormattedMessage
- id='edit_channel_purpose_modal.cancel'
- defaultMessage='Cancel'
- />
- </button>
- <button
- type='button'
- className='btn btn-primary'
- disabled={this.state.submitted}
- onClick={this.handleSave}
- >
- <FormattedMessage
- id='edit_channel_purpose_modal.save'
- defaultMessage='Save'
- />
- </button>
- </Modal.Footer>
- </Modal>
- );
- }
-}
-
-EditChannelPurposeModal.propTypes = {
- channel: PropTypes.object,
- onModalDismissed: PropTypes.func.isRequired
-};