Skip to content

Commit 8258db1

Browse files
Damien BraillardDamienBraillard
authored andcommitted
fix: syntax highlighting lost when toggling Editable on MudCodeViewer
When the `Editable` parameter changes, syntax highlighting is lost until the text is modified. This happens because no parameter scope is registered for `Editable`, so `ParameterChanged` is never invoked on change. As a result, the `MudCode.highlight` JS function isn't called after the DOM updates, leaving the code unhighlighted. I ran into this in my project; it's also reported in #628. The fix registers `Editable` in the parameter scope, the same way as `Code`, `ShowLineNumbers`, etc. This ensures `ParameterChanged` fires when `Editable` changes, triggering `MudCode.highlight` to re-highlight the code after the DOM update.
1 parent 6051e0e commit 8258db1

1 file changed

Lines changed: 4 additions & 0 deletions

File tree

src/CodeBeam.MudBlazor.Extensions.Code/Components/MudCodeViewer.razor.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ public partial class MudCodeViewer : MudComponentBase
2323
private readonly ParameterState<string?> _code;
2424
private readonly ParameterState<bool> _showLineNumbers;
2525
private readonly ParameterState<bool> _wrap;
26+
private readonly ParameterState<bool> _editable;
2627
private readonly ParameterState<bool> _header;
2728
private readonly ParameterState<CodeLanguage> _language;
2829

@@ -42,6 +43,9 @@ public MudCodeViewer()
4243
_wrap = registerScope.RegisterParameter<bool>(nameof(Wrap))
4344
.WithParameter(() => Wrap)
4445
.WithChangeHandler(ParameterChanged);
46+
_editable = registerScope.RegisterParameter<bool>(nameof(Editable))
47+
.WithParameter(() => Editable)
48+
.WithChangeHandler(ParameterChanged);
4549
_header = registerScope.RegisterParameter<bool>(nameof(ShowHeader))
4650
.WithParameter(() => ShowHeader)
4751
.WithChangeHandler(ParameterChanged);

0 commit comments

Comments
 (0)