PluginProbe
Bogo / 2.7
Bogo v2.7
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.7, at admin/includes/js/admin.js

84 lines 2.1 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 $('body.nav-menus-php .menu-item').bogoAddLocaleSelector();
6 });
7
8 $(document).ajaxSuccess(function(event, request, settings) {
9 $('body.nav-menus-php .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 $(function() {
76 $('body.options-general-php select#WPLANG').each(function() {
77 $(this).find('option[selected="selected"]').removeAttr('selected');
78 var val = _bogo.defaultLocale || 'en_US';
79 val = ( 'en_US' == val ? '' : val );
80 $(this).find('option[value="' + val + '"]').first().attr('selected', 'selected');
81 });
82 });
83
84 })(jQuery);