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 v2.16.3
2
+ * plotly.js v2.16.5
3
3
  * Copyright 2012-2022, Plotly, Inc.
4
4
  * All rights reserved.
5
5
  * Licensed under the MIT license
@@ -108378,7 +108378,7 @@ module.exports = {
108378
108378
  calc: _dereq_('./calc'),
108379
108379
 
108380
108380
  // ./scales.js is required in lib/coerce.js ;
108381
- // it needs to be a separate module to avoid circular a dependency
108381
+ // it needs to be a separate module to avoid a circular dependency
108382
108382
  scales: scales.scales,
108383
108383
  defaultScale: scales.defaultScale,
108384
108384
  getScale: scales.get,
@@ -127639,6 +127639,8 @@ function setActive(gd, sliderGroup, sliderOpts, index, doCallback, doTransition)
127639
127639
  }
127640
127640
 
127641
127641
  function attachGripEvents(item, gd, sliderGroup) {
127642
+ if(gd._context.staticPlot) return;
127643
+
127642
127644
  var node = sliderGroup.node();
127643
127645
  var $gd = d3.select(gd);
127644
127646
 
@@ -220467,11 +220469,12 @@ var ORDER = {
220467
220469
  nonCluster: ['fill', 'line', 'circle', 'symbol'],
220468
220470
  };
220469
220471
 
220470
- function ScatterMapbox(subplot, uid, clusterEnabled) {
220472
+ function ScatterMapbox(subplot, uid, clusterEnabled, isHidden) {
220471
220473
  this.type = 'scattermapbox';
220472
220474
  this.subplot = subplot;
220473
220475
  this.uid = uid;
220474
220476
  this.clusterEnabled = clusterEnabled;
220477
+ this.isHidden = isHidden;
220475
220478
 
220476
220479
  this.sourceIds = {
220477
220480
  fill: 'source-' + uid + '-fill',
@@ -220544,51 +220547,96 @@ proto.update = function update(calcTrace) {
220544
220547
  var map = subplot.map;
220545
220548
  var optsAll = convert(subplot.gd, calcTrace);
220546
220549
  var below = subplot.belowLookup['trace-' + this.uid];
220547
- var i, k, opts;
220548
220550
  var hasCluster = !!(trace.cluster && trace.cluster.enabled);
220549
220551
  var hadCluster = !!this.clusterEnabled;
220552
+ var lThis = this;
220550
220553
 
220551
- if(below !== this.below) {
220552
- var order = ORDER.nonCluster;
220553
-
220554
- for(i = order.length - 1; i >= 0; i--) {
220555
- k = order[i];
220556
- map.removeLayer(this.layerIds[k]);
220554
+ function addCluster(noSource) {
220555
+ if(!noSource) lThis.addSource('circle', optsAll.circle, trace.cluster);
220556
+ var order = ORDER.cluster;
220557
+ for(var i = 0; i < order.length; i++) {
220558
+ var k = order[i];
220559
+ var opts = optsAll[k];
220560
+ lThis.addLayer(k, opts, below);
220557
220561
  }
220558
- for(i = 0; i < order.length; i++) {
220559
- k = order[i];
220560
- opts = optsAll[k];
220561
- this.addLayer(k, opts, below);
220562
- }
220563
- this.below = below;
220564
- } else if(hasCluster && !hadCluster) {
220565
- for(i = ORDER.nonCluster.length - 1; i >= 0; i--) {
220566
- k = ORDER.nonCluster[i];
220567
- map.removeLayer(this.layerIds[k]);
220568
- map.removeSource(this.sourceIds[k]);
220562
+ }
220563
+
220564
+ function removeCluster(noSource) {
220565
+ var order = ORDER.cluster;
220566
+ for(var i = order.length - 1; i >= 0; i--) {
220567
+ var k = order[i];
220568
+ map.removeLayer(lThis.layerIds[k]);
220569
220569
  }
220570
- this.addSource('circle', optsAll.circle, trace.cluster);
220571
- for(i = 0; i < ORDER.cluster.length; i++) {
220572
- k = ORDER.cluster[i];
220573
- opts = optsAll[k];
220574
- this.addLayer(k, opts, below);
220570
+ if(!noSource) map.removeSource(lThis.sourceIds.circle);
220571
+ }
220572
+
220573
+ function addNonCluster(noSource) {
220574
+ var order = ORDER.nonCluster;
220575
+ for(var i = 0; i < order.length; i++) {
220576
+ var k = order[i];
220577
+ var opts = optsAll[k];
220578
+ if(!noSource) lThis.addSource(k, opts);
220579
+ lThis.addLayer(k, opts, below);
220575
220580
  }
220576
- this.clusterEnabled = hasCluster;
220577
- } else if(!hasCluster && hadCluster) {
220578
- for(i = 0; i < ORDER.cluster.length; i++) {
220579
- k = ORDER.cluster[i];
220580
- map.removeLayer(this.layerIds[k]);
220581
+ }
220582
+
220583
+ function removeNonCluster(noSource) {
220584
+ var order = ORDER.nonCluster;
220585
+ for(var i = order.length - 1; i >= 0; i--) {
220586
+ var k = order[i];
220587
+ map.removeLayer(lThis.layerIds[k]);
220588
+ if(!noSource) map.removeSource(lThis.sourceIds[k]);
220581
220589
  }
220582
- map.removeSource(this.sourceIds.circle);
220583
- for(i = 0; i < ORDER.nonCluster.length; i++) {
220584
- k = ORDER.nonCluster[i];
220585
- opts = optsAll[k];
220586
- this.addSource(k, opts, trace.cluster);
220587
- this.addLayer(k, opts, below);
220590
+ }
220591
+
220592
+ function remove(noSource) {
220593
+ if(hadCluster) removeCluster(noSource); else removeNonCluster(noSource);
220594
+ }
220595
+
220596
+ function add(noSource) {
220597
+ if(hasCluster) addCluster(noSource); else addNonCluster(noSource);
220598
+ }
220599
+
220600
+ function repaint() {
220601
+ var order = hasCluster ? ORDER.cluster : ORDER.nonCluster;
220602
+ for(var i = 0; i < order.length; i++) {
220603
+ var k = order[i];
220604
+ var opts = optsAll[k];
220605
+ if(!opts) continue;
220606
+
220607
+ subplot.setOptions(lThis.layerIds[k], 'setLayoutProperty', opts.layout);
220608
+
220609
+ if(opts.layout.visibility === 'visible') {
220610
+ if(k !== 'cluster') {
220611
+ lThis.setSourceData(k, opts);
220612
+ }
220613
+ subplot.setOptions(lThis.layerIds[k], 'setPaintProperty', opts.paint);
220614
+ }
220588
220615
  }
220589
- this.clusterEnabled = hasCluster;
220590
220616
  }
220591
220617
 
220618
+ var wasHidden = this.isHidden;
220619
+ var isHidden = trace.visible !== true;
220620
+
220621
+ if(isHidden) {
220622
+ if(!wasHidden) remove();
220623
+ } else if(wasHidden) {
220624
+ if(!isHidden) add();
220625
+ } else if(hadCluster !== hasCluster) {
220626
+ remove();
220627
+ add();
220628
+ } else if(this.below !== below) {
220629
+ remove(true);
220630
+ add(true);
220631
+ repaint();
220632
+ } else {
220633
+ repaint();
220634
+ }
220635
+
220636
+ this.clusterEnabled = hasCluster;
220637
+ this.isHidden = isHidden;
220638
+ this.below = below;
220639
+
220592
220640
  // link ref for quick update during selections
220593
220641
  calcTrace[0].trace._glTrace = this;
220594
220642
  };
@@ -220606,10 +220654,13 @@ proto.dispose = function dispose() {
220606
220654
  module.exports = function createScatterMapbox(subplot, calcTrace) {
220607
220655
  var trace = calcTrace[0].trace;
220608
220656
  var hasCluster = trace.cluster && trace.cluster.enabled;
220657
+ var isHidden = trace.visible !== true;
220658
+
220609
220659
  var scatterMapbox = new ScatterMapbox(
220610
220660
  subplot,
220611
220661
  trace.uid,
220612
- hasCluster
220662
+ hasCluster,
220663
+ isHidden
220613
220664
  );
220614
220665
 
220615
220666
  var optsAll = convert(subplot.gd, calcTrace);
@@ -233924,7 +233975,7 @@ function getSortFunc(opts, d2c) {
233924
233975
  'use strict';
233925
233976
 
233926
233977
  // package version injected by `npm run preprocess`
233927
- exports.version = '2.16.3';
233978
+ exports.version = '2.16.5';
233928
233979
 
233929
233980
  },{}],1133:[function(_dereq_,module,exports){
233930
233981
  (function (global){(function (){
package/dist/plotly.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * plotly.js v2.16.3
2
+ * plotly.js v2.16.5
3
3
  * Copyright 2012-2022, Plotly, Inc.
4
4
  * All rights reserved.
5
5
  * Licensed under the MIT license
@@ -107995,7 +107995,7 @@ module.exports = {
107995
107995
  calc: _dereq_('./calc'),
107996
107996
 
107997
107997
  // ./scales.js is required in lib/coerce.js ;
107998
- // it needs to be a separate module to avoid circular a dependency
107998
+ // it needs to be a separate module to avoid a circular dependency
107999
107999
  scales: scales.scales,
108000
108000
  defaultScale: scales.defaultScale,
108001
108001
  getScale: scales.get,
@@ -126451,6 +126451,8 @@ function setActive(gd, sliderGroup, sliderOpts, index, doCallback, doTransition)
126451
126451
  }
126452
126452
 
126453
126453
  function attachGripEvents(item, gd, sliderGroup) {
126454
+ if(gd._context.staticPlot) return;
126455
+
126454
126456
  var node = sliderGroup.node();
126455
126457
  var $gd = d3.select(gd);
126456
126458
 
@@ -214839,11 +214841,12 @@ var ORDER = {
214839
214841
  nonCluster: ['fill', 'line', 'circle', 'symbol'],
214840
214842
  };
214841
214843
 
214842
- function ScatterMapbox(subplot, uid, clusterEnabled) {
214844
+ function ScatterMapbox(subplot, uid, clusterEnabled, isHidden) {
214843
214845
  this.type = 'scattermapbox';
214844
214846
  this.subplot = subplot;
214845
214847
  this.uid = uid;
214846
214848
  this.clusterEnabled = clusterEnabled;
214849
+ this.isHidden = isHidden;
214847
214850
 
214848
214851
  this.sourceIds = {
214849
214852
  fill: 'source-' + uid + '-fill',
@@ -214916,51 +214919,96 @@ proto.update = function update(calcTrace) {
214916
214919
  var map = subplot.map;
214917
214920
  var optsAll = convert(subplot.gd, calcTrace);
214918
214921
  var below = subplot.belowLookup['trace-' + this.uid];
214919
- var i, k, opts;
214920
214922
  var hasCluster = !!(trace.cluster && trace.cluster.enabled);
214921
214923
  var hadCluster = !!this.clusterEnabled;
214924
+ var lThis = this;
214922
214925
 
214923
- if(below !== this.below) {
214924
- var order = ORDER.nonCluster;
214925
-
214926
- for(i = order.length - 1; i >= 0; i--) {
214927
- k = order[i];
214928
- map.removeLayer(this.layerIds[k]);
214926
+ function addCluster(noSource) {
214927
+ if(!noSource) lThis.addSource('circle', optsAll.circle, trace.cluster);
214928
+ var order = ORDER.cluster;
214929
+ for(var i = 0; i < order.length; i++) {
214930
+ var k = order[i];
214931
+ var opts = optsAll[k];
214932
+ lThis.addLayer(k, opts, below);
214929
214933
  }
214930
- for(i = 0; i < order.length; i++) {
214931
- k = order[i];
214932
- opts = optsAll[k];
214933
- this.addLayer(k, opts, below);
214934
- }
214935
- this.below = below;
214936
- } else if(hasCluster && !hadCluster) {
214937
- for(i = ORDER.nonCluster.length - 1; i >= 0; i--) {
214938
- k = ORDER.nonCluster[i];
214939
- map.removeLayer(this.layerIds[k]);
214940
- map.removeSource(this.sourceIds[k]);
214934
+ }
214935
+
214936
+ function removeCluster(noSource) {
214937
+ var order = ORDER.cluster;
214938
+ for(var i = order.length - 1; i >= 0; i--) {
214939
+ var k = order[i];
214940
+ map.removeLayer(lThis.layerIds[k]);
214941
214941
  }
214942
- this.addSource('circle', optsAll.circle, trace.cluster);
214943
- for(i = 0; i < ORDER.cluster.length; i++) {
214944
- k = ORDER.cluster[i];
214945
- opts = optsAll[k];
214946
- this.addLayer(k, opts, below);
214942
+ if(!noSource) map.removeSource(lThis.sourceIds.circle);
214943
+ }
214944
+
214945
+ function addNonCluster(noSource) {
214946
+ var order = ORDER.nonCluster;
214947
+ for(var i = 0; i < order.length; i++) {
214948
+ var k = order[i];
214949
+ var opts = optsAll[k];
214950
+ if(!noSource) lThis.addSource(k, opts);
214951
+ lThis.addLayer(k, opts, below);
214947
214952
  }
214948
- this.clusterEnabled = hasCluster;
214949
- } else if(!hasCluster && hadCluster) {
214950
- for(i = 0; i < ORDER.cluster.length; i++) {
214951
- k = ORDER.cluster[i];
214952
- map.removeLayer(this.layerIds[k]);
214953
+ }
214954
+
214955
+ function removeNonCluster(noSource) {
214956
+ var order = ORDER.nonCluster;
214957
+ for(var i = order.length - 1; i >= 0; i--) {
214958
+ var k = order[i];
214959
+ map.removeLayer(lThis.layerIds[k]);
214960
+ if(!noSource) map.removeSource(lThis.sourceIds[k]);
214953
214961
  }
214954
- map.removeSource(this.sourceIds.circle);
214955
- for(i = 0; i < ORDER.nonCluster.length; i++) {
214956
- k = ORDER.nonCluster[i];
214957
- opts = optsAll[k];
214958
- this.addSource(k, opts, trace.cluster);
214959
- this.addLayer(k, opts, below);
214962
+ }
214963
+
214964
+ function remove(noSource) {
214965
+ if(hadCluster) removeCluster(noSource); else removeNonCluster(noSource);
214966
+ }
214967
+
214968
+ function add(noSource) {
214969
+ if(hasCluster) addCluster(noSource); else addNonCluster(noSource);
214970
+ }
214971
+
214972
+ function repaint() {
214973
+ var order = hasCluster ? ORDER.cluster : ORDER.nonCluster;
214974
+ for(var i = 0; i < order.length; i++) {
214975
+ var k = order[i];
214976
+ var opts = optsAll[k];
214977
+ if(!opts) continue;
214978
+
214979
+ subplot.setOptions(lThis.layerIds[k], 'setLayoutProperty', opts.layout);
214980
+
214981
+ if(opts.layout.visibility === 'visible') {
214982
+ if(k !== 'cluster') {
214983
+ lThis.setSourceData(k, opts);
214984
+ }
214985
+ subplot.setOptions(lThis.layerIds[k], 'setPaintProperty', opts.paint);
214986
+ }
214960
214987
  }
214961
- this.clusterEnabled = hasCluster;
214962
214988
  }
214963
214989
 
214990
+ var wasHidden = this.isHidden;
214991
+ var isHidden = trace.visible !== true;
214992
+
214993
+ if(isHidden) {
214994
+ if(!wasHidden) remove();
214995
+ } else if(wasHidden) {
214996
+ if(!isHidden) add();
214997
+ } else if(hadCluster !== hasCluster) {
214998
+ remove();
214999
+ add();
215000
+ } else if(this.below !== below) {
215001
+ remove(true);
215002
+ add(true);
215003
+ repaint();
215004
+ } else {
215005
+ repaint();
215006
+ }
215007
+
215008
+ this.clusterEnabled = hasCluster;
215009
+ this.isHidden = isHidden;
215010
+ this.below = below;
215011
+
214964
215012
  // link ref for quick update during selections
214965
215013
  calcTrace[0].trace._glTrace = this;
214966
215014
  };
@@ -214978,10 +215026,13 @@ proto.dispose = function dispose() {
214978
215026
  module.exports = function createScatterMapbox(subplot, calcTrace) {
214979
215027
  var trace = calcTrace[0].trace;
214980
215028
  var hasCluster = trace.cluster && trace.cluster.enabled;
215029
+ var isHidden = trace.visible !== true;
215030
+
214981
215031
  var scatterMapbox = new ScatterMapbox(
214982
215032
  subplot,
214983
215033
  trace.uid,
214984
- hasCluster
215034
+ hasCluster,
215035
+ isHidden
214985
215036
  );
214986
215037
 
214987
215038
  var optsAll = convert(subplot.gd, calcTrace);
@@ -227374,7 +227425,7 @@ function getSortFunc(opts, d2c) {
227374
227425
  'use strict';
227375
227426
 
227376
227427
  // package version injected by `npm run preprocess`
227377
- exports.version = '2.16.3';
227428
+ exports.version = '2.16.5';
227378
227429
 
227379
227430
  },{}],1133:[function(_dereq_,module,exports){
227380
227431
  (function (global){(function (){