Advertisement
Guest User

Untitled

a guest
Mar 27th, 2017
56
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.03 KB | None | 0 0
  1. html
  2. ----
  3. <html>
  4. <head>
  5. <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/c3/0.4.11/c3.min.css" type="text/css" />
  6. <script src="https://code.jquery.com/jquery-2.2.1.min.js"></script>
  7. <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>
  8. <script src="https://cdnjs.cloudflare.com/ajax/libs/d3/4.7.4/d3.min.js"></script>
  9. <script src="https://cdnjs.cloudflare.com/ajax/libs/c3/0.4.11/c3.min.js"></script>
  10. </head>
  11. <body>
  12. <div ng-app="app" ng-controller="mainCtrl">
  13. <div id="radialProgress1" data-percentage="30" data-track-width="5"
  14. data-track-colour="656975" data-fill-colour="#5AAAFA"
  15. data-text-colour="#959595" data-stroke-colour="#C7D2D2"
  16. data-stroke-spacing="4">
  17. </div>
  18. <div id="radialProgress2" data-percentage="30" data-track-width="5"
  19. data-track-colour="656975" data-fill-colour="#5AAAFA"
  20. data-text-colour="#959595" data-stroke-colour="#C7D2D2"
  21. data-stroke-spacing="4">
  22. </div>
  23. <div id="radialProgress3" data-percentage="30" data-track-width="5"
  24. data-track-colour="656975" data-fill-colour="#5AAAFA"
  25. data-text-colour="#959595" data-stroke-colour="#C7D2D2"
  26. data-stroke-spacing="4">
  27. </div>
  28. </div>
  29.  
  30. javascript script
  31. -------------------
  32. <script>debugger;
  33. var app = angular.module("app", []);
  34. app.controller("mainCtrl", function($scope, $rootScope){
  35. alert("calling");
  36. $scope.showRadialProgressBar();
  37. $scope.showRadialProgressBar = function(){debugger;
  38. var progressRadial = [document.getElementById('radialProgress1'), document.getElementById('radialProgress2'), document.getElementById('radialProgress3')];
  39.  
  40. for(i=0; i<progressRadial.length; i++) {
  41. var wrapper = progressRadial[i];
  42. var start = 0;
  43. var end = parseFloat(wrapper.dataset.percentage);
  44.  
  45. var colours = {
  46. fill: '#' + wrapper.dataset.fillColour,
  47. track: '#' + wrapper.dataset.trackColour,
  48. text: '#' + wrapper.dataset.textColour,
  49. stroke: '#' + wrapper.dataset.strokeColour,
  50. }
  51.  
  52. var radius = 75;
  53. var border = wrapper.dataset.trackWidth;
  54. var strokeSpacing = wrapper.dataset.strokeSpacing;
  55. var endAngle = Math.PI * 2;
  56. var formatText = d3.format('.0%');
  57. var boxSize = radius * 2;
  58. var count = end;
  59. var radialprogress = start;
  60. var step = end < start ? -0.01 : 0.01;
  61.  
  62. //Define the circle
  63. var circle = d3.svg.arc()
  64. .startAngle(0)
  65. .innerRadius(radius)
  66. .outerRadius(radius - border);
  67.  
  68. //setup SVG wrapper
  69. var svg = d3.select(wrapper)
  70. .append('svg')
  71. .attr('width', boxSize)
  72. .attr('height', boxSize);
  73.  
  74. // ADD Group container
  75. var g = svg.append('g')
  76. .attr('transform', 'translate(' + boxSize / 2 + ',' + boxSize / 2 + ')');
  77.  
  78. //Setup track
  79. var track = g.append('g').attr('class', 'radial-progress');
  80. track.append('path')
  81. .attr('class', 'radial-progress__background')
  82. .attr('fill', colours.track)
  83. .attr('stroke', colours.stroke)
  84. .attr('stroke-width', strokeSpacing + 'px')
  85. .attr('d', circle.endAngle(endAngle));
  86.  
  87. //Add colour fill
  88. var value = track.append('path')
  89. .attr('class', 'radial-progress__value')
  90. .attr('fill', colours.fill)
  91. .attr('stroke', colours.stroke)
  92. .attr('stroke-width', strokeSpacing + 'px');
  93.  
  94. //Add text value
  95. var numberText = track.append('text')
  96. .attr('class', 'radial-progress__text')
  97. .attr('fill', colours.text)
  98. .attr('text-anchor', 'middle')
  99. .attr('font-size', 40)
  100. .attr('dy', '.5rem');
  101.  
  102.  
  103. function update(progress) {
  104. //update position of endAngle
  105. value.attr('d', circle.endAngle(endAngle * radialprogress));
  106. //update text value
  107. numberText.text(formatText(radialprogress));
  108. }
  109.  
  110. (function iterate() {
  111. //call update to begin animation
  112. update(radialprogress);
  113. if (count > 0) {
  114. //reduce count till it reaches 0
  115. count--;
  116. //increase progress
  117. radialprogress += step;
  118. //Control the speed of the fill
  119. setTimeout(iterate, 10);
  120. }
  121. })();
  122. }
  123. }
  124. //radial code end
  125. });
  126. </script>
  127. </body>
  128. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement