diff --git a/src/plot_api/plot_api.js b/src/plot_api/plot_api.js index c52bdc44cd5..43f816f21c1 100644 --- a/src/plot_api/plot_api.js +++ b/src/plot_api/plot_api.js @@ -27,7 +27,6 @@ var initInteractions = require('../plots/cartesian/graph_interact'); var Drawing = require('../components/drawing'); var Color = require('../components/color'); -var ErrorBars = require('../components/errorbars'); var xmlnsNamespaces = require('../constants/xmlns_namespaces'); var svgTextUtils = require('../lib/svg_text_utils'); @@ -312,7 +311,7 @@ Plotly.plot = function(gd, data, layout, config) { } // calc and autorange for errorbars - ErrorBars.calc(gd); + Registry.getComponentMethod('errorbars', 'calc')(gd); // TODO: autosize extra for text markers and images // see https://github.com/plotly/plotly.js/issues/1111 diff --git a/src/plots/plots.js b/src/plots/plots.js index ef44e12a277..66acfc29fda 100644 --- a/src/plots/plots.js +++ b/src/plots/plots.js @@ -42,8 +42,6 @@ plots.fontWeight = 'normal'; var transformsRegistry = plots.transformsRegistry; -var ErrorBars = require('../components/errorbars'); - var commandModule = require('./command'); plots.executeAPICommand = commandModule.executeAPICommand; plots.computeAPICommandBindings = commandModule.computeAPICommandBindings; @@ -2118,7 +2116,7 @@ plots.transition = function(gd, data, layout, traces, frameOpts, transitionOpts) plots.doCalcdata(gd); - ErrorBars.calc(gd); + Registry.getComponentMethod('errorbars', 'calc')(gd); return Promise.resolve(); } diff --git a/src/traces/bar/defaults.js b/src/traces/bar/defaults.js index 04096b33ff4..02a2846737d 100644 --- a/src/traces/bar/defaults.js +++ b/src/traces/bar/defaults.js @@ -11,10 +11,10 @@ var Lib = require('../../lib'); var Color = require('../../components/color'); +var Registry = require('../../registry'); var handleXYDefaults = require('../scatter/xy_defaults'); var handleStyleDefaults = require('../bar/style_defaults'); -var errorBarsSupplyDefaults = require('../../components/errorbars/defaults'); var attributes = require('./attributes'); module.exports = function supplyDefaults(traceIn, traceOut, defaultColor, layout) { @@ -57,6 +57,7 @@ module.exports = function supplyDefaults(traceIn, traceOut, defaultColor, layout handleStyleDefaults(traceIn, traceOut, coerce, defaultColor, layout); // override defaultColor for error bars with defaultLine + var errorBarsSupplyDefaults = Registry.getComponentMethod('errorbars', 'supplyDefaults'); errorBarsSupplyDefaults(traceIn, traceOut, Color.defaultLine, {axis: 'y'}); errorBarsSupplyDefaults(traceIn, traceOut, Color.defaultLine, {axis: 'x', inherit: 'y'}); diff --git a/src/traces/bar/hover.js b/src/traces/bar/hover.js index 6eaa9c439eb..933b4401232 100644 --- a/src/traces/bar/hover.js +++ b/src/traces/bar/hover.js @@ -10,7 +10,7 @@ 'use strict'; var Fx = require('../../components/fx'); -var ErrorBars = require('../../components/errorbars'); +var Registry = require('../../registry'); var Color = require('../../components/color'); var fillHoverText = require('../scatter/fill_hover_text'); @@ -140,7 +140,7 @@ module.exports = function hoverPoints(pointData, xval, yval, hovermode) { pointData[posLetter + 'Spike'] = pa.c2p(di.p, true); fillHoverText(di, trace, pointData); - ErrorBars.hoverInfo(di, trace, pointData); + Registry.getComponentMethod('errorbars', 'hoverInfo')(di, trace, pointData); return [pointData]; }; diff --git a/src/traces/bar/plot.js b/src/traces/bar/plot.js index c18d036c0d0..30914fecb14 100644 --- a/src/traces/bar/plot.js +++ b/src/traces/bar/plot.js @@ -18,7 +18,7 @@ var svgTextUtils = require('../../lib/svg_text_utils'); var Color = require('../../components/color'); var Drawing = require('../../components/drawing'); -var ErrorBars = require('../../components/errorbars'); +var Registry = require('../../registry'); var attributes = require('./attributes'), attributeText = attributes.text, @@ -150,7 +150,7 @@ module.exports = function plot(gd, plotinfo, cdbar) { }); // error bars are on the top - bartraces.call(ErrorBars.plot, plotinfo); + Registry.getComponentMethod('errorbars', 'plot')(bartraces, plotinfo); // lastly, clip points groups of `cliponaxis !== false` traces // on `plotinfo._hasClipOnAxisFalse === true` subplots diff --git a/src/traces/bar/style.js b/src/traces/bar/style.js index 455f04bc73f..8dbb15b249c 100644 --- a/src/traces/bar/style.js +++ b/src/traces/bar/style.js @@ -11,7 +11,7 @@ var d3 = require('d3'); var Drawing = require('../../components/drawing'); -var ErrorBars = require('../../components/errorbars'); +var Registry = require('../../registry'); module.exports = function style(gd, cd) { var s = cd ? cd[0].node3 : d3.select(gd).selectAll('g.trace.bars'); @@ -64,5 +64,5 @@ module.exports = function style(gd, cd) { Drawing.selectedTextStyle(txs, trace); }); - ErrorBars.style(s); + Registry.getComponentMethod('errorbars', 'style')(s); }; diff --git a/src/traces/histogram/defaults.js b/src/traces/histogram/defaults.js index 7e603357524..79b3dcb9985 100644 --- a/src/traces/histogram/defaults.js +++ b/src/traces/histogram/defaults.js @@ -15,7 +15,6 @@ var Color = require('../../components/color'); var handleBinDefaults = require('./bin_defaults'); var handleStyleDefaults = require('../bar/style_defaults'); -var errorBarsSupplyDefaults = require('../../components/errorbars/defaults'); var attributes = require('./attributes'); module.exports = function supplyDefaults(traceIn, traceOut, defaultColor, layout) { @@ -54,6 +53,7 @@ module.exports = function supplyDefaults(traceIn, traceOut, defaultColor, layout handleStyleDefaults(traceIn, traceOut, coerce, defaultColor, layout); // override defaultColor for error bars with defaultLine + var errorBarsSupplyDefaults = Registry.getComponentMethod('errorbars', 'supplyDefaults'); errorBarsSupplyDefaults(traceIn, traceOut, Color.defaultLine, {axis: 'y'}); errorBarsSupplyDefaults(traceIn, traceOut, Color.defaultLine, {axis: 'x', inherit: 'y'}); diff --git a/src/traces/scatter/defaults.js b/src/traces/scatter/defaults.js index 6f3cc0cbf69..ba9fa7c5c2c 100644 --- a/src/traces/scatter/defaults.js +++ b/src/traces/scatter/defaults.js @@ -6,10 +6,10 @@ * LICENSE file in the root directory of this source tree. */ - 'use strict'; var Lib = require('../../lib'); +var Registry = require('../../registry'); var attributes = require('./attributes'); var constants = require('./constants'); @@ -20,7 +20,6 @@ var handleLineDefaults = require('./line_defaults'); var handleLineShapeDefaults = require('./line_shape_defaults'); var handleTextDefaults = require('./text_defaults'); var handleFillColorDefaults = require('./fillcolor_defaults'); -var errorBarsSupplyDefaults = require('../../components/errorbars/defaults'); module.exports = function supplyDefaults(traceIn, traceOut, defaultColor, layout) { function coerce(attr, dflt) { @@ -73,6 +72,7 @@ module.exports = function supplyDefaults(traceIn, traceOut, defaultColor, layout } coerce('hoveron', dfltHoverOn.join('+') || 'points'); + var errorBarsSupplyDefaults = Registry.getComponentMethod('errorbars', 'supplyDefaults'); errorBarsSupplyDefaults(traceIn, traceOut, defaultColor, {axis: 'y'}); errorBarsSupplyDefaults(traceIn, traceOut, defaultColor, {axis: 'x', inherit: 'y'}); diff --git a/src/traces/scatter/hover.js b/src/traces/scatter/hover.js index 8ab0dac0f4b..f85a1a77094 100644 --- a/src/traces/scatter/hover.js +++ b/src/traces/scatter/hover.js @@ -10,7 +10,7 @@ var Lib = require('../../lib'); var Fx = require('../../components/fx'); -var ErrorBars = require('../../components/errorbars'); +var Registry = require('../../registry'); var getTraceColor = require('./get_trace_color'); var Color = require('../../components/color'); var fillHoverText = require('./fill_hover_text'); @@ -83,7 +83,7 @@ module.exports = function hoverPoints(pointData, xval, yval, hovermode) { }); fillHoverText(di, trace, pointData); - ErrorBars.hoverInfo(di, trace, pointData); + Registry.getComponentMethod('errorbars', 'hoverInfo')(di, trace, pointData); return [pointData]; } diff --git a/src/traces/scatter/plot.js b/src/traces/scatter/plot.js index 6d17026691b..db0456edf8a 100644 --- a/src/traces/scatter/plot.js +++ b/src/traces/scatter/plot.js @@ -11,9 +11,9 @@ var d3 = require('d3'); +var Registry = require('../../registry'); var Lib = require('../../lib'); var Drawing = require('../../components/drawing'); -var ErrorBars = require('../../components/errorbars'); var subTypes = require('./subtypes'); var linePoints = require('./line_points'); @@ -164,9 +164,8 @@ function plotOne(gd, idx, plotinfo, cdscatter, cdscatterAll, element, transition line = trace.line, tr = d3.select(element); - // (so error bars can find them along with bars) // error bars are at the bottom - tr.call(ErrorBars.plot, plotinfo, transitionOpts); + Registry.getComponentMethod('errorbars', 'plot')(tr, plotinfo, transitionOpts); if(trace.visible !== true) return; diff --git a/src/traces/scatter/style.js b/src/traces/scatter/style.js index 33e2cfc8967..67becae9b91 100644 --- a/src/traces/scatter/style.js +++ b/src/traces/scatter/style.js @@ -11,7 +11,7 @@ var d3 = require('d3'); var Drawing = require('../../components/drawing'); -var ErrorBars = require('../../components/errorbars'); +var Registry = require('../../registry'); function style(gd, cd) { var s = cd ? cd[0].node3 : d3.select(gd).selectAll('g.trace.scatter'); @@ -32,7 +32,7 @@ function style(gd, cd) { s.selectAll('g.trace path.js-fill') .call(Drawing.fillGroupStyle); - s.call(ErrorBars.style); + Registry.getComponentMethod('errorbars', 'style')(s); } function stylePoints(sel, trace, gd) { diff --git a/src/traces/scatter3d/calc_errors.js b/src/traces/scatter3d/calc_errors.js index 4267fc37096..ecc1f8ee87d 100644 --- a/src/traces/scatter3d/calc_errors.js +++ b/src/traces/scatter3d/calc_errors.js @@ -11,7 +11,6 @@ var makeComputeError = require('../../components/errorbars/compute_error'); - function calculateAxisErrors(data, params, scaleFactor) { if(!params || !params.visible) return null; diff --git a/src/traces/scatter3d/defaults.js b/src/traces/scatter3d/defaults.js index 050a2dcfed3..afbad02ecea 100644 --- a/src/traces/scatter3d/defaults.js +++ b/src/traces/scatter3d/defaults.js @@ -16,11 +16,9 @@ var subTypes = require('../scatter/subtypes'); var handleMarkerDefaults = require('../scatter/marker_defaults'); var handleLineDefaults = require('../scatter/line_defaults'); var handleTextDefaults = require('../scatter/text_defaults'); -var errorBarsSupplyDefaults = require('../../components/errorbars/defaults'); var attributes = require('./attributes'); - module.exports = function supplyDefaults(traceIn, traceOut, defaultColor, layout) { function coerce(attr, dflt) { @@ -63,6 +61,7 @@ module.exports = function supplyDefaults(traceIn, traceOut, defaultColor, layout } } + var errorBarsSupplyDefaults = Registry.getComponentMethod('errorbars', 'supplyDefaults'); errorBarsSupplyDefaults(traceIn, traceOut, defaultColor, {axis: 'z'}); errorBarsSupplyDefaults(traceIn, traceOut, defaultColor, {axis: 'y', inherit: 'z'}); errorBarsSupplyDefaults(traceIn, traceOut, defaultColor, {axis: 'x', inherit: 'z'}); diff --git a/src/traces/scattergl/defaults.js b/src/traces/scattergl/defaults.js index 24b1281b129..1f55a192881 100644 --- a/src/traces/scattergl/defaults.js +++ b/src/traces/scattergl/defaults.js @@ -6,21 +6,18 @@ * LICENSE file in the root directory of this source tree. */ - 'use strict'; var Lib = require('../../lib'); +var Registry = require('../../registry'); +var attributes = require('./attributes'); var constants = require('../scatter/constants'); var subTypes = require('../scatter/subtypes'); var handleXYDefaults = require('../scatter/xy_defaults'); var handleMarkerDefaults = require('../scatter/marker_defaults'); var handleLineDefaults = require('../scatter/line_defaults'); var handleFillColorDefaults = require('../scatter/fillcolor_defaults'); -var errorBarsSupplyDefaults = require('../../components/errorbars/defaults'); - -var attributes = require('./attributes'); - module.exports = function supplyDefaults(traceIn, traceOut, defaultColor, layout) { function coerce(attr, dflt) { @@ -63,6 +60,7 @@ module.exports = function supplyDefaults(traceIn, traceOut, defaultColor, layout coerce('hoveron', dfltHoverOn.join('+') || 'points'); + var errorBarsSupplyDefaults = Registry.getComponentMethod('errorbars', 'supplyDefaults'); errorBarsSupplyDefaults(traceIn, traceOut, defaultColor, {axis: 'y'}); errorBarsSupplyDefaults(traceIn, traceOut, defaultColor, {axis: 'x', inherit: 'y'}); diff --git a/src/traces/scattergl/index.js b/src/traces/scattergl/index.js index 80af61197b3..208495ba8f6 100644 --- a/src/traces/scattergl/index.js +++ b/src/traces/scattergl/index.js @@ -17,10 +17,10 @@ var rgba = require('color-normalize'); var svgSdf = require('svg-path-sdf'); var arrayRange = require('array-range'); +var Registry = require('../../registry'); var Lib = require('../../lib'); var Axes = require('../../plots/cartesian/axes'); var Drawing = require('../../components/drawing'); -var ErrorBars = require('../../components/errorbars'); var formatColor = require('../../lib/gl_format_color'); var subTypes = require('../scatter/subtypes'); @@ -194,7 +194,9 @@ function sceneOptions(gd, subplot, trace, positions) { var linePositions; // get error values - var errorVals = hasError ? ErrorBars.calcFromTrace(trace, fullLayout) : null; + var errorVals = hasError ? + Registry.getComponentMethod('errorbars', 'calcFromTrace')(trace, fullLayout) : + null; if(hasErrorX) { errorXOptions = {}; @@ -1129,7 +1131,7 @@ function hoverPoints(pointData, xval, yval, hovermode) { else if(trace.text) pointData.text = trace.text; fillHoverText(di, trace, pointData); - ErrorBars.hoverInfo(di, trace, pointData); + Registry.getComponentMethod('errorbars', 'hoverInfo')(di, trace, pointData); return [pointData]; }