Skip to content

Commit 282caad

Browse files
committed
revise draw and restyle logic
1 parent 14cbf6a commit 282caad

File tree

1 file changed

+12
-22
lines changed

1 file changed

+12
-22
lines changed

src/traces/scattermapbox/plot.js

Lines changed: 12 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -88,55 +88,45 @@ proto.update = function update(calcTrace) {
8888
var i, k, opts;
8989
var hasCluster = !!(trace.cluster && trace.cluster.enabled);
9090
var hadCluster = !!this.clusterEnabled;
91+
var lThis = this;
9192

9293
function addCluster() {
93-
this.addSource('circle', optsAll.circle, trace.cluster);
94+
lThis.addSource('circle', optsAll.circle, trace.cluster);
9495
for(i = 0; i < ORDER.cluster.length; i++) {
9596
k = ORDER.cluster[i];
9697
opts = optsAll[k];
97-
this.addLayer(k, opts, below);
98+
lThis.addLayer(k, opts, below);
9899
}
99100
}
100101

101102
function removeCluster() {
102103
for(i = ORDER.cluster.length - 1; i >= 0; i--) {
103104
k = ORDER.cluster[i];
104-
map.removeLayer(this.layerIds[k]);
105+
map.removeLayer(lThis.layerIds[k]);
105106
}
106-
map.removeSource(this.sourceIds.circle);
107+
map.removeSource(lThis.sourceIds.circle);
107108
}
108109

109110
function addNonCluster() {
110111
for(i = 0; i < ORDER.nonCluster.length; i++) {
111112
k = ORDER.nonCluster[i];
112113
opts = optsAll[k];
113-
this.addSource(k, opts, trace.cluster);
114-
this.addLayer(k, opts, below);
114+
lThis.addSource(k, opts, trace.cluster);
115+
lThis.addLayer(k, opts, below);
115116
}
116117
}
117118

118119
function removeNonCluster() {
119120
for(i = ORDER.nonCluster.length - 1; i >= 0; i--) {
120121
k = ORDER.nonCluster[i];
121-
map.removeLayer(this.layerIds[k]);
122-
map.removeSource(this.sourceIds[k]);
122+
map.removeLayer(lThis.layerIds[k]);
123+
map.removeSource(lThis.sourceIds[k]);
123124
}
124125
}
125126

126-
if(hasCluster && !hadCluster) {
127-
removeNonCluster();
128-
addCluster();
129-
} else if(!hasCluster && hadCluster) {
130-
removeCluster();
131-
addNonCluster();
132-
} else if(below !== this.below) {
133-
if(!hasCluster && !hadCluster) {
134-
removeNonCluster();
135-
addNonCluster();
136-
} else if(hasCluster && hadCluster) {
137-
removeCluster();
138-
addCluster();
139-
}
127+
if(hadCluster !== hasCluster || below !== this.below) {
128+
if(hadCluster) removeCluster(); else removeNonCluster();
129+
if(hasCluster) addCluster(); else addNonCluster();
140130
} else {
141131
var order = hasCluster ? ORDER.cluster : ORDER.nonCluster;
142132
for(i = 0; i < order.length; i++) {

0 commit comments

Comments
 (0)