mirror of
https://github.com/alexmickelson/canvasManagement.git
synced 2026-03-26 07:38:33 -06:00
104 lines
2.2 KiB
Plaintext
104 lines
2.2 KiB
Plaintext
@page "/"
|
|
@using CanvasModel.EnrollmentTerms
|
|
@using Management.Web.Shared.Course
|
|
@using Management.Web.Shared.Module.Assignment.Templates
|
|
@using Management.Web.Shared.Semester
|
|
@using CanvasModel.Courses
|
|
@using Microsoft.AspNetCore.Components.Server.ProtectedBrowserStorage
|
|
@using LocalModels
|
|
@using Management.Web.Shared.Module.Assignment
|
|
@using Management.Web.Shared.Components
|
|
|
|
@inject CanvasService canvas
|
|
@inject CoursePlanner planner
|
|
@inject ICanvasTokenManagement tokenManagement
|
|
|
|
|
|
@code
|
|
{
|
|
private bool showNewFile { get; set; } = false;
|
|
private bool hasCanvasToken { get; set; } = false;
|
|
protected override void OnInitialized()
|
|
{
|
|
planner.StateHasChanged += reload;
|
|
}
|
|
|
|
private void reload()
|
|
{
|
|
this.InvokeAsync(this.StateHasChanged);
|
|
}
|
|
|
|
public void Dispose()
|
|
{
|
|
planner.StateHasChanged -= reload;
|
|
}
|
|
protected override async Task OnAfterRenderAsync(bool firstRender)
|
|
{
|
|
if(firstRender)
|
|
{
|
|
hasCanvasToken = await tokenManagement.GetCanvasToken() != null;
|
|
StateHasChanged();
|
|
}
|
|
}
|
|
|
|
private async Task SetToken(string newToken)
|
|
{
|
|
await tokenManagement.SaveCanvasToken(newToken);
|
|
hasCanvasToken = true;
|
|
StateHasChanged();
|
|
}
|
|
}
|
|
<PageTitle>Index</PageTitle>
|
|
|
|
@if(!hasCanvasToken)
|
|
{
|
|
<ValidateCanvasToken SetToken="SetToken" />
|
|
}
|
|
|
|
@if(planner.LocalCourse == null)
|
|
{
|
|
<CurrentFiles />
|
|
@if(!showNewFile)
|
|
{
|
|
<div class="text-center">
|
|
<button
|
|
@onclick="@(()=>showNewFile = true)"
|
|
class="btn btn-primary"
|
|
>
|
|
Create New File
|
|
</button>
|
|
</div>
|
|
}
|
|
|
|
@if(showNewFile)
|
|
{
|
|
<div class="text-center">
|
|
<button
|
|
@onclick="@(()=>showNewFile = false)"
|
|
class="btn btn-primary"
|
|
>
|
|
Hide File Initialization
|
|
</button>
|
|
</div>
|
|
|
|
<div class="border rounded bg-dark-subtle p-3 my-3">
|
|
<InitializeYamlFromCanvas />
|
|
</div>
|
|
}
|
|
}
|
|
|
|
@if(planner.LocalCourse != null)
|
|
{
|
|
<div class="mb-3">
|
|
<button
|
|
@onclick="@(() => planner.LocalCourse = null)"
|
|
class="btn btn-primary"
|
|
>
|
|
Select New Course
|
|
</button>
|
|
<CourseSettings />
|
|
<AssignmentTemplateManagement />
|
|
</div>
|
|
<CourseDetails />
|
|
}
|
|
<br> |