discourse/app/assets/javascripts/admin
David Taylor e08a0b509d
DEV: Support `@debounce` decorator in native class syntax (#20521)
The implementation previously generated a descriptor with an `initializer()`, and bound the function to the `this` context of the initializer. In native class syntax, the initializer of a descriptor is only called once, with a `this` context of the constructor, not the instance.

This commit updates the implementation so that it generates the bound function on-demand using a getter. This is the same strategy employed by ember's built-in `@action` decorator.

Unfortunately, this use of a getter means that the `@observes` decorator does not support being directly chained to `@debounce`. It throws the error "`observer must be provided a function or an observer definition`". The workaround is to put the observer on its own function, which then calls the debounced function. Given that we're aiming to reduce our usage of `@observes`, we've accepted the need for this workaround rather than spending the time to patch the implementation of `@observes`.
2023-03-03 11:48:58 +00:00
..
addon DEV: Support `@debounce` decorator in native class syntax (#20521) 2023-03-03 11:48:58 +00:00
app REFACTOR: Support bundling our `admin` section as an ember addon 2020-09-22 15:14:29 -04:00
config DEV: Upgrade to Ember 3.28 2022-07-19 10:00:59 +01:00
tests DEV: Make addons buildable on their own (#17205) 2022-06-23 22:19:54 +02:00
.npmrc DEV: Prevent npm usage (#13945) 2021-08-04 22:04:58 +02:00
ember-cli-build.js DEV: Upgrade to Ember 3.28 2022-07-19 10:00:59 +01:00
index.js REFACTOR: Support bundling our `admin` section as an ember addon 2020-09-22 15:14:29 -04:00
jsconfig.json DEV: Add `discourse/tests` to jsconfig (#19031) 2022-11-15 11:33:56 +00:00
package.json DEV: Update ember-cli-htmlbars to 6.2.0 (#20467) 2023-02-27 18:43:28 +01:00