summaryrefslogtreecommitdiff
path: root/StoneIsland/www/js/lib/cart/CartShipping.js
diff options
context:
space:
mode:
Diffstat (limited to 'StoneIsland/www/js/lib/cart/CartShipping.js')
-rw-r--r--StoneIsland/www/js/lib/cart/CartShipping.js42
1 files changed, 41 insertions, 1 deletions
diff --git a/StoneIsland/www/js/lib/cart/CartShipping.js b/StoneIsland/www/js/lib/cart/CartShipping.js
index 7d7c8540..7236347f 100644
--- a/StoneIsland/www/js/lib/cart/CartShipping.js
+++ b/StoneIsland/www/js/lib/cart/CartShipping.js
@@ -2,12 +2,19 @@ var CartShipping = FormView.extend({
el: "#cart_shipping",
+ list_mode: true,
+
+ template: $("#cart_shipping .template").html(),
+
events: {
+ "click .dropdown-wrapper": "toggle_dropdown",
},
initialize: function(opt){
this.parent = opt.parent
this.$form = this.$("form")
+ this.$address_list = this.$(".address_list")
+ this.$address_form = this.$(".address")
this.$msg = this.$(".msg")
this.address = new AddressView ({ parent: this })
this.scroller = new IScroll('#cart_shipping', app.iscroll_options)
@@ -17,17 +24,50 @@ var CartShipping = FormView.extend({
document.body.className = "cart"
app.cart.el.className = "shipping"
app.footer.show("PAYMENT >", "CANCEL")
+ window.location.hash = "#/cart/shipping"
+ this.populate()
this.deferScrollToTop()
},
+ populate: function(){
+ // id checked name address city state zip
+ this.$(".save_as_default").show()
+ this.$address_list.empty()
+ if (! app.account.addresses.length) {
+ this.toggle_dropdown(true)
+ }
+ app.account.addresses.forEach(function(address){
+ var t = this.template.replace(/{{id}}/g, address.Id)
+ .replace(/{{checked}}/g, address.IsDefault ? "checked" : "")
+ .replace(/{{name}}/g, address.Name + " " + address.Surname)
+ .replace(/{{address}}/g, address.Address.replace(/\n$/,"").replace("\n", "<br>"))
+ .replace(/{{city}}/g, address.City)
+ .replace(/{{state}}/g, address.Province)
+ .replace(/{{zip}}/g, address.ZipCode)
+ this.$address_list.append(t)
+ }.bind(this))
+ },
+
+ toggle_dropdown: function(state){
+ this.list_mode = typeof state == "boolean" ? state : ! this.list_mode
+ this.$address_form.toggle(! this.list_mode)
+ this.$address_list.toggle(this.list_mode)
+ },
+
// sdk.cart.set_shipping_address
// sdk.shipping.get_delivery_types
// sdk.shipping.set_delivery_type
- save: function(){
+ finalize: function(data){
+ console.log(data)
+ return
+ },
+
+ success: function(){
},
cancel: function(){
+ app.cart.cart_summary.show()
},
}) \ No newline at end of file