Вход Регистрация
Файл: wordpress/wp-includes/js/wp-lists.js
Строк: 364
<?php
/* global ajaxurl, wpAjax */
(function($) {
var 
fs = {add:'ajaxAdd',del:'ajaxDel',dim:'ajaxDim',process:'process',recolor:'recolor'}, wpList;

wpList = {
    
settings: {
        
urlajaxurltype'POST',
        
response'ajax-response',

        
what'',
        
alt'alternate'altOffset0,
        
addColornulldelColornulldimAddColornulldimDelColornull,

        
confirmnull,
        
addBeforenulladdAfternull,
        
delBeforenulldelAfternull,
        
dimBeforenulldimAfternull
    
},

    
nonce: function(e,s) {
        var 
url wpAjax.unserialize(e.attr('href'));
        return 
s.nonce || url._ajax_nonce || $('#' s.element ' input[name="_ajax_nonce"]').val() || url._wpnonce || $('#' s.element ' input[name="_wpnonce"]').val() || 0;
    },

    
parseData: function(e,t) {
        var 
= [], wpListsData;

        try {
            
wpListsData = $(e).attr('data-wp-lists') || '';
            
wpListsData wpListsData.match(new RegExp(t+':[\S]+'));

            if ( 
wpListsData )
                
wpListsData[0].split(':');
        } catch(
r) {}

        return 
d;
    },

    
pre: function(e,s,a) {
        var 
bgr;

        
= $.extend( {}, this.wpList.settings, {
            
elementnull,
            
nonce0,
            
targete.get(0)
        }, 
|| {} );

        if ( $.
isFunctions.confirm ) ) {
            if ( 
'add' != ) {
                
bg = $('#' s.element).css('backgroundColor');
                $(
'#' s.element).css('backgroundColor''#FF9966');
            }
            
s.confirm.call(thisesabg);

            if ( 
'add' != )
                $(
'#' s.element).css('backgroundColor'bg );

            if ( !
)
                return 
false;
        }

        return 
s;
    },

    
ajaxAdd: function( e) {
        
= $(e);
        
|| {};
        var list = 
thisdata wpList.parseData(e,'add'), esvalidformDataresrres;

        
wpList.pre.call( list, es'add' );

        
s.element data[2] || e.attr'id' ) || s.element || null;

        if ( 
data[3] )
            
s.addColor '#' data[3];
        else
            
s.addColor s.addColor || '#FFFF33';

        if ( !
)
            return 
false;

        if ( !
e.is('[id="' s.element '-submit"]') )
            return !
wpList.add.call( list, e);

        if ( !
s.element )
            return 
true;

        
s.action 'add-' s.what;

        
s.nonce wpList.nonce(e,s);

        
es = $('#' s.element ' :input').not('[name="_ajax_nonce"], [name="_wpnonce"], [name="action"]');
        
valid wpAjax.validateForm'#' s.element );

        if ( !
valid )
            return 
false;

        
s.data = $.param( $.extend( { _ajax_nonces.nonceactions.action }, wpAjax.unserializedata[4] || '' ) ) );
        
formData = $.isFunction(es.fieldSerialize) ? es.fieldSerialize() : es.serialize();

        if ( 
formData )
            
s.data += '&' formData;

        if ( $.
isFunction(s.addBefore) ) {
            
s.addBefore);
            if ( !
)
                return 
true;
        }

        if ( !
s.data.match(/_ajax_nonce=[a-f0-9]+/) )
            return 
true;

        
s.success = function(r) {
            
res wpAjax.parseAjaxResponse(rs.responses.element);

            
rres r;

            if ( !
res || res.errors )
                return 
false;

            if ( 
true === res )
                return 
true;

            
jQuery.eachres.responses, function() {
                
wpList.add.call( list, this.data, $.extend( {}, s, { // this.firstChild.nodevalue
                    
posthis.position || 0,
                    
idthis.id || 0,
                    
oldIdthis.oldId || null
                
} ) );
            } );

            list.
wpList.recolor();
            $(list).
trigger'wpListAddEnd', [ s, list.wpList ] );
            
wpList.clear.call(list,'#' s.element);
        };

        
s.complete = function(xst) {
            if ( $.
isFunction(s.addAfter) ) {
                var 
_s = $.extend( { xmlxstatusstparsedres }, );
                
s.addAfterrres_s );
            }
        };

        $.
ajax);
        return 
false;
    },

    
