drag_and_drop_tabs

by Michael Barros

HTML

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/themes/smoothness/jquery-ui.css">
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script>
<div class="main-container">
    <div class="holder">
        <div tabindex="1" class="bar">test.mesa</div>
        <div tabindex="2" class="bar">testHelpers.mesa</div>
    </div>

    <div class="holder">
        <div tabindex="1" class="bar">testCommon.mesa</div>
        <div tabindex="2" class="bar">testFunctions.mesa</div>
    </div>
</div>

CSS

.bar {
    color: #a4a4a4;
    display: inline-block;
    float: left;
    background: #313131;
    max-width: 250px;
    height: 20px;
    margin-bottom: 2px;
    cursor: default;
    text-align: center;
    vertical-align: middle;
    line-height: 20px;
    padding: 5px;
}

.bar:focus {
    background-color: #1e1e1e;
    outline: none;
}

.main-container {
    width: 100%;
    display : grid;
}

JavaScript

console.clear();

$('.holder').sortable({
    connectWith: '.holder',
    start: function( event, ui ) {
        ui.item[0].focus();
    },
    update: function( event, ui ) {
        ui.item[0].focus();
    }
}).disableSelection();

var c1 = c2 = 0;

$(".bar")[0].focus();

$(".bar").on("click", function() {
    this.focus();
});