Interaction class of list pages extends SysListPageInteractionBase class. Some handful methods of this class are as follows:
initializing: Called when the form is initializing – Similar to the form init method
intializeQuery: Also called when the form is initializing – Similar to the datasource init method
selectionChanged: Called when the active record changes – Similar to the datasource active method.
setButtonEnabled: Should be overridden to dynamically enable/disable buttons based on the current selection. This is called from the selectionChanged method.
setButtonVisibility: Should be overridden to show/hide buttons when the form first opens. This is used more to do a one-off layout adjustment based on system configuration/parameters, as well as the menu-item used to open the form. eg If you have a menu-item that opens a form based on status, you may want to hide the relevant ‘status’ field to reduce clutter.