resize terminal
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
<div style="@GetStyle">
|
||||
<span style="@GetStyle">
|
||||
@ChildContent
|
||||
</div>
|
||||
</span>
|
||||
|
||||
@code {
|
||||
[Parameter, EditorRequired]
|
||||
@@ -9,5 +9,5 @@
|
||||
[Parameter, EditorRequired]
|
||||
public bool Visible { get; set; }
|
||||
|
||||
private string GetStyle => Visible ? "display: inherit" : "display: none";
|
||||
private string GetStyle => Visible ? "display: inherit; height: 100%" : "display: none";
|
||||
}
|
||||
|
||||
@@ -1,4 +1,7 @@
|
||||
<MudText>Run</MudText>
|
||||
|
||||
<MudStack Style="height: 100%">
|
||||
<MudText>Run</MudText>
|
||||
</MudStack>
|
||||
|
||||
@code {
|
||||
|
||||
|
||||
@@ -10,9 +10,9 @@
|
||||
}
|
||||
</style>
|
||||
|
||||
<div style="width: 100%">
|
||||
<div style="width: 100%; height: 100%; overflow: auto">
|
||||
<MudText>Terminal</MudText>
|
||||
<Xterm @ref="@_terminalRef" Style="height: 100%" Options="@_options"/>
|
||||
<Xterm @ref="@_terminalRef" Options="@_options" Style="height: calc(100% - 24px)" Addons="@_addons" OnFirstRender="@OnFirstRender"/>
|
||||
</div>
|
||||
|
||||
@code {
|
||||
@@ -34,6 +34,8 @@
|
||||
},
|
||||
};
|
||||
|
||||
private HashSet<string> _addons = ["addon-fit"];
|
||||
|
||||
protected override async Task OnInitializedAsync()
|
||||
{
|
||||
BuildService.BuildStarted += ClearPreviousOutput;
|
||||
@@ -60,4 +62,28 @@
|
||||
}
|
||||
|
||||
public void Dispose() => BuildService.BuildStarted -= ClearPreviousOutput;
|
||||
|
||||
private async Task OnFirstRender()
|
||||
{
|
||||
await _terminalRef.Addon("addon-fit").InvokeVoidAsync("fit");
|
||||
_ = Task.Run(async () =>
|
||||
{
|
||||
try
|
||||
{
|
||||
while (true)
|
||||
{
|
||||
await Task.Delay(500).ConfigureAwait(false);
|
||||
await InvokeAsync(async () =>
|
||||
{
|
||||
await _terminalRef.Addon("addon-fit").InvokeVoidAsync("fit");
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
await DispatchExceptionAsync(e);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -70,8 +70,8 @@
|
||||
</div>
|
||||
</MudDrawerContainer>
|
||||
</MudPaper>
|
||||
<div>
|
||||
@if (_solutionFilePath is not null && _selectedBottomPanel is not null)
|
||||
<div style="height: 30%">
|
||||
@if (_solutionFilePath is not null)
|
||||
{
|
||||
<DisplayNoneComponent Visible="@(_selectedBottomPanel is BottomPanelType.Run)">
|
||||
<RunPanel />
|
||||
|
||||
@@ -19,12 +19,14 @@
|
||||
<a class="dismiss">🗙</a>
|
||||
</div>
|
||||
|
||||
<script defer src="scripts2.js"></script>
|
||||
<script defer src="_content/XtermBlazor/XtermBlazor.min.js"></script>
|
||||
<script defer src="_content/BlazorMonaco/jsInterop.js"></script>
|
||||
<script defer src="_content/BlazorMonaco/lib/monaco-editor/min/vs/loader.js"></script>
|
||||
<script defer src="_content/BlazorMonaco/lib/monaco-editor/min/vs/editor/editor.main.js"></script>
|
||||
<script defer src="_content/MudBlazor/MudBlazor.min.js"></script>
|
||||
<script defer src="_framework/blazor.webview.js"></script>
|
||||
<script src="scripts2.js"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/@xterm/addon-fit@0.10.0/lib/addon-fit.min.js"></script>
|
||||
<script src="_content/BlazorMonaco/jsInterop.js"></script>
|
||||
<script src="_content/BlazorMonaco/lib/monaco-editor/min/vs/loader.js"></script>
|
||||
<script src="_content/BlazorMonaco/lib/monaco-editor/min/vs/editor/editor.main.js"></script>
|
||||
<script src="_content/MudBlazor/MudBlazor.min.js"></script>
|
||||
<script src="_content/XtermBlazor/XtermBlazor.min.js"></script>
|
||||
<script>XtermBlazor.registerAddons({"addon-fit": new FitAddon.FitAddon()});</script>
|
||||
<script src="_framework/blazor.webview.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
Reference in New Issue
Block a user