123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114 |
- /*
- * Ext JS Library 2.0 Copyright(c) 2006-2007, Ext JS, LLC. licensing@extjs.com
- *
- * http://extjs.com/license
- */
- Ext.onReady(function() {
- // ==== Progress bar 1 ====
- var pbar1 = new Ext.ProgressBar({
- text : 'Initializing...'
- });
- var btn1 = Ext.get('btn1');
- btn1.on('click', function() {
- Ext.fly('p1text').update('Working');
- if (!pbar1.rendered) {
- pbar1.render('p1');
- } else {
- pbar1.text = 'Initializing...';
- pbar1.show();
- }
- Runner.run(pbar1, Ext.get('btn1'), 10, function() {
- pbar1.reset(true);
- Ext.fly('p1text').update('Done.').show();
- });
- });
- // ==== Progress bar 2 ====
- var pbar2 = new Ext.ProgressBar({
- text : 'Ready',
- id : 'pbar2',
- cls : 'left-align',
- renderTo : 'p2'
- });
- var btn2 = Ext.get('btn2');
- btn2.on('click', function() {
- Runner.run(pbar2, btn2, 12, function() {
- pbar2.reset();
- pbar2.updateText('Done.');
- });
- });
- // ==== Progress bar 3 ====
- var pbar3 = new Ext.ProgressBar({
- id : 'pbar3',
- width : 300,
- renderTo : 'p3'
- });
- pbar3.on('update', function(val) {
- // You can handle this event at each progress interval
- // if
- // needed to perform some other action
- Ext.fly('p3text').dom.innerHTML += '.';
- });
- var btn3 = Ext.get('btn3');
- btn3.on('click', function() {
- Ext.fly('p3text').update('Working');
- btn3.dom.disabled = true;
- pbar3.wait({
- interval : 200,
- duration : 5000,
- increment : 15,
- fn : function() {
- btn3.dom.disabled = false;
- Ext.fly('p3text').update('Done');
- }
- });
- });
- // ==== Progress bar 4 ====
- var pbar4 = new Ext.ProgressBar({
- text : 'Waiting on you...',
- id : 'pbar4',
- textEl : 'p4text',
- cls : 'custom',
- renderTo : 'p4'
- });
- var btn4 = Ext.get('btn4');
- btn4.on('click', function() {
- Runner.run(pbar4, btn4, 19, function() {
- pbar4.updateText('All finished!');
- });
- });
- });
- // Please do not use the following code as a best practice! :)
- var Runner = function() {
- var f = function(v, pbar, btn, count, cb) {
- return function() {
- if (v > count) {
- btn.dom.disabled = false;
- cb();
- } else {
- if (pbar.id == 'pbar4') {
- // give this one a different count style for fun
- var i = v / count;
- pbar.updateProgress(i, Math.round(100 * i)
- + '% completed...');
- } else {
- pbar.updateProgress(v / count, 'Loading item ' + v + ' of '
- + count + '...');
- }
- }
- };
- };
- return {
- run : function(pbar, btn, count, cb) {
- btn.dom.disabled = true;
- var ms = 5000 / count;
- for (var i = 1; i < (count + 2); i++) {
- setTimeout(f(i, pbar, btn, count, cb), i * ms);
- }
- }
- }
- }();
|