summaryrefslogtreecommitdiff
path: root/StoneIsland/www/js/lib
diff options
context:
space:
mode:
Diffstat (limited to 'StoneIsland/www/js/lib')
-rwxr-xr-xStoneIsland/www/js/lib/blogs/HubView.js10
-rw-r--r--StoneIsland/www/js/lib/etc/sim.js19
-rwxr-xr-xStoneIsland/www/js/lib/nav/AddressView.js7
3 files changed, 28 insertions, 8 deletions
diff --git a/StoneIsland/www/js/lib/blogs/HubView.js b/StoneIsland/www/js/lib/blogs/HubView.js
index 38a7eecf..d2d26787 100755
--- a/StoneIsland/www/js/lib/blogs/HubView.js
+++ b/StoneIsland/www/js/lib/blogs/HubView.js
@@ -22,6 +22,7 @@ var HubView = ScrollableView.extend({
this.deferScrollToTop()
app.footer.hide()
document.body.className = "hub"
+ HubLoader.isNeeded()
if (! this.populated) {
this.populate( BACKUP_DB.hub )
}
@@ -143,12 +144,13 @@ var HubLoader = (function(){
var count = 0
var HubLoader = {}
var loader
+ var needed = false
HubLoader.init = function(v){
view = v
}
HubLoader.add = function(items){
queue = items
- this.load()
+ HubLoader.load()
}
HubLoader.load = function(){
item = queue.shift()
@@ -167,10 +169,14 @@ var HubLoader = (function(){
HubLoader.build()
}
}
+ HubLoader.isNeeded = function(){
+ needed = true
+ }
HubLoader.build = function(){
view.append(item)
view.scroller.refresh()
- setTimeout(HubLoader.load, count < 4 ? 50 : 5000)
+ if (count === 3 && ! needed) return
+ setTimeout(HubLoader.load, count < 3 ? 1000 : 30000)
}
return HubLoader
})()
diff --git a/StoneIsland/www/js/lib/etc/sim.js b/StoneIsland/www/js/lib/etc/sim.js
index c9cb77fe..ca01ddc7 100644
--- a/StoneIsland/www/js/lib/etc/sim.js
+++ b/StoneIsland/www/js/lib/etc/sim.js
@@ -18,11 +18,13 @@ var sim = (function(){
sim.success = function(data){
console.log(data)
- sim.data = data
- sim.data.countryCode = sim.data.countryCode.toLowerCase()
- // app is only available in US or Canada, so call the US API regardless
- if (sim.data.countryCode !== 'ca') {
- sim.data.countryCode = 'us'
+ if (sim.data.countryCode) {
+ sim.data = data
+ sim.data.countryCode = sim.data.countryCode.toLowerCase()
+ // app is only available in US or Canada, so call the US API regardless
+ if (sim.data.countryCode !== 'ca') {
+ sim.data.countryCode = 'us'
+ }
}
sim.loaded = true
sim.afterFetch()
@@ -30,7 +32,12 @@ var sim = (function(){
sim.error = function(){
console.log("no SIM card detected")
- sim.afterFetch()
+ $.ajax({
+ url: "http://ip-api.com/json/",
+ jsonp: "callback",
+ dataType: "jsonp",
+ success: sim.success,
+ })
}
return sim
diff --git a/StoneIsland/www/js/lib/nav/AddressView.js b/StoneIsland/www/js/lib/nav/AddressView.js
index 4a05c4b6..fd7df218 100755
--- a/StoneIsland/www/js/lib/nav/AddressView.js
+++ b/StoneIsland/www/js/lib/nav/AddressView.js
@@ -2,6 +2,8 @@
var AddressView = SerializableView.extend({
template: $("#address_template").html(),
+ us_states: $("#us_states").html(),
+ ca_states: $("#ca_states").html(),
disabled: false,
@@ -18,6 +20,11 @@ var AddressView = SerializableView.extend({
},
populate: function(data){
+ this.$("[name=Province]").empty()
+ this.$("[name=Province]").append(this.us_states)
+ if (! app.store.notAvailableInCanada) {
+ this.$("[name=Province]").append(this.ca_states)
+ }
this.data = data
var address = data.Address.split("\n")
data.Address1 = address[0]