aboutsummaryrefslogtreecommitdiff
path: root/js
diff options
context:
space:
mode:
authorCash Costello <cash.costello@gmail.com>2012-01-08 14:07:58 -0500
committerCash Costello <cash.costello@gmail.com>2012-01-08 14:07:58 -0500
commit855de1b33e1ba1753ac1a5088e640e5fcff09f79 (patch)
tree98295ac7c8b09f623a3f3766eedc073762ecac45 /js
parente3d38a9e9905ea19b48f5413d5c5b371f1bd7316 (diff)
downloadelgg-855de1b33e1ba1753ac1a5088e640e5fcff09f79.tar.gz
elgg-855de1b33e1ba1753ac1a5088e640e5fcff09f79.tar.bz2
Fixes #4192 making the bottom of widget columns equal rather than height
Diffstat (limited to 'js')
-rw-r--r--js/lib/ui.widgets.js23
1 files changed, 15 insertions, 8 deletions
diff --git a/js/lib/ui.widgets.js b/js/lib/ui.widgets.js
index 6114aeacd..d897564b4 100644
--- a/js/lib/ui.widgets.js
+++ b/js/lib/ui.widgets.js
@@ -29,7 +29,7 @@ elgg.ui.widgets.init = function() {
$('.elgg-widget-edit > form ').live('submit', elgg.ui.widgets.saveSettings);
$('a.elgg-widget-collapse-button').live('click', elgg.ui.widgets.collapseToggle);
- elgg.ui.widgets.equalHeight(".elgg-widgets");
+ elgg.ui.widgets.setMinHeight(".elgg-widgets");
};
/**
@@ -175,22 +175,29 @@ elgg.ui.widgets.saveSettings = function(event) {
};
/**
- * Make all elements have the same min-height
+ * Set the min-height so that all widget column bottoms are the same
*
* This addresses the issue of trying to drag a widget into a column that does
- * not have any widgets.
+ * not have any widgets or many fewer widgets than other columns.
*
* @param {String} selector
* @return void
*/
-elgg.ui.widgets.equalHeight = function(selector) {
- var maxHeight = 0;
+elgg.ui.widgets.setMinHeight = function(selector) {
+ var maxBottom = 0;
$(selector).each(function() {
- if ($(this).height() > maxHeight) {
- maxHeight = $(this).height();
+ var bottom = parseInt($(this).offset().top + $(this).height());
+ if (bottom > maxBottom) {
+ maxBottom = bottom;
+ }
+ })
+ $(selector).each(function() {
+ var bottom = parseInt($(this).offset().top + $(this).height());
+ if (bottom < maxBottom) {
+ var newMinHeight = parseInt($(this).height() + (maxBottom - bottom));
+ $(this).css('min-height', newMinHeight + 'px');
}
})
- $(selector).css('min-height', maxHeight + 'px');
};
elgg.register_hook_handler('init', 'system', elgg.ui.widgets.init);