X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=tools%2Fhtdocs%2Fmkws.js;h=e90ff29b2f8e9d3ee08eed394902b61234adc701;hb=d3b9f1529768e96c18dc8ce2e092c46e55495826;hp=f1b3fb1261f849d1d7da531b220fc28867e73fb3;hpb=8ad715b3f51335c55c8c7aef24ef8e6fce69711c;p=mkws-moved-to-github.git diff --git a/tools/htdocs/mkws.js b/tools/htdocs/mkws.js index f1b3fb1..e90ff29 100644 --- a/tools/htdocs/mkws.js +++ b/tools/htdocs/mkws.js @@ -198,16 +198,13 @@ function my_onterm(data) { var termlist = document.getElementById("mkwsTermlists"); replaceHtml(termlist, acc.join('')); - - // ### I don't believe these lines should be necessary (but they are) - if (mkws_config.responsive_design) - mkws_mobile_resize(); } function add_single_facet(acc, caption, data, max, cclIndex) { - acc.push('
'); + acc.push('
'); acc.push('
' + M(caption) + '
'); for (var i = 0; i < data.length && i < max; i++ ) { + acc.push('
'); acc.push('' + data[i].name + '' - + ' (' + data[i].freq + ')
'); + + ' ' + data[i].freq + ''); + acc.push('
'); } acc.push('
'); } @@ -312,7 +310,7 @@ function loadSelect () // limit the query after clicking the facet function limitQuery (field, value) { - document.mkwsSearchForm.query.value += ' and ' + field + '="' + value + '"'; + document.mkwsSearchForm.mkwsQuery.value += ' and ' + field + '="' + value + '"'; onFormSubmitEventHandler(); } @@ -532,7 +530,7 @@ function mkws_html_all(config) { perpage_menu: true, /* show/hide perpage menu */ lang_display: [], /* display languages links for given languages, [] for all */ facets: ["sources", "subjects", "authors"], /* display facets, in this order, [] for none */ - responsive_design_width: 980, /* a page with less pixel width considered as mobile */ + responsive_design_width: 980, /* a page with less pixel width considered as narrow */ debug: 1, /* debug level for development: 0..2 */ dummy: "dummy" @@ -583,7 +581,7 @@ function mkws_html_all(config) { $("#mkwsResults").html('\ \ \ - \ \ \ + \ + \ + \
\ + \
\
\ @@ -593,6 +591,11 @@ function mkws_html_all(config) {
\
\ +
\ +
'); } @@ -618,9 +621,9 @@ function mkws_html_all(config) { if (mkws_config.responsive_design) { // Responsive web design - change layout on the fly based on // current screen width. Required for mobile devices. - $(window).resize( function(e) { mkws_mobile_resize() }); + $(window).resize( function(e) { mkws_resize_page() }); // initial check after page load - $(document).ready(function() { mkws_mobile_resize() }); + $(document).ready(function() { mkws_resize_page() }); } domReady(); @@ -637,7 +640,7 @@ function mkws_html_all(config) { } function mkws_set_lang(mkws_config) { - var lang = jQuery.parseQuerystring().lang || mkws_config.lang || ""; + var lang = $.parseQuerystring().lang || mkws_config.lang || ""; if (!lang || !mkws_locale_lang[lang]) { mkws_config.lang = "" } else { @@ -726,7 +729,7 @@ function mkws_service_proxy_auth(auth_url) { var request = new pzHttpRequest(auth_url); request.get(null, function(data) { - if (!jQuery.isXMLDoc(data)) { + if (!$.isXMLDoc(data)) { alert("service proxy auth response document is not valid XML document, give up!"); return; } @@ -780,28 +783,30 @@ function mkws_html_lang(mkws_config) { $("#mkwsLang").html(data); } -function mkws_mobile_resize () { - debug("resize width: " + $(window).height() + ", width: " + $(window).width()); +function mkws_resize_page () { var list = ["mkwsSwitch"]; - var obj; - // alert($(window).width()); var width = mkws_config.responsive_design_width || 980; - - if ($(window).width() <= width) { + var parentId = $("#mkwsTermlists").parent().attr('id'); + + if ($(window).width() <= width && + parentId === "mkwsTermlistContainer1") { + debug("changing from wide to narrow: " + $(window).width()); + $("#mkwsTermlists").appendTo($("#mkwsTermlistContainer2")); + $("#mkwsTermlistContainer1").hide(); + $("#mkwsTermlistContainer2").show(); for(var i = 0; i < list.length; i++) { $("#" + list[i]).hide(); } - - $("#mkwsTermlists").hide(); - obj = $("#mkwsTermlists").html(); - $("#mkwsShiftedTermlists").html(obj); - } else { + } else if ($(window).width() > width && + parentId === "mkwsTermlistContainer2") { + debug("changing from narrow to wide: " + $(window).width()); + $("#mkwsTermlists").appendTo($("#mkwsTermlistContainer1")); + $("#mkwsTermlistContainer1").show(); + $("#mkwsTermlistContainer2").hide(); for(var i = 0; i < list.length; i++) { $("#" + list[i]).show(); } - $("#mkwsTermlists").show(); - $("#mkwsShiftedTermlists").html(""); } }; @@ -815,87 +820,138 @@ function M(word) { return mkws_locale_lang[lang][word] ? mkws_locale_lang[lang][word] : word; } -/* implement jQuery.parseQuerystring() for parsing URL parameters */ -jQuery.extend({ - parseQuerystring: function() { - var nvpair = {}; - var qs = window.location.search.replace('?', ''); - var pairs = qs.split('&'); - $.each(pairs, function(i, v){ - var pair = v.split('='); - nvpair[pair[0]] = pair[1]; - }); - return nvpair; - }, - pazpar2: function(config) { - - // simple layout - var div = '
\ -
\ -
\ -
\ -
\ -
\ -
\ - Powered by MKWS © 2013 Index Data\ -
'; - - // new table layout - var table = '\ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ -
\ -
\ -
\ -
\ -
\ -
\ -
\ -
\ -
\ -
\ -
\ -
\ -
\ -
\ -
\ -
\ -
\ -
\ -
'; - - if (config && config.layout == 'table') { - document.write(table); - } else { - document.write(div); - } +/* + * implement jQuery plugins + */ +$.extend({ + // implement $.parseQuerystring() for parsing URL parameters + parseQuerystring: function() { + var nvpair = {}; + var qs = window.location.search.replace('?', ''); + var pairs = qs.split('&'); + $.each(pairs, function(i, v){ + var pair = v.split('='); + nvpair[pair[0]] = pair[1]; + }); + return nvpair; + }, - mkws_html_all(mkws_config); - } + debug2: function(string) { // delayed debug, internal variables are set after dom ready + setTimeout(function() { debug(string); }, 500); + }, + + // service-proxy or pazpar2 + pazpar2: function(config) { + // simple layout + var div = '
\ +
\ +
\ +
\ +
\ +
'; + + // new table layout + var table = '\ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ +
\ +
\ +
\ +
\ +
\ +
\ +
\ +
\ +
\ +
\ +
\ +
\ +
\ +
\ +
\ +
\ +
\ +
\ +
'; + + var popup = '\ +
\ +
\ +
\ +
\ +
\ +
\ +
\ +
' + + if (config && config.layout == 'div') { + this.debug2("jquery plugin layout: div"); + document.write(div); + } else if (config && config.layout == 'popup') { + this.debug2("jquery plugin layout: popup"); + document.write(popup); + $(document).ready( function() { init_popup(config); } ); + } else { + this.debug2("jquery plugin layout: table"); + document.write(table); + } + } }); +function init_popup(obj) { + var config = obj ? obj : {}; + + var height = config.height || 760; + var width = config.width || 880; + var id_button = config.button || "input#mkwsButton"; + var id_popup = config.popup || "#mkwsPopup"; + + debug("popup height: " + height + ", width: " + width); + + $(id_popup).dialog({ + closeOnEscape: true, + autoOpen: false, + height: height, + width: width, + modal: true, + resizable: true, + buttons: { + Cancel: function() { + $(this).dialog("close"); + } + }, + close: function() { } + }); + + $(id_button) + .button() + .click(function() { + $(id_popup).dialog("open"); + }); +}; + function debug(string) { if (!mkws_debug) return; @@ -913,5 +969,6 @@ function debug(string) { console.log(string); } + /* magic */ $(document).ready(function() { mkws_html_all(mkws_config) });