1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
|
// <h3><a name="LoggerContext" href="#LoggerContext"><span
// class="anchor"/></a>Logger context</h3>
function decorate() {
var anchor = findAnchorInURL(document.URL);
decoratePropertiesInTables(anchor);
decorateDoAnchor(anchor);
decorateConversionWordInTables(anchor);
}
// ----------------------------------------------
function findAnchorInURL(url) {
if(url == null) return null
var index = url.lastIndexOf("#");
if(index != -1 && (index+1) < url.length)
return url.substr(index+1);
else
return null;
}
// ----------------------------------------------
function decoratePropertiesInTables(anchor) {
//if(1==1) return;
var elems = $('tr td:first-child span.prop');
for(var i = 0; i < elems.length; i++) {
var e = elems[i];
var p = e.parentNode;
if(p == null) continue;
var tmpHTML = p.innerHTML;
var propName = e.innerHTML;
var nameAttr = $(e).attr('name')
if(nameAttr == null) {
var containerAttr = $(e).attr('container')
if(containerAttr != null)
nameAttr = containerAttr+capitaliseFirstLetter(propName);
else
nameAttr = propName;
}
p.innerHTML = "<a name='" + nameAttr + "' href='#" + nameAttr +
"'><span class='anchor'/></a><b>" +tmpHTML +"</b>";
scrollIfMatch(p, nameAttr, anchor);
} // for
}
function decorateConversionWordInTables(anchor) {
var elems = $('tr td.word');
for(var i = 0; i < elems.length; i++) {
var e = elems[i];
var tmpHTML = e.innerHTML;
var nameAttr = $(e).attr('name')
if(nameAttr == null)
continue;
e.innerHTML = "<a name='" + nameAttr + "' href='#" + nameAttr +
"'><span class='anchor'/></a>" +tmpHTML;
scrollIfMatch(e, nameAttr, anchor);
}
}
function decorateDoAnchor(anchor) {
var elems = $('.doAnchor');
for(var i = 0; i < elems.length; i++) {
var e = elems[i];
var tmpHTML = e.innerHTML;
var nameAttr = $(e).attr('name')
if(nameAttr == null) {
nameAttr = camelCase($.trim(tmpHTML))
}
e.innerHTML = "<a name='" + nameAttr + "' href='#" + nameAttr +
"'><span class='anchor'/></a>" +tmpHTML;
scrollIfMatch(e, nameAttr, anchor);
}
}
function scrollIfMatch(element, nameAttr, anchor) {
if(anchor != null && nameAttr.toString() == anchor)
element.scrollIntoView(true);
}
function capitaliseFirstLetter(str) {
return str.charAt(0).toUpperCase() + str.slice(1);
}
function camelCase(str) {
return $.trim(str).replace(/\s\w/g, function(match) {
return $.trim(match).toUpperCase();
});
}
|