JSFiddle - React, Tailwind, and code Playground
HTML
<script src="http://cdnjs.cloudflare.com/ajax/libs/knockout/2.2.1/knockout-min.js"></script>
<script src="http://code.jquery.com/jquery-git.js"></script>
<link rel="stylesheet" href="http://twitter.github.io/bootstrap/assets/css/bootstrap.css">
<script src="//cdnjs.cloudflare.com/ajax/libs/knockout.mapping/2.3.5/knockout.mapping.js"></script>
<script src="http://datatables.net/dev/knockout/js/jquery.dataTables.js"></script>
<body>
<table id="example">
<thead>
<tr>
<th>ID</th>
<th>Aktualizacja</th>
<th>Typ</th>
<th>Status</th>
<th>Ważność</th>
<th>Rozwiązane</th>
<th>Zgłaszający</th>
<th>Temat</th>
</tr>
</thead>
</table>
<script>
ko.observableArray.fn.subscribeArrayChanged = function(addCallback, deleteCallback) {
var previousValue = undefined;
this.subscribe(function(_previousValue) {
previousValue = _previousValue.slice(0);
}, undefined, 'beforeChange');
this.subscribe(function(latestValue) {
var editScript = ko.utils.compareArrays(previousValue, latestValue);
for (var i = 0, j = editScript.length; i < j; i++) {
switch (editScript[i].status) {
case "retained":
break;
case "deleted":
if (deleteCallback) deleteCallback(editScript[i].value);
break;
case "added":
if (addCallback) addCallback(editScript[i].value);
break;
}
}
previousValue = undefined;
});
};
// Issue object
var Issue = function(data, dt) {
this.Id = data.Id;
this.IdAssigned =...