JSFiddle - React, Tailwind, and code Playground

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="grid"></div>

JavaScript

Array.prototype.remove = function (from, to) {
     var rest = this.slice((to || from) + 1 || this.length);
     this.length = from < 0 ? this.length + from : from;
     return this.push.apply(this, rest);
 };

 $(document).ready(function () {
     function onChange(arg) {

         console.log("On Change");
         console.log(arg);
     }

     function onSave(arg) {

         console.log("On Save");
         console.log(arg);
     }

     function onRemove(arg) {

         console.log("On Remove");
         console.log(arg);
     }

     function onDataBound(arg) {
     alert("onDataBound");
         console.log("Grid data bound");
     }

     function onDataBinding(arg) {
     	alert("onDataBinding");	
         console.log("Grid data binding");
     }


     if (localStorage["grid_data"] == undefined) {
         var testData = [{
             ID: 1,
             Value: "TEST1"
         }, {
             ID: 2,
             Value: "TEST2"
         }, {
             ID: 3,
             Value: "TEST3"
         }];
         localStorage["grid_data"] = JSON.stringify(testData);
     }

     var dataSource = new kendo.data.DataSource({
         transport: {
             create: function (options) {
             alert("Create");
                 var localData = JSON.parse(localStorage["grid_data"]);
                 localData.push(options.data);
                 localStorage["grid_data"] = JSON.stringify(localData);
                 options.success(localData);
                 console.log("On create");
                 console.log(localData);
             },
             read: function (options) {
                 var localData = JSON.parse(localStorage["grid_data"]);
                 options.success(localData);
             },
             update: function (options) {
             alert("Update");
                 var localData = JSON.parse(localStorage["grid_data"]);
                 for (var i = 0; i < localData.length; i++) {
                     if...