Initial commit
This commit is contained in:
67
templates/backOffice/default/assets/js/thelia-states.js
Normal file
67
templates/backOffice/default/assets/js/thelia-states.js
Normal file
@@ -0,0 +1,67 @@
|
||||
// Manage Countries and States form
|
||||
(function($) {
|
||||
$(document).ready(function(){
|
||||
|
||||
var addressState = (function () {
|
||||
|
||||
// A private function which logs any arguments
|
||||
var initialize = function( element ) {
|
||||
var elm = {};
|
||||
|
||||
elm.state = $(element);
|
||||
elm.stateId = elm.state.val();
|
||||
elm.country = $(elm.state.data('thelia-country'));
|
||||
elm.countryId = elm.country.val();
|
||||
elm.block = $(elm.state.data('thelia-toggle'));
|
||||
|
||||
elm.states = elm.state.children().clone();
|
||||
elm.state.children().remove();
|
||||
|
||||
var updateState = function updateState() {
|
||||
var countryId = elm.country.val(),
|
||||
stateId = elm.state.val(),
|
||||
hasStates = false;
|
||||
|
||||
if (stateId !== null && stateId !== '') {
|
||||
elm.stateId = stateId;
|
||||
}
|
||||
|
||||
elm.state.children().remove();
|
||||
|
||||
elm.states.each(function(){
|
||||
var $state = $(this);
|
||||
|
||||
if ($state.data("country") == countryId) {
|
||||
$state.appendTo(elm.state);
|
||||
hasStates = true;
|
||||
}
|
||||
});
|
||||
|
||||
if (hasStates) {
|
||||
// try to select the last state
|
||||
elm.state.val(elm.stateId);
|
||||
elm.block.removeClass("hidden");
|
||||
} else {
|
||||
elm.block.addClass("hidden");
|
||||
}
|
||||
};
|
||||
|
||||
elm.country.on('change', updateState);
|
||||
updateState();
|
||||
};
|
||||
|
||||
return {
|
||||
init: function() {
|
||||
|
||||
$("[data-thelia-state]").each(function(){
|
||||
initialize(this);
|
||||
});
|
||||
|
||||
}
|
||||
};
|
||||
|
||||
})();
|
||||
|
||||
addressState.init();
|
||||
});
|
||||
})(jQuery);
|
||||
Reference in New Issue
Block a user