@page "/design/templates/{Id:int}" @using ScadaLink.Security @using ScadaLink.Commons.Entities.Templates @using ScadaLink.Commons.Interfaces.Repositories @using ScadaLink.Commons.Types.Enums @using ScadaLink.TemplateEngine @using ScadaLink.TemplateEngine.Services @using ScadaLink.TemplateEngine.Validation @attribute [Authorize(Policy = AuthorizationPolicies.RequireDesign)] @inject ITemplateEngineRepository TemplateEngineRepository @inject TemplateService TemplateService @inject AuthenticationStateProvider AuthStateProvider @inject NavigationManager NavigationManager @inject IDialogService Dialog
@_baseTemplate.Name
@if (_ownerTemplate != null && _ownerComposition != null)
{
— composed inside @_ownerTemplate.Name as @_ownerComposition.InstanceName.
}
| Name | Type | Value | Data Source | Lock | @if (derived) {Source | } else {Lock in derived | }Actions |
|---|---|---|---|---|---|---|---|
| @attr.Name | @attr.DataType | @(effectiveValue ?? "—") | @(effectiveDataSource ?? "—") | @if (attr.IsLocked) { Locked } else { Unlocked } | @if (derived) {@if (lockedByBase) { 🔒 Base-locked } else if (attr.IsInherited) { Inherited } else if (baseAttr != null) { Override } else { Local } | } else {
ToggleAttrLockedInDerived(attr, e)" />
|
}
|
| Name | Trigger | Priority | Config | Lock | Actions |
|---|---|---|---|---|---|
| @alarm.Name | @alarm.TriggerType | @alarm.PriorityLevel | @(alarm.TriggerConfiguration ?? "—") | @if (alarm.IsLocked) { Locked } else { Unlocked } |
|
| Name | Trigger | Code (preview) | Lock | @if (derivedScripts) {Source | } else {Lock in derived | }Actions |
|---|---|---|---|---|---|---|
| @script.Name | @(script.TriggerType ?? "—") | @effectiveCode[..Math.Min(80, effectiveCode.Length)]@(effectiveCode.Length > 80 ? "..." : "") | @if (script.IsLocked) { Locked } else { Unlocked } | @if (derivedScripts) {@if (lockedByBase) { 🔒 Base-locked } else if (script.IsInherited) { Inherited } else if (baseScript != null) { Override } else { Local } | } else {
ToggleScriptLockedInDerived(script, e)" />
|
}
|