a:17:{s:9:"#provides";s:17:"dijit.ProgressBar";s:9:"#resource";s:14:"ProgressBar.js";s:9:"#requires";a:4:{i:0;a:3:{i:0;s:6:"common";i:1;s:7:"dojo.fx";i:2;s:4:"dojo";}i:1;a:3:{i:0;s:6:"common";i:1;s:11:"dojo.number";i:2;s:4:"dojo";}i:2;a:2:{i:0;s:6:"common";i:1;s:13:"dijit._Widget";}i:3;a:2:{i:0;s:6:"common";i:1;s:16:"dijit._Templated";}}s:17:"dijit.ProgressBar";a:7:{s:4:"type";s:8:"Function";s:6:"chains";a:2:{s:9:"prototype";a:1:{i:0;s:13:"dijit._Widget";}s:4:"call";a:2:{i:0;s:13:"dijit._Widget";i:1;s:16:"dijit._Templated";}}s:6:"mixins";a:1:{s:9:"prototype";a:1:{i:0;s:26:"dijit._Templated.prototype";}}s:7:"summary";s:102:"A progress indication widget, showing the amount completed
(often the percentage completed) of a task.";s:11:"description";s:118:"Note that the progress bar is updated via (a non-standard)
update() method, rather than via attr() like other widgets.";s:8:"examples";a:1:{i:0;s:85:"

	<div dojoType="ProgressBar"
		 places="0"
		 progress="..." maximum="...">
	</div>";}s:9:"classlike";b:1;}s:26:"dijit.ProgressBar.progress";a:5:{s:9:"prototype";s:17:"dijit.ProgressBar";s:8:"instance";s:17:"dijit.ProgressBar";s:4:"tags";a:1:{i:0;s:5:"const";}s:4:"type";s:6:"String";s:7:"summary";s:251:"(Percentage or Number)
Number or percentage indicating amount of task completed.
With &quot;%&quot;: percentage value, 0% &lt;= progress &lt;= 100%, or
without &quot;%&quot;: absolute value, 0 &lt;= progress &lt;= maximum
TODO: rename to value for 2.0";}s:25:"dijit.ProgressBar.maximum";a:4:{s:9:"prototype";s:17:"dijit.ProgressBar";s:4:"tags";a:1:{i:0;s:5:"const";}s:4:"type";s:5:"Float";s:7:"summary";s:17:"Max sample number";}s:24:"dijit.ProgressBar.places";a:4:{s:9:"prototype";s:17:"dijit.ProgressBar";s:4:"tags";a:1:{i:0;s:5:"const";}s:4:"type";s:6:"Number";s:7:"summary";s:48:"Number of places to show in values; 0 by default";}s:31:"dijit.ProgressBar.indeterminate";a:4:{s:9:"prototype";s:17:"dijit.ProgressBar";s:4:"tags";a:1:{i:0;s:5:"const";}s:4:"type";s:7:"Boolean";s:7:"summary";s:136:"If false: show progress value (number or percentage).
If true: show that a process is underway but that the amount completed is unknown.";}s:30:"dijit.ProgressBar.templatePath";a:2:{s:9:"prototype";s:17:"dijit.ProgressBar";s:7:"summary";s:0:"";}s:53:"dijit.ProgressBar._indeterminateHighContrastImagePath";a:5:{s:9:"prototype";s:17:"dijit.ProgressBar";s:4:"tags";a:1:{i:0;s:7:"private";}s:4:"type";s:9:"dojo._URL";s:7:"summary";s:88:"URL to image to use for indeterminate progress bar when display is in high contrast mode";s:7:"private";b:1;}s:28:"dijit.ProgressBar.postCreate";a:4:{s:9:"prototype";s:17:"dijit.ProgressBar";s:4:"type";s:8:"Function";s:6:"source";s:149:"		this.inherited(arguments);
		this.indeterminateHighContrastImage.setAttribute("src",
			this._indeterminateHighContrastImagePath);
		this.update();";s:7:"summary";s:0:"";}s:24:"dijit.ProgressBar.update";a:5:{s:9:"prototype";s:17:"dijit.ProgressBar";s:4:"type";s:8:"Function";s:10:"parameters";a:1:{s:10:"attributes";a:3:{s:8:"optional";b:1;s:4:"type";s:6:"Object";s:7:"summary";s:98:"May provide progress and/or maximum properties on this parameter;
see attribute specs for details.";}}s:6:"source";s:3265:"dojo.provide("dijit.ProgressBar");


dojo.require("dojo.fx");
dojo.require("dojo.number");


dojo.require("dijit._Widget");
dojo.require("dijit._Templated");


dojo.declare("dijit.ProgressBar", [dijit._Widget, dijit._Templated], {
	// summary:
	//		A progress indication widget, showing the amount completed
	//		(often the percentage completed) of a task.
	//
	// example:
	// |	<div dojoType="ProgressBar"
	// |		 places="0"
	// |		 progress="..." maximum="...">
	// |	</div>
	//
	// description:
	//		Note that the progress bar is updated via (a non-standard)
	//		update() method, rather than via attr() like other widgets.


	// progress: [const] String (Percentage or Number)
	//		Number or percentage indicating amount of task completed.
	// 		With "%": percentage value, 0% <= progress <= 100%, or
	// 		without "%": absolute value, 0 <= progress <= maximum
	// TODO: rename to value for 2.0
	progress: "0",


	// maximum: [const] Float
	//		Max sample number
	maximum: 100,


	// places: [const] Number
	//		Number of places to show in values; 0 by default
	places: 0,


	// indeterminate: [const] Boolean
	// 		If false: show progress value (number or percentage).
	// 		If true: show that a process is underway but that the amount completed is unknown.
	indeterminate: false,


	templatePath: dojo.moduleUrl("dijit", "templates/ProgressBar.html"),


	// _indeterminateHighContrastImagePath: [private] dojo._URL
	//		URL to image to use for indeterminate progress bar when display is in high contrast mode
	_indeterminateHighContrastImagePath:
		dojo.moduleUrl("dijit", "themes/a11y/indeterminate_progress.gif"),


	// public functions
	postCreate: function(){
		this.inherited(arguments);
		this.indeterminateHighContrastImage.setAttribute("src",
			this._indeterminateHighContrastImagePath);
		this.update();
	},


	update: function(/*Object?*/attributes){
		// summary:
		//		Change attributes of ProgressBar, similar to attr(hash).
		//
		// attributes:
		//		May provide progress and/or maximum properties on this parameter;
		//		see attribute specs for details.
		//
		// example:
		//	|	myProgressBar.update({'indeterminate': true});
		//	|	myProgressBar.update({'progress': 80});


		// TODO: deprecate this method and use attr() instead


		dojo.mixin(this, attributes || {});
		var tip = this.internalProgress;
		var percent = 1, classFunc;
		if(this.indeterminate){
			classFunc = "addClass";
			dijit.removeWaiState(tip, "valuenow");
			dijit.removeWaiState(tip, "valuemin");
			dijit.removeWaiState(tip, "valuemax");
		}else{
			classFunc = "removeClass";
			if(String(this.progress).indexOf("%") != -1){
				percent = Math.min(parseFloat(this.progress)/100, 1);
				this.progress = percent * this.maximum;
			}else{
				this.progress = Math.min(this.progress, this.maximum);
				percent = this.progress / this.maximum;
			}
			var text = this.report(percent);
			this.label.firstChild.nodeValue = text;
			dijit.setWaiState(tip, "describedby", this.label.id);
			dijit.setWaiState(tip, "valuenow", this.progress);
			dijit.setWaiState(tip, "valuemin", 0);
			dijit.setWaiState(tip, "valuemax", this.maximum);
		}
		dojo[classFunc](this.domNode, "dijitProgressBarIndeterminate");
		tip.style.width = (percent * 100) + "%";
		this.onChange();";s:7:"summary";s:56:"Change attributes of ProgressBar, similar to attr(hash).";}s:24:"dijit.ProgressBar.report";a:6:{s:9:"prototype";s:17:"dijit.ProgressBar";s:4:"type";s:8:"Function";s:10:"parameters";a:1:{s:7:"percent";a:1:{s:4:"type";s:5:"float";}}s:6:"source";s:98:"		return dojo.number.format(percent, { type: "percent", places: this.places, locale: this.lang });";s:7:"summary";s:112:"Generates message to show inside progress bar (normally indicating amount of task completed).
May be overridden.";s:4:"tags";s:9:"extension";}s:26:"dijit.ProgressBar.onChange";a:5:{s:9:"prototype";s:17:"dijit.ProgressBar";s:4:"type";s:8:"Function";s:6:"source";s:83:"		// summary:
		//		Callback fired when progress updates.
		// tags:
		//		progress";s:7:"summary";s:37:"Callback fired when progress updates.";s:4:"tags";s:8:"progress";}s:44:"dijit.ProgressBar.label.firstChild.nodeValue";a:2:{s:8:"instance";s:17:"dijit.ProgressBar";s:7:"summary";s:0:"";}s:4:"this";a:2:{s:6:"mixins";a:1:{s:6:"normal";a:1:{i:0;s:16:"attributes || {}";}}s:7:"summary";s:0:"";}s:5:"dijit";a:2:{s:4:"type";s:6:"Object";s:7:"summary";s:0:"";}}