diff options
Diffstat (limited to 'StoneIsland/platforms/ios/www/js/lib')
4 files changed, 96 insertions, 8 deletions
diff --git a/StoneIsland/platforms/ios/www/js/lib/account/SettingsView.js b/StoneIsland/platforms/ios/www/js/lib/account/SettingsView.js index 0de80048..0d6fa807 100755 --- a/StoneIsland/platforms/ios/www/js/lib/account/SettingsView.js +++ b/StoneIsland/platforms/ios/www/js/lib/account/SettingsView.js @@ -3,22 +3,38 @@ var SettingsView = FormView.extend({ el: "#settings", events: { + "change [name=store]": "changeStore", + "change [name=hub]": "changeHub", }, initialize: function(){ this.$form = this.$("form") this.$msg = this.$(".msg") + this.$store = this.$("[name=store]") + this.$hub = this.$("[name=hub]") this.scroller = new IScroll('#settings', app.iscroll_options) }, show: function(){ if (! auth.logged_in()) { return app.router.go("intro") } - app.footer.show("SAVE") document.body.className = "settings" this.deferScrollToTop() + + this.$store.prop("checked", !! push.settings.store) + this.$hub.prop("checked", !! push.settings.hub) + // push.subscribe("store") + // push.subscribe("hub") }, - - save: function(){ + + changeStore: function(){ + var state = app.settings.$store.prop("checked") + if (state) { push.subscribe("store") } + else { push.unsubscribe('store') } + }, + changeHub: function(){ + var state = app.settings.$hub.prop("checked") + if (state) { push.subscribe("hub") } + else { push.unsubscribe('hub') } }, })
\ No newline at end of file diff --git a/StoneIsland/platforms/ios/www/js/lib/blogs/BlogView.js b/StoneIsland/platforms/ios/www/js/lib/blogs/BlogView.js index 9b49abbd..51881aa5 100755 --- a/StoneIsland/platforms/ios/www/js/lib/blogs/BlogView.js +++ b/StoneIsland/platforms/ios/www/js/lib/blogs/BlogView.js @@ -27,13 +27,17 @@ var BlogView = View.extend({ app.archive.populate(data.archive) this.loader.preloadImage(data.hub[0].image[0].uri, function(img){ app.hub.populate(data.hub) - }) + }.bind(this)) this.loader.preloadImage(data.story[0].image.uri, function(img){ app.story.populate(data.story) - }) + setTimeout(function(){ + this.loader.preloadImage(data.story[1].image.uri) + this.loader.preloadImage(data.story[2].image.uri) + }.bind(this), 2000) + }.bind(this)) + data.page.forEach(function(page){ app[page.tag].populate(page) - }) app.collection.setCollectionName( data.store[0].collection ) diff --git a/StoneIsland/platforms/ios/www/js/lib/etc/push.js b/StoneIsland/platforms/ios/www/js/lib/etc/push.js index ab0c0141..eb0dd4c3 100755 --- a/StoneIsland/platforms/ios/www/js/lib/etc/push.js +++ b/StoneIsland/platforms/ios/www/js/lib/etc/push.js @@ -1 +1,69 @@ -//
\ No newline at end of file +var push = (function(){ + var appId + var clientKey + var push = { settings: {} } + push.init = function(){ + parsePlugin.initialize(appId, clientKey, push.did_initialize, push.error) + } + push.did_initialize = function() { + parsePlugin.registerCallback('onNotification', function(){ + window.onNotification = push.got_push_notification + }, push.error) + + push.settings.requested = localStorage.getItem("yoox.push_requested") == "true" + push.settings.hub = localStorage.getItem("yoox.push_hub") == "true" + push.settings.store = localStorage.getItem("yoox.push_store") == "true" + + if ( ! push.settings.requested ) { + localStorage.setItem("yoox.push_" + channel, "true") + push.subscribe("hub", function(){ + push.subscribe("store") + }) + } + } + push.subscribe = function(channel, cb){ + parsePlugin.subscribe(channel, function(){ + push.settings[channel] = true + localStorage.setItem("yoox.push_" + channel, "true") + cb && cb() + }, push.error) + } + push.unsubscribe = function(channel, cb){ + parsePlugin.unsubscribe(channel, function(){ + push.settings[channel] = false + localStorage.setItem("yoox.push_" + channel, "false") + cb && cb() + }, push.error) + } + push.did_subscribe = function(){ + // parsePlugin.getInstallationId(function(id) { + // var install_data = { + // installation_id: id, + // channels: ['SampleChannel'] + // } + // }, push.error) + } + push.did_unsubscribe = function(){ + // parsePlugin.getInstallationId(function(id) { + // var install_data = { + // installation_id: id, + // channels: ['SampleChannel'] + // } + // }, push.error) + } + push.got_push_notification = function(pnObj) { + alert('We received this push notification: ' + JSON.stringify(pnObj)); + app.collection.loaded = false + app.hub.loaded = false + if (pnObj.receivedInForeground === false) { + // TODO: route the user to the uri in pnObj + } + else { + app.route("intro") + } + } + push.error = function(e){ + console.log("push error") + } + return push +})()
\ No newline at end of file diff --git a/StoneIsland/platforms/ios/www/js/lib/products/CollectionView.js b/StoneIsland/platforms/ios/www/js/lib/products/CollectionView.js index 798920d1..7a020798 100755 --- a/StoneIsland/platforms/ios/www/js/lib/products/CollectionView.js +++ b/StoneIsland/platforms/ios/www/js/lib/products/CollectionView.js @@ -49,7 +49,7 @@ var CollectionView = ScrollableView.extend({ return } this.$loader.show() - sdk.product.all({ + sdk.product.collection({ gallery_id: app.gallery_id, success: this.populate.bind(this) }) |
