jquery-ui-rails 3.0.1 → 4.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of jquery-ui-rails might be problematic. Click here for more details.
- data/History.md +10 -0
 - data/README.md +1 -1
 - data/Rakefile +4 -5
 - data/lib/jquery/ui/rails/version.rb +1 -1
 - data/vendor/assets/javascripts/jquery.ui.accordion.js +130 -290
 - data/vendor/assets/javascripts/jquery.ui.autocomplete.js +30 -18
 - data/vendor/assets/javascripts/jquery.ui.button.js +9 -8
 - data/vendor/assets/javascripts/jquery.ui.core.js +19 -53
 - data/vendor/assets/javascripts/jquery.ui.datepicker-be.js +23 -0
 - data/vendor/assets/javascripts/jquery.ui.datepicker-fr-CA.js +23 -0
 - data/vendor/assets/javascripts/jquery.ui.datepicker-ky.js +24 -0
 - data/vendor/assets/javascripts/jquery.ui.datepicker-nb.js +22 -0
 - data/vendor/assets/javascripts/jquery.ui.datepicker-nn.js +22 -0
 - data/vendor/assets/javascripts/jquery.ui.datepicker.js +1076 -878
 - data/vendor/assets/javascripts/jquery.ui.dialog.js +456 -547
 - data/vendor/assets/javascripts/jquery.ui.draggable.js +317 -207
 - data/vendor/assets/javascripts/jquery.ui.droppable.js +177 -100
 - data/vendor/assets/javascripts/jquery.ui.effect-blind.js +2 -2
 - data/vendor/assets/javascripts/jquery.ui.effect-bounce.js +2 -2
 - data/vendor/assets/javascripts/jquery.ui.effect-clip.js +2 -2
 - data/vendor/assets/javascripts/jquery.ui.effect-drop.js +2 -2
 - data/vendor/assets/javascripts/jquery.ui.effect-explode.js +2 -2
 - data/vendor/assets/javascripts/jquery.ui.effect-fade.js +2 -2
 - data/vendor/assets/javascripts/jquery.ui.effect-fold.js +2 -2
 - data/vendor/assets/javascripts/jquery.ui.effect-highlight.js +2 -2
 - data/vendor/assets/javascripts/jquery.ui.effect-pulsate.js +2 -2
 - data/vendor/assets/javascripts/jquery.ui.effect-scale.js +2 -2
 - data/vendor/assets/javascripts/jquery.ui.effect-shake.js +2 -2
 - data/vendor/assets/javascripts/jquery.ui.effect-slide.js +2 -2
 - data/vendor/assets/javascripts/jquery.ui.effect-transfer.js +3 -3
 - data/vendor/assets/javascripts/jquery.ui.effect.js +91 -99
 - data/vendor/assets/javascripts/jquery.ui.menu.js +20 -9
 - data/vendor/assets/javascripts/jquery.ui.mouse.js +25 -25
 - data/vendor/assets/javascripts/jquery.ui.position.js +39 -59
 - data/vendor/assets/javascripts/jquery.ui.progressbar.js +73 -33
 - data/vendor/assets/javascripts/jquery.ui.resizable.js +461 -294
 - data/vendor/assets/javascripts/jquery.ui.selectable.js +67 -51
 - data/vendor/assets/javascripts/jquery.ui.slider.js +100 -95
 - data/vendor/assets/javascripts/jquery.ui.sortable.js +411 -257
 - data/vendor/assets/javascripts/jquery.ui.spinner.js +19 -5
 - data/vendor/assets/javascripts/jquery.ui.tabs.js +47 -567
 - data/vendor/assets/javascripts/jquery.ui.tooltip.js +14 -10
 - data/vendor/assets/javascripts/jquery.ui.widget.js +33 -40
 - data/vendor/assets/stylesheets/jquery.ui.accordion.css.erb +30 -8
 - data/vendor/assets/stylesheets/jquery.ui.all.css.erb +2 -2
 - data/vendor/assets/stylesheets/jquery.ui.autocomplete.css.erb +2 -5
 - data/vendor/assets/stylesheets/jquery.ui.base.css.erb +2 -2
 - data/vendor/assets/stylesheets/jquery.ui.button.css.erb +100 -26
 - data/vendor/assets/stylesheets/jquery.ui.core.css.erb +65 -12
 - data/vendor/assets/stylesheets/jquery.ui.datepicker.css.erb +166 -55
 - data/vendor/assets/stylesheets/jquery.ui.dialog.css.erb +61 -14
 - data/vendor/assets/stylesheets/jquery.ui.menu.css.erb +61 -14
 - data/vendor/assets/stylesheets/jquery.ui.progressbar.css.erb +20 -4
 - data/vendor/assets/stylesheets/jquery.ui.resizable.css.erb +70 -13
 - data/vendor/assets/stylesheets/jquery.ui.selectable.css.erb +7 -3
 - data/vendor/assets/stylesheets/jquery.ui.slider.css.erb +63 -15
 - data/vendor/assets/stylesheets/jquery.ui.spinner.css.erb +52 -10
 - data/vendor/assets/stylesheets/jquery.ui.tabs.css.erb +44 -10
 - data/vendor/assets/stylesheets/jquery.ui.theme.css.erb +196 -38
 - data/vendor/assets/stylesheets/jquery.ui.tooltip.css.erb +4 -6
 - metadata +8 -3
 
| 
         @@ -3,10 +3,10 @@ 
     | 
|
| 
       3 
3 
     | 
    
         
             
            //= require jquery.ui.button
         
     | 
| 
       4 
4 
     | 
    
         | 
| 
       5 
