/*jshint -W065 */
wp.customize.controlConstructor['hoo-fontawesome'] = wp.customize.Control.extend({
// When we're finished loading continue processing
ready: function() {
'use strict';
var control = this;
// Init the control.
if ( ! _.isUndefined( window.hooControlLoader ) && _.isFunction( hooControlLoader ) ) {
hooControlLoader( control );
} else {
control.initHooControl();
}
},
initHooControl: function() {
'use strict';
var control = this,
element = this.container.find( 'select' ),
icons = jQuery.parseJSON( fontAwesomeJSON ),
selectValue,
select2Options = {
data: [],
escapeMarkup: function( markup ) {
return markup;
},
templateResult: function( val ) {
return '' + ' ' + val.text;
},
templateSelection: function( val ) {
return '' + ' ' + val.text;
}
},
select;
control.container.find( '.hoo-controls-loading-spinner' ).hide();
_.each( icons.icons, function( icon ) {
select2Options.data.push({
id: icon.id,
text: icon.name
});
});
select = jQuery( element ).select2( select2Options );
select.on( 'change', function() {
selectValue = jQuery( this ).val();
control.setting.set( selectValue );
});
select.val( control.setting._value ).trigger( 'change' );
}
});