Skip to content

Commit 477d2a0

Browse files
committed
smart dflt for cluster.enabled
1 parent 54aaa17 commit 477d2a0

File tree

4 files changed

+18
-14
lines changed

4 files changed

+18
-14
lines changed

src/traces/scattermapbox/attributes.js

-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@ module.exports = overrideAll({
2222
cluster: {
2323
enabled: {
2424
valType: 'boolean',
25-
dflt: false,
2625
description: 'Determines whether clustering is enabled or disabled.'
2726
},
2827
maxzoom: extendFlat({}, mapboxLayoutAtributes.layers.maxzoom, {

src/traces/scattermapbox/defaults.js

+18-8
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,10 @@ module.exports = function supplyDefaults(traceIn, traceOut, defaultColor, layout
1414
return Lib.coerce(traceIn, traceOut, attributes, attr, dflt);
1515
}
1616

17+
function coerce2(attr, dflt) {
18+
return Lib.coerce2(traceIn, traceOut, attributes, attr, dflt);
19+
}
20+
1721
var len = handleLonLatDefaults(traceIn, traceOut, coerce);
1822
if(!len) {
1923
traceOut.visible = false;
@@ -46,14 +50,20 @@ module.exports = function supplyDefaults(traceIn, traceOut, defaultColor, layout
4650
}
4751
}
4852

49-
var hasCluster = coerce('cluster.enabled');
50-
if(hasCluster) {
51-
coerce('cluster.maxzoom');
52-
coerce('cluster.step');
53-
coerce('cluster.color', traceOut.marker.color || defaultColor);
54-
coerce('cluster.size');
55-
coerce('cluster.opacity');
56-
}
53+
var clusterMaxzoom = coerce2('cluster.maxzoom');
54+
var clusterStep = coerce2('cluster.step');
55+
var clusterColor = coerce2('cluster.color', (traceOut.marker && traceOut.marker.color) || defaultColor);
56+
var clusterSize = coerce2('cluster.size');
57+
var clusterOpacity = coerce2('cluster.opacity');
58+
59+
var clusterEnabledDflt =
60+
clusterMaxzoom !== false ||
61+
clusterStep !== false ||
62+
clusterColor !== false ||
63+
clusterSize !== false ||
64+
clusterOpacity !== false;
65+
66+
coerce('cluster.enabled', clusterEnabledDflt);
5767

5868
if(subTypes.hasText(traceOut)) {
5969
handleTextDefaults(traceIn, traceOut, layout, coerce, {noSelect: true});

test/image/mocks/mapbox_scattercluster.json

-4
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
"opacity": 0.5
1212
},
1313
"cluster": {
14-
"enabled": true,
1514
"size": 20,
1615
"color": "yellow"
1716
},
@@ -61,7 +60,6 @@
6160
"size": 20
6261
},
6362
"cluster": {
64-
"enabled": true,
6563
"size": 10
6664
},
6765
"lon": [
@@ -110,7 +108,6 @@
110108
"size": 10
111109
},
112110
"cluster": {
113-
"enabled": true,
114111
"size": 20
115112
},
116113
"lon": [
@@ -159,7 +156,6 @@
159156
"size": 10
160157
},
161158
"cluster": {
162-
"enabled": true,
163159
"size": 10
164160
},
165161
"lon": [

test/plot-schema.json

-1
Original file line numberDiff line numberDiff line change
@@ -53461,7 +53461,6 @@
5346153461
"editType": "calc",
5346253462
"enabled": {
5346353463
"description": "Determines whether clustering is enabled or disabled.",
53464-
"dflt": false,
5346553464
"editType": "calc",
5346653465
"valType": "boolean"
5346753466
},

0 commit comments

Comments
 (0)