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.
This commit is contained in:
+5
-2
@@ -300,6 +300,9 @@ else
|
||||
// Tags JSON view (read-only)
|
||||
public string? TagsJson { get; set; }
|
||||
|
||||
// Preserved originals (round-tripped unchanged from original options)
|
||||
private IReadOnlyList<S7TagDefinition> _tags = [];
|
||||
|
||||
// Common
|
||||
public string? ResilienceConfig { get; set; }
|
||||
public byte[] RowVersion { get; set; } = [];
|
||||
@@ -326,6 +329,7 @@ else
|
||||
ProbeTimeoutSeconds = (int)o.Probe.Timeout.TotalSeconds,
|
||||
AdminProbeTimeoutSeconds = o.ProbeTimeoutSeconds,
|
||||
TagsJson = tagsJson,
|
||||
_tags = o.Tags,
|
||||
};
|
||||
}
|
||||
|
||||
@@ -344,8 +348,7 @@ else
|
||||
Timeout = TimeSpan.FromSeconds(ProbeTimeoutSeconds),
|
||||
},
|
||||
ProbeTimeoutSeconds = AdminProbeTimeoutSeconds,
|
||||
// Tags preserved from original JSON; this form does not edit the tag list.
|
||||
Tags = [],
|
||||
Tags = _tags,
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user