colKey, false);
}
MouseEventDetails details = new MouseEventDetails(event);
+ // Note: the 'immediate' logic would need to be more
+ // involved (see #2104), but iscrolltable always sends
+ // select event, even though nullselectionallowed wont let
+ // the change trough. Will need to be updated if that is
+ // changed.
client
.updateVariable(
paintableId,
handleClickEvent(event);
if (selectMode > Table.SELECT_MODE_NONE) {
toggleSelection();
+ // Note: changing the immediateness of this might
+ // require changes to "clickEvent" immediateness
+ // also.
client.updateVariable(paintableId, "selected",
selectedRowKeys.toArray(), immediate);
}
}
private void fireClick(Event evt) {
+ // non-immediate iff an immediate select event is going to happen
+ boolean imm = !immediate
+ || !selectable
+ || (!isNullSelectionAllowed && isSelected() && selectedIds
+ .size() == 1);
MouseEventDetails details = new MouseEventDetails(evt);
client.updateVariable(paintableId, "clickedKey", key, false);
client.updateVariable(paintableId, "clickEvent",
- details.toString(), !(selectable && immediate));
+ details.toString(), imm);
}
private void toggleSelection() {