oont-contents/plugins/woo-order-export-lite/assets/js/select2-i18n.js
2025-02-08 15:10:23 +01:00

103 lines
No EOL
2.4 KiB
JavaScript

jQuery.fn.extend( {
select2_i18n: function ( $attrs, ajax_method, is_default ) {
if ( typeof $attrs !== 'object' ) {
$attrs = {};
}
var default_params = {language: script_data.select2_locale};
if ( is_default ) {
var select2_wo_dropdown_opts = {
containerCssClass: 'without-dropdown',
dropdownCssClass: 'without-dropdown',
};
Object.assign( default_params, select2_wo_dropdown_opts );
}
if ( ajax_method ) {
let minimumInputLength = 3;
if ( script_data.show_all_items_in_filters && ( ajax_method === 'get_categories' || ajax_method === 'get_products') ) {
minimumInputLength = 0;
}
var select2_ajax = {
ajax: {
url: ajaxurl,
dataType: 'json',
delay: 250,
data: function ( params ) {
return {
q: params.term ? params.term : "", // search term
page: params.page,
method: ajax_method,
action: "order_exporter",
tab: script_data.active_tab,
woe_nonce: settings_form.woe_nonce
};
},
processResults: function ( data, page ) {
return {
results: data
};
},
cache: true
},
escapeMarkup: function ( markup ) {
return markup;
}, // let our custom formatter work
minimumInputLength: minimumInputLength,
templateResult: function ( item ) {
var markup = '<div class="weo_clearfix">' +
'<div>';
if ( typeof item.photo_url !== "undefined" ) {
markup += '<img src="' + item.photo_url + '" style="width: 20%;float:left;" />';
}
markup += '<div style="width:75%;float:left; padding: 5px;">' + item.text + '</div>' +
'</div>' +
'</div><div style="clear:both"></div>';
return markup;
},
templateSelection: function ( item ) {
return item.text;
},
};
Object.assign( default_params, select2_ajax );
}
$attrs = Object.assign( default_params, $attrs );
jQuery( this ).select2( $attrs );
},
} );
jQuery( document ).ready( function ( $ ) {
try {
$( '.select2-i18n' ).each( function () {
var width = $( this ).attr( 'data-select2-i18n-width' );
$( this ).select2_i18n(
width ? {width: + width} : {},
$( this ).attr( 'data-select2-i18n-ajax-method' ),
$( this ).attr( 'data-select2-i18n-default' )
);
} );
}
catch ( err ) {
console.log( err.message );
jQuery( '#select2_warning' ).show();
}
} );