
jquery-ui.js
About this file
Refer to jQuery UI's documentation.
Code Check Report
16:3 warning Function has a complexity of 11 complexity 43:15 error Move the invocation into the parens that contain the function wrap-iife 46:16 error Use '===' to compare with null no-eq-null 46:36 error Expected '!==' and instead saw '!=' eqeqeq 56:18 error Empty block statement no-empty 62:12 warning Function has a complexity of 7 complexity 127:30 error Move the invocation into the parens that contain the function wrap-iife 192:19 warning Function has a complexity of 7 complexity 200:3 error The body of a for-in should be wrapped in an if statement to filter unwanted properties from the prototype guard-for-in 236:16 warning Function has a complexity of 9 complexity 306:17 warning Method '_createWidget' has a complexity of 8 complexity 388:10 warning Method 'option' has a complexity of 10 complexity 433:3 error The body of a for-in should be wrapped in an if statement to filter unwanted properties from the prototype guard-for-in 457:3 error The body of a for-in should be wrapped in an if statement to filter unwanted properties from the prototype guard-for-in 671:12 warning Method '_trigger' has a complexity of 8 complexity 703:39 warning Function has a complexity of 14 complexity 764:1 error Move the invocation into the parens that contain the function wrap-iife 841:17 warning Method 'getScrollInfo' has a complexity of 11 complexity 873:17 warning Function has a complexity of 10 complexity 903:26 warning Function has a complexity of 9 complexity 1010:12 warning Function has a complexity of 10 complexity 1054:9 warning Method 'left' has a complexity of 10 complexity 1098:8 warning Method 'top' has a complexity of 10 complexity 1144:9 warning Method 'left' has a complexity of 12 complexity 1180:8 warning Method 'top' has a complexity of 12 complexity 1281:20 error Move the invocation into the parens that contain the function wrap-iife 1316:18 warning Function has a complexity of 13 complexity 1366:35 error Use '===' to compare with null no-eq-null 1366:65 error Expected '!==' and instead saw '!=' eqeqeq 1518:20 error Use '===' to compare with null no-eq-null 1518:29 error Expected '===' and instead saw '==' eqeqeq 1524:1 error Unnecessary semicolon no-extra-semi 1563:44 error Move the invocation into the parens that contain the function wrap-iife 1677:18 error Use '===' to compare with null no-eq-null 1677:27 error Expected '!==' and instead saw '!=' eqeqeq 1700:12 error Move the invocation into the parens that contain the function wrap-iife 1784:14 warning Method '_mouseDown' has a complexity of 13 complexity 1794:3 error Expected an assignment or function call and instead saw an expression no-unused-expressions 1847:14 warning Method '_mouseMove' has a complexity of 18 complexity 1887:4 error Expected an assignment or function call and instead saw an expression no-unused-expressions 1945:3 error The body of a for-in should be wrapped in an if statement to filter unwanted properties from the prototype guard-for-in 1950:8 warning Method 'call' has a complexity of 7 complexity 2153:15 warning Method '_mouseStart' has a complexity of 7 complexity 2196:3 error Expected an assignment or function call and instead saw an expression no-unused-expressions 2274:14 warning Method '_mouseStop' has a complexity of 12 complexity 2360:17 warning Method '_createHelper' has a complexity of 9 complexity 2398:27 warning Method '_adjustOffsetFromHelper' has a complexity of 8 complexity 2423:20 warning Method '_getParentOffset' has a complexity of 7 complexity 2486:19 warning Method '_setContainment' has a complexity of 19 complexity 2562:22 warning Method '_convertPositionTo' has a complexity of 7 complexity 2604:21 warning Method '_generatePosition' has a complexity of 27 complexity 2827:32 warning Function has a complexity of 7 complexity 3012:8 warning Method 'drag' has a complexity of 22 complexity 3092:8 warning Method 'drag' has a complexity of 33 complexity 3111:6 error Expected an assignment or function call and instead saw an expression no-unused-expressions 3187:5 error Expected an assignment or function call and instead saw an expression no-unused-expressions 3298:5 error Return statement should not contain assignment no-return-assign 3309:3 error Expected an assignment or function call and instead saw an expression no-unused-expressions 3405:9 warning Method '_drop' has a complexity of 8 complexity 3419:11 warning Function has a complexity of 7 complexity 3482:34 error Move the invocation into the parens that contain the function wrap-iife 3487:9 warning Function has a complexity of 26 complexity 3537:18 warning Method 'prepareOffsets' has a complexity of 13 complexity 3567:5 error unnecessary '.call()' no-useless-call 3584:83 warning Function has a complexity of 10 complexity 3591:15 error unnecessary '.call()' no-useless-call 3598:5 error unnecessary '.call()' no-useless-call 3624:71 warning Function has a complexity of 17 complexity 3657:5 error unnecessary '.call()' no-useless-call 3662:4 error unnecessary '.call()' no-useless-call 3668:5 error unnecessary '.call()' no-useless-call 3806:11 warning Method '_create' has a complexity of 7 complexity 3940:17 warning Method '_setupHandles' has a complexity of 7 complexity 3980:22 warning Function has a complexity of 12 complexity 3986:4 error The body of a for-in should be wrapped in an if statement to filter unwanted properties from the prototype guard-for-in 4048:3 error The body of a for-in should be wrapped in an if statement to filter unwanted properties from the prototype guard-for-in 4058:15 warning Method '_mouseStart' has a complexity of 9 complexity 4115:14 warning Method '_mouseDrag' has a complexity of 9 complexity 4158:14 warning Method '_mouseStop' has a complexity of 12 complexity 4238:28 warning Method '_updateVirtualBoundaries' has a complexity of 11 complexity 4311:16 warning Method '_respectSize' has a complexity of 29 complexity 4385:25 warning Method '_proportionallyResize' has a complexity of 7 complexity 4478:3 error Expected an assignment or function call and instead saw an expression no-unused-expressions 4503:8 warning Method 'stop' has a complexity of 9 complexity 4549:9 warning Method 'start' has a complexity of 9 complexity 4612:10 warning Method 'resize' has a complexity of 23 complexity 4701:8 warning Method 'stop' has a complexity of 7 complexity 4833:10 warning Method 'resize' has a complexity of 19 complexity 5034:47 warning Function has a complexity of 7 complexity 5082:24 warning Function has a complexity of 24 complexity 5324:17 warning Method '_mouseCapture' has a complexity of 9 complexity 5371:15 warning Method '_mouseStart' has a complexity of 18 complexity 5429:3 error Expected an assignment or function call and instead saw an expression no-unused-expressions 5517:14 warning Method '_mouseDrag' has a complexity of 33 complexity 5654:14 warning Method '_mouseStop' has a complexity of 12 complexity 5701:10 warning Method 'cancel' has a complexity of 11 complexity 5761:20 warning Function has a complexity of 9 complexity 5794:19 warning Method '_intersectsWith' has a complexity of 15 complexity 5829:26 warning Method '_intersectsWithPointer' has a complexity of 10 complexity 5852:24 warning Method '_intersectsWithSides' has a complexity of 10 complexity 5895:21 warning Method '_getItemsAsjQuery' has a complexity of 11 complexity 5951:17 warning Method '_refreshItems' has a complexity of 12 complexity 6001:20 warning Method 'refreshPositions' has a complexity of 14 complexity 6090:13 warning Method 'update' has a complexity of 9 complexity 6139:22 warning Method '_contactContainers' has a complexity of 25 complexity 6235:4 error Expected an assignment or function call and instead saw an expression no-unused-expressions 6251:17 warning Method '_createHelper' has a complexity of 10 complexity 6286:27 warning Method '_adjustOffsetFromHelper' has a complexity of 8 complexity 6307:20 warning Method '_getParentOffset' has a complexity of 10 complexity 6371:19 warning Method '_setContainment' has a complexity of 19 complexity 6415:22 warning Method '_convertPositionTo' has a complexity of 10 complexity 6461:21 warning Method '_generatePosition' has a complexity of 26 complexity 6570:3 error Expected an assignment or function call and instead saw an expression no-unused-expressions 6593:10 warning Method '_clear' has a complexity of 27 complexity 6809:62 error Use '===' to compare with null no-eq-null 6809:77 error Expected '===' and instead saw '==' eqeqeq 6873:14 warning Method '_setOption' has a complexity of 9 complexity 6916:12 warning Method '_keydown' has a complexity of 12 complexity 6961:11 warning Method 'refresh' has a complexity of 8 complexity 7153:17 warning Method '_eventHandler' has a complexity of 12 complexity 7260:12 warning Method '_animate' has a complexity of 14 complexity 7399:27 warning Method 'click .ui-menu-item' has a complexity of 9 complexity 7515:12 warning Method '_keydown' has a complexity of 23 complexity 7693:9 warning Method 'focus' has a complexity of 8 complexity 7890:9 warning Method '_move' has a complexity of 8 complexity 7895:6 error Unexpected newline between object and [ of property access no-unexpected-multiline 7899:6 error Unexpected newline between object and [ of property access no-unexpected-multiline 7931:5 error Unexpected newline between object and [ of property access no-unexpected-multiline 8066:13 warning Method 'keydown' has a complexity of 13 complexity 8133:14 warning Method 'keypress' has a complexity of 9 complexity 8221:15 warning Method 'menufocus' has a complexity of 10 complexity 8339:13 warning Method '_appendTo' has a complexity of 7 complexity 8392:33 warning Function has a complexity of 8 complexity 8407:11 error Use '===' to compare with null no-eq-null 8407:17 error Expected '!==' and instead saw '!=' eqeqeq 8556:9 warning Method '_move' has a complexity of 7 complexity 9008:8 error Use '===' to compare with null no-eq-null 9008:17 error Expected '!==' and instead saw '!=' eqeqeq 9014:11 warning Method '_create' has a complexity of 8 complexity 9019:8 error Use '===' to compare with null no-eq-null 9019:30 error Expected '===' and instead saw '==' eqeqeq 9147:15 warning Method '_updateIcon' has a complexity of 8 complexity 9254:8 error Use '===' to compare with null no-eq-null 9254:17 error Expected '!==' and instead saw '!=' eqeqeq 9266:11 warning Method '_create' has a complexity of 8 complexity 9274:8 error Use '===' to compare with null no-eq-null 9274:30 error Expected '===' and instead saw '==' eqeqeq 9331:15 warning Method '_updateIcon' has a complexity of 10 complexity 9412:14 warning Method '_setOption' has a complexity of 12 complexity 9488:12 warning Method '_create' has a complexity of 10 complexity 9509:15 warning Method '_setOption' has a complexity of 7 complexity 9533:16 error Move the invocation into the parens that contain the function wrap-iife 9534:10 warning Function has a complexity of 10 complexity 9553:19 warning Function has a complexity of 9 complexity 9558:11 error unnecessary '.apply()' no-useless-call 9562:11 error unnecessary '.apply()' no-useless-call 9602:1 warning Function 'datepicker_getZindex' has a complexity of 8 complexity 9795:16 warning Method '_attachments' has a complexity of 12 complexity 9902:21 warning Method '_dialogDatepicker' has a complexity of 11 complexity 10071:21 warning Method '_optionDatepicker' has a complexity of 18 complexity 10161:14 warning Method '_doKeyDown' has a complexity of 45 complexity 10263:15 warning Method '_doKeyPress' has a complexity of 7 complexity 10269:31 error Use '===' to compare with null no-eq-null 10269:46 error Expected '===' and instead saw '==' eqeqeq 10291:18 error Empty block statement no-empty 10302:19 warning Method '_showDatepicker' has a complexity of 22 complexity 10386:21 warning Method '_updateDatepicker' has a complexity of 10 complexity 10437:16 warning Method '_checkOffset' has a complexity of 14 complexity 10475:19 warning Method '_hideDatepicker' has a complexity of 17 complexity 10526:23 warning Method '_checkExternalClick' has a complexity of 11 complexity 10615:15 warning Method '_selectDate' has a complexity of 8 complexity 10620:15 error Use '===' to compare with null no-eq-null 10620:23 error Expected '!==' and instead saw '!=' eqeqeq 10697:13 warning Method 'parseDate' has a complexity of 41 complexity 10698:8 error Use '===' to compare with null no-eq-null 10698:15 error Expected '===' and instead saw '==' eqeqeq 10698:26 error Use '===' to compare with null no-eq-null 10698:32 error Expected '===' and instead saw '==' eqeqeq 10733:16 warning Function has a complexity of 8 complexity 10855:14 error Unexpected constant condition no-constant-condition 10910:14 warning Method 'formatDate' has a complexity of 27 complexity 11001:18 warning Method '_possibleChars' has a complexity of 13 complexity 11051:21 warning Method '_setDateFromField' has a complexity of 9 complexity 11064:5 error Value of 'event' may be overwritten in IE 8 and earlier no-catch-shadow 11083:18 warning Method '_determineDate' has a complexity of 9 complexity 11089:19 warning Function has a complexity of 14 complexity 11126:16 error Use '===' to compare with null no-eq-null 11126:21 error Expected '===' and instead saw '==' eqeqeq 11219:17 warning Method '_generateHTML' has a complexity of 87 complexity 11404:28 warning Method '_generateMonthYearHeader' has a complexity of 27 complexity 11511:12 error Use '===' to compare with null no-eq-null 11511:22 error Expected '===' and instead saw '==' eqeqeq 11542:14 warning Method '_isInRange' has a complexity of 11 complexity 11628:8 error Use '===' to compare with null no-eq-null 11628:22 error Expected '===' and instead saw '==' eqeqeq 11639:19 warning Function has a complexity of 11 complexity 11667:3 error Expected an assignment or function call and instead saw an expression no-unused-expressions 11771:11 warning Method '_create' has a complexity of 8 complexity 11784:8 error Use '===' to compare with null no-eq-null 11784:27 error Expected '===' and instead saw '==' eqeqeq 11784:38 error Use '===' to compare with null no-eq-null 11784:57 error Expected '!==' and instead saw '!=' eqeqeq 12015:13 warning Method 'keydown' has a complexity of 13 complexity 12364:14 warning Method '_setOption' has a complexity of 19 complexity 12720:17 warning Method '_refreshValue' has a complexity of 7 complexity 12919:11 error Use '===' to compare with null no-eq-null 12919:27 error Expected '!==' and instead saw '!=' eqeqeq 13196:12 warning Method 'keydown' has a complexity of 18 complexity 13322:13 warning Method '_appendTo' has a complexity of 7 complexity 13536:16 warning Method '_createRange' has a complexity of 12 complexity 13591:17 warning Method '_mouseCapture' has a complexity of 8 complexity 13680:23 warning Method '_normValueFromMouse' has a complexity of 7 complexity 13737:10 warning Method '_slide' has a complexity of 9 complexity 13828:14 warning Method '_setOption' has a complexity of 16 complexity 14002:17 warning Method '_refreshValue' has a complexity of 18 complexity 14011:23 warning Function has a complexity of 13 complexity 14083:12 warning Method 'keydown' has a complexity of 22 complexity 14257:9 error Use '===' to compare with null no-eq-null 14257:15 error Expected '!==' and instead saw '!=' eqeqeq 14551:14 warning Method '_setOption' has a complexity of 8 complexity 14590:10 warning Method '_parse' has a complexity of 7 complexity 14765:12 error Move the invocation into the parens that contain the function wrap-iife 14777:22 error Empty block statement no-empty 14780:22 error Empty block statement no-empty 14822:18 warning Method '_initialActive' has a complexity of 13 complexity 14873:15 warning Method '_tabKeydown' has a complexity of 13 complexity 14988:14 warning Method '_setOption' has a complexity of 7 complexity 15143:22 warning Function has a complexity of 7 complexity 15205:22 warning Method '_setOptionDisabled' has a complexity of 7 complexity 15293:17 warning Method '_eventHandler' has a complexity of 17 complexity 15782:8 warning Method 'open' has a complexity of 7 complexity 15864:9 warning Method '_open' has a complexity of 12 complexity 15977:9 warning Method 'close' has a complexity of 10 complexity 16052:3 error Return statement should not contain assignment no-return-assign 16171:1 error Move the invocation into the parens that contain the function wrap-iife 16171:21 error Shadowing of global property 'undefined' no-shadow-restricted-names 16313:1 warning Function 'clamp' has a complexity of 10 complexity 16316:7 error Use '===' to compare with null no-eq-null 16316:13 error Expected '===' and instead saw '==' eqeqeq 16381:9 warning Method 'parse' has a complexity of 10 complexity 16429:32 error Use '===' to compare with null no-eq-null 16429:43 error Expected '===' and instead saw '==' eqeqeq 16466:11 error Use '===' to compare with null no-eq-null 16466:31 error Expected '!==' and instead saw '!=' eqeqeq 16495:22 warning Function has a complexity of 7 complexity 16540:12 error Use '===' to compare with null no-eq-null 16540:14 error Expected '===' and instead saw '==' eqeqeq 16553:10 error Use '===' to compare with null no-eq-null 16553:12 error Expected '===' and instead saw '==' eqeqeq 16608:18 warning Function has a complexity of 10 complexity 16609:7 error Use '===' to compare with null no-eq-null 16609:17 error Expected '===' and instead saw '==' eqeqeq 16609:28 error Use '===' to compare with null no-eq-null 16609:38 error Expected '===' and instead saw '==' eqeqeq 16609:49 error Use '===' to compare with null no-eq-null 16609:59 error Expected '===' and instead saw '==' eqeqeq 16642:40 error Use '===' to compare with null no-eq-null 16642:42 error Expected '===' and instead saw '==' eqeqeq 16646:7 error Use '===' to compare with null no-eq-null 16646:17 error Expected '===' and instead saw '==' eqeqeq 16646:28 error Use '===' to compare with null no-eq-null 16646:38 error Expected '===' and instead saw '==' eqeqeq 16646:49 error Use '===' to compare with null no-eq-null 16646:59 error Expected '===' and instead saw '==' eqeqeq 16671:26 warning Function has a complexity of 7 complexity 16688:9 error Use '===' to compare with null no-eq-null 16688:13 error Expected '===' and instead saw '==' eqeqeq 16710:21 warning Function has a complexity of 10 complexity 16725:9 error Use '===' to compare with null no-eq-null 16725:15 error Expected '===' and instead saw '==' eqeqeq 16746:9 warning Method 'set' has a complexity of 16 complexity 16762:22 error Empty block statement no-empty 16841:1 error Move the invocation into the parens that contain the function wrap-iife 16868:1 warning Function 'getElementStyles' has a complexity of 10 complexity 16900:2 error The body of a for-in should be wrapped in an if statement to filter unwanted properties from the prototype guard-for-in 16917:20 error Use '===' to compare with null no-eq-null 16917:29 error Expected '===' and instead saw '==' eqeqeq 16999:12 error Move the invocation into the parens that contain the function wrap-iife 17008:15 error Move the invocation into the parens that contain the function wrap-iife 17017:15 error Move the invocation into the parens that contain the function wrap-iife 17052:1 error Move the invocation into the parens that contain the function wrap-iife 17055:28 error Move the invocation into the parens that contain the function wrap-iife 17128:5 error Expected an assignment or function call and instead saw an expression no-unused-expressions 17268:15 warning Method 'getBaseline' has a complexity of 7 complexity 17389:1 warning Function '_normalizeArguments' has a complexity of 13 complexity 17401:7 error Use '===' to compare with null no-eq-null 17401:15 error Expected '===' and instead saw '==' eqeqeq 17441:1 warning Function 'standardAnimationOption' has a complexity of 9 complexity 17477:16 warning Function has a complexity of 9 complexity 17500:6 error Expected return with your callback function callback-return 17539:6 error Expected return with your callback function callback-return 17576:8 error Move the invocation into the parens that contain the function wrap-iife 17583:12 error unnecessary '.call()' no-useless-call 17588:8 error Move the invocation into the parens that contain the function wrap-iife 17595:12 error unnecessary '.call()' no-useless-call 17600:10 error Move the invocation into the parens that contain the function wrap-iife 17607:12 error unnecessary '.call()' no-useless-call 17703:1 error Move the invocation into the parens that contain the function wrap-iife 17733:65 error Empty block statement no-empty 17828:55 warning Function has a complexity of 18 complexity 17924:59 warning Function has a complexity of 9 complexity 17975:59 warning Function has a complexity of 10 complexity 18032:65 warning Function has a complexity of 11 complexity 18160:59 warning Function has a complexity of 7 complexity 18278:51 warning Function has a complexity of 16 complexity 18455:53 warning Function has a complexity of 7 complexity 18523:65 warning Function has a complexity of 7 complexity 18573:53 warning Function has a complexity of 11 complexity 18633:61 warning Function has a complexity of 9 complexity 18695:5 error 'effect' is already defined no-redeclare ✖ 310 problems (142 errors, 168 warnings) 21 errors and 0 warnings potentially fixable with the `--fix` option.
Documentation drawn from source code
/*! jQuery UI - v1.12.1 - 2016-09-15
* Includes: widget.js, position.js, data.js, disable-selection.js, focusable.js, form-reset-mixin.js, jquery-1-7.js, keycode.js, labels.js, scroll-parent.js, tabbable.js, unique-id.js, widgets/draggable.js, widgets/droppable.js, widgets/resizable.js, widgets/selectable.js, widgets/sortable.js, widgets/accordion.js, widgets/autocomplete.js, widgets/button.js, widgets/checkboxradio.js, widgets/controlgroup.js, widgets/datepicker.js, widgets/dialog.js, widgets/menu.js, widgets/mouse.js, widgets/progressbar.js, widgets/selectmenu.js, widgets/slider.js, widgets/spinner.js, widgets/tabs.js, widgets/tooltip.js, effect.js, effects/effect-blind.js, effects/effect-bounce.js, effects/effect-clip.js, effects/effect-drop.js, effects/effect-explode.js, effects/effect-fade.js, effects/effect-fold.js, effects/effect-highlight.js, effects/effect-puff.js, effects/effect-pulsate.js, effects/effect-scale.js, effects/effect-shake.js, effects/effect-size.js, effects/effect-slide.js, effects/effect-transfer.js
* Copyright jQuery Foundation and other contributors; Licensed MIT */
(function( factory ) {
if ( typeof define === "function" && define.amd ) {
}(function( $ ) {
/*!
* jQuery UI Widget 1.12.1
*
* Copyright jQuery Foundation and other contributors
* Released under the MIT license.
*/
$.cleanData = ( function( orig ) {
return function( elems ) {
$.widget = function( name, base, prototype ) {
$.expr[ ":" ][ fullName.toLowerCase() ] = function( elem ) {
constructor = $[ namespace ][ name ] = function( options, element ) {
$.each( prototype, function( prop, value ) {
proxiedPrototype[ prop ] = ( function() {
function _super() {
function _superApply( args ) {
return function() {
$.each( existingConstructor._childConstructors, function( i, child ) {
$.widget.extend = function( target ) {
$.widget.bridge = function( name, object ) {
$.fn[ name ] = function( options ) {
this.each( function() {
this.each( function() {
$.Widget = function( /* options, element */ ) {};
_createWidget: function( options, element ) {
remove: function( event ) {
_getCreateOptions: function() {
destroy: function() {
$.each( this.classesElementLookup, function( key, value ) {
widget: function() {
option: function( key, value ) {
_setOptions: function( options ) {
_setOption: function( key, value ) {
_setOptionClasses: function( value ) {
_setOptionDisabled: function( value ) {
enable: function() {
disable: function() {
_classes: function( options ) {
function processClassString( classes, checkOption ) {
_untrackClassesElement: function( event ) {
$.each( that.classesElementLookup, function( key, value ) {
_removeClass: function( element, keys, extra ) {
_addClass: function( element, keys, extra ) {
_toggleClass: function( element, keys, extra, add ) {
_on: function( suppressDisabledCheck, element, handlers ) {
$.each( handlers, function( event, handler ) {
function handlerProxy() {
_off: function( element, eventName ) {
_delay: function( handler, delay ) {
function handlerProxy() {
_hoverable: function( element ) {
mouseenter: function( event ) {
mouseleave: function( event ) {
_focusable: function( element ) {
focusin: function( event ) {
focusout: function( event ) {
_trigger: function( type, event, data ) {
$.each( { show: "fadeIn", hide: "fadeOut" }, function( method, defaultEffect ) {
$.Widget.prototype[ "_" + method ] = function( element, options, callback ) {
element.queue( function( next ) {
/*!
* jQuery UI Position 1.12.1
*
* Copyright jQuery Foundation and other contributors
* Released under the MIT license.
*
*/
( function() {
function getOffsets( offsets, width, height ) {
function parseCss( element, property ) {
function getDimensions( elem ) {
scrollbarWidth: function() {
getScrollInfo: function( within ) {
getWithinInfo: function( element ) {
$.fn.position = function( options ) {
$.each( [ "my", "at" ], function() {
return this.each( function() {
$.each( [ "left", "top" ], function( i, dir ) {
using = function( props ) {
left: function( position, data ) {
top: function( position, data ) {
left: function( position, data ) {
top: function( position, data ) {
left: function() {
top: function() {
/*!
* jQuery UI :data 1.12.1
*
* Copyright jQuery Foundation and other contributors
* Released under the MIT license.
*/
$.expr.createPseudo( function( dataName ) {
return function( elem ) {
function( elem, i, match ) {
/*!
* jQuery UI Disable Selection 1.12.1
*
* Copyright jQuery Foundation and other contributors
* Released under the MIT license.
*/
disableSelection: ( function() {
return function() {
return this.on( eventType + ".ui-disableSelection", function( event ) {
enableSelection: function() {
/*!
* jQuery UI Focusable 1.12.1
*
* Copyright jQuery Foundation and other contributors
* Released under the MIT license.
*/
$.ui.focusable = function( element, hasTabindex ) {
function visible( element ) {
focusable: function( element ) {
var form = $.fn.form = function() {
/*!
* jQuery UI Form Reset Mixin 1.12.1
*
* Copyright jQuery Foundation and other contributors
* Released under the MIT license.
*/
_formResetHandler: function() {
setTimeout( function() {
$.each( instances, function() {
_bindFormResetHandler: function() {
_unbindFormResetHandler: function() {
/*!
* jQuery UI Support for jQuery core 1.7.x 1.12.1
*
* Copyright jQuery Foundation and other contributors
* Released under the MIT license.
*
*/
$.each( [ "Width", "Height" ], function( i, name ) {
function reduce( elem, size, border, margin ) {
$.each( side, function() {
$.fn[ "inner" + name ] = function( size ) {
return this.each( function() {
$.fn[ "outer" + name ] = function( size, margin ) {
return this.each( function() {
$.fn.addBack = function( selector ) {
/*!
* jQuery UI Keycode 1.12.1
*
* Copyright jQuery Foundation and other contributors
* Released under the MIT license.
*/
var escapeSelector = $.ui.escapeSelector = ( function() {
return function( selector ) {
/*!
* jQuery UI Labels 1.12.1
*
* Copyright jQuery Foundation and other contributors
* Released under the MIT license.
*/
var labels = $.fn.labels = function() {
/*!
* jQuery UI Scroll Parent 1.12.1
*
* Copyright jQuery Foundation and other contributors
* Released under the MIT license.
*/
var scrollParent = $.fn.scrollParent = function( includeHidden ) {
scrollParent = this.parents().filter( function() {
/*!
* jQuery UI Tabbable 1.12.1
*
* Copyright jQuery Foundation and other contributors
* Released under the MIT license.
*/
tabbable: function( element ) {
/*!
* jQuery UI Unique ID 1.12.1
*
* Copyright jQuery Foundation and other contributors
* Released under the MIT license.
*/
uniqueId: ( function() {
return function() {
return this.each( function() {
removeUniqueId: function() {
return this.each( function() {
/*!
* jQuery UI Mouse 1.12.1
*
* Copyright jQuery Foundation and other contributors
* Released under the MIT license.
*/
$( document ).on( "mouseup", function() {
_mouseInit: function() {
.on( "mousedown." + this.widgetName, function( event ) {
.on( "click." + this.widgetName, function( event ) {
_mouseDestroy: function() {
_mouseDown: function( event ) {
this._mouseDelayTimer = setTimeout( function() {
this._mouseMoveDelegate = function( event ) {
this._mouseUpDelegate = function( event ) {
_mouseMove: function( event ) {
_mouseUp: function( event ) {
_mouseDistanceMet: function( event ) {
_mouseDelayMet: function( /* event */ ) {
_mouseStart: function( /* event */ ) {},
_mouseDrag: function( /* event */ ) {},
_mouseStop: function( /* event */ ) {},
_mouseCapture: function( /* event */ ) { return true; }
add: function( module, option, set ) {
call: function( instance, name, args, allowDisconnected ) {
var safeActiveElement = $.ui.safeActiveElement = function( document ) {
var safeBlur = $.ui.safeBlur = function( element ) {
/*!
* jQuery UI Draggable 1.12.1
*
* Copyright jQuery Foundation and other contributors
* Released under the MIT license.
*/
_create: function() {
_setOption: function( key, value ) {
_destroy: function() {
_mouseCapture: function( event ) {
_blockFrames: function( selector ) {
this.iframeBlocks = this.document.find( selector ).map( function() {
_unblockFrames: function() {
_blurActiveElement: function( event ) {
_mouseStart: function( event ) {
/*
* - Position generation -
* This block generates everything position related - it's the core of draggables.
*/
this.hasFixedAncestor = this.helper.parents().filter( function() {
_refreshOffsets: function( event ) {
_mouseDrag: function( event, noPropagation ) {
_mouseStop: function( event ) {
function() {
_mouseUp: function( event ) {
cancel: function() {
_getHandle: function( event ) {
_setHandleClassName: function() {
_removeHandleClassName: function() {
_createHelper: function( event ) {
_setPositionRelative: function() {
_adjustOffsetFromHelper: function( obj ) {
_isRootNode: function( element ) {
_getParentOffset: function() {
_getRelativeOffset: function() {
_cacheMargins: function() {
_cacheHelperProportions: function() {
_setContainment: function() {
_convertPositionTo: function( d, pos ) {
_generatePosition: function( event, constrainPosition ) {
/*
* - Position constraining -
* Constrain the position to a mix of grid, containment.
*/
_clear: function() {
_trigger: function( type, event, ui ) {
_uiHash: function() {
start: function( event, ui, draggable ) {
$( draggable.options.connectToSortable ).each( function() {
stop: function( event, ui, draggable ) {
$.each( draggable.sortables, function() {
drag: function( event, ui, draggable ) {
$.each( draggable.sortables, function() {
$.each( draggable.sortables, function() {
sortable.options.helper = function() {
$.each( draggable.sortables, function() {
$.each( draggable.sortables, function() {
start: function( event, ui, instance ) {
stop: function( event, ui, instance ) {
start: function( event, ui, instance ) {
stop: function( event, ui, instance ) {
start: function( event, ui, i ) {
drag: function( event, ui, i ) {
start: function( event, ui, i ) {
.each( function() {
drag: function( event, ui, inst ) {
start: function( event, ui, instance ) {
group = $.makeArray( $( o.stack ) ).sort( function( a, b ) {
$( group ).each( function( i ) {
start: function( event, ui, instance ) {
stop: function( event, ui, instance ) {
/*!
* jQuery UI Droppable 1.12.1
*
* Copyright jQuery Foundation and other contributors
* Released under the MIT license.
*/
_create: function() {
this.accept = $.isFunction( accept ) ? accept : function( d ) {
this.proportions = function( /* valueToWrite */ ) {
_addToManager: function( scope ) {
_splice: function( drop ) {
_destroy: function() {
_setOption: function( key, value ) {
this.accept = $.isFunction( value ) ? value : function( d ) {
_activate: function( event ) {
_deactivate: function( event ) {
_over: function( event ) {
_out: function( event ) {
_drop: function( event, custom ) {
.each( function() {
ui: function( c ) {
_addHoverClass: function() {
_removeHoverClass: function() {
_addActiveClass: function() {
_removeActiveClass: function() {
var intersect = $.ui.intersect = ( function() {
function isOverAxis( x, reference, size ) {
return function( draggable, droppable, toleranceMode, event ) {
/*
This manager tracks offsets of draggables and droppables
*/
prepareOffsets: function( t, event ) {
drop: function( draggable, event ) {
$.each( ( $.ui.ddmanager.droppables[ draggable.options.scope ] || [] ).slice(), function() {
dragStart: function( draggable, event ) {
draggable.element.parentsUntil( "body" ).on( "scroll.droppable", function() {
drag: function( draggable, event ) {
$.each( $.ui.ddmanager.droppables[ draggable.options.scope ] || [], function() {
parent = this.element.parents( ":data(ui-droppable)" ).filter( function() {
dragStop: function( draggable, event ) {
_addActiveClass: function() {
_removeActiveClass: function() {
_addHoverClass: function() {
_removeHoverClass: function() {
/*!
* jQuery UI Resizable 1.12.1
*
* Copyright jQuery Foundation and other contributors
* Released under the MIT license.
*/
_num: function( value ) {
_isNumber: function( value ) {
_hasScroll: function( el, a ) {
_create: function() {
.on( "mouseenter", function() {
.on( "mouseleave", function() {
_destroy: function() {
_destroy = function( exp ) {
_setOption: function( key, value ) {
_setupHandles: function() {
this._renderAxis = function( target ) {
this._handles.on( "mouseover", function() {
_removeHandles: function() {
_mouseCapture: function( event ) {
_mouseStart: function( event ) {
_mouseDrag: function( event ) {
_mouseStop: function( event ) {
_updatePrevProperties: function() {
_applyChanges: function() {
_updateVirtualBoundaries: function( forceAspectRatio ) {
_updateCache: function( data ) {
_updateRatio: function( data ) {
_respectSize: function( data ) {
_getPaddingPlusBorderDimensions: function( element ) {
_proportionallyResize: function() {
_renderProxy: function() {
e: function( event, dx ) {
w: function( event, dx ) {
n: function( event, dx, dy ) {
s: function( event, dx, dy ) {
se: function( event, dx, dy ) {
sw: function( event, dx, dy ) {
ne: function( event, dx, dy ) {
nw: function( event, dx, dy ) {
_propagate: function( n, event ) {
ui: function() {
/*
* Resizable Extensions
*/
stop: function( event ) {
step: function() {
start: function() {
$( [ "Top", "Right", "Left", "Bottom" ] ).each( function( i, name ) {
resize: function( event ) {
stop: function() {
start: function() {
$( o.alsoResize ).each( function() {
resize: function( event, ui ) {
$( o.alsoResize ).each( function() {
$.each( css, function( i, prop ) {
stop: function() {
start: function() {
resize: function() {
stop: function() {
resize: function() {
/*!
* jQuery UI Selectable 1.12.1
*
* Copyright jQuery Foundation and other contributors
* Released under the MIT license.
*/
_create: function() {
this.refresh = function() {
that.selectees.each( function() {
_destroy: function() {
_mouseStart: function( event ) {
this.selectees.filter( ".ui-selected" ).each( function() {
$( event.target ).parents().addBack().each( function() {
_mouseDrag: function( event ) {
this.selectees.each( function() {
_mouseStop: function( event ) {
$( ".ui-unselecting", this.element[ 0 ] ).each( function() {
$( ".ui-selecting", this.element[ 0 ] ).each( function() {
/*!
* jQuery UI Sortable 1.12.1
*
* Copyright jQuery Foundation and other contributors
* Released under the MIT license.
*/
_isOverAxis: function( x, reference, size ) {
_isFloating: function( item ) {
_create: function() {
_setOption: function( key, value ) {
_setHandleClassName: function() {
$.each( this.items, function() {
_destroy: function() {
_mouseCapture: function( event, overrideHandle ) {
$( event.target ).parents().each( function() {
$( this.options.handle, currentItem ).find( "*" ).addBack().each( function() {
_mouseStart: function( event, overrideHandle, noActivation ) {
/*
* - Position generation -
* This block generates everything position related - it's the core of draggables.
*/
_mouseDrag: function( event ) {
_mouseStop: function( event, noPropagation ) {
function() {
cancel: function() {
serialize: function( o ) {
$( items ).each( function() {
toArray: function( o ) {
items.each( function() {
/* Be careful with the following core functions */
_intersectsWith: function( item ) {
_intersectsWithPointer: function( item ) {
_intersectsWithSides: function( item ) {
_getDragVerticalDirection: function() {
_getDragHorizontalDirection: function() {
refresh: function( event ) {
_connectWith: function() {
_getItemsAsjQuery: function( connected ) {
function addItems() {
_removeCurrentsFromItems: function() {
this.items = $.grep( this.items, function( item ) {
_refreshItems: function( event ) {
refreshPositions: function( fast ) {
_createPlaceholder: function( that ) {
element: function() {
update: function( container, p ) {
_createTrPlaceholder: function( sourceTr, targetTr ) {
sourceTr.children().each( function() {
_contactContainers: function( event ) {
_createHelper: function( event ) {
_adjustOffsetFromHelper: function( obj ) {
_getParentOffset: function() {
_getRelativeOffset: function() {
_cacheMargins: function() {
_cacheHelperProportions: function() {
_setContainment: function() {
_convertPositionTo: function( d, pos ) {
_generatePosition: function( event ) {
/*
* - Position constraining -
* Constrain the position to a mix of grid, containment.
*/
_rearrange: function( event, i, a, hardRefresh ) {
this._delay( function() {
_clear: function( event, noPropagation ) {
delayedTriggers.push( function( event ) {
delayedTriggers.push( function( event ) {
delayedTriggers.push( function( event ) {
delayedTriggers.push( ( function( c ) {
return function( event ) {
delayedTriggers.push( ( function( c ) {
return function( event ) {
function delayEvent( type, instance, container ) {
return function( event ) {
_trigger: function() {
_uiHash: function( _inst ) {
/*!
* jQuery UI Accordion 1.12.1
*
* Copyright jQuery Foundation and other contributors
* Released under the MIT license.
*/
_create: function() {
_getCreateEventData: function() {
_createIcons: function() {
_destroyIcons: function() {
_destroy: function() {
_setOption: function( key, value ) {
_setOptionDisabled: function( value ) {
_keydown: function( event ) {
_panelKeyDown: function( event ) {
refresh: function() {
_processPanels: function() {
_refresh: function() {
.each( function() {
this.element.siblings( ":visible" ).each( function() {
this.headers.each( function() {
.each( function() {
.each( function() {
_activate: function( index ) {
_findActive: function( selector ) {
_setupEvents: function( event ) {
$.each( event.split( " " ), function( index, eventName ) {
_eventHandler: function( event ) {
_toggle: function( data ) {
this.headers.filter( function() {
_animate: function( toShow, toHide, data ) {
complete = function() {
step: function( now, fx ) {
step: function( now, fx ) {
_toggleComplete: function( data ) {
/*!
* jQuery UI Menu 1.12.1
*
* Copyright jQuery Foundation and other contributors
* Released under the MIT license.
*/
_create: function() {
"mousedown .ui-menu-item": function( event ) {
"click .ui-menu-item": function( event ) {
"mouseenter .ui-menu-item": function( event ) {
focus: function( event, keepActiveItem ) {
blur: function( event ) {
this._delay( function() {
click: function( event ) {
_destroy: function() {
submenus.children().each( function() {
_keydown: function( event ) {
this.filterTimer = this._delay( function() {
_activate: function( event ) {
refresh: function() {
.each( function() {
items.not( ".ui-menu-item" ).each( function() {
_itemRole: function() {
_setOption: function( key, value ) {
_setOptionDisabled: function( value ) {
focus: function( event, item ) {
this.timer = this._delay( function() {
_scrollIntoView: function( item ) {
blur: function( event, fromFocus ) {
_startOpening: function( submenu ) {
this.timer = this._delay( function() {
_open: function( submenu ) {
collapseAll: function( event, all ) {
this.timer = this._delay( function() {
_close: function( startMenu ) {
_closeOnDocumentClick: function( event ) {
_isDivider: function( item ) {
collapse: function( event ) {
expand: function( event ) {
this._delay( function() {
next: function( event ) {
previous: function( event ) {
isFirstItem: function() {
isLastItem: function() {
_move: function( direction, filter, event ) {
nextPage: function( event ) {
this.active.nextAll( ".ui-menu-item" ).each( function() {
previousPage: function( event ) {
this.active.prevAll( ".ui-menu-item" ).each( function() {
_hasScroll: function() {
select: function( event ) {
_filterMenuItems: function( character ) {
.filter( function() {
/*!
* jQuery UI Autocomplete 1.12.1
*
* Copyright jQuery Foundation and other contributors
* Released under the MIT license.
*/
_create: function() {
keydown: function( event ) {
keypress: function( event ) {
input: function( event ) {
focus: function() {
blur: function( event ) {
mousedown: function( event ) {
this._delay( function() {
menufocus: function( event, ui ) {
this.document.one( "mousemove", function() {
menuselect: function( event, ui ) {
this._delay( function() {
beforeunload: function() {
_destroy: function() {
_setOption: function( key, value ) {
_isEventTargetInWidget: function( event ) {
_closeOnClickOutside: function( event ) {
_appendTo: function() {
_initSource: function() {
this.source = function( request, response ) {
this.source = function( request, response ) {
success: function( data ) {
error: function() {
_searchTimeout: function( event ) {
this.searching = this._delay( function() {
search: function( value, event ) {
_search: function( value ) {
_response: function() {
return $.proxy( function( content ) {
__response: function( content ) {
close: function( event ) {
_close: function( event ) {
_change: function( event ) {
_normalize: function( items ) {
return $.map( items, function( item ) {
_suggest: function( items ) {
_resizeMenu: function() {
_renderMenu: function( ul, items ) {
$.each( items, function( index, item ) {
_renderItemData: function( ul, item ) {
_renderItem: function( ul, item ) {
_move: function( direction, event ) {
widget: function() {
_value: function() {
_keyEvent: function( keyEvent, event ) {
_isContentEditable: function( element ) {
escapeRegex: function( value ) {
filter: function( array, term ) {
return $.grep( array, function( value ) {
results: function( amount ) {
__response: function( content ) {
/*!
* jQuery UI Controlgroup 1.12.1
*
* Copyright jQuery Foundation and other contributors
* Released under the MIT license.
*/
_create: function() {
_enhance: function() {
_destroy: function() {
_initWidgets: function() {
$.each( this.options.items, function( widget, selector ) {
labels.each( function() {
.each( function() {
_callChildMethod: function( method ) {
this.childWidgets.each( function() {
_updateCornerClass: function( element, position ) {
_buildSimpleOptions: function( position, key ) {
_spinnerOptions: function( position ) {
_buttonOptions: function( position ) {
_checkboxradioOptions: function( position ) {
_selectmenuOptions: function( position ) {
_resolveClassesValues: function( classes, instance ) {
$.each( classes, function( key ) {
_setOption: function( key, value ) {
refresh: function() {
$.each( [ "first", "last" ], function( index, value ) {
/*!
* jQuery UI Checkboxradio 1.12.1
*
* Copyright jQuery Foundation and other contributors
* Released under the MIT license.
*/
_getCreateOptions: function() {
this.label.contents().not( this.element[ 0 ] ).each( function() {
_create: function() {
focus: function() {
blur: function() {
_readType: function() {
_enhance: function() {
widget: function() {
_getRadioGroup: function() {
group = $( nameSelector ).filter( function() {
_toggleClasses: function() {
.each( function() {
_destroy: function() {
_setOption: function( key, value ) {
_updateIcon: function( checked ) {
_updateLabel: function() {
refresh: function() {
/*!
* jQuery UI Button 1.12.1
*
* Copyright jQuery Foundation and other contributors
* Released under the MIT license.
*/
_getCreateOptions: function() {
_create: function() {
"keyup": function( event ) {
_enhance: function() {
_updateTooltip: function() {
_updateIcon: function( option, value ) {
_destroy: function() {
_attachIconSpace: function( iconPosition ) {
_attachIcon: function( iconPosition ) {
_setOptions: function( options ) {
_setOption: function( key, value ) {
refresh: function() {
_create: function() {
_setOption: function( key, value ) {
$.fn.button = ( function( orig ) {
return function() {
$.fn.buttonset = function() {
/* jscs:disable requireCamelCaseOrUpperCaseIdentifiers */
/*!
* jQuery UI Datepicker 1.12.1
*
* Copyright jQuery Foundation and other contributors
* Released under the MIT license.
*/
function datepicker_getZindex( elem ) {
/* Date picker manager.
Use the singleton instance of this class, $.datepicker, to interact with the date picker.
Settings for (groups of) date pickers are maintained in an instance object,
allowing multiple different settings on the same page. */
function Datepicker() {
/* Class name added to elements to indicate already configured with a date picker. */
_widgetDatepicker: function() {
/* Override the default settings for all instances of the date picker.
* @param settings object - the new settings to use as defaults (anonymous object)
* @return the manager object
*/
setDefaults: function( settings ) {
/* Attach the date picker to a jQuery selection.
* @param target element - the target input field or division or span
* @param settings object - the new settings to use for this date picker instance (anonymous)
*/
_attachDatepicker: function( target, settings ) {
/* Create a new instance object. */
_newInst: function( target, inline ) {
/* Attach the date picker to an input field. */
_connectDatepicker: function( target, inst ) {
/* Make attachments based on settings. */
_attachments: function( input, inst ) {
inst.trigger.on( "click", function() {
/* Apply the maximum length for the date format. */
_autoSize: function( inst ) {
findMax = function( names ) {
/* Attach an inline date picker to a div. */
_inlineDatepicker: function( target, inst ) {
/* Pop-up the date picker in a "dialog" box.
* @param input element - ignored
* @param date string or Date - the initial date to display
* @param onSelect function - the function to call when a date is selected
* @param settings object - update the dialog date picker instance's settings (anonymous object)
* @param pos int[2] - coordinates for the dialog's position within the screen or
* event - with x/y coordinates or
* leave empty for default (screen centre)
* @return the manager object
*/
_dialogDatepicker: function( input, date, onSelect, settings, pos ) {
/* Detach a datepicker from its control.
* @param target element - the target input field or division or span
*/
_destroyDatepicker: function( target ) {
/* Enable the date picker to a jQuery selection.
* @param target element - the target input field or division or span
*/
_enableDatepicker: function( target ) {
each( function() { this.disabled = false; } ).end().
/* Disable the date picker to a jQuery selection.
* @param target element - the target input field or division or span
*/
_disableDatepicker: function( target ) {
each( function() { this.disabled = true; } ).end().
/* Is the first field in a jQuery collection disabled as a datepicker?
* @param target element - the target input field or division or span
* @return boolean - true if disabled, false if enabled
*/
_isDisabledDatepicker: function( target ) {
/* Retrieve the instance data for the target control.
* @param target element - the target input field or division or span
* @return object - the associated instance data
* @throws error if a jQuery problem getting data
*/
_getInst: function( target ) {
/* Update or retrieve the settings for a date picker attached to an input field or division.
* @param target element - the target input field or division or span
* @param name object - the new settings to update or
* string - the name of the setting to change or retrieve,
* when retrieving also "all" for all instance settings or
* "defaults" for all global defaults
* @param value any - the new value for the setting
* (omit if above is an object or to retrieve a value)
*/
_optionDatepicker: function( target, name, value ) {
_changeDatepicker: function( target, name, value ) {
/* Redraw the date picker attached to an input field or division.
* @param target element - the target input field or division or span
*/
_refreshDatepicker: function( target ) {
/* Set the dates for a jQuery selection.
* @param target element - the target input field or division or span
* @param date Date - the new date
*/
_setDateDatepicker: function( target, date ) {
/* Get the date(s) for the first entry in a jQuery selection.
* @param target element - the target input field or division or span
* @param noDefault boolean - true if no default date is to be used
* @return Date - the current date
*/
_getDateDatepicker: function( target, noDefault ) {
/* Handle keystrokes. */
_doKeyDown: function( event ) {
/* Filter entered characters - based on date format. */
_doKeyPress: function( event ) {
/* Synchronise manual entry and field/alternate field. */
_doKeyUp: function( event ) {
/* Pop-up the date picker for a given input field.
* If false returned from beforeShow event handler do not show.
* @param input element - the input field attached to the date picker or
* event - if triggered by focus
*/
_showDatepicker: function( input ) {
$( input ).parents().each( function() {
/* Generate the date picker content. */
_updateDatepicker: function( inst ) {
setTimeout( function() {
_shouldFocusInput: function( inst ) {
/* Check positioning to remain on screen. */
_checkOffset: function( inst, offset, isFixed ) {
/* Find an object's position on the screen. */
_findPos: function( obj ) {
/* Hide the date picker from view.
* @param input element - the input field attached to the date picker
*/
_hideDatepicker: function( input ) {
postProcess = function() {
/* Tidy up after a dialog display. */
_tidyDialog: function( inst ) {
/* Close date picker if clicked elsewhere. */
_checkExternalClick: function( event ) {
/* Adjust one of the date sub-fields. */
_adjustDate: function( id, offset, period ) {
/* Action for current link. */
_gotoToday: function( id ) {
/* Action for selecting a new month/year. */
_selectMonthYear: function( id, select, period ) {
/* Action for selecting a day. */
_selectDay: function( id, month, year, td ) {
/* Erase the input field and hide the date picker. */
_clearDate: function( id ) {
/* Update the input field with the selected date. */
_selectDate: function( id, dateStr ) {
/* Update any alternate field to synchronise with the main field. */
_updateAlternate: function( inst ) {
/* Set as beforeShowDay function to prevent selection of weekends.
* @param date Date - the date to customise
* @return [boolean, string] - is this date selectable?, what is its CSS class?
*/
noWeekends: function( date ) {
/* Set as calculateWeek to determine the week of the year based on the ISO 8601 definition.
* @param date Date - the date to get the week for
* @return number - the number of the week within the year that contains this date
*/
iso8601Week: function( date ) {
/* Parse a string value into a date object.
* See formatDate below for the possible formats.
*
* @param format string - the expected format of the date
* @param value string - the date in the above format
* @param settings Object - attributes include:
* shortYearCutoff number - the cutoff year for determining the century (optional)
* dayNamesShort string[7] - abbreviated names of the days from Sunday (optional)
* dayNames string[7] - names of the days from Sunday (optional)
* monthNamesShort string[12] - abbreviated names of the months (optional)
* monthNames string[12] - names of the months (optional)
* @return Date - the extracted date value or null if value is blank
*/
parseDate: function( format, value, settings ) {
lookAhead = function( match ) {
getNumber = function( match ) {
getName = function( match, shortNames, longNames ) {
names = $.map( lookAhead( match ) ? longNames : shortNames, function( v, k ) {
} ).sort( function( a, b ) {
$.each( names, function( i, pair ) {
checkLiteral = function() {
/* Standard date formats. */
/* Format a date object into a string value.
* The format can be combinations of the following:
* d - day of month (no leading zero)
* dd - day of month (two digit)
* o - day of year (no leading zeros)
* oo - day of year (three digit)
* D - day name short
* DD - day name long
* m - month of year (no leading zero)
* mm - month of year (two digit)
* M - month name short
* MM - month name long
* y - year (two digit)
* yy - year (four digit)
* @ - Unix timestamp (ms since 01/01/1970)
* ! - Windows ticks (100ns since 01/01/0001)
* "..." - literal text
* '' - single quote
*
* @param format string - the desired format of the date
* @param date Date - the date value to format
* @param settings Object - attributes include:
* dayNamesShort string[7] - abbreviated names of the days from Sunday (optional)
* dayNames string[7] - names of the days from Sunday (optional)
* monthNamesShort string[12] - abbreviated names of the months (optional)
* monthNames string[12] - names of the months (optional)
* @return string - the date in the above format
*/
formatDate: function( format, date, settings ) {
lookAhead = function( match ) {
formatNumber = function( match, value, len ) {
formatName = function( match, value, shortNames, longNames ) {
/* Extract all possible characters from the date format. */
_possibleChars: function( format ) {
lookAhead = function( match ) {
/* Get a setting value, defaulting if necessary. */
_get: function( inst, name ) {
/* Parse existing date and initialise date picker. */
_setDateFromField: function( inst, noDefault ) {
/* Retrieve the default date shown on opening. */
_getDefaultDate: function( inst ) {
/* A date may be specified as an exact value or a relative one. */
_determineDate: function( inst, date, defaultDate ) {
var offsetNumeric = function( offset ) {
offsetString = function( offset ) {
/* Handle switch to/from daylight saving.
* Hours may be non-zero on daylight saving cut-over:
* > 12 when midnight changeover, but then cannot generate
* midnight datetime, so jump to 1AM, otherwise reset.
* @param date (Date) the date to check
* @return (Date) the corrected date
*/
_daylightSavingAdjust: function( date ) {
/* Set the date(s) directly. */
_setDate: function( inst, date, noChange ) {
/* Retrieve the date(s) directly. */
_getDate: function( inst ) {
/* Attach the onxxx handlers. These are declared statically so
* they work with static code transformers like Caja.
*/
_attachHandlers: function( inst ) {
inst.dpDiv.find( "[data-handler]" ).map( function() {
prev: function() {
next: function() {
hide: function() {
today: function() {
selectDay: function() {
selectMonth: function() {
selectYear: function() {
/* Generate the HTML for the current state of the date picker. */
_generateHTML: function( inst ) {
/* Generate the month and year header. */
_generateMonthYearHeader: function( inst, drawMonth, drawYear, minDate, maxDate,
determineYear = function( value ) {
/* Adjust one of the date sub-fields. */
_adjustInstDate: function( inst, offset, period ) {
/* Ensure a date is within any min/max bounds. */
_restrictMinMax: function( inst, date ) {
/* Notify change of month/year. */
_notifyChange: function( inst ) {
/* Determine the number of months to show. */
_getNumberOfMonths: function( inst ) {
/* Determine the current maximum date - ensure no time components are set. */
_getMinMaxDate: function( inst, minMax ) {
/* Find the number of days in a given month. */
_getDaysInMonth: function( year, month ) {
/* Find the day of the week of the first of a month. */
_getFirstDayOfMonth: function( year, month ) {
/* Determines if we should allow a "next/prev" month display change. */
_canAdjustMonth: function( inst, offset, curYear, curMonth ) {
/* Is the given date in the accepted range? */
_isInRange: function( inst, date ) {
/* Provide the configuration settings for formatting/parsing. */
_getFormatConfig: function( inst ) {
/* Format the given date for display. */
_formatDate: function( inst, day, month, year ) {
/*
* Bind hover events for datepicker elements.
* Done via delegate so the binding only occurs once in the lifetime of the parent div.
* Global datepicker_instActive, set by _updateDatepicker allows the handlers to find their way back to the active picker.
*/
function datepicker_bindHover( dpDiv ) {
return dpDiv.on( "mouseout", selector, function() {
function datepicker_handleMouseover() {
/* jQuery extend now ignores nulls! */
function datepicker_extendRemove( target, props ) {
/* Invoke the datepicker functionality.
@param options string - a command, optionally followed by additional parameters or
Object - settings for attaching new datepicker functionality
@return jQuery object */
$.fn.datepicker = function( options ) {
/* Verify an empty collection wasn't passed - Fixes #6976 */
/* Initialise the date picker. */
/* Append datepicker main container to body if not exist. */
return this.each( function() {
/*!
* jQuery UI Dialog 1.12.1
*
* Copyright jQuery Foundation and other contributors
* Released under the MIT license.
*/
using: function( pos ) {
_create: function() {
_init: function() {
_appendTo: function() {
_destroy: function() {
widget: function() {
close: function( event ) {
this._hide( this.uiDialog, this.options.hide, function() {
isOpen: function() {
moveToTop: function() {
_moveToTop: function( event, silent ) {
zIndices = this.uiDialog.siblings( ".ui-front:visible" ).map( function() {
open: function() {
this._show( this.uiDialog, this.options.show, function() {
_focusTabbable: function() {
_keepFocus: function( event ) {
function checkFocus() {
_createWrapper: function() {
keydown: function( event ) {
this._delay( function() {
this._delay( function() {
mousedown: function( event ) {
_createTitlebar: function() {
mousedown: function( event ) {
click: function( event ) {
_title: function( title ) {
_createButtonPane: function() {
_createButtons: function() {
$.each( buttons, function( name, props ) {
.on( "click", function() {
_makeDraggable: function() {
function filteredUi( ui ) {
start: function( event, ui ) {
drag: function( event, ui ) {
stop: function( event, ui ) {
_makeResizable: function() {
function filteredUi( ui ) {
start: function( event, ui ) {
resize: function( event, ui ) {
stop: function( event, ui ) {
_trackFocus: function() {
focusin: function( event ) {
_makeFocusTarget: function() {
_untrackInstance: function() {
_trackingInstances: function() {
_minHeight: function() {
_position: function() {
_setOptions: function( options ) {
$.each( options, function( key, value ) {
_setOption: function( key, value ) {
_size: function() {
_blockFrames: function() {
this.iframeBlocks = this.document.find( "iframe" ).map( function() {
_unblockFrames: function() {
_allowInteraction: function( event ) {
_createOverlay: function() {
this._delay( function() {
focusin: function( event ) {
_destroyOverlay: function() {
_createWrapper: function() {
_setOption: function( key, value ) {
/*!
* jQuery UI Progressbar 1.12.1
*
* Copyright jQuery Foundation and other contributors
* Released under the MIT license.
*/
_create: function() {
_destroy: function() {
value: function( newValue ) {
_constrainedValue: function( newValue ) {
_setOptions: function( options ) {
_setOption: function( key, value ) {
_setOptionDisabled: function( value ) {
_percentage: function() {
_refreshValue: function() {
/*!
* jQuery UI Selectmenu 1.12.1
*
* Copyright jQuery Foundation and other contributors
* Released under the MIT license.
*/
_create: function() {
_drawButton: function() {
click: function( event ) {
this.button.one( "focusin", function() {
_drawMenu: function() {
select: function( event, ui ) {
focus: function( event, ui ) {
this.menuInstance._closeOnDocumentClick = function() {
this.menuInstance._isDivider = function() {
refresh: function() {
_refreshMenu: function() {
open: function( event ) {
_position: function() {
close: function( event ) {
widget: function() {
menuWidget: function() {
_renderButtonItem: function( item ) {
_renderMenu: function( ul, items ) {
$.each( items, function( index, item ) {
_renderItemData: function( ul, item ) {
_renderItem: function( ul, item ) {
_setText: function( element, value ) {
_move: function( direction, event ) {
_getSelectedItem: function() {
_toggle: function( event ) {
_setSelection: function() {
mousedown: function( event ) {
mousedown: function() {
click: function( event ) {
keydown: function( event ) {
_selectFocusedItem: function( event ) {
_select: function( item, event ) {
_setAria: function( item ) {
_setOption: function( key, value ) {
_setOptionDisabled: function( value ) {
_appendTo: function() {
_toggleAttr: function() {
_resizeButton: function() {
_resizeMenu: function() {
_getCreateOptions: function() {
_parseOptions: function( options ) {
options.each( function( index, item ) {
_parseOption: function( option, index ) {
_destroy: function() {
/*!
* jQuery UI Slider 1.12.1
*
* Copyright jQuery Foundation and other contributors
* Released under the MIT license.
*/
_create: function() {
_refresh: function() {
_createHandles: function() {
this.handles.each( function( i ) {
_createRange: function() {
_setupEvents: function() {
_destroy: function() {
_mouseCapture: function( event ) {
this.handles.each( function( i ) {
_mouseStart: function() {
_mouseDrag: function( event ) {
_mouseStop: function( event ) {
_detectOrientation: function() {
_normValueFromMouse: function( position ) {
_uiHash: function( index, value, values ) {
_hasMultipleValues: function() {
_start: function( event, index ) {
_slide: function( event, index, newVal ) {
_stop: function( event, index ) {
_change: function( event, index ) {
value: function( newValue ) {
values: function( index, newValue ) {
_setOption: function( key, value ) {
_setOptionDisabled: function( value ) {
_value: function() {
_values: function( index ) {
_trimAlignValue: function( val ) {
_calculateNewMax: function() {
_precision: function() {
_precisionOf: function( num ) {
_valueMin: function() {
_valueMax: function() {
_refreshRange: function( orientation ) {
_refreshValue: function() {
this.handles.each( function( i ) {
keydown: function( event ) {
keyup: function( event ) {
/*!
* jQuery UI Spinner 1.12.1
*
* Copyright jQuery Foundation and other contributors
* Released under the MIT license.
*/
function spinnerModifer( fn ) {
return function() {
_create: function() {
beforeunload: function() {
_getCreateOptions: function() {
$.each( [ "min", "max", "step" ], function( i, option ) {
keydown: function( event ) {
focus: function() {
blur: function( event ) {
mousewheel: function( event, delta ) {
this.mousewheelTimer = this._delay( function() {
"mousedown .ui-spinner-button": function( event ) {
function checkFocus() {
this._delay( function() {
this._delay( function() {
"mouseenter .ui-spinner-button": function( event ) {
_enhance: function() {
_draw: function() {
_keydown: function( event ) {
_start: function( event ) {
_repeat: function( i, steps, event ) {
this.timer = this._delay( function() {
_spin: function( step, event ) {
_increment: function( i ) {
_precision: function() {
_precisionOf: function( num ) {
_adjustValue: function( value ) {
_stop: function( event ) {
_setOption: function( key, value ) {
_setOptionDisabled: function( value ) {
_setOptions: spinnerModifer( function( options ) {
_parse: function( val ) {
_format: function( value ) {
_refresh: function() {
isValid: function() {
_value: function( value, allowAny ) {
_destroy: function() {
stepUp: spinnerModifer( function( steps ) {
_stepUp: function( steps ) {
stepDown: spinnerModifer( function( steps ) {
_stepDown: function( steps ) {
pageUp: spinnerModifer( function( pages ) {
pageDown: spinnerModifer( function( pages ) {
value: function( newVal ) {
widget: function() {
_enhance: function() {
_uiSpinnerHtml: function() {
_buttonHtml: function() {
/*!
* jQuery UI Tabs 1.12.1
*
* Copyright jQuery Foundation and other contributors
* Released under the MIT license.
*/
_isLocal: ( function() {
return function( anchor ) {
_create: function() {
$.map( this.tabs.filter( ".ui-state-disabled" ), function( li ) {
_initialActive: function() {
this.tabs.each( function( i, tab ) {
_getCreateEventData: function() {
_tabKeydown: function( event ) {
this.activating = this._delay( function() {
_panelKeydown: function( event ) {
_handlePageNav: function( event ) {
_findNextTab: function( index, goingForward ) {
function constrain() {
_focusNextTab: function( index, goingForward ) {
_setOption: function( key, value ) {
_sanitizeSelector: function( hash ) {
refresh: function() {
options.disabled = $.map( lis.filter( ".ui-state-disabled" ), function( tab ) {
_refresh: function() {
_processTabs: function() {
.on( "mousedown" + this.eventNamespace, "> li", function( event ) {
.on( "focus" + this.eventNamespace, ".ui-tabs-anchor", function() {
this.anchors = this.tabs.map( function() {
this.anchors.each( function( i, anchor ) {
_getList: function() {
_createPanel: function( id ) {
_setOptionDisabled: function( disabled ) {
_setupEvents: function( event ) {
$.each( event.split( " " ), function( index, eventName ) {
click: function( event ) {
_setupHeightStyle: function( heightStyle ) {
this.element.siblings( ":visible" ).each( function() {
this.element.children().not( this.panels ).each( function() {
this.panels.each( function() {
this.panels.each( function() {
_eventHandler: function( event ) {
_toggle: function( event, eventData ) {
function complete() {
function show() {
this._hide( toHide, this.options.hide, function() {
this.tabs.filter( function() {
_activate: function( index ) {
_findActive: function( index ) {
_getIndex: function( index ) {
_destroy: function() {
this.tabs.add( this.panels ).each( function() {
this.tabs.each( function() {
enable: function( index ) {
disabled = $.map( disabled, function( num ) {
disabled = $.map( this.tabs, function( li, num ) {
disable: function( index ) {
load: function( index, event ) {
complete = function( jqXHR, status ) {
.done( function( response, status, jqXHR ) {
setTimeout( function() {
.fail( function( jqXHR, status ) {
setTimeout( function() {
_ajaxSettings: function( anchor, event, eventData ) {
beforeSend: function( jqXHR, settings ) {
_getPanelForTab: function( tab ) {
_processTabs: function() {
/*!
* jQuery UI Tooltip 1.12.1
*
* Copyright jQuery Foundation and other contributors
* Released under the MIT license.
*/
content: function() {
_addDescribedBy: function( elem, id ) {
_removeDescribedBy: function( elem ) {
_create: function() {
_setOption: function( key, value ) {
$.each( this.tooltips, function( id, tooltipData ) {
_setOptionDisabled: function( value ) {
_disable: function() {
$.each( this.tooltips, function( id, tooltipData ) {
.filter( function() {
_enable: function() {
this.disabledTitles.each( function() {
open: function( event ) {
target.parents().each( function() {
_updateContent: function( target, event ) {
content = contentOption.call( target[ 0 ], function( response ) {
that._delay( function() {
_open: function( event, target, content ) {
function position( event ) {
delayedShow = this.delayedShow = setInterval( function() {
_registerCloseHandlers: function( event, target ) {
keyup: function( event ) {
events.remove = function() {
close: function( event ) {
this._hide( tooltip, this.options.hide, function() {
$.each( this.parents, function( id, parent ) {
_tooltip: function( element ) {
_find: function( target ) {
_removeTooltip: function( tooltip ) {
_appendTo: function( target ) {
_destroy: function() {
$.each( this.tooltips, function( id, tooltipData ) {
_tooltip: function() {
/*!
* jQuery UI Effects 1.12.1
*
* Copyright jQuery Foundation and other contributors
* Released under the MIT license.
*/
/*!
* jQuery Color Animations v2.1.2
*
* Copyright 2014 jQuery Foundation and other contributors
* Released under the MIT license.
*
* Date: Wed Jan 16 08:47:09 2013 -0600
*/
( function( jQuery, undefined ) {
parse: function( execResult ) {
parse: function( execResult ) {
parse: function( execResult ) {
parse: function( execResult ) {
parse: function( execResult ) {
color = jQuery.Color = function( color, green, blue, alpha ) {
each( spaces, function( spaceName, space ) {
function clamp( value, prop, allowEmpty ) {
function stringParse( string ) {
each( stringParsers, function( i, parser ) {
parse: function( red, green, blue, alpha ) {
each( spaces.rgba.props, function( key, prop ) {
each( spaces, function( spaceName, space ) {
each( spaces, function( spaceName, space ) {
each( space.props, function( key, prop ) {
is: function( compare ) {
each( spaces, function( _, space ) {
each( space.props, function( _, prop ) {
_space: function() {
each( spaces, function( spaceName, space ) {
transition: function( other, distance ) {
each( space.props, function( key, prop ) {
blend: function( opaque ) {
return color( jQuery.map( rgb, function( v, i ) {
toRgbaString: function() {
rgba = jQuery.map( this._rgba, function( v, i ) {
toHslaString: function() {
hsla = jQuery.map( this.hsla(), function( v, i ) {
toHexString: function( includeAlpha ) {
return "#" + jQuery.map( rgba, function( v ) {
toString: function() {
function hue2rgb( p, q, h ) {
spaces.hsla.to = function( rgba ) {
spaces.hsla.from = function( hsla ) {
each( spaces, function( spaceName, space ) {
color.fn[ spaceName ] = function( value ) {
each( props, function( key, prop ) {
each( props, function( key, prop ) {
color.fn[ key ] = function( value ) {
if ( vtype === "function" ) {
color.hook = function( hook ) {
each( hooks, function( i, hook ) {
set: function( elem, value ) {
jQuery.fx.step[ hook ] = function( fx ) {
expand: function( value ) {
each( [ "Top", "Right", "Bottom", "Left" ], function( i, part ) {
/******************************************************************************/
/****************************** CLASS ANIMATIONS ******************************/
/******************************************************************************/
( function() {
function( _, prop ) {
$.fx.step[ prop ] = function( fx ) {
function getElementStyles( elem ) {
function styleDifference( oldStyle, newStyle ) {
$.fn.addBack = function( selector ) {
$.effects.animateClass = function( value, duration, easing, callback ) {
return this.queue( function() {
allAnimations = allAnimations.map( function() {
applyClassChange = function() {
$.each( classAnimationActions, function( i, action ) {
allAnimations = allAnimations.map( function() {
allAnimations = allAnimations.map( function() {
complete: function() {
$.when.apply( $, allAnimations.get() ).done( function() {
$.each( arguments, function() {
$.each( this.diff, function( key ) {
addClass: ( function( orig ) {
return function( classNames, speed, easing, callback ) {
removeClass: ( function( orig ) {
return function( classNames, speed, easing, callback ) {
toggleClass: ( function( orig ) {
return function( classNames, force, speed, easing, callback ) {
switchClass: function( remove, add, speed, easing, callback ) {
/******************************************************************************/
/*********************************** EFFECTS **********************************/
/******************************************************************************/
( function() {
$.expr.filters.animated = ( function( orig ) {
return function( elem ) {
save: function( element, set ) {
restore: function( element, set ) {
setMode: function( el, mode ) {
createWrapper: function( element ) {
$.each( [ "top", "left", "bottom", "right" ], function( i, pos ) {
removeWrapper: function( element ) {
define: function( name, mode, effect ) {
scaledDimensions: function( element, percent, direction ) {
clipToBox: function( animation ) {
unshift: function( element, queueLength, count ) {
saveStyle: function( element ) {
restoreStyle: function( element ) {
mode: function( element, mode ) {
getBaseline: function( origin, original ) {
createPlaceholder: function( element ) {
removePlaceholder: function( element ) {
cleanUp: function( element ) {
setTransition: function( element, list, factor, value ) {
$.each( list, function( i, x ) {
function _normalizeArguments( effect, options, speed, callback ) {
function standardAnimationOption( option ) {
effect: function( /* effect, options, speed, callback */ ) {
prefilter = function( next ) {
return this.each( function() {
function run( next ) {
function cleanup() {
function done() {
show: ( function( orig ) {
return function( option ) {
hide: ( function( orig ) {
return function( option ) {
toggle: ( function( orig ) {
return function( option ) {
cssUnit: function( key ) {
$.each( [ "em", "px", "%", "pt" ], function( i, unit ) {
cssClip: function( clipObj ) {
transfer: function( options, done ) {
.animate( animation, options.duration, options.easing, function() {
function parseClip( str, element ) {
$.fx.step.clip = function( fx ) {
/******************************************************************************/
/*********************************** EASING ***********************************/
/******************************************************************************/
( function() {
$.each( [ "Quad", "Cubic", "Quart", "Quint", "Expo" ], function( i, name ) {
baseEasings[ name ] = function( p ) {
Sine: function( p ) {
Circ: function( p ) {
Elastic: function( p ) {
Back: function( p ) {
Bounce: function( p ) {
$.each( baseEasings, function( name, easeIn ) {
$.easing[ "easeOut" + name ] = function( p ) {
$.easing[ "easeInOut" + name ] = function( p ) {
/*!
* jQuery UI Effects Blind 1.12.1
*
* Copyright jQuery Foundation and other contributors
* Released under the MIT license.
*/
var effectsEffectBlind = $.effects.define( "blind", "hide", function( options, done ) {
/*!
* jQuery UI Effects Bounce 1.12.1
*
* Copyright jQuery Foundation and other contributors
* Released under the MIT license.
*/
var effectsEffectBounce = $.effects.define( "bounce", function( options, done ) {
/*!
* jQuery UI Effects Clip 1.12.1
*
* Copyright jQuery Foundation and other contributors
* Released under the MIT license.
*/
var effectsEffectClip = $.effects.define( "clip", "hide", function( options, done ) {
/*!
* jQuery UI Effects Drop 1.12.1
*
* Copyright jQuery Foundation and other contributors
* Released under the MIT license.
*/
var effectsEffectDrop = $.effects.define( "drop", "hide", function( options, done ) {
/*!
* jQuery UI Effects Explode 1.12.1
*
* Copyright jQuery Foundation and other contributors
* Released under the MIT license.
*/
var effectsEffectExplode = $.effects.define( "explode", "hide", function( options, done ) {
function childComplete() {
function animComplete() {
/*!
* jQuery UI Effects Fade 1.12.1
*
* Copyright jQuery Foundation and other contributors
* Released under the MIT license.
*/
var effectsEffectFade = $.effects.define( "fade", "toggle", function( options, done ) {
/*!
* jQuery UI Effects Fold 1.12.1
*
* Copyright jQuery Foundation and other contributors
* Released under the MIT license.
*/
var effectsEffectFold = $.effects.define( "fold", "hide", function( options, done ) {
.queue( function( next ) {
/*!
* jQuery UI Effects Highlight 1.12.1
*
* Copyright jQuery Foundation and other contributors
* Released under the MIT license.
*/
var effectsEffectHighlight = $.effects.define( "highlight", "show", function( options, done ) {
/*!
* jQuery UI Effects Size 1.12.1
*
* Copyright jQuery Foundation and other contributors
* Released under the MIT license.
*/
var effectsEffectSize = $.effects.define( "size", function( options, done ) {
element.find( "*[width]" ).each( function() {
child.animate( childTo, options.duration, options.easing, function() {
complete: function() {
/*!
* jQuery UI Effects Scale 1.12.1
*
* Copyright jQuery Foundation and other contributors
* Released under the MIT license.
*/
var effectsEffectScale = $.effects.define( "scale", function( options, done ) {
/*!
* jQuery UI Effects Puff 1.12.1
*
* Copyright jQuery Foundation and other contributors
* Released under the MIT license.
*/
var effectsEffectPuff = $.effects.define( "puff", "hide", function( options, done ) {
/*!
* jQuery UI Effects Pulsate 1.12.1
*
* Copyright jQuery Foundation and other contributors
* Released under the MIT license.
*/
var effectsEffectPulsate = $.effects.define( "pulsate", "show", function( options, done ) {
/*!
* jQuery UI Effects Shake 1.12.1
*
* Copyright jQuery Foundation and other contributors
* Released under the MIT license.
*/
var effectsEffectShake = $.effects.define( "shake", function( options, done ) {
/*!
* jQuery UI Effects Slide 1.12.1
*
* Copyright jQuery Foundation and other contributors
* Released under the MIT license.
*/
var effectsEffectSlide = $.effects.define( "slide", "show", function( options, done ) {
/*!
* jQuery UI Effects Transfer 1.12.1
*
* Copyright jQuery Foundation and other contributors
* Released under the MIT license.
*/
effect = $.effects.define( "transfer", function( options, done ) {