init.js 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. //for closure compiler to ensure it gets exported
  2. window['loadApp'] = loadApp;
  3. var router = window['router'];
  4. var user;
  5. var tables = [];
  6. var table_updates = [];
  7. var drivers_by_company = {};
  8. function loadApp()
  9. {
  10. initializeRoutes();
  11. $.fn.dataTable.ext.search.push(
  12. function(settings, search_data, index, row, search_counter)
  13. {
  14. if($("#show-completed").prop('checked'))
  15. return true;
  16. return !row.time_pickup || !row.time_depart || !row.bol_delivered;
  17. });
  18. $("#show-completed").change(function()
  19. {
  20. //redraw all tables
  21. for(var i in tables)
  22. tables[i].draw();
  23. });
  24. //login and logout
  25. $('form.form-signin').submit(login);
  26. //when a bootstrap tab is shown, then trigger a redraw of its table
  27. $('#screen-sd').delegate('a[data-toggle="tab"]', 'shown.bs.tab', function(e)
  28. {
  29. var id_company = $(this).closest('li').data('id_company');
  30. if(!id_company)
  31. return;
  32. tables[id_company].draw();
  33. });
  34. $('#screen-sd').delegate('button.download-csv', 'click', function(e)
  35. {
  36. window.open('api/downloadCSV.php?id=' + $(this).data('id_company'));
  37. });
  38. setInterval(loadAllData, 60*1000);
  39. if(!user)
  40. router('/');
  41. else
  42. router.reload();
  43. }
  44. function login(e)
  45. {
  46. e.preventDefault();
  47. $('#login-error').text(null);
  48. $.post('api/login.php',
  49. {
  50. 'email': $('#email').val(),
  51. 'password': $('#password').val()
  52. })
  53. .done(function(response)
  54. {
  55. user = response;
  56. $('.user_name').text(user['name']);
  57. router('/sd');
  58. })
  59. .fail(function(err, xhr, text)
  60. {
  61. console.error(err.responseText);
  62. $('#login-error').text(err.responseText);
  63. });
  64. return false;
  65. }