
@switch (CurrentWebReport.Mode)
{
    case WebReportMode.Designer:
        <IFrameDesigner WebReport="CurrentWebReport" />
        break;

    case WebReportMode.Preview:
    case WebReportMode.Dialog:
        <WebReportPreview UserWebReport="CurrentWebReport" />
        break;
}

@code {

    [Parameter]
    public WebReport WebReport { get; set; }

    private WebReport CurrentWebReport { get; set; }

    internal IList<WebReport> WebReportsCache { get; }

    protected override void OnParametersSet()
    {
        base.OnParametersSet();

        if (WebReport != null)
        {
            if (!WebReportsCache.Contains(WebReport))
            {
                //WebReportsCache.Add(WebReport);
            }

            //CurrentWebReport?.Dispose();
            CurrentWebReport = WebReport;
        }
    }

    public WebReportContainer()
    {
        WebReportsCache = new List<WebReport>();
    }
}
