rhymix/modules/module/tpl/js/multilingual.js
ChanMyeong 14d0daa285 Multilingual UI debugging.
git-svn-id: http://xe-core.googlecode.com/svn/branches/1.5.0@8876 201d5d3c-b55e-5fd7-737f-ddc643e51545
2011-08-25 04:16:12 +00:00

46 lines
1.3 KiB
JavaScript

jQuery(function($){
// multi-lingual text list
$('#langList')
.find('form').hide().attr('aria-hidden','true').end() // collapse all language input control
.delegate('button._edit', 'click', function(){
var $this = $(this), $form = $this.next('form');
// toggle input control
if($form.attr('aria-hidden') == 'false') {
$form.attr('aria-hidden', 'true').slideUp('fast');
$this.closest('li').removeClass('active');
}else{
$form.attr('aria-hidden', 'false').slideDown('fast');
$this.closest('li').addClass('active');
}
if($form.data('lang-loaded') == true) return;
$form.data('lang-loaded', true);
function on_complete(ret) {
var name = ret['lang_name'], list = ret['lang_list']['item'], elems = $form[0].elements, item;
$form.find('label+textarea').prev('label').css('visibility','hidden');
if(!$.isArray(list)) list = [list];
for(var i=0,c=list.length; i < c; i++) {
item = list[i];
if(item && item.lang_code && elems[item.lang_code]) {
elems[item.lang_code].value = item.value;
if(!item.value) $(elems[item.lang_code]).prev('label').css('visibility','visible');
}
}
}
exec_xml(
'module',
'getModuleAdminLangListByName',
{lang_name:$form[0].elements['lang_name'].value},
on_complete,
'error,message,lang_list,lang_name'.split(',')
);
})
});