@pie-lib/plot 2.1.10-next.589 → 2.1.10-next.600
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/graph-props.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph-props.js","names":["createSnapMinAndMax","min","max","step","parseInt","create","domain","range","size","getRootNode","invariant","domainMinMax","rangeMinMax","scale","x","scaleLinear","width","y","height","snap","snapTo","bind"],"sources":["../src/graph-props.js"],"sourcesContent":["import invariant from 'invariant';\nimport { snapTo } from './utils';\nimport { scaleLinear } from 'd3-scale';\n\nconst createSnapMinAndMax = ({ min, max, step }) => {\n // for graphing, if step is a value with decimals, we have to calculate the min & max for the grid taking in consideration that 0 has to be exactly in the middle\n // for example, if min: -5 & max: 5 & step: 0.75, in order to keep 0 in the middle we have to set min: -4.5 & max: 4.5\n return {\n step,\n min: parseInt(min / step) * step,\n max: parseInt(max / step) * step\n };\n};\n\nexport const create = (domain, range, size, getRootNode) => {\n invariant(domain.min < domain.max, 'domain: min must be less than max');\n invariant(range.min < range.max, 'range: min must be less than max');\n\n const domainMinMax = createSnapMinAndMax(domain);\n const rangeMinMax = createSnapMinAndMax(range);\n\n const scale = {\n x: scaleLinear()\n .domain([domain.min, domain.max])\n .range([0, size.width]),\n y: scaleLinear()\n .domain([range.max, range.min])\n .range([0, size.height])\n };\n\n const snap = {\n x: snapTo.bind(null, domainMinMax.min, domainMinMax.max, domainMinMax.step),\n y: snapTo.bind(null, rangeMinMax.min, rangeMinMax.max, rangeMinMax.step)\n };\n\n return { scale, snap, domain, range, size, getRootNode };\n};\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AAEA,IAAMA,mBAAmB,GAAG,SAAtBA,mBAAsB,OAAwB;EAAA,IAArBC,GAAqB,QAArBA,GAAqB;EAAA,IAAhBC,GAAgB,QAAhBA,GAAgB;EAAA,IAAXC,IAAW,QAAXA,IAAW;EAClD;EACA;
|
|
1
|
+
{"version":3,"file":"graph-props.js","names":["createSnapMinAndMax","min","max","step","parseInt","create","domain","range","size","getRootNode","invariant","domainMinMax","rangeMinMax","scale","x","scaleLinear","width","y","height","snap","snapTo","bind"],"sources":["../src/graph-props.js"],"sourcesContent":["import invariant from 'invariant';\nimport { snapTo } from './utils';\nimport { scaleLinear } from 'd3-scale';\n\nconst createSnapMinAndMax = ({ min, max, step }) => {\n // for graphing, if step is a value with decimals, we have to calculate the min & max for the grid taking in consideration that 0 has to be exactly in the middle\n // for example, if min: -5 & max: 5 & step: 0.75, in order to keep 0 in the middle we have to set min: -4.5 & max: 4.5\n\n return {\n step,\n min: parseInt(min / step) * step,\n max: parseInt(max / step) * step\n };\n};\n\nexport const create = (domain, range, size, getRootNode) => {\n invariant(domain.min < domain.max, 'domain: min must be less than max');\n invariant(range.min < range.max, 'range: min must be less than max');\n\n const domainMinMax = createSnapMinAndMax(domain);\n const rangeMinMax = createSnapMinAndMax(range);\n\n const scale = {\n x: scaleLinear()\n .domain([domain.min, domain.max])\n .range([0, size.width]),\n y: scaleLinear()\n .domain([range.max, range.min])\n .range([0, size.height])\n };\n\n const snap = {\n x: snapTo.bind(null, domainMinMax.min, domainMinMax.max, domainMinMax.step),\n y: snapTo.bind(null, rangeMinMax.min, rangeMinMax.max, rangeMinMax.step)\n };\n\n return { scale, snap, domain, range, size, getRootNode };\n};\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AAEA,IAAMA,mBAAmB,GAAG,SAAtBA,mBAAsB,OAAwB;EAAA,IAArBC,GAAqB,QAArBA,GAAqB;EAAA,IAAhBC,GAAgB,QAAhBA,GAAgB;EAAA,IAAXC,IAAW,QAAXA,IAAW;EAClD;EACA;EAEA,OAAO;IACLA,IAAI,EAAJA,IADK;IAELF,GAAG,EAAEG,QAAQ,CAACH,GAAG,GAAGE,IAAP,CAAR,GAAuBA,IAFvB;IAGLD,GAAG,EAAEE,QAAQ,CAACF,GAAG,GAAGC,IAAP,CAAR,GAAuBA;EAHvB,CAAP;AAKD,CATD;;AAWO,IAAME,MAAM,GAAG,SAATA,MAAS,CAACC,MAAD,EAASC,KAAT,EAAgBC,IAAhB,EAAsBC,WAAtB,EAAsC;EAC1D,IAAAC,qBAAA,EAAUJ,MAAM,CAACL,GAAP,GAAaK,MAAM,CAACJ,GAA9B,EAAmC,mCAAnC;EACA,IAAAQ,qBAAA,EAAUH,KAAK,CAACN,GAAN,GAAYM,KAAK,CAACL,GAA5B,EAAiC,kCAAjC;EAEA,IAAMS,YAAY,GAAGX,mBAAmB,CAACM,MAAD,CAAxC;EACA,IAAMM,WAAW,GAAGZ,mBAAmB,CAACO,KAAD,CAAvC;EAEA,IAAMM,KAAK,GAAG;IACZC,CAAC,EAAE,IAAAC,oBAAA,IACAT,MADA,CACO,CAACA,MAAM,CAACL,GAAR,EAAaK,MAAM,CAACJ,GAApB,CADP,EAEAK,KAFA,CAEM,CAAC,CAAD,EAAIC,IAAI,CAACQ,KAAT,CAFN,CADS;IAIZC,CAAC,EAAE,IAAAF,oBAAA,IACAT,MADA,CACO,CAACC,KAAK,CAACL,GAAP,EAAYK,KAAK,CAACN,GAAlB,CADP,EAEAM,KAFA,CAEM,CAAC,CAAD,EAAIC,IAAI,CAACU,MAAT,CAFN;EAJS,CAAd;EASA,IAAMC,IAAI,GAAG;IACXL,CAAC,EAAEM,aAAA,CAAOC,IAAP,CAAY,IAAZ,EAAkBV,YAAY,CAACV,GAA/B,EAAoCU,YAAY,CAACT,GAAjD,EAAsDS,YAAY,CAACR,IAAnE,CADQ;IAEXc,CAAC,EAAEG,aAAA,CAAOC,IAAP,CAAY,IAAZ,EAAkBT,WAAW,CAACX,GAA9B,EAAmCW,WAAW,CAACV,GAA/C,EAAoDU,WAAW,CAACT,IAAhE;EAFQ,CAAb;EAKA,OAAO;IAAEU,KAAK,EAALA,KAAF;IAASM,IAAI,EAAJA,IAAT;IAAeb,MAAM,EAANA,MAAf;IAAuBC,KAAK,EAALA,KAAvB;IAA8BC,IAAI,EAAJA,IAA9B;IAAoCC,WAAW,EAAXA;EAApC,CAAP;AACD,CAtBM"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grid-draggable.js","names":["log","debug","deltaFn","scale","snap","val","delta","normalized","inverted","invert","fixDecimalsArithmetic","toFixed","gridDraggable","opts","Comp","invariant","isFunction","fromDelta","bounds","anchorPoint","graphProps","props","domain","range","x","step","y","e","onDragStart","document","activeElement","blur","setState","startX","clientX","startY","clientY","key","event","K","toUpperCase","end","start","state","Math","abs","out","grid","scaled","left","interval","right","top","bottom","dd","rootNode","getRootNode","clientPoint","rawX","rawY","xOutside","deltaX","min","max","yOutside","deltaY","onDrag","getScaledBounds","skipDragOutsideOfBounds","dragArg","applyDelta","undefined","point","pos","position","p","utils","getDelta","onDragStop","onClick","lastX","lastY","isClick","tiny","target","disabled","rest","onMouseDown","nativeEvent","preventDefault","isDragging","onStart","onStop","axis","React","Component","PropTypes","bool","func","onMove","GraphPropsType","isRequired"],"sources":["../src/grid-draggable.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { GraphPropsType } from './types';\nimport { DraggableCore } from './draggable';\nimport debug from 'debug';\nimport * as utils from './utils';\nimport isFunction from 'lodash/isFunction';\nimport invariant from 'invariant';\nimport { clientPoint } from 'd3-selection';\n\nconst log = debug('pie-lib:plot:grid-draggable');\n\nexport const deltaFn = (scale, snap, val) => delta => {\n const normalized = delta + scale(0);\n const inverted = scale.invert(normalized);\n\n const fixDecimalsArithmetic = (snap(val + inverted).toFixed(4) * 1000) / 1000;\n\n return fixDecimalsArithmetic;\n};\n\n/**\n * Creates a Component that is draggable, within a bounded grid.\n * @param {*} opts\n */\nexport const gridDraggable = opts => Comp => {\n invariant(\n !!opts && isFunction(opts.fromDelta) && isFunction(opts.bounds) && isFunction(opts.anchorPoint),\n 'You must supply an object with: { anchorPoint: Function, fromDelta: Function, bounds: Function }'\n );\n return class GridDraggable extends React.Component {\n static propTypes = {\n disabled: PropTypes.bool,\n onDragStart: PropTypes.func,\n onDrag: PropTypes.func,\n onDragStop: PropTypes.func,\n onClick: PropTypes.func,\n onMove: PropTypes.func,\n graphProps: GraphPropsType.isRequired\n };\n grid = () => {\n const { graphProps } = this.props;\n const { scale, domain, range } = graphProps;\n return {\n x: scale.x(domain.step) - scale.x(0),\n y: scale.y(range.step) - scale.y(0)\n };\n };\n onStart = e => {\n const { onDragStart } = this.props;\n if (document.activeElement) {\n document.activeElement.blur();\n }\n this.setState({ startX: e.clientX, startY: e.clientY });\n if (onDragStart) {\n onDragStart();\n }\n };\n position = () => {\n const { x, y } = opts.anchorPoint(this.props);\n const { graphProps } = this.props;\n const { scale, snap } = graphProps;\n return {\n anchorPoint: {\n x,\n y\n },\n x: deltaFn(scale.x, snap.x, x),\n y: deltaFn(scale.y, snap.y, y)\n };\n };\n\n tiny = (key, event) => {\n const K = key.toUpperCase();\n const end = event[`client${K}`];\n const start = this.state[`start${K}`];\n const delta = Math.abs(end - start);\n const out = delta < Math.abs(this.grid()[key]) / 10;\n log('[tiny] key: ', key, 'delta: ', delta, 'out: ', out);\n return out;\n };\n\n getScaledBounds = () => {\n const bounds = opts.bounds(this.props, this.props.graphProps);\n log('bounds: ', bounds);\n const grid = this.grid();\n\n const scaled = {\n left: (bounds.left / grid.interval) * grid.x,\n right: (bounds.right / grid.interval) * grid.x,\n top: (bounds.top / grid.interval) * grid.y,\n bottom: (bounds.bottom / grid.interval) * grid.y\n };\n log('[getScaledBounds]: ', scaled);\n return scaled;\n };\n\n skipDragOutsideOfBounds = (dd, e, graphProps) => {\n // ignore drag movement outside of the domain and range.\n const rootNode = graphProps.getRootNode();\n const [rawX, rawY] = clientPoint(rootNode, e);\n const { scale, domain, range } = graphProps;\n let x = scale.x.invert(rawX);\n let y = scale.y.invert(rawY);\n\n const xOutside = (dd.deltaX > 0 && x < domain.min) || (dd.deltaX < 0 && x > domain.max);\n const yOutside = (dd.deltaY > 0 && y > range.max) || (dd.deltaY < 0 && y < range.min);\n return xOutside || yOutside;\n };\n\n onDrag = (e, dd) => {\n const { onDrag, graphProps } = this.props;\n\n if (!onDrag) {\n return;\n }\n\n const bounds = this.getScaledBounds();\n\n if (dd.deltaX < 0 && dd.deltaX < bounds.left) {\n return;\n }\n\n if (dd.deltaX > 0 && dd.deltaX > bounds.right) {\n return;\n }\n\n if (dd.deltaY < 0 && dd.deltaY < bounds.top) {\n return;\n }\n\n if (dd.deltaY > 0 && dd.deltaY > bounds.bottom) {\n return;\n }\n\n if (this.skipDragOutsideOfBounds(dd, e, graphProps)) {\n return;\n }\n\n const dragArg = this.applyDelta({ x: dd.deltaX, y: dd.deltaY });\n\n if (dragArg !== undefined || dragArg !== null) {\n onDrag(dragArg);\n }\n };\n\n getDelta = point => {\n const pos = this.position();\n\n const p = {\n x: pos.x(point.x),\n y: pos.y(point.y)\n };\n\n return utils.getDelta(pos.anchorPoint, p);\n };\n\n applyDelta = point => {\n const delta = this.getDelta(point);\n log('[applyDelta] delta:', delta);\n return opts.fromDelta(this.props, delta);\n };\n\n onStop = (e, dd) => {\n log('[onStop] dd:', dd);\n const { onDragStop, onClick } = this.props;\n\n if (onDragStop) {\n onDragStop();\n }\n\n log('[onStop] lastX/Y: ', dd.lastX, dd.lastY);\n const isClick = this.tiny('x', e) && this.tiny('y', e);\n\n if (isClick) {\n if (onClick) {\n log('call onClick');\n this.setState({ startX: null });\n const { graphProps } = this.props;\n const { scale, snap } = graphProps;\n const [rawX, rawY] = clientPoint(e.target, e);\n let x = scale.x.invert(rawX);\n let y = scale.y.invert(rawY);\n x = snap.x(x);\n y = snap.y(y);\n onClick({ x, y });\n return false;\n }\n }\n\n this.setState({ startX: null, startY: null });\n // return false to prevent state updates in the underlying draggable - a move will have triggered an update already.\n return false;\n };\n\n render() {\n /* eslint-disable no-unused-vars */\n //Note: we pull onClick out so that it's not in ...rest.\n const { disabled, onClick, ...rest } = this.props;\n /* eslint-enable no-unused-vars */\n\n const grid = this.grid();\n //prevent the text select icon from rendering.\n const onMouseDown = e => e.nativeEvent.preventDefault();\n\n /**\n * TODO: This shouldnt be necessary, we should be able to use the r-d classnames.\n * But they aren't being unset. If we continue with this lib, we'll have to fix this.\n */\n const isDragging = this.state ? !!this.state.startX : false;\n\n return (\n <DraggableCore\n disabled={disabled}\n onMouseDown={onMouseDown}\n onStart={this.onStart}\n onDrag={this.onDrag}\n onStop={this.onStop}\n axis={opts.axis || 'both'}\n grid={[grid.x, grid.y]}\n >\n <Comp {...rest} disabled={disabled} isDragging={isDragging} />\n </DraggableCore>\n );\n }\n };\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"grid-draggable.js","names":["log","debug","deltaFn","scale","snap","val","delta","normalized","inverted","invert","fixDecimalsArithmetic","toFixed","gridDraggable","opts","Comp","invariant","isFunction","fromDelta","bounds","anchorPoint","graphProps","props","domain","range","x","step","y","e","onDragStart","document","activeElement","blur","setState","startX","clientX","startY","clientY","key","event","K","toUpperCase","end","start","state","Math","abs","out","grid","scaled","left","interval","right","top","bottom","dd","rootNode","getRootNode","clientPoint","rawX","rawY","xOutside","deltaX","min","max","yOutside","deltaY","onDrag","getScaledBounds","skipDragOutsideOfBounds","dragArg","applyDelta","undefined","point","pos","position","p","utils","getDelta","onDragStop","onClick","lastX","lastY","isClick","tiny","target","disabled","rest","onMouseDown","nativeEvent","preventDefault","isDragging","onStart","onStop","axis","React","Component","PropTypes","bool","func","onMove","GraphPropsType","isRequired"],"sources":["../src/grid-draggable.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { GraphPropsType } from './types';\nimport { DraggableCore } from './draggable';\nimport debug from 'debug';\nimport * as utils from './utils';\nimport isFunction from 'lodash/isFunction';\nimport invariant from 'invariant';\nimport { clientPoint } from 'd3-selection';\n\nconst log = debug('pie-lib:plot:grid-draggable');\n\nexport const deltaFn = (scale, snap, val) => delta => {\n const normalized = delta + scale(0);\n const inverted = scale.invert(normalized);\n\n const fixDecimalsArithmetic = (snap(val + inverted).toFixed(4) * 1000) / 1000;\n\n return fixDecimalsArithmetic;\n};\n\n/**\n * Creates a Component that is draggable, within a bounded grid.\n * @param {*} opts\n */\nexport const gridDraggable = opts => Comp => {\n invariant(\n !!opts && isFunction(opts.fromDelta) && isFunction(opts.bounds) && isFunction(opts.anchorPoint),\n 'You must supply an object with: { anchorPoint: Function, fromDelta: Function, bounds: Function }'\n );\n return class GridDraggable extends React.Component {\n static propTypes = {\n disabled: PropTypes.bool,\n onDragStart: PropTypes.func,\n onDrag: PropTypes.func,\n onDragStop: PropTypes.func,\n onClick: PropTypes.func,\n onMove: PropTypes.func,\n graphProps: GraphPropsType.isRequired\n };\n grid = () => {\n const { graphProps } = this.props;\n const { scale, domain, range } = graphProps;\n return {\n x: scale.x(domain.step) - scale.x(0),\n y: scale.y(range.step) - scale.y(0)\n };\n };\n onStart = e => {\n const { onDragStart } = this.props;\n if (document.activeElement) {\n document.activeElement.blur();\n }\n this.setState({ startX: e.clientX, startY: e.clientY });\n if (onDragStart) {\n onDragStart();\n }\n };\n position = () => {\n const { x, y } = opts.anchorPoint(this.props);\n const { graphProps } = this.props;\n const { scale, snap } = graphProps;\n\n return {\n anchorPoint: {\n x,\n y\n },\n x: deltaFn(scale.x, snap.x, x),\n y: deltaFn(scale.y, snap.y, y)\n };\n };\n\n tiny = (key, event) => {\n const K = key.toUpperCase();\n const end = event[`client${K}`];\n const start = this.state[`start${K}`];\n const delta = Math.abs(end - start);\n const out = delta < Math.abs(this.grid()[key]) / 10;\n log('[tiny] key: ', key, 'delta: ', delta, 'out: ', out);\n return out;\n };\n\n getScaledBounds = () => {\n const bounds = opts.bounds(this.props, this.props.graphProps);\n log('bounds: ', bounds);\n const grid = this.grid();\n\n const scaled = {\n left: (bounds.left / grid.interval) * grid.x,\n right: (bounds.right / grid.interval) * grid.x,\n top: (bounds.top / grid.interval) * grid.y,\n bottom: (bounds.bottom / grid.interval) * grid.y\n };\n log('[getScaledBounds]: ', scaled);\n return scaled;\n };\n\n skipDragOutsideOfBounds = (dd, e, graphProps) => {\n // ignore drag movement outside of the domain and range.\n const rootNode = graphProps.getRootNode();\n const [rawX, rawY] = clientPoint(rootNode, e);\n const { scale, domain, range } = graphProps;\n let x = scale.x.invert(rawX);\n let y = scale.y.invert(rawY);\n\n const xOutside = (dd.deltaX > 0 && x < domain.min) || (dd.deltaX < 0 && x > domain.max);\n const yOutside = (dd.deltaY > 0 && y > range.max) || (dd.deltaY < 0 && y < range.min);\n return xOutside || yOutside;\n };\n\n onDrag = (e, dd) => {\n const { onDrag, graphProps } = this.props;\n\n if (!onDrag) {\n return;\n }\n\n const bounds = this.getScaledBounds();\n\n if (dd.deltaX < 0 && dd.deltaX < bounds.left) {\n return;\n }\n\n if (dd.deltaX > 0 && dd.deltaX > bounds.right) {\n return;\n }\n\n if (dd.deltaY < 0 && dd.deltaY < bounds.top) {\n return;\n }\n\n if (dd.deltaY > 0 && dd.deltaY > bounds.bottom) {\n return;\n }\n\n if (this.skipDragOutsideOfBounds(dd, e, graphProps)) {\n return;\n }\n\n const dragArg = this.applyDelta({ x: dd.deltaX, y: dd.deltaY });\n\n if (dragArg !== undefined || dragArg !== null) {\n onDrag(dragArg);\n }\n };\n\n getDelta = point => {\n const pos = this.position();\n\n const p = {\n x: pos.x(point.x),\n y: pos.y(point.y)\n };\n\n return utils.getDelta(pos.anchorPoint, p);\n };\n\n applyDelta = point => {\n const delta = this.getDelta(point);\n log('[applyDelta] delta:', delta);\n return opts.fromDelta(this.props, delta);\n };\n\n onStop = (e, dd) => {\n log('[onStop] dd:', dd);\n const { onDragStop, onClick } = this.props;\n\n if (onDragStop) {\n onDragStop();\n }\n\n log('[onStop] lastX/Y: ', dd.lastX, dd.lastY);\n const isClick = this.tiny('x', e) && this.tiny('y', e);\n\n if (isClick) {\n if (onClick) {\n log('call onClick');\n this.setState({ startX: null });\n const { graphProps } = this.props;\n const { scale, snap } = graphProps;\n const [rawX, rawY] = clientPoint(e.target, e);\n let x = scale.x.invert(rawX);\n let y = scale.y.invert(rawY);\n x = snap.x(x);\n y = snap.y(y);\n onClick({ x, y });\n return false;\n }\n }\n\n this.setState({ startX: null, startY: null });\n // return false to prevent state updates in the underlying draggable - a move will have triggered an update already.\n return false;\n };\n\n render() {\n /* eslint-disable no-unused-vars */\n //Note: we pull onClick out so that it's not in ...rest.\n const { disabled, onClick, ...rest } = this.props;\n /* eslint-enable no-unused-vars */\n\n const grid = this.grid();\n //prevent the text select icon from rendering.\n const onMouseDown = e => e.nativeEvent.preventDefault();\n\n /**\n * TODO: This shouldnt be necessary, we should be able to use the r-d classnames.\n * But they aren't being unset. If we continue with this lib, we'll have to fix this.\n */\n const isDragging = this.state ? !!this.state.startX : false;\n\n return (\n <DraggableCore\n disabled={disabled}\n onMouseDown={onMouseDown}\n onStart={this.onStart}\n onDrag={this.onDrag}\n onStop={this.onStop}\n axis={opts.axis || 'both'}\n grid={[grid.x, grid.y]}\n >\n <Comp {...rest} disabled={disabled} isDragging={isDragging} />\n </DraggableCore>\n );\n }\n };\n};\n"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"publishConfig": {
|
|
4
4
|
"access": "public"
|
|
5
5
|
},
|
|
6
|
-
"version": "2.1.10-next.
|
|
6
|
+
"version": "2.1.10-next.600+98312644",
|
|
7
7
|
"description": "Some underlying components for building charts/graphs",
|
|
8
8
|
"keywords": [
|
|
9
9
|
"react",
|
|
@@ -38,6 +38,6 @@
|
|
|
38
38
|
"peerDependencies": {
|
|
39
39
|
"react": "^16.8.1"
|
|
40
40
|
},
|
|
41
|
-
"gitHead": "
|
|
41
|
+
"gitHead": "9831264443f6dee10be7f14ccdb712a80d2d8658",
|
|
42
42
|
"scripts": {}
|
|
43
43
|
}
|
package/src/graph-props.js
CHANGED
|
@@ -5,6 +5,7 @@ import { scaleLinear } from 'd3-scale';
|
|
|
5
5
|
const createSnapMinAndMax = ({ min, max, step }) => {
|
|
6
6
|
// for graphing, if step is a value with decimals, we have to calculate the min & max for the grid taking in consideration that 0 has to be exactly in the middle
|
|
7
7
|
// for example, if min: -5 & max: 5 & step: 0.75, in order to keep 0 in the middle we have to set min: -4.5 & max: 4.5
|
|
8
|
+
|
|
8
9
|
return {
|
|
9
10
|
step,
|
|
10
11
|
min: parseInt(min / step) * step,
|