private static object CreateGridRenderer(IServiceProvider provider) { var gridRowRenderer = new GridRowRenderer() .AddRenderer(new GridCellMasterActionRenderer()) .AddRenderer(new GridCellRenderer(provider.GetRequiredService <EditInputRendererTree>())) .AddRenderer(new GridTabControlRenderer(provider.GetRequiredService <ITableDataAdapterProvider>()), RendererType.AfterTag) .AddRenderer(new GridActionButtonsRenderer(provider.GetRequiredService <FlexGridInterop>())); var gridBodySimpleRenderer = new GridBodySimpleRenderer(provider.GetRequiredService <ILogger <GridBodySimpleRenderer> >()) .AddRenderer(gridRowRenderer); var gridBodyGroupedRenderer = new GridBodyGroupedRenderer( provider.GetRequiredService <ITableDataAdapterProvider>(), provider.GetRequiredService <ILogger <GridBodyGroupedRenderer> >()) .AddRenderer(gridRowRenderer); var gridBodyRenderer = new GridBodyRenderer(gridBodySimpleRenderer, gridBodyGroupedRenderer); var gridRenderer = new GridRenderer(provider.GetRequiredService <ILogger <GridRenderer> >()) .AddRenderer(new GridHeaderRenderer(provider.GetRequiredService <FlexGridInterop>())) .AddRenderer(new GridEmptyItemsRenderer()) .AddRenderer(gridBodyRenderer) .AddRenderer(new GridFooterRenderer(), RendererType.AfterTag) .AddRenderer(new DeleteModalRenderer(provider.GetRequiredService <FlexGridInterop>()), RendererType.AfterTag); return(gridRenderer); }
private static void RegisterGridRendererTree(IServiceCollection services) { services.AddSingleton(typeof(IGridRenderer), provider => { var gridRowRenderer = new GridRowRenderer(); gridRowRenderer.AddRenderer(new GridCellMasterActionRenderer()); gridRowRenderer.AddRenderer(new GridCellRenderer()); gridRowRenderer.AddRenderer(new GridTabControlRenderer(provider.GetRequiredService <ITableDataAdapterProvider>()), RendererType.AfterTag); var gridBodyRenderer = new GridBodyRenderer(provider.GetRequiredService <ILogger <GridBodyRenderer> >()); gridBodyRenderer.AddRenderer(gridRowRenderer); var gridRenderer = new GridRenderer(provider.GetRequiredService <ILogger <GridRenderer> >()); gridRenderer.AddRenderer(new GridMesurablePartRenderer( new GridHeaderRenderer(provider.GetRequiredService <ILogger <GridHeaderRenderer> >()), provider.GetRequiredService <ILogger <GridMesurablePartRenderer> >()) ); gridRenderer.AddRenderer(new GridLoadingRenderer(), RendererType.BeforeTag); gridRenderer.AddRenderer(new GridMesurablePartRenderer(gridBodyRenderer, provider.GetRequiredService <ILogger <GridMesurablePartRenderer> >())); gridRenderer.AddRenderer(new GridPaginationRenderer(), RendererType.AfterTag); return(gridRenderer); }); }
private static void RegisterGridRendererTree(IServiceCollection services) { services.AddSingleton(typeof(BlazorComponentColumnCollection <>)); services.AddSingleton <GridContextsFactory>(); services.AddSingleton <EditInputRendererTree>(); services.AddSingleton(typeof(IGridRenderer), provider => { var measurableLogger = provider.GetRequiredService <ILogger <GridMesurablePartRenderer> >(); var gridRowRenderer = new GridRowRenderer() .AddRenderer(new GridCellMasterActionRenderer()) .AddRenderer(new GridCellRenderer(provider.GetRequiredService <EditInputRendererTree>())) .AddRenderer(new GridTabControlRenderer(provider.GetRequiredService <ITableDataAdapterProvider>()), RendererType.AfterTag) .AddRenderer(new GridActionButtonsRenderer()); var gridBodyRenderer = new GridBodyRenderer(provider.GetRequiredService <ILogger <GridBodyRenderer> >()) .AddRenderer(gridRowRenderer); var gridRenderer = new GridMesurablePartRenderer( new GridRenderer(provider.GetRequiredService <ILogger <GridRenderer> >()), measurableLogger) .AddRenderer(new GridLoadingRenderer(), RendererType.BeforeTag) .AddRenderer(new GridMesurablePartRenderer(new GridHeaderRenderer(), measurableLogger)) .AddRenderer(new GridMesurablePartRenderer(gridBodyRenderer, measurableLogger)) .AddRenderer(new GridPaginationRenderer(), RendererType.AfterTag); return(gridRenderer); }); }
private static void RegisterRendererTreeBuilders(IServiceCollection services) { services.AddSingleton(typeof(CreateItemFormRenderer <>)); services.AddSingleton(typeof(BlazorComponentColumnCollection <>)); services.AddSingleton <GridContextsFactory>(); services.AddSingleton <EditInputRendererTree>(); services.AddSingleton(typeof(IGridRendererTreeBuilder), provider => { var measurableLogger = provider.GetRequiredService <ILogger <GridMesurablePartRenderer> >(); var gridRowRenderer = new GridRowRenderer() .AddRenderer(new GridCellMasterActionRenderer()) .AddRenderer(new GridCellRenderer(provider.GetRequiredService <EditInputRendererTree>())) .AddRenderer(new GridTabControlRenderer(provider.GetRequiredService <ITableDataAdapterProvider>()), RendererType.AfterTag) .AddRenderer(new GridActionButtonsRenderer()); var gridGroupRowRenderer = new GridGroupRowRenderer() .AddRenderer(gridRowRenderer); var gridBodyRenderer = new GridBodyRenderer(provider.GetRequiredService <ILogger <GridBodyRenderer> >()) .AddRenderer(gridRowRenderer) .AddRenderer(gridGroupRowRenderer); var gridRenderer = new GridMesurablePartRenderer( new GridRenderer(provider.GetRequiredService <ILogger <GridRenderer> >()), measurableLogger) .AddRenderer(new GridLoadingRenderer(), RendererType.BeforeTag) .AddRenderer(new GridMesurablePartRenderer(new GridHeaderRenderer(provider.GetRequiredService <FlexGridInterop>()), measurableLogger)) .AddRenderer(new GridMesurablePartRenderer(gridBodyRenderer, measurableLogger)) .AddRenderer(new GridFooterRenderer(), RendererType.AfterTag); return(gridRenderer); }); services.AddSingleton <IFormInputRendererBuilder, TextInputBuilder>(); services.AddSingleton <IFormInputRendererBuilder, NumberInputBuilder>(); services.AddSingleton <IFormInputRendererBuilder, DateInputBuilder>(); services.AddSingleton <IFormInputRendererBuilder, SelectInputBuilder>(); services.AddSingleton <IFormInputRendererTreeProvider, FormInputsRendererTreeProvider>(); }
public void GridBodyRendererShouldRenderTBodyTag() { //Arrange var modelBuilder = new ModelBuilder(); modelBuilder.Entity <WeatherForecast>() .Property(p => p.Date) .HasOrder(2) .HasValueFormatter(d => d.ToShortDateString()); modelBuilder.Entity <WeatherForecast>() .Property(p => p.Summary) .HasOrder(1) .HasValueFormatter(s => $"{s}!"); var configurationProvider = new GridConfigurationProvider(modelBuilder.Model); var rendererContextFactory = new GridRendererContextFactory(configurationProvider); var source = Enumerable.Range(1, 20).Select(index => new WeatherForecast { Date = DateTime.Now.AddDays(index), TemperatureC = 120, Summary = "test" }).AsQueryable(); var tableDataSet = new TableDataSet <WeatherForecast>(source); tableDataSet.GoToPage(0); var rendererTreeBuilder = new RenderTreeBuilder(new TestRenderer()); var rendererContext = rendererContextFactory.CreateRendererContext(tableDataSet, rendererTreeBuilder); var gridBodyRenderer = new GridBodyRenderer(NullLogger <GridBodyRenderer> .Instance); //Act gridBodyRenderer.Render(rendererContext); }