koha-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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


From: Joshua Ferraro
Subject: [Koha-cvs] koha/koha-tmpl/opac-tmpl/npl/en/includes livese... [dev_week]
Date: Sat, 10 Jun 2006 15:50:53 +0000

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();
+}
+




reply via email to

[Prev in Thread] Current Thread [Next in Thread]