X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=mkdru.client.js;h=69909e16fdde15daf80fb789330784c25b40ebba;hb=aa8e1fdaaa759602a95aa4cdd9186d209ae8abe6;hp=5b0ce75ee8a90d84a80a158877df87935fe148ee;hpb=83e16a5c12f1de16a989efb2a8c4db43ac71f9ef;p=mkdru-moved-to-drupal.org.git diff --git a/mkdru.client.js b/mkdru.client.js index 5b0ce75..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) { @@ -45,6 +46,7 @@ mkdru.pz2Show = function (data) { (mkdru.curPage - 1)); } $('.mkdru-result-list').html(html); + $('.mkdru-result-title').bind('click', mkdru.requestDetail); $('.mkdru-results').show(); }; @@ -52,51 +54,61 @@ 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-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; - }); + 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(); @@ -104,9 +116,14 @@ mkdru.submitQuery = function () { 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 () { @@ -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(); @@ -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(); + } +});