From a0d1126d15f48f5388ce5f152a8ba90a9d957376 Mon Sep 17 00:00:00 2001 From: Marco Minerva Date: Wed, 19 Mar 2025 10:38:42 +0100 Subject: [PATCH] Enhance file upload and notification features - Updated `Documents.razor` to change form submission handler to `UploadFile` and added `id` to `InputFile`. - Implemented `UploadFile` method to handle file uploads and reset input after successful upload. - Upgraded package references in `SqlDatabaseVectorSearch.csproj` for `Microsoft.SemanticKernel` and `Swashbuckle.AspNetCore.SwaggerUI`. - Introduced `resetFileInput` function in `functions.js` to clear file input selections. --- .../Components/Layout/MainLayout.razor | 4 +--- SqlDatabaseVectorSearch/Components/Pages/Documents.razor | 9 ++++++--- SqlDatabaseVectorSearch/SqlDatabaseVectorSearch.csproj | 4 ++-- SqlDatabaseVectorSearch/wwwroot/js/functions.js | 4 ++++ 4 files changed, 13 insertions(+), 8 deletions(-) diff --git a/SqlDatabaseVectorSearch/Components/Layout/MainLayout.razor b/SqlDatabaseVectorSearch/Components/Layout/MainLayout.razor index c9c7108..14c0325 100644 --- a/SqlDatabaseVectorSearch/Components/Layout/MainLayout.razor +++ b/SqlDatabaseVectorSearch/Components/Layout/MainLayout.razor @@ -1,6 +1,4 @@ -@using System.Runtime.InteropServices - -@inherits LayoutComponentBase +@inherits LayoutComponentBase diff --git a/SqlDatabaseVectorSearch/Components/Pages/Documents.razor b/SqlDatabaseVectorSearch/Components/Pages/Documents.razor index 6648044..c756bab 100644 --- a/SqlDatabaseVectorSearch/Components/Pages/Documents.razor +++ b/SqlDatabaseVectorSearch/Components/Pages/Documents.razor @@ -13,7 +13,7 @@ Upload new document - +
@@ -24,7 +24,7 @@ - +
@@ -149,7 +149,7 @@ else } } - private async Task HandleValidSubmit() + private async Task UploadFile() { if (Model.File is null) { @@ -173,6 +173,9 @@ else ToastService.Notify(await CreateToastMessageAsync(ToastType.Success, "Upload document", $"The document {fileName} has been successfully uploaded and indexed.")); + Model = new UploadDocument(); + await JSRuntime.InvokeVoidAsync("resetFileInput", "fileInput"); + await LoadDocumentsAsync(scope.ServiceProvider); } catch (Exception ex) diff --git a/SqlDatabaseVectorSearch/SqlDatabaseVectorSearch.csproj b/SqlDatabaseVectorSearch/SqlDatabaseVectorSearch.csproj index a962e16..38cb5de 100644 --- a/SqlDatabaseVectorSearch/SqlDatabaseVectorSearch.csproj +++ b/SqlDatabaseVectorSearch/SqlDatabaseVectorSearch.csproj @@ -23,11 +23,11 @@ - + - + diff --git a/SqlDatabaseVectorSearch/wwwroot/js/functions.js b/SqlDatabaseVectorSearch/wwwroot/js/functions.js index 911b07f..bc9c3b7 100644 --- a/SqlDatabaseVectorSearch/wwwroot/js/functions.js +++ b/SqlDatabaseVectorSearch/wwwroot/js/functions.js @@ -10,6 +10,10 @@ window.scrollTo = (element) => { } } +window.resetFileInput = (elementId) => { + document.getElementById(elementId).value = ''; +}; + function getLocalTime(utcDateTime) { return new Date(utcDateTime).toLocaleString(); } \ No newline at end of file