source: trunk/www.guidonia.net/wp/wp-admin/js/common.dev.js@ 44

Last change on this file since 44 was 44, checked in by luciano, 15 years ago
File size: 8.1 KB
Line 
1var showNotice, adminMenu, columns;
2(function($){
3// sidebar admin menu
4adminMenu = {
5
6 init : function() {
7 $('#adminmenu div.wp-menu-toggle').each( function() {
8 if ( $(this).siblings('.wp-submenu').length )
9 $(this).click(function(){ adminMenu.toggle( $(this).siblings('.wp-submenu') ); });
10 else
11 $(this).hide();
12 });
13
14 this.favorites();
15
16 $('a.separator').click(function(){
17 if ( $('body').hasClass('folded') ) {
18 adminMenu.fold(1);
19 deleteUserSetting( 'mfold' );
20 } else {
21 adminMenu.fold();
22 setUserSetting( 'mfold', 'f' );
23 }
24 return false;
25 });
26
27 if ( $('body').hasClass('folded') ) {
28 this.fold();
29 }
30 this.restoreMenuState();
31 },
32
33 restoreMenuState : function() {
34 $('#adminmenu li.wp-has-submenu').each(function(i, e) {
35 var v = getUserSetting( 'm'+i );
36 if ( $(e).hasClass('wp-has-current-submenu') ) return true; // leave the current parent open
37
38 if ( 'o' == v ) $(e).addClass('wp-menu-open');
39 else if ( 'c' == v ) $(e).removeClass('wp-menu-open');
40 });
41 },
42
43 toggle : function(el) {
44
45 el['slideToggle'](150, function(){el.css('display','');}).parent().toggleClass( 'wp-menu-open' );
46
47 $('#adminmenu li.wp-has-submenu').each(function(i, e) {
48 var v = $(e).hasClass('wp-menu-open') ? 'o' : 'c';
49 setUserSetting( 'm'+i, v );
50 });
51
52 return false;
53 },
54
55 fold : function(off) {
56 if (off) {
57 $('body').removeClass('folded');
58 $('#adminmenu li.wp-has-submenu').unbind();
59 } else {
60 $('body').addClass('folded');
61 $('#adminmenu li.wp-has-submenu').hoverIntent({
62 over: function(e){
63 var m, b, h, o, f;
64 m = $(this).find('.wp-submenu');
65 b = m.parent().offset().top + m.height() + 1; // Bottom offset of the menu
66 h = $('#wpwrap').height(); // Height of the entire page
67 o = 60 + b - h;
68 f = $(window).height() + $('body').scrollTop() - 15; // The fold
69 if (f < (b - o)) {
70 o = b - f;
71 }
72 if (o > 1) {
73 m.css({'marginTop':'-'+o+'px'});
74 } else if ( m.css('marginTop') ) {
75 m.css({'marginTop':''});
76 }
77 m.addClass('sub-open');
78 },
79 out: function(){ $(this).find('.wp-submenu').removeClass('sub-open').css({'marginTop':''}); },
80 timeout: 220,
81 sensitivity: 8,
82 interval: 100
83 });
84
85 }
86 },
87
88 favorites : function() {
89 $('#favorite-inside').width($('#favorite-actions').width()-4);
90 $('#favorite-toggle, #favorite-inside').bind( 'mouseenter', function(){$('#favorite-inside').removeClass('slideUp').addClass('slideDown'); setTimeout(function(){if ( $('#favorite-inside').hasClass('slideDown') ) { $('#favorite-inside').slideDown(100); $('#favorite-first').addClass('slide-down'); }}, 200) } );
91
92 $('#favorite-toggle, #favorite-inside').bind( 'mouseleave', function(){$('#favorite-inside').removeClass('slideDown').addClass('slideUp'); setTimeout(function(){if ( $('#favorite-inside').hasClass('slideUp') ) { $('#favorite-inside').slideUp(100, function(){ $('#favorite-first').removeClass('slide-down'); } ); }}, 300) } );
93 }
94};
95
96$(document).ready(function(){adminMenu.init();});
97
98// show/hide/save table columns
99columns = {
100 init : function() {
101 $('.hide-column-tog').click( function() {
102 var column = $(this).val(), show = $(this).attr('checked');
103 if ( show ) {
104 $('.column-' + column).show();
105 } else {
106 $('.column-' + column).hide();
107 }
108 columns.save_manage_columns_state();
109 } );
110 },
111
112 save_manage_columns_state : function() {
113 var hidden = $('.manage-column').filter(':hidden').map(function() { return this.id; }).get().join(',');
114 $.post(ajaxurl, {
115 action: 'hidden-columns',
116 hidden: hidden,
117 screenoptionnonce: $('#screenoptionnonce').val(),
118 page: pagenow
119 });
120 }
121}
122
123$(document).ready(function(){columns.init();});
124
125})(jQuery);
126
127// stub for doing better warnings
128showNotice = {
129 warn : function() {
130 var msg = commonL10n.warnDelete || '';
131 if ( confirm(msg) ) {
132 return true;
133 }
134
135 return false;
136 },
137
138 note : function(text) {
139 alert(text);
140 }
141};
142
143jQuery(document).ready( function($) {
144 var lastClicked = false, checks, first, last, checked;
145
146 // pulse
147 $('.fade').animate( { backgroundColor: '#ffffe0' }, 300).animate( { backgroundColor: '#fffbcc' }, 300).animate( { backgroundColor: '#ffffe0' }, 300).animate( { backgroundColor: '#fffbcc' }, 300);
148
149 // Move .updated and .error alert boxes
150 $('div.wrap h2 ~ div.updated, div.wrap h2 ~ div.error').addClass('below-h2');
151 $('div.updated, div.error').not('.below-h2').insertAfter('div.wrap h2:first');
152
153 // show warnings
154 $('#doaction, #doaction2').click(function(){
155 if ( $('select[name="action"]').val() == 'delete' || $('select[name="action2"]').val() == 'delete' ) {
156 return showNotice.warn();
157 }
158 });
159
160 // screen settings tab
161 $('#show-settings-link').click(function () {
162 if ( ! $('#screen-options-wrap').hasClass('screen-options-open') ) {
163 $('#contextual-help-link-wrap').css('visibility', 'hidden');
164 }
165 $('#screen-options-wrap').slideToggle('fast', function(){
166 if ( $(this).hasClass('screen-options-open') ) {
167 $('#show-settings-link').css({'backgroundImage':'url("images/screen-options-right.gif")'});
168 $('#contextual-help-link-wrap').css('visibility', '');
169 $(this).removeClass('screen-options-open');
170 } else {
171 $('#show-settings-link').css({'backgroundImage':'url("images/screen-options-right-up.gif")'});
172 $(this).addClass('screen-options-open');
173 }
174 });
175 return false;
176 });
177
178 // help tab
179 $('#contextual-help-link').click(function () {
180 if ( ! $('#contextual-help-wrap').hasClass('contextual-help-open') ) {
181 $('#screen-options-link-wrap').css('visibility', 'hidden');
182 }
183 $('#contextual-help-wrap').slideToggle('fast', function(){
184 if ( $(this).hasClass('contextual-help-open') ) {
185 $('#contextual-help-link').css({'backgroundImage':'url("images/screen-options-right.gif")'});
186 $('#screen-options-link-wrap').css('visibility', '');
187 $(this).removeClass('contextual-help-open');
188 } else {
189 $('#contextual-help-link').css({'backgroundImage':'url("images/screen-options-right-up.gif")'});
190 $(this).addClass('contextual-help-open');
191 }
192 });
193 return false;
194 });
195 $('#contextual-help-link-wrap, #screen-options-link-wrap').show();
196
197 // check all checkboxes
198 $( 'table:visible tbody .check-column :checkbox' ).click( function(e) {
199 if ( 'undefined' == e.shiftKey ) { return true; }
200 if ( e.shiftKey ) {
201 if ( !lastClicked ) { return true; }
202 checks = $( lastClicked ).parents( 'form:first' ).find( ':checkbox' );
203 first = checks.index( lastClicked );
204 last = checks.index( this );
205 checked = $(this).attr('checked');
206 if ( 0 < first && 0 < last && first != last ) {
207 checks.slice( first, last ).attr( 'checked', function(){
208 if ( $(this).parents('tr').is(':visible') )
209 return checked ? 'checked' : '';
210
211 return '';
212 });
213 }
214 }
215 lastClicked = this;
216 return true;
217 } );
218 $( 'thead :checkbox, tfoot :checkbox' ).click( function(e) {
219 var c = $(this).attr('checked'), kbtoggle = 'undefined' == typeof toggleWithKeyboard ? false : toggleWithKeyboard, toggle = e.shiftKey || kbtoggle;
220
221
222 $(this).parents( 'form:first' ).find( 'table tbody:visible' ).find( '.check-column :checkbox' ).attr( 'checked', function() {
223 if ( $(this).parents('tr').is(':hidden') )
224 return '';
225 if ( toggle )
226 return $(this).attr( 'checked' ) ? '' : 'checked';
227 else if (c)
228 return 'checked';
229 return '';
230 });
231 $(this).parents( 'form:first' ).find( 'table thead:visible, table tfoot:visible').find( '.check-column :checkbox' ).attr( 'checked', function() {
232 if ( toggle )
233 return '';
234 else if (c)
235 return 'checked';
236 return '';
237 });
238 });
239 $('#default-password-nag-no').click( function() {
240 setUserSetting('default_password_nag', 'hide');
241 $('div.default-password-nag').hide();
242 return false;
243 });
244
245
246});
247
248jQuery(document).ready( function($){
249 var turboNag = $('.turbo-nag');
250
251 if ( !turboNag.length || ('undefined' != typeof(google) && google.gears) )
252 return;
253
254 if ( 'undefined' != typeof GearsFactory ) {
255 return;
256 } else {
257 try {
258 if ( ( 'undefined' != typeof window.ActiveXObject && ActiveXObject('Gears.Factory') ) ||
259 ( 'undefined' != typeof navigator.mimeTypes && navigator.mimeTypes['application/x-googlegears'] ) ) {
260 return;
261 }
262 } catch(e){}
263 }
264
265 turboNag.show();
266
267});
Note: See TracBrowser for help on using the repository browser.