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 (strict) v2.16.3
2
+ * plotly.js (strict) v2.16.4
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,
@@ -237821,11 +237821,12 @@ var ORDER = {
237821
237821
  nonCluster: ['fill', 'line', 'circle', 'symbol'],
237822
237822
  };
237823
237823
 
237824
- function ScatterMapbox(subplot, uid, clusterEnabled) {
237824
+ function ScatterMapbox(subplot, uid, clusterEnabled, isHidden) {
237825
237825
  this.type = 'scattermapbox';
237826
237826
  this.subplot = subplot;
237827
237827
  this.uid = uid;
237828
237828
  this.clusterEnabled = clusterEnabled;
237829
+ this.isHidden = isHidden;
237829
237830
 
237830
237831
  this.sourceIds = {
237831
237832
  fill: 'source-' + uid + '-fill',
@@ -237898,51 +237899,96 @@ proto.update = function update(calcTrace) {
237898
237899
  var map = subplot.map;
237899
237900
  var optsAll = convert(subplot.gd, calcTrace);
237900
237901
  var below = subplot.belowLookup['trace-' + this.uid];
237901
- var i, k, opts;
237902
237902
  var hasCluster = !!(trace.cluster && trace.cluster.enabled);
237903
237903
  var hadCluster = !!this.clusterEnabled;
237904
+ var lThis = this;
237904
237905
 
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]);
237911
- }
237912
- for(i = 0; i < order.length; i++) {
237913
- k = order[i];
237914
- opts = optsAll[k];
237915
- this.addLayer(k, opts, below);
237906
+ function addCluster(noSource) {
237907
+ if(!noSource) lThis.addSource('circle', optsAll.circle, trace.cluster);
237908
+ var order = ORDER.cluster;
237909
+ for(var i = 0; i < order.length; i++) {
237910
+ var k = order[i];
237911
+ var opts = optsAll[k];
237912
+ lThis.addLayer(k, opts, below);
237916
237913
  }
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]);
237914
+ }
237915
+
237916
+ function removeCluster(noSource) {
237917
+ var order = ORDER.cluster;
237918
+ for(var i = order.length - 1; i >= 0; i--) {
237919
+ var k = order[i];
237920
+ map.removeLayer(lThis.layerIds[k]);
237923
237921
  }
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);
237922
+ if(!noSource) map.removeSource(lThis.sourceIds.circle);
237923
+ }
237924
+
237925
+ function addNonCluster(noSource) {
237926
+ var order = ORDER.nonCluster;
237927
+ for(var i = 0; i < order.length; i++) {
237928
+ var k = order[i];
237929
+ var opts = optsAll[k];
237930
+ if(!noSource) lThis.addSource(k, opts);
237931
+ lThis.addLayer(k, opts, below);
237929
237932
  }
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]);
237933
+ }
237934
+
237935
+ function removeNonCluster(noSource) {
237936
+ var order = ORDER.nonCluster;
237937
+ for(var i = order.length - 1; i >= 0; i--) {
237938
+ var k = order[i];
237939
+ map.removeLayer(lThis.layerIds[k]);
237940
+ if(!noSource) map.removeSource(lThis.sourceIds[k]);
237935
237941
  }
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);
237942
+ }
237943
+
237944
+ function remove(noSource) {
237945
+ if(hadCluster) removeCluster(noSource); else removeNonCluster(noSource);
237946
+ }
237947
+
237948
+ function add(noSource) {
237949
+ if(hasCluster) addCluster(noSource); else addNonCluster(noSource);
237950
+ }
237951
+
237952
+ function repaint() {
237953
+ var order = hasCluster ? ORDER.cluster : ORDER.nonCluster;
237954
+ for(var i = 0; i < order.length; i++) {
237955
+ var k = order[i];
237956
+ var opts = optsAll[k];
237957
+ if(!opts) continue;
237958
+
237959
+ subplot.setOptions(lThis.layerIds[k], 'setLayoutProperty', opts.layout);
237960
+
237961
+ if(opts.layout.visibility === 'visible') {
237962
+ if(k !== 'cluster') {
237963
+ lThis.setSourceData(k, opts);
237964
+ }
237965
+ subplot.setOptions(lThis.layerIds[k], 'setPaintProperty', opts.paint);
237966
+ }
237942
237967
  }
237943
- this.clusterEnabled = hasCluster;
237944
237968
  }
237945
237969
 
237970
+ var wasHidden = this.isHidden;
237971
+ var isHidden = trace.visible !== true;
237972
+
237973
+ if(isHidden) {
237974
+ if(!wasHidden) remove();
237975
+ } else if(wasHidden) {
237976
+ if(!isHidden) add();
237977
+ } else if(hadCluster !== hasCluster) {
237978
+ remove();
237979
+ add();
237980
+ } else if(this.below !== below) {
237981
+ remove(true);
237982
+ add(true);
237983
+ repaint();
237984
+ } else {
237985
+ repaint();
237986
+ }
237987
+
237988
+ this.clusterEnabled = hasCluster;
237989
+ this.isHidden = isHidden;
237990
+ this.below = below;
237991
+
237946
237992
  // link ref for quick update during selections
237947
237993
  calcTrace[0].trace._glTrace = this;
237948
237994
  };
@@ -237960,10 +238006,13 @@ proto.dispose = function dispose() {
237960
238006
  module.exports = function createScatterMapbox(subplot, calcTrace) {
237961
238007
  var trace = calcTrace[0].trace;
237962
238008
  var hasCluster = trace.cluster && trace.cluster.enabled;
238009
+ var isHidden = trace.visible !== true;
238010
+
237963
238011
  var scatterMapbox = new ScatterMapbox(
237964
238012
  subplot,
237965
238013
  trace.uid,
237966
- hasCluster
238014
+ hasCluster,
238015
+ isHidden
237967
238016
  );
237968
238017
 
237969
238018
  var optsAll = convert(subplot.gd, calcTrace);
@@ -250410,7 +250459,7 @@ function getSortFunc(opts, d2c) {
250410
250459
  'use strict';
250411
250460
 
250412
250461
  // package version injected by `npm run preprocess`
250413
- exports.version = '2.16.3';
250462
+ exports.version = '2.16.4';
250414
250463
 
250415
250464
  },{}],1151:[function(_dereq_,module,exports){
250416
250465
  (function (global){(function (){