mirror of
https://github.com/flarum/core.git
synced 2025-07-16 22:31:18 +02:00
Clean composer promises (#1439)
* Remove unused login promise code * Make promise usage consistent across composer action methods
This commit is contained in:
committed by
Toby Zerner
parent
d70a75a2d8
commit
e407c9472a
@@ -159,7 +159,7 @@ export default class IndexPage extends Page {
|
|||||||
icon: 'fas fa-edit',
|
icon: 'fas fa-edit',
|
||||||
className: 'Button Button--primary IndexPage-newDiscussion',
|
className: 'Button Button--primary IndexPage-newDiscussion',
|
||||||
itemClassName: 'App-primaryControl',
|
itemClassName: 'App-primaryControl',
|
||||||
onclick: this.newDiscussion.bind(this),
|
onclick: this.newDiscussionAction.bind(this),
|
||||||
disabled: !canStartDiscussion
|
disabled: !canStartDiscussion
|
||||||
})
|
})
|
||||||
);
|
);
|
||||||
@@ -339,39 +339,25 @@ export default class IndexPage extends Page {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Log the user in and then open the composer for a new discussion.
|
* Open the composer for a new discussion or prompt the user to login.
|
||||||
*
|
*
|
||||||
* @return {Promise}
|
* @return {Promise}
|
||||||
*/
|
*/
|
||||||
newDiscussion() {
|
newDiscussionAction() {
|
||||||
const deferred = m.deferred();
|
const deferred = m.deferred();
|
||||||
|
|
||||||
if (app.session.user) {
|
if (app.session.user) {
|
||||||
this.composeNewDiscussion(deferred);
|
|
||||||
} else {
|
|
||||||
app.modal.show(
|
|
||||||
new LogInModal({
|
|
||||||
onlogin: this.composeNewDiscussion.bind(this, deferred)
|
|
||||||
})
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
return deferred.promise;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Initialize the composer for a new discussion.
|
|
||||||
*
|
|
||||||
* @param {Deferred} deferred
|
|
||||||
* @return {Promise}
|
|
||||||
*/
|
|
||||||
composeNewDiscussion(deferred) {
|
|
||||||
const component = new DiscussionComposer({ user: app.session.user });
|
const component = new DiscussionComposer({ user: app.session.user });
|
||||||
|
|
||||||
app.composer.load(component);
|
app.composer.load(component);
|
||||||
app.composer.show();
|
app.composer.show();
|
||||||
|
|
||||||
deferred.resolve(component);
|
deferred.resolve(component);
|
||||||
|
} else {
|
||||||
|
deferred.reject();
|
||||||
|
|
||||||
|
app.modal.show(new LogInModal());
|
||||||
|
}
|
||||||
|
|
||||||
return deferred.promise;
|
return deferred.promise;
|
||||||
}
|
}
|
||||||
|
@@ -171,6 +171,8 @@ export default {
|
|||||||
deferred.reject();
|
deferred.reject();
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
deferred.reject();
|
||||||
|
|
||||||
app.modal.show(new LogInModal());
|
app.modal.show(new LogInModal());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -111,10 +111,20 @@ export default {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Open the composer to edit a post.
|
* Open the composer to edit a post.
|
||||||
|
*
|
||||||
|
* @return {Promise}
|
||||||
*/
|
*/
|
||||||
editAction() {
|
editAction() {
|
||||||
app.composer.load(new EditPostComposer({ post: this }));
|
const deferred = m.deferred();
|
||||||
|
|
||||||
|
const component = new EditPostComposer({ post: this });
|
||||||
|
|
||||||
|
app.composer.load(component);
|
||||||
app.composer.show();
|
app.composer.show();
|
||||||
|
|
||||||
|
deferred.resolve(component);
|
||||||
|
|
||||||
|
return deferred.promise;
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Reference in New Issue
Block a user