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 (mapbox) v2.16.3
2
+ * plotly.js (mapbox) v2.16.5
3
3
  * Copyright 2012-2022, Plotly, Inc.
4
4
  * All rights reserved.
5
5
  * Licensed under the MIT license
@@ -70794,7 +70794,7 @@ module.exports = {
70794
70794
  calc: _dereq_('./calc'),
70795
70795
 
70796
70796
  // ./scales.js is required in lib/coerce.js ;
70797
- // it needs to be a separate module to avoid circular a dependency
70797
+ // it needs to be a separate module to avoid a circular dependency
70798
70798
  scales: scales.scales,
70799
70799
  defaultScale: scales.defaultScale,
70800
70800
  getScale: scales.get,
@@ -89250,6 +89250,8 @@ function setActive(gd, sliderGroup, sliderOpts, index, doCallback, doTransition)
89250
89250
  }
89251
89251
 
89252
89252
  function attachGripEvents(item, gd, sliderGroup) {
89253
+ if(gd._context.staticPlot) return;
89254
+
89253
89255
  var node = sliderGroup.node();
89254
89256
  var $gd = d3.select(gd);
89255
89257
 
@@ -131534,11 +131536,12 @@ var ORDER = {
131534
131536
  nonCluster: ['fill', 'line', 'circle', 'symbol'],
131535
131537
  };
131536
131538
 
131537
- function ScatterMapbox(subplot, uid, clusterEnabled) {
131539
+ function ScatterMapbox(subplot, uid, clusterEnabled, isHidden) {
131538
131540
  this.type = 'scattermapbox';
131539
131541
  this.subplot = subplot;
131540
131542
  this.uid = uid;
131541
131543
  this.clusterEnabled = clusterEnabled;
131544
+ this.isHidden = isHidden;
131542
131545
 
131543
131546
  this.sourceIds = {
131544
131547
  fill: 'source-' + uid + '-fill',
@@ -131611,51 +131614,96 @@ proto.update = function update(calcTrace) {
131611
131614
  var map = subplot.map;
131612
131615
  var optsAll = convert(subplot.gd, calcTrace);
131613
131616
  var below = subplot.belowLookup['trace-' + this.uid];
131614
- var i, k, opts;
131615
131617
  var hasCluster = !!(trace.cluster && trace.cluster.enabled);
131616
131618
  var hadCluster = !!this.clusterEnabled;
131619
+ var lThis = this;
131617
131620
 
131618
- if(below !== this.below) {
131619
- var order = ORDER.nonCluster;
131620
-
131621
- for(i = order.length - 1; i >= 0; i--) {
131622
- k = order[i];
131623
- map.removeLayer(this.layerIds[k]);
131621
+ function addCluster(noSource) {
131622
+ if(!noSource) lThis.addSource('circle', optsAll.circle, trace.cluster);
131623
+ var order = ORDER.cluster;
131624
+ for(var i = 0; i < order.length; i++) {
131625
+ var k = order[i];
131626
+ var opts = optsAll[k];
131627
+ lThis.addLayer(k, opts, below);
131624
131628
  }
131625
- for(i = 0; i < order.length; i++) {
131626
- k = order[i];
131627
- opts = optsAll[k];
131628
- this.addLayer(k, opts, below);
131629
- }
131630
- this.below = below;
131631
- } else if(hasCluster && !hadCluster) {
131632
- for(i = ORDER.nonCluster.length - 1; i >= 0; i--) {
131633
- k = ORDER.nonCluster[i];
131634
- map.removeLayer(this.layerIds[k]);
131635
- map.removeSource(this.sourceIds[k]);
131629
+ }
131630
+
131631
+ function removeCluster(noSource) {
131632
+ var order = ORDER.cluster;
131633
+ for(var i = order.length - 1; i >= 0; i--) {
131634
+ var k = order[i];
131635
+ map.removeLayer(lThis.layerIds[k]);
131636
131636
  }
131637
- this.addSource('circle', optsAll.circle, trace.cluster);
131638
- for(i = 0; i < ORDER.cluster.length; i++) {
131639
- k = ORDER.cluster[i];
131640
- opts = optsAll[k];
131641
- this.addLayer(k, opts, below);
131637
+ if(!noSource) map.removeSource(lThis.sourceIds.circle);
131638
+ }
131639
+
131640
+ function addNonCluster(noSource) {
131641
+ var order = ORDER.nonCluster;
131642
+ for(var i = 0; i < order.length; i++) {
131643
+ var k = order[i];
131644
+ var opts = optsAll[k];
131645
+ if(!noSource) lThis.addSource(k, opts);
131646
+ lThis.addLayer(k, opts, below);
131642
131647
  }
131643
- this.clusterEnabled = hasCluster;
131644
- } else if(!hasCluster && hadCluster) {
131645
- for(i = 0; i < ORDER.cluster.length; i++) {
131646
- k = ORDER.cluster[i];
131647
- map.removeLayer(this.layerIds[k]);
131648
+ }
131649
+
131650
+ function removeNonCluster(noSource) {
131651
+ var order = ORDER.nonCluster;
131652
+ for(var i = order.length - 1; i >= 0; i--) {
131653
+ var k = order[i];
131654
+ map.removeLayer(lThis.layerIds[k]);
131655
+ if(!noSource) map.removeSource(lThis.sourceIds[k]);
131648
131656
  }
131649
- map.removeSource(this.sourceIds.circle);
131650
- for(i = 0; i < ORDER.nonCluster.length; i++) {
131651
- k = ORDER.nonCluster[i];
131652
- opts = optsAll[k];
131653
- this.addSource(k, opts, trace.cluster);
131654
- this.addLayer(k, opts, below);
131657
+ }
131658
+
131659
+ function remove(noSource) {
131660
+ if(hadCluster) removeCluster(noSource); else removeNonCluster(noSource);
131661
+ }
131662
+
131663
+ function add(noSource) {
131664
+ if(hasCluster) addCluster(noSource); else addNonCluster(noSource);
131665
+ }
131666
+
131667
+ function repaint() {
131668
+ var order = hasCluster ? ORDER.cluster : ORDER.nonCluster;
131669
+ for(var i = 0; i < order.length; i++) {
131670
+ var k = order[i];
131671
+ var opts = optsAll[k];
131672
+ if(!opts) continue;
131673
+
131674
+ subplot.setOptions(lThis.layerIds[k], 'setLayoutProperty', opts.layout);
131675
+
131676
+ if(opts.layout.visibility === 'visible') {
131677
+ if(k !== 'cluster') {
131678
+ lThis.setSourceData(k, opts);
131679
+ }
131680
+ subplot.setOptions(lThis.layerIds[k], 'setPaintProperty', opts.paint);
131681
+ }
131655
131682
  }
131656
- this.clusterEnabled = hasCluster;
131657
131683
  }
131658
131684
 
131685
+ var wasHidden = this.isHidden;
131686
+ var isHidden = trace.visible !== true;
131687
+
131688
+ if(isHidden) {
131689
+ if(!wasHidden) remove();
131690
+ } else if(wasHidden) {
131691
+ if(!isHidden) add();
131692
+ } else if(hadCluster !== hasCluster) {
131693
+ remove();
131694
+ add();
131695
+ } else if(this.below !== below) {
131696
+ remove(true);
131697
+ add(true);
131698
+ repaint();
131699
+ } else {
131700
+ repaint();
131701
+ }
131702
+
131703
+ this.clusterEnabled = hasCluster;
131704
+ this.isHidden = isHidden;
131705
+ this.below = below;
131706
+
131659
131707
  // link ref for quick update during selections
131660
131708
  calcTrace[0].trace._glTrace = this;
131661
131709
  };
@@ -131673,10 +131721,13 @@ proto.dispose = function dispose() {
131673
131721
  module.exports = function createScatterMapbox(subplot, calcTrace) {
131674
131722
  var trace = calcTrace[0].trace;
131675
131723
  var hasCluster = trace.cluster && trace.cluster.enabled;
131724
+ var isHidden = trace.visible !== true;
131725
+
131676
131726
  var scatterMapbox = new ScatterMapbox(
131677
131727
  subplot,
131678
131728
  trace.uid,
131679
- hasCluster
131729
+ hasCluster,
131730
+ isHidden
131680
131731
  );
131681
131732
 
131682
131733
  var optsAll = convert(subplot.gd, calcTrace);
@@ -132820,7 +132871,7 @@ function getSortFunc(opts, d2c) {
132820
132871
  'use strict';
132821
132872
 
132822
132873
  // package version injected by `npm run preprocess`
132823
- exports.version = '2.16.3';
132874
+ exports.version = '2.16.5';
132824
132875
 
132825
132876
  },{}]},{},[9])(9)
132826
132877
  });