silverstripe-framework/thirdparty/jquery-ui/ui.progressbar.js
Ingo Schommer 26b52dd772 API CHANGE Upgraded jQuery UI from v1.6rc1 (r687) to v1.8rc3. This release prefixes all *.js and *.css files with 'jquery', so ui.core.js is now called jquery.ui.core.js.
API CHANGE Upgraded jQuery UI themes from v1.6rc1 to v1.8rc3. Removed 'flora' and 'default' themes, replaced with the 'base' and 'smoothness' themes found in the default distribution

git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/branches/2.4@100842 467b73ca-7a2a-4603-9d3b-597d59a354a9
2011-02-02 14:18:53 +13:00

117 lines
2.2 KiB
JavaScript

/*
* jQuery UI Progressbar 1.7.2
*
* Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT (MIT-LICENSE.txt)
* and GPL (GPL-LICENSE.txt) licenses.
*
* http://docs.jquery.com/UI/Progressbar
*
* Depends:
* ui.core.js
*/
(function($) {
$.widget("ui.progressbar", {
_init: function() {
this.element
.addClass("ui-progressbar"
+ " ui-widget"
+ " ui-widget-content"
+ " ui-corner-all")
.attr({
role: "progressbar",
"aria-valuemin": this._valueMin(),
"aria-valuemax": this._valueMax(),
"aria-valuenow": this._value()
});
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")
.removeData("progressbar")
.unbind(".progressbar");
this.valueDiv.remove();
$.widget.prototype.destroy.apply(this, arguments);
},
value: function(newValue) {
if (newValue === undefined) {
return this._value();
}
this._setData('value', newValue);
return this;
},
_setData: function(key, value) {
switch (key) {
case 'value':
this.options.value = value;
this._refreshValue();
this._trigger('change', null, {});
break;
}
$.widget.prototype._setData.apply(this, arguments);
},
_value: function() {
var val = this.options.value;
if (val < this._valueMin()) val = this._valueMin();
if (val > this._valueMax()) val = this._valueMax();
return val;
},
_valueMin: function() {
var valueMin = 0;
return valueMin;
},
_valueMax: function() {
var valueMax = 100;
return valueMax;
},
_refreshValue: function() {
var value = this.value();
this.valueDiv[value == this._valueMax() ? 'addClass' : 'removeClass']("ui-corner-right");
this.valueDiv.width(value + '%');
this.element.attr("aria-valuenow", value);
}
});
$.extend($.ui.progressbar, {
version: "1.7.2",
defaults: {
value: 0
}
});
})(jQuery);