at path:ROOT / wp-includes / js / wp-lists.js
run:R W Run
DIR
2026-03-11 16:18:51
R W Run
DIR
2026-03-11 16:18:51
R W Run
DIR
2026-03-11 16:18:51
R W Run
DIR
2026-03-11 16:18:51
R W Run
DIR
2026-03-11 16:18:51
R W Run
DIR
2026-03-11 16:18:51
R W Run
DIR
2026-03-11 16:18:51
R W Run
DIR
2026-03-11 16:18:51
R W Run
DIR
2026-03-11 16:18:51
R W Run
DIR
2026-03-11 16:18:51
R W Run
DIR
2026-03-11 16:18:51
R W Run
10.3 KB
2026-03-11 16:18:51
R W Run
3.41 KB
2026-03-11 16:18:51
R W Run
3.25 KB
2026-03-11 16:18:51
R W Run
1023 By
2026-03-11 16:18:51
R W Run
21.95 KB
2026-03-11 16:18:51
R W Run
5.67 KB
2026-03-11 16:18:51
R W Run
78.51 KB
2026-03-11 16:18:51
R W Run
23.73 KB
2026-03-11 16:18:51
R W Run
26.18 KB
2026-03-11 16:18:51
R W Run
8.8 KB
2026-03-11 16:18:51
R W Run
28.4 KB
2026-03-11 16:18:51
R W Run
16.11 KB
2026-03-11 16:18:51
R W Run
12.22 KB
2026-03-11 16:18:51
R W Run
2.96 KB
2026-03-11 16:18:51
R W Run
25.22 KB
2026-03-11 16:18:51
R W Run
7.67 KB
2026-03-11 16:18:51
R W Run
7.72 KB
2026-03-11 16:18:51
R W Run
3.47 KB
2026-03-11 16:18:51
R W Run
6.66 KB
2026-03-11 16:18:51
R W Run
3.59 KB
2026-03-11 16:18:51
R W Run
14.67 KB
2026-03-11 16:18:51
R W Run
4.92 KB
2026-03-11 16:18:51
R W Run
22.71 KB
2026-03-11 16:18:51
R W Run
7.64 KB
2026-03-11 16:18:51
R W Run
27.93 KB
2026-03-11 16:18:51
R W Run
10.75 KB
2026-03-11 16:18:51
R W Run
32.55 KB
2026-03-11 16:18:51
R W Run
10.44 KB
2026-03-11 16:18:51
R W Run
5.1 KB
2026-03-11 16:18:51
R W Run
2.51 KB
2026-03-11 16:18:51
R W Run
23.49 KB
2026-03-11 16:18:51
R W Run
5.81 KB
2026-03-11 16:18:51
R W Run
7.06 KB
2026-03-11 16:18:51
R W Run
1.46 KB
2026-03-11 16:18:51
R W Run
1.68 KB
2026-03-11 16:18:51
R W Run
5.39 KB
2026-03-11 16:18:51
R W Run
31 By
2026-03-11 16:18:51
R W Run
35 By
2026-03-11 16:18:51
R W Run
23.57 KB
2026-03-11 16:18:51
R W Run
25.24 KB
2026-03-11 16:18:51
R W Run
9.54 KB
2026-03-11 16:18:51
R W Run
24.24 KB
2026-03-11 16:18:51
R W Run
11.77 KB
2026-03-11 16:18:51
R W Run
28.44 KB
2026-03-11 16:18:51
R W Run
10.63 KB
2026-03-11 16:18:51
R W Run
26.15 KB
2026-03-11 16:18:51
R W Run
12.98 KB
2026-03-11 16:18:51
R W Run
42.58 KB
2026-03-11 16:18:51
R W Run
12.97 KB
2026-03-11 16:18:51
R W Run
266.99 KB
2026-03-11 16:18:51
R W Run
108.18 KB
2026-03-11 16:18:51
R W Run
22.07 KB
2026-03-11 16:18:51
R W Run
10.87 KB
2026-03-11 16:18:51
R W Run
10.51 KB
2026-03-11 16:18:51
R W Run
2.58 KB
2026-03-11 16:18:51
R W Run
0 By
2026-03-11 16:18:51
R W Run
35 By
2026-03-11 16:18:51
R W Run
4.85 KB
2026-03-11 16:18:51
R W Run
3.21 KB
2026-03-11 16:18:51
R W Run
36.32 KB
2026-03-11 16:18:51
R W Run
19.39 KB
2026-03-11 16:18:51
R W Run
67.12 KB
2026-03-11 16:18:51
R W Run
18.46 KB
2026-03-11 16:18:51
R W Run
4.56 KB
2026-03-11 16:18:51
R W Run
1.82 KB
2026-03-11 16:18:51
R W Run
3.81 KB
2026-03-11 16:18:51
R W Run
2.51 KB
2026-03-11 16:18:51
R W Run
45.88 KB
2026-03-11 16:18:51
R W Run
14.34 KB
2026-03-11 16:18:51
R W Run
4.11 KB
2026-03-11 16:18:51
R W Run
1.62 KB
2026-03-11 16:18:51
R W Run
14.88 KB
2026-03-11 16:18:51
R W Run
2.97 KB
2026-03-11 16:18:51
R W Run
10.22 KB
2026-03-11 16:18:51
R W Run
4.34 KB
2026-03-11 16:18:51
R W Run
6.62 KB
2026-03-11 16:18:51
R W Run
3.1 KB
2026-03-11 16:18:51
R W Run
3.14 KB
2026-03-11 16:18:51
R W Run
1.22 KB
2026-03-11 16:18:51
R W Run
12.89 KB
2026-03-11 16:18:51
R W Run
2.82 KB
2026-03-11 16:18:51
R W Run
22.23 KB
2026-03-11 16:18:51
R W Run
8.59 KB
2026-03-11 16:18:51
R W Run
2.79 KB
2026-03-11 16:18:51
R W Run
970 By
2026-03-11 16:18:51
R W Run
597 By
2026-03-11 16:18:51
R W Run
24.72 KB
2026-03-11 16:18:51
R W Run
7.34 KB
2026-03-11 16:18:51
R W Run
9.99 KB
2026-03-11 16:18:51
R W Run
3.54 KB
2026-03-11 16:18:51
R W Run
1.3 KB
2026-03-11 16:18:51
R W Run
444 By
2026-03-11 16:18:51
R W Run
4.58 KB
2026-03-11 16:18:51
R W Run
1.4 KB
2026-03-11 16:18:51
R W Run
569 By
2026-03-11 16:18:51
R W Run
281 By
2026-03-11 16:18:51
R W Run
20.74 KB
2026-03-11 16:18:51
R W Run
11.05 KB
2026-03-11 16:18:51
R W Run
821 By
2026-03-11 16:18:51
R W Run
351 By
2026-03-11 16:18:51
R W Run
802.97 KB
2026-03-11 16:18:51
R W Run
error_log
📄wp-lists.js
1/**
2 * @output wp-includes/js/wp-lists.js
3 */
4
5/* global ajaxurl, wpAjax */
6
7/**
8 * @param {jQuery} $ jQuery object.
9 */
10( function( $ ) {
11var functions = {
12 add: 'ajaxAdd',
13 del: 'ajaxDel',
14 dim: 'ajaxDim',
15 process: 'process',
16 recolor: 'recolor'
17}, wpList;
18
19/**
20 * @namespace
21 */
22wpList = {
23
24 /**
25 * @member {object}
26 */
27 settings: {
28
29 /**
30 * URL for Ajax requests.
31 *
32 * @member {string}
33 */
34 url: ajaxurl,
35
36 /**
37 * The HTTP method to use for Ajax requests.
38 *
39 * @member {string}
40 */
41 type: 'POST',
42
43 /**
44 * ID of the element the parsed Ajax response will be stored in.
45 *
46 * @member {string}
47 */
48 response: 'ajax-response',
49
50 /**
51 * The type of list.
52 *
53 * @member {string}
54 */
55 what: '',
56
57 /**
58 * CSS class name for alternate styling.
59 *
60 * @member {string}
61 */
62 alt: 'alternate',
63
64 /**
65 * Offset to start alternate styling from.
66 *
67 * @member {number}
68 */
69 altOffset: 0,
70
71 /**
72 * Color used in animation when adding an element.
73 *
74 * Can be 'none' to disable the animation.
75 *
76 * @member {string}
77 */
78 addColor: '#ffff33',
79
80 /**
81 * Color used in animation when deleting an element.
82 *
83 * Can be 'none' to disable the animation.
84 *
85 * @member {string}
86 */
87 delColor: '#faafaa',
88
89 /**
90 * Color used in dim add animation.
91 *
92 * Can be 'none' to disable the animation.
93 *
94 * @member {string}
95 */
96 dimAddColor: '#ffff33',
97
98 /**
99 * Color used in dim delete animation.
100 *
101 * Can be 'none' to disable the animation.
102 *
103 * @member {string}
104 */
105 dimDelColor: '#ff3333',
106
107 /**
108 * Callback that's run before a request is made.
109 *
110 * @callback wpList~confirm
111 * @param {object} this
112 * @param {HTMLElement} list The list DOM element.
113 * @param {object} settings Settings for the current list.
114 * @param {string} action The type of action to perform: 'add', 'delete', or 'dim'.
115 * @param {string} backgroundColor Background color of the list's DOM element.
116 * @return {boolean} Whether to proceed with the action or not.
117 */
118 confirm: null,
119
120 /**
121 * Callback that's run before an item gets added to the list.
122 *
123 * Allows to cancel the request.
124 *
125 * @callback wpList~addBefore
126 * @param {object} settings Settings for the Ajax request.
127 * @return {object|boolean} Settings for the Ajax request or false to abort.
128 */
129 addBefore: null,
130
131 /**
132 * Callback that's run after an item got added to the list.
133 *
134 * @callback wpList~addAfter
135 * @param {XML} returnedResponse Raw response returned from the server.
136 * @param {object} settings Settings for the Ajax request.
137 * @param {jqXHR} settings.xml jQuery XMLHttpRequest object.
138 * @param {string} settings.status Status of the request: 'success', 'notmodified', 'nocontent', 'error',
139 * 'timeout', 'abort', or 'parsererror'.
140 * @param {object} settings.parsed Parsed response object.
141 */
142 addAfter: null,
143
144 /**
145 * Callback that's run before an item gets deleted from the list.
146 *
147 * Allows to cancel the request.
148 *
149 * @callback wpList~delBefore
150 * @param {object} settings Settings for the Ajax request.
151 * @param {HTMLElement} list The list DOM element.
152 * @return {object|boolean} Settings for the Ajax request or false to abort.
153 */
154 delBefore: null,
155
156 /**
157 * Callback that's run after an item got deleted from the list.
158 *
159 * @callback wpList~delAfter
160 * @param {XML} returnedResponse Raw response returned from the server.
161 * @param {object} settings Settings for the Ajax request.
162 * @param {jqXHR} settings.xml jQuery XMLHttpRequest object.
163 * @param {string} settings.status Status of the request: 'success', 'notmodified', 'nocontent', 'error',
164 * 'timeout', 'abort', or 'parsererror'.
165 * @param {object} settings.parsed Parsed response object.
166 */
167 delAfter: null,
168
169 /**
170 * Callback that's run before an item gets dim'd.
171 *
172 * Allows to cancel the request.
173 *
174 * @callback wpList~dimBefore
175 * @param {object} settings Settings for the Ajax request.
176 * @return {object|boolean} Settings for the Ajax request or false to abort.
177 */
178 dimBefore: null,
179
180 /**
181 * Callback that's run after an item got dim'd.
182 *
183 * @callback wpList~dimAfter
184 * @param {XML} returnedResponse Raw response returned from the server.
185 * @param {object} settings Settings for the Ajax request.
186 * @param {jqXHR} settings.xml jQuery XMLHttpRequest object.
187 * @param {string} settings.status Status of the request: 'success', 'notmodified', 'nocontent', 'error',
188 * 'timeout', 'abort', or 'parsererror'.
189 * @param {object} settings.parsed Parsed response object.
190 */
191 dimAfter: null
192 },
193
194 /**
195 * Finds a nonce.
196 *
197 * 1. Nonce in settings.
198 * 2. `_ajax_nonce` value in element's href attribute.
199 * 3. `_ajax_nonce` input field that is a descendant of element.
200 * 4. `_wpnonce` value in element's href attribute.
201 * 5. `_wpnonce` input field that is a descendant of element.
202 * 6. 0 if none can be found.
203 *
204 * @param {jQuery} element Element that triggered the request.
205 * @param {Object} settings Settings for the Ajax request.
206 * @return {string|number} Nonce
207 */
208 nonce: function( element, settings ) {
209 var url = wpAjax.unserialize( element.attr( 'href' ) ),
210 $element = $( '#' + settings.element );
211
212 return settings.nonce || url._ajax_nonce || $element.find( 'input[name="_ajax_nonce"]' ).val() || url._wpnonce || $element.find( 'input[name="_wpnonce"]' ).val() || 0;
213 },
214
215 /**
216 * Extract list item data from a DOM element.
217 *
218 * Example 1: data-wp-lists="delete:the-comment-list:comment-{comment_ID}:66cc66:unspam=1"
219 * Example 2: data-wp-lists="dim:the-comment-list:comment-{comment_ID}:unapproved:e7e7d3:e7e7d3:new=approved"
220 *
221 * Returns an unassociative array with the following data:
222 * data[0] - Data identifier: 'list', 'add', 'delete', or 'dim'.
223 * data[1] - ID of the corresponding list. If data[0] is 'list', the type of list ('comment', 'category', etc).
224 * data[2] - ID of the parent element of all inputs necessary for the request.
225 * data[3] - Hex color to be used in this request. If data[0] is 'dim', dim class.
226 * data[4] - Additional arguments in query syntax that are added to the request. Example: 'post_id=1234'.
227 * If data[0] is 'dim', dim add color.
228 * data[5] - Only available if data[0] is 'dim', dim delete color.
229 * data[6] - Only available if data[0] is 'dim', additional arguments in query syntax that are added to the request.
230 *
231 * Result for Example 1:
232 * data[0] - delete
233 * data[1] - the-comment-list
234 * data[2] - comment-{comment_ID}
235 * data[3] - 66cc66
236 * data[4] - unspam=1
237 *
238 * @param {HTMLElement} element The DOM element.
239 * @param {string} type The type of data to look for: 'list', 'add', 'delete', or 'dim'.
240 * @return {Array} Extracted list item data.
241 */
242 parseData: function( element, type ) {
243 var data = [], wpListsData;
244
245 try {
246 wpListsData = $( element ).data( 'wp-lists' ) || '';
247 wpListsData = wpListsData.match( new RegExp( type + ':[\\S]+' ) );
248
249 if ( wpListsData ) {
250 data = wpListsData[0].split( ':' );
251 }
252 } catch ( error ) {}
253
254 return data;
255 },
256
257 /**
258 * Calls a confirm callback to verify the action that is about to be performed.
259 *
260 * @param {HTMLElement} list The DOM element.
261 * @param {Object} settings Settings for this list.
262 * @param {string} action The type of action to perform: 'add', 'delete', or 'dim'.
263 * @return {Object|boolean} Settings if confirmed, false if not.
264 */
265 pre: function( list, settings, action ) {
266 var $element, backgroundColor, confirmed;
267
268 settings = $.extend( {}, this.wpList.settings, {
269 element: null,
270 nonce: 0,
271 target: list.get( 0 )
272 }, settings || {} );
273
274 if ( typeof settings.confirm === 'function' ) {
275 $element = $( '#' + settings.element );
276
277 if ( 'add' !== action ) {
278 backgroundColor = $element.css( 'backgroundColor' );
279 $element.css( 'backgroundColor', '#ff9966' );
280 }
281
282 confirmed = settings.confirm.call( this, list, settings, action, backgroundColor );
283
284 if ( 'add' !== action ) {
285 $element.css( 'backgroundColor', backgroundColor );
286 }
287
288 if ( ! confirmed ) {
289 return false;
290 }
291 }
292
293 return settings;
294 },
295
296 /**
297 * Adds an item to the list via Ajax.
298 *
299 * @param {HTMLElement} element The DOM element.
300 * @param {Object} settings Settings for this list.
301 * @return {boolean} Whether the item was added.
302 */
303 ajaxAdd: function( element, settings ) {
304 var list = this,
305 $element = $( element ),
306 data = wpList.parseData( $element, 'add' ),
307 formValues, formData, parsedResponse, returnedResponse;
308
309 settings = settings || {};
310 settings = wpList.pre.call( list, $element, settings, 'add' );
311
312 settings.element = data[2] || $element.prop( 'id' ) || settings.element || null;
313 settings.addColor = data[3] ? '#' + data[3] : settings.addColor;
314
315 if ( ! settings ) {
316 return false;
317 }
318
319 if ( ! $element.is( '[id="' + settings.element + '-submit"]' ) ) {
320 return ! wpList.add.call( list, $element, settings );
321 }
322
323 if ( ! settings.element ) {
324 return true;
325 }
326
327 settings.action = 'add-' + settings.what;
328 settings.nonce = wpList.nonce( $element, settings );
329
330 if ( ! wpAjax.validateForm( '#' + settings.element ) ) {
331 return false;
332 }
333
334 settings.data = $.param( $.extend( {
335 _ajax_nonce: settings.nonce,
336 action: settings.action
337 }, wpAjax.unserialize( data[4] || '' ) ) );
338
339 formValues = $( '#' + settings.element + ' :input' ).not( '[name="_ajax_nonce"], [name="_wpnonce"], [name="action"]' );
340 formData = typeof formValues.fieldSerialize === 'function' ? formValues.fieldSerialize() : formValues.serialize();
341
342 if ( formData ) {
343 settings.data += '&' + formData;
344 }
345
346 if ( typeof settings.addBefore === 'function' ) {
347 settings = settings.addBefore( settings );
348
349 if ( ! settings ) {
350 return true;
351 }
352 }
353
354 if ( ! settings.data.match( /_ajax_nonce=[a-f0-9]+/ ) ) {
355 return true;
356 }
357
358 settings.success = function( response ) {
359 parsedResponse = wpAjax.parseAjaxResponse( response, settings.response, settings.element );
360 returnedResponse = response;
361
362 if ( ! parsedResponse || parsedResponse.errors ) {
363 return false;
364 }
365
366 if ( true === parsedResponse ) {
367 return true;
368 }
369
370 $.each( parsedResponse.responses, function() {
371 wpList.add.call( list, this.data, $.extend( {}, settings, { // this.firstChild.nodevalue
372 position: this.position || 0,
373 id: this.id || 0,
374 oldId: this.oldId || null
375 } ) );
376 } );
377
378 list.wpList.recolor();
379 $( list ).trigger( 'wpListAddEnd', [ settings, list.wpList ] );
380 wpList.clear.call( list, '#' + settings.element );
381 };
382
383 settings.complete = function( jqXHR, status ) {
384 if ( typeof settings.addAfter === 'function' ) {
385 settings.addAfter( returnedResponse, $.extend( {
386 xml: jqXHR,
387 status: status,
388 parsed: parsedResponse
389 }, settings ) );
390 }
391 };
392
393 $.ajax( settings );
394
395 return false;
396 },
397
398 /**
399 * Delete an item in the list via Ajax.
400 *
401 * @param {HTMLElement} element A DOM element containing item data.
402 * @param {Object} settings Settings for this list.
403 * @return {boolean} Whether the item was deleted.
404 */
405 ajaxDel: function( element, settings ) {
406 var list = this,
407 $element = $( element ),
408 data = wpList.parseData( $element, 'delete' ),
409 $eventTarget, parsedResponse, returnedResponse;
410
411 settings = settings || {};
412 settings = wpList.pre.call( list, $element, settings, 'delete' );
413
414 settings.element = data[2] || settings.element || null;
415 settings.delColor = data[3] ? '#' + data[3] : settings.delColor;
416
417 if ( ! settings || ! settings.element ) {
418 return false;
419 }
420
421 settings.action = 'delete-' + settings.what;
422 settings.nonce = wpList.nonce( $element, settings );
423
424 settings.data = $.extend( {
425 _ajax_nonce: settings.nonce,
426 action: settings.action,
427 id: settings.element.split( '-' ).pop()
428 }, wpAjax.unserialize( data[4] || '' ) );
429
430 if ( typeof settings.delBefore === 'function' ) {
431 settings = settings.delBefore( settings, list );
432
433 if ( ! settings ) {
434 return true;
435 }
436 }
437
438 if ( ! settings.data._ajax_nonce ) {
439 return true;
440 }
441
442 $eventTarget = $( '#' + settings.element );
443
444 if ( 'none' !== settings.delColor ) {
445 $eventTarget.css( 'backgroundColor', settings.delColor ).fadeOut( 350, function() {
446 list.wpList.recolor();
447 $( list ).trigger( 'wpListDelEnd', [ settings, list.wpList ] );
448 } );
449 } else {
450 list.wpList.recolor();
451 $( list ).trigger( 'wpListDelEnd', [ settings, list.wpList ] );
452 }
453
454 settings.success = function( response ) {
455 parsedResponse = wpAjax.parseAjaxResponse( response, settings.response, settings.element );
456 returnedResponse = response;
457
458 if ( ! parsedResponse || parsedResponse.errors ) {
459 $eventTarget.stop().stop().css( 'backgroundColor', '#faa' ).show().queue( function() {
460 list.wpList.recolor();
461 $( this ).dequeue();
462 } );
463
464 return false;
465 }
466 };
467
468 settings.complete = function( jqXHR, status ) {
469 if ( typeof settings.delAfter === 'function' ) {
470 $eventTarget.queue( function() {
471 settings.delAfter( returnedResponse, $.extend( {
472 xml: jqXHR,
473 status: status,
474 parsed: parsedResponse
475 }, settings ) );
476 } ).dequeue();
477 }
478 };
479
480 $.ajax( settings );
481
482 return false;
483 },
484
485 /**
486 * Dim an item in the list via Ajax.
487 *
488 * @param {HTMLElement} element A DOM element containing item data.
489 * @param {Object} settings Settings for this list.
490 * @return {boolean} Whether the item was dim'ed.
491 */
492 ajaxDim: function( element, settings ) {
493 var list = this,
494 $element = $( element ),
495 data = wpList.parseData( $element, 'dim' ),
496 $eventTarget, isClass, color, dimColor, parsedResponse, returnedResponse;
497
498 // Prevent hidden links from being clicked by hotkeys.
499 if ( 'none' === $element.parent().css( 'display' ) ) {
500 return false;
501 }
502
503 settings = settings || {};
504 settings = wpList.pre.call( list, $element, settings, 'dim' );
505
506 settings.element = data[2] || settings.element || null;
507 settings.dimClass = data[3] || settings.dimClass || null;
508 settings.dimAddColor = data[4] ? '#' + data[4] : settings.dimAddColor;
509 settings.dimDelColor = data[5] ? '#' + data[5] : settings.dimDelColor;
510
511 if ( ! settings || ! settings.element || ! settings.dimClass ) {
512 return true;
513 }
514
515 settings.action = 'dim-' + settings.what;
516 settings.nonce = wpList.nonce( $element, settings );
517
518 settings.data = $.extend( {
519 _ajax_nonce: settings.nonce,
520 action: settings.action,
521 id: settings.element.split( '-' ).pop(),
522 dimClass: settings.dimClass
523 }, wpAjax.unserialize( data[6] || '' ) );
524
525 if ( typeof settings.dimBefore === 'function' ) {
526 settings = settings.dimBefore( settings );
527
528 if ( ! settings ) {
529 return true;
530 }
531 }
532
533 $eventTarget = $( '#' + settings.element );
534 isClass = $eventTarget.toggleClass( settings.dimClass ).is( '.' + settings.dimClass );
535 color = wpList.getColor( $eventTarget );
536 dimColor = isClass ? settings.dimAddColor : settings.dimDelColor;
537 $eventTarget.toggleClass( settings.dimClass );
538
539 if ( 'none' !== dimColor ) {
540 $eventTarget
541 .animate( { backgroundColor: dimColor }, 'fast' )
542 .queue( function() {
543 $eventTarget.toggleClass( settings.dimClass );
544 $( this ).dequeue();
545 } )
546 .animate( { backgroundColor: color }, {
547 complete: function() {
548 $( this ).css( 'backgroundColor', '' );
549 $( list ).trigger( 'wpListDimEnd', [ settings, list.wpList ] );
550 }
551 } );
552 } else {
553 $( list ).trigger( 'wpListDimEnd', [ settings, list.wpList ] );
554 }
555
556 if ( ! settings.data._ajax_nonce ) {
557 return true;
558 }
559
560 settings.success = function( response ) {
561 parsedResponse = wpAjax.parseAjaxResponse( response, settings.response, settings.element );
562 returnedResponse = response;
563
564 if ( true === parsedResponse ) {
565 return true;
566 }
567
568 if ( ! parsedResponse || parsedResponse.errors ) {
569 $eventTarget.stop().stop().css( 'backgroundColor', '#ff3333' )[isClass ? 'removeClass' : 'addClass']( settings.dimClass ).show().queue( function() {
570 list.wpList.recolor();
571 $( this ).dequeue();
572 } );
573
574 return false;
575 }
576
577 /** @property {string} comment_link Link of the comment to be dimmed. */
578 if ( 'undefined' !== typeof parsedResponse.responses[0].supplemental.comment_link ) {
579 var $submittedOn = $element.find( '.submitted-on' ),
580 $commentLink = $submittedOn.find( 'a' );
581
582 // Comment is approved; link the date field.
583 if ( '' !== parsedResponse.responses[0].supplemental.comment_link ) {
584 $submittedOn.html( $('<a></a>').text( $submittedOn.text() ).prop( 'href', parsedResponse.responses[0].supplemental.comment_link ) );
585
586 // Comment is not approved; unlink the date field.
587 } else if ( $commentLink.length ) {
588 $submittedOn.text( $commentLink.text() );
589 }
590 }
591 };
592
593 settings.complete = function( jqXHR, status ) {
594 if ( typeof settings.dimAfter === 'function' ) {
595 $eventTarget.queue( function() {
596 settings.dimAfter( returnedResponse, $.extend( {
597 xml: jqXHR,
598 status: status,
599 parsed: parsedResponse
600 }, settings ) );
601 } ).dequeue();
602 }
603 };
604
605 $.ajax( settings );
606
607 return false;
608 },
609
610 /**
611 * Returns the background color of the passed element.
612 *
613 * @param {jQuery|string} element Element to check.
614 * @return {string} Background color value in HEX. Default: '#ffffff'.
615 */
616 getColor: function( element ) {
617 return $( element ).css( 'backgroundColor' ) || '#ffffff';
618 },
619
620 /**
621 * Adds something.
622 *
623 * @param {HTMLElement} element A DOM element containing item data.
624 * @param {Object} settings Settings for this list.
625 * @return {boolean} Whether the item was added.
626 */
627 add: function( element, settings ) {
628 var $list = $( this ),
629 $element = $( element ),
630 old = false,
631 position, reference;
632
633 if ( 'string' === typeof settings ) {
634 settings = { what: settings };
635 }
636
637 settings = $.extend( { position: 0, id: 0, oldId: null }, this.wpList.settings, settings );
638
639 if ( ! $element.length || ! settings.what ) {
640 return false;
641 }
642
643 if ( settings.oldId ) {
644 old = $( '#' + settings.what + '-' + settings.oldId );
645 }
646
647 if ( settings.id && ( settings.id !== settings.oldId || ! old || ! old.length ) ) {
648 $( '#' + settings.what + '-' + settings.id ).remove();
649 }
650
651 if ( old && old.length ) {
652 old.before( $element );
653 old.remove();
654
655 } else if ( isNaN( settings.position ) ) {
656 position = 'after';
657
658 if ( '-' === settings.position.substr( 0, 1 ) ) {
659 settings.position = settings.position.substr( 1 );
660 position = 'before';
661 }
662
663 reference = $list.find( '#' + settings.position );
664
665 if ( 1 === reference.length ) {
666 reference[position]( $element );
667 } else {
668 $list.append( $element );
669 }
670
671 } else if ( 'comment' !== settings.what || 0 === $( '#' + settings.element ).length ) {
672 if ( settings.position < 0 ) {
673 $list.prepend( $element );
674 } else {
675 $list.append( $element );
676 }
677 }
678
679 if ( settings.alt ) {
680 $element.toggleClass( settings.alt, ( $list.children( ':visible' ).index( $element[0] ) + settings.altOffset ) % 2 );
681 }
682
683 if ( 'none' !== settings.addColor ) {
684 $element.css( 'backgroundColor', settings.addColor ).animate( { backgroundColor: wpList.getColor( $element ) }, {
685 complete: function() {
686 $( this ).css( 'backgroundColor', '' );
687 }
688 } );
689 }
690
691 // Add event handlers.
692 $list.each( function( index, list ) {
693 list.wpList.process( $element );
694 } );
695
696 return $element;
697 },
698
699 /**
700 * Clears all input fields within the element passed.
701 *
702 * @param {string} elementId ID of the element to check, including leading #.
703 */
704 clear: function( elementId ) {
705 var list = this,
706 $element = $( elementId ),
707 type, tagName;
708
709 // Bail if we're within the list.
710 if ( list.wpList && $element.parents( '#' + list.id ).length ) {
711 return;
712 }
713
714 // Check each input field.
715 $element.find( ':input' ).each( function( index, input ) {
716
717 // Bail if the form was marked to not to be cleared.
718 if ( $( input ).parents( '.form-no-clear' ).length ) {
719 return;
720 }
721
722 type = input.type.toLowerCase();
723 tagName = input.tagName.toLowerCase();
724
725 if ( 'text' === type || 'password' === type || 'textarea' === tagName ) {
726 input.value = '';
727
728 } else if ( 'checkbox' === type || 'radio' === type ) {
729 input.checked = false;
730
731 } else if ( 'select' === tagName ) {
732 input.selectedIndex = null;
733 }
734 } );
735 },
736
737 /**
738 * Registers event handlers to add, delete, and dim items.
739 *
740 * @param {string} elementId
741 */
742 process: function( elementId ) {
743 var list = this,
744 $element = $( elementId || document );
745
746 $element.on( 'submit', 'form[data-wp-lists^="add:' + list.id + ':"]', function() {
747 return list.wpList.add( this );
748 } );
749
750 $element.on( 'click', '[data-wp-lists^="add:' + list.id + ':"], input[data-wp-lists^="add:' + list.id + ':"]', function() {
751 return list.wpList.add( this );
752 } );
753
754 $element.on( 'click', '[data-wp-lists^="delete:' + list.id + ':"]', function() {
755 return list.wpList.del( this );
756 } );
757
758 $element.on( 'click', '[data-wp-lists^="dim:' + list.id + ':"]', function() {
759 return list.wpList.dim( this );
760 } );
761 },
762
763 /**
764 * Updates list item background colors.
765 */
766 recolor: function() {
767 var list = this,
768 evenOdd = [':even', ':odd'],
769 items;
770
771 // Bail if there is no alternate class name specified.
772 if ( ! list.wpList.settings.alt ) {
773 return;
774 }
775
776 items = $( '.list-item:visible', list );
777
778 if ( ! items.length ) {
779 items = $( list ).children( ':visible' );
780 }
781
782 if ( list.wpList.settings.altOffset % 2 ) {
783 evenOdd.reverse();
784 }
785
786 items.filter( evenOdd[0] ).addClass( list.wpList.settings.alt ).end();
787 items.filter( evenOdd[1] ).removeClass( list.wpList.settings.alt );
788 },
789
790 /**
791 * Sets up `process()` and `recolor()` functions.
792 */
793 init: function() {
794 var $list = this;
795
796 $list.wpList.process = function( element ) {
797 $list.each( function() {
798 this.wpList.process( element );
799 } );
800 };
801
802 $list.wpList.recolor = function() {
803 $list.each( function() {
804 this.wpList.recolor();
805 } );
806 };
807 }
808};
809
810/**
811 * Initializes wpList object.
812 *
813 * @param {Object} settings
814 * @param {string} settings.url URL for ajax calls. Default: ajaxurl.
815 * @param {string} settings.type The HTTP method to use for Ajax requests. Default: 'POST'.
816 * @param {string} settings.response ID of the element the parsed ajax response will be stored in.
817 * Default: 'ajax-response'.
818 *
819 * @param {string} settings.what Default: ''.
820 * @param {string} settings.alt CSS class name for alternate styling. Default: 'alternate'.
821 * @param {number} settings.altOffset Offset to start alternate styling from. Default: 0.
822 * @param {string} settings.addColor Hex code or 'none' to disable animation. Default: '#ffff33'.
823 * @param {string} settings.delColor Hex code or 'none' to disable animation. Default: '#faafaa'.
824 * @param {string} settings.dimAddColor Hex code or 'none' to disable animation. Default: '#ffff33'.
825 * @param {string} settings.dimDelColor Hex code or 'none' to disable animation. Default: '#ff3333'.
826 *
827 * @param {wpList~confirm} settings.confirm Callback that's run before a request is made. Default: null.
828 * @param {wpList~addBefore} settings.addBefore Callback that's run before an item gets added to the list.
829 * Default: null.
830 * @param {wpList~addAfter} settings.addAfter Callback that's run after an item got added to the list.
831 * Default: null.
832 * @param {wpList~delBefore} settings.delBefore Callback that's run before an item gets deleted from the list.
833 * Default: null.
834 * @param {wpList~delAfter} settings.delAfter Callback that's run after an item got deleted from the list.
835 * Default: null.
836 * @param {wpList~dimBefore} settings.dimBefore Callback that's run before an item gets dim'd. Default: null.
837 * @param {wpList~dimAfter} settings.dimAfter Callback that's run after an item got dim'd. Default: null.
838 * @return {$.fn} wpList API function.
839 */
840$.fn.wpList = function( settings ) {
841 this.each( function( index, list ) {
842 list.wpList = {
843 settings: $.extend( {}, wpList.settings, { what: wpList.parseData( list, 'list' )[1] || '' }, settings )
844 };
845
846 $.each( functions, function( func, callback ) {
847 list.wpList[func] = function( element, setting ) {
848 return wpList[callback].call( list, element, setting );
849 };
850 } );
851 } );
852
853 wpList.init.call( this );
854 this.wpList.process();
855
856 return this;
857};
858} ) ( jQuery );
859
Ui Ux Design – Teachers Night Out https://cardgames4educators.com Wed, 16 Oct 2024 22:24:18 +0000 en-US hourly 1 https://wordpress.org/?v=6.9.4 https://cardgames4educators.com/wp-content/uploads/2024/06/cropped-Card-4-Educators-logo-32x32.png Ui Ux Design – Teachers Night Out https://cardgames4educators.com 32 32 Masters In English How English Speaker https://cardgames4educators.com/masters-in-english-how-english-speaker/ https://cardgames4educators.com/masters-in-english-how-english-speaker/#comments Mon, 27 May 2024 08:54:45 +0000 https://themexriver.com/wp/kadu/?p=1

