Mercurial > hg > fulltextSearchFrontEnd
comparison WebContent/search.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 |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:d075d7f70506 |
---|---|
1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> | |
2 <html> | |
3 <head> | |
4 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> | |
5 <link rel="stylesheet" type="text/css" href="./main.css" /> | |
6 <title>Insert title here</title> | |
7 | |
8 <script type="text/javascript" src="./jquery-1.4.2.js"></script> | |
9 <script type="text/javascript"> | |
10 var server = 'http://127.0.0.1:8180/fulltextSearchServer/'; | |
11 //var server = 'http://xserve07.mpiwg-berlin.mpg.de:58080/fulltextSearchServer/'; | |
12 | |
13 //var languages = new Array(); | |
14 var langNew = new Array(); | |
15 var documentHits=0; | |
16 //function formatLanguage(responseText2,textStatus2,XMLHttpRequest2){ | |
17 //}; | |
18 | |
19 function resetSearch(){ // setze alle zwischenergebnisse der suche zurueck | |
20 $('#ticket').html(); | |
21 | |
22 $('#results').html(); | |
23 | |
24 $('#language_results').html(); | |
25 | |
26 $('#base_url_ticket').html(); | |
27 $('#error').html(); | |
28 | |
29 | |
30 } | |
31 function showResults(object,url){ | |
32 //$('#openSearches').html('not decided'); // setze offene suchen auf falsch | |
33 //var lang = $(object).find('lang').text(); | |
34 | |
35 | |
36 console.log("langnew:"+langNew); | |
37 | |
38 console.log("this:"+object); | |
39 | |
40 var langs = $(object).find('div.ticketLang a'); | |
41 var langsLen=langs.length; | |
42 //langNew = new Array(); | |
43 console.log(langs); | |
44 | |
45 //$('#language_results').html(''); // empty the diff | |
46 for ( var i=0; i<langsLen; ++i ){ // now fill it with the languages | |
47 | |
48 if ($('#language_results_'+$(langs[i]).text()).length==0){ | |
49 $('#language_results').append('<div class="language_results_header">'+$(langs[i]).text()+'</div>'); | |
50 $('#language_results').append('<div id="language_results_'+$(langs[i]).text()+'"></div>'); | |
51 langNew.push(true); | |
52 } | |
53 } | |
54 | |
55 for ( var i=0; i<langsLen; ++i ){ // gehe durch alle Sprachen | |
56 var lang = $(langs[i]).text(); | |
57 console.log("show_results_lang:"+lang); | |
58 if (lang != '') { | |
59 if (langNew[i]) { | |
60 console.log(server + url + '/' + lang); | |
61 langNew[i] = false; | |
62 $('#language_results_'+lang).load( | |
63 server + url + '/' + lang, | |
64 function() { | |
65 console.log('after results'); | |
66 var lang = $(this).find('div.resultLang').text(); | |
67 console.log('after results:'+lang); | |
68 $('tr.documentHit').each( | |
69 function(index) { | |
70 | |
71 var newId = $(this).attr('id') | |
72 + '_content'; | |
73 //console.log(newId); | |
74 $(this).after( | |
75 '<tr><td colspan="5" class="resultLinksToPages" id="' | |
76 + newId | |
77 + '"></tr>'); | |
78 var ref = $(this).find('td.resultTextId').text(); | |
79 | |
80 console.log('xxx:'+url + '/' + lang + '/' + ref); | |
81 | |
82 var href = $(this).find('td.resultLink a.resultHits').attr('href'); | |
83 if (href!=''){ | |
84 href="showhits.html?url="+href; | |
85 href+="&textId="+ref; | |
86 | |
87 var linknode = $(this).find('td.resultLink a.searchHits'); | |
88 if (linknode.length>0){ | |
89 linknode.attr('href',href) | |
90 } else { | |
91 $(this).find('td.resultLink a.resultHits').after('<a class="searchHits" href ="'+href+'"> show</a>'); | |
92 | |
93 } | |
94 } | |
95 | |
96 $('#' + newId).load( | |
97 server + url + '/' + lang | |
98 + '/' + ref, | |
99 showPages); | |
100 }); | |
101 }); | |
102 } else { | |
103 console.log('second'); | |
104 | |
105 $('#language_results_'+lang+' tr.documentHit').each( | |
106 function(index) { | |
107 //var lang = $(this).find('div.resultLang').text(); | |
108 var newId = $(this).attr('id') + '_content'; | |
109 //console.log(newId); | |
110 var ref = $(this).find('td.resultTextId').text(); | |
111 var href = $(this).find('td.resultLink a.resultHits').attr('href'); | |
112 | |
113 if (href!=''){ | |
114 href="showhits.html?url="+href; | |
115 href+="&textId="+ref; | |
116 | |
117 var linknode = $(this).find('td.resultLink a.searchHits'); | |
118 if (linknode.length>0){ | |
119 linknode.attr('href',href) | |
120 } else { | |
121 $(this).find('td.resultLink a.resultHits').after('<a class="searchHits" href ="'+href+'"> show</a>'); | |
122 | |
123 } | |
124 } | |
125 | |
126 console.log('yyy:'+url + '/' + lang + '/' + ref); | |
127 $('#' + newId).load( | |
128 server + url + '/' + lang + '/' + ref, | |
129 showPages); | |
130 }); | |
131 } // end else langNew | |
132 } // lang nicht leer | |
133 } // end for durch die Sprachen | |
134 } | |
135 | |
136 function showPages(responseText2, textStatus2, XMLHttpRequest2) { | |
137 $('#error').html(''); | |
138 console.log('showpage'+this) | |
139 switch (XMLHttpRequest2.status) { | |
140 case 0: | |
141 case 202: | |
142 //$('#openSearches').html('true') | |
143 $(this).html('search pages'); | |
144 break; | |
145 case 404: | |
146 $(this).html('file not found!'); | |
147 break; | |
148 | |
149 case 500: | |
150 $(this).html('Server error'); | |
151 break; | |
152 default: | |
153 //$(this).html('done'); | |
154 var pages=$(this).find('div.foundPage'); // suche alle seiten mit treffern | |
155 var pagesLen=pages.length; | |
156 | |
157 for ( var i=0; i<pagesLen; ++i ){ | |
158 $(this).parent().addClass('foundPages'); | |
159 var ref = $(pages[i]).find('a').attr('href'); | |
160 //console.log('ref:'+ref); | |
161 $(pages[i]).load(server+ref+'/digilib') // lade die treffer in der Seite | |
162 } | |
163 | |
164 //var openSearches = $('#openSearches').text(); | |
165 break; | |
166 } | |
167 } | |
168 | |
169 function loadTicket(responseText2, textStatus2, XMLHttpRequest2) { | |
170 | |
171 $('#error').html(''); | |
172 switch (XMLHttpRequest2.status) { | |
173 case 0: | |
174 $('#error').html('Search server is not answering!'); | |
175 case 201: // created gesamt such dokument ist erzeugt, aber suche ueber Zeilen eventuell noch nicht abgeschlossen | |
176 //$('#results').html(responseText2 + " DONE!"); | |
177 | |
178 var url = $('#base_url_ticket').html(); | |
179 showResults(this,url); | |
180 //console.log('xxx:'+$('#openSearches').html()); | |
181 | |
182 | |
183 var foundPages=$('.foundPages').length; | |
184 documentHits=$('tr.documentHit').length; | |
185 console.log(documentHits); | |
186 console.log(foundPages); | |
187 | |
188 if (documentHits>foundPages){ // es gibt noch offene suchen dann weiter | |
189 console.log("done, but searching"); | |
190 $('#results').html(responseText2 + " not yet!"); | |
191 setTimeout(function() { | |
192 $('#results').load(server + url, loadTicket) | |
193 }, 4000); | |
194 //showResults(this,url); | |
195 } else { | |
196 | |
197 console.log("done, really!"); | |
198 console.log($('#openSearches').html()); | |
199 //var url = $('#base_url_ticket').html(); | |
200 | |
201 //setTimeout(function() { | |
202 // $('#results').load(server + url, loadTicket) | |
203 //}, 4000); | |
204 | |
205 | |
206 /* var langs = $(this).find('xml lang'); | |
207 | |
208 | |
209 console.log(this); | |
210 console.log(langs); | |
211 var langsLen=langs.length; | |
212 //langNew = new Array(); | |
213 console.log(langsLen); | |
214 //$('#language_results').html(''); // empty the diff | |
215 for ( var i=0; i<langsLen; ++i ){ // now fill it with the languages | |
216 | |
217 if ($('#language_results_'+$(langs[i]).text()).length==0){ | |
218 $('#language_results').append('<div id="language_results_'+$(langs[i]).text()+'"></div>'); | |
219 langNew.push(true); | |
220 } | |
221 } | |
222 | |
223 | |
224 for ( var i=0; i<langsLen; ++i ){ // gehe durch alle Sprachen | |
225 var lang = $(langs[i]).text(); | |
226 | |
227 if (lang != '') { | |
228 | |
229 console.log(server + url + '/' + lang); | |
230 console.log(langNew); | |
231 if (langNew[i]) { | |
232 langNew[i] = false; | |
233 $('#language_results_'+lang).load( | |
234 server + url + '/' + lang, | |
235 function() { | |
236 //console.log('after results'); | |
237 $('tr.documentHit').each( | |
238 function(index) { | |
239 var newId = $(this).attr('id') | |
240 + '_content'; | |
241 //console.log(newId); | |
242 $(this).after( | |
243 '<td colspan="5" class="resultLinksToPages" id="' | |
244 + newId | |
245 + '"></tr>'); | |
246 var ref = $(this).find('td a') | |
247 .attr('href'); | |
248 $('#' + newId).load( | |
249 server + url + '/' + lang | |
250 + '/' + ref, | |
251 showPages); | |
252 }); | |
253 }); | |
254 } | |
255 } | |
256 } // ende schleife durch sprachen */ | |
257 } // ende else falls noch offene suchen ecistieren | |
258 | |
259 | |
260 break; | |
261 case 202: // still working | |
262 var url = $('#base_url_ticket').html(); | |
263 console.log("202 -start:"+url); | |
264 | |
265 setTimeout(function() { | |
266 $('#results').load(server + url, loadTicket) | |
267 }, 4000); | |
268 showResults(this,url); | |
269 console.log("202 -end"); | |
270 break; | |
271 default: | |
272 $('#results').html(XMLHttpRequest2.status + ': ' | |
273 + XMLHttpRequest2.statusText | |
274 + '. unknow server error.'); | |
275 break; | |
276 } | |
277 }; | |
278 | |
279 function getLanguages(){ // baue language parameter fuer die suche | |
280 var langs=$('#selectedLanguages').find('div.lang'); // suche alle sprachen | |
281 var langsLen=langs.length; | |
282 | |
283 var found=false; | |
284 //var ret=""; | |
285 var ret = new Array(); | |
286 for ( var i=0; i<langsLen; ++i ){ | |
287 //ret+=$(langs[i]).text()+"_"; | |
288 ret.push($(langs[i]).text()); | |
289 } | |
290 return ret; | |
291 | |
292 } | |
293 <!-- $(function() {--> | |
294 <!-- $('#searchButton')--> | |
295 <!-- .click(--> | |
296 <!-- function() {--> | |
297 <!-- resetSearch();--> | |
298 <!-- var searchString = $('#searchString').val();--> | |
299 <!-- var searchMetaData = $('#searchMetaData').val();--> | |
300 <!-- //langNew = true;--> | |
301 <!-- --> | |
302 <!-- var languages = getLanguages();--> | |
303 <!-- console.log('languages');--> | |
304 <!-- console.log(languages);--> | |
305 <!-- --> | |
306 <!-- $('#ticket')--> | |
307 <!-- .load(--> | |
308 <!-- server+'tickets a',--> | |
309 <!-- {--> | |
310 <!-- searchString : searchString,--> | |
311 <!-- languages: languages.join("_"),--> | |
312 <!-- searchMetaData: searchMetaData--> | |
313 <!-- },--> | |
314 <!-- function(responseText, textStatus,--> | |
315 <!-- XMLHttpRequest) {--> | |
316 <!-- var ticketUrl = $(this).find(--> | |
317 <!-- 'a').attr('href');--> | |
318 <!-- $('#base_url_ticket').html(--> | |
319 <!-- ticketUrl);--> | |
320 <!-- $('#results').load(--> | |
321 <!-- server + ticketUrl,--> | |
322 <!-- loadTicket);--> | |
323 <!-- }--> | |
324 <!----> | |
325 <!-- );--> | |
326 <!-- });--> | |
327 <!-- });--> | |
328 | |
329 $(document).ready(function(){ | |
330 $('#supportedLanguages').load(server+'serverInfo/supportedLanguages',function(){ | |
331 $('div.supportedLanguage').each(function(i){$(this).html('<input type="checkbox" onclick="toggleLang(this);" name="supportedLanguage" value="'+$(this).html()+'"/>'+$(this).html());}); | |
332 }); | |
333 }); | |
334 | |
335 function toggleLang(obj){ | |
336 var val = $(obj).attr("value"); | |
337 | |
338 | |
339 var langs=$('#selectedLanguages').find('div.lang'); // suche alle sprachen | |
340 var langsLen=langs.length; | |
341 | |
342 var found=false; | |
343 for ( var i=0; i<langsLen; ++i ){ | |
344 if ($(langs[i]).text()==val) | |
345 { | |
346 $(langs[i]).remove(); | |
347 found=true; | |
348 } | |
349 } | |
350 if (!found){ | |
351 $('#selectedLanguages').append('<div class="lang">'+val+'</div>'); | |
352 } | |
353 | |
354 } | |
355 </script> | |
356 | |
357 </head> | |
358 <body> | |
359 109 | |
360 <div> | |
361 <form action="found.html" method="get"> | |
362 <div>Search word: <input type="text" id="searchString" name="searchString" /></div> | |
363 <input type="submit" value="search" id="searchButton"/> | |
364 <div>Search in Metadata: <input type="text" id="searchMetaData" name="searchMetaData"/></div> | |
365 <div id="supportedLanguages"></div> | |
366 </form> | |
367 <div id="ticket"></div> | |
368 | |
369 <div id="results"></div> | |
370 | |
371 <div id="language_results"></div> | |
372 | |
373 <div id="base_url_ticket"></div> | |
374 <div id="error"></div> | |
375 <div id="openSearches"></div> | |
376 <div id="selectedLanguages"></div> | |
377 </div> | |
378 </body> | |
379 </html> |