mirror of
https://github.com/TryGhost/Ghost.git
synced 2024-12-01 22:02:11 +03:00
a63dbb7da6
closes TryGhost/Ghost#8307 - unloading the store and refreshing the `session.user` attribute after an import was triggering a rendering edge case where the style was re-computed and a re-render was attempted after the sidebar has been destroyed - rather than binding a style attribute directly to a CP in `gh-nav-menu` we pass the menu icon in (using `settings.settledIcon` - see below) and manually set the style attribute via the `didReceiveAttrs` hook so that outside changes don't trigger re-computations when we don't expect them and so we can still react to icons being uploaded or removed - our usage of `settings.icon` is a bit of an odd situation because it's a link to an external resource that will only resolve correctly after a successful save - if we change `settings.icon` in the local store and the nav menu icon style updates before the save has been completed then the server will give us the old icon. To work around this a `settings.settledIcon` attribute has been added that is only updated when we receive data from the store ensuring that our cache-busting technique works correctly |
||
---|---|---|
.. | ||
ajax.js | ||
clock.js | ||
config.js | ||
dropdown.js | ||
event-bus.js | ||
feature.js | ||
ghost-paths.js | ||
lazy-loader.js | ||
media-queries.js | ||
notifications.js | ||
session.js | ||
settings.js | ||
slug-generator.js | ||
upgrade-notification.js | ||
upgrade-status.js |