Erat himenaeos neque id sagittis massa. Hac suscipit pulvinar dignissim platea magnis eu. Don tellus a pharetra inceptos efficitur dui pulvinar. Feugiat facilisis penatibus pulvinar nunc dictumst donec odio platea habitasse. Lacus porta dolor purus elit ante bibendum tortor netus taciti nullam cubilia. Erat per suspendisse placerat morbi egestas pulvinar bibendum sollicitudin nec. Euismod cubilia eleifend velit himenaeos sodales lectus. Leo maximus cras ac porttitor aliquam torquent pulvinar odio volutpat parturient. Quisque risus finibus suspendisse mus purus magnis facilisi condimentum consectetur dui. Curae elit suspendisse cursus vehicula.

Turpis taciti class non vel pretium quis pulvinar tempor lobortis nunc. Libero phasellus parturient sapien volutpat malesuada ornare. Cubilia dignissim sollicitudin rhoncus lacinia maximus. Cras lorem fermentum bibendum pellentesque nisl etiam ligula enim cubilia. Vulputate pede sapien torquent montes tempus malesuada in mattis dis turpis vitae. Porta est tempor ex eget feugiat vulputate ipsum. Justo nec iaculis habitant diam arcu fermentum.

We offer comprehen sive emplo ment services such as assistance wit employer compliance.Our company is your strategic HR partner as instead of HR. john smithson

Cubilia dignissim sollicitudin rhoncus lacinia maximus. Cras lorem fermentum bibendum pellentesque nisl etiam ligula enim cubilia. Vulputate pede sapien torquent montes tempus malesuada in mattis dis turpis vitae.

Exploring Learning Landscapes in Academic

Feugiat facilisis penatibus pulvinar nunc dictumst donec odio platea habitasse. Lacus porta dolor purus elit ante bibendum tortor netus taciti nullam cubilia. Erat per suspendisse placerat morbi egestas pulvinar bibendum sollicitudin nec. Euismod cubilia eleifend velit himenaeos sodales lectus. Leo maximus cras ac porttitor aliquam torquent.

]]>
https://cardgames4educators.com/masters-in-english-how-english-speaker/feed/ 1