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.
- package/CHANGELOG.md +7 -1
- package/README.md +3 -3
- package/dist/README.md +19 -19
- package/dist/plotly-basic.js +3 -3
- package/dist/plotly-basic.min.js +2 -2
- package/dist/plotly-cartesian.js +3 -3
- package/dist/plotly-cartesian.min.js +2 -2
- package/dist/plotly-finance.js +3 -3
- package/dist/plotly-finance.min.js +2 -2
- package/dist/plotly-geo-assets.js +2 -2
- package/dist/plotly-geo.js +3 -3
- package/dist/plotly-geo.min.js +2 -2
- package/dist/plotly-gl2d.js +3 -3
- package/dist/plotly-gl2d.min.js +2 -2
- package/dist/plotly-gl3d.js +3 -3
- package/dist/plotly-gl3d.min.js +2 -2
- package/dist/plotly-mapbox.js +89 -40
- package/dist/plotly-mapbox.min.js +2 -2
- package/dist/plotly-strict.js +89 -40
- package/dist/plotly-strict.min.js +2 -2
- package/dist/plotly-with-meta.js +89 -40
- package/dist/plotly.js +89 -40
- package/dist/plotly.min.js +2 -2
- package/package.json +1 -1
- package/src/components/colorscale/index.js +1 -1
- package/src/traces/scattermapbox/plot.js +87 -38
- package/src/version.js +1 -1
package/package.json
CHANGED
|
@@ -17,7 +17,7 @@ module.exports = {
|
|
|
17
17
|
calc: require('./calc'),
|
|
18
18
|
|
|
19
19
|
// ./scales.js is required in lib/coerce.js ;
|
|
20
|
-
// it needs to be a separate module to avoid circular
|
|
20
|
+
// it needs to be a separate module to avoid a circular dependency
|
|
21
21
|
scales: scales.scales,
|
|
22
22
|
defaultScale: scales.defaultScale,
|
|
23
23
|
getScale: scales.get,
|
|
@@ -8,11 +8,12 @@ var ORDER = {
|
|
|
8
8
|
nonCluster: ['fill', 'line', 'circle', 'symbol'],
|
|
9
9
|
};
|
|
10
10
|
|
|
11
|
-
function ScatterMapbox(subplot, uid, clusterEnabled) {
|
|
11
|
+
function ScatterMapbox(subplot, uid, clusterEnabled, isHidden) {
|
|
12
12
|
this.type = 'scattermapbox';
|
|
13
13
|
this.subplot = subplot;
|
|
14
14
|
this.uid = uid;
|
|
15
15
|
this.clusterEnabled = clusterEnabled;
|
|
16
|
+
this.isHidden = isHidden;
|
|
16
17
|
|
|
17
18
|
this.sourceIds = {
|
|
18
19
|
fill: 'source-' + uid + '-fill',
|
|
@@ -85,51 +86,96 @@ proto.update = function update(calcTrace) {
|
|
|
85
86
|
var map = subplot.map;
|
|
86
87
|
var optsAll = convert(subplot.gd, calcTrace);
|
|
87
88
|
var below = subplot.belowLookup['trace-' + this.uid];
|
|
88
|
-
var i, k, opts;
|
|
89
89
|
var hasCluster = !!(trace.cluster && trace.cluster.enabled);
|
|
90
90
|
var hadCluster = !!this.clusterEnabled;
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
91
|
+
var lThis = this;
|
|
92
|
+
|
|
93
|
+
function addCluster(noSource) {
|
|
94
|
+
if(!noSource) lThis.addSource('circle', optsAll.circle, trace.cluster);
|
|
95
|
+
var order = ORDER.cluster;
|
|
96
|
+
for(var i = 0; i < order.length; i++) {
|
|
97
|
+
var k = order[i];
|
|
98
|
+
var opts = optsAll[k];
|
|
99
|
+
lThis.addLayer(k, opts, below);
|
|
98
100
|
}
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
for(i = ORDER.nonCluster.length - 1; i >= 0; i--) {
|
|
107
|
-
k = ORDER.nonCluster[i];
|
|
108
|
-
map.removeLayer(this.layerIds[k]);
|
|
109
|
-
map.removeSource(this.sourceIds[k]);
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
function removeCluster(noSource) {
|
|
104
|
+
var order = ORDER.cluster;
|
|
105
|
+
for(var i = order.length - 1; i >= 0; i--) {
|
|
106
|
+
var k = order[i];
|
|
107
|
+
map.removeLayer(lThis.layerIds[k]);
|
|
110
108
|
}
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
109
|
+
if(!noSource) map.removeSource(lThis.sourceIds.circle);
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
function addNonCluster(noSource) {
|
|
113
|
+
var order = ORDER.nonCluster;
|
|
114
|
+
for(var i = 0; i < order.length; i++) {
|
|
115
|
+
var k = order[i];
|
|
116
|
+
var opts = optsAll[k];
|
|
117
|
+
if(!noSource) lThis.addSource(k, opts);
|
|
118
|
+
lThis.addLayer(k, opts, below);
|
|
116
119
|
}
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
function removeNonCluster(noSource) {
|
|
123
|
+
var order = ORDER.nonCluster;
|
|
124
|
+
for(var i = order.length - 1; i >= 0; i--) {
|
|
125
|
+
var k = order[i];
|
|
126
|
+
map.removeLayer(lThis.layerIds[k]);
|
|
127
|
+
if(!noSource) map.removeSource(lThis.sourceIds[k]);
|
|
122
128
|
}
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
function remove(noSource) {
|
|
132
|
+
if(hadCluster) removeCluster(noSource); else removeNonCluster(noSource);
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
function add(noSource) {
|
|
136
|
+
if(hasCluster) addCluster(noSource); else addNonCluster(noSource);
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
function repaint() {
|
|
140
|
+
var order = hasCluster ? ORDER.cluster : ORDER.nonCluster;
|
|
141
|
+
for(var i = 0; i < order.length; i++) {
|
|
142
|
+
var k = order[i];
|
|
143
|
+
var opts = optsAll[k];
|
|
144
|
+
if(!opts) continue;
|
|
145
|
+
|
|
146
|
+
subplot.setOptions(lThis.layerIds[k], 'setLayoutProperty', opts.layout);
|
|
147
|
+
|
|
148
|
+
if(opts.layout.visibility === 'visible') {
|
|
149
|
+
if(k !== 'cluster') {
|
|
150
|
+
lThis.setSourceData(k, opts);
|
|
151
|
+
}
|
|
152
|
+
subplot.setOptions(lThis.layerIds[k], 'setPaintProperty', opts.paint);
|
|
153
|
+
}
|
|
129
154
|
}
|
|
130
|
-
this.clusterEnabled = hasCluster;
|
|
131
155
|
}
|
|
132
156
|
|
|
157
|
+
var wasHidden = this.isHidden;
|
|
158
|
+
var isHidden = trace.visible !== true;
|
|
159
|
+
|
|
160
|
+
if(isHidden) {
|
|
161
|
+
if(!wasHidden) remove();
|
|
162
|
+
} else if(wasHidden) {
|
|
163
|
+
if(!isHidden) add();
|
|
164
|
+
} else if(hadCluster !== hasCluster) {
|
|
165
|
+
remove();
|
|
166
|
+
add();
|
|
167
|
+
} else if(this.below !== below) {
|
|
168
|
+
remove(true);
|
|
169
|
+
add(true);
|
|
170
|
+
repaint();
|
|
171
|
+
} else {
|
|
172
|
+
repaint();
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
this.clusterEnabled = hasCluster;
|
|
176
|
+
this.isHidden = isHidden;
|
|
177
|
+
this.below = below;
|
|
178
|
+
|
|
133
179
|
// link ref for quick update during selections
|
|
134
180
|
calcTrace[0].trace._glTrace = this;
|
|
135
181
|
};
|
|
@@ -147,10 +193,13 @@ proto.dispose = function dispose() {
|
|
|
147
193
|
module.exports = function createScatterMapbox(subplot, calcTrace) {
|
|
148
194
|
var trace = calcTrace[0].trace;
|
|
149
195
|
var hasCluster = trace.cluster && trace.cluster.enabled;
|
|
196
|
+
var isHidden = trace.visible !== true;
|
|
197
|
+
|
|
150
198
|
var scatterMapbox = new ScatterMapbox(
|
|
151
199
|
subplot,
|
|
152
200
|
trace.uid,
|
|
153
|
-
hasCluster
|
|
201
|
+
hasCluster,
|
|
202
|
+
isHidden
|
|
154
203
|
);
|
|
155
204
|
|
|
156
205
|
var optsAll = convert(subplot.gd, calcTrace);
|
package/src/version.js
CHANGED