diff options
author | ctrlaltca <> | 2012-07-12 11:21:01 +0000 |
---|---|---|
committer | ctrlaltca <> | 2012-07-12 11:21:01 +0000 |
commit | 903ae8a581fac1e6917fc3e31d2ad8fb91df80c3 (patch) | |
tree | e08bf04f0823650a231227ac3499121270172a23 /buildscripts/jGrouseDoc/skins/common | |
parent | 3e4e6e66aeb3f8fea4e1eb4237498ef9d2358f63 (diff) |
standardize the use of unix eol; use svn properties to enforce native eol
Diffstat (limited to 'buildscripts/jGrouseDoc/skins/common')
-rw-r--r-- | buildscripts/jGrouseDoc/skins/common/js/jgdoc.js | 478 | ||||
-rw-r--r-- | buildscripts/jGrouseDoc/skins/common/js/jgindex.js | 192 | ||||
-rw-r--r-- | buildscripts/jGrouseDoc/skins/common/js/navTree.js | 426 |
3 files changed, 548 insertions, 548 deletions
diff --git a/buildscripts/jGrouseDoc/skins/common/js/jgdoc.js b/buildscripts/jGrouseDoc/skins/common/js/jgdoc.js index 0687c039..7b1281bf 100644 --- a/buildscripts/jGrouseDoc/skins/common/js/jgdoc.js +++ b/buildscripts/jGrouseDoc/skins/common/js/jgdoc.js @@ -1,239 +1,239 @@ -/**
- * Searcher for JGrouseDoc
- * $Id: jgdoc.js 324 2008-01-06 16:44:39Z denis.riabtchik $
- */
-
-jgdoc = {}
-
-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;
- return this;
- },
-
- _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)
- {
- window.location.href = target._data.ref;
- },
-
- onmouseover : function(event, target)
- {
- this.selectItem(target.index);
- },
-
- onmouseout : function(event, target)
- {
- this.unselectItem(target.index);
- },
-
- 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 = '';
- },
-
-
- 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 d = document.createElement("div");
- 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);
- }
-}
-
+/** + * Searcher for JGrouseDoc + * $Id: jgdoc.js 324 2008-01-06 16:44:39Z denis.riabtchik $ + */ + +jgdoc = {} + +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; + return this; + }, + + _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) + { + window.location.href = target._data.ref; + }, + + onmouseover : function(event, target) + { + this.selectItem(target.index); + }, + + onmouseout : function(event, target) + { + this.unselectItem(target.index); + }, + + 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 = ''; + }, + + + 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 d = document.createElement("div"); + 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); + } +} + diff --git a/buildscripts/jGrouseDoc/skins/common/js/jgindex.js b/buildscripts/jGrouseDoc/skins/common/js/jgindex.js index 5a0bf2de..d1944cff 100644 --- a/buildscripts/jGrouseDoc/skins/common/js/jgindex.js +++ b/buildscripts/jGrouseDoc/skins/common/js/jgindex.js @@ -1,96 +1,96 @@ -/**
- * Script that builds jGrouseDoc Index Page
- * Copyright (c) 2007 by Robert Kieffer and jGrouseDoc contributors
- * $Id: jgindex.js 303 2007-12-24 22:52:30Z denis.riabtchik $
- */
-
-var jgindex = {
- load: function() {
- // Sort data by localName
- jgindex.data.sort(function(a,b) {
- var c = (a.localName || a.fullName).toLowerCase();
- var d = (b.localName || b.fullName).toLowerCase();
- return c < d ? -1 : (c > d ? 1 : 0);
- });
-
- // Now render the index
- jgindex.renderEntries();
- },
-
- renderEntries: function() {
- var h = [];
-
- // Use a DL, since this is the most semantically correct structure
- h.push('<dl>');
-
- // Hash to track which letters have entries
- var letters = {};
-
- // Loop through each entry
- for (var i = 0; i < jgindex.data.length; i++) {
- var entry = jgindex.data[i];
-
- // Get name/url for the entry's namespace
- var srcName = entry.parent;
- var srcLink = entry.ref.replace(/#.*/, '');
-
- // Apply odd/even classname (makes styling even/odd rows easy)
- var cn = [(i % 2) ? 'odd' : 'even'];
- cn.push(/^(class|interface|struct|object)/.test(entry.summary) ? 'is_namespace' : 'is_not_namespace');
-
- // Get the entry's first letter
- var ln = entry.localName || entry.fullName || '_unnamed';
- var letter = ln.charAt(0).toUpperCase();
-
- // ... and see if it's the first one for that letter
- if (!letters[letter]) {
- letters[letter] = true;
- } else {
- letter = null;
- }
-
- // ... and if it is, render the section header
- if (letter) {
- h.push('<h3 class="letter_section"><a name="' + letter + '">' + letter + '</a></h3>');
- }
-
- // Render the entry's HTML
- cn = cn.join(' ');
- h.push(
- '<dt title="' + entry.summary + '" class="' + cn + '">' +
- '<a href="' + entry.ref + '">' + ln + '</a>' +
- '</dt>' +
- '<dd class="' + cn + '">' +
- '<a href="' + srcLink + '">' + srcName + '</a>' +
- '</dd>'
- );
- }
- h.push('</dl>');
-
- // Stick it all into the element
- document.getElementById('index').innerHTML = h.join('\n');
-
- // Render the letters table-of-contents at the top
- h = [];
- var toc = '$_ABCDEFGHIJKLMNOPQRSTUVWXYZ';
- for (var i = 0; i < toc.length; i++) {
- var letter = toc.charAt(i);
- h.push(letters[letter] ?
- '<span class="has_entries"><a href="#' + letter + '">' + letter + '</a></span>' :
- '<span class="no_entries">' + letter + '</span>'
- );
- }
- document.getElementById('toc').innerHTML = h.join('\n');
- }
-}
-
-
-// Hack so we can get access to the index data
-var jgdoc = {
- Searcher: {
- setData: function(data) {
- jgindex.data = data;
- jgindex.load();
- }
- }
-}
+/** + * Script that builds jGrouseDoc Index Page + * Copyright (c) 2007 by Robert Kieffer and jGrouseDoc contributors + * $Id: jgindex.js 303 2007-12-24 22:52:30Z denis.riabtchik $ + */ + +var jgindex = { + load: function() { + // Sort data by localName + jgindex.data.sort(function(a,b) { + var c = (a.localName || a.fullName).toLowerCase(); + var d = (b.localName || b.fullName).toLowerCase(); + return c < d ? -1 : (c > d ? 1 : 0); + }); + + // Now render the index + jgindex.renderEntries(); + }, + + renderEntries: function() { + var h = []; + + // Use a DL, since this is the most semantically correct structure + h.push('<dl>'); + + // Hash to track which letters have entries + var letters = {}; + + // Loop through each entry + for (var i = 0; i < jgindex.data.length; i++) { + var entry = jgindex.data[i]; + + // Get name/url for the entry's namespace + var srcName = entry.parent; + var srcLink = entry.ref.replace(/#.*/, ''); + + // Apply odd/even classname (makes styling even/odd rows easy) + var cn = [(i % 2) ? 'odd' : 'even']; + cn.push(/^(class|interface|struct|object)/.test(entry.summary) ? 'is_namespace' : 'is_not_namespace'); + + // Get the entry's first letter + var ln = entry.localName || entry.fullName || '_unnamed'; + var letter = ln.charAt(0).toUpperCase(); + + // ... and see if it's the first one for that letter + if (!letters[letter]) { + letters[letter] = true; + } else { + letter = null; + } + + // ... and if it is, render the section header + if (letter) { + h.push('<h3 class="letter_section"><a name="' + letter + '">' + letter + '</a></h3>'); + } + + // Render the entry's HTML + cn = cn.join(' '); + h.push( + '<dt title="' + entry.summary + '" class="' + cn + '">' + + '<a href="' + entry.ref + '">' + ln + '</a>' + + '</dt>' + + '<dd class="' + cn + '">' + + '<a href="' + srcLink + '">' + srcName + '</a>' + + '</dd>' + ); + } + h.push('</dl>'); + + // Stick it all into the element + document.getElementById('index').innerHTML = h.join('\n'); + + // Render the letters table-of-contents at the top + h = []; + var toc = '$_ABCDEFGHIJKLMNOPQRSTUVWXYZ'; + for (var i = 0; i < toc.length; i++) { + var letter = toc.charAt(i); + h.push(letters[letter] ? + '<span class="has_entries"><a href="#' + letter + '">' + letter + '</a></span>' : + '<span class="no_entries">' + letter + '</span>' + ); + } + document.getElementById('toc').innerHTML = h.join('\n'); + } +} + + +// Hack so we can get access to the index data +var jgdoc = { + Searcher: { + setData: function(data) { + jgindex.data = data; + jgindex.load(); + } + } +} diff --git a/buildscripts/jGrouseDoc/skins/common/js/navTree.js b/buildscripts/jGrouseDoc/skins/common/js/navTree.js index f0c4f133..5a71ec51 100644 --- a/buildscripts/jGrouseDoc/skins/common/js/navTree.js +++ b/buildscripts/jGrouseDoc/skins/common/js/navTree.js @@ -1,213 +1,213 @@ -jgdoc = {};
-jgdoc.TreeItem = function(nodeName, item)
-{
- this._nodeName = nodeName;
- this._data = item;
- this._children = [];
-
-}
-
-jgdoc.Searcher =
-{
- setData : function(data) {
- this._data = data;
- this.processItems();
- this.render();
- },
-
- sorter: function(o1, o2) {
- var l1 = o1.localName;
- var l2 = o2.localName;
- return l1 < l2? -1 : (l1 > l2 ? 1 : 0);
- },
-
- processItems : function() {
- var root;
-
- // Pass 1: Build index by fullName, and locate the root element
- this._byName = {};
- for (var i = 0; i < this._data.length; i++) {
- var d = this._data[i];
- if (d.fullName == "GLOBAL") {
- root = this._root = d;
- }
- this._byName[d.fullName] = d;
- }
-
- // Pass 2: Populate _children arrays
- for (var i = 0; i < this._data.length; i++) {
- var item = this._data[i];
- if (item.elementType == "logical_container" && item != this._root) {
- var parent = this._byName[item.parent];
- parent._children = parent._children || [];
- parent._children.push(item);
- }
- }
- },
-
- 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(' ');
- var found = false;
- for (var i = 0; i < a.length; i++)
- {
- if (a[i] == className)
- {
- a.splice(i, 1);
- found = true;
- break;
- }
- }
- element.className = a.join(' ');
- return found;
- },
-
- clicked : function(event)
- {
- event = window.event? window.event : event;
- var target = event.target || event.srcElement;
- var span = target.parentNode;
- var li = span.parentNode;
- var wasOpen = jgdoc.Searcher.removeClass(li, 'open');
- if (wasOpen)
- {
- jgdoc.Searcher.addClass(li, 'closed');
- }
- else
- {
- jgdoc.Searcher.removeClass(li, 'closed');
- jgdoc.Searcher.addClass(li, 'open');
- }
- span.title = "Click to " + (wasOpen? "expand" : "collapse");
-
- },
-
- 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);
- }
- },
-
-
- render : function()
- {
- var d = document.getElementById('content');
- d.innerHTML = '';
- var athis = this;
- function renderNode(item)
- {
- var node = document.createElement('li');
- node.className = item.type;
- node.innerHTML = "<span class='node'><span class='markerSpace'> </span></span><a href='" + item.ref + "' target='classFrame' title='" + item.summary + "'>" + item.localName + "</a>";
- var span = node.firstChild;
- var img = span.firstChild;
- athis.addListener(img, 'mousedown', athis.clicked);
- if (item._children)
- {
- item._children.sort(jgdoc.Searcher.sorter);
- node.className += (item == athis._root)? ' open' : ' closed';
- span.title = "Click to " + (item != athis._root? 'expand' : 'collapse');
- var subnode = document.createElement("ul");
- subnode.className = 'contents';
- for (var i = 0; i < item._children.length; i++)
- {
- var child = renderNode(item._children[i]);
- subnode.appendChild(child);
- }
- node.appendChild(subnode);
- }
- else
- {
- node.className += ' leaf';
- }
- item._node = node;
- return node;
- }
- var root = renderNode(this._root);
- d.appendChild(root);
- },
-
- cancelEvent : function(event)
- {
- if (event.preventDefault)
- {
- event.preventDefault();
- event.stopPropagation();
- }
- else
- {
- event.preventDefault();
- event.stopPropagation();
- }
- },
-
- switchAll : function(doOpen)
- {
- var ac = doOpen? 'open' : 'closed';
- var rc = doOpen? 'closed' : 'open';
-
- var athis = this;
-
- function doSwitchNode(anode)
- {
- if (anode._children)
- {
- if (doOpen || anode != athis._root)
- {
- athis.removeClass(anode._node, rc);
- athis.addClass(anode._node, ac);
- }
- for (var i = 0; i < anode._children.length; i++)
- {
- doSwitchNode(anode._children[i]);
- }
- }
- }
- doSwitchNode(this._root);
- },
-
- onOpenAll : function()
- {
- jgdoc.Searcher.switchAll(true);
- },
-
- onCloseAll : function()
- {
- jgdoc.Searcher.switchAll(false);
- }
-
-};
+jgdoc = {}; +jgdoc.TreeItem = function(nodeName, item) +{ + this._nodeName = nodeName; + this._data = item; + this._children = []; + +} + +jgdoc.Searcher = +{ + setData : function(data) { + this._data = data; + this.processItems(); + this.render(); + }, + + sorter: function(o1, o2) { + var l1 = o1.localName; + var l2 = o2.localName; + return l1 < l2? -1 : (l1 > l2 ? 1 : 0); + }, + + processItems : function() { + var root; + + // Pass 1: Build index by fullName, and locate the root element + this._byName = {}; + for (var i = 0; i < this._data.length; i++) { + var d = this._data[i]; + if (d.fullName == "GLOBAL") { + root = this._root = d; + } + this._byName[d.fullName] = d; + } + + // Pass 2: Populate _children arrays + for (var i = 0; i < this._data.length; i++) { + var item = this._data[i]; + if (item.elementType == "logical_container" && item != this._root) { + var parent = this._byName[item.parent]; + parent._children = parent._children || []; + parent._children.push(item); + } + } + }, + + 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(' '); + var found = false; + for (var i = 0; i < a.length; i++) + { + if (a[i] == className) + { + a.splice(i, 1); + found = true; + break; + } + } + element.className = a.join(' '); + return found; + }, + + clicked : function(event) + { + event = window.event? window.event : event; + var target = event.target || event.srcElement; + var span = target.parentNode; + var li = span.parentNode; + var wasOpen = jgdoc.Searcher.removeClass(li, 'open'); + if (wasOpen) + { + jgdoc.Searcher.addClass(li, 'closed'); + } + else + { + jgdoc.Searcher.removeClass(li, 'closed'); + jgdoc.Searcher.addClass(li, 'open'); + } + span.title = "Click to " + (wasOpen? "expand" : "collapse"); + + }, + + 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); + } + }, + + + render : function() + { + var d = document.getElementById('content'); + d.innerHTML = ''; + var athis = this; + function renderNode(item) + { + var node = document.createElement('li'); + node.className = item.type; + node.innerHTML = "<span class='node'><span class='markerSpace'> </span></span><a href='" + item.ref + "' target='classFrame' title='" + item.summary + "'>" + item.localName + "</a>"; + var span = node.firstChild; + var img = span.firstChild; + athis.addListener(img, 'mousedown', athis.clicked); + if (item._children) + { + item._children.sort(jgdoc.Searcher.sorter); + node.className += (item == athis._root)? ' open' : ' closed'; + span.title = "Click to " + (item != athis._root? 'expand' : 'collapse'); + var subnode = document.createElement("ul"); + subnode.className = 'contents'; + for (var i = 0; i < item._children.length; i++) + { + var child = renderNode(item._children[i]); + subnode.appendChild(child); + } + node.appendChild(subnode); + } + else + { + node.className += ' leaf'; + } + item._node = node; + return node; + } + var root = renderNode(this._root); + d.appendChild(root); + }, + + cancelEvent : function(event) + { + if (event.preventDefault) + { + event.preventDefault(); + event.stopPropagation(); + } + else + { + event.preventDefault(); + event.stopPropagation(); + } + }, + + switchAll : function(doOpen) + { + var ac = doOpen? 'open' : 'closed'; + var rc = doOpen? 'closed' : 'open'; + + var athis = this; + + function doSwitchNode(anode) + { + if (anode._children) + { + if (doOpen || anode != athis._root) + { + athis.removeClass(anode._node, rc); + athis.addClass(anode._node, ac); + } + for (var i = 0; i < anode._children.length; i++) + { + doSwitchNode(anode._children[i]); + } + } + } + doSwitchNode(this._root); + }, + + onOpenAll : function() + { + jgdoc.Searcher.switchAll(true); + }, + + onCloseAll : function() + { + jgdoc.Searcher.switchAll(false); + } + +}; |