diff WebContent/found_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 diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/WebContent/found_old.html	Wed Nov 03 12:25:18 2010 +0100
@@ -0,0 +1,428 @@
+<!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" src="./jquery.getUrlParam.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=[]
+	
+		if ($(document).getUrlParam("supportedLanguage") != null) {
+		        langs = $(document).getUrlParam("supportedLanguage");
+		    }
+		console.log("supl:"+langs)
+		
+		var langsLen=langs.length;
+		console.log("supl:"+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]);
+		}
+		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(){
+		
+		resetSearch();
+		var searchString ="";
+		var searchMetaData ="";
+		//langNew = true;
+		
+		
+		
+		var languages = getLanguages();
+		console.log('languages');
+		console.log(languages);
+		
+		
+	    if ($(document).getUrlParam("searchString") != null) {
+	        searchString = $(document).getUrlParam("searchString");
+	    }
+	    console.log("searchstring:"+searchString)
+	    
+	    if ($(document).getUrlParam("searchMetaData") != null) {
+	        searchMetaData = $(document).getUrlParam("searchMetaData");
+	    }
+		
+	    console.log("metadata:"+searchMetaData)    
+	     $('#ticket')
+				.load(
+						server+'tickets a',
+						{
+							searchString : searchString,
+							languages: languages.join("_"),
+							searchMetaData: searchMetaData
+						},
+						function() {
+							console.log("after ticket")
+							console.log(this);
+							
+							var ticketUrl = $(this).find(
+									'a').attr('href');
+							$('#base_url_ticket').html(
+									ticketUrl);
+							$('#results').load(
+									server + ticketUrl,
+									loadTicket);
+						}
+
+				);
+		
+	});
+	
+	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>
+A122
+<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>
\ No newline at end of file