Skip to content

Commit ddccb63

Browse files
committed
fixes #1180
1 parent 3acc2f0 commit ddccb63

File tree

1 file changed

+27
-11
lines changed

1 file changed

+27
-11
lines changed

controls/typography/typography.js

+27-11
Original file line numberDiff line numberDiff line change
@@ -111,11 +111,10 @@ wp.customize.controlConstructor['kirki-typography'] = wp.customize.Control.exten
111111
control.saveValue( 'font-family', jQuery( this ).val() );
112112

113113
// Re-init variants selector.
114-
jQuery( variantSelector ).select2( 'destroy' );
115114
control.renderVariantSelector();
116115

116+
117117
// Re-init subsets selector.
118-
jQuery( subsetSelector ).select2( 'destroy' );
119118
control.renderSubsetSelector();
120119
});
121120
},
@@ -132,29 +131,41 @@ wp.customize.controlConstructor['kirki-typography'] = wp.customize.Control.exten
132131
variants = control.getVariants( fontFamily ),
133132
selector = control.selector + ' .variant select',
134133
data = [],
134+
isValid = false,
135135
variantSelector;
136136

137137
if ( false !== variants ) {
138138
jQuery( control.selector + ' .variant' ).show();
139139
_.each( variants, function( variant ) {
140+
if ( value.variant === variant.id ) {
141+
isValid = true;
142+
}
140143
data.push({
141144
id: variant.id,
142145
text: variant.label
143146
});
144147
});
148+
if ( ! isValid ) {
149+
value.variant = 'regular';
150+
control.saveValue( 'variant', value.variant );
151+
}
152+
153+
if ( jQuery( selector ).hasClass( 'select2-hidden-accessible' ) ) {
154+
jQuery( selector ).select2( 'destroy' );
155+
jQuery( selector ).empty();
156+
}
145157

158+
// Instantiate select2 with the data.
159+
variantSelector = jQuery( selector ).select2({
160+
data: data
161+
});
162+
variantSelector.val( value.variant );
163+
variantSelector.on( 'change', function() {
164+
control.saveValue( 'variant', jQuery( this ).val() );
165+
});
146166
} else {
147167
jQuery( control.selector + ' .variant' ).hide();
148168
}
149-
150-
// Instantiate select2 with the data.
151-
variantSelector = jQuery( selector ).select2({
152-
data: data
153-
});
154-
variantSelector.val( value.variant );
155-
variantSelector.on( 'change', function() {
156-
control.saveValue( 'variant', jQuery( this ).val() );
157-
});
158169
},
159170

160171
/**
@@ -184,6 +195,11 @@ wp.customize.controlConstructor['kirki-typography'] = wp.customize.Control.exten
184195
jQuery( control.selector + ' .subsets' ).hide();
185196
}
186197

198+
if ( jQuery( selector ).hasClass( 'select2-hidden-accessible' ) ) {
199+
jQuery( selector ).select2( 'destroy' );
200+
jQuery( selector ).empty();
201+
}
202+
187203
// Instantiate select2 with the data.
188204
subsetSelector = jQuery( selector ).select2({
189205
data: data

0 commit comments

Comments
 (0)