Web Shell Event Handler Changes

New Web Shell BatchEntryHandler Events

To author an event handler for Web Shell, you must create a CLR class within your UIModel assembly project. This class needs to inherit from the Blackbaud.AppFx.BatchUI.BatchEntryHandler class that lives within the Blackbaud.AppFx.BatchUI.dll assembly. The Blackbaud.AppFx.BatchUI.BatchEntryHandler class contains the following new events:

Event Name Description
ActionInvoked Event raised when an action event occurs. Replaces ButtonClicked and MenuClicked events.
ActiveRecordChanged Event raised when the row with the UI focus changes. Replaces the RowChanged event.
DefineFieldRules New mechanism that allows the developer to place the "rules" for enabling and clearing dynamic fields in once place.
DefaultRowInitialize Same as the RowInitialize event, but for the default row.
ValidateEntireRecord Gives handler code the opportunity to provide custom record validation for the UI.
ValidateField Gives handler code the opportunity to provide custom field validation for the UI.

BatchEventHandlers That Changed

All ClickOnce batch event arguments related to RowIndex and ColumnIndex were replaced with actual UIModels and UIFields to minimize the constant lookups. Also, the use of DataFormItem as the storage vehicle was deemphasized; the actual UIModel is preferred.

BatchEventHandlers That Were Removed

The following ClickOnce BatchEntryHandler events are not supported in Web Shell BatchEntryHandler, either because they have no "UI agnostic" equivalent or are no longer necessary given the new framework.