From 9067ab20b2e5251c0b204dcb0ceaba92ac53a0dd Mon Sep 17 00:00:00 2001 From: apfelmaennchen Date: Thu, 10 Nov 2011 09:13:58 +0000 Subject: [PATCH] - included missing image for portalsearch.tar.gz in build.xml - compressed (minify) yacy-portalsearch.js for better performance - removed language selector, as it doesn't work really well (at least for me) git-svn-id: https://svn.berlios.de/svnroot/repos/yacy/trunk@8026 6c8d7289-2bf4-0310-a012-ef5d649a1542 --- build.xml | 3 +- htroot/portalsearch/portalsearch-dev.js | 433 +++++++++++++++++++++++ htroot/portalsearch/yacy-portalsearch.js | 431 +--------------------- 3 files changed, 436 insertions(+), 431 deletions(-) create mode 100644 htroot/portalsearch/portalsearch-dev.js diff --git a/build.xml b/build.xml index 4ed386362..e16cb9958 100644 --- a/build.xml +++ b/build.xml @@ -494,7 +494,8 @@ - + + diff --git a/htroot/portalsearch/portalsearch-dev.js b/htroot/portalsearch/portalsearch-dev.js new file mode 100644 index 000000000..313d66f76 --- /dev/null +++ b/htroot/portalsearch/portalsearch-dev.js @@ -0,0 +1,433 @@ +/* + * YaCy Portalsearch + * + * @author Stefan Förster (apfelmaennchen) + * @version 1.1 + * + * @requires jquery-1.6.1 + * @requires jquery-ui-1.8.13 + * @requires jquery-query-2.1.7 + * @requires jquery.form-2.73 + * @requires jquery.field-0.9.2.min + * + * Dual licensed under the MIT and GPL licenses: + * http://www.opensource.org/licenses/mit-license.php + * http://www.gnu.org/licenses/gpl.html + * + * Date: 19-MAY-2011 + * + */ + +function statuscheck() { + if(load_status < 5) { + return; + } else { + window.clearInterval(loading); + yrun(); + } +} + +$(document).ready(function() { + ynavigators = new Array(); + $.ajaxSetup({ + timeout: 5000, + cache: true + }) + // apply default properties + ycurr = ''; + startRecord = 0; + maximumRecords = 10; + submit = false; + yconf = $.extend({ + url : '', + 'global' : false, + theme : 'start', + title : 'YaCy Search Widget', + logo : yconf.url + '/yacy/ui/img/yacy-logo.png', + link : 'http://yacy.net', + width : 640, + height : 640, + position : [150,50], + modal : false, + resizable: true, + show : '', + hide : '', + load_js : true, + load_css : true + }, yconf); + + $('
').appendTo("#yacylivesearch"); + + if(yconf.load_css) { + var style1 = yconf.url + '/portalsearch/yacy-portalsearch.css'; + var style2 = yconf.url + '/jquery/themes/'+yconf.theme+'/jquery-ui-1.8.16.custom.css'; + var style3 = yconf.url + '/jquery/css/jquery-ui-combobox.css'; + + var head = document.getElementsByTagName('head')[0]; + + $(document.createElement('link')) + .attr({type:'text/css', href: style1, rel:'stylesheet', media:'screen'}) + .appendTo(head); + $(document.createElement('link')) + .attr({type:'text/css', href: style2, rel:'stylesheet', media:'screen'}) + .appendTo(head); + $(document.createElement('link')) + .attr({type:'text/css', href: style3, rel:'stylesheet', media:'screen'}) + .appendTo(head); + } + + load_status = 0; + loading = window.setInterval("statuscheck()", 200); + if(yconf.load_js) { + var script1 = yconf.url + '/jquery/js/jquery.query-2.1.7.js'; + var script2 = yconf.url + '/jquery/js/jquery.form-2.73.js'; + var script3 = yconf.url + '/jquery/js/jquery.field-0.9.2.min.js'; + var script4 = yconf.url + '/jquery/js/jquery-ui-1.8.16.custom.min.js'; + var script5 = yconf.url + '/jquery/js/jquery-ui-combobox.js'; + + $.getScript(script1, function(){ load_status++; }); + $.getScript(script2, function(){ load_status++; }); + $.getScript(script3, function(){ load_status++; }); + $.getScript(script4, function(){ load_status++; }); + $.getScript(script5, function(){ load_status++; }); + } else { + yrun(); + } +}); + +function yrun() { + + $.extend($.ui.accordion.defaults, { + autoHeight: false, + clearStyle: true, + collapsible: true, + header: "h3" + }); + + maximumRecords = parseInt($("#ysearch input[name='maximumRecords']").getValue()); + + $("#ypopup").dialog({ + autoOpen: false, + height: yconf.height, + width: yconf.width, + minWidth: yconf.width, + position: yconf.position, + modal: yconf.modal, + resizable: yconf.resizable, + title: yconf.title, + show: yconf.show, + hide: yconf.hide, + drag: function(event, ui) { + var position = $("#ypopup").parent(".ui-dialog").position(); + var left = $("#ypopup").parent(".ui-dialog").width()+5+position.left; + $("#yside").dialog('option', 'position', [left,position.top+32]); + }, + dragStop: function(event, ui) { + var position = $("#ypopup").parent(".ui-dialog").position(); + var left = $("#ypopup").parent(".ui-dialog").width()+5+position.left; + $("#yside").dialog('option', 'position', [left,position.top+32]); + }, + resizeStop: function(event, ui) { + var position = $("#ypopup").parent(".ui-dialog").position(); + var height = $("#ypopup").parent(".ui-dialog").height()-55; + var left = $("#ypopup").parent(".ui-dialog").width()+5+position.left; + $("#yside").dialog('option', 'height', height); + $("#yside").dialog('option', 'position', [left,position.top+32]); + }, + close: function(event, ui) { + $("#yquery").setValue(''); + $("#yside").dialog('destroy'); + $('#yside').remove(); + }, + open: function(event, ui) { + $('
').insertAfter("#ypopup").parent(".ui-dialog-content"); + var position = $("#ypopup").parent(".ui-dialog").position(); + $("#yside").dialog({ + title: 'Navigation', + autoOpen: false, + draggable: false, + resizable: false, + width: 220, + height: $("#ypopup").parent(".ui-dialog").height()-55, + minHeight: $("#ypopup").parent(".ui-dialog").height()-55, + show: 'slide', + hide: 'slide', + position : [position.left+$("#ypopup").parent(".ui-dialog").width()+5,position.top+32], + open: function(event, ui) { + $('div.ui-widget-shadow').remove(); + $('#ypopup').dialog( 'moveToTop' ); + } + }); + $('.ui-widget-shadow').remove(); + $('div[aria-labelledby="ui-dialog-title-yside"] div.ui-dialog-titlebar').remove(); + + $("#ypopup").bind("scroll", function(e){ + p1 = $("#ypopup h3 :last").position().top; + if(p1-$("#ypopup").dialog( "option", "height" ) < 0) { + startRecord = startRecord + maximumRecords; + yacysearch(submit, false); + } + }); + + + } + }); + + $('#ysearch').keyup(function(e) { + + if(e.which == 27) { // ESC + $("#ypopup").dialog('close'); + $("#yquery").setValue(""); + } else if(e.which == 39) { // Right + startRecord = startRecord + maximumRecords; + yacysearch(submit, false); + } + if(ycurr == $("#yquery").getValue()) { + return false; + } + + if ($("#yquery").getValue() == '') { + if($("#ypopup").dialog('isOpen')) + $("#ypopup").dialog('close'); + } else { + ycurr = $("#yquery").getValue(); + if(!submit) yacysearch(false, true); + else submit = false; + } + return false; + }); + + $('#ysearch').submit(function() { + submit = true; + ycurr = $("#yquery").getValue(); + + if (!$("#ypopup").dialog('isOpen')) + $("#ypopup").dialog('open'); + else + if ($("#yside").dialog('isOpen')) + $("#yside").dialog('close'); + + $("#yquery").focus(); + + yacysearch(yconf.global, true); + return false; + }); +} + +function yacysearch(global, clear) { + var url = yconf.url + '/yacysearch.json?callback=?' + + if(clear) { + $('#ypopup').empty(); + + var loading = "

