@using Elsa.Studio.DomInterop.Contracts @using Elsa.Studio.Localization.Time.Components @using Elsa.Studio.Models @{ var data = HideEmptyValues ? Data.Where(x => !string.IsNullOrWhiteSpace(x.Text)).ToList() : Data; } @if (data.Any()) { @foreach (var item in data) { @item.Label @if (!string.IsNullOrWhiteSpace(item.Link)) { @item.Text } else if (item.OnClick != null) { @item.Text } else { @if (item.Label == "Created" || item.Label == "Updated" || item.Label == "Finished") { } else { @item.Text } } } } else { if (ShowNoDataAlert) { @NoDataMessage } } @code { /// /// The data to display. /// [Parameter] public DataPanelModel Data { get; set; } = new (); /// /// If true, empty values will be hidden. /// [Parameter] public bool HideEmptyValues { get; set; } /// /// If true, a message will be displayed when there is no data. /// [Parameter] public bool ShowNoDataAlert { get; set; } /// /// The message to display when there is no data. /// [Parameter] public string NoDataMessage { get; set; } = "No data available."; [Inject] private IClipboard Clipboard { get; set; } = null!; private async Task OnCopyClicked(string value) { await Clipboard.CopyText(value); } }