ajaxDel: function( e) {
        
= $(e);
        
|| {};
        var list = 
thisdata wpList.parseData(e,'delete'), elementresrres;

        
wpList.pre.call( list, es'delete' );

        
s.element data[2] || s.element || null;

        if ( 
data[3] )
            
s.delColor '#' data[3];
        else
            
s.delColor s.delColor || '#faa';

        if ( !
|| !s.element )
            return 
false;

        
s.action 'delete-' s.what;

        
s.nonce wpList.nonce(e,s);

        
s.data = $.extend(
            { 
actions.actionids.element.split('-').pop(), _ajax_nonces.nonce },
            
wpAjax.unserializedata[4] || '' )
        );

        if ( $.
isFunction(s.delBefore) ) {
            
s.delBefores, list );
            if ( !
)
                return 
true;
        }

        if ( !
s.data._ajax_nonce )
            return 
true;

        
element = $('#' s.element);

        if ( 
'none' != s.delColor ) {
            
element.css'backgroundColor's.delColor ).fadeOut350, function(){
                list.
wpList.recolor();
                $(list).
trigger'wpListDelEnd', [ s, list.wpList ] );
            });
        } else {
            list.
wpList.recolor();
            $(list).
trigger'wpListDelEnd', [ s, list.wpList ] );
        }

        
s.success = function(r) {
            
res wpAjax.parseAjaxResponse(rs.responses.element);
            
rres r;

            if ( !
res || res.errors ) {
                
element.stop().stop().css'backgroundColor''#faa' ).show().queue( function() { list.wpList.recolor(); $(this).dequeue(); } );
                return 
false;
            }
        };

        
s.complete = function(xst) {
            if ( $.
isFunction(s.delAfter) ) {
                
element.queue( function() {
                    var 
_s = $.extend( { xmlxstatusstparsedres }, );
                    
s.delAfterrres_s );
                }).
dequeue();
            }
        };

        $.
ajax);
        return 
false;
    },

    
ajaxDim: function( e) {
        if ( $(
e).parent().css('display') == 'none' // Prevent hidden links from being clicked by hotkeys
            
return false;

        
= $(e);
        
|| {};

        var list = 
thisdata wpList.parseData(e,'dim'), elementisClasscolordimColorresrres;

        
wpList.pre.call( list, es'dim' );

        
s.element data[2] || s.element || null;
        
s.dimClass =  data[3] || s.dimClass || null;

        if ( 
data[4] )
            
s.dimAddColor '#' data[4];
        else
            
s.dimAddColor s.dimAddColor || '#FFFF33';

        if ( 
data[5] )
            
s.dimDelColor '#' data[5];
        else
            
s.dimDelColor s.dimDelColor || '#FF3333';

        if ( !
|| !s.element || !s.dimClass )
            return 
true;

        
s.action 'dim-' s.what;

        
s.nonce wpList.nonce(e,s);

        
s.data = $.extend(
            { 
actions.actionids.element.split('-').pop(), dimClasss.dimClass_ajax_nonce s.nonce },
            
wpAjax.unserializedata[6] || '' )
        );

        if ( $.
isFunction(s.dimBefore) ) {
            
s.dimBefore);
            if ( !
)
                return 
true;
        }

        
element = $('#' s.element);
        
isClass element.toggleClass(s.dimClass).is('.' s.dimClass);
        
color wpList.getColorelement );
        
element.toggleClasss.dimClass );
        
dimColor isClass s.dimAddColor s.dimDelColor;

        if ( 
'none' != dimColor ) {
            
element
                
.animate( { backgroundColordimColor }, 'fast' )
                .
queue( function() { element.toggleClass(s.dimClass); $(this).dequeue(); } )
                .
animate( { backgroundColorcolor }, { complete: function() {
                        $(
this).css'backgroundColor''' );
                        $(list).
trigger'wpListDimEnd', [ s, list.wpList ] );
                    }
                });
        } else {
            $(list).
trigger'wpListDimEnd', [ s, list.wpList ] );
        }

        if ( !
s.data._ajax_nonce )
            return 
true;

        
s.success = function(r) {
            
res wpAjax.parseAjaxResponse(rs.responses.element);
            
rres r;

            if ( !
res || res.errors ) {
                
element.stop().stop().css'backgroundColor''#FF3333' )[isClass?'removeClass':'addClass'](s.dimClass).show().queue( function() { list.wpList.recolor(); $(this).dequeue(); } );
                return 
false;
            }
        };

        
s.complete = function(xst) {
            if ( $.
isFunction(s.dimAfter) ) {
                
element.queue( function() {
                    var 
_s = $.extend( { xmlxstatusstparsedres }, );
                    
s.dimAfterrres_s );
                }).
dequeue();
            }
        };

        $.