Loading: "+yconf.url+"
"; + var loadimg = "

"; + $('#ypopup').append(loading+loadimg); + + if (!$("#ypopup").dialog('isOpen')) + $("#ypopup").dialog('open'); + else + if ($("#yside").dialog('isOpen')) + $("#yside").dialog('close'); + + $("#yquery").focus(); + } + + var param = []; + $("#ysearch input").each(function(i){ + var item = { name : $(this).attr('name'), value : $(this).attr('value') }; + if(item.name == 'resource') { + if(item.value == 'global') global = true; + if(global) item.value = 'global'; + } + if(item.name == 'query' || item.name == 'search') { + if(item.value != ycurr) + ycurr = item.value; + } + param[i] = item; + }); + param[param.length] = { name : 'startRecord', value : startRecord }; + + $.ajaxSetup({ + timeout: 10000, + error: function() { + if (clear) $('#ypopup').empty(); + var favicon = ""; + var title = "

"+favicon+"Ajax Error!

"; + var url = "

Current search terms: "+searchTerms+"

" + var desc = "

Sorry, this should not have happened - please try again!

"; + $(title+desc+url).appendTo("#ypopup"); + } + }); + + $.getJSON(url, param, + function(json, status) { + + if (json[0]) data = json[0]; + else data = json; + + var searchTerms = data.channels[0].searchTerms; + + if(ycurr.replace(/ /g,"+") != searchTerms) { + return false; + } + if(clear) { + $('#ypopup').empty(); + } + + var total = data.channels[0].totalResults; + + if(global) var result = 'global'; + else var result = 'local'; + + var count = 0; + $.each ( + data.channels[0].items, + function(i,item) { + if (item) { + var favicon = ""; + var title = "

"+favicon+""+item.title+"

"; + var url = "

"+item.link+"

" + var desc = "

"+item.description+"

"; + var date = "

"+item.pubDate.substring(0,16); + var size = " | "+item.sizename+"

"; + $(title+desc+url+date+size).appendTo("#ypopup"); + } + count++; + } + ); + + if(count == 0) { + if (clear) $('#ypopup').empty(); + var favicon = ""; + var title = "

"+favicon+"No search results!

"; + var url = "

Current search terms: "+searchTerms+"

" + var desc = "

You could restate your search or release some navigators...

"; + $(title+desc+url).appendTo("#ypopup"); + } + + if(clear) { + $('#yside').empty(); + var query = unescape($("#yquery").getValue()); + var yglobal = "local"; + var sel_date = ""; + var sel_relev = ""; + var sel_local = ""; + var sel_global = ""; + if(query.indexOf("/date") != -1) + sel_date = 'checked="checked"'; + else + sel_relev = 'checked="checked"'; + + if(global) { + sel_global = 'checked="checked"'; + yglobal = "global"; + } + else + sel_local = 'checked="checked"'; + + var ylogo = ""+yconf.logo+""; + var ymsg= "Total "+yglobal+" results: "+total; + $("
').appendTo("#yside"); + + $("

You can narrow down your search by selecting one of the below navigators:

").appendTo('#yside'); + + /* + var label = '
'; + var select = ''; + $('
'+label+select+'
').appendTo('#yside'); + $("#ylang").combobox({ + selected: function(event, ui) { + var query = unescape($("#yquery").getValue() + " /language/" +ui.item.value); + $("#yquery").setValue(query); + ynavigators.push("/language/"+ui.item.value); + $("#yquery").trigger('keyup'); + } + }); + */ + $.each ( + data.channels[0].navigation, + function(i,facet) { + if (facet) { + var id = "#y"+facet.facetname; + var label = '
'; + var select = ''; + $('
'+label+select+'
').appendTo('#yside'); + $.each ( + facet.elements, + function(j,element) { + var mod = ''; + $(mod).appendTo(id); + } + ) + $(id).combobox({ + selected: function(event, ui) { + var query = unescape($("#yquery").getValue() + " " +ui.item.value); + $("#yquery").setValue(query); + ynavigators.push(ui.item.value); + $("#yquery").trigger('keyup'); + } + }); + } + } + ); + $('
').appendTo("#yside"); + var radio1 = '
"+ylogo+""+ymsg+"
'; + var radio2 = '
Get results:

Sort by:

'; + $(radio1 + radio2).appendTo('#yside'); + + $('#local, #global, #date, #relevance').change(function() { + var query = unescape($("#yquery").getValue()); + if (this.id == "date") { + $("#yquery").setValue(query + " /date"); + } else if (this.id == "relevance") { + $("#yquery").setValue(query.replace(/ \/date/g,"")); + } else if (this.id == "global") { + global = true; + } else if (this.id == "local") { + global = false; + } + $("#yquery").trigger('keyup'); + }); + + $('
').appendTo("#yside"); + cancelNavigators(ynavigators, "#yside"); + + if(true) { + autoOpenSidebar(); + if ($("#ypopup").dialog('isOpen')) { + if($("#ypopup h3 :last").position().top < $("#ypopup").dialog( "option", "height" ) && count == maximumRecords) { + startRecord = startRecord + maximumRecords; + yacysearch(submit, false); + } + } + } + } + } + ); + function autoOpenSidebar() { + window.setTimeout(function() { + if( $("#yquery").getValue() == ycurr) { + $("#yside").dialog('open'); + $("#yquery").focus(); + } + } , 1000); + } + function cancelNavigators(ynavigators, appendTo) { + var arLen=ynavigators.length; + for ( var i=0, len=arLen; i '+ynavigators[i]+'

