Mercurial > hg > fulltextSearchFrontEnd
view WebContent/index_old.html @ 0:d075d7f70506
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
https://it-dev.mpiwg-berlin.mpg.de/tracs/pythonOcropusTools/ticket/16
author | dwinter |
---|---|
date | Wed, 03 Nov 2010 12:25:18 +0100 |
parents | |
children |
line wrap: on
line source
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <link rel="stylesheet" type="text/css" href="./main.css" /> <title>Insert title here</title> <script type="text/javascript" src="./jquery-1.4.2.js"></script> <script type="text/javascript"> var server = 'http://127.0.0.1:8180/fulltextSearchServer/'; //var server = 'http://xserve07.mpiwg-berlin.mpg.de:58080/fulltextSearchServer/'; //var languages = new Array(); var langNew = new Array(); var documentHits=0; //function formatLanguage(responseText2,textStatus2,XMLHttpRequest2){ //}; function resetSearch(){ // setze alle zwischenergebnisse der suche zurueck $('#ticket').html(); $('#results').html(); $('#language_results').html(); $('#base_url_ticket').html(); $('#error').html(); } function showResults(object,url){ //$('#openSearches').html('not decided'); // setze offene suchen auf falsch //var lang = $(object).find('lang').text(); console.log("langnew:"+langNew); console.log("this:"+object); var langs = $(object).find('div.ticketLang a'); var langsLen=langs.length; //langNew = new Array(); console.log(langs); //$('#language_results').html(''); // empty the diff for ( var i=0; i<langsLen; ++i ){ // now fill it with the languages if ($('#language_results_'+$(langs[i]).text()).length==0){ $('#language_results').append('<div class="language_results_header">'+$(langs[i]).text()+'</div>'); $('#language_results').append('<div id="language_results_'+$(langs[i]).text()+'"></div>'); langNew.push(true); } } for ( var i=0; i<langsLen; ++i ){ // gehe durch alle Sprachen var lang = $(langs[i]).text(); console.log("show_results_lang:"+lang); if (lang != '') { if (langNew[i]) { console.log(server + url + '/' + lang); langNew[i] = false; $('#language_results_'+lang).load( server + url + '/' + lang, function() { console.log('after results'); var lang = $(this).find('div.resultLang').text(); console.log('after results:'+lang); $('tr.documentHit').each( function(index) { var newId = $(this).attr('id') + '_content'; //console.log(newId); $(this).after( '<tr><td colspan="5" class="resultLinksToPages" id="' + newId + '"></tr>'); var ref = $(this).find('td.resultTextId').text(); console.log('xxx:'+url + '/' + lang + '/' + ref); var href = $(this).find('td.resultLink a.resultHits').attr('href'); if (href!=''){ href="showhits.html?url="+href; href+="&textId="+ref; var linknode = $(this).find('td.resultLink a.searchHits'); if (linknode.length>0){ linknode.attr('href',href) } else { $(this).find('td.resultLink a.resultHits').after('<a class="searchHits" href ="'+href+'"> show</a>'); } } $('#' + newId).load( server + url + '/' + lang + '/' + ref, showPages); }); }); } else { console.log('second'); $('#language_results_'+lang+' tr.documentHit').each( function(index) { //var lang = $(this).find('div.resultLang').text(); var newId = $(this).attr('id') + '_content'; //console.log(newId); var ref = $(this).find('td.resultTextId').text(); var href = $(this).find('td.resultLink a.resultHits').attr('href'); if (href!=''){ href="showhits.html?url="+href; href+="&textId="+ref; var linknode = $(this).find('td.resultLink a.searchHits'); if (linknode.length>0){ linknode.attr('href',href) } else { $(this).find('td.resultLink a.resultHits').after('<a class="searchHits" href ="'+href+'"> show</a>'); } } console.log('yyy:'+url + '/' + lang + '/' + ref); $('#' + newId).load( server + url + '/' + lang + '/' + ref, showPages); }); } // end else langNew } // lang nicht leer } // end for durch die Sprachen } function showPages(responseText2, textStatus2, XMLHttpRequest2) { $('#error').html(''); console.log('showpage'+this) switch (XMLHttpRequest2.status) { case 0: case 202: //$('#openSearches').html('true') $(this).html('search pages'); break; case 404: $(this).html('file not found!'); break; case 500: $(this).html('Server error'); break; default: //$(this).html('done'); var pages=$(this).find('div.foundPage'); // suche alle seiten mit treffern var pagesLen=pages.length; for ( var i=0; i<pagesLen; ++i ){ $(this).parent().addClass('foundPages'); var ref = $(pages[i]).find('a').attr('href'); //console.log('ref:'+ref); $(pages[i]).load(server+ref+'/digilib') // lade die treffer in der Seite } //var openSearches = $('#openSearches').text(); break; } } function loadTicket(responseText2, textStatus2, XMLHttpRequest2) { $('#error').html(''); switch (XMLHttpRequest2.status) { case 0: $('#error').html('Search server is not answering!'); case 201: // created gesamt such dokument ist erzeugt, aber suche ueber Zeilen eventuell noch nicht abgeschlossen //$('#results').html(responseText2 + " DONE!"); var url = $('#base_url_ticket').html(); showResults(this,url); //console.log('xxx:'+$('#openSearches').html()); var foundPages=$('.foundPages').length; documentHits=$('tr.documentHit').length; console.log(documentHits); console.log(foundPages); if (documentHits>foundPages){ // es gibt noch offene suchen dann weiter console.log("done, but searching"); $('#results').html(responseText2 + " not yet!"); setTimeout(function() { $('#results').load(server + url, loadTicket) }, 4000); //showResults(this,url); } else { console.log("done, really!"); console.log($('#openSearches').html()); //var url = $('#base_url_ticket').html(); //setTimeout(function() { // $('#results').load(server + url, loadTicket) //}, 4000); /* var langs = $(this).find('xml lang'); console.log(this); console.log(langs); var langsLen=langs.length; //langNew = new Array(); console.log(langsLen); //$('#language_results').html(''); // empty the diff for ( var i=0; i<langsLen; ++i ){ // now fill it with the languages if ($('#language_results_'+$(langs[i]).text()).length==0){ $('#language_results').append('<div id="language_results_'+$(langs[i]).text()+'"></div>'); langNew.push(true); } } for ( var i=0; i<langsLen; ++i ){ // gehe durch alle Sprachen var lang = $(langs[i]).text(); if (lang != '') { console.log(server + url + '/' + lang); console.log(langNew); if (langNew[i]) { langNew[i] = false; $('#language_results_'+lang).load( server + url + '/' + lang, function() { //console.log('after results'); $('tr.documentHit').each( function(index) { var newId = $(this).attr('id') + '_content'; //console.log(newId); $(this).after( '<td colspan="5" class="resultLinksToPages" id="' + newId + '"></tr>'); var ref = $(this).find('td a') .attr('href'); $('#' + newId).load( server + url + '/' + lang + '/' + ref, showPages); }); }); } } } // ende schleife durch sprachen */ } // ende else falls noch offene suchen ecistieren break; case 202: // still working var url = $('#base_url_ticket').html(); console.log("202 -start:"+url); setTimeout(function() { $('#results').load(server + url, loadTicket) }, 4000); showResults(this,url); console.log("202 -end"); break; default: $('#results').html(XMLHttpRequest2.status + ': ' + XMLHttpRequest2.statusText + '. unknow server error.'); break; } }; function getLanguages(){ // baue language parameter fuer die suche var langs=$('#selectedLanguages').find('div.lang'); // suche alle sprachen var langsLen=langs.length; var found=false; //var ret=""; var ret = new Array(); for ( var i=0; i<langsLen; ++i ){ //ret+=$(langs[i]).text()+"_"; ret.push($(langs[i]).text()); } return ret; } $(function() { $('#searchButton') .click( function() { resetSearch(); var searchString = $('#searchString').val(); var searchMetaData = $('#searchMetaData').val(); //langNew = true; var languages = getLanguages(); console.log('languages'); console.log(languages); $('#ticket') .load( server+'tickets a', { searchString : searchString, languages: languages.join("_"), searchMetaData: searchMetaData }, function(responseText, textStatus, XMLHttpRequest) { var ticketUrl = $(this).find( 'a').attr('href'); $('#base_url_ticket').html( ticketUrl); $('#results').load( server + ticketUrl, loadTicket); } ); }); }); $(document).ready(function(){ $('#supportedLanguages').load(server+'serverInfo/supportedLanguages',function(){ $('div.supportedLanguage').each(function(i){$(this).html('<input type="checkbox" onclick="toggleLang(this);" name="supportedLanguage" value="'+$(this).html()+'"/>'+$(this).html());}); }); }); function toggleLang(obj){ var val = $(obj).attr("value"); var langs=$('#selectedLanguages').find('div.lang'); // suche alle sprachen var langsLen=langs.length; var found=false; for ( var i=0; i<langsLen; ++i ){ if ($(langs[i]).text()==val) { $(langs[i]).remove(); found=true; } } if (!found){ $('#selectedLanguages').append('<div class="lang">'+val+'</div>'); } } </script> </head> <body> 107 <div> <div>Search word: <input type="text" id="searchString" /></div> <input type="button" value="search" id="searchButton"/> <div>Search in Metadata: <input type="text" id="searchMetaData" /></div> <div id="supportedLanguages"></div> <div id="ticket"></div> <div id="results"></div> <div id="language_results"></div> <div id="base_url_ticket"></div> <div id="error"></div> <div id="openSearches"></div> <div id="selectedLanguages"></div> </div> </body> </html>