mirror of
https://github.com/flarum/framework.git
synced 2025-02-26 23:44:10 +08:00
fix: sort posts by number instead of creation datetime (#3282)
Co-authored-by: Alexander Skvortsov <38059171+askvortsov1@users.noreply.github.com>
This commit is contained in:
parent
c622070366
commit
6e3051b36a
@ -210,7 +210,7 @@ export default class DiscussionPage<CustomAttrs extends IDiscussionPageAttrs = I
|
|||||||
record.relationships.discussion.data.id === discussionId
|
record.relationships.discussion.data.id === discussionId
|
||||||
)
|
)
|
||||||
.map((record) => app.store.getById<Post>('posts', record.id))
|
.map((record) => app.store.getById<Post>('posts', record.id))
|
||||||
.sort((a?: Post, b?: Post) => (a?.createdAt()?.getTime() ?? 0) - (b?.createdAt()?.getTime() ?? 0))
|
.sort((a?: Post, b?: Post) => (a?.number() ?? 0) - (b?.number() ?? 0))
|
||||||
.slice(0, 20);
|
.slice(0, 20);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -289,7 +289,7 @@ class PostStreamState {
|
|||||||
|
|
||||||
if (loadIds.length) {
|
if (loadIds.length) {
|
||||||
return app.store.find('posts', loadIds).then((newPosts) => {
|
return app.store.find('posts', loadIds).then((newPosts) => {
|
||||||
return loaded.concat(newPosts).sort((a, b) => a.createdAt() - b.createdAt());
|
return loaded.concat(newPosts).sort((a, b) => a.number() - b.number());
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -41,7 +41,7 @@ class ListPostsController extends AbstractListController
|
|||||||
/**
|
/**
|
||||||
* {@inheritdoc}
|
* {@inheritdoc}
|
||||||
*/
|
*/
|
||||||
public $sortFields = ['createdAt'];
|
public $sortFields = ['number', 'createdAt'];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var PostFilterer
|
* @var PostFilterer
|
||||||
|
@ -132,7 +132,7 @@ class ShowDiscussionController extends AbstractShowController
|
|||||||
*/
|
*/
|
||||||
private function loadPostIds(Discussion $discussion, User $actor)
|
private function loadPostIds(Discussion $discussion, User $actor)
|
||||||
{
|
{
|
||||||
return $discussion->posts()->whereVisibleTo($actor)->orderBy('created_at')->pluck('id')->all();
|
return $discussion->posts()->whereVisibleTo($actor)->orderBy('number')->pluck('id')->all();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -186,7 +186,7 @@ class ShowDiscussionController extends AbstractShowController
|
|||||||
{
|
{
|
||||||
$query = $discussion->posts()->whereVisibleTo($actor);
|
$query = $discussion->posts()->whereVisibleTo($actor);
|
||||||
|
|
||||||
$query->orderBy('created_at')->skip($offset)->take($limit)->with($include);
|
$query->orderBy('number')->skip($offset)->take($limit)->with($include);
|
||||||
|
|
||||||
$posts = $query->get();
|
$posts = $query->get();
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user