mirror of
https://github.com/TryGhost/Ghost.git
synced 2024-12-01 13:54:35 +03:00
Refactor main nav menu into components
This commit is contained in:
parent
7190e1d2a3
commit
c0254eabab
13
core/client/app/components/gh-autonav-toggle.js
Normal file
13
core/client/app/components/gh-autonav-toggle.js
Normal file
@ -0,0 +1,13 @@
|
||||
import Ember from 'ember';
|
||||
|
||||
export default Ember.Component.extend({
|
||||
classNames: ['gh-autonav-toggle'],
|
||||
|
||||
maximise: false,
|
||||
|
||||
click: function () {
|
||||
this.toggleProperty('maximise');
|
||||
|
||||
this.sendAction('onClick');
|
||||
}
|
||||
});
|
16
core/client/app/components/gh-content-cover.js
Normal file
16
core/client/app/components/gh-content-cover.js
Normal file
@ -0,0 +1,16 @@
|
||||
import Ember from 'ember';
|
||||
|
||||
export default Ember.Component.extend({
|
||||
classNames: ['content-cover'],
|
||||
|
||||
onClick: null,
|
||||
onMouseEnter: null,
|
||||
|
||||
click: function () {
|
||||
this.sendAction('onClick');
|
||||
},
|
||||
|
||||
mouseEnter: function () {
|
||||
this.sendAction('onMouseEnter');
|
||||
}
|
||||
});
|
11
core/client/app/components/gh-main.js
Normal file
11
core/client/app/components/gh-main.js
Normal file
@ -0,0 +1,11 @@
|
||||
import Ember from 'ember';
|
||||
|
||||
export default Ember.Component.extend({
|
||||
tagName: 'main',
|
||||
classNames: ['gh-main'],
|
||||
ariaRole: 'main',
|
||||
|
||||
mouseEnter: function () {
|
||||
this.sendAction('onMouseEnter');
|
||||
}
|
||||
});
|
29
core/client/app/components/gh-nav-menu.js
Normal file
29
core/client/app/components/gh-nav-menu.js
Normal file
@ -0,0 +1,29 @@
|
||||
import Ember from 'ember';
|
||||
|
||||
export default Ember.Component.extend({
|
||||
tagName: 'nav',
|
||||
classNames: ['gh-nav'],
|
||||
classNameBindings: ['open'],
|
||||
|
||||
open: false,
|
||||
|
||||
autoNav: null,
|
||||
|
||||
mouseEnter: function () {
|
||||
if (!this.get('autoNav')) {
|
||||
return;
|
||||
}
|
||||
|
||||
this.set('open', true);
|
||||
},
|
||||
|
||||
actions: {
|
||||
toggleMaximise: function () {
|
||||
this.sendAction('toggleMaximise');
|
||||
},
|
||||
|
||||
openModal: function (modal) {
|
||||
this.sendAction('openModal', modal);
|
||||
}
|
||||
}
|
||||
});
|
@ -1,32 +1,28 @@
|
||||
import Ember from 'ember';
|
||||
var ApplicationController = Ember.Controller.extend({
|
||||
|
||||
export default Ember.Controller.extend({
|
||||
// jscs: disable
|
||||
signedOut: Ember.computed.match('currentPath', /(signin|signup|setup|reset)/),
|
||||
// jscs: enable
|
||||
|
||||
topNotificationCount: 0,
|
||||
showGlobalMobileNav: false,
|
||||
showNavMenu: false,
|
||||
showSettingsMenu: false,
|
||||
|
||||
userImage: Ember.computed('session.user.image', function () {
|
||||
return this.get('session.user.image') || this.get('ghostPaths.url').asset('/shared/img/user-image.png');
|
||||
}),
|
||||
|
||||
userImageBackground: Ember.computed('userImage', function () {
|
||||
return `background-image: url(${this.get('userImage')})`.htmlSafe();
|
||||
}),
|
||||
|
||||
userImageAlt: Ember.computed('session.user.name', function () {
|
||||
var name = this.get('session.user.name');
|
||||
|
||||
return (name) ? name + '\'s profile picture' : 'Profile picture';
|
||||
}),
|
||||
autoNav: false,
|
||||
|
||||
actions: {
|
||||
topNotificationChange: function (count) {
|
||||
this.set('topNotificationCount', count);
|
||||
},
|
||||
|
||||
closeNavMenu: function () {
|
||||
this.get('dropdown').closeDropdowns();
|
||||
this.set('showNavMenu', false);
|
||||
},
|
||||
|
||||
navMenuToggleMaximise: function () {
|
||||
this.toggleProperty('autoNav');
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
export default ApplicationController;
|
||||
|
@ -12,6 +12,8 @@ var PostSettingsMenuController = Ember.Controller.extend(SettingsMenuMixin, {
|
||||
selectedAuthor: null,
|
||||
uploaderReference: null,
|
||||
|
||||
application: Ember.inject.controller(),
|
||||
|
||||
initializeSelectedAuthor: function () {
|
||||
var self = this;
|
||||
|
||||
@ -456,6 +458,10 @@ var PostSettingsMenuController = Ember.Controller.extend(SettingsMenuMixin, {
|
||||
|
||||
resetPubDate: function () {
|
||||
this.set('publishedAtValue', '');
|
||||
},
|
||||
|
||||
closeNavMenu: function () {
|
||||
this.get('application').send('closeNavMenu');
|
||||
}
|
||||
}
|
||||
});
|
||||
|
@ -19,6 +19,8 @@ var TagsController = Ember.ArrayController.extend(PaginationMixin, SettingsMenuM
|
||||
this._super(options);
|
||||
},
|
||||
|
||||
application: Ember.inject.controller(),
|
||||
|
||||
showErrors: function (errors) {
|
||||
errors = Ember.isArray(errors) ? errors : [errors];
|
||||
this.notifications.showErrors(errors);
|
||||
@ -128,6 +130,10 @@ var TagsController = Ember.ArrayController.extend(PaginationMixin, SettingsMenuM
|
||||
|
||||
clearCoverImage: function () {
|
||||
this.saveActiveTagProperty('image', '');
|
||||
},
|
||||
|
||||
closeNavMenu: function () {
|
||||
this.get('application').send('closeNavMenu');
|
||||
}
|
||||
}
|
||||
});
|
||||
|
@ -9,6 +9,7 @@ var dropdownInitializer = {
|
||||
// Inject dropdowns
|
||||
application.inject('component:gh-dropdown', 'dropdown', 'dropdown:service');
|
||||
application.inject('component:gh-dropdown-button', 'dropdown', 'dropdown:service');
|
||||
application.inject('controller:application', 'dropdown', 'dropdown:service');
|
||||
application.inject('controller:modals.delete-post', 'dropdown', 'dropdown:service');
|
||||
application.inject('controller:modals.transfer-owner', 'dropdown', 'dropdown:service');
|
||||
application.inject('route:application', 'dropdown', 'dropdown:service');
|
||||
|
@ -1,5 +1,6 @@
|
||||
import Ember from 'ember';
|
||||
/* global console */
|
||||
|
||||
import Ember from 'ember';
|
||||
import PostModel from 'ghost/models/post';
|
||||
import boundOneWay from 'ghost/utils/bound-one-way';
|
||||
import imageManager from 'ghost/utils/ed-image-manager';
|
||||
|
@ -1,66 +0,0 @@
|
||||
<nav class="gh-nav">
|
||||
{{#gh-dropdown-button tagName="header" class="gh-nav-menu" dropdownName="user-menu"}}
|
||||
<div class="gh-nav-menu-icon" style="background-image: url(https://s3.amazonaws.com/f.cl.ly/items/3I0g431b2b3q00253K1V/d16dc430c9c4f5c09d6ca09be3e5c72fdb21c1ac.png)"></div>
|
||||
<div class="gh-nav-menu-details">
|
||||
<div class="gh-nav-menu-details-blog">{{config.blogTitle}}</div>
|
||||
<div class="gh-nav-menu-details-user">{{session.user.name}}</div>
|
||||
</div>
|
||||
<i class="icon-arrow"></i>
|
||||
{{/gh-dropdown-button}}
|
||||
{{#gh-dropdown tagName="div" classNames="dropdown" name="user-menu" closeOnClick="true"}}
|
||||
<ul class="dropdown-menu dropdown-triangle-top js-user-menu-dropdown-menu" role="menu" style="right:-50%;left:auto;margin-right:40px">
|
||||
<li role="presentation">{{#link-to "settings.about" classNames="gh-nav-menu-about dropdown-item js-nav-item" role="menuitem" tabindex="-1"}}<i class="icon-gh"></i> About Ghost{{/link-to}}</li>
|
||||
<li class="divider"></li>
|
||||
<li role="presentation">{{#link-to "settings.users.user" session.user.slug classNames="dropdown-item user-menu-profile js-nav-item" role="menuitem" tabindex="-1"}}<i class="icon-user"></i> Your Profile{{/link-to}}</li>
|
||||
<li class="divider"></li>
|
||||
<li role="presentation">{{#link-to "signout" classNames="dropdown-item user-menu-signout" role="menuitem" tabindex="-1"}}<i class="icon-signout"></i> Sign Out{{/link-to}}</li>
|
||||
</ul>
|
||||
{{/gh-dropdown}}
|
||||
<section class="gh-nav-body">
|
||||
<section class="gh-nav-search">
|
||||
<input class="gh-nav-search-input gh-input" type="text" placeholder="Search">
|
||||
<button class="gh-nav-search-button"><i class="icon-search"></i><span class="sr-only">Search</span></button>
|
||||
</section>
|
||||
<ul class="gh-nav-list gh-nav-main">
|
||||
{{!<li><i class="icon-dash"></i>Dashboard</li>}}
|
||||
<li>{{#link-to "editor.new" classNames="gh-nav-main-editor"}}<i class="icon-pen"></i>New Post{{/link-to}}</li>
|
||||
<li>{{#link-to "posts" classNames="gh-nav-main-content"}}<i class="icon-content"></i>Content{{/link-to}}</li>
|
||||
{{!<li><a href="#"><i class="icon-user"></i>My Posts</a></li>}}
|
||||
<li>{{#link-to "settings.users" classNames="gh-nav-main-users"}}<i class="icon-team"></i>Team{{/link-to}}</li>
|
||||
{{!<li><a href="#"><i class="icon-idea"></i>Ideas</a></li>}}
|
||||
</ul>
|
||||
<ul class="gh-nav-list gh-nav-settings">
|
||||
<li class="gh-nav-list-h">Settings</li>
|
||||
<li>{{#link-to "settings.general" classNames="gh-nav-settings-general"}}<i class="icon-settings"></i>General{{/link-to}}</li>
|
||||
{{!<li><i class="icon-design"></i>Themes</li>}}
|
||||
<li>{{#link-to "settings.navigation" classNames="gh-nav-settings-navigation"}}<i class="icon-compass"></i>Navigation{{/link-to}}</li>
|
||||
<li>{{#link-to "settings.tags" classNames="gh-nav-settings-tags"}}<i class="icon-tag"></i>Tags{{/link-to}}</li>
|
||||
<li>{{#link-to "settings.code-injection" classNames="gh-nav-settings-code-injection"}}<i class="icon-code"></i>Code Injection{{/link-to}}</li>
|
||||
<li>{{#link-to "settings.labs" classNames="gh-nav-settings-labs"}}<i class="icon-apps"></i>Labs{{/link-to}}</li>
|
||||
</ul>
|
||||
</section>
|
||||
<footer class="gh-nav-footer">
|
||||
<div class="gh-autonav-toggle">
|
||||
<i class="icon-minimise"></i>
|
||||
</div>
|
||||
<a class="gh-nav-footer-sitelink" href="{{config.blogUrl}}/" target="_blank">View blog <i class="icon-external"></i></a>
|
||||
<div class="gh-help-menu">
|
||||
{{#gh-dropdown-button dropdownName="help-menu" tagName="div"}}
|
||||
<div class="gh-help-button">
|
||||
<i class="icon-question"><span class="hidden">Help</span></i>
|
||||
</div>
|
||||
{{/gh-dropdown-button}}
|
||||
{{#gh-dropdown tagName="div" classNames="dropdown" name="help-menu" closeOnClick="true"}}
|
||||
<ul class="dropdown-menu dropdown-triangle-bottom" role="menu">
|
||||
<li role="presentation"><a class="dropdown-item help-menu-support" role="menuitem" tabindex="-1" href="http://support.ghost.org/" target="_blank"><i class="icon-ambulance"></i> Support Center</a></li>
|
||||
<li role="presentation"><a class="dropdown-item help-menu-tweet" role="menuitem" tabindex="-1" href="https://twitter.com/intent/tweet?text=%40TryGhost+Hi%21+Can+you+help+me+with+&related=TryGhost" target="_blank" onclick="window.open(this.href, 'twitter-share', 'width=550,height=235');return false;"><i class="icon-twitter"></i> Tweet @TryGhost!</a></li>
|
||||
<li class="divider"></li>
|
||||
<li role="presentation"><a class="dropdown-item help-menu-how-to" role="menuitem" tabindex="-1" href="http://support.ghost.org/how-to-use-ghost/" target="_blank"><i class="icon-book"></i> How to Use Ghost</a></li>
|
||||
<li role="presentation"><a class="dropdown-item help-menu-markdown" role="menuitem" tabindex="-1" href="" {{action "openModal" "markdown"}}><i class="icon-markdown"></i> Markdown Help</a></li>
|
||||
<li class="divider"></li>
|
||||
<li role="presentation"><a class="dropdown-item help-menu-wishlist" role="menuitem" tabindex="-1" href="http://ideas.ghost.org/" target="_blank"><i class="icon-idea"></i> Wishlist</a></li>
|
||||
</ul>
|
||||
{{/gh-dropdown}}
|
||||
</div>{{! .help-menu }}
|
||||
</footer>
|
||||
</nav>
|
@ -2,15 +2,15 @@
|
||||
|
||||
{{gh-alerts notify="topNotificationChange"}}
|
||||
|
||||
<div class="gh-viewport">
|
||||
<div class="gh-viewport {{if autoNav 'gh-autonav'}}">
|
||||
|
||||
{{#unless signedOut}}
|
||||
{{partial "nav-menu"}}
|
||||
{{gh-nav-menu open=showNavMenu autoNav=autoNav toggleMaximise="navMenuToggleMaximise" openModal="openModal"}}
|
||||
{{/unless}}
|
||||
|
||||
<main id="gh-main" class="gh-main" role="main" data-notification-count={{topNotificationCount}}>
|
||||
{{#gh-main onMouseEnter="closeNavMenu" data-notification-count=topNotificationCount}}
|
||||
{{outlet}}
|
||||
</main>
|
||||
{{/gh-main}}
|
||||
|
||||
{{gh-notifications}}
|
||||
|
||||
|
@ -0,0 +1 @@
|
||||
<i class="{{if maximise 'icon-maximise' 'icon-minimise'}}"></i>
|
62
core/client/app/templates/components/gh-nav-menu.hbs
Normal file
62
core/client/app/templates/components/gh-nav-menu.hbs
Normal file
@ -0,0 +1,62 @@
|
||||
{{#gh-dropdown-button tagName="header" class="gh-nav-menu" dropdownName="user-menu"}}
|
||||
<div class="gh-nav-menu-icon" style="background-image: url(https://s3.amazonaws.com/f.cl.ly/items/3I0g431b2b3q00253K1V/d16dc430c9c4f5c09d6ca09be3e5c72fdb21c1ac.png)"></div>
|
||||
<div class="gh-nav-menu-details">
|
||||
<div class="gh-nav-menu-details-blog">{{config.blogTitle}}</div>
|
||||
<div class="gh-nav-menu-details-user">{{session.user.name}}</div>
|
||||
</div>
|
||||
<i class="icon-arrow"></i>
|
||||
{{/gh-dropdown-button}}
|
||||
{{#gh-dropdown tagName="div" classNames="dropdown" name="user-menu" closeOnClick="true"}}
|
||||
<ul class="dropdown-menu dropdown-triangle-top js-user-menu-dropdown-menu" role="menu" style="right:-50%;left:auto;margin-right:40px">
|
||||
<li role="presentation">{{#link-to "settings.about" classNames="gh-nav-menu-about dropdown-item js-nav-item" role="menuitem" tabindex="-1"}}<i class="icon-gh"></i> About Ghost{{/link-to}}</li>
|
||||
<li class="divider"></li>
|
||||
<li role="presentation">{{#link-to "settings.users.user" session.user.slug classNames="dropdown-item user-menu-profile js-nav-item" role="menuitem" tabindex="-1"}}<i class="icon-user"></i> Your Profile{{/link-to}}</li>
|
||||
<li class="divider"></li>
|
||||
<li role="presentation">{{#link-to "signout" classNames="dropdown-item user-menu-signout" role="menuitem" tabindex="-1"}}<i class="icon-signout"></i> Sign Out{{/link-to}}</li>
|
||||
</ul>
|
||||
{{/gh-dropdown}}
|
||||
<section class="gh-nav-body">
|
||||
<section class="gh-nav-search">
|
||||
<input class="gh-nav-search-input gh-input" type="text" placeholder="Search">
|
||||
<button class="gh-nav-search-button"><i class="icon-search"></i><span class="sr-only">Search</span></button>
|
||||
</section>
|
||||
<ul class="gh-nav-list gh-nav-main">
|
||||
{{!<li><i class="icon-dash"></i>Dashboard</li>}}
|
||||
<li>{{#link-to "editor.new" classNames="gh-nav-main-editor"}}<i class="icon-pen"></i>New Post{{/link-to}}</li>
|
||||
<li>{{#link-to "posts" classNames="gh-nav-main-content"}}<i class="icon-content"></i>Content{{/link-to}}</li>
|
||||
{{!<li><a href="#"><i class="icon-user"></i>My Posts</a></li>}}
|
||||
<li>{{#link-to "settings.users" classNames="gh-nav-main-users"}}<i class="icon-team"></i>Team{{/link-to}}</li>
|
||||
{{!<li><a href="#"><i class="icon-idea"></i>Ideas</a></li>}}
|
||||
</ul>
|
||||
<ul class="gh-nav-list gh-nav-settings">
|
||||
<li class="gh-nav-list-h">Settings</li>
|
||||
<li>{{#link-to "settings.general" classNames="gh-nav-settings-general"}}<i class="icon-settings"></i>General{{/link-to}}</li>
|
||||
{{!<li><i class="icon-design"></i>Themes</li>}}
|
||||
<li>{{#link-to "settings.navigation" classNames="gh-nav-settings-navigation"}}<i class="icon-compass"></i>Navigation{{/link-to}}</li>
|
||||
<li>{{#link-to "settings.tags" classNames="gh-nav-settings-tags"}}<i class="icon-tag"></i>Tags{{/link-to}}</li>
|
||||
<li>{{#link-to "settings.code-injection" classNames="gh-nav-settings-code-injection"}}<i class="icon-code"></i>Code Injection{{/link-to}}</li>
|
||||
<li>{{#link-to "settings.labs" classNames="gh-nav-settings-labs"}}<i class="icon-apps"></i>Labs{{/link-to}}</li>
|
||||
</ul>
|
||||
</section>
|
||||
<footer class="gh-nav-footer">
|
||||
{{gh-autonav-toggle onClick="toggleMaximise"}}
|
||||
<a class="gh-nav-footer-sitelink" href="{{config.blogUrl}}/" target="_blank">View blog <i class="icon-external"></i></a>
|
||||
<div class="gh-help-menu">
|
||||
{{#gh-dropdown-button dropdownName="help-menu" tagName="div"}}
|
||||
<div class="gh-help-button">
|
||||
<i class="icon-question"><span class="hidden">Help</span></i>
|
||||
</div>
|
||||
{{/gh-dropdown-button}}
|
||||
{{#gh-dropdown tagName="div" classNames="dropdown" name="help-menu" closeOnClick="true"}}
|
||||
<ul class="dropdown-menu dropdown-triangle-bottom" role="menu">
|
||||
<li role="presentation"><a class="dropdown-item help-menu-support" role="menuitem" tabindex="-1" href="http://support.ghost.org/" target="_blank"><i class="icon-ambulance"></i> Support Center</a></li>
|
||||
<li role="presentation"><a class="dropdown-item help-menu-tweet" role="menuitem" tabindex="-1" href="https://twitter.com/intent/tweet?text=%40TryGhost+Hi%21+Can+you+help+me+with+&related=TryGhost" target="_blank" onclick="window.open(this.href, 'twitter-share', 'width=550,height=235');return false;"><i class="icon-twitter"></i> Tweet @TryGhost!</a></li>
|
||||
<li class="divider"></li>
|
||||
<li role="presentation"><a class="dropdown-item help-menu-how-to" role="menuitem" tabindex="-1" href="http://support.ghost.org/how-to-use-ghost/" target="_blank"><i class="icon-book"></i> How to Use Ghost</a></li>
|
||||
<li role="presentation"><a class="dropdown-item help-menu-markdown" role="menuitem" tabindex="-1" href="" {{action "openModal" "markdown"}}><i class="icon-markdown"></i> Markdown Help</a></li>
|
||||
<li class="divider"></li>
|
||||
<li role="presentation"><a class="dropdown-item help-menu-wishlist" role="menuitem" tabindex="-1" href="http://ideas.ghost.org/" target="_blank"><i class="icon-idea"></i> Wishlist</a></li>
|
||||
</ul>
|
||||
{{/gh-dropdown}}
|
||||
</div>{{! .help-menu }}
|
||||
</footer>
|
@ -1,4 +1,5 @@
|
||||
<div class="content-cover" {{action "closeSettingsMenu"}}></div>
|
||||
{{gh-content-cover onClick="closeSettingsMenu" onMouseEnter="closeNavMenu"}}
|
||||
|
||||
{{#gh-tabs-manager selected="showSubview" id="entry-controls" class="settings-menu-container"}}
|
||||
<div id="entry-controls">
|
||||
<div class="{{if isViewingSubview 'settings-menu-pane-out-left' 'settings-menu-pane-in'}} settings-menu settings-menu-pane">
|
||||
|
@ -1,4 +1,5 @@
|
||||
<div class="content-cover" {{action "closeSettingsMenu"}}></div>
|
||||
{{gh-content-cover onClick="closeSettingsMenu" onMouseEnter="closeNavMenu"}}
|
||||
|
||||
{{#gh-tabs-manager selected="showSubview" class="settings-menu-container"}}
|
||||
<div class="{{if isViewingSubview 'settings-menu-pane-out-left' 'settings-menu-pane-in'}} settings-menu settings-menu-pane">
|
||||
<div class="settings-menu-header">
|
||||
|
@ -1,69 +1,9 @@
|
||||
import Ember from 'ember';
|
||||
import mobileQuery from 'ghost/utils/mobile';
|
||||
|
||||
var ApplicationView = Ember.View.extend({
|
||||
export default Ember.View.extend({
|
||||
classNames: 'gh-app',
|
||||
|
||||
didInsertElement: function () {
|
||||
// #### Navigating within the sidebar closes it.
|
||||
var self = this;
|
||||
|
||||
$('body').on('click tap', '.js-nav-item', function () {
|
||||
Ember.run(function () {
|
||||
if (mobileQuery.matches) {
|
||||
self.set('controller.showGlobalMobileNav', false);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
// #### Close the nav if mobile and clicking outside of the nav or not the burger toggle
|
||||
$('.js-nav-cover').on('click tap', function () {
|
||||
Ember.run(function () {
|
||||
var isOpen = self.get('controller.showGlobalMobileNav');
|
||||
|
||||
if (isOpen) {
|
||||
self.set('controller.showGlobalMobileNav', false);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
// TODO: ABOVE - All of this can be removed
|
||||
// TODO: BELOW - John wrote this, reimplement in a not-shit way
|
||||
|
||||
// #### Toggle nav between fixed and auto
|
||||
$('.gh-autonav-toggle').on('click tap', function () {
|
||||
$('.gh-viewport').toggleClass('gh-autonav');
|
||||
$('.gh-autonav-toggle i').toggleClass('icon-minimise').toggleClass('icon-maximise');
|
||||
$('.gh-nav').removeClass('open');
|
||||
});
|
||||
|
||||
// #### Open and close the nav on hover
|
||||
$('.gh-nav').mouseenter(function () {
|
||||
$('.gh-nav').addClass('open');
|
||||
});
|
||||
$('.gh-main').mouseenter(function () {
|
||||
$('.gh-nav').removeClass('open');
|
||||
});
|
||||
|
||||
mobileQuery.addListener(this.get('closeGlobalMobileNavOnDesktop'));
|
||||
},
|
||||
|
||||
showGlobalMobileNavObserver: function () {
|
||||
if (this.get('controller.showGlobalMobileNav')) {
|
||||
$('body').addClass('global-nav-expanded');
|
||||
} else {
|
||||
$('body').removeClass('global-nav-expanded');
|
||||
}
|
||||
}.observes('controller.showGlobalMobileNav'),
|
||||
|
||||
willDestroyElement: function () {
|
||||
mobileQuery.removeListener(this.get('closeGlobalMobileNavOnDesktop'));
|
||||
mobileQuery.removeListener(this.get('swapUserMenuDropdownTriangleClasses'));
|
||||
},
|
||||
|
||||
toggleSettingsMenuBodyClass: function () {
|
||||
$('body').toggleClass('settings-menu-expanded', this.get('controller.showSettingsMenu'));
|
||||
}.observes('controller.showSettingsMenu')
|
||||
});
|
||||
|
||||
export default ApplicationView;
|
||||
|
Loading…
Reference in New Issue
Block a user