topical media & game development

talk show tell print

lib-jquery-style-custom-development-bundle-ui-ui.progressbar.js / js



  /*
   * jQuery UI Progressbar 1.7.1
   *
   * 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) {
                  arguments.length && this._setData("value", newValue);
                  return this._value();
          },
  
          _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.1",
          defaults: {
                  value: 0
          }
  });
  
  })(jQuery);
  


(C) Æliens 20/2/2008

You may not copy or print any of this material without explicit permission of the author or the publisher. In case of other copyright issues, contact the author.