feat(uns): lazy per-equipment tag + virtual-tag load
Add LoadEquipmentChildrenAsync to IUnsTreeService and UnsTreeService; returns
Tag nodes (ordered by Name) then VirtualTag nodes (ordered by Name) as leaf
nodes with ChildCount=0, HasLazyChildren=false, keys tag:{id}/vtag:{id}.
This commit is contained in:
@@ -4,7 +4,7 @@ namespace ZB.MOM.WW.OtOpcUa.AdminUI.Uns;
|
||||
/// Loads the structural portion of the unified-namespace (UNS) browse tree —
|
||||
/// Enterprise → Cluster → Area → Line → Equipment — from the config database.
|
||||
/// Equipment children (tags/virtual tags) are summarised by count only and loaded
|
||||
/// lazily by the renderer; this service never returns Tag/VirtualTag leaf nodes.
|
||||
/// lazily by the renderer via <see cref="LoadEquipmentChildrenAsync"/>.
|
||||
/// </summary>
|
||||
public interface IUnsTreeService
|
||||
{
|
||||
@@ -16,4 +16,14 @@ public interface IUnsTreeService
|
||||
/// <param name="ct">A token to cancel the load.</param>
|
||||
/// <returns>The enterprise root nodes, each populated down to equipment.</returns>
|
||||
Task<IReadOnlyList<UnsNode>> LoadStructureAsync(CancellationToken ct = default);
|
||||
|
||||
/// <summary>
|
||||
/// Lazily loads the Tag and VirtualTag leaf nodes for a single equipment node.
|
||||
/// Tags are returned first (ordered by Name), followed by VirtualTags (ordered by Name).
|
||||
/// Leaf nodes carry <c>ChildCount = 0</c> and <c>HasLazyChildren = false</c>.
|
||||
/// </summary>
|
||||
/// <param name="equipmentId">The equipment whose children to load.</param>
|
||||
/// <param name="ct">A token to cancel the load.</param>
|
||||
/// <returns>Tag nodes followed by VirtualTag nodes; empty if the equipment has none.</returns>
|
||||
Task<IReadOnlyList<UnsNode>> LoadEquipmentChildrenAsync(string equipmentId, CancellationToken ct = default);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user