From cf3f99c26086d5257ec3be3e8f7dd86791f49896 Mon Sep 17 00:00:00 2001 From: Nathan Gray Date: Thu, 18 Sep 2014 02:58:52 +0000 Subject: [PATCH] Don't unregister selected rows from the selection manager, even if they're destroyed. Fixes selection loses first rows when user scrolls down. --- etemplate/js/et2_dataview_controller.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/etemplate/js/et2_dataview_controller.js b/etemplate/js/et2_dataview_controller.js index e24a1a17c3..deebecafb9 100644 --- a/etemplate/js/et2_dataview_controller.js +++ b/etemplate/js/et2_dataview_controller.js @@ -663,8 +663,10 @@ var et2_dataview_controller = Class.extend({ */ _destroyCallback: function (_row) { - // Unregister the row from the selection manager - if (this.entry.row) + // Unregister the row from the selection manager, if not selected + // If it is selected, leave it there - allows selecting rows and scrolling + var selection = this.self._selectionMgr._getRegisteredRowsEntry(this.entry.uid); + if (this.entry.row && selection && !egwBitIsSet(selection.state, EGW_AO_STATE_SELECTED)) { var tr = this.entry.row.getDOMNode(); this.self._selectionMgr._updateState(this.entry.uid, EGW_AO_STATE_NORMAL)