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());
        }
示例#7
0
        public virtual IHtmlNode CreateCell()
        {
            var td = new HtmlElement("td").Attributes(htmlAttributes);

            if (template.HasValue())
            {
                template.Apply(AggregateResults, td);
            }
            else
            {
                td.Html("&nbsp;");
            }

            Decorate(td);

            return(td);
        }
示例#8
0
        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);
 }
示例#10
0
        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);
        }