5 
     | 
    
         
             
            /*!
         
     | 
| 
       6 
     | 
    
         
            -
             * jQuery UI Spinner 1. 
     | 
| 
      
 6 
     | 
    
         
            +
             * jQuery UI Spinner 1.10.0
         
     | 
| 
       7 
7 
     | 
    
         
             
             * http://jqueryui.com
         
     | 
| 
       8 
8 
     | 
    
         
             
             *
         
     | 
| 
       9 
     | 
    
         
            -
             * Copyright  
     | 
| 
      
 9 
     | 
    
         
            +
             * Copyright 2013 jQuery Foundation and other contributors
         
     | 
| 
       10 
10 
     | 
    
         
             
             * Released under the MIT license.
         
     | 
| 
       11 
11 
     | 
    
         
             
             * http://jquery.org/license
         
     | 
| 
       12 
12 
     | 
    
         
             
             *
         
     | 
| 
         @@ -31,7 +31,7 @@ function modifier( fn ) { 
     | 
|
| 
       31 
31 
     | 
    
         
             
            }
         
     | 
| 
       32 
32 
     | 
    
         | 
| 
       33 
33 
     | 
    
         
             
            $.widget( "ui.spinner", {
         
     | 
| 
       34 
     | 
    
         
            -
            	version: "1. 
     | 
| 
      
 34 
     | 
    
         
            +
            	version: "1.10.0",
         
     | 
| 
       35 
35 
     | 
    
         
             
            	defaultElement: "<input>",
         
     | 
| 
       36 
36 
     | 
    
         
             
            	widgetEventPrefix: "spin",
         
     | 
| 
       37 
37 
     | 
    
         
             
            	options: {
         
     | 
| 
         @@ -372,6 +372,14 @@ $.widget( "ui.spinner", { 
     | 
|
| 
       372 
372 
     | 
    
         
             
            				value = this._parse( value );
         
     | 
| 
       373 
373 
     | 
    
         
             
            			}
         
     | 
| 
       374 
374 
     | 
    
         
             
            		}
         
     | 
| 
      
 375 
     | 
    
         
            +
            		if ( key === "icons" ) {
         
     | 
| 
      
 376 
     | 
    
         
            +
            			this.buttons.first().find( ".ui-icon" )
         
     | 
| 
      
 377 
     | 
    
         
            +
            				.removeClass( this.options.icons.up )
         
     | 
| 
      
 378 
     | 
    
         
            +
            				.addClass( value.up );
         
     | 
| 
      
 379 
     | 
    
         
            +
            			this.buttons.last().find( ".ui-icon" )
         
     | 
| 
      
 380 
     | 
    
         
            +
            				.removeClass( this.options.icons.down )
         
     | 
| 
      
 381 
     | 
    
         
            +
            				.addClass( value.down );
         
     | 
| 
      
 382 
     | 
    
         
            +
            		}
         
     | 
| 
       375 
383 
     | 
    
         | 
| 
       376 
384 
     | 
    
         
             
            		this._super( key, value );
         
     | 
| 
       377 
385 
     | 
    
         | 
| 
         @@ -449,14 +457,20 @@ $.widget( "ui.spinner", { 
     | 
|
| 
       449 
457 
     | 
    
         
             
            		this._stepUp( steps );
         
     | 
| 
       450 
458 
     | 
    
         
             
            	}),
         
     | 
| 
       451 
459 
     | 
    
         
             
            	_stepUp: function( steps ) {
         
     | 
| 
       452 
     | 
    
         
            -
            		 
     | 
| 
      
 460 
     | 
    
         
            +
            		if ( this._start() ) {
         
     | 
| 
      
 461 
     | 
    
         
            +
            			this._spin( (steps || 1) * this.options.step );
         
     | 
| 
      
 462 
     | 
    
         
            +
            			this._stop();
         
     | 
| 
      
 463 
     | 
    
         
            +
            		}
         
     | 
| 
       453 
464 
     | 
    
         
             
            	},
         
     | 
| 
       454 
465 
     | 
    
         | 
| 
       455 
466 
     | 
    
         
             
            	stepDown: modifier(function( steps ) {
         
     | 
| 
       456 
467 
     | 
    
         
             
            		this._stepDown( steps );
         
     | 
| 
       457 
468 
     | 
    
         
             
            	}),
         
     | 
| 
       458 
469 
     | 
    
         
             
            	_stepDown: function( steps ) {
         
     | 
| 
       459 
     | 
    
         
            -
            		 
     | 
| 
      
 470 
     | 
    
         
            +
            		if ( this._start() ) {
         
     | 
| 
      
 471 
     | 
    
         
            +
            			this._spin( (steps || 1) * -this.options.step );
         
     | 
| 
      
 472 
     | 
    
         
            +
            			this._stop();
         
     | 
| 
      
 473 
     | 
    
         
            +
            		}
         
     | 
| 
       460 
474 
     | 
    
         
             
            	},
         
     | 
| 
       461 
475 
     | 
    
         | 
| 
       462 
476 
     | 
    
         
             
            	pageUp: modifier(function( pages ) {
         
     | 
| 
         @@ -2,10 +2,10 @@ 
     | 
|
| 
       2 
2 
     | 
    
         
             
            //= require jquery.ui.widget
         
     | 
| 
       3 
3 
     | 
    
         | 
| 
       4 
4 
     | 
    
         
             
            /*!
         
     | 
| 
       5 
     | 
    
         
            -
             * jQuery UI Tabs 1. 
     | 
| 
      
 5 
     | 
    
         
            +
             * jQuery UI Tabs 1.10.0
         
     | 
| 
       6 
6 
     | 
    
         
             
             * http://jqueryui.com
         
     | 
| 
       7 
7 
     | 
    
         
             
             *
         
     | 
| 
       8 
     | 
    
         
            -
             * Copyright  
     | 
| 
      
 8 
     | 
    
         
            +
             * Copyright 2013 jQuery Foundation and other contributors
         
     | 
| 
       9 
9 
     | 
    
         
             
             * Released under the MIT license.
         
     | 
| 
       10 
10 
     | 
    
         
             
             * http://jquery.org/license
         
     | 
| 
       11 
11 
     | 
    
         
             
             *
         
     | 
| 
         @@ -26,16 +26,12 @@ function getNextTabId() { 
     | 
|
| 
       26 
26 
     | 
    
         | 
| 
       27 
27 
     | 
    
         
             
            function isLocal( anchor ) {
         
     | 
| 
       28 
28 
     | 
    
         
             
            	return anchor.hash.length > 1 &&
         
     | 
| 
       29 
     | 
    
         
            -
            		anchor.href.replace( rhash, "" ) ===
         
     | 
| 
       30 
     | 
    
         
            -
            			location.href.replace( rhash, "" )
         
     | 
| 
       31 
     | 
    
         
            -
            				// support: Safari 5.1
         
     | 
| 
       32 
     | 
    
         
            -
            				// Safari 5.1 doesn't encode spaces in window.location
         
     | 
| 
       33 
     | 
    
         
            -
            				// but it does encode spaces from anchors (#8777)
         
     | 
| 
       34 
     | 
    
         
            -
            				.replace( /\s/g, "%20" );
         
     | 
| 
      
 29 
     | 
    
         
            +
            		decodeURIComponent( anchor.href.replace( rhash, "" ) ) ===
         
     | 
| 
      
 30 
     | 
    
         
            +
            			decodeURIComponent( location.href.replace( rhash, "" ) );
         
     | 
| 
       35 
31 
     | 
    
         
             
            }
         
     | 
| 
       36 
32 
     | 
    
         | 
| 
       37 
33 
     | 
    
         
             
            $.widget( "ui.tabs", {
         
     | 
| 
       38 
     | 
    
         
            -
            	version: "1. 
     | 
| 
      
 34 
     | 
    
         
            +
            	version: "1.10.0",
         
     | 
| 
       39 
35 
     | 
    
         
             
            	delay: 300,
         
     | 
| 
       40 
36 
     | 
    
         
             
            	options: {
         
     | 
| 
       41 
37 
     | 
    
         
             
            		active: null,
         
     | 
| 
         @@ -54,9 +50,7 @@ $.widget( "ui.tabs", { 
     | 
|
| 
       54 
50 
     | 
    
         | 
| 
       55 
51 
     | 
    
         
             
            	_create: function() {
         
     | 
| 
       56 
52 
     | 
    
         
             
            		var that = this,
         
     | 
| 
       57 
     | 
    
         
            -
            			options = this.options 
     | 
| 
       58 
     | 
    
         
            -
            			active = options.active,
         
     | 
| 
       59 
     | 
    
         
            -
            			locationHash = location.hash.substring( 1 );
         
     | 
| 
      
 53 
     | 
    
         
            +
            			options = this.options;
         
     | 
| 
       60 
54 
     | 
    
         | 
| 
       61 
55 
     | 
    
         
             
            		this.running = false;
         
     | 
| 
       62 
56 
     | 
    
         | 
| 
         @@ -82,6 +76,36 @@ $.widget( "ui.tabs", { 
     | 
|
| 
       82 
76 
     | 
    
         
             
            			});
         
     | 
| 
       83 
77 
     | 
    
         | 
| 
       84 
78 
     | 
    
         
             
            		this._processTabs();
         
     | 
| 
      
 79 
     | 
    
         
            +
            		options.active = this._initialActive();
         
     | 
| 
      
 80 
     | 
    
         
            +
             
     | 
| 
      
 81 
     | 
    
         
            +
            		// Take disabling tabs via class attribute from HTML
         
     | 
| 
      
 82 
     | 
    
         
            +
            		// into account and update option properly.
         
     | 
| 
      
 83 
     | 
    
         
            +
            		if ( $.isArray( options.disabled ) ) {
         
     | 
| 
      
 84 
     | 
    
         
            +
            			options.disabled = $.unique( options.disabled.concat(
         
     | 
| 
      
 85 
     | 
    
         
            +
            				$.map( this.tabs.filter( ".ui-state-disabled" ), function( li ) {
         
     | 
| 
      
 86 
     | 
    
         
            +
            					return that.tabs.index( li );
         
     | 
| 
      
 87 
     | 
    
         
            +
            				})
         
     | 
| 
      
 88 
     | 
    
         
            +
            			) ).sort();
         
     | 
| 
      
 89 
     | 
    
         
            +
            		}
         
     | 
| 
      
 90 
     | 
    
         
            +
             
     | 
| 
      
 91 
     | 
    
         
            +
            		// check for length avoids error when initializing empty list
         
     | 
| 
      
 92 
     | 
    
         
            +
            		if ( this.options.active !== false && this.anchors.length ) {
         
     | 
| 
      
 93 
     | 
    
         
            +
            			this.active = this._findActive( options.active );
         
     | 
| 
      
 94 
     | 
    
         
            +
            		} else {
         
     | 
| 
      
 95 
     | 
    
         
            +
            			this.active = $();
         
     | 
| 
      
 96 
     | 
    
         
            +
            		}
         
     | 
| 
      
 97 
     | 
    
         
            +
             
     | 
| 
      
 98 
     | 
    
         
            +
            		this._refresh();
         
     | 
| 
      
 99 
     | 
    
         
            +
             
     | 
| 
      
 100 
     | 
    
         
            +
            		if ( this.active.length ) {
         
     | 
| 
      
 101 
     | 
    
         
            +
            			this.load( options.active );
         
     | 
| 
      
 102 
     | 
    
         
            +
            		}
         
     | 
| 
      
 103 
     | 
    
         
            +
            	},
         
     | 
| 
      
 104 
     | 
    
         
            +
             
     | 
| 
      
 105 
     | 
    
         
            +
            	_initialActive: function() {
         
     | 
| 
      
 106 
     | 
    
         
            +
            		var active = this.options.active,
         
     | 
| 
      
 107 
     | 
    
         
            +
            			collapsible = this.options.collapsible,
         
     | 
| 
      
 108 
     | 
    
         
            +
            			locationHash = location.hash.substring( 1 );
         
     | 
| 
       85 
109 
     | 
    
         | 
| 
       86 
110 
     | 
    
         
             
            		if ( active === null ) {
         
     | 
| 
       87 
111 
     | 
    
         
             
            			// check the fragment identifier in the URL
         
     | 
| 
         @@ -109,38 +133,16 @@ $.widget( "ui.tabs", { 
     | 
|
| 
       109 
133 
     | 
    
         
             
            		if ( active !== false ) {
         
     | 
| 
       110 
134 
     | 
    
         
             
            			active = this.tabs.index( this.tabs.eq( active ) );
         
     | 
| 
       111 
135 
     | 
    
         
             
            			if ( active === -1 ) {
         
     | 
| 
       112 
     | 
    
         
            -
            				active =  
     | 
| 
      
 136 
     | 
    
         
            +
            				active = collapsible ? false : 0;
         
     | 
| 
       113 
137 
     | 
    
         
             
            			}
         
     | 
| 
       114 
138 
     | 
    
         
             
            		}
         
     | 
| 
       115 
     | 
    
         
            -
            		options.active = active;
         
     | 
| 
       116 
139 
     | 
    
         | 
| 
       117 
140 
     | 
    
         
             
            		// don't allow collapsible: false and active: false
         
     | 
| 
       118 
     | 
    
         
            -
            		if ( ! 
     | 
| 
       119 
     | 
    
         
            -
            			 
     | 
| 
      
 141 
     | 
    
         
            +
            		if ( !collapsible && active === false && this.anchors.length ) {
         
     | 
| 
      
 142 
     | 
    
         
            +
            			active = 0;
         
     | 
| 
       120 
143 
     | 
    
         
             
            		}
         
     | 
| 
       121 
144 
     | 
    
         | 
| 
       122 
     | 
    
         
            -
            		 
     | 
| 
       123 
     | 
    
         
            -
            		// into account and update option properly.
         
     | 
| 
       124 
     | 
    
         
            -
            		if ( $.isArray( options.disabled ) ) {
         
     | 
| 
       125 
     | 
    
         
            -
            			options.disabled = $.unique( options.disabled.concat(
         
     | 
| 
       126 
     | 
    
         
            -
            				$.map( this.tabs.filter( ".ui-state-disabled" ), function( li ) {
         
     | 
| 
       127 
     | 
    
         
            -
            					return that.tabs.index( li );
         
     | 
| 
       128 
     | 
    
         
            -
            				})
         
     | 
| 
       129 
     | 
    
         
            -
            			) ).sort();
         
     | 
| 
       130 
     | 
    
         
            -
            		}
         
     | 
| 
       131 
     | 
    
         
            -
             
     | 
| 
       132 
     | 
    
         
            -
            		// check for length avoids error when initializing empty list
         
     | 
| 
       133 
     | 
    
         
            -
            		if ( this.options.active !== false && this.anchors.length ) {
         
     | 
| 
       134 
     | 
    
         
            -
            			this.active = this._findActive( this.options.active );
         
     | 
| 
       135 
     | 
    
         
            -
            		} else {
         
     | 
| 
       136 
     | 
    
         
            -
            			this.active = $();
         
     | 
| 
       137 
     | 
    
         
            -
            		}
         
     | 
| 
       138 
     | 
    
         
            -
             
     | 
| 
       139 
     | 
    
         
            -
            		this._refresh();
         
     | 
| 
       140 
     | 
    
         
            -
             
     | 
| 
       141 
     | 
    
         
            -
            		if ( this.active.length ) {
         
     | 
| 
       142 
     | 
    
         
            -
            			this.load( options.active );
         
     | 
| 
       143 
     | 
    
         
            -
            		}
         
     | 
| 
      
 145 
     | 
    
         
            +
            		return active;
         
     | 
| 
       144 
146 
     | 
    
         
             
            	},
         
     | 
| 
       145 
147 
     | 
    
         | 
| 
       146 
148 
     | 
    
         
             
            	_getCreateEventData: function() {
         
     | 
| 
         @@ -151,6 +153,7 @@ $.widget( "ui.tabs", { 
     | 
|
| 
       151 
153 
     | 
    
         
             
            	},
         
     | 
| 
       152 
154 
     | 
    
         | 
| 
       153 
155 
     | 
    
         
             
            	_tabKeydown: function( event ) {
         
     | 
| 
      
 156 
     | 
    
         
            +
            		/*jshint maxcomplexity:15*/
         
     | 
