49 строки
1.2 KiB
JavaScript
49 строки
1.2 KiB
JavaScript
// Copyright (c) 2015 Mattermost, Inc. All Rights Reserved.
|
|
// See License.txt for license information.
|
|
|
|
export default class Modal extends ReactBootstrap.Modal {
|
|
constructor(props) {
|
|
super(props);
|
|
}
|
|
|
|
componentWillMount() {
|
|
if (this.props.show && this.props.onPreshow) {
|
|
this.props.onPreshow();
|
|
}
|
|
}
|
|
|
|
componentDidMount() {
|
|
super.componentDidMount();
|
|
|
|
if (this.props.show && this.props.onShow) {
|
|
this.props.onShow();
|
|
}
|
|
}
|
|
|
|
componentDidUpdate(prevProps) {
|
|
super.componentDidUpdate(prevProps);
|
|
|
|
if (this.props.show && !prevProps.show && this.props.onShow) {
|
|
this.props.onShow();
|
|
}
|
|
}
|
|
|
|
componentWillReceiveProps(nextProps) {
|
|
super.componentWillReceiveProps(nextProps);
|
|
|
|
if (nextProps.show && !this.props.show && this.props.onPreshow) {
|
|
this.props.onPreshow();
|
|
}
|
|
}
|
|
}
|
|
|
|
Modal.propTypes = {
|
|
...ReactBootstrap.Modal.propTypes,
|
|
|
|
// called before showing the dialog to allow for a state change before rendering
|
|
onPreshow: React.PropTypes.func,
|
|
|
|
// called after the dialog has been shown and rendered
|
|
onShow: React.PropTypes.func
|
|
};
|