var chart; $(document).ready(function() { $("#tabs").tabs({ active: 0 }); $("#form_duedate").datepicker(); $("#form_submit").click(function() { submitTask(); }); $("#form_delete").click(function() { deleteTask(); }); $("#form_showall").click(function() { toggleShowAll(); }); $("#form_setcomplete").click(function() { setTaskComplete(); }); $("#form_setincomplete").click(function() { setTaskComplete(true); }); $("#form_cancel").click(function() { resetForm(true); }); $("#filter_reset").click(function() { $("#form_filter").val(""); }); $("#panelimg").click(function() { updateImage(); }); //$("#tabs").on("tabsactivate", function(event, ui) { console.log($("#tabs").tabs('option', 'active')); }); getTasks(); var chartOptions = { chart: { type: 'bar', height: 550 }, plotOptions: { bar: { horizontal: false, columnWidth: '80%', endingShape: 'rounded' } }, dataLabels: { enabled: false }, xaxis: { categories: ['6','5','4','3','2','1'] }, yaxis: { title: { text: 'Task Count' } }, series: [], noData: { text: 'Loading...' } } chart = new ApexCharts($("#chart")[0], chartOptions); chart.render(); updateChart(); }); function updateImage() { console.log("Getting image..."); $("#panelimg").attr("src", "image.php?"+(Math.floor(Math.random()*100000))); updateChart(); } function updateChart() { $.ajax({ url: 'ajax/task-getstats.php', dataType: 'json', success: function(data, stat, jqo) { chart.updateSeries([{ name: 'Created', data: data.createdtasks },{ name: 'Completed', data: data.completedtasks }]) }, error: function(jqo, stat, error) { toastr.error("Could not communicate with server!", "Server Error"); } }); } function deleteTask() { if ( $("#form_id").val() == "0" ) return; var doDelete = confirm("Are you certain you wish to delete this task?\n\nIf so then click 'OK'.") if ( !doDelete ) return; $.ajax({ url: 'ajax/task-delete.php', dataType: 'json', data: { id: $("#form_id").val(), }, success: function(data, stat, jqo) { if ( data.error ) { toastr.error(data.message, "Submission Error"); } else { toastr.success(data.message, "Task Deleted"); getTasks(); updateImage(); resetForm(true); } }, error: function(jqo, stat, error) { toastr.error("Could not communicate with server!", "Server Error"); } }); } function setTaskComplete(incomplete = false) { if ( $("#form_id").val() == "0" ) return; $.ajax({ url: 'ajax/task-setcomplete.php', dataType: 'json', data: { id: $("#form_id").val(), incomplete: (incomplete) ? 1 : 0 }, success: function(data, stat, jqo) { if ( data.error ) { toastr.error(data.message, "Submission Error"); } else { toastr.success(data.message, "Task Complete"); getTasks(); updateImage(); resetForm(true); } }, error: function(jqo, stat, error) { toastr.error("Could not communicate with server!", "Server Error"); } }); } function toggleShowAll() { $.ajax({ url: 'ajax/toggleshowall.php', dataType: 'json', data: { showall: ($("#form_showall").prop('checked')) ? 1 : 0, }, success: function(data, stat, jqo) { if ( data.error ) { toastr.error(data.message, "Form Data Error"); } else { toastr.success(data.message, "Task List"); getTasks(); } $("#form_showall").prop('checked', data.showall); }, error: function(jqo, stat, error) { toastr.error("Could not communicate with server!", "Server Error"); } }); } function submitTask() { $.ajax({ url: 'ajax/task-submit.php', dataType: 'json', data: { id: $("#form_id").val(), title: $("#form_title").val(), description: $("#form_description").val(), priority: $("#form_priority").val(), duedate: $("#form_duedate").val() }, success: function(data, stat, jqo) { if ( data.error ) { toastr.error(data.message, "Form Data Error"); } else { toastr.success(data.message, "Success"); getTasks(); resetForm(true); $("#form_id").val(""); $("#form_title").val(""); $("#form_description").val(""); $("#form_createdate").val("Now"); $("#form_duedate").val(""); $("#form_completedate").html(""); $("#form_completerow").addClass("noshow"); $("#column_deletebutton").addClass("noshow"); $("#column_incompletebutton").addClass("noshow"); $("#column_completebutton").addClass("noshow"); updateImage(); } }, error: function(jqo, stat, error) { toastr.error("Could not communicate with server!", "Server Error"); } }); } function resetForm(backToTasks = false) { if ( backToTasks ) $("#tabs").tabs("option", "active", 0); $("#form_id").val(""); $("#form_title").val(""); $("#form_description").val(""); $("#form_createdate").val("Now"); $("#form_duedate").val(""); $("#form_completedate").html(""); $("#form_completerow").addClass("noshow"); $("#column_deletebutton").addClass("noshow"); $("#column_incompletebutton").addClass("noshow"); $("#column_completebutton").addClass("noshow"); } function getTasks() { $.ajax({ url: 'ajax/task-list.php', dataType: 'json', success: function(data, stat, jqo) { $("#form_showall").prop('checked', data.showalltasks); var show = ""; data.tasks.forEach(function(task, index) { show += "