コード例 #1
0
ファイル: CGrid.cs プロジェクト: tforsberg/Grid.Blazor
        public CGrid(Func <QueryDictionary <StringValues>, ItemsDTO <T> > dataService,
                     QueryDictionary <StringValues> query, bool renderOnlyRows,
                     Action <IGridColumnCollection <T> > columns = null, CultureInfo cultureInfo = null)
        {
            _dataService = dataService;

            Items = new List <T>(); //response.Items;

            Url    = null;
            _query = query;

            //set up sort settings:
            _settings = new QueryStringGridSettingsProvider(_query);
            Sanitizer = new Sanitizer();
            if (cultureInfo != null)
            {
                Strings.CultureInfo = cultureInfo;
            }
            EmptyGridText = Strings.DefaultGridEmptyText;
            Language      = Strings.Lang;

            _annotations = new GridAnnotationsProvider();

            //Set up column collection:
            _columnBuilder     = new DefaultColumnBuilder <T>(this, _annotations);
            _columnsCollection = new GridColumnCollection <T>(this, _columnBuilder, _settings.SortSettings);
            ComponentOptions   = new GridOptions();

            ApplyGridSettings();

            Pager = new GridPager(query);

            ComponentOptions.RenderRowsOnly = renderOnlyRows;
            columns?.Invoke(Columns);
        }
コード例 #2
0
ファイル: SGrid.cs プロジェクト: ravselj/Grid.Blazor
        public SGrid(IEnumerable <T> items, IQueryCollection query)
            : base(items)
        {
            #region init default properties

            Query = QueryDictionary <StringValues> .Convert(query);

            //set up sort settings:
            _settings = new QueryStringGridSettingsProvider(Query);

            Sanitizer     = new Sanitizer();
            EmptyGridText = Strings.DefaultGridEmptyText;
            Language      = Strings.Lang;

            _currentSortItemsProcessor   = new SortGridItemsProcessor <T>(this, _settings.SortSettings);
            _currentFilterItemsProcessor = new FilterGridItemsProcessor <T>(this, _settings.FilterSettings);
            _currentSearchItemsProcessor = new SearchGridItemsProcessor <T>(this, _settings.SearchSettings);
            _currentTotalsItemsProcessor = new TotalsGridItemsProcessor <T>(this);
            AddItemsPreProcessor(_currentFilterItemsProcessor);
            AddItemsPreProcessor(_currentSearchItemsProcessor);
            InsertItemsProcessor(0, _currentSortItemsProcessor);
            SetTotalsProcessor(_currentTotalsItemsProcessor);

            _annotations = new GridAnnotationsProvider();

            #endregion init default properties

            //Set up column collection:
            _columnBuilder     = new DefaultColumnBuilder <T>(this, _annotations);
            _columnsCollection = new GridColumnCollection <T>(this, _columnBuilder, _settings.SortSettings);
            RenderOptions      = new GridRenderOptions();

            ApplyGridSettings();
        }
コード例 #3
0
ファイル: CGrid.cs プロジェクト: ravselj/Grid.Blazor
        public CGrid(string url, IQueryDictionary <StringValues> query, bool renderOnlyRows,
                     Action <IGridColumnCollection <T> > columns = null, CultureInfo cultureInfo = null)
        {
            _dataService      = null;
            _dataServiceAsync = null;

            Items          = new List <T>();
            _selectedItems = new List <object>();

            _httpClient = null;
            Url         = url;
            _query      = query as QueryDictionary <StringValues>;

            //set up sort settings:
            _settings = new QueryStringGridSettingsProvider(_query);
            Sanitizer = new Sanitizer();
            if (cultureInfo != null)
            {
                Strings.Culture = cultureInfo;
            }
            EmptyGridText = Strings.DefaultGridEmptyText;
            Language      = Strings.Lang;

            _annotations = new GridAnnotationsProvider();

            //Set up column collection:
            _columnBuilder     = new DefaultColumnBuilder <T>(this, _annotations);
            _columnsCollection = new GridColumnCollection <T>(this, _columnBuilder, _settings.SortSettings);
            ComponentOptions   = new GridOptions();

            ApplyGridSettings();

            Pager = new GridPager(query);

            ComponentOptions.RenderRowsOnly = renderOnlyRows;
            columns?.Invoke(Columns);

            Mode          = GridMode.Grid;
            CreateEnabled = false;
            ReadEnabled   = false;
            UpdateEnabled = false;
            DeleteEnabled = false;
        }
