Check popup blocker for when trying to open mail compose popup from filemamanger/Collabora

This commit is contained in:
Hadi Nategh 2021-05-17 16:27:51 +02:00
parent 107be6dab4
commit 67fb220778
4 changed files with 8 additions and 6 deletions

View File

@ -1120,8 +1120,9 @@ declare interface IegwWndLocal extends IegwGlobal
* @param {object} _content content to be passed to method * @param {object} _content content to be passed to method
* @param {string|object} _extra url or object of extra * @param {string|object} _extra url or object of extra
* @param {regexp} _regexp regular expression to get specific popup with matched url * @param {regexp} _regexp regular expression to get specific popup with matched url
* @param {boolean} _check_popup_blocker TRUE check if browser pop-up blocker is on/off, FALSE no check
*/ */
openWithinWindow(_app : string, _method : string, _content : object, _extra? : string|object, _regexp? : RegExp) : void; openWithinWindow(_app : string, _method : string, _content : object, _extra? : string|object, _regexp? : RegExp, _check_popup_blocker? : boolean) : void;
/** /**
* implemented in egw_ready.js * implemented in egw_ready.js

View File

@ -514,8 +514,9 @@ egw.extend('open', egw.MODULE_WND_LOCAL, function(_egw, _wnd)
* @param {object} _content content to be passed to method * @param {object} _content content to be passed to method
* @param {string|object} _extra url or object of extra * @param {string|object} _extra url or object of extra
* @param {regex} _regexp regular expression to get specific popup with matched url * @param {regex} _regexp regular expression to get specific popup with matched url
* @param {boolean} _check_popup_blocker TRUE check if browser pop-up blocker is on/off, FALSE no check
*/ */
openWithinWindow: function (_app, _method, _content, _extra, _regexp) openWithinWindow: function (_app, _method, _content, _extra, _regexp, _check_popup_blocker)
{ {
var popups = window.framework.popups_get(_app, _regexp); var popups = window.framework.popups_get(_app, _regexp);
@ -554,7 +555,7 @@ egw.extend('open', egw.MODULE_WND_LOCAL, function(_egw, _wnd)
// Firefox:~ 65k, Safari:80k, Chrome: 2MB, Apache: 4k, Nginx: 4k // Firefox:~ 65k, Safari:80k, Chrome: 2MB, Apache: 4k, Nginx: 4k
if (len > 2083) if (len > 2083)
{ {
var popup = egw.open('','mail','add','','compose__','mail'); var popup = egw.open('','mail','add','','compose__','mail', _check_popup_blocker);
var $tmpForm = jQuery(document.createElement('form')); var $tmpForm = jQuery(document.createElement('form'));
var $tmpSubmitInput = jQuery(document.createElement('input')).attr({type:"submit"}); var $tmpSubmitInput = jQuery(document.createElement('input')).attr({type:"submit"});
for (var i in _extra) for (var i in _extra)
@ -578,7 +579,7 @@ egw.extend('open', egw.MODULE_WND_LOCAL, function(_egw, _wnd)
} }
else else
{ {
egw.open('', _app, 'add', _extra, _app, _app); egw.open('', _app, 'add', _extra, _app, _app, _check_popup_blocker);
} }
}; };
for(var i = 0; i < popups.length; i++) for(var i = 0; i < popups.length; i++)

View File

@ -229,7 +229,7 @@ var filemanagerAPP = /** @class */ (function (_super) {
content.data.files["filemode"] = params['preset[filemode]']; content.data.files["filemode"] = params['preset[filemode]'];
// always open compose in html mode, as attachment links look a lot nicer in html // always open compose in html mode, as attachment links look a lot nicer in html
params["mimeType"] = 'html'; params["mimeType"] = 'html';
return egw.openWithinWindow("mail", "setCompose", content, params, /mail.mail_compose.compose/); return egw.openWithinWindow("mail", "setCompose", content, params, /mail.mail_compose.compose/, true);
}; };
/** /**
* Mail files action: open compose with already attached files * Mail files action: open compose with already attached files

View File

@ -259,7 +259,7 @@ export class filemanagerAPP extends EgwApp
content.data.files["filemode"] = params['preset[filemode]']; content.data.files["filemode"] = params['preset[filemode]'];
// always open compose in html mode, as attachment links look a lot nicer in html // always open compose in html mode, as attachment links look a lot nicer in html
params["mimeType"] = 'html'; params["mimeType"] = 'html';
return egw.openWithinWindow("mail", "setCompose", content, params, /mail.mail_compose.compose/); return egw.openWithinWindow("mail", "setCompose", content, params, /mail.mail_compose.compose/, true);
} }
/** /**