ajax);
        return 
false;
    },

    
getColor: function( el ) {
        var 
color jQuery(el).css('backgroundColor');

        return 
color || '#ffffff';
    },

    
add: function( e) {
        if ( 
'string' == typeof e ) {
            
= $( $.trim) ); // Trim leading whitespaces
        
} else {
            
= $( );
        }

        var list = $(
this), old false_s = { pos0id0oldIdnull }, barefcolor;

        if ( 
'string' == typeof s )
            
= { what};

        
= $.extend(_sthis.wpList.settingss);

        if ( !
e.size() || !s.what )
            return 
false;

        if ( 
s.oldId )
            
old = $('#' s.what '-' s.oldId);

        if ( 
s.id && ( s.id != s.oldId || !old || !old.size() ) )
            $(
'#' s.what '-' s.id).remove();

        if ( 
old && old.size() ) {
            
old.before(e);
            
old.remove();
        } else if ( 
isNaN(s.pos) ) {
            
ba 'after';

            if ( 
'-' == s.pos.substr(0,1) ) {
                
s.pos s.pos.substr(1);
                
ba 'before';
            }

            
ref = list.find'#' s.pos );

            if ( 
=== ref.size() )
                
ref[ba](e);
            else
                list.
append(e);

        } else if ( 
'comment' != s.what || === $('#' s.element).length ) {
            if ( 
s.pos ) {
                list.
prepend(e);
            } else {
                list.
append(e);
            }
        }

        if ( 
s.alt ) {
            if ( ( list.
children(':visible').indexe[0] ) + s.altOffset ) % ) { e.removeClasss.alt ); }
            else { 
e.addClasss.alt ); }
        }

        if ( 
'none' != s.addColor ) {
            
color wpList.getColor);
            
e.css'backgroundColor's.addColor ).animate( { backgroundColorcolor }, { complete: function() { $(this).css'backgroundColor''' ); } } );
        }
        list.
each( function() { this.wpList.process); } );
        return 
e;
    },

    
clear: function(e) {
        var list = 
thisttag;

        
= $(e);

        if ( list.
wpList && e.parents'#' + list.id ).size() )
            return;

        
e.find(':input').each( function() {
            if ( $(
this).parents('.form-no-clear').size() )
                return;

            
this.type.toLowerCase();
            
tag this.tagName.toLowerCase();

            if ( 
'text' == || 'password' == || 'textarea' == tag )
                
this.value '';
            else if ( 
'checkbox' == || 'radio' == )
                
this.checked false;
            else if ( 
'select' == tag )
                
this.selectedIndex null;
        });
    },

    
process: function(el) {
        var list = 
this,
            
$el = $(el || document);

        
$el.delegate'form[data-wp-lists^="add:' + list.id ':"]''submit', function(){
            return list.
wpList.add(this);
        });

        
$el.delegate'a[data-wp-lists^="add:' + list.id ':"], input[data-wp-lists^="add:' + list.id ':"]''click', function(){
            return list.
wpList.add(this);
        });

        
$el.delegate'[data-wp-lists^="delete:' + list.id ':"]''click', function(){
            return list.
wpList.del(this);
        });

        
$el.delegate'[data-wp-lists^="dim:' + list.id ':"]''click', function(){
            return list.
wpList.dim(this);
        });
    },

    
recolor: function() {
        var list = 
thisitemseo;

        if ( !list.
wpList.settings.alt )
            return;

        
items = $('.list-item:visible', list);

        if ( !
items.size() )
            
items = $(list).children(':visible');

        
eo = [':even',':odd'];

        if ( list.
wpList.settings.altOffset )
            
eo.reverse();

        
items.filter(eo[0]).addClass(list.wpList.settings.alt).end().filter(eo[1]).removeClass(list.wpList.settings.alt);
    },

    
init: function() {
        var 
lists this;

        
lists.wpList.process = function(a) {
            
lists.each( function() {
                
this.wpList.process(a);
            } );
        };

        
lists.wpList.recolor = function() {
            
lists.each( function() {
                
this.wpList.recolor();
            } );
        };
    }
};

$.
fn.wpList = function( settings ) {
    
this.each( function() {
        var 
_this this;

        
this.wpList = { settings: $.extend( {}, wpList.settings, { whatwpList.parseData(this,'list')[1] || '' }, settings ) };
        $.
eachfs, function(i,f) { _this.wpList[i] = function( e) { return wpList[f].call_thise); }; } );
    } );

    
wpList.init.call(this);

    
this.wpList.process();

    return 
this;
};

})(
jQuery);
?>
Онлайн: 3
Реклама