X-Git-Url: http://lists.indexdata.dk/cgi-bin?a=blobdiff_plain;f=mkdru.client.js;h=5638dd1c3af591185ed0f558f11ff1311ac1a82f;hb=refs%2Fheads%2F6.x-ting-tab;hp=47e5da93fc43a948376780f3f16d59a1e9891734;hpb=0f5481b871cbdf1f359c85da349c7e6455bbba0c;p=mkdru-moved-to-drupal.org.git diff --git a/mkdru.client.js b/mkdru.client.js index 47e5da9..5638dd1 100644 --- a/mkdru.client.js +++ b/mkdru.client.js @@ -92,7 +92,6 @@ mkdru.pz2Init = function () { mkdru.search(); } mkdru.pz2.stat(); - //mkdru.pz2.bytarget(); }; mkdru.pz2Show = function (data) { @@ -151,10 +150,10 @@ mkdru.pz2Term = function (data) { var term = terms[i]; var value = facet == "source" ? term.id : term.name; if (mkdru.contains(hash, facet, value)) { //enabled - term.hashQuery = mkdru.removeLimit(facet, value); + term.toggleLink = mkdru.removeLimit(facet, value); term.selected = true; } else { //disabled - term.hashQuery = mkdru.addLimit(facet, value); + term.toggleLink = mkdru.addLimit(facet, value); term.selected = false; } } @@ -164,10 +163,6 @@ mkdru.pz2Term = function (data) { } }; -mkdru.pz2ByTarget = function (data) { - -}; - mkdru.pz2Record = function (data) { clearTimeout(mkdru.pz2.showTimer); $('.mkdru-results').hide(); @@ -224,6 +219,13 @@ mkdru.uiFromState = function () { }; mkdru.hashChange = function () { + // TING hack, switching tabs resets the hash but does not re-load the page + // simply ignore new hash and set it to the old state + var hash = $.param.fragment(); + if (hash.indexOf("-result") != -1 || hash.indexOf("facets=") != -1) { + mkdru.hashFromState(); + return; + } // do we need to restart the search? var searchTrigger = false; // shallow copy of state so we can see what changed. @@ -327,11 +329,12 @@ mkdru.search = function () { filter = 'pz:id=' + mkdru.state.limit_source; } else { - var limits = mkdru.state['limit_' + facet].split(';'); + var limits = mkdru.state['limit_' + facet].split(/;+/); for (var i = 0; i < limits.length; i++) { // ex. query + and au="{limit_author}" - query += ' and ' + mkdru.facets[facet]['limiter'] + '="' - + mkdru.state['limit_' + facet] + '"'; + if (limits[i]) + query += ' and ' + mkdru.facets[facet]['limiter'] + '="' + + limits[i] + '"'; } } } @@ -409,11 +412,11 @@ $(document).ready(function () { "onstat": mkdru.pz2Status, "onterm": mkdru.pz2Term, "termlist": termlist.join(','), - "onbytarget": mkdru.pz2ByTarget, "usesessions" : mkdru.useSessions, "showResponseType": mkdru.showResponseType, "onrecord": mkdru.pz2Record, "autoInit": false } ); + mkdru.pz2.showFastCount = 1; // initialise state to hash string or defaults mkdru.stateFromHash();