diff options
Diffstat (limited to '97suifangqa/staticfiles/plugins/jquery-ui/ui/jquery.ui.progressbar.js')
| -rw-r--r-- | 97suifangqa/staticfiles/plugins/jquery-ui/ui/jquery.ui.progressbar.js | 145 | 
1 files changed, 145 insertions, 0 deletions
| diff --git a/97suifangqa/staticfiles/plugins/jquery-ui/ui/jquery.ui.progressbar.js b/97suifangqa/staticfiles/plugins/jquery-ui/ui/jquery.ui.progressbar.js new file mode 100644 index 0000000..70d716e --- /dev/null +++ b/97suifangqa/staticfiles/plugins/jquery-ui/ui/jquery.ui.progressbar.js @@ -0,0 +1,145 @@ +/*! + * jQuery UI Progressbar 1.10.3 + * http://jqueryui.com + * + * Copyright 2013 jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + * + * http://api.jqueryui.com/progressbar/ + * + * Depends: + *   jquery.ui.core.js + *   jquery.ui.widget.js + */ +(function( $, undefined ) { + +$.widget( "ui.progressbar", { +	version: "1.10.3", +	options: { +		max: 100, +		value: 0, + +		change: null, +		complete: null +	}, + +	min: 0, + +	_create: function() { +		// Constrain initial value +		this.oldValue = this.options.value = this._constrainedValue(); + +		this.element +			.addClass( "ui-progressbar ui-widget ui-widget-content ui-corner-all" ) +			.attr({ +				// Only set static values, aria-valuenow and aria-valuemax are +				// set inside _refreshValue() +				role: "progressbar", +				"aria-valuemin": this.min +			}); + +		this.valueDiv = $( "<div class='ui-progressbar-value ui-widget-header ui-corner-left'></div>" ) +			.appendTo( this.element ); + +		this._refreshValue(); +	}, + +	_destroy: function() { +		this.element +			.removeClass( "ui-progressbar ui-widget ui-widget-content ui-corner-all" ) +			.removeAttr( "role" ) +			.removeAttr( "aria-valuemin" ) +			.removeAttr( "aria-valuemax" ) +			.removeAttr( "aria-valuenow" ); + +		this.valueDiv.remove(); +	}, + +	value: function( newValue ) { +		if ( newValue === undefined ) { +			return this.options.value; +		} + +		this.options.value = this._constrainedValue( newValue ); +		this._refreshValue(); +	}, + +	_constrainedValue: function( newValue ) { +		if ( newValue === undefined ) { +			newValue = this.options.value; +		} + +		this.indeterminate = newValue === false; + +		// sanitize value +		if ( typeof newValue !== "number" ) { +			newValue = 0; +		} + +		return this.indeterminate ? false : +			Math.min( this.options.max, Math.max( this.min, newValue ) ); +	}, + +	_setOptions: function( options ) { +		// Ensure "value" option is set after other values (like max) +		var value = options.value; +		delete options.value; + +		this._super( options ); + +		this.options.value = this._constrainedValue( value ); +		this._refreshValue(); +	}, + +	_setOption: function( key, value ) { +		if ( key === "max" ) { +			// Don't allow a max less than min +			value = Math.max( this.min, value ); +		} + +		this._super( key, value ); +	}, + +	_percentage: function() { +		return this.indeterminate ? 100 : 100 * ( this.options.value - this.min ) / ( this.options.max - this.min ); +	}, + +	_refreshValue: function() { +		var value = this.options.value, +			percentage = this._percentage(); + +		this.valueDiv +			.toggle( this.indeterminate || value > this.min ) +			.toggleClass( "ui-corner-right", value === this.options.max ) +			.width( percentage.toFixed(0) + "%" ); + +		this.element.toggleClass( "ui-progressbar-indeterminate", this.indeterminate ); + +		if ( this.indeterminate ) { +			this.element.removeAttr( "aria-valuenow" ); +			if ( !this.overlayDiv ) { +				this.overlayDiv = $( "<div class='ui-progressbar-overlay'></div>" ).appendTo( this.valueDiv ); +			} +		} else { +			this.element.attr({ +				"aria-valuemax": this.options.max, +				"aria-valuenow": value +			}); +			if ( this.overlayDiv ) { +				this.overlayDiv.remove(); +				this.overlayDiv = null; +			} +		} + +		if ( this.oldValue !== value ) { +			this.oldValue = value; +			this._trigger( "change" ); +		} +		if ( value === this.options.max ) { +			this._trigger( "complete" ); +		} +	} +}); + +})( jQuery ); | 
