Skip to content

Sprint 2: Add MultiView, Localize, ChangePassword, CreateUserWizard components#2

Closed
csharpfritz wants to merge 6 commits intodevfrom
sprint-2/editor-login-controls
Closed

Sprint 2: Add MultiView, Localize, ChangePassword, CreateUserWizard components#2
csharpfritz wants to merge 6 commits intodevfrom
sprint-2/editor-login-controls

Conversation

@csharpfritz
Copy link
Owner

Summary

Sprint 2 delivers 4 new components (5 including the View child component), bringing total coverage to 41/53 Web Forms controls (77%).

New Components

Editor Controls

  • MultiView + View — Container/child components for switchable views. MultiView manages which View is visible via ActiveViewIndex. Supports NextViewCommandName/PreviousViewCommandName navigation.
  • Localize — Inherits from Literal, provides a semantic alias for localization scenarios (matches Web Forms pattern where <asp:Localize> is a restricted Literal).

Login Controls

  • ChangePassword — Password change form with table-based layout matching Web Forms HTML output. Supports CurrentPassword, NewPassword, ConfirmNewPassword fields with ChangePasswordView and SuccessView states.
  • CreateUserWizard — Two-step registration wizard (CreateUserStepCompleteStep) with optional sidebar, customizable labels, and CreatingUser/CreatedUser event callbacks.

Deliverables Per Component

Component Code Docs Sample Unit Tests Integration Tests
MultiView + View ✅ 4 tests ✅ smoke + interactive
Localize ✅ 5 tests ✅ smoke + interactive
ChangePassword ✅ 5 tests ✅ smoke + interactive
CreateUserWizard ✅ 7 tests ✅ smoke + interactive

Build Status

  • 0 errors, 0 warnings (component project)
  • 709 unit tests passing (up from 693)
  • Integration test project compiles cleanly

Files Changed

Components (new)

  • src/BlazorWebFormsComponents/MultiView.razor + .razor.cs
  • src/BlazorWebFormsComponents/View.razor + .razor.cs
  • src/BlazorWebFormsComponents/Localize.cs
  • src/BlazorWebFormsComponents/LoginControls/ChangePassword.razor + .razor.cs
  • src/BlazorWebFormsComponents/LoginControls/CreateUserWizard.razor + .razor.cs
  • src/BlazorWebFormsComponents/LoginControls/CreateUserErrorEventArgs.cs

Documentation (new)

  • docs/EditorControls/MultiView.md
  • docs/EditorControls/Localize.md
  • docs/LoginControls/ChangePassword.md
  • docs/LoginControls/CreateUserWizard.md

Sample Pages (new)

  • samples/.../ControlSamples/MultiView/Index.razor
  • samples/.../ControlSamples/Localize/Index.razor
  • samples/.../ControlSamples/ChangePassword/Index.razor
  • samples/.../ControlSamples/CreateUserWizard/Index.razor

Tests (new)

  • src/BlazorWebFormsComponents.Test/MultiView/BasicFormat.razor (4 tests)
  • src/BlazorWebFormsComponents.Test/Localize/*.razor (5 tests)
  • src/BlazorWebFormsComponents.Test/LoginControls/ChangePassword/BasicFormat.razor (5 tests)
  • src/BlazorWebFormsComponents.Test/LoginControls/CreateUserWizard/BasicFormat.razor (7 tests)
  • Smoke + interactive integration tests in AfterBlazorServerSide.Tests/

Infrastructure

  • Added Colossus (Integration Test Engineer) to AI team roster
  • Updated NavMenu.razor, ComponentList.razor, mkdocs.yml, README.md, status.md

Design Notes

  • Login controls follow the existing Login.razor pattern: EditForm wrapper, table-based HTML layout, ButtonType abstract class
  • ChangePassword/CreateUserWizard use [Obsolete] on MembershipProvider — real auth is via event callbacks
  • MultiView uses CascadingValue for parent-child View communication
  • Localize is intentionally minimal (single-line class inheriting Literal) to match Web Forms semantics"

csharpfritz and others added 6 commits February 10, 2026 12:26
Creates .agent.md files for all 6 team agents (Beast, Cyclops, Forge,
Jubilee, Rogue, Scribe) so they appear in GitHub Copilot's agent picker.
Content sourced from existing .ai-team/agents/*/charter.md files.
Squad is the single Copilot agent that delegates to the specialized
agents defined in .ai-team/agents/. Individual agent files were
incorrectly created  the correct pattern is one coordinator agent
(squad.agent.md) that routes work to Forge, Cyclops, Beast, Jubilee,
Rogue, and Scribe based on task type.
Session: 2026-02-10-sprint2-complete
Requested by: Jeffrey T. Fritz

Changes:
- Logged Sprint 2 session (4 components shipped with docs, samples, tests)
- Merged Sprint 2 design review decision from inbox
- Removed duplicate FileUpload InputFile decision from inbox (already consolidated)
- Appended Sprint 2 completion decision to decisions.md
- Propagated cross-agent updates to all 5 agent histories
…omponents

Components:
- MultiView + View: Container/child components for switchable views
- Localize: Inherits Literal for localization scenarios
- ChangePassword: Login control with table-based layout matching Web Forms
- CreateUserWizard: Two-step registration wizard with sidebar support

Each component includes:
- Documentation (docs/)
- Sample pages (samples/AfterBlazorServerSide)
- bUnit tests (src/BlazorWebFormsComponents.Test)
- Integration test entries (samples/AfterBlazorServerSide.Tests)

Infrastructure:
- Added Colossus integration test engineer to AI team
- Updated NavMenu, ComponentList, mkdocs.yml, README, status.md
- 709 unit tests passing, 0 build errors
…ment with Web Forms-compatible Page.Title syntax (FritzAndFriends#327)

Co-authored-by: csharpfritz <78577+csharpfritz@users.noreply.github.com>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Jeffrey T. Fritz <csharpfritz@users.noreply.github.com>
@csharpfritz csharpfritz deleted the sprint-2/editor-login-controls branch February 10, 2026 19:41
csharpfritz added a commit that referenced this pull request Mar 19, 2026
…ion status

- Add Known Fidelity Divergences documentation (ListView DOM, Calendar sub-IDs, Label, FormView, ID coverage)
- Add DataList ID rendering tests (3 tests: table with ID, table without ID, flow layout with ID)
- Add HiddenField ID rendering tests (2 tests: with and without ID)
- Update Substitution status from Deferred to active in tracked-components.json
- Correct audit: 7/8 data controls already have id=ClientID rendering
- Mark audit priority #2 (Extend ID rendering) as DONE
- Add fidelity doc to Migration section in mkdocs.yml

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
csharpfritz added a commit that referenced this pull request Mar 19, 2026
…ion status

- Add Known Fidelity Divergences documentation (ListView DOM, Calendar sub-IDs, Label, FormView, ID coverage)
- Add DataList ID rendering tests (3 tests: table with ID, table without ID, flow layout with ID)
- Add HiddenField ID rendering tests (2 tests: with and without ID)
- Update Substitution status from Deferred to active in tracked-components.json
- Correct audit: 7/8 data controls already have id=ClientID rendering
- Mark audit priority #2 (Extend ID rendering) as DONE
- Add fidelity doc to Migration section in mkdocs.yml

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants