Skip to content

Commit cd43685

Browse files
committed
WIP: implement family tree
1 parent f48577d commit cd43685

File tree

5 files changed

+31
-19
lines changed

5 files changed

+31
-19
lines changed

demo/family-tree.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,14 +33,14 @@
3333
{ 'id': '5', 'name': 'Su Miao', 'title': 'department manager', 'gender': 'female',
3434
'children': [
3535
[
36-
{ 'id': '6', 'name': 'Hei Hei', 'title': 'senior engineer', 'gender': 'male' },
3736
{ 'id': '7', 'name': 'Pang Pang', 'title': 'engineer', 'gender': 'female',
3837
'children': [
3938
[{ 'id': '8', 'name': 'Dan Dan', 'title': 'UE engineer', 'gender': 'female' }],
4039
[{ 'id': '9', 'name': 'Er Dan', 'title': 'engineer', 'gender': 'female' }],
4140
[{ 'id': '10', 'name': 'San Dan', 'title': 'engineer', 'gender': 'female' }]
4241
]
4342
},
43+
{ 'id': '6', 'name': 'Hei Hei', 'title': 'senior engineer', 'gender': 'male' },
4444
{ 'id': '11', 'name': 'Er Pang', 'title': 'engineer', 'gender': 'female',
4545
'children': [
4646
[{ 'id': '12', 'name': 'Si Dan', 'title': 'UE engineer', 'gender': 'female' }],

dist/js/jquery.orgchart.js

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1490,17 +1490,23 @@
14901490
// Construct the single node in OrgChart or the multiple nodes in family tree
14911491
if (Array.isArray(data)) {
14921492
$.each(data, function () {
1493-
$.each(this, function () {
1493+
var _this = this;
1494+
$.each(this, function (i) {
14941495
$nodeDiv = that.createNode(this);
1495-
// if ($hierarchy.children('.node').length) {
1496-
// $hierarchy.children('.node:last').after($nodeDiv);
1497-
// } else {
1498-
var $wrapper = $('<li class="hierarchy"></li>');
1499-
$wrapper.append($nodeDiv);
1496+
if (_this.length === 2 && i === 1) {
1497+
// // $hierarchy.children('.node:last').after($nodeDiv);
1498+
$hierarchy.children('.hierarchy:first').append($nodeDiv);
1499+
if (this.children && this.children.length) {
1500+
that.buildInferiorNodes($hierarchy.children('.hierarchy:first'), $nodeDiv, this, level);
1501+
}
1502+
} else {
1503+
var $wrapper = $('<li class="hierarchy"></li>');
1504+
$wrapper.append($nodeDiv);
15001505
$hierarchy.append($wrapper);
15011506
// }
1502-
if (this.children && this.children.length) {
1503-
that.buildInferiorNodes($wrapper, $nodeDiv, this, level);
1507+
if (this.children && this.children.length) {
1508+
that.buildInferiorNodes($wrapper, $nodeDiv, this, level);
1509+
}
15041510
}
15051511
});
15061512
});

dist/js/jquery.orgchart.min.js

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

dist/js/jquery.orgchart.min.js.map

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

src/js/jquery.orgchart.js

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1490,17 +1490,23 @@
14901490
// Construct the single node in OrgChart or the multiple nodes in family tree
14911491
if (Array.isArray(data)) {
14921492
$.each(data, function () {
1493-
$.each(this, function () {
1493+
var _this = this;
1494+
$.each(this, function (i) {
14941495
$nodeDiv = that.createNode(this);
1495-
// if ($hierarchy.children('.node').length) {
1496-
// $hierarchy.children('.node:last').after($nodeDiv);
1497-
// } else {
1498-
var $wrapper = $('<li class="hierarchy"></li>');
1499-
$wrapper.append($nodeDiv);
1496+
if (_this.length === 2 && i === 1) {
1497+
// // $hierarchy.children('.node:last').after($nodeDiv);
1498+
$hierarchy.children('.hierarchy:first').append($nodeDiv);
1499+
if (this.children && this.children.length) {
1500+
that.buildInferiorNodes($hierarchy.children('.hierarchy:first'), $nodeDiv, this, level);
1501+
}
1502+
} else {
1503+
var $wrapper = $('<li class="hierarchy"></li>');
1504+
$wrapper.append($nodeDiv);
15001505
$hierarchy.append($wrapper);
15011506
// }
1502-
if (this.children && this.children.length) {
1503-
that.buildInferiorNodes($wrapper, $nodeDiv, this, level);
1507+
if (this.children && this.children.length) {
1508+
that.buildInferiorNodes($wrapper, $nodeDiv, this, level);
1509+
}
15041510
}
15051511
});
15061512
});

0 commit comments

Comments
 (0)