@using DevExpress.Blazor
@if (ShowInfoPanel)
{
@GridContent
@if (ChildContent != null)
{
@ChildContent
}
else
{
}
}
else
{
@GridContent
}
@code {
private IInfoPanelBase? _infoPanelInstance;
///
/// The grid content to display in the left pane
///
[Parameter]
public RenderFragment? GridContent { get; set; }
///
/// InfoPanel content (e.g., GridShippingDocumentInfoPanel) to display in the right pane.
/// If not set, the default MgGridInfoPanel is used.
///
[Parameter]
public RenderFragment? ChildContent { get; set; }
///
/// Initial size of the InfoPanel pane. Default is "400px".
///
[Parameter]
public string InfoPanelSize { get; set; } = "400px";
///
/// Whether to show the InfoPanel. Default is true.
///
[Parameter]
public bool ShowInfoPanel { get; set; } = true;
///
/// Gets or sets the InfoPanel instance for grid-InfoPanel communication
///
public IInfoPanelBase? InfoPanelInstance
{
get => _infoPanelInstance;
set => _infoPanelInstance = value;
}
///
/// Registers an InfoPanel instance (called by child InfoPanel components)
///
public void RegisterInfoPanel(IInfoPanelBase infoPanel)
{
_infoPanelInstance = infoPanel;
}
}