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 (mapbox) v2.16.3
2
+ * plotly.js (mapbox) v2.16.4
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,
@@ -131534,11 +131534,12 @@ var ORDER = {
131534
131534
  nonCluster: ['fill', 'line', 'circle', 'symbol'],
131535
131535
  };
131536
131536
 
131537
- function ScatterMapbox(subplot, uid, clusterEnabled) {
131537
+ function ScatterMapbox(subplot, uid, clusterEnabled, isHidden) {
131538
131538
  this.type = 'scattermapbox';
131539
131539
  this.subplot = subplot;
131540
131540
  this.uid = uid;
131541
131541
  this.clusterEnabled = clusterEnabled;
131542
+ this.isHidden = isHidden;
131542
131543
 
131543
131544
  this.sourceIds = {
131544
131545
  fill: 'source-' + uid + '-fill',
@@ -131611,51 +131612,96 @@ proto.update = function update(calcTrace) {
131611
131612
  var map = subplot.map;
131612
131613
  var optsAll = convert(subplot.gd, calcTrace);
131613
131614
  var below = subplot.belowLookup['trace-' + this.uid];
131614
- var i, k, opts;
131615
131615
  var hasCluster = !!(trace.cluster && trace.cluster.enabled);
131616
131616
  var hadCluster = !!this.clusterEnabled;
131617
+ var lThis = this;
131617
131618
 
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]);
131624
- }
131625
- for(i = 0; i < order.length; i++) {
131626
- k = order[i];
131627
- opts = optsAll[k];
131628
- this.addLayer(k, opts, below);
131619
+ function addCluster(noSource) {
131620
+ if(!noSource) lThis.addSource('circle', optsAll.circle, trace.cluster);
131621
+ var order = ORDER.cluster;
131622
+ for(var i = 0; i < order.length; i++) {
131623
+ var k = order[i];
131624
+ var opts = optsAll[k];
131625
+ lThis.addLayer(k, opts, below);
131629
131626
  }
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]);
131627
+ }
131628
+
131629
+ function removeCluster(noSource) {
131630
+ var order = ORDER.cluster;
131631
+ for(var i = order.length - 1; i >= 0; i--) {
131632
+ var k = order[i];
131633
+ map.removeLayer(lThis.layerIds[k]);
131636
131634
  }
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);
131635
+ if(!noSource) map.removeSource(lThis.sourceIds.circle);
131636
+ }
131637
+
131638
+ function addNonCluster(noSource) {
131639
+ var order = ORDER.nonCluster;
131640
+ for(var i = 0; i < order.length; i++) {
131641
+ var k = order[i];
131642
+ var opts = optsAll[k];
131643
+ if(!noSource) lThis.addSource(k, opts);
131644
+ lThis.addLayer(k, opts, below);
131642
131645
  }
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]);
131646
+ }
131647
+
131648
+ function removeNonCluster(noSource) {
131649
+ var order = ORDER.nonCluster;
131650
+ for(var i = order.length - 1; i >= 0; i--) {
131651
+ var k = order[i];
131652
+ map.removeLayer(lThis.layerIds[k]);
131653
+ if(!noSource) map.removeSource(lThis.sourceIds[k]);
131648
131654
  }
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);
131655
+ }
131656
+
131657
+ function remove(noSource) {
131658
+ if(hadCluster) removeCluster(noSource); else removeNonCluster(noSource);
131659
+ }
131660
+
131661
+ function add(noSource) {
131662
+ if(hasCluster) addCluster(noSource); else addNonCluster(noSource);
131663
+ }
131664
+
131665
+ function repaint() {
131666
+ var order = hasCluster ? ORDER.cluster : ORDER.nonCluster;
131667
+ for(var i = 0; i < order.length; i++) {
131668
+ var k = order[i];
131669
+ var opts = optsAll[k];
131670
+ if(!opts) continue;
131671
+
131672
+ subplot.setOptions(lThis.layerIds[k], 'setLayoutProperty', opts.layout);
131673
+
131674
+ if(opts.layout.visibility === 'visible') {
131675
+ if(k !== 'cluster') {
131676
+ lThis.setSourceData(k, opts);
131677
+ }
131678
+ subplot.setOptions(lThis.layerIds[k], 'setPaintProperty', opts.paint);
131679
+ }
131655
131680
  }
131656
- this.clusterEnabled = hasCluster;
131657
131681
  }
131658
131682
 
131683
+ var wasHidden = this.isHidden;
131684
+ var isHidden = trace.visible !== true;
131685
+
131686
+ if(isHidden) {
131687
+ if(!wasHidden) remove();
131688
+ } else if(wasHidden) {
131689
+ if(!isHidden) add();
131690
+ } else if(hadCluster !== hasCluster) {
131691
+ remove();
131692
+ add();
131693
+ } else if(this.below !== below) {
131694
+ remove(true);
131695
+ add(true);
131696
+ repaint();
131697
+ } else {
131698
+ repaint();
131699
+ }
131700
+
131701
+ this.clusterEnabled = hasCluster;
131702
+ this.isHidden = isHidden;
131703
+ this.below = below;
131704
+
131659
131705
  // link ref for quick update during selections
131660
131706
  calcTrace[0].trace._glTrace = this;
131661
131707
  };
@@ -131673,10 +131719,13 @@ proto.dispose = function dispose() {
131673
131719
  module.exports = function createScatterMapbox(subplot, calcTrace) {
131674
131720
  var trace = calcTrace[0].trace;
131675
131721
  var hasCluster = trace.cluster && trace.cluster.enabled;
131722
+ var isHidden = trace.visible !== true;
131723
+
131676
131724
  var scatterMapbox = new ScatterMapbox(
131677
131725
  subplot,
131678
131726
  trace.uid,
131679
- hasCluster
131727
+ hasCluster,
131728
+ isHidden
131680
131729
  );
131681
131730
 
131682
131731
  var optsAll = convert(subplot.gd, calcTrace);
@@ -132820,7 +132869,7 @@ function getSortFunc(opts, d2c) {
132820
132869
  'use strict';
132821
132870
 
132822
132871
  // package version injected by `npm run preprocess`
132823
- exports.version = '2.16.3';
132872
+ exports.version = '2.16.4';
132824
132873
 
132825
132874
  },{}]},{},[9])(9)
132826
132875
  });