[ Index ] |
PHP Cross Reference of WordPress Trunk (Updated Daily) |
[Summary view] [Print] [Text view]
1 /*! 2 * jQuery UI Progressbar 1.13.3 3 * https://jqueryui.com 4 * 5 * Copyright OpenJS Foundation and other contributors 6 * Released under the MIT license. 7 * https://jquery.org/license 8 */ 9 10 //>>label: Progressbar 11 //>>group: Widgets 12 /* eslint-disable max-len */ 13 //>>description: Displays a status indicator for loading state, standard percentage, and other progress indicators. 14 /* eslint-enable max-len */ 15 //>>docs: https://api.jqueryui.com/progressbar/ 16 //>>demos: https://jqueryui.com/progressbar/ 17 //>>css.structure: ../../themes/base/core.css 18 //>>css.structure: ../../themes/base/progressbar.css 19 //>>css.theme: ../../themes/base/theme.css 20 21 ( function( factory ) { 22 "use strict"; 23 24 if ( typeof define === "function" && define.amd ) { 25 26 // AMD. Register as an anonymous module. 27 define( [ 28 "jquery", 29 "../version", 30 "../widget" 31 ], factory ); 32 } else { 33 34 // Browser globals 35 factory( jQuery ); 36 } 37 } )( function( $ ) { 38 "use strict"; 39 40 return $.widget( "ui.progressbar", { 41 version: "1.13.3", 42 options: { 43 classes: { 44 "ui-progressbar": "ui-corner-all", 45 "ui-progressbar-value": "ui-corner-left", 46 "ui-progressbar-complete": "ui-corner-right" 47 }, 48 max: 100, 49 value: 0, 50 51 change: null, 52 complete: null 53 }, 54 55 min: 0, 56 57 _create: function() { 58 59 // Constrain initial value 60 this.oldValue = this.options.value = this._constrainedValue(); 61 62 this.element.attr( { 63 64 // Only set static values; aria-valuenow and aria-valuemax are 65 // set inside _refreshValue() 66 role: "progressbar", 67 "aria-valuemin": this.min 68 } ); 69 this._addClass( "ui-progressbar", "ui-widget ui-widget-content" ); 70 71 this.valueDiv = $( "<div>" ).appendTo( this.element ); 72 this._addClass( this.valueDiv, "ui-progressbar-value", "ui-widget-header" ); 73 this._refreshValue(); 74 }, 75 76 _destroy: function() { 77 this.element.removeAttr( "role aria-valuemin aria-valuemax aria-valuenow" ); 78 79 this.valueDiv.remove(); 80 }, 81 82 value: function( newValue ) { 83 if ( newValue === undefined ) { 84 return this.options.value; 85 } 86 87 this.options.value = this._constrainedValue( newValue ); 88 this._refreshValue(); 89 }, 90 91 _constrainedValue: function( newValue ) { 92 if ( newValue === undefined ) { 93 newValue = this.options.value; 94 } 95 96 this.indeterminate = newValue === false; 97 98 // Sanitize value 99 if ( typeof newValue !== "number" ) { 100 newValue = 0; 101 } 102 103 return this.indeterminate ? false : 104 Math.min( this.options.max, Math.max( this.min, newValue ) ); 105 }, 106 107 _setOptions: function( options ) { 108 109 // Ensure "value" option is set after other values (like max) 110 var value = options.value; 111 delete options.value; 112 113 this._super( options ); 114 115 this.options.value = this._constrainedValue( value ); 116 this._refreshValue(); 117 }, 118 119 _setOption: function( key, value ) { 120 if ( key === "max" ) { 121 122 // Don't allow a max less than min 123 value = Math.max( this.min, value ); 124 } 125 this._super( key, value ); 126 }, 127 128 _setOptionDisabled: function( value ) { 129 this._super( value ); 130 131 this.element.attr( "aria-disabled", value ); 132 this._toggleClass( null, "ui-state-disabled", !!value ); 133 }, 134 135 _percentage: function() { 136 return this.indeterminate ? 137 100 : 138 100 * ( this.options.value - this.min ) / ( this.options.max - this.min ); 139 }, 140 141 _refreshValue: function() { 142 var value = this.options.value, 143 percentage = this._percentage(); 144 145 this.valueDiv 146 .toggle( this.indeterminate || value > this.min ) 147 .width( percentage.toFixed( 0 ) + "%" ); 148 149 this 150 ._toggleClass( this.valueDiv, "ui-progressbar-complete", null, 151 value === this.options.max ) 152 ._toggleClass( "ui-progressbar-indeterminate", null, this.indeterminate ); 153 154 if ( this.indeterminate ) { 155 this.element.removeAttr( "aria-valuenow" ); 156 if ( !this.overlayDiv ) { 157 this.overlayDiv = $( "<div>" ).appendTo( this.valueDiv ); 158 this._addClass( this.overlayDiv, "ui-progressbar-overlay" ); 159 } 160 } else { 161 this.element.attr( { 162 "aria-valuemax": this.options.max, 163 "aria-valuenow": value 164 } ); 165 if ( this.overlayDiv ) { 166 this.overlayDiv.remove(); 167 this.overlayDiv = null; 168 } 169 } 170 171 if ( this.oldValue !== value ) { 172 this.oldValue = value; 173 this._trigger( "change" ); 174 } 175 if ( value === this.options.max ) { 176 this._trigger( "complete" ); 177 } 178 } 179 } ); 180 181 } );
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated : Fri Nov 15 08:20:01 2024 | Cross-referenced by PHPXref |