Carry over the regime used in the Login modal to Create Account to
facilitate overriding of the classes set for the d-modal Component
using a new Computed Property having the same naming convention.
Fixes a bug in `controllers/insert-hyperlink` where `addEventListener` was called with different (anonymous) functions than the matching `removeEventListener` calls.
For sites that are configured to mute some or all categories and tags
for users by default, groups can now be configured to set members'
notification level to normal from the group manage UI.
If there's already a `LockOn` instance, clear its lock before creating creating a new one. Fixes a shaky viewport effect after certain transitions.
Includes:
* Slight refactor (elementId wasn't an id, but a selector - it included the "#" prefix)
* Add support for a[name=X] anchors in `jumpToPost`
* Scope down anchors to the #main element (Embeded fontawesome sprites are causing conflicts, e.g. when given `bed` anchor, `<a name="bed">` was at odds with `<symbol id="bed" viewBox="0 0 640 512">(…)</symbol>`)
* REFACTOR: `refreshSort` doesn't cause it to sort again, it's misleading
* FIX: Move queryParams to each discovery controller rather than shared
This fixes issues where params previously would not reset between
routes. For example if you added `max_posts=1` to /latest and then went
to a category.
* Add backward compatibility for (action "changeSort") for themes
* FIX: refreshing was not working
* Update app/assets/javascripts/discourse/app/controllers/discovery/topics.js
Co-authored-by: Jarek Radosz <jradosz@gmail.com>
Co-authored-by: Jarek Radosz <jradosz@gmail.com>
When visiting a permalink with an anchor (e.g. /important-link#notes) the anchor part was being dropped during redirection.
The change doesn't have a test. Functions like scrollToPost or scrollToElement don't have any effect in the test environment.
Mostly de-jQuery-ification. This refactor tries to closely preserve the original behavior.
Changes:
* Store the interval inside the class (allows using `clearLock()` on `LockOn` objects)
* Extract the interval function to a separate method
* Math.max result is never undefined (per MDN: "[Return value] The largest of the given numbers. If at least one of the arguments cannot be converted to a number, NaN is returned.")
* Replace jQuery's `offset()`
* Private methods be private
* Native `scrollTop` (jQuery's just a wrapper for this)
* `addEventListener`/`removeEventListener`
The controller method `_changeFilters` is now changed to `changeFilters` in the commit 1fc58b5a4e. But it was not modified in the `admin-tools` service script.
We trigger `/topics/timings` requests without ever caring about the
promise afterwards, so they can bleed from one test to another.
If you're very unlucky, this might happen and then the next test
is testing a subfolder, which means you end up with a path like
`/forum/topics/timings` which is not caught by pretender and causes the
suite to fail.
It's easier (and faster) to never send these requests in test mode
than to track the ajax requests and abort them between runs.