private void RenderWithoutFindingTemplate(StringBuilder sb, Widget widget) { var emptyDrop = new LiquidAdapter(); sb.Append(Template.Parse(widget.MetaData.ToObject <StaticHtml.StaticHtml>().HtmlContent) .Render(Hash.FromAnonymousObject(emptyDrop))); return; }
protected Drop GetDecoratedLiquidViewData(LiquidAdapter drop = null) { foreach (var decorator in ((List <LiquidDataDecorator>)Resolver.GetService(typeof(List <LiquidDataDecorator>))).OrderBy(x => x.LevelToReachRealWrappe).ToList()) { if (decorator.ShouldDecorate(drop)) { drop = decorator.Decorate(drop); } } return(drop); }
private string Render(List <Widget> widgets) { StringBuilder sb = new StringBuilder(); foreach (var widget in widgets) { if (widget.Type == "html") { RenderWithoutFindingTemplate(sb, widget); continue; } var widgetLiquidData = _widgetFactory.Get(widget.Type).Parse(widget.MetaData); widgetLiquidData.Title = widget.Title; LiquidAdapter data = widgetLiquidData; _dataDecorators.ForEach(x => { data = x.Decorate(data); }); var template = Template.Parse(_templateProvider.GetTemplateString(widget)); var renderedWidget = template.Render(Hash.FromAnonymousObject(new { vm = data })); sb.Append(renderedWidget); } return(sb.ToString()); }