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`. |
||
|---|---|---|
| .. | ||
| admin | ||
| bootstrap-json | ||
| confirm-new-email | ||
| dialog-holder | ||
| discourse | ||
| discourse-common | ||
| discourse-ensure-deprecation-order | ||
| discourse-hbr | ||
| discourse-plugins | ||
| discourse-widget-hbs | ||
| docs | ||
| ember-addons | ||
| ember-cli-progress-ci | ||
| locales | ||
| pretty-text | ||
| select-kit | ||
| truth-helpers | ||
| wizard | ||
| .licensee.json | ||
| .npmrc | ||
| discourse-js-processor.js | ||
| handlebars-shim.js | ||
| package.json | ||
| polyfills.js | ||
| service-worker.js.erb | ||
| yarn.lock | ||