Skip to content

Commit 11073f2

Browse files
committed
replace for-each by for-loop in cartesian layout defaults
1 parent 1700908 commit 11073f2

File tree

1 file changed

+28
-13
lines changed

1 file changed

+28
-13
lines changed

src/plots/cartesian/layout_defaults.js

+28-13
Original file line numberDiff line numberDiff line change
@@ -115,18 +115,34 @@ module.exports = function supplyLayoutDefaults(layoutIn, layoutOut, fullData) {
115115

116116
var bgColor = Color.combine(plot_bgcolor, layoutOut.paper_bgcolor);
117117

118-
var axLayoutIn, axLayoutOut;
118+
var axName, axLayoutIn, axLayoutOut;
119119

120120
function coerce(attr, dflt) {
121121
return Lib.coerce(axLayoutIn, axLayoutOut, layoutAttributes, attr, dflt);
122122
}
123123

124-
axesList.forEach(function(axName) {
125-
var axLetter = axName.charAt(0);
124+
function getCounterAxes(axLetter) {
125+
var list = {x: yaList, y: xaList}[axLetter];
126+
127+
return list.map(axisIds.name2id);
128+
}
129+
130+
function getOverlayableAxes(axLetter, axName) {
131+
var list = {x: xaList, y: yaList}[axLetter];
132+
133+
return list.filter(function(axName2) {
134+
return axName2 !== axName && !(layoutIn[axName2] || {}).overlaying;
135+
})
136+
.map(axisIds.name2id);
137+
}
126138

139+
for(i = 0; i < axesList.length; i++) {
140+
axName = axesList[i];
127141
axLayoutIn = layoutIn[axName] || {};
128142
axLayoutOut = {};
129143

144+
var axLetter = axName.charAt(0);
145+
130146
var defaultOptions = {
131147
letter: axLetter,
132148
font: layoutOut.font,
@@ -142,10 +158,8 @@ module.exports = function supplyLayoutDefaults(layoutIn, layoutOut, fullData) {
142158

143159
var positioningOptions = {
144160
letter: axLetter,
145-
counterAxes: {x: yaList, y: xaList}[axLetter].map(axisIds.name2id),
146-
overlayableAxes: {x: xaList, y: yaList}[axLetter].filter(function(axName2) {
147-
return axName2 !== axName && !(layoutIn[axName2] || {}).overlaying;
148-
}).map(axisIds.name2id)
161+
counterAxes: getCounterAxes(axLetter),
162+
overlayableAxes: getOverlayableAxes(axLetter, axName)
149163
};
150164

151165
handlePositionDefaults(axLayoutIn, axLayoutOut, coerce, positioningOptions);
@@ -157,14 +171,14 @@ module.exports = function supplyLayoutDefaults(layoutIn, layoutOut, fullData) {
157171
if(!layoutIn[axName] && axLayoutIn.type !== '-') {
158172
layoutIn[axName] = {type: axLayoutIn.type};
159173
}
160-
161-
});
174+
}
162175

163176
// quick second pass for range slider and selector defaults
164177
var rangeSliderDefaults = Registry.getComponentMethod('rangeslider', 'handleDefaults'),
165178
rangeSelectorDefaults = Registry.getComponentMethod('rangeselector', 'handleDefaults');
166179

167-
xaList.forEach(function(axName) {
180+
for(i = 0; i < xaList.length; i++) {
181+
axName = xaList[i];
168182
axLayoutIn = layoutIn[axName];
169183
axLayoutOut = layoutOut[axName];
170184

@@ -181,9 +195,10 @@ module.exports = function supplyLayoutDefaults(layoutIn, layoutOut, fullData) {
181195
}
182196

183197
coerce('fixedrange');
184-
});
198+
}
185199

186-
yaList.forEach(function(axName) {
200+
for(i = 0; i < yaList.length; i++) {
201+
axName = yaList[i];
187202
axLayoutIn = layoutIn[axName];
188203
axLayoutOut = layoutOut[axName];
189204

@@ -196,5 +211,5 @@ module.exports = function supplyLayoutDefaults(layoutIn, layoutOut, fullData) {
196211
);
197212

198213
coerce('fixedrange', fixedRangeDflt);
199-
});
214+
}
200215
};

0 commit comments

Comments
 (0)