You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

27 lines
769 B

/**
* Link: https://stackoverflow.com/questions/37386293/how-to-add-icon-in-select2
*/
( function ( $, rwmb ) {
'use strict';
const template = option => {
if ( option.text.includes( '<svg' ) ) {
const title = option.text.replace( /<svg.*?>.*?<\/svg>/, '' );
return $( `<span class="rwmb-icon-select" title="${ title }">${ option.text }</span>` );
}
return option.id ? $( `<span class="rwmb-icon-select" title=${ option.text }><i class="${ option.id }"></i>${ option.text }</span>` ) : option.text;
};
function initIconField( event, options ) {
$( this ).select2( {
...options,
templateResult: template,
templateSelection: template,
} );
}
rwmb.$document
.on( 'init_icon_field', '.rwmb-icon', initIconField );
} )( jQuery, rwmb );