Created
July 17, 2015 06:45
-
-
Save vgrish/2a9d69afbf973811dd94 to your computer and use it in GitHub Desktop.
совместный js для mscZone и mscDelline
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var msczone = { | |
par: {}, | |
setup: function() { | |
msczone.par.spot = '#msczone-spot'; | |
msczone.par.sity = '#msczone-city'; | |
}, | |
initialize: function() { | |
msczone.setup(); | |
// Forms listeners | |
$(document).on('change', 'select[name="options-spot"]', function() { | |
msczone.spot.change(this); | |
var $this = $('select[name="options-spot"] option:selected'); | |
var name = $this.data('name'); | |
if ($.inArray(name, ['', ' ']) > -1) { | |
$(msczone.par.sity).show(); | |
$(msczone.par.sity).find('input').val(''); | |
} else { | |
$(msczone.par.sity).hide(); | |
} | |
}); | |
$(document).on('change', '.delivery input[name="delivery"]', function() { | |
var delivery_id = $(this).val(); | |
if (delivery_id == msczoneConfig.delivery_id) { | |
msczone.spot.show(); | |
} else { | |
msczone.spot.hide(); | |
} | |
return false; | |
}); | |
$(document).ready(function() { | |
var $this = $('select[name="options-spot"] option:selected'); | |
var val = $this.val(); | |
var option = $this.find('option[value="' + val + '"]'); | |
var name = option.data('name'); | |
msczone.Send.spot('city', name); | |
msczone.Callbacks.showRequired(); | |
msczone.Callbacks.add(); | |
msczone.Callbacks.getcost(); | |
}); | |
}, | |
spot: { | |
change: function(self) { | |
var $this = $(self); | |
var val = $this.val(); | |
var option = $this.find('option[value="' + val + '"]'); | |
var name = option.data('name'); | |
if (val == 0) name = ''; | |
msczone.Send.spot('city', name); | |
}, | |
show: function() { | |
$(msczone.par.sity).hide(); | |
$(msczone.par.spot).show(); | |
}, | |
hide: function() { | |
$(msczone.par.spot).hide(); | |
$(msczone.par.sity).show(); | |
} | |
} | |
}; | |
msczone.Send = { | |
spot: function(key, val) { | |
if (typeof miniShop2 == 'undefined') { | |
return false; | |
} | |
$('#' + key).val(val); | |
var data = { | |
key: key, | |
value: val | |
}; | |
data[miniShop2.actionName] = 'order/add'; | |
miniShop2.send(data, miniShop2.Order.callbacks.add, miniShop2.Callbacks.Order.add); | |
} | |
}; | |
msczone.Callbacks = { | |
showRequired: function() { | |
if (typeof miniShop2 == 'undefined') { | |
return false; | |
} | |
miniShop2.Callbacks.Order.submit.response.error = function(response) { | |
if (response.data) { | |
var data = response.data | |
$.each(data, function(key, value) { | |
if (value == 'city') { | |
$(msczone.par.spot).addClass('required'); | |
} | |
}); | |
} | |
}; | |
}, | |
add: function() { | |
if (typeof miniShop2 == 'undefined') { | |
return false; | |
} | |
miniShop2.Callbacks.Order.add.response.success = function(response) { | |
if (response.data.city == 'undefined') { | |
return false; | |
} | |
miniShop2.Order.getcost(); | |
} | |
}, | |
getcost: function() { | |
if (typeof miniShop2 == 'undefined') { | |
return false; | |
} | |
miniShop2.Order.deliveryCost = '#ms2_delivery_cost', miniShop2.Order.deliveryError = '#ms2_delivery_error', miniShop2.Order.spotDescription = '#ms2_spot_description', miniShop2.Order.spotAddress = '#ms2_spot_address', miniShop2.Order.deliveryNotify = '#ms2_delivery_notify';; | |
miniShop2.Callbacks.Order.getcost.response.success = function(response) { | |
var rdc = response.data['delivery_cost'], | |
rdn = response.data['delivery_error'], | |
rsd = response.data['spot_description'], | |
rsa = response.data['spot_address'], | |
_rdn = response.data['delivery_notify']; | |
if (rdc) $(miniShop2.Order.deliveryCost, miniShop2.Order.order).text(miniShop2.Utils.formatPrice(rdc)); | |
else $(miniShop2.Order.deliveryCost, miniShop2.Order.order).text('0'); | |
if (rdn) $(miniShop2.Order.deliveryError, miniShop2.Order.order).html(rdn); | |
else $(miniShop2.Order.deliveryError, miniShop2.Order.order).text(''); | |
if (rsd) $(miniShop2.Order.spotDescription, miniShop2.Order.order).html(rsd); | |
else $(miniShop2.Order.spotDescription, miniShop2.Order.order).text(''); | |
if (rsa) $(miniShop2.Order.spotAddress, miniShop2.Order.order).html(rsa); | |
else $(miniShop2.Order.spotAddress, miniShop2.Order.order).text(''); | |
if(_rdn) $(miniShop2.Order.deliveryNotify, miniShop2.Order.order).text(_rdn); | |
else $(miniShop2.Order.deliveryNotify, miniShop2.Order.order).text(''); | |
return true; | |
} | |
} | |
}; | |
msczone.initialize(); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment