diff --git a/src/resources/wwwroot/js/dashboard.js b/src/resources/wwwroot/js/dashboard.js index b0c262a..d705a24 100644 --- a/src/resources/wwwroot/js/dashboard.js +++ b/src/resources/wwwroot/js/dashboard.js @@ -1,26 +1,233 @@ $(document).ready(function () { - //load total collections - $.post('/senddata/wastedata', 'action=getStartHeaderData', function (data) { - console.log(data); - $("#total-connection-labels").html(data.collectionnumber); - - $("#planed-collection-label").html(data.futurecollections); - - $("#finished-collection-label").html(data.finshedcollections); - - $("#total-city-number-label").html(data.citynumber); - }, 'json'); - - //load version footer - // - $.post('/senddata/wastedata', 'action=getversionandbuildtime', function (data) { - $("#version-footer-label").html("Version " + data.version + " Build " + data.buildtime); - }, 'json'); - - + /* Constants */ var citytable; var datetable; + //load header data + loadHeaderData(); + + //load footer + loadVersionFooter(); + + //reload city table + reloadtable(); + + //reload Date table + reloadDateTable(); + + //init time picker + initDatePicker(); + + //add click listeners to all buttons + addClickListeners(); + + + /* Btn Action Listeners */ + + function addClickListeners() { + //btn listeners + $('#logoutbtn').click(function () { + $.post('/senddata/checkloginstate', 'action=logout', function (data) { + console.log(data); + }, 'json'); + }); + + $('.wastetype-citynew-item').click(function (event) { + event.preventDefault(); + $('#dropdown-wastetype').html($(this).html()); + }); + + $('#btn-savecity').click(function () { + var cityname = $("#new_city_cityname").val(); + var zonename = $("#new_city_zonename").val(); + var wastetype = $("#dropdown-wastetype").html(); + console.log("storing: " + cityname + "--" + wastetype + "in db"); + + $.post('/senddata/wastedata', 'action=newCity&wastetype=' + wastetype + "&cityname=" + cityname + "&wastezone=" + zonename, function (data) { + console.log(data); + if (data.status == "inserted") { + Swal.fire({ + type: "success", + title: 'Successfully created city!', + html: 'This alert closes automatically.', + timer: 1000, + }).then((result) => { + console.log('Popup closed. ') + + }); + reloadtable(); + } else if (data.status == "exists") { + Swal.fire({ + type: "warning", + title: 'Name already exists in db', + html: 'Close popup.', + }).then((result) => { + console.log('Popup closed. ') + + }); + } + }, 'json'); + + //clear form data + $("#new_city_cityname").val(""); + $("#new_city_zonename").val(""); + $("#dropdown-wastetype").html("select waste type"); + }); + + + /* new Date create: */ + $("#dropdown-city").click(function (event) { + event.preventDefault(); + var dropdata = $("#dropdown-city-data"); + dropdata.html(""); + console.log("loading city names") + + $.post('/senddata/newdate', 'action=getCitynames', function (data) { + console.log(data); + if (data.query == "ok") { + var prev = ""; + for (var i = 0; i < data.data.length; i++) { + var name = data.data[i].cityname; + dropdata.append("" + name + ""); + } + + $(".dropdown-data-cityname").off(); + $(".dropdown-data-cityname").click(function (evnt) { + evnt.preventDefault(); + console.log($(this).html()); + $("#dropdown-city").html($(this).html()); + }); + } + }, "json"); + }); + + $("#dropdown-zone").click(function (event) { + event.preventDefault(); + var dropdata = $("#dropdown-zone-data"); + dropdata.html(""); + + $.post('/senddata/newdate', 'action=getzones&cityname=' + $("#dropdown-city").html(), function (data) { + console.log(data); + if (data.query == "ok") { + var prev = ""; + for (var i = 0; i < data.data.length; i++) { + var zone = data.data[i].zone; + dropdata.append("" + zone + ""); + } + + $(".dropdown-data-zonename").off(); + $(".dropdown-data-zonename").click(function (evnt) { + evnt.preventDefault(); + console.log($(this).html()); + $("#dropdown-zone").html($(this).html()); + }); + } + }); + }); + + $("#dropdown-type-data").click(function (event) { + event.preventDefault(); + + var dropdata = $("#dropdown-type-drops"); + dropdata.html(""); + console.log("clickeeeed"); + + $.post('/senddata/newdate', 'action=gettypes&cityname=' + $("#dropdown-city").html() + '&zonename=' + $("#dropdown-zone").html(), function (data) { + console.log(data); + if (data.query == "ok") { + for (var i = 0; i < data.data.length; i++) { + var type = data.data[i].wastetype; + dropdata.append("" + type + ""); + } + + $(".dropdown-data-typename").off(); + $(".dropdown-data-typename").click(function (evnt) { + evnt.preventDefault(); + $("#dropdown-type-data").html($(this).html()); + }); + } + }); + + + }); + + + $('.btn-savelist').click(function () { + console.log("saving date"); + + var cityname = $("#dropdown-city"); + var zone = $("#dropdown-zone"); + var wastetype = $("#dropdown-type-data"); + var date = $("#input-wastetime"); + + $.post('/senddata/newdate', 'action=newdate&cityname=' + cityname.html() + "&zone=" + zone.html() + "&wastetype=" + wastetype.html() + "&date=" + date.val(), function (data) { + if (data.status == "success") { + Swal.fire({ + type: "success", + title: 'Successfully created Date!', + html: 'This alert closes automatically.', + timer: 1000, + }).then((result) => { + console.log('Popup closed. ') + + }); + + cityname.html("Select City"); + zone.html("Select Zone"); + wastetype.html("Select waste type"); + date.val(""); + reloadDateTable(); + } else if (data.status == "citydoesntexist") { + Swal.fire({ + type: "warning", + title: 'city name doesnt exist', + html: 'Close popup.', + }).then((result) => { + console.log('Popup closed. ') + + }); + } + + console.log(data) + }, "json"); + }); + } + + + /* Functions */ + + function initDatePicker() { + //Date picker pop up actions... + var date_input = $('input[name="date"]'); //our date input has the name "date" + var container = $('.bootstrap-iso form').length > 0 ? $('.bootstrap-iso form').parent() : "body"; + var options = { + format: 'yyyy-mm-dd', + container: container, + todayHighlight: true, + autoclose: true, + }; + date_input.datepicker(options); + } + + function loadHeaderData() { + $.post('/senddata/wastedata', 'action=getStartHeaderData', function (data) { + console.log(data); + $("#total-connection-labels").html(data.collectionnumber); + + $("#planed-collection-label").html(data.futurecollections); + + $("#finished-collection-label").html(data.finshedcollections); + + $("#total-city-number-label").html(data.citynumber); + }, 'json'); + } + + function loadVersionFooter() { + $.post('/senddata/wastedata', 'action=getversionandbuildtime', function (data) { + $("#version-footer-label").html("Version " + data.version + " Build " + data.buildtime); + }, 'json'); + } + function reloadtable() { $.post('/senddata/wastedata', 'action=getAllCities', function (data) { if (citytable != null) { @@ -29,11 +236,15 @@ $(document).ready(function () { console.log(data); if (data.query == "ok") { - $('#location-table-data').html(""); + var tabledata = $('#location-table-data'); + + + tabledata.html(""); + //todo in variable $(".delbtn").off(); for (var i = 0; i < data.data.length; i++) { - $('#location-table-data').append("