resize terminal
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
<div style="@GetStyle">
|
<span style="@GetStyle">
|
||||||
@ChildContent
|
@ChildContent
|
||||||
</div>
|
</span>
|
||||||
|
|
||||||
@code {
|
@code {
|
||||||
[Parameter, EditorRequired]
|
[Parameter, EditorRequired]
|
||||||
@@ -9,5 +9,5 @@
|
|||||||
[Parameter, EditorRequired]
|
[Parameter, EditorRequired]
|
||||||
public bool Visible { get; set; }
|
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 {
|
@code {
|
||||||
|
|
||||||
|
|||||||
@@ -10,9 +10,9 @@
|
|||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<div style="width: 100%">
|
<div style="width: 100%; height: 100%; overflow: auto">
|
||||||
<MudText>Terminal</MudText>
|
<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>
|
</div>
|
||||||
|
|
||||||
@code {
|
@code {
|
||||||
@@ -34,6 +34,8 @@
|
|||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
private HashSet<string> _addons = ["addon-fit"];
|
||||||
|
|
||||||
protected override async Task OnInitializedAsync()
|
protected override async Task OnInitializedAsync()
|
||||||
{
|
{
|
||||||
BuildService.BuildStarted += ClearPreviousOutput;
|
BuildService.BuildStarted += ClearPreviousOutput;
|
||||||
@@ -60,4 +62,28 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void Dispose() => BuildService.BuildStarted -= ClearPreviousOutput;
|
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>
|
</div>
|
||||||
</MudDrawerContainer>
|
</MudDrawerContainer>
|
||||||
</MudPaper>
|
</MudPaper>
|
||||||
<div>
|
<div style="height: 30%">
|
||||||
@if (_solutionFilePath is not null && _selectedBottomPanel is not null)
|
@if (_solutionFilePath is not null)
|
||||||
{
|
{
|
||||||
<DisplayNoneComponent Visible="@(_selectedBottomPanel is BottomPanelType.Run)">
|
<DisplayNoneComponent Visible="@(_selectedBottomPanel is BottomPanelType.Run)">
|
||||||
<RunPanel />
|
<RunPanel />
|
||||||
|
|||||||
@@ -19,12 +19,14 @@
|
|||||||
<a class="dismiss">🗙</a>
|
<a class="dismiss">🗙</a>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script defer src="scripts2.js"></script>
|
<script src="scripts2.js"></script>
|
||||||
<script defer src="_content/XtermBlazor/XtermBlazor.min.js"></script>
|
<script src="https://cdn.jsdelivr.net/npm/@xterm/addon-fit@0.10.0/lib/addon-fit.min.js"></script>
|
||||||
<script defer src="_content/BlazorMonaco/jsInterop.js"></script>
|
<script src="_content/BlazorMonaco/jsInterop.js"></script>
|
||||||
<script defer src="_content/BlazorMonaco/lib/monaco-editor/min/vs/loader.js"></script>
|
<script 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 src="_content/BlazorMonaco/lib/monaco-editor/min/vs/editor/editor.main.js"></script>
|
||||||
<script defer src="_content/MudBlazor/MudBlazor.min.js"></script>
|
<script src="_content/MudBlazor/MudBlazor.min.js"></script>
|
||||||
<script defer src="_framework/blazor.webview.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>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
Reference in New Issue
Block a user