Changes the CreateTreeNode to ensure that a parentId is always passed in - now all tree node models have a parentId property based on the server side data. Changes the JS tree node model to not have a 'parent' property and instead changes this to a parent() method - this allows us to serialize the tree model because otherwise it has cyclical references.

This commit is contained in:
Shannon
2013-11-12 13:09:24 +11:00
parent acd52d42f4
commit c4bfeeb321
12 changed files with 57 additions and 40 deletions

View File

@@ -30,14 +30,14 @@ namespace Umbraco.Web.Trees
for (var i = 97; i < 123; i++)
{
var charString = ((char) i).ToString(CultureInfo.InvariantCulture);
var folder = CreateTreeNode(charString, queryStrings, charString, "icon-folder-close", true);
var folder = CreateTreeNode(charString, id, queryStrings, charString, "icon-folder-close", true);
folder.NodeType = "member-folder";
nodes.Add(folder);
}
//list out 'Others' if the membership provider is umbraco
if (Member.InUmbracoMemberMode())
{
var folder = CreateTreeNode("others", queryStrings, "Others", "icon-folder-close", true);
var folder = CreateTreeNode("others", id, queryStrings, "Others", "icon-folder-close", true);
folder.NodeType = "member-folder";
nodes.Add(folder);
}
@@ -52,7 +52,7 @@ namespace Umbraco.Web.Trees
//get the members from our member data layer
nodes.AddRange(
Member.getMemberFromFirstLetter(id.ToCharArray()[0])
.Select(m => CreateTreeNode(m.UniqueId.ToString("N"), queryStrings, m.Text, "icon-user")));
.Select(m => CreateTreeNode(m.UniqueId.ToString("N"), id, queryStrings, m.Text, "icon-user")));
}
else
{
@@ -60,7 +60,7 @@ namespace Umbraco.Web.Trees
int total;
nodes.AddRange(
Membership.Provider.FindUsersByName(id + "%", 0, 9999, out total).Cast<MembershipUser>()
.Select(m => CreateTreeNode(m.ProviderUserKey.ToString(), queryStrings, m.UserName, "icon-user")));
.Select(m => CreateTreeNode(m.ProviderUserKey.ToString(), id, queryStrings, m.UserName, "icon-user")));
}
}
else if (id == "others")
@@ -68,7 +68,7 @@ namespace Umbraco.Web.Trees
//others will only show up when in umbraco membership mode
nodes.AddRange(
Member.getAllOtherMembers()
.Select(m => CreateTreeNode(m.Id.ToInvariantString(), queryStrings, m.Text, "icon-user")));
.Select(m => CreateTreeNode(m.Id.ToInvariantString(), id, queryStrings, m.Text, "icon-user")));
}
}
return nodes;