plotly.js 2.16.3 → 2.16.4

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.4
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,
@@ -220467,11 +220467,12 @@ var ORDER = {
220467
220467
  nonCluster: ['fill', 'line', 'circle', 'symbol'],
220468
220468
  };
220469
220469
 
220470
- function ScatterMapbox(subplot, uid, clusterEnabled) {
220470
+ function ScatterMapbox(subplot, uid, clusterEnabled, isHidden) {
220471
220471
  this.type = 'scattermapbox';
220472
220472
  this.subplot = subplot;
220473
220473
  this.uid = uid;
220474
220474
  this.clusterEnabled = clusterEnabled;
220475
+ this.isHidden = isHidden;
220475
220476
 
220476
220477
  this.sourceIds = {
220477
220478
  fill: 'source-' + uid + '-fill',
@@ -220544,51 +220545,96 @@ proto.update = function update(calcTrace) {
220544
220545
  var map = subplot.map;
220545
220546
  var optsAll = convert(subplot.gd, calcTrace);
220546
220547
  var below = subplot.belowLookup['trace-' + this.uid];
220547
- var i, k, opts;
220548
220548
  var hasCluster = !!(trace.cluster && trace.cluster.enabled);
220549
220549
  var hadCluster = !!this.clusterEnabled;
220550
+ var lThis = this;
220550
220551
 
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]);
220557
- }
220558
- for(i = 0; i < order.length; i++) {
220559
- k = order[i];
220560
- opts = optsAll[k];
220561
- this.addLayer(k, opts, below);
220552
+ function addCluster(noSource) {
220553
+ if(!noSource) lThis.addSource('circle', optsAll.circle, trace.cluster);
220554
+ var order = ORDER.cluster;
220555
+ for(var i = 0; i < order.length; i++) {
220556
+ var k = order[i];
220557
+ var opts = optsAll[k];
220558
+ lThis.addLayer(k, opts, below);
220562
220559
  }
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]);
220560
+ }
220561
+
220562
+ function removeCluster(noSource) {
220563
+ var order = ORDER.cluster;
220564
+ for(var i = order.length - 1; i >= 0; i--) {
220565
+ var k = order[i];
220566
+ map.removeLayer(lThis.layerIds[k]);
220569
220567
  }
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);
220568
+ if(!noSource) map.removeSource(lThis.sourceIds.circle);
220569
+ }
220570
+
220571
+ function addNonCluster(noSource) {
220572
+ var order = ORDER.nonCluster;
220573
+ for(var i = 0; i < order.length; i++) {
220574
+ var k = order[i];
220575
+ var opts = optsAll[k];
220576
+ if(!noSource) lThis.addSource(k, opts);
220577
+ lThis.addLayer(k, opts, below);
220575
220578
  }
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]);
220579
+ }
220580
+
220581
+ function removeNonCluster(noSource) {
220582
+ var order = ORDER.nonCluster;
220583
+ for(var i = order.length - 1; i >= 0; i--) {
220584
+ var k = order[i];
220585
+ map.removeLayer(lThis.layerIds[k]);
220586
+ if(!noSource) map.removeSource(lThis.sourceIds[k]);
220581
220587
  }
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);
220588
+ }
220589
+
220590
+ function remove(noSource) {
220591
+ if(hadCluster) removeCluster(noSource); else removeNonCluster(noSource);
220592
+ }
220593
+
220594
+ function add(noSource) {
220595
+ if(hasCluster) addCluster(noSource); else addNonCluster(noSource);
220596
+ }
220597
+
220598
+ function repaint() {
220599
+ var order = hasCluster ? ORDER.cluster : ORDER.nonCluster;
220600
+ for(var i = 0; i < order.length; i++) {
220601
+ var k = order[i];
220602
+ var opts = optsAll[k];
220603
+ if(!opts) continue;
220604
+
220605
+ subplot.setOptions(lThis.layerIds[k], 'setLayoutProperty', opts.layout);
220606
+
220607
+ if(opts.layout.visibility === 'visible') {
220608
+ if(k !== 'cluster') {
220609
+ lThis.setSourceData(k, opts);
220610
+ }
220611
+ subplot.setOptions(lThis.layerIds[k], 'setPaintProperty', opts.paint);
220612
+ }
220588
220613
  }
220589
- this.clusterEnabled = hasCluster;
220590
220614
  }
