JSFiddle - React, Tailwind, and code Playground
by paulbarrett
HTML
<div id="tabs-left" class="tab-pane">
<ul class="tabs">
<li><a href="#tabs-1">Nunc tincidunt</a></li>
<li><a href="#tabs-2">Proin dolor</a></li>
<li><a href="#tabs-3">Aenean lacinia</a></li>
</ul>
<div id="tabs-1">
<p>Granular engage: platforms; models ecologies share e-markets markets user-centred methodologies? Clicks-and-mortar visualize enhance deliverables target authentic functionalities authentic harness value-added maximize e-services, "distributed," rss-capable eyeballs content web-enabled. Scale recontextualize e-business killer, applications killer, generate streamline dynamic user-centred reinvent wikis reinvent scalable best-of-breed enable web-enabled rss-capable best-of-breed granular transparent integrate! Scale, cultivate B2C tag, efficient monetize, next-generation feeds ROI infrastructures harness bleeding-edge embrace networks synergies matrix social e-enable e-enable web-readiness deploy. A-list redefine cross-media social supply-chains repurpose recontextualize generate ROI compelling collaborative, solutions; deliverables implement, enhance</p>
</div>
<div id="tabs-2">
<p>Aggregate; web-enabled tagclouds out-of-the-box productize grow vortals; streamline; disintermediate open-source enterprise mindshare. Sexy integrated frictionless user-centric target world-class integrateAJAX-enabled innovate, 24/7 deploy collaborative frictionless; systems experiences. Niches open-source scale post turn-key networkeffects cutting-edge</p>
</div>
<div id="tabs-3">
<p>Turn-key innovative transparent e-tailers integrate supply-chains granular channels expedite drive enable sexy interactive bandwidth solutions networkeffects. Integrated citizen-media streamline mission-critical maximize deliverables mesh create whiteboard e-business value, empower? Facilitate, blogospheres global e-markets compelling rss-capable seize.</p>
</div>
</div>
<!--right side-->
<div id="tabs-right" class="tab-pane">
<ul...
JavaScript
var tabs = $( ".tab-pane" ).tabs();
tabs.find( ".ui-tabs-nav li" ).draggable({
connectToSortable : '.ui-tabs-nav',
helper : 'clone',
revert : 'invalid',
cursor : 'move'
});
tabs.find( ".ui-tabs-nav" ).droppable({
accept: ".ui-tabs-nav li",
drop : function (ev, ui) {
test = $(ui.draggable).find('a').attr("href");
$(test).appendTo($(this).parent());
tabs.tabs( "refresh" );
}
}).sortable({
//axis: "x",
connectWith : $(".tab-pane"),
over : function (ev, ui) {
var $target_UL = $(ui.placeholder).parent(),
targetWidth = $target_UL.width(),
helperWidth = ui.helper.width(),
padding = parseInt(ui.helper.css('paddingLeft'))
+ parseInt(ui.helper.css('paddingRight'))
+ parseInt(ui.helper.css('borderLeftWidth'))
+ parseInt(ui.helper.css('borderRightWidth'));
ui.helper.height('auto').width(targetWidth - padding);
var id = $(ui.item);
},
receive: function (ev, ui) { // add this handler
ui.item.remove(); // remove original item
tabs.tabs("refresh");
}
});