]> git.evergreen-ils.org Git - working/Evergreen.git/blob - Open-ILS/web/js/dojo/openils/widget/ProgressDialog.js
added option for displaying a message inside the progressdialog
[working/Evergreen.git] / Open-ILS / web / js / dojo / openils / widget / ProgressDialog.js
1 if(!dojo._hasResource['openils.widget.ProgressDialog']) {
2     dojo.provide('openils.widget.ProgressDialog');
3     dojo.require('dijit.ProgressBar');
4     dojo.require('dijit.Dialog');
5     dojo.require('openils.Util');
6
7     /**
8      * A popup dialog with an embedded progress bar.  imagine that.
9      */
10
11     dojo.declare(
12         'openils.widget.ProgressDialog',
13         [dijit.Dialog],
14         {
15             indeterminate : false,
16
17             startup : function() {
18                 this.inherited(arguments);
19                 this.progress = new dijit.ProgressBar();
20                 this.progress.startup();
21                 openils.Util.addCSSClass(this.progress.domNode, 'oils-progress-dialog');
22                 this.containerNode.appendChild(this.progress.domNode);
23             },
24
25             update : function() {
26                 this.progress.update.apply(this.progress, arguments);
27             },
28
29             show : function(ind, msg) {
30                 if(ind || this.indeterminate) {
31                     this.progress.indeterminate = true;
32                     this.update();
33                 } else {
34                     this.progress.indeterminate = false;
35                 }
36
37                 if(msg) {
38                     if(!this.msgDiv) {
39                         this.msgDiv = dojo.create('div', {innerHTML : msg});
40                     }
41                     this.containerNode.insertBefore(this.msgDiv, this.progress.domNode);
42                 } else {
43                     if(this.msgDiv) {
44                         this.containerNode.removeChild(this.msgDiv);
45                         this.msgDiv = null;
46                     }
47                 }
48                     
49                 this.inherited(arguments);
50             },
51         }
52     );
53 }
54