220591
220615
 
220616
+ var wasHidden = this.isHidden;
220617
+ var isHidden = trace.visible !== true;
220618
+
220619
+ if(isHidden) {
220620
+ if(!wasHidden) remove();
220621
+ } else if(wasHidden) {
220622
+ if(!isHidden) add();
220623
+ } else if(hadCluster !== hasCluster) {
220624
+ remove();
220625
+ add();
220626
+ } else if(this.below !== below) {
220627
+ remove(true);
220628
+ add(true);
220629
+ repaint();
220630
+ } else {
220631
+ repaint();
220632
+ }
220633
+
220634
+ this.clusterEnabled = hasCluster;
220635
+ this.isHidden = isHidden;
220636
+ this.below = below;
220637
+
220592
220638
  // link ref for quick update during selections
220593
220639
  calcTrace[0].trace._glTrace = this;
220594
220640
  };
@@ -220606,10 +220652,13 @@ proto.dispose = function dispose() {
220606
220652
  module.exports = function createScatterMapbox(subplot, calcTrace) {
220607
220653
  var trace = calcTrace[0].trace;
220608
220654
  var hasCluster = trace.cluster && trace.cluster.enabled;
220655
+ var isHidden = trace.visible !== true;
220656
+
220609
220657
  var scatterMapbox = new ScatterMapbox(
220610
220658
  subplot,
220611
220659
  trace.uid,
220612
- hasCluster
220660
+ hasCluster,
220661
+ isHidden
220613
220662
  );
220614
220663
 
220615
220664
  var optsAll = convert(subplot.gd, calcTrace);
@@ -233924,7 +233973,7 @@ function getSortFunc(opts, d2c) {
233924
233973
  'use strict';
233925
233974
 
233926
233975
  // package version injected by `npm run preprocess`
233927
- exports.version = '2.16.3';
233976
+ exports.version = '2.16.4';
233928
233977
 
233929
233978
  },{}],1133:[function(_dereq_,module,exports){
233930
233979
  (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.4
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,
@@ -214839,11 +214839,12 @@ var ORDER = {
214839
214839
  nonCluster: ['fill', 'line', 'circle', 'symbol'],
214840
214840
  };
214841
214841
 
214842
- function ScatterMapbox(subplot, uid, clusterEnabled) {
214842
+ function ScatterMapbox(subplot, uid, clusterEnabled, isHidden) {
214843
214843
  this.type = 'scattermapbox';
214844
214844
  this.subplot = subplot;
214845
214845
  this.uid = uid;
214846
214846
  this.clusterEnabled = clusterEnabled;
214847
+ this.isHidden = isHidden;
214847
214848
 
214848
214849
  this.sourceIds = {
214849
214850
  fill: 'source-' + uid + '-fill',
@@ -214916,51 +214917,96 @@ proto.update = function update(calcTrace) {
214916
214917
  var map = subplot.map;
214917
214918
  var optsAll = convert(subplot.gd, calcTrace);
214918
214919
  var below = subplot.belowLookup['trace-' + this.uid];
214919
- var i, k, opts;
214920
214920
  var hasCluster = !!(trace.cluster && trace.cluster.enabled);
214921
214921
  var hadCluster = !!this.clusterEnabled;
214922
+ var lThis = this;
214922
214923
 
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]);
214929
- }
214930
- for(i = 0; i < order.length; i++) {
214931
- k = order[i];
214932
- opts = optsAll[k];
214933
- this.addLayer(k, opts, below);
214924
+ function addCluster(noSource) {
214925
+ if(!noSource) lThis.addSource('circle', optsAll.circle, trace.cluster);
214926
+ var order = ORDER.cluster;
214927
+ for(var i = 0; i < order.length; i++) {
214928
+ var k = order[i];
214929
+ var opts = optsAll[k];
214930
+ lThis.addLayer(k, opts, below);
214934
214931
  }
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]);
214932
+ }
214933
+
214934
+ function removeCluster(noSource) {
214935
+ var order = ORDER.cluster;
214936
+ for(var i = order.length - 1; i >= 0; i--) {
214937
+ var k = order[i];
214938
+ map.removeLayer(lThis.layerIds[k]);
214941
214939
  }
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);
214940
+ if(!noSource) map.removeSource(lThis.sourceIds.circle);
214941
+ }
214942
+
214943
+ function addNonCluster(noSource) {
214944
+ var order = ORDER.nonCluster;
214945
+ for(var i = 0; i < order.length; i++) {
214946
+ var k = order[i];
214947
+ var opts = optsAll[k];
214948
+ if(!noSource) lThis.addSource(k, opts);
214949
+ lThis.addLayer(k, opts, below);
214947
214950
  }
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]);
214951
+ }
214952
+
214953
+ function removeNonCluster(noSource) {
214954
+ var order = ORDER.nonCluster;
214955
+ for(var i = order.length - 1; i >= 0; i--) {
214956
+ var k = order[i];
214957
+ map.removeLayer(lThis.layerIds[k]);
214958
+ if(!noSource) map.removeSource(lThis.sourceIds[k]);
214953
214959
  }
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);
214960
+ }
214961
+
214962
+ function remove(noSource) {
214963
+ if(hadCluster) removeCluster(noSource); else removeNonCluster(noSource);
214964
+ }
214965
+
214966
+ function add(noSource) {
214967
+ if(hasCluster) addCluster(noSource); else addNonCluster(noSource);
214968
+ }
214969
+
214970
+ function repaint() {
214971
+ var order = hasCluster ? ORDER.cluster : ORDER.nonCluster;
214972
+ for(var i = 0; i < order.length; i++) {
214973
+ var k = order[i];
214974
+ var opts = optsAll[k];
214975
+ if(!opts) continue;
214976
+
214977
+ subplot.setOptions(lThis.layerIds[k], 'setLayoutProperty', opts.layout);
214978
+
214979
+ if(opts.layout.visibility === 'visible') {
214980
+ if(k !== 'cluster') {
214981
+ lThis.setSourceData(k, opts);
214982
+ }
214983
+ subplot.setOptions(lThis.layerIds[k], 'setPaintProperty', opts.paint);
214984
+ }
214960
214985
  }
214961
- this.clusterEnabled = hasCluster;
214962
214986
  }
