private static void RenderAreaItem( HtmlHelper html, ContentAreaItem contentAreaItem, BootstrapAwareContentAreaRenderer renderer, IFormElement element) { if (contentAreaItem != null) { var cssClasses = renderer.GetItemCssClass(html, contentAreaItem); html.ViewContext.Writer.Write($"<div class=\"{cssClasses}\">"); } var sourceContent = element.SourceContent; if (sourceContent != null && !sourceContent.IsDeleted) { if (sourceContent is ISubmissionAwareElement) { var contentData = (sourceContent as IReadOnly).CreateWritableClone() as IContent; (contentData as ISubmissionAwareElement).FormSubmissionId = (string)html.ViewBag.FormSubmissionId; html.RenderContentData(contentData, false); } else { html.RenderContentData(sourceContent, false); } } if (contentAreaItem != null) { html.ViewContext.Writer.Write("</div>"); } }
public static void RenderFormElements(this HtmlHelper html, int currentStepIndex, IEnumerable<IFormElement> elements, FormContainerBlock model) { // TODO: this is pretty scary - another approach would be to ask from container and then try to cast to this type.. var renderer = new BootstrapAwareContentAreaRenderer(); foreach (var element in elements) { var areaItem = model.ElementsArea.Items.FirstOrDefault(i => i.ContentLink == element.SourceContent.ContentLink); if(areaItem != null) { var cssClasses = renderer.GetItemCssClass(html, areaItem); html.ViewContext.Writer.Write($"<div class=\"{cssClasses}\">"); } var sourceContent = element.SourceContent; if((sourceContent != null) && !sourceContent.IsDeleted) { if(sourceContent is ISubmissionAwareElement) { var content2 = (sourceContent as IReadOnly).CreateWritableClone() as IContent; (content2 as ISubmissionAwareElement).FormSubmissionId = (string) html.ViewBag.FormSubmissionId; html.RenderContentData(content2, false); } else { html.RenderContentData(sourceContent, false); } } if(areaItem != null) html.ViewContext.Writer.Write("</div>"); } }
public static void RenderFormElements(this HtmlHelper html, int currentStepIndex, IEnumerable <IFormElement> elements, FormContainerBlock model) { // TODO: this is pretty scary - another approach would be to ask from container and then try to cast to this type.. var renderer = new BootstrapAwareContentAreaRenderer(); foreach (var element in elements) { var areaItem = model.ElementsArea.Items.FirstOrDefault(i => i.ContentLink == element.SourceContent.ContentLink); if (areaItem != null) { var cssClasses = renderer.GetItemCssClass(html, areaItem); html.ViewContext.Writer.Write($"<div class=\"{cssClasses}\">"); } var sourceContent = element.SourceContent; if ((sourceContent != null) && !sourceContent.IsDeleted) { if (sourceContent is ISubmissionAwareElement) { var content2 = (sourceContent as IReadOnly).CreateWritableClone() as IContent; (content2 as ISubmissionAwareElement).FormSubmissionId = (string)html.ViewBag.FormSubmissionId; html.RenderContentData(content2, false); } else { html.RenderContentData(sourceContent, false); } } if (areaItem != null) { html.ViewContext.Writer.Write("</div>"); } } }