%PDF- %PDF-
Direktori : /home/opti/workflow/src/public/app-assets/js/scripts/charts/echarts/funnel-gauges/ |
Current File : /home/opti/workflow/src/public/app-assets/js/scripts/charts/echarts/funnel-gauges/angular-gauge.js |
/*========================================================================================= File Name: angular-gauge.js Description: echarts angular gauge chart ---------------------------------------------------------------------------------------- Item Name: Modern Admin - Clean Bootstrap 4 Dashboard HTML Template Version: 1.0 Author: PIXINVENT Author URL: http://www.themeforest.net/user/pixinvent ==========================================================================================*/ // Angular gauge chart // ------------------------------ $(window).on("load", function(){ // Set paths // ------------------------------ require.config({ paths: { echarts: '../../../app-assets/vendors/js/charts/echarts' } }); // Configuration // ------------------------------ require( [ 'echarts', 'echarts/chart/funnel', 'echarts/chart/gauge' ], // Charts setup function (ec) { // Initialize chart // ------------------------------ var myChart = ec.init(document.getElementById('angular-gauge')); // Chart Options // ------------------------------ anggaugeOptions = { // Add tooltip tooltip : { formatter: "{a} <br/>{b} : {c}%" }, // Add toolbox toolbox: { show : true, feature : { mark : {show: true}, restore : {show: true}, saveAsImage : {show: true} } }, // Enable drag recalculate calculable: true, // Add series series : [ { name:'Personalized Dashboard', type:'gauge', center : ['50%', '50%'], // Default global center radius : [0, '75%'], startAngle: 140, endAngle : -140, min: 0, // Minimum max: 100, // Maximum precision: 0, // Decimal precision, the default is zero, no decimal point splitNumber: 10, // Dividing the number of segments, the default is 5 axisLine: { // Coordinate axis show: true, // The default display, control display properties show or not lineStyle: { // Control Line Style property lineStyle color: [[0.2, 'lightgreen'],[0.4, 'orange'],[0.8, 'skyblue'],[1, '#ff4500']], width: 30 } }, axisTick: { // Axis markers show: true, // Control the display properties show or not, not displayed by default splitNumber: 5, // How much of each split segment segment length :8, // Attribute length control line length lineStyle: { // Control Line Style property lineStyle color: '#eee', width: 1, type: 'solid' } }, axisLabel: { // Axis text labels, see axis.axisLabel show: true, formatter: function(v){ switch (v+''){ case '10': return 'Weak'; case '30': return 'Low'; case '60': return 'In'; case '90': return 'High'; default: return ''; } }, textStyle: { // The remaining properties using the global default text style, see TEXTSTYLE color: '#333' } }, splitLine: { // Divider show: true, // The default display, control display properties show or not length :30, // Attribute length control line length lineStyle: { // Property lineStyle (see lineStyle) control line style color: '#eee', width: 2, type: 'solid' } }, pointer : { length : '80%', width : 8, color : 'auto' }, title : { show : true, offsetCenter: ['-65%', -10], // x, y,Unit px textStyle: { // The remaining properties using the global default text style, see TEXTSTYLE color: '#333', fontSize : 15 } }, detail : { show : true, backgroundColor: 'rgba(0,0,0,0)', borderWidth: 0, borderColor: '#ccc', width: 100, height: 40, offsetCenter: ['-60%', 10], // x, y,Unit px formatter:'{value}%', textStyle: { // The remaining properties using the global default text style, see TEXTSTYLE color: 'auto', fontSize : 30 } }, data:[{value: 50, name: 'Dashboard'}] } ] }; // Apply options // ------------------------------ myChart.setOption(anggaugeOptions); // Resize chart // ------------------------------ $(function () { // Resize chart on menu width change and window resize $(window).on('resize', resize); $(".menu-toggle").on('click', resize); // Resize function function resize() { setTimeout(function() { // Resize chart myChart.resize(); }, 200); } clearInterval(timeTicket); var timeTicket = setInterval(function (){ anggaugeOptions.series[0].data[0].value = (Math.random()*100).toFixed(2) - 0; myChart.setOption(anggaugeOptions, true); },2000); }); } ); });