diff --git a/Radzen.Blazor/RadzenHtmlEditor.razor.cs b/Radzen.Blazor/RadzenHtmlEditor.razor.cs
index cabd3fe42cf..ccfb6bac342 100644
--- a/Radzen.Blazor/RadzenHtmlEditor.razor.cs
+++ b/Radzen.Blazor/RadzenHtmlEditor.razor.cs
@@ -416,5 +416,41 @@ public override void Dispose()
JSRuntime.InvokeVoidAsync("Radzen.destroyEditor", ContentEditable);
}
}
+
+ ///
+ /// Gets or sets the callback which when a file is uploaded.
+ ///
+ /// The complete callback.
+ [Parameter]
+ public EventCallback UploadComplete { get; set; }
+
+
+ internal async Task RaiseUploadComplete(UploadCompleteEventArgs args)
+ {
+ await UploadComplete.InvokeAsync(args);
+ }
+
+ ///
+ /// Invoked by interop when the upload is complete.
+ ///
+ [JSInvokable("OnUploadComplete")]
+ public async Task OnUploadComplete(string response)
+ {
+ System.Text.Json.JsonDocument doc = null;
+
+ if (!string.IsNullOrEmpty(response))
+ {
+ try
+ {
+ doc = System.Text.Json.JsonDocument.Parse(response);
+ }
+ catch (System.Text.Json.JsonException)
+ {
+ //
+ }
+ }
+
+ await UploadComplete.InvokeAsync(new UploadCompleteEventArgs() { RawResponse = response, JsonResponse = doc });
+ }
}
}
diff --git a/Radzen.Blazor/RadzenHtmlEditorImage.razor.cs b/Radzen.Blazor/RadzenHtmlEditorImage.razor.cs
index f10c345250e..b957f936316 100644
--- a/Radzen.Blazor/RadzenHtmlEditorImage.razor.cs
+++ b/Radzen.Blazor/RadzenHtmlEditorImage.razor.cs
@@ -107,6 +107,8 @@ async Task OnUploadComplete(UploadCompleteEventArgs args)
{
DialogService.Close(true);
}
+
+ await Editor.RaiseUploadComplete(args);
}
async Task OnUploadError(UploadErrorEventArgs args)
diff --git a/Radzen.Blazor/wwwroot/Radzen.Blazor.js b/Radzen.Blazor/wwwroot/Radzen.Blazor.js
index a5ffb4d7172..23894c84f95 100644
--- a/Radzen.Blazor/wwwroot/Radzen.Blazor.js
+++ b/Radzen.Blazor/wwwroot/Radzen.Blazor.js
@@ -1885,6 +1885,7 @@ window.Radzen = {
} else {
document.execCommand("insertHTML", false, '');
}
+ instance.invokeMethodAsync('OnUploadComplete', xhr.responseText);
} else {
instance.invokeMethodAsync('OnError', xhr.responseText);
}
diff --git a/RadzenBlazorDemos/Pages/HtmlEditorGetSetValue.razor b/RadzenBlazorDemos/Pages/HtmlEditorGetSetValue.razor
index f07985a7968..eed14d9387f 100644
--- a/RadzenBlazorDemos/Pages/HtmlEditorGetSetValue.razor
+++ b/RadzenBlazorDemos/Pages/HtmlEditorGetSetValue.razor
@@ -1,4 +1,4 @@
-
+
@@ -34,4 +34,9 @@
{
console.Log($"Execute: {args.CommandName}");
}
+
+ void OnUploadComplete(UploadCompleteEventArgs args)
+ {
+ console.Log($"Upload complete: {args.RawResponse}");
+ }
}
\ No newline at end of file