plotly.js 2.16.2 → 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.
- package/CHANGELOG.md +13 -0
- package/README.md +3 -3
- package/dist/README.md +23 -23
- package/dist/plotly-basic.js +15 -5
- package/dist/plotly-basic.min.js +2 -2
- package/dist/plotly-cartesian.js +15 -5
- package/dist/plotly-cartesian.min.js +2 -2
- package/dist/plotly-finance.js +15 -5
- package/dist/plotly-finance.min.js +2 -2
- package/dist/plotly-geo-assets.js +2 -2
- package/dist/plotly-geo.js +15 -5
- package/dist/plotly-geo.min.js +2 -2
- package/dist/plotly-gl2d.js +15 -5
- package/dist/plotly-gl2d.min.js +2 -2
- package/dist/plotly-gl3d.js +15 -5
- package/dist/plotly-gl3d.min.js +2 -2
- package/dist/plotly-mapbox.js +101 -42
- package/dist/plotly-mapbox.min.js +2 -2
- package/dist/plotly-strict.js +101 -42
- package/dist/plotly-strict.min.js +2 -2
- package/dist/plotly-with-meta.js +101 -42
- package/dist/plotly.js +101 -42
- package/dist/plotly.min.js +2 -2
- package/package.json +1 -1
- package/src/components/colorscale/index.js +1 -1
- package/src/components/fx/hover.js +12 -2
- package/src/traces/scattermapbox/plot.js +87 -38
- package/src/version.js +1 -1
package/dist/plotly-with-meta.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* plotly.js v2.16.
|
|
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
|
|
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,
|
|
@@ -113680,7 +113680,17 @@ function createHoverText(hoverData, opts) {
|
|
|
113680
113680
|
var xa = c0.xa;
|
|
113681
113681
|
var ya = c0.ya;
|
|
113682
113682
|
var axLetter = hovermode.charAt(0);
|
|
113683
|
-
var
|
|
113683
|
+
var axLabel = axLetter + 'Label';
|
|
113684
|
+
var t0 = c0[axLabel];
|
|
113685
|
+
|
|
113686
|
+
// search in array for the label
|
|
113687
|
+
if(t0 === undefined && xa.type === 'multicategory') {
|
|
113688
|
+
for(var q = 0; q < hoverData.length; q++) {
|
|
113689
|
+
t0 = hoverData[q][axLabel];
|
|
113690
|
+
if(t0 !== undefined) break;
|
|
113691
|
+
}
|
|
113692
|
+
}
|
|
113693
|
+
|
|
113684
113694
|
var outerContainerBB = getBoundingClientRect(gd, outerContainer);
|
|
113685
113695
|
var outerTop = outerContainerBB.top;
|
|
113686
113696
|
var outerWidth = outerContainerBB.width;
|
|
@@ -114859,7 +114869,7 @@ function getCoord(axLetter, winningPoint, fullLayout) {
|
|
|
114859
114869
|
|
|
114860
114870
|
var cd0 = winningPoint.cd[0];
|
|
114861
114871
|
|
|
114862
|
-
if(ax.type === 'category') val = ax._categoriesMap[val];
|
|
114872
|
+
if(ax.type === 'category' || ax.type === 'multicategory') val = ax._categoriesMap[val];
|
|
114863
114873
|
else if(ax.type === 'date') {
|
|
114864
114874
|
var periodalignment = winningPoint.trace[axLetter + 'periodalignment'];
|
|
114865
114875
|
if(periodalignment) {
|
|
@@ -220457,11 +220467,12 @@ var ORDER = {
|
|
|
220457
220467
|
nonCluster: ['fill', 'line', 'circle', 'symbol'],
|
|
220458
220468
|
};
|
|
220459
220469
|
|
|
220460
|
-
function ScatterMapbox(subplot, uid, clusterEnabled) {
|
|
220470
|
+
function ScatterMapbox(subplot, uid, clusterEnabled, isHidden) {
|
|
220461
220471
|
this.type = 'scattermapbox';
|
|
220462
220472
|
this.subplot = subplot;
|
|
220463
220473
|
this.uid = uid;
|
|
220464
220474
|
this.clusterEnabled = clusterEnabled;
|
|
220475
|
+
this.isHidden = isHidden;
|
|
220465
220476
|
|
|
220466
220477
|
this.sourceIds = {
|
|
220467
220478
|
fill: 'source-' + uid + '-fill',
|
|
@@ -220534,51 +220545,96 @@ proto.update = function update(calcTrace) {
|
|
|
220534
220545
|
var map = subplot.map;
|
|
220535
220546
|
var optsAll = convert(subplot.gd, calcTrace);
|
|
220536
220547
|
var below = subplot.belowLookup['trace-' + this.uid];
|
|
220537
|
-
var i, k, opts;
|
|
220538
220548
|
var hasCluster = !!(trace.cluster && trace.cluster.enabled);
|
|
220539
220549
|
var hadCluster = !!this.clusterEnabled;
|
|
220550
|
+
var lThis = this;
|
|
220540
220551
|
|
|
220541
|
-
|
|
220542
|
-
|
|
220543
|
-
|
|
220544
|
-
for(i =
|
|
220545
|
-
k = order[i];
|
|
220546
|
-
|
|
220547
|
-
|
|
220548
|
-
for(i = 0; i < order.length; i++) {
|
|
220549
|
-
k = order[i];
|
|
220550
|
-
opts = optsAll[k];
|
|
220551
|
-
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);
|
|
220552
220559
|
}
|
|
220553
|
-
|
|
220554
|
-
|
|
220555
|
-
|
|
220556
|
-
|
|
220557
|
-
|
|
220558
|
-
|
|
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]);
|
|
220559
220567
|
}
|
|
220560
|
-
|
|
220561
|
-
|
|
220562
|
-
|
|
220563
|
-
|
|
220564
|
-
|
|
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);
|
|
220565
220578
|
}
|
|
220566
|
-
|
|
220567
|
-
|
|
220568
|
-
|
|
220569
|
-
|
|
220570
|
-
|
|
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]);
|
|
220571
220587
|
}
|
|
220572
|
-
|
|
220573
|
-
|
|
220574
|
-
|
|
220575
|
-
|
|
220576
|
-
|
|
220577
|
-
|
|
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
|
+
}
|
|
220578
220613
|
}
|
|
220579
|
-
this.clusterEnabled = hasCluster;
|
|
220580
220614
|
}
|
|
220581
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
|
+
|
|
220582
220638
|
// link ref for quick update during selections
|
|
220583
220639
|
calcTrace[0].trace._glTrace = this;
|
|
220584
220640
|
};
|
|
@@ -220596,10 +220652,13 @@ proto.dispose = function dispose() {
|
|
|
220596
220652
|
module.exports = function createScatterMapbox(subplot, calcTrace) {
|
|
220597
220653
|
var trace = calcTrace[0].trace;
|
|
220598
220654
|
var hasCluster = trace.cluster && trace.cluster.enabled;
|
|
220655
|
+
var isHidden = trace.visible !== true;
|
|
220656
|
+
|
|
220599
220657
|
var scatterMapbox = new ScatterMapbox(
|
|
220600
220658
|
subplot,
|
|
220601
220659
|
trace.uid,
|
|
220602
|
-
hasCluster
|
|
220660
|
+
hasCluster,
|
|
220661
|
+
isHidden
|
|
220603
220662
|
);
|
|
220604
220663
|
|
|
220605
220664
|
var optsAll = convert(subplot.gd, calcTrace);
|
|
@@ -233914,7 +233973,7 @@ function getSortFunc(opts, d2c) {
|
|
|
233914
233973
|
'use strict';
|
|
233915
233974
|
|
|
233916
233975
|
// package version injected by `npm run preprocess`
|
|
233917
|
-
exports.version = '2.16.
|
|
233976
|
+
exports.version = '2.16.4';
|
|
233918
233977
|
|
|
233919
233978
|
},{}],1133:[function(_dereq_,module,exports){
|
|
233920
233979
|
(function (global){(function (){
|
package/dist/plotly.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* plotly.js v2.16.
|
|
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
|
|
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,
|
|
@@ -113183,7 +113183,17 @@ function createHoverText(hoverData, opts) {
|
|
|
113183
113183
|
var xa = c0.xa;
|
|
113184
113184
|
var ya = c0.ya;
|
|
113185
113185
|
var axLetter = hovermode.charAt(0);
|
|
113186
|
-
var
|
|
113186
|
+
var axLabel = axLetter + 'Label';
|
|
113187
|
+
var t0 = c0[axLabel];
|
|
113188
|
+
|
|
113189
|
+
// search in array for the label
|
|
113190
|
+
if(t0 === undefined && xa.type === 'multicategory') {
|
|
113191
|
+
for(var q = 0; q < hoverData.length; q++) {
|
|
113192
|
+
t0 = hoverData[q][axLabel];
|
|
113193
|
+
if(t0 !== undefined) break;
|
|
113194
|
+
}
|
|
113195
|
+
}
|
|
113196
|
+
|
|
113187
113197
|
var outerContainerBB = getBoundingClientRect(gd, outerContainer);
|
|
113188
113198
|
var outerTop = outerContainerBB.top;
|
|
113189
113199
|
var outerWidth = outerContainerBB.width;
|
|
@@ -114362,7 +114372,7 @@ function getCoord(axLetter, winningPoint, fullLayout) {
|
|
|
114362
114372
|
|
|
114363
114373
|
var cd0 = winningPoint.cd[0];
|
|
114364
114374
|
|
|
114365
|
-
if(ax.type === 'category') val = ax._categoriesMap[val];
|
|
114375
|
+
if(ax.type === 'category' || ax.type === 'multicategory') val = ax._categoriesMap[val];
|
|
114366
114376
|
else if(ax.type === 'date') {
|
|
114367
114377
|
var periodalignment = winningPoint.trace[axLetter + 'periodalignment'];
|
|
114368
114378
|
if(periodalignment) {
|
|
@@ -214829,11 +214839,12 @@ var ORDER = {
|
|
|
214829
214839
|
nonCluster: ['fill', 'line', 'circle', 'symbol'],
|
|
214830
214840
|
};
|
|
214831
214841
|
|
|
214832
|
-
function ScatterMapbox(subplot, uid, clusterEnabled) {
|
|
214842
|
+
function ScatterMapbox(subplot, uid, clusterEnabled, isHidden) {
|
|
214833
214843
|
this.type = 'scattermapbox';
|
|
214834
214844
|
this.subplot = subplot;
|
|
214835
214845
|
this.uid = uid;
|
|
214836
214846
|
this.clusterEnabled = clusterEnabled;
|
|
214847
|
+
this.isHidden = isHidden;
|
|
214837
214848
|
|
|
214838
214849
|
this.sourceIds = {
|
|
214839
214850
|
fill: 'source-' + uid + '-fill',
|
|
@@ -214906,51 +214917,96 @@ proto.update = function update(calcTrace) {
|
|
|
214906
214917
|
var map = subplot.map;
|
|
214907
214918
|
var optsAll = convert(subplot.gd, calcTrace);
|
|
214908
214919
|
var below = subplot.belowLookup['trace-' + this.uid];
|
|
214909
|
-
var i, k, opts;
|
|
214910
214920
|
var hasCluster = !!(trace.cluster && trace.cluster.enabled);
|
|
214911
214921
|
var hadCluster = !!this.clusterEnabled;
|
|
214922
|
+
var lThis = this;
|
|
214912
214923
|
|
|
214913
|
-
|
|
214914
|
-
|
|
214915
|
-
|
|
214916
|
-
for(i =
|
|
214917
|
-
k = order[i];
|
|
214918
|
-
|
|
214919
|
-
|
|
214920
|
-
for(i = 0; i < order.length; i++) {
|
|
214921
|
-
k = order[i];
|
|
214922
|
-
opts = optsAll[k];
|
|
214923
|
-
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);
|
|
214924
214931
|
}
|
|
214925
|
-
|
|
214926
|
-
|
|
214927
|
-
|
|
214928
|
-
|
|
214929
|
-
|
|
214930
|
-
|
|
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]);
|
|
214931
214939
|
}
|
|
214932
|
-
|
|
214933
|
-
|
|
214934
|
-
|
|
214935
|
-
|
|
214936
|
-
|
|
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);
|
|
214937
214950
|
}
|
|
214938
|
-
|
|
214939
|
-
|
|
214940
|
-
|
|
214941
|
-
|
|
214942
|
-
|
|
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]);
|
|
214943
214959
|
}
|
|
214944
|
-
|
|
214945
|
-
|
|
214946
|
-
|
|
214947
|
-
|
|
214948
|
-
|
|
214949
|
-
|
|
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
|
+
}
|
|
214950
214985
|
}
|
|
214951
|
-
this.clusterEnabled = hasCluster;
|
|
214952
214986
|
}
|
|
214953
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
|
+
|
|
214954
215010
|
// link ref for quick update during selections
|
|
214955
215011
|
calcTrace[0].trace._glTrace = this;
|
|
214956
215012
|
};
|
|
@@ -214968,10 +215024,13 @@ proto.dispose = function dispose() {
|
|
|
214968
215024
|
module.exports = function createScatterMapbox(subplot, calcTrace) {
|
|
214969
215025
|
var trace = calcTrace[0].trace;
|
|
214970
215026
|
var hasCluster = trace.cluster && trace.cluster.enabled;
|
|
215027
|
+
var isHidden = trace.visible !== true;
|
|
215028
|
+
|
|
214971
215029
|
var scatterMapbox = new ScatterMapbox(
|
|
214972
215030
|
subplot,
|
|
214973
215031
|
trace.uid,
|
|
214974
|
-
hasCluster
|
|
215032
|
+
hasCluster,
|
|
215033
|
+
isHidden
|
|
214975
215034
|
);
|
|
214976
215035
|
|
|
214977
215036
|
var optsAll = convert(subplot.gd, calcTrace);
|
|
@@ -227364,7 +227423,7 @@ function getSortFunc(opts, d2c) {
|
|
|
227364
227423
|
'use strict';
|
|
227365
227424
|
|
|
227366
227425
|
// package version injected by `npm run preprocess`
|
|
227367
|
-
exports.version = '2.16.
|
|
227426
|
+
exports.version = '2.16.4';
|
|
227368
227427
|
|
|
227369
227428
|
},{}],1133:[function(_dereq_,module,exports){
|
|
227370
227429
|
(function (global){(function (){
|