diff --git a/src/Umbraco.Web.UI.Client/src/common/directives/umbtree.directive.js b/src/Umbraco.Web.UI.Client/src/common/directives/umbtree.directive.js
index 0ba36efcea..75268f0d5e 100644
--- a/src/Umbraco.Web.UI.Client/src/common/directives/umbtree.directive.js
+++ b/src/Umbraco.Web.UI.Client/src/common/directives/umbtree.directive.js
@@ -30,8 +30,10 @@ function umbTreeDirective($compile, $log, $q, $rootScope, treeService, notificat
var hideoptions = (attrs.hideoptions === 'true') ? "hide-options" : "";
var template = '
- ';
template += '
' +
- '
' +
- '
' +
+ '
' +
+ '
' +
'
';
template += '' +
'' +
@@ -296,6 +298,14 @@ function umbTreeDirective($compile, $log, $q, $rootScope, treeService, notificat
}
+ scope.selectEnabledNodeClass = function (node) {
+ return node ?
+ node.selected ?
+ 'icon umb-tree-icon sprTree icon-check blue temporary' :
+ '' :
+ '';
+ };
+
/** method to set the current animation for the node.
* This changes dynamically based on if we are changing sections or just loading normal tree data.
* When changing sections we don't want all of the tree-ndoes to do their 'leave' animations.
@@ -350,8 +360,8 @@ function umbTreeDirective($compile, $log, $q, $rootScope, treeService, notificat
The tree doesnt know about this, so it raises an event to tell the parent controller
about it.
*/
- scope.options = function(e, n, ev) {
- emitEvent("treeOptionsClick", { element: e, node: n, event: ev });
+ scope.options = function(n, ev) {
+ emitEvent("treeOptionsClick", { element: elem, node: n, event: ev });
};
/**
@@ -360,17 +370,17 @@ function umbTreeDirective($compile, $log, $q, $rootScope, treeService, notificat
and emits it as a treeNodeSelect element if there is a callback object
defined on the tree
*/
- scope.select = function (e, n, ev) {
+ scope.select = function (n, ev) {
//on tree select we need to remove the current node -
// whoever handles this will need to make sure the correct node is selected
//reset current node selection
scope.currentNode = null;
- emitEvent("treeNodeSelect", { element: e, node: n, event: ev });
+ emitEvent("treeNodeSelect", { element: elem, node: n, event: ev });
};
- scope.altSelect = function(e, n, ev) {
- emitEvent("treeNodeAltSelect", { element: e, tree: scope.tree, node: n, event: ev });
+ scope.altSelect = function(n, ev) {
+ emitEvent("treeNodeAltSelect", { element: elem, tree: scope.tree, node: n, event: ev });
};
//watch for section changes
diff --git a/src/Umbraco.Web.UI.Client/src/common/directives/umbtreeitem.directive.js b/src/Umbraco.Web.UI.Client/src/common/directives/umbtreeitem.directive.js
index b3f1eb0ed5..9c0da31889 100644
--- a/src/Umbraco.Web.UI.Client/src/common/directives/umbtreeitem.directive.js
+++ b/src/Umbraco.Web.UI.Client/src/common/directives/umbtreeitem.directive.js
@@ -79,8 +79,12 @@ angular.module("umbraco.directives")
}, 0, false);
}
- scope.selectEnabledNodeClass = function(node) {
- return node.selected ? 'icon umb-tree-icon sprTree icon-check blue temporary' : node.cssClass;
+ scope.selectEnabledNodeClass = function (node) {
+ return node ?
+ node.selected ?
+ 'icon umb-tree-icon sprTree icon-check blue temporary' :
+ node.cssClass :
+ '';
};
//add a method to the node which we can use to call to update the node data if we need to ,
diff --git a/src/Umbraco.Web.UI.Client/src/views/content/content.copy.controller.js b/src/Umbraco.Web.UI.Client/src/views/content/content.copy.controller.js
index a09058ed69..aea8aaf888 100644
--- a/src/Umbraco.Web.UI.Client/src/views/content/content.copy.controller.js
+++ b/src/Umbraco.Web.UI.Client/src/views/content/content.copy.controller.js
@@ -15,23 +15,13 @@ angular.module("umbraco")
eventsService.emit("editors.content.copyController.select", args);
- var c = $(args.event.target.parentElement);
- if ($scope.selectedEl) {
- $scope.selectedEl.find(".temporary").remove();
- $scope.selectedEl.find("i.umb-tree-icon").show();
- }
-
- var temp = "";
- var icon = c.find("i.umb-tree-icon");
- if (icon.length > 0) {
- icon.hide().after(temp);
- } else {
- c.prepend(temp);
+ if ($scope.target) {
+ //un-select if there's a current one selected
+ $scope.target.selected = false;
}
$scope.target = args.node;
- $scope.selectedEl = c;
-
+ $scope.target.selected = true;
}
$scope.dialogTreeEventHandler.bind("treeNodeSelect", nodeSelectHandler);
diff --git a/src/Umbraco.Web.UI.Client/src/views/content/content.move.controller.js b/src/Umbraco.Web.UI.Client/src/views/content/content.move.controller.js
index 17f8410058..e604b80cae 100644
--- a/src/Umbraco.Web.UI.Client/src/views/content/content.move.controller.js
+++ b/src/Umbraco.Web.UI.Client/src/views/content/content.move.controller.js
@@ -12,24 +12,13 @@ angular.module("umbraco").controller("Umbraco.Editors.Content.MoveController",
eventsService.emit("editors.content.moveController.select", args);
- var c = $(args.event.target.parentElement);
-
- if ($scope.selectedEl) {
- $scope.selectedEl.find(".temporary").remove();
- $scope.selectedEl.find("i.umb-tree-icon").show();
+ if ($scope.target) {
+ //un-select if there's a current one selected
+ $scope.target.selected = false;
}
- var temp = "";
- var icon = c.find("i.umb-tree-icon");
- if (icon.length > 0) {
- icon.hide().after(temp);
- } else {
- c.prepend(temp);
- }
-
-
$scope.target = args.node;
- $scope.selectedEl = c;
+ $scope.target.selected = true;
});
$scope.move = function(){
diff --git a/src/Umbraco.Web.UI.Client/src/views/content/copy.html b/src/Umbraco.Web.UI.Client/src/views/content/copy.html
index 44a240c1a8..dc3da2f4bf 100644
--- a/src/Umbraco.Web.UI.Client/src/views/content/copy.html
+++ b/src/Umbraco.Web.UI.Client/src/views/content/copy.html
@@ -26,7 +26,8 @@
hideheader="false"
hideoptions="true"
isdialog="true"
- eventhandler="dialogTreeEventHandler">
+ eventhandler="dialogTreeEventHandler"
+ enablecheckboxes="true">
diff --git a/src/Umbraco.Web.UI.Client/src/views/content/move.html b/src/Umbraco.Web.UI.Client/src/views/content/move.html
index 1bea4af509..d832a276ed 100644
--- a/src/Umbraco.Web.UI.Client/src/views/content/move.html
+++ b/src/Umbraco.Web.UI.Client/src/views/content/move.html
@@ -19,13 +19,13 @@
-
-
+
+