explicit props/context types on ContextPasser component + fix use of ContextPasser

This commit is contained in:
xavizalote 2016-06-14 23:03:36 +02:00
parent d777b6d9a9
commit 5f23b30954
4 changed files with 18 additions and 8 deletions

View file

@ -41,7 +41,7 @@ class CategoriesList extends Component {
<Modal.Title><FormattedMessage id="categories.edit"/></Modal.Title>
</Modal.Header>
<Modal.Body>
<ContextPasser currentUser={this.context.currentUser} closeCallback={this.closeModal}>
<ContextPasser currentUser={this.context.currentUser} messages={this.context.messages} closeCallback={this.closeModal}>
<Telescope.components.CategoriesEditForm category={category}/>
</ContextPasser>
</Modal.Body>
@ -57,7 +57,7 @@ class CategoriesList extends Component {
<Modal.Title><FormattedMessage id="categories.new"/></Modal.Title>
</Modal.Header>
<Modal.Body>
<ContextPasser currentUser={this.context.currentUser} closeCallback={this.closeModal}>
<ContextPasser currentUser={this.context.currentUser} messages={this.context.messages} closeCallback={this.closeModal}>
<Telescope.components.CategoriesNewForm/>
</ContextPasser>
</Modal.Body>
@ -116,7 +116,8 @@ CategoriesList.propTypes = {
}
CategoriesList.contextTypes = {
currentUser: React.PropTypes.object
currentUser: React.PropTypes.object,
messages: React.PropTypes.object,
};
module.exports = withRouter(CategoriesList);

View file

@ -11,7 +11,7 @@ const CategoriesNewForm = (props, context) => {
currentUser={context.currentUser}
methodName="categories.new"
successCallback={(category)=>{
this.context.messages.flash("Category created.", "success");
context.messages.flash("Category created.", "success");
}}
/>
</div>

View file

@ -33,7 +33,7 @@ class UsersMenu extends Component {
<Modal.Title><FormattedMessage id="settings.edit"/></Modal.Title>
</Modal.Header>
<Modal.Body>
<ContextPasser currentUser={this.props.user} closeCallback={this.closeModal}>
<ContextPasser currentUser={this.props.user} messages={this.context.messages} closeCallback={this.closeModal}>
<SettingsEditForm/>
</ContextPasser>
</Modal.Body>

View file

@ -5,7 +5,10 @@ class ContextPasser extends Component {
getChildContext() {
return {
closeCallback: this.props.closeCallback,
currentUser: this.props.currentUser // pass on currentUser
currentUser: this.props.currentUser, // pass on currentUser,
actions: this.props.actions,
events: this.props.events,
messages: this.props.messages,
};
}
@ -16,12 +19,18 @@ class ContextPasser extends Component {
ContextPasser.propTypes = {
closeCallback: React.PropTypes.func,
currentUser: React.PropTypes.object
currentUser: React.PropTypes.object,
actions: React.PropTypes.object,
events: React.PropTypes.object,
messages: React.PropTypes.object,
};
ContextPasser.childContextTypes = {
closeCallback: React.PropTypes.func,
currentUser: React.PropTypes.object
currentUser: React.PropTypes.object,
actions: React.PropTypes.object,
events: React.PropTypes.object,
messages: React.PropTypes.object,
};
export default ContextPasser;