').appendTo(appendTo); + } + $(".ynav-cancel").bind("click", function(event) { + var query = $("#yquery").getValue(); + var str = $(event.target).next().text().replace(/^[\s\xA0]+/, "").replace(/[\s\xA0]+$/, ""); + var idx = ynavigators.indexOf(str); + if(idx!=-1) ynavigators.splice(idx, 1); + var regexp = new RegExp(str.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&")); + $("#yquery").setValue(query.replace(regexp,"").replace(/^[\s\xA0]+/, "").replace(/[\s\xA0]+$/, "")); + startRecord = 0; + $("#yquery").trigger('keyup'); + }); + } +} \ No newline at end of file diff --git a/htroot/portalsearch/yacy-portalsearch.js b/htroot/portalsearch/yacy-portalsearch.js index 0cbfda2ba..ad769ccb6 100644 --- a/htroot/portalsearch/yacy-portalsearch.js +++ b/htroot/portalsearch/yacy-portalsearch.js @@ -1,430 +1 @@ -/* - * YaCy Portalsearch - * - * @author Stefan Förster (apfelmaennchen) - * @version 1.1 - * - * @requires jquery-1.6.1 - * @requires jquery-ui-1.8.13 - * @requires jquery-query-2.1.7 - * @requires jquery.form-2.73 - * @requires jquery.field-0.9.2.min - * - * Dual licensed under the MIT and GPL licenses: - * http://www.opensource.org/licenses/mit-license.php - * http://www.gnu.org/licenses/gpl.html - * - * Date: 19-MAY-2011 - * - */ - -function statuscheck() { - if(load_status < 5) { - return; - } else { - window.clearInterval(loading); - yrun(); - } -} - -$(document).ready(function() { - ynavigators = new Array(); - $.ajaxSetup({ - timeout: 5000, - cache: true - }) - // apply default properties - ycurr = ''; - startRecord = 0; - maximumRecords = 10; - submit = false; - yconf = $.extend({ - url : '', - 'global' : false, - theme : 'start', - title : 'YaCy Search Widget', - logo : yconf.url + '/yacy/ui/img/yacy-logo.png', - link : 'http://yacy.net', - width : 640, - height : 640, - position : [150,50], - modal : false, - resizable: true, - show : '', - hide : '', - load_js : true, - load_css : true - }, yconf); - - $('
').appendTo("#yacylivesearch"); - - if(yconf.load_css) { - var style1 = yconf.url + '/portalsearch/yacy-portalsearch.css'; - var style2 = yconf.url + '/jquery/themes/'+yconf.theme+'/jquery-ui-1.8.16.custom.css'; - var style3 = yconf.url + '/jquery/css/jquery-ui-combobox.css'; - - var head = document.getElementsByTagName('head')[0]; - - $(document.createElement('link')) - .attr({type:'text/css', href: style1, rel:'stylesheet', media:'screen'}) - .appendTo(head); - $(document.createElement('link')) - .attr({type:'text/css', href: style2, rel:'stylesheet', media:'screen'}) - .appendTo(head); - $(document.createElement('link')) - .attr({type:'text/css', href: style3, rel:'stylesheet', media:'screen'}) - .appendTo(head); - } - - load_status = 0; - loading = window.setInterval("statuscheck()", 200); - if(yconf.load_js) { - var script1 = yconf.url + '/jquery/js/jquery.query-2.1.7.js'; - var script2 = yconf.url + '/jquery/js/jquery.form-2.73.js'; - var script3 = yconf.url + '/jquery/js/jquery.field-0.9.2.min.js'; - var script4 = yconf.url + '/jquery/js/jquery-ui-1.8.16.custom.min.js'; - var script5 = yconf.url + '/jquery/js/jquery-ui-combobox.js'; - - $.getScript(script1, function(){ load_status++; }); - $.getScript(script2, function(){ load_status++; }); - $.getScript(script3, function(){ load_status++; }); - $.getScript(script4, function(){ load_status++; }); - $.getScript(script5, function(){ load_status++; }); - } else { - yrun(); - } -}); - -function yrun() { - - $.extend($.ui.accordion.defaults, { - autoHeight: false, - clearStyle: true, - collapsible: true, - header: "h3" - }); - - maximumRecords = parseInt($("#ysearch input[name='maximumRecords']").getValue()); - - $("#ypopup").dialog({ - autoOpen: false, - height: yconf.height, - width: yconf.width, - minWidth: yconf.width, - position: yconf.position, - modal: yconf.modal, - resizable: yconf.resizable, - title: yconf.title, - show: yconf.show, - hide: yconf.hide, - drag: function(event, ui) { - var position = $("#ypopup").parent(".ui-dialog").position(); - var left = $("#ypopup").parent(".ui-dialog").width()+5+position.left; - $("#yside").dialog('option', 'position', [left,position.top+32]); - }, - dragStop: function(event, ui) { - var position = $("#ypopup").parent(".ui-dialog").position(); - var left = $("#ypopup").parent(".ui-dialog").width()+5+position.left; - $("#yside").dialog('option', 'position', [left,position.top+32]); - }, - resizeStop: function(event, ui) { - var position = $("#ypopup").parent(".ui-dialog").position(); - var height = $("#ypopup").parent(".ui-dialog").height()-55; - var left = $("#ypopup").parent(".ui-dialog").width()+5+position.left; - $("#yside").dialog('option', 'height', height); - $("#yside").dialog('option', 'position', [left,position.top+32]); - }, - close: function(event, ui) { - $("#yquery").setValue(''); - $("#yside").dialog('destroy'); - $('#yside').remove(); - }, - open: function(event, ui) { - $('
').insertAfter("#ypopup").parent(".ui-dialog-content"); - var position = $("#ypopup").parent(".ui-dialog").position(); - $("#yside").dialog({ - title: 'Navigation', - autoOpen: false, - draggable: false, - resizable: false, - width: 220, - height: $("#ypopup").parent(".ui-dialog").height()-55, - minHeight: $("#ypopup").parent(".ui-dialog").height()-55, - show: 'slide', - hide: 'slide', - position : [position.left+$("#ypopup").parent(".ui-dialog").width()+5,position.top+32], - open: function(event, ui) { - $('div.ui-widget-shadow').remove(); - $('#ypopup').dialog( 'moveToTop' ); - } - }); - $('.ui-widget-shadow').remove(); - $('div[aria-labelledby="ui-dialog-title-yside"] div.ui-dialog-titlebar').remove(); - - $("#ypopup").bind("scroll", function(e){ - p1 = $("#ypopup h3 :last").position().top; - if(p1-$("#ypopup").dialog( "option", "height" ) < 0) { - startRecord = startRecord + maximumRecords; - yacysearch(submit, false); - } - }); - - - } - }); - - $('#ysearch').keyup(function(e) { - - if(e.which == 27) { // ESC - $("#ypopup").dialog('close'); - $("#yquery").setValue(""); - } else if(e.which == 39) { // Right - startRecord = startRecord + maximumRecords; - yacysearch(submit, false); - } - if(ycurr == $("#yquery").getValue()) { - return false; - } - - if ($("#yquery").getValue() == '') { - if($("#ypopup").dialog('isOpen')) - $("#ypopup").dialog('close'); - } else { - ycurr = $("#yquery").getValue(); - if(!submit) yacysearch(false, true); - else submit = false; - } - return false; - }); - - $('#ysearch').submit(function() { - submit = true; - ycurr = $("#yquery").getValue(); - - if (!$("#ypopup").dialog('isOpen')) - $("#ypopup").dialog('open'); - else - if ($("#yside").dialog('isOpen')) - $("#yside").dialog('close'); - - $("#yquery").focus(); - - yacysearch(yconf.global, true); - return false; - }); -} - -function yacysearch(global, clear) { - var url = yconf.url + '/yacysearch.json?callback=?' - - if(clear) { - $('#ypopup').empty(); - - var loading = "

