Example #1
0
        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);
        }
Example #2
0
        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 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 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>();
        }