var chartDonutLogin; var chartDonutExtUser; var donutOptions = { tooltips:{ callbacks: { label: function(tooltipItem, data) { var div = (data.labels[tooltipItem.index]).split(':'); return div[0]+': '+data.datasets[tooltipItem.datasetIndex].data[tooltipItem.index]; } } }, legend:{ display:true, position:'bottom', onClick:function(event){ return false; }, labels: { fontStyle: 'bold', fontSize : 14 } }, hover: { onHover: handleHover } }; function drawDonutForExternalLogin(){ return jQuery.ajax({ type :"POST", dataType :'json', url :"/getReport?report=externalLoginAccess", beforeSend:function(){ if(chartDonutLogin){ chartDonutLogin.destroy(); } }, data : { fromDate : formatDate(jQuery('.startDateLogin').val()), toDate : formatDate(jQuery('.endDateLogin').val()) }, success : function(data) { var midNum = 0; var ctx = jQuery("#canvasDonutExtLogin"); jQuery.each(data['datasets'][0]['data'],function(k,v){ midNum += Number(v); }); jQuery.each(data['labels'],function(k,v){ data['labels'][k] = v +' : ' + (((Number(data['datasets'][0]['data'][k]) / midNum) * 100).toFixed(2)) +'%'; }); data['midNum'] = midNum; donutOptions['onClick'] = function(clickObj){ var divData = chartDonutLogin.getElementAtEvent(clickObj); if(divData.length){ var label = divData[0]['_view']['label'].split(' : '); window.location.href = 'reportHtmlLoginAccess.jsp?reportType=externalLoginAccess&division='+encodeURIComponent(label[0])+'&toDate='+encodeURIComponent(formatDate(jQuery('.endDateLogin').val()))+'&fromDate='+encodeURIComponent(formatDate(jQuery('.startDateLogin').val())); } } chartDonutLogin = new Chart(ctx, { type: 'doughnut', data: data, options:donutOptions }); } }); } function drawDonutForExtUser(){ return jQuery.ajax({ type :"POST", dataType :'json', url :"/getReport?report=externalUserEnablement", beforeSend:function(){ if(chartDonutExtUser){ chartDonutExtUser.destroy(); } }, data : { toDate : formatDate(jQuery('.endDateExtUser').val()) }, success : function(data) { var midNum = 0; var ctx = jQuery("#canvasDonutExtUser"); jQuery.each(data['datasets'][0]['data'],function(k,v){ midNum += Number(v); }); jQuery.each(data['labels'],function(k,v){ data['labels'][k] = v +' : ' + (((Number(data['datasets'][0]['data'][k]) / midNum) * 100).toFixed(2)) +'%'; }); data['midNum'] = midNum; donutOptions['onClick'] = function(clickObj){ var divData = chartDonutExtUser.getElementAtEvent(clickObj); if(divData.length){ var label = divData[0]['_view']['label'].split(' : '); window.location.href = 'reportHtmlUserEnable.jsp?reportType=externalUserEnablement&division='+encodeURIComponent(label[0])+'&toDate='+encodeURIComponent(formatDate(jQuery('.fromReport').val())); } } chartDonutExtUser = new Chart(ctx, { type: 'doughnut', data: data, options: donutOptions }); } }); }