1483 Commits (a2fafc2b1545a484f1f0256776e8504f0eb0afd0)

Author SHA1 Message Date
Barış Soner Uşaklı 1980feed46 refactor: use alerts module 4 years ago
Barış Soner Uşaklı 36aa60346b breaking: remove action:category.loaded, use action:topics.loading
action:category.loaded will not fire on infintite load of topics
4 years ago
Barış Soner Uşaklı 242f8e95ad fix: #10020, /api/post/upload returns v3 style response 4 years ago
Barış Soner Uşaklı fb363957d1 refactor: tab rules 4 years ago
Barış Soner Uşaklı d5bfd51267 fix: #10010, handle reverse sorting for topic events
dont add events to dom if sort is most votes
if sorting is reverse add new events after the main post or at the top instead of bottom
4 years ago
Barış Soner Uşaklı 4359e5c97c refactor: remove tabs after declaration 4 years ago
Barış Soner Uşaklı 7f8783555b Revert "perf: remove createUserTooltips"
This reverts commit facc10e40f.
4 years ago
Baris Usakli facc10e40f perf: remove createUserTooltips 4 years ago
Barış Soner Uşaklı 96f13e4f5d feat: #9992, hooks.one 4 years ago
Barış Soner Uşaklı 0428912c6d refactor: deprecate app.alert functions user alerts module directly 4 years ago
Barış Soner Uşaklı 8b4510cc70 refactor: deprecate app.logout
use logout module instead
move header related code out of app.js
4 years ago
Barış Soner Uşaklı f352be63dc refactor: deprecate app.openChat/newChat
use chat.openChat/newChat instead
4 years ago
Barış Soner Uşaklı 1a9b15989b refactor: move search functions from app.js to search module
deprecate:
app.handleSearch, use search.init(options) instead
app.enableTopicSearch, use search.enableQuickSearch(options) instead
app.prepareSearch, use search.showAndFocusInput() instead
4 years ago
Barış Soner Uşaklı 666fe209f0 refactor: move session messages 4 years ago
Barış Soner Uşaklı 518552543d refactor: move warnings/messages out of app.js 4 years ago
Barış Soner Uşaklı 89399c0ed5 fix: #9954, get next post timestamp
fixes topic events being inserted in after first page but at the wrong spot
4 years ago
Barış Soner Uşaklı 3d1cf168f2 revert: lazy load 4 years ago
Barış Soner Uşaklı 015727855f fix: remove loading="lazy", fixes inf. scroll loaded images 4 years ago
Barış Soner Uşaklı 64192731a0 refactor: use search api for topic search 4 years ago
Barış Soner Uşaklı 8d316d1859 fix: #9934, fix translator test 4 years ago
Barış Soner Uşaklı f02fba29dc refactor: add callback to loadNotifications 4 years ago
gasoved b0a24d6dd5
refactor: var to const and let (#9885)
* refactor: var to const and let

* fix: missed global bootbox usage

* refactor: align with eslint expectations
4 years ago
gasoved 227456fb17
fix: no global bootbox (#9879)
* fix: require bootbox (easy ones)

* fix: require bootbox (ugly ones)

* fix(eslint): a lengthy line
4 years ago
Julian Lam 3e69bcdf1f fix: #9872 update app badge with notification count if applicable 4 years ago
Barış Soner Uşaklı 27e53b42f3 feat: use unread icon in mobile 4 years ago
Barış Soner Uşaklı 4404e81991
fix: switch inf. scroll to xhr (#9854)
this fixes infinitescroll when url has custom query parameters
also fixes infinitescroll for plugins like QnA
fixes infinitescroll on tags page
deprecate topics.loadMoreSortedTopics
deprecate topics.loadMoreFromSet
4 years ago
Julian Lam be43cd2597
Topic Linkbacks (#9825)
* feat: WIP topic linkbacks, + failing tests

* test: don't accidentally comment out all of the post tests

* fix: rename to "backlinks"

* feat: more stub code, more failing tests

* feat: backend methods and passing tests for topic backlinks

* test: uncomment test/posts.js again

* fix: missing quotation mark in topic event helper

* fix: superfluous usage of Promise.all

* test: fix broken test -- used hardcoded (and incorrect) url

* test: parseInt shenanigans
4 years ago
Barış Soner Uşaklı 0faa493745 fix: crossorigin not showing up on manifest link tag 4 years ago
Julian Lam 0a41741b7e refactor: deprecate picture update socket call, new API routes for picture update 4 years ago
gasoved 61f02f17d8
feat: column based view on wide priv. tables (#9699)
* feat: column based view on wide priv. tables

* fix: add group/user

* feat: copy buttons to work on visible privs

* feat: show what's being copied in modal

* feat: optional title and message for category selector modal
4 years ago
Julian Lam 1ee92c281d fix: topic event deletion 4 years ago
Julian Lam 152f194aee
Server-side rendering of topic events (#9733)
* style: reformat list of helpers exported

* refactor: move topic events partial into a helper, invoke helper in topic.tpl (see persona), update how events are added to the DOM via addTopicEvents

closes #9731

* style: lint
4 years ago
Julian Lam cf4b78dbd3 Revert "fix: taskbar icon not pushed via composer/persona"
This reverts commit 3a81c8fd42.
4 years ago
psychobunny d2492ef48e style: eslint 4 years ago
psychobunny 3a81c8fd42 fix: taskbar icon not pushed via composer/persona
@antosik, partially reverted your PR:
342503e07a

just specifically this file: 342503e07a/public/src/modules/taskbar.js

I'm not 100% sure, but it might be because this hook is called sooner than the hook being registered? https://github.com/NodeBB/nodebb-theme-persona/blob/master/public/persona.js#L100-L101  @julianlam
4 years ago
Barış Soner Uşaklı 382a4c2785 feat: #9705, use radio buttons for flag reasons 4 years ago
Anton Grigoryev 342503e07a
Feat: Client-side hooks - replace window.trigger (#9679)
* feat/clientside-hooks: replace window.trigger with hooks.fire

* feat(clientside-hooks): Move hooks require to the top

* fix: simplifying complex logical expression

* fix: client-side hook for translator - post-review fixes
4 years ago
Julian Lam 21359eabac feat: convert _fireStaticHook to async function (auto-refactor by vscode) 4 years ago
Julian Lam 6bc090f8bb docs: some hook deprecation notices 4 years ago
Julian Lam cc6cbfcdc4
Flags API (#9666)
* feat: new routes for flags API

+ flag get
+ flag creation, migration from socket method
+ flag update, migration from socket method
* fixed bug where you could not unassign someone from a flag

* feat: tests for new flags API

added missing files for schema update

* fix: flag tests to use Write API instead of sockets

* feat: flag notes API + tests

* chore: remove debug line

* test: fix breaking test on mongo
4 years ago
psychobunny acb11cc764 fix: use hooks module instead of window trigger 4 years ago
psychobunny 522291726d style: lint 4 years ago
psychobunny e0db904b0e feat: new hook `action:topics.loading` (in the same format as `action:posts.loading`) 4 years ago
psychobunny 8ae4c30029 feat: schedule deprecation for `action:category.loaded` and `action:category.loading`. Use `action:topics.loaded/ing` instead
(or action:ajaxify.end if you are using it to check cid on page load)
4 years ago
psychobunny 07f25d8c47 fix: made TopicList.onTopicsLoaded private [breaking] 4 years ago
Julian Lam 849049765b fix: #9636, sanitize all attributes in meta and link tags 4 years ago
Barış Soner Uşaklı 2fe30b6fa0 feat: #9628, allow setting custom icon names 4 years ago
Barış Soner Uşaklı be19f27f40 feat: add filter:categories.categorySearch 4 years ago
psychobunny 93598982f9 fix: stripTags for editing sorted list items as well 4 years ago
psychobunny b5ce8d257c style: eslint 4 years ago
psychobunny 75073c0ed3 fix: stripHTMLTags for sorted list entries 4 years ago
psychobunny 1ad1787eaa fix: thumb count not updated when uploading multiple thumbs at a time 4 years ago
Barış Soner Uşaklı 344575dde1
feat: add hooks to language loading (#9426)
and flushNamespace method
4 years ago
gasoved a3e95e798f feat: allow adding sorted-list items from forms outside of modal 4 years ago
gasoved 077330b764
feat: scheduled topics (#9399)
* feat: scheduled topics

* refactor: linting fixes

* fix: tests

* fix(test): race condition

* fix: make a single request
4 years ago
Julian Lam d9e2029074 fix: hooks for alert animate, no more fadein/fadeout for reconnect alert 4 years ago
Barış Soner Uşaklı 3c4e93a3c1 fix: #9411 4 years ago
Barış Soner Uşaklı 93c595d95e fix: #9406, update flag post tools 4 years ago
Julian Lam d1685600d3 refactor: deprecate action:script.load, use filter:script.load instead 4 years ago
Barış Soner Uşaklı 03e306349c fix: #9387, don't try to load undefined images 4 years ago
Barış Soner Uşaklı 52082e1296 feat: add resolve flag to post tools 4 years ago
Julian Lam 8472513093 fix: change notification updateCount to use client-side hooks 4 years ago
Barış Soner Uşaklı e787e6ea22 fix: if no in passed use "titles" to match header search 4 years ago
psychobunny 66196d2caf feat: allow for settings.save/settings.load on client side
w/ optional data-socket-get / data-socket-set params on form element for custom calls
4 years ago
Julian Lam 1e579428e7 fix: bug where fallback window trigger was not firing if there were no hook listeners attached
... so in essence the backwards compatibility was not working at all.

closes nodebb/nodebb-plugin-composer-default#147
4 years ago
Julian Lam 7d391d4789 feat: new client-side hook `filter:api.options` to allow plugins to modify api requests 4 years ago
preetykumar 2826c6986c
Update taskbar.js (#9314)
* Update taskbar.js

add aria-label to make the link text discernible to screen readers.

* place quotes around attribute value

Co-authored-by: Peter Jaszkowiak <p.jaszkow@gmail.com>
4 years ago
Julian Lam d0136074b6 feat: allow hook unregistration, and temporary page-based hooks
Temporary hooks automatically unregister themselves on the next ajaxify, making them perfect for in-page events.
4 years ago
Peter Jaszkowiak 0d59fe3d2b fix(#9315): api v3 post, put, del JSON
also allow `app.alertError` to be called without an argument
also fix `./nodebb build --dev` to actually build in dev mode
4 years ago
Julian Lam c96fd3b19b feat: pass user picture object into change_picture_modal 4 years ago
Julian Lam 28f6931e16 refactor: move picture change client-side logic to its own rjs module 4 years ago
Julian Lam b4c0b32b26 fix: use root context if buildAvatar context is undefined 4 years ago
Barış Soner Uşaklı 9ce6f8ad93 feat: add tag filter to getSortedTopics 4 years ago
Julian Lam 7223074f1d feat: ability to re-order topic thumbnails 4 years ago
Julian Lam db027170a8 feat: add close button to topic thumbnail modal 4 years ago
Julian Lam 36e8d251c8 fix: use of removed URL to get post data 4 years ago
Peter Jaszkowiak cc9d6fd08b chore: eslint max-len 4 years ago
Peter Jaszkowiak 62869bae3d chore: eslint function-paren-newline 4 years ago
Julian Lam 16610b2dca fix: pass jquery object in to action:notifications.loaded hook 4 years ago
Julian Lam 7edc8f458d feat: new notifications load/loaded hooks on client side
refactored `toggleTimeagoShorthand` code to be inside of a hook listener
4 years ago
Barış Soner Uşaklı cfa0d42390 fix: don't use global bootbox obj 4 years ago
Barış Soner Uşaklı a4878a5b22 fix: markread selector 4 years ago
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
4 years ago
gasoved 53e0d4d2e0 feat: banned-users group 4 years ago
Julian Lam 501441b736 feat: add .delete() method to api module 4 years ago
Julian Lam 5131eb6b90 fix: `action:admin.settingsLoaded` to use new hooks lib 4 years ago
Julian Lam b0f5d5a594 fix: crash on firing action hook that had no listeners registered 4 years ago
Julian Lam 1a04ec6419 fix: bug where `action:settings.sorted-list.loaded` fired early
The hook was fired before the elements had been added to the DOM.

Also, I updated it to use the new hooks lib.
4 years ago
Julian Lam 4029ec3713 fix: multiple sorted-lists do not save to the correct set 4 years ago
Julian Lam efff8e2ae2 fix(hooks): bug where hook firing would fail if there were no listeners 4 years ago
Julian Lam e7bd038db1 refactor(hooks): better error handling
Hook listeners can both throw and reject, and it will be handled appropriately (e.g. filters won't fail)
4 years ago
Julian Lam 1d77572117 feat(hooks): update action:ajaxify.end to use new hooks module 4 years ago
Julian Lam 412d285850 fix(hooks): fallback handling for core invocations of hooks.fire
+ .on() which is the same as .register()
4 years ago
Julian Lam 01c9b1847e feat(hooks): client-side hooks module
Similar to server-side, comes with three hook types, filter, action, and static. Behaviour also mimics server-side.
4 years ago
Barış Soner Uşaklı 1590cdf19f fix: #9206, fix double escaped arguments 4 years ago
Barış Soner Uşaklı 0a471b76b5 fix: use max 4 years ago
Barış Soner Uşaklı c30b40abe7 fix: keep 60 topics minimum on topic list 4 years ago
Barış Soner Uşaklı 072a0e32d8 feat: #8813, faster category search dropdown
when you have 4k+ categories manipulating DOM becomes very slow
clone the list and manipulate it outside of DOM, replace list on DOM when search is done
add utils.debounce so list is updated slower
4 years ago
Barış Soner Uşaklı a15ef53c70 feat: add new client side hooks 5 years ago
Julian Lam a30c8ab5c8 feat: clent-side modal for managing topic thumbs
closes #9087
5 years ago