X-Git-Url: http://git.indexdata.com/?p=mkdru-moved-to-drupal.org.git;a=blobdiff_plain;f=mkdru.client.js;h=0561a7eebefca074e2d6ce834cbec00b48c8e23e;hp=59f14a04461f4781c2428940e7d8d3ca15e33065;hb=HEAD;hpb=4dc6c6e000a97be8761ef72caa7796f44afd76e9 diff --git a/mkdru.client.js b/mkdru.client.js index 59f14a0..0561a7e 100644 --- a/mkdru.client.js +++ b/mkdru.client.js @@ -1,40 +1,12 @@ // 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, totalRec: 0, 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 + facetContainerSelector: '#mkdru-raw-facet-container', defaultState: { page: 1, perpage: 20, @@ -45,8 +17,8 @@ var mkdru = { state: {}, realm: '' }; - - +// Convenient references +mkdru.facets = mkdru.settings.facets; // Wrapper for jQuery (function ($) { @@ -222,11 +194,12 @@ 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('addon-result') == 0 || hash.indexOf('content-result') == 0 - || hash.indexOf('ting-result') == 0) { + if (hash.indexOf("-result") != -1 || hash.indexOf("facets=") != -1) { mkdru.hashFromState(); return; } + // return to top of page + window.scrollTo(0,0); // do we need to restart the search? var searchTrigger = false; // shallow copy of state so we can see what changed. @@ -408,12 +381,12 @@ $(document).ready(function () { mkdru.pz2 = new pz2( { "onshow": mkdru.pz2Show, "showtime": 500, //each timer (show, stat, term, bytarget) can be specified this way - "pazpar2path": mkdru.pazpar2Path, + "pazpar2path": mkdru.settings.pz2_path, "oninit": mkdru.pz2Init, "onstat": mkdru.pz2Status, "onterm": mkdru.pz2Term, "termlist": termlist.join(','), - "usesessions" : mkdru.useSessions, + "usesessions" : mkdru.settings.use_sessions, "showResponseType": mkdru.showResponseType, "onrecord": mkdru.pz2Record, "autoInit": false } ); @@ -432,12 +405,12 @@ $(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 - var user = Drupal.settings.mkdru.sp_user; - var pass = Drupal.settings.mkdru.sp_pass; + var user = mkdru.settings.sp.user; + var pass = mkdru.settings.sp.pass; var params = {}; params['command'] = 'auth'; if (user && pass) { @@ -447,7 +420,7 @@ $(document).ready(function () { } else { params['action'] = 'ipauth'; } - var authReq = new pzHttpRequest(mkdru.pazpar2Path, + var authReq = new pzHttpRequest(mkdru.settings.pz2_path, function (err) { alert("Authentication against metasearch gateway failed: " +err); }