0byt3m1n1
Path:
/
data
/
applications
/
aps.bak
/
phprojekt
/
6.0.6-0
/
standard
/
htdocs
/
htdocs
/
dojo
/
dijit
/
[
Home
]
File: ProgressBar.js
/* Copyright (c) 2004-2010, The Dojo Foundation All Rights Reserved. Available via Academic Free License >= 2.1 OR the modified BSD license. see: http://dojotoolkit.org/license for details */ if(!dojo._hasResource["dijit.ProgressBar"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code. dojo._hasResource["dijit.ProgressBar"] = true; 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, // name: String // this is the field name (for a form) if set. This needs to be set if you want to use // this widget in a dijit.form.Form widget (such as dijit.Dialog) name: '', templateString: dojo.cache("dijit", "templates/ProgressBar.html", "<div class=\"dijitProgressBar dijitProgressBarEmpty\"\r\n\t><div waiRole=\"progressbar\" dojoAttachPoint=\"internalProgress\" class=\"dijitProgressBarFull\"\r\n\t\t><div class=\"dijitProgressBarTile\"></div\r\n\t\t><span style=\"visibility:hidden\"> </span\r\n\t></div\r\n\t><div dojoAttachPoint=\"label\" class=\"dijitProgressBarLabel\" id=\"${id}_label\"> </div\r\n\t><img dojoAttachPoint=\"indeterminateHighContrastImage\" class=\"dijitProgressBarIndeterminateHighContrastImage\" alt=\"\"\r\n/></div>\r\n"), // _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.toString()); 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 set() 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(); }, _setValueAttr: function(v){ if(v == Infinity){ this.update({indeterminate:true}); }else{ this.update({indeterminate:false, progress:v}); } }, _getValueAttr: function(){ return this.progress; }, report: function(/*float*/percent){ // summary: // Generates message to show inside progress bar (normally indicating amount of task completed). // May be overridden. // tags: // extension return dojo.number.format(percent, { type: "percent", places: this.places, locale: this.lang }); }, onChange: function(){ // summary: // Callback fired when progress updates. // tags: // progress } }); }