Merge branch 'master' of ssh://git.indexdata.com/home/git/private/mkws
authorMike Taylor <mike@indexdata.com>
Thu, 23 Jan 2014 15:25:26 +0000 (15:25 +0000)
committerMike Taylor <mike@indexdata.com>
Thu, 23 Jan 2014 15:25:26 +0000 (15:25 +0000)
1  2 
tools/htdocs/mkws.js

diff --combined tools/htdocs/mkws.js
@@@ -2,71 -2,64 +2,71 @@@
  
  "use strict"; // HTML5: disable for debug_level >= 2
  
 +// Some functions are visible to be called from outside code, namely
 +// generated HTML: mkws.switchView(), showDetails(), limitTarget(),
 +// limitQuery(), delimitTarget(), delimitQuery(), pagerPrev(),
 +// pagerNext(), showPage()
 +
  // Set up global mkws object. Contains a hash of session objects,
  // indexed by windowid.
  var mkws = {
      authenticated: false,
 -    sessions: {}
 -};
 -
 -mkws.locale_lang = {
 -    "de": {
 -      "Authors": "Autoren",
 -      "Subjects": "Schlagw&ouml;rter",
 -      "Sources": "Daten und Quellen",
 -      "Termlists": "Termlisten",
 -      "Next": "Weiter",
 -      "Prev": "Zur&uuml;ck",
 -      "Search": "Suche",
 -      "Sort by": "Sortieren nach",
 -      "and show": "und zeige",
 -      "per page": "pro Seite",
 -      "Displaying": "Zeige",
 -      "to": "von",
 -      "of": "aus",
 -      "found": "gefunden",
 -      "Title": "Titel",
 -      "Author": "Autor",
 -      "Date": "Datum",
 -      "Subject": "Schlagwort",
 -      "Location": "Ort",
 -      "Records": "Datens&auml;tze",
 -      "Targets": "Datenbanken",
 -
 -      "dummy": "dummy"
 -    },
 -
 -    "da": {
 -      "Authors": "Forfattere",
 -      "Subjects": "Emner",
 -      "Sources": "Kilder",
 -      "Termlists": "Termlists",
 -      "Next": "N&aelig;ste",
 -      "Prev": "Forrige",
 -      "Search": "S&oslash;g",
 -      "Sort by": "Sorter efter",
 -      "and show": "og vis",
 -      "per page": "per side",
 -      "Displaying": "Viser",
 -      "to": "til",
 -      "of": "ud af",
 -      "found": "fandt",
 -      "Title": "Title",
 -      "Author": "Forfatter",
 -      "Date": "Dato",
 -      "Subject": "Emneord",
 -      "Location": "Lokation",
 -      "Records": "Poster",
 -      "Targets": "Baser",
 -
 -      "dummy": "dummy"
 +    init: false,
 +    debug_function: undefined, // will be set during initialisation
 +    debug_level: undefined, // will be initialised from mkws_config
 +    sessions: {},
 +    locale_lang: {
 +      "de": {
 +          "Authors": "Autoren",
 +          "Subjects": "Schlagw&ouml;rter",
 +          "Sources": "Daten und Quellen",
 +          "Termlists": "Termlisten",
 +          "Next": "Weiter",
 +          "Prev": "Zur&uuml;ck",
 +          "Search": "Suche",
 +          "Sort by": "Sortieren nach",
 +          "and show": "und zeige",
 +          "per page": "pro Seite",
 +          "Displaying": "Zeige",
 +          "to": "von",
 +          "of": "aus",
 +          "found": "gefunden",
 +          "Title": "Titel",
 +          "Author": "Autor",
 +          "Date": "Datum",
 +          "Subject": "Schlagwort",
 +          "Location": "Ort",
 +          "Records": "Datens&auml;tze",
 +          "Targets": "Datenbanken",
 +
 +          "dummy": "dummy"
 +      },
 +
 +      "da": {
 +          "Authors": "Forfattere",
 +          "Subjects": "Emner",
 +          "Sources": "Kilder",
 +          "Termlists": "Termlists",
 +          "Next": "N&aelig;ste",
 +          "Prev": "Forrige",
 +          "Search": "S&oslash;g",
 +          "Sort by": "Sorter efter",
 +          "and show": "og vis",
 +          "per page": "per side",
 +          "Displaying": "Viser",
 +          "to": "til",
 +          "of": "ud af",
 +          "found": "fandt",
 +          "Title": "Title",
 +          "Author": "Forfatter",
 +          "Date": "Dato",
 +          "Subject": "Emneord",
 +          "Location": "Lokation",
 +          "Records": "Poster",
 +          "Targets": "Baser",
 +
 +          "dummy": "dummy"
 +      }
      }
  };
  
@@@ -77,8 -70,8 +77,8 @@@ if (mkws_config == null || typeof mkws_
  
  // wrapper for jQuery lib
  function _make_mkws_team($, teamName) {
-     if (console && console.log)
-       console.log("run _make_mkws_team(" + (teamName ? teamName : "") + ")");
+     // if (console && console.log) // disabled, will fail in IE8
+     //        console.log("run _make_mkws_team(" + (teamName ? teamName : "") + ")");
  
      // call this function only once
      if (mkws.init) {
      var SourceMax = 16;
      var SubjectMax = 10;
      var AuthorMax = 10;
 +    var m_query; // initially undefined
  
      if (!isNaN(parseInt(mkws_config.perpage_default))) {
        recPerPage = parseInt(mkws_config.perpage_default);
  
      function renderSummary(hit)
      {
 -      if (mkws.templateSummary === undefined) {
 -          loadTemplate("Summary");
 -      }
 -
 +      var template = loadTemplate("Summary");
        hit._id = "mkwsRec_" + hit.recid;
        hit._onclick = "mkws.showDetails(this.id);return false;"
 -      return mkws.templateSummary(hit);
 +      return template(hit);
      }
  
  
  
        // Re-use previous query/sort if new ones are not specified
        if (query) {
 -          mkws.query = query;
 +          m_query = query;
        }
        if (sort) {
            m_sort = sort;
        if (windowid) {
            params.windowid = windowid;
        }
 -      debug("triggerSearch(" + mkws.query + "): filters = " + $.toJSON(m_filters) + ", pp2filter = " + pp2filter + ", params = " + $.toJSON(params));
 +      debug("triggerSearch(" + m_query + "): filters = " + $.toJSON(m_filters) + ", pp2filter = " + pp2filter + ", params = " + $.toJSON(params));
  
 -      m_paz.search(mkws.query, recPerPage, m_sort, pp2filter, undefined, params);
 +      m_paz.search(m_query, recPerPage, m_sort, pp2filter, undefined, params);
      }
  
      function loadSelect ()
  
      function renderDetails(data, marker)
      {
 -      if (mkws.templateRecord === undefined) {
 -          loadTemplate("Record");
 -      }
 -
 -      var template = mkws.templateRecord;
 +      var template = loadTemplate("Record");
        var details = template(data);
        return '<div class="details" id="mkwsDet_' + data.recid + '">' + details + '</div>';
      }
  
      function loadTemplate(name)
      {
 -      var source = $("#mkwsTemplate" + name).html();
 -      if (!source) {
 -          source = defaultTemplate(name);
 +      var template = mkws['template' + name];
 +
 +      if (template === undefined) {
 +          var source = $("#mkwsTemplate" + name).html();
 +          if (!source) {
 +              source = defaultTemplate(name);
 +          }
 +
 +          template = Handlebars.compile(source);
 +          debug("compiled template '" + name + "'");
 +          mkws['template' + name] = template;
        }
  
 -      var template = Handlebars.compile(source);
 -      debug("compiled template '" + name + "'");
 -      mkws['template' + name] = template;
 +      return template;
      }