JSFiddle - React, Tailwind, and code Playground

by TheNerdy97

HTML

<link href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.css" rel="stylesheet" />
<link href="//cdn.datatables.net/1.10.18/css/dataTables.bootstrap.css" rel="stylesheet" />
<link href="//cdn.datatables.net/responsive/2.2.2/css/responsive.bootstrap.css" rel="stylesheet" />
<link href="//cdn.datatables.net/select/1.3.0/css/select.bootstrap.css" rel="stylesheet" />
<link href="//cdn.datatables.net/buttons/1.5.6/css/buttons.bootstrap.css" rel="stylesheet" />



  



<div class="container">
  <h1>Table</h1>
  <table id="accountsTable" class="table table-striped table-bordered">

  </table>
</div>







<script src="//code.jquery.com/jquery-3.4.1.js"></script>
<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/v/dt/dt-1.12.1/r-2.3.0/sp-2.0.2/datatables.min.css" />
<script type="text/javascript" src="https://cdn.datatables.net/v/dt/dt-1.12.1/r-2.3.0/sp-2.0.2/datatables.min.js"></script>
<script src="//cdn.datatables.net/1.10.18/js/dataTables.bootstrap.js">
  < script
  src = "https://cdn.datatables.net/select/1.4.0/js/dataTables.select.min.js" >
</script>
<script src="//cdn.datatables.net/buttons/1.5.6/js/dataTables.buttons.js"></script>
<script src="//cdn.datatables.net/buttons/1.5.6/js/buttons.bootstrap.js"></script>
<script src="//cdn.datatables.net/responsive/2.2.2/js/dataTables.responsive.js"></script>
<script src="//cdn.datatables.net/responsive/2.2.2/js/responsive.bootstrap.js"></script>
<script src="//cdn.datatables.net/select/1.3.0/js/dataTables.select.js"></script>

JavaScript

$(document).ready(function () {
  var dataJSON =
    "https://raw.githubusercontent.com/TheNerdy97/BraveGacha.io/main/d2.json";
  var table = $("#accountsTable").DataTable({
    createdRow: addChildRow,

    columns: [
      {
        title: "Code",
        data: "code"
      },
      {
        title: "Orbs",
        data: "orbs",
        sortable: true,
        render: getOrbs
      },
      {
        title: "Price",
        data: "price",
        render: getPrice
      },
      {
        data: "images",
        className: "never"
      },
      {
        data: "date",
        className: "never"
      }
    ],
    
    deferRender: true,
    stateSave: true,
    
    
    
/*     HERE IS THE PROCESSING
     */    
    processing: true,
          'language': {
        processing: '<i class="fa fa-spinner fa-spin fa-3x fa-fw"></i><span class="sr-only">Loading...</span> '},
        ///////////////////////////
        
        
        
        
    responsive: true,
    ajax: {
      url: dataJSON
    },

    columnDefs: [
      {
        width: "20%",
        targets: 0
      }
    ]
  });



  function addChildRow(row, data, index) {
    var accountDate = data.date;
    var accountImages = data.images;
    accountImages = JSON.stringify(accountImages);

    var ImagesString = accountImages.replace(/[{}]/g, "");

    var imagesArry = ImagesString.split(",");

    var iterator = imagesArry.values();
    var ImageTag = "";

    for (let ele of iterator) {
      ImageTag += '<img src="static/images/char/' + ele + '.png">';
    }

    var length = imagesArry.length;
    var header =
      "<b>" + "Last Updated" + " - ( " + accountDate + " )</b><br><br>";
    var childHtml = header + ImageTag + "<br>";

    $("#accountsTable").DataTable().row(index).child(childHtml).show();

    var child = $("#accountsTable").DataTable().row(index).child();
    $(child[0].childNodes[0]).addClass("change");
  }

  function getPrice(price) {
    return "$" + price;
  }

  function...