angular-ui-tree
Version:
An AngularJS UI component that can sort nested lists, provides drag & drop support and doesn't depend on jQuery
82 lines (72 loc) • 1.78 kB
JavaScript
(function () {
'use strict';
angular.module('demoApp')
.controller('ExpandOnHoverCtrl', ['$scope', function ($scope) {
$scope.remove = function (scope) {
scope.remove();
};
$scope.toggle = function (scope) {
scope.toggle();
};
$scope.moveLastToTheBeginning = function () {
var a = $scope.data.pop();
$scope.data.splice(0, 0, a);
};
$scope.newSubItem = function (scope) {
var nodeData = scope.$modelValue;
nodeData.nodes.push({
id: nodeData.id * 10 + nodeData.nodes.length,
title: nodeData.title + '.' + (nodeData.nodes.length + 1),
nodes: []
});
};
$scope.collapseAll = function () {
$scope.$broadcast('angular-ui-tree:collapse-all');
};
$scope.expandAll = function () {
$scope.$broadcast('angular-ui-tree:expand-all');
};
$scope.dataBoolean = [{
'id': 1,
'title': 'node1',
'nodes': [
{
'id': 11,
'title': 'node1.1',
'nodes': [
{
'id': 111,
'title': 'node1.1.1',
'nodes': []
}
]
}
]
}, {
'id': 2,
'title': 'node2',
'nodes': []
}];
$scope.dataNumber = [{
'id': 1,
'title': 'node1',
'nodes': [
{
'id': 11,
'title': 'node1.1',
'nodes': [
{
'id': 111,
'title': 'node1.1.1',
'nodes': []
}
]
}
]
}, {
'id': 2,
'title': 'node2',
'nodes': []
}];
}]);
}());