[Koha-cvs] koha/koha-tmpl/opac-tmpl/npl/en/includes livese... [dev_week]

Joshua Ferraro jmf at kados.org
Sat Jun 10 17:50:53 CEST 2006


CVSROOT:	/sources/koha
Module name:	koha
Branch:		dev_week
Changes by:	Joshua Ferraro <kados>	06/06/10 15:50:53

Added files:
	koha-tmpl/opac-tmpl/npl/en/includes: livesearch.css 
	                                     livesearch.js 

Log message:
	adding livesearch css and js

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/koha/koha-tmpl/opac-tmpl/npl/en/includes/livesearch.css?cvsroot=koha&only_with_tag=dev_week&rev=1.1.2.1
http://cvs.savannah.gnu.org/viewcvs/koha/koha-tmpl/opac-tmpl/npl/en/includes/livesearch.js?cvsroot=koha&only_with_tag=dev_week&rev=1.1.2.1

Patches:
Index: livesearch.css
===================================================================
RCS file: livesearch.css
diff -N livesearch.css
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ livesearch.css	10 Jun 2006 15:50:53 -0000	1.1.2.1
@@ -0,0 +1,80 @@
+/* LiveSearch */
+
+#keyword {
+	margin: 0 25px 5px 0;
+	padding:0px;
+	width: 600px;
+	display: block;
+	border:1px solid #99b58d;
+}
+
+
+#LSResult {
+	position: absolute;
+	background-color: #aaa;
+	width: 600px;
+	margin: 1px 0px 2px 0px;
+      	padding: 0px;
+}
+
+#LSResult li {
+	padding-bottom: 2px;
+    	padding-top: 2px;
+	line-height:normal;
+	margin-bottom: 0px;
+}
+
+
+ul#LSShadow {
+      	position: relative;
+	right: 1px;
+	margin: 0px;
+	padding: 0px;
+	background-color: #666; /*shadow color*/
+	color: inherit;
+}
+#LSResult ul {
+	list-style-position:outside;
+	margin-bottom: -5px;
+	margin-top: 0px;
+	padding-top: 0px;
+	margin: 0px;
+	padding: 0px;
+}
+
+#LSResult ul li {
+	text-indent: -20px;
+	padding: 0px 15px 0 20px;
+	margin-top:0;
+	line-height:1em;
+	list-style-type:none;
+}
+
+.LSRes {
+	position: relative;
+	bottom: 1px;
+	right: 1px;
+	background-color: white;
+	border:  1px solid #AAA;
+    }
+#LSHighlight {
+	color: #564b47;
+	background-color: #ccc;
+}
+.LSRes li a {
+	text-decoration: none;
+	color:black;
+	cursor:default;
+	font-size:80%
+}
+.LSResRight {
+	position:absolute;
+	right:1px;
+	display:inline;
+	padding:0;margin:0;
+	width:100%;
+	color:green;
+	text-align:right;
+	font-size:80%;
+}
+

