Class
Sealed
public sealed class MokaJsonSettingsPanel : ComponentBase
Namespace: Moka.Blazor.Json.Components
Dropdown settings panel for the JSON viewer. Allows runtime configuration of display, layout, behavior, and search options.
Inheritance
Inherits from: ComponentBase
Properties
| Name | Description |
|---|---|
CollapseMode |
Collapse mode. |
CollapseModeChanged |
|
IsVisible |
Whether the panel is visible. |
Left |
X position (pixels from left). |
MaxDepthExpanded |
Max depth to expand. |
MaxDepthExpandedChanged |
|
OnDismiss |
Callback to dismiss/close the panel. |
ReadOnly |
Whether the viewer is read-only. |
ReadOnlyChanged |
|
SearchCaseSensitive |
Default case-sensitive state for search. |
SearchCaseSensitiveChanged |
|
SearchUseRegex |
Default regex mode for search. |
SearchUseRegexChanged |
|
ShowBottomBar |
Whether the bottom bar is shown. |
ShowBottomBarChanged |
|
ShowBreadcrumb |
Whether the breadcrumb is shown. |
ShowBreadcrumbChanged |
|
ShowChildCount |
Whether child count is shown on collapsed containers. |
ShowChildCountChanged |
|
ShowLineNumbers |
Whether line numbers are shown. |
ShowLineNumbersChanged |
|
Theme |
Current theme. |
ThemeChanged |
|
ToggleSize |
Current toggle size. |
ToggleSizeChanged |
|
ToggleStyle |
Current toggle style. |
ToggleStyleChanged |
|
ToolbarMode |
Current toolbar display mode. |
ToolbarModeChanged |
|
Top |
Y position (pixels from top). |
WordWrap |
Whether word wrap is enabled. |
WordWrapChanged |
CollapseMode
MokaJsonCollapseMode MokaJsonSettingsPanel.CollapseMode { get; set; }
Collapse mode.
IsVisible
bool MokaJsonSettingsPanel.IsVisible { get; set; }
Whether the panel is visible.
Left
double MokaJsonSettingsPanel.Left { get; set; }
X position (pixels from left).
MaxDepthExpanded
int MokaJsonSettingsPanel.MaxDepthExpanded { get; set; }
Max depth to expand.
OnDismiss
EventCallback MokaJsonSettingsPanel.OnDismiss { get; set; }
Callback to dismiss/close the panel.
ReadOnly
bool MokaJsonSettingsPanel.ReadOnly { get; set; }
Whether the viewer is read-only.
SearchCaseSensitive
bool MokaJsonSettingsPanel.SearchCaseSensitive { get; set; }
Default case-sensitive state for search.
SearchUseRegex
bool MokaJsonSettingsPanel.SearchUseRegex { get; set; }
Default regex mode for search.
ShowBottomBar
bool MokaJsonSettingsPanel.ShowBottomBar { get; set; }
Whether the bottom bar is shown.
ShowBreadcrumb
bool MokaJsonSettingsPanel.ShowBreadcrumb { get; set; }
Whether the breadcrumb is shown.
ShowChildCount
bool MokaJsonSettingsPanel.ShowChildCount { get; set; }
Whether child count is shown on collapsed containers.
ShowLineNumbers
bool MokaJsonSettingsPanel.ShowLineNumbers { get; set; }
Whether line numbers are shown.
Theme
MokaJsonTheme MokaJsonSettingsPanel.Theme { get; set; }
Current theme.
ToggleSize
MokaJsonToggleSize MokaJsonSettingsPanel.ToggleSize { get; set; }
Current toggle size.
ToggleStyle
MokaJsonToggleStyle MokaJsonSettingsPanel.ToggleStyle { get; set; }
Current toggle style.
ToolbarMode
MokaJsonToolbarMode MokaJsonSettingsPanel.ToolbarMode { get; set; }
Current toolbar display mode.
Top
double MokaJsonSettingsPanel.Top { get; set; }
Y position (pixels from top).
WordWrap
bool MokaJsonSettingsPanel.WordWrap { get; set; }
Whether word wrap is enabled.
Type Relationships
classDiagram
style MokaJsonSettingsPanel fill:#f9f,stroke:#333,stroke-width:2px
MokaJsonSettingsPanel --|> ComponentBase : inherits
View Source
/// <summary>
/// Dropdown settings panel for the JSON viewer.
/// Allows runtime configuration of display, layout, behavior, and search options.
/// </summary>
public sealed partial class MokaJsonSettingsPanel : ComponentBase
{
private readonly string _id = Guid.NewGuid().ToString("N")[..8];
#region Visibility & Position
/// <summary>Whether the panel is visible.</summary>
[Parameter]
public bool IsVisible { get; set; }
/// <summary>X position (pixels from left).</summary>
[Parameter]
public double Left { get; set; }
/// <summary>Y position (pixels from top).</summary>
[Parameter]
public double Top { get; set; }
/// <summary>Callback to dismiss/close the panel.</summary>
[Parameter]
public EventCallback OnDismiss { get; set; }
private string PanelStyle => $"left:{Left}px;top:{Top}px;";
#endregion
#region Display Settings
/// <summary>Current theme.</summary>
[Parameter]
public MokaJsonTheme Theme { get; set; }
[Parameter]
public EventCallback<MokaJsonTheme> ThemeChanged { get; set; }
/// <summary>Current toolbar display mode.</summary>
[Parameter]
public MokaJsonToolbarMode ToolbarMode { get; set; }
[Parameter]
public EventCallback<MokaJsonToolbarMode> ToolbarModeChanged { get; set; }
/// <summary>Current toggle style.</summary>
[Parameter]
public MokaJsonToggleStyle ToggleStyle { get; set; }
[Parameter]
public EventCallback<MokaJsonToggleStyle> ToggleStyleChanged { get; set; }
/// <summary>Current toggle size.</summary>
[Parameter]
public MokaJsonToggleSize ToggleSize { get; set; }
[Parameter]
public EventCallback<MokaJsonToggleSize> ToggleSizeChanged { get; set; }
#endregion
#region Layout Settings
/// <summary>Whether line numbers are shown.</summary>
[Parameter]
public bool ShowLineNumbers { get; set; }
[Parameter]
public EventCallback<bool> ShowLineNumbersChanged { get; set; }
/// <summary>Whether word wrap is enabled.</summary>
[Parameter]
public bool WordWrap { get; set; }
[Parameter]
public EventCallback<bool> WordWrapChanged { get; set; }
/// <summary>Whether the breadcrumb is shown.</summary>
[Parameter]
public bool ShowBreadcrumb { get; set; }
[Parameter]
public EventCallback<bool> ShowBreadcrumbChanged { get; set; }
/// <summary>Whether the bottom bar is shown.</summary>
[Parameter]
public bool ShowBottomBar { get; set; }
[Parameter]
public EventCallback<bool> ShowBottomBarChanged { get; set; }
/// <summary>Whether child count is shown on collapsed containers.</summary>
[Parameter]
public bool ShowChildCount { get; set; }
[Parameter]
public EventCallback<bool> ShowChildCountChanged { get; set; }
#endregion
#region Behavior Settings
/// <summary>Max depth to expand.</summary>
[Parameter]
public int MaxDepthExpanded { get; set; }
[Parameter]
public EventCallback<int> MaxDepthExpandedChanged { get; set; }
/// <summary>Collapse mode.</summary>
[Parameter]
public MokaJsonCollapseMode CollapseMode { get; set; }
[Parameter]
public EventCallback<MokaJsonCollapseMode> CollapseModeChanged { get; set; }
/// <summary>Whether the viewer is read-only.</summary>
[Parameter]
public bool ReadOnly { get; set; }
[Parameter]
public EventCallback<bool> ReadOnlyChanged { get; set; }
#endregion
#region Search Settings
/// <summary>Default case-sensitive state for search.</summary>
[Parameter]
public bool SearchCaseSensitive { get; set; }
[Parameter]
public EventCallback<bool> SearchCaseSensitiveChanged { get; set; }
/// <summary>Default regex mode for search.</summary>
[Parameter]
public bool SearchUseRegex { get; set; }
[Parameter]
public EventCallback<bool> SearchUseRegexChanged { get; set; }
#endregion
#region Helpers
private static string RadioClass(bool selected) => selected ? "moka-json-settings-radio-opt selected" : "moka-json-settings-radio-opt";
private Task HandleToggleSizeChange(ChangeEventArgs e) => Enum.TryParse((string? )e.Value, out MokaJsonToggleSize size) ? ToggleSizeChanged.InvokeAsync(size) : Task.CompletedTask;
private Task HandleDepthChange(ChangeEventArgs e) => int.TryParse((string? )e.Value, out int depth) && depth >= 0 ? MaxDepthExpandedChanged.InvokeAsync(depth) : Task.CompletedTask;
#endregion
}