JSFiddle - React, Tailwind, and code Playground

HTML

<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.14/themes/base/jquery-ui.css">
<div id="tree">
</div>

CSS

ul#createTree {
    margin:0px;
    padding:0px;
}
ul#createTree li ul {
    margin:0px 0px 0px 20px;
    padding:0px;
}
.drop-active {
    background: #ffff99;
}
.droparea {
    background:#ccc;
    height:70px;
}

JavaScript

var jsonObj = {
    "department": {
        "Title1": [
            {
            "child1": "Green",
            "child2": "Yellow"},

        {
            "child3": "Black",
            "child4": "White"}
        ],
        "Title2": [
            {
            "child5": "Violet",
            "child6": "purple"},
        {
            "child7": "Pink",
            "child8": "Orange"}
        ]
    }
}
$(document).ready(function() {
    var treeList = "";
    var listTree = 0;
    var innerTree = 0;

    treeList = "<ul id=\"createTree\" class=\"droptrue\">";
    for (var key in jsonObj) {
        //alert("key: " + key + ", value: " + jsonObj[key])
        for (var skey in jsonObj[key]) {
            treeList += ("<li class=\"listTree\" id=\"asdf\">" + skey + "<ul id=\""+skey+"\">");
            for (var sskey in jsonObj[key][skey]) {
                for (var ssskey in jsonObj[key][skey][sskey]) {
                    treeList += ("<li class=\"innerList\">" + jsonObj[key][skey][sskey][ssskey] + "</li>");
                }
            }
            treeList += "</ul></li>";
        }
    }
    treeList += "</ul>";

    $('#tree').append(treeList);


    $(".listTree ul").sortable({
        revert: true
    });


     $("#Title1 li").draggable({
        helper: "clone",
        cursor: 'hand',
        revert: 'invalid',
        connectToSortable: "#Title2",
    });
    
        $("#Title2 li").draggable({
        helper: "clone",
        cursor: 'hand',
        revert: 'invalid',
        connectToSortable: "#Title1",
    }); 
    $( "ul, li" ).disableSelection();

});