public sealed class MokaJsonTreeViewport : ComponentBase
Namespace: Moka.Blazor.Json.Components
Virtualize component for performance.Inheritance
Inherits from: ComponentBase
Properties
| Name | Description |
|---|---|
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}";
}