aboutsummaryrefslogtreecommitdiffstats
path: root/build/docs/js
diff options
context:
space:
mode:
Diffstat (limited to 'build/docs/js')
-rw-r--r--build/docs/js/doc.js24
-rw-r--r--build/docs/js/pager.js111
-rw-r--r--build/docs/js/tooltip.js72
3 files changed, 207 insertions, 0 deletions
diff --git a/build/docs/js/doc.js b/build/docs/js/doc.js
new file mode 100644
index 000000000..8bd25b1c3
--- /dev/null
+++ b/build/docs/js/doc.js
@@ -0,0 +1,24 @@
+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.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 );
+});
diff --git a/build/docs/js/pager.js b/build/docs/js/pager.js
new file mode 100644
index 000000000..12755aa08
--- /dev/null
+++ b/build/docs/js/pager.js
@@ -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=''>&laquo; Prev</a>").click(function(){
+ return handleCrop( --curPage );
+ }).wrap("<li class='prev'></li>").parent().prependTo(pager);
+
+ var next = $("<a href=''>Next &raquo;</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;
+ }
+ });
+};
diff --git a/build/docs/js/tooltip.js b/build/docs/js/tooltip.js
new file mode 100644
index 000000000..e8330e349
--- /dev/null
+++ b/build/docs/js/tooltip.js
@@ -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;
+}