1
0
mirror of https://github.com/flarum/core.git synced 2025-08-08 09:26:34 +02:00

Make app.composer.show redraw synchronous, implement promises in reply, edit, and new discussion actions properly

This commit is contained in:
Alexander Skvortsov
2020-08-15 23:12:35 -04:00
committed by Franz Liedke
parent f1a480d3d7
commit 0341e64057
3 changed files with 16 additions and 12 deletions

View File

@@ -296,16 +296,18 @@ export default class IndexPage extends Page {
* @return {Promise}
*/
newDiscussionAction() {
if (app.session.user) {
app.composer.load(DiscussionComposer, { user: app.session.user });
app.composer.show();
return new Promise((resolve, reject) => {
if (app.session.user) {
app.composer.load(DiscussionComposer, { user: app.session.user });
app.composer.show();
return Promise.resolve(app.composer);
} else {
app.modal.show(LogInModal);
return resolve(app.composer);
} else {
app.modal.show(LogInModal);
return Promise.reject();
}
return reject();
}
});
}
/**

View File

@@ -82,7 +82,7 @@ class ComposerState {
if (this.position === ComposerState.Position.NORMAL || this.position === ComposerState.Position.FULLSCREEN) return;
this.position = ComposerState.Position.NORMAL;
m.redraw(true);
m.redraw.sync();
}
/**

View File

@@ -136,10 +136,12 @@ export default {
* @return {Promise}
*/
editAction() {
app.composer.load(EditPostComposer, { post: this });
app.composer.show();
return new Promise((resolve) => {
app.composer.load(EditPostComposer, { post: this });
app.composer.show();
return Promise.resolve(app.composer);
return resolve()
});
},
/**