cl01/wp-content/themes/bloghash/inc/customizer/controls/select/select.min.js
2025-02-24 12:39:24 +08:00

17 lines
1.3 KiB
JavaScript
Executable File

! ( function( $ ) {
'use strict';wp.customize.controlConstructor['bloghash-select'] = wp.customize.Control.extend({ready: function() {
var control = this;control.params.is_select2 && ( control.container.find( '.bloghash-select-control' ).select2({placeholder: bloghash_customizer_localized.strings.selectCategory, allowClear: ! 0}), control.container.on( 'select2:opening', '.bloghash-select-control', ( function() {
control.populate_select2(), control.container.off( 'select2:opening', '.bloghash-select-control' );
}) ), control.container.on( 'select2:select select2:unselect select2:clear', '.bloghash-select-control', ( function() {
$( this ).val() || control.setting.set([]);
}) ) );
}, populate_select2: function( e ) {
var self = this,
options = '',
selected = '',
setting = self.setting.get();'' === setting['font-family'] && ( selected = ' selected="selected"' ), $.each( self.params.choices, ( function( id, name ) {
selected = '', ( setting && self.params.multiple && -1 !== setting.indexOf( id ) || ! self.params.multiple && id === setting ) && ( selected = ' selected="selected"' ), options += '<option value="' + id + '"' + selected + '>' + name + '</option>';
}) ), self.container.find( '.bloghash-select-control' ).html( options );
}});
}( jQuery ) );