MokaJsonNode rows. Uses Blazor's built-in Virtualize component for performance." /> MokaJsonNode rows. Uses Blazor's built-in Virtualize component for performance." /> MokaJsonNode rows. Uses Blazor's built-in Virtualize component for performance." />
Class Sealed
public sealed class MokaJsonTreeViewport : ComponentBase

Namespace: Moka.Blazor.Json.Components

Virtualized scrolling container that renders MokaJsonNode rows. Uses Blazor's built-in Virtualize component for performance.

Inheritance

Inherits from: ComponentBase

Properties

NameDescription
EditState Active inline edit state, if any.
Nodes The flattened list of nodes to render.
OnContextMenu Callback when the context menu is requested on a node.
OnDoubleClick Callback when a node is double-clicked.
OnEditCancel Callback when an inline edit is cancelled.
OnEditCommit Callback when an inline edit is committed.
OnSelect Callback when a node is clicked (selected).
OnToggle Callback when a node's expand/collapse toggle is clicked.
ReadOnly Whether the viewer is in read-only mode.
SelectedPath The currently selected node path.
ShowChildCount Whether to show child count on collapsed containers.
ShowLineNumbers Whether to show line numbers in the gutter.
ToggleSize Size of expand/collapse toggle indicators.
ToggleStyle Style of expand/collapse toggle indicators.

EditState

InlineEditState? MokaJsonTreeViewport.EditState { get; set; }

Active inline edit state, if any.

Nodes

List<FlattenedJsonNode>? MokaJsonTreeViewport.Nodes { get; set; }

The flattened list of nodes to render.

OnContextMenu

EventCallback<(string Path, double ClientX, double ClientY)> MokaJsonTreeViewport.OnContextMenu { get; set; }

Callback when the context menu is requested on a node.

OnDoubleClick

EventCallback<string> MokaJsonTreeViewport.OnDoubleClick { get; set; }

Callback when a node is double-clicked.

OnEditCancel

EventCallback MokaJsonTreeViewport.OnEditCancel { get; set; }

Callback when an inline edit is cancelled.

OnEditCommit

EventCallback<InlineEditResult> MokaJsonTreeViewport.OnEditCommit { get; set; }

Callback when an inline edit is committed.

OnSelect

EventCallback<string> MokaJsonTreeViewport.OnSelect { get; set; }

Callback when a node is clicked (selected).

OnToggle

EventCallback<string> MokaJsonTreeViewport.OnToggle { get; set; }

Callback when a node's expand/collapse toggle is clicked.

ReadOnly

bool MokaJsonTreeViewport.ReadOnly { get; set; }

Whether the viewer is in read-only mode.

SelectedPath

string? MokaJsonTreeViewport.SelectedPath { get; set; }

The currently selected node path.

ShowChildCount

bool MokaJsonTreeViewport.ShowChildCount { get; set; }

Whether to show child count on collapsed containers.

ShowLineNumbers

bool MokaJsonTreeViewport.ShowLineNumbers { get; set; }

Whether to show line numbers in the gutter.

ToggleSize

MokaJsonToggleSize MokaJsonTreeViewport.ToggleSize { get; set; }

Size of expand/collapse toggle indicators.

ToggleStyle

MokaJsonToggleStyle MokaJsonTreeViewport.ToggleStyle { get; set; }

Style of expand/collapse toggle indicators.

Type Relationships
classDiagram
                    style MokaJsonTreeViewport fill:#f9f,stroke:#333,stroke-width:2px
                    MokaJsonTreeViewport --|> ComponentBase : inherits
                
View Source
/// <summary>
///     Virtualized scrolling container that renders <see cref = "MokaJsonNode"/> rows.
///     Uses Blazor's built-in <c>Virtualize</c> component for performance.
/// </summary>
public sealed partial class MokaJsonTreeViewport : ComponentBase
{
    /// <summary>
    ///     The flattened list of nodes to render.
    /// </summary>
    [Parameter]
    public List<FlattenedJsonNode>? Nodes { get; set; }

    /// <summary>
    ///     The currently selected node path.
    /// </summary>
    [Parameter]
    public string? SelectedPath { get; set; }

    /// <summary>
    ///     Callback when a node's expand/collapse toggle is clicked.
    /// </summary>
    [Parameter]
    public EventCallback<string> OnToggle { get; set; }

    /// <summary>
    ///     Callback when a node is clicked (selected).
    /// </summary>
    [Parameter]
    public EventCallback<string> OnSelect { get; set; }

    /// <summary>
    ///     Callback when the context menu is requested on a node.
    /// </summary>
    [Parameter]
    public EventCallback<(string Path, double ClientX, double ClientY)> OnContextMenu { get; set; }

    /// <summary>
    ///     Callback when a node is double-clicked.
    /// </summary>
    [Parameter]
    public EventCallback<string> OnDoubleClick { get; set; }

    /// <summary>
    ///     Whether to show line numbers in the gutter.
    /// </summary>
    [Parameter]
    public bool ShowLineNumbers { get; set; }

    /// <summary>
    ///     Whether to show child count on collapsed containers.
    /// </summary>
    [Parameter]
    public bool ShowChildCount { get; set; } = true;

    /// <summary>
    ///     Style of expand/collapse toggle indicators.
    /// </summary>
    [Parameter]
    public MokaJsonToggleStyle ToggleStyle { get; set; }

    /// <summary>
    ///     Size of expand/collapse toggle indicators.
    /// </summary>
    [Parameter]
    public MokaJsonToggleSize ToggleSize { get; set; }

    /// <summary>
    ///     Active inline edit state, if any.
    /// </summary>
    [Parameter]
    public InlineEditState? EditState { get; set; }

    /// <summary>
    ///     Callback when an inline edit is committed.
    /// </summary>
    [Parameter]
    public EventCallback<InlineEditResult> OnEditCommit { get; set; }

    /// <summary>
    ///     Callback when an inline edit is cancelled.
    /// </summary>
    [Parameter]
    public EventCallback OnEditCancel { get; set; }

    /// <summary>
    ///     Whether the viewer is in read-only mode.
    /// </summary>
    [Parameter]
    public bool ReadOnly { get; set; }
    private string ViewportId { get; } = $"moka-viewport-{Guid.NewGuid():N}";
}
Was this page helpful?