X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=mkdru.client.js;h=69909e16fdde15daf80fb789330784c25b40ebba;hb=aa8e1fdaaa759602a95aa4cdd9186d209ae8abe6;hp=6ee31636a0a04e7d70c126fb50621568e69333e0;hpb=368440f16fce179517479e3eed656aa5f5520dcb;p=mkdru-moved-to-drupal.org.git diff --git a/mkdru.client.js b/mkdru.client.js index 6ee3163..69909e1 100644 --- a/mkdru.client.js +++ b/mkdru.client.js @@ -21,8 +21,9 @@ var mkdru = { // pz2.js event handlers: mkdru.pz2Init = function () { - mkdru.pz2.stat(); - mkdru.pz2.bytarget(); + if (mkdru.query) mkdru.triggerSearch(); + //mkdru.pz2.stat(); + //mkdru.pz2.bytarget(); }; mkdru.pz2Show = function (data) { @@ -44,74 +45,90 @@ mkdru.pz2Show = function (data) { i + 1 + mkdru.recPerPage * (mkdru.curPage - 1)); } - $('#mkdru-results').html(html); + $('.mkdru-result-list').html(html); + $('.mkdru-result-title').bind('click', mkdru.requestDetail); + $('.mkdru-results').show(); }; mkdru.pz2Status = function (data) { }; mkdru.pz2Term = function (data) { - var html = ""; - for (var i = 0; i < data.xtargets.length && i < mkdru.sourceMax; i++ ) { - html += Drupal.theme('mkdruTerm', data.xtargets[i].name, data.xtargets[i].freq, - 'mkdru-facet-link-source', data.xtargets[i].id); - } - $('#mkdru-sources').html(html); - - html = ""; - for (var i = 0; i < data.subject.length && i < mkdru.subjectMax; i++ ) { - html += Drupal.theme('mkdruTerm', data.subject[i].name, data.subject[i].freq, - 'mkdru-facet-link-subject', data.subject[i].id); - } - $('#mkdru-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-link-author', data.author[i].id); - } - $('#mkdru-authors').html(html); - - $('.mkdru-facet-link-source').bind('click', function (e) { - mkdru.limitTarget(this.getAttribute('target_id'), this.firstChild.nodeValue); - return false; - }); - - $('.mkdru-facet-link-subject').bind('click', function (e) { - mkdru.limitQuery('su', this.firstChild.nodeValue); - return false; - }); - - $('.mkdru-facet-link-author').bind('click', function (e) { - mkdru.limitQuery('au', this.firstChild.nodeValue); - return false; - }); + var html = ""; + for (var i = 0; i < data.xtargets.length && i < mkdru.sourceMax; i++ ) { + html += Drupal.theme('mkdruTerm', data.xtargets[i].name, data.xtargets[i].freq, + 'mkdru-facet-source', data.xtargets[i].id); + } + $('.mkdru-facet-sources').html(html); + + html = ""; + for (var i = 0; i < data.subject.length && i < mkdru.subjectMax; i++ ) { + html += Drupal.theme('mkdruTerm', data.subject[i].name, data.subject[i].freq, + 'mkdru-facet-subject', data.subject[i].id); + } + $('.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); + } + $('.mkdru-facet-authors').html(html); + + $('.mkdru-facet-source').bind('click', function (e) { + mkdru.limitTarget(this.getAttribute('target_id'), this.firstChild.nodeValue); + return false; + }); + + $('.mkdru-facet-subject').bind('click', function (e) { + mkdru.limitQuery('su', this.firstChild.nodeValue); + return false; + }); + + $('.mkdru-facet-author').bind('click', function (e) { + mkdru.limitQuery('au', this.firstChild.nodeValue); + return false; + }); }; mkdru.pz2ByTarget = function (data) { }; +mkdru.pz2Record = function (data) { + clearTimeout(mkdru.pz2.recordTimer); +// $('.mkdru-results').hide(); +// mkdru.pz2.stop(); +// clearTimeout(mkdru.pz2.showTimer); + $('.mkdru-detail').html(Drupal.theme('mkdruDetail', data)); + $('.mkdru-detail').bind('click', function () {$('.mkdru-detail').hide()}); + $('.mkdru-detail').show(); +}; // UI functions: mkdru.submitQuery = function () { + mkdru.query = $('.mkdru-search input:text').attr('value'); mkdru.resetPage(); mkdru.pollDropDowns(); mkdru.search(); mkdru.submitted = true; - $('.mkdru-post-search').show(); return false; }; +mkdru.triggerSearch = function () { + mkdru.search(); + mkdru.submitted = true; +}; + mkdru.search = function () { - mkdru.pz2.search($('.mkdru-search input:text').attr('value'), - mkdru.recPerPage, mkdru.curSort, mkdru.curFilter); + mkdru.pz2.search(mkdru.query, mkdru.recPerPage, mkdru.curSort, + mkdru.curFilter); }; mkdru.pollDropDowns = function () { - mkdru.recPerPage = $('#mkdru-perpage').attr('value'); - mkdru.curSort = $('#mkdru-sort').attr('value'); + mkdru.recPerPage = $('.mkdru-perpage').attr('value'); + mkdru.curSort = $('.mkdru-sort').attr('value'); if (!mkdru.submitted) return false; mkdru.resetPage(); mkdru.pz2.show(0, mkdru.recPerPage, mkdru.curSort); @@ -125,7 +142,7 @@ mkdru.limitQuery = function (field, value) { mkdru.submitQuery(); }; -mkdru.limitTarget = function (id, name) { +mkdru.limitTarget = function (id, name) { var navi = document.getElementById('mkdru-navi'); navi.innerHTML = 'Source: ' @@ -148,6 +165,10 @@ mkdru.showPage = function (pageNum) { mkdru.pz2.showPage(pageNum-1); }; +mkdru.requestDetail = function (e) { + mkdru.pz2.record(e.target.parentNode.id.replace('rec_', '')); +}; + mkdru.nextPage = function () { if (mkdru.totalRec - mkdru.recPerPage * mkdru.curPage > 0) { mkdru.pz2.showNext(); @@ -167,8 +188,8 @@ mkdru.prevPage = function () { $(document).ready(function () { $('.mkdru-search').bind('submit', mkdru.submitQuery); $('.mkdru-search input:text').attr('value', ''); - $('#mkdru-perpage').bind('change', function () { mkdru.pollDropDowns() }); - $('#mkdru-sort').bind('change', function () { mkdru.pollDropDowns() }); + $('.mkdru-perpage').bind('change', function () { mkdru.pollDropDowns() }); + $('.mkdru-sort').bind('change', function () { mkdru.pollDropDowns() }); mkdru.pz2 = new pz2( { "onshow": mkdru.pz2Show, "showtime": 500, //each timer (show, stat, term, bytarget) can be specified this way "pazpar2path": mkdru.pazpar2path, @@ -179,5 +200,12 @@ $(document).ready(function () { "onbytarget": mkdru.pz2ByTarget, "usesessions" : mkdru.usesessions, "showResponseType": mkdru.showResponseType, - "onrecord": mkdru.pz2Record } ); -}); \ No newline at end of file + "onrecord": mkdru.pz2Record, + "autoInit": false } ); + mkdru.query = Drupal.settings.mkdru.query; + if (mkdru.usesessions) { + mkdru.pz2.init(); + } else if (mkdru.query) { + mkdru.triggerSearch(); + } +});