Skip to content
Snippets Groups Projects
Commit 9bd9c437 authored by Kate Arzamastseva's avatar Kate Arzamastseva
Browse files

issue #32 calculation of the panels width is redone when browser window is resized

parent d971ea8b
No related branches found
No related tags found
No related merge requests found
......@@ -25,6 +25,8 @@ var dw_mediamanager = {
// File list view type
view: false,
layout_width: 0,
init: function () {
var $content, $tree;
$content = jQuery('#media__content');
......@@ -417,7 +419,7 @@ var dw_mediamanager = {
dw_mediamanager.prepare_content($content);
dw_mediamanager.updatehide();
dw_mediamanager.update_resizable(0);
dw_mediamanager.update_resizable();
addInitEvent(revisionsForm);
jQuery('#mediamanager__form_sort').find('input[type=submit]').hide();
dw_mediamanager.set_filelist_view(dw_mediamanager.view, false);
......@@ -427,12 +429,53 @@ var dw_mediamanager = {
);
},
window_resize: function () {
if (jQuery('#mediamanager__layout').width() == dw_mediamanager.layout_width) {
return;
}
dw_mediamanager.layout_width = jQuery('#mediamanager__layout').width();
$r = jQuery("#mediamanager__layout .layout-resizable, #mediamanager__layout .layout");
var w = 0, wSum = 0, mCount = 0, mArray = [];
$r.each(function() {
w = jQuery(this).width();
if (w == parseFloat(jQuery(this).css("min-width"))) {
wSum += w;
} else {
mArray[mCount] = jQuery(this);
mCount++;
}
});
if (mCount > 0) {
var width = (0.95 * jQuery('#mediamanager__layout').width() - wSum - 30);
wSum = 0;
for(var i = 0; i < mArray.length; i++) {
wSum += mArray[i].width();
}
for(var i = 0; i < mArray.length; i++) {
w = mArray[i].width();
w = 100*w / wSum;
mArray[i].width(width*w/100);
}
}
$r.each(function() {
w = jQuery(this).width();
w = (100 * w / jQuery('#mediamanager__layout').width());
w += "%";
jQuery(this).width(w);
});
},
/**
* Updates mediamanager layout
*
* @author Kate Arzamastseva <pshns@ukr.net>
*/
update_resizable: function (count_width) {
update_resizable: function () {
$resizable = jQuery("#mediamanager__layout .layout-resizable");
$resizable.resizable({ handles: 'e' ,
......@@ -454,6 +497,13 @@ var dw_mediamanager = {
var wRight = 95-wLeft;
wRight += "%";
jQuery('#mediamanager__layout_detail').width(wRight);
$resizable.each(function() {
w = jQuery(this).width();
w = (100 * w / jQuery('#mediamanager__layout').width());
w += "%";
jQuery(this).width(w);
});
}
});
......@@ -828,8 +878,9 @@ function hasFlash(version){
}
jQuery(document).ready(function() {
dw_mediamanager.update_resizable(1);
jQuery(window).resize(dw_mediamanager.update_resizable);
dw_mediamanager.update_resizable();
dw_mediamanager.layout_width = jQuery("#mediamanager__layout").width();
jQuery(window).resize(dw_mediamanager.window_resize);
});
jQuery(dw_mediamanager.init);
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment