-
Notifications
You must be signed in to change notification settings - Fork 988
/
language_changer_top_menu.twig
67 lines (59 loc) · 2.28 KB
/
language_changer_top_menu.twig
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
{# Show a language changer inside the top menu #}
{% if aSurveyInfo.alanguageChangerDatas != false %}
{% set aLCD = aSurveyInfo.alanguageChangerDatas %}
<!-- Language Changer, top menu version -->
<li class="dropdown ls-no-js-hidden">
<a class="dropdown-toggle" data-toggle="dropdown" href="#" role="button" aria-haspopup="true" aria-expanded="false">
{{ "Language:" | t }} {{ aLCD.aListLang[aLCD.sSelected] }}
<span class="caret"></span>
</a>
<ul class="dropdown-menu">
{% for value, lang in aLCD.aListLang %}
<li class="index-item">
<a href='#' data-limesurvey-lang='{{ value }}' class="ls-language-link">
{{ lang | t }}
</a>
</li>
{% endfor %}
</ul>
</li>
{% set buttonhtmlOptions = {
'id' : 'changlangButton',
'type' : 'submit',
'value': 'changelang',
'name' : 'move',
'class': 'btn btn-default ls-js-hidden',
}
%}
{{
C.Html.htmlButton(
("Change the language" | gT ),
buttonhtmlOptions
)
| raw
}}
{% endif %}
<script>
// Method for link
$(document).ready(function(){
$('.ls-language-link').on('click', function(){
var lang = $(this).data('limesurvey-lang');
/* we are not in a forum, can not submit directly */
if($('form#limesurvey').length==1){
/* The limesurvey form exist in document, move select and button inside and click */
$("form#limesurvey [name='lang']").remove(); // Remove existing lang selector
$("<input type='hidden'>").attr('name','lang').val(lang).appendTo($('form#limesurvey'));
$('#changlangButton').clone().appendTo($('form#limesurvey')).click();
}else{
// If there are no form : we can't use it */
/* No form, not targeturl : just see what happen */
$("<form>", {
"class":'ls-js-hidden',
"html": '<input type="hidden" name="lang" value="' + lang + '" />',
"action": target,
"method": 'get'
}).appendTo(document.body).submit();
}
});
});
</script>