Files
Common-VS2019/SacsMobileMaui/docs/component-reviews.md
T

21 lines
4.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# SacsMobileMaui Component Review Register
<style>
table th,
table td {
vertical-align: top;
}
</style>
Last updated: 2026-10-06
| Component | Scope | Status | Date reviewed | Next steps | Notes |
|---|---|---|---|---|---|
| `SacsMobileMaui` | Project and project documentation review | .NET 10 migration complete; follow-up required | 2026-09-17 | Validate Apple targets on a Mac, then address the compatibility APIs, handler registration, and focused tests recorded in `topics.md`. | Reviewed the MAUI project README, topic tracker, component register, and shared Common trackers. The project and both active consumers target .NET 10 with MAUI 10.0.20. Windows runtime smoke tests pass, and Windows and Android Debug builds complete with zero errors against Common’s final .NET 10-only libraries. Async/dialog implementation and date-picker behavior are implemented; compatibility APIs, handler registration, and resource-stream tests remain. |
| `Maui/Utils/SamThreadUtil.cs`, `Maui/Utils/SamFormUtil.cs`, `Maui/Pages/SamContentPage.cs`, `SacsMobileMauiTests`, `SacsMobileMauiTestHost` | Async UI-thread dispatch and dialogs | Common behavior implemented and host-tested | 2026-10-06 | Resolve the separately scoped Sandtrap API call-site and Apple runtime-pack build failures before claiming consumer compatibility. | All six dispatcher tests and all three interactive dialog tests pass in the Windows MAUI host; all four non-interactive NUnit tests pass. The host builds with zero warnings/errors. Sandtrap's build check exposed removed-API call sites and Apple-target runtime-pack errors; no consumer files were changed. |
| `Maui/Controls/SamDatePicker.cs`, `SamDatePicker_Tester` | `AllowInvalid` transitions, date display, and reset behavior | Implemented and host-verified | 2026-10-06 | Retain the host test for future date-picker changes. | The `Date` setter now refreshes the formatted entry/reset display after changing state. The explicit host test verifies both mode transitions, valid-date display, invalid-date clearing, reset visibility, and restoration of the native picker date when invalid values are disabled; the user confirmed it passes. |
| `Maui/App/Sam.cs` | Shared MAUI configuration and visual defaults | Retained and clarified | 2026-09-29 | Classify remaining unused settings and decide whether localisation and font defaults should be wired into consumers. | Preserved all public settings, documented the startup/default configuration semantics, and made the remaining item-list visual fields consistent properties. |
| `Maui/Logic/SamEntryTextFormatter.cs`, `SamEntryTextFormatOptions.cs`, `SamPickerItemCollection.cs`, `SamDateValueState.cs`, `SamViewTreeUtil.cs` | Reusable control logic extraction | Implemented and covered where platform-independent | 2026-09-29 | Use these seams when adding further `Sam*` controls; add MAUI-host tests for visual-tree behavior. | `SamEntry`, `SamPicker`, `SamDatePicker`, and `SamContentPage` now delegate reusable formatting, item, date-state, and child-view traversal behavior. `SamEntryTextFormatter` receives an immutable formatting-options snapshot rather than positional settings. Four ordinary NUnit tests pass without a MAUI host. |
| `Maui/Controls/*` and `Maui/Controls/Panels/*` | MAUI control coverage and consistency review | Activity contracts separated for controls and composite views | 2026-10-06 | Add MAUI-host tests, assess `BindableProperty` support, and review the remaining platform-specific handler branches and no-op overrides. | Added the single-method `ISamControl` contract for leaf controls. `SamViewTreeUtil` now applies activity to child `ISamControl` and `ISamView` elements; `ISamView` remains the contract for composite views and layout configuration. Earlier work removed the `SamControlPanel` constructor’s virtual call, simplified redundant panel lifecycle overrides, corrected `SamLabel` proportional font handling, added `ISamNativeControlStyle`, and improved `SamWebView`, `SamTabControl`, `SamDateTimePicker`, and `SamPicker`. |
| `Maui/Handlers/SamFormHandler.cs`, `Maui/Controls/ISamNativeControlStyle.cs` | Native form-control handler mappings | Platform behavior clarified; registration still unverified | 2026-10-06 | Verify or add the startup call to `SamFormHandler.AssignControlHandlers()`; then host-test mapping behavior and visually check transparent backgrounds and borders. Consider bindable properties only if styling must change after handler creation. | All mappings guard with `ISamNativeControlStyle`. Windows background clearing now uses a transparent brush. `NativeNoUnderline` intentionally has no iOS/macOS or Windows implementation because those controls expose a full border rather than the Android-style underline; `NativeNoBorder` removes that border. A Common-project search found the registration method definition but no call site, so mapping activation is not yet established. |