Вход Регистрация
Файл: wordpress/wp-includes/js/jquery/jquery.table-hotkeys.js
Строк: 122
<?php
(function($){
    $.
fn.filter_visible = function(depth) {
        
depth depth || 3;
        var 
is_visible = function() {
            var 
= $(this), i;
            for(
i=0i<depth-1; ++i) {
                if (!
p.is(':visible')) return false;
                
p.parent();
            }
            return 
true;
        };
        return 
this.filter(is_visible);
    };
    $.
table_hotkeys = function(tablekeysopts) {
        
opts = $.extend($.table_hotkeys.defaultsopts);
        var 
selected_classdestructive_classset_current_rowadjacent_row_callbackget_adjacent_rowadjacent_rowprev_rownext_rowcheckget_first_rowget_last_rowmake_key_callbackfirst_row;
        
        
selected_class opts.class_prefix opts.selected_suffix;
        
destructive_class opts.class_prefix opts.destructive_suffix;
        
set_current_row = function (tr) {
            if ($.
table_hotkeys.current_row) $.table_hotkeys.current_row.removeClass(selected_class);
            
tr.addClass(selected_class);
            
tr[0].scrollIntoView(false);
            $.
table_hotkeys.current_row tr;
        };
        
adjacent_row_callback = function(which) {
            if (!
adjacent_row(which) && $.isFunction(opts[which+'_page_link_cb'])) {
                
opts[which+'_page_link_cb']();
            }
        };
        
get_adjacent_row = function(which) {
            var 
first_rowmethod;
            
            if (!$.
table_hotkeys.current_row) {
                
first_row get_first_row();
                $.
table_hotkeys.current_row first_row;
                return 
first_row[0];
            }
            
method 'prev' == which? $.fn.prevAll : $.fn.nextAll;
            return 
method.call($.table_hotkeys.current_rowopts.cycle_expr).filter_visible()[0];
        };
        
adjacent_row = function(which) {
            var 
adj get_adjacent_row(which);
            if (!
adj) return false;
            
set_current_row($(adj));
            return 
true;
        };
        
prev_row = function() { return adjacent_row('prev'); };
        
next_row = function() { return adjacent_row('next'); };
        
check = function() {
            $(
opts.checkbox_expr, $.table_hotkeys.current_row).each(function() {
                
this.checked = !this.checked;
            });
        };
        
get_first_row = function() {
            return $(
opts.cycle_exprtable).filter_visible().eq(opts.start_row_index);
        };
        
get_last_row = function() {
            var 
rows = $(opts.cycle_exprtable).filter_visible();
            return 
rows.eq(rows.length-1);
        };
        
make_key_callback = function(expr) {
            return function() {
                if ( 
null == $.table_hotkeys.current_row ) return false;
                var 
clickable = $(expr, $.table_hotkeys.current_row);
                if (!
clickable.length) return false;
                if (
clickable.is('.'+destructive_class)) next_row() || prev_row();
                
clickable.click();
            };
        };
        
first_row get_first_row();
        if (!
first_row.length) return;
        if (
opts.highlight_first)
            
set_current_row(first_row);
        else if (
opts.highlight_last)
            
set_current_row(get_last_row());
        $.
hotkeys.add(opts.prev_keyopts.hotkeys_opts, function() {return adjacent_row_callback('prev');});
        $.
hotkeys.add(opts.next_keyopts.hotkeys_opts, function() {return adjacent_row_callback('next');});
        $.
hotkeys.add(opts.mark_keyopts.hotkeys_optscheck);
        $.
each(keys, function() {
            var 
callbackkey;
            
            if ($.
isFunction(this[1])) {
                
callback this[1];
                
key this[0];
                $.
hotkeys.add(keyopts.hotkeys_opts, function(event) { return callback(event, $.table_hotkeys.current_row); });
            } else {
                
key this;
                $.
hotkeys.add(keyopts.hotkeys_optsmake_key_callback('.'+opts.class_prefix+key));
            }
        });

    };
    $.
table_hotkeys.current_row null;
    $.
table_hotkeys.defaults = {cycle_expr'tr'class_prefix'vim-'selected_suffix'current',
        
destructive_suffix'destructive'hotkeys_opts: {disableInInputtruetype'keypress'},
        
checkbox_expr':checkbox'next_key'j'prev_key'k'mark_key'x',
        
start_row_index2highlight_firstfalsehighlight_lastfalsenext_page_link_cbfalseprev_page_link_cbfalse};
})(
jQuery);
?>
Онлайн: 1
Реклама