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

NameDescription
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
}
Was this page helpful?