mirror of
https://github.com/alexhopeoconnor/dnsmasq-webui.git
synced 2026-10-03 22:12:00 +10:00
- Hosts: delete confirmation modal, shift range select, keyboard shortcuts, effective-name suffix tooltips, conditional modern header actions - Align EffectiveNames on rows with scoped domain= + pending preview; unified hosts API uses full DomainValues from config snapshot - Harden Blazor JS interop (safe helpers, IAsyncDisposable, disposal order) - Effective config: domain multi-value display/editor, parsers, tests - Misc: docs/testdata/docker script updates
29 lines
1.2 KiB
Plaintext
29 lines
1.2 KiB
Plaintext
@namespace DnsmasqWebUI.Components.EffectiveConfig
|
|
@using DnsmasqWebUI.Models.Dnsmasq
|
|
@using DnsmasqWebUI.Models.Dnsmasq.EffectiveConfig
|
|
|
|
<span class="ec-field-value-item" title="@Source?.GetReadOnlyTooltip()">
|
|
@(DisplayValue ?? Value)
|
|
<OptionStateBadge
|
|
AnchorId="@(ReadonlyBadgeAnchorId ?? "")"
|
|
Source="@Source"
|
|
OptionName="@OptionName"
|
|
Value="@Value"
|
|
IsInteractive="@(IsEditMode && !string.IsNullOrEmpty(ReadonlyBadgeAnchorId))"
|
|
ShowEditableBadge="@(Source?.IsReadOnly != true)"
|
|
EditableAsButton="true"
|
|
FieldKey="@FieldKey" />
|
|
</span>
|
|
|
|
@code {
|
|
/// <summary>Raw config line for badges / popovers.</summary>
|
|
[Parameter] public string Value { get; set; } = "";
|
|
/// <summary>When set, shown instead of <see cref="Value"/> in the value span (e.g. friendly summary).</summary>
|
|
[Parameter] public string? DisplayValue { get; set; }
|
|
[Parameter] public ConfigValueSource? Source { get; set; }
|
|
[Parameter] public string OptionName { get; set; } = "";
|
|
[Parameter] public bool IsEditMode { get; set; }
|
|
[Parameter] public string? ReadonlyBadgeAnchorId { get; set; }
|
|
[Parameter] public string? FieldKey { get; set; }
|
|
}
|