redraw_navi() made team-aware.
[mkws-moved-to-github.git] / tools / htdocs / mkws.js
index 2896c44..52f8e73 100644 (file)
@@ -1,5 +1,5 @@
-/*! MKWS, the MasterKey Widget Set. 
- *  Copyright (C) 2013-2014 Index Data 
+/*! MKWS, the MasterKey Widget Set.
+ *  Copyright (C) 2013-2014 Index Data
  *  See the file LICENSE for details
  */
 
@@ -86,6 +86,7 @@ var mkws = {
            "Authors": "Autoren",
            "Subjects": "Schlagwörter",
            "Sources": "Daten und Quellen",
+           "source": "datenquelle",
            "Termlists": "Termlisten",
            "Next": "Weiter",
            "Prev": "Zurück",
@@ -99,8 +100,10 @@ var mkws = {
            "found": "gefunden",
            "Title": "Titel",
            "Author": "Autor",
+           "author": "autor",
            "Date": "Datum",
            "Subject": "Schlagwort",
+           "subject": "schlagwort",
            "Location": "Ort",
            "Records": "Datensätze",
            "Targets": "Datenbanken",
@@ -112,6 +115,7 @@ var mkws = {
            "Authors": "Forfattere",
            "Subjects": "Emner",
            "Sources": "Kilder",
+           "source": "kilder",
            "Termlists": "Termlists",
            "Next": "Næste",
            "Prev": "Forrige",
@@ -125,8 +129,10 @@ var mkws = {
            "found": "fandt",
            "Title": "Title",
            "Author": "Forfatter",
+           "author": "forfatter",
            "Date": "Dato",
            "Subject": "Emneord",
+           "subject": "emneord",
            "Location": "Lokation",
            "Records": "Poster",
            "Targets": "Baser",
@@ -188,7 +194,7 @@ function team($, teamName) {
        } else if (mkws.debug_level >= 2) {
            console.log(timestamp + ">>> called from function " + arguments.callee.caller.name + ' <<<');
        }
-       console.log(timestamp + string);
+       console.log(m_teamName + ": " + timestamp + string);
     }
     var debug = mkws.debug_function; // local alias
     debug("start running MKWS");
@@ -341,7 +347,7 @@ function team($, teamName) {
 
 
     function add_single_facet(acc, caption, data, max, pzIndex) {
-       acc.push('<div class="facet" id="mkwsFacet' + caption + '">');
+       acc.push('<div class="facet mkwsFacet' + caption + ' mkwsTeam_' + m_teamName + '">');
        acc.push('<div class="termtitle">' + M(caption) + '</div>');
        for (var i = 0; i < data.length && i < max; i++) {
            acc.push('<div class="term">');
@@ -350,7 +356,7 @@ function team($, teamName) {
            if (!pzIndex) {
                // Special case: target selection
                acc.push('target_id='+data[i].id+' ');
-               action = 'mkws.limitTarget(this.getAttribute(\'target_id\'),this.firstChild.nodeValue)';
+               action = 'mkws.limitTarget(\'' + m_teamName + '\', this.getAttribute(\'target_id\'),this.firstChild.nodeValue)';
            } else {
                action = 'mkws.limitQuery(\'' + pzIndex + '\', this.firstChild.nodeValue)';
            }
@@ -451,7 +457,7 @@ function team($, teamName) {
        }
 
        m_filters = []
-       redraw_navi(); // ### should use windowid
+       redraw_navi();
        resetPage(); // ### the globals it resents should be indexed by windowid
        loadSelect(); // ### should use windowid
        triggerSearch(query, sort, targets, windowid);
@@ -550,7 +556,7 @@ function team($, teamName) {
 
 
     // limit by target functions
-    mkws.limitTarget  = function (id, name)
+    that.limitTarget  = function (id, name)
     {
        debug("limitTarget(id=" + id + ", name=" + name + ")");
        m_filters.push({ id: id, name: name });
@@ -612,7 +618,7 @@ function team($, teamName) {
 
     function redraw_navi ()
     {
-       var navi = document.getElementById('mkwsNavi');
+       var navi = $('.mkwsNavi.mkwsTeam_' + m_teamName);
        if (!navi) return;
 
        var text = "";
@@ -622,16 +628,16 @@ function team($, teamName) {
            }
            var filter = m_filters[i];
            if (filter.id) {
-               text += 'Source: <a class="crossout" href="#" onclick="mkws.delimitTarget(' +
+               text += M('source') + ': <a class="crossout" href="#" onclick="mkws.delimitTarget(' +
                    "'" + filter.id + "'" + ');return false;">' + filter.name + '</a>';
            } else {
-               text += filter.field + ': <a class="crossout" href="#" onclick="mkws.delimitQuery(' +
+               text += M(filter.field) + ': <a class="crossout" href="#" onclick="mkws.delimitQuery(' +
                    "'" + filter.field + "', '" + filter.value + "'" +
                    ');return false;">' + filter.value + '</a>';
            }
        }
 
-       navi.innerHTML = text;
+       navi.html(text);
     }
 
 
@@ -1379,6 +1385,10 @@ function _mkws_jquery_plugin ($) {
        mkws.teams[tname].showDetails(prefixRecId);
     }
 
+    mkws.limitTarget  = function (tname, id, name) {
+       mkws.teams[tname].limitTarget(id, name);
+    }
+
 
     function default_mkws_config() {
        /* default mkws config */