214963
214987
 
214988
+ var wasHidden = this.isHidden;
214989
+ var isHidden = trace.visible !== true;
214990
+
214991
+ if(isHidden) {
214992
+ if(!wasHidden) remove();
214993
+ } else if(wasHidden) {
214994
+ if(!isHidden) add();
214995
+ } else if(hadCluster !== hasCluster) {
214996
+ remove();
214997
+ add();
214998
+ } else if(this.below !== below) {
214999
+ remove(true);
215000
+ add(true);
215001
+ repaint();
215002
+ } else {
215003
+ repaint();
215004
+ }
215005
+
215006
+ this.clusterEnabled = hasCluster;
215007
+ this.isHidden = isHidden;
215008
+ this.below = below;
215009
+
214964
215010
  // link ref for quick update during selections
214965
215011
  calcTrace[0].trace._glTrace = this;
214966
215012
  };
@@ -214978,10 +215024,13 @@ proto.dispose = function dispose() {
214978
215024
  module.exports = function createScatterMapbox(subplot, calcTrace) {
214979
215025
  var trace = calcTrace[0].trace;
214980
215026
  var hasCluster = trace.cluster && trace.cluster.enabled;
215027
+ var isHidden = trace.visible !== true;
215028
+
214981
215029
  var scatterMapbox = new ScatterMapbox(
214982
215030
  subplot,
214983
215031
  trace.uid,
214984
- hasCluster
215032
+ hasCluster,
215033
+ isHidden
214985
215034
  );
214986
215035
 
214987
215036
  var optsAll = convert(subplot.gd, calcTrace);
@@ -227374,7 +227423,7 @@ function getSortFunc(opts, d2c) {
227374
227423
  'use strict';
227375
227424
 
227376
227425
  // package version injected by `npm run preprocess`
227377
- exports.version = '2.16.3';
227426
+ exports.version = '2.16.4';
227378
227427
 
227379
227428
  },{}],1133:[function(_dereq_,module,exports){
227380
227429
  (function (global){(function (){