Part of MKWS-64.
[mkws-moved-to-github.git] / src / mkws-core.js
index deb78d0..ce4402e 100644 (file)
@@ -696,8 +696,20 @@ mkws.info("Using window.name '" + window.name + "'");
         d = function (s) { return decodeURIComponent(s.replace(a, " ")); },
         q = s.substring(1);
 
-    while (e = r.exec(q))
-      hashParams[d(e[1])] = d(e[2]);
+    while (e = r.exec(q)) {
+      var key = d(e[1]);
+      if (key === 'mkws') {
+        key = 'AUTO';
+      } else {
+        key = key.replace('mkws', '');
+      }
+      var team = mkws.teams[key];
+      if (team) {
+        hashParams[key] = team.parseFragment(d(e[2]));
+      } else {
+        alert("can't resolve team name '" + key + "'");
+      }
+    }
 
     return hashParams;
   }
@@ -707,7 +719,16 @@ mkws.info("Using window.name '" + window.name + "'");
     mkws.warn("hashchange: old='" + oldHash + "', new='" + location.hash + "'");
     var oldStates = parse_fragment(oldHash);
     var newStates = parse_fragment(location.hash);
-    mkws.warn(mkws.$.toJSON(newStates));
     oldHash = location.hash;
+
+    for (var teamName in newStates) {
+      var team = mkws.teams[teamName];
+      if (!team) {
+        alert("can't resolve team name '" + teamName + "'");
+        continue;
+      }
+
+      team.handleChanges(oldStates[teamName], newStates[teamName]);
+    }
   });
 })(mkws.$);