var BlogView = View.extend({ data: null, loaded: false, initialize: function(){ this.loader = new Loader () this.fetch() }, fetch: function(){ $.ajax({ method: "GET", // url: sdk.env == 'test' ? '/db.json' : "http://stone.sup.land/db.json", url: "http://stone.sup.land/db.json", success: this.success.bind(this), cache: true, }) }, refresh: function(){ this.loaded = false this.fetch() }, success: function(data){ if (this.loaded) return this.loaded = true this.data = data = typeof data == "string" ? JSON.parse(data) : data switch (data.store[0].StoreStatus) { case "open": app.closed.storeIsClosed = false break case "closed": app.closed.storeIsClosed = true app.closed.storeClosedMessageOne = data.store[0].StoreClosedMessageOne app.closed.storeClosedMessageTwo = data.store[0].StoreClosedMessageTwo break } if (app.closed.storeIsClosed) { app.closed.populate(data.store[0].ClosedStoreImages) } else { app.gallery_id = data.store[0].CollectionId app.department_id = data.store[0].DepartmentId app.collection.setCollectionName( data.store[0].collection ) app.collection.fetch() } 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) }) console.log(data.store[0].StoreStatus) var fits_large = (data.store[0].FitsLarge === "true") app.product.$fit.toggle( fits_large ) app.product.$sizing.toggle( fits_large ) if (data.store[0].BackgroundIsGray === "true") { app.collection.$el.addClass("gray") app.product.gallery.$el.addClass("gray") } }, })