< Summary

Information
Class: Utility.Components.MonacoDiffEditor.MonacoDiffEditor
Assembly: Utility
File(s): /home/runner/work/Utility-Blazor/Utility-Blazor/src/Utility/Components/MonacoDiffEditor/MonacoDiffEditor.razor
Tag: 231_14069517506
Line coverage
0%
Covered lines: 0
Uncovered lines: 38
Coverable lines: 38
Total lines: 95
Line coverage: 0%
Branch coverage
0%
Covered branches: 0
Total branches: 4
Branch coverage: 0%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
get_Language()100%210%
get_Original()100%210%
get_Modified()100%210%
.ctor()100%210%
DiffEditorConstructionOptions(...)100%210%
OnAfterRenderAsync()100%210%
OnKeyUpOriginal(...)100%210%
OnKeyUpModified(...)100%210%
ChangeTheme()0%2040%

File(s)

/home/runner/work/Utility-Blazor/Utility-Blazor/src/Utility/Components/MonacoDiffEditor/MonacoDiffEditor.razor

#LineLine coverage
 1<div class="container">
 2
 3    <div class="row">
 4        <div class="col">
 5            <div style="margin:10px 0;">
 6                Theme:
 7                <select id="theme" @onchange="ChangeTheme">
 8                    <option value="vs">Visual Studio</option>
 9                    <option value="vs-dark">Visual Studio Dark</option>
 10                    <option value="hc-black">High Contrast Black</option>
 11                </select>
 12            </div>
 13        </div>
 14    </div>
 15
 16    <div class="row">
 17        <div class="col">
 18            <p>⚠️ <strong>WIP</strong></p>
 19        </div>
 20    </div>
 21
 22    <div class="row">
 23        <div class="col">
 24            <p><strong>Language:</strong> @Language</p>
 25        </div>
 26    </div>
 27
 28    <div class="row">
 29        <div class="col">
 30            <StandaloneDiffEditor
 31                Id="diff-editor"
 32                ConstructionOptions="DiffEditorConstructionOptions"
 33                OnKeyUpOriginal="OnKeyUpOriginal"
 34                OnKeyUpModified="OnKeyUpModified"
 035                @ref="_diffEditor"
 036            />
 037            @* OnDidInit="EditorOnDidInit" *@
 038        </div>
 039    </div>
 040</div>
 41
 42@code {
 43
 044    [Parameter] public string Language { get; set; } = "javascript";
 45
 046    [Parameter] public string Original { get; set; }
 47
 048    [Parameter] public string Modified { get; set; }
 49
 050    private StandaloneDiffEditor _diffEditor = null!;
 51
 52    private StandaloneDiffEditorConstructionOptions DiffEditorConstructionOptions(StandaloneDiffEditor editor)
 053    {
 054        return new StandaloneDiffEditorConstructionOptions
 055        {
 056            OriginalEditable = true
 057        };
 058    }
 59
 60    protected override async Task OnAfterRenderAsync(bool firstRender)
 061    {
 62        try
 063        {
 064            await _diffEditor.SetModel(new DiffEditorModel()
 065            {
 066                Original = await Global.CreateModel(Original, Language),
 067                Modified = await Global.CreateModel(Modified, Language)
 068            });
 069        }
 070        catch (JSException)
 071        {
 072        }
 073    }
 74
 75    // private async Task EditorOnDidInit()
 76    // {
 77    //
 78    // }
 79
 80    private void OnKeyUpOriginal(KeyboardEvent keyboardEvent)
 081    {
 082        Console.WriteLine("OnKeyUpOriginal : " + keyboardEvent.Code);
 083    }
 84
 85    private void OnKeyUpModified(KeyboardEvent keyboardEvent)
 086    {
 087        Console.WriteLine("OnKeyUpModified : " + keyboardEvent.Code);
 088    }
 89
 90    private async Task ChangeTheme(ChangeEventArgs e)
 091    {
 092        Console.WriteLine($"setting theme to: {e.Value?.ToString()}");
 093        await Global.SetTheme(e.Value?.ToString());
 094    }
 95}