Commit Graph

825 Commits

Author SHA1 Message Date
Barış Soner Uşaklı
082a9e1d42 fix: remove ev, hooks don't pass event, closes #10611 2022-05-14 10:11:26 -04:00
Barış Soner Uşaklı
b860c2605c feat: paginaton for admins-mods, closes #10610
ability to select categoriest to see children
2022-05-13 19:52:19 -04:00
Barış Soner Uşaklı
a583141252 feat: add button to see category children, closes #10606 2022-05-12 20:48:57 -04:00
Barış Soner Uşaklı
d20b07cfea Webpack5 (#10311)
* feat: webpack 5 part 1

* fix: gruntfile fixes

* fix: fix taskbar warning

add app.importScript
copy public/src/modules to build folder

* refactor: remove commented old code

* feat: reenable admin

* fix: acp settings pages, fix sortable on manage categories

embedded require in html not allowed

* fix: bundle serialize/deserizeli so plugins dont break

* test: fixe util tests

* test: fix require path

* test: more test fixes

* test: require correct utils module

* test: require correct utils

* test: log stack

* test: fix db require blowing up tests

* test: move and disable bundle test

* refactor: add aliases

* test: disable testing route

* fix: move webpack modules necessary for build, into `dependencies`

* test: fix one more test

remove 500-embed.tpl

* fix: restore use of assets/nodebb.min.js, at least for now

* fix: remove unnecessary line break

* fix: point to proper ACP bundle

* test: maybe fix build test

* test: composer

* refactor: dont need dist

* refactor: more cleanup

use everything from build/public folder

* get rid of conditional import in app.js

* fix: ace

* refactor: cropper alias

* test: lint and test fixes

* lint: fix

* refactor: rename function to app.require

* refactor: go back to using app.require

* chore: use github branch

* chore: use webpack branch

* feat: webpack webinstaller

* feat: add chunkFile name with contenthash

* refactor: move hooks to top

* refactor: get rid of template500Function

* fix(deps): use webpack5 branch of 2factor plugin

* chore: tagging v2.0.0-beta.0 pre-release version 💥 :shipit: 🎉 🚀

* refactor: disable cache on templates

loadTemplate is called once by benchpress and the result is cache internally

* refactor: add server side helpers.js

* feat: deprecate /plugins shorthand route, closes #10343

* refactor: use build/public for webpack

* test: fix filename

* fix: more specific selector

* lint: ignore

* refactor: fix comments

* test: add debug for random failing test

* refactor: cleanup

remove test page, remove dupe functions in utils.common

* lint: use relative path  for now

* chore: bump prerelease version

* feat: add translateKeys

* fix: optional params

* fix: get rid of extra timeago files

* refactor: cleanup, require timeago locale earlier

remove translator.prepareDOM, it is in header.tpl html tag

* refactor: privileges system to use a Map in the backend instead of separate objects for keys and labels (#10378)

* refactor: privileges system to use a Map in the backend instead of separate objects for keys and labels

- Existing hooks are preserved (to be deprecated at a later date, possibly)
- New init hooks are called on NodeBB start, and provide a one-stop shop to add new privileges, instead of having to add to four different hooks

* docs: fix typo in comment

* test: spec changes

* refactor: privileges system to use a Map in the backend instead of separate objects for keys and labels (#10378)

* refactor: privileges system to use a Map in the backend instead of separate objects for keys and labels

- Existing hooks are preserved (to be deprecated at a later date, possibly)
- New init hooks are called on NodeBB start, and provide a one-stop shop to add new privileges, instead of having to add to four different hooks

* docs: fix typo in comment

* test: spec changes

* feat: allow app.require('bootbox'/'benchpressjs')

* refactor: require server side utils

* test: jquery ready

* change istaller to use build/public

* test: use document.addEventListener

* refactor: closes #10301

* refactor: generateTopicClass

* fix: column counts for other privileges

* fix: #10443, regression where sorted-list items did not render into the DOM in the predicted order [breaking]

* fix: typo in hook name

* refactor: introduce a generic autocomplete.init() method that can be called to add nodebb-style autocompletion but using different data sources (e.g. not user/groups/tags)

* fix: crash if `delay` not passed in (as it cannot be destructured)

* refactor: replace substr

* feat: set --panel-offset style in html element based on stored value in localStorage

* refactor: addDropupHandler() logic to be less naive

- Take into account height of the menu
- Don't apply dropUp logic if there's nothing in the dropdown
- Remove 'hidden' class (added by default in Persona for post tools) when menu items are added

closes #10423

* refactor: simplify utils.params [breaking]

Retrospective analysis of the usage of this method suggests that the options passed in are superfluous, and that only `url` is required. Using a browser built-in makes more sense to accomplish what this method sets out to do.

* feat: add support for returning full URLSearchParams for utils.params

* fix: utils.params() fallback handling

* fix: default empty obj for params()

* fix: remove \'loggedin\' and \'register\' qs parameters once they have been used, delay invocation of messages until ajaxify.end

* fix: utils.params() not allowing relative paths to be passed in

* refactor(DRY): new assertPasswordValidity utils method

* fix: incorrect error message returned on insufficient privilege on flag edit

* fix: read/update/delete access to flags API should be limited for moderators to only post flags in categories they moderate

- added failing tests and patched up middleware.assert.flags to fix

* refactor: flag api v3 tests to create new post and flags on every round

* fix: missing error:no-flag language key

* refactor: flags.canView to check flag existence, simplify middleware.assert.flag

* feat: flag deletion API endpoint, #10426

* feat: UI for flag deletion, closes #10426

* chore: update plugin versions

* chore: up emoji

* chore: update markdown

* chore: up emoji-android

* fix: regression caused by utils.params() refactor, supports arrays and pipes all values through utils.toType, adjusts tests to type check

Co-authored-by: Julian Lam <julian@nodebb.org>
2022-04-29 21:39:33 -04:00
Julian Lam
46fbe15665 fix: #10443, regression where sorted-list items did not render into the DOM in the predicted order [breaking] 2022-04-26 11:31:42 -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ı
398d25c210 feat: #10276, dont change/revert theme if its current 2022-02-11 14:49:01 -05:00
Barış Soner Uşaklı
92a249c947 fix: #10197, fix relative path urls for dashboard pages 2022-01-25 13:20:50 -05:00
Barış Soner Uşaklı
8ad64ec0f9 fix: #10121, fix error messages in user creation 2022-01-04 10:24:10 -05:00
Barış Soner Uşaklı
682f60890b lint: fix 2021-12-13 16:57:26 -05:00
Barış Soner Uşaklı
10e890e41f fix: targetBlank/dropdown not getting cleared
show caret if nav item is dropdown
2021-12-13 16:24:17 -05:00
Barış Soner Uşaklı
69c96078ea breaking: #10077, store nav items in objects 2021-12-13 16:00:22 -05:00
Barış Soner Uşaklı
cc3f82bc83 breaking: remove socket.emit('admin.categories.setPrivilege') and socket.emit('admin.categories.getPrivilegeSettings') 2021-12-06 21:47:47 -05:00
Barış Soner Uşaklı
cba78aee16 refactor: use alerts.error/success 2021-12-06 14:31:35 -05:00
Barış Soner Uşaklı
1980feed46 refactor: use alerts module 2021-12-06 12:45:35 -05:00
Barış Soner Uşaklı
fb363957d1 refactor: tab rules 2021-11-18 16:42:18 -05:00
Barış Soner Uşaklı
4359e5c97c refactor: remove tabs after declaration 2021-11-16 16:24:17 -05:00
Barış Soner Uşaklı
8b4510cc70 refactor: deprecate app.logout
use logout module instead
move header related code out of app.js
2021-11-08 23:28:26 -05:00
Barış Soner Uşaklı
c1cc35a949 refactor: display errors from category drag/drop 2021-11-04 14:23:16 -04:00
Barış Soner Uşaklı
f4cf482a87 feat: show popular searches 2021-10-25 16:26:50 -04:00
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
2021-10-12 10:26:18 -04:00
gasoved
227456fb17 fix: no global bootbox (#9879)
* fix: require bootbox (easy ones)

* fix: require bootbox (ugly ones)

* fix(eslint): a lengthy line
2021-10-08 15:25:36 -04:00
gasoved
56d05b4e86 feat: confirm before deleting all events (#9875) 2021-10-07 14:53:51 -04:00
Barış Soner Uşaklı
543d85212b refactor: remove unused colorpicker 2021-10-07 12:45:44 -04:00
Barış Soner Uşaklı
a7668a7fb1 refactor: use utils.debounce
fixes socket message spam in chat resize
2021-10-04 10:58:32 -04:00
Barış Soner Uşaklı
89af00d1d5 fix: #9827, fix reward duplication 2021-09-22 23:56:34 -04:00
gasoved
84ff1152f7 feat: headers for global privs #9717 (#9762)
* feat: headers for global privs #9717

* fix: don't spoil headers to adminPrivs

Co-authored-by: Julian Lam <julian@nodebb.org>
2021-09-08 17:17:25 -04:00
psychobunny
bf0c02a71e feat: a slightly less ugly rewards panel 2021-09-07 11:49:43 -04:00
Julian Lam
46e5e17d0f fix: focus on save button on plugin activation 2021-09-03 11:34:09 -04:00
gasoved
fc0e655eef refactor: consistent jquery element var naming 2021-09-01 22:41:41 -04:00
gasoved
760ea9df1e fix: determine indeterminate checkboxes 2021-09-01 22:41:41 -04:00
gasoved
1272da6539 refactor: var to const 2021-09-01 22:41:41 -04:00
gasoved
3df79683f5 feat: create folders in ACP uploads #9638 (#9750)
* feat: create folders in ACP uploads #9638

* fix: openapi

* test: missing tests

* fix: eslint

* fix: tests
2021-08-31 09:27:00 -04:00
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
2021-08-30 10:42:58 -04:00
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
2021-08-13 16:58:37 -04:00
Barış Soner Uşaklı
4a56388ec3 feat: store topic tags in topic hash (#9656)
* feat: store topic tags in topic hash

breaking: remove color info from tags (use css)

* fix: remove unused tag modal

* fix: tag search
2021-07-12 19:25:04 -04:00
Barış Soner Uşaklı
5fd190f7c4 feat: #9651, change category desc to multiline 2021-07-08 10:01:22 -04:00
Julian Lam
b896484351 fix: #9634, re-jig top bar of Admin > Manage > Users 2021-06-30 17:43:16 -04:00
Barış Soner Uşaklı
cc0cf99fed feat: allow nested properties on category page (#9601)
* feat: allow nested properties on category page

* fix: remove debug

* fix: remove debug
2021-06-09 17:40:36 -04:00
Barış Soner Uşaklı
8ea58432c9 feat: show ip on acp manage users
update url on search
show matching ip when searching by ip
add ip to export csv
2021-06-08 11:50:52 -04:00
Barış Soner Uşaklı
f5847f4f02 feat: #9559, set order help text 2021-05-17 20:18:33 -04:00
Barış Soner Uşaklı
cef58d1d6f fix: #9412 2021-03-20 15:10:36 -04:00
Barış Soner Uşaklı
2041b8084f fix: flicker on dashboard 2021-03-15 23:24:16 -04:00
Julian Lam
2a939aad8d fix: regression via c1b3079d93
Also refactored privilege render logic so that it no longer needs a server-side hack to render column count
2021-03-12 14:22:16 -05:00
Julian Lam
4cbd13fd9c feat: hide revert button in ACP > Privileges until privileges change 2021-03-12 13:25:58 -05:00
Julian Lam
c5e257888a fix: #9351 bad logic when inserting rows to privilege tables, also a missing tfoot 🦶 2021-03-05 15:09:37 -05:00
Julian Lam
c1b3079d93 feat: category privilege API routes
closes #9342
2021-03-04 12:46:31 -05:00
Julian Lam
73dc64d9ff feat: add dashboard sub-pages to ACP menu 2021-02-24 15:28:19 -05:00
Julian Lam
655e2c67ad fix: timeago missing on table update 2021-02-24 12:52:05 -05:00
Julian Lam
e1ed514b10 feat: topics dashboard details subpage 2021-02-24 12:51:20 -05:00