diff --git a/platform/commonUI/general/bundle.js b/platform/commonUI/general/bundle.js index d86801e2ea..02512fc9fd 100644 --- a/platform/commonUI/general/bundle.js +++ b/platform/commonUI/general/bundle.js @@ -395,7 +395,7 @@ define([ { "key": "mctTree", "implementation": MCTTree, - "depends": [ '$parse' ] + "depends": [ '$parse', 'gestureService' ] } ], "constants": [ diff --git a/platform/commonUI/general/src/directives/MCTTree.js b/platform/commonUI/general/src/directives/MCTTree.js index 18641b3941..47f8eecbc6 100644 --- a/platform/commonUI/general/src/directives/MCTTree.js +++ b/platform/commonUI/general/src/directives/MCTTree.js @@ -25,9 +25,9 @@ define([ 'angular', '../ui/TreeView' ], function (angular, TreeView) { - function MCTTree($parse) { + function MCTTree($parse, gestureService) { function link(scope, element, attrs) { - var treeView = new TreeView(), + var treeView = new TreeView(gestureService), expr = $parse(attrs.mctModel), unobserve = treeView.observe(function (domainObject) { if (domainObject !== expr(scope.$parent)) { diff --git a/platform/commonUI/general/src/ui/TreeLabelView.js b/platform/commonUI/general/src/ui/TreeLabelView.js index 0c1144a8bc..75e8efcc29 100644 --- a/platform/commonUI/general/src/ui/TreeLabelView.js +++ b/platform/commonUI/general/src/ui/TreeLabelView.js @@ -27,8 +27,9 @@ define([ ], function ($, labelTemplate) { 'use strict'; - function TreeLabelView() { + function TreeLabelView(gestureService) { this.el = $(labelTemplate); + this.gestureService = gestureService; } function getGlyph(domainObject) { @@ -62,11 +63,22 @@ define([ delete this.unlisten; } + if (this.activeGestures) { + this.activeGestures.destroy(); + delete this.activeGestures; + } + this.updateView(domainObject); if (domainObject) { this.unlisten = domainObject.getCapability('mutation') .listen(this.updateView.bind(this, domainObject)); + + this.activeGestures = this.gestureService.attachGestures( + this.elements(), + domainObject, + [ 'info', 'menu', 'drag' ] + ); } }; diff --git a/platform/commonUI/general/src/ui/TreeNodeView.js b/platform/commonUI/general/src/ui/TreeNodeView.js index b639c024f3..2b02a2c1f9 100644 --- a/platform/commonUI/general/src/ui/TreeNodeView.js +++ b/platform/commonUI/general/src/ui/TreeNodeView.js @@ -29,7 +29,7 @@ define([ ], function ($, nodeTemplate, ToggleView, TreeLabelView) { 'use strict'; - function TreeNodeView(subtreeFactory, selectFn) { + function TreeNodeView(gestureService, subtreeFactory, selectFn) { this.li = $('