Repository navigation
Convert Management Client UI to WPF and fix Hide address regression - #51
Merged
Merged
Conversation
AddressVisibility evaluated during InitializeComponent() while the ViewItemManager was still unattached, so the getter returned Visible and nothing re-raised the notification when the manager attached. The setter now raises OnPropertyChanged for AddressVisibility. UX tests: ToolbarOptionsTests regression (MC sets toolbar-visible/ address-hidden state via the WPF checkboxes, SC asserts the address bar is absent and NavHome/NavBack/NavReload remain); SmartClient- WorkspaceTests asserts the hide-address contract from uxconfig; ManagementClientUi gains EnsureCheckBox/DeleteWorkspaceIfPresent harness helpers.
…d workspace security tree MC's tree has LabelEdit active: clicking the label of an already-selected node arms the inline rename editor (and renaming can raise the modal 'ItemName.set ...: Not valid to set dirty state at the line' dialog). SelectNode now cancels arming with ESC; ExitTreeEditMode detects a live edit control inside the PlatformTree column and cancels it without re-clicking; DismissItemNameSetErrors closes the modal dialog before each capture. The role-security shot also expands the Web Content Workspaces node so each workspace shows its own permission row.
…xpanded workspace security rows)
User-provided PowerShell strategy ported to CollapseTreeToRoot: one snapshot of realized TreeItems classifies every visible level-1 node (rows share the X of the first row below Home; the next row's X being deeper means the node is expanded), and label double-clicks collapse it. Far faster than the old per-node keyboard LEFT walk: whole tree in one classification round + a verification round. Nodes that survive 4 rounds fall back to the proven keyboard walk. Enumeration is scoped to TreeNavigation so foreign detail-pane trees can't skew the X math. WaitForTreeReady polls TreeNavigation+first TreeItem instead of a fixed sleep; WheelTree sleeps shortened. README shots refreshed.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Two changes to the Management Client surface and one regression fix:
ElementHost(Dock=Fill), with plugin-owned styles — the Management Client supplies no WPF theme resources.AddressVisibilitywas a getter-only binding evaluated duringInitializeComponent()before theViewItemManagerwas attached, so it returnedVisibleand only property-change events (ReloadProperties) ever re-raised it. The manager setter now raises the notification when it attaches.Evidence
Demo Workspace, yet the Smart Client still showed the address textbox; only "Hide toolbar" worked.Demo Workspacewith toolbar visible + hide address): address bar gone,NavHome/NavBack/NavReloadremain — UIA contract test assertsaddressBar == null, buttons present.NavHome/NavBack/NavReloadremain (fromartifacts/ux/20261030-083507).dotnet test src/WebContent.Tests— 217/217 passed.dotnet test tests/ux --filter SmartClientWorkspaceTests— 2/2 passed (hide-address contract branch: address bar absent, home reachable viaNavHome+ CDP).ToolbarOptionsTests.HideAddress_WithVisibleToolbar_RemovesAddressBardrives the MC checkboxes (chkHideToolbaroff,chkHideAddresson) via the new WPF page and verifies the resulting SC toolbar shape.Merge Danger
Door: two-way — pure UI + binding-notification change; the deleted WinForms
Designer.cs/resxreturn on revert.Blast Radius: Management Client plugin pages (config + overview) and the Smart Client address bar only. No server-side or protocol changes; property dictionary shape is unchanged.