dbconsole 0.0.3 → 0.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +8 -8
- data/app/assets/javascripts/dbconsole/jquery-1.10.2.js +9789 -0
- data/app/assets/javascripts/dbconsole/jquery-ui-1.10.4.custom.min.js +7 -0
- data/app/assets/javascripts/dbconsole/jquery.tablesorter.min.js +4 -0
- data/app/assets/javascripts/dbconsole/jquery.ui.core.js +320 -0
- data/app/assets/javascripts/dbconsole/jquery.ui.tabs.js +849 -0
- data/app/assets/javascripts/dbconsole/jquery.ui.widget.js +521 -0
- data/app/assets/stylesheets/dbconsole/asc.gif +0 -0
- data/app/assets/stylesheets/dbconsole/bg.gif +0 -0
- data/app/assets/stylesheets/dbconsole/demos.css +19 -0
- data/app/assets/stylesheets/dbconsole/desc.gif +0 -0
- data/app/assets/stylesheets/dbconsole/images/animated-overlay.gif +0 -0
- data/app/assets/stylesheets/dbconsole/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
- data/app/assets/stylesheets/dbconsole/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
- data/app/assets/stylesheets/dbconsole/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
- data/app/assets/stylesheets/dbconsole/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
- data/app/assets/stylesheets/dbconsole/images/ui-bg_glass_75_dadada_1x400.png +0 -0
- data/app/assets/stylesheets/dbconsole/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
- data/app/assets/stylesheets/dbconsole/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
- data/app/assets/stylesheets/dbconsole/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
- data/app/assets/stylesheets/dbconsole/images/ui-icons_222222_256x240.png +0 -0
- data/app/assets/stylesheets/dbconsole/images/ui-icons_2e83ff_256x240.png +0 -0
- data/app/assets/stylesheets/dbconsole/images/ui-icons_454545_256x240.png +0 -0
- data/app/assets/stylesheets/dbconsole/images/ui-icons_888888_256x240.png +0 -0
- data/app/assets/stylesheets/dbconsole/images/ui-icons_cd0a0a_256x240.png +0 -0
- data/app/assets/stylesheets/dbconsole/jquery.ui.core.css +93 -0
- data/app/assets/stylesheets/dbconsole/jquery.ui.tabs.css +51 -0
- data/app/assets/stylesheets/dbconsole/jquery.ui.theme.css +410 -0
- data/app/assets/stylesheets/dbconsole/style.css +98 -0
- data/app/controllers/dbconsole/databases_controller.rb +74 -10
- data/app/controllers/dbconsole/style.css +85 -0
- data/app/views/dbconsole/databases/create.html.erb +155 -0
- data/app/views/dbconsole/databases/index.html.erb +5 -2
- data/app/views/dbconsole/databases/show.html.erb +155 -0
- data/app/views/layouts/dbconsole/application.html.erb +3 -1
- data/lib/dbconsole/version.rb +1 -1
- metadata +47 -2
@@ -0,0 +1,4 @@
|
|
1
|
+
|
2
|
+
(function($){$.extend({tablesorter:new
|
3
|
+
function(){var parsers=[],widgets=[];this.defaults={cssHeader:"header",cssAsc:"headerSortUp",cssDesc:"headerSortDown",cssChildRow:"expand-child",sortInitialOrder:"asc",sortMultiSortKey:"shiftKey",sortForce:null,sortAppend:null,sortLocaleCompare:true,textExtraction:"simple",parsers:{},widgets:[],widgetZebra:{css:["even","odd"]},headers:{},widthFixed:false,cancelSelection:true,sortList:[],headerList:[],dateFormat:"us",decimal:'/\.|\,/g',onRenderHeader:null,selectorHeaders:'thead th',debug:false};function benchmark(s,d){log(s+","+(new Date().getTime()-d.getTime())+"ms");}this.benchmark=benchmark;function log(s){if(typeof console!="undefined"&&typeof console.debug!="undefined"){console.log(s);}else{alert(s);}}function buildParserCache(table,$headers){if(table.config.debug){var parsersDebug="";}if(table.tBodies.length==0)return;var rows=table.tBodies[0].rows;if(rows[0]){var list=[],cells=rows[0].cells,l=cells.length;for(var i=0;i<l;i++){var p=false;if($.metadata&&($($headers[i]).metadata()&&$($headers[i]).metadata().sorter)){p=getParserById($($headers[i]).metadata().sorter);}else if((table.config.headers[i]&&table.config.headers[i].sorter)){p=getParserById(table.config.headers[i].sorter);}if(!p){p=detectParserForColumn(table,rows,-1,i);}if(table.config.debug){parsersDebug+="column:"+i+" parser:"+p.id+"\n";}list.push(p);}}if(table.config.debug){log(parsersDebug);}return list;};function detectParserForColumn(table,rows,rowIndex,cellIndex){var l=parsers.length,node=false,nodeValue=false,keepLooking=true;while(nodeValue==''&&keepLooking){rowIndex++;if(rows[rowIndex]){node=getNodeFromRowAndCellIndex(rows,rowIndex,cellIndex);nodeValue=trimAndGetNodeText(table.config,node);if(table.config.debug){log('Checking if value was empty on row:'+rowIndex);}}else{keepLooking=false;}}for(var i=1;i<l;i++){if(parsers[i].is(nodeValue,table,node)){return parsers[i];}}return parsers[0];}function getNodeFromRowAndCellIndex(rows,rowIndex,cellIndex){return rows[rowIndex].cells[cellIndex];}function trimAndGetNodeText(config,node){return $.trim(getElementText(config,node));}function getParserById(name){var l=parsers.length;for(var i=0;i<l;i++){if(parsers[i].id.toLowerCase()==name.toLowerCase()){return parsers[i];}}return false;}function buildCache(table){if(table.config.debug){var cacheTime=new Date();}var totalRows=(table.tBodies[0]&&table.tBodies[0].rows.length)||0,totalCells=(table.tBodies[0].rows[0]&&table.tBodies[0].rows[0].cells.length)||0,parsers=table.config.parsers,cache={row:[],normalized:[]};for(var i=0;i<totalRows;++i){var c=$(table.tBodies[0].rows[i]),cols=[];if(c.hasClass(table.config.cssChildRow)){cache.row[cache.row.length-1]=cache.row[cache.row.length-1].add(c);continue;}cache.row.push(c);for(var j=0;j<totalCells;++j){cols.push(parsers[j].format(getElementText(table.config,c[0].cells[j]),table,c[0].cells[j]));}cols.push(cache.normalized.length);cache.normalized.push(cols);cols=null;};if(table.config.debug){benchmark("Building cache for "+totalRows+" rows:",cacheTime);}return cache;};function getElementText(config,node){var text="";if(!node)return"";if(!config.supportsTextContent)config.supportsTextContent=node.textContent||false;if(config.textExtraction=="simple"){if(config.supportsTextContent){text=node.textContent;}else{if(node.childNodes[0]&&node.childNodes[0].hasChildNodes()){text=node.childNodes[0].innerHTML;}else{text=node.innerHTML;}}}else{if(typeof(config.textExtraction)=="function"){text=config.textExtraction(node);}else{text=$(node).text();}}return text;}function appendToTable(table,cache){if(table.config.debug){var appendTime=new Date()}var c=cache,r=c.row,n=c.normalized,totalRows=n.length,checkCell=(n[0].length-1),tableBody=$(table.tBodies[0]),rows=[];for(var i=0;i<totalRows;i++){var pos=n[i][checkCell];rows.push(r[pos]);if(!table.config.appender){var l=r[pos].length;for(var j=0;j<l;j++){tableBody[0].appendChild(r[pos][j]);}}}if(table.config.appender){table.config.appender(table,rows);}rows=null;if(table.config.debug){benchmark("Rebuilt table:",appendTime);}applyWidget(table);setTimeout(function(){$(table).trigger("sortEnd");},0);};function buildHeaders(table){if(table.config.debug){var time=new Date();}var meta=($.metadata)?true:false;var header_index=computeTableHeaderCellIndexes(table);$tableHeaders=$(table.config.selectorHeaders,table).each(function(index){this.column=header_index[this.parentNode.rowIndex+"-"+this.cellIndex];this.order=formatSortingOrder(table.config.sortInitialOrder);this.count=this.order;if(checkHeaderMetadata(this)||checkHeaderOptions(table,index))this.sortDisabled=true;if(checkHeaderOptionsSortingLocked(table,index))this.order=this.lockedOrder=checkHeaderOptionsSortingLocked(table,index);if(!this.sortDisabled){var $th=$(this).addClass(table.config.cssHeader);if(table.config.onRenderHeader)table.config.onRenderHeader.apply($th);}table.config.headerList[index]=this;});if(table.config.debug){benchmark("Built headers:",time);log($tableHeaders);}return $tableHeaders;};function computeTableHeaderCellIndexes(t){var matrix=[];var lookup={};var thead=t.getElementsByTagName('THEAD')[0];var trs=thead.getElementsByTagName('TR');for(var i=0;i<trs.length;i++){var cells=trs[i].cells;for(var j=0;j<cells.length;j++){var c=cells[j];var rowIndex=c.parentNode.rowIndex;var cellId=rowIndex+"-"+c.cellIndex;var rowSpan=c.rowSpan||1;var colSpan=c.colSpan||1
|
4
|
+
var firstAvailCol;if(typeof(matrix[rowIndex])=="undefined"){matrix[rowIndex]=[];}for(var k=0;k<matrix[rowIndex].length+1;k++){if(typeof(matrix[rowIndex][k])=="undefined"){firstAvailCol=k;break;}}lookup[cellId]=firstAvailCol;for(var k=rowIndex;k<rowIndex+rowSpan;k++){if(typeof(matrix[k])=="undefined"){matrix[k]=[];}var matrixrow=matrix[k];for(var l=firstAvailCol;l<firstAvailCol+colSpan;l++){matrixrow[l]="x";}}}}return lookup;}function checkCellColSpan(table,rows,row){var arr=[],r=table.tHead.rows,c=r[row].cells;for(var i=0;i<c.length;i++){var cell=c[i];if(cell.colSpan>1){arr=arr.concat(checkCellColSpan(table,headerArr,row++));}else{if(table.tHead.length==1||(cell.rowSpan>1||!r[row+1])){arr.push(cell);}}}return arr;};function checkHeaderMetadata(cell){if(($.metadata)&&($(cell).metadata().sorter===false)){return true;};return false;}function checkHeaderOptions(table,i){if((table.config.headers[i])&&(table.config.headers[i].sorter===false)){return true;};return false;}function checkHeaderOptionsSortingLocked(table,i){if((table.config.headers[i])&&(table.config.headers[i].lockedOrder))return table.config.headers[i].lockedOrder;return false;}function applyWidget(table){var c=table.config.widgets;var l=c.length;for(var i=0;i<l;i++){getWidgetById(c[i]).format(table);}}function getWidgetById(name){var l=widgets.length;for(var i=0;i<l;i++){if(widgets[i].id.toLowerCase()==name.toLowerCase()){return widgets[i];}}};function formatSortingOrder(v){if(typeof(v)!="Number"){return(v.toLowerCase()=="desc")?1:0;}else{return(v==1)?1:0;}}function isValueInArray(v,a){var l=a.length;for(var i=0;i<l;i++){if(a[i][0]==v){return true;}}return false;}function setHeadersCss(table,$headers,list,css){$headers.removeClass(css[0]).removeClass(css[1]);var h=[];$headers.each(function(offset){if(!this.sortDisabled){h[this.column]=$(this);}});var l=list.length;for(var i=0;i<l;i++){h[list[i][0]].addClass(css[list[i][1]]);}}function fixColumnWidth(table,$headers){var c=table.config;if(c.widthFixed){var colgroup=$('<colgroup>');$("tr:first td",table.tBodies[0]).each(function(){colgroup.append($('<col>').css('width',$(this).width()));});$(table).prepend(colgroup);};}function updateHeaderSortCount(table,sortList){var c=table.config,l=sortList.length;for(var i=0;i<l;i++){var s=sortList[i],o=c.headerList[s[0]];o.count=s[1];o.count++;}}function multisort(table,sortList,cache){if(table.config.debug){var sortTime=new Date();}var dynamicExp="var sortWrapper = function(a,b) {",l=sortList.length;for(var i=0;i<l;i++){var c=sortList[i][0];var order=sortList[i][1];var s=(table.config.parsers[c].type=="text")?((order==0)?makeSortFunction("text","asc",c):makeSortFunction("text","desc",c)):((order==0)?makeSortFunction("numeric","asc",c):makeSortFunction("numeric","desc",c));var e="e"+i;dynamicExp+="var "+e+" = "+s;dynamicExp+="if("+e+") { return "+e+"; } ";dynamicExp+="else { ";}var orgOrderCol=cache.normalized[0].length-1;dynamicExp+="return a["+orgOrderCol+"]-b["+orgOrderCol+"];";for(var i=0;i<l;i++){dynamicExp+="}; ";}dynamicExp+="return 0; ";dynamicExp+="}; ";if(table.config.debug){benchmark("Evaling expression:"+dynamicExp,new Date());}eval(dynamicExp);cache.normalized.sort(sortWrapper);if(table.config.debug){benchmark("Sorting on "+sortList.toString()+" and dir "+order+" time:",sortTime);}return cache;};function makeSortFunction(type,direction,index){var a="a["+index+"]",b="b["+index+"]";if(type=='text'&&direction=='asc'){return"("+a+" == "+b+" ? 0 : ("+a+" === null ? Number.POSITIVE_INFINITY : ("+b+" === null ? Number.NEGATIVE_INFINITY : ("+a+" < "+b+") ? -1 : 1 )));";}else if(type=='text'&&direction=='desc'){return"("+a+" == "+b+" ? 0 : ("+a+" === null ? Number.POSITIVE_INFINITY : ("+b+" === null ? Number.NEGATIVE_INFINITY : ("+b+" < "+a+") ? -1 : 1 )));";}else if(type=='numeric'&&direction=='asc'){return"("+a+" === null && "+b+" === null) ? 0 :("+a+" === null ? Number.POSITIVE_INFINITY : ("+b+" === null ? Number.NEGATIVE_INFINITY : "+a+" - "+b+"));";}else if(type=='numeric'&&direction=='desc'){return"("+a+" === null && "+b+" === null) ? 0 :("+a+" === null ? Number.POSITIVE_INFINITY : ("+b+" === null ? Number.NEGATIVE_INFINITY : "+b+" - "+a+"));";}};function makeSortText(i){return"((a["+i+"] < b["+i+"]) ? -1 : ((a["+i+"] > b["+i+"]) ? 1 : 0));";};function makeSortTextDesc(i){return"((b["+i+"] < a["+i+"]) ? -1 : ((b["+i+"] > a["+i+"]) ? 1 : 0));";};function makeSortNumeric(i){return"a["+i+"]-b["+i+"];";};function makeSortNumericDesc(i){return"b["+i+"]-a["+i+"];";};function sortText(a,b){if(table.config.sortLocaleCompare)return a.localeCompare(b);return((a<b)?-1:((a>b)?1:0));};function sortTextDesc(a,b){if(table.config.sortLocaleCompare)return b.localeCompare(a);return((b<a)?-1:((b>a)?1:0));};function sortNumeric(a,b){return a-b;};function sortNumericDesc(a,b){return b-a;};function getCachedSortType(parsers,i){return parsers[i].type;};this.construct=function(settings){return this.each(function(){if(!this.tHead||!this.tBodies)return;var $this,$document,$headers,cache,config,shiftDown=0,sortOrder;this.config={};config=$.extend(this.config,$.tablesorter.defaults,settings);$this=$(this);$.data(this,"tablesorter",config);$headers=buildHeaders(this);this.config.parsers=buildParserCache(this,$headers);cache=buildCache(this);var sortCSS=[config.cssDesc,config.cssAsc];fixColumnWidth(this);$headers.click(function(e){var totalRows=($this[0].tBodies[0]&&$this[0].tBodies[0].rows.length)||0;if(!this.sortDisabled&&totalRows>0){$this.trigger("sortStart");var $cell=$(this);var i=this.column;this.order=this.count++%2;if(this.lockedOrder)this.order=this.lockedOrder;if(!e[config.sortMultiSortKey]){config.sortList=[];if(config.sortForce!=null){var a=config.sortForce;for(var j=0;j<a.length;j++){if(a[j][0]!=i){config.sortList.push(a[j]);}}}config.sortList.push([i,this.order]);}else{if(isValueInArray(i,config.sortList)){for(var j=0;j<config.sortList.length;j++){var s=config.sortList[j],o=config.headerList[s[0]];if(s[0]==i){o.count=s[1];o.count++;s[1]=o.count%2;}}}else{config.sortList.push([i,this.order]);}};setTimeout(function(){setHeadersCss($this[0],$headers,config.sortList,sortCSS);appendToTable($this[0],multisort($this[0],config.sortList,cache));},1);return false;}}).mousedown(function(){if(config.cancelSelection){this.onselectstart=function(){return false};return false;}});$this.bind("update",function(){var me=this;setTimeout(function(){me.config.parsers=buildParserCache(me,$headers);cache=buildCache(me);},1);}).bind("updateCell",function(e,cell){var config=this.config;var pos=[(cell.parentNode.rowIndex-1),cell.cellIndex];cache.normalized[pos[0]][pos[1]]=config.parsers[pos[1]].format(getElementText(config,cell),cell);}).bind("sorton",function(e,list){$(this).trigger("sortStart");config.sortList=list;var sortList=config.sortList;updateHeaderSortCount(this,sortList);setHeadersCss(this,$headers,sortList,sortCSS);appendToTable(this,multisort(this,sortList,cache));}).bind("appendCache",function(){appendToTable(this,cache);}).bind("applyWidgetId",function(e,id){getWidgetById(id).format(this);}).bind("applyWidgets",function(){applyWidget(this);});if($.metadata&&($(this).metadata()&&$(this).metadata().sortlist)){config.sortList=$(this).metadata().sortlist;}if(config.sortList.length>0){$this.trigger("sorton",[config.sortList]);}applyWidget(this);});};this.addParser=function(parser){var l=parsers.length,a=true;for(var i=0;i<l;i++){if(parsers[i].id.toLowerCase()==parser.id.toLowerCase()){a=false;}}if(a){parsers.push(parser);};};this.addWidget=function(widget){widgets.push(widget);};this.formatFloat=function(s){var i=parseFloat(s);return(isNaN(i))?0:i;};this.formatInt=function(s){var i=parseInt(s);return(isNaN(i))?0:i;};this.isDigit=function(s,config){return/^[-+]?\d*$/.test($.trim(s.replace(/[,.']/g,'')));};this.clearTableBody=function(table){if($.browser.msie){function empty(){while(this.firstChild)this.removeChild(this.firstChild);}empty.apply(table.tBodies[0]);}else{table.tBodies[0].innerHTML="";}};}});$.fn.extend({tablesorter:$.tablesorter.construct});var ts=$.tablesorter;ts.addParser({id:"text",is:function(s){return true;},format:function(s){return $.trim(s.toLocaleLowerCase());},type:"text"});ts.addParser({id:"digit",is:function(s,table){var c=table.config;return $.tablesorter.isDigit(s,c);},format:function(s){return $.tablesorter.formatFloat(s);},type:"numeric"});ts.addParser({id:"currency",is:function(s){return/^[£$€?.]/.test(s);},format:function(s){return $.tablesorter.formatFloat(s.replace(new RegExp(/[£$€]/g),""));},type:"numeric"});ts.addParser({id:"ipAddress",is:function(s){return/^\d{2,3}[\.]\d{2,3}[\.]\d{2,3}[\.]\d{2,3}$/.test(s);},format:function(s){var a=s.split("."),r="",l=a.length;for(var i=0;i<l;i++){var item=a[i];if(item.length==2){r+="0"+item;}else{r+=item;}}return $.tablesorter.formatFloat(r);},type:"numeric"});ts.addParser({id:"url",is:function(s){return/^(https?|ftp|file):\/\/$/.test(s);},format:function(s){return jQuery.trim(s.replace(new RegExp(/(https?|ftp|file):\/\//),''));},type:"text"});ts.addParser({id:"isoDate",is:function(s){return/^\d{4}[\/-]\d{1,2}[\/-]\d{1,2}$/.test(s);},format:function(s){return $.tablesorter.formatFloat((s!="")?new Date(s.replace(new RegExp(/-/g),"/")).getTime():"0");},type:"numeric"});ts.addParser({id:"percent",is:function(s){return/\%$/.test($.trim(s));},format:function(s){return $.tablesorter.formatFloat(s.replace(new RegExp(/%/g),""));},type:"numeric"});ts.addParser({id:"usLongDate",is:function(s){return s.match(new RegExp(/^[A-Za-z]{3,10}\.? [0-9]{1,2}, ([0-9]{4}|'?[0-9]{2}) (([0-2]?[0-9]:[0-5][0-9])|([0-1]?[0-9]:[0-5][0-9]\s(AM|PM)))$/));},format:function(s){return $.tablesorter.formatFloat(new Date(s).getTime());},type:"numeric"});ts.addParser({id:"shortDate",is:function(s){return/\d{1,2}[\/\-]\d{1,2}[\/\-]\d{2,4}/.test(s);},format:function(s,table){var c=table.config;s=s.replace(/\-/g,"/");if(c.dateFormat=="us"){s=s.replace(/(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})/,"$3/$1/$2");}else if(c.dateFormat=="uk"){s=s.replace(/(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})/,"$3/$2/$1");}else if(c.dateFormat=="dd/mm/yy"||c.dateFormat=="dd-mm-yy"){s=s.replace(/(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{2})/,"$1/$2/$3");}return $.tablesorter.formatFloat(new Date(s).getTime());},type:"numeric"});ts.addParser({id:"time",is:function(s){return/^(([0-2]?[0-9]:[0-5][0-9])|([0-1]?[0-9]:[0-5][0-9]\s(am|pm)))$/.test(s);},format:function(s){return $.tablesorter.formatFloat(new Date("2000/01/01 "+s).getTime());},type:"numeric"});ts.addParser({id:"metadata",is:function(s){return false;},format:function(s,table,cell){var c=table.config,p=(!c.parserMetadataName)?'sortValue':c.parserMetadataName;return $(cell).metadata()[p];},type:"numeric"});ts.addWidget({id:"zebra",format:function(table){if(table.config.debug){var time=new Date();}var $tr,row=-1,odd;$("tr:visible",table.tBodies[0]).each(function(i){$tr=$(this);if(!$tr.hasClass(table.config.cssChildRow))row++;odd=(row%2==0);$tr.removeClass(table.config.widgetZebra.css[odd?0:1]).addClass(table.config.widgetZebra.css[odd?1:0])});if(table.config.debug){$.tablesorter.benchmark("Applying Zebra widget",time);}}});})(jQuery);
|
@@ -0,0 +1,320 @@
|
|
1
|
+
/*!
|
2
|
+
* jQuery UI Core 1.10.4
|
3
|
+
* http://jqueryui.com
|
4
|
+
*
|
5
|
+
* Copyright 2014 jQuery Foundation and other contributors
|
6
|
+
* Released under the MIT license.
|
7
|
+
* http://jquery.org/license
|
8
|
+
*
|
9
|
+
* http://api.jqueryui.com/category/ui-core/
|
10
|
+
*/
|
11
|
+
(function( $, undefined ) {
|
12
|
+
|
13
|
+
var uuid = 0,
|
14
|
+
runiqueId = /^ui-id-\d+$/;
|
15
|
+
|
16
|
+
// $.ui might exist from components with no dependencies, e.g., $.ui.position
|
17
|
+
$.ui = $.ui || {};
|
18
|
+
|
19
|
+
$.extend( $.ui, {
|
20
|
+
version: "1.10.4",
|
21
|
+
|
22
|
+
keyCode: {
|
23
|
+
BACKSPACE: 8,
|
24
|
+
COMMA: 188,
|
25
|
+
DELETE: 46,
|
26
|
+
DOWN: 40,
|
27
|
+
END: 35,
|
28
|
+
ENTER: 13,
|
29
|
+
ESCAPE: 27,
|
30
|
+
HOME: 36,
|
31
|
+
LEFT: 37,
|
32
|
+
NUMPAD_ADD: 107,
|
33
|
+
NUMPAD_DECIMAL: 110,
|
34
|
+
NUMPAD_DIVIDE: 111,
|
35
|
+
NUMPAD_ENTER: 108,
|
36
|
+
NUMPAD_MULTIPLY: 106,
|
37
|
+
NUMPAD_SUBTRACT: 109,
|
38
|
+
PAGE_DOWN: 34,
|
39
|
+
PAGE_UP: 33,
|
40
|
+
PERIOD: 190,
|
41
|
+
RIGHT: 39,
|
42
|
+
SPACE: 32,
|
43
|
+
TAB: 9,
|
44
|
+
UP: 38
|
45
|
+
}
|
46
|
+
});
|
47
|
+
|
48
|
+
// plugins
|
49
|
+
$.fn.extend({
|
50
|
+
focus: (function( orig ) {
|
51
|
+
return function( delay, fn ) {
|
52
|
+
return typeof delay === "number" ?
|
53
|
+
this.each(function() {
|
54
|
+
var elem = this;
|
55
|
+
setTimeout(function() {
|
56
|
+
$( elem ).focus();
|
57
|
+
if ( fn ) {
|
58
|
+
fn.call( elem );
|
59
|
+
}
|
60
|
+
}, delay );
|
61
|
+
}) :
|
62
|
+
orig.apply( this, arguments );
|
63
|
+
};
|
64
|
+
})( $.fn.focus ),
|
65
|
+
|
66
|
+
scrollParent: function() {
|
67
|
+
var scrollParent;
|
68
|
+
if (($.ui.ie && (/(static|relative)/).test(this.css("position"))) || (/absolute/).test(this.css("position"))) {
|
69
|
+
scrollParent = this.parents().filter(function() {
|
70
|
+
return (/(relative|absolute|fixed)/).test($.css(this,"position")) && (/(auto|scroll)/).test($.css(this,"overflow")+$.css(this,"overflow-y")+$.css(this,"overflow-x"));
|
71
|
+
}).eq(0);
|
72
|
+
} else {
|
73
|
+
scrollParent = this.parents().filter(function() {
|
74
|
+
return (/(auto|scroll)/).test($.css(this,"overflow")+$.css(this,"overflow-y")+$.css(this,"overflow-x"));
|
75
|
+
}).eq(0);
|
76
|
+
}
|
77
|
+
|
78
|
+
return (/fixed/).test(this.css("position")) || !scrollParent.length ? $(document) : scrollParent;
|
79
|
+
},
|
80
|
+
|
81
|
+
zIndex: function( zIndex ) {
|
82
|
+
if ( zIndex !== undefined ) {
|
83
|
+
return this.css( "zIndex", zIndex );
|
84
|
+
}
|
85
|
+
|
86
|
+
if ( this.length ) {
|
87
|
+
var elem = $( this[ 0 ] ), position, value;
|
88
|
+
while ( elem.length && elem[ 0 ] !== document ) {
|
89
|
+
// Ignore z-index if position is set to a value where z-index is ignored by the browser
|
90
|
+
// This makes behavior of this function consistent across browsers
|
91
|
+
// WebKit always returns auto if the element is positioned
|
92
|
+
position = elem.css( "position" );
|
93
|
+
if ( position === "absolute" || position === "relative" || position === "fixed" ) {
|
94
|
+
// IE returns 0 when zIndex is not specified
|
95
|
+
// other browsers return a string
|
96
|
+
// we ignore the case of nested elements with an explicit value of 0
|
97
|
+
// <div style="z-index: -10;"><div style="z-index: 0;"></div></div>
|
98
|
+
value = parseInt( elem.css( "zIndex" ), 10 );
|
99
|
+
if ( !isNaN( value ) && value !== 0 ) {
|
100
|
+
return value;
|
101
|
+
}
|
102
|
+
}
|
103
|
+
elem = elem.parent();
|
104
|
+
}
|
105
|
+
}
|
106
|
+
|
107
|
+
return 0;
|
108
|
+
},
|
109
|
+
|
110
|
+
uniqueId: function() {
|
111
|
+
return this.each(function() {
|
112
|
+
if ( !this.id ) {
|
113
|
+
this.id = "ui-id-" + (++uuid);
|
114
|
+
}
|
115
|
+
});
|
116
|
+
},
|
117
|
+
|
118
|
+
removeUniqueId: function() {
|
119
|
+
return this.each(function() {
|
120
|
+
if ( runiqueId.test( this.id ) ) {
|
121
|
+
$( this ).removeAttr( "id" );
|
122
|
+
}
|
123
|
+
});
|
124
|
+
}
|
125
|
+
});
|
126
|
+
|
127
|
+
// selectors
|
128
|
+
function focusable( element, isTabIndexNotNaN ) {
|
129
|
+
var map, mapName, img,
|
130
|
+
nodeName = element.nodeName.toLowerCase();
|
131
|
+
if ( "area" === nodeName ) {
|
132
|
+
map = element.parentNode;
|
133
|
+
mapName = map.name;
|
134
|
+
if ( !element.href || !mapName || map.nodeName.toLowerCase() !== "map" ) {
|
135
|
+
return false;
|
136
|
+
}
|
137
|
+
img = $( "img[usemap=#" + mapName + "]" )[0];
|
138
|
+
return !!img && visible( img );
|
139
|
+
}
|
140
|
+
return ( /input|select|textarea|button|object/.test( nodeName ) ?
|
141
|
+
!element.disabled :
|
142
|
+
"a" === nodeName ?
|
143
|
+
element.href || isTabIndexNotNaN :
|
144
|
+
isTabIndexNotNaN) &&
|
145
|
+
// the element and all of its ancestors must be visible
|
146
|
+
visible( element );
|
147
|
+
}
|
148
|
+
|
149
|
+
function visible( element ) {
|
150
|
+
return $.expr.filters.visible( element ) &&
|
151
|
+
!$( element ).parents().addBack().filter(function() {
|
152
|
+
return $.css( this, "visibility" ) === "hidden";
|
153
|
+
}).length;
|
154
|
+
}
|
155
|
+
|
156
|
+
$.extend( $.expr[ ":" ], {
|
157
|
+
data: $.expr.createPseudo ?
|
158
|
+
$.expr.createPseudo(function( dataName ) {
|
159
|
+
return function( elem ) {
|
160
|
+
return !!$.data( elem, dataName );
|
161
|
+
};
|
162
|
+
}) :
|
163
|
+
// support: jQuery <1.8
|
164
|
+
function( elem, i, match ) {
|
165
|
+
return !!$.data( elem, match[ 3 ] );
|
166
|
+
},
|
167
|
+
|
168
|
+
focusable: function( element ) {
|
169
|
+
return focusable( element, !isNaN( $.attr( element, "tabindex" ) ) );
|
170
|
+
},
|
171
|
+
|
172
|
+
tabbable: function( element ) {
|
173
|
+
var tabIndex = $.attr( element, "tabindex" ),
|
174
|
+
isTabIndexNaN = isNaN( tabIndex );
|
175
|
+
return ( isTabIndexNaN || tabIndex >= 0 ) && focusable( element, !isTabIndexNaN );
|
176
|
+
}
|
177
|
+
});
|
178
|
+
|
179
|
+
// support: jQuery <1.8
|
180
|
+
if ( !$( "<a>" ).outerWidth( 1 ).jquery ) {
|
181
|
+
$.each( [ "Width", "Height" ], function( i, name ) {
|
182
|
+
var side = name === "Width" ? [ "Left", "Right" ] : [ "Top", "Bottom" ],
|
183
|
+
type = name.toLowerCase(),
|
184
|
+
orig = {
|
185
|
+
innerWidth: $.fn.innerWidth,
|
186
|
+
innerHeight: $.fn.innerHeight,
|
187
|
+
outerWidth: $.fn.outerWidth,
|
188
|
+
outerHeight: $.fn.outerHeight
|
189
|
+
};
|
190
|
+
|
191
|
+
function reduce( elem, size, border, margin ) {
|
192
|
+
$.each( side, function() {
|
193
|
+
size -= parseFloat( $.css( elem, "padding" + this ) ) || 0;
|
194
|
+
if ( border ) {
|
195
|
+
size -= parseFloat( $.css( elem, "border" + this + "Width" ) ) || 0;
|
196
|
+
}
|
197
|
+
if ( margin ) {
|
198
|
+
size -= parseFloat( $.css( elem, "margin" + this ) ) || 0;
|
199
|
+
}
|
200
|
+
});
|
201
|
+
return size;
|
202
|
+
}
|
203
|
+
|
204
|
+
$.fn[ "inner" + name ] = function( size ) {
|
205
|
+
if ( size === undefined ) {
|
206
|
+
return orig[ "inner" + name ].call( this );
|
207
|
+
}
|
208
|
+
|
209
|
+
return this.each(function() {
|
210
|
+
$( this ).css( type, reduce( this, size ) + "px" );
|
211
|
+
});
|
212
|
+
};
|
213
|
+
|
214
|
+
$.fn[ "outer" + name] = function( size, margin ) {
|
215
|
+
if ( typeof size !== "number" ) {
|
216
|
+
return orig[ "outer" + name ].call( this, size );
|
217
|
+
}
|
218
|
+
|
219
|
+
return this.each(function() {
|
220
|
+
$( this).css( type, reduce( this, size, true, margin ) + "px" );
|
221
|
+
});
|
222
|
+
};
|
223
|
+
});
|
224
|
+
}
|
225
|
+
|
226
|
+
// support: jQuery <1.8
|
227
|
+
if ( !$.fn.addBack ) {
|
228
|
+
$.fn.addBack = function( selector ) {
|
229
|
+
return this.add( selector == null ?
|
230
|
+
this.prevObject : this.prevObject.filter( selector )
|
231
|
+
);
|
232
|
+
};
|
233
|
+
}
|
234
|
+
|
235
|
+
// support: jQuery 1.6.1, 1.6.2 (http://bugs.jquery.com/ticket/9413)
|
236
|
+
if ( $( "<a>" ).data( "a-b", "a" ).removeData( "a-b" ).data( "a-b" ) ) {
|
237
|
+
$.fn.removeData = (function( removeData ) {
|
238
|
+
return function( key ) {
|
239
|
+
if ( arguments.length ) {
|
240
|
+
return removeData.call( this, $.camelCase( key ) );
|
241
|
+
} else {
|
242
|
+
return removeData.call( this );
|
243
|
+
}
|
244
|
+
};
|
245
|
+
})( $.fn.removeData );
|
246
|
+
}
|
247
|
+
|
248
|
+
|
249
|
+
|
250
|
+
|
251
|
+
|
252
|
+
// deprecated
|
253
|
+
$.ui.ie = !!/msie [\w.]+/.exec( navigator.userAgent.toLowerCase() );
|
254
|
+
|
255
|
+
$.support.selectstart = "onselectstart" in document.createElement( "div" );
|
256
|
+
$.fn.extend({
|
257
|
+
disableSelection: function() {
|
258
|
+
return this.bind( ( $.support.selectstart ? "selectstart" : "mousedown" ) +
|
259
|
+
".ui-disableSelection", function( event ) {
|
260
|
+
event.preventDefault();
|
261
|
+
});
|
262
|
+
},
|
263
|
+
|
264
|
+
enableSelection: function() {
|
265
|
+
return this.unbind( ".ui-disableSelection" );
|
266
|
+
}
|
267
|
+
});
|
268
|
+
|
269
|
+
$.extend( $.ui, {
|
270
|
+
// $.ui.plugin is deprecated. Use $.widget() extensions instead.
|
271
|
+
plugin: {
|
272
|
+
add: function( module, option, set ) {
|
273
|
+
var i,
|
274
|
+
proto = $.ui[ module ].prototype;
|
275
|
+
for ( i in set ) {
|
276
|
+
proto.plugins[ i ] = proto.plugins[ i ] || [];
|
277
|
+
proto.plugins[ i ].push( [ option, set[ i ] ] );
|
278
|
+
}
|
279
|
+
},
|
280
|
+
call: function( instance, name, args ) {
|
281
|
+
var i,
|
282
|
+
set = instance.plugins[ name ];
|
283
|
+
if ( !set || !instance.element[ 0 ].parentNode || instance.element[ 0 ].parentNode.nodeType === 11 ) {
|
284
|
+
return;
|
285
|
+
}
|
286
|
+
|
287
|
+
for ( i = 0; i < set.length; i++ ) {
|
288
|
+
if ( instance.options[ set[ i ][ 0 ] ] ) {
|
289
|
+
set[ i ][ 1 ].apply( instance.element, args );
|
290
|
+
}
|
291
|
+
}
|
292
|
+
}
|
293
|
+
},
|
294
|
+
|
295
|
+
// only used by resizable
|
296
|
+
hasScroll: function( el, a ) {
|
297
|
+
|
298
|
+
//If overflow is hidden, the element might have extra content, but the user wants to hide it
|
299
|
+
if ( $( el ).css( "overflow" ) === "hidden") {
|
300
|
+
return false;
|
301
|
+
}
|
302
|
+
|
303
|
+
var scroll = ( a && a === "left" ) ? "scrollLeft" : "scrollTop",
|
304
|
+
has = false;
|
305
|
+
|
306
|
+
if ( el[ scroll ] > 0 ) {
|
307
|
+
return true;
|
308
|
+
}
|
309
|
+
|
310
|
+
// TODO: determine which cases actually cause this to happen
|
311
|
+
// if the element doesn't have the scroll set, see if it's possible to
|
312
|
+
// set the scroll
|
313
|
+
el[ scroll ] = 1;
|
314
|
+
has = ( el[ scroll ] > 0 );
|
315
|
+
el[ scroll ] = 0;
|
316
|
+
return has;
|
317
|
+
}
|
318
|
+
});
|
319
|
+
|
320
|
+
})( jQuery );
|