X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=mkdru.client.js;h=d624d2b08b9f97146d69142de368cf30da2bd5e1;hb=50fa02694d6da3e6ddf98f900298db4caaa88889;hp=e985d42bac488304e1d0abe72aa5f6c95d22fd96;hpb=89e003ff9d625d434b6bc80afdbacfe3352e118c;p=mkdru-moved-to-drupal.org.git diff --git a/mkdru.client.js b/mkdru.client.js index e985d42..d624d2b 100644 --- a/mkdru.client.js +++ b/mkdru.client.js @@ -1,7 +1,6 @@ // Set up namespace and some state. var mkdru = { - // Settings to pass to pz2.js - useSessions: Drupal.settings.mkdru.use_sessions === '1', + settings: JSON.parse(Drupal.settings.mkdru.settings), // Variables active: false, pz2: null, @@ -9,31 +8,6 @@ var mkdru = { pagerRange: 6, pazpar2Path: Drupal.settings.mkdru.pz2_path, facetContainerSelector: Drupal.settings.mkdru.facetContainerSelector, - // Facets - facets: { - source: { - displayName: Drupal.settings.mkdru.source_dname || "Source", - orderWeight: Drupal.settings.mkdru.source_weight || 1, - pz2Name: 'xtargets', - max: Drupal.settings.mkdru.source_max || 10 - }, - subject: { - displayName: Drupal.settings.mkdru.subject_dname || "Subject", - orderWeight: Drupal.settings.mkdru.source_weight || 2, - pz2Name: 'subject', - max: Drupal.settings.mkdru.subject_max || 10, - multiLimit: true, - limiter: 'su' - }, - author: { - displayName: Drupal.settings.mkdru.author_dname || "Author", - orderWeight: Drupal.settings.mkdru.source_weight || 3, - pz2Name: 'author', - max: Drupal.settings.mkdru.author_max || 10, - multiLimit: false, - limiter: 'au' - } - }, // State; Keys limit_{facet key} will also be initialised defaultState: { page: 1, @@ -45,8 +19,8 @@ var mkdru = { state: {}, realm: '' }; - - +// Convenient references +mkdru.facets = mkdru.settings.facets; // Wrapper for jQuery (function ($) { @@ -92,7 +66,6 @@ mkdru.pz2Init = function () { mkdru.search(); } mkdru.pz2.stat(); - //mkdru.pz2.bytarget(); }; mkdru.pz2Show = function (data) { @@ -151,10 +124,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; } } @@ -330,7 +303,8 @@ mkdru.search = function () { 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'] + '="' + if (limits[i]) + query += ' and ' + mkdru.facets[facet]['limiter'] + '="' + limits[i] + '"'; } } @@ -409,11 +383,11 @@ $(document).ready(function () { "onstat": mkdru.pz2Status, "onterm": mkdru.pz2Term, "termlist": termlist.join(','), - "onbytarget": mkdru.pz2ByTarget, - "usesessions" : mkdru.useSessions, + "usesessions" : mkdru.settings.useSessions, "showResponseType": mkdru.showResponseType, "onrecord": mkdru.pz2Record, "autoInit": false } ); + mkdru.pz2.showFastCount = 1; // initialise state to hash string or defaults mkdru.stateFromHash(); @@ -428,7 +402,7 @@ $(document).ready(function () { } //not running against SP? init, otherwise authenticate - if (mkdru.useSessions) { + if (mkdru.settings.use_sessions) { mkdru.pz2.init(); } else { //runnin against SP