From 31bb39dceafd33e9bed7df5f48748dd062026214 Mon Sep 17 00:00:00 2001 From: Alex Mickelson Date: Mon, 31 Jul 2023 16:45:11 -0600 Subject: [PATCH] improved new file experience --- Management.Web/Pages/Index.razor | 12 +++++++++--- Management.Web/Shared/Course/CourseDetails.razor | 3 --- Management.Web/Shared/CurrentFiles.razor | 5 ++++- .../Shared/InitializeYamlFromCanvas.razor | 15 ++++++++++++++- .../Assignment/Templates/TemplateEditor.razor | 2 -- Management.Web/Shared/Semester/Day.razor | 2 +- 6 files changed, 28 insertions(+), 11 deletions(-) diff --git a/Management.Web/Pages/Index.razor b/Management.Web/Pages/Index.razor index 5cd9450..8db67f3 100644 --- a/Management.Web/Pages/Index.razor +++ b/Management.Web/Pages/Index.razor @@ -30,13 +30,19 @@ { planner.StateHasChanged -= reload; } - + private void NewFileCreated() + { + showNewFile = false; + refreshKey++; + StateHasChanged(); + } + private int refreshKey; } Index @if(planner.LocalCourse == null) { - + @if(!showNewFile) {
@@ -61,7 +67,7 @@
- +
} } diff --git a/Management.Web/Shared/Course/CourseDetails.razor b/Management.Web/Shared/Course/CourseDetails.razor index bd5108f..0d66d30 100644 --- a/Management.Web/Shared/Course/CourseDetails.razor +++ b/Management.Web/Shared/Course/CourseDetails.razor @@ -12,9 +12,6 @@ { planner.StateHasChanged += reload; } - protected override async Task OnInitializedAsync() - { - } protected override async Task OnAfterRenderAsync(bool firstRender) { if(firstRender) diff --git a/Management.Web/Shared/CurrentFiles.razor b/Management.Web/Shared/CurrentFiles.razor index cff8d6f..7da9395 100644 --- a/Management.Web/Shared/CurrentFiles.razor +++ b/Management.Web/Shared/CurrentFiles.razor @@ -5,11 +5,14 @@ @code { + [Parameter] + public int RefreshKey { get; set; } public IEnumerable? localCourses { get; set; } - protected override async Task OnInitializedAsync() + protected override async Task OnParametersSetAsync() { localCourses = await yamlManager.LoadSavedCourses(); } + } @if(localCourses != null) diff --git a/Management.Web/Shared/InitializeYamlFromCanvas.razor b/Management.Web/Shared/InitializeYamlFromCanvas.razor index 73a16e3..be27889 100644 --- a/Management.Web/Shared/InitializeYamlFromCanvas.razor +++ b/Management.Web/Shared/InitializeYamlFromCanvas.razor @@ -10,6 +10,9 @@ @code { + [Parameter, EditorRequired] + public Action NewFileCreated { get; set; } = default!; + private bool loadingTerms = false; private bool loadingCourses = false; public IEnumerable? localCourses { get; set; } private IEnumerable? terms { get; set; } = null; @@ -47,7 +50,9 @@ private List days { get; set; } = new(); protected override async Task OnInitializedAsync() { + loadingTerms = true; terms = await canvas.GetCurrentTermsFor(); + loadingTerms = false; } private async Task YamlTrigger() { @@ -55,12 +60,15 @@ { var course = new LocalCourse { - Modules= new LocalModule[] {}, + Modules = new LocalModule[] {}, Name = selectedCourse.Name, CanvasId = selectedCourse.Id, DaysOfWeek = days, + StartDate = selectedTerm?.StartAt ?? new DateTime(), + EndDate = selectedTerm?.EndAt ?? new DateTime(), }; await yamlManager.SaveCourseAsync(course); + NewFileCreated(); } await updateCourses(); } @@ -84,6 +92,11 @@ } } +@if(loadingTerms) +{ + +} + @if (terms != null) {
diff --git a/Management.Web/Shared/Module/Assignment/Templates/TemplateEditor.razor b/Management.Web/Shared/Module/Assignment/Templates/TemplateEditor.razor index da792ce..0307f8d 100644 --- a/Management.Web/Shared/Module/Assignment/Templates/TemplateEditor.razor +++ b/Management.Web/Shared/Module/Assignment/Templates/TemplateEditor.razor @@ -7,8 +7,6 @@ [Parameter, EditorRequired] public AssignmentTemplate Template { get; set; } = default!; - string markdownHtml = ""; - protected override void OnInitialized() { base.OnInitialized(); diff --git a/Management.Web/Shared/Semester/Day.razor b/Management.Web/Shared/Semester/Day.razor index b9353e8..a586387 100644 --- a/Management.Web/Shared/Semester/Day.razor +++ b/Management.Web/Shared/Semester/Day.razor @@ -53,7 +53,7 @@ var isClassDay = planner.LocalCourse?.DaysOfWeek.Contains(notNullDay) ?? false; var dayInSemester = isClassDay - && date < planner.LocalCourse.EndDate + && date < planner.LocalCourse?.EndDate && date > planner.LocalCourse.StartDate; var totalClasses = dayInSemester