|
@@ -90,7 +90,14 @@ coreModule.directive('heatmapLegend', () => {
|
|
|
};
|
|
};
|
|
|
});
|
|
});
|
|
|
|
|
|
|
|
-function drawColorLegend(elem, colorScheme, rangeFrom, rangeTo, maxValue, minValue) {
|
|
|
|
|
|
|
+function drawColorLegend(
|
|
|
|
|
+ elem: JQuery,
|
|
|
|
|
+ colorScheme: any,
|
|
|
|
|
+ rangeFrom: number,
|
|
|
|
|
+ rangeTo: number,
|
|
|
|
|
+ maxValue: number,
|
|
|
|
|
+ minValue: number
|
|
|
|
|
+) {
|
|
|
const legendElem = $(elem).find('svg');
|
|
const legendElem = $(elem).find('svg');
|
|
|
const legend = d3.select(legendElem.get(0));
|
|
const legend = d3.select(legendElem.get(0));
|
|
|
clearLegend(elem);
|
|
clearLegend(elem);
|
|
@@ -121,7 +128,14 @@ function drawColorLegend(elem, colorScheme, rangeFrom, rangeTo, maxValue, minVal
|
|
|
drawLegendValues(elem, rangeFrom, rangeTo, maxValue, minValue, legendWidth, valuesRange);
|
|
drawLegendValues(elem, rangeFrom, rangeTo, maxValue, minValue, legendWidth, valuesRange);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-function drawOpacityLegend(elem, options, rangeFrom, rangeTo, maxValue, minValue) {
|
|
|
|
|
|
|
+function drawOpacityLegend(
|
|
|
|
|
+ elem: JQuery,
|
|
|
|
|
+ options: { cardColor: null },
|
|
|
|
|
+ rangeFrom: number,
|
|
|
|
|
+ rangeTo: number,
|
|
|
|
|
+ maxValue: any,
|
|
|
|
|
+ minValue: number
|
|
|
|
|
+) {
|
|
|
const legendElem = $(elem).find('svg');
|
|
const legendElem = $(elem).find('svg');
|
|
|
const legend = d3.select(legendElem.get(0));
|
|
const legend = d3.select(legendElem.get(0));
|
|
|
clearLegend(elem);
|
|
clearLegend(elem);
|
|
@@ -153,7 +167,15 @@ function drawOpacityLegend(elem, options, rangeFrom, rangeTo, maxValue, minValue
|
|
|
drawLegendValues(elem, rangeFrom, rangeTo, maxValue, minValue, legendWidth, valuesRange);
|
|
drawLegendValues(elem, rangeFrom, rangeTo, maxValue, minValue, legendWidth, valuesRange);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-function drawLegendValues(elem, rangeFrom, rangeTo, maxValue, minValue, legendWidth, valuesRange) {
|
|
|
|
|
|
|
+function drawLegendValues(
|
|
|
|
|
+ elem: JQuery,
|
|
|
|
|
+ rangeFrom: number,
|
|
|
|
|
+ rangeTo: number,
|
|
|
|
|
+ maxValue: any,
|
|
|
|
|
+ minValue: any,
|
|
|
|
|
+ legendWidth: number,
|
|
|
|
|
+ valuesRange: number[]
|
|
|
|
|
+) {
|
|
|
const legendElem = $(elem).find('svg');
|
|
const legendElem = $(elem).find('svg');
|
|
|
const legend = d3.select(legendElem.get(0));
|
|
const legend = d3.select(legendElem.get(0));
|
|
|
|
|
|
|
@@ -188,7 +210,7 @@ function drawLegendValues(elem, rangeFrom, rangeTo, maxValue, minValue, legendWi
|
|
|
.remove();
|
|
.remove();
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-function drawSimpleColorLegend(elem, colorScale) {
|
|
|
|
|
|
|
+function drawSimpleColorLegend(elem: JQuery, colorScale: any) {
|
|
|
const legendElem = $(elem).find('svg');
|
|
const legendElem = $(elem).find('svg');
|
|
|
clearLegend(elem);
|
|
clearLegend(elem);
|
|
|
|
|
|
|
@@ -215,7 +237,7 @@ function drawSimpleColorLegend(elem, colorScale) {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-function drawSimpleOpacityLegend(elem, options) {
|
|
|
|
|
|
|
+function drawSimpleOpacityLegend(elem: JQuery, options: { colorScale: string; exponent: number; cardColor: string }) {
|
|
|
const legendElem = $(elem).find('svg');
|
|
const legendElem = $(elem).find('svg');
|
|
|
clearLegend(elem);
|
|
clearLegend(elem);
|
|
|
|
|
|
|
@@ -224,7 +246,7 @@ function drawSimpleOpacityLegend(elem, options) {
|
|
|
const legendHeight = legendElem.attr('height');
|
|
const legendHeight = legendElem.attr('height');
|
|
|
|
|
|
|
|
if (legendWidth) {
|
|
if (legendWidth) {
|
|
|
- let legendOpacityScale;
|
|
|
|
|
|
|
+ let legendOpacityScale: any;
|
|
|
if (options.colorScale === 'linear') {
|
|
if (options.colorScale === 'linear') {
|
|
|
legendOpacityScale = d3
|
|
legendOpacityScale = d3
|
|
|
.scaleLinear()
|
|
.scaleLinear()
|
|
@@ -261,13 +283,13 @@ function drawSimpleOpacityLegend(elem, options) {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-function clearLegend(elem) {
|
|
|
|
|
|
|
+function clearLegend(elem: JQuery) {
|
|
|
const legendElem = $(elem).find('svg');
|
|
const legendElem = $(elem).find('svg');
|
|
|
legendElem.empty();
|
|
legendElem.empty();
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-function getSvgElemX(elem) {
|
|
|
|
|
- const svgElem = elem.get(0);
|
|
|
|
|
|
|
+function getSvgElemX(elem: JQuery) {
|
|
|
|
|
+ const svgElem: any = elem.get(0) as any;
|
|
|
if (svgElem && svgElem.x && svgElem.x.baseVal) {
|
|
if (svgElem && svgElem.x && svgElem.x.baseVal) {
|
|
|
return svgElem.x.baseVal.value;
|
|
return svgElem.x.baseVal.value;
|
|
|
} else {
|
|
} else {
|
|
@@ -275,8 +297,8 @@ function getSvgElemX(elem) {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-function getSvgElemHeight(elem) {
|
|
|
|
|
- const svgElem = elem.get(0);
|
|
|
|
|
|
|
+function getSvgElemHeight(elem: JQuery) {
|
|
|
|
|
+ const svgElem: any = elem.get(0);
|
|
|
if (svgElem && svgElem.height && svgElem.height.baseVal) {
|
|
if (svgElem && svgElem.height && svgElem.height.baseVal) {
|
|
|
return svgElem.height.baseVal.value;
|
|
return svgElem.height.baseVal.value;
|
|
|
} else {
|
|
} else {
|
|
@@ -284,7 +306,7 @@ function getSvgElemHeight(elem) {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-function buildLegendTicks(rangeFrom, rangeTo, maxValue, minValue) {
|
|
|
|
|
|
|
+function buildLegendTicks(rangeFrom: number, rangeTo: number, maxValue: number, minValue: number) {
|
|
|
const range = rangeTo - rangeFrom;
|
|
const range = rangeTo - rangeFrom;
|
|
|
const tickStepSize = tickStep(rangeFrom, rangeTo, 3);
|
|
const tickStepSize = tickStep(rangeFrom, rangeTo, 3);
|
|
|
const ticksNum = Math.ceil(range / tickStepSize);
|
|
const ticksNum = Math.ceil(range / tickStepSize);
|
|
@@ -316,12 +338,12 @@ function buildLegendTicks(rangeFrom, rangeTo, maxValue, minValue) {
|
|
|
return ticks;
|
|
return ticks;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-function isValueCloseTo(val, valueTo, step) {
|
|
|
|
|
|
|
+function isValueCloseTo(val: number, valueTo: number, step: number) {
|
|
|
const diff = Math.abs(val - valueTo);
|
|
const diff = Math.abs(val - valueTo);
|
|
|
return diff < step * 0.3;
|
|
return diff < step * 0.3;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-function getFirstCloseTick(minValue, step) {
|
|
|
|
|
|
|
+function getFirstCloseTick(minValue: number, step: number) {
|
|
|
if (minValue < 0) {
|
|
if (minValue < 0) {
|
|
|
return Math.floor(minValue / step) * step;
|
|
return Math.floor(minValue / step) * step;
|
|
|
}
|
|
}
|