PluginProbe
Bogo / 2.4
Bogo v2.4
3.9.3 trunk 1.0 1.1 2.0 2.0.1 2.1 2.1.1 2.1.2 2.1.3 2.2 2.3 2.4 2.4.1 2.4.2 2.4.3 2.5 2.6 2.6.1 2.7 2.8 2.8.1 2.9 3.0 3.0.1 All 52 releases
bogo / admin / includes / js / admin.js

admin.js in Bogo 2.4, at admin/includes/js/admin.js

75 lines 1.8 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 (function($) {
2 _bogo = _bogo || {};
3
4 $(function() {
5 $('.menu-item').bogoAddLocaleSelector();
6 });
7
8 $(document).ajaxSuccess(function(event, request, settings) {
9 $('.menu-item').bogoAddLocaleSelector();
10 });
11
12 $.fn.bogoAddLocaleSelector = function() {
13 return this.each(function() {
14 if (_bogo.hasSelector(this)) {
15 return;
16 }
17
18 var id = $(this).attr('id').replace('menu-item-', '');
19 var $selector = _bogo.selector(id);
20 $(this).find('.menu-item-settings').prepend($selector);
21 });
22 }
23
24 _bogo.hasSelector = function(elm) {
25 return $(elm).is(':has(.bogo-locale-options)');
26 }
27
28 _bogo.selector = function(id) {
29 var $selector = $('<fieldset class="bogo-locale-options"></fieldset>');
30
31 if (_bogo.availableLanguages) {
32 var $legend = $('<legend></legend>').append(_bogo.selectorLegend);
33 $selector.append($legend);
34
35 $.each(_bogo.availableLanguages, function(i, val) {
36 var checked = false;
37
38 if (! _bogo.locales[id] || -1 < $.inArray(i, _bogo.locales[id])) {
39 checked = true;
40 }
41
42 $selector.append(_bogo.checkbox(id, i, checked));
43 });
44 }
45
46 return $selector;
47 }
48
49 _bogo.checkbox = function(id, locale, checked) {
50 var prefix = _bogo.cbPrefix || 'bogo-locale';
51 var name_attr = prefix + '[' + id + '][]';
52 var id_attr = 'edit-' + prefix + '-' + id + '-' + locale;
53
54 var $cb = $('<input type="checkbox" />');
55 $cb.attr('name', name_attr);
56 $cb.attr('id', id_attr);
57 $cb.attr('value', locale);
58 $cb.prop('checked', checked);
59
60 var $label = $('<label class="bogo-locale-option"></label>');
61 $label.attr('for', id_attr);
62 $label.append(_bogo.langName(locale));
63
64 if (checked) {
65 $label.addClass('checked');
66 }
67
68 return $label.prepend($cb);
69 }
70
71 _bogo.langName = function(locale) {
72 return _bogo.availableLanguages[locale] || '';
73 }
74
75 })(jQuery);