From d782fcd9a597035e5045b533f327e8689663b7fc Mon Sep 17 00:00:00 2001 From: Vitaliy Filippov Date: Wed, 7 Sep 2016 17:57:55 +0300 Subject: [PATCH] use onDeselectAllCells instead of onCellDeselect --- treegrid.js | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/treegrid.js b/treegrid.js index 8bc0ead..da222e2 100644 --- a/treegrid.js +++ b/treegrid.js @@ -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 ; } - * // 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: , @@ -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 ];