public void Applying_when_code_block_is_set_sets_template_of_the_node() { var template = new HtmlTemplate<object>(); template.CodeBlockTemplate = delegate { }; var node = new HtmlElement("div"); template.Apply(null, node); Assert.NotNull(node.Template()); }
public void Applying_when_html_is_set_sets_html_of_the_node() { var template = new HtmlTemplate<object>(); template.Html = "<strong>foo</strong>"; var node = new HtmlElement("div"); template.Apply(null, node); Assert.Equal(template.Html, node.InnerHtml); }
public void Applying_when_inline_template_sets_html_of_the_node() { var template = new HtmlTemplate<object>(); template.InlineTemplate = (value) => value; var node = new HtmlElement("div"); template.Apply("foo", node); Assert.Equal("<div>foo</div>", node.ToString()); }
public void Applying_when_code_block_is_set_sets_template_of_the_node() { var template = new HtmlTemplate <object>(); template.CodeBlockTemplate = delegate { }; var node = new HtmlElement("div"); template.Apply(null, node); Assert.NotNull(node.Template()); }
public void Applying_when_html_is_set_sets_html_of_the_node() { var template = new HtmlTemplate <object>(); template.Html = "<strong>foo</strong>"; var node = new HtmlElement("div"); template.Apply(null, node); Assert.Equal(template.Html, node.InnerHtml); }
public void Applying_when_inline_template_sets_html_of_the_node() { var template = new HtmlTemplate <object>(); template.InlineTemplate = (value) => value; var node = new HtmlElement("div"); template.Apply("foo", node); Assert.Equal("<div>foo</div>", node.ToString()); }
public virtual IHtmlNode CreateCell() { var td = new HtmlElement("td").Attributes(htmlAttributes); if (template.HasValue()) { template.Apply(AggregateResults, td); } else { td.Html(" "); } Decorate(td); return(td); }
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 override void AppendCellContent(IHtmlNode td, object dataItem) { template.Apply((T)dataItem, td); }
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); }