discourse/app/assets/javascripts
Alan Guo Xiang Tan 70f7d369fb
DEV: Rewrite SchemaThemeSetting::Editor to avoid rerendering problems (#26416)
Why this change?

Prior to this change, the `SchemaThemeSetting::Editor#tree` was creating a
new `Tree` instance which holds instances of `Node`. Both classes
consisted of tracked properties. The problem with this approach is that
when any tracked properties is updated, Ember will revaluate
`SchemaThemeSetting::Editor#tree` and because that method always return
a new instance of `Tree`, it causes the whole navigation tree to
rerender just because on tracked property changed.

This rerendering of the whole navigation tree every time made it hard to
implement simple features like hiding a section in
9baa820d53. Instead of being able to just
declare a tracked property to hide/show a section, we end up with a more
complicated solution.

This commit rewrites `SchemaThemeSetting::Editor` to depend on Ember
components to form the tree structure instead. As needed, each component
in the tree structure can declare its own tracked property as necessary.
2024-03-28 21:13:02 +08:00
..
admin DEV: Rewrite SchemaThemeSetting::Editor to avoid rerendering problems (#26416) 2024-03-28 21:13:02 +08:00
bootstrap-json Build(deps-dev): Bump express from 4.19.1 to 4.19.2 (#26348) 2024-03-25 21:31:40 +01:00
deprecation-silencer DEV: Update ember-cli to 5.6.0 (#25886) 2024-02-27 10:48:30 +01:00
dialog-holder Build(deps-dev): Bump webpack from 5.90.3 to 5.91.0 (#26273) 2024-03-21 07:03:20 +08:00
discourse Build(deps): Bump terser from 5.29.2 to 5.30.0 (#26404) 2024-03-27 22:53:59 +01:00
discourse-common DEV: Add icon aliases (#26300) 2024-03-21 17:20:02 -05:00
discourse-hbr Build(deps): Bump the babel group with 2 updates (#26272) 2024-03-21 07:03:29 +08:00
discourse-i18n DEV: Update ember-cli to 5.6.0 (#25886) 2024-02-27 10:48:30 +01:00
discourse-markdown-it UX: add title attribute to composer preview image controls (#26301) 2024-03-22 09:49:10 -04:00
discourse-plugins Build(deps): Bump the babel group with 2 updates (#26272) 2024-03-21 07:03:29 +08:00
discourse-widget-hbs Build(deps): Bump @glimmer/syntax from 0.90.1 to 0.91.0 (#26351) 2024-03-25 22:45:22 +01:00
docs
ember-addons
ember-cli-progress-ci
ember-production-deprecations DEV: Add production-mode shim for Em deprecation (#25109) 2024-01-03 10:39:59 +00:00
float-kit Build(deps): Bump the babel group with 2 updates (#26272) 2024-03-21 07:03:29 +08:00
locales DEV: convert I18n pseudo package into real package (discourse-i18n) (#23867) 2023-10-12 14:44:01 +01:00
pretty-text Build(deps): Bump the babel group with 2 updates (#26272) 2024-03-21 07:03:29 +08:00
select-kit FIX: tweaks of select-kit on mobile (#26401) 2024-03-27 17:26:24 +01:00
theme-transpiler Build(deps): Bump terser from 5.29.2 to 5.30.0 (#26404) 2024-03-27 22:53:59 +01:00
truth-helpers DEV: Convert truth-helpers to a v2 addon and simplify imports (#26029) 2024-03-05 15:24:47 +00:00
.npmrc
handlebars-shim.js
polyfills.js
run-patch-package DEV: Automatically retry patch-package on failure (#23583) 2023-09-14 12:25:06 +01:00
service-worker.js.erb FIX: Service worker push notifications when cache disabled (#25610) 2024-02-08 11:55:32 +00:00