discourse/app/assets/javascripts
Alan Guo Xiang Tan b596e54a39
DEV: Use components to manage custom sidebar sections lifecycle (#21574)
What is the problem?

Previously the `sections` getter was initializing duplicate `lib/sidebar/(community-)section` instances every time it was evaluated. This change in identity was causing Ember's `{{#each` helper to totally rerender every section whenever the getter was evaluated.

What is the fix?

This commit refactors things to lean on Ember's components for state/lifecycle management. The `{{#each` loop is done over the source data, which is guaranteed to only change identity when there is a real config change. Individual section components are initialized for each section, and are responsible for constructing and tearing down their own `lib/sidebar/(community-)section` instances.

This commit also updates `lib/sidebar/(community-)section` to support service injection rather than passing service references around.

Co-authored-by: David Taylor <david@taylorhq.com>
2023-05-16 11:47:59 +08:00
..
admin Build(deps): Bump webpack in /app/assets/javascripts (#21496) 2023-05-11 17:27:09 +02:00
bootstrap-json Build(deps): Bump jsdom from 21.1.1 to 22.0.0 in /app/assets/javascripts (#21350) 2023-05-08 11:45:28 +02:00
confirm-new-email DEV: Add error message styling (#21225) 2023-04-25 08:40:18 -04:00
dialog-holder Build(deps): Bump webpack in /app/assets/javascripts (#21496) 2023-05-11 17:27:09 +02:00
discourse DEV: Use components to manage custom sidebar sections lifecycle (#21574) 2023-05-16 11:47:59 +08:00
discourse-common FIX: Handle all UTF-8 characters (#21344) 2023-05-15 12:45:04 +03:00
discourse-hbr Build(deps): Bump webpack in /app/assets/javascripts (#21496) 2023-05-11 17:27:09 +02:00
discourse-plugins Build(deps): Bump webpack in /app/assets/javascripts (#21496) 2023-05-11 17:27:09 +02:00
discourse-widget-hbs Build(deps): Bump webpack in /app/assets/javascripts (#21496) 2023-05-11 17:27:09 +02:00
docs
ember-addons
ember-cli-progress-ci DEV: Add progress output in CI during ember-cli build (#17977) 2022-08-17 22:39:52 +01:00
ember-production-deprecations DEV: Include ember deprecation messages in production builds (#20587) 2023-03-10 10:37:28 +00:00
locales UX/DEV: Review queue redesign fixes (#20239) 2023-03-02 16:40:53 +01:00
patches DEV: Update ember-cli to 4.12.0 (#21074) 2023-04-19 12:58:29 +02:00
pretty-text Build(deps): Bump webpack in /app/assets/javascripts (#21496) 2023-05-11 17:27:09 +02:00
select-kit Build(deps): Bump webpack in /app/assets/javascripts (#21496) 2023-05-11 17:27:09 +02:00
truth-helpers Build(deps): Bump webpack in /app/assets/javascripts (#21496) 2023-05-11 17:27:09 +02:00
wizard Build(deps): Bump webpack in /app/assets/javascripts (#21496) 2023-05-11 17:27:09 +02:00
.licensee.json Revert "DEV: Merge package.json files (#21172)" (#21182) 2023-04-20 14:57:40 +02:00
.npmrc
discourse-js-processor.js DEV: Update ember-cli-htmlbars to 6.2.0 (#20467) 2023-02-27 18:43:28 +01:00
handlebars-shim.js
package.json DEV: Move app build-time dependencies to devDependencies (#21310) 2023-05-03 09:25:13 +01:00
polyfills.js Drop support for iOS < 15.7 (#19847) 2023-01-16 17:28:59 +00:00
service-worker.js.erb FIX: Service worker for Safari (#21435) 2023-05-09 18:36:20 +03:00
yarn.lock Build(deps): Bump webpack in /app/assets/javascripts (#21496) 2023-05-11 17:27:09 +02:00