Fix nextmatch keyboard actions were operating only on the focused row instead of all selected rows. Fixes CTRL+selecting rows, then deleting removed the unselected row instead of the selected rows.

This commit is contained in:
Nathan Gray 2015-06-24 15:19:48 +00:00
parent f0e2877698
commit ebefb71737
2 changed files with 23 additions and 1 deletions

View File

@ -280,6 +280,28 @@ var et2_nextmatch_controller = et2_dataview_controller.extend(et2_IDataProvider,
{
this._objectManager = gom.addObject(
new egwActionObjectManager(uid, this._actionManager));
this._objectManager.handleKeyPress = function(_keyCode, _shift, _ctrl, _alt) {
for(var i = 0; i < self._actionManager.children.length; i++)
{
if(typeof self._actionManager.children[i].shortcut === 'object' &&
self._actionManager.children[i].shortcut &&
_keyCode == self._actionManager.children[i].shortcut.keyCode)
{
return this.executeActionImplementation(
{
"keyEvent": {
"keyCode": _keyCode,
"shift": _shift,
"ctrl": _ctrl,
"alt": _alt
}
}, "popup", EGW_AO_EXEC_SELECTED);
}
}
return egwActionObject.prototype.handleKeyPress.call(this, _keyCode,_shift,_ctrl,_alt);
}
}
this._objectManager.flags = this._objectManager.flags
| EGW_AO_FLAG_DEFAULT_FOCUS | EGW_AO_FLAG_IS_CONTAINER;

View File

@ -1508,7 +1508,7 @@ var et2_link_list = et2_link_string.extend(
this.list = $j(document.createElement("table"))
.addClass("et2_link_list");
if(this.options['class']) this.node.addClass(this.options['class']);
if(this.options['class']) this.list.addClass(this.options['class']);
this.setDOMNode(this.list[0]);
// Set up context menu