public void Render(DomElement element, HxlWriter output) { foreach (var child in element.ChildNodes) { output.Write(child); } }
void IHxlElementTemplate.Render(DomElement element, HxlWriter output) { _element = element; try { _writer = output; _outputBuffer = output; Render(); } finally { _writer = null; _outputBuffer = null; } }
internal HxlWriter StartBufferContent(string name) { if (name == "spaFragments") { var result = new BufferContent(name); var writer = new HxlWriter(result.Writer, new HxlWriterSettings { TemplateContext = this }); StartBufferContent(result); return(writer); } throw new NotImplementedException(); }
internal static void Render(DomElement element, string name, string layoutName, HxlWriter hxlOutput) { var templateContext = hxlOutput.TemplateContext; var pc = templateContext.FindPlaceholderContent(name); DomElement content; if (pc == null) { content = element; } else { content = pc.Element; layoutName = pc.Layout; MergeAttributes(content, element); } var attr = element.Attributes["class"]; if (attr == null) { element.Attribute("class", "app-placeholder"); } else { AttributeAppend(attr, "app-placeholder"); } element.Attribute("data-placeholder", name); element.Attribute("data-layout", layoutName); // TODO Skip over single-page elements that were disabled // TODO Output correct locations var output = hxlOutput.BaseWriter; // TODO We always render element - should attribute selection be allowed to choose another element template? HxlElementTemplate.ProcessAttributesForTemplate(element, templateContext); HxlElementTemplate.RenderElementStart(element, output); hxlOutput.Write(content.ChildNodes); HxlElementTemplate.RenderElementEnd(element, output); }
internal void Render_(HxlTemplateContext templateContext, HxlWriter hxlWriter) { try { this.TemplateContext = templateContext; _outputBuffer = hxlWriter; if (Rendering != null) { Rendering(templateContext, this); } Render(); } finally { this.TemplateContext = null; _outputBuffer = InvalidTextOutput.Instance; } }
public void Render(DomElement element, HxlWriter output) { var eti = new HxlElementTemplateInfo(element.Name, element.Attribute("class")); var services = ServiceProvider.Compose( ServiceProvider.Current, ServiceProvider.FromValue(eti)); var template = output.TemplateContext.TemplateFactory.CreateTemplate(_name, _type, services); if (template == null) { // TODO Missing line number throw HxlFailure.CannotFindMatchingTemplate(_type, _name, -1, -1); } var context = output.TemplateContext.CreateChildContext(template); context.Data.Add("element", element); template.Transform(output.BaseWriter, context); }
void IHxlElementTemplate.Render(DomElement element, HxlWriter output) { RenderElementStart(element, output.BaseWriter); output.Write(element.ChildNodes); RenderElementEnd(element, output.BaseWriter); }
void IHxlElementTemplate.Render(DomElement element, HxlWriter output) { }