Loading: "+yconf.url+"
"; - var loadimg = "

"; - $('#ypopup').append(loading+loadimg); - - if (!$("#ypopup").dialog('isOpen')) - $("#ypopup").dialog('open'); - else - if ($("#yside").dialog('isOpen')) - $("#yside").dialog('close'); - - $("#yquery").focus(); - } - - var param = []; - $("#ysearch input").each(function(i){ - var item = { name : $(this).attr('name'), value : $(this).attr('value') }; - if(item.name == 'resource') { - if(item.value == 'global') global = true; - if(global) item.value = 'global'; - } - if(item.name == 'query' || item.name == 'search') { - if(item.value != ycurr) - ycurr = item.value; - } - param[i] = item; - }); - param[param.length] = { name : 'startRecord', value : startRecord }; - - $.ajaxSetup({ - timeout: 10000, - error: function() { - if (clear) $('#ypopup').empty(); - var favicon = ""; - var title = "

"+favicon+"Ajax Error!

"; - var url = "

Current search terms: "+searchTerms+"

" - var desc = "

Sorry, this should not have happened - please try again!

"; - $(title+desc+url).appendTo("#ypopup"); - } - }); - - $.getJSON(url, param, - function(json, status) { - - if (json[0]) data = json[0]; - else data = json; - - var searchTerms = data.channels[0].searchTerms; - - if(ycurr.replace(/ /g,"+") != searchTerms) { - return false; - } - if(clear) { - $('#ypopup').empty(); - } - - var total = data.channels[0].totalResults; - - if(global) var result = 'global'; - else var result = 'local'; - - var count = 0; - $.each ( - data.channels[0].items, - function(i,item) { - if (item) { - var favicon = ""; - var title = "

"+favicon+""+item.title+"

"; - var url = "

"+item.link+"

" - var desc = "

"+item.description+"

"; - var date = "

