在Angular UI Tree中获取目标节点

时间:2017-03-23 13:31:40

标签: angularjs angular-ui-tree

我正在使用Angular UI Tree作为文件系统的UI。我希望能够将项目放入文件夹而不是文件,因此树中的所有项目都具有值为“file”或“folder”的type属性。

如何检查此属性并根据值允许或禁止项目被删除?我已经尝试在接受回调中添加一个检查。 sourceNodeScope给出了我在sourceNodeScope.$modelValue.type中移动的节点的类型,但destNodesScope.$modelValue似乎在我正在移动的项目和目的地之间交替。当它是目的地时,它是树中该级别所有节点的数组。

accept: function(sourceNodeScope, destNodesScope, destIndex) {

});

1 个答案:

答案 0 :(得分:0)

这可以使用beforeDrop方法而不是接受来实现。事件上的目标可用于检查目的地,如果允许放置,则应返回true。

$scope.treeOptions = {
  beforeDrop: function (e) {
    var destValue = e.dest.nodesScope.node ? e.dest.nodesScope.node.type : undefined

    if (destValue === 'file') {
      return false
    }
    return true
  }
}