Skip to content

Commit 0b151bd

Browse files
committed
Add support for file/folder (leaf/container) nodes.
1 parent e72dd58 commit 0b151bd

2 files changed

Lines changed: 22 additions & 19 deletions

File tree

angular.treeview.js

Lines changed: 21 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,12 @@
1515
<div
1616
data-angular-treeview="true"
1717
data-tree-id="tree"
18-
data-tree-model="roleList"
19-
data-node-id="roleId"
20-
data-node-label="roleName"
18+
data-tree-model="fileList"
19+
data-node-id="id"
20+
data-node-label="name"
21+
data-node-type="type"
22+
data-node-type-container="folder"
23+
data-node-type-leaf="file"
2124
data-node-children="children" >
2225
</div>
2326
*/
@@ -29,30 +32,32 @@
2932
return {
3033
restrict: 'A',
3134
link: function ( scope, element, attrs ) {
32-
//tree id
3335
var treeId = attrs.treeId;
34-
35-
//tree model
3636
var treeModel = attrs.treeModel;
37-
38-
//node id
3937
var nodeId = attrs.nodeId || 'id';
40-
41-
//node label
4238
var nodeLabel = attrs.nodeLabel || 'label';
43-
44-
//children
4539
var nodeChildren = attrs.nodeChildren || 'children';
40+
var nodeType = attrs.nodeType || 'type';
41+
var nodeTypeContainer = attrs.nodeTypeContainer || 'folder';
42+
var nodeTypeLeaf = attrs.nodeTypeLeaf || 'file';
4643

4744
//tree template
4845
var template =
4946
'<ul>' +
5047
'<li data-ng-repeat="node in ' + treeModel + '">' +
51-
'<i class="collapsed" data-ng-show="node.' + nodeChildren + '.length && node.collapsed" data-ng-click="' + treeId + '.selectNodeHead(node)"></i>' +
52-
'<i class="expanded" data-ng-show="node.' + nodeChildren + '.length && !node.collapsed" data-ng-click="' + treeId + '.selectNodeHead(node)"></i>' +
53-
'<i class="normal" data-ng-hide="node.' + nodeChildren + '.length"></i> ' +
48+
'<span data-ng-show="node.' + nodeType + ' == \'' + nodeTypeContainer + '\'">' +
49+
'<i class="collapsed" data-ng-show="node.collapsed" data-ng-click="' + treeId + '.selectNodeHead(node)"></i>' +
50+
'<i class="expanded" data-ng-show="!node.collapsed" data-ng-click="' + treeId + '.selectNodeHead(node)"></i>' +
51+
'</span>' +
52+
'<span data-ng-show="node.' + nodeType + ' == \'' + nodeTypeLeaf + '\'">' +
53+
'<i class="normal" data-ng-hide="node.' + nodeChildren + '.length"></i> ' +
54+
'</span>' +
5455
'<span data-ng-class="node.selected" data-ng-click="' + treeId + '.selectNodeLabel(node)">{{node.' + nodeLabel + '}}</span>' +
55-
'<div data-ng-hide="node.collapsed" data-tree-id="' + treeId + '" data-tree-model="node.' + nodeChildren + '" data-node-id=' + nodeId + ' data-node-label=' + nodeLabel + ' data-node-children=' + nodeChildren + '></div>' +
56+
57+
// template recurrency
58+
'<div data-ng-hide="node.collapsed" data-tree-id="' + treeId + '" data-tree-model="node.' + nodeChildren + '" data-node-id=' + nodeId +
59+
' data-node-label=' + nodeLabel + ' data-node-children=' + nodeChildren + ' data-node-type=' + nodeType +
60+
' data-node-type-container=' + nodeTypeContainer + ' data-node-type-leaf=' + nodeTypeLeaf + '></div>' +
5661
'</li>' +
5762
'</ul>';
5863

angular.treeview.min.js

Lines changed: 1 addition & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)