Browse Source

Fix controls bar calculation

Controls bar calculation needs to take the sidebar visibility into
account.

Recalculation is now triggered when sidebar is toggled, using a new
app-content event "appresized".
tags/v8.2beta1
Vincent Petry 8 years ago
parent
commit
7303b68577
2 changed files with 12 additions and 6 deletions
  1. 3
    3
      core/js/apps.js
  2. 9
    3
      core/js/js.js

+ 3
- 3
core/js/apps.js View File

@@ -27,8 +27,8 @@
*/
exports.Apps.showAppSidebar = function($el) {
var $appSidebar = $el || $('#app-sidebar');
$appSidebar.removeClass('disappear')
$('#app-content').addClass('with-app-sidebar');
$appSidebar.removeClass('disappear');
$('#app-content').addClass('with-app-sidebar').trigger(new $.Event('appresized'));

};

@@ -41,7 +41,7 @@
exports.Apps.hideAppSidebar = function($el) {
var $appSidebar = $el || $('#app-sidebar');
$appSidebar.addClass('disappear');
$('#app-content').removeClass('with-app-sidebar');
$('#app-content').removeClass('with-app-sidebar').trigger(new $.Event('appresized'));
};

/**

+ 9
- 3
core/js/js.js View File

@@ -1393,13 +1393,19 @@ function initCore() {
// if there is a scrollbar …
if($('#app-content').get(0).scrollHeight > $('#app-content').height()) {
if($(window).width() > 768) {
controlsWidth = $('#content').width() - $('#app-navigation').width() - $('#app-sidebar').width() - getScrollBarWidth();
controlsWidth = $('#content').width() - $('#app-navigation').width() - getScrollBarWidth();
if (!$('#app-sidebar').hasClass('hidden') && !$('#app-sidebar').hasClass('disappear')) {
controlsWidth -= $('#app-sidebar').width();
}
} else {
controlsWidth = $('#content').width() - getScrollBarWidth();
}
} else { // if there is none
if($(window).width() > 768) {
controlsWidth = $('#content').width() - $('#app-navigation').width() - $('#app-sidebar').width();
controlsWidth = $('#content').width() - $('#app-navigation').width();
if (!$('#app-sidebar').hasClass('hidden') && !$('#app-sidebar').hasClass('disappear')) {
controlsWidth -= $('#app-sidebar').width();
}
} else {
controlsWidth = $('#content').width();
}
@@ -1411,7 +1417,7 @@ function initCore() {

$(window).resize(_.debounce(adjustControlsWidth, 250));

$('body').delegate('#app-content', 'apprendered', adjustControlsWidth);
$('body').delegate('#app-content', 'apprendered appresized', adjustControlsWidth);

}


Loading…
Cancel
Save