Skip to content

Commit 7e837ef

Browse files
committed
merge constraint_(value_)defaults
1 parent 7c7a011 commit 7e837ef

File tree

2 files changed

+45
-54
lines changed

2 files changed

+45
-54
lines changed

src/traces/contour/constraint_defaults.js

+45-2
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,17 @@
88

99

1010
'use strict';
11+
var isNumeric = require('fast-isnumeric');
1112

12-
var handleConstraintValueDefaults = require('./constraint_value_defaults');
1313
var handleLabelDefaults = require('./label_defaults');
14+
1415
var Color = require('../../components/color');
1516
var addOpacity = Color.addOpacity;
1617
var opacity = Color.opacity;
17-
var CONSTRAINT_REDUCTION = require('../../constants/filter_ops').CONSTRAINT_REDUCTION;
18+
19+
var filterOps = require('../../constants/filter_ops');
20+
var CONSTRAINT_REDUCTION = filterOps.CONSTRAINT_REDUCTION;
21+
var COMPARISON_OPS2 = filterOps.COMPARISON_OPS2;
1822

1923
module.exports = function handleConstraintDefaults(traceIn, traceOut, coerce, layout, defaultColor, opts) {
2024
var contours = traceOut.contours;
@@ -48,3 +52,42 @@ module.exports = function handleConstraintDefaults(traceIn, traceOut, coerce, la
4852

4953
handleLabelDefaults(coerce, layout, lineColor, opts);
5054
};
55+
56+
function handleConstraintValueDefaults(coerce, contours) {
57+
var zvalue;
58+
59+
if(COMPARISON_OPS2.indexOf(contours.operation) === -1) {
60+
// Requires an array of two numbers:
61+
coerce('contours.value', [0, 1]);
62+
63+
if(!Array.isArray(contours.value)) {
64+
if(isNumeric(contours.value)) {
65+
zvalue = parseFloat(contours.value);
66+
contours.value = [zvalue, zvalue + 1];
67+
}
68+
} else if(contours.value.length > 2) {
69+
contours.value = contours.value.slice(2);
70+
} else if(contours.length === 0) {
71+
contours.value = [0, 1];
72+
} else if(contours.length < 2) {
73+
zvalue = parseFloat(contours.value[0]);
74+
contours.value = [zvalue, zvalue + 1];
75+
} else {
76+
contours.value = [
77+
parseFloat(contours.value[0]),
78+
parseFloat(contours.value[1])
79+
];
80+
}
81+
} else {
82+
// Requires a single scalar:
83+
coerce('contours.value', 0);
84+
85+
if(!isNumeric(contours.value)) {
86+
if(Array.isArray(contours.value)) {
87+
contours.value = parseFloat(contours.value[0]);
88+
} else {
89+
contours.value = 0;
90+
}
91+
}
92+
}
93+
}

src/traces/contour/constraint_value_defaults.js

-52
This file was deleted.

0 commit comments

Comments
 (0)