]> source.dussan.org Git - sonarqube.git/commitdiff
add tooltips for ncloc distribution chart
authorStas Vilchik <vilchiks@gmail.com>
Wed, 9 Dec 2015 14:25:55 +0000 (15:25 +0100)
committerStas Vilchik <vilchiks@gmail.com>
Wed, 9 Dec 2015 15:29:49 +0000 (16:29 +0100)
server/sonar-web/src/main/js/apps/overview/components/ncloc-distribution.js
server/sonar-web/src/main/js/components/charts/histogram.js

index 764457ad403a059cf2cea4cf7540f7b3294dc4e7..0a24b77c65d6f960ef476727b22fe89629e90612 100644 (file)
@@ -65,7 +65,12 @@ export const NclocDistribution = React.createClass({
 
     data = _.sortBy(data, d => -d.x);
 
-    let yTicks = data.map(d => collapsePath(d.value, 20));
+    let yTicks = data.map(d => {
+      return {
+        label: collapsePath(d.value, 20),
+        tooltip: d.value
+      };
+    });
 
     let yValues = data.map(d => formatMeasure(d.x, 'SHORT_INT'));
 
index ffac187583c92327c21ee485d9bff38655d9caa2..c64146f2d28c3657a002a7e3ad4f0d5c69229110 100644 (file)
@@ -40,17 +40,24 @@ export const Histogram = React.createClass({
       return null;
     }
     let ticks = this.props.yTicks.map((tick, index) => {
-      let point = this.props.data[index];
-      let x = xScale.range()[0];
-      let y = Math.round(yScale(point.y) + yScale.rangeBand() / 2 + this.props.barsHeight / 2);
-      return <text key={index}
-                   className="bar-chart-tick histogram-tick"
-                   onClick={this.props.onBarClick && this.handleClick.bind(this, point)}
-                   style={{ cursor: this.props.onBarClick ? 'pointer' : 'default' }}
-                   x={x}
-                   y={y}
-                   dx="-1em"
-                   dy="0.3em">{tick}</text>;
+      const point = this.props.data[index];
+      const x = xScale.range()[0];
+      const y = Math.round(yScale(point.y) + yScale.rangeBand() / 2 + this.props.barsHeight / 2);
+      const label = tick.label ? tick.label : tick;
+      const tooltip = tick.tooltip ? tick.tooltip : null;
+      return <text
+          key={index}
+          className="bar-chart-tick histogram-tick"
+          onClick={this.props.onBarClick && this.handleClick.bind(this, point)}
+          style={{ cursor: this.props.onBarClick ? 'pointer' : 'default' }}
+          data-title={tooltip}
+          data-toggle={tooltip ? 'tooltip' : null}
+          x={x}
+          y={y}
+          dx="-1em"
+          dy="0.3em">
+        {label}
+      </text>;
     });
     return <g>{ticks}</g>;
   },