X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=experiments%2Fspclient%2Fmkws.js;h=7e6ccfb63f3e7fb8328140e6afab5e4aa7a02a56;hb=4405243cc5e5ee13712197574381bc27b393bb13;hp=8fa3b7666ee866140cdb18a256a061f14466d150;hpb=e4a6d8cd23d10063c4064563d55e434783cba712;p=mkws-moved-to-github.git diff --git a/experiments/spclient/mkws.js b/experiments/spclient/mkws.js index 8fa3b76..7e6ccfb 100644 --- a/experiments/spclient/mkws.js +++ b/experiments/spclient/mkws.js @@ -121,7 +121,7 @@ function my_onshow(data) { + data.total + ')'; drawPager(pager); // navi - var results = document.getElementById("mkwsResults"); + var results = document.getElementById("mkwsRecords"); var html = []; for (var i = 0; i < data.hits.length; i++) { @@ -185,6 +185,9 @@ function my_onterm(data) { var termlist = document.getElementById("mkwsTermlists"); replaceHtml(termlist, acc.join('')); + + if (mkws_config.responsive_design) + mkws_mobile_resize(); } function add_single_facet(acc, caption, data, max, cclIndex) { @@ -241,10 +244,12 @@ function my_onbytarget(data) { // wait until the DOM is ready function domReady () { - document.search.onsubmit = onFormSubmitEventHandler; - document.search.query.value = ''; - document.select.sort.onchange = onSelectDdChange; - document.select.perpage.onchange = onSelectDdChange; + document.mkwsSearchForm.onsubmit = onFormSubmitEventHandler; + document.mkwsSearchForm.mkwsQuery.value = ''; + if (document.mkwsSelect) { + document.mkwsSelect.mkwsSort.onchange = onSelectDdChange; + document.mkwsSelect.mkwsPerpage.onchange = onSelectDdChange; + } } // when search button pressed @@ -275,19 +280,21 @@ function resetPage() function triggerSearch () { - my_paz.search(document.search.query.value, recPerPage, curSort, curFilter); + my_paz.search(document.mkwsSearchForm.mkwsQuery.value, recPerPage, curSort, curFilter); } function loadSelect () { - curSort = document.select.sort.value; - recPerPage = document.select.perpage.value; + if (document.mkwsSelect) { + curSort = document.mkwsSelect.mkwsSort.value; + recPerPage = document.mkwsSelect.mkwsPerpage.value; + } } // limit the query after clicking the facet function limitQuery (field, value) { - document.search.query.value += ' and ' + field + '="' + value + '"'; + document.mkwsSearchForm.query.value += ' and ' + field + '="' + value + '"'; onFormSubmitEventHandler(); } @@ -331,9 +338,9 @@ function drawPager (pagerDiv) ? firstClkbl + 2*onsides : pages; - var prev = '<< ' + M('Prev') + ' | '; + var prev = '<< ' + M('Prev') + ' | '; if (curPage > 1) - prev = '' +'<< ' + M('Prev') + ' | '; var middle = ''; @@ -346,9 +353,9 @@ function drawPager (pagerDiv) + numLabel + ' '; } - var next = ' | ' + M('Next') + ' >>'; + var next = ' | ' + M('Next') + ' >>'; if (pages - curPage > 0) - next = ' | ' + M('Next') + ' >>'; var predots = ''; @@ -383,28 +390,28 @@ function pagerPrev() { curPage--; } -// swithing view between targets and records +// switching view between targets and records function switchView(view) { var targets = document.getElementById('mkwsTargets'); - var records = document.getElementById('mkwsRecords'); + var records = document.getElementById('mkwsResults'); var blanket = document.getElementById('mkwsBlanket'); switch(view) { case 'targets': targets.style.display = "block"; - records.style.display = "none"; + if (records) records.style.display = "none"; if (blanket) { blanket.style.display = "none"; } break; case 'records': targets.style.display = "none"; - records.style.display = "block"; + if (records) records.style.display = "block"; if (blanket) { blanket.style.display = "block"; } break; case 'none': targets.style.display = "none"; - records.style.display = "none"; + if (records) records.style.display = "none"; if (blanket) { blanket.style.display = "none"; } break; default: @@ -502,16 +509,16 @@ function mkws_html_all(config) { lang_menu: true, /* show/hide language menu */ lang_display: [], /* display languages links for given languages, [] for all */ facets: ["sources", "subjects", "authors"], /* display facets, in this order, [] for none */ - - debug: 0, /* debug level for development: 0..2 */ + responsive_design_width: 980, /* a page with less pixel width considered as mobile */ + debug: 1, /* debug level for development: 0..2 */ dummy: "dummy" }; /* set global debug flag early */ - if (config.debug !== 'undefined') { + if (typeof config.debug !== 'undefined') { mkws_debug = config.debug; - } else if (mkws_config_default.debug !== 'undefined') { + } else if (typeof mkws_config_default.debug !== 'undefined') { mkws_debug = mkws_config_default.debug; } @@ -532,35 +539,48 @@ function mkws_html_all(config) { mkws_html_lang(mkws_config); // For some reason, doing this programmatically results in - // document.search.query being undefined, hence the raw HTML. + // document.mkwsSearchForm.mkwsQuery being undefined, hence the raw HTML. debug("HTML search form"); $("#mkwsSearch").html('\ -
\ - \ - \ + \ + \ + \
'); debug("HTML records"); - $("#mkwsRecords").html('\ + // If the application has an #mkwsResults, populate it in the + // usual way. If not, assume that it's a smarter application that + // defines its own subcomponents: + // #mkwsTermlists + // #mkwsRanking + // #mkwsPager + // #mkwsNavi + // #mkwsRecords + if ($("#mkwsResults").length) { + $("#mkwsResults").html('\ \ \ \ \ \
\
\
\ -
\ -
\ - ' + M('Sort by') + ' ' + mkws_html_sort(config) + '\ - ' + M('and show') + ' ' + mkws_html_perpage(config) + '\ - ' + M('per page') + '.\ -
\ -
\ +
\
\
\ -
\ +
\
'); + } + + if ($("#mkwsRanking").length == 2) { + $("#mkwsRanking").html('\ +
\ + ' + M('Sort by') + ' ' + mkws_html_sort(config) + '\ + ' + M('and show') + ' ' + mkws_html_perpage(config) + '\ + ' + M('per page') + '.\ +
'); + } mkws_html_switch(config); @@ -585,7 +605,7 @@ function mkws_responsive_design () { $(window).resize( function(e) { if (timeout) clearTimeout(timeout); - timeout = setTimeout(function () { mkws_mobile_resize() }, 100); + timeout = setTimeout(function () { mkws_mobile_resize() }, 50); }); // initial check after page load @@ -634,7 +654,7 @@ function mkws_html_switch(config) { function mkws_html_sort(config) { debug("HTML sort"); - var sort_html = ''; for(var i = 0; i < config.sort.length; i++) { var key = config.sort[i][0]; @@ -653,7 +673,7 @@ function mkws_html_sort(config) { function mkws_html_perpage(config) { debug("HTML perpage"); - var perpage_html = ''; for(var i = 0; i < config.perpage.length; i++) { var key = config.perpage[i]; @@ -742,7 +762,9 @@ function mkws_mobile_resize () { var obj; // alert($(window).width()); - if ($(window).width() <= 980) { + var width = mkws_config.responsive_design_width || 980; + + if ($(window).width() <= width) { for(var i = 0; i < list.length; i++) { $("#" + list[i]).hide(); } @@ -785,11 +807,11 @@ jQuery.extend({ document.write('
\
\
\ -
\ +
\
\ -