diff --git a/public/language/en-GB/admin/manage/categories.json b/public/language/en-GB/admin/manage/categories.json index 871affe560..6aa607612d 100644 --- a/public/language/en-GB/admin/manage/categories.json +++ b/public/language/en-GB/admin/manage/categories.json @@ -65,5 +65,7 @@ "alert.find-user": "Find a User", "alert.user-search": "Search for a user here...", "alert.find-group": "Find a Group", - "alert.group-search": "Search for a group here..." + "alert.group-search": "Search for a group here...", + "collapse-all": "Collapse All", + "expand-all": "Expand All" } \ No newline at end of file diff --git a/public/src/admin/manage/categories.js b/public/src/admin/manage/categories.js index 5d211d00ca..2cd4914ce0 100644 --- a/public/src/admin/manage/categories.js +++ b/public/src/admin/manage/categories.js @@ -37,6 +37,20 @@ define('admin/manage/categories', ['vendor/jquery/serializeObject/jquery.ba-seri el.find('i').toggleClass('fa-minus').toggleClass('fa-plus'); el.closest('[data-cid]').find('> ul[data-cid]').toggleClass('hidden'); }); + + $('#collapse-all').on('click', function () { + toggleAll(false); + }); + + $('#expand-all').on('click', function () { + toggleAll(true); + }); + + function toggleAll(expand) { + var el = $('.categories .toggle'); + el.find('i').toggleClass('fa-minus', expand).toggleClass('fa-plus', !expand); + el.closest('[data-cid]').find('> ul[data-cid]').toggleClass('hidden', !expand); + } }; Categories.throwCreateModal = function () { diff --git a/src/views/admin/manage/categories.tpl b/src/views/admin/manage/categories.tpl index 22388d01de..ff46ed5fc9 100644 --- a/src/views/admin/manage/categories.tpl +++ b/src/views/admin/manage/categories.tpl @@ -1,3 +1,5 @@ + +