private IGridEditFormBuilder CreateEditFormBuilder(GridRenderingData renderingData, GridItem item, Func <IGridActionCommand, IEnumerable <IGridButtonBuilder> > buttons, Func <object, string> action) { var commands = renderingData.Columns.OfType <IGridActionColumn>().SelectMany(column => column.Commands); var editCommand = commands.OfType <GridEditActionCommand>().FirstOrDefault() ?? new GridEditActionCommand(); var buttonBuilders = buttons(editCommand).Select(builder => { Func <IHtmlNode> result = () => builder.Create(item.DataItem); return(result); }); var formHtmlAttributes = CreateFormAttributes(renderingData.FormId, action(item.DataItem)); //formHtmlAttributes.Merge(renderingData.EditFormHtmlAttributes); return(new GridEditFormBuilder(new GridFormBuilder(formHtmlAttributes), () => renderingData.HtmlHelper.EditorForModel(item.DataItem, renderingData.EditTemplateName, renderingData.Columns.OfType <IGridForeignKeyColumn>().Select(c => c.SerializeSelectList), renderingData.AdditionalViewData ), buttonBuilders)); }
protected virtual IGridRowBuilder CreateGroupFooterRowBuilder(GridRenderingData renderingData, GridItem item) { var functionsGroup = item.DataItem as AggregateFunctionsGroup; var itemAggregateResult = functionsGroup.GetAggregateResults(renderingData.Aggregates); return(new GridGroupFooterRowBuilder(renderingData.Columns.Select(column => cellBuilderFactory.CreateGroupFooterCellBuilder(column, itemAggregateResult)))); }
public IGridTableBuilder CreateDecoratedTableBuilder(IEnumerable<GridColData> colsData, GridRenderingData renderingData) { var tableBuilder = CreateTableBuilder(colsData); tableBuilder.Decorators.Add(new GridTableBuilderGroupColDecorator(renderingData.GroupMembers.Count())); tableBuilder.Decorators.Add(new GridTableBuilderDetailViewColDecorator(renderingData.HasDetailTemplate)); return tableBuilder; }
protected virtual IGridEditFormBuilder CreateEditFormBuilder(GridRenderingData renderingData, GridItem item) { return(CreateEditFormBuilder(renderingData, item, (command) => command.CreateEditButtons(renderingData.UrlBuilder, renderingData.HtmlHelper), renderingData.UrlBuilder.UpdateUrl )); }
protected void AppendFooter(IHtmlNode table, GridRenderingData renderingData) { if (renderingData.ShowFooter) { var tfoot = CreateFooter(renderingData); tfoot.AppendTo(table); } }
public IHtmlNode CreateFooter(GridRenderingData data) { var builder = rowBuilderFactory.CreateFooterBuilder(data); var tr = builder.CreateRow(); tr.AddClass(UIPrimitives.Grid.FooterTemplateRow); return(tr); }
public IHtmlNode CreateBody(GridRenderingData renderingData) { var enumerator = new GridDataSourceEnumerator(renderingData.DataSource, itemCreatorFactory.Create(renderingData.DataKeyStore, renderingData), renderingData.InsertRowPosition); var rowBuilders = enumerator.Select(item => rowBuilderFactory.CreateBuilder(renderingData, item)); return(CreateBody(rowBuilders)); }
public IHtmlNode CreateFooter(GridRenderingData data) { var builder = rowBuilderFactory.CreateFooterBuilder(data); var tr = builder.CreateRow(); tr.AddClass(UIPrimitives.Grid.FooterTemplateRow); return tr; }
public IHtmlNode CreateBody(GridRenderingData renderingData) { var enumerator = new GridDataSourceEnumerator(renderingData.DataSource, itemCreatorFactory.Create(renderingData.DataKeyStore, renderingData), renderingData.InsertRowPosition); var rowBuilders = enumerator.Select(item => rowBuilderFactory.CreateBuilder(renderingData, item)); return CreateBody(rowBuilders); }
protected virtual IGridRowBuilder CreateDataRowBuilder(GridRenderingData renderingData, GridItem item) { if (renderingData.RowTemplate != null) { return(new GridTemplateRowBuilder(td => renderingData.RowTemplate(item.DataItem, td), renderingData.Colspan)); } return(new GridDataRowBuilder(item.DataItem, renderingData.Columns.Select(column => cellBuilderFactory.CreateDisplayCellBuilder(column, renderingData.HtmlHelper)))); }
protected virtual IHtmlNode CreateTable(GridRenderingData renderingData) { var tableBuilder = tableBuilderFactory.CreateDecoratedTableBuilder(renderingData.Columns.Select(c => new GridColData { Width = c.Width, Hidden = c.Hidden }), renderingData); return(tableBuilder.CreateTable() .Attributes(renderingData.TableHtmlAttributes)); }
protected virtual IHtmlNode CreateContentTable(GridRenderingData renderingData) { var table = CreateTable(renderingData); var tbody = CreateBody(renderingData); tbody.AppendTo(table); return(table); }
protected override void AppendData(IHtmlNode div, GridRenderingData renderingData) { AppendHeader(div, renderingData); var content = CreateContent(renderingData); content.AppendTo(div); AppendFooter(div, renderingData); }
public IGridRowBuilder CreateBuilder(GridRenderingData renderingData, GridItem item) { var creator = BuilderRegistry[item.Type]; ExecuteRowCallback(item, renderingData.Callback); var gridRowBuilder = creator(renderingData, item); return decoratorProvider.ApplyDecorators(gridRowBuilder, item, renderingData.HasDetailTemplate); }
protected override void AppendData(IHtmlNode div, GridRenderingData renderingData) { AppendHeader(div,renderingData); var content = CreateContent(renderingData); content.AppendTo(div); AppendFooter(div, renderingData); }
public IGridRowBuilder CreateBuilder(GridRenderingData renderingData, GridItem item) { var creator = BuilderRegistry[item.Type]; ExecuteRowCallback(item, renderingData.Callback); var gridRowBuilder = creator(renderingData, item); return(decoratorProvider.ApplyDecorators(gridRowBuilder, item, renderingData.HasDetailTemplate)); }
protected virtual IHtmlNode CreateHeader(GridRenderingData renderingData) { var thead = new HtmlElement("thead").AddClass("k-grid-header"); var tr = DataSectionBuilder.CreateHeader(renderingData); tr.AppendTo(thead); return(thead); }
protected virtual IHtmlNode CreateContentTable(GridRenderingData renderingData) { var table = CreateTable(renderingData); var tbody = CreateBody(renderingData); tbody.AppendTo(table); return table; }
protected virtual IHtmlNode CreateContent(GridRenderingData renderingData) { var content = new HtmlElement("div").AddClass(UIPrimitives.Grid.ScrollableContent) .Css("height", renderingData.ScrollingHeight); var table = CreateContentTable(renderingData); table.AppendTo(content); return(content); }
protected virtual IHtmlNode CreateFooter(GridRenderingData renderingData) { var tfoot = new HtmlElement("tfoot"); tfoot.AddClass("k-grid-footer"); var tr = DataSectionBuilder.CreateFooter(renderingData); tr.AppendTo(tfoot); return(tfoot); }
protected virtual IHtmlNode CreateContent(GridRenderingData renderingData) { var content = new HtmlElement("div").AddClass(UIPrimitives.Grid.ScrollableContent) .Css("height", renderingData.ScrollingHeight); var table = CreateContentTable(renderingData); table.AppendTo(content); return content; }
public virtual IGridRowBuilder CreateHeaderBuilder(GridRenderingData renderingData) { var builder = new GridRowBuilder(renderingData.Columns.Select(cellBuilderFactory.CreateHeaderCellBuilder)); var item = new GridItem { GroupLevel = renderingData.GroupMembers.Count(), Type = GridItemType.HeaderRow }; return(decoratorProvider.ApplyDecorators(builder, item, renderingData.HasDetailTemplate)); }
public virtual IGridRowBuilder CreateHeaderBuilder(GridRenderingData renderingData) { var builder = new GridRowBuilder(renderingData.Columns.Select(cellBuilderFactory.CreateHeaderCellBuilder)); var item = new GridItem { GroupLevel = renderingData.GroupMembers.Count(), Type = GridItemType.HeaderRow }; return decoratorProvider.ApplyDecorators(builder, item, renderingData.HasDetailTemplate); }
protected virtual IGridRowBuilder CreateDetailRowBuilder(GridRenderingData renderingData, GridItem item) { return(new GridDetailRowBuilder { Colspan = (renderingData.Colspan - 1) - item.GroupLevel, DataItem = item.DataItem, Template = renderingData.DetailTemplate, Expanded = item.Expanded, IsMasterAlternate = item is GridDetailViewItem && ((item as GridDetailViewItem).Parent.State & GridItemStates.Alternating) == GridItemStates.Alternating, Html = item.DetailRowHtml, HtmlAttributes = item.DetailRowHtmlAttributes }); }
protected virtual void AppendData(IHtmlNode div, GridRenderingData renderingData) { var table = CreateTable(renderingData); table.AppendTo(div); AppendHeader(table, renderingData); AppendFooter(table, renderingData); var tbody = CreateBody(renderingData); tbody.AppendTo(table); }
protected virtual IGridRowBuilder CreateInsertRowBuilder(GridRenderingData renderingData, GridItem item) { switch (renderingData.EditMode) { //TODO: Implement InForm editing //case GridEditMode.InForm: // return CreateInFormInsertRowBuilder(renderingData, item); case GridEditMode.PopUp: return(CreatePopUpInsertRowBuilder(renderingData, item)); default: return(CreateInLineInsertRowBuilder(renderingData, item)); } }
public virtual IHtmlNode CreateGrid(IDictionary<string, object> htmlAttributes, GridFunctionalData functionalData, GridRenderingData renderingData) { var div = CreateWrapper(htmlAttributes); AppendTopToolBar(div, functionalData); AppendGroupHeader(div, functionalData); AppendData(div, renderingData); AppendBottomPager(div, functionalData); return div; }
protected override IHtmlNode CreateFooter(GridRenderingData renderingData) { var div = new HtmlElement("div").AddClass("k-grid-footer"); var wrapper = new HtmlElement("div").AddClass("k-grid-footer-wrap"); wrapper.AppendTo(div); var table = CreateTable(renderingData); table.AppendTo(wrapper); var tfoot = DataSectionBuilder.CreateFooter(renderingData); tfoot.AppendTo(table); return div; }
private IGridRowBuilder CreateInLineRowBuilder(GridRenderingData renderingData, GridItem item, Func <object, string> action, Func <IGridColumn, IGridHtmlHelper, IGridDataCellBuilder> cellBuilder) { var tableBuilder = tableBuilderFactory.CreateTableBuilder(renderingData.Columns.Select(c => new GridColData { Width = c.Width, Hidden = c.Hidden })); var cellBuilders = renderingData.Columns.Select(column => cellBuilder(column, renderingData.HtmlHelper)); var formHtmlAttributes = CreateFormAttributes(renderingData.FormId, action(item.DataItem)); //formHtmlAttributes.Merge(renderingData.EditFormHtmlAttributes); return(new GridInLineEditRowBuilder(tableBuilder, new GridFormBuilder(formHtmlAttributes), renderingData.Colspan, item.DataItem, cellBuilders)); }
protected override IHtmlNode CreateHeader(GridRenderingData renderingData) { var header = new HtmlElement("div").AddClass("k-grid-header"); var headerWrapper = new HtmlElement("div").AddClass("k-grid-header-wrap"); headerWrapper.AppendTo(header); var table = CreateTable(renderingData); table.AppendTo(headerWrapper); var thead = DataSectionBuilder.CreateHeader(renderingData); thead.AppendTo(table); return header; }
protected override IHtmlNode CreateHeader(GridRenderingData renderingData) { var header = new HtmlElement("div").AddClass("k-grid-header"); var headerWrapper = new HtmlElement("div").AddClass("k-grid-header-wrap"); headerWrapper.AppendTo(header); var table = CreateTable(renderingData); table.AppendTo(headerWrapper); var thead = DataSectionBuilder.CreateHeader(renderingData); thead.AppendTo(table); return(header); }
protected override IHtmlNode CreateFooter(GridRenderingData renderingData) { var div = new HtmlElement("div").AddClass("k-grid-footer"); var wrapper = new HtmlElement("div").AddClass("k-grid-footer-wrap"); wrapper.AppendTo(div); var table = CreateTable(renderingData); table.AppendTo(wrapper); var tfoot = DataSectionBuilder.CreateFooter(renderingData); tfoot.AppendTo(table); return(div); }
protected virtual IGridRowBuilder CreateGroupRowBuilder(GridRenderingData renderingData, GridItem item) { var groupKey = ((IGroup)item.DataItem).Key; var colspan = renderingData.Colspan - item.GroupLevel; var member = renderingData.GroupMembers.ElementAtOrDefault(item.GroupLevel); var column = renderingData.Columns.OfType <IGridBoundColumn>().FirstOrDefault(c => c.Member == member); var format = column != null && column.Format.HasValue() ? column.Format : "{0}"; var template = new HtmlTemplate <GridGroupAggregateResult> { InlineTemplate = (result) => "{0}: {1}".FormatWith(result.Title, format.FormatWith(ExtractForeignKeyText(column, result.Key))) }; var title = member.AsTitle(); if (column != null) { title = column.Title.HasValue() ? column.Title : column.Member.AsTitle(); if (column.GroupHeaderTemplate.HasValue()) { template = column.GroupHeaderTemplate; } } var functionsGroup = item.DataItem as AggregateFunctionsGroup; var itemAggregateResult = functionsGroup.GetAggregateResults(renderingData.Aggregates); var aggregateResult = new GridGroupAggregateResult(title, groupKey, itemAggregateResult); return(new GridGroupRowBuilder((container) => template.Apply(aggregateResult, container), colspan)); }
protected virtual IGridRowBuilder CreateInFormInsertRowBuilder(GridRenderingData renderingData, GridItem item) { return new GridInFormEditRowBuilder(CreateInsertFormBuilder(renderingData, item), renderingData.Colspan); }
protected virtual IGridRowBuilder CreateDataRowBuilder(GridRenderingData renderingData, GridItem item) { if (renderingData.RowTemplate != null) { return new GridTemplateRowBuilder(td => renderingData.RowTemplate(item.DataItem, td), renderingData.Colspan); } return new GridDataRowBuilder(item.DataItem, renderingData.Columns.Select(column => cellBuilderFactory.CreateDisplayCellBuilder(column, renderingData.HtmlHelper))); }
public IGridTableBuilder CreateDecoratedTableBuilder(IEnumerable <GridColData> colsData, GridRenderingData renderingData) { var tableBuilder = CreateTableBuilder(colsData); tableBuilder.Decorators.Add(new GridTableBuilderGroupColDecorator(renderingData.GroupMembers.Count())); tableBuilder.Decorators.Add(new GridTableBuilderDetailViewColDecorator(renderingData.HasDetailTemplate)); return(tableBuilder); }
protected void AppendHeader(IHtmlNode container, GridRenderingData renderingData) { var thead = CreateHeader(renderingData); thead.AppendTo(container); }
protected virtual IHtmlNode CreateBody(GridRenderingData renderingData) { return(DataSectionBuilder.CreateBody(renderingData)); }
protected virtual IGridRowBuilder CreateGroupFooterRowBuilder(GridRenderingData renderingData, GridItem item) { var functionsGroup = item.DataItem as AggregateFunctionsGroup; var itemAggregateResult = functionsGroup.GetAggregateResults(renderingData.Aggregates); return new GridGroupFooterRowBuilder(renderingData.Columns.Select(column => cellBuilderFactory.CreateGroupFooterCellBuilder(column, itemAggregateResult))); }
private IGridEditFormBuilder CreateEditFormBuilder(GridRenderingData renderingData, GridItem item, Func<IGridActionCommand, IEnumerable<IGridButtonBuilder>> buttons, Func<object, string> action) { var commands = renderingData.Columns.OfType<IGridActionColumn>().SelectMany(column => column.Commands); var editCommand = commands.OfType<GridEditActionCommand>().FirstOrDefault() ?? new GridEditActionCommand(); var buttonBuilders = buttons(editCommand).Select(builder => { Func<IHtmlNode> result = () => builder.Create(item.DataItem); return result; }); var formHtmlAttributes = CreateFormAttributes(renderingData.FormId, action(item.DataItem)); //formHtmlAttributes.Merge(renderingData.EditFormHtmlAttributes); return new GridEditFormBuilder(new GridFormBuilder(formHtmlAttributes), () => renderingData.HtmlHelper.EditorForModel(item.DataItem, renderingData.EditTemplateName, renderingData.Columns.OfType<IGridForeignKeyColumn>().Select(c => c.SerializeSelectList), renderingData.AdditionalViewData ), buttonBuilders); }
protected virtual IHtmlNode CreateTable(GridRenderingData renderingData) { var tableBuilder = tableBuilderFactory.CreateDecoratedTableBuilder(renderingData.Columns.Select(c => new GridColData{ Width = c.Width, Hidden = c.Hidden}), renderingData); return tableBuilder.CreateTable() .Attributes(renderingData.TableHtmlAttributes); }
private IGridRowBuilder CreateInLineRowBuilder(GridRenderingData renderingData, GridItem item, Func<object, string> action, Func<IGridColumn, IGridHtmlHelper, IGridDataCellBuilder> cellBuilder) { var tableBuilder = tableBuilderFactory.CreateTableBuilder(renderingData.Columns.Select(c => new GridColData { Width = c.Width, Hidden = c.Hidden })); var cellBuilders = renderingData.Columns.Select(column => cellBuilder(column, renderingData.HtmlHelper)); var formHtmlAttributes = CreateFormAttributes(renderingData.FormId, action(item.DataItem)); //formHtmlAttributes.Merge(renderingData.EditFormHtmlAttributes); return new GridInLineEditRowBuilder(tableBuilder, new GridFormBuilder(formHtmlAttributes), renderingData.Colspan, item.DataItem, cellBuilders); }
protected virtual IHtmlNode CreateBody(GridRenderingData renderingData) { return DataSectionBuilder.CreateBody(renderingData); }
protected virtual IGridRowBuilder CreateEmptyRowBuilder(GridRenderingData renderingData, GridItem item) { return(new GridEmptyRowBuilder(renderingData.Colspan, renderingData.NoRecordsTemplate)); }
protected virtual IGridRowBuilder CreateGroupRowBuilder(GridRenderingData renderingData, GridItem item) { var groupKey = ((IGroup) item.DataItem).Key; var colspan = renderingData.Colspan - item.GroupLevel; var member = renderingData.GroupMembers.ElementAtOrDefault(item.GroupLevel); var column = renderingData.Columns.OfType<IGridBoundColumn>().FirstOrDefault(c => c.Member == member); var format = column != null && column.Format.HasValue() ? column.Format : "{0}"; var template = new HtmlTemplate<GridGroupAggregateResult> { InlineTemplate = (result) => "{0}: {1}".FormatWith(result.Title, format.FormatWith(ExtractForeignKeyText(column, result.Key))) }; var title = member.AsTitle(); if (column != null) { title = column.Title.HasValue() ? column.Title : column.Member.AsTitle(); if (column.GroupHeaderTemplate.HasValue()) { template = column.GroupHeaderTemplate; } } var functionsGroup = item.DataItem as AggregateFunctionsGroup; var itemAggregateResult = functionsGroup.GetAggregateResults(renderingData.Aggregates); var aggregateResult = new GridGroupAggregateResult(title, groupKey, itemAggregateResult); return new GridGroupRowBuilder((container) => template.Apply(aggregateResult, container), colspan); }
protected virtual IGridRowBuilder CreatePopUpInsertRowBuilder(GridRenderingData renderingData, GridItem item) { return(new GridPopUpInsertRowBuilder(CreateInsertFormBuilder(renderingData, item), renderingData.PopUpContainer)); }
protected virtual IGridRowBuilder CreatePopUpInsertRowBuilder(GridRenderingData renderingData, GridItem item) { return new GridPopUpInsertRowBuilder(CreateInsertFormBuilder(renderingData, item), renderingData.PopUpContainer); }
public virtual IHtmlNode CreateGrid(IDictionary <string, object> htmlAttributes, GridFunctionalData functionalData, GridRenderingData renderingData) { var div = CreateWrapper(htmlAttributes); AppendTopToolBar(div, functionalData); AppendGroupHeader(div, functionalData); AppendData(div, renderingData); AppendBottomPager(div, functionalData); return(div); }
protected virtual IGridRowBuilder CreateInsertRowBuilder(GridRenderingData renderingData, GridItem item) { switch (renderingData.EditMode) { //TODO: Implement InForm editing //case GridEditMode.InForm: // return CreateInFormInsertRowBuilder(renderingData, item); case GridEditMode.PopUp: return CreatePopUpInsertRowBuilder(renderingData, item); default: return CreateInLineInsertRowBuilder(renderingData, item); } }
protected virtual IGridRowBuilder CreateEmptyRowBuilder(GridRenderingData renderingData, GridItem item) { return new GridEmptyRowBuilder(renderingData.Colspan, renderingData.NoRecordsTemplate); }
protected virtual IGridEditFormBuilder CreateInsertFormBuilder(GridRenderingData renderingData, GridItem item) { return CreateEditFormBuilder(renderingData, item, (command) => command.CreateInsertButtons(renderingData.UrlBuilder, renderingData.HtmlHelper), renderingData.UrlBuilder.InsertUrl ); }
protected virtual IGridRowBuilder CreateDetailRowBuilder(GridRenderingData renderingData, GridItem item) { return new GridDetailRowBuilder { Colspan = (renderingData.Colspan - 1) - item.GroupLevel, DataItem = item.DataItem, Template = renderingData.DetailTemplate, Expanded = item.Expanded, IsMasterAlternate = item is GridDetailViewItem && ((item as GridDetailViewItem).Parent.State & GridItemStates.Alternating) == GridItemStates.Alternating, Html = item.DetailRowHtml, HtmlAttributes = item.DetailRowHtmlAttributes }; }
protected virtual IGridRowBuilder CreateInLineInsertRowBuilder(GridRenderingData renderingData, GridItem item) { return CreateInLineRowBuilder(renderingData, item, renderingData.UrlBuilder.InsertUrl, cellBuilderFactory.CreateInsertCellBuilder); }
protected virtual IGridRowBuilder CreateInFormInsertRowBuilder(GridRenderingData renderingData, GridItem item) { return(new GridInFormEditRowBuilder(CreateInsertFormBuilder(renderingData, item), renderingData.Colspan)); }
protected virtual IHtmlNode CreateFooter(GridRenderingData renderingData) { var tfoot = new HtmlElement("tfoot"); tfoot.AddClass("k-grid-footer"); var tr = DataSectionBuilder.CreateFooter(renderingData); tr.AppendTo(tfoot); return tfoot; }
protected virtual IGridRowBuilder CreateInLineInsertRowBuilder(GridRenderingData renderingData, GridItem item) { return(CreateInLineRowBuilder(renderingData, item, renderingData.UrlBuilder.InsertUrl, cellBuilderFactory.CreateInsertCellBuilder)); }
protected virtual IHtmlNode CreateHeader(GridRenderingData renderingData) { var thead = new HtmlElement("thead").AddClass("k-grid-header"); var tr = DataSectionBuilder.CreateHeader(renderingData); tr.AppendTo(thead); return thead; }