diff --git a/etemplate/js/et2_dataview_controller_selection.js b/etemplate/js/et2_dataview_controller_selection.js index f68cd93469..89d67116ca 100644 --- a/etemplate/js/et2_dataview_controller_selection.js +++ b/etemplate/js/et2_dataview_controller_selection.js @@ -74,17 +74,23 @@ var et2_dataview_selectionManager = Class.extend({ // Handling for Action Implementations updating the state dummyAOI.doSetState = function (_state) { - if (egwBitIsSet(_state, EGW_AO_STATE_FOCUSED) && !self._inUpdate) + if (!self._inUpdate) { - self.resetSelection(); + // Update the "focused" flag + self.setFocused(_uid, egwBitIsSet(_state, EGW_AO_STATE_FOCUSED)); + + // Generally update the state self._updateState(_uid, _state); - self.setFocused(_uid, true); } }; + // Connect the "doTriggerEvent" of the dummy AOI to our internal + // aoi. + dummyAOI.doTriggerEvent = entry.aoi.doTiggerEvent; + // Implementation of the getDOMNode function, so that the event // handlers can be properly bound - dummyAOI.getDOMNode = function () {return _tr}; + dummyAOI.getDOMNode = function () { return _tr; }; // Create an action object for the tr and connect it to a dummy AOI entry.ao = this._actionObjectManager.addObject(_uid, dummyAOI); @@ -104,6 +110,8 @@ var et2_dataview_selectionManager = Class.extend({ if (typeof this._registeredRows[_uid] !== "undefined" && this._registeredRows[_uid].tr === _tr) { + this._inUpdate = true; + this._registeredRows[_uid].tr = null; this._registeredRows[_uid].aoi = null; @@ -118,6 +126,8 @@ var et2_dataview_selectionManager = Class.extend({ { delete this._registeredRows[_uid]; } + + this._inUpdate = false; } }, diff --git a/etemplate/js/et2_extension_nextmatch_controller.js b/etemplate/js/et2_extension_nextmatch_controller.js index 40a03bec1f..4f4f7a1a38 100644 --- a/etemplate/js/et2_extension_nextmatch_controller.js +++ b/etemplate/js/et2_extension_nextmatch_controller.js @@ -54,7 +54,7 @@ var et2_nextmatch_controller = et2_dataview_controller.extend( this._actionManager.setDefaultExecute("javaScript:nm_action"); this._objectManager = new egwActionObjectManager("", - this._actionManager); + this._actionManager, EGW_AO_FLAG_IS_CONTAINER); } else {