"+item.pubDate.substring(0,16); - var size = " | "+item.sizename+"

"; - $(title+desc+url+date+size).appendTo("#ypopup"); - } - count++; - } - ); - - if(count == 0) { - if (clear) $('#ypopup').empty(); - var favicon = ""; - var title = "

"+favicon+"No search results!

"; - var url = "

Current search terms: "+searchTerms+"

" - var desc = "

You could restate your search or release some navigators...

"; - $(title+desc+url).appendTo("#ypopup"); - } - - if(clear) { - $('#yside').empty(); - var query = unescape($("#yquery").getValue()); - var yglobal = "local"; - var sel_date = ""; - var sel_relev = ""; - var sel_local = ""; - var sel_global = ""; - if(query.indexOf("/date") != -1) - sel_date = 'checked="checked"'; - else - sel_relev = 'checked="checked"'; - - if(global) { - sel_global = 'checked="checked"'; - yglobal = "global"; - } - else - sel_local = 'checked="checked"'; - - var ylogo = ""+yconf.logo+""; - var ymsg= "Total "+yglobal+" results: "+total; - $("
').appendTo("#yside"); - - $("

You can narrow down your search by selecting one of the below navigators:

").appendTo('#yside'); - var label = '
'; - var select = ''; - $('
'+label+select+'
').appendTo('#yside'); - $("#ylang").combobox({ - selected: function(event, ui) { - var query = unescape($("#yquery").getValue() + " /language/" +ui.item.value); - $("#yquery").setValue(query); - ynavigators.push("/language/"+ui.item.value); - $("#yquery").trigger('keyup'); - } - }); - $.each ( - data.channels[0].navigation, - function(i,facet) { - if (facet) { - var id = "#y"+facet.facetname; - var label = '
'; - var select = ''; - $('
'+label+select+'
').appendTo('#yside'); - $.each ( - facet.elements, - function(j,element) { - var mod = ''; - $(mod).appendTo(id); - } - ) - $(id).combobox({ - selected: function(event, ui) { - var query = unescape($("#yquery").getValue() + " " +ui.item.value); - $("#yquery").setValue(query); - ynavigators.push(ui.item.value); - $("#yquery").trigger('keyup'); - } - }); - } - } - ); - $('
').appendTo("#yside"); - var radio1 = '
"+ylogo+""+ymsg+"
'; - var radio2 = '
Get results:

Sort by:

'; - $(radio1 + radio2).appendTo('#yside'); - - $('#local, #global, #date, #relevance').change(function() { - var query = unescape($("#yquery").getValue()); - if (this.id == "date") { - $("#yquery").setValue(query + " /date"); - } else if (this.id == "relevance") { - $("#yquery").setValue(query.replace(/ \/date/g,"")); - } else if (this.id == "global") { - global = true; - } else if (this.id == "local") { - global = false; - } - $("#yquery").trigger('keyup'); - }); - - $('
').appendTo("#yside"); - cancelNavigators(ynavigators, "#yside"); - - if(true) { - autoOpenSidebar(); - if ($("#ypopup").dialog('isOpen')) { - if($("#ypopup h3 :last").position().top < $("#ypopup").dialog( "option", "height" ) && count == maximumRecords) { - startRecord = startRecord + maximumRecords; - yacysearch(submit, false); - } - } - } - } - } - ); - function autoOpenSidebar() { - window.setTimeout(function() { - if( $("#yquery").getValue() == ycurr) { - $("#yside").dialog('open'); - $("#yquery").focus(); - } - } , 1200); - } - function cancelNavigators(ynavigators, appendTo) { - var arLen=ynavigators.length; - for ( var i=0, len=arLen; i '+ynavigators[i]+'

').appendTo(appendTo); - } - $(".ynav-cancel").bind("click", function(event) { - var query = $("#yquery").getValue(); - var str = $(event.target).next().text().replace(/^[\s\xA0]+/, "").replace(/[\s\xA0]+$/, ""); - var idx = ynavigators.indexOf(str); - if(idx!=-1) ynavigators.splice(idx, 1); - var regexp = new RegExp(str.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&")); - $("#yquery").setValue(query.replace(regexp,"").replace(/^[\s\xA0]+/, "").replace(/[\s\xA0]+$/, "")); - startRecord = 0; - $("#yquery").trigger('keyup'); - }); - } -} \ No newline at end of file +function yacysearch(a,b){function h(a,b){var c=a.length;for(var d=0,e=c;d '+a[d]+"

