SAIF.Presentation.Web.Controls.V2 operations and processes¶
This library exposes UI-rendering operations rather than business transactions. This page is the operation catalog and cross-operation hub; each operation's detailed, step-by-step logic lives in its own page under operations/.
Operation catalog¶
| Operation | Intent | Trigger | Inputs | Outputs | Rules |
|---|---|---|---|---|---|
| Banner rendering and logout | Render site banner chrome and handle logout | Render pipeline (OnInit/Render); logout LinkButton postback |
AppGlobal.EnvironmentService.IsClientExternal, virtual directory name, SITEBANNER(V2).XML |
Banner HTML; logout redirect | BR-V2-001, BR-V2-002 |
| Collapsible panel state toggle | Persist and render panel expand/collapse state | Postback with hidden StateControl field |
Request(UniqueID & "$StateControl") |
Rendered header/content tree with correct display style |
— |
| Tab selection | Manage tab-bar selection state and raise tab-change events | Tab LinkButton click (postback) |
Tab collection (SAIFTabBarTabCollection or ArrayList of TabSettings) |
Updated selection state; TabClicked/SelectedIndexChanged events |
BR-V2-006 |
| Message icon selection | Auto-select status icon from message text | Text property set, evaluated at render |
Text content |
DisplayImage selection; stripped "Complete:" text |
BR-V2-005 |
| MultiList selection and wildcard behavior | Synchronize checkbox-list selection with a semicolon-delimited text box, enforcing wildcard exclusivity | CheckBoxList.SelectedIndexChanged or TextBox.TextChanged postback |
Selected checkbox items; typed text | Updated text box value; updated item selection/enabled state | BR-V2-004 |
Process flow diagram¶
The following diagram visualizes the primary operational flow across this library's control-rendering operations.
flowchart TD
Start([Page render pipeline]) --> Init[Control OnInit / Init]
Init --> Create[CreateChildControls / DataBind]
Create --> Render[Render / RenderControl]
Render --> Postback{Postback event?}
Postback -->|Banner logout| Logout[Session.Abandon, clear cookies, redirect]
Postback -->|Tab click| TabSel[Update tab selection state, raise event]
Postback -->|Panel toggle| PanelSel[Update PanelState from hidden field]
Postback -->|MultiList change| MultiSel[Sync checkbox list / text box]
Postback -->|None| Done([Rendered HTML output])
Database interactions¶
None. This library contains no database access of any kind (see analysis findings — "Database interaction summary: None").
Failure and edge-case behavior¶
BannerControl/BannerControlV2Render: ifContext Is Nothing(design-time), a static placeholder banner is written; if the resolved resource path is empty, no banner is rendered at all — a silent no-op fallback, not an error.SAIFPanel: no server-side validation of the postedStateControlvalue beyond a string comparison to"Collapsed"; any other value defaults to expanded.SAIFTabs.LinkButtonClick: theBeforeSelectedIndexChangedevent is cancelable viaSAIFTabEventArgs.Cancel, allowing the host page to veto a tab switch beforeSelectedIndexChangedfires.MultiListControl.LayoutControlsbranches CSS/positioning logic onPage.Request.Browser.Browser.ToUpper = "FIREFOX", a legacy browser-sniffing pattern that may not correctly detect modern Firefox user agents*.
Note: Statements marked with * were inferred from code structure, naming conventions, or contextual evidence where direct confirmation was not available in source artifacts. Statements marked with ** could not be confirmed; treat as unknown until verified.
Related documentation¶
- Index
- Overview
- Architecture
- Dependencies
- Configuration settings
- Business rules
- Control catalog
- API reference
Sources¶
- SAIF.Presentation.Web.Controls.V2\Banner.vb
- SAIF.Presentation.Web.Controls.V2\BannerControlV2.vb
- SAIF.Presentation.Web.Controls.V2\SAIFPanel.vb
- SAIF.Presentation.Web.Controls.V2\SAIFTabBar.vb
- SAIF.Presentation.Web.Controls.V2\SAIFTabs.vb
- SAIF.Presentation.Web.Controls.V2\SAIFMessage.vb
- SAIF.Presentation.Web.Controls.V2\MultiListControl.vb