use onDeselectAllCells instead of onCellDeselect

rel-1.0
Vitaliy Filippov 2016-09-07 17:57:55 +03:00
parent 8717f1ad2b
commit d782fcd9a5
1 changed files with 11 additions and 11 deletions

View File

@ -1,7 +1,7 @@
/**
* Very simple and fast tree grid/table, compatible with dynamic loading and stickyheaders.js
* License: MPL 2.0+, (c) Vitaliy Filippov 2016+
* Version: 2016-08-18
* Version: 2016-09-07
*/
/**
@ -55,8 +55,8 @@
* TG.onExpand = function(node) {};
* // called before a cell is selected with mouse
* TG.onCellSelect = function(node, colIndex, td) { return <whether to allow selection (boolean)>; }
* // called when a cell is deselected with mouse
* TG.onCellDeselect = function(node, colIndex, td) {}
* // called when all currently selected cells are deselected
* TG.onDeselectAllCells = function(node, colIndex, td) {}
* // called before a cell is edited
* TG.onStartCellEdit = function(node, colIndex, td) { return {
* abort: <whether to prevent editing>,
@ -241,21 +241,21 @@ TreeGrid.prototype.initCellSelection = function(restrictToNode)
cell.className += ' selected';
};
self.deselectCell = function(cell)
self.deselectAll = function(cell)
{
self.onCellDeselect && self.onCellDeselect(cell.parentNode._node, self._getCellIndex(cell, true), cell);
cell.className = cell.className.replace(' selected', '');
var els = self.table.querySelectorAll('td.selected');
var deselected = [];
if (self.onDeselectAllCells)
self.onDeselectAllCells();
for (var i = 0; i < els.length; i++)
els[i].className = els[i].className.replace(' selected', '');
};
addListener(restrictToNode || document.body, 'mousedown', function(evt)
{
evt = getEventCoord(evt);
if (!evt.shiftKey)
{
var els = self.table.querySelectorAll('td.selected');
for (var i = 0; i < els.length; i++)
self.deselectCell(els[i]);
}
self.deselectAll();
if (evt.which != 1)
return;
startDrag = [ evt.pageX, evt.pageY ];