diff options
Diffstat (limited to 'StoneIsland/www/js/lib/products/ProductView.js')
| -rwxr-xr-x | StoneIsland/www/js/lib/products/ProductView.js | 774 |
1 files changed, 412 insertions, 362 deletions
diff --git a/StoneIsland/www/js/lib/products/ProductView.js b/StoneIsland/www/js/lib/products/ProductView.js index d467fbdd..a6c97e6b 100755 --- a/StoneIsland/www/js/lib/products/ProductView.js +++ b/StoneIsland/www/js/lib/products/ProductView.js @@ -1,7 +1,6 @@ var ProductView = ScrollableView.extend({ - el: "#product", - + events: { "click .fit": "scroll_to_bottom", "click .notAvailableInCanada": "scroll_to_bottom", @@ -14,54 +13,61 @@ var ProductView = ScrollableView.extend({ "click .gallery-left": "gallery_left", "click .gallery-right": "gallery_right", }, - - initialize: function(){ - this.gallery = new GalleryView () - this.scroller = ScrollFactory('#product', app.iscroll_options) - - this.$productHeader = this.$(".product-header") - this.$title = this.$(".title") - this.$type = this.$(".type") - this.$price = this.$(".price") - this.$size = this.$(".size") - this.$sizeSelect = this.$(".size select") - this.$sizeLabel = this.$(".size .label") - this.$color = this.$(".color") - this.$colorSelect = this.$(".color select") - this.$colorLabel = this.$(".color .label") - this.$share = this.$(".share") - this.$body = this.$(".body") - this.$fit = this.$(".fit") - this.$fitHeader = this.$('.fitHeader') - this.$notAvailableInCanada = this.$(".notAvailableInCanada") - this.$extraMessage = this.$(".extraMessage") - this.$sizing = this.$(".sizing") - this.$style = this.$(".style") + + initialize: function () { + this.gallery = new GalleryView(); + this.scroller = ScrollFactory("#product", app.iscroll_options); + + this.$productHeader = this.$(".product-header"); + this.$title = this.$(".title"); + this.$type = this.$(".type"); + this.$price = this.$(".price"); + this.$size = this.$(".size"); + this.$sizeSelect = this.$(".size select"); + this.$sizeLabel = this.$(".size .label"); + this.$color = this.$(".color"); + this.$colorSelect = this.$(".color select"); + this.$colorLabel = this.$(".color .label"); + this.$share = this.$(".share"); + this.$body = this.$(".body"); + this.$fit = this.$(".fit"); + this.$fitHeader = this.$(".fitHeader"); + this.$notAvailableInCanada = this.$(".notAvailableInCanada"); + this.$extraMessage = this.$(".extraMessage"); + this.$sizing = this.$(".sizing"); + this.$style = this.$(".style"); }, - show: function(){ - this.showFooter() - document.body.className = "product" + show: function () { + this.showFooter(); + document.body.className = "product"; }, - - hide: function(){ - app.footer.hide() + + hide: function () { + app.footer.hide(); }, - - showFooter: function(){ - if (this.sold_out) { - console.log("FOOTER: SOLD OUT") - app.footer.show("SOLD OUT") - } - else if (this.isNotAvailable) { - console.log("FOOTER: NOT AVAILABLE") - app.footer.show("NOT AVAILABLE") - } - else { - app.footer.show("ADD TO CART", "BUY NOW") + + showFooter: function () { + var descriptions = this.details ? this.get_descriptions(this.details) : {}; + if ( + (this.sold_out || this.isNotAvailable) && + descriptions["Limited_Edition"] + ) { + // this.$extraMessage.html(stripHTML( descriptions['Limited_Edition'] )) + // this.$extraMessage.show() + console.log("FOOTER: LIMITED EDITION"); + app.footer.show(stripHTML(descriptions["Limited_Edition"])); + } else if (this.sold_out) { + console.log("FOOTER: SOLD OUT"); + app.footer.show("SOLD OUT"); + } else if (this.isNotAvailable) { + console.log("FOOTER: NOT AVAILABLE"); + app.footer.show("NOT AVAILABLE"); + } else { + app.footer.show("ADD TO CART", "BUY NOW"); } }, - + item: null, details: null, size: null, @@ -72,445 +78,489 @@ var ProductView = ScrollableView.extend({ sizes: null, colors: null, - + cache: {}, - - gallery_left: function(){ - app.product.gallery.previous() + + gallery_left: function () { + app.product.gallery.previous(); }, - gallery_right: function(){ - app.product.gallery.next() + gallery_right: function () { + app.product.gallery.next(); }, - - find: function(code, cb){ - data = app.collection.items[code] || {} + + find: function (code, cb) { + data = app.collection.items[code] || {}; if (code in this.cache) { - return cb(data, this.cache[code]) + return cb(data, this.cache[code]); } sdk.product.item({ code: code, - success: function(details){ - this.cache[code] = details - cb(data, details) - }.bind(this) - }) + success: function (details) { + this.cache[code] = details; + cb(data, details); + }.bind(this), + }); }, - load: function(code, data){ - this.gallery.reset() - this.show() + load: function (code, data) { + this.gallery.reset(); + this.show(); if (app.view && app.view.hide) { - app.view.hide() - } - app.view = this - app.header.set_back(true) - - if (! app.collection.loaded) { - this.el.className = "loading" - app.collection.afterFetchCallback = this.load.bind(this, code, data) - app.collection.fetch() - return + app.view.hide(); } - else { - app.collection.afterFetchCallback = null + app.view = this; + app.header.set_back(true); + + if (!app.collection.loaded) { + this.el.className = "loading"; + app.collection.afterFetchCallback = this.load.bind(this, code, data); + app.collection.fetch(); + return; + } else { + app.collection.afterFetchCallback = null; } - window.location.href = "#/store/" + code - + window.location.href = "#/store/" + code; + if (data) { - app.collection.items[code] = data + app.collection.items[code] = data; } - - this.el.className = "loading" - this.find(code, this.populate.bind(this)) + + this.el.className = "loading"; + this.find(code, this.populate.bind(this)); }, - populate: function(data, details){ - this.el.className = "" + populate: function (data, details) { + this.el.className = ""; - console.log(data, details) + console.log(data, details); - var descriptions = this.get_descriptions(details) + var descriptions = this.get_descriptions(details["Item"]); - var title = data['ModelNames'] || "" - var type = title_case( data['MicroCategory'] ) - var price = "$" + data['DiscountedPrice'] + ".00" - var details_description = descriptions['Details'] || "" - var editorial = descriptions['EditorialDescription'] || "" - var body = details_description + " " + editorial + var title = data["ModelNames"] || ""; + var type = title_case(data["MicroCategory"]); + var price = "$" + data["DiscountedPrice"] + ".00"; + var details_description = descriptions["Details"] || ""; + var editorial = descriptions["EditorialDescription"] || ""; + var body = details_description + " " + editorial; // body = body.replace(/<br>/g, "<br><br>").replace(/(<br>)+$/, "") - var default_color_id = this.populate_selectors(data, details) + var default_color_id = this.populate_selectors(data, details); - var notAvailableInCanada = !! app.store.NotAvailableInCanada - app.product.$notAvailableInCanada.toggle( notAvailableInCanada ) + var notAvailableInCanada = !!app.store.NotAvailableInCanada; + app.product.$notAvailableInCanada.toggle(notAvailableInCanada); - if (! ('Price' in details['Item'])) { - console.log("NO PRICE, IS NOT AVAILABLE") - this.isNotAvailable = true - } - else { - console.log("FOUND PRICE, IS AVAILABLE") - this.isNotAvailable = false + if (!("Price" in details["Item"])) { + console.log("NO PRICE, IS NOT AVAILABLE"); + this.isNotAvailable = true; + } else { + console.log("FOUND PRICE, IS AVAILABLE"); + this.isNotAvailable = false; } + this.$extraMessage.hide(); + if (this.sold_out || this.isNotAvailable) { - this.$style.css("opacity", 0) - this.$color.html("NOT AVAILABLE") - this.$size.hide() - this.gallery.populate( data['Code8'], details['Item']['ImageTypes'] ) - } - else { - this.$style.css("opacity", 1) + this.$style.css("opacity", 0); + this.$color.html("NOT AVAILABLE"); + this.$size.hide(); + this.gallery.populate(data["Code8"], details["Item"]["ImageTypes"]); + } else { + this.$style.css("opacity", 1); - var color = this.colors[default_color_id] - var color_label = color.label - var sizes = this.find_sizes_for_color(default_color_id) - var size = sizes[0] - var size_label = this.sizes[size].label + var color = this.colors[default_color_id]; + var color_label = color.label; + var sizes = this.find_sizes_for_color(default_color_id); + var size = sizes[0]; + var size_label = this.sizes[size].label; - this.gallery.populate( color.code, details['Item']['ImageTypes'] ) + this.gallery.populate(color.code, details["Item"]["ImageTypes"]); - this.color = color - this.size = size + this.color = color; + this.size = size; - this.is_onesize = !! this.sizes[1] - this.set_size_label(size_label) - this.set_color_label(color_label) + this.is_onesize = !!this.sizes[1]; + this.set_size_label(size_label); + this.set_color_label(color_label); } - + // console.log(color, color_label, size, size_label) - this.item = data - this.details = details['Item'] - this.code = data['DefaultCode10'] - - console.log( data['DefaultCode10'] ) + this.item = data; + this.details = details["Item"]; + this.code = data["DefaultCode10"]; + + console.log(data["DefaultCode10"]); // title += "<br>EXTREME COMPACTING ON NYLON BASE<br>LIMITED EDITION - NUMBERED 01 TO 100" - if (title.indexOf('<br>') !== -1) { - var title_lines = title.split('<br>').map(function(s){ - if (s.indexOf("LIMITED EDITION") !== -1) { - return "<span class='red'>" + s + "</span>" - } - return s - }.bind(this)) - title = title_lines.join('<br><br>') + '<br>' + if (title.indexOf("<br>") !== -1) { + var title_lines = title.split("<br>").map( + function (s) { + if (s.indexOf("LIMITED EDITION") !== -1) { + return "<span class='red'>" + s + "</span>"; + } + return s; + }.bind(this) + ); + title = title_lines.join("<br><br>") + "<br>"; } - this.$title.html(title) - this.$type.html(type) - this.$price.html(price) - this.$body.html(body) - + this.$title.html(title); + this.$type.html(type); + this.$price.html(price); + this.$body.html(body); + // window.FirebasePlugin && window.FirebasePlugin.setScreenName('product:' + code) - - this.$productHeader.toggleClass("wide", title.length > 48) - var fits_large = !!(this.fitLargeCodes[this.code]) + this.$productHeader.toggleClass("wide", title.length > 48); + + var fits_large = !!this.fitLargeCodes[this.code]; - this.showFooter() + this.showFooter(); - console.log(app.store.FitsLarge, app.store.fitsLargeText) + console.log(app.store.FitsLarge, app.store.fitsLargeText); if (fits_large) { - if (app.store.FitsLarge === 'use_alt_text' && (app.store.FitsLargeText || "").length) { - var fit_lines = app.store.FitsLargeText.replace(/</g, "<").replace(/>/g, "&rt;").split('\n').join("<br>") - this.$fitHeader.html(fit_lines) - this.$fitHeader.show() - } - else { - this.$fitHeader.hide() + if ( + app.store.FitsLarge === "use_alt_text" && + (app.store.FitsLargeText || "").length + ) { + var fit_lines = app.store.FitsLargeText.replace(/</g, "<") + .replace(/>/g, "&rt;") + .split("\n") + .join("<br>"); + this.$fitHeader.html(fit_lines); + this.$fitHeader.show(); + } else { + this.$fitHeader.hide(); } - this.$fit.show() + this.$fit.show(); - if (app.store.SizingFooter === 'use_alt_text' && (app.store.SizingFooterText || "").length) { - var sizing_lines = app.store.SizingFooterText.replace(/</g, "<").replace(/>/g, "&rt;").split('\n').join("<br>") - this.$sizing.html(sizing_lines) - this.$sizing.show() - } else if (app.store.SizingFooter === 'true') { - this.$sizing.show() + if ( + app.store.SizingFooter === "use_alt_text" && + (app.store.SizingFooterText || "").length + ) { + var sizing_lines = app.store.SizingFooterText.replace(/</g, "<") + .replace(/>/g, "&rt;") + .split("\n") + .join("<br>"); + this.$sizing.html(sizing_lines); + this.$sizing.show(); + } else if (app.store.SizingFooter === "true") { + this.$sizing.show(); } } else { - this.$fitHeader.hide() - this.$fit.hide() - this.$sizing.hide() - } - - this.$extraMessage.hide() - if (descriptions['Limited_Edition']) { - this.$extraMessage.html(stripHTML( descriptions['Limited_Edition'] )) - this.$extraMessage.show() - app.footer.show(stripHTML( descriptions['Limited_Edition'] )) + this.$fitHeader.hide(); + this.$fit.hide(); + this.$sizing.hide(); } - this.populate_sizes() - this.populate_colors() + this.populate_sizes(); + this.populate_colors(); - this.deferScrollToTop() + this.deferScrollToTop(); }, - get_descriptions: function (details){ - var descriptions = {} - details['Item']['Descriptions'].forEach(function(pair){ - descriptions[pair.Key] = pair.Value - }) - return descriptions + get_descriptions: function (details) { + var descriptions = {}; + (details["Descriptions"] || []).forEach(function (pair) { + descriptions[pair.Key] = pair.Value; + }); + return descriptions; }, - find_sizes_for_color: function(color_id){ - return Object.keys( this.colors[color_id].sizes ).sort(function(a,b){ - var ao = SIZE_ORDER[ a.label ], bo = SIZE_ORDER[ b.label ] - return ao<bo?-1:ao==bo?0:1 - }) + find_sizes_for_color: function (color_id) { + return Object.keys(this.colors[color_id].sizes).sort(function (a, b) { + var ao = SIZE_ORDER[a.label], + bo = SIZE_ORDER[b.label]; + return ao < bo ? -1 : ao == bo ? 0 : 1; + }); }, - find_colors_for_size: function(size_id){ - return Object.keys( this.sizes[size_id].colors ) + find_colors_for_size: function (size_id) { + return Object.keys(this.sizes[size_id].colors); }, - - populate_selectors: function(data, details){ - var sizes = {}, colors = {}, size_lookup = {}, default_color - var modelColors = details['Item']['ModelColors'] || [] - console.log('colors:', modelColors.length || "none") + populate_selectors: function (data, details) { + var sizes = {}, + colors = {}, + size_lookup = {}, + default_color; - if (! modelColors.length) { - this.sold_out = true - return - } - else { - this.sold_out = false + var modelColors = details["Item"]["ModelColors"] || []; + console.log("colors:", modelColors.length || "none"); + + if (!modelColors.length) { + this.sold_out = true; + return; + } else { + this.sold_out = false; } - - modelColors.forEach(function(color, index){ - if (! default_color || color['Code10'] == data['DefaultCode10']) { - default_color = color['ColorId'] + + modelColors.forEach(function (color, index) { + if (!default_color || color["Code10"] == data["DefaultCode10"]) { + default_color = color["ColorId"]; } - colors[ color['ColorId'] ] = { - id: color['Code10'], - code: color['Code10'], - label: color['ColorDescription'].toUpperCase(), + colors[color["ColorId"]] = { + id: color["Code10"], + code: color["Code10"], + label: color["ColorDescription"].toUpperCase(), sizes: {}, - } - }) + }; + }); - details['Item']['ModelSizes'].forEach(function(size){ - var label = "" - if (details['Item']['SizeTypeId'] == 412) { // shoes - label = size['Default']['Text'] + " " + size['Default']['ClassFamily'] - console.log("shoes?", label) - } - else { // everything else - label = SIZE_LOOKUP[ size['Default']['Text'] ] + details["Item"]["ModelSizes"].forEach(function (size) { + var label = ""; + if (details["Item"]["SizeTypeId"] == 412) { + // shoes + label = size["Default"]["Text"] + " " + size["Default"]["ClassFamily"]; + console.log("shoes?", label); + } else { + // everything else + label = SIZE_LOOKUP[size["Default"]["Text"]]; } - if (! label) { - label = size['Default']['Text'] - if (size['Default']['Labeled']) { - label += " " + size['Default']['ClassFamily'] + if (!label) { + label = size["Default"]["Text"]; + if (size["Default"]["Labeled"]) { + label += " " + size["Default"]["ClassFamily"]; } } - console.log(size) - size_lookup[ label ] = size['SizeId'] - console.log( label ) - sizes[ size['SizeId'] ] = { + console.log(size); + size_lookup[label] = size["SizeId"]; + console.log(label); + sizes[size["SizeId"]] = { id: label, label: label.toUpperCase(), - value: size['SizeId'], + value: size["SizeId"], colors: {}, - } - }) - details['Item']['ModelColorSize'].forEach(function(cs){ - colors[ cs['IdColor'] ].sizes[ cs['IdSize'] ] = true - sizes[ cs['IdSize'] ].colors[ cs['IdColor'] ] = true - }) - - this.sizes = sizes - this.colors = colors + }; + }); + details["Item"]["ModelColorSize"].forEach(function (cs) { + colors[cs["IdColor"]].sizes[cs["IdSize"]] = true; + sizes[cs["IdSize"]].colors[cs["IdColor"]] = true; + }); + + this.sizes = sizes; + this.colors = colors; // console.log('populated colors', sizes, colors, default_color) - return default_color + return default_color; }, - populate_sizes: function() { - console.log(this.sold_out, this.notAvailable, this.is_onesize, this.item) - if (this.sold_out) { return } - if (this.notAvailable) { return } + populate_sizes: function () { + console.log(this.sold_out, this.notAvailable, this.is_onesize, this.item); + if (this.sold_out) { + return; + } + if (this.notAvailable) { + return; + } // if (this.is_onesize) { return this.select_color() } - if (this.details['ModelSizes'].length == 0) { return } + if (this.details["ModelSizes"].length == 0) { + return; + } - this.$sizeSelect.empty() - var sizes = Object.keys(this.sizes).forEach(function(key){ - var size = this.sizes[key] - var option = document.createElement('option') - option.value = size.value - option.innerHTML = size.label - if (this.size && size.id === this.size.id) { - option.selected = true - } - this.$sizeSelect.append(option) - }.bind(this)) + this.$sizeSelect.empty(); + var sizes = Object.keys(this.sizes).forEach( + function (key) { + var size = this.sizes[key]; + var option = document.createElement("option"); + option.value = size.value; + option.innerHTML = size.label; + if (this.size && size.id === this.size.id) { + option.selected = true; + } + this.$sizeSelect.append(option); + }.bind(this) + ); }, - populate_colors: function() { - if (this.sold_out) { return } - if (this.notAvailable) { return } - if (this.details['ModelColors'].length == 0) { return } - console.log('populate colors', this.color) + populate_colors: function () { + if (this.sold_out) { + return; + } + if (this.notAvailable) { + return; + } + if (this.details["ModelColors"].length == 0) { + return; + } + console.log("populate colors", this.color); - this.$colorSelect.empty() - Object.keys(this.colors).forEach(function(key){ - var color = this.colors[key] - console.log(color) - var option = document.createElement('option') - option.value = key - option.innerHTML = color.label - if (this.color && color.id === this.color.id) { - option.selected = true - } - this.$colorSelect.append(option) - }.bind(this)) + this.$colorSelect.empty(); + Object.keys(this.colors).forEach( + function (key) { + var color = this.colors[key]; + console.log(color); + var option = document.createElement("option"); + option.value = key; + option.innerHTML = color.label; + if (this.color && color.id === this.color.id) { + option.selected = true; + } + this.$colorSelect.append(option); + }.bind(this) + ); }, - select_size: function(){ - console.log(this.colors) - var value = this.$sizeSelect.val() - var size = this.sizes[value] - console.log('size', size) - this.set_size_label(size.label) - this.size = size.value + select_size: function () { + console.log(this.colors); + var value = this.$sizeSelect.val(); + var size = this.sizes[value]; + console.log("size", size); + this.set_size_label(size.label); + this.size = size.value; }, - - select_color: function(){ - var value = this.$colorSelect.val() - var color = this.colors[value] - console.log('color', color) - this.code = color.code - this.set_color_label(color.label) - this.gallery.populate( color.code, this.details['ImageTypes'] ) - this.gallery_right() + + select_color: function () { + var value = this.$colorSelect.val(); + var color = this.colors[value]; + console.log("color", color); + this.code = color.code; + this.set_color_label(color.label); + this.gallery.populate(color.code, this.details["ImageTypes"]); + this.gallery_right(); }, - set_size_label: function(size_label){ - this.$size.show() - this.$sizeLabel.html(size_label) - this.$size.attr('aria-label', 'Tap to select size. Current size: ' + size_label) + set_size_label: function (size_label) { + this.$size.show(); + this.$sizeLabel.html(size_label); + this.$size.attr( + "aria-label", + "Tap to select size. Current size: " + size_label + ); }, - set_color_label: function(color_label){ + set_color_label: function (color_label) { if (color_label) { - this.$color.show() - this.$colorLabel.html(color_label) - this.$color.attr('aria-label', 'Tap to select color. Current color: ' + color_label) - } - else { - this.$color.hide() + this.$color.show(); + this.$colorLabel.html(color_label); + this.$color.attr( + "aria-label", + "Tap to select color. Current color: " + color_label + ); + } else { + this.$color.hide(); } }, // ADD TO CART - save: function(){ - if (this.sold_out) { return } - if (this.notAvailable) { return } - this.add_to_cart({ route: false }) + save: function () { + if (this.sold_out) { + return; + } + if (this.notAvailable) { + return; + } + this.add_to_cart({ route: false }); }, // BUY NOW - cancel: function(){ - if (this.sold_out) { return } - if (this.notAvailable) { return } - this.add_to_cart({ route: true }) + cancel: function () { + if (this.sold_out) { + return; + } + if (this.notAvailable) { + return; + } + this.add_to_cart({ route: true }); }, - - add_to_cart: function(opt){ - var deferred_product = auth.deferred_product = { Size: this.size, Code10: this.code } - console.log("ADDING " + this.size + " " + this.code ) + + add_to_cart: function (opt) { + var deferred_product = (auth.deferred_product = { + Size: this.size, + Code10: this.code, + }); + console.log("ADDING " + this.size + " " + this.code); // if we are not logged in... - if ( ! auth.logged_in() ) { - app.router.go("account/login") - app.last_view = app.cart + if (!auth.logged_in()) { + app.router.go("account/login"); + app.last_view = app.cart; } // if we don't have a cart setup... - else if ( ! auth.has_cart() ) { - this.create_cart_and_add_product() - } - else { - app.curtain.show("loading") + else if (!auth.has_cart()) { + this.create_cart_and_add_product(); + } else { + app.curtain.show("loading"); auth.add_deferred_product_to_cart({ - success: function(){ - app.curtain.hide("loading") + success: function () { if (opt.route) { - app.router.go("cart") + app.router.go("cart"); + } else { + app.curtain.hide("loading"); } }, - error: function(err){ - console.log("CART MIGHT BE OLD") - this.create_cart_and_add_product() + error: function (err) { + console.log("CART MIGHT BE OLD"); + this.create_cart_and_add_product(); // console.log(err) - // + // // // TODO - CART MIGHT BE OLD // app.curtain.hide("loading") // app.router.go("account/login") // auth.deferred_product = deferred_product // app.last_view = app.cart }.bind(this), - }) + }); } }, - - create_cart_and_add_product: function() { - app.curtain.show("loading") + + create_cart_and_add_product: function () { + app.curtain.show("loading"); auth.create_cart({ - success: function(){ + success: function () { auth.add_deferred_product_to_cart({ - success: function(){ - app.curtain.hide("loading") - app.router.go("cart") + success: function () { + // app.curtain.hide("loading") + app.router.go("cart"); }, - error: function(){ + error: function () { // SHOULD NOT BE A PROBLEM - console.log("ERROR ADDING PRODUCT TO NEW CART SIMPLE ADD TO CART") - app.curtain.hide("loading") - app.router.go("account/login") - auth.deferred_product = deferred_product - app.last_view = app.cart + console.log("ERROR ADDING PRODUCT TO NEW CART SIMPLE ADD TO CART"); + app.curtain.hide("loading"); + app.router.go("account/login"); + auth.deferred_product = deferred_product; + app.last_view = app.cart; }, - }) + }); }, - error: function(){ + error: function () { // ERROR CREATING CART? - console.log("ERROR CREATING CART") - auth.log_out() - app.account.logged_out() - app.curtain.hide("loading") - app.router.go("account/login") - auth.deferred_product = deferred_product - app.last_view = app.cart + console.log("ERROR CREATING CART"); + auth.log_out(); + app.account.logged_out(); + app.curtain.hide("loading"); + app.router.go("account/login"); + auth.deferred_product = deferred_product; + app.last_view = app.cart; }, - }) - }, - - back: function(){ - app.router.go('store') + }); }, - - scroll_to_bottom: function(){ + + back: function () { + app.router.go("store"); }, - - share: function(){ - if (window.plugins && 'socialsharing' in window.plugins) { - window.plugins.socialsharing.share( this.item['ModelNames'], null, null, "http://deeplink.me/www.stoneisland.com/store/" + this.code) + + scroll_to_bottom: function () {}, + + share: function () { + if (window.plugins && "socialsharing" in window.plugins) { + window.plugins.socialsharing.share( + this.item["ModelNames"], + null, + null, + "http://deeplink.me/www.stoneisland.com/store/" + this.code + ); } }, - -}) +}); var SIZE_LOOKUP = { - "XS": "X-SMALL", - "S": "SMALL", - "M": "MEDIUM", - "L": "LARGE", - "XL": "X-LARGE", - "XXL": "XX-LARGE", + XS: "X-SMALL", + S: "SMALL", + M: "MEDIUM", + L: "LARGE", + XL: "X-LARGE", + XXL: "XX-LARGE", "3XL": "3X-LARGE", - "OneSize": "ONESIZE", -} + OneSize: "ONESIZE", +}; -var SIZE_ORDER = "XS S M L XL XXL 3XL".split(" ") +var SIZE_ORDER = "XS S M L XL XXL 3XL".split(" "); /* { |
