JSFiddle - React, Tailwind, and code Playground
by Sean Wessell
HTML
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Drag and Drop Lists</title>
<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.9.2/jquery-ui.min.js"></script>
<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
<style>
.droptrue {
min-height: 100px;
}
</style>
<!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!--[if lt IE 9]>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/html5shiv.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dest/respond.min.js"></script>
<![endif]-->
<script>
var COM = window.external;
$(function() {
$("ul.droptrue").sortable({
connectWith: "ul",
remove: function(e, ui) {
if (ui.item.hasClass('required')) return false;
}
});
$("#sortable1, #sortable2").disableSelection();
var RequiredFields = COM.required.split(',');
var AvailableFields = COM.fields.split(',');
for (let index = 0; index < RequiredFields.length; ++index) {
var fieldname = RequiredFields[index];
var $li = $('<li>').addClass('list-group-item required list-group-item-info').data('fieldname', fieldname).html(fieldname + '<span class="badge" style="background-color:skyblue;">Required</span>').appendTo('#RequiredList')
}
for (let index = 0; index <...