From 0981623c2b3a065a4a3735a996141b3c95ace37d Mon Sep 17 00:00:00 2001 From: Josh Johnson Date: Wed, 7 Jul 2021 06:48:57 -0400 Subject: [PATCH] Prevent Excessive Redraws (#4) Only render the diagram if the definition changed. This commit also adds a class for easier styling/formatting. --- src/MermaidJS.Blazor/MermaidDiagram.razor | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/MermaidJS.Blazor/MermaidDiagram.razor b/src/MermaidJS.Blazor/MermaidDiagram.razor index 1853308..f83dfac 100644 --- a/src/MermaidJS.Blazor/MermaidDiagram.razor +++ b/src/MermaidJS.Blazor/MermaidDiagram.razor @@ -2,7 +2,7 @@ @inject MermaidDiagramInterop _interop -
+
@if (!string.IsNullOrWhiteSpace(errorMessage)) {

@errorMessage

@@ -32,6 +32,8 @@ [Parameter] public EventCallback OnRender { get; set; } + string previousDefinition = string.Empty; + public async ValueTask DisposeAsync() { await _interop.UnregisterComponent(this); @@ -89,11 +91,13 @@ protected override async Task OnParametersSetAsync() { - if (componentRef is null) + if (componentRef is null || Definition.Equals(previousDefinition)) { return; } + previousDefinition = Definition; + await BeginRender(); } } \ No newline at end of file