Skip to content

EFTPopup reason-code selection

This operation renders a generic reason-code selection popup and returns the chosen code to the hosting page; it performs no delegated data access of its own.

Field Value
Operation ID OP-2
Trigger Hosting page sets Active = True, DDLSource (a caller-supplied list), TitleText, DDLDescription, optional DefaultCode.
Inputs DDLSource, TitleText, DDLDescription, DefaultCode
Outputs ConfirmAction(Confirm, NotifyEventArgs)
Primary components EFTPopup.CreateChildControls, EFTPopup.LoadCodeTables, EFTPopup.SaveButtonClick, EFTPopup.CancelButtonClick
Entry point SAIF.Presentation.Web.Controls.PopUps.Infragistics111\EFTPopup.vb

Steps

  1. CreateChildControls() parses the ASCX, finds lblErrorMsg/lblTitleBar/lblDDLDescr/ddlReason, wires ddlReasonIndexChanged, cmdSave.Click → SaveButtonClick, cmdCancel.Click → CancelButtonClick, then calls LoadCodeTables().
  2. LoadCodeTables() binds ddlReason from the caller-supplied DDLSource and selects DefaultCode if set, else the first item (and stores that as the new DefaultCode).
  3. On dropdown change, the DefaultCode view-state value is updated to the newly selected value.
  4. Render() (when Active) sets label texts from TitleText/ErrorMsg/DDLDescription, positions the popup, re-enables Save/Cancel, renders, and focuses ddlReason (or ControlWithFocus) via igedit_getById/document.getElementById.
  5. On Save (SaveButtonClick):
  6. Calls the no-op EditNotifyControls() validation, which always returns True — no actual validation logic is implemented*.
  7. Raises ConfirmAction(True, New NotifyEventArgs(ddlReason.SelectedValue)).
  8. On Cancel (CancelButtonClick):
  9. Raises ConfirmAction(False, ...) with the current selection.
  10. Calls ResetControls() (clears ErrorMsg/ControlWithFocus).

Process flow

The following diagram visualizes the reason-code selection flow.

flowchart TD
    Start([Hosting page sets Active = True, DDLSource]) --> Create[CreateChildControls parses ASCX]
    Create --> Load[LoadCodeTables binds ddlReason]
    Load --> Render[Render popup, focus dropdown]
    Render --> Action{Save or Cancel}
    Action -->|Save| Validate[EditNotifyControls no-op, always True]
    Validate --> Confirm([ConfirmAction True with NotifyEventArgs])
    Action -->|Cancel| Reset[ResetControls]
    Reset --> Cancel([ConfirmAction False])

Failure and edge-case behavior

  • EditNotifyControls() is a no-op validation stub that always returns True — unclear whether this is intentional (validation deferred to hosting page) or an incomplete implementation**.

Sources

  • SAIF.Presentation.Web.Controls.PopUps.Infragistics111\EFTPopup.vb
  • SAIF.Presentation.Web.Controls.PopUps.Infragistics111\EFTPopup.ascx