mirror of
https://github.com/EGroupware/egroupware.git
synced 2025-01-07 22:48:58 +01:00
Fix user-select not working in FF
This commit is contained in:
parent
3f6a9531cd
commit
25a52cb267
@ -2161,11 +2161,11 @@ egwActionObject.prototype.getActionImplementationGroups = function(_test, _group
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Check if user tries to get dragOut action
|
* Check if user tries to get dragOut action
|
||||||
*
|
*
|
||||||
* keys for dragOut:
|
* keys for dragOut:
|
||||||
* -Mac: Command + Shift
|
* -Mac: Command + Shift
|
||||||
* -Others: Alt + Shift
|
* -Others: Alt + Shift
|
||||||
*
|
*
|
||||||
* @param {event} _event
|
* @param {event} _event
|
||||||
* @return {boolean} return true if Alt+Shift keys and left mouse click arre pressed, otherwise false
|
* @return {boolean} return true if Alt+Shift keys and left mouse click arre pressed, otherwise false
|
||||||
*/
|
*/
|
||||||
@ -2176,17 +2176,17 @@ egwActionObject.prototype.isDragOut = function (_event)
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Check if user tries to get selection action
|
* Check if user tries to get selection action
|
||||||
*
|
*
|
||||||
* Keys for selection:
|
* Keys for selection:
|
||||||
* -Mac: Command key
|
* -Mac: Command key
|
||||||
* -Others: Ctrl key
|
* -Others: Ctrl key
|
||||||
*
|
*
|
||||||
* @param {type} _event
|
* @param {type} _event
|
||||||
* @returns {Boolean} return true if left mouse click and Ctrl key are pressed, otherwise false
|
* @returns {Boolean} return true if left mouse click and Ctrl/Alt key are pressed, otherwise false
|
||||||
*/
|
*/
|
||||||
egwActionObject.prototype.isSelection = function (_event)
|
egwActionObject.prototype.isSelection = function (_event)
|
||||||
{
|
{
|
||||||
return !(_event.shiftKey) && _event.which == 1 && (_event.metaKey || _event.ctrlKey);
|
return !(_event.shiftKey) && _event.which == 1 && (_event.metaKey || _event.ctrlKey || _event.altKey);
|
||||||
};
|
};
|
||||||
|
|
||||||
/** egwActionObjectInterface Interface **/
|
/** egwActionObjectInterface Interface **/
|
||||||
|
@ -342,7 +342,7 @@ function egwDragActionImplementation()
|
|||||||
return ai.defaultDDHelper(ai.selected);//$j(document.createElement("div")).addClass('et2_egw_action_ddHelper');
|
return ai.defaultDDHelper(ai.selected);//$j(document.createElement("div")).addClass('et2_egw_action_ddHelper');
|
||||||
},
|
},
|
||||||
"start": function(e) {
|
"start": function(e) {
|
||||||
|
|
||||||
//Stop dragging if user tries to do scrolling by mouse down and drag
|
//Stop dragging if user tries to do scrolling by mouse down and drag
|
||||||
//Seems this issue is only happening in FF
|
//Seems this issue is only happening in FF
|
||||||
var $target = $j(e.originalEvent.target);
|
var $target = $j(e.originalEvent.target);
|
||||||
@ -350,7 +350,7 @@ function egwDragActionImplementation()
|
|||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
return ai.helper != null;
|
return ai.helper != null;
|
||||||
},
|
},
|
||||||
revert: function(valid)
|
revert: function(valid)
|
||||||
@ -368,9 +368,14 @@ function egwDragActionImplementation()
|
|||||||
{
|
{
|
||||||
var key = ["Mac68K","MacPPC","MacIntel"].indexOf(window.navigator.platform) < 0 ?
|
var key = ["Mac68K","MacPPC","MacIntel"].indexOf(window.navigator.platform) < 0 ?
|
||||||
egw.lang("Ctrl") : egw.lang("Command ⌘");
|
egw.lang("Ctrl") : egw.lang("Command ⌘");
|
||||||
|
// We can not use Ctrl key for FF because FF has specific function
|
||||||
|
// for element selection bound to ctrl key and it would confilicts
|
||||||
|
// with our selection functionallity. Therefore, we use Alt key when
|
||||||
|
// it comes to FF regardless of OS.
|
||||||
|
if (window.navigator.userAgent.match(/firefox/i)) key = egw.lang("Alt");
|
||||||
egw.message(egw.lang('Hold [%1] key to select text eg. to copy it', key), 'info');
|
egw.message(egw.lang('Hold [%1] key to select text eg. to copy it', key), 'info');
|
||||||
}
|
}
|
||||||
|
|
||||||
// Invalid target
|
// Invalid target
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@ -638,10 +643,10 @@ function egwDropActionImplementation()
|
|||||||
// set of properties.
|
// set of properties.
|
||||||
var popup = getPopupImplementation();
|
var popup = getPopupImplementation();
|
||||||
var pos = popup._getPageXY(event.originalEvent);
|
var pos = popup._getPageXY(event.originalEvent);
|
||||||
|
|
||||||
// Don't add paste actions, this is a drop
|
// Don't add paste actions, this is a drop
|
||||||
popup.auto_paste = false;
|
popup.auto_paste = false;
|
||||||
|
|
||||||
window.setTimeout(function() {
|
window.setTimeout(function() {
|
||||||
popup.doExecuteImplementation(pos, selected, links,
|
popup.doExecuteImplementation(pos, selected, links,
|
||||||
_context);
|
_context);
|
||||||
@ -651,7 +656,7 @@ function egwDropActionImplementation()
|
|||||||
}
|
}
|
||||||
// Set cursor back to auto. Seems FF can't handle cursor reversion
|
// Set cursor back to auto. Seems FF can't handle cursor reversion
|
||||||
$j('body').css({cursor:'auto'});
|
$j('body').css({cursor:'auto'});
|
||||||
|
|
||||||
_aoi.triggerEvent(EGW_AI_DRAG_OUT,{event: event,ui:ui});
|
_aoi.triggerEvent(EGW_AI_DRAG_OUT,{event: event,ui:ui});
|
||||||
},
|
},
|
||||||
"over": function(event, ui) {
|
"over": function(event, ui) {
|
||||||
|
Loading…
Reference in New Issue
Block a user