toolkit/javascript/d3/src/core/selection-enter-select.js
changeset 47 c0b4a8b5a012
equal deleted inserted replaced
46:efd9c589177a 47:c0b4a8b5a012
       
     1 d3_selection_enterPrototype.select = function(selector) {
       
     2   var subgroups = [],
       
     3       subgroup,
       
     4       subnode,
       
     5       upgroup,
       
     6       group,
       
     7       node;
       
     8 
       
     9   for (var j = -1, m = this.length; ++j < m;) {
       
    10     upgroup = (group = this[j]).update;
       
    11     subgroups.push(subgroup = []);
       
    12     subgroup.parentNode = group.parentNode;
       
    13     for (var i = -1, n = group.length; ++i < n;) {
       
    14       if (node = group[i]) {
       
    15         subgroup.push(upgroup[i] = subnode = selector.call(group.parentNode, node.__data__, i));
       
    16         subnode.__data__ = node.__data__;
       
    17       } else {
       
    18         subgroup.push(null);
       
    19       }
       
    20     }
       
    21   }
       
    22 
       
    23   return d3_selection(subgroups);
       
    24 };