Tabulator - очистить содержимое ячейки перед редактированием - PullRequest
0 голосов
/ 11 февраля 2019

Я использую библиотеку JavaScript Tabulator.В этом я хочу очистить содержимое редактируемой ячейки, когда пользователь нажимает на редактируемую ячейку.

1 Ответ

0 голосов
/ 11 февраля 2019

для этого вам понадобится специальный редактор, ниже приведена версия редактора ввода без присвоения значения:

var inputEditor = function(cell, onRendered, success, cancel, editorParams){

        //create and style input
        var cellValue = cell.getValue(),
        input = document.createElement("input");

        input.setAttribute("type", "text");

        input.style.padding = "4px";
        input.style.width = "100%";
        input.style.boxSizing = "border-box";

        input.value = "";

        onRendered(function(){
            input.focus();
            input.style.height = "100%";
        });

        function onChange(e){
            if(((cellValue === null || typeof cellValue === "undefined") && input.value !== "") || input.value != cellValue){
                success(input.value);
            }else{
                cancel();
            }
        }

        //submit new value on blur or change
        input.addEventListener("change", onChange);
        input.addEventListener("blur", onChange);

        //submit new value on enter
        input.addEventListener("keydown", function(e){
            switch(e.keyCode){
                case 13:
                success(input.value);
                break;

                case 27:
                cancel();
                break;
            }
        });

        return input;
}

Затем вы можете назначить редактор для столбца в определении его столбца.:

{title:"Name", field:"name", editor:inputEditor}
...