mirror of https://github.com/ErsatzTV/ErsatzTV.git
Browse Source
* add troubleshoot button to classic schedules * move troubleshoot buttonpull/2616/head
4 changed files with 86 additions and 2 deletions
@ -0,0 +1,66 @@
@@ -0,0 +1,66 @@
|
||||
@using System.Text.Json |
||||
@using System.Text.Json.Serialization |
||||
@using ErsatzTV.Application.ProgramSchedules |
||||
@inject IJSRuntime JsRuntime |
||||
|
||||
<div> |
||||
<MudDialog> |
||||
<DialogContent> |
||||
<div class="overflow-y-scroll" style="max-height: 500px"> |
||||
<pre> |
||||
<code @ref="_infoView">@_info</code> |
||||
</pre> |
||||
</div> |
||||
</DialogContent> |
||||
<DialogActions> |
||||
<MudButton Variant="Variant.Filled" Color="Color.Primary" OnClick="@(() => CopyToClipboard(_infoView))"> |
||||
Copy |
||||
</MudButton> |
||||
<MudButton Color="Color.Primary" OnClick="@Close">Close</MudButton> |
||||
</DialogActions> |
||||
</MudDialog> |
||||
</div> |
||||
|
||||
@code { |
||||
|
||||
[CascadingParameter] |
||||
IMudDialogInstance MudDialog { get; set; } |
||||
|
||||
[Parameter] |
||||
public ProgramScheduleViewModel Schedule { get; set; } |
||||
|
||||
[Parameter] |
||||
public IEnumerable<ProgramScheduleItemViewModel> Items { get; set; } |
||||
|
||||
private string _info; |
||||
private ElementReference _infoView; |
||||
|
||||
protected override Task OnParametersSetAsync() |
||||
{ |
||||
try |
||||
{ |
||||
_info = JsonSerializer.Serialize( |
||||
new |
||||
{ |
||||
Schedule, |
||||
Items |
||||
}, |
||||
new JsonSerializerOptions |
||||
{ |
||||
Converters = { new JsonStringEnumConverter() }, |
||||
DefaultIgnoreCondition = JsonIgnoreCondition.WhenWritingNull, |
||||
WriteIndented = true |
||||
}); |
||||
} |
||||
catch (Exception ex) |
||||
{ |
||||
_info = ex.ToString(); |
||||
} |
||||
|
||||
return Task.CompletedTask; |
||||
} |
||||
|
||||
private async Task CopyToClipboard(ElementReference view) => await JsRuntime.InvokeVoidAsync("clipboardCopy.copyText", view); |
||||
|
||||
private void Close() => MudDialog.Close(DialogResult.Ok(true)); |
||||
} |
||||
Loading…
Reference in new issue