public/dashboard/bower_components/jQuery-contextMenu/src/jquery.contextMenu.js
function(e) {
            e.stopPropagation();
            var opt = $(this).data('contextMenu') || {};

            // obtain currently selected menu
            if (opt.$selected) {
                var $s = opt.$selected;
                opt = opt.$selected.parent().data('contextMenu') || {};
                opt.$selected = $s;
            }
            
            var $children = opt.$menu.children(),
                $prev = !opt.$selected || !opt.$selected.prev().length ? $children.last() : opt.$selected.prev(),
                $round = $prev;
            
            // skip disabled
            while ($prev.hasClass('disabled') || $prev.hasClass('not-selectable')) {
                if ($prev.prev().length) {
                    $prev = $prev.prev();
                } else {
                    $prev = $children.last();
                }
                if ($prev.is($round)) {
                    // break endless loop
                    return;
                }
            }
            
            // leave current
            if (opt.$selected) {
                handle.itemMouseleave.call(opt.$selected.get(0), e);
            }
            
            // activate next
            handle.itemMouseenter.call($prev.get(0), e);
            
            // focus input
            var $input = $prev.find('input, textarea, select');
            if ($input.length) {
                $input.focus();
            }
        }
function(e) {
            e.stopPropagation();
            var opt = $(this).data('contextMenu') || {};

            // obtain currently selected menu
            if (opt.$selected) {
                var $s = opt.$selected;
                opt = opt.$selected.parent().data('contextMenu') || {};
                opt.$selected = $s;
            }
            
            var $children = opt.$menu.children(),
                $prev = !opt.$selected || !opt.$selected.prev().length ? $children.last() : opt.$selected.prev(),
                $round = $prev;
            
            // skip disabled
            while ($prev.hasClass('disabled') || $prev.hasClass('not-selectable')) {
                if ($prev.prev().length) {
                    $prev = $prev.prev();
                } else {
                    $prev = $children.last();
                }
                if ($prev.is($round)) {
                    // break endless loop
                    return;
                }
            }
            
            // leave current
            if (opt.$selected) {
                handle.itemMouseleave.call(opt.$selected.get(0), e);
            }
            
            // activate next
            handle.itemMouseenter.call($prev.get(0), e);
            
            // focus input
            var $input = $prev.find('input, textarea, select');
            if ($input.length) {
                $input.focus();
            }
        }
function ( e ) { e . stopPropagation ( ) ; var opt = $ ( this ) . data ( 'contextMenu' ) || { } ; // obtain currently selected menu if ( opt . $selected ) { var $s = opt . $selected ; opt = opt . $selected . parent ( ) . data ( 'contextMenu' ) || { } ; opt . $selected = $s ; } var $children = opt . $menu . children ( ) , $prev = ! opt . $selected || ! opt . $selected . prev ( ) . length ? $children . last ( ) : opt . $selected . prev ( ) , $round = $prev ; // skip disabled while ( $prev . hasClass ( 'disabled' ) || $prev . hasClass ( 'not-selectable' ) ) { if ( $prev . prev ( ) . length ) { $prev = $prev . prev ( ) ; } else { $prev = $children . last ( ) ; } if ( $prev . is ( $round ) ) { // break endless loop return ; } } // leave current if ( opt . $selected ) { handle . itemMouseleave . call ( opt . $selected . get ( 0 ) , e ) ; } // activate next handle . itemMouseenter . call ( $prev . get ( 0 ) , e ) ; // focus input var $input = $prev . find ( 'input, textarea, select' ) ; if ( $input . length ) { $input . focus ( ) ; } }
select previous possible command in menu
select previous possible command in menu