summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorAdrian Lang <mail@adrianlang.de>2011-09-13 12:02:09 +0200
committerAdrian Lang <mail@adrianlang.de>2011-09-22 21:58:11 +0200
commitf0aec085b4f30f98db19b1e59400356013f14c4e (patch)
tree4437f679175480369ed69fafe0365e07d1eec4ce /lib
parentc6bab40722735490d4687c8ade8081f389913249 (diff)
downloadrpg-f0aec085b4f30f98db19b1e59400356013f14c4e.tar.gz
rpg-f0aec085b4f30f98db19b1e59400356013f14c4e.tar.bz2
Only resize to fullscreen if screen is big enough
Diffstat (limited to 'lib')
-rw-r--r--lib/scripts/media.js41
1 files changed, 27 insertions, 14 deletions
diff --git a/lib/scripts/media.js b/lib/scripts/media.js
index 5e254fe84..8200de730 100644
--- a/lib/scripts/media.js
+++ b/lib/scripts/media.js
@@ -23,7 +23,9 @@ var dw_mediamanager = {
view: false,
layout_width: 0,
- layout_height: 0,
+
+ // The minimum height of the full-screen mediamanager in px
+ minHeights: {thumbs: 200, rows: 100},
init: function () {
var $content, $tree;
@@ -71,7 +73,6 @@ var dw_mediamanager = {
dw_mediamanager.image_diff();
dw_mediamanager.init_ajax_uploader();
- console.log(jQuery('#mediamanager__page div.filelist').find('div.panelContent a'));
// changing opened tab in the file list panel
jQuery('#mediamanager__page div.filelist').delegate('ul.tabs a', 'click', dw_mediamanager.list)
// loading file details
@@ -367,6 +368,8 @@ var dw_mediamanager = {
DokuCookie.setValue('view', type);
}
dw_mediamanager.view = type;
+
+ dw_mediamanager.resize();
},
/**
@@ -476,13 +479,7 @@ var dw_mediamanager = {
jQuery(this).width(w);
});
- var windowHeight = jQuery(window).height();
- var height = windowHeight - 300;
- if (layout_height < height) {
- layout_height = height;
- jQuery('#mediamanager__page div.panelContent').height(height);
- dw_mediamanager.$resizables().height(height+100);
- }
+ dw_mediamanager.resize();
dw_mediamanager.opacity_slider();
dw_mediamanager.portions_slider();
@@ -532,11 +529,27 @@ var dw_mediamanager = {
}
});
- var windowHeight = jQuery(window).height();
- var height = windowHeight - 300;
- layout_height = height;
- jQuery('#mediamanager__page .panelContent').height(height);
- $resizables.height(height+100);
+ dw_mediamanager.resize();
+ },
+
+ resize: function () {
+ var $contents = jQuery('#mediamanager__page div.panelContent'),
+ height = jQuery(window).height() - jQuery(document).height() +
+ Math.max.apply(null, jQuery.map($contents, function (v) {
+ return jQuery(v).height();
+ }));
+
+ // If the screen is too small, don’t try to resize
+ if (height < dw_mediamanager.minHeights[dw_mediamanager.view]) {
+ $contents.add(dw_mediamanager.$resizables()).height('auto');
+ } else {
+ $contents.height(height);
+ dw_mediamanager.$resizables().each(function () {
+ var $this = jQuery(this);
+ $this.height(height + $this.find('div.panelContent').offset().top -
+ $this.offset().top);
+ });
+ }
},
/**