Skip to content

Commit f4aa83b

Browse files
Fix OnFirstRender early invoked issue
1 parent e45cdf5 commit f4aa83b

File tree

5 files changed

+18
-6
lines changed

5 files changed

+18
-6
lines changed

XtermBlazor/Xterm.razor.cs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -168,8 +168,6 @@ protected override async Task OnAfterRenderAsync(bool firstRender)
168168
await JSRuntime.InvokeVoidAsync($"{NAMESPACE_PREFIX}.registerTerminal", Id, ElementReference, Options, AddonIds);
169169

170170
IsRendered = true;
171-
172-
await OnFirstRender.InvokeAsync();
173171
}
174172
}
175173

@@ -281,7 +279,7 @@ public ValueTask Resize(int columns, int rows)
281279
/// <returns></returns>
282280
public ValueTask<bool> HasSelection()
283281
{
284-
return JSRuntime.InvokeAsync<bool>($"{NAMESPACE_PREFIX}.hasSelection", Id);
282+
return JSRuntime.InvokeAsync<bool>($"{NAMESPACE_PREFIX}.hasSelection", Id);
285283
}
286284

287285
/// <summary>

XtermBlazor/XtermBlazor.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
<PackageLicenseFile>LICENSE</PackageLicenseFile>
1818
<Description>Brings xterm.js to Blazor</Description>
1919
<PackageIcon>icon.png</PackageIcon>
20-
<Version>1.8.0</Version>
20+
<Version>1.8.1</Version>
2121
<PackageTags>xterm, xterm-js, blazor, blazor-server, blazor-webassembly, blazor-wasm, xtermblazor</PackageTags>
2222
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
2323
<GenerateDocumentationFile>true</GenerateDocumentationFile>

XtermBlazor/XtermHandler.cs

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,17 @@ public static void DisposeTerminal(string id)
3333
}
3434
}
3535

36+
/// <summary>
37+
/// Adds an event listener for when the terminal is rendered.
38+
/// </summary>
39+
/// <param name="id"></param>
40+
/// <returns></returns>
41+
[JSInvokable]
42+
public static Task OnFirstRender(string id)
43+
{
44+
return GetTerminalById(id)?.OnFirstRender.InvokeAsync() ?? Task.CompletedTask;
45+
}
46+
3647
/// <summary>
3748
/// Adds an event listener for when a binary event fires. This is used to
3849
/// enable non UTF-8 conformant binary messages to be sent to the backend.

XtermBlazor/scripts/XtermBlazor.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,9 @@ class XtermBlazor {
6464
addons: addons,
6565
customKeyEventHandler: undefined,
6666
});
67+
68+
// Invoke OnFirstRender
69+
DotNet.invokeMethodAsync(this._ASSEMBLY_NAME, 'OnFirstRender', id);
6770
}
6871

6972
/**

XtermBlazor/wwwroot/XtermBlazor.min.js

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)