/*! MKWS, the MasterKey Widget Set.
- * Copyright (C) 2013-2014 Index Data
+ * Copyright (C) 2013-2015 Index Data
* See the file LICENSE for details
*/
"Location": "Ort",
"Records": "Datensätze",
"Targets": "Datenbanken",
+ "State": "Status",
"relevance": "Relevanz",
"title": "Titel",
"newest": "Neueste",
"Location": "Lokation",
"Records": "Poster",
"Targets": "Baser",
+ "State": "Status",
"relevance": "Relevans",
"title": "Titel",
"newest": "Nyeste",
var myTeam = mkws.teams[tName]
myTeam.makePz2();
myTeam.info("made PZ2 object");
- /*
- myTeam.visitWidgets(function(t, w) {
- mkws.debug(" has widget of type '" + t + "': " + w);
- });
- */
}
function sp_auth_url(config) {
mkws.logger.setOptions({ "level": mkws.stringToLevel(tmp) });
}
}
+
+ // This function is adapted from Yarin's code at
+ // https://stackoverflow.com/questions/4197591/parsing-url-hash-fragment-identifier-with-javascript#4198132
+ function parse_fragment(s) {
+ var hashParams = {};
+ var e,
+ a = /\+/g, // Regex for replacing addition symbol with a space
+ r = /([^&;=]+)=?([^&;]*)/g,
+ d = function (s) { return decodeURIComponent(s.replace(a, " ")); },
+ q = s.substring(1);
+
+ 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;
+ }
+
+ var oldHash = location.hash;
+ $(window).bind('hashchange', function(e) {
+ mkws.warn("hashchange: old='" + oldHash + "', new='" + location.hash + "'");
+ var oldStates = parse_fragment(oldHash);
+ var newStates = parse_fragment(location.hash);
+ 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.$);