From 3e12ede595f21e75ac78c8371451519fcddc4ecb Mon Sep 17 00:00:00 2001 From: Ivan Mikheykin Date: Tue, 18 Sep 2018 13:26:27 +0300 Subject: [PATCH] Last fixes for 0.0.1 - fix prometheus request error - remove console.log - bring back drawSimpleColorLegend --- src/color_legend.js | 25 +++++++++++++++++++++++++ src/color_mode_discrete.js | 3 +++ src/rendering.js | 2 +- src/status_heatmap_ctrl.js | 12 ++++-------- 4 files changed, 33 insertions(+), 9 deletions(-) diff --git a/src/color_legend.js b/src/color_legend.js index 67c31f2..cf0a2e1 100644 --- a/src/color_legend.js +++ b/src/color_legend.js @@ -287,6 +287,31 @@ function drawDiscreteLegendValues(elem, colorOptions, legendWidth) { legend.select(".axis").select(".domain").remove(); } +function drawSimpleColorLegend(elem, colorScale) { + let legendElem = $(elem).find('svg'); + clearLegend(elem); + + let legendWidth = Math.floor(legendElem.outerWidth()); + let legendHeight = legendElem.attr("height"); + + if (legendWidth) { + let valuesNumber = Math.floor(legendWidth / 2); + let rangeStep = Math.floor(legendWidth / valuesNumber); + let valuesRange = d3.range(0, legendWidth, rangeStep); + + let legend = d3.select(legendElem.get(0)); + var legendRects = legend.selectAll(".status-heatmap-color-legend-rect").data(valuesRange); + + legendRects.enter().append("rect") + .attr("x", d => d) + .attr("y", 0) + .attr("width", rangeStep + 1) // Overlap rectangles to prevent gaps + .attr("height", legendHeight) + .attr("stroke-width", 0) + .attr("fill", d => colorScale(d)); + } +} + function drawSimpleOpacityLegend(elem, options) { let legendElem = $(elem).find('svg'); let graphElem = $(elem); diff --git a/src/color_mode_discrete.js b/src/color_mode_discrete.js index a68b7fb..1474871 100644 --- a/src/color_mode_discrete.js +++ b/src/color_mode_discrete.js @@ -72,6 +72,9 @@ export class ColorModeDiscrete { } updateCardsValuesHasColorInfo() { + if (!this.panelCtrl.cardsData) { + return + } this.panelCtrl.cardsData.noColorDefined = false; let cards = this.panelCtrl.cardsData.cards; for (let i=0; i