page-list.js 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. /**
  2. * Provide some extra responses for the page list so we can have automatic
  3. * on change.
  4. */
  5. Drupal.behaviors.PageManagerList = function() {
  6. var timeoutID = 0;
  7. $('form#page-manager-list-pages-form select:not(.pm-processed)')
  8. .addClass('pm-processed')
  9. .change(function() {
  10. $('#edit-pages-apply').click();
  11. });
  12. $('form#page-manager-list-pages-form input[type=text]:not(.pm-processed)')
  13. .addClass('pm-processed')
  14. .keyup(function(e) {
  15. switch (e.keyCode) {
  16. case 16: // shift
  17. case 17: // ctrl
  18. case 18: // alt
  19. case 20: // caps lock
  20. case 33: // page up
  21. case 34: // page down
  22. case 35: // end
  23. case 36: // home
  24. case 37: // left arrow
  25. case 38: // up arrow
  26. case 39: // right arrow
  27. case 40: // down arrow
  28. case 9: // tab
  29. case 13: // enter
  30. case 27: // esc
  31. return false;
  32. default:
  33. if (!$('#edit-pages-apply').hasClass('ctools-ajaxing')) {
  34. if ((timeoutID)) {
  35. clearTimeout(timeoutID);
  36. }
  37. timeoutID = setTimeout(function() { $('#edit-pages-apply').click(); }, 300);
  38. }
  39. }
  40. });
  41. }