5 Ext.onReady(function(){
6 //Please do not use the following runner code as a best practice! :)
7 var Runner = function(){
8 var f = function(v, pbar, btn, count, cb){
11 btn.dom.disabled = false;
15 //give this one a different count style for fun
17 pbar.updateProgress(i, Math.round(100*i)+'% completed...');
19 pbar.updateProgress(v/count, 'Loading item ' + v + ' of '+count+'...');
25 run : function(pbar, btn, count, cb) {
26 btn.dom.disabled = true;
28 for(var i = 1; i < (count+2); i++){
29 setTimeout(f(i, pbar, btn, count, cb), i*ms);
35 //==== Progress bar 1 ====
36 var pbar1 = Ext.create('Ext.ProgressBar', {
37 text:'Initializing...'
40 var btn1 = Ext.get('btn1');
41 btn1.on('click', function() {
42 Ext.fly('p1text').update('Working');
43 if (!pbar1.rendered) {
46 pbar1.text = 'Initializing...';
49 Runner.run(pbar1, Ext.get('btn1'), 10, function() {
51 Ext.fly('p1text').update('Done.').show();
55 //==== Progress bar 2 ====
56 var pbar2 = Ext.create('Ext.ProgressBar', {
63 var btn2 = Ext.get('btn2');
65 btn2.on('click', function() {
66 Runner.run(pbar2, btn2, 12, function() {
68 pbar2.updateText('Done.');
72 //==== Progress bar 3 ====
73 var pbar3 = Ext.create('Ext.ProgressBar', {
79 pbar3.on('update', function(val) {
80 //You can handle this event at each progress interval if
81 //needed to perform some other action
82 Ext.fly('p3text').dom.innerHTML += '.';
85 var btn3 = Ext.get('btn3');
87 btn3.on('click', function(){
88 Ext.fly('p3text').update('Working');
89 btn3.dom.disabled = true;
95 btn3.dom.disabled = false;
96 Ext.fly('p3text').update('Done');
101 //==== Progress bar 4 ====
102 var pbar4 = Ext.create('Ext.ProgressBar', {
103 text:'Waiting on you...',
110 var btn4 = Ext.get('btn4');
112 btn4.on('click', function() {
113 Runner.run(pbar4, btn4, 19, function() {
114 pbar4.updateText('All finished!');