Commit Graph

14 Commits

Author SHA1 Message Date
rbalsleyMSFT a4e9b70b27 Refactor: Centralize driver checkbox event handling
Moves the interdependent state logic for the driver-related checkboxes from the main UI script into a new, centralized function within the core module.

This change simplifies the event handling by using a single handler for all related checkboxes, which improves code readability and maintainability. The new function is also called during initialization to ensure the UI reflects the correct state on startup.
2025-06-19 15:42:57 -07:00
rbalsleyMSFT 2cfd947429 Refactor UI event handlers into core module
Moves the 'Browse' button click event handlers from the main UI script into the core handlers module.

This change improves code organization and separation of concerns. The handlers are updated to be more self-contained by retrieving state from the event source rather than relying on a global state variable, which improves modularity.
2025-06-19 15:31:00 -07:00
rbalsleyMSFT 24ed20305f Refactor: Decouple BYO Apps UI logic into core modules
Moves the event handling and business logic for the "Bring Your Own Applications" feature from the main UI script into dedicated core modules.

This change improves code organization and separation of concerns by centralizing application-related functions and their corresponding event handlers. The main UI script is now cleaner and primarily responsible for UI initialization, enhancing overall code maintainability.
2025-06-19 15:19:35 -07:00
rbalsleyMSFT 12607cca44 Refactor: Move Winget download logic to core module
Extracts the Winget app download logic from the main UI script into a new `Invoke-WingetDownload` function within the core Winget module.

This change decouples the UI event handling from the business logic, improving modularity and maintainability. It also introduces more robust error handling for the download process by wrapping the logic in a try/catch block.
2025-06-19 12:23:13 -07:00
rbalsleyMSFT d7d0cb3a06 Refactor: Centralize UI event handlers and abstract list clearing
Moves UI event handling logic from the main script into a dedicated core module to improve separation of concerns.

Introduces a new shared function, `Clear-ListViewContent`, to consolidate duplicated logic for clearing list views. This generic function handles user confirmation, data source clearing, and UI updates for multiple tabs, significantly reducing code redundancy.
2025-06-19 12:11:57 -07:00
rbalsleyMSFT ec8ce1f2f6 Refactor: Move application tab event handlers to core module
Relocates the event handling logic for the "Applications" tab from the main UI script into the `FFUUI.Core.Handlers` module.

This improves code organization and modularity by centralizing UI logic. The handlers are also updated to use local state instead of a global variable.
2025-06-19 11:00:14 -07:00
rbalsleyMSFT 49b0772076 Refactor USB drive UI logic into core modules
Moves event handlers and initial state configuration for the USB drive creation settings from the main UI script into the core handler and initialization modules.

This change centralizes the UI logic, improving code organization and maintainability.
2025-06-18 17:30:23 -07:00
rbalsleyMSFT f44e06c57e Refactor USB drive list with dynamic selection and sorting
Updates the USB drive selection UI to align with other list views in the application. This change replaces the static "Select All" checkbox with a dynamic, selectable column that includes the checkbox in the header.

This refactoring provides a more consistent user experience and adds column sorting functionality to the USB drive list.

Additionally, the underlying shared function for creating selectable columns is improved to use the central UI state object for managing controls, removing the dependency on script-scoped variables for better encapsulation.
2025-06-18 16:10:15 -07:00
rbalsleyMSFT b46b904504 Refactor USB drive event handlers to core module
Moves the event handling logic for the USB drive selection controls from the main UI script to the `FFUUI.Core.Handlers` module.

This change improves code organization by centralizing UI logic. The handlers were also improved to correctly manage the "Select All" checkbox state.
2025-06-18 13:52:25 -07:00
rbalsleyMSFT 004b42436e Refactor USB drive detection event handler
Moves the click event handler for detecting USB drives from the main UI script to the dedicated core handlers module.

This change centralizes UI logic, improving code organization and maintainability.
2025-06-18 13:24:38 -07:00
rbalsleyMSFT 5e5db62d2a Refactors CU checkbox logic to core handlers
Moves the event handling logic for the "Latest CU" and "Preview CU" checkboxes from the main UI script into the core handlers module.

This change centralizes UI event handling, improving code organization and maintainability. The new implementation is also more robust, accessing state via the window's `Tag` property rather than a global script variable.
2025-06-18 13:16:34 -07:00
rbalsleyMSFT fd39b0008e Refactor: Centralize Install Apps checkbox logic
Consolidates the state management for the "Install Apps" checkbox into a single, reusable function.

Previously, the logic to automatically check and disable "Install Apps" when selecting an update or installing Office was duplicated and scattered across multiple event handlers and files.

This change introduces a new core function that centralizes this behavior. A single event handler is now used for all relevant checkboxes (Updates and Office), simplifying the UI code, reducing redundancy, and making the logic more robust and maintainable. The initial state is also set correctly on startup.
2025-06-18 13:07:07 -07:00
rbalsleyMSFT af5d5206f8 Refactors Office UI event handlers into core module
Moves the event handling logic for the M365 Apps/Office options from the main UI script into the `FFUUI.Core.Handlers` module.

This change centralizes UI event handling, improving code organization and maintainability. It also decouples the handlers from the main script by using a local state object instead of a global script variable.
2025-06-17 22:55:42 -07:00
rbalsleyMSFT de0e014e50 Refactor UI event handlers to a new module
Moves all UI event handling logic from the initialization script into a new, dedicated module `FFUUI.Core.Handlers.psm1`.

This change improves code organization and separation of concerns by centralizing event handler registration.
2025-06-17 18:39:10 -07:00