Index: livesearch.js
===================================================================
RCS file: livesearch.js
diff -N livesearch.js
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ livesearch.js	10 Jun 2006 15:50:53 -0000	1.1.2.1
@@ -0,0 +1,181 @@
+	/*
+// +----------------------------------------------------------------------+
+// | Copyright (c) 2005 LibLime                                           |
+// +----------------------------------------------------------------------+
+// | Licensed under the Apache License, Version 2.0 (the "License");      |
+// | you may not use this file except in compliance with the License.     |
+// | You may obtain a copy of the License at                              |
+// | http://www.apache.org/licenses/LICENSE-2.0                           |
+// | Unless required by applicable law or agreed to in writing, software  |
+// | distributed under the License is distributed on an "AS IS" BASIS,    |
+// | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or      |
+// | implied. See the License for the specific language governing         |
+// | permissions and limitations under the License.                       |
+// +----------------------------------------------------------------------+
+// | Author: Joshua Ferraro <jmf at liblime dot com>                      |
+// | Thanks to Bitflux GmbH <devel at bitflux dot ch>                     |
+// +----------------------------------------------------------------------+
+
+*/
+var liveSearchReq = false;
+var t = null;
+var liveSearchLast = "";
+	
+var isIE = false;
+// on !IE we only have to initialize it once
+if (window.XMLHttpRequest) {
+	liveSearchReq = new XMLHttpRequest();
+}
+
+function liveSearchInit() {
+	
+	if (navigator.userAgent.indexOf("Safari") > 0) {
+		document.getElementById('keyword').addEventListener("keydown",liveSearchKeyPress,false);
+//		document.getElementById('keyword').addEventListener("blur",liveSearchHide,false);
+	} else if (navigator.product == "Gecko") {
+		
+		document.getElementById('keyword').addEventListener("keypress",liveSearchKeyPress,false);
+		document.getElementById('keyword').addEventListener("blur",liveSearchHideDelayed,false);
+		
+	} else {
+		document.getElementById('keyword').attachEvent('onkeydown',liveSearchKeyPress);
+//		document.getElementById('keyword').attachEvent("onblur",liveSearchHide,false);
+		isIE = true;
+	}
+	
+	document.getElementById('keyword').setAttribute("autocomplete","off");
+
+}
+
+function liveSearchHideDelayed() {
+	window.setTimeout("liveSearchHide()",400);
+}
+	
+function liveSearchHide() {
+	document.getElementById("LSResult").style.display = "none";
+	var highlight = document.getElementById("LSHighlight");
+	if (highlight) {
+		highlight.removeAttribute("id");
+	}
+}
+
+function liveSearchKeyPress(event) {
+	
+	if (event.keyCode == 40 )
+	//KEY DOWN
+	{
+		highlight = document.getElementById("LSHighlight");
+		if (!highlight) {
+			highlight = document.getElementById("LSShadow").firstChild.firstChild;
+		} else {
+			highlight.removeAttribute("id");
+			highlight = highlight.nextSibling;
+		}
+		if (highlight) {
+			highlight.setAttribute("id","LSHighlight");
+		} 
+		if (!isIE) { event.preventDefault(); }
+	} 
+	//KEY UP
+	else if (event.keyCode == 38 ) {
+		highlight = document.getElementById("LSHighlight");
+		if (!highlight) {
+			highlight = document.getElementById("LSResult").firstChild.firstChild.lastChild;
+		} 
+		else {
+			highlight.removeAttribute("id");
+			highlight = highlight.previousSibling;
+		}
+		if (highlight) {
+				highlight.setAttribute("id","LSHighlight");
+		}
+		if (!isIE) { event.preventDefault(); }
+	} 
+	//ESC
+	else if (event.keyCode == 27) {
+		highlight = document.getElementById("LSHighlight");
+		if (highlight) {
+			highlight.removeAttribute("id");
+		}
+		document.getElementById("LSResult").style.display = "none";
+	} 
+}
+function liveSearchStart() {
+	if (t) {
+		window.clearTimeout(t);
+	}
+	t = window.setTimeout("liveSearchDoSearch()",200);
+}
+
+function liveSearchDoSearch() {
+
+	if (typeof liveSearchRoot == "undefined") {
+		liveSearchRoot = "";
+	}
+	if (typeof liveSearchRootSubDir == "undefined") {
+		liveSearchRootSubDir = "";
+	}
+	if (typeof liveSearchParams == "undefined") {
+		liveSearchParams = "";
+	}
+	if (liveSearchLast != document.forms.searchform.value.value) {
+	if (liveSearchReq && liveSearchReq.readyState < 4) {
+		liveSearchReq.abort();
+	}
+	if ( document.forms.searchform.value.value == "") {
+		liveSearchHide();
+		return false;
+	}
+	if (window.XMLHttpRequest) {
+	// branch for IE/Windows ActiveX version
+	} else if (window.ActiveXObject) {
+		liveSearchReq = new ActiveXObject("Microsoft.XMLHTTP");
+	}
+	liveSearchReq.onreadystatechange= liveSearchProcessReqChange;
+	liveSearchReq.open("GET", liveSearchRoot + "/cgi-bin/koha/livesearch.pl?value=" + document.forms.searchform.value.value + liveSearchParams);
+	liveSearchLast = document.forms.searchform.value.value;
+	liveSearchReq.send(null);
+	}
+}
+
+function liveSearchProcessReqChange() {
+	
+	if (liveSearchReq.readyState == 4) {
+		var  res = document.getElementById("LSResult");
+		res.style.display = "block";
+		var  sh = document.getElementById("LSShadow");
+		
+		sh.innerHTML = liveSearchReq.responseText;
+		 
+	}
+}
+
+function liveSearchSubmit() {
+	var highlight = document.getElementById("LSHighlight");
+	if (highlight && highlight.firstChild) {
+		window.location = liveSearchRoot + liveSearchRootSubDir + highlight.firstChild.getAttribute("href");
+		return false;
+	} 
+	else {
+		return true;
+	}
+}
+
+// for mouseovers
+function liveSearchHover(el) {
+		highlight = document.getElementById("LSHighlight");
+		if (highlight) {
+			highlight.removeAttribute("id");
+		}
+		el.setAttribute("id","LSHighlight");
+}
+
+function liveSearchClicked(el) {
+		highlight = document.getElementById("LSHighlight");
+		if (highlight) {
+			highlight.removeAttribute("id");
+		}
+		el.setAttribute("id","LSHighlight");
+		return liveSearchSubmit();
+}
+





More information about the Koha-cvs mailing list