Adds contentype alias to media and cotnent tree nodes

This commit is contained in:
perploug
2013-10-27 14:12:27 +01:00
parent d86654fa6b
commit ab36687c85
3 changed files with 32 additions and 6 deletions

View File

@@ -73,12 +73,33 @@ angular.module("umbraco").controller("Umbraco.Dialogs.TreePickerController",
}
};
if(dialogOptions.filter){
var filterArray = dialogOptions.filter.split(',');
$scope.dialogTreeEventHandler.bind("treeNodeExpanded", function(ev, args){
if(angular.isArray(args.children)){
angular.forEach(args.children, function(value, key){
if(filterArray.indexOf(value.metaData.contentType) >= 0){
value.filtered = true;
value.icon = "icon-wrong red unpublished";
}
});
}
});
}
$scope.dialogTreeEventHandler.bind("treeNodeSelect", function(ev, args){
args.event.preventDefault();
args.event.stopPropagation();
eventsService.publish("Umbraco.Dialogs.TreePickerController.Select", args).then(function(args){
if(args.node.filtered){
return;
}
select(args.node.name, args.node.id);
if($scope.multiPicker){

View File

@@ -80,6 +80,8 @@ namespace Umbraco.Web.Trees
e.ContentTypeIcon,
hasChildren);
node.AdditionalData.Add("contentType", e.ContentTypeAlias);
if (e.IsPublished == false)
node.SetNotPublishedStyle();

View File

@@ -50,13 +50,16 @@ namespace Umbraco.Web.Trees
protected override TreeNodeCollection PerformGetTreeNodes(string id, FormDataCollection queryStrings)
{
var entities = GetChildEntities(id);
var nodes = new TreeNodeCollection();
var nodes = new TreeNodeCollection();
nodes.AddRange(
entities.Cast<UmbracoEntity>()
.Select(e => CreateTreeNode(e.Id.ToInvariantString(), queryStrings, e.Name, e.ContentTypeIcon, e.HasChildren)));
foreach (var entity in entities)
{
var e = (UmbracoEntity)entity;
var node = CreateTreeNode(e.Id.ToInvariantString(), queryStrings, e.Name, e.ContentTypeIcon, e.HasChildren);
node.AdditionalData.Add("contentType", e.ContentTypeAlias);
nodes.Add(node);
}
return nodes;
}