JSFiddle - React, Tailwind, and code Playground

by georgianastasov

HTML

<script src="https://igniteui.com/js/modernizr.min.js"></script>
<script src="https://code.jquery.com/jquery-1.9.1.min.js"></script>
<script src="https://code.jquery.com/ui/1.10.3/jquery-ui.min.js"></script>
<script src="https://cdn-na.infragistics.com/igniteui/latest/js/infragistics.core.js"></script>
<script src="https://cdn-na.infragistics.com/igniteui/latest/js/infragistics.lob.js"></script>
<script src="https://igniteui.com/js-data/nw-products"></script>
<link href="https://cdn-na.infragistics.com/igniteui/latest/css/themes/infragistics/infragistics.theme.css" rel="stylesheet"></link>
<link href="https://cdn-na.infragistics.com/igniteui/latest/css/structure/infragistics.css" rel="stylesheet"></link>

<table id="grid"></table>

JavaScript

function htmlEncode(val) {
    if (val === null || val === undefined) return "";
    return String(val)
        .replace(/&/g, "&amp;")
        .replace(/</g, "&lt;")
        .replace(/>/g, "&gt;")
        .replace(/"/g, "&quot;")
        .replace(/'/g, "&#39;");
}

$(function () {
    $("#grid").igGrid({
        primaryKey: "ProductID",
        caption: "<span> <img src=\"//www.infragistics.com/media/441501/horz_logo.png\" alt=\"Infragistics\"></span>",
        width: '100%',
        height: "700px",
        columns: [
            { headerText: "Product ID", key: "ProductID", dataType: "number", width: "15%" },
            { headerText: "Product Name", key: "ProductName", dataType: "string", width: "25%", formatter: htmlEncode },
            { headerText: "Category", key: "CategoryName", dataType: "string", width: "25%", template: "${Category}" },
            { headerText: "Units In Stock", key: "InStock", dataType: "number", width: "35%" }
        ],
        autofitLastColumn: false,
        autoGenerateColumns: false,
        dataSource: northwindProducts,
        responseDataKey: "results",
        autoCommit: true,
        features: [
            {
                name: "Sorting",
                sortingDialogContainment: "window"
            },
            {
                name: "Filtering",
                type: "local",
                columnSettings: [
                    {
                        columnKey: "ImageUrl",
                        allowFiltering: false
                    },
                    {
                        columnKey: "InStock",
                        condition: "greaterThan"
                    }
                ]
            },
            {
                name: "GroupBy",
                columnSettings: [
                    {
                        columnKey: "CategoryName",
                        isGroupBy: true
                    }
                ]
           ...