- Add 06-02-SUMMARY.md with execution results and dependency graph - Update STATE.md: progress 20%, decision logged, session recorded - Update ROADMAP.md: phase 6 in progress (1/5 plans complete) - Mark SITE-01 requirement complete in REQUIREMENTS.md
4.2 KiB
4.2 KiB
phase, plan, subsystem, tags, requires, provides, affects, tech-stack, key-files, key-decisions, patterns-established, requirements-completed, duration, completed
| phase | plan | subsystem | tags | requires | provides | affects | tech-stack | key-files | key-decisions | patterns-established | requirements-completed | duration | completed | |||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 06-global-site-selection | 02 | ui |
|
|
|
|
|
|
|
|
|
8min | 2026-04-07 |
Phase 06 Plan 02: MainWindowViewModel Global Site Selection Summary
ObservableCollection GlobalSelectedSites with dialog command, computed label, messenger broadcast, and clear-on-tenant-switch added to MainWindowViewModel
Performance
- Duration: 8 min
- Started: 2026-04-07T10:10:00Z
- Completed: 2026-04-07T10:18:00Z
- Tasks: 1
- Files modified: 1
Accomplishments
- Added GlobalSelectedSites and OpenGlobalSitePickerCommand to MainWindowViewModel — toolbar UI (06-03) can bind directly
- WeakReferenceMessenger broadcasts GlobalSitesChangedMessage on every collection change — all tab VMs receive live updates
- GlobalSelectedSites cleared on tenant switch and session clear, keeping site selection scoped to the current tenant
Task Commits
Each task was committed atomically:
- Task 1: Add global site selection state, command, and broadcast to MainWindowViewModel -
a10f03e(feat)
Plan metadata: (docs commit to follow)
Files Created/Modified
SharepointToolbox/ViewModels/MainWindowViewModel.cs- Added OpenGlobalSitePickerDialog factory, GlobalSelectedSites, GlobalSitesSelectedLabel, OpenGlobalSitePickerCommand, ExecuteOpenGlobalSitePicker, BroadcastGlobalSites; clear on tenant switch and session clear
Decisions Made
- Added
using SharepointToolbox.Views.Dialogs;to MainWindowViewModel — acceptable because this VM already holdsFunc<Window>?factory properties that reference the View layer. The cast inExecuteOpenGlobalSitePickerrequires knowing the concrete dialog type. GlobalSitesSelectedLabeluses a hardcoded English string for now; plan 06-03 will replace it with a localized key from Strings.resx once toolbar XAML is added.
Deviations from Plan
None - plan executed exactly as written.
(Note: GlobalSitesChangedMessage.cs was already present from plan 06-01 — no deviation needed.)
Issues Encountered
None.
User Setup Required
None - no external service configuration required.
Next Phase Readiness
- MainWindowViewModel now exposes all properties and commands needed for the toolbar XAML (plan 06-03)
OpenGlobalSitePickerDialogfactory property ready to be wired in MainWindow.xaml.cs (plan 06-03)- GlobalSitesChangedMessage broadcasting is live; FeatureViewModelBase can register for it (plan 06-04)
Phase: 06-global-site-selection Completed: 2026-04-07