forked from jquery-archive/jquery-mobile
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathapplication.js
More file actions
80 lines (78 loc) · 2.26 KB
/
application.js
File metadata and controls
80 lines (78 loc) · 2.26 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
$(function() {
var symbols = {
"USD": "$",
"EUR": "€",
"GBP": "£",
"Miles": "m",
"Kilometer": "km",
"inch": "\"",
"centimeter": "cm"
};
function list() {
var ul = $( "#conversions" ).empty(),
ulEdit = $( "#edit-conversions" ).empty();
$.each( all, function( index, conversion ) {
// if last update was less then a minute ago, don't update
if ( conversion.type === "currency" && !conversion.rate || conversion.updated && conversion.updated + 60000 < +new Date) {
var self = conversion;
var url = "http://query.yahooapis.com/v1/public/yql?q=select%20rate%2Cname%20from%20csv%20where%20url%3D'http%3A%2F%2Fdownload.finance.yahoo.com%2Fd%2Fquotes%3Fs%3D" + conversion.from + conversion.to + "%253DX%26f%3Dl1n'%20and%20columns%3D'rate%2Cname'&format=json&diagnostics=true&callback=?";
$.getJSON( url, function( result ) {
self.rate = parseFloat( result.query.results.row.rate );
$( "#term" ).keyup();
self.updated = +new Date;
conversions.store();
});
}
$( "#conversion-field" ).tmpl( conversion, {
symbols: symbols
}).appendTo( ul );
$( "#conversion-edit-field" ).tmpl( conversion, {
symbols: symbols
}).appendTo( ulEdit );
});
ul.add(ulEdit).listview("refresh");
$( "#term" ).keyup();
}
var all = conversions.all();
$( "#term" ).keyup(function() {
var value = this.value;
$.each( all, function( index, conversion ) {
$( "#" + conversion.from + conversion.to ).text( conversion.rate
? Math.ceil( value * conversion.rate * 100 ) / 100
: "Rate not available, yet."
);
});
}).focus();
list();
$( "form" ).submit(function() {
$( "#term" ).blur();
return false;
});
$( "#add" ).click(function() {
all.push({
type: "currency",
from: $( "#currency-options-from" ).val(),
to: $( "#currency-options-to" ).val()
});
conversions.store();
list();
});
$( "#clear" ).click(function() {
conversions.clear();
list();
return false;
});
$( "#restore" ).click(function() {
conversions.restore();
list();
return false;
});
$( "#edit-conversions" ).click(function( event ) {
var target = $( event.target ).closest( ".deletebutton" );
if ( target.length ) {
conversions.remove( target.prev( "label" ).attr( "for" ) );
list();
}
return false;
});
});