diff options
Diffstat (limited to 'StoneIsland/www/js/lib')
| -rwxr-xr-x | StoneIsland/www/js/lib/blogs/HubView.js | 10 | ||||
| -rw-r--r-- | StoneIsland/www/js/lib/etc/sim.js | 19 | ||||
| -rwxr-xr-x | StoneIsland/www/js/lib/nav/AddressView.js | 7 |
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] |
