plotly.js 2.16.3 → 2.16.5

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.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * plotly.js (strict) v2.16.3
2
+ * plotly.js (strict) v2.16.5
3
3
  * Copyright 2012-2022, Plotly, Inc.
4
4
  * All rights reserved.
5
5
  * Licensed under the MIT license
@@ -107975,7 +107975,7 @@ module.exports = {
107975
107975
  calc: _dereq_('./calc'),
107976
107976
 
107977
107977
  // ./scales.js is required in lib/coerce.js ;
107978
- // it needs to be a separate module to avoid circular a dependency
107978
+ // it needs to be a separate module to avoid a circular dependency
107979
107979
  scales: scales.scales,
107980
107980
  defaultScale: scales.defaultScale,
107981
107981
  getScale: scales.get,
@@ -126431,6 +126431,8 @@ function setActive(gd, sliderGroup, sliderOpts, index, doCallback, doTransition)
126431
126431
  }
126432
126432
 
126433
126433
  function attachGripEvents(item, gd, sliderGroup) {
126434
+ if(gd._context.staticPlot) return;
126435
+
126434
126436
  var node = sliderGroup.node();
126435
126437
  var $gd = d3.select(gd);
126436
126438
 
@@ -237821,11 +237823,12 @@ var ORDER = {
237821
237823
  nonCluster: ['fill', 'line', 'circle', 'symbol'],
237822
237824
  };
237823
237825
 
237824
- function ScatterMapbox(subplot, uid, clusterEnabled) {
237826
+ function ScatterMapbox(subplot, uid, clusterEnabled, isHidden) {
237825
237827
  this.type = 'scattermapbox';
237826
237828
  this.subplot = subplot;
237827
237829
  this.uid = uid;
237828
237830
  this.clusterEnabled = clusterEnabled;
237831
+ this.isHidden = isHidden;
237829
237832
 
237830
237833
  this.sourceIds = {
237831
237834
  fill: 'source-' + uid + '-fill',
@@ -237898,51 +237901,96 @@ proto.update = function update(calcTrace) {
237898
237901
  var map = subplot.map;
237899
237902
  var optsAll = convert(subplot.gd, calcTrace);
237900
237903
  var below = subplot.belowLookup['trace-' + this.uid];
237901
- var i, k, opts;
237902
237904
  var hasCluster = !!(trace.cluster && trace.cluster.enabled);
237903
237905
  var hadCluster = !!this.clusterEnabled;
237906
+ var lThis = this;
237904
237907
 
237905
- if(below !== this.below) {
237906
- var order = ORDER.nonCluster;
237907
-
237908
- for(i = order.length - 1; i >= 0; i--) {
237909
- k = order[i];
237910
- map.removeLayer(this.layerIds[k]);
237908
+ function addCluster(noSource) {
237909
+ if(!noSource) lThis.addSource('circle', optsAll.circle, trace.cluster);
237910
+ var order = ORDER.cluster;
237911
+ for(var i = 0; i < order.length; i++) {
237912
+ var k = order[i];
237913
+ var opts = optsAll[k];
237914
+ lThis.addLayer(k, opts, below);
237911
237915
  }
237912
- for(i = 0; i < order.length; i++) {
237913
- k = order[i];
237914
- opts = optsAll[k];
237915
- this.addLayer(k, opts, below);
237916
- }
237917
- this.below = below;
237918
- } else if(hasCluster && !hadCluster) {
237919
- for(i = ORDER.nonCluster.length - 1; i >= 0; i--) {
237920
- k = ORDER.nonCluster[i];
237921
- map.removeLayer(this.layerIds[k]);
237922
- map.removeSource(this.sourceIds[k]);
237916
+ }
237917
+
237918
+ function removeCluster(noSource) {
237919
+ var order = ORDER.cluster;
237920
+ for(var i = order.length - 1; i >= 0; i--) {
237921
+ var k = order[i];
237922
+ map.removeLayer(lThis.layerIds[k]);
237923
237923
  }
237924
- this.addSource('circle', optsAll.circle, trace.cluster);
237925
- for(i = 0; i < ORDER.cluster.length; i++) {
237926
- k = ORDER.cluster[i];
237927
- opts = optsAll[k];
237928
- this.addLayer(k, opts, below);
237924
+ if(!noSource) map.removeSource(lThis.sourceIds.circle);
237925
+ }
237926
+
237927
+ function addNonCluster(noSource) {
237928
+ var order = ORDER.nonCluster;
237929
+ for(var i = 0; i < order.length; i++) {
237930
+ var k = order[i];
237931
+ var opts = optsAll[k];
237932
+ if(!noSource) lThis.addSource(k, opts);
237933
+ lThis.addLayer(k, opts, below);
237929
237934
  }
237930
- this.clusterEnabled = hasCluster;
237931
- } else if(!hasCluster && hadCluster) {
237932
- for(i = 0; i < ORDER.cluster.length; i++) {
237933
- k = ORDER.cluster[i];
237934
- map.removeLayer(this.layerIds[k]);
237935
+ }
237936
+
237937
+ function removeNonCluster(noSource) {
237938
+ var order = ORDER.nonCluster;
237939
+ for(var i = order.length - 1; i >= 0; i--) {
237940
+ var k = order[i];
237941
+ map.removeLayer(lThis.layerIds[k]);
237942
+ if(!noSource) map.removeSource(lThis.sourceIds[k]);
237935
237943
  }
237936
- map.removeSource(this.sourceIds.circle);
237937
- for(i = 0; i < ORDER.nonCluster.length; i++) {
237938
- k = ORDER.nonCluster[i];
237939
- opts = optsAll[k];
237940
- this.addSource(k, opts, trace.cluster);
237941
- this.addLayer(k, opts, below);
237944
+ }
237945
+
237946
+ function remove(noSource) {
237947
+ if(hadCluster) removeCluster(noSource); else removeNonCluster(noSource);
237948
+ }
237949
+
237950
+ function add(noSource) {
237951
+ if(hasCluster) addCluster(noSource); else addNonCluster(noSource);
237952
+ }
237953
+
237954
+ function repaint() {
237955
+ var order = hasCluster ? ORDER.cluster : ORDER.nonCluster;
237956
+ for(var i = 0; i < order.length; i++) {
237957
+ var k = order[i];
237958
+ var opts = optsAll[k];
237959
+ if(!opts) continue;
237960
+
237961
+ subplot.setOptions(lThis.layerIds[k], 'setLayoutProperty', opts.layout);
237962
+
237963
+ if(opts.layout.visibility === 'visible') {
237964
+ if(k !== 'cluster') {
237965
+ lThis.setSourceData(k, opts);
237966
+ }
237967
+ subplot.setOptions(lThis.layerIds[k], 'setPaintProperty', opts.paint);
237968
+ }
237942
237969
  }
237943
- this.clusterEnabled = hasCluster;
237944
237970
  }
237945
237971
 
237972
+ var wasHidden = this.isHidden;
237973
+ var isHidden = trace.visible !== true;
237974
+
237975
+ if(isHidden) {
237976
+ if(!wasHidden) remove();
237977
+ } else if(wasHidden) {
237978
+ if(!isHidden) add();
237979
+ } else if(hadCluster !== hasCluster) {
237980
+ remove();
237981
+ add();
237982
+ } else if(this.below !== below) {
237983
+ remove(true);
237984
+ add(true);
237985
+ repaint();
237986
+ } else {
237987
+ repaint();
237988
+ }
237989
+
237990
+ this.clusterEnabled = hasCluster;
237991
+ this.isHidden = isHidden;
237992
+ this.below = below;
237993
+
237946
237994
  // link ref for quick update during selections
237947
237995
  calcTrace[0].trace._glTrace = this;
237948
237996
  };
@@ -237960,10 +238008,13 @@ proto.dispose = function dispose() {
237960
238008
  module.exports = function createScatterMapbox(subplot, calcTrace) {
237961
238009
  var trace = calcTrace[0].trace;
237962
238010
  var hasCluster = trace.cluster && trace.cluster.enabled;
238011
+ var isHidden = trace.visible !== true;
238012
+
237963
238013
  var scatterMapbox = new ScatterMapbox(
237964
238014
  subplot,
237965
238015
  trace.uid,
237966
- hasCluster
238016
+ hasCluster,
238017
+ isHidden
237967
238018
  );
237968
238019
 
237969
238020
  var optsAll = convert(subplot.gd, calcTrace);
@@ -250410,7 +250461,7 @@ function getSortFunc(opts, d2c) {
250410
250461
  'use strict';
250411
250462
 
250412
250463
  // package version injected by `npm run preprocess`
250413
- exports.version = '2.16.3';
250464
+ exports.version = '2.16.5';
250414
250465
 
250415
250466
  },{}],1151:[function(_dereq_,module,exports){
250416
250467
  (function (global){(function (){