Advertisement
bulfaitelo

charts + ajax

Mar 29th, 2018
165
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  
  2. $(".header_bars").sparkline('html', {
  3.   type: 'bar',
  4.   height: '125',
  5.   barWidth: 13,
  6.   colorMap: {
  7.     '7': '#a1a1a1'
  8.   },
  9.   barSpacing: 3,
  10.   barColor: '#26B99A',
  11. });
  12.  
  13.   var json;
  14.   init_daterangepicker();
  15.   function init_daterangepicker() {
  16.  
  17.     // if( typeof ($.fn.daterangepicker) === 'undefined'){ return; }
  18.     // console.log('init_daterangepicker');
  19.  
  20.     var cb = function(start, end, label) {
  21.       console.log(start.toISOString(), end.toISOString(), label);
  22.       $('#home_graph span').html(start.format('MMMM D, YYYY') + ' - ' + end.format('MMMM D, YYYY'));
  23.     };
  24.  
  25.     var optionSet1 = {
  26.       startDate: moment().subtract(29, 'days'),
  27.       endDate: moment(),
  28.       minDate: '01/01/2018',
  29.       maxDate: '12/31/2018',
  30.       dateLimit: {
  31.       days: 120
  32.       },
  33.       showDropdowns: false,
  34.       showWeekNumbers: false,
  35.       timePicker: false,
  36.       timePickerIncrement: 1,
  37.       timePicker12Hour: false,
  38.       ranges: {
  39.       'Hoje': [moment(), moment()],
  40.       'Ontem': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],
  41.       'Últimos 7 dias': [moment().subtract(6, 'days'), moment()],
  42.       'Últimos 30 dias': [moment().subtract(29, 'days'), moment()],
  43.       'Este Mês': [moment().startOf('month'), moment().endOf('month')],
  44.       'Último Mês': [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month')]
  45.       },
  46.       alwaysShowCalendars : true,
  47.       opens: 'left',
  48.       buttonClasses: ['btn btn-default'],
  49.       applyClass: 'btn-small btn-primary',
  50.       cancelClass: 'btn-small',
  51.       format: 'DD/MM/YYYY',
  52.       separator: ' to ',
  53.       locale: {
  54.         applyLabel: 'Enviar',
  55.         cancelLabel: 'Cancelar',
  56.         fromLabel: 'From',
  57.         toLabel: 'To',
  58.         customRangeLabel: 'Customizado',
  59.         daysOfWeek: ['D', 'S', 'T', 'Q', 'Q', 'S', 'S'],
  60.         monthNames: ['Janeiro', 'Fevereiro', 'Março', 'Abril', 'Maio', 'Junho', 'Julho', 'Agosto', 'Setembro', 'Outubro', 'Novembro', 'Dezembro']    
  61.       }
  62.     };
  63.  
  64.     $('#home_graph span').html(moment().subtract(29, 'days').format('MMMM D, YYYY') + ' - ' + moment().format('MMMM D, YYYY'));
  65.     $('#home_graph').daterangepicker(optionSet1, cb);
  66.     $('#home_graph').on('show.daterangepicker', function() {
  67.       console.log("show event fired");
  68.     });
  69.     $('#home_graph').on('hide.daterangepicker', function() {
  70.       console.log("hide event fired");
  71.     });
  72.     $('#home_graph').on('apply.daterangepicker', function(ev, picker) {
  73.       console.log("apply event fired, start/end dates are " + picker.startDate.format('MMMM D, YYYY') + " to " + picker.endDate.format('MMMM D, YYYY'));
  74.       $.ajaxSetup({
  75.           headers: {
  76.               'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
  77.           }
  78.       });
  79.       $.ajax({
  80.         url:'/api/homegraph',
  81.         type: "POST",
  82.         dataType:'json',
  83.         cache: false,
  84.         data:{
  85.           start_date:picker.startDate.format('YYYY-MM-DD'),
  86.           end_date:picker.endDate.format('YYYY-MM-DD')},
  87.          
  88.         beforeSend: function() {
  89.             //Ação antes de fazer o post dos dados.
  90.         },
  91.         success:function(json) {
  92.             if(json.length > 0){
  93.                 values_chart = null;              
  94.                 console.log(json.length);
  95.                 values_chart = json;
  96.                 init_chartsjs();
  97.                 console.log(values_chart);                
  98.                
  99.             }
  100.         },
  101.         error:function(jqXHR, textStatus, errorThrown) {
  102.             alert('Ocorreu um erro. Informe ao ADM do sistema.');
  103.             console.log("error: " + textStatus);
  104.             console.log("error Thrown: " + errorThrown);
  105.             console.log("incoming Text: " + jqXHR.responseText);
  106.         }
  107.       });
  108.       console.log(picker.startDate.format('YYYY-MM-DD'));
  109.       console.log(picker.endDate.format('YYYY-MM-DD'));
  110.     });
  111.     $('#home_graph').on('cancel.daterangepicker', function(ev, picker) {
  112.       console.log("cancel event fired");
  113.     });
  114.     $('#options1').click(function() {
  115.       $('#home_graph').data('daterangepicker').setOptions(optionSet1, cb);
  116.     });
  117.     $('#options2').click(function() {
  118.       $('#home_graph').data('daterangepicker').setOptions(optionSet2, cb);
  119.     });
  120.     $('#destroy').click(function() {
  121.       $('#home_graph').data('daterangepicker').remove();
  122.     });
  123.  
  124.   }
  125.  
  126.  
  127.  
  128.   // var values_chart = {
  129.     //              labels: ["01/01/2018", "February", "March", "April", "May", "June", "July"],
  130.     //              datasets: [
  131.   //             {
  132.   //               label: "SELIC 2019",
  133.   //               backgroundColor: "rgba(38, 185, 154, 0.0)",
  134.   //               borderColor: "rgba(38, 185, 154, 0.7)",                   
  135.   //               data: [null,null , 30001.12, 74.12, 6, 39, 20, 85]
  136.   //             },
  137.   //             {
  138.   //               label: "SELIC 2018",
  139.   //               backgroundColor: "rgba(3, 88, 106, 0.1)",
  140.   //               borderColor: "rgba(3, 88, 106, 0.70)",
  141.   //               data: [82, 23, 66, 9, 99, 4, 2]
  142.   //             },
  143.   //             {
  144.   //               label: "SELIC 2018",
  145.   //               backgroundColor: "rgba(3, 88, 106, 0.1)",
  146.   //               borderColor: "rgba(3, 88, 106, 0.70)",
  147.   //               data: [123123, 23, 66, 9, 99, 4, 2]
  148.   //             },
  149.              
  150.   //         ]
  151.     //            };
  152.  
  153. function init_chartsjs(){
  154.   var ctx = document.getElementById("myChart").getContext('2d');
  155.   var myLineChart = new Chart(ctx, {
  156.       type: 'line',
  157.       data: values_chart,
  158.       options: {
  159.                 responsive: true,
  160.                 title: {
  161.                     display: true,
  162.                     text: 'Chart.js Line Chart'
  163.                 },
  164.                 tooltips: {
  165.                     mode: 'index',
  166.                     intersect: false,
  167.                 },
  168.                 hover: {
  169.                     mode: 'nearest',
  170.                     intersect: true
  171.                 },
  172.                 scales: {
  173.                     xAxes: [{
  174.                         display: true,
  175.                         scaleLabel: {
  176.                             display: true,
  177.                             labelString: 'Período'
  178.                         }
  179.                     }],
  180.                     yAxes: [{
  181.                         display: true,
  182.                         scaleLabel: {
  183.                             display: true,
  184.                             labelString: 'Valor'
  185.                         }
  186.                     }]
  187.                 }
  188.             }
  189.   });
  190. }
  191.  
  192.  
  193. init_chartsjs();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement