@plotly/d3
Version:
29 lines (24 loc) • 771 B
JavaScript
import "../selection/select";
import "transition";
d3_transitionPrototype.select = function(selector) {
var id = this.id,
ns = this.namespace,
subgroups = [],
subgroup,
subnode,
node;
selector = d3_selection_selector(selector);
for (var j = -1, m = this.length; ++j < m;) {
subgroups.push(subgroup = []);
for (var group = this[j], i = -1, n = group.length; ++i < n;) {
if ((node = group[i]) && (subnode = selector.call(node, node.__data__, i, j))) {
if ("__data__" in node) subnode.__data__ = node.__data__;
d3_transitionNode(subnode, i, ns, id, node[ns][id]);
subgroup.push(subnode);
} else {
subgroup.push(null);
}
}
}
return d3_transition(subgroups, ns, id);
};