X-Git-Url: http://jsfdemo.indexdata.com/?a=blobdiff_plain;ds=inline;f=mkdru.client.js;h=47e5da93fc43a948376780f3f16d59a1e9891734;hb=0f5481b871cbdf1f359c85da349c7e6455bbba0c;hp=f6188eabff6b4ccacb87a7ac1c03072b9daa9092;hpb=a614f93e60ac470e1da4fd52ede57a702e48d13b;p=mkdru-moved-to-drupal.org.git diff --git a/mkdru.client.js b/mkdru.client.js index f6188ea..47e5da9 100644 --- a/mkdru.client.js +++ b/mkdru.client.js @@ -137,16 +137,12 @@ mkdru.contains = function (hash, key, value) { } mkdru.pz2Term = function (data) { - // if signaled, prepare container client-side - if (mkdru.facetContainerSelector) { - $(mkdru.facetContainerSelector).html(Drupal.theme('mkdruFacetContainer', - data, mkdru.facets)); - } // map all facets against selected, for simple rendering var hash = $.deparam.fragment(); for (var key in hash) { - if (key.indexOf('limit') == 0) //always wrap in array - hash[key.substr(6)] = hash[key].split(';'); + if (key.indexOf('limit') == 0 && hash[key]) + //always wrap in array + hash[key.substr(6)] = hash[key].split(/;+/); delete hash[key]; } for (var facet in mkdru.facets) { @@ -163,7 +159,8 @@ mkdru.pz2Term = function (data) { } } $('.mkdru-facet-' + facet).html( - Drupal.theme('mkdruFacet', terms, facet, mkdru.facets[facet].max, hash)); + Drupal.theme('mkdruFacet', terms, facet, mkdru.facets[facet].max, + hash[facet])); } }; @@ -272,7 +269,8 @@ mkdru.addLimit = function (facet, limit) { mkdru.removeLimit = function (facet, limit) { var newHash = $.deparam.fragment(); delete newHash['page']; - if (!newHash['limit_' + facet].indexOf(';') || !mkdru.facets[facet].multiLimit) { + if (!newHash['limit_' + facet].indexOf(';') + || !mkdru.facets[facet].multiLimit) { delete newHash['limit_' + facet]; } else { @@ -280,7 +278,10 @@ mkdru.removeLimit = function (facet, limit) { for (var i = 0; i < limits.length; i++) { if (limits[i] == limit) { limits.splice(i, 1); - newHash['limit_' + facet] = limits.join(';'); + if (limits.length < 1) + delete newHash['limit_' + facet]; + else + newHash['limit_' + facet] = limits.join(';'); break; } } @@ -395,6 +396,12 @@ $(document).ready(function () { mkdru.defaultState['limit_' + key] = null; } + // if signaled, prepare facet container client-side + if (mkdru.facetContainerSelector) { + $(mkdru.facetContainerSelector).html(Drupal.theme('mkdruFacetContainer', + mkdru.facets)); + } + mkdru.pz2 = new pz2( { "onshow": mkdru.pz2Show, "showtime": 500, //each timer (show, stat, term, bytarget) can be specified this way "pazpar2path": mkdru.pazpar2Path,