X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=tools%2Fhtdocs%2Freleases%2Fmkws-0.9.1.min.js;fp=tools%2Fhtdocs%2Freleases%2Fmkws-0.9.1.min.js;h=d96e350685d5be2b91c1d50da9f0ea2230411def;hb=d52e87c979fab469d0ce6e28311dc0c6d5876712;hp=0000000000000000000000000000000000000000;hpb=53319f6a7c43dd4291c3b80fed561060d35e6f72;p=mkws-moved-to-github.git diff --git a/tools/htdocs/releases/mkws-0.9.1.min.js b/tools/htdocs/releases/mkws-0.9.1.min.js new file mode 100644 index 0000000..d96e350 --- /dev/null +++ b/tools/htdocs/releases/mkws-0.9.1.min.js @@ -0,0 +1,7 @@ +/* MKWS, the MasterKey Widget Set. Copyright (C) 2013, Index Data */ +"use strict";var mkws={sort:"relevance",authenticated:false,filters:[]};if(!mkws_config){var mkws_config={}}(function($){mkws.locale_lang={de:{Authors:"Autoren",Subjects:"Schlagwörter",Sources:"Daten und Quellen",Termlists:"Termlisten",Next:"Weiter",Prev:"Zurück",Search:"Suche","Sort by":"Sortieren nach","and show":"und zeige","per page":"pro Seite",Displaying:"Zeige",to:"von",of:"aus",found:"gefunden",Title:"Titel",Author:"Autor",Date:"Datum",Subject:"Schlagwort",Location:"Ort",dummy:"dummy"},da:{Authors:"Forfattere",Subjects:"Emner",Sources:"Kilder",Termlists:"Termlists",Next:"Næste",Prev:"Forrige",Search:"Søg","Sort by":"Sorter efter","and show":"og vis","per page":"per side",Displaying:"Viser",to:"til",of:"ud af",found:"fandt",Title:"Title",Author:"Forfatter",Date:"Dato",Subject:"Emneord",Location:"Lokation",dummy:"dummy"}};mkws.debug_time={start:$.now(),last:$.now()};mkws.debug_function=function(string){if(!mkws.debug_level){return}if(typeof console==="undefined"||typeof console.log==="undefined"){return}var now=$.now();var timestamp=((now-mkws.debug_time.start)/1000).toFixed(3)+" (+"+((now-mkws.debug_time.last)/1000).toFixed(3)+") ";mkws.debug_time.last=now;if(mkws.debug_level>=3){console.log(timestamp+arguments.callee.caller)}else{if(mkws.debug_level>=2){console.log(timestamp+">>> called from function "+arguments.callee.caller.name+" <<<")}}console.log(timestamp+string)};var debug=mkws.debug_function;Handlebars.registerHelper("json",function(obj){return $.toJSON(obj)});Handlebars.registerHelper("attr",function(attrName){return this[attrName]});Handlebars.registerHelper("if-any",function(items,options){var having=options.hash.having;for(var i in items){var item=items[i];if(!having||item[having]){return options.fn(this)}}return""});Handlebars.registerHelper("first",function(items,options){var having=options.hash.having;for(var i in items){var item=items[i];if(!having||item[having]){return options.fn(item)}}return""});Handlebars.registerHelper("commaList",function(items,options){var out="";for(var i in items){if(i>0){out+=", "}out+=options.fn(items[i])}return out});var config_default={use_service_proxy:true,pazpar2_url:"http://mkws.indexdata.com/service-proxy/",service_proxy_auth:"http://mkws.indexdata.com/service-proxy-auth",lang:"",sort_options:[["relevance"],["title:1","title"],["date:0","newest"],["date:1","oldest"]],perpage_options:[10,20,30,50],sort_default:"relevance",perpage_default:20,query_width:50,show_lang:true,show_sort:true,show_perpage:true,lang_options:[],facets:["sources","subjects","authors"],responsive_design_width:undefined,debug_level:1,dummy:"dummy"};if(typeof mkws_config.debug_level!=="undefined"){mkws.debug_level=mkws_config.debug_level}else{if(typeof config_default.debug_level!=="undefined"){mkws.debug_level=config_default.debug_level}}for(var k in config_default){if(typeof mkws_config[k]==="undefined"){mkws_config[k]=config_default[k]}debug("Set config: "+k+" => "+mkws_config[k])}mkws.sort=mkws_config.sort_default;debug("copied mkws_config.sort_default '"+mkws_config.sort_default+"' to mkws.sort");mkws.usesessions=mkws_config.use_service_proxy?false:true;if(mkws_config.query_width<5||mkws_config.query_width>150){debug("Reset query width: "+mkws_config.query_width);mkws_config.query_width=50}for(var key in mkws_config){if(mkws_config.hasOwnProperty(key)){if(key.match(/^language_/)){var lang=key.replace(/^language_/,"");mkws.locale_lang[lang]=mkws_config[key];debug("Added locally configured language '"+lang+"'")}}}var my_paz=new pz2({onshow:my_onshow,showtime:500,pazpar2path:mkws_config.pazpar2_url,oninit:my_oninit,onstat:my_onstat,onterm:my_onterm,termlist:"xtargets,subject,author",onbytarget:my_onbytarget,usesessions:mkws.usesessions,showResponseType:"",onrecord:my_onrecord});mkws.my_paz=my_paz;var curPage=1;var recPerPage=20;var totalRec=0;var curDetRecId="";var curDetRecData=null;var submitted=false;var SourceMax=16;var SubjectMax=10;var AuthorMax=10;function my_oninit(){my_paz.stat();my_paz.bytarget()}function my_onshow(data){totalRec=data.merged;var pager=document.getElementById("mkwsPager");if(pager){pager.innerHTML="";pager.innerHTML+='
'+M("Displaying")+": "+(data.start+1)+" "+M("to")+" "+(data.start+data.num)+" "+M("of")+" "+data.merged+" ("+M("found")+": "+data.total+")
";drawPager(pager)}var results=document.getElementById("mkwsRecords");var html=[];for(var i=0;i',renderSummary(hit),"");if(hit.recid==curDetRecId){html.push(renderDetails(curDetRecData))}}replaceHtml(results,html.join(""))}function renderSummary(hit){if(mkws.templateSummary===undefined){loadTemplate("Summary")}hit._id="mkwsRec_"+hit.recid;hit._onclick="mkws.showDetails(this.id);return false;";return mkws.templateSummary(hit)}function my_onstat(data){var stat=document.getElementById("mkwsStat");if(stat==null){return}stat.innerHTML=''+M("Status info")+' -- '+M("Active clients")+": "+data.activeclients+"/"+data.clients+' -- '+M("Retrieved records")+": "+data.records+"/"+data.hits+""}function my_onterm(data){if(!mkws_config.facets||mkws_config.facets.length==0){$("#mkwsTermlists").hide();return}$("#mkwsTermlists").show();var acc=[];acc.push('
'+M("Termlists")+"
");var facets=mkws_config.facets;for(var i=0;i');acc.push('
'+M(caption)+"
");for(var i=0;i');acc.push(''+data[i].name+" "+data[i].freq+"");acc.push("")}acc.push("")}function my_onrecord(data){clearTimeout(my_paz.recordTimer);var detRecordDiv=document.getElementById("mkwsDet_"+data.recid);if(detRecordDiv){return}curDetRecData=data;var recordDiv=document.getElementById("mkwsRecdiv_"+curDetRecData.recid);var html=renderDetails(curDetRecData);recordDiv.innerHTML+=html}function my_onbytarget(data){var targetDiv=document.getElementById("mkwsBytarget");if(!targetDiv){return}var table="";for(var i=0;i"}table+="
"+M("Target ID")+""+M("Hits")+""+M("Diags")+""+M("Records")+""+M("State")+"
"+data[i].id+""+data[i].hits+""+data[i].diagnostic+""+data[i].records+""+data[i].state+"
";targetDiv.innerHTML=table}function domReady(){document.mkwsSearchForm.onsubmit=onFormSubmitEventHandler;document.mkwsSearchForm.mkwsQuery.value="";if(document.mkwsSelect){if(document.mkwsSelect.mkwsSort){document.mkwsSelect.mkwsSort.onchange=onSelectDdChange}if(document.mkwsSelect.mkwsPerpage){document.mkwsSelect.mkwsPerpage.onchange=onSelectDdChange}}}function onFormSubmitEventHandler(){newSearch(document.mkwsSearchForm.mkwsQuery.value);return false}function newSearch(query,sort,targets){debug("newSearch: "+query);if(mkws_config.use_service_proxy&&!mkws.authenticated){alert("searching before authentication");return}mkws.filters=[];redraw_navi();resetPage();loadSelect();triggerSearch(query,sort,targets);mkws.switchView("records");submitted=true}function onSelectDdChange(){if(!submitted){return false}resetPage();loadSelect();my_paz.show(0,recPerPage,mkws.sort);return false}function resetPage(){curPage=1;totalRec=0}function triggerSearch(query,sort,targets){var pp2filter="";var pp2limit="";if(query){mkws.query=query}if(sort){mkws.sort=sort}if(targets){mkws.filters.push({id:targets,name:targets})}for(var i in mkws.filters){var filter=mkws.filters[i];if(filter.id){if(pp2filter){pp2filter+=","}if(filter.id.match(/^[a-z:]+[=~]/)){debug("filter '"+filter.id+"' already begins with SETTING OP")}else{filter.id="pz:id="+filter.id}pp2filter+=filter.id}else{if(pp2limit){pp2limit+=","}pp2limit+=filter.field+"="+filter.value.replace(/[\\|,]/g,"\\$&")}}debug("triggerSearch("+mkws.query+"): filters = "+$.toJSON(mkws.filters)+", pp2filter = "+pp2filter+", pp2limit = "+pp2limit);my_paz.search(mkws.query,recPerPage,mkws.sort,pp2filter,undefined,{limit:pp2limit})}function loadSelect(){if(document.mkwsSelect){if(document.mkwsSelect.mkwsSort){mkws.sort=document.mkwsSelect.mkwsSort.value}if(document.mkwsSelect.mkwsPerpage){recPerPage=document.mkwsSelect.mkwsPerpage.value}}}mkws.limitQuery=function(field,value){debug("limitQuery(field="+field+", value="+value+")");mkws.filters.push({field:field,value:value});redraw_navi();resetPage();loadSelect();triggerSearch();return false};mkws.limitTarget=function(id,name){debug("limitTarget(id="+id+", name="+name+")");mkws.filters.push({id:id,name:name});redraw_navi();resetPage();loadSelect();triggerSearch();return false};mkws.delimitQuery=function(field,value){debug("delimitQuery(field="+field+", value="+value+")");var newFilters=[];for(var i in mkws.filters){var filter=mkws.filters[i];if(filter.field&&field==filter.field&&value==filter.value){debug("delimitTarget() removing filter "+$.toJSON(filter))}else{debug("delimitTarget() keeping filter "+$.toJSON(filter));newFilters.push(filter)}}mkws.filters=newFilters;redraw_navi();resetPage();loadSelect();triggerSearch();return false};mkws.delimitTarget=function(id){debug("delimitTarget(id="+id+")");var newFilters=[];for(var i in mkws.filters){var filter=mkws.filters[i];if(filter.id){debug("delimitTarget() removing filter "+$.toJSON(filter))}else{debug("delimitTarget() keeping filter "+$.toJSON(filter));newFilters.push(filter)}}mkws.filters=newFilters;redraw_navi();resetPage();loadSelect();triggerSearch();return false};function redraw_navi(){var navi=document.getElementById("mkwsNavi");if(!navi){return}var text="";for(var i in mkws.filters){if(text){text+=" | "}var filter=mkws.filters[i];if(filter.id){text+='Source: "+filter.name+""}else{text+=filter.field+': "+filter.value+""}}navi.innerHTML=text}function drawPager(pagerDiv){var onsides=6;var pages=Math.ceil(totalRec/recPerPage);var firstClkbl=(curPage-onsides>0)?curPage-onsides:1;var lastClkbl=firstClkbl+2*onsides | ";if(curPage>1){prev='<< '+M("Prev")+" | "}var middle="";for(var i=firstClkbl;i<=lastClkbl;i++){var numLabel=i;if(i==curPage){numLabel=""+i+""}middle+=' '+numLabel+" "}var next=' | '+M("Next")+" >>";if(pages-curPage>0){next=' | '+M("Next")+" >>"}var predots="";if(firstClkbl>1){predots="..."}var postdots="";if(lastClkbl'+prev+predots+middle+postdots+next+""}mkws.showPage=function(pageNum){curPage=pageNum;my_paz.showPage(curPage-1)};mkws.pagerNext=function(){if(totalRec-recPerPage*curPage>0){my_paz.showNext();curPage++}};mkws.pagerPrev=function(){if(my_paz.showPrev()!=false){curPage--}};mkws.switchView=function(view){debug("switchView: "+view);var targets=document.getElementById("mkwsTargets");var results=document.getElementById("mkwsResults")||document.getElementById("mkwsRecords");var blanket=document.getElementById("mkwsBlanket");var motd=document.getElementById("mkwsMOTD");switch(view){case"targets":if(targets){targets.style.display="block"}if(results){results.style.display="none"}if(blanket){blanket.style.display="none"}if(motd){motd.style.display="none"}break;case"records":if(targets){targets.style.display="none"}if(results){results.style.display="block"}if(blanket){blanket.style.display="block"}if(motd){motd.style.display="none"}break;case"none":if(targets){targets.style.display="none"}if(results){results.style.display="none"}if(blanket){blanket.style.display="none"}if(motd){motd.style.display="none"}break;default:alert("Unknown view '"+view+"'")}};mkws.showDetails=function(prefixRecId){var recId=prefixRecId.replace("mkwsRec_","");var oldRecId=curDetRecId;curDetRecId=recId;var detRecordDiv=document.getElementById("mkwsDet_"+oldRecId);if(detRecordDiv){detRecordDiv.parentNode.removeChild(detRecordDiv)}if(recId==oldRecId){curDetRecId="";curDetRecData=null;return}my_paz.record(recId)};function replaceHtml(el,html){var oldEl=typeof el==="string"?document.getElementById(el):el; +/*@cc_on // Pure innerHTML is slightly faster in IE + oldEl.innerHTML = html; + return oldEl; + @*/ +var newEl=oldEl.cloneNode(false);newEl.innerHTML=html;oldEl.parentNode.replaceChild(newEl,oldEl);return newEl}function renderDetails(data,marker){if(mkws.templateRecord===undefined){loadTemplate("Record")}var template=mkws.templateRecord;var details=template(data);return'
'+details+"
"}function loadTemplate(name){var source=$("#mkwsTemplate"+name).html();if(!source){source=defaultTemplate(name)}var template=Handlebars.compile(source);debug("compiled template '"+name+"'");mkws["template"+name]=template}function defaultTemplate(name){if(name==="Record"){return' {{#if md-date}} {{/if}} {{#if md-author}} {{/if}} {{#if md-electronic-url}} {{/if}} {{#if-any location having="md-subject"}} {{/if-any}}
Title {{md-title}} {{#if md-title-remainder}} ({{md-title-remainder}}) {{/if}} {{#if md-title-responsibility}} {{md-title-responsibility}} {{/if}}
Date {{md-date}}
Author {{md-author}}
URL {{#each md-electronic-url}} {{this}}
{{/each}}
Subject {{#first location having="md-subject"}} {{#if md-subject}} {{md-subject}} {{/if}} {{/first}}
Locations {{#commaList location}} {{attr "@name"}}{{/commaList}}
'}else{if(name==="Summary"){return' {{md-title}} {{#if md-title-remainder}} {{md-title-remainder}} {{/if}} {{#if md-title-responsibility}} {{md-title-responsibility}} {{/if}}'}}var s="There is no default '"+name+"' template!";alert(s);return s}function mkws_html_all(){mkws_set_lang();if(mkws_config.show_lang){mkws_html_lang()}debug("HTML search form");$("#mkwsSearch").html('
');debug("HTML records");if($("#mkwsResults").length){$("#mkwsResults").html('
')}if($("#mkwsRanking").length){var ranking_data="";ranking_data+='
';if(mkws_config.show_sort){ranking_data+=M("Sort by")+" "+mkws_html_sort()+" "}if(mkws_config.show_perpage){ranking_data+=M("and show")+" "+mkws_html_perpage()+" "+M("per page")+"."}ranking_data+="
";$("#mkwsRanking").html(ranking_data)}mkws_html_switch();if(mkws_config.use_service_proxy){mkws_service_proxy_auth(mkws_config.service_proxy_auth,mkws_config.service_proxy_auth_domain,mkws_config.pazpar2_url)}else{run_auto_searches()}if(mkws_config.responsive_design_width){$(window).resize(function(e){mkws_resize_page()});$(document).ready(function(){mkws_resize_page()})}domReady();$(document).ready(function(){$("#mkwsTermlists").hide()});var motd=document.getElementById("mkwsMOTD");var container=document.getElementById("mkwsMOTDContainer");if(motd&&container){motd.parentNode.removeChild(motd);container.appendChild(motd)}}function run_auto_searches(){debug("run auto searches");var node=$("#mkwsRecords");if(node.attr("autosearch")){var query=node.attr("autosearch");var sort=node.attr("sort");var targets=node.attr("targets");var s="running auto search: '"+query+"'";if(sort){s+=" sorted by '"+sort+"'"}if(targets){s+=" in targets '"+targets+"'"}debug(s);newSearch(query,sort,targets)}}function mkws_set_lang(){var lang=$.parseQuerystring().lang||mkws_config.lang;if(!lang||!mkws.locale_lang[lang]){mkws_config.lang=""}else{mkws_config.lang=lang}debug("Locale language: "+(mkws_config.lang?mkws_config.lang:"none"));return mkws_config.lang}function mkws_html_switch(){debug("HTML switch");$("#mkwsSwitch").append($(''+M("Records")+""));$("#mkwsSwitch").append($("",{text:" | "}));$("#mkwsSwitch").append($(''+M("Targets")+""));debug("HTML targets");$("#mkwsTargets").html('
No information available yet.
');$("#mkwsTargets").css("display","none")}function mkws_html_sort(){debug("HTML sort, mkws.sort = '"+mkws.sort+"'");var sort_html='";return sort_html}function mkws_html_perpage(){debug("HTML perpage");var perpage_html='";return perpage_html}function mkws_service_proxy_auth(auth_url,auth_domain,pp2_url){debug("Run service proxy auth URL: "+auth_url);if(!auth_domain){auth_domain=pp2_url.replace(/^http:\/\/(.*?)\/.*/,"$1");debug("guessed auth_domain '"+auth_domain+"' from pp2_url '"+pp2_url+"'")}var request=new pzHttpRequest(auth_url,function(err){alert("HTTP call for authentication failed: "+err);return},auth_domain);request.get(null,function(data){if(!$.isXMLDoc(data)){alert("service proxy auth response document is not valid XML document, give up!");return}var status=$(data).find("status");if(status.text()!="OK"){alert("service proxy auth repsonse status: "+status.text()+", give up!");return}debug("Service proxy auth successfully done");mkws.authenticated=true;run_auto_searches()})}function mkws_html_lang(){var lang_default="en";var lang=mkws_config.lang||lang_default;var list=[];var lang_options=mkws_config.lang_options||[];var hash={};for(var i=0;i"+l+"
"}else{data+=' '+l+" "}}$("#mkwsLang").html(data)}function mkws_resize_page(){var list=["mkwsSwitch"];var width=mkws_config.responsive_design_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;iwidth&&parentId==="mkwsTermlistContainer2"){debug("changing from narrow to wide: "+$(window).width());$("#mkwsTermlists").appendTo($("#mkwsTermlistContainer1"));$("#mkwsTermlistContainer1").show();$("#mkwsTermlistContainer2").hide();for(var i=0;i
';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 with id: "+id_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.id_button||"input#mkwsButton";var id_popup=config.id_popup||"#mkwsPopup";debug("popup height: "+height+", width: "+width);if(!$.ui){debug("Error: jquery-ui.js is missing, did you included it after jquery core in the HTML file?");return}$(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")})}$(document).ready(function(){try{mkws_html_all()}catch(e){mkws_config.error=e.message}})})(jQuery); \ No newline at end of file