JSFiddle - React, Tailwind, and code Playground

by siliconsoul

HTML

<link rel="stylesheet" href="http://cdn.kendostatic.com/2013.2.918/styles/kendo.common.min.css">
<link rel="stylesheet" href="http://cdn.kendostatic.com/2013.2.918/styles/kendo.default.min.css">
<script src="http://cdn.kendostatic.com/2013.2.918/js/kendo.all.min.js"></script>
<div id="model">
    <div id="js-struc-doc-treeview" class="struc-doc-treeview"
        data-role="treeview"
        data-drag-and-drop="true"
        data-text-field="title"
        data-spritecssclass-field="type"
        data-template="treeview-template"
        data-bind="source: sectionsTreeDataSource"
    ></div>
</div>

<script id="treeview-template" type="text/kendo-ui-template">
    <span data-section-id="#: item.ID #" >
        <span class="section-number">#: item.stringNumber #</span>
        <span class="title">#: item.title #</span>
    </span>
</script>

JavaScript

var sectionsData = [
    {
        ID: 1,
        parentID: null,
        documentID: 2,
        number: 1,
        stringNumber: '1.',
        title: 'General',
        description: 'Test',
        isBodyExpanded: true, 
        expanded: true, 
        isNumbered: true,
        items: [],
        hasChildren: true,
    },
    {
        ID: 2,
        parentID: null,
        documentID: 2,
        number: 2,
        stringNumber: '2.',
        title: 'Environment',
        description: '',
        isBodyExpanded: true,
        expanded: true,
        isNumbered: true,
        items: [],
        hasChildren: true,
    },
    {
        ID: 3,
        parentID: 2,
        documentID: 2,
        number: 1,
        stringNumber: '2.1.',
        title: 'Eco ',
        description: 'Test',
        isBodyExpanded: true,
        expanded: true,
        isNumbered: true,
        questions: [],
        items: [],
        hasChildren: false,
    },
    {
        ID: 4,
        parentID: 2,
        documentID: 2,
        number: 2,
        stringNumber: '2.2.',
        title: 'Marks',
        description: 'Test',
        isBodyExpanded: true,
        expanded: true,
        isNumbered: true,
        questions: [],
        items: [],
        hasChildren: false,
    },
    {
        ID: 5,
        parentID: null,
        documentID: 2,
        number: 3,
        stringNumber: '3.',
        title: 'Quality',
        description: '',
        isBodyExpanded: true,
        expanded: true,
        isNumbered: true,
        questions: [],
        items: [],
        hasChildren: false,
    }
];


var sectionsTreeDataSource = new kendo.data.HierarchicalDataSource({
    transport: {
        read: function (options) {

            var treeJSON = sectionsViewModel.generateTreeJSON(sectionsData);
            options.success(treeJSON);
        },
    },
    schema: {
        data: function(data) {
            return data || [];
        },
        model: { 
            id: 'ID',
           ...