Skip to content

Commit 9ca410a

Browse files
committed
improve boxpoints: false default logic
- delete 'marker' container for box trace that don't have `boxpoints: false` - do not coerce 'text' when `boxpoints: false`
1 parent 6bfcbe0 commit 9ca410a

File tree

2 files changed

+42
-1
lines changed

2 files changed

+42
-1
lines changed

src/traces/box/defaults.js

+4-1
Original file line numberDiff line numberDiff line change
@@ -70,8 +70,11 @@ module.exports = function supplyDefaults(traceIn, traceOut, defaultColor, layout
7070
coerce('marker.line.outliercolor', traceOut.marker.color);
7171
coerce('marker.line.outlierwidth');
7272
}
73+
74+
coerce('text');
75+
} else {
76+
delete traceOut.marker;
7377
}
7478

75-
coerce('text');
7679
coerce('hoveron');
7780
};

test/jasmine/tests/box_test.js

+38
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,44 @@ describe('Test boxes supplyDefaults', function() {
111111
expect(traceOut.xcalendar).toBe('coptic');
112112
expect(traceOut.ycalendar).toBe('ethiopian');
113113
});
114+
115+
it('should not coerce point attributes when boxpoints is false', function() {
116+
traceIn = {
117+
y: [1, 1, 2],
118+
boxpoints: false
119+
};
120+
supplyDefaults(traceIn, traceOut, defaultColor, {});
121+
122+
expect(traceOut.boxpoints).toBe(false);
123+
expect(traceOut.jitter).toBeUndefined();
124+
expect(traceOut.pointpos).toBeUndefined();
125+
expect(traceOut.marker).toBeUndefined();
126+
expect(traceOut.text).toBeUndefined();
127+
});
128+
129+
it('should default boxpoints to suspectedoutliers when marker.outliercolor is set & valid', function() {
130+
traceIn = {
131+
y: [1, 1, 2],
132+
marker: {
133+
outliercolor: 'blue'
134+
}
135+
};
136+
supplyDefaults(traceIn, traceOut, defaultColor, {});
137+
expect(traceOut.boxpoints).toBe('suspectedoutliers');
138+
});
139+
140+
it('should default boxpoints to suspectedoutliers when marker.line.outliercolor is set & valid', function() {
141+
traceIn = {
142+
y: [1, 1, 2],
143+
marker: {
144+
line: {outliercolor: 'blue'}
145+
}
146+
};
147+
supplyDefaults(traceIn, traceOut, defaultColor, {});
148+
expect(traceOut.boxpoints).toBe('suspectedoutliers');
149+
expect(traceOut.marker).toBeDefined();
150+
expect(traceOut.text).toBeDefined();
151+
});
114152
});
115153

116154
describe('Test box hover:', function() {

0 commit comments

Comments
 (0)