­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ jQuery( function($){ WCML_Multi_Currency = { _currency_languages_saving : 0, init: function(){ $(function(){ WCML_Multi_Currency.setup_multi_currency_toggle(); WCML_Multi_Currency.setup_currencies_sorting(); if($('#wcml_mc_options').length){ WCML_Multi_Currency.wcml_mc_form_submitted = false; WCML_Multi_Currency.read_form_fields_status(); window.onbeforeunload = function(e) { if( !WCML_Multi_Currency.wcml_mc_form_submitted && WCML_Multi_Currency.form_fields_changed() ){ return $('#wcml_warn_message').val(); } } $('#wcml_mc_options').on('submit', function(){ WCML_Multi_Currency.wcml_mc_form_submitted = true; }) } } ); }, setup_multi_currency_toggle: function(){ $('#multi_currency_independent').change(function(){ if($(this).prop('checked')){ if($('#currency_mode').val()){ $('#currency-switcher, #currency-switcher-widget, #currency-switcher-product, #multi-currency-per-language-details, #online-exchange-rates').fadeIn(); }else{ $('#multi-currency-per-language-details').fadeIn(); } }else{ $('#currency-switcher, #currency-switcher-widget, #currency-switcher-product, #multi-currency-per-language-details, #online-exchange-rates').fadeOut(); } }) }, setup_currencies_sorting: function(){ $('#wcml_currencies_order').sortable({ update: function(){ var currencies_order = []; $('#wcml_currencies_order').find('li').each(function(){ currencies_order.push($(this).attr('cur')); }); $.ajax({ type: "POST", url: ajaxurl, dataType: 'json', data: { action: 'wcml_currencies_order', wcml_nonce: $('#wcml_currencies_order_order_nonce').val(), order: currencies_order.join(';') }, success: function(resp){ if ( resp.success ) { fadeInAjxResp('.wcml_currencies_order_ajx_resp', resp.data.message); $('.wcml-ui-dialog').each(function(){ WCML_Currency_Switcher_Settings.currency_switcher_preview( $(this) ); }); } } }); } }); }, read_form_fields_status: function(){ this.mc_form_status = this.get_serialized_options(); }, form_fields_changed: function(){ return this.mc_form_status != this.get_serialized_options(); }, get_serialized_options: function() { var reactUiElements = $('#wcml_mc_options .js-wcml-react-ui').find('input, select, textarea'); reactUiElements.prop('disabled', true); var serializedData = $('#wcml_mc_options').serialize(); reactUiElements.prop('disabled', false); return serializedData; } } WCML_Multi_Currency.init(); } );