mirror of
https://github.com/rbalsleyMSFT/FFU.git
synced 2026-06-14 02:09:35 -06:00
Refactors dynamic UI setup into core module for better organization
Moves initialization logic for several list views (driver models, Winget results, app script variables) and the features grid into a new `Initialize-DynamicUIElements` function. This centralizes the setup of these UI components within the `FFUUI.Core.Initialize` module, improving code structure. Additionally: - Updates sort event handlers in the new module to correctly retrieve UI state from the window's tag. - Enhances `Invoke-ListViewSort` by initializing sort state flags if they are not already present, improving sorting stability.
This commit is contained in:
@@ -437,6 +437,26 @@ function Invoke-ListViewSort {
|
||||
[PSCustomObject]$State
|
||||
)
|
||||
|
||||
# Ensure $State.Flags is a hashtable and contains the required sort properties
|
||||
if ($State.Flags -is [hashtable]) {
|
||||
if (-not $State.Flags.ContainsKey('lastSortProperty')) {
|
||||
$State.Flags['lastSortProperty'] = $null
|
||||
}
|
||||
if (-not $State.Flags.ContainsKey('lastSortAscending')) {
|
||||
$State.Flags['lastSortAscending'] = $true # Default to ascending
|
||||
}
|
||||
}
|
||||
else {
|
||||
Write-Warning "Invoke-ListViewSort: \$State.Flags is not a hashtable or is null. Sort state may not work correctly."
|
||||
# Attempt to initialize if $State.Flags is null or unexpectedly not a hashtable,
|
||||
# though this might indicate a deeper issue with $State.Flags initialization.
|
||||
if ($null -eq $State.Flags) { $State.Flags = @{} }
|
||||
if ($State.Flags -is [hashtable]) { # Check again after potential initialization
|
||||
if (-not $State.Flags.ContainsKey('lastSortProperty')) { $State.Flags['lastSortProperty'] = $null }
|
||||
if (-not $State.Flags.ContainsKey('lastSortAscending')) { $State.Flags['lastSortAscending'] = $true }
|
||||
}
|
||||
}
|
||||
|
||||
# Toggle sort direction if clicking the same column
|
||||
if ($State.Flags.lastSortProperty -eq $property) {
|
||||
$State.Flags.lastSortAscending = -not $State.Flags.lastSortAscending
|
||||
|
||||
Reference in New Issue
Block a user