public void Render(IParrotWriter writer, IRendererFactory rendererFactory, Statement statement, IDictionary<string, object> documentHost, object model) { var modelValueProviderFactory = _host.ModelValueProviderFactory; string result = ""; if (statement is StringLiteral) { foreach (var value in (statement as StringLiteral).Values) { result += GetModelValue( modelValueProviderFactory, documentHost, model, value.Type, value.Data ); } } else { result = GetModelValue(modelValueProviderFactory, documentHost, model, StringLiteralPartType.Encoded, statement.Name); } writer.Write(result); }
public void Render(IParrotWriter writer, IRendererFactory rendererFactory, Statement statement, IDictionary <string, object> documentHost, object model) { var value = "html"; //default value of "html" var parameter = statement.Parameters.FirstOrDefault(); if (parameter != null) { Type modelType = model != null?model.GetType() : null; var modelValueProvider = Host.ModelValueProviderFactory.Get(modelType); object result; if (modelValueProvider.GetValue(documentHost, model, statement.Parameters[0].Value, out result)) { value = result.ToString(); } } if (_docTypes.ContainsKey(value)) { value = _docTypes[value](); } documentHost.Add("doctype", value); writer.Write(string.Format("<!DOCTYPE {0}>", value)); }
public void Render(IParrotWriter writer, IRendererFactory rendererFactory, Statement statement, IDictionary <string, object> documentHost, object model) { var modelValueProviderFactory = _host.ModelValueProviderFactory; string result = ""; if (statement is StringLiteral) { foreach (var value in (statement as StringLiteral).Values) { result += GetModelValue( modelValueProviderFactory, documentHost, model, value.Type, value.Data ); } } else { result = GetModelValue(modelValueProviderFactory, documentHost, model, StringLiteralPartType.Encoded, statement.Name); } writer.Write(result); }
public void Render(IParrotWriter writer, IRendererFactory rendererFactory, Statement statement, IDictionary<string, object> documentHost, object model) { var value = "html"; //default value of "html" var parameter = statement.Parameters.FirstOrDefault(); if (parameter != null) { Type modelType = model != null ? model.GetType() : null; var modelValueProvider = Host.ModelValueProviderFactory.Get(modelType); object result; if (modelValueProvider.GetValue(documentHost, model, statement.Parameters[0].Value, out result)) { value = result.ToString(); } } if (_docTypes.ContainsKey(value)) { value = _docTypes[value](); } documentHost.Add("doctype", value); writer.Write(string.Format("<!DOCTYPE {0}>", value)); }
protected override void CreateTag(IParrotWriter writer, IRendererFactory rendererFactory, IDictionary<string, object> documentHost, object model, Statement statement) { string tagName = string.IsNullOrWhiteSpace(statement.Name) ? DefaultChildTag : statement.Name; TagBuilder builder = new TagBuilder(tagName); //add attributes RenderAttributes(rendererFactory, documentHost, model, statement, builder); writer.Write(builder.ToString(TagRenderMode.SelfClosing)); }
protected virtual void CreateTag(IParrotWriter writer, IRendererFactory rendererFactory, IDictionary <string, object> documentHost, object model, Statement statement) { string tagName = string.IsNullOrWhiteSpace(statement.Name) ? DefaultChildTag : statement.Name; TagBuilder builder = new TagBuilder(tagName); //add attributes RenderAttributes(rendererFactory, documentHost, model, statement, builder); //AppendAttributes(builder, statement.Attributes, documentHost, modelValueProvider); writer.Write(builder.ToString(TagRenderMode.StartTag)); //render children if (statement.Children.Count > 0) { RenderChildren(writer, statement, rendererFactory, documentHost, model); } writer.Write(builder.ToString(TagRenderMode.EndTag)); }
protected override void CreateTag(IParrotWriter writer, IRendererFactory rendererFactory, IDictionary <string, object> documentHost, object model, Statement statement) { string tagName = string.IsNullOrWhiteSpace(statement.Name) ? DefaultChildTag : statement.Name; TagBuilder builder = new TagBuilder(tagName); //add attributes RenderAttributes(rendererFactory, documentHost, model, statement, builder); writer.Write(builder.ToString(TagRenderMode.SelfClosing)); }
public void Render(ViewContext viewContext, IParrotWriter writer) { //View contents using (var stream = LoadStream()) { var contents = Parse(viewContext, stream); string output = contents; writer.Write(output); } }
public void Render(dynamic model, IParrotWriter writer) { //View contents using (var stream = _contents()) { var contents = stream.ReadToEnd(); contents = Parse(model, contents); string output = contents; writer.Write(output); } }
private void RenderAction(IParrotWriter writer, IDictionary<string, object> documentHost, string action, string controllerName, string area, params string[] additional) { RouteValueDictionary routeValues = new RouteValueDictionary(); routeValues["action"] = action; if (!string.IsNullOrWhiteSpace(controllerName)) { routeValues["controller"] = controllerName; } if (!string.IsNullOrWhiteSpace(area)) { routeValues["area"] = area; } var viewContext = documentHost["ViewContext"] as ViewContext; IViewDataContainer container = new ViewPage(); var helper = new HtmlHelper(viewContext, container); writer.Write(helper.Action(action, routeValues).ToHtmlString()); }
protected virtual void CreateTag(IParrotWriter writer, IRendererFactory rendererFactory, IDictionary<string, object> documentHost, object model, Statement statement) { string tagName = string.IsNullOrWhiteSpace(statement.Name) ? DefaultChildTag : statement.Name; TagBuilder builder = new TagBuilder(tagName); //add attributes RenderAttributes(rendererFactory, documentHost, model, statement, builder); //AppendAttributes(builder, statement.Attributes, documentHost, modelValueProvider); writer.Write(builder.ToString(TagRenderMode.StartTag)); //render children if (statement.Children.Count > 0) { RenderChildren(writer, statement, rendererFactory, documentHost, model); } writer.Write(builder.ToString(TagRenderMode.EndTag)); }