JSFiddle - React, Tailwind, and code Playground
HTML
<link rel="stylesheet" href="https://unpkg.com/tabulator-tables@4.8.4/dist/css/tabulator.min.css">
<script src="https://unpkg.com/tabulator-tables@4.8.4/dist/js/tabulator.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment.min.js"></script>
<div id="example-table"></div>
JavaScript
var diffMutator = function(value, data, type, params, component){
var start = moment(data.TimeStart, 'MM/DD/YYYY HH:mm')
var end = moment(data.TimeFinish, 'MM/DD/YYYY HH:mm')
var new_value = end.diff(start, 'minutes');
if (type == "edit"){
console.log('edit');
component.getRow().getCell("TimeDiff").setValue(new_value);
return value; //return the new value for the cell data.
}else{
return new_value
}
}
var diffMutator_b = function(value, data, type, params, component){
var start = moment(data.TimeStart, 'MM/DD/YYYY HH:mm')
var end = moment(data.time_dur, 'MM/DD/YYYY HH:mm')
var new_value = end.diff(start, 'minutes');
if (type == "edit"){
console.log('edit');
component.getRow().getCell("diff_dur").setValue(new_value);
return value; //return the new value for the cell data.
}else{
return new_value
}
}
var diffMutator_c = function(value, data, type, params, component){
var start = moment(data.Timedur, 'MM/DD/YYYY HH:mm')
var end = moment(data.C, 'MM/DD/YYYY HH:mm')
var new_value = end.diff(start, 'minutes');
if (type == "edit"){
console.log('edit');
component.getRow().getCell("C_out").setValue(new_value);
return value; //return the new value for the cell data.
}else{
return new_value
}
}
var table = new Tabulator("#example-table", {
height: "100%",
data: [],
layout: "fitDataFill",
columns: [
{ title: "Date Worked", field: "DateComp", responsive: 0, hozAlign: "center", sorter: "string", editor: true },
{ title: "Start Time", field: "TimeStart", responsive: 0, hozAlign: "center", sorter: "datetime", sorterParams:{
format:"DD/MM/YYYY HH:mm:ss"}, editor: true},
{ title: "Finish Time", field: "TimeFinish", responsive: 0, hozAlign: "center", sorter: "datetime",sorterParams:{format:"DD/MM/YYYY HH:mm:ss"}, editor: true, mutatorEdit:diffMutator},
{title: "Diff", field: "TimeDiff", mutator:...