Extend state by overrides AFTER generating filter entries, not before.
[mkws-moved-to-github.git] / src / mkws-team.js
index c688f76..90f9d4f 100644 (file)
@@ -77,10 +77,11 @@ mkws.makeTeam = function($, teamName) {
     var s;
 
     // Expand the filterSet into a set of key=value properties 
-    var state = $.extend(true, {}, m_state, overrides ? overrides : {});
+    var state = $.extend(true, {}, m_state);
     var tmp = state.filters;
     delete state.filters;
     $.extend(state, tmp.fragmentItems());
+    $.extend(state, overrides ? overrides : {});
 
     for (var key in state) {
       if (state.hasOwnProperty(key) &&
@@ -114,6 +115,32 @@ mkws.makeTeam = function($, teamName) {
     return x;
   }
 
+  that.handleChanges = function(oldState, newState) {
+    for (var key in newState) {
+      var val = newState[key];
+      if (newState.hasOwnProperty(key) &&
+          (!oldState || val != oldState[key])) {
+        that.warn("changed property " + key + ": " + 
+                  (oldState ? ("'" + oldState[key] + "'") : "undefined") +
+                  " -> '" + val + "'");
+        if (key === 'page') {
+          that.showPage(parseInt(val));
+        } else if (key === 'sort') {
+          that.set_sortOrder(val);
+          if (that.submitted()) {
+            that.reShow();
+          }
+        } else if (key === 'size') {
+          that.set_perpage(val);
+          if (that.submitted()) {
+            that.reShow();
+          }
+        }
+      }
+    }
+  };
+
+
   // The following PubSub code is modified from the jQuery manual:
   // http://api.jquery.com/jQuery.Callbacks/
   //