diff options
author | Ciro Mattia Gonano <ciromattia@gmail.com> | 2013-09-11 15:56:48 +0200 |
---|---|---|
committer | Ciro Mattia Gonano <ciromattia@gmail.com> | 2013-09-11 15:57:07 +0200 |
commit | 3069eaf35e833ffe4a1c1c7829dd7e168ae27420 (patch) | |
tree | d0c2e4d934cc34ba7d4232f759923b5a257dcb21 /buildscripts/jGrouseDoc/skins/noframes/js/jgdoc.js | |
parent | b833247ce597ec26159b46c8dfbea7f1e265950b (diff) |
Merge up to r3319
Diffstat (limited to 'buildscripts/jGrouseDoc/skins/noframes/js/jgdoc.js')
-rw-r--r-- | buildscripts/jGrouseDoc/skins/noframes/js/jgdoc.js | 326 |
1 files changed, 0 insertions, 326 deletions
diff --git a/buildscripts/jGrouseDoc/skins/noframes/js/jgdoc.js b/buildscripts/jGrouseDoc/skins/noframes/js/jgdoc.js deleted file mode 100644 index 3e6a9aa5..00000000 --- a/buildscripts/jGrouseDoc/skins/noframes/js/jgdoc.js +++ /dev/null @@ -1,326 +0,0 @@ -/** - * Searcher for JGrouseDoc - * $Id: jgdoc.js 324 2008-01-06 16:44:39Z denis.riabtchik $ - */ - -if (typeof jgdoc == 'undefined') -{ - jgdoc = {} - - jgdoc._dataHandlers = []; - - jgdoc.setData = function(data) - { - for (var i = 0; i < jgdoc._dataHandlers.length; i++) - { - jgdoc._dataHandlers[i](data); - } - } -} - -jgdoc.Searcher = -{ - initialize : function() - { - this._searchBox = document.getElementById("jgsSearchString"); - this._searchResults = document.getElementById("jgsSearchResults"); - this._info = document.getElementById("jgsInfo"); - this._currentValue = ""; - this._currentItems = []; - this._currentItem = -1; - this._data = null; - this._searchPanel = document.getElementById("jgsSearchPanel"); - this.addListener(this._searchBox, 'focus', this.dispatcher); - this.addListener(this._searchBox, 'blur', this.dispatcher); - this.addListener(window, 'resize', this.dispatcher); - var width = this._searchBox.offsetWidth - 4; - this._searchPanel.style.width = width + 'px'; - - /*var node = this._searchBox; - var current = 0; - var currentTop = 0; - while (node) - { - current += node.offsetLeft; - currentTop += node.offsetTop; - node = node.offsetParent; - } - - this._searchPanel.style.left = current + 'px';*/ - this.positionBox(); - return this; - }, - - positionBox : function() - { - var node = this._searchBox; - var current = 0; - var currentTop = 0; - while (node) - { - current += node.offsetLeft; - currentTop += node.offsetTop; - node = node.offsetParent; - } - - this._searchPanel.style.left = current + 'px'; - this._searchPanel.style.top = (currentTop + this._searchBox.offsetHeight) + "px"; - - }, - - _getEvent : function(event) - { - return window.event? window.event : event; - }, - - _getTarget : function(event) - { - return event.target || event.srcElement - }, - - addClass : function(element, className) - { - var s = element.className; - var a = s.split(' '); - for (var i = 0; i < a.length; i++) - { - if (a[i] == className) - { - return; - } - } - a.push(className); - element.className = a.join(' '); - }, - - removeClass : function(element, className) - { - var s = element.className; - var a = s.split(' '); - for (var i = 0; i < a.length; i++) - { - if (a[i] == className) - { - a.splice(i, 1); - break; - } - } - element.className = a.join(' '); - - }, - - dispatcher : function(event) - { - if (this != jgdoc.Searcher) - { - arguments.callee.apply(jgdoc.Searcher, arguments) - return; - } - event = this._getEvent(event); - var type = event.type; - var handler = "on" + type; - this[handler](event, this._getTarget(event)); - }, - - onclick : function(event, target) - { - // workaround for IE bug - window.location.href = target.getAttribute("href", 1); - }, - - onmouseover : function(event, target) - { - this.selectItem(target.index); - }, - - onresize : function(event, target) - { - if (this._searchPanel.style.display != 'none') - { - this.positionBox(); - } - }, - - onmouseout : function(event, target) - { - this.unselectItem(target.index); - }, - - onfocus : function(event, target) - { - this._searchPanel.style.display = ''; - this.positionBox(); - }, - - onblur : function(event, target) - { - var athis = this; - window.setTimeout(function() - { - athis._searchPanel.style.display = 'none'; - }, 300); - - }, - - selectItem : function(index) - { - if (index != this._currentItem) - { - this._currentItem = index; - var item = this._currentItems[index]; - this.addClass(item, 'jgdSelectedItem'); - var text = item._data.summary.split('\n').join('<br/>'); - this._info.innerHTML = text; - } - }, - - unselectItem : function(index) - { - this._currentItem = -1; - var item = this._currentItems[index]; - this.removeClass(item, 'jgdSelectedItem'); - this._info.innerHTML = 'No selection'; - }, - - openItem : function(name) - { - - }, - - - onTimer : function() - { - if (this != jgdoc.Searcher) - { - arguments.callee.apply(jgdoc.Searcher, arguments) - return; - } - var val = this._searchBox.value; - if (val != this._currentValue) - { - this._currentValue = val; - this.redraw(); - } - }, - - setData : function(data) - { - this._data = data; - this.redraw(); - //this._searchBox.focus(); - }, - - addListener : function(element, eventName, handler) - { - if (element.addEventListener) - { - element.addEventListener(eventName, handler, false); - } - else - { - element.attachEvent('on' + eventName, handler); - } - }, - - removeListener : function(element, eventName, handler) - { - if (element.removeEventListener) - { - element.removeEventListener(eventName, handler, false); - } - else - { - element.detachEvent('on' + eventName, handler); - } - }, - - findMatches : function() - { - var result = []; - if (this._currentValue) - { - var v = this._currentValue.toUpperCase(); - for (var i = 0; i < this._data.length; i++) - { - var item = this._data[i]; - if (item.localName.toUpperCase().indexOf(v) == 0) - { - result.push(item); - } - } - } - return result; - }, - - - clearItem : function(item) - { - item._data = null; - this.removeListener(item, 'click', this.dispatcher); - this.removeListener(item, 'mouseover', this.dispatcher); - this.removeListener(item, 'mouseout', this.dispatcher); - }, - - clear : function() - { - for (var i = 0; i < this._currentItems.length; i++) - { - this.clearItem(this._currentItems[i]); - } - this._currentItems = []; - this._searchResults.innerHTML = ""; - this._currentItem = -1; - }, - - - createItem : function(item, index) - { - var d1 = document.createElement("div"); - d1.innerHTML = "<a href='" + item.ref + "'>" + item.fullName + "</a>"; - d = d1.firstChild; - /*d.href = item.ref; - item.ref = d.href;*/ - d.className = "searchItem"; - //d.title = item.summary; - //d.innerHTML = item.fullName; - d.index = index; - d._data = item; - this.addListener(d, 'click', this.dispatcher); - this.addListener(d, 'mouseover', this.dispatcher); - this.addListener(d, 'mouseout', this.dispatcher); - //todo - set listeners - return d; - }, - - redraw : function() - { - this.clear(); - var res = this.findMatches(); - if (res.length > 0) - { - for (var i = 0; i < res.length; i++) - { - var d = this.createItem(res[i], i); - this._currentItems.push(d); - this._searchResults.appendChild(d); - } - } - else - { - var s = (this._currentValue)? "Not found" : "Start typing the name of the item"; - this._searchResults.innerHTML = s; - } - }, - - start : function() - { - var instance = jgdoc.Searcher.initialize(); - instance.setData([]); - instance._timer = window.setInterval(instance.onTimer, 100); - } -} - -jgdoc._dataHandlers.push(function(data) -{ - jgdoc.Searcher.setData(data); -});
\ No newline at end of file |