Changeset daf70c in indico
- Timestamp:
- 05/25/11 16:16:34 (2 years ago)
- Branches:
- master, hello-world-walkthrough, ipv6, v0.98-series, v0.98.2, v0.98.3, v0.98b2, v0.99, 051b2622c51afb171a1dedb46a0df4fbb0cbd02e, 0da0c1403bae8e51d8229f460181c71b9e6dda72
- Children:
- 5cf83f
- Parents:
- 765e62
- Location:
- indico/htdocs
- Files:
-
- 2 edited
-
css/jquery-ui.css (modified) (15 diffs)
-
js/jquery/jquery-ui.js (modified) (134 diffs)
Legend:
- Unmodified
- Added
- Removed
-
indico/htdocs/css/jquery-ui.css
rfb6f28 rdaf70c 1 1 /* 2 * jQuery UI CSS Framework 1.8.1 22 * jQuery UI CSS Framework 1.8.13 3 3 * 4 4 * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) … … 43 43 44 44 /* 45 * jQuery UI CSS Framework 1.8.1 245 * jQuery UI CSS Framework 1.8.13 46 46 * 47 47 * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) … … 51 51 * http://docs.jquery.com/UI/Theming/API 52 52 * 53 * To view and modify this theme, visit http://jqueryui.com/themeroller/?ctl=themeroller& ffDefault=arial,serif&fwDefault=bold&fsDefault=13px&cornerRadius=5px&bgColorHeader=4d8bb8&bgTextureHeader=06_inset_hard.png&bgImgOpacityHeader=55&borderColorHeader=0b63a5&fcHeader=ffffff&iconColorHeader=d8e7f3&bgColorContent=fcfdfd&bgTextureContent=06_inset_hard.png&bgImgOpacityContent=100&borderColorContent=a6c9e2&fcContent=222222&iconColorContent=469bdd&bgColorDefault=dfeffc&bgTextureDefault=02_glass.png&bgImgOpacityDefault=85&borderColorDefault=c5dbec&fcDefault=2e6e9e&iconColorDefault=6da8d5&bgColorHover=fff6df&bgTextureHover=02_glass.png&bgImgOpacityHover=75&borderColorHover=79b7e7&fcHover=1d5987&iconColorHover=217bc0&bgColorActive=cdeb8b&bgTextureActive=06_inset_hard.png&bgImgOpacityActive=100&borderColorActive=79b7e7&fcActive=e17009&iconColorActive=f9bd01&bgColorHighlight=fbec88&bgTextureHighlight=01_flat.png&bgImgOpacityHighlight=55&borderColorHighlight=fad42e&fcHighlight=363636&iconColorHighlight=2e83ff&bgColorError=fef1ec&bgTextureError=02_glass.png&bgImgOpacityError=95&borderColorError=cd0a0a&fcError=cd0a0a&iconColorError=cd0a0a&bgColorOverlay=444444&bgTextureOverlay=07_diagonals_medium.png&bgImgOpacityOverlay=25&opacityOverlay=50&bgColorShadow=aaaaaa&bgTextureShadow=01_flat.png&bgImgOpacityShadow=0&opacityShadow=30&thicknessShadow=8px&offsetTopShadow=-8px&offsetLeftShadow=-8px&cornerRadiusShadow=8px53 * To view and modify this theme, visit http://jqueryui.com/themeroller/?ctl=themeroller&ctl=themeroller&ffDefault=arial,serif&fwDefault=bold&fsDefault=13px&cornerRadius=5px&bgColorHeader=4d8bb8&bgTextureHeader=06_inset_hard.png&bgImgOpacityHeader=55&borderColorHeader=0b63a5&fcHeader=ffffff&iconColorHeader=d8e7f3&bgColorContent=fcfdfd&bgTextureContent=06_inset_hard.png&bgImgOpacityContent=100&borderColorContent=a6c9e2&fcContent=222222&iconColorContent=469bdd&bgColorDefault=dfeffc&bgTextureDefault=02_glass.png&bgImgOpacityDefault=85&borderColorDefault=c5dbec&fcDefault=2e6e9e&iconColorDefault=6da8d5&bgColorHover=fff6df&bgTextureHover=02_glass.png&bgImgOpacityHover=75&borderColorHover=79b7e7&fcHover=1d5987&iconColorHover=217bc0&bgColorActive=cdeb8b&bgTextureActive=06_inset_hard.png&bgImgOpacityActive=100&borderColorActive=79b7e7&fcActive=e17009&iconColorActive=f9bd01&bgColorHighlight=fbec88&bgTextureHighlight=01_flat.png&bgImgOpacityHighlight=55&borderColorHighlight=fad42e&fcHighlight=363636&iconColorHighlight=2e83ff&bgColorError=fef1ec&bgTextureError=02_glass.png&bgImgOpacityError=95&borderColorError=cd0a0a&fcError=cd0a0a&iconColorError=cd0a0a&bgColorOverlay=444444&bgTextureOverlay=07_diagonals_medium.png&bgImgOpacityOverlay=25&opacityOverlay=50&bgColorShadow=aaaaaa&bgTextureShadow=01_flat.png&bgImgOpacityShadow=0&opacityShadow=30&thicknessShadow=8px&offsetTopShadow=-8px&offsetLeftShadow=-8px&cornerRadiusShadow=8px 54 54 */ 55 55 … … 294 294 .ui-widget-overlay { background: #444444 url(../images/jquery-ui/ui-bg_diagonals-medium_25_444444_40x40.png) 50% 50% repeat; opacity: .50;filter:Alpha(Opacity=50); } 295 295 .ui-widget-shadow { margin: -8px 0 0 -8px; padding: 8px; background: #aaaaaa url(../images/jquery-ui/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); -moz-border-radius: 8px; -webkit-border-radius: 8px; border-radius: 8px; }/* 296 * jQuery UI Resizable 1.8.1 2296 * jQuery UI Resizable 1.8.13 297 297 * 298 298 * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) … … 307 307 - Resizable: resizable handles fail to work in IE if transparent and content overlaps 308 308 */ 309 background-image:url(data: );309 background-image:url(data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=); 310 310 } 311 311 .ui-resizable-disabled .ui-resizable-handle, .ui-resizable-autohide .ui-resizable-handle { display: none; } … … 318 318 .ui-resizable-nw { cursor: nw-resize; width: 9px; height: 9px; left: -5px; top: -5px; } 319 319 .ui-resizable-ne { cursor: ne-resize; width: 9px; height: 9px; right: -5px; top: -5px;}/* 320 * jQuery UI Selectable 1.8.1 2320 * jQuery UI Selectable 1.8.13 321 321 * 322 322 * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) … … 328 328 .ui-selectable-helper { position: absolute; z-index: 100; border:1px dotted black; } 329 329 /* 330 * jQuery UI Accordion 1.8.1 2330 * jQuery UI Accordion 1.8.13 331 331 * 332 332 * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) … … 347 347 .ui-accordion .ui-accordion-content-active { display: block; } 348 348 /* 349 * jQuery UI Autocomplete 1.8.1 2349 * jQuery UI Autocomplete 1.8.13 350 350 * 351 351 * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) … … 361 361 362 362 /* 363 * jQuery UI Menu 1.8.1 2363 * jQuery UI Menu 1.8.13 364 364 * 365 365 * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) … … 400 400 } 401 401 /* 402 * jQuery UI Button 1.8.1 2402 * jQuery UI Button 1.8.13 403 403 * 404 404 * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) … … 438 438 button.ui-button::-moz-focus-inner { border: 0; padding: 0; } /* reset extra padding in Firefox */ 439 439 /* 440 * jQuery UI Dialog 1.8.1 2440 * jQuery UI Dialog 1.8.13 441 441 * 442 442 * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) … … 459 459 .ui-draggable .ui-dialog-titlebar { cursor: move; } 460 460 /* 461 * jQuery UI Slider 1.8.1 2461 * jQuery UI Slider 1.8.13 462 462 * 463 463 * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) … … 482 482 .ui-slider-vertical .ui-slider-range-min { bottom: 0; } 483 483 .ui-slider-vertical .ui-slider-range-max { top: 0; }/* 484 * jQuery UI Tabs 1.8.1 2484 * jQuery UI Tabs 1.8.13 485 485 * 486 486 * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) … … 500 500 .ui-tabs .ui-tabs-hide { display: none !important; } 501 501 /* 502 * jQuery UI Datepicker 1.8.1 2502 * jQuery UI Datepicker 1.8.13 503 503 * 504 504 * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) … … 567 567 height: 200px; /*must have*/ 568 568 }/* 569 * jQuery UI Progressbar 1.8.1 2569 * jQuery UI Progressbar 1.8.13 570 570 * 571 571 * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) -
indico/htdocs/js/jquery/jquery-ui.js
r8ae4b3 rdaf70c 1 1 /*! 2 * jQuery UI 1.8.1 22 * jQuery UI 1.8.13 3 3 * 4 4 * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) … … 19 19 20 20 $.extend( $.ui, { 21 version: "1.8.1 2",21 version: "1.8.13", 22 22 23 23 keyCode: { … … 175 175 176 176 // selectors 177 function focusable( element, isTabIndexNotNaN ) { 178 var nodeName = element.nodeName.toLowerCase(); 179 if ( "area" === nodeName ) { 180 var map = element.parentNode, 181 mapName = map.name, 182 img; 183 if ( !element.href || !mapName || map.nodeName.toLowerCase() !== "map" ) { 184 return false; 185 } 186 img = $( "img[usemap=#" + mapName + "]" )[0]; 187 return !!img && visible( img ); 188 } 189 return ( /input|select|textarea|button|object/.test( nodeName ) 190 ? !element.disabled 191 : "a" == nodeName 192 ? element.href || isTabIndexNotNaN 193 : isTabIndexNotNaN) 194 // the element and all of its ancestors must be visible 195 && visible( element ); 196 } 197 177 198 function visible( element ) { 178 199 return !$( element ).parents().andSelf().filter(function() { … … 188 209 189 210 focusable: function( element ) { 190 var nodeName = element.nodeName.toLowerCase(), 191 tabIndex = $.attr( element, "tabindex" ); 192 if ( "area" === nodeName ) { 193 var map = element.parentNode, 194 mapName = map.name, 195 img; 196 if ( !element.href || !mapName || map.nodeName.toLowerCase() !== "map" ) { 197 return false; 198 } 199 img = $( "img[usemap=#" + mapName + "]" )[0]; 200 return !!img && visible( img ); 201 } 202 return ( /input|select|textarea|button|object/.test( nodeName ) 203 ? !element.disabled 204 : "a" == nodeName 205 ? element.href || !isNaN( tabIndex ) 206 : !isNaN( tabIndex )) 207 // the element and all of its ancestors must be visible 208 && visible( element ); 211 return focusable( element, !isNaN( $.attr( element, "tabindex" ) ) ); 209 212 }, 210 213 211 214 tabbable: function( element ) { 212 var tabIndex = $.attr( element, "tabindex" ); 213 return ( isNaN( tabIndex ) || tabIndex >= 0 ) && $( element ).is( ":focusable" ); 215 var tabIndex = $.attr( element, "tabindex" ), 216 isTabIndexNaN = isNaN( tabIndex ); 217 return ( isTabIndexNaN || tabIndex >= 0 ) && focusable( element, !isTabIndexNaN ); 214 218 } 215 219 }); … … 255 259 return; 256 260 } 257 261 258 262 for ( var i = 0; i < set.length; i++ ) { 259 263 if ( instance.options[ set[ i ][ 0 ] ] ) { … … 263 267 } 264 268 }, 265 269 266 270 // will be deprecated when we switch to jQuery 1.4 - use jQuery.contains() 267 271 contains: function( a, b ) { … … 270 274 a !== b && a.contains( b ); 271 275 }, 272 276 273 277 // only used by resizable 274 278 hasScroll: function( el, a ) { 275 279 276 280 //If overflow is hidden, the element might have extra content, but the user wants to hide it 277 281 if ( $( el ).css( "overflow" ) === "hidden") { 278 282 return false; 279 283 } 280 284 281 285 var scroll = ( a && a === "left" ) ? "scrollLeft" : "scrollTop", 282 286 has = false; 283 287 284 288 if ( el[ scroll ] > 0 ) { 285 289 return true; 286 290 } 287 291 288 292 // TODO: determine which cases actually cause this to happen 289 293 // if the element doesn't have the scroll set, see if it's possible to … … 294 298 return has; 295 299 }, 296 300 297 301 // these are odd functions, fix the API or move into individual plugins 298 302 isOverAxis: function( x, reference, size ) { … … 308 312 })( jQuery ); 309 313 /*! 310 * jQuery UI Widget 1.8.1 2314 * jQuery UI Widget 1.8.13 311 315 * 312 316 * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) … … 570 574 })( jQuery ); 571 575 /*! 572 * jQuery UI Mouse 1.8.1 2576 * jQuery UI Mouse 1.8.13 573 577 * 574 578 * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) … … 583 587 (function( $, undefined ) { 584 588 589 var mouseHandled = false; 590 $(document).mousedown(function(e) { 591 mouseHandled = false; 592 }); 593 585 594 $.widget("ui.mouse", { 586 595 options: { … … 615 624 _mouseDown: function(event) { 616 625 // don't let more than one widget handle mouseStart 617 // TODO: figure out why we have to use originalEvent 618 event.originalEvent = event.originalEvent || {}; 619 if (event.originalEvent.mouseHandled) { return; } 626 if(mouseHandled) {return}; 620 627 621 628 // we may have missed mouseup (out of window) … … 663 670 664 671 event.preventDefault(); 665 event.originalEvent.mouseHandled = true; 672 673 mouseHandled = true; 666 674 return true; 667 675 }, … … 726 734 })(jQuery); 727 735 /* 728 * jQuery UI Position 1.8.1 2736 * jQuery UI Position 1.8.13 729 737 * 730 738 * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) … … 781 789 782 790 // force my and at to have valid horizontal and veritcal positions 783 // if a value is missing or invalid, it will be converted to center 791 // if a value is missing or invalid, it will be converted to center 784 792 $.each( [ "my", "at" ], function() { 785 793 var pos = ( options[this] || "" ).split( " " ); … … 956 964 left: (options.left - curOffset.left) + curLeft 957 965 }; 958 966 959 967 if ( 'using' in options ) { 960 968 options.using.call( elem, props ); … … 967 975 var elem = this[ 0 ]; 968 976 if ( !elem || !elem.ownerDocument ) { return null; } 969 if ( options ) { 977 if ( options ) { 970 978 return this.each(function() { 971 979 $.offset.setOffset( this, options ); … … 978 986 }( jQuery )); 979 987 /* 980 * jQuery UI Draggable 1.8.1 2988 * jQuery UI Draggable 1.8.13 981 989 * 982 990 * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) … … 1058 1066 if (!this.handle) 1059 1067 return false; 1068 1069 $(o.iframeFix === true ? "iframe" : o.iframeFix).each(function() { 1070 $('<div class="ui-draggable-iframeFix" style="background: #fff;"></div>') 1071 .css({ 1072 width: this.offsetWidth+"px", height: this.offsetHeight+"px", 1073 position: "absolute", opacity: "0.001", zIndex: 1000 1074 }) 1075 .css($(this).offset()) 1076 .appendTo("body"); 1077 }); 1060 1078 1061 1079 return true; … … 1170 1188 this.dropped = false; 1171 1189 } 1172 1190 1173 1191 //if the original element is removed, don't bother to continue if helper is set to "original" 1174 1192 if((!this.element[0] || !this.element[0].parentNode) && this.options.helper == "original") … … 1190 1208 return false; 1191 1209 }, 1192 1210 1211 _mouseUp: function(event) { 1212 if (this.options.iframeFix === true) { 1213 $("div.ui-draggable-iframeFix").each(function() { 1214 this.parentNode.removeChild(this); 1215 }); //Remove frame helpers 1216 } 1217 1218 return $.ui.mouse.prototype._mouseUp.call(this, event); 1219 }, 1220 1193 1221 cancel: function() { 1194 1222 1195 1223 if(this.helper.is(".ui-draggable-dragging")) { 1196 1224 this._mouseUp({}); … … 1198 1226 this._clear(); 1199 1227 } 1200 1228 1201 1229 return this; 1202 1230 1203 1231 }, 1204 1232 … … 1220 1248 1221 1249 var o = this.options; 1222 var helper = $.isFunction(o.helper) ? $(o.helper.apply(this.element[0], [event])) : (o.helper == 'clone' ? this.element.clone() : this.element);1250 var helper = $.isFunction(o.helper) ? $(o.helper.apply(this.element[0], [event])) : (o.helper == 'clone' ? this.element.clone().removeAttr('id') : this.element); 1223 1251 1224 1252 if(!helper.parents('body').length) … … 1321 1349 1322 1350 if(!(/^(document|window|parent)$/).test(o.containment) && o.containment.constructor != Array) { 1323 var ce = $(o.containment)[0]; if(!ce) return; 1324 var co = $(o.containment).offset(); 1351 var c = $(o.containment); 1352 var ce = c[0]; if(!ce) return; 1353 var co = c.offset(); 1325 1354 var over = ($(ce).css("overflow") != 'hidden'); 1326 1355 1327 1356 this.containment = [ 1328 co.left +(parseInt($(ce).css("borderLeftWidth"),10) || 0) + (parseInt($(ce).css("paddingLeft"),10) || 0),1329 co.top +(parseInt($(ce).css("borderTopWidth"),10) || 0) + (parseInt($(ce).css("paddingTop"),10) || 0),1330 co.left+(over ? Math.max(ce.scrollWidth,ce.offsetWidth) : ce.offsetWidth) - (parseInt($(ce).css("borderLeftWidth"),10) || 0) - (parseInt($(ce).css("paddingRight"),10) || 0) - this.helperProportions.width - this.margins.left - this.margins.right,1331 co.top+(over ? Math.max(ce.scrollHeight,ce.offsetHeight) : ce.offsetHeight) - (parseInt($(ce).css("borderTopWidth"),10) || 0) - (parseInt($(ce).css("paddingBottom"),10) || 0) - this.helperProportions.height - this.margins.top - this.margins.bottom1357 (parseInt($(ce).css("borderLeftWidth"),10) || 0) + (parseInt($(ce).css("paddingLeft"),10) || 0), 1358 (parseInt($(ce).css("borderTopWidth"),10) || 0) + (parseInt($(ce).css("paddingTop"),10) || 0), 1359 (over ? Math.max(ce.scrollWidth,ce.offsetWidth) : ce.offsetWidth) - (parseInt($(ce).css("borderLeftWidth"),10) || 0) - (parseInt($(ce).css("paddingRight"),10) || 0) - this.helperProportions.width - this.margins.left - this.margins.right, 1360 (over ? Math.max(ce.scrollHeight,ce.offsetHeight) : ce.offsetHeight) - (parseInt($(ce).css("borderTopWidth"),10) || 0) - (parseInt($(ce).css("paddingBottom"),10) || 0) - this.helperProportions.height - this.margins.top - this.margins.bottom 1332 1361 ]; 1362 this.relative_container = c; 1363 1333 1364 } else if(o.containment.constructor == Array) { 1334 1365 this.containment = o.containment; … … 1372 1403 1373 1404 if(this.originalPosition) { //If we are not dragging yet, we won't check for options 1374 1375 if(this.containment) { 1376 if(event.pageX - this.offset.click.left < this.containment[0]) pageX = this.containment[0] + this.offset.click.left; 1377 if(event.pageY - this.offset.click.top < this.containment[1]) pageY = this.containment[1] + this.offset.click.top; 1378 if(event.pageX - this.offset.click.left > this.containment[2]) pageX = this.containment[2] + this.offset.click.left; 1379 if(event.pageY - this.offset.click.top > this.containment[3]) pageY = this.containment[3] + this.offset.click.top; 1405 var containment; 1406 if(this.containment) { 1407 if (this.relative_container){ 1408 var co = this.relative_container.offset(); 1409 containment = [ this.containment[0] + co.left, 1410 this.containment[1] + co.top, 1411 this.containment[2] + co.left, 1412 this.containment[3] + co.top ]; 1413 } 1414 else { 1415 containment = this.containment; 1416 } 1417 1418 if(event.pageX - this.offset.click.left < containment[0]) pageX = containment[0] + this.offset.click.left; 1419 if(event.pageY - this.offset.click.top < containment[1]) pageY = containment[1] + this.offset.click.top; 1420 if(event.pageX - this.offset.click.left > containment[2]) pageX = containment[2] + this.offset.click.left; 1421 if(event.pageY - this.offset.click.top > containment[3]) pageY = containment[3] + this.offset.click.top; 1380 1422 } 1381 1423 1382 1424 if(o.grid) { 1383 1425 var top = this.originalPageY + Math.round((pageY - this.originalPageY) / o.grid[1]) * o.grid[1]; 1384 pageY = this.containment ? (!(top - this.offset.click.top < this.containment[1] || top - this.offset.click.top > this.containment[3]) ? top : (!(top - this.offset.click.top < this.containment[1]) ? top - o.grid[1] : top + o.grid[1])) : top;1426 pageY = containment ? (!(top - this.offset.click.top < containment[1] || top - this.offset.click.top > containment[3]) ? top : (!(top - this.offset.click.top < containment[1]) ? top - o.grid[1] : top + o.grid[1])) : top; 1385 1427 1386 1428 var left = this.originalPageX + Math.round((pageX - this.originalPageX) / o.grid[0]) * o.grid[0]; 1387 pageX = this.containment ? (!(left - this.offset.click.left < this.containment[0] || left - this.offset.click.left > this.containment[2]) ? left : (!(left - this.offset.click.left < this.containment[0]) ? left - o.grid[0] : left + o.grid[0])) : left;1429 pageX = containment ? (!(left - this.offset.click.left < containment[0] || left - this.offset.click.left > containment[2]) ? left : (!(left - this.offset.click.left < containment[0]) ? left - o.grid[0] : left + o.grid[0])) : left; 1388 1430 } 1389 1431 … … 1440 1482 1441 1483 $.extend($.ui.draggable, { 1442 version: "1.8.1 2"1484 version: "1.8.13" 1443 1485 }); 1444 1486 … … 1510 1552 1511 1553 $.each(inst.sortables, function(i) { 1512 1554 1513 1555 //Copy over some variables to allow calling the sortable's native _intersectsWith 1514 1556 this.instance.positionAbs = inst.positionAbs; 1515 1557 this.instance.helperProportions = inst.helperProportions; 1516 1558 this.instance.offset.click = inst.offset.click; 1517 1559 1518 1560 if(this.instance._intersectsWith(this.instance.containerCache)) { 1519 1561 … … 1525 1567 //by cloning the list group item, appending it to the sortable and using it as inst.currentItem 1526 1568 //We can then fire the start event of the sortable with our passed browser event, and our own helper (so it doesn't create a new one) 1527 this.instance.currentItem = $(self).clone(). appendTo(this.instance.element).data("sortable-item", true);1569 this.instance.currentItem = $(self).clone().removeAttr('id').appendTo(this.instance.element).data("sortable-item", true); 1528 1570 this.instance.options._helper = this.instance.options.helper; //Store helper option to later restore it 1529 1571 this.instance.options.helper = function() { return ui.helper[0]; }; … … 1558 1600 this.instance.isOver = 0; 1559 1601 this.instance.cancelHelperRemoval = true; 1560 1602 1561 1603 //Prevent reverting on this forced stop 1562 1604 this.instance.options.revert = false; 1563 1605 1564 1606 // The out event needs to be triggered independently 1565 1607 this.instance._trigger('out', event, this.instance._uiHash(this.instance)); 1566 1608 1567 1609 this.instance._mouseStop(event, true); 1568 1610 this.instance.options.helper = this.instance.options._helper; … … 1592 1634 var o = $(this).data('draggable').options; 1593 1635 if (o._cursor) $('body').css("cursor", o._cursor); 1594 }1595 });1596 1597 $.ui.plugin.add("draggable", "iframeFix", {1598 start: function(event, ui) {1599 var o = $(this).data('draggable').options;1600 $(o.iframeFix === true ? "iframe" : o.iframeFix).each(function() {1601 $('<div class="ui-draggable-iframeFix" style="background: #fff;"></div>')1602 .css({1603 width: this.offsetWidth+"px", height: this.offsetHeight+"px",1604 position: "absolute", opacity: "0.001", zIndex: 10001605 })1606 .css($(this).offset())1607 .appendTo("body");1608 });1609 },1610 stop: function(event, ui) {1611 $("div.ui-draggable-iframeFix").each(function() { this.parentNode.removeChild(this); }); //Remove frame helpers1612 1636 } 1613 1637 }); … … 1752 1776 }); 1753 1777 if (!group.length) { return; } 1754 1778 1755 1779 var min = parseInt(group[0].style.zIndex) || 0; 1756 1780 $(group).each(function(i) { … … 1777 1801 })(jQuery); 1778 1802 /* 1779 * jQuery UI Droppable 1.8.1 21803 * jQuery UI Droppable 1.8.13 1780 1804 * 1781 1805 * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) … … 1925 1949 1926 1950 $.extend($.ui.droppable, { 1927 version: "1.8.1 2"1951 version: "1.8.13" 1928 1952 }); 1929 1953 … … 2062 2086 })(jQuery); 2063 2087 /* 2064 * jQuery UI Resizable 1.8.1 22088 * jQuery UI Resizable 1.8.13 2065 2089 * 2066 2090 * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) … … 2239 2263 .addClass("ui-resizable-autohide") 2240 2264 .hover(function() { 2265 if (o.disabled) return; 2241 2266 $(this).removeClass("ui-resizable-autohide"); 2242 2267 self._handles.show(); 2243 2268 }, 2244 2269 function(){ 2270 if (o.disabled) return; 2245 2271 if (!self.resizing) { 2246 2272 $(this).addClass("ui-resizable-autohide"); … … 2582 2608 2583 2609 $.extend($.ui.resizable, { 2584 version: "1.8.1 2"2610 version: "1.8.13" 2585 2611 }); 2586 2612 … … 2623 2649 _alsoResize = function (exp, c) { 2624 2650 $(exp).each(function() { 2625 var el = $(this), start = $(this).data("resizable-alsoresize"), style = {}, 2651 var el = $(this), start = $(this).data("resizable-alsoresize"), style = {}, 2626 2652 css = c && c.length ? c : el.parents(ui.originalElement[0]).length ? ['width', 'height'] : ['width', 'height', 'top', 'left']; 2627 2653 … … 2874 2900 })(jQuery); 2875 2901 /* 2876 * jQuery UI Selectable 1.8.1 22902 * jQuery UI Selectable 1.8.13 2877 2903 * 2878 2904 * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) … … 3135 3161 3136 3162 $.extend($.ui.selectable, { 3137 version: "1.8.1 2"3163 version: "1.8.13" 3138 3164 }); 3139 3165 3140 3166 })(jQuery); 3141 3167 /* 3142 * jQuery UI Sortable 1.8.1 23168 * jQuery UI Sortable 1.8.13 3143 3169 * 3144 3170 * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) … … 3191 3217 3192 3218 //Let's determine if the items are being displayed horizontally 3193 this.floating = this.items.length ? (/left|right/).test(this.items[0].item.css('float')) || (/inline|table-cell/).test(this.items[0].item.css('display')) : false;3219 this.floating = this.items.length ? o.axis === 'x' || (/left|right/).test(this.items[0].item.css('float')) || (/inline|table-cell/).test(this.items[0].item.css('display')) : false; 3194 3220 3195 3221 //Let's determine the parent's offset … … 3217 3243 if ( key === "disabled" ) { 3218 3244 this.options[ key ] = value; 3219 3245 3220 3246 this.widget() 3221 3247 [ value ? "addClass" : "removeClass"]( "ui-sortable-disabled" ); … … 3657 3683 : options.connectWith; 3658 3684 }, 3659 3685 3660 3686 _getItemsAsjQuery: function(connected) { 3661 3687 … … 3830 3856 3831 3857 _contactContainers: function(event) { 3832 3833 // get innermost container that intersects with item 3834 var innermostContainer = null, innermostIndex = null; 3835 3836 3858 3859 // get innermost container that intersects with item 3860 var innermostContainer = null, innermostIndex = null; 3861 3862 3837 3863 for (var i = this.containers.length - 1; i >= 0; i--){ 3838 3864 3839 // never consider a container that's located within the item itself 3865 // never consider a container that's located within the item itself 3840 3866 if($.ui.contains(this.currentItem[0], this.containers[i].element[0])) 3841 3867 continue; … … 3843 3869 if(this._intersectsWith(this.containers[i].containerCache)) { 3844 3870 3845 // if we've already found a container and it's more "inner" than this, then continue 3871 // if we've already found a container and it's more "inner" than this, then continue 3846 3872 if(innermostContainer && $.ui.contains(this.containers[i].element[0], innermostContainer.element[0])) 3847 3873 continue; 3848 3874 3849 innermostContainer = this.containers[i]; 3875 innermostContainer = this.containers[i]; 3850 3876 innermostIndex = i; 3851 3877 3852 3878 } else { 3853 // container doesn't intersect. trigger "out" event if necessary 3879 // container doesn't intersect. trigger "out" event if necessary 3854 3880 if(this.containers[i].containerCache.over) { 3855 3881 this.containers[i]._trigger("out", event, this._uiHash(this)); … … 3859 3885 3860 3886 } 3861 3862 // if no intersecting containers found, return 3863 if(!innermostContainer) return; 3887 3888 // if no intersecting containers found, return 3889 if(!innermostContainer) return; 3864 3890 3865 3891 // move the item into the container if it's not there already … … 3867 3893 this.containers[innermostIndex]._trigger("over", event, this._uiHash(this)); 3868 3894 this.containers[innermostIndex].containerCache.over = 1; 3869 } else if(this.currentContainer != this.containers[innermostIndex]) { 3870 3871 //When entering a new container, we will find the item with the least distance and append our item near it 3872 var dist = 10000; var itemWithLeastDistance = null; var base = this.positionAbs[this.containers[innermostIndex].floating ? 'left' : 'top']; 3873 for (var j = this.items.length - 1; j >= 0; j--) { 3874 if(!$.ui.contains(this.containers[innermostIndex].element[0], this.items[j].item[0])) continue; 3875 var cur = this.items[j][this.containers[innermostIndex].floating ? 'left' : 'top']; 3876 if(Math.abs(cur - base) < dist) { 3877 dist = Math.abs(cur - base); itemWithLeastDistance = this.items[j]; 3878 } 3879 } 3880 3881 if(!itemWithLeastDistance && !this.options.dropOnEmpty) //Check if dropOnEmpty is enabled 3882 return; 3883 3884 this.currentContainer = this.containers[innermostIndex]; 3885 itemWithLeastDistance ? this._rearrange(event, itemWithLeastDistance, null, true) : this._rearrange(event, null, this.containers[innermostIndex].element, true); 3886 this._trigger("change", event, this._uiHash()); 3887 this.containers[innermostIndex]._trigger("change", event, this._uiHash(this)); 3888 3889 //Update the placeholder 3890 this.options.placeholder.update(this.currentContainer, this.placeholder); 3891 3892 this.containers[innermostIndex]._trigger("over", event, this._uiHash(this)); 3895 } else if(this.currentContainer != this.containers[innermostIndex]) { 3896 3897 //When entering a new container, we will find the item with the least distance and append our item near it 3898 var dist = 10000; var itemWithLeastDistance = null; var base = this.positionAbs[this.containers[innermostIndex].floating ? 'left' : 'top']; 3899 for (var j = this.items.length - 1; j >= 0; j--) { 3900 if(!$.ui.contains(this.containers[innermostIndex].element[0], this.items[j].item[0])) continue; 3901 var cur = this.items[j][this.containers[innermostIndex].floating ? 'left' : 'top']; 3902 if(Math.abs(cur - base) < dist) { 3903 dist = Math.abs(cur - base); itemWithLeastDistance = this.items[j]; 3904 } 3905 } 3906 3907 if(!itemWithLeastDistance && !this.options.dropOnEmpty) //Check if dropOnEmpty is enabled 3908 return; 3909 3910 this.currentContainer = this.containers[innermostIndex]; 3911 itemWithLeastDistance ? this._rearrange(event, itemWithLeastDistance, null, true) : this._rearrange(event, null, this.containers[innermostIndex].element, true); 3912 this._trigger("change", event, this._uiHash()); 3913 this.containers[innermostIndex]._trigger("change", event, this._uiHash(this)); 3914 3915 //Update the placeholder 3916 this.options.placeholder.update(this.currentContainer, this.placeholder); 3917 3918 this.containers[innermostIndex]._trigger("over", event, this._uiHash(this)); 3893 3919 this.containers[innermostIndex].containerCache.over = 1; 3894 } 3895 3896 3920 } 3921 3922 3897 3923 }, 3898 3924 … … 4212 4238 4213 4239 $.extend($.ui.sortable, { 4214 version: "1.8.1 2"4240 version: "1.8.13" 4215 4241 }); 4216 4242 4217 4243 })(jQuery); 4218 4244 /* 4219 * jQuery UI Accordion 1.8.1 24245 * jQuery UI Accordion 1.8.13 4220 4246 * 4221 4247 * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) … … 4316 4342 self._createIcons(); 4317 4343 self.resize(); 4318 4344 4319 4345 // ARIA 4320 4346 self.element.attr( "role", "tablist" ); … … 4411 4437 _setOption: function( key, value ) { 4412 4438 $.Widget.prototype._setOption.apply( this, arguments ); 4413 4439 4414 4440 if ( key == "active" ) { 4415 4441 this.activate( value ); … … 4736 4762 4737 4763 $.extend( $.ui.accordion, { 4738 version: "1.8.1 2",4764 version: "1.8.13", 4739 4765 animations: { 4740 4766 slide: function( options, additions ) { … … 4828 4854 })( jQuery ); 4829 4855 /* 4830 * jQuery UI Autocomplete 1.8.1 24856 * jQuery UI Autocomplete 1.8.13 4831 4857 * 4832 4858 * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) … … 5154 5180 } 5155 5181 }, 5156 5182 5157 5183 _change: function( event ) { 5158 5184 if ( this.previous !== this.element.val() ) { … … 5258 5284 /* 5259 5285 * jQuery UI Menu (not officially released) 5260 * 5286 * 5261 5287 * This widget isn't yet finished and the API is subject to change. We plan to finish 5262 5288 * it for the next release. You're welcome to give it a try anyway and give us feedback, … … 5294 5320 this.refresh(); 5295 5321 }, 5296 5322 5297 5323 refresh: function() { 5298 5324 var self = this; … … 5302 5328 .addClass("ui-menu-item") 5303 5329 .attr("role", "menuitem"); 5304 5330 5305 5331 items.children("a") 5306 5332 .addClass("ui-corner-all") … … 5319 5345 if (this.hasScroll()) { 5320 5346 var offset = item.offset().top - this.element.offset().top, 5321 scroll = this.element. attr("scrollTop"),5347 scroll = this.element.scrollTop(), 5322 5348 elementHeight = this.element.height(); 5323 5349 if (offset < 0) { 5324 this.element. attr("scrollTop",scroll + offset);5350 this.element.scrollTop( scroll + offset); 5325 5351 } else if (offset >= elementHeight) { 5326 this.element. attr("scrollTop",scroll + offset - elementHeight + item.height());5352 this.element.scrollTop( scroll + offset - elementHeight + item.height()); 5327 5353 } 5328 5354 } … … 5430 5456 5431 5457 hasScroll: function() { 5432 return this.element.height() < this.element .attr("scrollHeight");5458 return this.element.height() < this.element[ $.fn.prop ? "prop" : "attr" ]("scrollHeight"); 5433 5459 }, 5434 5460 … … 5440 5466 }(jQuery)); 5441 5467 /* 5442 * jQuery UI Button 1.8.1 25468 * jQuery UI Button 1.8.13 5443 5469 * 5444 5470 * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) … … 5543 5569 .bind( "blur.button", function() { 5544 5570 $( this ).removeClass( focusClass ); 5571 }) 5572 .bind( "click.button", function( event ) { 5573 if ( options.disabled ) { 5574 event.stopImmediatePropagation(); 5575 } 5545 5576 }); 5546 5577 … … 5736 5767 icons = this.options.icons, 5737 5768 multipleIcons = icons.primary && icons.secondary, 5738 buttonClasses = []; 5769 buttonClasses = []; 5739 5770 5740 5771 if ( icons.primary || icons.secondary ) { … … 5773 5804 this.element.addClass( "ui-buttonset" ); 5774 5805 }, 5775 5806 5776 5807 _init: function() { 5777 5808 this.refresh(); … … 5785 5816 $.Widget.prototype._setOption.apply( this, arguments ); 5786 5817 }, 5787 5818 5788 5819 refresh: function() { 5789 5820 this.buttons = this.element.find( this.options.items ) … … 5823 5854 }( jQuery ) ); 5824 5855 /* 5825 * jQuery UI Dialog 1.8.1 25856 * jQuery UI Dialog 1.8.13 5826 5857 * 5827 5858 * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) … … 5936 5967 if (options.closeOnEscape && event.keyCode && 5937 5968 event.keyCode === $.ui.keyCode.ESCAPE) { 5938 5969 5939 5970 self.close(event); 5940 5971 event.preventDefault(); … … 6038 6069 destroy: function() { 6039 6070 var self = this; 6040 6071 6041 6072 if (self.overlay) { 6042 6073 self.overlay.destroy(); … … 6064 6095 var self = this, 6065 6096 maxZ, thisZ; 6066 6097 6067 6098 if (false === self._trigger('beforeClose', event)) { 6068 6099 return; … … 6357 6388 offset: offset.join(" ") 6358 6389 }; 6359 } 6390 } 6360 6391 6361 6392 position = $.extend({}, $.ui.dialog.prototype.options.position, position); … … 6385 6416 $.each( options, function( key, value ) { 6386 6417 self._setOption( key, value ); 6387 6418 6388 6419 if ( key in sizeRelatedOptions ) { 6389 6420 resize = true; … … 6437 6468 uiDialog.draggable( "destroy" ); 6438 6469 } 6439 6470 6440 6471 if ( !isDraggable && value ) { 6441 6472 self._makeDraggable(); … … 6499 6530 .height(); 6500 6531 minContentHeight = Math.max( 0, options.minHeight - nonContentHeight ); 6501 6532 6502 6533 if ( options.height === "auto" ) { 6503 6534 // only needed for IE6 support … … 6526 6557 6527 6558 $.extend($.ui.dialog, { 6528 version: "1.8.1 2",6559 version: "1.8.13", 6529 6560 6530 6561 uuid: 0, … … 6574 6605 if (dialog.options.closeOnEscape && event.keyCode && 6575 6606 event.keyCode === $.ui.keyCode.ESCAPE) { 6576 6607 6577 6608 dialog.close(event); 6578 6609 event.preventDefault(); … … 6610 6641 6611 6642 $el.remove(); 6612 6643 6613 6644 // adjust the maxZ to allow other modal dialogs to continue to work (see #4309) 6614 6645 var maxZ = 0; … … 6701 6732 }(jQuery)); 6702 6733 /* 6703 * jQuery UI Slider 1.8.1 26734 * jQuery UI Slider 1.8.13 6704 6735 * 6705 6736 * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) … … 6738 6769 _create: function() { 6739 6770 var self = this, 6740 o = this.options; 6771 o = this.options, 6772 existingHandles = this.element.find( ".ui-slider-handle" ).addClass( "ui-state-default ui-corner-all" ), 6773 handle = "<a class='ui-slider-handle ui-state-default ui-corner-all' href='#'></a>", 6774 handleCount = ( o.values && o.values.length ) || 1, 6775 handles = []; 6741 6776 6742 6777 this._keySliding = false; … … 6752 6787 " ui-widget" + 6753 6788 " ui-widget-content" + 6754 " ui-corner-all" ); 6755 6756 if ( o.disabled ) { 6757 this.element.addClass( "ui-slider-disabled ui-disabled" ); 6758 } 6789 " ui-corner-all" + 6790 ( o.disabled ? " ui-slider-disabled ui-disabled" : "" ) ); 6759 6791 6760 6792 this.range = $([]); … … 6762 6794 if ( o.range ) { 6763 6795 if ( o.range === true ) { 6764 this.range = $( "<div></div>" );6765 6796 if ( !o.values ) { 6766 6797 o.values = [ this._valueMin(), this._valueMin() ]; … … 6769 6800 o.values = [ o.values[0], o.values[0] ]; 6770 6801 } 6771 } else { 6772 this.range = $( "<div></div>" ); 6773 } 6774 6775 this.range 6802 } 6803 6804 this.range = $( "<div></div>" ) 6776 6805 .appendTo( this.element ) 6777 .addClass( "ui-slider-range" ); 6778 6779 if ( o.range === "min" || o.range === "max" ) { 6780 this.range.addClass( "ui-slider-range-" + o.range ); 6781 } 6782 6783 // note: this isn't the most fittingly semantic framework class for this element, 6784 // but worked best visually with a variety of themes 6785 this.range.addClass( "ui-widget-header" ); 6786 } 6787 6788 if ( $( ".ui-slider-handle", this.element ).length === 0 ) { 6789 $( "<a href='#'></a>" ) 6790 .appendTo( this.element ) 6791 .addClass( "ui-slider-handle" ); 6792 } 6793 6794 if ( o.values && o.values.length ) { 6795 while ( $(".ui-slider-handle", this.element).length < o.values.length ) { 6796 $( "<a href='#'></a>" ) 6797 .appendTo( this.element ) 6798 .addClass( "ui-slider-handle" ); 6799 } 6800 } 6801 6802 this.handles = $( ".ui-slider-handle", this.element ) 6803 .addClass( "ui-state-default" + 6804 " ui-corner-all" ); 6806 .addClass( "ui-slider-range" + 6807 // note: this isn't the most fittingly semantic framework class for this element, 6808 // but worked best visually with a variety of themes 6809 " ui-widget-header" + 6810 ( ( o.range === "min" || o.range === "max" ) ? " ui-slider-range-" + o.range : "" ) ); 6811 } 6812 6813 for ( var i = existingHandles.length; i < handleCount; i += 1 ) { 6814 handles.push( handle ); 6815 } 6816 6817 this.handles = existingHandles.add( $( handles.join( "" ) ).appendTo( self.element ) ); 6805 6818 6806 6819 this.handle = this.handles.eq( 0 ); … … 6841 6854 newVal, 6842 6855 step; 6843 6856 6844 6857 if ( self.options.disabled ) { 6845 6858 return; 6846 6859 } 6847 6860 6848 6861 switch ( event.keyCode ) { 6849 6862 case $.ui.keyCode.HOME: … … 6866 6879 break; 6867 6880 } 6868 6881 6869 6882 step = self.options.step; 6870 6883 if ( self.options.values && self.options.values.length ) { … … 6873 6886 curVal = newVal = self.value(); 6874 6887 } 6875 6888 6876 6889 switch ( event.keyCode ) { 6877 6890 case $.ui.keyCode.HOME: … … 6902 6915 break; 6903 6916 } 6904 6917 6905 6918 self._slide( event, index, newVal ); 6906 6919 6907 6920 return ret; 6908 6921 6909 6922 }) 6910 6923 .keyup(function( event ) { 6911 6924 var index = $( this ).data( "index.ui-slider-handle" ); 6912 6925 6913 6926 if ( self._keySliding ) { 6914 6927 self._keySliding = false; … … 6917 6930 $( this ).removeClass( "ui-state-active" ); 6918 6931 } 6919 6932 6920 6933 }); 6921 6934 … … 6999 7012 .addClass( "ui-state-active" ) 7000 7013 .focus(); 7001 7014 7002 7015 offset = closestHandle.offset(); 7003 7016 mouseOverHandle = !$( event.target ).parents().andSelf().is( ".ui-slider-handle" ); … … 7025 7038 var position = { x: event.pageX, y: event.pageY }, 7026 7039 normValue = this._normValueFromMouse( position ); 7027 7040 7028 7041 this._slide( event, this._handleIndex, normValue ); 7029 7042 … … 7044 7057 return false; 7045 7058 }, 7046 7059 7047 7060 _detectOrientation: function() { 7048 7061 this.orientation = ( this.options.orientation === "vertical" ) ? "vertical" : "horizontal"; … … 7101 7114 otherVal = this.values( index ? 0 : 1 ); 7102 7115 7103 if ( ( this.options.values.length === 2 && this.options.range === true ) && 7116 if ( ( this.options.values.length === 2 && this.options.range === true ) && 7104 7117 ( ( index === 0 && newVal > otherVal) || ( index === 1 && newVal < otherVal ) ) 7105 7118 ) { … … 7286 7299 } 7287 7300 }, 7288 7301 7289 7302 // returns the step-aligned value that val is closest to, between (inclusive) min and max 7290 7303 _trimAlignValue: function( val ) { … … 7315 7328 return this.options.max; 7316 7329 }, 7317 7330 7318 7331 _refreshValue: function() { 7319 7332 var oRange = this.options.range, … … 7380 7393 7381 7394 $.extend( $.ui.slider, { 7382 version: "1.8.1 2"7395 version: "1.8.13" 7383 7396 }); 7384 7397 7385 7398 }(jQuery)); 7386 7399 /* 7387 * jQuery UI Tabs 1.8.1 27400 * jQuery UI Tabs 1.8.13 7388 7401 * 7389 7402 * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) … … 8084 8097 8085 8098 $.extend( $.ui.tabs, { 8086 version: "1.8.1 2"8099 version: "1.8.13" 8087 8100 }); 8088 8101 … … 8106 8119 self.select( ++t < self.anchors.length ? t : 0 ); 8107 8120 }, ms ); 8108 8121 8109 8122 if ( e ) { 8110 8123 e.stopPropagation(); … … 8143 8156 })( jQuery ); 8144 8157 /* 8145 * jQuery UI Datepicker 1.8.1 28158 * jQuery UI Datepicker 1.8.13 8146 8159 * 8147 8160 * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) … … 8156 8169 (function( $, undefined ) { 8157 8170 8158 $.extend($.ui, { datepicker: { version: "1.8.1 2" } });8171 $.extend($.ui, { datepicker: { version: "1.8.13" } }); 8159 8172 8160 8173 var PROP_NAME = 'datepicker'; 8161 8174 var dpuuid = new Date().getTime(); 8175 var instActive; 8162 8176 8163 8177 /* Date picker manager. … … 8252 8266 }; 8253 8267 $.extend(this._defaults, this.regional['']); 8254 this.dpDiv = $('<div id="' + this._mainDivId + '" class="ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all"></div>');8268 this.dpDiv = bindHover($('<div id="' + this._mainDivId + '" class="ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all"></div>')); 8255 8269 } 8256 8270 … … 8264 8278 console.log.apply('', arguments); 8265 8279 }, 8266 8280 8267 8281 // TODO rename to "widget" when switching to widget factory 8268 8282 _widgetDatepicker: function() { … … 8318 8332 inline: inline, // is datepicker inline or not 8319 8333 dpDiv: (!inline ? this.dpDiv : // presentation div 8320 $('<div class="' + this._inlineClass + ' ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all"></div>'))};8334 bindHover($('<div class="' + this._inlineClass + ' ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all"></div>')))}; 8321 8335 }, 8322 8336 … … 8508 8522 var inline = $target.children('.' + this._inlineClass); 8509 8523 inline.children().removeClass('ui-state-disabled'); 8524 inline.find("select.ui-datepicker-month, select.ui-datepicker-year"). 8525 removeAttr("disabled"); 8510 8526 } 8511 8527 this._disabledInputs = $.map(this._disabledInputs, … … 8531 8547 var inline = $target.children('.' + this._inlineClass); 8532 8548 inline.children().addClass('ui-state-disabled'); 8549 inline.find("select.ui-datepicker-month, select.ui-datepicker-year"). 8550 attr("disabled", "disabled"); 8533 8551 } 8534 8552 this._disabledInputs = $.map(this._disabledInputs, … … 8653 8671 handled = false; 8654 8672 break; // hide on tab out 8655 case 13: var sel = $('td.' + $.datepicker._dayOverClass + ':not(.' + 8673 case 13: var sel = $('td.' + $.datepicker._dayOverClass + ':not(.' + 8656 8674 $.datepicker._currentClass + ')', inst.dpDiv); 8657 8675 if (sel[0]) … … 8793 8811 var duration = $.datepicker._get(inst, 'duration'); 8794 8812 var postProcess = function() { 8795 $.datepicker._datepickerShowing = true;8796 8813 var cover = inst.dpDiv.find('iframe.ui-datepicker-cover'); // IE6- only 8797 8814 if( !! cover.length ){ … … 8802 8819 }; 8803 8820 inst.dpDiv.zIndex($(input).zIndex()+1); 8821 $.datepicker._datepickerShowing = true; 8804 8822 if ($.effects && $.effects[showAnim]) 8805 8823 inst.dpDiv.show(showAnim, $.datepicker._get(inst, 'showOptions'), duration, postProcess); … … 8818 8836 var self = this; 8819 8837 var borders = $.datepicker._getBorders(inst.dpDiv); 8838 instActive = inst; // for delegate hover events 8820 8839 inst.dpDiv.empty().append(this._generateHTML(inst)); 8821 8840 var cover = inst.dpDiv.find('iframe.ui-datepicker-cover'); // IE6- only … … 8823 8842 cover.css({left: -borders[0], top: -borders[1], width: inst.dpDiv.outerWidth(), height: inst.dpDiv.outerHeight()}) 8824 8843 } 8825 inst.dpDiv.find('button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a') 8826 .bind('mouseout', function(){ 8827 $(this).removeClass('ui-state-hover'); 8828 if(this.className.indexOf('ui-datepicker-prev') != -1) $(this).removeClass('ui-datepicker-prev-hover'); 8829 if(this.className.indexOf('ui-datepicker-next') != -1) $(this).removeClass('ui-datepicker-next-hover'); 8830 }) 8831 .bind('mouseover', function(){ 8832 if (!self._isDisabledDatepicker( inst.inline ? inst.dpDiv.parent()[0] : inst.input[0])) { 8833 $(this).parents('.ui-datepicker-calendar').find('a').removeClass('ui-state-hover'); 8834 $(this).addClass('ui-state-hover'); 8835 if(this.className.indexOf('ui-datepicker-prev') != -1) $(this).addClass('ui-datepicker-prev-hover'); 8836 if(this.className.indexOf('ui-datepicker-next') != -1) $(this).addClass('ui-datepicker-next-hover'); 8837 } 8838 }) 8839 .end() 8840 .find('.' + this._dayOverClass + ' a') 8841 .trigger('mouseover') 8842 .end(); 8844 inst.dpDiv.find('.' + this._dayOverClass + ' a').mouseover(); 8843 8845 var numMonths = this._getNumberOfMonths(inst); 8844 8846 var cols = numMonths[1]; 8845 8847 var width = 17; 8848 inst.dpDiv.removeClass('ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4').width(''); 8846 8849 if (cols > 1) 8847 8850 inst.dpDiv.addClass('ui-datepicker-multi-' + cols).css('width', (width * cols) + 'em'); 8848 else8849 inst.dpDiv.removeClass('ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4').width('');8850 8851 inst.dpDiv[(numMonths[0] != 1 || numMonths[1] != 1 ? 'add' : 'remove') + 8851 8852 'Class']('ui-datepicker-multi'); … … 8857 8858 inst.input.is(':visible') && !inst.input.is(':disabled') && inst.input[0] != document.activeElement) 8858 8859 inst.input.focus(); 8859 // deffered render of the years select (to avoid flashes on Firefox) 8860 // deffered render of the years select (to avoid flashes on Firefox) 8860 8861 if( inst.yearshtml ){ 8861 8862 var origyearshtml = inst.yearshtml; … … 9153 9154 // Extract a name from the string value and convert to an index 9154 9155 var getName = function(match, shortNames, longNames) { 9155 var names = (lookAhead(match) ? longNames : shortNames); 9156 for (var i = 0; i < names.length; i++) { 9157 if (value.substr(iValue, names[i].length).toLowerCase() == names[i].toLowerCase()) { 9158 iValue += names[i].length; 9159 return i + 1; 9156 var names = $.map(lookAhead(match) ? longNames : shortNames, function (v, k) { 9157 return [ [k, v] ]; 9158 }).sort(function (a, b) { 9159 return -(a[1].length - b[1].length); 9160 }); 9161 var index = -1; 9162 $.each(names, function (i, pair) { 9163 var name = pair[1]; 9164 if (value.substr(iValue, name.length).toLowerCase() == name.toLowerCase()) { 9165 index = pair[0]; 9166 iValue += name.length; 9167 return false; 9160 9168 } 9161 } 9162 throw 'Unknown name at position ' + iValue; 9169 }); 9170 if (index != -1) 9171 return index + 1; 9172 else 9173 throw 'Unknown name at position ' + iValue; 9163 9174 }; 9164 9175 // Confirm that a literal character matches the string value … … 9680 9691 drawYear++; 9681 9692 } 9682 calender += '</tbody></table>' + (isMultiMonth ? '</div>' + 9693 calender += '</tbody></table>' + (isMultiMonth ? '</div>' + 9683 9694 ((numMonths[0] > 0 && col == numMonths[1]-1) ? '<div class="ui-datepicker-row-break"></div>' : '') : ''); 9684 9695 group += calender; … … 9750 9761 } 9751 9762 inst.yearshtml += '</select>'; 9763 9752 9764 html += inst.yearshtml; 9753 9765 inst.yearshtml = null; … … 9856 9868 }); 9857 9869 9870 /* 9871 * Bind hover events for datepicker elements. 9872 * Done via delegate so the binding only occurs once in the lifetime of the parent div. 9873 * Global instActive, set by _updateDatepicker allows the handlers to find their way back to the active picker. 9874 */ 9875 function bindHover(dpDiv) { 9876 var selector = 'button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a'; 9877 return dpDiv.delegate(selector, 'mouseout', function() { 9878 $(this).removeClass('ui-state-hover'); 9879 if (this.className.indexOf('ui-datepicker-prev') != -1) $(this).removeClass('ui-datepicker-prev-hover'); 9880 if (this.className.indexOf('ui-datepicker-next') != -1) $(this).removeClass('ui-datepicker-next-hover'); 9881 }) 9882 .delegate(selector, 'mouseover', function(){ 9883 if (!$.datepicker._isDisabledDatepicker( instActive.inline ? dpDiv.parent()[0] : instActive.input[0])) { 9884 $(this).parents('.ui-datepicker-calendar').find('a').removeClass('ui-state-hover'); 9885 $(this).addClass('ui-state-hover'); 9886 if (this.className.indexOf('ui-datepicker-prev') != -1) $(this).addClass('ui-datepicker-prev-hover'); 9887 if (this.className.indexOf('ui-datepicker-next') != -1) $(this).addClass('ui-datepicker-next-hover'); 9888 } 9889 }); 9890 } 9891 9858 9892 /* jQuery extend now ignores nulls! */ 9859 9893 function extendRemove(target, props) { … … 9876 9910 @return jQuery object */ 9877 9911 $.fn.datepicker = function(options){ 9878 9912 9879 9913 /* Verify an empty collection wasn't passed - Fixes #6976 */ 9880 9914 if ( !this.length ) { 9881 9915 return this; 9882 9916 } 9883 9917 9884 9918 /* Initialise the date picker. */ 9885 9919 if (!$.datepicker.initialized) { … … 9907 9941 $.datepicker.initialized = false; 9908 9942 $.datepicker.uuid = new Date().getTime(); 9909 $.datepicker.version = "1.8.1 2";9943 $.datepicker.version = "1.8.13"; 9910 9944 9911 9945 // Workaround for #4055 … … 9915 9949 })(jQuery); 9916 9950 /* 9917 * jQuery UI Progressbar 1.8.1 29951 * jQuery UI Progressbar 1.8.13 9918 9952 * 9919 9953 * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) … … 10019 10053 10020 10054 $.extend( $.ui.progressbar, { 10021 version: "1.8.1 2"10055 version: "1.8.13" 10022 10056 }); 10023 10057 10024 10058 })( jQuery ); 10025 10059 /* 10026 * jQuery UI Effects 1.8.1 210060 * jQuery UI Effects 1.8.13 10027 10061 * 10028 10062 * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) … … 10209 10243 } 10210 10244 } 10211 10245 10212 10246 return newStyle; 10213 10247 } … … 10233 10267 } 10234 10268 } 10235 10269 10236 10270 return styles; 10237 10271 } … … 10256 10290 } 10257 10291 10258 return this.queue( 'fx',function() {10292 return this.queue(function() { 10259 10293 var that = $(this), 10260 10294 originalStyleAttr = that.attr('style') || ' ', 10261 10295 originalStyle = filterStyles(getElementStyles.call(this)), 10262 10296 newStyle, 10263 className = that.attr('class Name');10297 className = that.attr('class'); 10264 10298 10265 10299 $.each(classAnimationActions, function(i, action) { … … 10269 10303 }); 10270 10304 newStyle = filterStyles(getElementStyles.call(this)); 10271 that.attr('className', className); 10272 10273 that.animate(styleDifference(originalStyle, newStyle), duration, easing, function() { 10274 $.each(classAnimationActions, function(i, action) { 10275 if (value[action]) { that[action + 'Class'](value[action]); } 10276 }); 10277 // work around bug in IE by clearing the cssText before setting it 10278 if (typeof that.attr('style') == 'object') { 10279 that.attr('style').cssText = ''; 10280 that.attr('style').cssText = originalStyleAttr; 10281 } else { 10282 that.attr('style', originalStyleAttr); 10283 } 10284 if (callback) { callback.apply(this, arguments); } 10305 that.attr('class', className); 10306 10307 that.animate(styleDifference(originalStyle, newStyle), { 10308 queue: false, 10309 duration: duration, 10310 easding: easing, 10311 complete: function() { 10312 $.each(classAnimationActions, function(i, action) { 10313 if (value[action]) { that[action + 'Class'](value[action]); } 10314 }); 10315 // work around bug in IE by clearing the cssText before setting it 10316 if (typeof that.attr('style') == 'object') { 10317 that.attr('style').cssText = ''; 10318 that.attr('style').cssText = originalStyleAttr; 10319 } else { 10320 that.attr('style', originalStyleAttr); 10321 } 10322 if (callback) { callback.apply(this, arguments); } 10323 $.dequeue( this ); 10324 } 10285 10325 }); 10286 10287 // $.animate adds a function to the end of the queue10288 // but we want it at the front10289 var queue = $.queue(this),10290 anim = queue.splice(queue.length - 1, 1)[0];10291 queue.splice(1, 0, anim);10292 $.dequeue(this);10293 10326 }); 10294 10327 }; … … 10332 10365 10333 10366 $.extend($.effects, { 10334 version: "1.8.1 2",10367 version: "1.8.13", 10335 10368 10336 10369 // Saves a set of properties in a data storage … … 10475 10508 return true; 10476 10509 } 10477 10510 10478 10511 // invalid strings - treat as "normal" speed 10479 10512 if ( typeof speed === "string" && !$.effects[ speed ] ) { 10480 10513 return true; 10481 10514 } 10482 10515 10483 10516 return false; 10484 10517 } … … 10495 10528 mode = args2.options.mode, 10496 10529 effectMethod = $.effects[effect]; 10497 10530 10498 10531 if ( $.fx.off || !effectMethod ) { 10499 10532 // delegate to the original method (e.g., .show()) if possible … … 10508 10541 } 10509 10542 } 10510 10543 10511 10544 return effectMethod.call(this, args2); 10512 10545 }, … … 10771 10804 })(jQuery); 10772 10805 /* 10773 * jQuery UI Effects Blind 1.8.1 210806 * jQuery UI Effects Blind 1.8.13 10774 10807 * 10775 10808 * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) … … 10820 10853 })(jQuery); 10821 10854 /* 10822 * jQuery UI Effects Bounce 1.8.1 210855 * jQuery UI Effects Bounce 1.8.13 10823 10856 * 10824 10857 * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) … … 10898 10931 })(jQuery); 10899 10932 /* 10900 * jQuery UI Effects Clip 1.8.1 210933 * jQuery UI Effects Clip 1.8.13 10901 10934 * 10902 10935 * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) … … 10952 10985 })(jQuery); 10953 10986 /* 10954 * jQuery UI Effects Drop 1.8.1 210987 * jQuery UI Effects Drop 1.8.13 10955 10988 * 10956 10989 * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) … … 11002 11035 })(jQuery); 11003 11036 /* 11004 * jQuery UI Effects Explode 1.8.1 211037 * jQuery UI Effects Explode 1.8.13 11005 11038 * 11006 11039 * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) … … 11081 11114 })(jQuery); 11082 11115 /* 11083 * jQuery UI Effects Fade 1.8.1 211116 * jQuery UI Effects Fade 1.8.13 11084 11117 * 11085 11118 * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) … … 11113 11146 })(jQuery); 11114 11147 /* 11115 * jQuery UI Effects Fold 1.8.1 211148 * jQuery UI Effects Fold 1.8.13 11116 11149 * 11117 11150 * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) … … 11169 11202 })(jQuery); 11170 11203 /* 11171 * jQuery UI Effects Highlight 1.8.1 211204 * jQuery UI Effects Highlight 1.8.13 11172 11205 * 11173 11206 * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) … … 11219 11252 })(jQuery); 11220 11253 /* 11221 * jQuery UI Effects Pulsate 1.8.1 211254 * jQuery UI Effects Pulsate 1.8.13 11222 11255 * 11223 11256 * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) … … 11270 11303 })(jQuery); 11271 11304 /* 11272 * jQuery UI Effects Scale 1.8.1 211305 * jQuery UI Effects Scale 1.8.13 11273 11306 * 11274 11307 * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) … … 11448 11481 })(jQuery); 11449 11482 /* 11450 * jQuery UI Effects Shake 1.8.1 211483 * jQuery UI Effects Shake 1.8.13 11451 11484 * 11452 11485 * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) … … 11505 11538 })(jQuery); 11506 11539 /* 11507 * jQuery UI Effects Slide 1.8.1 211540 * jQuery UI Effects Slide 1.8.13 11508 11541 * 11509 11542 * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) … … 11555 11588 })(jQuery); 11556 11589 /* 11557 * jQuery UI Effects Transfer 1.8.1 211590 * jQuery UI Effects Transfer 1.8.13 11558 11591 * 11559 11592 * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
Note: See TracChangeset
for help on using the changeset viewer.
