Implemented console. Fixed streaming bugs. Added server command sending. Added reset and router back
This commit is contained in:
@@ -1,5 +1,9 @@
|
||||
@using Moonlight.Features.Servers.Models.Abstractions
|
||||
@using Moonlight.Features.Servers.Services
|
||||
@using Moonlight.Features.Servers.UI.Components
|
||||
@using Moonlight.Features.Servers.Entities
|
||||
|
||||
@inject ServerService ServerService
|
||||
|
||||
@implements IDisposable
|
||||
|
||||
@@ -7,8 +11,8 @@
|
||||
<Terminal @ref="Terminal" />
|
||||
<div class="mt-3">
|
||||
<div class="input-group">
|
||||
<input class="form-control form-control-transparent text-white" placeholder="Enter command"/>
|
||||
<button class="btn btn-secondary rounded-start">Execute</button>
|
||||
<input @bind="CommandInput" class="form-control form-control-transparent text-white" placeholder="Enter command"/>
|
||||
<WButton CssClasses="btn btn-secondary rounded-start" Text="Execute" OnClick="SendCommand" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -17,8 +21,12 @@
|
||||
{
|
||||
[CascadingParameter]
|
||||
public ServerMeta Meta { get; set; }
|
||||
|
||||
[CascadingParameter]
|
||||
public Server Server { get; set; }
|
||||
|
||||
private Terminal Terminal;
|
||||
private string CommandInput = "";
|
||||
|
||||
protected override async Task OnAfterRenderAsync(bool firstRender)
|
||||
{
|
||||
@@ -40,10 +48,19 @@
|
||||
{
|
||||
await Terminal.WriteLine(message);
|
||||
}
|
||||
|
||||
private async Task SendCommand()
|
||||
{
|
||||
await ServerService.SendCommand(Server, CommandInput);
|
||||
CommandInput = "";
|
||||
|
||||
await InvokeAsync(StateHasChanged);
|
||||
}
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
if(Meta != null)
|
||||
Meta.OnConsoleMessage -= OnConsoleMessage;
|
||||
}
|
||||
|
||||
}
|
||||
53
Moonlight/Features/Servers/UI/UserViews/Reset.razor
Normal file
53
Moonlight/Features/Servers/UI/UserViews/Reset.razor
Normal file
@@ -0,0 +1,53 @@
|
||||
@using Moonlight.Features.Servers.Entities
|
||||
@using Moonlight.Features.Servers.Models.Abstractions
|
||||
@using Moonlight.Features.Servers.Models.Enums
|
||||
@using Moonlight.Features.Servers.Services
|
||||
|
||||
@implements IDisposable
|
||||
|
||||
@inject ServerService ServerService
|
||||
|
||||
<div class="card card-body">
|
||||
@if (Meta.State == ServerState.Offline)
|
||||
{
|
||||
<ConfirmButton OnClick="ResetServer" CssClasses="btn btn-danger" Text="Reset server" />
|
||||
}
|
||||
else
|
||||
{
|
||||
<button class="btn btn-danger disabled" disabled="">Reset server</button>
|
||||
}
|
||||
</div>
|
||||
|
||||
@code
|
||||
{
|
||||
[CascadingParameter]
|
||||
public Server Server { get; set; }
|
||||
|
||||
[CascadingParameter]
|
||||
public ServerMeta Meta { get; set; }
|
||||
|
||||
protected override Task OnAfterRenderAsync(bool firstRender)
|
||||
{
|
||||
if (firstRender)
|
||||
{
|
||||
Meta.OnStateChanged += OnStateChanged;
|
||||
}
|
||||
|
||||
return Task.CompletedTask;
|
||||
}
|
||||
|
||||
private async Task ResetServer()
|
||||
{
|
||||
await ServerService.SendPowerAction(Server, PowerAction.Install);
|
||||
}
|
||||
|
||||
private async Task OnStateChanged()
|
||||
{
|
||||
await InvokeAsync(StateHasChanged);
|
||||
}
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
Meta.OnStateChanged -= OnStateChanged;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user