client/player/development-bundle/ui/jquery.ui.progressbar.js
changeset 1 436d4791d7ac
equal deleted inserted replaced
0:ecdfc63274bf 1:436d4791d7ac
       
     1 /*
       
     2  * jQuery UI Progressbar 1.8.1
       
     3  *
       
     4  * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)
       
     5  * Dual licensed under the MIT (MIT-LICENSE.txt)
       
     6  * and GPL (GPL-LICENSE.txt) licenses.
       
     7  *
       
     8  * http://docs.jquery.com/UI/Progressbar
       
     9  *
       
    10  * Depends:
       
    11  *   jquery.ui.core.js
       
    12  *   jquery.ui.widget.js
       
    13  */
       
    14 (function( $ ) {
       
    15 
       
    16 $.widget( "ui.progressbar", {
       
    17 	options: {
       
    18 		value: 0
       
    19 	},
       
    20 	_create: function() {
       
    21 		this.element
       
    22 			.addClass( "ui-progressbar ui-widget ui-widget-content ui-corner-all" )
       
    23 			.attr({
       
    24 				role: "progressbar",
       
    25 				"aria-valuemin": this._valueMin(),
       
    26 				"aria-valuemax": this._valueMax(),
       
    27 				"aria-valuenow": this._value()
       
    28 			});
       
    29 
       
    30 		this.valueDiv = $( "<div class='ui-progressbar-value ui-widget-header ui-corner-left'></div>" )
       
    31 			.appendTo( this.element );
       
    32 
       
    33 		this._refreshValue();
       
    34 	},
       
    35 
       
    36 	destroy: function() {
       
    37 		this.element
       
    38 			.removeClass( "ui-progressbar ui-widget ui-widget-content ui-corner-all" )
       
    39 			.removeAttr( "role" )
       
    40 			.removeAttr( "aria-valuemin" )
       
    41 			.removeAttr( "aria-valuemax" )
       
    42 			.removeAttr( "aria-valuenow" );
       
    43 
       
    44 		this.valueDiv.remove();
       
    45 
       
    46 		$.Widget.prototype.destroy.apply( this, arguments );
       
    47 	},
       
    48 
       
    49 	value: function( newValue ) {
       
    50 		if ( newValue === undefined ) {
       
    51 			return this._value();
       
    52 		}
       
    53 
       
    54 		this._setOption( "value", newValue );
       
    55 		return this;
       
    56 	},
       
    57 
       
    58 	_setOption: function( key, value ) {
       
    59 		switch ( key ) {
       
    60 			case "value":
       
    61 				this.options.value = value;
       
    62 				this._refreshValue();
       
    63 				this._trigger( "change" );
       
    64 				break;
       
    65 		}
       
    66 
       
    67 		$.Widget.prototype._setOption.apply( this, arguments );
       
    68 	},
       
    69 
       
    70 	_value: function() {
       
    71 		var val = this.options.value;
       
    72 		// normalize invalid value
       
    73 		if ( typeof val !== "number" ) {
       
    74 			val = 0;
       
    75 		}
       
    76 		if ( val < this._valueMin() ) {
       
    77 			val = this._valueMin();
       
    78 		}
       
    79 		if ( val > this._valueMax() ) {
       
    80 			val = this._valueMax();
       
    81 		}
       
    82 
       
    83 		return val;
       
    84 	},
       
    85 
       
    86 	_valueMin: function() {
       
    87 		return 0;
       
    88 	},
       
    89 
       
    90 	_valueMax: function() {
       
    91 		return 100;
       
    92 	},
       
    93 
       
    94 	_refreshValue: function() {
       
    95 		var value = this.value();
       
    96 		this.valueDiv
       
    97 			[ value === this._valueMax() ? "addClass" : "removeClass"]( "ui-corner-right" )
       
    98 			.width( value + "%" );
       
    99 		this.element.attr( "aria-valuenow", value );
       
   100 	}
       
   101 });
       
   102 
       
   103 $.extend( $.ui.progressbar, {
       
   104 	version: "1.8.1"
       
   105 });
       
   106 
       
   107 })( jQuery );