diff --git a/static/mealplanner_script.js b/static/mealplanner_script.js new file mode 100644 index 0000000..9005f29 --- /dev/null +++ b/static/mealplanner_script.js @@ -0,0 +1,102 @@ +var active_timer = 100; +var eaters = [] + +$( function() { + $(".user-result-container").position({ + my: "left top", + at: "left bottom", + of: $('#search-user'), // or $("#otherdiv") + collision: "fit" + }); + $('.user-result-container').hide(); + $( "#datepicker" ).datepicker({ + dateFormat: 'D, yy-mm-dd' + }); + $('#spinner-hour').spinner({ + min: 0, + max: 23, + numberFormat: 'n' + }); + $('#spinner-minute').spinner({ + min: 0, + max: 59, + numberFormat: 'n' + }); + $('#search-user').on('keyup', function(){ + clearTimeout(active_timer); + active_timer = setTimeout(user_search, 500); + }); + eaters.push($($('.username')[0]).text()); // Kinda weird but ok +}); + +function plan_meal() { + +} + +function add_user() { + $.ajax({ + url: "/searchusers?q=" + $('#search-user').val() + }).done(function(results) { + if (results == '[]') { + alert('Invalid username'); + return; + } + names = results.substring(1, results.length-1).split(', '); + if (names.length > 1) { + alert('Please choose one.'); + return; + } + eaters.push(names[0].substring(1, names[0].length)); + var meal_date = $('#datepicker').datepicker('getDate'); + var month = (meal_date.getMonth() + 1).toString(); + if (month.length == 1) + month = '0' + month; + var date = (meal_date.getDate()).toString(); + if (date.length == 1) + date = '0' + date; + if ($('#spinner-hour').val().length == 1) + $('#spinner-hour').val('0' + $('#spinner-hour').val()); + if ($('#spinner-minute').val().length == 1) + $('#spinner-minute').val('0' + $('#spinner-minute').val()); + var meal_timestamp = meal_date.getFullYear() + '-' + + month + '-' + + date + ' ' + + $('#spinner-hour').val() + ':' + + $('#spinner-minute').val(); + $.ajax({ + url: "/getkukcandidate?date=" + meal_timestamp + "&eaters=" + eaters.toString() + }).done(function(estkuk) { + $('#est-cook').attr('src', 'static/' + estkuk + '.png') + $('#est-cook').attr('title', estkuk) + }); + }); +} + +function fill_box(name) { + $('#search-user').val(name); + $('.user-result-container').hide(); +} + +function user_search() { + $('.user-result-container').hide(); + if ($('#search-user').val() == '') + return; + $.ajax({ + url: "/searchusers?q=" + $('#search-user').val() + }).done(function(results) { + // Load results + if (results == '[]') + return; + $('.user-result-container').empty(); + names = results.substring(1, results.length-1).split(', '); + $.each(names, function(i, r){ + var name = r.substring(1, r.length-1); + e = '
\ + \ + ' + name + '\ +
' + $('.user-result-container').append($(e)); + }); + $('.user-result-container').show(); + }); +} \ No newline at end of file