fix null not mapped error

This commit is contained in:
Ivan Mikheykin
2018-09-03 16:50:26 +03:00
parent 77aa35be7d
commit 90dd85da7b
2 changed files with 14 additions and 30 deletions
+14
View File
@@ -65,6 +65,20 @@ export class ColorModeDiscrete {
}
getMatchedThreshold(value) {
if (value == null) {
if (this.panel.color.nullPointMode == 'as empty') {
// FIXME: make this explicit for user
// Right now this color never used because null as empty handles in getCardOpacity method.
return {
"color": "rgba(0,0,0,0)",
"value": "null",
"tooltip": "null",
}
} else {
value = 0;
}
}
let thresholds = this.panel.color.thresholds;
for (let k = 0; k < thresholds.length; k++) {
if (value == thresholds[k].value) {
-30
View File
@@ -333,36 +333,6 @@ export default function link(scope, elem, attrs, ctrl) {
return d3.scaleSequential(colorInterpolator).domain([start, end]);
}
// scale input range to discrete colors to draw a legend
function getDiscreteColorScale() {
let thresholds = panel.color.thresholds;
let thresholdValues = [];
let thresholdColors = [];
for (let i = 0; i < thresholds.length; i++) {
thresholdColors.push(thresholds[i].color);
thresholdValues.push(thresholds[i].value);
}
// TODO sort colors by value and index?
let thresholdScaler = (d) => {
for (let i = 0; i < thresholdValues.length; i++ ) {
if (d == thresholdValues[i]) {
return thresholdColors[i];
}
}
// Error if value not in thresholds
return 'rgba(0,0,0,1)';
};
// scale min-max to 0 - max-thrs-value
return function(d) {
return thresholdScaler(d);
}
}
function setOpacityScale(maxValue) {
if (panel.color.colorScale === 'linear') {
opacityScale = d3.scaleLinear()