コード例 #4
0
ファイル: SGridCore.cs プロジェクト: gustavnavar/Grid.Blazor
        public SGridCore(IEnumerable <T> items, QueryDictionary <StringValues> query, IColumnBuilder <T> columnBuilder = null)
            : this()
        {
            BeforeItems = items.AsQueryable();

            #region init default properties

            Query = query;

            //set up sort settings:
            _settings = new QueryStringGridSettingsProvider(Query);

            Sanitizer     = new Sanitizer();
            EmptyGridText = Strings.DefaultGridEmptyText;
            Language      = Strings.Lang;

            _currentSortItemsProcessor   = new SortGridItemsProcessor <T>(this, _settings.SortSettings);
            _currentFilterItemsProcessor = new FilterGridItemsProcessor <T>(this, _settings.FilterSettings);
            _currentSearchItemsProcessor = new SearchGridItemsProcessor <T>(this, _settings.SearchSettings);
            _currentTotalsItemsProcessor = new TotalsGridItemsProcessor <T>(this);
            AddItemsPreProcessor(_currentFilterItemsProcessor);
            AddItemsPreProcessor(_currentSearchItemsProcessor);
            InsertItemsProcessor(0, _currentSortItemsProcessor);
            SetTotalsProcessor(_currentTotalsItemsProcessor);

            #endregion init default properties

            _annotations = new GridCoreAnnotationsProvider();

            //Set up column collection:
            if (columnBuilder == null)
            {
                _columnBuilder = new DefaultColumnCoreBuilder <T>(this, _annotations);
            }
            else
            {
                _columnBuilder = columnBuilder;
            }
            _columnsCollection = new GridColumnCollection <T>(this, _columnBuilder, _settings.SortSettings);
            RenderOptions      = new GridRenderOptions();

            ApplyGridSettings();
        }
コード例 #5
0
 public DefaultColumnCoreBuilder(ISGrid grid, IGridAnnotationsProvider annotations)
 {
     _grid        = grid;
     _annotations = annotations;
 }
コード例 #6
0
        private CGrid(HttpClient httpClient, string url,
                      Func <QueryDictionary <StringValues>, ItemsDTO <T> > dataService,
                      Func <QueryDictionary <StringValues>, Task <ItemsDTO <T> > > dataServiceAsync,
                      IQueryDictionary <StringValues> query, bool renderOnlyRows,
                      Action <IGridColumnCollection <T> > columns = null, CultureInfo cultureInfo = null,
                      IColumnBuilder <T> columnBuilder            = null)
        {
            _dataServiceAsync = dataServiceAsync;
            _dataService      = dataService;
            _selectedItems    = new List <object>();
            Items             = new List <T>(); //response.Items;

            Url         = url;
            _httpClient = httpClient;
            _query      = query as QueryDictionary <StringValues>;

            //set up sort settings:
            _settings = new QueryStringGridSettingsProvider(_query);
            Sanitizer = new Sanitizer();
            if (cultureInfo != null)
            {
                CultureInfo.CurrentCulture = cultureInfo;
            }
            EmptyGridText = Strings.DefaultGridEmptyText;
            Language      = Strings.Lang;

            _currentPagerODataProcessor  = new PagerGridODataProcessor <T>(this);
            _currentSortODataProcessor   = new SortGridODataProcessor <T>(this, _settings.SortSettings);
            _currentFilterODataProcessor = new FilterGridODataProcessor <T>(this, _settings.FilterSettings,
                                                                            _settings.SearchSettings);
            _currentSearchODataProcessor = new SearchGridODataProcessor <T>(this, _settings.SearchSettings);
            _currentExpandODataProcessor = new ExpandGridODataProcessor <T>(this);

            _annotations = new GridAnnotationsProvider();

            //Set up column collection:
            if (columnBuilder == null)
            {
                _columnBuilder = new DefaultColumnBuilder <T>(this, _annotations);
            }
            else
            {
                _columnBuilder = columnBuilder;
            }
            _columnsCollection = new GridColumnCollection <T>(this, _columnBuilder, _settings.SortSettings);
            ComponentOptions   = new GridOptions();

            ApplyGridSettings();

            Pager = new GridPager(query);

            ComponentOptions.RenderRowsOnly = renderOnlyRows;
            columns?.Invoke(Columns);

            Mode          = GridMode.Grid;
            CreateEnabled = false;
            ReadEnabled   = false;
            UpdateEnabled = false;
            DeleteEnabled = false;

            ButtonComponents = new QueryDictionary <(string Label, Nullable <MarkupString> Content, Type ComponentType,
                                                     IList <Action <object> > Actions, IList <Func <object, Task> > Functions, object Object)>();
        }
コード例 #7
0
 public DefaultColumnBuilder(CGrid <T> grid, IGridAnnotationsProvider annotations)
 {
     _grid        = grid;
     _annotations = annotations;
 }
コード例 #8
0
 public DefaultColumnBuilder(ISGrid grid, IGridAnnotationsProvider annotations) : base(grid, annotations)
 {
 }
コード例 #9
0
 public void Init()
 {
     _provider = new GridAnnotationsProvider();
 }