Advertisement
Guest User

Untitled

a guest
May 3rd, 2018
339
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.13 KB | None | 0 0
  1. @{
  2. var baseColSize = "medium"; //Options: small, medium, large
  3. }
  4.  
  5. @if (Model != null && Model.sections != null)
  6. {
  7. foreach (var s in Model.sections)
  8. {
  9. foreach (var row in s.rows)
  10. {
  11. @renderRow(row, baseColSize);
  12. }
  13. }
  14. }
  15.  
  16. @helper renderRow(dynamic row, string colSize)
  17. {
  18. <div @RenderElementAttributes(row)>
  19.  
  20. <div class="grid-container">
  21. <div class="two-col-content">
  22. <div class="grid-x grid-margin-x grid-margin-y">
  23. @foreach (var area in row.areas)
  24. {
  25. <div class="cell @colSize-@area.grid">
  26. <div @RenderElementAttributes(area)>
  27. @foreach (var control in area.controls)
  28. {
  29. if (control != null && control.editor != null && control.editor.view != null)
  30. {
  31. <text>@Html.Partial("grid/editors/base", (object)control)</text>
  32. }
  33. }
  34. </div>
  35. </div>
  36. }
  37. </div>
  38. </div>
  39.  
  40. </div>
  41. </div>
  42. }
  43.  
  44. @functions {
  45. public static MvcHtmlString RenderElementAttributes(dynamic contentItem)
  46. {
  47. var attrs = new List<string>();
  48. JObject cfg = contentItem.config;
  49.  
  50. if (cfg != null)
  51. foreach (JProperty property in cfg.Properties())
  52. {
  53. attrs.Add(property.Name + "='" + property.Value.ToString() + "'");
  54. }
  55.  
  56. JObject style = contentItem.styles;
  57.  
  58. if (style != null)
  59. {
  60. var cssVals = new List<string>();
  61. foreach (JProperty property in style.Properties())
  62. cssVals.Add(property.Name + ":" + property.Value.ToString() + ";");
  63.  
  64. if (cssVals.Any())
  65. attrs.Add("style='" + string.Join(" ", cssVals) + "'");
  66. }
  67.  
  68. return new MvcHtmlString(string.Join(" ", attrs));
  69. }
  70. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement