d3-selection
Advanced tools
Comparing version 1.4.0 to 1.4.1
@@ -1,7 +0,7 @@ | ||
// https://d3js.org/d3-selection/ v1.4.0 Copyright 2019 Mike Bostock | ||
// https://d3js.org/d3-selection/ v1.4.1 Copyright 2019 Mike Bostock | ||
(function (global, factory) { | ||
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) : | ||
typeof define === 'function' && define.amd ? define(['exports'], factory) : | ||
(factory((global.d3 = global.d3 || {}))); | ||
}(this, (function (exports) { 'use strict'; | ||
(global = global || self, factory(global.d3 = global.d3 || {})); | ||
}(this, function (exports) { 'use strict'; | ||
@@ -272,5 +272,5 @@ var xhtml = "http://www.w3.org/1999/xhtml"; | ||
function selection_merge(selection$$1) { | ||
function selection_merge(selection) { | ||
for (var groups0 = this._groups, groups1 = selection$$1._groups, m0 = groups0.length, m1 = groups1.length, m = Math.min(m0, m1), merges = new Array(m0), j = 0; j < m; ++j) { | ||
for (var groups0 = this._groups, groups1 = selection._groups, m0 = groups0.length, m1 = groups1.length, m = Math.min(m0, m1), merges = new Array(m0), j = 0; j < m; ++j) { | ||
for (var group0 = groups0[j], group1 = groups1[j], n = group0.length, merge = merges[j] = new Array(n), node, i = 0; i < n; ++i) { | ||
@@ -671,7 +671,9 @@ if (node = group0[i] || group1[i]) { | ||
function selection_cloneShallow() { | ||
return this.parentNode.insertBefore(this.cloneNode(false), this.nextSibling); | ||
var clone = this.cloneNode(false), parent = this.parentNode; | ||
return parent ? parent.insertBefore(clone, this.nextSibling) : clone; | ||
} | ||
function selection_cloneDeep() { | ||
return this.parentNode.insertBefore(this.cloneNode(true), this.nextSibling); | ||
var clone = this.cloneNode(true), parent = this.parentNode; | ||
return parent ? parent.insertBefore(clone, this.nextSibling) : clone; | ||
} | ||
@@ -968,4 +970,6 @@ | ||
exports.clientPoint = point; | ||
exports.create = create; | ||
exports.creator = creator; | ||
exports.customEvent = customEvent; | ||
exports.local = local; | ||
@@ -976,3 +980,2 @@ exports.matcher = matcher; | ||
exports.namespaces = namespaces; | ||
exports.clientPoint = point; | ||
exports.select = select; | ||
@@ -987,6 +990,5 @@ exports.selectAll = selectAll; | ||
exports.window = defaultView; | ||
exports.customEvent = customEvent; | ||
Object.defineProperty(exports, '__esModule', { value: true }); | ||
}))); | ||
})); |
@@ -1,2 +0,2 @@ | ||
// https://d3js.org/d3-selection/ v1.4.0 Copyright 2019 Mike Bostock | ||
!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n(t.d3=t.d3||{})}(this,function(t){"use strict";var n="http://www.w3.org/1999/xhtml",e={svg:"http://www.w3.org/2000/svg",xhtml:n,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function r(t){var n=t+="",r=n.indexOf(":");return r>=0&&"xmlns"!==(n=t.slice(0,r))&&(t=t.slice(r+1)),e.hasOwnProperty(n)?{space:e[n],local:t}:t}function i(t){var e=r(t);return(e.local?function(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}:function(t){return function(){var e=this.ownerDocument,r=this.namespaceURI;return r===n&&e.documentElement.namespaceURI===n?e.createElement(t):e.createElementNS(r,t)}})(e)}function o(){}function u(t){return null==t?o:function(){return this.querySelector(t)}}function c(){return[]}function s(t){return null==t?c:function(){return this.querySelectorAll(t)}}function a(t){return function(){return this.matches(t)}}function l(t){return new Array(t.length)}function f(t,n){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=n}f.prototype={constructor:f,appendChild:function(t){return this._parent.insertBefore(t,this._next)},insertBefore:function(t,n){return this._parent.insertBefore(t,n)},querySelector:function(t){return this._parent.querySelector(t)},querySelectorAll:function(t){return this._parent.querySelectorAll(t)}};var h="$";function p(t,n,e,r,i,o){for(var u,c=0,s=n.length,a=o.length;c<a;++c)(u=n[c])?(u.__data__=o[c],r[c]=u):e[c]=new f(t,o[c]);for(;c<s;++c)(u=n[c])&&(i[c]=u)}function _(t,n,e,r,i,o,u){var c,s,a,l={},p=n.length,_=o.length,v=new Array(p);for(c=0;c<p;++c)(s=n[c])&&(v[c]=a=h+u.call(s,s.__data__,c,n),a in l?i[c]=s:l[a]=s);for(c=0;c<_;++c)(s=l[a=h+u.call(t,o[c],c,o)])?(r[c]=s,s.__data__=o[c],l[a]=null):e[c]=new f(t,o[c]);for(c=0;c<p;++c)(s=n[c])&&l[v[c]]===s&&(i[c]=s)}function v(t,n){return t<n?-1:t>n?1:t>=n?0:NaN}function d(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView}function y(t,n){return t.style.getPropertyValue(n)||d(t).getComputedStyle(t,null).getPropertyValue(n)}function m(t){return t.trim().split(/^|\s+/)}function g(t){return t.classList||new w(t)}function w(t){this._node=t,this._names=m(t.getAttribute("class")||"")}function A(t,n){for(var e=g(t),r=-1,i=n.length;++r<i;)e.add(n[r])}function x(t,n){for(var e=g(t),r=-1,i=n.length;++r<i;)e.remove(n[r])}function S(){this.textContent=""}function b(){this.innerHTML=""}function E(){this.nextSibling&&this.parentNode.appendChild(this)}function N(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function P(){return null}function C(){var t=this.parentNode;t&&t.removeChild(this)}function L(){return this.parentNode.insertBefore(this.cloneNode(!1),this.nextSibling)}function T(){return this.parentNode.insertBefore(this.cloneNode(!0),this.nextSibling)}w.prototype={add:function(t){this._names.indexOf(t)<0&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},remove:function(t){var n=this._names.indexOf(t);n>=0&&(this._names.splice(n,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};var B={};(t.event=null,"undefined"!=typeof document)&&("onmouseenter"in document.documentElement||(B={mouseenter:"mouseover",mouseleave:"mouseout"}));function q(t,n,e){return t=D(t,n,e),function(n){var e=n.relatedTarget;e&&(e===this||8&e.compareDocumentPosition(this))||t.call(this,n)}}function D(n,e,r){return function(i){var o=t.event;t.event=i;try{n.call(this,this.__data__,e,r)}finally{t.event=o}}}function M(t){return function(){var n=this.__on;if(n){for(var e,r=0,i=-1,o=n.length;r<o;++r)e=n[r],t.type&&e.type!==t.type||e.name!==t.name?n[++i]=e:this.removeEventListener(e.type,e.listener,e.capture);++i?n.length=i:delete this.__on}}}function O(t,n,e){var r=B.hasOwnProperty(t.type)?q:D;return function(i,o,u){var c,s=this.__on,a=r(n,o,u);if(s)for(var l=0,f=s.length;l<f;++l)if((c=s[l]).type===t.type&&c.name===t.name)return this.removeEventListener(c.type,c.listener,c.capture),this.addEventListener(c.type,c.listener=a,c.capture=e),void(c.value=n);this.addEventListener(t.type,a,e),c={type:t.type,name:t.name,value:n,listener:a,capture:e},s?s.push(c):this.__on=[c]}}function V(t,n,e){var r=d(t),i=r.CustomEvent;"function"==typeof i?i=new i(n,e):(i=r.document.createEvent("Event"),e?(i.initEvent(n,e.bubbles,e.cancelable),i.detail=e.detail):i.initEvent(n,!1,!1)),t.dispatchEvent(i)}var j=[null];function R(t,n){this._groups=t,this._parents=n}function H(){return new R([[document.documentElement]],j)}function I(t){return"string"==typeof t?new R([[document.querySelector(t)]],[document.documentElement]):new R([[t]],j)}R.prototype=H.prototype={constructor:R,select:function(t){"function"!=typeof t&&(t=u(t));for(var n=this._groups,e=n.length,r=new Array(e),i=0;i<e;++i)for(var o,c,s=n[i],a=s.length,l=r[i]=new Array(a),f=0;f<a;++f)(o=s[f])&&(c=t.call(o,o.__data__,f,s))&&("__data__"in o&&(c.__data__=o.__data__),l[f]=c);return new R(r,this._parents)},selectAll:function(t){"function"!=typeof t&&(t=s(t));for(var n=this._groups,e=n.length,r=[],i=[],o=0;o<e;++o)for(var u,c=n[o],a=c.length,l=0;l<a;++l)(u=c[l])&&(r.push(t.call(u,u.__data__,l,c)),i.push(u));return new R(r,i)},filter:function(t){"function"!=typeof t&&(t=a(t));for(var n=this._groups,e=n.length,r=new Array(e),i=0;i<e;++i)for(var o,u=n[i],c=u.length,s=r[i]=[],l=0;l<c;++l)(o=u[l])&&t.call(o,o.__data__,l,u)&&s.push(o);return new R(r,this._parents)},data:function(t,n){if(!t)return d=new Array(this.size()),l=-1,this.each(function(t){d[++l]=t}),d;var e,r=n?_:p,i=this._parents,o=this._groups;"function"!=typeof t&&(e=t,t=function(){return e});for(var u=o.length,c=new Array(u),s=new Array(u),a=new Array(u),l=0;l<u;++l){var f=i[l],h=o[l],v=h.length,d=t.call(f,f&&f.__data__,l,i),y=d.length,m=s[l]=new Array(y),g=c[l]=new Array(y);r(f,h,m,g,a[l]=new Array(v),d,n);for(var w,A,x=0,S=0;x<y;++x)if(w=m[x]){for(x>=S&&(S=x+1);!(A=g[S])&&++S<y;);w._next=A||null}}return(c=new R(c,i))._enter=s,c._exit=a,c},enter:function(){return new R(this._enter||this._groups.map(l),this._parents)},exit:function(){return new R(this._exit||this._groups.map(l),this._parents)},join:function(t,n,e){var r=this.enter(),i=this,o=this.exit();return r="function"==typeof t?t(r):r.append(t+""),null!=n&&(i=n(i)),null==e?o.remove():e(o),r&&i?r.merge(i).order():i},merge:function(t){for(var n=this._groups,e=t._groups,r=n.length,i=e.length,o=Math.min(r,i),u=new Array(r),c=0;c<o;++c)for(var s,a=n[c],l=e[c],f=a.length,h=u[c]=new Array(f),p=0;p<f;++p)(s=a[p]||l[p])&&(h[p]=s);for(;c<r;++c)u[c]=n[c];return new R(u,this._parents)},order:function(){for(var t=this._groups,n=-1,e=t.length;++n<e;)for(var r,i=t[n],o=i.length-1,u=i[o];--o>=0;)(r=i[o])&&(u&&4^r.compareDocumentPosition(u)&&u.parentNode.insertBefore(r,u),u=r);return this},sort:function(t){function n(n,e){return n&&e?t(n.__data__,e.__data__):!n-!e}t||(t=v);for(var e=this._groups,r=e.length,i=new Array(r),o=0;o<r;++o){for(var u,c=e[o],s=c.length,a=i[o]=new Array(s),l=0;l<s;++l)(u=c[l])&&(a[l]=u);a.sort(n)}return new R(i,this._parents).order()},call:function(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this},nodes:function(){var t=new Array(this.size()),n=-1;return this.each(function(){t[++n]=this}),t},node:function(){for(var t=this._groups,n=0,e=t.length;n<e;++n)for(var r=t[n],i=0,o=r.length;i<o;++i){var u=r[i];if(u)return u}return null},size:function(){var t=0;return this.each(function(){++t}),t},empty:function(){return!this.node()},each:function(t){for(var n=this._groups,e=0,r=n.length;e<r;++e)for(var i,o=n[e],u=0,c=o.length;u<c;++u)(i=o[u])&&t.call(i,i.__data__,u,o);return this},attr:function(t,n){var e=r(t);if(arguments.length<2){var i=this.node();return e.local?i.getAttributeNS(e.space,e.local):i.getAttribute(e)}return this.each((null==n?e.local?function(t){return function(){this.removeAttributeNS(t.space,t.local)}}:function(t){return function(){this.removeAttribute(t)}}:"function"==typeof n?e.local?function(t,n){return function(){var e=n.apply(this,arguments);null==e?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,e)}}:function(t,n){return function(){var e=n.apply(this,arguments);null==e?this.removeAttribute(t):this.setAttribute(t,e)}}:e.local?function(t,n){return function(){this.setAttributeNS(t.space,t.local,n)}}:function(t,n){return function(){this.setAttribute(t,n)}})(e,n))},style:function(t,n,e){return arguments.length>1?this.each((null==n?function(t){return function(){this.style.removeProperty(t)}}:"function"==typeof n?function(t,n,e){return function(){var r=n.apply(this,arguments);null==r?this.style.removeProperty(t):this.style.setProperty(t,r,e)}}:function(t,n,e){return function(){this.style.setProperty(t,n,e)}})(t,n,null==e?"":e)):y(this.node(),t)},property:function(t,n){return arguments.length>1?this.each((null==n?function(t){return function(){delete this[t]}}:"function"==typeof n?function(t,n){return function(){var e=n.apply(this,arguments);null==e?delete this[t]:this[t]=e}}:function(t,n){return function(){this[t]=n}})(t,n)):this.node()[t]},classed:function(t,n){var e=m(t+"");if(arguments.length<2){for(var r=g(this.node()),i=-1,o=e.length;++i<o;)if(!r.contains(e[i]))return!1;return!0}return this.each(("function"==typeof n?function(t,n){return function(){(n.apply(this,arguments)?A:x)(this,t)}}:n?function(t){return function(){A(this,t)}}:function(t){return function(){x(this,t)}})(e,n))},text:function(t){return arguments.length?this.each(null==t?S:("function"==typeof t?function(t){return function(){var n=t.apply(this,arguments);this.textContent=null==n?"":n}}:function(t){return function(){this.textContent=t}})(t)):this.node().textContent},html:function(t){return arguments.length?this.each(null==t?b:("function"==typeof t?function(t){return function(){var n=t.apply(this,arguments);this.innerHTML=null==n?"":n}}:function(t){return function(){this.innerHTML=t}})(t)):this.node().innerHTML},raise:function(){return this.each(E)},lower:function(){return this.each(N)},append:function(t){var n="function"==typeof t?t:i(t);return this.select(function(){return this.appendChild(n.apply(this,arguments))})},insert:function(t,n){var e="function"==typeof t?t:i(t),r=null==n?P:"function"==typeof n?n:u(n);return this.select(function(){return this.insertBefore(e.apply(this,arguments),r.apply(this,arguments)||null)})},remove:function(){return this.each(C)},clone:function(t){return this.select(t?T:L)},datum:function(t){return arguments.length?this.property("__data__",t):this.node().__data__},on:function(t,n,e){var r,i,o=function(t){return t.trim().split(/^|\s+/).map(function(t){var n="",e=t.indexOf(".");return e>=0&&(n=t.slice(e+1),t=t.slice(0,e)),{type:t,name:n}})}(t+""),u=o.length;if(!(arguments.length<2)){for(c=n?O:M,null==e&&(e=!1),r=0;r<u;++r)this.each(c(o[r],n,e));return this}var c=this.node().__on;if(c)for(var s,a=0,l=c.length;a<l;++a)for(r=0,s=c[a];r<u;++r)if((i=o[r]).type===s.type&&i.name===s.name)return s.value},dispatch:function(t,n){return this.each(("function"==typeof n?function(t,n){return function(){return V(this,t,n.apply(this,arguments))}}:function(t,n){return function(){return V(this,t,n)}})(t,n))}};var U=0;function z(){return new G}function G(){this._="@"+(++U).toString(36)}function X(){for(var n,e=t.event;n=e.sourceEvent;)e=n;return e}function k(t,n){var e=t.ownerSVGElement||t;if(e.createSVGPoint){var r=e.createSVGPoint();return r.x=n.clientX,r.y=n.clientY,[(r=r.matrixTransform(t.getScreenCTM().inverse())).x,r.y]}var i=t.getBoundingClientRect();return[n.clientX-i.left-t.clientLeft,n.clientY-i.top-t.clientTop]}G.prototype=z.prototype={constructor:G,get:function(t){for(var n=this._;!(n in t);)if(!(t=t.parentNode))return;return t[n]},set:function(t,n){return t[this._]=n},remove:function(t){return this._ in t&&delete t[this._]},toString:function(){return this._}},t.create=function(t){return I(i(t).call(document.documentElement))},t.creator=i,t.local=z,t.matcher=a,t.mouse=function(t){var n=X();return n.changedTouches&&(n=n.changedTouches[0]),k(t,n)},t.namespace=r,t.namespaces=e,t.clientPoint=k,t.select=I,t.selectAll=function(t){return"string"==typeof t?new R([document.querySelectorAll(t)],[document.documentElement]):new R([null==t?[]:t],j)},t.selection=H,t.selector=u,t.selectorAll=s,t.style=y,t.touch=function(t,n,e){arguments.length<3&&(e=n,n=X().changedTouches);for(var r,i=0,o=n?n.length:0;i<o;++i)if((r=n[i]).identifier===e)return k(t,r);return null},t.touches=function(t,n){null==n&&(n=X().touches);for(var e=0,r=n?n.length:0,i=new Array(r);e<r;++e)i[e]=k(t,n[e]);return i},t.window=d,t.customEvent=function(n,e,r,i){var o=t.event;n.sourceEvent=t.event,t.event=n;try{return e.apply(r,i)}finally{t.event=o}},Object.defineProperty(t,"__esModule",{value:!0})}); | ||
// https://d3js.org/d3-selection/ v1.4.1 Copyright 2019 Mike Bostock | ||
!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n((t=t||self).d3=t.d3||{})}(this,function(t){"use strict";var n="http://www.w3.org/1999/xhtml",e={svg:"http://www.w3.org/2000/svg",xhtml:n,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function r(t){var n=t+="",r=n.indexOf(":");return r>=0&&"xmlns"!==(n=t.slice(0,r))&&(t=t.slice(r+1)),e.hasOwnProperty(n)?{space:e[n],local:t}:t}function i(t){var e=r(t);return(e.local?function(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}:function(t){return function(){var e=this.ownerDocument,r=this.namespaceURI;return r===n&&e.documentElement.namespaceURI===n?e.createElement(t):e.createElementNS(r,t)}})(e)}function o(){}function u(t){return null==t?o:function(){return this.querySelector(t)}}function c(){return[]}function s(t){return null==t?c:function(){return this.querySelectorAll(t)}}function a(t){return function(){return this.matches(t)}}function l(t){return new Array(t.length)}function f(t,n){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=n}f.prototype={constructor:f,appendChild:function(t){return this._parent.insertBefore(t,this._next)},insertBefore:function(t,n){return this._parent.insertBefore(t,n)},querySelector:function(t){return this._parent.querySelector(t)},querySelectorAll:function(t){return this._parent.querySelectorAll(t)}};var h="$";function p(t,n,e,r,i,o){for(var u,c=0,s=n.length,a=o.length;c<a;++c)(u=n[c])?(u.__data__=o[c],r[c]=u):e[c]=new f(t,o[c]);for(;c<s;++c)(u=n[c])&&(i[c]=u)}function _(t,n,e,r,i,o,u){var c,s,a,l={},p=n.length,_=o.length,v=new Array(p);for(c=0;c<p;++c)(s=n[c])&&(v[c]=a=h+u.call(s,s.__data__,c,n),a in l?i[c]=s:l[a]=s);for(c=0;c<_;++c)(s=l[a=h+u.call(t,o[c],c,o)])?(r[c]=s,s.__data__=o[c],l[a]=null):e[c]=new f(t,o[c]);for(c=0;c<p;++c)(s=n[c])&&l[v[c]]===s&&(i[c]=s)}function v(t,n){return t<n?-1:t>n?1:t>=n?0:NaN}function d(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView}function y(t,n){return t.style.getPropertyValue(n)||d(t).getComputedStyle(t,null).getPropertyValue(n)}function m(t){return t.trim().split(/^|\s+/)}function g(t){return t.classList||new w(t)}function w(t){this._node=t,this._names=m(t.getAttribute("class")||"")}function A(t,n){for(var e=g(t),r=-1,i=n.length;++r<i;)e.add(n[r])}function x(t,n){for(var e=g(t),r=-1,i=n.length;++r<i;)e.remove(n[r])}function S(){this.textContent=""}function b(){this.innerHTML=""}function E(){this.nextSibling&&this.parentNode.appendChild(this)}function N(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function P(){return null}function C(){var t=this.parentNode;t&&t.removeChild(this)}function L(){var t=this.cloneNode(!1),n=this.parentNode;return n?n.insertBefore(t,this.nextSibling):t}function T(){var t=this.cloneNode(!0),n=this.parentNode;return n?n.insertBefore(t,this.nextSibling):t}w.prototype={add:function(t){this._names.indexOf(t)<0&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},remove:function(t){var n=this._names.indexOf(t);n>=0&&(this._names.splice(n,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};var B={};(t.event=null,"undefined"!=typeof document)&&("onmouseenter"in document.documentElement||(B={mouseenter:"mouseover",mouseleave:"mouseout"}));function q(t,n,e){return t=D(t,n,e),function(n){var e=n.relatedTarget;e&&(e===this||8&e.compareDocumentPosition(this))||t.call(this,n)}}function D(n,e,r){return function(i){var o=t.event;t.event=i;try{n.call(this,this.__data__,e,r)}finally{t.event=o}}}function M(t){return function(){var n=this.__on;if(n){for(var e,r=0,i=-1,o=n.length;r<o;++r)e=n[r],t.type&&e.type!==t.type||e.name!==t.name?n[++i]=e:this.removeEventListener(e.type,e.listener,e.capture);++i?n.length=i:delete this.__on}}}function O(t,n,e){var r=B.hasOwnProperty(t.type)?q:D;return function(i,o,u){var c,s=this.__on,a=r(n,o,u);if(s)for(var l=0,f=s.length;l<f;++l)if((c=s[l]).type===t.type&&c.name===t.name)return this.removeEventListener(c.type,c.listener,c.capture),this.addEventListener(c.type,c.listener=a,c.capture=e),void(c.value=n);this.addEventListener(t.type,a,e),c={type:t.type,name:t.name,value:n,listener:a,capture:e},s?s.push(c):this.__on=[c]}}function V(t,n,e){var r=d(t),i=r.CustomEvent;"function"==typeof i?i=new i(n,e):(i=r.document.createEvent("Event"),e?(i.initEvent(n,e.bubbles,e.cancelable),i.detail=e.detail):i.initEvent(n,!1,!1)),t.dispatchEvent(i)}var j=[null];function R(t,n){this._groups=t,this._parents=n}function H(){return new R([[document.documentElement]],j)}function I(t){return"string"==typeof t?new R([[document.querySelector(t)]],[document.documentElement]):new R([[t]],j)}R.prototype=H.prototype={constructor:R,select:function(t){"function"!=typeof t&&(t=u(t));for(var n=this._groups,e=n.length,r=new Array(e),i=0;i<e;++i)for(var o,c,s=n[i],a=s.length,l=r[i]=new Array(a),f=0;f<a;++f)(o=s[f])&&(c=t.call(o,o.__data__,f,s))&&("__data__"in o&&(c.__data__=o.__data__),l[f]=c);return new R(r,this._parents)},selectAll:function(t){"function"!=typeof t&&(t=s(t));for(var n=this._groups,e=n.length,r=[],i=[],o=0;o<e;++o)for(var u,c=n[o],a=c.length,l=0;l<a;++l)(u=c[l])&&(r.push(t.call(u,u.__data__,l,c)),i.push(u));return new R(r,i)},filter:function(t){"function"!=typeof t&&(t=a(t));for(var n=this._groups,e=n.length,r=new Array(e),i=0;i<e;++i)for(var o,u=n[i],c=u.length,s=r[i]=[],l=0;l<c;++l)(o=u[l])&&t.call(o,o.__data__,l,u)&&s.push(o);return new R(r,this._parents)},data:function(t,n){if(!t)return d=new Array(this.size()),l=-1,this.each(function(t){d[++l]=t}),d;var e,r=n?_:p,i=this._parents,o=this._groups;"function"!=typeof t&&(e=t,t=function(){return e});for(var u=o.length,c=new Array(u),s=new Array(u),a=new Array(u),l=0;l<u;++l){var f=i[l],h=o[l],v=h.length,d=t.call(f,f&&f.__data__,l,i),y=d.length,m=s[l]=new Array(y),g=c[l]=new Array(y);r(f,h,m,g,a[l]=new Array(v),d,n);for(var w,A,x=0,S=0;x<y;++x)if(w=m[x]){for(x>=S&&(S=x+1);!(A=g[S])&&++S<y;);w._next=A||null}}return(c=new R(c,i))._enter=s,c._exit=a,c},enter:function(){return new R(this._enter||this._groups.map(l),this._parents)},exit:function(){return new R(this._exit||this._groups.map(l),this._parents)},join:function(t,n,e){var r=this.enter(),i=this,o=this.exit();return r="function"==typeof t?t(r):r.append(t+""),null!=n&&(i=n(i)),null==e?o.remove():e(o),r&&i?r.merge(i).order():i},merge:function(t){for(var n=this._groups,e=t._groups,r=n.length,i=e.length,o=Math.min(r,i),u=new Array(r),c=0;c<o;++c)for(var s,a=n[c],l=e[c],f=a.length,h=u[c]=new Array(f),p=0;p<f;++p)(s=a[p]||l[p])&&(h[p]=s);for(;c<r;++c)u[c]=n[c];return new R(u,this._parents)},order:function(){for(var t=this._groups,n=-1,e=t.length;++n<e;)for(var r,i=t[n],o=i.length-1,u=i[o];--o>=0;)(r=i[o])&&(u&&4^r.compareDocumentPosition(u)&&u.parentNode.insertBefore(r,u),u=r);return this},sort:function(t){function n(n,e){return n&&e?t(n.__data__,e.__data__):!n-!e}t||(t=v);for(var e=this._groups,r=e.length,i=new Array(r),o=0;o<r;++o){for(var u,c=e[o],s=c.length,a=i[o]=new Array(s),l=0;l<s;++l)(u=c[l])&&(a[l]=u);a.sort(n)}return new R(i,this._parents).order()},call:function(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this},nodes:function(){var t=new Array(this.size()),n=-1;return this.each(function(){t[++n]=this}),t},node:function(){for(var t=this._groups,n=0,e=t.length;n<e;++n)for(var r=t[n],i=0,o=r.length;i<o;++i){var u=r[i];if(u)return u}return null},size:function(){var t=0;return this.each(function(){++t}),t},empty:function(){return!this.node()},each:function(t){for(var n=this._groups,e=0,r=n.length;e<r;++e)for(var i,o=n[e],u=0,c=o.length;u<c;++u)(i=o[u])&&t.call(i,i.__data__,u,o);return this},attr:function(t,n){var e=r(t);if(arguments.length<2){var i=this.node();return e.local?i.getAttributeNS(e.space,e.local):i.getAttribute(e)}return this.each((null==n?e.local?function(t){return function(){this.removeAttributeNS(t.space,t.local)}}:function(t){return function(){this.removeAttribute(t)}}:"function"==typeof n?e.local?function(t,n){return function(){var e=n.apply(this,arguments);null==e?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,e)}}:function(t,n){return function(){var e=n.apply(this,arguments);null==e?this.removeAttribute(t):this.setAttribute(t,e)}}:e.local?function(t,n){return function(){this.setAttributeNS(t.space,t.local,n)}}:function(t,n){return function(){this.setAttribute(t,n)}})(e,n))},style:function(t,n,e){return arguments.length>1?this.each((null==n?function(t){return function(){this.style.removeProperty(t)}}:"function"==typeof n?function(t,n,e){return function(){var r=n.apply(this,arguments);null==r?this.style.removeProperty(t):this.style.setProperty(t,r,e)}}:function(t,n,e){return function(){this.style.setProperty(t,n,e)}})(t,n,null==e?"":e)):y(this.node(),t)},property:function(t,n){return arguments.length>1?this.each((null==n?function(t){return function(){delete this[t]}}:"function"==typeof n?function(t,n){return function(){var e=n.apply(this,arguments);null==e?delete this[t]:this[t]=e}}:function(t,n){return function(){this[t]=n}})(t,n)):this.node()[t]},classed:function(t,n){var e=m(t+"");if(arguments.length<2){for(var r=g(this.node()),i=-1,o=e.length;++i<o;)if(!r.contains(e[i]))return!1;return!0}return this.each(("function"==typeof n?function(t,n){return function(){(n.apply(this,arguments)?A:x)(this,t)}}:n?function(t){return function(){A(this,t)}}:function(t){return function(){x(this,t)}})(e,n))},text:function(t){return arguments.length?this.each(null==t?S:("function"==typeof t?function(t){return function(){var n=t.apply(this,arguments);this.textContent=null==n?"":n}}:function(t){return function(){this.textContent=t}})(t)):this.node().textContent},html:function(t){return arguments.length?this.each(null==t?b:("function"==typeof t?function(t){return function(){var n=t.apply(this,arguments);this.innerHTML=null==n?"":n}}:function(t){return function(){this.innerHTML=t}})(t)):this.node().innerHTML},raise:function(){return this.each(E)},lower:function(){return this.each(N)},append:function(t){var n="function"==typeof t?t:i(t);return this.select(function(){return this.appendChild(n.apply(this,arguments))})},insert:function(t,n){var e="function"==typeof t?t:i(t),r=null==n?P:"function"==typeof n?n:u(n);return this.select(function(){return this.insertBefore(e.apply(this,arguments),r.apply(this,arguments)||null)})},remove:function(){return this.each(C)},clone:function(t){return this.select(t?T:L)},datum:function(t){return arguments.length?this.property("__data__",t):this.node().__data__},on:function(t,n,e){var r,i,o=function(t){return t.trim().split(/^|\s+/).map(function(t){var n="",e=t.indexOf(".");return e>=0&&(n=t.slice(e+1),t=t.slice(0,e)),{type:t,name:n}})}(t+""),u=o.length;if(!(arguments.length<2)){for(c=n?O:M,null==e&&(e=!1),r=0;r<u;++r)this.each(c(o[r],n,e));return this}var c=this.node().__on;if(c)for(var s,a=0,l=c.length;a<l;++a)for(r=0,s=c[a];r<u;++r)if((i=o[r]).type===s.type&&i.name===s.name)return s.value},dispatch:function(t,n){return this.each(("function"==typeof n?function(t,n){return function(){return V(this,t,n.apply(this,arguments))}}:function(t,n){return function(){return V(this,t,n)}})(t,n))}};var U=0;function z(){return new G}function G(){this._="@"+(++U).toString(36)}function X(){for(var n,e=t.event;n=e.sourceEvent;)e=n;return e}function k(t,n){var e=t.ownerSVGElement||t;if(e.createSVGPoint){var r=e.createSVGPoint();return r.x=n.clientX,r.y=n.clientY,[(r=r.matrixTransform(t.getScreenCTM().inverse())).x,r.y]}var i=t.getBoundingClientRect();return[n.clientX-i.left-t.clientLeft,n.clientY-i.top-t.clientTop]}G.prototype=z.prototype={constructor:G,get:function(t){for(var n=this._;!(n in t);)if(!(t=t.parentNode))return;return t[n]},set:function(t,n){return t[this._]=n},remove:function(t){return this._ in t&&delete t[this._]},toString:function(){return this._}},t.clientPoint=k,t.create=function(t){return I(i(t).call(document.documentElement))},t.creator=i,t.customEvent=function(n,e,r,i){var o=t.event;n.sourceEvent=t.event,t.event=n;try{return e.apply(r,i)}finally{t.event=o}},t.local=z,t.matcher=a,t.mouse=function(t){var n=X();return n.changedTouches&&(n=n.changedTouches[0]),k(t,n)},t.namespace=r,t.namespaces=e,t.select=I,t.selectAll=function(t){return"string"==typeof t?new R([document.querySelectorAll(t)],[document.documentElement]):new R([null==t?[]:t],j)},t.selection=H,t.selector=u,t.selectorAll=s,t.style=y,t.touch=function(t,n,e){arguments.length<3&&(e=n,n=X().changedTouches);for(var r,i=0,o=n?n.length:0;i<o;++i)if((r=n[i]).identifier===e)return k(t,r);return null},t.touches=function(t,n){null==n&&(n=X().touches);for(var e=0,r=n?n.length:0,i=new Array(r);e<r;++e)i[e]=k(t,n[e]);return i},t.window=d,Object.defineProperty(t,"__esModule",{value:!0})}); |
{ | ||
"name": "d3-selection", | ||
"version": "1.4.0", | ||
"version": "1.4.1", | ||
"description": "Data-driven DOM manipulation: select elements and join them to data.", | ||
@@ -26,2 +26,6 @@ "keywords": [ | ||
}, | ||
"files": [ | ||
"dist/**/*.js", | ||
"src/**/*.js" | ||
], | ||
"scripts": { | ||
@@ -33,9 +37,10 @@ "pretest": "rollup -c", | ||
}, | ||
"sideEffects": false, | ||
"devDependencies": { | ||
"eslint": "5", | ||
"jsdom": "12", | ||
"rollup": "0.64", | ||
"rollup-plugin-terser": "1", | ||
"eslint": "6", | ||
"jsdom": "15", | ||
"rollup": "1", | ||
"rollup-plugin-terser": "5", | ||
"tape": "4" | ||
} | ||
} |
165
README.md
@@ -16,3 +16,3 @@ # d3-selection | ||
```js | ||
var p = d3.selectAll("p"); | ||
const p = d3.selectAll("p"); | ||
p.attr("class", "graf"); | ||
@@ -40,3 +40,3 @@ p.style("color", "red"); | ||
If you use NPM, `npm install d3-selection`. Otherwise, download the [latest release](https://github.com/d3/d3-selection/releases/latest). You can also load directly from [d3js.org](https://d3js.org), either as a [standalone library](https://d3js.org/d3-selection.v1.min.js) or as part of [D3 4.0](https://github.com/d3/d3). AMD, CommonJS, and vanilla environments are supported. In vanilla, a `d3` global is exported: | ||
If you use NPM, `npm install d3-selection`. Otherwise, download the [latest release](https://github.com/d3/d3-selection/releases/latest). You can also load directly from [d3js.org](https://d3js.org), either as a [standalone library](https://d3js.org/d3-selection.v1.min.js) or as part of [D3](https://github.com/d3/d3). AMD, CommonJS, and vanilla environments are supported. In vanilla, a `d3` global is exported: | ||
@@ -47,3 +47,3 @@ ```html | ||
var div = d3.selectAll("div"); | ||
const div = d3.selectAll("div"); | ||
@@ -53,3 +53,3 @@ </script> | ||
[Try d3-selection in your browser.](https://tonicdev.com/npm/d3-selection) | ||
[Try d3-selection in your browser.](https://observablehq.com/collection/@d3/d3-selection) | ||
@@ -93,3 +93,3 @@ ## API Reference | ||
```js | ||
var anchor = d3.select("a"); | ||
const anchor = d3.select("a"); | ||
``` | ||
@@ -110,3 +110,3 @@ | ||
```js | ||
var paragraph = d3.selectAll("p"); | ||
const paragraph = d3.selectAll("p"); | ||
``` | ||
@@ -125,3 +125,3 @@ | ||
```js | ||
var b = d3.selectAll("p").select("b"); | ||
const b = d3.selectAll("p").select("b"); | ||
``` | ||
@@ -132,3 +132,3 @@ | ||
```js | ||
var previous = d3.selectAll("p").select(function() { | ||
const previous = d3.selectAll("p").select(function() { | ||
return this.previousElementSibling; | ||
@@ -145,3 +145,3 @@ }); | ||
```js | ||
var b = d3.selectAll("p").selectAll("b"); | ||
const b = d3.selectAll("p").selectAll("b"); | ||
``` | ||
@@ -152,3 +152,3 @@ | ||
```js | ||
var sibling = d3.selectAll("p").selectAll(function() { | ||
const sibling = d3.selectAll("p").selectAll(function() { | ||
return [ | ||
@@ -170,3 +170,3 @@ this.previousElementSibling, | ||
```js | ||
var even = d3.selectAll("tr").filter(":nth-child(even)"); | ||
const even = d3.selectAll("tr").filter(":nth-child(even)"); | ||
``` | ||
@@ -177,3 +177,3 @@ | ||
```js | ||
var even = d3.selectAll("tr:nth-child(even)"); | ||
const even = d3.selectAll("tr:nth-child(even)"); | ||
``` | ||
@@ -184,9 +184,9 @@ | ||
```js | ||
var even = d3.selectAll("tr").filter(function(d, i) { return i & 1; }); | ||
const even = d3.selectAll("tr").filter((d, i) => i & 1); | ||
``` | ||
Or using [*selection*.select](#selection_select): | ||
Or using [*selection*.select](#selection_select) (and avoiding an arrow function, since *this* is needed to refer to the current element): | ||
```js | ||
var even = d3.selectAll("tr").select(function(d, i) { return i & 1 ? this : null; }); | ||
const even = d3.selectAll("tr").select(function(d, i) { return i & 1 ? this : null; }); | ||
``` | ||
@@ -202,14 +202,8 @@ | ||
This method is used internally by [*selection*.join](#selection_join) to merge the [enter](#selection_enter) and [update](#selection_data) selections after [binding data](#joining-data). You can also merge explicitly. For example: | ||
This method is used internally by [*selection*.join](#selection_join) to merge the [enter](#selection_enter) and [update](#selection_data) selections after [binding data](#joining-data). You can also merge explicitly, although note that since merging is based on element index, you should use operations that preserve index, such as [*selection*.select](#selection_select) instead of [*selection*.filter](#selection_filter). For example: | ||
```js | ||
var circle = svg.selectAll("circle").data(data) // UPDATE | ||
.style("fill", "blue"); | ||
circle.exit().remove(); // EXIT | ||
circle = circle.enter().append("circle") // ENTER | ||
.style("fill", "green") | ||
.merge(circle) // ENTER + UPDATE | ||
.style("stroke", "black"); | ||
const odd = selection.select(function(d, i) { return i & 1 ? this : null; )); | ||
const even = selection.select(function(d, i) { return i & 1 ? null : this; )); | ||
const merged = odd.merge(even); | ||
``` | ||
@@ -226,3 +220,3 @@ | ||
```js | ||
var div = selection.filter("div"); | ||
const div = selection.filter("div"); | ||
``` | ||
@@ -233,3 +227,3 @@ | ||
```js | ||
var div = selection.filter(d3.matcher("div")); | ||
const div = selection.filter(d3.matcher("div")); | ||
``` | ||
@@ -244,3 +238,3 @@ | ||
```js | ||
var div = selection.select("div"); | ||
const div = selection.select("div"); | ||
``` | ||
@@ -251,3 +245,3 @@ | ||
```js | ||
var div = selection.select(d3.selector("div")); | ||
const div = selection.select(d3.selector("div")); | ||
``` | ||
@@ -260,3 +254,3 @@ | ||
```js | ||
var div = selection.selectAll("div"); | ||
const div = selection.selectAll("div"); | ||
``` | ||
@@ -267,3 +261,3 @@ | ||
```js | ||
var div = selection.selectAll(d3.selectorAll("div")); | ||
const div = selection.selectAll(d3.selectorAll("div")); | ||
``` | ||
@@ -310,3 +304,3 @@ | ||
```js | ||
selection.classed("foo", function() { return Math.random() > 0.5; }); | ||
selection.classed("foo", () => Math.random() > 0.5); | ||
``` | ||
@@ -359,5 +353,3 @@ | ||
```js | ||
d3.selectAll("p").append(function() { | ||
return document.createElement("div"); | ||
}); | ||
d3.selectAll("p").append(() => document.createElement("div")); | ||
``` | ||
@@ -390,5 +382,3 @@ | ||
```js | ||
d3.selectAll("p").insert(function() { | ||
return document.createElement("div"); | ||
}); | ||
d3.selectAll("p").insert(() => document.createElement("div")); | ||
``` | ||
@@ -456,4 +446,11 @@ | ||
Given the specified element *name*, returns a single-element selection containing a detached element of the given name in the current document. | ||
Given the specified element *name*, returns a single-element selection containing a detached element of the given name in the current document. This method assumes the HTML namespace, so you must specify a namespace explicitly when creating SVG or other non-HTML elements; see [namespace](#namespace) for details on supported namespace prefixes. | ||
```js | ||
d3.create("svg") // equivalent to svg:svg | ||
d3.create("svg:svg") // more explicitly | ||
d3.create("svg:g") // an SVG G element | ||
d3.create("g") // an HTML G (unknown) element | ||
``` | ||
<a name="creator" href="#creator">#</a> d3.<b>creator</b>(<i>name</i>) [<>](https://github.com/d3/d3-selection/blob/master/src/creator.js "Source") | ||
@@ -477,3 +474,3 @@ | ||
For an introduction to D3’s data joins, see [Thinking With Joins](http://bost.ocks.org/mike/join/). Also see the [General Update Pattern](http://bl.ocks.org/mbostock/3808218) examples. | ||
For an introduction to D3’s data joins, see the [*selection*.join notebook](https://observablehq.com/@d3/selection-join). Also see [Thinking With Joins](http://bost.ocks.org/mike/join/). | ||
@@ -489,3 +486,3 @@ <a name="selection_data" href="#selection_data">#</a> <i>selection</i>.<b>data</b>([<i>data</i>[, <i>key</i>]]) [<>](https://github.com/d3/d3-selection/blob/master/src/selection/data.js "Source") | ||
```js | ||
var matrix = [ | ||
const matrix = [ | ||
[11975, 5871, 8916, 2868], | ||
@@ -497,12 +494,11 @@ [ 1951, 10048, 2060, 6171], | ||
var tr = d3.select("body") | ||
d3.select("body") | ||
.append("table") | ||
.selectAll("tr") | ||
.data(matrix) | ||
.join("tr"); | ||
var td = tr.selectAll("td") | ||
.data(function(d) { return d; }) | ||
.join("tr") | ||
.selectAll("td") | ||
.data(d => d) | ||
.join("td") | ||
.text(function(d) { return d; }); | ||
.text(d => d); | ||
``` | ||
@@ -529,3 +525,3 @@ | ||
```js | ||
var data = [ | ||
const data = [ | ||
{name: "Locke", number: 4}, | ||
@@ -541,3 +537,3 @@ {name: "Reyes", number: 8}, | ||
.data(data, function(d) { return d ? d.name : this.id; }) | ||
.text(function(d) { return d.number; }); | ||
.text(d => d.number); | ||
``` | ||
@@ -547,3 +543,3 @@ | ||
The *update* and *enter* selections are returned in data order, while the *exit* selection preserves the selection order prior to the join. If a key function is specified, the order of elements in the selection may not match their order in the document; use [*selection*.order](#order) or [*selection*.sort](#sort) as needed. For more on how the key function affects the join, see [A Bar Chart, Part 2](http://bost.ocks.org/mike/bar/2/) and [Object Constancy](http://bost.ocks.org/mike/constancy/). | ||
The *update* and *enter* selections are returned in data order, while the *exit* selection preserves the selection order prior to the join. If a key function is specified, the order of elements in the selection may not match their order in the document; use [*selection*.order](#selection_order) or [*selection*.sort](#selection_sort) as needed. For more on how the key function affects the join, see [A Bar Chart, Part 2](http://bost.ocks.org/mike/bar/2/) and [Object Constancy](http://bost.ocks.org/mike/constancy/). | ||
@@ -556,3 +552,3 @@ If *data* is not specified, this method returns the array of data for the selected elements. | ||
Appends, removes and reorders elements as necessary to match the data that was previously bound by [*selection*.data](#selection_data), returning the [merged](#selection_merge) enter and update selection. This method is a convenient alternative to the more explicit [*selection*.enter](#selection_enter), [*selection*.exit](#selection_exit), [*selection*.append](#selection_append) and [*selection*.remove](#selection_remove)). For example: | ||
Appends, removes and reorders elements as necessary to match the data that was previously bound by [*selection*.data](#selection_data), returning the [merged](#selection_merge) enter and update selection. This method is a convenient alternative to the explicit [general update pattern](https://bl.ocks.org/mbostock/3808218), replacing [*selection*.enter](#selection_enter), [*selection*.exit](#selection_exit), [*selection*.append](#selection_append), [*selection*.remove](#selection_remove), and [*selection*.order](#selection_order). For example: | ||
@@ -562,41 +558,38 @@ ```js | ||
.data(data) | ||
.join( | ||
enter => enter.append("circle").attr("fill", "green"), | ||
update => update.attr("fill", "blue") | ||
) | ||
.join("circle") | ||
.attr("fill", "none") | ||
.attr("stroke", "black"); | ||
``` | ||
See the [*selection*.join Observable notebook](https://beta.observablehq.com/d/6c522dda5dd9daa3) for more examples. | ||
The *enter* function may be specified as a string shorthand, as above, which is equivalent to [*selection*.append](#selection_append) with the given element name. Likewise, optional *update* and *exit* functions may be specified, which default to the identity function and calling [*selection*.remove](#selection_remove), respectively. The shorthand above is thus equivalent to: | ||
This is equivalent to the [General Update Pattern](http://bl.ocks.org/mbostock/3808218): | ||
```js | ||
var circle = svg.selectAll("circle") // 1 | ||
.data(data) // 2 | ||
.attr("fill", "blue"); // 3 | ||
svg.selectAll("circle") | ||
.data(data) | ||
.join( | ||
enter => enter.append("circle"), | ||
update => update, | ||
exit => exit.remove() | ||
) | ||
.attr("fill", "none") | ||
.attr("stroke", "black"); | ||
```` | ||
circle.exit().remove(); // 4 | ||
By passing separate functions on enter, update and exit, you have greater control over what happens. And by specifying a key function to [*selection*.data](#selection_data), you can minimize changes to the DOM to optimize performance. For example, to set different fill colors for enter and update: | ||
circle = circle.enter().append("circle") // 5, 9 | ||
.attr("fill", "green") // 6 | ||
.merge(circle) // 7 | ||
.order() // 8 | ||
.attr("stroke", "black"); // 9 | ||
```js | ||
svg.selectAll("circle") | ||
.data(data) | ||
.join( | ||
enter => enter.append("circle").attr("fill", "green"), | ||
update => update.attr("fill", "blue") | ||
) | ||
.attr("stroke", "black"); | ||
``` | ||
Breaking this down into discrete steps: | ||
The selections returned by the *enter* and *update* functions are merged and then returned by *selection*.join. | ||
1. Any existing circles (that are descendants of the `svg` selection) are [selected](#selection_selectAll). | ||
2. These circles are [joined to new `data`](#selection_data), returning the matching circles: the *update* selection. | ||
3. These updating circles are given a blue fill. | ||
4. Any existing circles that do *not* match new data—the *exit* selection—are removed. | ||
5. New circles are [appended](#selection_append) for any new data that do *not* match any existing circle: the *enter* selection. | ||
6. These entering circles are given a green fill. | ||
7. A new selection representing the [union](#selection_merge) of entering and updating circles is created. | ||
8. These entering and updating circles are reordered to match the data (if necessary). | ||
9. The circles are given a black stroke. | ||
10. The circles are stored in the variable `circle`. | ||
You also animate enter, update and exit by creating transitions inside the *enter*, *update* and *exit* functions. To avoid breaking the method chain, use *selection*.call to create transitions, or return an undefined enter or update selection to prevent merging: the return value of the *enter* and *update* functions specifies the two selections to merge and return by *selection*.join. | ||
As described in the preceding paragraphs, the “matching” logic is determined by the key function passed to *selection*.data; since no key function is used in the above code sample, the elements and data are joined by index. | ||
For more, see the [*selection*.join notebook](https://observablehq.com/@d3/selection-join). | ||
@@ -610,7 +603,7 @@ <a name="selection_enter" href="#selection_enter">#</a> <i>selection</i>.<b>enter</b>() [<>](https://github.com/d3/d3-selection/blob/master/src/selection/enter.js "Source") | ||
```js | ||
var div = d3.select("body") | ||
const div = d3.select("body") | ||
.selectAll("div") | ||
.data([4, 8, 15, 16, 23, 42]) | ||
.enter().append("div") | ||
.text(function(d) { return d; }); | ||
.text(d => d); | ||
``` | ||
@@ -638,3 +631,3 @@ | ||
```js | ||
div = div.data([1, 2, 4, 8, 16, 32], function(d) { return d; }); | ||
div = div.data([1, 2, 4, 8, 16, 32], d => d); | ||
``` | ||
@@ -645,3 +638,3 @@ | ||
```js | ||
div.enter().append("div").text(function(d) { return d; }); | ||
div.enter().append("div").text(d => d); | ||
``` | ||
@@ -755,3 +748,3 @@ | ||
.selectAll(".child") | ||
.text(function(d, i) { return "child " + d.name + " of " + p.name; }); | ||
.text(d => `child ${d.name} of ${p.name}`); | ||
}); | ||
@@ -813,3 +806,3 @@ ``` | ||
```js | ||
var foo = d3.local(); | ||
const foo = d3.local(); | ||
``` | ||
@@ -830,3 +823,3 @@ | ||
```js | ||
selection.property(foo, function(d) { return d.value; }); | ||
selection.property(foo, d => d.value); | ||
``` | ||
@@ -833,0 +826,0 @@ |
function selection_cloneShallow() { | ||
return this.parentNode.insertBefore(this.cloneNode(false), this.nextSibling); | ||
var clone = this.cloneNode(false), parent = this.parentNode; | ||
return parent ? parent.insertBefore(clone, this.nextSibling) : clone; | ||
} | ||
function selection_cloneDeep() { | ||
return this.parentNode.insertBefore(this.cloneNode(true), this.nextSibling); | ||
var clone = this.cloneNode(true), parent = this.parentNode; | ||
return parent ? parent.insertBefore(clone, this.nextSibling) : clone; | ||
} | ||
@@ -8,0 +10,0 @@ |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
132410
57
1773
830