Joseph Doherty
c4086c243c
fix(adminui): S7 typed page no longer wipes Tags on save
...
- S7DriverPage.FormModel now preserves Tags through Form ↔ Options
translation (was hard-coding Tags = [] on every save, silently
destroying any tag list that operators had configured).
- Add FormModel_RoundTrip tests for OpcUaClient and Historian
mirror classes — both were translating Options ↔ form-model
entirely untested.
- Surface S7 Tags in the round-trip test so this regression
can't reach merge again.
2026-05-28 10:06:43 -04:00
Joseph Doherty
059a6218f7
feat(adminui): AbLegacy typed driver page
2026-05-28 09:57:07 -04:00
Joseph Doherty
8149739161
feat(adminui): FOCAS typed driver page
...
Adds FocasDriverPage.razor (route: /clusters/{id}/drivers/new/focas) with
typed sections for timeout, probe, AlarmProjection (enabled + poll interval),
HandleRecycle (enabled + interval in minutes), FixedTree (enabled + axis/
program/timer poll intervals), and read-only JSON views for Devices and Tags.
FormModel uses flat settable properties + FromOptions/ToOptions with
appropriate unit conversions (ms, minutes). Also adds
FocasDriverPageFormSerializationTests (3 tests: JSON round-trip, unknown-field
drop, FormModel round-trip covering all sub-options classes).
2026-05-28 09:56:53 -04:00
Joseph Doherty
2c16062457
feat(adminui): Historian.Wonderware typed driver page
2026-05-28 09:55:15 -04:00
Joseph Doherty
dc21cbad53
feat(adminui): AbCip typed driver page
2026-05-28 09:55:13 -04:00
Joseph Doherty
dfbf6793de
feat(adminui): TwinCat typed driver page
...
Adds TwinCATDriverPage.razor (route: /clusters/{id}/drivers/new/twincat)
with typed fields for timeout, UseNativeNotifications, EnableControllerBrowse,
NotificationMaxDelayMs, probe sub-options (enabled/interval/timeout/admin
timeout), and read-only JSON views for Devices and Tags collections.
FormModel uses flat settable properties + FromOptions/ToOptions. Also adds
TwinCATDriverPageFormSerializationTests (3 tests). Fixes pre-existing
placeholder syntax error in AbCipDriverPage.razor (@raw_cpu_type in
attribute caused RZ9986).
2026-05-28 09:54:49 -04:00
Joseph Doherty
a243cfd126
feat(adminui): Galaxy typed driver page
2026-05-28 09:52:31 -04:00
Joseph Doherty
5cad9b260e
feat(adminui): S7 typed driver page
...
Adds S7DriverPage.razor (route: /clusters/{id}/drivers/new/s7) with
typed fields for host, port, CpuType InputSelect, rack, slot, timeout,
probe sub-options, and read-only JSON tag view. FormModel uses flat
settable properties and FromOptions/ToOptions round-trip; no
init-only bindings in Razor. Also adds
S7DriverPageFormSerializationTests (3 tests: JSON round-trip,
unknown-field drop, FormModel round-trip).
2026-05-28 09:52:10 -04:00
Joseph Doherty
a3073d16bf
feat(adminui): Modbus typed driver page
2026-05-28 09:52:01 -04:00
Joseph Doherty
efcc2311e6
feat(adminui): OpcUaClient typed driver page
2026-05-28 09:50:34 -04:00
Joseph Doherty
dc12c3732e
test(adminui): scaffold AdminUI.Tests project
2026-05-28 08:42:42 -04:00