@page "/deployment/instances/{Id:int}/configure" @using ZB.MOM.WW.ScadaBridge.Security @using ZB.MOM.WW.ScadaBridge.Commons.Entities.Instances @using ZB.MOM.WW.ScadaBridge.Commons.Entities.Sites @using ZB.MOM.WW.ScadaBridge.Commons.Entities.Templates @using ZB.MOM.WW.ScadaBridge.Commons.Interfaces.Protocol @using ZB.MOM.WW.ScadaBridge.Commons.Interfaces.Repositories @using ZB.MOM.WW.ScadaBridge.Commons.Messages.Management @using ZB.MOM.WW.ScadaBridge.Commons.Types @using ZB.MOM.WW.ScadaBridge.Commons.Types.Enums @using ZB.MOM.WW.ScadaBridge.TemplateEngine.Flattening @using ZB.MOM.WW.ScadaBridge.TemplateEngine.Services @using ZB.MOM.WW.ScadaBridge.DeploymentManager @using ZB.MOM.WW.ScadaBridge.CentralUI.Components.Dialogs @attribute [Authorize(Policy = AuthorizationPolicies.RequireDeployment)] @inject ITemplateEngineRepository TemplateEngineRepository @inject ISiteRepository SiteRepository @inject ZB.MOM.WW.ScadaBridge.CentralUI.Auth.SiteScopeService SiteScope @inject InstanceService InstanceService @inject IFlatteningPipeline FlatteningPipeline @inject AuthenticationStateProvider AuthStateProvider @inject NavigationManager NavigationManager
No data-sourced attributes in this template.
} else {| Attribute | Tag Path | Connection | Override | |
|---|---|---|---|---|
| @attr.Name | @attr.DataSourceReference | OnOverrideForAttrChanged(attr.Name, e)" placeholder="@(attr.DataSourceReference ?? "(no default)")" /> | @if (isBrowsable) { } |
No overridable (non-locked) attributes in this template.
} else {| Attribute | Type | Template Value | Override Value |
|---|---|---|---|
| @attr.Name | @attr.DataType @if (attr.DataType == DataType.List) { @* Element type is fixed by the base attribute — shown read-only here (the List editor renders it hidden via ShowElementType="false"). *@ of @(attr.ElementDataType ?? DataType.String) } | @(attr.Value ?? "—") |
@if (attr.DataType == DataType.List)
{
@* Whole-list replacement: the shared editor renders the
element-type select hidden (fixed by the base) plus the
repeatable rows. Clearing removes the override row. *@
@listErr
}
@if (HasOverrideRow(attr.Name))
{
}
}
else
{
OnOverrideChanged(attr.Name, e)" />
}
|
No overridable (non-locked) alarms on this template.
} else {| Alarm | Trigger | Inherited Config | Override | Actions |
|---|---|---|---|---|
| @alarm.Name | @alarm.TriggerType | @(alarm.TriggerConfiguration ?? "—") | @if (HasOverride(alarm.Name)) { ● @OverrideSummary(alarm.Name) } else { inherited } | @if (HasOverride(alarm.Name)) { } |
No native alarm sources on this template.
} else {| Source | Inherited | Connection override | Source reference override | Filter override | Actions |
|---|---|---|---|---|---|
| @src.Name @if (HasNativeOverride(src.Name)) { ● } | @src.ConnectionName / @src.SourceReference | _nasRefEdit[src.Name] = string.IsNullOrWhiteSpace((string?)e.Value) ? null : ((string?)e.Value)!.Trim()" /> | _nasFilterEdit[src.Name] = string.IsNullOrWhiteSpace((string?)e.Value) ? null : ((string?)e.Value)!.Trim()" /> | @if (HasNativeOverride(src.Name)) { } |