mirror of
https://github.com/flarum/framework.git
synced 2025-04-24 21:54:04 +08:00
Clean composer promises (#1439)
* Remove unused login promise code * Make promise usage consistent across composer action methods
This commit is contained in:
parent
0984979403
commit
fe868af224
@ -159,7 +159,7 @@ export default class IndexPage extends Page {
|
||||
icon: 'fas fa-edit',
|
||||
className: 'Button Button--primary IndexPage-newDiscussion',
|
||||
itemClassName: 'App-primaryControl',
|
||||
onclick: this.newDiscussion.bind(this),
|
||||
onclick: this.newDiscussionAction.bind(this),
|
||||
disabled: !canStartDiscussion
|
||||
})
|
||||
);
|
||||
@ -339,43 +339,29 @@ 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}
|
||||
*/
|
||||
newDiscussion() {
|
||||
newDiscussionAction() {
|
||||
const deferred = m.deferred();
|
||||
|
||||
if (app.session.user) {
|
||||
this.composeNewDiscussion(deferred);
|
||||
const component = new DiscussionComposer({ user: app.session.user });
|
||||
|
||||
app.composer.load(component);
|
||||
app.composer.show();
|
||||
|
||||
deferred.resolve(component);
|
||||
} else {
|
||||
app.modal.show(
|
||||
new LogInModal({
|
||||
onlogin: this.composeNewDiscussion.bind(this, deferred)
|
||||
})
|
||||
);
|
||||
deferred.reject();
|
||||
|
||||
app.modal.show(new LogInModal());
|
||||
}
|
||||
|
||||
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});
|
||||
|
||||
app.composer.load(component);
|
||||
app.composer.show();
|
||||
|
||||
deferred.resolve(component);
|
||||
|
||||
return deferred.promise;
|
||||
}
|
||||
|
||||
/**
|
||||
* Mark all discussions as read.
|
||||
*
|
||||
|
@ -171,6 +171,8 @@ export default {
|
||||
deferred.reject();
|
||||
}
|
||||
} else {
|
||||
deferred.reject();
|
||||
|
||||
app.modal.show(new LogInModal());
|
||||
}
|
||||
|
||||
|
@ -111,10 +111,20 @@ export default {
|
||||
|
||||
/**
|
||||
* Open the composer to edit a post.
|
||||
*
|
||||
* @return {Promise}
|
||||
*/
|
||||
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();
|
||||
|
||||
deferred.resolve(component);
|
||||
|
||||
return deferred.promise;
|
||||
},
|
||||
|
||||
/**
|
||||
|
Loading…
x
Reference in New Issue
Block a user