diff options
author | Stas Vilchik <vilchiks@gmail.com> | 2015-12-28 16:25:42 +0100 |
---|---|---|
committer | Stas Vilchik <vilchiks@gmail.com> | 2015-12-28 17:17:56 +0100 |
commit | 632808520028fb412b93ff277719db848c2af59f (patch) | |
tree | a293c995da956f043fc243b42f5bfe6eca018daa /server/sonar-web/src/main/js/components/source-viewer/measures-overlay.js | |
parent | 0f480aa5db8fc2fd5611b6fe1c517ef0040459ba (diff) | |
download | sonarqube-632808520028fb412b93ff277719db848c2af59f.tar.gz sonarqube-632808520028fb412b93ff277719db848c2af59f.zip |
improve js build
Diffstat (limited to 'server/sonar-web/src/main/js/components/source-viewer/measures-overlay.js')
-rw-r--r-- | server/sonar-web/src/main/js/components/source-viewer/measures-overlay.js | 51 |
1 files changed, 50 insertions, 1 deletions
diff --git a/server/sonar-web/src/main/js/components/source-viewer/measures-overlay.js b/server/sonar-web/src/main/js/components/source-viewer/measures-overlay.js index 723265766ad..20e4789ba4e 100644 --- a/server/sonar-web/src/main/js/components/source-viewer/measures-overlay.js +++ b/server/sonar-web/src/main/js/components/source-viewer/measures-overlay.js @@ -30,9 +30,58 @@ export default ModalView.extend({ }); }, + initPieChart: function () { + var trans = function (left, top) { + return 'translate(' + left + ', ' + top + ')'; + }; + + var defaults = { + size: 40, + thickness: 8, + color: '#1f77b4', + baseColor: '#e6e6e6' + }; + + this.$('.js-pie-chart').each(function () { + var data = [ + $(this).data('value'), + $(this).data('max') - $(this).data('value') + ], + options = _.defaults($(this).data(), defaults), + radius = options.size / 2; + + var container = d3.select(this), + svg = container.append('svg') + .attr('width', options.size) + .attr('height', options.size), + plot = svg.append('g') + .attr('transform', trans(radius, radius)), + arc = d3.svg.arc() + .innerRadius(radius - options.thickness) + .outerRadius(radius), + pie = d3.layout.pie() + .sort(null) + .value(function (d) { + return d; + }), + colors = function (i) { + return i === 0 ? options.color : options.baseColor; + }, + sectors = plot.selectAll('path') + .data(pie(data)); + + sectors.enter() + .append('path') + .style('fill', function (d, i) { + return colors(i); + }) + .attr('d', arc); + }); + }, + onRender: function () { ModalView.prototype.onRender.apply(this, arguments); - this.$('.js-pie-chart').pieChart(); + this.initPieChart(); this.$('.js-test-list').scrollTop(this.testsScroll); }, |