diff sites/all/modules/ctools/page_manager/js/page-list.js @ 0:ff03f76ab3fe

initial version
author danieleb <danielebarchiesi@me.com>
date Wed, 21 Aug 2013 18:51:11 +0100
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sites/all/modules/ctools/page_manager/js/page-list.js	Wed Aug 21 18:51:11 2013 +0100
@@ -0,0 +1,44 @@
+
+/**
+ * Provide some extra responses for the page list so we can have automatic
+ * on change.
+ */
+
+Drupal.behaviors.PageManagerList = function() {
+  var timeoutID = 0;
+  $('form#page-manager-list-pages-form select:not(.pm-processed)')
+    .addClass('pm-processed')
+    .change(function() {
+      $('#edit-pages-apply').click();
+    });
+  $('form#page-manager-list-pages-form input[type=text]:not(.pm-processed)')
+    .addClass('pm-processed')
+    .keyup(function(e) {
+      switch (e.keyCode) {
+        case 16: // shift
+        case 17: // ctrl
+        case 18: // alt
+        case 20: // caps lock
+        case 33: // page up
+        case 34: // page down
+        case 35: // end
+        case 36: // home
+        case 37: // left arrow
+        case 38: // up arrow
+        case 39: // right arrow
+        case 40: // down arrow
+        case 9:  // tab
+        case 13: // enter
+        case 27: // esc
+          return false;
+        default:
+          if (!$('#edit-pages-apply').hasClass('ctools-ajaxing')) {
+            if ((timeoutID)) {
+              clearTimeout(timeoutID);
+            }
+
+            timeoutID = setTimeout(function() { $('#edit-pages-apply').click(); }, 300);
+        }
+      }
+    });
+}