diff --git a/src/ZB.MOM.WW.ScadaBridge.CentralUI/Components/Pages/Dashboard.razor b/src/ZB.MOM.WW.ScadaBridge.CentralUI/Components/Pages/Dashboard.razor index a4516794..d76ad07a 100644 --- a/src/ZB.MOM.WW.ScadaBridge.CentralUI/Components/Pages/Dashboard.razor +++ b/src/ZB.MOM.WW.ScadaBridge.CentralUI/Components/Pages/Dashboard.razor @@ -107,7 +107,7 @@ { _siteCount = (await SiteRepository.GetAllSitesAsync()).Count; _dataConnectionCount = (await SiteRepository.GetAllDataConnectionsAsync()).Count; - _templateCount = (await TemplateEngineRepository.GetAllTemplatesAsync()).Count; + _templateCount = (await TemplateEngineRepository.GetTemplateStubsAsync()).Count; _apiKeyCount = (await ApiKeyAdmin.ListAsync()).Count; } catch diff --git a/src/ZB.MOM.WW.ScadaBridge.CentralUI/Components/Pages/Deployment/InstanceCreate.razor b/src/ZB.MOM.WW.ScadaBridge.CentralUI/Components/Pages/Deployment/InstanceCreate.razor index d7bf9769..4852d677 100644 --- a/src/ZB.MOM.WW.ScadaBridge.CentralUI/Components/Pages/Deployment/InstanceCreate.razor +++ b/src/ZB.MOM.WW.ScadaBridge.CentralUI/Components/Pages/Deployment/InstanceCreate.razor @@ -267,7 +267,7 @@ { try { - _templates = (await TemplateEngineRepository.GetAllTemplatesAsync()).ToList(); + _templates = (await TemplateEngineRepository.GetTemplateStubsAsync()).ToShellTemplates(); _folders = (await TemplateEngineRepository.GetAllFoldersAsync()).ToList(); _foldersById = _folders.ToDictionary(f => f.Id); if (TemplateId is int tid) diff --git a/src/ZB.MOM.WW.ScadaBridge.CentralUI/Components/Pages/Design/TemplateCreate.razor b/src/ZB.MOM.WW.ScadaBridge.CentralUI/Components/Pages/Design/TemplateCreate.razor index b04a9283..0c7d0152 100644 --- a/src/ZB.MOM.WW.ScadaBridge.CentralUI/Components/Pages/Design/TemplateCreate.razor +++ b/src/ZB.MOM.WW.ScadaBridge.CentralUI/Components/Pages/Design/TemplateCreate.razor @@ -1,4 +1,5 @@ @page "/design/templates/create" +@using ZB.MOM.WW.ScadaBridge.CentralUI.Services @using ZB.MOM.WW.ScadaBridge.Security @using ZB.MOM.WW.ScadaBridge.Commons.Entities.Templates @using ZB.MOM.WW.ScadaBridge.Commons.Interfaces.Repositories @@ -73,7 +74,7 @@ { try { - _templates = (await TemplateEngineRepository.GetAllTemplatesAsync()).ToList(); + _templates = (await TemplateEngineRepository.GetTemplateStubsAsync()).ToShellTemplates(); if (ParentId is int pid && _templates.Any(t => t.Id == pid)) { _createParentId = pid; diff --git a/src/ZB.MOM.WW.ScadaBridge.CentralUI/Components/Pages/Design/TemplateEdit.razor b/src/ZB.MOM.WW.ScadaBridge.CentralUI/Components/Pages/Design/TemplateEdit.razor index 21d9cccb..c27daeb9 100644 --- a/src/ZB.MOM.WW.ScadaBridge.CentralUI/Components/Pages/Design/TemplateEdit.razor +++ b/src/ZB.MOM.WW.ScadaBridge.CentralUI/Components/Pages/Design/TemplateEdit.razor @@ -125,7 +125,7 @@ _loadError = null; try { - _templates = (await TemplateEngineRepository.GetAllTemplatesAsync()).ToList(); + _templates = (await TemplateEngineRepository.GetAllTemplatesForAnalysisAsync()).ToList(); _selectedTemplate = await TemplateEngineRepository.GetTemplateWithChildrenAsync(Id) ?? _templates.FirstOrDefault(t => t.Id == Id); diff --git a/src/ZB.MOM.WW.ScadaBridge.CentralUI/Components/Pages/Design/Templates.razor b/src/ZB.MOM.WW.ScadaBridge.CentralUI/Components/Pages/Design/Templates.razor index c964772e..ee3904c9 100644 --- a/src/ZB.MOM.WW.ScadaBridge.CentralUI/Components/Pages/Design/Templates.razor +++ b/src/ZB.MOM.WW.ScadaBridge.CentralUI/Components/Pages/Design/Templates.razor @@ -148,7 +148,7 @@ _loading = true; try { - _templates = (await TemplateEngineRepository.GetAllTemplatesAsync()).ToList(); + _templates = (await TemplateEngineRepository.GetAllTemplatesForAnalysisAsync()).ToList(); _folders = (await TemplateEngineRepository.GetAllFoldersAsync()).ToList(); _templatesById = _templates.ToDictionary(t => t.Id); _compositionsById = _templates diff --git a/src/ZB.MOM.WW.ScadaBridge.CentralUI/Components/Pages/Design/TransportExport.razor.cs b/src/ZB.MOM.WW.ScadaBridge.CentralUI/Components/Pages/Design/TransportExport.razor.cs index 2baf01d8..517543dc 100644 --- a/src/ZB.MOM.WW.ScadaBridge.CentralUI/Components/Pages/Design/TransportExport.razor.cs +++ b/src/ZB.MOM.WW.ScadaBridge.CentralUI/Components/Pages/Design/TransportExport.razor.cs @@ -1,3 +1,4 @@ +using ZB.MOM.WW.ScadaBridge.CentralUI.Services; using System.Security.Cryptography; using Microsoft.AspNetCore.Components; using Microsoft.AspNetCore.Components.Authorization; @@ -136,7 +137,7 @@ public partial class TransportExport : ComponentBase _errorMessage = null; try { - _templates = (await TemplateRepo.GetAllTemplatesAsync()).ToList(); + _templates = (await TemplateRepo.GetTemplateStubsAsync()).ToShellTemplates(); _folders = (await TemplateRepo.GetAllFoldersAsync()).ToList(); _sharedScripts = (await TemplateRepo.GetAllSharedScriptsAsync()).ToList(); _externalSystems = (await ExternalRepo.GetAllExternalSystemsAsync()).ToList(); diff --git a/src/ZB.MOM.WW.ScadaBridge.CentralUI/Services/TemplateStubExtensions.cs b/src/ZB.MOM.WW.ScadaBridge.CentralUI/Services/TemplateStubExtensions.cs new file mode 100644 index 00000000..5ab4ff67 --- /dev/null +++ b/src/ZB.MOM.WW.ScadaBridge.CentralUI/Services/TemplateStubExtensions.cs @@ -0,0 +1,25 @@ +using ZB.MOM.WW.ScadaBridge.Commons.Entities.Templates; +using ZB.MOM.WW.ScadaBridge.Commons.Types.Templates; + +namespace ZB.MOM.WW.ScadaBridge.CentralUI.Services; + +/// +/// Adapts the untracked, body-free projection to childless +/// shells for pickers and trees that only read identity/edge fields +/// (id, name, parent, folder, derived flag) — review 2026-10-21 07/P-1. +/// +internal static class TemplateStubExtensions +{ + /// Builds childless shells carrying only the stub's identity and edges. + /// The stubs to adapt. + /// One shell template per stub, in input order. + public static List