Changeset 616

Show
Ignore:
Timestamp:
09/14/10 09:55:59 (3 years ago)
Author:
jose.brandao
Message:

Finishing ticket #125 - Show 'Second Languages' selector only if there are more than 2 available languages

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/opentrials/static/js/multilingual.js

    r598 r616  
    22 
    33$(document).ready(function(){ 
    4     // Prepares multilingual inputs 
    5     $('.multilingual').each(function(){ 
    6         // Gets field name 
    7         var f_name = $(this).find('.en').find('input, textarea').attr('name'); 
     4    if (MULTILINGUAL_FIELDS['available_languages'].length > 2) { // Only when there are more than 2 available languages 
     5        // Prepares multilingual inputs 
     6        $('.multilingual').each(function(){ 
     7            // Gets field name 
     8            var f_name = $(this).find('.en').find('input, textarea').attr('name'); 
    89 
    9         // Creates floating combo to select second language 
    10         var sel = $('<div class="sel"><b>Second language:</b> </div>').prependTo($(this)); 
     10            // Creates floating combo to select second language 
     11            var sel = $('<div class="sel"><b>Second language:</b> </div>').prependTo($(this)); 
    1112 
    12         for (var i=0; i<MULTILINGUAL_FIELDS['available_languages'].length; i++) { 
    13             if (MULTILINGUAL_FIELDS['available_languages'][i] !== MULTILINGUAL_FIELDS['display_language']) { 
    14                 var lang = MULTILINGUAL_FIELDS['available_languages'][i].replace(/-[a-z]+$/, ''); 
     13            for (var i=0; i<MULTILINGUAL_FIELDS['available_languages'].length; i++) { 
     14                if (MULTILINGUAL_FIELDS['available_languages'][i] !== MULTILINGUAL_FIELDS['display_language']) { 
     15                    var lang = MULTILINGUAL_FIELDS['available_languages'][i].replace(/-[a-z]+$/, ''); 
    1516 
    16                 $('<button type="button" value="'+MULTILINGUAL_FIELDS['available_languages'][i]+'">'+lang+'</button>') 
    17                     .appendTo(sel) 
    18                     .click(function(){ 
    19                         var new_lang = $(this).val(); 
    20                         $(this).parents('.multilingual').find('.multilingual-value').each(function(){ 
    21                             if ($(this).hasClass(MULTILINGUAL_FIELDS['display_language']) || $(this).hasClass(new_lang)) { 
    22                                 $(this).show(); 
    23                             } else { 
    24                                 $(this).hide(); 
    25                             } 
     17                    $('<button type="button" value="'+MULTILINGUAL_FIELDS['available_languages'][i]+'">'+lang+'</button>') 
     18                        .appendTo(sel) 
     19                        .click(function(){ 
     20                            var new_lang = $(this).val(); 
     21                            $(this).parents('.multilingual').find('.multilingual-value').each(function(){ 
     22                                if ($(this).hasClass(MULTILINGUAL_FIELDS['display_language']) || $(this).hasClass(new_lang)) { 
     23                                    $(this).show(); 
     24                                } else { 
     25                                    $(this).hide(); 
     26                                } 
     27                            }); 
    2628                        }); 
    27                     }); 
     29                } 
    2830            } 
    29         } 
    30     }); 
     31        }); 
     32    } 
    3133}); 
    3234