JAVASCRIPT   97

Simple Language Selector

Guest on 7th May 2022 03:59:00 PM

  1. var WPML_Core = WPML_Core || {};
  2.  
  3. WPML_Core.SimpleLanguageSelector = function () {
  4.         var self         = this;
  5.  
  6.         var init = function () {
  7.                 jQuery(document).ready(function() {
  8.             self.initialize_select2();
  9.                 });
  10.         };
  11.        
  12.     var add_flags = function ( state ) {
  13.         if (!state.id) { return state.text; }
  14.        
  15.         var text = state.text;
  16.         if (jQuery(state.element).data('status') == 'active' ) {
  17.             text = '<strong>&nbsp;' + text + '</strong>';
  18.         }
  19.        
  20.         return '<img width="18" height="12" src="' + jQuery(state.element).data('flag_url') + '"/> ' + text;
  21.     };
  22.    
  23.     self.initialize_select2 = function () {
  24.         jQuery('.js-simple-lang-selector-flags').select2({
  25.             formatResult:       add_flags,
  26.             formatSelection:    add_flags,
  27.             escapeMarkup:       function(m) { return m; },
  28.             width:              'auto',
  29.             dropdownCss:        {'z-index': parseInt(jQuery('.ui-dialog').css('z-index'), 10) + 100},
  30.             dropdownAutoWidth:  true
  31.         });
  32.  
  33.         var lang_selector_flags = jQuery('.js-simple-lang-selector-flags');
  34.  
  35.         if (lang_selector_flags.is(':disabled')) {
  36.             lang_selector_flags.find('.select2-choice').addClass('button button-secondary').attr('disabled', 'true');
  37.         }
  38.         };
  39.    
  40.         init();
  41.        
  42. };
  43.  
  44. WPML_Core.simple_language_selector = new WPML_Core.SimpleLanguageSelector();

Raw Paste


Login or Register to edit or fork this paste. It's free.