oqtane.framework/Oqtane.Client/Modules/Admin/ModuleDefinitions/Add.razor
2019-09-15 12:21:32 +02:00

51 lines
1.4 KiB
Plaintext

@using Microsoft.AspNetCore.Components.Routing
@using Oqtane.Modules.Controls
@using Oqtane.Modules
@using Oqtane.Services
@using Oqtane.Shared
@namespace Oqtane.Modules.Admin.ModuleDefinitions
@inherits ModuleBase
@inject NavigationManager NavigationManager
@inject IFileService FileService
@inject IModuleDefinitionService ModuleDefinitionService
<table class="table table-borderless">
<tr>
<td>
<label for="Name" class="control-label">Module: </label>
</td>
<td>
<FileUpload Filter=".nupkg"></FileUpload>
</td>
</tr>
</table>
@if (uploaded)
{
<button type="button" class="btn btn-success" @onclick="InstallFile">Install</button>
}
else
{
<button type="button" class="btn btn-success" @onclick="UploadFile">Upload</button>
}
<NavLink class="btn btn-secondary" href="@NavigateUrl()">Cancel</NavLink>
@code {
public override SecurityAccessLevel SecurityAccessLevel { get { return SecurityAccessLevel.Host; } }
bool uploaded = false;
private async Task UploadFile()
{
await FileService.UploadFilesAsync("Modules");
uploaded = true;
StateHasChanged();
}
private async Task InstallFile()
{
await ModuleDefinitionService.InstallModulesAsync();
PageState.Reload = Constants.ReloadApplication;
NavigationManager.NavigateTo(NavigateUrl());
}
}