Skip to content

Commit d2b793a

Browse files
committed
drop role and handle cases with no cluster
1 parent 672dea3 commit d2b793a

File tree

6 files changed

+15
-20
lines changed

6 files changed

+15
-20
lines changed

src/traces/scattermapbox/attributes.js

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@ module.exports = overrideAll({
2222
cluster: {
2323
enabled: {
2424
valType: 'boolean',
25-
role: 'info',
2625
dflt: false,
2726
description: 'Determines whether clustering is enabled or disabled.'
2827
},
@@ -33,7 +32,6 @@ module.exports = overrideAll({
3332
].join(' ')
3433
}),
3534
step: {
36-
role: 'info',
3735
valType: 'number',
3836
arrayOk: true,
3937
dflt: -1,
@@ -43,7 +41,6 @@ module.exports = overrideAll({
4341
].join(' ')
4442
},
4543
size: {
46-
role: 'info',
4744
valType: 'number',
4845
arrayOk: true,
4946
dflt: 20,
@@ -55,7 +52,6 @@ module.exports = overrideAll({
5552
color: {
5653
valType: 'color',
5754
arrayOk: true,
58-
role: 'style',
5955
description: [
6056
'Sets the color for each cluster step.'
6157
].join(' ')

src/traces/scattermapbox/convert.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ module.exports = function convert(gd, calcTrace) {
2626
var hasText = subTypes.hasText(trace);
2727
var hasCircles = (hasMarkers && trace.marker.symbol === 'circle');
2828
var hasSymbols = (hasMarkers && trace.marker.symbol !== 'circle');
29-
var hasCluster = trace.cluster.enabled;
29+
var hasCluster = trace.cluster && trace.cluster.enabled;
3030

3131
var fill = initContainer('fill');
3232
var line = initContainer('line');

src/traces/scattermapbox/defaults.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,8 @@ module.exports = function supplyDefaults(traceIn, traceOut, defaultColor, layout
4646
}
4747
}
4848

49-
var clusterEnabled = coerce('cluster.enabled');
50-
if(clusterEnabled) {
49+
var hasCluster = coerce('cluster.enabled');
50+
if(hasCluster) {
5151
coerce('cluster.maxzoom');
5252
coerce('cluster.step');
5353
coerce('cluster.color', traceOut.marker.color || defaultColor);

src/traces/scattermapbox/hover.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,9 @@ function hoverPoints(pointData, xval, yval) {
1515
var subplot = pointData.subplot;
1616
var clusteredPointsIds = [];
1717
var layer = LAYER_PREFIX + trace.uid + '-circle';
18+
var hasCluster = trace.cluster && trace.cluster.enabled;
1819

19-
if(trace.cluster.enabled) {
20+
if(hasCluster) {
2021
var elems = subplot.map.queryRenderedFeatures(null, {layers: [layer]});
2122
clusteredPointsIds = elems.map(function(elem) {return elem.id;});
2223
}
@@ -33,7 +34,7 @@ function hoverPoints(pointData, xval, yval) {
3334
function distFn(d) {
3435
var lonlat = d.lonlat;
3536
if(lonlat[0] === BADNUM) return Infinity;
36-
if(trace.cluster.enabled && clusteredPointsIds.indexOf(d.i + 1) === -1) return Infinity;
37+
if(hasCluster && clusteredPointsIds.indexOf(d.i + 1) === -1) return Infinity;
3738

3839
var lon = Lib.modHalf(lonlat[0], 360);
3940
var lat = lonlat[1];

src/traces/scattermapbox/plot.js

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ proto.addSource = function(k, opts, cluster) {
4949
data: opts.geojson,
5050
};
5151

52-
if(cluster.enabled) {
52+
if(cluster && cluster.enabled) {
5353
Lib.extendFlat(sourceOpts, {
5454
cluster: true,
5555
clusterMaxZoom: cluster.maxzoom,
@@ -86,7 +86,7 @@ proto.update = function update(calcTrace) {
8686
var optsAll = convert(subplot.gd, calcTrace);
8787
var below = subplot.belowLookup['trace-' + this.uid];
8888
var i, k, opts, order;
89-
var hasCluster = trace.cluster.enabled;
89+
var hasCluster = trace.cluster && trace.cluster.enabled;
9090
var hadCluster = this.clusterEnabled;
9191

9292
if(hasCluster === hadCluster) {
@@ -147,16 +147,18 @@ proto.dispose = function dispose() {
147147

148148
module.exports = function createScatterMapbox(subplot, calcTrace) {
149149
var trace = calcTrace[0].trace;
150+
var hasCluster = trace.cluster && trace.cluster.enabled;
150151
var scatterMapbox = new ScatterMapbox(
151-
subplot,
152-
trace.uid,
153-
trace.cluster.enabled
154-
);
152+
subplot,
153+
trace.uid,
154+
hasCluster
155+
);
156+
155157
var optsAll = convert(subplot.gd, calcTrace);
156158
var below = scatterMapbox.below = subplot.belowLookup['trace-' + trace.uid];
157159
var i, k, opts;
158160

159-
if(trace.cluster.enabled) {
161+
if(hasCluster) {
160162
scatterMapbox.addSource('circle', optsAll.circle, trace.cluster);
161163
for(i = 0; i < ORDER.cluster.length; i++) {
162164
k = ORDER.cluster[i];

test/plot-schema.json

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -51002,7 +51002,6 @@
5100251002
"arrayOk": true,
5100351003
"description": "Sets the color for each cluster step.",
5100451004
"editType": "calc",
51005-
"role": "style",
5100651005
"valType": "color"
5100751006
},
5100851007
"colorsrc": {
@@ -51015,7 +51014,6 @@
5101551014
"description": "Determines whether clustering is enabled or disabled.",
5101651015
"dflt": false,
5101751016
"editType": "calc",
51018-
"role": "info",
5101951017
"valType": "boolean"
5102051018
},
5102151019
"maxzoom": {
@@ -51047,7 +51045,6 @@
5104751045
"dflt": 20,
5104851046
"editType": "calc",
5104951047
"min": 0,
51050-
"role": "info",
5105151048
"valType": "number"
5105251049
},
5105351050
"sizesrc": {
@@ -51061,7 +51058,6 @@
5106151058
"dflt": -1,
5106251059
"editType": "calc",
5106351060
"min": -1,
51064-
"role": "info",
5106551061
"valType": "number"
5106651062
},
5106751063
"stepsrc": {

0 commit comments

Comments
 (0)