First commit of the new doc system.
This commit is contained in:
parent
41c94b4688
commit
8cef646d17
22 changed files with 5491 additions and 4608 deletions
34
docs/js/doc.js
Normal file
34
docs/js/doc.js
Normal file
|
@ -0,0 +1,34 @@
|
|||
var rules = {
|
||||
self: "{$}",
|
||||
type: function(a){ /*console.log( a, types[a] );*/ return types[a]; },
|
||||
"self[*]": "<li><span class='type'><span title='{@type($.type)}'>{$.type}</span></span> <span class='fn'>" +
|
||||
"<a href='#{$.name}' class='name' title='{$.name}: {$.short}'>{$.name}</a>({$.params})</span>" +
|
||||
"<div class='short'>{$.short}</div><div class='more'><div class='desc'>{$.desc}</div>{$.examples}</div></li>",
|
||||
trim: function(a){ console.log( a ); return !a || a.replace(/, $/); },
|
||||
"self[*].params[*]": " <span class='arg-type' title='{@type($.type)}'>{$.type}</span> <span class='arg-name' title='{$.desc}'>{$.name}</span>, ",
|
||||
"self[*].examples[*]": "<div class='example'><h5>Example:</h5><p>{$.desc}</p><pre>{$.code}</pre><b>HTML:</b><pre>{$.before}</pre><b>Result:</b><pre>{$.result}</pre></div>"
|
||||
};
|
||||
|
||||
var types = {
|
||||
jQuery: "A jQuery object.",
|
||||
Object: "A simple Javascript object. For example, it could be a String or a Number.",
|
||||
String: "A string of characters.",
|
||||
Number: "A numeric valid.",
|
||||
Element: "The Javascript object representation of a DOM Element.",
|
||||
Hash: "A Javascript object that contains key/value pairs in the form of properties and values.",
|
||||
"Array<Element>": "An Array of DOM Elements.",
|
||||
"Array<String>": "An Array of strings.",
|
||||
Function: "A reference to a Javascript function."
|
||||
};
|
||||
|
||||
$(document).ready(function(){
|
||||
$("span[@title]").addClass("tooltip").ToolTipDemo('#fff');
|
||||
$("a.name").click(function(){
|
||||
$("div.more,div.short",this.parentNode.parentNode).toggle().find("div.desc",function(){
|
||||
$(this).html( $(this).html().replace(/\n\n/g, "<br/><br/>") );
|
||||
});
|
||||
return false;
|
||||
});
|
||||
|
||||
$("#docs").alphaPager( 1 );
|
||||
});
|
111
docs/js/pager.js
Normal file
111
docs/js/pager.js
Normal file
|
@ -0,0 +1,111 @@
|
|||
$.fn.alphaPager = function(fn,type) {
|
||||
type = type || "char";
|
||||
|
||||
if ( fn == undefined ) {
|
||||
fn = function(a){ return _clean( $.fn.text.apply( a.childNodes ) ); };
|
||||
} else if ( fn.constructor == Number ) {
|
||||
var n = fn;
|
||||
fn = function(a){ return _clean( $.fn.text.apply( [a.childNodes[ n ]] ) ); };
|
||||
}
|
||||
|
||||
function _clean(a){
|
||||
switch (type) {
|
||||
case "char":
|
||||
return a.substr(0,1).toUpperCase();
|
||||
case "word":
|
||||
return /^([a-z0-9]+)/.exec(a)[1];
|
||||
}
|
||||
return a;
|
||||
}
|
||||
|
||||
return this.pager( fn );
|
||||
};
|
||||
|
||||
|
||||
$.fn.pager = function(step) {
|
||||
var types = {
|
||||
UL: "li",
|
||||
OL: "li",
|
||||
DL: "dt",
|
||||
TABLE: "tr"
|
||||
};
|
||||
|
||||
return this.each(function(){
|
||||
var type = types[this.nodeName];
|
||||
var pagedUI = type == "tr" ? $("tbody",this) : $(this);
|
||||
var rows = $(type, pagedUI);
|
||||
var curPage = 0;
|
||||
var names = [], num = [];
|
||||
|
||||
if ( !step || step.constructor != Function ) {
|
||||
step = step || 10;
|
||||
|
||||
if (rows.length > step)
|
||||
for ( var i = 0; i <= rows.length; i += step ) {
|
||||
names.push( names.length + 1 );
|
||||
num.push( [ i, step ] );
|
||||
}
|
||||
} else {
|
||||
var last;
|
||||
rows.each(function(){
|
||||
var l = step( this );
|
||||
if ( l != last ) {
|
||||
names.push( l );
|
||||
var pre = num.length ? num[ num.length - 1 ][0] + num[ num.length - 1 ][1] : 0;
|
||||
|
||||
num.push( [ pre, 0 ] );
|
||||
last = l;
|
||||
}
|
||||
|
||||
num[ num.length - 1 ][1]++;
|
||||
});
|
||||
}
|
||||
|
||||
if ( names.length > 1 ) {
|
||||
var pager = $(this).prev("ul.nav-page").empty();
|
||||
|
||||
if ( !pager.length )
|
||||
pager = $("<ul class='nav-page'></ul>");
|
||||
|
||||
for ( var i = 0; i < names.length; i++ )
|
||||
$("<a href=''></a>").rel( i ).html( names[i] ).click(function() {
|
||||
return handleCrop( this.rel );
|
||||
}).wrap("<li></li>").parent().appendTo(pager);
|
||||
|
||||
pager.insertBefore( this );
|
||||
|
||||
var prev = $("<a href=''>« Prev</a>").click(function(){
|
||||
return handleCrop( --curPage );
|
||||
}).wrap("<li class='prev'></li>").parent().prependTo(pager);
|
||||
|
||||
var next = $("<a href=''>Next »</a>").click(function(){
|
||||
return handleCrop( ++curPage );
|
||||
}).wrap("<li class='next'></li>").parent().appendTo(pager);
|
||||
|
||||
handleCrop( 0 );
|
||||
}
|
||||
|
||||
function handleCrop( page ) {
|
||||
curPage = page - 0;
|
||||
var s = num[ curPage ][0];
|
||||
var e = num[ curPage ][1];
|
||||
|
||||
if ( !curPage ) prev.hide();
|
||||
else prev.show();
|
||||
|
||||
if ( curPage == names.length - 1 ) next.hide();
|
||||
else next.show();
|
||||
|
||||
$("li",pager)
|
||||
.removeClass("cur")
|
||||
.eq( curPage + 1 )
|
||||
.addClass("cur");
|
||||
|
||||
pagedUI.empty().append(
|
||||
jQuery.merge( rows, [] ).slice( s, s + e )
|
||||
);
|
||||
|
||||
return false;
|
||||
}
|
||||
});
|
||||
};
|
72
docs/js/tooltip.js
Normal file
72
docs/js/tooltip.js
Normal file
|
@ -0,0 +1,72 @@
|
|||
/*
|
||||
Description:
|
||||
|
||||
jQuery ToolTip Demo. Demo of how to add elements and get mouse coordinates
|
||||
There is also a ToolTip plugin found at http://www.eyecon.ro/interface/,
|
||||
which uses a CSS class to style the tooltip, but shows it below the input/anchor, rather than where the mouse is
|
||||
|
||||
Usage:
|
||||
|
||||
$(window).load(
|
||||
function()
|
||||
{
|
||||
$("a,input").ToolTipDemo('#fff');
|
||||
}
|
||||
);
|
||||
|
||||
Parameters:
|
||||
|
||||
bgcolour : Background colour
|
||||
*/
|
||||
$.fn.ToolTipDemo = function(bgcolour)
|
||||
{
|
||||
this.mouseover(
|
||||
function(e)
|
||||
{
|
||||
if((!this.title && !this.alt) && !this.tooltipset) return;
|
||||
// get mouse coordinates
|
||||
// based on code from http://www.quirksmode.org/js/events_properties.html
|
||||
var mouseX = e.pageX || (e.clientX ? e.clientX + document.body.scrollLeft : 0);
|
||||
var mouseY = e.pageY || (e.clientY ? e.clientY + document.body.scrollTop : 0);
|
||||
mouseX += 10;
|
||||
mouseY += 10;
|
||||
bgcolour = bgcolour || "#eee";
|
||||
// if there is no sibling after this one, or the next siblings className is not tooltipdemo
|
||||
if(!this.nextSibling || this.nextSibling.className != "tooltipdemo")
|
||||
{
|
||||
// create a div and style it
|
||||
var div = document.createElement("div");
|
||||
$(div).css(
|
||||
{
|
||||
border: "2px outset #ddd",
|
||||
padding: "2px",
|
||||
backgroundColor: bgcolour,
|
||||
position: "absolute"
|
||||
})
|
||||
// add the title/alt attribute to it
|
||||
.html((this.title || this.alt)).addClass("tooltipdemo");
|
||||
this.title = "";
|
||||
this.alt = "";
|
||||
if(this.nextSibling)
|
||||
{
|
||||
this.parentNode.insertBefore(div, this.nextSibling);
|
||||
}
|
||||
else
|
||||
{
|
||||
this.parentNode.appendChild(div);
|
||||
}
|
||||
this.tooltipset = true;
|
||||
}
|
||||
$(this.nextSibling).show().css({left: mouseX + "px", top: mouseY + 3 + "px"});
|
||||
}
|
||||
).mouseout(
|
||||
function()
|
||||
{
|
||||
if(this.nextSibling && this.nextSibling.className == "tooltipdemo")
|
||||
{
|
||||
$(this.nextSibling).hide();
|
||||
}
|
||||
}
|
||||
);
|
||||
return this;
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue