Advertisement
Guest User

Untitled

a guest
Jun 26th, 2019
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.07 KB | None | 0 0
  1. global with sharing class AccountRemoter {
  2.  
  3.  
  4.  
  5.  
  6. @RemoteAction
  7. global static List<AggregateResult> getAccountList(){
  8.  
  9. List<Account> accList=[select id,Name from account];
  10. List<AggregateResult> contactList = [ SELECT AccountId Id, COUNT(Id)
  11. numContacts FROM Contact WHERE AccountId IN (Select Id from Account) GROUP
  12. BY AccountId ORDER BY COUNT(Id) DESC LIMIT 10];
  13. return contactList;
  14. }
  15.  
  16. }
  17.  
  18. <apex:page Controller="AccountRemoter">
  19. <apex:includeScript value="{!$Resource.jquery}"/>
  20. <apex:includeScript value="{!$Resource.chartLibrary}"/>
  21. <canvas id="myChart" width="400" height="400"></canvas>
  22. <script>
  23. var names=[];
  24. Visualforce.remoting.Manager.invokeAction(
  25. '{!$RemoteAction.AccountRemoter.getAccountList}',
  26.  
  27. function(result, event) {
  28.  
  29. var test = result;
  30. var data=[];
  31.  
  32.  
  33. for (var i = 0; i< result.length ; i++){
  34. data.push(test[i]);
  35. }
  36. console.log(data[0]);
  37. console.log(data[0].numContacts);
  38.  
  39.  
  40. var ctx = document.getElementById("myChart");
  41.  
  42. var myChart = new Chart(ctx, {
  43. type: 'bar',
  44. data: {
  45. labels:
  46.  
  47.  
  48. [names[0], names[1], names[2],names[3],names[4],
  49. names[5],names[6],names[7], names[8],names[9]],
  50. datasets: [{
  51. label: 'No. Of Contacts in each account',
  52. data: [data[0].numContacts,data[1].numContacts,
  53. data[2].numContacts,data[3].numContacts,
  54. data[4].numContacts,data[5].numContacts,data[6].numContacts,
  55. data[7].numContacts,data[8].numContacts,data[9].numContacts],
  56. backgroundColor: [
  57. 'rgba(255, 99, 132, 0.2)',
  58. 'rgba(54, 162, 235, 0.2)',
  59. 'rgba(255, 206, 86, 0.2)',
  60. 'rgba(75, 192, 192, 0.2)',
  61. 'rgba(153, 102, 255, 0.2)',
  62. 'rgba(255, 159, 64, 0.2)',
  63. 'rgba(255, 99, 132, 0.2)',
  64. 'rgba(54, 162, 235, 0.2)',
  65. 'rgba(255, 206, 86, 0.2)',
  66. 'rgba(75, 192, 192, 0.2)'
  67. ]
  68. }]
  69. },
  70. options: {
  71. responsive: false,
  72. scales: {
  73. xAxes: [{
  74. ticks: {
  75. maxRotation: 90,
  76. minRotation: 80
  77. }
  78. }],
  79. yAxes: [{
  80. ticks: {
  81. beginAtZero: true
  82. }
  83. }]
  84. }
  85. }
  86. });
  87.  
  88. });
  89.  
  90.  
  91.  
  92. </script>
  93.  
  94. </apex:page>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement