@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; } }