- fixed select2 JS errors for the user dropdown field;

This commit is contained in:
Mykyta Synelnikov
2023-10-10 00:55:23 +03:00
parent 57ef818cec
commit bfe4c436f2
2 changed files with 9 additions and 5 deletions
+6 -4
View File
@@ -1,5 +1,5 @@
function um_admin_init_users_select() {
if ( jQuery('.um-user-select-field:visible').length ) {
if ( jQuery('.um-user-select-field:visible:not(.um-select2-inited)').length ) {
function avatarformat( data ) {
var option;
if ( ! data.id ) {
@@ -84,13 +84,15 @@ function um_admin_init_users_select() {
templateResult: avatarformat
};
jQuery('.um-user-select-field:visible').each( function() {
let selector = jQuery('.um-user-select-field:visible:not(.um-select2-inited)');
selector.each( function() {
if ( jQuery(this).hasClass('select2-hidden-accessible') ) {
jQuery(this).select2( 'destroy' );
jQuery(this).removeClass('um-select2-inited').select2( 'destroy' );
}
});
jQuery('.um-user-select-field:visible').select2( select2_atts );
selector.addClass('um-select2-inited').select2( select2_atts );
}
}
+3 -1
View File
@@ -644,8 +644,10 @@ if ( ! class_exists( 'um\admin\core\Admin_Forms' ) ) {
$hidden = '';
if ( ! empty( $multiple ) ) {
$hidden = "<input type=\"hidden\" $hidden_name_attr value=\"\" />";
} else {
$options = '<option></option>' . $options;
}
$html = "$hidden<select $multiple $id_attr $name_attr $class_attr $data_attr data-placeholder=\"" . esc_attr( $placeholder ) . "\" placeholder=\"" . esc_attr( $placeholder ) . "\"><option value=\"\">" . esc_html( $placeholder ) . "</option>$options</select>";
$html = "$hidden<select $multiple $id_attr $name_attr $class_attr $data_attr data-placeholder=\"" . esc_attr( $placeholder ) . "\" placeholder=\"" . esc_attr( $placeholder ) . "\">$options</select>";
return $html;
}