UNPKG

6.08 kBJavaScriptView Raw
1/*
2 d3plus-common v0.6.29
3 Common functions and methods used across D3plus modules.
4 Copyright (c) 2017 D3plus - https://d3plus.org
5 @license MIT
6*/
7if(typeof Object.assign!=="function"){Object.defineProperty(Object,"assign",{value:function e(n){"use strict";if(n===null){throw new TypeError("Cannot convert undefined or null to object")}var r=Object(n);for(var t=1;t<arguments.length;t++){var i=arguments[t];if(i!==null){for(var o in i){if(Object.prototype.hasOwnProperty.call(i,o)){r[o]=i[o]}}}}return r},writable:true,configurable:true})}if(!Array.prototype.includes){Object.defineProperty(Array.prototype,"includes",{value:function e(n,r){var t=Object(this);var i=t.length>>>0;if(i===0)return false;var o=r|0;var f=Math.max(o>=0?o:i-Math.abs(o),0);function a(e,n){return e===n||typeof e==="number"&&typeof n==="number"&&isNaN(e)&&isNaN(n)}while(f<i){if(a(t[f],n)){return true}f++}return false}})}(function(e,n){typeof exports==="object"&&typeof module!=="undefined"?n(exports,require("d3-selection"),require("d3-transition"),require("d3-array"),require("d3-collection")):typeof define==="function"&&define.amd?define("d3plus-common",["exports","d3-selection","d3-transition","d3-array","d3-collection"],n):n(e.d3plus={},e.d3Selection,e.d3Transition,e.d3Array,e.d3Collection)})(this,function(e,n,r,t,i){"use strict";function o(e,n){if(n===void 0){return function(n){return n[e]}}return function(r){return r[e]===void 0?n:r[e]}}function f(e){return e&&typeof e==="object"&&!Array.isArray(e)&&e!==void 0?true:false}function a(){var e=[],n=arguments.length;while(n--)e[n]=arguments[n];var r=e[0];var t=function(n){var t=e[n];Object.keys(t).forEach(function(e){var n=t[e];if(f(n)){if(r.hasOwnProperty(e)&&f(r[e])){r[e]=a({},r[e],n)}else{r[e]=n}}else if(Array.isArray(n)){if(r.hasOwnProperty(e)&&Array.isArray(r[e])){var i=r[e];n.forEach(function(e,n){if(n<i.length){var r=i[n];if(Object.is(r,e)){return}if(f(r)&&f(e)||Array.isArray(r)&&Array.isArray(e)){i[n]=a({},r,e)}else{i[n]=e}}else{i.push(e)}})}else{r[e]=n}}else{r[e]=n}})};for(var i=1;i<e.length;i++)t(i);return r}function u(e,n){if(n===void 0)n={};for(var r in n){if({}.hasOwnProperty.call(n,r)){e.attr(r,n[r])}}}function s(){return Math.floor((1+Math.random())*65536).toString(16).substring(1)}function c(){return""+s()+s()+"-"+s()+"-"+s()+"-"+s()+"-"+s()+s()+s()}var l="D3PLUS-COMMON-RESET";function d(e,n){if(f(e)){for(var r in e){if({}.hasOwnProperty.call(e,r)){if(e[r]===l){e[r]=n[r]}else if(f(e[r])){d(e[r],n[r])}}}}}var y=function e(){this._on={};this._uuid=c()};y.prototype.config=function e(n){var r=this;if(!this._configDefault){var e={};for(var t in r.__proto__){if(t.indexOf("_")!==0&&!["config","constructor","render"].includes(t)){var i=r[t]();e[t]=f(i)?a({},i):i}}this._configDefault=e}if(arguments.length){for(var o in n){if({}.hasOwnProperty.call(n,o)&&o in r){var u=n[o];if(u===l){if(o==="on"){r._on=r._configDefault[o]}else{r[o](r._configDefault[o])}}else{d(u,r._configDefault[o]);r[o](u)}}}return this}else{var s={};for(var c in r.__proto__){if(c.indexOf("_")!==0&&!["config","constructor","render"].includes(c)){s[c]=r[c]()}}return s}};y.prototype.on=function e(n,r){return arguments.length===2?(this._on[n]=r,this):arguments.length?typeof n==="string"?this._on[n]:(this._on=Object.assign({},this._on,n),this):this._on};function v(e,n){if(n===void 0)n=[];if(!n||!(n instanceof Array)||!n.length){return undefined}return n.reduce(function(n,r){return Math.abs(r-e)<Math.abs(n-e)?r:n})}function h(e,n,r){if(e===void 0)e=this._shapeConfig;if(n===void 0)n="shape";if(r===void 0)r=false;var t={duration:this._duration,on:{}};var i=function(e){return function(n,r,t){while(n.__d3plus__){r=n.i;n=n.data||n.feature}return e(n,r,t)}};var o=function(e,r){for(var t in r){if({}.hasOwnProperty.call(r,t)&&!t.includes(".")||t.includes("."+n)){e.on[t]=i(r[t])}}};var f=function(e,n){for(var r in n){if({}.hasOwnProperty.call(n,r)){if(r==="on"){o(e,n[r])}else if(typeof n[r]==="function"){e[r]=i(n[r])}else if(typeof n[r]==="object"&&!(n instanceof Array)){e[r]={on:{}};f(e[r],n[r])}else{e[r]=n[r]}}}};f(t,e);if(this._on){o(t,this._on)}if(r&&e[r]){f(t,e[r]);if(e[r].on){o(t,e[r].on)}}return t}function p(e){return function n(){return e}}function g(e,t){t=Object.assign({},{condition:true,enter:{},exit:{},parent:n.select("body"),transition:r.transition().duration(0),update:{}},t);var i=/\.([^#]+)/g.exec(e),o=/#([^\.]+)/g.exec(e),f=/^([^.^#]+)/g.exec(e)[1];var a=t.parent.selectAll(e.includes(":")?e.split(":")[1]:e).data(t.condition?[null]:[]);var s=a.enter().append(f).call(u,t.enter);if(o){s.attr("id",o[1])}if(i){s.attr("class",i[1])}a.exit().transition(t.transition).call(u,t.exit).remove();var c=s.merge(a);c.transition(t.transition).call(u,t.update);return c}function m(e,n){if(n===void 0)n={};var r=new Set(t.merge(e.map(function(e){return i.keys(e)}))),o={};r.forEach(function(r){var i=e.map(function(e){return e[r]});var f;if(n[r]){f=n[r](i)}else{var a=i.map(function(e){return e||e===false?e.constructor:e}).filter(function(e){return e!==void 0});if(!a.length){f=undefined}else if(a.indexOf(Array)>=0){f=t.merge(i.map(function(e){return e instanceof Array?e:[e]}));f=Array.from(new Set(f));if(f.length===1){f=f[0]}}else if(a.indexOf(String)>=0){f=Array.from(new Set(i));if(f.length===1){f=f[0]}}else if(a.indexOf(Number)>=0){f=t.sum(i)}else if(a.indexOf(Object)>=0){f=m(i.filter(function(e){return e}))}else{f=Array.from(new Set(i.filter(function(e){return e!==void 0})));if(f.length===1){f=f[0]}}}o[r]=f});return o}function b(){if("-webkit-transform"in document.body.style){return"-webkit-"}else if("-moz-transform"in document.body.style){return"-moz-"}else if("-ms-transform"in document.body.style){return"-ms-"}else if("-o-transform"in document.body.style){return"-o-"}else{return""}}function _(e,n){if(n===void 0)n={};for(var r in n){if({}.hasOwnProperty.call(n,r)){e.style(r,n[r])}}}e.accessor=o;e.assign=a;e.attrize=u;e.BaseClass=y;e.closest=v;e.configPrep=h;e.constant=p;e.elem=g;e.isObject=f;e.merge=m;e.prefix=b;e.RESET=l;e.stylize=_;e.uuid=c;Object.defineProperty(e,"__esModule",{value:true})});
\No newline at end of file