JSFiddle - React, Tailwind, and code Playground

by Brandon DSouza

JavaScript

$(function () {

	    var components = [{
	        id: 1,
	        parent: 0,
	        code: "A",
	        description: "component A"
	    }, {
	        id: 2,
	        parent: 0,
	        code: "B",
	        description: "component B"
	    }, {
	        id: 3,
	        parent: 1,
	        code: '.1',
	        description: 'sub component 1'
	    }, {
	        id: 4,
	        parent: 1,
	        code: '.2',
	        description: 'sub component 2'
	    }, {
	        id: 5,
	        parent: 2,
	        code: '.1',
	        description: 'sub component 1'
	    }, {
	        id: 6,
	        parent: 2,
	        code: '.2',
	        description: 'sub component 2'
	    }, {
	        id: 7,
	        parent: 5,
	        code: '..1',
	        description: 'sub sub component 1'
	    }, {
	        id: 8,
	        parent: 5,
	        code: '..2',
	        description: 'sub sub component 2'
	    }, {
	        id: 9,
	        parent: 6,
	        code: '..1',
	        description: 'sub sub component 1'
	    }, {
	        id: 10,
	        parent: 5,
	        code: '..2',
	        description: 'sub sub component 2'
	    }];

	    //	    var parent2 = $.grep(components, function (key, item) {
	    //	        return (key.parent == 2);
	    //	    });

	    var parent2 = getchildren(components, 2);

	    //	    $.each(parent2, function (key, value) {
	    //	        alert(value.id + ': ' + value.parent);
	    //	    });

	    //var test = getItem(components, 10);
	    //alert(test.id+ ': ' + test.parent);
	    var test = getcode(components, 10);
	    alert(test);

	});

	function getchildren(array, parentid) {
	    return $.grep(array, function (key, item) {
	        return (key.parent == parentid);
	    });
	}

	function getcode(array, id) {
        var object=getItem(array, id);
	    if (object.parent != 0) {
		    //alert('parent: ' + object.parent);
	        return (getcode(array, object.parent) + object.code);
	    } else {
		    //alert('root: ' + object.parent);
	        return...