mirror of
https://github.com/mattermost/mattermost.git
synced 2025-02-25 18:55:24 -06:00
Merge pull request #952 from tomitm/PLT-445
PLT-445 Create About dialog
This commit is contained in:
62
web/react/components/about_build_modal.jsx
Normal file
62
web/react/components/about_build_modal.jsx
Normal file
@@ -0,0 +1,62 @@
|
||||
// Copyright (c) 2015 Spinpunch, Inc. All Rights Reserved.
|
||||
// See License.txt for license information.
|
||||
|
||||
var Modal = ReactBootstrap.Modal;
|
||||
|
||||
export default class AboutBuildModal extends React.Component {
|
||||
constructor(props) {
|
||||
super(props);
|
||||
this.doHide = this.doHide.bind(this);
|
||||
}
|
||||
|
||||
doHide() {
|
||||
this.props.onModalDismissed();
|
||||
}
|
||||
|
||||
render() {
|
||||
const config = global.window.config;
|
||||
|
||||
return (
|
||||
<Modal
|
||||
show={this.props.show}
|
||||
onHide={this.doHide}
|
||||
>
|
||||
<Modal.Header closeButton={true}>
|
||||
<Modal.Title>{`Mattermost ${config.Version}`}</Modal.Title>
|
||||
</Modal.Header>
|
||||
<Modal.Body>
|
||||
<div className='row form-group'>
|
||||
<div className='col-sm-3 info__label'>{'Build Number:'}</div>
|
||||
<div className='col-sm-9'>{config.BuildNumber}</div>
|
||||
</div>
|
||||
<div className='row form-group'>
|
||||
<div className='col-sm-3 info__label'>{'Build Date:'}</div>
|
||||
<div className='col-sm-9'>{config.BuildDate}</div>
|
||||
</div>
|
||||
<div className='row'>
|
||||
<div className='col-sm-3 info__label'>{'Build Hash:'}</div>
|
||||
<div className='col-sm-9'>{config.BuildHash}</div>
|
||||
</div>
|
||||
</Modal.Body>
|
||||
<Modal.Footer>
|
||||
<button
|
||||
type='button'
|
||||
className='btn btn-default'
|
||||
onClick={this.doHide}
|
||||
>
|
||||
{'Close'}
|
||||
</button>
|
||||
</Modal.Footer>
|
||||
</Modal>
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
AboutBuildModal.defaultProps = {
|
||||
show: false
|
||||
};
|
||||
|
||||
AboutBuildModal.propTypes = {
|
||||
show: React.PropTypes.bool.isRequired,
|
||||
onModalDismissed: React.PropTypes.func.isRequired
|
||||
};
|
||||
@@ -6,6 +6,8 @@ var client = require('../utils/client.jsx');
|
||||
var UserStore = require('../stores/user_store.jsx');
|
||||
var TeamStore = require('../stores/team_store.jsx');
|
||||
|
||||
var AboutBuildModal = require('./about_build_modal.jsx');
|
||||
|
||||
var Constants = require('../utils/constants.jsx');
|
||||
|
||||
function getStateFromStores() {
|
||||
@@ -18,7 +20,9 @@ export default class NavbarDropdown extends React.Component {
|
||||
this.blockToggle = false;
|
||||
|
||||
this.handleLogoutClick = this.handleLogoutClick.bind(this);
|
||||
this.handleAboutModal = this.handleAboutModal.bind(this);
|
||||
this.onListenerChange = this.onListenerChange.bind(this);
|
||||
this.aboutModalDismissed = this.aboutModalDismissed.bind(this);
|
||||
|
||||
this.state = getStateFromStores();
|
||||
}
|
||||
@@ -26,6 +30,12 @@ export default class NavbarDropdown extends React.Component {
|
||||
e.preventDefault();
|
||||
client.logout();
|
||||
}
|
||||
handleAboutModal() {
|
||||
this.setState({showAboutModal: true});
|
||||
}
|
||||
aboutModalDismissed() {
|
||||
this.setState({showAboutModal: false});
|
||||
}
|
||||
componentDidMount() {
|
||||
UserStore.addTeamsChangeListener(this.onListenerChange);
|
||||
TeamStore.addChangeListener(this.onListenerChange);
|
||||
@@ -228,6 +238,18 @@ export default class NavbarDropdown extends React.Component {
|
||||
{'Report a Problem'}
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a
|
||||
href='#'
|
||||
onClick={this.handleAboutModal}
|
||||
>
|
||||
{'About Mattermost'}
|
||||
</a>
|
||||
</li>
|
||||
<AboutBuildModal
|
||||
show={this.state.showAboutModal}
|
||||
onModalDismissed={this.aboutModalDismissed}
|
||||
/>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
@@ -251,17 +251,6 @@ export default class SecurityTab extends React.Component {
|
||||
<div className='divider-dark first'/>
|
||||
{passwordSection}
|
||||
<div className='divider-dark'/>
|
||||
<ul
|
||||
className='section-min'
|
||||
>
|
||||
<li className='col-sm-10 section-title'>{'Version ' + global.window.config.Version}</li>
|
||||
<li className='col-sm-7 section-describe'>
|
||||
<div className='text-nowrap'>{'Build Number: ' + global.window.config.BuildNumber}</div>
|
||||
<div className='text-nowrap'>{'Build Date: ' + global.window.config.BuildDate}</div>
|
||||
<div className='text-nowrap'>{'Build Hash: ' + global.window.config.BuildHash}</div>
|
||||
</li>
|
||||
</ul>
|
||||
<div className='divider-dark'/>
|
||||
<br></br>
|
||||
<a
|
||||
data-toggle='modal'
|
||||
|
||||
Reference in New Issue
Block a user