Pass ModalManagerState into Modal instances instead of calling the global.

This commit is contained in:
Alexander Skvortsov 2020-09-25 13:02:10 -04:00
parent be8fe44f0b
commit 1ac09dbc4d
2 changed files with 10 additions and 3 deletions

View File

@ -31,7 +31,7 @@ export default class Modal extends Component {
// If the global modal state currently contains a modal,
// we've just opened up a new one, and accordingly,
// we don't need to show a hide animation.
if (!app.modal.modal) {
if (!this.attrs.state.modal) {
this.attrs.onhide();
}
}
@ -112,7 +112,7 @@ export default class Modal extends Component {
* Hide the modal.
*/
hide() {
app.modal.close();
this.attrs.state.close();
}
/**

View File

@ -11,7 +11,14 @@ export default class ModalManager extends Component {
return (
<div className="ModalManager modal fade">
{modal ? modal.componentClass.component({ ...modal.attrs, onshow: this.animateShow.bind(this), onhide: this.animateHide.bind(this) }) : ''}
{modal
? modal.componentClass.component({
...modal.attrs,
onshow: this.animateShow.bind(this),
onhide: this.animateHide.bind(this),
state: this.attrs.state,
})
: ''}
</div>
);
}