Мы используем Backgrid и обнаружили, что, чтобы начать редактирование «логической» ячейки (флажка) в Backgrid, вы должны щелкнуть дважды: первый щелчок игнорируется и не переключает состояние флажка. В идеале мы должны добраться до корня того, что вызывает такое поведение (например, вызывается preventDefault) и решить его там, но сначала я попробовал другой подход со следующим расширением метода BooleanCell enterEditMode, который казался логичным местом, поскольку он при входе в режим редактирования щелчок по флажку игнорировался.
Проблема в том, что моя попытка также переключает состояние ранее отредактированного флажка. Вот код.
var BooleanCell = Backgrid.BooleanCell.extend({
/*
* see https://github.com/wyuenho/backgrid/issues/557
*/
enterEditMode: function () {
Backgrid.BooleanCell.prototype.enterEditMode.apply(this, arguments);
var checkbox = this.$('input');
checkbox.prop('checked', !checkbox.prop('checked'));
}
});