diff --git a/etemplate/js/et2_extension_nextmatch_actions.js b/etemplate/js/et2_extension_nextmatch_actions.js index a2a4e6cbbe..63cc4ba1cc 100644 --- a/etemplate/js/et2_extension_nextmatch_actions.js +++ b/etemplate/js/et2_extension_nextmatch_actions.js @@ -108,6 +108,27 @@ function nm_action(_action, _senders, _target, _ids) // egw_open will be used instead. if(idsArr.length > 1 || typeof _action.data.egw_open == 'undefined') { + if(_ids.all) + { + + var nextmatch = mgr.data.nextmatch; + if(nextmatch && nextmatch.controller && nextmatch.controller._grid &&nextmatch.controller._grid.getTotalCount() > idsArr.length) + { + // Need to actually fetch all (TODO: just ids) to do this client side + nextmatch.controller.dataFetch({start:0,num_rows:-1}, function(data) { + var idsArr = []; + if(data && data.order) + { + for(var i = 0; i < data.order.length; i++) + { + idsArr[i] = data.order[i].split("::").pop(); + } + et2_dialog.long_task(null,_action.data.message||_action.caption,_action.data.title,_action.data.menuaction,idsArr); + } + },_action); + return; + } + } et2_dialog.long_task(null,_action.data.message||_action.caption,_action.data.title,_action.data.menuaction,idsArr); break; } diff --git a/etemplate/templates/default/etemplate2.css b/etemplate/templates/default/etemplate2.css index 266c31a59c..2dcbdd7f16 100644 --- a/etemplate/templates/default/etemplate2.css +++ b/etemplate/templates/default/etemplate2.css @@ -1160,6 +1160,9 @@ div.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset button { .et2_prompt #value { width: 100%; } +.long_task .message { + height: inherit; +} /** * et2_taglist */