| 
       154 
157 
     | 
    
         
             
            		var focusedTab = $( this.document[0].activeElement ).closest( "li" ),
         
     | 
| 
       155 
158 
     | 
    
         
             
            			selectedIndex = this.tabs.index( focusedTab ),
         
     | 
| 
       156 
159 
     | 
    
         
             
            			goingForward = true;
         
     | 
| 
         @@ -495,19 +498,13 @@ $.widget( "ui.tabs", { 
     | 
|
| 
       495 
498 
     | 
    
         
             
            	},
         
     | 
| 
       496 
499 
     | 
    
         | 
| 
       497 
500 
     | 
    
         
             
            	_setupHeightStyle: function( heightStyle ) {
         
     | 
| 
       498 
     | 
    
         
            -
            		var maxHeight, 
     | 
| 
      
 501 
     | 
    
         
            +
            		var maxHeight,
         
     | 
| 
       499 
502 
     | 
    
         
             
            			parent = this.element.parent();
         
     | 
| 
       500 
503 
     | 
    
         | 
| 
       501 
504 
     | 
    
         
             
            		if ( heightStyle === "fill" ) {
         
     | 
| 
       502 
     | 
    
         
            -
            			// IE 6 treats height like minHeight, so we need to turn off overflow
         
     | 
| 
       503 
     | 
    
         
            -
            			// in order to get a reliable height
         
     | 
| 
       504 
     | 
    
         
            -
            			// we use the minHeight support test because we assume that only
         
     | 
| 
       505 
     | 
    
         
            -
            			// browsers that don't support minHeight will treat height as minHeight
         
     | 
| 
       506 
     | 
    
         
            -
            			if ( !$.support.minHeight ) {
         
     | 
| 
       507 
     | 
    
         
            -
            				overflow = parent.css( "overflow" );
         
     | 
| 
       508 
     | 
    
         
            -
            				parent.css( "overflow", "hidden");
         
     | 
| 
       509 
     | 
    
         
            -
            			}
         
     | 
| 
       510 
505 
     | 
    
         
             
            			maxHeight = parent.height();
         
     | 
| 
      
 506 
     | 
    
         
            +
            			maxHeight -= this.element.outerHeight() - this.element.height();
         
     | 
| 
      
 507 
     | 
    
         
            +
             
     | 
| 
       511 
508 
     | 
    
         
             
            			this.element.siblings( ":visible" ).each(function() {
         
     | 
| 
       512 
509 
     | 
    
         
             
            				var elem = $( this ),
         
     | 
| 
       513 
510 
     | 
    
         
             
            					position = elem.css( "position" );
         
     | 
| 
         @@ -517,9 +514,6 @@ $.widget( "ui.tabs", { 
     | 
|
| 
       517 
514 
     | 
    
         
             
            				}
         
     | 
| 
       518 
515 
     | 
    
         
             
            				maxHeight -= elem.outerHeight( true );
         
     | 
| 
       519 
516 
     | 
    
         
             
            			});
         
     | 
| 
       520 
     | 
    
         
            -
            			if ( overflow ) {
         
     | 
| 
       521 
     | 
    
         
            -
            				parent.css( "overflow", overflow );
         
     | 
| 
       522 
     | 
    
         
            -
            			}
         
     | 
| 
       523 
517 
     | 
    
         | 
| 
       524 
518 
     | 
    
         
             
            			this.element.children().not( this.panels ).each(function() {
         
     | 
| 
       525 
519 
     | 
    
         
             
            				maxHeight -= $( this ).outerHeight( true );
         
     | 
| 
         @@ -698,8 +692,6 @@ $.widget( "ui.tabs", { 
     | 
|
| 
       698 
692 
     | 
    
         
             
            			.removeClass( "ui-tabs-anchor" )
         
     | 
| 
       699 
693 
     | 
    
         
             
            			.removeAttr( "role" )
         
     | 
| 
       700 
694 
     | 
    
         
             
            			.removeAttr( "tabIndex" )
         
     | 
| 
       701 
     | 
    
         
            -
            			.removeData( "href.tabs" )
         
     | 
| 
       702 
     | 
    
         
            -
            			.removeData( "load.tabs" )
         
     | 
| 
       703 
695 
     | 
    
         
             
            			.removeUniqueId();
         
     | 
| 
       704 
696 
     | 
    
         | 
| 
       705 
697 
     | 
    
         
             
            		this.tabs.add( this.panels ).each(function() {
         
     | 
| 
         @@ -724,7 +716,9 @@ $.widget( "ui.tabs", { 
     | 
|
| 
       724 
716 
     | 
    
         
             
            			var li = $( this ),
         
     | 
| 
       725 
717 
     | 
    
         
             
            				prev = li.data( "ui-tabs-aria-controls" );
         
     | 
| 
       726 
718 
     | 
    
         
             
            			if ( prev ) {
         
     | 
| 
       727 
     | 
    
         
            -
            				li 
     | 
| 
      
 719 
     | 
    
         
            +
            				li
         
     | 
| 
      
 720 
     | 
    
         
            +
            					.attr( "aria-controls", prev )
         
     | 
| 
      
 721 
     | 
    
         
            +
            					.removeData( "ui-tabs-aria-controls" );
         
     | 
| 
       728 
722 
     | 
    
         
             
            			} else {
         
     | 
| 
       729 
723 
     | 
    
         
             
            				li.removeAttr( "aria-controls" );
         
     | 
| 
       730 
724 
     | 
    
         
             
            			}
         
     | 
| 
         @@ -835,7 +829,6 @@ $.widget( "ui.tabs", { 
     | 
|
| 
       835 
829 
     | 
    
         
             
            		}
         
     | 
| 
       836 
830 
     | 
    
         
             
            	},
         
     | 
| 
       837 
831 
     | 
    
         | 
| 
       838 
     | 
    
         
            -
            	// TODO: Remove this function in 1.10 when ajaxOptions is removed
         
     | 
| 
       839 
832 
     | 
    
         
             
            	_ajaxSettings: function( anchor, event, eventData ) {
         
     | 
| 
       840 
833 
     | 
    
         
             
            		var that = this;
         
     | 
| 
       841 
834 
     | 
    
         
             
            		return {
         
     | 
| 
         @@ -853,517 +846,4 @@ $.widget( "ui.tabs", { 
     | 
|
| 
       853 
846 
     | 
    
         
             
            	}
         
     | 
| 
       854 
847 
     | 
    
         
             
            });
         
     | 
| 
       855 
848 
     | 
    
         | 
| 
       856 
     | 
    
         
            -
            // DEPRECATED
         
     | 
| 
       857 
     | 
    
         
            -
            if ( $.uiBackCompat !== false ) {
         
     | 
| 
       858 
     | 
    
         
            -
             
     | 
| 
       859 
     | 
    
         
            -
            	// helper method for a lot of the back compat extensions
         
     | 
| 
       860 
     | 
    
         
            -
            	$.ui.tabs.prototype._ui = function( tab, panel ) {
         
     | 
| 
       861 
     | 
    
         
            -
            		return {
         
     | 
| 
       862 
     | 
    
         
            -
            			tab: tab,
         
     | 
| 
       863 
     | 
    
         
            -
            			panel: panel,
         
     | 
| 
       864 
     | 
    
         
            -
            			index: this.anchors.index( tab )
         
     | 
| 
       865 
     | 
    
         
            -
            		};
         
     | 
| 
       866 
     | 
    
         
            -
            	};
         
     | 
| 
       867 
     | 
    
         
            -
             
     | 
| 
       868 
     | 
    
         
            -
            	// url method
         
     | 
| 
       869 
     | 
    
         
            -
            	$.widget( "ui.tabs", $.ui.tabs, {
         
     | 
| 
       870 
     | 
    
         
            -
            		url: function( index, url ) {
         
     | 
| 
       871 
     | 
    
         
            -
            			this.anchors.eq( index ).attr( "href", url );
         
     | 
| 
       872 
     | 
    
         
            -
            		}
         
     | 
| 
       873 
     | 
    
         
            -
            	});
         
     | 
| 
       874 
     | 
    
         
            -
             
     | 
| 
       875 
     | 
    
         
            -
            	// TODO: Remove _ajaxSettings() method when removing this extension
         
     | 
| 
       876 
     | 
    
         
            -
            	// ajaxOptions and cache options
         
     | 
| 
       877 
     | 
    
         
            -
            	$.widget( "ui.tabs", $.ui.tabs, {
         
     | 
| 
       878 
     | 
    
         
            -
            		options: {
         
     | 
| 
       879 
     | 
    
         
            -
            			ajaxOptions: null,
         
     | 
| 
       880 
     | 
    
         
            -
            			cache: false
         
     | 
| 
       881 
     | 
    
         
            -
            		},
         
     | 
| 
       882 
     | 
    
         
            -
             
     | 
| 
       883 
     | 
    
         
            -
            		_create: function() {
         
     | 
| 
       884 
     | 
    
         
            -
            			this._super();
         
     | 
| 
       885 
     | 
    
         
            -
             
     | 
| 
       886 
     | 
    
         
            -
            			var that = this;
         
     | 
| 
       887 
     | 
    
         
            -
             
     | 
| 
       888 
     | 
    
         
            -
            			this._on({ tabsbeforeload: function( event, ui ) {
         
     | 
| 
       889 
     | 
    
         
            -
            				// tab is already cached
         
     | 
| 
       890 
     | 
    
         
            -
            				if ( $.data( ui.tab[ 0 ], "cache.tabs" ) ) {
         
     | 
| 
       891 
     | 
    
         
            -
            					event.preventDefault();
         
     | 
| 
       892 
     | 
    
         
            -
            					return;
         
     | 
| 
       893 
     | 
    
         
            -
            				}
         
     | 
| 
       894 
     | 
    
         
            -
             
     | 
| 
       895 
     | 
    
         
            -
            				ui.jqXHR.success(function() {
         
     | 
| 
       896 
     | 
    
         
            -
            					if ( that.options.cache ) {
         
     | 
| 
       897 
     | 
    
         
            -
            						$.data( ui.tab[ 0 ], "cache.tabs", true );
         
     | 
| 
       898 
     | 
    
         
            -
            					}
         
     | 
| 
       899 
     | 
    
         
            -
            				});
         
     | 
| 
       900 
     | 
    
         
            -
            			}});
         
     | 
| 
       901 
     | 
    
         
            -
            		},
         
     | 
| 
       902 
     | 
    
         
            -
             
     | 
| 
       903 
     | 
    
         
            -
            		_ajaxSettings: function( anchor, event, ui ) {
         
     | 
| 
       904 
     | 
    
         
            -
            			var ajaxOptions = this.options.ajaxOptions;
         
     | 
| 
       905 
     | 
    
         
            -
            			return $.extend( {}, ajaxOptions, {
         
     | 
| 
       906 
     | 
    
         
            -
            				error: function( xhr, status ) {
         
     | 
| 
       907 
     | 
    
         
            -
            					try {
         
     | 
| 
       908 
     | 
    
         
            -
            						// Passing index avoid a race condition when this method is
         
     | 
| 
       909 
     | 
    
         
            -
            						// called after the user has selected another tab.
         
     | 
| 
       910 
     | 
    
         
            -
            						// Pass the anchor that initiated this request allows
         
     | 
| 
       911 
     | 
    
         
            -
            						// loadError to manipulate the tab content panel via $(a.hash)
         
     | 
| 
       912 
     | 
    
         
            -
            						ajaxOptions.error(
         
     | 
| 
       913 
     | 
    
         
            -
            							xhr, status, ui.tab.closest( "li" ).index(), ui.tab[ 0 ] );
         
     | 
| 
       914 
     | 
    
         
            -
            					}
         
     | 
| 
       915 
     | 
    
         
            -
            					catch ( error ) {}
         
     | 
| 
       916 
     | 
    
         
            -
            				}
         
     | 
| 
       917 
     | 
    
         
            -
            			}, this._superApply( arguments ) );
         
     | 
| 
       918 
     | 
    
         
            -
            		},
         
     | 
| 
       919 
     | 
    
         
            -
             
     | 
| 
       920 
     | 
    
         
            -
            		_setOption: function( key, value ) {
         
     | 
| 
       921 
     | 
    
         
            -
            			// reset cache if switching from cached to not cached
         
     | 
| 
       922 
     | 
    
         
            -
            			if ( key === "cache" && value === false ) {
         
     | 
| 
       923 
     | 
    
         
            -
            				this.anchors.removeData( "cache.tabs" );
         
     | 
| 
       924 
     | 
    
         
            -
            			}
         
     | 
| 
       925 
     | 
    
         
            -
            			this._super( key, value );
         
     | 
| 
       926 
     | 
    
         
            -
            		},
         
     | 
| 
       927 
     | 
    
         
            -
             
     | 
| 
       928 
     | 
    
         
            -
            		_destroy: function() {
         
     | 
| 
       929 
     | 
    
         
            -
            			this.anchors.removeData( "cache.tabs" );
         
     | 
| 
       930 
     | 
    
         
            -
            			this._super();
         
     | 
| 
       931 
     | 
    
         
            -
            		},
         
     | 
| 
       932 
     | 
    
         
            -
             
     | 
| 
       933 
     | 
    
         
            -
            		url: function( index ){
         
     | 
| 
       934 
     | 
    
         
            -
            			this.anchors.eq( index ).removeData( "cache.tabs" );
         
     | 
| 
       935 
     | 
    
         
            -
            			this._superApply( arguments );
         
     | 
| 
       936 
     | 
    
         
            -
            		}
         
     | 
| 
       937 
     | 
    
         
            -
            	});
         
     | 
| 
       938 
     | 
    
         
            -
             
     | 
| 
       939 
     | 
    
         
            -
            	// abort method
         
     | 
| 
       940 
     | 
    
         
            -
            	$.widget( "ui.tabs", $.ui.tabs, {
         
     | 
| 
       941 
     | 
    
         
            -
            		abort: function() {
         
     | 
| 
       942 
     | 
    
         
            -
            			if ( this.xhr ) {
         
     | 
| 
       943 
     | 
    
         
            -
            				this.xhr.abort();
         
     | 
| 
       944 
     | 
    
         
            -
            			}
         
     | 
| 
       945 
     | 
    
         
            -
            		}
         
     | 
| 
       946 
     | 
    
         
            -
            	});
         
     | 
| 
       947 
     | 
    
         
            -
             
     | 
| 
       948 
     | 
    
         
            -
            	// spinner
         
     | 
| 
       949 
     | 
    
         
            -
            	$.widget( "ui.tabs", $.ui.tabs, {
         
     | 
| 
       950 
     | 
    
         
            -
            		options: {
         
     | 
| 
       951 
     | 
    
         
            -
            			spinner: "<em>Loading…</em>"
         
     | 
| 
       952 
     | 
    
         
            -
            		},
         
     | 
| 
       953 
     | 
    
         
            -
            		_create: function() {
         
     | 
| 
       954 
     | 
    
         
            -
            			this._super();
         
     | 
| 
       955 
     | 
    
         
            -
            			this._on({
         
     | 
| 
       956 
     | 
    
         
            -
            				tabsbeforeload: function( event, ui ) {
         
     | 
| 
       957 
     | 
    
         
            -
            					// Don't react to nested tabs or tabs that don't use a spinner
         
     | 
| 
       958 
     | 
    
         
            -
            					if ( event.target !== this.element[ 0 ] ||
         
     | 
| 
       959 
     | 
    
         
            -
            							!this.options.spinner ) {
         
     | 
| 
       960 
     | 
    
         
            -
            						return;
         
     | 
| 
       961 
     | 
    
         
            -
            					}
         
     | 
| 
       962 
     | 
    
         
            -
             
     | 
| 
       963 
     | 
    
         
            -
            					var span = ui.tab.find( "span" ),
         
     | 
| 
       964 
     | 
    
         
            -
            						html = span.html();
         
     | 
| 
       965 
     | 
    
         
            -
            					span.html( this.options.spinner );
         
     | 
| 
       966 
     | 
    
         
            -
            					ui.jqXHR.complete(function() {
         
     | 
| 
       967 
     | 
    
         
            -
            						span.html( html );
         
     | 
| 
       968 
     | 
    
         
            -
            					});
         
     | 
| 
       969 
     | 
    
         
            -
            				}
         
     | 
| 
       970 
     | 
    
         
            -
            			});
         
     | 
| 
       971 
     | 
    
         
            -
            		}
         
     | 
| 
       972 
     | 
    
         
            -
            	});
         
     | 
| 
       973 
     | 
    
         
            -
             
     | 
| 
       974 
     | 
    
         
            -
            	// enable/disable events
         
     | 
| 
       975 
     | 
    
         
            -
            	$.widget( "ui.tabs", $.ui.tabs, {
         
     | 
| 
       976 
     | 
    
         
            -
            		options: {
         
     | 
| 
       977 
     | 
    
         
            -
            			enable: null,
         
     | 
| 
       978 
     | 
    
         
            -
            			disable: null
         
     | 
| 
       979 
     | 
    
         
            -
            		},
         
     | 
| 
       980 
     | 
    
         
            -
             
     | 
| 
       981 
     | 
    
         
            -
            		enable: function( index ) {
         
     | 
| 
       982 
     | 
    
         
            -
            			var options = this.options,
         
     | 
| 
       983 
     | 
    
         
            -
            				trigger;
         
     | 
| 
       984 
     | 
    
         
            -
             
     | 
| 
       985 
     | 
    
         
            -
            			if ( index && options.disabled === true ||
         
     | 
| 
       986 
     | 
    
         
            -
            					( $.isArray( options.disabled ) && $.inArray( index, options.disabled ) !== -1 ) ) {
         
     | 
| 
       987 
     | 
    
         
            -
            				trigger = true;
         
     | 
| 
       988 
     | 
    
         
            -
            			}
         
     | 
| 
       989 
     | 
    
         
            -
             
     | 
| 
       990 
     | 
    
         
            -
            			this._superApply( arguments );
         
     | 
| 
       991 
     | 
    
         
            -
             
     | 
| 
       992 
     | 
    
         
            -
            			if ( trigger ) {
         
     | 
| 
       993 
     | 
    
         
            -
            				this._trigger( "enable", null, this._ui( this.anchors[ index ], this.panels[ index ] ) );
         
     | 
| 
       994 
     | 
    
         
            -
            			}
         
     | 
| 
       995 
     | 
    
         
            -
            		},
         
     | 
| 
       996 
     | 
    
         
            -
             
     | 
| 
       997 
     | 
    
         
            -
            		disable: function( index ) {
         
     | 
| 
       998 
     | 
    
         
            -
            			var options = this.options,
         
     | 
| 
       999 
     | 
    
         
            -
            				trigger;
         
     | 
| 
       1000 
     | 
    
         
            -
             
     | 
| 
       1001 
     | 
    
         
            -
            			if ( index && options.disabled === false ||
         
     | 
| 
       1002 
     | 
    
         
            -
            					( $.isArray( options.disabled ) && $.inArray( index, options.disabled ) === -1 ) ) {
         
     | 
| 
       1003 
     | 
    
         
            -
            				trigger = true;
         
     | 
| 
       1004 
     | 
    
         
            -
            			}
         
     | 
| 
       1005 
     | 
    
         
            -
             
     | 
| 
       1006 
     | 
    
         
            -
            			this._superApply( arguments );
         
     | 
| 
       1007 
     | 
    
         
            -
             
     | 
| 
       1008 
     | 
    
         
            -
            			if ( trigger ) {
         
     | 
| 
       1009 
     | 
    
         
            -
            				this._trigger( "disable", null, this._ui( this.anchors[ index ], this.panels[ index ] ) );
         
     | 
| 
       1010 
     | 
    
         
            -
            			}
         
     | 
| 
       1011 
     | 
    
         
            -
            		}
         
     | 
| 
       1012 
     | 
    
         
            -
            	});
         
     | 
| 
       1013 
     | 
    
         
            -
             
     | 
| 
       1014 
     | 
    
         
            -
            	// add/remove methods and events
         
     | 
| 
       1015 
     | 
    
         
            -
            	$.widget( "ui.tabs", $.ui.tabs, {
         
     | 
| 
       1016 
     | 
    
         
            -
            		options: {
         
     | 
| 
       1017 
     | 
    
         
            -
            			add: null,
         
     | 
| 
       1018 
     | 
    
         
            -
            			remove: null,
         
     | 
| 
       1019 
     | 
    
         
            -
            			tabTemplate: "<li><a href='#{href}'><span>#{label}</span></a></li>"
         
     | 
| 
       1020 
     | 
    
         
            -
            		},
         
     | 
| 
       1021 
     | 
    
         
            -
             
     | 
| 
       1022 
     | 
    
         
            -
            		add: function( url, label, index ) {
         
     | 
| 
       1023 
     | 
    
         
            -
            			if ( index === undefined ) {
         
     | 
| 
       1024 
     | 
    
         
            -
            				index = this.anchors.length;
         
     | 
| 
       1025 
     | 
    
         
            -
            			}
         
     | 
| 
       1026 
     | 
    
         
            -
             
     | 
| 
       1027 
     | 
    
         
            -
            			var doInsertAfter, panel,
         
     | 
| 
       1028 
     | 
    
         
            -
            				options = this.options,
         
     | 
| 
       1029 
     | 
    
         
            -
            				li = $( options.tabTemplate
         
     | 
| 
       1030 
     | 
    
         
            -
            					.replace( /#\{href\}/g, url )
         
     | 
| 
       1031 
     | 
    
         
            -
            					.replace( /#\{label\}/g, label ) ),
         
     | 
| 
       1032 
     | 
    
         
            -
            				id = !url.indexOf( "#" ) ?
         
     | 
| 
       1033 
     | 
    
         
            -
            					url.replace( "#", "" ) :
         
     | 
| 
       1034 
     | 
    
         
            -
            					this._tabId( li );
         
     | 
| 
       1035 
     | 
    
         
            -
             
     | 
| 
       1036 
     | 
    
         
            -
            			li.addClass( "ui-state-default ui-corner-top" ).data( "ui-tabs-destroy", true );
         
     | 
| 
       1037 
     | 
    
         
            -
            			li.attr( "aria-controls", id );
         
     | 
| 
       1038 
     | 
    
         
            -
             
     | 
| 
       1039 
     | 
    
         
            -
            			doInsertAfter = index >= this.tabs.length;
         
     | 
| 
       1040 
     | 
    
         
            -
             
     | 
| 
       1041 
     | 
    
         
            -
            			// try to find an existing element before creating a new one
         
     | 
| 
       1042 
     | 
    
         
            -
            			panel = this.element.find( "#" + id );
         
     | 
| 
       1043 
     | 
    
         
            -
            			if ( !panel.length ) {
         
     | 
| 
       1044 
     | 
    
         
            -
            				panel = this._createPanel( id );
         
     | 
| 
       1045 
     | 
    
         
            -
            				if ( doInsertAfter ) {
         
     | 
| 
       1046 
     | 
    
         
            -
            					if ( index > 0 ) {
         
     | 
| 
       1047 
     | 
    
         
            -
            						panel.insertAfter( this.panels.eq( -1 ) );
         
     | 
| 
       1048 
     | 
    
         
            -
            					} else {
         
     | 
| 
       1049 
     | 
    
         
            -
            						panel.appendTo( this.element );
         
     | 
| 
       1050 
     | 
    
         
            -
            					}
         
     | 
| 
       1051 
     | 
    
         
            -
            				} else {
         
     | 
| 
       1052 
     | 
    
         
            -
            					panel.insertBefore( this.panels[ index ] );
         
     | 
| 
       1053 
     | 
    
         
            -
            				}
         
     | 
| 
       1054 
     | 
    
         
            -
            			}
         
     | 
| 
       1055 
     | 
    
         
            -
            			panel.addClass( "ui-tabs-panel ui-widget-content ui-corner-bottom" ).hide();
         
     | 
| 
       1056 
     | 
    
         
            -
             
     | 
| 
       1057 
     | 
    
         
            -
            			if ( doInsertAfter ) {
         
     | 
| 
       1058 
     | 
    
         
            -
            				li.appendTo( this.tablist );
         
     | 
| 
       1059 
     | 
    
         
            -
            			} else {
         
     | 
| 
       1060 
     | 
    
         
            -
            				li.insertBefore( this.tabs[ index ] );
         
     | 
| 
       1061 
     | 
    
         
            -
            			}
         
     | 
| 
       1062 
     | 
    
         
            -
             
     | 
| 
       1063 
     | 
    
         
            -
            			options.disabled = $.map( options.disabled, function( n ) {
         
     | 
| 
       1064 
     | 
    
         
            -
            				return n >= index ? ++n : n;
         
     | 
| 
       1065 
     | 
    
         
            -
            			});
         
     | 
| 
       1066 
     | 
    
         
            -
             
     | 
| 
       1067 
     | 
    
         
            -
            			this.refresh();
         
     | 
| 
       1068 
     | 
    
         
            -
            			if ( this.tabs.length === 1 && options.active === false ) {
         
     | 
| 
       1069 
     | 
    
         
            -
            				this.option( "active", 0 );
         
     | 
| 
       1070 
     | 
    
         
            -
            			}
         
     | 
| 
       1071 
     | 
    
         
            -
             
     | 
| 
       1072 
     | 
    
         
            -
            			this._trigger( "add", null, this._ui( this.anchors[ index ], this.panels[ index ] ) );
         
     | 
| 
       1073 
     | 
    
         
            -
            			return this;
         
     | 
| 
       1074 
     | 
    
         
            -
            		},
         
     | 
| 
       1075 
     | 
    
         
            -
             
     | 
| 
       1076 
     | 
    
         
            -
            		remove: function( index ) {
         
     | 
| 
       1077 
     | 
    
         
            -
            			index = this._getIndex( index );
         
     | 
| 
       1078 
     | 
    
         
            -
            			var options = this.options,
         
     | 
| 
       1079 
     | 
    
         
            -
            				tab = this.tabs.eq( index ).remove(),
         
     | 
| 
       1080 
     | 
    
         
            -
            				panel = this._getPanelForTab( tab ).remove();
         
     | 
| 
       1081 
     | 
    
         
            -
             
     | 
| 
       1082 
     | 
    
         
            -
            			// If selected tab was removed focus tab to the right or
         
     | 
| 
       1083 
     | 
    
         
            -
            			// in case the last tab was removed the tab to the left.
         
     | 
| 
       1084 
     | 
    
         
            -
            			// We check for more than 2 tabs, because if there are only 2,
         
     | 
| 
       1085 
     | 
    
         
            -
            			// then when we remove this tab, there will only be one tab left
         
     | 
| 
       1086 
     | 
    
         
            -
            			// so we don't need to detect which tab to activate.
         
     | 
| 
       1087 
     | 
    
         
            -
            			if ( tab.hasClass( "ui-tabs-active" ) && this.anchors.length > 2 ) {
         
     | 
| 
       1088 
     | 
    
         
            -
            				this._activate( index + ( index + 1 < this.anchors.length ? 1 : -1 ) );
         
     | 
| 
       1089 
     | 
    
         
            -
            			}
         
     | 
| 
       1090 
     | 
    
         
            -
             
     | 
| 
       1091 
     | 
    
         
            -
            			options.disabled = $.map(
         
     | 
| 
       1092 
     | 
    
         
            -
            				$.grep( options.disabled, function( n ) {
         
     | 
| 
       1093 
     | 
    
         
            -
            					return n !== index;
         
     | 
| 
       1094 
     | 
    
         
            -
            				}),
         
     | 
| 
       1095 
     | 
    
         
            -
            				function( n ) {
         
     | 
| 
       1096 
     | 
    
         
            -
            					return n >= index ? --n : n;
         
     | 
| 
       1097 
     | 
    
         
            -
            				});
         
     | 
| 
       1098 
     | 
    
         
            -
             
     | 
| 
       1099 
     | 
    
         
            -
            			this.refresh();
         
     | 
| 
       1100 
     | 
    
         
            -
             
     | 
| 
       1101 
     | 
    
         
            -
            			this._trigger( "remove", null, this._ui( tab.find( "a" )[ 0 ], panel[ 0 ] ) );
         
     | 
| 
       1102 
     | 
    
         
            -
            			return this;
         
     | 
| 
       1103 
     | 
    
         
            -
            		}
         
     | 
| 
       1104 
     | 
    
         
            -
            	});
         
     | 
| 
       1105 
     | 
    
         
            -
             
     | 
| 
       1106 
     | 
    
         
            -
            	// length method
         
     | 
| 
       1107 
     | 
    
         
            -
            	$.widget( "ui.tabs", $.ui.tabs, {
         
     | 
| 
       1108 
     | 
    
         
            -
            		length: function() {
         
     | 
| 
       1109 
     | 
    
         
            -
            			return this.anchors.length;
         
     | 
| 
       1110 
     | 
    
         
            -
            		}
         
     | 
| 
       1111 
     | 
    
         
            -
            	});
         
     | 
| 
       1112 
     | 
    
         
            -
             
     | 
| 
       1113 
     | 
    
         
            -
            	// panel ids (idPrefix option + title attribute)
         
     | 
| 
       1114 
     | 
    
         
            -
            	$.widget( "ui.tabs", $.ui.tabs, {
         
     | 
| 
       1115 
     | 
    
         
            -
            		options: {
         
     | 
| 
       1116 
     | 
    
         
            -
            			idPrefix: "ui-tabs-"
         
     | 
| 
       1117 
     | 
    
         
            -
            		},
         
     | 
| 
       1118 
     | 
    
         
            -
             
     | 
| 
       1119 
     | 
    
         
            -
            		_tabId: function( tab ) {
         
     | 
| 
       1120 
     | 
    
         
            -
            			var a = tab.is( "li" ) ? tab.find( "a[href]" ) : tab;
         
     | 
| 
       1121 
     | 
    
         
            -
            			a = a[0];
         
     | 
| 
       1122 
     | 
    
         
            -
            			return $( a ).closest( "li" ).attr( "aria-controls" ) ||
         
     | 
| 
       1123 
     | 
    
         
            -
            				a.title && a.title.replace( /\s/g, "_" ).replace( /[^\w\u00c0-\uFFFF\-]/g, "" ) ||
         
     | 
| 
       1124 
     | 
    
         
            -
            				this.options.idPrefix + getNextTabId();
         
     | 
| 
       1125 
     | 
    
         
            -
            		}
         
     | 
| 
       1126 
     | 
    
         
            -
            	});
         
     | 
| 
       1127 
     | 
    
         
            -
             
     | 
| 
       1128 
     | 
    
         
            -
            	// _createPanel method
         
     | 
| 
       1129 
     | 
    
         
            -
            	$.widget( "ui.tabs", $.ui.tabs, {
         
     | 
| 
       1130 
     | 
    
         
            -
            		options: {
         
     | 
| 
       1131 
     | 
    
         
            -
            			panelTemplate: "<div></div>"
         
     | 
| 
       1132 
     | 
    
         
            -
            		},
         
     | 
| 
       1133 
     | 
    
         
            -
             
     | 
| 
       1134 
     | 
    
         
            -
            		_createPanel: function( id ) {
         
     | 
| 
       1135 
     | 
    
         
            -
            			return $( this.options.panelTemplate )
         
     | 
| 
       1136 
     | 
    
         
            -
            				.attr( "id", id )
         
     | 
| 
       1137 
     | 
    
         
            -
            				.addClass( "ui-tabs-panel ui-widget-content ui-corner-bottom" )
         
     | 
| 
       1138 
     | 
    
         
            -
            				.data( "ui-tabs-destroy", true );
         
     | 
| 
       1139 
     | 
    
         
            -
            		}
         
     | 
| 
       1140 
     | 
    
         
            -
            	});
         
     | 
| 
       1141 
     | 
    
         
            -
             
     | 
| 
       1142 
     | 
    
         
            -
            	// selected option
         
     | 
| 
       1143 
     | 
    
         
            -
            	$.widget( "ui.tabs", $.ui.tabs, {
         
     | 
| 
       1144 
     | 
    
         
            -
            		_create: function() {
         
     | 
| 
       1145 
     | 
    
         
            -
            			var options = this.options;
         
     | 
| 
       1146 
     | 
    
         
            -
            			if ( options.active === null && options.selected !== undefined ) {
         
     | 
| 
       1147 
     | 
    
         
            -
            				options.active = options.selected === -1 ? false : options.selected;
         
     | 
| 
       1148 
     | 
    
         
            -
            			}
         
     | 
| 
       1149 
     | 
    
         
            -
            			this._super();
         
     | 
| 
       1150 
     | 
    
         
            -
            			options.selected = options.active;
         
     | 
| 
       1151 
     | 
    
         
            -
            			if ( options.selected === false ) {
         
     | 
| 
       1152 
     | 
    
         
            -
            				options.selected = -1;
         
     | 
| 
       1153 
     | 
    
         
            -
            			}
         
     | 
| 
       1154 
     | 
    
         
            -
            		},
         
     | 
| 
       1155 
     | 
    
         
            -
             
     | 
| 
       1156 
     | 
    
         
            -
            		_setOption: function( key, value ) {
         
     | 
| 
       1157 
     | 
    
         
            -
            			if ( key !== "selected" ) {
         
     | 
| 
       1158 
     | 
    
         
            -
            				return this._super( key, value );
         
     | 
| 
       1159 
     | 
    
         
            -
            			}
         
     | 
| 
       1160 
     | 
    
         
            -
             
     | 
| 
       1161 
     | 
    
         
            -
            			var options = this.options;
         
     | 
| 
       1162 
     | 
    
         
            -
            			this._super( "active", value === -1 ? false : value );
         
     | 
| 
       1163 
     | 
    
         
            -
            			options.selected = options.active;
         
     | 
| 
       1164 
     | 
    
         
            -
            			if ( options.selected === false ) {
         
     | 
| 
       1165 
     | 
    
         
            -
            				options.selected = -1;
         
     | 
| 
       1166 
     | 
    
         
            -
            			}
         
     | 
| 
       1167 
     | 
    
         
            -
            		},
         
     | 
| 
       1168 
     | 
    
         
            -
             
     | 
| 
       1169 
     | 
    
         
            -
            		_eventHandler: function() {
         
     | 
| 
       1170 
     | 
    
         
            -
            			this._superApply( arguments );
         
     | 
| 
       1171 
     | 
    
         
            -
            			this.options.selected = this.options.active;
         
     | 
| 
       1172 
     | 
    
         
            -
            			if ( this.options.selected === false ) {
         
     | 
| 
       1173 
     | 
    
         
            -
            				this.options.selected = -1;
         
     | 
| 
       1174 
     | 
    
         
            -
            			}
         
     | 
| 
       1175 
     | 
    
         
            -
            		}
         
     | 
| 
       1176 
     | 
    
         
            -
            	});
         
     | 
| 
       1177 
     | 
    
         
            -
             
     | 
| 
       1178 
     | 
    
         
            -
            	// show and select event
         
     | 
| 
       1179 
     | 
    
         
            -
            	$.widget( "ui.tabs", $.ui.tabs, {
         
     | 
| 
       1180 
     | 
    
         
            -
            		options: {
         
     | 
| 
       1181 
     | 
    
         
            -
            			show: null,
         
     | 
| 
       1182 
     | 
    
         
            -
            			select: null
         
     | 
| 
       1183 
     | 
    
         
            -
            		},
         
     | 
| 
       1184 
     | 
    
         
            -
            		_create: function() {
         
     | 
| 
       1185 
     | 
    
         
            -
            			this._super();
         
     | 
| 
       1186 
     | 
    
         
            -
            			if ( this.options.active !== false ) {
         
     | 
| 
       1187 
     | 
    
         
            -
            				this._trigger( "show", null, this._ui(
         
     | 
| 
       1188 
     | 
    
         
            -
            					this.active.find( ".ui-tabs-anchor" )[ 0 ],
         
     | 
| 
       1189 
     | 
    
         
            -
            					this._getPanelForTab( this.active )[ 0 ] ) );
         
     | 
| 
       1190 
     | 
    
         
            -
            			}
         
     | 
| 
       1191 
     | 
    
         
            -
            		},
         
     | 
| 
       1192 
     | 
    
         
            -
            		_trigger: function( type, event, data ) {
         
     | 
| 
       1193 
     | 
    
         
            -
            			var tab, panel,
         
     | 
| 
       1194 
     | 
    
         
            -
            				ret = this._superApply( arguments );
         
     | 
| 
       1195 
     | 
    
         
            -
             
     | 
| 
       1196 
     | 
    
         
            -
            			if ( !ret ) {
         
     | 
| 
       1197 
     | 
    
         
            -
            				return false;
         
     | 
| 
       1198 
     | 
    
         
            -
            			}
         
     | 
| 
       1199 
     | 
    
         
            -
             
     | 
| 
       1200 
     | 
    
         
            -
            			if ( type === "beforeActivate" ) {
         
     | 
| 
       1201 
     | 
    
         
            -
            				tab = data.newTab.length ? data.newTab : data.oldTab;
         
     | 
| 
       1202 
     | 
    
         
            -
            				panel = data.newPanel.length ? data.newPanel : data.oldPanel;
         
     | 
| 
       1203 
     | 
    
         
            -
            				ret = this._super( "select", event, {
         
     | 
| 
       1204 
     | 
    
         
            -
            					tab: tab.find( ".ui-tabs-anchor" )[ 0],
         
     | 
| 
       1205 
     | 
    
         
            -
            					panel: panel[ 0 ],
         
     | 
| 
       1206 
     | 
    
         
            -
            					index: tab.closest( "li" ).index()
         
     | 
| 
       1207 
     | 
    
         
            -
            				});
         
     | 
| 
       1208 
     | 
    
         
            -
            			} else if ( type === "activate" && data.newTab.length ) {
         
     | 
| 
       1209 
     | 
    
         
            -
            				ret = this._super( "show", event, {
         
     | 
| 
       1210 
     | 
    
         
            -
            					tab: data.newTab.find( ".ui-tabs-anchor" )[ 0 ],
         
     | 
| 
       1211 
     | 
    
         
            -
            					panel: data.newPanel[ 0 ],
         
     | 
| 
       1212 
     | 
    
         
            -
            					index: data.newTab.closest( "li" ).index()
         
     | 
| 
       1213 
     | 
    
         
            -
            				});
         
     | 
| 
       1214 
     | 
    
         
            -
            			}
         
     | 
| 
       1215 
     | 
    
         
            -
            			return ret;
         
     | 
| 
       1216 
     | 
    
         
            -
            		}
         
     | 
| 
       1217 
     | 
    
         
            -
            	});
         
     | 
| 
       1218 
     | 
    
         
            -
             
     | 
| 
       1219 
     | 
    
         
            -
            	// select method
         
     | 
| 
       1220 
     | 
    
         
            -
            	$.widget( "ui.tabs", $.ui.tabs, {
         
     | 
| 
       1221 
     | 
    
         
            -
            		select: function( index ) {
         
     | 
| 
       1222 
     | 
    
         
            -
            			index = this._getIndex( index );
         
     | 
| 
       1223 
     | 
    
         
            -
            			if ( index === -1 ) {
         
     | 
| 
       1224 
     | 
    
         
            -
            				if ( this.options.collapsible && this.options.selected !== -1 ) {
         
     | 
| 
       1225 
     | 
    
         
            -
            					index = this.options.selected;
         
     | 
| 
       1226 
     | 
    
         
            -
            				} else {
         
     | 
| 
       1227 
     | 
    
         
            -
            					return;
         
     | 
| 
       1228 
     | 
    
         
            -
            				}
         
     | 
| 
       1229 
     | 
    
         
            -
            			}
         
     | 
| 
       1230 
     | 
    
         
            -
            			this.anchors.eq( index ).trigger( this.options.event + this.eventNamespace );
         
     | 
| 
       1231 
     | 
    
         
            -
            		}
         
     | 
| 
       1232 
     | 
    
         
            -
            	});
         
     | 
| 
       1233 
     | 
    
         
            -
             
     | 
| 
       1234 
     | 
    
         
            -
            	// cookie option
         
     | 
| 
       1235 
     | 
    
         
            -
            	(function() {
         
     | 
| 
       1236 
     | 
    
         
            -
             
     | 
| 
       1237 
     | 
    
         
            -
            	var listId = 0;
         
     | 
| 
       1238 
     | 
    
         
            -
             
     | 
| 
       1239 
     | 
    
         
            -
            	$.widget( "ui.tabs", $.ui.tabs, {
         
     | 
| 
       1240 
     | 
    
         
            -
            		options: {
         
     | 
| 
       1241 
     | 
    
         
            -
            			cookie: null // e.g. { expires: 7, path: '/', domain: 'jquery.com', secure: true }
         
     | 
| 
       1242 
     | 
    
         
            -
            		},
         
     | 
| 
       1243 
     | 
    
         
            -
            		_create: function() {
         
     | 
| 
       1244 
     | 
    
         
            -
            			var options = this.options,
         
     | 
| 
       1245 
     | 
    
         
            -
            				active;
         
     | 
| 
       1246 
     | 
    
         
            -
            			if ( options.active == null && options.cookie ) {
         
     | 
| 
       1247 
     | 
    
         
            -
            				active = parseInt( this._cookie(), 10 );
         
     | 
| 
       1248 
     | 
    
         
            -
            				if ( active === -1 ) {
         
     | 
| 
       1249 
     | 
    
         
            -
            					active = false;
         
     | 
| 
       1250 
     | 
    
         
            -
            				}
         
     | 
| 
       1251 
     | 
    
         
            -
            				options.active = active;
         
     | 
| 
       1252 
     | 
    
         
            -
            			}
         
     | 
| 
       1253 
     | 
    
         
            -
            			this._super();
         
     | 
| 
       1254 
     | 
    
         
            -
            		},
         
     | 
| 
       1255 
     | 
    
         
            -
            		_cookie: function( active ) {
         
     | 
| 
       1256 
     | 
    
         
            -
            			var cookie = [ this.cookie ||
         
     | 
| 
       1257 
     | 
    
         
            -
            				( this.cookie = this.options.cookie.name || "ui-tabs-" + (++listId) ) ];
         
     | 
| 
       1258 
     | 
    
         
            -
            			if ( arguments.length ) {
         
     | 
| 
       1259 
     | 
    
         
            -
            				cookie.push( active === false ? -1 : active );
         
     | 
| 
       1260 
     | 
    
         
            -
            				cookie.push( this.options.cookie );
         
     | 
| 
       1261 
     | 
    
         
            -
            			}
         
     | 
| 
       1262 
     | 
    
         
            -
            			return $.cookie.apply( null, cookie );
         
     | 
| 
       1263 
     | 
    
         
            -
            		},
         
     | 
| 
       1264 
     | 
    
         
            -
            		_refresh: function() {
         
     | 
| 
       1265 
     | 
    
         
            -
            			this._super();
         
     | 
| 
       1266 
     | 
    
         
            -
            			if ( this.options.cookie ) {
         
     | 
| 
       1267 
     | 
    
         
            -
            				this._cookie( this.options.active, this.options.cookie );
         
     | 
| 
       1268 
     | 
    
         
            -
            			}
         
     | 
| 
       1269 
     | 
    
         
            -
            		},
         
     | 
| 
       1270 
     | 
    
         
            -
            		_eventHandler: function() {
         
     | 
| 
       1271 
     | 
    
         
            -
            			this._superApply( arguments );
         
     | 
| 
       1272 
     | 
    
         
            -
            			if ( this.options.cookie ) {
         
     | 
| 
       1273 
     | 
    
         
            -
            				this._cookie( this.options.active, this.options.cookie );
         
     | 
| 
       1274 
     | 
    
         
            -
            			}
         
     | 
| 
       1275 
     | 
    
         
            -
            		},
         
     | 
| 
       1276 
     | 
    
         
            -
            		_destroy: function() {
         
     | 
| 
       1277 
     | 
    
         
            -
            			this._super();
         
     | 
| 
       1278 
     | 
    
         
            -
            			if ( this.options.cookie ) {
         
     | 
| 
       1279 
     | 
    
         
            -
            				this._cookie( null, this.options.cookie );
         
     | 
| 
       1280 
     | 
    
         
            -
            			}
         
     | 
| 
       1281 
     | 
    
         
            -
            		}
         
     | 
| 
       1282 
     | 
    
         
            -
            	});
         
     | 
| 
       1283 
     | 
    
         
            -
             
     | 
| 
       1284 
     | 
    
         
            -
            	})();
         
     | 
| 
       1285 
     | 
    
         
            -
             
     | 
| 
       1286 
     | 
    
         
            -
            	// load event
         
     | 
| 
       1287 
     | 
    
         
            -
            	$.widget( "ui.tabs", $.ui.tabs, {
         
     | 
| 
       1288 
     | 
    
         
            -
            		_trigger: function( type, event, data ) {
         
     | 
| 
       1289 
     | 
    
         
            -
            			var _data = $.extend( {}, data );
         
     | 
| 
       1290 
     | 
    
         
            -
            			if ( type === "load" ) {
         
     | 
| 
       1291 
     | 
    
         
            -
            				_data.panel = _data.panel[ 0 ];
         
     | 
| 
       1292 
     | 
    
         
            -
            				_data.tab = _data.tab.find( ".ui-tabs-anchor" )[ 0 ];
         
     | 
| 
       1293 
     | 
    
         
            -
            			}
         
     | 
| 
       1294 
     | 
    
         
            -
            			return this._super( type, event, _data );
         
     | 
| 
       1295 
     | 
    
         
            -
            		}
         
     | 
| 
       1296 
     | 
    
         
            -
            	});
         
     | 
| 
       1297 
     | 
    
         
            -
             
     | 
| 
       1298 
     | 
    
         
            -
            	// fx option
         
     | 
| 
       1299 
     | 
    
         
            -
            	// The new animation options (show, hide) conflict with the old show callback.
         
     | 
| 
       1300 
     | 
    
         
            -
            	// The old fx option wins over show/hide anyway (always favor back-compat).
         
     | 
| 
       1301 
     | 
    
         
            -
            	// If a user wants to use the new animation API, they must give up the old API.
         
     | 
| 
       1302 
     | 
    
         
            -
            	$.widget( "ui.tabs", $.ui.tabs, {
         
     | 
| 
       1303 
     | 
    
         
            -
            		options: {
         
     | 
| 
       1304 
     | 
    
         
            -
            			fx: null // e.g. { height: "toggle", opacity: "toggle", duration: 200 }
         
     | 
| 
       1305 
     | 
    
         
            -
            		},
         
     | 
| 
       1306 
     | 
    
         
            -
             
     | 
| 
       1307 
     | 
    
         
            -
            		_getFx: function() {
         
     | 
| 
       1308 
     | 
    
         
            -
            			var hide, show,
         
     | 
| 
       1309 
     | 
    
         
            -
            				fx = this.options.fx;
         
     | 
| 
       1310 
     | 
    
         
            -
             
     | 
| 
       1311 
     | 
    
         
            -
            			if ( fx ) {
         
     | 
| 
       1312 
     | 
    
         
            -
            				if ( $.isArray( fx ) ) {
         
     | 
| 
       1313 
     | 
    
         
            -
            					hide = fx[ 0 ];
         
     | 
| 
       1314 
     | 
    
         
            -
            					show = fx[ 1 ];
         
     | 
| 
       1315 
     | 
    
         
            -
            				} else {
         
     | 
| 
       1316 
     | 
    
         
            -
            					hide = show = fx;
         
     | 
| 
       1317 
     | 
    
         
            -
            				}
         
     | 
| 
       1318 
     | 
    
         
            -
            			}
         
     | 
| 
       1319 
     | 
    
         
            -
             
     | 
| 
       1320 
     | 
    
         
            -
            			return fx ? { show: show, hide: hide } : null;
         
     | 
| 
       1321 
     | 
    
         
            -
            		},
         
     | 
| 
       1322 
     | 
    
         
            -
             
     | 
| 
       1323 
     | 
    
         
            -
            		_toggle: function( event, eventData ) {
         
     | 
| 
       1324 
     | 
    
         
            -
            			var that = this,
         
     | 
| 
       1325 
     | 
    
         
            -
            				toShow = eventData.newPanel,
         
     | 
| 
       1326 
     | 
    
         
            -
            				toHide = eventData.oldPanel,
         
     | 
| 
       1327 
     | 
    
         
            -
            				fx = this._getFx();
         
     | 
| 
       1328 
     | 
    
         
            -
             
     | 
| 
       1329 
     | 
    
         
            -
            			if ( !fx ) {
         
     | 
| 
       1330 
     | 
    
         
            -
            				return this._super( event, eventData );
         
     | 
| 
       1331 
     | 
    
         
            -
            			}
         
     | 
| 
       1332 
     | 
    
         
            -
             
     | 
| 
       1333 
     | 
    
         
            -
            			that.running = true;
         
     | 
| 
       1334 
     | 
    
         
            -
             
     | 
| 
       1335 
     | 
    
         
            -
            			function complete() {
         
     | 
| 
       1336 
     | 
    
         
            -
            				that.running = false;
         
     | 
| 
       1337 
     | 
    
         
            -
            				that._trigger( "activate", event, eventData );
         
     | 
| 
       1338 
     | 
    
         
            -
            			}
         
     | 
| 
       1339 
     | 
    
         
            -
             
     | 
| 
       1340 
     | 
    
         
            -
            			function show() {
         
     | 
| 
       1341 
     | 
    
         
            -
            				eventData.newTab.closest( "li" ).addClass( "ui-tabs-active ui-state-active" );
         
     | 
| 
       1342 
     | 
    
         
            -
             
     | 
| 
       1343 
     | 
    
         
            -
            				if ( toShow.length && fx.show ) {
         
     | 
| 
       1344 
     | 
    
         
            -
            					toShow
         
     | 
| 
       1345 
     | 
    
         
            -
            						.animate( fx.show, fx.show.duration, function() {
         
     | 
| 
       1346 
     | 
    
         
            -
            							complete();
         
     | 
| 
       1347 
     | 
    
         
            -
            						});
         
     | 
| 
       1348 
     | 
    
         
            -
            				} else {
         
     | 
| 
       1349 
     | 
    
         
            -
            					toShow.show();
         
     | 
| 
       1350 
     | 
    
         
            -
            					complete();
         
     | 
| 
       1351 
     | 
    
         
            -
            				}
         
     | 
| 
       1352 
     | 
    
         
            -
            			}
         
     | 
| 
       1353 
     | 
    
         
            -
             
     | 
| 
       1354 
     | 
    
         
            -
            			// start out by hiding, then showing, then completing
         
     | 
| 
       1355 
     | 
    
         
            -
            			if ( toHide.length && fx.hide ) {
         
     | 
| 
       1356 
     | 
    
         
            -
            				toHide.animate( fx.hide, fx.hide.duration, function() {
         
     | 
| 
       1357 
     | 
    
         
            -
            					eventData.oldTab.closest( "li" ).removeClass( "ui-tabs-active ui-state-active" );
         
     | 
| 
       1358 
     | 
    
         
            -
            					show();
         
     | 
| 
       1359 
     | 
    
         
            -
            				});
         
     | 
| 
       1360 
     | 
    
         
            -
            			} else {
         
     | 
| 
       1361 
     | 
    
         
            -
            				eventData.oldTab.closest( "li" ).removeClass( "ui-tabs-active ui-state-active" );
         
     | 
| 
       1362 
     | 
    
         
            -
            				toHide.hide();
         
     | 
| 
       1363 
     | 
    
         
            -
            				show();
         
     | 
| 
       1364 
     | 
    
         
            -
            			}
         
     | 
| 
       1365 
     | 
    
         
            -
            		}
         
     | 
| 
       1366 
     | 
    
         
            -
            	});
         
     | 
| 
       1367 
     | 
    
         
            -
            }
         
     | 
| 
       1368 
     | 
    
         
            -
             
     | 
| 
       1369 
849 
     | 
    
         
             
            })( jQuery );
         
     |