forked from extern/egroupware
fix resize to work with zoom at least up to 125%, by calling resize a 2. time
This commit is contained in:
parent
c03ec0679e
commit
9fdd92b5ea
@ -214,6 +214,38 @@
|
|||||||
window.framework.setSidebox.apply(window.framework, JSON.parse(sidebox));
|
window.framework.setSidebox.apply(window.framework, JSON.parse(sidebox));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var resize_attempt = 0;
|
||||||
|
var resize_popup = function()
|
||||||
|
{
|
||||||
|
var $main_div = $j('#popupMainDiv');
|
||||||
|
var $et2 = $j('.et2_container');
|
||||||
|
var w = {
|
||||||
|
width: egw_getWindowInnerWidth(),
|
||||||
|
height: egw_getWindowInnerHeight()
|
||||||
|
};
|
||||||
|
// Use et2_container for width since #popupMainDiv is full width, but we still need
|
||||||
|
// to take padding/margin into account
|
||||||
|
var delta_width = w.width - ($et2.outerWidth(true) + ($main_div.outerWidth(true) - $main_div.width()));
|
||||||
|
var delta_height = w.height - ($et2.outerHeight(true) + ($main_div.outerHeight(true) - $main_div.height()));
|
||||||
|
if (delta_height && egw_getWindowOuterHeight() >= egw.availHeight())
|
||||||
|
{
|
||||||
|
delta_height = 0;
|
||||||
|
}
|
||||||
|
if(delta_width != 0 || delta_height != 0)
|
||||||
|
{
|
||||||
|
window.resizeTo(egw_getWindowOuterWidth() - delta_width+8, egw_getWindowOuterHeight() - delta_height+10);
|
||||||
|
}
|
||||||
|
// trigger a 2. resize, as one is not enough, if window is zoomed
|
||||||
|
if (delta_width && ++resize_attempt < 2)
|
||||||
|
{
|
||||||
|
window.setTimeout(resize_popup, 50);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
resize_attempt = 0;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
// rest needs DOM to be ready
|
// rest needs DOM to be ready
|
||||||
$j(function() {
|
$j(function() {
|
||||||
// load etemplate2 template(s)
|
// load etemplate2 template(s)
|
||||||
@ -223,27 +255,8 @@
|
|||||||
if(popup || window.opener)
|
if(popup || window.opener)
|
||||||
{
|
{
|
||||||
// Resize popup when et2 load is done
|
// Resize popup when et2 load is done
|
||||||
jQuery(node).on("load",function() {
|
jQuery(node).on('load', function() {
|
||||||
window.setTimeout(function() {
|
window.setTimeout(resize_popup, 50);
|
||||||
var $main_div = $j('#popupMainDiv');
|
|
||||||
var $et2 = $j('.et2_container');
|
|
||||||
var w = {
|
|
||||||
width: egw_getWindowInnerWidth(),
|
|
||||||
height: egw_getWindowInnerHeight()
|
|
||||||
};
|
|
||||||
// Use et2_container for width since #popupMainDiv is full width, but we still need
|
|
||||||
// to take padding/margin into account
|
|
||||||
var delta_width = w.width - ($et2.outerWidth(true) + ($main_div.outerWidth(true) - $main_div.width()));
|
|
||||||
var delta_height = w.height - ($et2.outerHeight(true) + ($main_div.outerHeight(true) - $main_div.height()));
|
|
||||||
if (delta_height && egw_getWindowOuterHeight() >= egw.availHeight())
|
|
||||||
{
|
|
||||||
delta_height = 0;
|
|
||||||
}
|
|
||||||
if(delta_width != 0 || delta_height != 0)
|
|
||||||
{
|
|
||||||
window.resizeTo(egw_getWindowOuterWidth() - delta_width,egw_getWindowOuterHeight() - delta_height);
|
|
||||||
}
|
|
||||||
}, 200);
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
var et2 = new etemplate2(node, currentapp+".etemplate_new.ajax_process_content.etemplate");
|
var et2 = new etemplate2(node, currentapp+".etemplate_new.ajax_process_content.etemplate");
|
||||||
|
Loading…
Reference in New Issue
Block a user