").appendTo(b)}$(".ynav-cancel").bind("click",function(b){var c=$("#yquery").getValue();var d=$(b.target).next().text().replace(/^[\s\xA0]+/,"").replace(/[\s\xA0]+$/,"");var e=a.indexOf(d);if(e!=-1)a.splice(e,1);var f=new RegExp(d.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"));$("#yquery").setValue(c.replace(f,"").replace(/^[\s\xA0]+/,"").replace(/[\s\xA0]+$/,""));startRecord=0;$("#yquery").trigger("keyup")})}function g(){window.setTimeout(function(){if($("#yquery").getValue()==ycurr){$("#yside").dialog("open");$("#yquery").focus()}},1e3)}var c=yconf.url+"/yacysearch.json?callback=?";if(b){$("#ypopup").empty();var d="

Loading: "+yconf.url+"
";var e="

";$("#ypopup").append(d+e);if(!$("#ypopup").dialog("isOpen"))$("#ypopup").dialog("open");else if($("#yside").dialog("isOpen"))$("#yside").dialog("close");$("#yquery").focus()}var f=[];$("#ysearch input").each(function(b){var c={name:$(this).attr("name"),value:$(this).attr("value")};if(c.name=="resource"){if(c.value=="global")a=true;if(a)c.value="global"}if(c.name=="query"||c.name=="search"){if(c.value!=ycurr)ycurr=c.value}f[b]=c});f[f.length]={name:"startRecord",value:startRecord};$.ajaxSetup({timeout:1e4,error:function(){if(b)$("#ypopup").empty();var a="";var c="

"+a+"Ajax Error!

";var d="

Current search terms: "+searchTerms+"

";var e="

Sorry, this should not have happened - please try again!

";$(c+e+d).appendTo("#ypopup")}});$.getJSON(c,f,function(c,d){if(c[0])data=c[0];else data=c;var e=data.channels[0].searchTerms;if(ycurr.replace(/ /g,"+")!=e){return false}if(b){$("#ypopup").empty()}var f=data.channels[0].totalResults;if(a)var i="global";else var i="local";var j=0;$.each(data.channels[0].items,function(a,b){if(b){var c="";var d="

"+c+""+b.title+"

";var e="

"+b.link+"

";var f="

"+b.description+"

";var g="

"+b.pubDate.substring(0,16);var h=" | "+b.sizename+"

";$(d+f+e+g+h).appendTo("#ypopup")}j++});if(j==0){if(b)$("#ypopup").empty();var k="";var l="

"+k+"No search results!

";var m="

Current search terms: "+e+"

";var n="

You could restate your search or release some navigators...

";$(l+n+m).appendTo("#ypopup")}if(b){$("#yside").empty();var o=unescape($("#yquery").getValue());var p="local";var q="";var r="";var s="";var t="";if(o.indexOf("/date")!=-1)q='checked="checked"';else r='checked="checked"';if(a){t='checked="checked"';p="global"}else s='checked="checked"';var u=""+yconf.logo+"";var v="Total "+p+" results: "+f;$("
").appendTo("#yside");$("

You can narrow down your search by selecting one of the below navigators:

").appendTo("#yside");$.each(data.channels[0].navigation,function(a,b){if(b){var c="#y"+b.facetname;var d='
";var e='';$('
'+d+e+"
").appendTo("#yside");$.each(b.elements,function(a,b){var d='";$(d).appendTo(c)});$(c).combobox({selected:function(a,b){var c=unescape($("#yquery").getValue()+" "+b.item.value);$("#yquery").setValue(c);ynavigators.push(b.item.value);$("#yquery").trigger("keyup")}})}});$("
").appendTo("#yside");var w='
"+u+""+v+"
';var x='
Get results:

Sort by:

