Author: ssmiweve
Date: 2008-10-27 12:00:28 +0100 (Mon, 27 Oct 2008)
New Revision: 6893

Modified:
   trunk/generic.sesam/war/src/main/javascript/external/mwsuggest.js
Log:
now that it is working well being it back to as close to the original as 
possible so to make updates feasible

Modified: trunk/generic.sesam/war/src/main/javascript/external/mwsuggest.js
===================================================================
--- trunk/generic.sesam/war/src/main/javascript/external/mwsuggest.js   
2008-10-25 19:11:23 UTC (rev 6892)
+++ trunk/generic.sesam/war/src/main/javascript/external/mwsuggest.js   
2008-10-27 11:00:28 UTC (rev 6893)
@@ -1,13 +1,12 @@
 /**
  * OpenSearch ajax suggestion engine for MediaWiki
  *
+ * Original from http://en.wikipedia.org/skins-1.5/common/mwsuggest.js
+ *  As few modifications have been made here as possible to benefit from 
updates to the original.
+ *
  * Modifications:
- *  - for our search form,
- *  - and our suggestion search eg /search/c=suggest&q={searchTerm}
+ *  - suggestion search url is now /search/c=suggest&q={searchTerm}
  *  - removed function os_getNamespaces(r)
- *  - removed references to wgDBname
- *  - removed os_createToggle stuff from os_MWSuggestInit() || 
os_initHandlers(..)
- *  - added example function attachSuggestionToggle
  *  - add resultTableHtmlPrefix & resultTableHtmlsuffix to allow 
customisations of popup div
  *  - introduced os_suggest_result_padding to parallel any css override of 
td.os-suggest-result{padding}
  *
@@ -96,6 +95,9 @@
 var os_mouse_moved = false;
 // delay between keypress and suggestion (in ms)
 var os_search_timeout = 250;
+// these pairs of inputs/forms will be autoloaded at startup
+var os_autoload_inputs = new Array('searchInput', 'searchInput2', 
'powerSearchText', 'searchText');
+var os_autoload_forms = new Array('searchform', 'searchform2', 'powersearch', 
'search' );
 // if we stopped the service
 var os_is_stopped = false;
 // max lines to show in suggest table
@@ -326,7 +328,7 @@
                fix = 20; // give 20px for scrollbar            
        } else
                fix = os_operaWidthFix(w);
-       if(fix < os_suggest_result_padding)
+       if(fix < os_suggest_result_padding) // sesat change
                fix = os_suggest_result_padding; // should be 
td.os-suggest-result padding *2 // sesat change
        maxW += fix;
        
@@ -498,6 +500,13 @@
        
        os_is_stopped = false; // make sure we're running
        
+       /* var cacheKey = wgDBname+":"+query;
+       var cached = os_cache[cacheKey];
+       if(cached != null){
+               os_updateResults(r,wgDBname,query,cached);
+               return;
+       } */
+
        // cancel any pending fetches
        if(os_timer != null && os_timer.id != null)
                clearTimeout(os_timer.id);
@@ -792,19 +801,43 @@
 
 /** Init Result objects and event handlers */
 function os_initHandlers(name, formname, element){
-    var r = new os_Results(name, formname);
-    // event handler
-    os_hookEvent(element, "keyup", function(event) { os_eventKeyup(event); });
-    os_hookEvent(element, "keydown", function(event) { os_eventKeydown(event); 
});
-    os_hookEvent(element, "keypress", function(event) { 
os_eventKeypress(event); });
-    os_hookEvent(element, "blur", function(event) { os_eventBlur(event); });
-    os_hookEvent(element, "focus", function(event) { os_eventFocus(event); });
-    element.setAttribute("autocomplete","off");
-    // stopping handler
-    os_hookEvent(document.getElementById(formname), "submit", function(event){ 
return os_eventOnsubmit(event); });
-    os_map[name] = r;
+       var r = new os_Results(name, formname); 
+       // event handler
+       os_hookEvent(element, "keyup", function(event) { os_eventKeyup(event); 
});
+       os_hookEvent(element, "keydown", function(event) { 
os_eventKeydown(event); });
+       os_hookEvent(element, "keypress", function(event) { 
os_eventKeypress(event); });
+       os_hookEvent(element, "blur", function(event) { os_eventBlur(event); });
+       os_hookEvent(element, "focus", function(event) { os_eventFocus(event); 
});
+       element.setAttribute("autocomplete","off");
+       // stopping handler
+       os_hookEvent(document.getElementById(formname), "submit", 
function(event){ return os_eventOnsubmit(event); });
+       os_map[name] = r;       
+       // toggle link
+       if(document.getElementById(r.toggle) == null){
+               // TODO: disable this while we figure out a way for this to 
work in all browsers
+               /* if(name=='searchInput'){
+                       // special case: place above the main search box
+                       var t = os_createToggle(r,"os-suggest-toggle");
+                       var searchBody = document.getElementById('searchBody');
+                       var first = 
searchBody.parentNode.firstChild.nextSibling.appendChild(t);
+               } else{
+                       // default: place below search box to the right
+                       var t = os_createToggle(r,"os-suggest-toggle-def");
+                       var top = element.offsetTop + element.offsetHeight;
+                       var left = element.offsetLeft + element.offsetWidth;
+                       t.style.position = "absolute";
+                       t.style.top = top + "px";
+                       t.style.left = left + "px";
+                       element.parentNode.appendChild(t);
+                       // only now width gets calculated, shift right
+                       left -= t.offsetWidth;
+                       t.style.left = left + "px";
+                       t.style.visibility = "visible";
+               } */
 }
 
+}
+
 /** Return the span element that contains the toggle link */
 function os_createToggle(r,className){
        var t = document.createElement("span");
@@ -866,26 +899,4 @@
        }       
 }
 
-/** Sesat example addition. Attach toggle to an element. **/
-function attachSuggestionToggle(element){
-    name = "inputBox";
-    formname = "sf";
-
-       var r = new os_Results(name, formname);
-
-    // TODO figure out a way for this to work in all browsers
-
-    // default: place below search box to the right
-    var t = os_createToggle(r,"os-suggest-toggle-def");
-    var top = element.offsetTop + element.offsetHeight;
-    var left = element.offsetLeft + element.offsetWidth;
-    //t.style.position = "absolute";
-    t.style.top = top + "px";
-    t.style.left = left + "px";
-    element.appendChild(t);
-    // only now width gets calculated, shift right
-    left -= t.offsetWidth;
-    t.style.left = left + "px";
-}
-
 os_hookEvent(window, "load", os_MWSuggestInit);


Property changes on: 
trunk/generic.sesam/war/src/main/javascript/external/mwsuggest.js
___________________________________________________________________
Name: svn:keywords
   + Id

_______________________________________________
Kernel-commits mailing list
[email protected]
http://sesat.no/mailman/listinfo/kernel-commits

Reply via email to