diff --git a/client/components/duplicates/default-params-modal.js b/client/components/duplicates/default-params-modal.js index 7ab2b34bdda085a782fe0a6ca7fcede3b718133f..fcd20d6d33d09ce7e54473d1353827d85cccb752 100644 --- a/client/components/duplicates/default-params-modal.js +++ b/client/components/duplicates/default-params-modal.js @@ -91,7 +91,7 @@ class DefaultParamsModal extends React.Component { modalBody={ modalBody } modalTitle={ $t('client.general.default_parameters') } modalFooter={ modalFooter } - onOpen={ this.handleOpen } + onBeforeOpen={ this.handleOpen } /> ); } diff --git a/client/components/settings/bank-accesses/edit-access-modal.js b/client/components/settings/bank-accesses/edit-access-modal.js index 34206f4aa360cf0efac6cf290f44cdcea676352d..c433273ddec7e5a999a5a74efa5d19bc67bf2390 100644 --- a/client/components/settings/bank-accesses/edit-access-modal.js +++ b/client/components/settings/bank-accesses/edit-access-modal.js @@ -1,14 +1,13 @@ import React from 'react'; -import { assertHas, translate as $t } from '../../../helpers'; +import { translate as $t } from '../../../helpers'; import CustomBankField from './custom-bank-field'; import Modal from '../../ui/modal'; -export default class EditAccessModal extends React.Component { +class EditAccessModal extends React.Component { constructor(props) { - assertHas(props, 'modalId'); super(props); this.handleSubmit = this.handleSubmit.bind(this); this.extractCustomFieldValue = this.extractCustomFieldValue.bind(this); @@ -43,12 +42,6 @@ export default class EditAccessModal extends React.Component { $(`#${this.props.modalId}`).modal('hide'); } - componentDidMount() { - $(`#${this.props.modalId}`).on('shown.bs.modal', () => { - this.refs.password.focus(); - }); - } - render() { let customFields; @@ -118,13 +111,31 @@ export default class EditAccessModal extends React.Component { ); + let focusPasswordField = () => { + this.refs.password.focus(); + }; + return ( ); } } + +EditAccessModal.propTypes = { + // Unique identifier of the modal + modalId: React.PropTypes.string.isRequired, + + // The function called to save the edited access + onSave: React.PropTypes.func.isRequired, + + // The access' custom fields + customFields: React.PropTypes.array +}; + +export default EditAccessModal; diff --git a/client/components/ui/loading.js b/client/components/ui/loading.js index 7f79925289db52fe723e6239a5376bdec895b1dc..363e2ccc09716f819fa61623cd9b877cf883f783 100644 --- a/client/components/ui/loading.js +++ b/client/components/ui/loading.js @@ -6,8 +6,7 @@ const LoadingMessage = props => { let message = props.message || $t('client.spinner.generic'); return (
-
-
+

diff --git a/client/components/ui/modal.js b/client/components/ui/modal.js index 12aaac734d091a831f1644e37c6682332afe8ba2..56cf19b61b4808de76fda28892c4eda4519d48bc 100644 --- a/client/components/ui/modal.js +++ b/client/components/ui/modal.js @@ -5,23 +5,23 @@ class Modal extends React.Component { componentDidMount() { let modalElement = $(`#${this.props.modalId}`); - if (this.props.onOpen) { - modalElement.on('show.bs.modal', this.props.onOpen); + if (this.props.onBeforeOpen) { + modalElement.on('show.bs.modal', this.props.onBeforeOpen); } - if (this.props.onClose) { - modalElement.on('hide.bs.modal', this.props.onClose); + if (this.props.onAfterOpen) { + modalElement.on('shown.bs.modal', this.props.onAfterOpen); } } componentWillUnmount() { let modalElement = $(`#${this.props.modalId}`); - if (this.props.onOpen) { + if (this.props.onBeforeOpen) { modalElement.off('show.bs.modal'); } - if (this.props.onClose) { - modalElement.off('hide.bs.modal'); + if (this.props.onAfterOpen) { + modalElement.off('shown.bs.modal'); } } @@ -79,11 +79,11 @@ Modal.propTypes = { // React component displayed at the bottom of the modal. modalFooter: React.PropTypes.element.isRequired, - // A callback called on opening - onOpen: React.PropTypes.func, + // A callback called on opening before the modal is visible + onBeforeOpen: React.PropTypes.func, - // A callback called on closing - onClose: React.PropTypes.func + // A callback called once the modal is opened and visible + onAfterOpen: React.PropTypes.func }; export default Modal; diff --git a/client/main.js b/client/main.js index d36076e2c670c52d23b726780aa2731ee5f30d21..c9edd670fb95ca65aa5187643d49c7baffc104e3 100644 --- a/client/main.js +++ b/client/main.js @@ -192,9 +192,7 @@ class BaseApp extends React.Component {

-
- -
+
{ mainComponent }