';$(w+x).appendTo("#yside");$("#local, #global, #date, #relevance").change(function(){var b=unescape($("#yquery").getValue());if(this.id=="date"){$("#yquery").setValue(b+" /date")}else if(this.id=="relevance"){$("#yquery").setValue(b.replace(/ \/date/g,""))}else if(this.id=="global"){a=true}else if(this.id=="local"){a=false}$("#yquery").trigger("keyup")});$("
").appendTo("#yside");h(ynavigators,"#yside");if(true){g();if($("#ypopup").dialog("isOpen")){if($("#ypopup h3 :last").position().top<$("#ypopup").dialog("option","height")&&j==maximumRecords){startRecord=startRecord+maximumRecords;yacysearch(submit,false)}}}}})}function yrun(){$.extend($.ui.accordion.defaults,{autoHeight:false,clearStyle:true,collapsible:true,header:"h3"});maximumRecords=parseInt($("#ysearch input[name='maximumRecords']").getValue());$("#ypopup").dialog({autoOpen:false,height:yconf.height,width:yconf.width,minWidth:yconf.width,position:yconf.position,modal:yconf.modal,resizable:yconf.resizable,title:yconf.title,show:yconf.show,hide:yconf.hide,drag:function(a,b){var c=$("#ypopup").parent(".ui-dialog").position();var d=$("#ypopup").parent(".ui-dialog").width()+5+c.left;$("#yside").dialog("option","position",[d,c.top+32])},dragStop:function(a,b){var c=$("#ypopup").parent(".ui-dialog").position();var d=$("#ypopup").parent(".ui-dialog").width()+5+c.left;$("#yside").dialog("option","position",[d,c.top+32])},resizeStop:function(a,b){var c=$("#ypopup").parent(".ui-dialog").position();var d=$("#ypopup").parent(".ui-dialog").height()-55;var e=$("#ypopup").parent(".ui-dialog").width()+5+c.left;$("#yside").dialog("option","height",d);$("#yside").dialog("option","position",[e,c.top+32])},close:function(a,b){$("#yquery").setValue("");$("#yside").dialog("destroy");$("#yside").remove()},open:function(a,b){$('
').insertAfter("#ypopup").parent(".ui-dialog-content");var c=$("#ypopup").parent(".ui-dialog").position();$("#yside").dialog({title:"Navigation",autoOpen:false,draggable:false,resizable:false,width:220,height:$("#ypopup").parent(".ui-dialog").height()-55,minHeight:$("#ypopup").parent(".ui-dialog").height()-55,show:"slide",hide:"slide",position:[c.left+$("#ypopup").parent(".ui-dialog").width()+5,c.top+32],open:function(a,b){$("div.ui-widget-shadow").remove();$("#ypopup").dialog("moveToTop")}});$(".ui-widget-shadow").remove();$('div[aria-labelledby="ui-dialog-title-yside"] div.ui-dialog-titlebar').remove();$("#ypopup").bind("scroll",function(a){p1=$("#ypopup h3 :last").position().top;if(p1-$("#ypopup").dialog("option","height")<0){startRecord=startRecord+maximumRecords;yacysearch(submit,false)}})}});$("#ysearch").keyup(function(a){if(a.which==27){$("#ypopup").dialog("close");$("#yquery").setValue("")}else if(a.which==39){startRecord=startRecord+maximumRecords;yacysearch(submit,false)}if(ycurr==$("#yquery").getValue()){return false}if($("#yquery").getValue()==""){if($("#ypopup").dialog("isOpen"))$("#ypopup").dialog("close")}else{ycurr=$("#yquery").getValue();if(!submit)yacysearch(false,true);else submit=false}return false});$("#ysearch").submit(function(){submit=true;ycurr=$("#yquery").getValue();if(!$("#ypopup").dialog("isOpen"))$("#ypopup").dialog("open");else if($("#yside").dialog("isOpen"))$("#yside").dialog("close");$("#yquery").focus();yacysearch(yconf.global,true);return false})}function statuscheck(){if(load_status<5){return}else{window.clearInterval(loading);yrun()}}$(document).ready(function(){ynavigators=new Array;$.ajaxSetup({timeout:5e3,cache:true});ycurr="";startRecord=0;maximumRecords=10;submit=false;yconf=$.extend({url:"",global:false,theme:"start",title:"YaCy Search Widget",logo:yconf.url+"/yacy/ui/img/yacy-logo.png",link:"http://yacy.net",width:640,height:640,position:[150,50],modal:false,resizable:true,show:"",hide:"",load_js:true,load_css:true},yconf);$('
').appendTo("#yacylivesearch");if(yconf.load_css){var a=yconf.url+"/portalsearch/yacy-portalsearch.css";var b=yconf.url+"/jquery/themes/"+yconf.theme+"/jquery-ui-1.8.16.custom.css";var c=yconf.url+"/jquery/css/jquery-ui-combobox.css";var d=document.getElementsByTagName("head")[0];$(document.createElement("link")).attr({type:"text/css",href:a,rel:"stylesheet",media:"screen"}).appendTo(d);$(document.createElement("link")).attr({type:"text/css",href:b,rel:"stylesheet",media:"screen"}).appendTo(d);$(document.createElement("link")).attr({type:"text/css",href:c,rel:"stylesheet",media:"screen"}).appendTo(d)}load_status=0;loading=window.setInterval("statuscheck()",200);if(yconf.load_js){var e=yconf.url+"/jquery/js/jquery.query-2.1.7.js";var f=yconf.url+"/jquery/js/jquery.form-2.73.js";var g=yconf.url+"/jquery/js/jquery.field-0.9.2.min.js";var h=yconf.url+"/jquery/js/jquery-ui-1.8.16.custom.min.js";var i=yconf.url+"/jquery/js/jquery-ui-combobox.js";$.getScript(e,function(){load_status++});$.getScript(f,function(){load_status++});$.getScript(g,function(){load_status++});$.getScript(h,function(){load_status++});$.getScript(i,function(){load_status++})}else{yrun()}}) \ No newline at end of file