mirror of
https://github.com/discourse/discourse.git
synced 2025-06-01 08:02:05 +08:00
DEV: Introduce declarative hide-application-footer helper (#23088)
Previously, we had a `showFooter` boolean on the application controller which would be set true/false in various routes by different routes/controllers. A global `routeWillChange` hook would set it `false` before every route transition, and the destination route/controller would have to set it `true` for the footer to show correctly. This commit replaces that with a new 'declarative' system. Instead of having to set the value true/false manually, UIs which need the footer to be hidden can simply include the `{{hide-application-footer}}` helper in their template when needed. The helper/service will automatically keep track of all the current invocations of that helper, and only show the footer when there are 0 invocations. This significantly simplifies things, and removes the need for many observers and controller injections, both of which are considered 'code smells' in modern Ember applications.
This commit is contained in:
@ -16,10 +16,11 @@ module.exports = {
|
||||
"directory-table-header-title",
|
||||
"loading-spinner",
|
||||
"directory-item-label",
|
||||
"hide-application-footer",
|
||||
],
|
||||
},
|
||||
"no-implicit-this": {
|
||||
allow: ["loading-spinner"],
|
||||
allow: ["loading-spinner", "hide-application-footer"],
|
||||
},
|
||||
"require-mandatory-role-attributes": false,
|
||||
"require-media-caption": false,
|
||||
|
Reference in New Issue
Block a user