function accumulatePlot(form) { $(".ld-ext-right").addClass('running'); $(".ld-ext-right").prop('disabled', true); // using this to change color of legend and label according to background color var color = ifDarkModeThemeReturn('white', 'grey'); var award = form.awardradio.value; var mode = form.mode.value; var period = form.periodradio.value; $.ajax({ url: base_url + 'index.php/accumulated/get_accumulated_data', type: 'post', data: { 'Band': form.band.value, 'Award': award, 'Mode': mode, 'Period': period }, success: function (data) { if (!$.trim(data)) { $("#accumulateContainer").empty(); $("#accumulateContainer").append(''); $(".ld-ext-right").removeClass('running'); $(".ld-ext-right").prop('disabled', false); } else { // used for switching award text in the table and the chart switch (award) { case 'dxcc': var awardtext = "DXCC\'s"; break; case 'was': var awardtext = "states"; break; case 'iota': var awardtext = "IOTA\'s"; break; case 'waz': var awardtext = "CQ zones"; break; } var periodtext = 'Year'; if (period == 'month') { periodtext += ' + month'; } // removing the old chart so that it will not interfere when loading chart again $("#accumulateContainer").empty(); $("#accumulateContainer").append("
"); // appending table to hold the data $("#accumulateTable").append('' + '' + '' + '' + '' + '' + '' + '
#' + periodtext + 'Accumulated # of ' + awardtext + ' worked
'); var labels = []; var dataDxcc = []; var $myTable = $('.accutable'); var i = 1; // building the rows in the table var rowElements = data.map(function (row) { var $row = $(''); var $iterator = $('').html(i++); var $type = $('').html(row.year); var $content = $('').html(row.total); $row.append($iterator, $type, $content); return $row; }); // finally inserting the rows $myTable.append(rowElements); $.each(data, function () { labels.push(this.year); dataDxcc.push(this.total); }); var ctx = document.getElementById("myChartAccumulate").getContext('2d'); var myChart = new Chart(ctx, { type: 'bar', data: { labels: labels, datasets: [{ label: 'Accumulated number of ' + awardtext + ' worked each ' + period, data: dataDxcc, backgroundColor: 'rgba(54, 162, 235, 0.2)', borderColor: 'rgba(54, 162, 235, 1)', borderWidth: 2, color: color }] }, options: { scales: { y: { ticks: { beginAtZero: true, color: color } }, x: { ticks: { color: color } } }, plugins: { legend: { labels: { color: color } } } } }); $(".ld-ext-right").removeClass('running'); $(".ld-ext-right").prop('disabled', false); $('.accutable').DataTable({ responsive: false, ordering: false, "scrollY": "400px", "scrollCollapse": true, "paging": false, "scrollX": true, dom: 'Bfrtip', buttons: [ 'csv' ] }); // using this to change color of csv-button if dark mode is chosen var background = $('body').css("background-color"); if (background != ('rgb(255, 255, 255)')) { $(".buttons-csv").css("color", "white"); } } } }); }