Skip to content

Commit eab54a8

Browse files
committed
Progressbar Demos: Add ability to cancel download, move label outside of value bar and clean up.
1 parent 4786fe8 commit eab54a8

File tree

1 file changed

+34
-51
lines changed

1 file changed

+34
-51
lines changed

demos/progressbar/download.html

Lines changed: 34 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -8,21 +8,28 @@
88
<script src="../../ui/jquery.ui.core.js"></script>
99
<script src="../../ui/jquery.ui.widget.js"></script>
1010
<script src="../../ui/jquery.ui.progressbar.js"></script>
11+
<script src="../../ui/jquery.ui.mouse.js"></script>
12+
<script src="../../ui/jquery.ui.draggable.js"></script>
1113
<script src="../../ui/jquery.ui.button.js"></script>
1214
<script src="../../ui/jquery.ui.position.js"></script>
1315
<script src="../../ui/jquery.ui.dialog.js"></script>
1416
<link rel="stylesheet" href="../demos.css">
1517
<script>
1618
$(function() {
17-
var progressbar = $( "#progressbar" ),
19+
var progressTimer,
20+
progressbar = $( "#progressbar" ),
1821
progressLabel = $( ".progress-label" ),
22+
dialogButtons = [{
23+
text: "Cancel Download",
24+
click: closeDownload
25+
}],
1926
dialog = $( "#dialog" ).dialog({
2027
autoOpen: false,
2128
closeOnEscape: false,
22-
draggable: false,
2329
resizable: false,
30+
buttons: dialogButtons,
2431
open: function() {
25-
setTimeout( progress, 2000 );
32+
progressTimer = setTimeout( progress, 2000 );
2633
}
2734
}),
2835
downloadButton = $( "#downloadButton" )
@@ -38,73 +45,48 @@
3845
progressbar.progressbar({
3946
value: false,
4047
change: function() {
41-
progressLabel.text( progressbar.progressbar( "value" ) + "%" );
48+
progressLabel.text( "Current Progress: " + progressbar.progressbar( "value" ) + "%" );
4249
},
4350
complete: function() {
44-
progressLabel
45-
.prependTo( "#progressbar" )
46-
.css({
47-
"position": "absolute",
48-
"left": "50%",
49-
"float": "none",
50-
"margin-left": "-30px",
51-
"margin-right": 0
52-
})
53-
.text( "Complete!" );
54-
dialog.dialog( "option", "buttons", [
55-
{
56-
text: "Close",
57-
click: function() {
58-
dialog
59-
.dialog( "close" )
60-
.dialog( "option", "buttons", false );
61-
progressbar.progressbar( "value", false );
62-
progressLabel
63-
.text( "Starting download..." )
64-
.css( "margin-left", "-55px" );
65-
downloadButton.button( "option", {
66-
disabled: false,
67-
label: "Start Download"
68-
});
69-
}
70-
}
71-
]);
51+
progressLabel.text( "Complete!" );
52+
dialog.dialog( "option", "buttons", [{
53+
text: "Close",
54+
click: closeDownload
55+
}]);
7256
}
7357
});
7458

7559
function progress() {
7660
var val = progressbar.progressbar( "value" ) || 0;
7761

78-
if ( !val ) {
79-
progressLabel
80-
.appendTo( ".ui-progressbar-value" )
81-
.css({
82-
"position": "relative",
83-
"left": "auto",
84-
"float": "right",
85-
"margin-left": 0,
86-
"margin-right": 5
87-
});
88-
}
89-
9062
progressbar.progressbar( "value", val + Math.floor( Math.random() * 3 ) );
9163

9264
if ( val < 99 ) {
93-
setTimeout( progress, 100 );
65+
progressTimer = setTimeout( progress, 100 );
9466
}
9567
}
68+
69+
function closeDownload() {
70+
clearTimeout( progressTimer );
71+
dialog
72+
.dialog( "option", "buttons", dialogButtons )
73+
.dialog( "close" );
74+
progressbar.progressbar( "value", false );
75+
progressLabel
76+
.text( "Starting download..." );
77+
downloadButton.button( "option", {
78+
disabled: false,
79+
label: "Start Download"
80+
});
81+
}
9682
});
9783
</script>
9884
<style>
9985
#progressbar {
100-
margin-top: 30px;
86+
margin-top: 20px;
10187
}
10288

10389
.progress-label {
104-
position: absolute;
105-
left: 50%;
106-
margin-left: -55px;
107-
margin-top: 5px;
10890
font-weight: bold;
10991
text-shadow: 1px 1px 0 #fff;
11092
}
@@ -117,7 +99,8 @@
11799
<body>
118100

119101
<div id="dialog" title="File Download">
120-
<div id="progressbar"><div class="progress-label">Starting download...</div></div>
102+
<div class="progress-label">Starting download...</div>
103+
<div id="progressbar"></div>
121104
</div>
122105
<button id="downloadButton">Start Download</button>
123106

0 commit comments

Comments
 (0)