application.js 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. //= require ./jquery
  2. //= require ./jquery_ujs
  3. //= require ./list
  4. //= require ./stupidtable
  5. //= require ./jquery.stickytableheaders
  6. //= require ./selectize
  7. //= require ./highlight.pack
  8. //= require ./moment
  9. //= require ./moment-timezone
  10. //= require ./daterangepicker
  11. //= require ./Chart.js
  12. //= require ./chartkick
  13. //= require ./ace/ace
  14. //= require ./ace/ext-language_tools
  15. //= require ./ace/theme-twilight
  16. //= require ./ace/mode-sql
  17. //= require ./ace/snippets/text
  18. //= require ./ace/snippets/sql
  19. //= require ./Sortable
  20. //= require ./bootstrap
  21. $( function () {
  22. $('.dropdown-toggle').mouseenter( function () {
  23. $(this).parent().addClass('open');
  24. });
  25. });
  26. function runQuery(data, success, error) {
  27. return $.ajax({
  28. url: window.runQueriesPath,
  29. method: "POST",
  30. data: data,
  31. dataType: "html"
  32. }).done(success).fail( function(jqXHR, textStatus, errorThrown) {
  33. var message = (typeof errorThrown === "string") ? errorThrown : errorThrown.message;
  34. error(message);
  35. });
  36. }
  37. // Prevent backspace from navigating backwards.
  38. // Adapted from Biff MaGriff: http://stackoverflow.com/a/7895814/1196499
  39. function preventBackspaceNav() {
  40. $(document).keydown(function (e) {
  41. var preventKeyPress;
  42. if (e.keyCode == 8) {
  43. var d = e.srcElement || e.target;
  44. switch (d.tagName.toUpperCase()) {
  45. case 'TEXTAREA':
  46. preventKeyPress = d.readOnly || d.disabled;
  47. break;
  48. case 'INPUT':
  49. preventKeyPress = d.readOnly || d.disabled || (d.attributes["type"] && $.inArray(d.attributes["type"].value.toLowerCase(), ["radio", "reset", "checkbox", "submit", "button"]) >= 0);
  50. break;
  51. case 'DIV':
  52. preventKeyPress = d.readOnly || d.disabled || !(d.attributes["contentEditable"] && d.attributes["contentEditable"].value == "true");
  53. break;
  54. default:
  55. preventKeyPress = true;
  56. break;
  57. }
  58. }
  59. else {
  60. preventKeyPress = false;
  61. }
  62. if (preventKeyPress) {
  63. e.preventDefault();
  64. }
  65. });
  66. }