Beispiel #1
0
        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;
        }
Beispiel #2
0
 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);
 }
Beispiel #3
0
        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());
        }