|
|
|
@ -3129,7 +3129,6 @@ nv.models.distribution = function() {
|
|
|
|
|
|
|
|
|
|
return chart;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
nv.models.indentedTree = function() {
|
|
|
|
|
|
|
|
|
|
//============================================================
|
|
|
|
@ -3142,6 +3141,7 @@ nv.models.indentedTree = function() {
|
|
|
|
|
, color = nv.utils.defaultColor()
|
|
|
|
|
, id = Math.floor(Math.random() * 10000)
|
|
|
|
|
, header = true
|
|
|
|
|
, filterZero = false
|
|
|
|
|
, noData = "No Data Available."
|
|
|
|
|
, childIndent = 20
|
|
|
|
|
, columns = [{key:'key', label: 'Name', type:'text'}] //TODO: consider functions like chart.addColumn, chart.removeColumn, instead of a block like this
|
|
|
|
@ -3176,7 +3176,6 @@ nv.models.indentedTree = function() {
|
|
|
|
|
|
|
|
|
|
var nodes = tree.nodes(data[0]);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//------------------------------------------------------------
|
|
|
|
|
// Setup containers and skeleton of chart
|
|
|
|
|
|
|
|
|
@ -3205,7 +3204,7 @@ nv.models.indentedTree = function() {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var tbody = table.selectAll('tbody')
|
|
|
|
|
.data(function(d) {return d });
|
|
|
|
|
.data(function(d) { return d });
|
|
|
|
|
tbody.enter().append('tbody');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -3217,7 +3216,7 @@ nv.models.indentedTree = function() {
|
|
|
|
|
|
|
|
|
|
// Update the nodes…
|
|
|
|
|
var node = tbody.selectAll('tr')
|
|
|
|
|
.data(function(d) { return d }, function(d) { return d.id || (d.id == ++i)});
|
|
|
|
|
.data(function(d) { return d.filter(function(d) { return (filterZero && !d.children) ? filterZero(d) : true; }) }, function(d) { return d.id || (d.id == ++i)});
|
|
|
|
|
//.style('display', 'table-row'); //TODO: see if this does anything
|
|
|
|
|
|
|
|
|
|
node.exit().remove();
|
|
|
|
@ -3255,15 +3254,16 @@ nv.models.indentedTree = function() {
|
|
|
|
|
.text(function(d) { return column.format ? column.format(d) :
|
|
|
|
|
(d[column.key] || '-') });
|
|
|
|
|
|
|
|
|
|
if (column.showCount)
|
|
|
|
|
if (column.showCount) {
|
|
|
|
|
nodeName.append('span')
|
|
|
|
|
.attr('class', 'nv-childrenCount')
|
|
|
|
|
.text(function(d) {
|
|
|
|
|
return ((d.values && d.values.length) || (d._values && d._values.length)) ?
|
|
|
|
|
'(' + ((d.values && d.values.length) || (d._values && d._values.length)) + ')'
|
|
|
|
|
: ''
|
|
|
|
|
});
|
|
|
|
|
.attr('class', 'nv-childrenCount');
|
|
|
|
|
|
|
|
|
|
node.selectAll('span.nv-childrenCount').text(function(d) {
|
|
|
|
|
return ((d.values && d.values.length) || (d._values && d._values.length)) ?
|
|
|
|
|
'(' + ((d.values && d.values.filter(function(d) { return (filterZero && !d.children) ? filterZero(d) : true; }).length) || (d._values && d._values.filter(function(d) { return (filterZero && !d.children) ? filterZero(d) : true; }).length)) + ')'
|
|
|
|
|
: ''
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (column.click)
|
|
|
|
|
nodeName.select('span').on('click', column.click);
|
|
|
|
@ -3406,6 +3406,12 @@ nv.models.indentedTree = function() {
|
|
|
|
|
return chart;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
chart.filterZero = function(_) {
|
|
|
|
|
if (!arguments.length) return filterZero;
|
|
|
|
|
filterZero = _;
|
|
|
|
|
return chart;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
chart.columns = function(_) {
|
|
|
|
|
if (!arguments.length) return columns;
|
|
|
|
|
columns = _;
|
|
|
|
@ -3434,8 +3440,7 @@ nv.models.indentedTree = function() {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return chart;
|
|
|
|
|
}
|
|
|
|
|
nv.models.legend = function() {
|
|
|
|
|
};nv.models.legend = function() {
|
|
|
|
|
|
|
|
|
|
//============================================================
|
|
|
|
|
// Public Variables with Default Settings
|
|
|
|
|