- $('.mkdru-facet-subjects').html(html);
-
- html = "";
- for (var i = 0; i < data.author.length && i < mkdru.authorMax; i++ ) {
- html += Drupal.theme('mkdruTerm', data.author[i].name, data.author[i].freq,
- 'mkdru-facet-author', data.author[i].id);
+ // 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(';');
+ delete hash[key];
+ }
+ for (var facet in mkdru.facets) {
+ var terms = data[mkdru.facets[facet].pz2Name];
+ for (var i=0; i<terms.length; i++) {
+ 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.selected = true;
+ } else { //disabled
+ term.hashQuery = mkdru.addLimit(facet, value);
+ term.selected = false;
+ }
+ }
+ $('.mkdru-facet-' + facet).html(
+ Drupal.theme('mkdruFacet', terms, facet, mkdru.facets[facet].max, hash));