From 39c7dd51650e5eff2f6c566b0b39cc50393a1fd5 Mon Sep 17 00:00:00 2001 From: Toby Zerner Date: Sat, 30 May 2015 14:59:14 +0930 Subject: [PATCH] Sort the categories list in the sidebar correctly --- extensions/tags/js/bootstrap.js | 2 +- extensions/tags/js/src/models/category.js | 1 + extensions/tags/src/CategorySerializer.php | 3 ++- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/extensions/tags/js/bootstrap.js b/extensions/tags/js/bootstrap.js index 785d3fe7a..8d3ac42d2 100644 --- a/extensions/tags/js/bootstrap.js +++ b/extensions/tags/js/bootstrap.js @@ -67,7 +67,7 @@ app.initializers.add('categories', function() { items.add('uncategorized', CategoryNavItem.component({params: this.stickyParams()}), {last: true}); - app.store.all('categories').forEach(category => { + app.store.all('categories').sort((a, b) => a.position() - b.position()).forEach(category => { items.add('category'+category.id(), CategoryNavItem.component({category, params: this.stickyParams()}), {last: true}); }); }); diff --git a/extensions/tags/js/src/models/category.js b/extensions/tags/js/src/models/category.js index 4de836019..83d3e6b8e 100644 --- a/extensions/tags/js/src/models/category.js +++ b/extensions/tags/js/src/models/category.js @@ -8,5 +8,6 @@ Category.prototype.slug = Model.prop('slug'); Category.prototype.description = Model.prop('description'); Category.prototype.color = Model.prop('color'); Category.prototype.discussionsCount = Model.prop('discussionsCount'); +Category.prototype.position = Model.prop('position'); export default Category; diff --git a/extensions/tags/src/CategorySerializer.php b/extensions/tags/src/CategorySerializer.php index 367e1920f..79674ab7c 100644 --- a/extensions/tags/src/CategorySerializer.php +++ b/extensions/tags/src/CategorySerializer.php @@ -24,7 +24,8 @@ class CategorySerializer extends BaseSerializer 'description' => $category->description, 'slug' => $category->slug, 'color' => $category->color, - 'discussionsCount' => (int) $category->discussions_count + 'discussionsCount' => (int) $category->discussions_count, + 'position' => (int) $category->position ]; return $this->extendAttributes($category, $attributes);