diff --git a/umbraco.MacroEngines.Juno/RazorDynamicNode/HtmlTagWrapper.cs b/umbraco.MacroEngines.Juno/RazorDynamicNode/HtmlTagWrapper.cs index d223d552cc..d86e3d5b17 100644 --- a/umbraco.MacroEngines.Juno/RazorDynamicNode/HtmlTagWrapper.cs +++ b/umbraco.MacroEngines.Juno/RazorDynamicNode/HtmlTagWrapper.cs @@ -13,6 +13,17 @@ namespace umbraco.MacroEngines public HtmlTagWrapper Parent; public List Children; public List> Attributes; + public void ReflectAttributesFromAnonymousType(List> newAttributes) + { + List> mergedAttributes = + newAttributes + .Concat(Attributes) + .GroupBy(kvp => kvp.Key, kvp => kvp.Value) + .Select(g => new KeyValuePair(g.Key, string.Join(" ", g.ToArray()))) + .ToList(); + + Attributes = mergedAttributes; + } public void ReflectAttributesFromAnonymousType(object anonymousAttributes) { var newAttributes = @@ -27,30 +38,10 @@ namespace umbraco.MacroEngines string.Format("{0}", prop.GetValue(anonymousAttributes, null)) ) ); - List> mergedAttributes = - newAttributes - .Concat(Attributes) - .GroupBy(kvp => kvp.Key, kvp => kvp.Value) - .Select(g => new KeyValuePair(g.Key, string.Join(" ", g.ToArray()))) - .ToList(); - - Attributes = mergedAttributes; + ReflectAttributesFromAnonymousType(newAttributes); } - //class DistinctKeysComparer : IEqualityComparer> - //{ - // public bool Equals(KeyValuePair x, KeyValuePair y) - // { - // return x.Value == y.Value; - // } - - // public int GetHashCode(KeyValuePair obj) - // { - // return obj.Value.GetHashCode(); - // } - //} - public List CssClasses; public string Tag;