Add presect event

i think that datatables and matrixes need an on preselect event, so that the user cannot switch the selected row/load a different entity, if the previous one is dirty.
with this event, we can warn the user and prompt them to save or discard changes.