//Create Date Editor var dateEditor = function(cell, onRendered, success, cancel){ //cell - the cell component for the editable cell //onRendered - function to call when the editor has been rendered //success - function to call to pass the successfuly updated value to Tabulator //cancel - function to call to abort the edit and return to a normal cell //create and style input var cellValue = moment(cell.getValue(), "DD/MM/YYYY").format("YYYY-MM-DD"), input = document.createElement("input"); input.setAttribute("type", "date"); input.style.padding = "4px"; input.style.width = "100%"; input.style.boxSizing = "border-box"; input.value = cellValue; onRendered(function(){ input.focus(); input.style.height = "100%"; }); function onChange(){ if(input.value != cellValue){ success(moment(input.value, "YYYY-MM-DD").format("DD/MM/YYYY")); }else{ cancel(); } } //submit new value on blur or change input.addEventListener("blur", onChange); //submit new value on enter input.addEventListener("keydown", function(e){ if(e.keyCode == 13){ onChange(); } if(e.keyCode == 27){ cancel(); } }); return input; };