258 lines
9.3 KiB
JavaScript
258 lines
9.3 KiB
JavaScript
function fs_select2() {
|
|
let elements = jQuery( '.fs_select2' );
|
|
if ( elements.length ) {
|
|
if (jQuery.fn.selectWoo) {
|
|
elements.selectWoo();
|
|
} else {
|
|
elements.select2();
|
|
}
|
|
}
|
|
}
|
|
|
|
jQuery(document).ready(function(){
|
|
if ( jQuery('#flexible_shipping_labels_url').length ) {
|
|
window.location.href = jQuery('#flexible_shipping_labels_url').attr('href');
|
|
}
|
|
|
|
if ( jQuery('a.shipping_manifest_download').length == 1 ) {
|
|
window.location.href = jQuery('a.shipping_manifest_download').attr('href');
|
|
}
|
|
|
|
if ( typeof window.history.pushState == 'function' ) {
|
|
var url = document.location.href;
|
|
var url2 = document.location.href;
|
|
url = fs_removeParam('bulk_flexible_shipping_labels', url);
|
|
url = fs_removeParam('bulk_flexible_shipping_send', url);
|
|
url = fs_removeParam('bulk_flexible_shipping_manifests', url);
|
|
url = fs_removeParam('bulk_flexible_shipping_no_labels_created', url);
|
|
url = fs_trimChar(url,'?');
|
|
if ( url != url2 ) {
|
|
window.history.pushState({}, "", url);
|
|
}
|
|
}
|
|
|
|
/* Connect Global Notice */
|
|
var nav = jQuery( '.fs-connect__vertical-nav-container' ),
|
|
contentContainer = jQuery( '.fs-connect__content-container' );
|
|
nextFeatureButtons = jQuery( '.fs-banner__button-container .next-feature' ),
|
|
|
|
nav.on( 'click', '.vertical-menu__feature-item:not( .vertical-menu__feature-item-is-selected )', function() {
|
|
transitionSlideToIndex( jQuery( this ).index() );
|
|
} );
|
|
|
|
nextFeatureButtons.on( 'click', function( e ) {
|
|
e.preventDefault();
|
|
|
|
var slideIndex = jQuery( this )
|
|
.closest( '.fs-connect__slide' )
|
|
.index();
|
|
|
|
transitionSlideToIndex( slideIndex + 1 );
|
|
} );
|
|
|
|
function transitionSlideToIndex( index ) {
|
|
// Remove classes from previously selected menu item and content
|
|
nav
|
|
.find( '.vertical-menu__feature-item-is-selected' )
|
|
.removeClass( 'vertical-menu__feature-item-is-selected' );
|
|
|
|
contentContainer
|
|
.find( '.fs__slide-is-active' )
|
|
.removeClass( 'fs__slide-is-active' );
|
|
|
|
// Add classes to selected menu item and content
|
|
nav
|
|
.children()
|
|
.eq( index )
|
|
.addClass( 'vertical-menu__feature-item-is-selected' );
|
|
|
|
contentContainer
|
|
.children()
|
|
.eq( index )
|
|
.addClass( 'fs__slide-is-active' );
|
|
}
|
|
});
|
|
|
|
function fs_removeParam(key, sourceURL) {
|
|
var rtn = sourceURL.split("?")[0],
|
|
param,
|
|
params_arr = [],
|
|
queryString = (sourceURL.indexOf("?") !== -1) ? sourceURL.split("?")[1] : "";
|
|
if (queryString !== "") {
|
|
params_arr = queryString.split("&");
|
|
for (var i = params_arr.length - 1; i >= 0; i -= 1) {
|
|
param = params_arr[i].split("=")[0];
|
|
if (param === key) {
|
|
params_arr.splice(i, 1);
|
|
}
|
|
}
|
|
rtn = rtn + "?" + params_arr.join("&");
|
|
}
|
|
return rtn;
|
|
}
|
|
|
|
function fs_trimChar(string, charToRemove) {
|
|
while(string.charAt(0)==charToRemove) {
|
|
string = string.substring(1);
|
|
}
|
|
|
|
while(string.charAt(string.length-1)==charToRemove) {
|
|
string = string.substring(0,string.length-1);
|
|
}
|
|
|
|
return string;
|
|
}
|
|
|
|
|
|
// Order functions
|
|
|
|
function fs_id( element ) {
|
|
return jQuery(element).closest('.flexible_shipping_shipment').attr('data-id');
|
|
}
|
|
|
|
function fs_data_set_val( data, name, val ) {
|
|
if ( typeof name == 'undefined' ) {
|
|
return data;
|
|
}
|
|
if ( name.indexOf("[") == -1 ) {
|
|
data[name] = val;
|
|
}
|
|
else {
|
|
var names = name.split("[");
|
|
var data2 = data;
|
|
var data3 = data;
|
|
var name2 = '';
|
|
jQuery.each(names,function(index,name) {
|
|
name2 = name.replace("]","");
|
|
if ( typeof data2[name2] == 'undefined' ) {
|
|
data2[name2] = {};
|
|
}
|
|
data3 = data2;
|
|
data2 = data2[name2];
|
|
});
|
|
data3[name2] = val;
|
|
}
|
|
return data;
|
|
}
|
|
|
|
function fs_ajax(button, id, fs_action) {
|
|
jQuery('.button-shipping').attr('disabled', true);
|
|
jQuery(button).parent().find('.spinner').css({visibility: 'visible'});
|
|
var data = {};
|
|
|
|
jQuery('#flexible_shipping_shipment_' + id + ' .flexible_shipping_shipment_content input, #flexible_shipping_shipment_' + id + ' .flexible_shipping_shipment_content select, #flexible_shipping_shipment_' + id + ' .flexible_shipping_shipment_content textarea').each(function () {
|
|
if (jQuery(this).attr('type') == 'radio') {
|
|
data = fs_data_set_val( data, jQuery(this).attr('name'), jQuery('#flexible_shipping_shipment_' + id + ' input[name=' + jQuery(this).attr('name') + ']:checked').val() );
|
|
}
|
|
else if (jQuery(this).attr('type') == 'checkbox') {
|
|
if (jQuery(this).is(':checked')) {
|
|
data = fs_data_set_val( data, jQuery(this).attr('name'), jQuery(this).val() );
|
|
}
|
|
else {
|
|
data = fs_data_set_val( data, jQuery(this).attr('name'), '' );
|
|
}
|
|
}
|
|
else {
|
|
data = fs_data_set_val( data, jQuery(this).attr('name'), jQuery(this).val() );
|
|
}
|
|
});
|
|
|
|
var nonce = jQuery('#flexible_shipping_shipment_nonce_' + id).val();
|
|
|
|
jQuery('#flexible_shipping_shipment_' + id + ' .flexible_shipping_shipment_message').hide();
|
|
jQuery('#flexible_shipping_shipment_' + id + ' .flexible_shipping_shipment_message').removeClass("flexible_shipping_shipment_message_error");
|
|
|
|
jQuery.ajax({
|
|
url: fs_admin.ajax_url,
|
|
type: 'POST',
|
|
data: {
|
|
fs_action: fs_action,
|
|
action: 'flexible_shipping',
|
|
nonce: nonce,
|
|
shipment_id: id,
|
|
data: data,
|
|
},
|
|
dataType: 'json',
|
|
}).done(function (response) {
|
|
if (response) {
|
|
if (response == '0') {
|
|
jQuery('#flexible_shipping_shipment_' + id + ' .flexible_shipping_shipment_message').show();
|
|
jQuery('#flexible_shipping_shipment_' + id + ' .flexible_shipping_shipment_message').html("Invalid response: 0");
|
|
}
|
|
else if (response.status == 'success') {
|
|
jQuery('#flexible_shipping_shipment_' + id + ' .flexible_shipping_shipment_content').html(response.content);
|
|
jQuery('#flexible_shipping_shipment_' + id + ' .flexible_shipping_shipment_message').hide();
|
|
if ( typeof response.message != 'undefined' ) {
|
|
jQuery('#flexible_shipping_shipment_' + id + ' .flexible_shipping_shipment_message').show();
|
|
jQuery('#flexible_shipping_shipment_' + id + ' .flexible_shipping_shipment_message').html(response.message);
|
|
}
|
|
}
|
|
else {
|
|
if ( typeof response.content !== 'undefined' ) {
|
|
jQuery('#flexible_shipping_shipment_' + id + ' .flexible_shipping_shipment_content').html(response.content);
|
|
}
|
|
jQuery('#flexible_shipping_shipment_' + id + ' .flexible_shipping_shipment_message').addClass("flexible_shipping_shipment_message_error");
|
|
jQuery('#flexible_shipping_shipment_' + id + ' .flexible_shipping_shipment_message').show();
|
|
jQuery('#flexible_shipping_shipment_' + id + ' .flexible_shipping_shipment_message').html(response.message);
|
|
}
|
|
}
|
|
else {
|
|
jQuery('#flexible_shipping_shipment_' + id + ' .flexible_shipping_shipment_message').addClass("flexible_shipping_shipment_message_error");
|
|
jQuery('#flexible_shipping_shipment_' + id + ' .flexible_shipping_shipment_message').show();
|
|
jQuery('#flexible_shipping_shipment_' + id + ' .flexible_shipping_shipment_message').html("Request failed: invalid method?");
|
|
}
|
|
}).always(function () {
|
|
jQuery('.button-shipping').attr('disabled', false);
|
|
jQuery('.shipping-spinner').parent().find('.spinner').css({visibility: 'hidden'});
|
|
fs_select2();
|
|
}).fail(function (jqXHR, textStatus) {
|
|
jQuery('#flexible_shipping_shipment_' + id + ' .flexible_shipping_shipment_message').addClass("flexible_shipping_shipment_message_error");
|
|
jQuery('#flexible_shipping_shipment_' + id + ' .flexible_shipping_shipment_message').show();
|
|
jQuery('#flexible_shipping_shipment_' + id + ' .flexible_shipping_shipment_message').html("Request failed: " + textStatus + " " + jqXHR.status);
|
|
})
|
|
}
|
|
|
|
/* Notice */
|
|
jQuery(function($) {
|
|
$( document ).on( 'click', '.flexible-shipping-taxes-notice .notice-dismiss', function () {
|
|
$.ajax( ajaxurl,
|
|
{
|
|
type: 'POST',
|
|
data: {
|
|
action: 'flexible_shipping_taxes_notice',
|
|
}
|
|
} );
|
|
} );
|
|
|
|
$( document ).on( 'click', '#enable-fs-connect-box', function () {
|
|
var fs_connect_checkbox = $('.enable-fs-connect-box');
|
|
var fs_box_state;
|
|
|
|
if ( fs_connect_checkbox.prop('checked') ){
|
|
$('.fs-connect-integration-box').slideDown();
|
|
fs_box_state = 1;
|
|
} else{
|
|
$('.fs-connect-integration-box').slideUp();
|
|
fs_box_state = 0;
|
|
}
|
|
|
|
$.ajax( ajaxurl,
|
|
{
|
|
type: 'POST',
|
|
data: {
|
|
action: 'update_fs_connect_integration_setting',
|
|
fs_box_state: fs_box_state
|
|
}
|
|
} );
|
|
} );
|
|
|
|
$( document ).on( 'click', '#flexible_shipping_rate_plugin .close-fs-rate-notice', function () {
|
|
$( '#flexible_shipping_rate_plugin .notice-dismiss' ).click();
|
|
} );
|
|
|
|
$( document ).on( 'click', '#flexible_shipping_rate_plugin .fs-not-good', function () {
|
|
$('#flexible_shipping_rate_plugin p').html( fs_admin.notice_not_good_enought );
|
|
} );
|
|
|
|
});
|