-
Notifications
You must be signed in to change notification settings - Fork 776
Migrate From v1.x to v2.0
Volkan Florchinger edited this page May 5, 2014
·
7 revisions
We made a lot of changes on v2.0, so if you want to upgrade v1.x to v2.0, something you have to do:
- Add
ui-treeto the root of the tree - Rename
ui-nested-sortabletoui-tree-nodes - Rename
ui-nested-sortable-itemtoui-tree-node - Rename
ui-nested-sortable-handletoui-tree-handle
For example:
<ol ui-nested-sortable="" ng-model="list">
<li ng-repeat="item in list" ui-nested-sortable-item="">
<div ui-nested-sortable-handle>
{{item.title}}
</div>
<ol ui-nested-sortable="" ng-model="item.items">
<li ng-repeat="subItem in item.items" ui-nested-sortable-item="">
<div ui-nested-sortable-handle>
{{subItem.title}}
</div>
</li>
</ol>
</li>
</ol> Changes to
<div ui-tree>
<ol ui-tree-nodes="" ng-model="list">
<li ng-repeat="item in list" ui-tree-node>
<div ui-tree-handle>
{{item.title}}
</div>
<ol ui-tree-nodes="" ng-model="item.items">
<li ng-repeat="subItem in item.items" ui-tree-node>
<div ui-tree-handle>
{{subItem.title}}
</div>
</li>
</ol>
</li>
</ol>
</div>Callbacks is passed through the directive ui-tree now.
Example:
myAppModule.controller('MyController', function($scope) {
$scope.treeOptions = {
accept: function(sourceNodeScope, destNodesScope, destIndex) {
return true;
},
};
});<div ui-tree="treeOptions">
<ol ui-tree-nodes ng-model="nodes">
<li ng-repeat="node in nodes" ui-tree-node>{{node.title}}</li>
</ol>
</div>Removed the first argument modelData, using sourceNodeScope.$modelValue can get the model data.
V1.x:
accept: function(modelData, sourceItemScope, targetScope, destIndex) {
return true;
},V2.0
callbacks.accept = function(sourceNodeScope, destNodesScope, destIndex) {
if (destNodesScope.nodrop || destNodesScope.outOfDepth(sourceNodeScope)) {
return false;
}
return true;
};These functions had been merged to callbacks.dropped.
callbacks.dropped = function(event) {
};- Using
event.dest.nodesScopeto get which nodes had been added node. - Using
event.source.nodesScopeto get which nodes have been removed node. - Using
event.dest.nodesScope.isParent(event.source.nodeScope)to check if it moves in same parent node - Using
event.source.indexto get the index before it was dragged.
These 3 functions had been changed to dragStart, dragMove and dragStop.
V1.x
callbacks.start = function(scope, modelData, elements) {
};
callbacks.move = function(scope, modelData, elements) {
}
callbacks.stop = function(scope, modelData, elements) {
}V2.0
callbacks.dragStart = function(event) {
};
callbacks.dragMove = function(event) {
}
callbacks.dragStop = function(event) {
}