Commit Graph

52 Commits

Author SHA1 Message Date
Julian Lam
5cfec5b1a9 fix: order of operations when updating category handle 2025-10-28 11:51:02 -04:00
Julian Lam
cb0b609289 refactor: category listing logic to allow remote categories to be added, disabled, and re-arranged in main forum index 2025-08-18 16:08:11 -04:00
Julian Lam
edff339498 feat: dynamic category icon generation
When a category is retrieved via activitypub, NodeBB will now
generate an SVG and PNG representation of the category utilising
the "icon", "color", and "bgColor" values.

closes #12507
2024-09-27 13:29:41 -04:00
Julian Lam
9dc20d0c54 feat: ability to update category handles
#12434
2024-03-22 12:59:24 -04:00
Julian Lam
38175b5e71 test: fix broken test 2023-01-21 14:34:01 -05:00
Julian Lam
459bc52338 fix: #11136, tests, and returning the proper number of arrays 2023-01-18 15:08:35 -05:00
Barış Soner Uşaklı
61d32bdebb fix: category ordering add test 2022-10-03 09:41:40 -04:00
CommanderRoot
200f0b2e4f refactor: replace deprecated String.prototype.substr() (#10432)
.substr() is deprecated so we replace it with .slice() which works similarily but isn't deprecated

Signed-off-by: Tobias Speicher <rootcommander@gmail.com>
2022-03-31 13:49:56 -04:00
Barış Soner Uşaklı
8379c11b22 refactor: setObjectBulk to match sortedSetAddBulk 2021-11-12 19:51:59 -05:00
Barış Soner Uşaklı
d196409580 refactor: remove more async.eachSeries/mapSeries 2021-11-10 20:55:06 -05:00
Barış Soner Uşaklı
66e7cdac7a fix: #9973, ignore if assigning to same parent 2021-11-04 11:45:06 -04:00
Barış Soner Uşaklı
2ceda70a97 fix: preserve order when changing parent 2021-03-20 15:51:34 -04:00
Peter Jaszkowiak
23f212a4c0 chore: eslint prefer-destructuring 2021-02-08 18:06:44 -05:00
Peter Jaszkowiak
dab3b23575 chore: eslint no-var, vars-on-top 2021-02-08 18:06:44 -05:00
Peter Jaszkowiak
b56d9e12b5 chore: eslint prefer-arrow-callback 2021-02-08 18:06:44 -05:00
Peter Jaszkowiak
707b55b6a5 chore: eslint prefer-template 2021-02-08 18:06:44 -05:00
Barış Soner Uşaklı
47299ea587 Categories refactor (#9257)
* feat: wip categories pagination

* feat: add subCategoriesPerPage setting

* feat: add load more sub categories button to category page

* fix: openapi spec

* feat: show sub categories left on category page

hide button when no more categories left

* breaking: rename categories to allCategories on /search

categories contains the search results

* fix: spec

* refactor: remove cidsPerPage

* fix: tests

* feat: use component for subcategories

* fix: prevent negative subCategoriesLeft

* feat: new category filter/search WIP

* feat: remove categories from /tag

* fix: dont load all categories when showing move modal

* feat: allow adding custom categories to list

* breaking: dont load entire category tree on post queue

removed unused code
add hooks to filter/selector
add options to filter/selector

* feat: make selector modal work again

* feat: replace old search module

* fix: topic move selector

* feat: dont load all categories on create category modal

* fix: fix more categorySelectors

* feat: dont load entire category tree on group details page

* feat: dont load all categories on home page and user settings page

* feat: add pagination to /user/:userslug/categories

* fix: update schemas

* fix: more tests

* fix: test

* feat: flags page, dont return entire category tree

* fix: flag test

* feat: categories manage page

dont load all categories
allow changing root category
clear caches properly

* fix: spec

* feat: admins&mods page

dont load all categories

* fix: spec

* fix: dont load all children when opening dropdown

* fix: on search results dont return all children

* refactor: pass all options, rename options.cids to options.selectedCids

* fix: #9266

* fix: index 0

* fix: spec

* feat: #9265, add setObjectBulk

* refactor: shoter updateOrder

* feat: selectors on categories/category

* fix: tests and search filter

* fix: category update test

* feat: pagination on acp categories page

show order in set order modal

* fix: allow drag&drop on pages > 1 in /admin/manage/categories

* fix: teasers for deep nested categories

fix sub category display on /category page

* fix: spec

* refactor: use eslint-disable-next-line

* refactor: shorter
2021-02-07 15:09:52 -05:00
Barış Soner Uşaklı
e8429f509b fix: handle delete and update for categories:name zset 2021-01-28 10:18:09 -05:00
Julian Lam
6e2da9966e refactor: move plugin hook methods to plugin.hooks.* 2020-11-20 16:32:39 -05:00
Barış Soner Uşaklı
dc29f4dca2 refactor: switch to using slugify module 2020-10-11 21:49:37 -04:00
Baris Usakli
71e50bbf4e refactor: socket.io/admin/categories async/await 2019-09-06 16:31:19 -04:00
Barış Soner Uşaklı
fcf3e0770b feat: #7743 categories 2019-07-16 00:41:42 -04:00
Barış Soner Uşaklı
198d05875f feat: cleanup, use bulk 2019-06-24 21:36:20 -04:00
Barış Soner Uşaklı
78fa734017 feat: cache category tag whitelist 2018-12-09 16:03:41 -05:00
Barış Soner Uşaklı
00a066985a cache categories:cid and cid:<cid>:children
these rarely change, no need to go to db for them
2018-11-27 19:38:28 -05:00
Baris Usakli
3c611d85ed closes #6912
- on category setParent dialog do not show children of current category
- break recursion if category parentCid is equal to child cid to prevent
infinite loop
- dont allow setting the parentCid of a category to one of it's children
2018-11-06 13:34:29 -05:00
Barış Soner Uşaklı
c738dc7d3e remove some more parseInts 2018-10-22 21:58:34 -04:00
Davis
9d171ca1e2 Add cid for filter:category.update hook (#6319) 2018-02-08 08:26:27 -05:00
Peter Jaszkowiak
1ed571189c Make utils and translator easier to require
Move utils.walk to file.walk, backwards compatible
2017-04-08 20:27:52 -06:00
Peter Jaszkowiak
896c8c7343 ESlint object-curly-spacing 2017-02-18 12:30:49 -07:00
Peter Jaszkowiak
3b0dd2d1ef ESlint padded-blocks 2017-02-18 02:32:24 -07:00
Peter Jaszkowiak
bc1d70c126 ESlint comma-dangle 2017-02-17 19:31:21 -07:00
barisusakli
0b9829850c closes #5273 2016-12-09 18:53:08 +03:00
barisusakli
1658ebbe20 categories update test 2016-11-23 13:38:20 +03:00
HeeL
4a3c31b2dc Fix space-before-function-paren linter rule 2016-10-13 11:43:39 +02:00
barisusakli
56c4e13316 another dependency fix and test 2016-08-26 19:33:16 +03:00
barisusakli
c9cfe5b089 closes #4355 2016-03-15 15:38:16 +02:00
Julian Lam
a275aaeaf5 fixes #4361 2016-03-14 12:57:55 -04:00
barisusakli
53d29e29af performance improvements
store parsed category description
removed mongo _key from returns
dont get category teaser for parent
2015-10-18 18:30:17 -04:00
barisusakli
e7f87f4ffd closes #3686 2015-09-28 16:09:43 -04:00
Barış Soner Uşaklı
5b08538264 closes #3614 2015-09-15 12:58:35 -04:00
barisusakli
5b87af4389 closes #3447
recursively get all children
calculate topic/post count from children
new sorted set `cid:<id>:children`
fix search query params
2015-08-18 14:17:25 -04:00
barisusakli
0be2a79210 pass the data used to create the category to filter:category.create 2015-07-16 15:56:26 -04:00
Nicolas Siver
9d0a0538a6 use tabs 2015-07-07 20:10:44 +03:00
Nicolas Siver
1e2f4ae5e9 filter slug for category update 2015-07-05 08:31:21 +03:00
barisusakli
dff1a04585 more category hooks 2015-06-19 15:39:37 -04:00
Julian Lam
a54dccdf3b closed #3068 2015-04-23 11:27:44 -04:00
barisusakli
e46cda835a closes #2624 2015-01-18 14:31:37 -05:00
barisusakli
0a44d3f5e0 moved updateCategoryField out, db.delete only sends back err 2014-11-15 22:41:45 -05:00
barisusakli
daebc322eb meh 2014-11-08 23:36:38 -05:00