improved new file experience

This commit is contained in:
2023-07-31 16:45:11 -06:00
parent 12c323e874
commit 31bb39dcea
6 changed files with 28 additions and 11 deletions

View File

@@ -30,13 +30,19 @@
{ {
planner.StateHasChanged -= reload; planner.StateHasChanged -= reload;
} }
private void NewFileCreated()
{
showNewFile = false;
refreshKey++;
StateHasChanged();
}
private int refreshKey;
} }
<PageTitle>Index</PageTitle> <PageTitle>Index</PageTitle>
@if(planner.LocalCourse == null) @if(planner.LocalCourse == null)
{ {
<CurrentFiles /> <CurrentFiles RefreshKey="refreshKey" />
@if(!showNewFile) @if(!showNewFile)
{ {
<div class="text-center"> <div class="text-center">
@@ -61,7 +67,7 @@
</div> </div>
<div class="border rounded bg-dark-subtle p-3 my-3"> <div class="border rounded bg-dark-subtle p-3 my-3">
<InitializeYamlFromCanvas /> <InitializeYamlFromCanvas NewFileCreated="NewFileCreated" />
</div> </div>
} }
} }

View File

@@ -12,9 +12,6 @@
{ {
planner.StateHasChanged += reload; planner.StateHasChanged += reload;
} }
protected override async Task OnInitializedAsync()
{
}
protected override async Task OnAfterRenderAsync(bool firstRender) protected override async Task OnAfterRenderAsync(bool firstRender)
{ {
if(firstRender) if(firstRender)

View File

@@ -5,11 +5,14 @@
@code @code
{ {
[Parameter]
public int RefreshKey { get; set; }
public IEnumerable<LocalCourse>? localCourses { get; set; } public IEnumerable<LocalCourse>? localCourses { get; set; }
protected override async Task OnInitializedAsync() protected override async Task OnParametersSetAsync()
{ {
localCourses = await yamlManager.LoadSavedCourses(); localCourses = await yamlManager.LoadSavedCourses();
} }
} }
@if(localCourses != null) @if(localCourses != null)

View File

@@ -10,6 +10,9 @@
@code { @code {
[Parameter, EditorRequired]
public Action NewFileCreated { get; set; } = default!;
private bool loadingTerms = false;
private bool loadingCourses = false; private bool loadingCourses = false;
public IEnumerable<LocalCourse>? localCourses { get; set; } public IEnumerable<LocalCourse>? localCourses { get; set; }
private IEnumerable<EnrollmentTermModel>? terms { get; set; } = null; private IEnumerable<EnrollmentTermModel>? terms { get; set; } = null;
@@ -47,7 +50,9 @@
private List<DayOfWeek> days { get; set; } = new(); private List<DayOfWeek> days { get; set; } = new();
protected override async Task OnInitializedAsync() protected override async Task OnInitializedAsync()
{ {
loadingTerms = true;
terms = await canvas.GetCurrentTermsFor(); terms = await canvas.GetCurrentTermsFor();
loadingTerms = false;
} }
private async Task YamlTrigger() private async Task YamlTrigger()
{ {
@@ -55,12 +60,15 @@
{ {
var course = new LocalCourse var course = new LocalCourse
{ {
Modules= new LocalModule[] {}, Modules = new LocalModule[] {},
Name = selectedCourse.Name, Name = selectedCourse.Name,
CanvasId = selectedCourse.Id, CanvasId = selectedCourse.Id,
DaysOfWeek = days, DaysOfWeek = days,
StartDate = selectedTerm?.StartAt ?? new DateTime(),
EndDate = selectedTerm?.EndAt ?? new DateTime(),
}; };
await yamlManager.SaveCourseAsync(course); await yamlManager.SaveCourseAsync(course);
NewFileCreated();
} }
await updateCourses(); await updateCourses();
} }
@@ -84,6 +92,11 @@
} }
} }
@if(loadingTerms)
{
<Spinner />
}
@if (terms != null) @if (terms != null)
{ {
<div class="row justify-content-center"> <div class="row justify-content-center">

View File

@@ -7,8 +7,6 @@
[Parameter, EditorRequired] [Parameter, EditorRequired]
public AssignmentTemplate Template { get; set; } = default!; public AssignmentTemplate Template { get; set; } = default!;
string markdownHtml = "";
protected override void OnInitialized() protected override void OnInitialized()
{ {
base.OnInitialized(); base.OnInitialized();

View File

@@ -53,7 +53,7 @@
var isClassDay = planner.LocalCourse?.DaysOfWeek.Contains(notNullDay) ?? false; var isClassDay = planner.LocalCourse?.DaysOfWeek.Contains(notNullDay) ?? false;
var dayInSemester = var dayInSemester =
isClassDay isClassDay
&& date < planner.LocalCourse.EndDate && date < planner.LocalCourse?.EndDate
&& date > planner.LocalCourse.StartDate; && date > planner.LocalCourse.StartDate;
var totalClasses = dayInSemester var totalClasses = dayInSemester