summaryrefslogtreecommitdiffstats
path: root/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'plugins')
-rw-r--r--plugins/slick.autotooltips.js81
-rw-r--r--plugins/slick.cellcopymanager.js144
-rw-r--r--plugins/slick.cellrangedecorator.js109
-rw-r--r--plugins/slick.cellrangeselector.js196
-rw-r--r--plugins/slick.cellselectionmodel.js154
-rw-r--r--plugins/slick.checkboxselectcolumn.js231
-rw-r--r--plugins/slick.rowmovemanager.js227
-rw-r--r--plugins/slick.rowselectionmodel.js319
8 files changed, 729 insertions, 732 deletions
diff --git a/plugins/slick.autotooltips.js b/plugins/slick.autotooltips.js
index c5c4897..4d2baea 100644
--- a/plugins/slick.autotooltips.js
+++ b/plugins/slick.autotooltips.js
@@ -1,49 +1,48 @@
-(function($) {
- // register namespace
- $.extend(true, window, {
- "Slick": {
- "AutoTooltips": AutoTooltips
- }
- });
+(function ($) {
+ // register namespace
+ $.extend(true, window, {
+ "Slick":{
+ "AutoTooltips":AutoTooltips
+ }
+ });
- function AutoTooltips(options) {
- var _grid;
- var _self = this;
- var _defaults = {
- maxToolTipLength: null
- };
+ function AutoTooltips(options) {
+ var _grid;
+ var _self = this;
+ var _defaults = {
+ maxToolTipLength:null
+ };
- function init(grid) {
- options = $.extend(true,{},_defaults,options);
- _grid = grid;
- _grid.onMouseEnter.subscribe(handleMouseEnter);
- }
+ function init(grid) {
+ options = $.extend(true, {}, _defaults, options);
+ _grid = grid;
+ _grid.onMouseEnter.subscribe(handleMouseEnter);
+ }
- function destroy() {
- _grid.onMouseEnter.unsubscribe(handleMouseEnter);
- }
+ function destroy() {
+ _grid.onMouseEnter.unsubscribe(handleMouseEnter);
+ }
- function handleMouseEnter(e,args) {
- var cell = _grid.getCellFromEvent(e);
- if (cell) {
- var node = _grid.getCellNode(cell.row, cell.cell);
- if ($(node).innerWidth() < node.scrollWidth) {
- var text = $.trim($(node).text());
- if (options.maxToolTipLength && text.length > options.maxToolTipLength) {
- text = text.substr(0, options.maxToolTipLength - 3) + "...";
- }
- $(node).attr("title",text);
- }
- else {
- $(node).attr("title","");
- }
- }
+ function handleMouseEnter(e, args) {
+ var cell = _grid.getCellFromEvent(e);
+ if (cell) {
+ var node = _grid.getCellNode(cell.row, cell.cell);
+ if ($(node).innerWidth() < node.scrollWidth) {
+ var text = $.trim($(node).text());
+ if (options.maxToolTipLength && text.length > options.maxToolTipLength) {
+ text = text.substr(0, options.maxToolTipLength - 3) + "...";
+ }
+ $(node).attr("title", text);
+ } else {
+ $(node).attr("title", "");
}
-
- $.extend(this, {
- "init": init,
- "destroy": destroy
- });
+ }
}
+
+ $.extend(this, {
+ "init":init,
+ "destroy":destroy
+ });
+ }
})(jQuery); \ No newline at end of file
diff --git a/plugins/slick.cellcopymanager.js b/plugins/slick.cellcopymanager.js
index 2b283f0..1d9c613 100644
--- a/plugins/slick.cellcopymanager.js
+++ b/plugins/slick.cellcopymanager.js
@@ -1,86 +1,86 @@
-(function($) {
- // register namespace
- $.extend(true, window, {
- "Slick": {
- "CellCopyManager": CellCopyManager
- }
- });
-
-
- function CellCopyManager() {
- var _grid;
- var _self = this;
- var _copiedRanges;
+(function ($) {
+ // register namespace
+ $.extend(true, window, {
+ "Slick":{
+ "CellCopyManager":CellCopyManager
+ }
+ });
- function init(grid) {
- _grid = grid;
- _grid.onKeyDown.subscribe(handleKeyDown);
- }
- function destroy() {
- _grid.onKeyDown.unsubscribe(handleKeyDown);
- }
+ function CellCopyManager() {
+ var _grid;
+ var _self = this;
+ var _copiedRanges;
- function handleKeyDown(e, args) {
- var ranges;
- if (!_grid.getEditorLock().isActive()) {
- if (e.which == $.ui.keyCode.ESCAPE) {
- if (_copiedRanges) {
- e.preventDefault();
- clearCopySelection();
- _self.onCopyCancelled.notify({ranges:_copiedRanges});
- _copiedRanges = null;
- }
- }
+ function init(grid) {
+ _grid = grid;
+ _grid.onKeyDown.subscribe(handleKeyDown);
+ }
- if (e.which == 67 && (e.ctrlKey || e.metaKey)) {
- ranges = _grid.getSelectionModel().getSelectedRanges();
- if (ranges.length != 0) {
- e.preventDefault();
- _copiedRanges = ranges;
- markCopySelection(ranges);
- _self.onCopyCells.notify({ranges:ranges});
- }
- }
+ function destroy() {
+ _grid.onKeyDown.unsubscribe(handleKeyDown);
+ }
- if (e.which == 86 && (e.ctrlKey || e.metaKey)) {
- if (_copiedRanges) {
- e.preventDefault();
- clearCopySelection();
- ranges = _grid.getSelectionModel().getSelectedRanges();
- _self.onPasteCells.notify({from:_copiedRanges, to:ranges});
- _copiedRanges = null;
- }
- }
- }
+ function handleKeyDown(e, args) {
+ var ranges;
+ if (!_grid.getEditorLock().isActive()) {
+ if (e.which == $.ui.keyCode.ESCAPE) {
+ if (_copiedRanges) {
+ e.preventDefault();
+ clearCopySelection();
+ _self.onCopyCancelled.notify({ranges:_copiedRanges});
+ _copiedRanges = null;
+ }
}
- function markCopySelection(ranges) {
- var columns = _grid.getColumns();
- var hash = {};
- for (var i = 0; i < ranges.length; i++) {
- for (var j = ranges[i].fromRow; j <= ranges[i].toRow; j++) {
- hash[j] = {};
- for (var k = ranges[i].fromCell; k <= ranges[i].toCell; k++) {
- hash[j][columns[k].id] = "copied";
- }
- }
- }
- _grid.setCellCssStyles("copy-manager", hash);
+ if (e.which == 67 && (e.ctrlKey || e.metaKey)) {
+ ranges = _grid.getSelectionModel().getSelectedRanges();
+ if (ranges.length != 0) {
+ e.preventDefault();
+ _copiedRanges = ranges;
+ markCopySelection(ranges);
+ _self.onCopyCells.notify({ranges:ranges});
+ }
}
- function clearCopySelection() {
- _grid.removeCellCssStyles("copy-manager");
+ if (e.which == 86 && (e.ctrlKey || e.metaKey)) {
+ if (_copiedRanges) {
+ e.preventDefault();
+ clearCopySelection();
+ ranges = _grid.getSelectionModel().getSelectedRanges();
+ _self.onPasteCells.notify({from:_copiedRanges, to:ranges});
+ _copiedRanges = null;
+ }
}
+ }
+ }
- $.extend(this, {
- "init": init,
- "destroy": destroy,
- "clearCopySelection": clearCopySelection,
+ function markCopySelection(ranges) {
+ var columns = _grid.getColumns();
+ var hash = {};
+ for (var i = 0; i < ranges.length; i++) {
+ for (var j = ranges[i].fromRow; j <= ranges[i].toRow; j++) {
+ hash[j] = {};
+ for (var k = ranges[i].fromCell; k <= ranges[i].toCell; k++) {
+ hash[j][columns[k].id] = "copied";
+ }
+ }
+ }
+ _grid.setCellCssStyles("copy-manager", hash);
+ }
- "onCopyCells": new Slick.Event(),
- "onCopyCancelled": new Slick.Event(),
- "onPasteCells": new Slick.Event()
- });
+ function clearCopySelection() {
+ _grid.removeCellCssStyles("copy-manager");
}
+
+ $.extend(this, {
+ "init":init,
+ "destroy":destroy,
+ "clearCopySelection":clearCopySelection,
+
+ "onCopyCells":new Slick.Event(),
+ "onCopyCancelled":new Slick.Event(),
+ "onPasteCells":new Slick.Event()
+ });
+ }
})(jQuery); \ No newline at end of file
diff --git a/plugins/slick.cellrangedecorator.js b/plugins/slick.cellrangedecorator.js
index 38df0b6..342f705 100644
--- a/plugins/slick.cellrangedecorator.js
+++ b/plugins/slick.cellrangedecorator.js
@@ -1,65 +1,64 @@
-(function($) {
- // register namespace
- $.extend(true, window, {
- "Slick": {
- "CellRangeDecorator": CellRangeDecorator
- }
- });
-
- /***
- * Displays an overlay on top of a given cell range.
- *
- * TODO:
- * Currently, it blocks mouse events to DOM nodes behind it.
- * Use FF and WebKit-specific "pointer-events" CSS style, or some kind of event forwarding.
- * Could also construct the borders separately using 4 individual DIVs.
- *
- * @param {Grid} grid
- * @param {Object} options
- */
- function CellRangeDecorator(grid, options) {
- var _elem;
- var _defaults = {
- selectionCss: {
- "zIndex": "9999",
- "border": "2px dashed red"
- }
- };
-
- options = $.extend(true, {}, _defaults, options);
+(function ($) {
+ // register namespace
+ $.extend(true, window, {
+ "Slick":{
+ "CellRangeDecorator":CellRangeDecorator
+ }
+ });
+ /***
+ * Displays an overlay on top of a given cell range.
+ *
+ * TODO:
+ * Currently, it blocks mouse events to DOM nodes behind it.
+ * Use FF and WebKit-specific "pointer-events" CSS style, or some kind of event forwarding.
+ * Could also construct the borders separately using 4 individual DIVs.
+ *
+ * @param {Grid} grid
+ * @param {Object} options
+ */
+ function CellRangeDecorator(grid, options) {
+ var _elem;
+ var _defaults = {
+ selectionCss:{
+ "zIndex":"9999",
+ "border":"2px dashed red"
+ }
+ };
- function show(range) {
- if (!_elem) {
- _elem = $("<div></div>", {css: options.selectionCss})
- .css("position", "absolute")
- .appendTo(grid.getCanvasNode());
+ options = $.extend(true, {}, _defaults, options);
- }
- var from = grid.getCellNodeBox(range.fromRow,range.fromCell);
- var to = grid.getCellNodeBox(range.toRow,range.toCell);
+ function show(range) {
+ if (!_elem) {
+ _elem = $("<div></div>", {css:options.selectionCss})
+ .css("position", "absolute")
+ .appendTo(grid.getCanvasNode());
+ }
- _elem.css({
- top: from.top - 1,
- left: from.left - 1,
- height: to.bottom - from.top - 2,
- width: to.right - from.left - 2
- });
+ var from = grid.getCellNodeBox(range.fromRow, range.fromCell);
+ var to = grid.getCellNodeBox(range.toRow, range.toCell);
- return _elem;
- }
+ _elem.css({
+ top:from.top - 1,
+ left:from.left - 1,
+ height:to.bottom - from.top - 2,
+ width:to.right - from.left - 2
+ });
- function hide() {
- if (_elem) {
- _elem.remove();
- _elem = null;
- }
- }
+ return _elem;
+ }
- $.extend(this, {
- "show": show,
- "hide": hide
- });
+ function hide() {
+ if (_elem) {
+ _elem.remove();
+ _elem = null;
+ }
}
+
+ $.extend(this, {
+ "show":show,
+ "hide":hide
+ });
+ }
})(jQuery); \ No newline at end of file
diff --git a/plugins/slick.cellrangeselector.js b/plugins/slick.cellrangeselector.js
index 3928b2f..118239e 100644
--- a/plugins/slick.cellrangeselector.js
+++ b/plugins/slick.cellrangeselector.js
@@ -1,112 +1,112 @@
-(function($) {
- // register namespace
- $.extend(true, window, {
- "Slick": {
- "CellRangeSelector": CellRangeSelector
- }
- });
+(function ($) {
+ // register namespace
+ $.extend(true, window, {
+ "Slick":{
+ "CellRangeSelector":CellRangeSelector
+ }
+ });
+
+
+ function CellRangeSelector(options) {
+ var _grid;
+ var _canvas;
+ var _dragging;
+ var _decorator;
+ var _self = this;
+ var _defaults = {
+ selectionCss:{
+ "border":"2px dashed blue"
+ }
+ };
+
+
+ function init(grid) {
+ options = $.extend(true, {}, _defaults, options);
+ _decorator = new Slick.CellRangeDecorator(grid, options);
+ _grid = grid;
+ _canvas = _grid.getCanvasNode();
+ _grid.onDragInit.subscribe(handleDragInit);
+ _grid.onDragStart.subscribe(handleDragStart);
+ _grid.onDrag.subscribe(handleDrag);
+ _grid.onDragEnd.subscribe(handleDragEnd);
+ }
+ function destroy() {
+ _grid.onDragInit.unsubscribe(handleDragInit);
+ _grid.onDragStart.unsubscribe(handleDragStart);
+ _grid.onDrag.unsubscribe(handleDrag);
+ _grid.onDragEnd.unsubscribe(handleDragEnd);
+ }
- function CellRangeSelector(options) {
- var _grid;
- var _canvas;
- var _dragging;
- var _decorator;
- var _self = this;
- var _defaults = {
- selectionCss: {
- "border": "2px dashed blue"
- }
- };
-
-
- function init(grid) {
- options = $.extend(true, {}, _defaults, options);
- _decorator = new Slick.CellRangeDecorator(grid, options);
- _grid = grid;
- _canvas = _grid.getCanvasNode();
- _grid.onDragInit.subscribe(handleDragInit);
- _grid.onDragStart.subscribe(handleDragStart);
- _grid.onDrag.subscribe(handleDrag);
- _grid.onDragEnd.subscribe(handleDragEnd);
- }
+ function handleDragInit(e, dd) {
+ // prevent the grid from cancelling drag'n'drop by default
+ e.stopImmediatePropagation();
+ }
- function destroy() {
- _grid.onDragInit.unsubscribe(handleDragInit);
- _grid.onDragStart.unsubscribe(handleDragStart);
- _grid.onDrag.unsubscribe(handleDrag);
- _grid.onDragEnd.unsubscribe(handleDragEnd);
+ function handleDragStart(e, dd) {
+ var cell = _grid.getCellFromEvent(e);
+ if (_self.onBeforeCellRangeSelected.notify(cell) !== false) {
+ if (_grid.canCellBeSelected(cell.row, cell.cell)) {
+ _dragging = true;
+ e.stopImmediatePropagation();
}
+ }
+ if (!_dragging) {
+ return;
+ }
- function handleDragInit(e, dd) {
- // prevent the grid from cancelling drag'n'drop by default
- e.stopImmediatePropagation();
- }
+ var start = _grid.getCellFromPoint(
+ dd.startX - $(_canvas).offset().left,
+ dd.startY - $(_canvas).offset().top);
- function handleDragStart(e, dd) {
- var cell = _grid.getCellFromEvent(e);
- if (_self.onBeforeCellRangeSelected.notify(cell) !== false) {
- if (_grid.canCellBeSelected(cell.row,cell.cell)) {
- _dragging = true;
- e.stopImmediatePropagation();
- }
- }
- if (!_dragging) {
- return;
- }
-
- var start = _grid.getCellFromPoint(
- dd.startX - $(_canvas).offset().left,
- dd.startY - $(_canvas).offset().top);
-
- dd.range = {start:start,end:{}};
-
- return _decorator.show(new Slick.Range(start.row,start.cell));
- }
+ dd.range = {start:start, end:{}};
- function handleDrag(e, dd) {
- if (!_dragging) {
- return;
- }
- e.stopImmediatePropagation();
-
- var end = _grid.getCellFromPoint(
- e.pageX - $(_canvas).offset().left,
- e.pageY - $(_canvas).offset().top);
+ return _decorator.show(new Slick.Range(start.row, start.cell));
+ }
- if (!_grid.canCellBeSelected(end.row,end.cell)) {
- return;
- }
+ function handleDrag(e, dd) {
+ if (!_dragging) {
+ return;
+ }
+ e.stopImmediatePropagation();
- dd.range.end = end;
- _decorator.show(new Slick.Range(dd.range.start.row,dd.range.start.cell,end.row,end.cell));
- }
+ var end = _grid.getCellFromPoint(
+ e.pageX - $(_canvas).offset().left,
+ e.pageY - $(_canvas).offset().top);
- function handleDragEnd(e, dd) {
- if (!_dragging) {
- return;
- }
-
- _dragging = false;
- e.stopImmediatePropagation();
-
- _decorator.hide();
- _self.onCellRangeSelected.notify({
- range: new Slick.Range(
- dd.range.start.row,
- dd.range.start.cell,
- dd.range.end.row,
- dd.range.end.cell
- )
- });
- }
+ if (!_grid.canCellBeSelected(end.row, end.cell)) {
+ return;
+ }
- $.extend(this, {
- "init": init,
- "destroy": destroy,
+ dd.range.end = end;
+ _decorator.show(new Slick.Range(dd.range.start.row, dd.range.start.cell, end.row, end.cell));
+ }
- "onBeforeCellRangeSelected": new Slick.Event(),
- "onCellRangeSelected": new Slick.Event()
- });
+ function handleDragEnd(e, dd) {
+ if (!_dragging) {
+ return;
+ }
+
+ _dragging = false;
+ e.stopImmediatePropagation();
+
+ _decorator.hide();
+ _self.onCellRangeSelected.notify({
+ range:new Slick.Range(
+ dd.range.start.row,
+ dd.range.start.cell,
+ dd.range.end.row,
+ dd.range.end.cell
+ )
+ });
}
+
+ $.extend(this, {
+ "init":init,
+ "destroy":destroy,
+
+ "onBeforeCellRangeSelected":new Slick.Event(),
+ "onCellRangeSelected":new Slick.Event()
+ });
+ }
})(jQuery); \ No newline at end of file
diff --git a/plugins/slick.cellselectionmodel.js b/plugins/slick.cellselectionmodel.js
index e1dd565..c517117 100644
--- a/plugins/slick.cellselectionmodel.js
+++ b/plugins/slick.cellselectionmodel.js
@@ -1,92 +1,92 @@
-(function($) {
- // register namespace
- $.extend(true, window, {
- "Slick": {
- "CellSelectionModel": CellSelectionModel
- }
+(function ($) {
+ // register namespace
+ $.extend(true, window, {
+ "Slick":{
+ "CellSelectionModel":CellSelectionModel
+ }
+ });
+
+
+ function CellSelectionModel(options) {
+ var _grid;
+ var _canvas;
+ var _ranges = [];
+ var _self = this;
+ var _selector = new Slick.CellRangeSelector({
+ "selectionCss":{
+ "border":"2px solid black"
+ }
});
+ var _options;
+ var _defaults = {
+ selectActiveCell:true
+ };
+
+
+ function init(grid) {
+ _options = $.extend(true, {}, _defaults, options);
+ _grid = grid;
+ _canvas = _grid.getCanvasNode();
+ _grid.onActiveCellChanged.subscribe(handleActiveCellChange);
+ grid.registerPlugin(_selector);
+ _selector.onCellRangeSelected.subscribe(handleCellRangeSelected);
+ _selector.onBeforeCellRangeSelected.subscribe(handleBeforeCellRangeSelected);
+ }
+ function destroy() {
+ _grid.onActiveCellChanged.unsubscribe(handleActiveCellChange);
+ _selector.onCellRangeSelected.unsubscribe(handleCellRangeSelected);
+ _selector.onBeforeCellRangeSelected.unsubscribe(handleBeforeCellRangeSelected);
+ _grid.unregisterPlugin(_selector);
+ }
- function CellSelectionModel(options) {
- var _grid;
- var _canvas;
- var _ranges = [];
- var _self = this;
- var _selector = new Slick.CellRangeSelector({
- "selectionCss": {
- "border": "2px solid black"
- }
- });
- var _options;
- var _defaults = {
- selectActiveCell: true
- };
-
-
- function init(grid) {
- _options = $.extend(true, {}, _defaults, options);
- _grid = grid;
- _canvas = _grid.getCanvasNode();
- _grid.onActiveCellChanged.subscribe(handleActiveCellChange);
- grid.registerPlugin(_selector);
- _selector.onCellRangeSelected.subscribe(handleCellRangeSelected);
- _selector.onBeforeCellRangeSelected.subscribe(handleBeforeCellRangeSelected);
- }
+ function removeInvalidRanges(ranges) {
+ var result = [];
- function destroy() {
- _grid.onActiveCellChanged.unsubscribe(handleActiveCellChange);
- _selector.onCellRangeSelected.unsubscribe(handleCellRangeSelected);
- _selector.onBeforeCellRangeSelected.unsubscribe(handleBeforeCellRangeSelected);
- _grid.unregisterPlugin(_selector);
+ for (var i = 0; i < ranges.length; i++) {
+ var r = ranges[i];
+ if (_grid.canCellBeSelected(r.fromRow, r.fromCell) && _grid.canCellBeSelected(r.toRow, r.toCell)) {
+ result.push(r);
}
+ }
- function removeInvalidRanges(ranges) {
- var result = [];
-
- for (var i = 0; i < ranges.length; i++) {
- var r = ranges[i];
- if (_grid.canCellBeSelected(r.fromRow,r.fromCell) && _grid.canCellBeSelected(r.toRow,r.toCell)) {
- result.push(r);
- }
- }
-
- return result;
- }
+ return result;
+ }
- function setSelectedRanges(ranges) {
- _ranges = removeInvalidRanges(ranges);
- _self.onSelectedRangesChanged.notify(_ranges);
- }
+ function setSelectedRanges(ranges) {
+ _ranges = removeInvalidRanges(ranges);
+ _self.onSelectedRangesChanged.notify(_ranges);
+ }
- function getSelectedRanges() {
- return _ranges;
- }
+ function getSelectedRanges() {
+ return _ranges;
+ }
- function handleBeforeCellRangeSelected(e, args) {
- if (_grid.getEditorLock().isActive()) {
- e.stopPropagation();
- return false;
- }
- }
+ function handleBeforeCellRangeSelected(e, args) {
+ if (_grid.getEditorLock().isActive()) {
+ e.stopPropagation();
+ return false;
+ }
+ }
- function handleCellRangeSelected(e, args) {
- setSelectedRanges([args.range]);
- }
+ function handleCellRangeSelected(e, args) {
+ setSelectedRanges([args.range]);
+ }
- function handleActiveCellChange(e, args) {
- if (_options.selectActiveCell) {
- setSelectedRanges([new Slick.Range(args.row,args.cell)]);
- }
- }
+ function handleActiveCellChange(e, args) {
+ if (_options.selectActiveCell) {
+ setSelectedRanges([new Slick.Range(args.row, args.cell)]);
+ }
+ }
- $.extend(this, {
- "getSelectedRanges": getSelectedRanges,
- "setSelectedRanges": setSelectedRanges,
+ $.extend(this, {
+ "getSelectedRanges":getSelectedRanges,
+ "setSelectedRanges":setSelectedRanges,
- "init": init,
- "destroy": destroy,
+ "init":init,
+ "destroy":destroy,
- "onSelectedRangesChanged": new Slick.Event()
- });
- }
+ "onSelectedRangesChanged":new Slick.Event()
+ });
+ }
})(jQuery); \ No newline at end of file
diff --git a/plugins/slick.checkboxselectcolumn.js b/plugins/slick.checkboxselectcolumn.js
index 3a95255..c7078b9 100644
--- a/plugins/slick.checkboxselectcolumn.js
+++ b/plugins/slick.checkboxselectcolumn.js
@@ -1,136 +1,135 @@
-(function($) {
- // register namespace
- $.extend(true, window, {
- "Slick": {
- "CheckboxSelectColumn": CheckboxSelectColumn
- }
- });
-
+(function ($) {
+ // register namespace
+ $.extend(true, window, {
+ "Slick":{
+ "CheckboxSelectColumn":CheckboxSelectColumn
+ }
+ });
- function CheckboxSelectColumn(options) {
- var _grid;
- var _self = this;
- var _selectedRowsLookup = {};
- var _defaults = {
- columnId: "_checkbox_selector",
- cssClass: null,
- toolTip: "Select/Deselect All",
- width: 30
- };
- var _options = $.extend(true,{},_defaults,options);
+ function CheckboxSelectColumn(options) {
+ var _grid;
+ var _self = this;
+ var _selectedRowsLookup = {};
+ var _defaults = {
+ columnId:"_checkbox_selector",
+ cssClass:null,
+ toolTip:"Select/Deselect All",
+ width:30
+ };
- function init(grid) {
- _grid = grid;
- _grid.onSelectedRowsChanged.subscribe(handleSelectedRowsChanged);
- _grid.onClick.subscribe(handleClick);
- _grid.onHeaderClick.subscribe(handleHeaderClick);
- }
+ var _options = $.extend(true, {}, _defaults, options);
- function destroy() {
- _grid.onSelectedRowsChanged.unsubscribe(handleSelectedRowsChanged);
- _grid.onClick.unsubscribe(handleClick);
- _grid.onHeaderClick.unsubscribe(handleHeaderClick);
- }
+ function init(grid) {
+ _grid = grid;
+ _grid.onSelectedRowsChanged.subscribe(handleSelectedRowsChanged);
+ _grid.onClick.subscribe(handleClick);
+ _grid.onHeaderClick.subscribe(handleHeaderClick);
+ }
- function handleSelectedRowsChanged(e, args) {
- var selectedRows = _grid.getSelectedRows();
- var lookup = {}, row, i;
- for (i = 0; i < selectedRows.length; i++) {
- row = selectedRows[i];
- lookup[row] = true;
- if (lookup[row] !== _selectedRowsLookup[row]) {
- _grid.invalidateRow(row);
- delete _selectedRowsLookup[row];
- }
- }
- for (i in _selectedRowsLookup) {
- _grid.invalidateRow(i);
- }
- _selectedRowsLookup = lookup;
- _grid.render();
+ function destroy() {
+ _grid.onSelectedRowsChanged.unsubscribe(handleSelectedRowsChanged);
+ _grid.onClick.unsubscribe(handleClick);
+ _grid.onHeaderClick.unsubscribe(handleHeaderClick);
+ }
- if (selectedRows.length == _grid.getDataLength()) {
- _grid.updateColumnHeader(_options.columnId, "<input type='checkbox' checked='checked'>", _options.toolTip);
- }
- else {
- _grid.updateColumnHeader(_options.columnId, "<input type='checkbox'>", _options.toolTip);
- }
+ function handleSelectedRowsChanged(e, args) {
+ var selectedRows = _grid.getSelectedRows();
+ var lookup = {}, row, i;
+ for (i = 0; i < selectedRows.length; i++) {
+ row = selectedRows[i];
+ lookup[row] = true;
+ if (lookup[row] !== _selectedRowsLookup[row]) {
+ _grid.invalidateRow(row);
+ delete _selectedRowsLookup[row];
}
+ }
+ for (i in _selectedRowsLookup) {
+ _grid.invalidateRow(i);
+ }
+ _selectedRowsLookup = lookup;
+ _grid.render();
- function handleClick(e, args) {
- // clicking on a row select checkbox
- if (_grid.getColumns()[args.cell].id === _options.columnId && $(e.target).is(":checkbox")) {
- // if editing, try to commit
- if (_grid.getEditorLock().isActive() && !_grid.getEditorLock().commitCurrentEdit()) {
- e.preventDefault();
- e.stopImmediatePropagation();
- return;
- }
+ if (selectedRows.length == _grid.getDataLength()) {
+ _grid.updateColumnHeader(_options.columnId, "<input type='checkbox' checked='checked'>", _options.toolTip);
+ } else {
+ _grid.updateColumnHeader(_options.columnId, "<input type='checkbox'>", _options.toolTip);
+ }
+ }
- if (_selectedRowsLookup[args.row]) {
- _grid.setSelectedRows($.grep(_grid.getSelectedRows(),function(n) { return n != args.row }));
- }
- else {
- _grid.setSelectedRows(_grid.getSelectedRows().concat(args.row));
- }
- e.stopPropagation();
- e.stopImmediatePropagation();
- }
+ function handleClick(e, args) {
+ // clicking on a row select checkbox
+ if (_grid.getColumns()[args.cell].id === _options.columnId && $(e.target).is(":checkbox")) {
+ // if editing, try to commit
+ if (_grid.getEditorLock().isActive() && !_grid.getEditorLock().commitCurrentEdit()) {
+ e.preventDefault();
+ e.stopImmediatePropagation();
+ return;
}
- function handleHeaderClick(e, args) {
- if (args.column.id == _options.columnId && $(e.target).is(":checkbox")) {
- // if editing, try to commit
- if (_grid.getEditorLock().isActive() && !_grid.getEditorLock().commitCurrentEdit()) {
- e.preventDefault();
- e.stopImmediatePropagation();
- return;
- }
-
- if ($(e.target).is(":checked")) {
- var rows = [];
- for (var i = 0; i < _grid.getDataLength(); i++) {
- rows.push(i);
- }
- _grid.setSelectedRows(rows);
- }
- else {
- _grid.setSelectedRows([]);
- }
- e.stopPropagation();
- e.stopImmediatePropagation();
- }
+ if (_selectedRowsLookup[args.row]) {
+ _grid.setSelectedRows($.grep(_grid.getSelectedRows(), function (n) {
+ return n != args.row
+ }));
+ } else {
+ _grid.setSelectedRows(_grid.getSelectedRows().concat(args.row));
}
+ e.stopPropagation();
+ e.stopImmediatePropagation();
+ }
+ }
- function getColumnDefinition() {
- return {
- id: _options.columnId,
- name: "<input type='checkbox'>",
- toolTip: _options.toolTip,
- field: "sel",
- width: _options.width,
- resizable: false,
- sortable: false,
- cssClass: _options.cssClass,
- formatter: checkboxSelectionFormatter
- };
+ function handleHeaderClick(e, args) {
+ if (args.column.id == _options.columnId && $(e.target).is(":checkbox")) {
+ // if editing, try to commit
+ if (_grid.getEditorLock().isActive() && !_grid.getEditorLock().commitCurrentEdit()) {
+ e.preventDefault();
+ e.stopImmediatePropagation();
+ return;
}
- function checkboxSelectionFormatter(row, cell, value, columnDef, dataContext) {
- if (dataContext) {
- return _selectedRowsLookup[row]
- ? "<input type='checkbox' checked='checked'>"
- : "<input type='checkbox'>";
- }
- return null;
+ if ($(e.target).is(":checked")) {
+ var rows = [];
+ for (var i = 0; i < _grid.getDataLength(); i++) {
+ rows.push(i);
+ }
+ _grid.setSelectedRows(rows);
+ } else {
+ _grid.setSelectedRows([]);
}
+ e.stopPropagation();
+ e.stopImmediatePropagation();
+ }
+ }
- $.extend(this, {
- "init": init,
- "destroy": destroy,
+ function getColumnDefinition() {
+ return {
+ id:_options.columnId,
+ name:"<input type='checkbox'>",
+ toolTip:_options.toolTip,
+ field:"sel",
+ width:_options.width,
+ resizable:false,
+ sortable:false,
+ cssClass:_options.cssClass,
+ formatter:checkboxSelectionFormatter
+ };
+ }
- "getColumnDefinition": getColumnDefinition
- });
+ function checkboxSelectionFormatter(row, cell, value, columnDef, dataContext) {
+ if (dataContext) {
+ return _selectedRowsLookup[row]
+ ? "<input type='checkbox' checked='checked'>"
+ : "<input type='checkbox'>";
+ }
+ return null;
}
+
+ $.extend(this, {
+ "init":init,
+ "destroy":destroy,
+
+ "getColumnDefinition":getColumnDefinition
+ });
+ }
})(jQuery); \ No newline at end of file
diff --git a/plugins/slick.rowmovemanager.js b/plugins/slick.rowmovemanager.js
index afb3519..3b26c47 100644
--- a/plugins/slick.rowmovemanager.js
+++ b/plugins/slick.rowmovemanager.js
@@ -1,133 +1,132 @@
-(function($) {
- // register namespace
- $.extend(true, window, {
- "Slick": {
- "RowMoveManager": RowMoveManager
- }
- });
+(function ($) {
+ // register namespace
+ $.extend(true, window, {
+ "Slick":{
+ "RowMoveManager":RowMoveManager
+ }
+ });
+
+ function RowMoveManager() {
+ var _grid;
+ var _canvas;
+ var _dragging;
+ var _self = this;
+
+ function init(grid) {
+ _grid = grid;
+ _canvas = _grid.getCanvasNode();
+ _grid.onDragInit.subscribe(handleDragInit);
+ _grid.onDragStart.subscribe(handleDragStart);
+ _grid.onDrag.subscribe(handleDrag);
+ _grid.onDragEnd.subscribe(handleDragEnd);
+ }
- function RowMoveManager() {
- var _grid;
- var _canvas;
- var _dragging;
- var _self = this;
-
- function init(grid) {
- _grid = grid;
- _canvas = _grid.getCanvasNode();
- _grid.onDragInit.subscribe(handleDragInit);
- _grid.onDragStart.subscribe(handleDragStart);
- _grid.onDrag.subscribe(handleDrag);
- _grid.onDragEnd.subscribe(handleDragEnd);
- }
+ function destroy() {
+ _grid.onDragInit.unsubscribe(handleDragInit);
+ _grid.onDragStart.unsubscribe(handleDragStart);
+ _grid.onDrag.unsubscribe(handleDrag);
+ _grid.onDragEnd.unsubscribe(handleDragEnd);
+ }
- function destroy() {
- _grid.onDragInit.unsubscribe(handleDragInit);
- _grid.onDragStart.unsubscribe(handleDragStart);
- _grid.onDrag.unsubscribe(handleDrag);
- _grid.onDragEnd.unsubscribe(handleDragEnd);
- }
+ function handleDragInit(e, dd) {
+ // prevent the grid from cancelling drag'n'drop by default
+ e.stopImmediatePropagation();
+ }
- function handleDragInit(e, dd) {
- // prevent the grid from cancelling drag'n'drop by default
- e.stopImmediatePropagation();
- }
+ function handleDragStart(e, dd) {
+ var cell = _grid.getCellFromEvent(e);
+ if (_grid.getEditorLock().isActive() || !/move|selectAndMove/.test(_grid.getColumns()[cell.cell].behavior)) {
+ return false;
+ }
- function handleDragStart(e,dd) {
- var cell = _grid.getCellFromEvent(e);
- if (_grid.getEditorLock().isActive() || !/move|selectAndMove/.test(_grid.getColumns()[cell.cell].behavior)) {
- return false;
- }
+ _dragging = true;
+ e.stopImmediatePropagation();
- _dragging = true;
- e.stopImmediatePropagation();
+ var selectedRows = _grid.getSelectedRows();
- var selectedRows = _grid.getSelectedRows();
+ if (selectedRows.length == 0 || $.inArray(cell.row, selectedRows) == -1) {
+ selectedRows = [cell.row];
+ _grid.setSelectedRows(selectedRows);
+ }
- if (selectedRows.length == 0 || $.inArray(cell.row, selectedRows) == -1) {
- selectedRows = [cell.row];
- _grid.setSelectedRows(selectedRows);
- }
+ var rowHeight = _grid.getOptions().rowHeight;
- var rowHeight = _grid.getOptions().rowHeight;
+ dd.selectedRows = selectedRows;
- dd.selectedRows = selectedRows;
+ dd.selectionProxy = $("<div class='slick-reorder-proxy'/>")
+ .css("position", "absolute")
+ .css("zIndex", "99999")
+ .css("width", $(_canvas).innerWidth())
+ .css("height", rowHeight * selectedRows.length)
+ .appendTo(_canvas);
- dd.selectionProxy = $("<div class='slick-reorder-proxy'/>")
- .css("position", "absolute")
- .css("zIndex", "99999")
- .css("width", $(_canvas).innerWidth())
- .css("height", rowHeight*selectedRows.length)
- .appendTo(_canvas);
+ dd.guide = $("<div class='slick-reorder-guide'/>")
+ .css("position", "absolute")
+ .css("zIndex", "99998")
+ .css("width", $(_canvas).innerWidth())
+ .css("top", -1000)
+ .appendTo(_canvas);
- dd.guide = $("<div class='slick-reorder-guide'/>")
- .css("position", "absolute")
- .css("zIndex", "99998")
- .css("width", $(_canvas).innerWidth())
- .css("top", -1000)
- .appendTo(_canvas);
+ dd.insertBefore = -1;
- dd.insertBefore = -1;
+ return $("<div></div>").appendTo(_canvas);
+ }
- return $("<div></div>").appendTo(_canvas);
+ function handleDrag(e, dd) {
+ if (!_dragging) {
+ return;
+ }
+
+ e.stopImmediatePropagation();
+
+ var top = e.pageY - $(_canvas).offset().top;
+ dd.selectionProxy.css("top", top - 5);
+
+ var insertBefore = Math.max(0, Math.min(Math.round(top / _grid.getOptions().rowHeight), _grid.getDataLength()));
+ if (insertBefore !== dd.insertBefore) {
+ var eventData = {
+ "rows":dd.selectedRows,
+ "insertBefore":insertBefore
+ };
+
+ if (_self.onBeforeMoveRows.notify(eventData) === false) {
+ dd.guide.css("top", -1000);
+ dd.canMove = false;
+ } else {
+ dd.guide.css("top", insertBefore * _grid.getOptions().rowHeight);
+ dd.canMove = true;
}
- function handleDrag(e,dd) {
- if (!_dragging) {
- return;
- }
-
- e.stopImmediatePropagation();
-
- var top = e.pageY - $(_canvas).offset().top;
- dd.selectionProxy.css("top",top-5);
-
- var insertBefore = Math.max(0,Math.min(Math.round(top/_grid.getOptions().rowHeight),_grid.getDataLength()));
- if (insertBefore !== dd.insertBefore) {
- var eventData = {
- "rows": dd.selectedRows,
- "insertBefore": insertBefore
- };
-
- if (_self.onBeforeMoveRows.notify(eventData) === false) {
- dd.guide.css("top", -1000);
- dd.canMove = false;
- }
- else {
- dd.guide.css("top",insertBefore*_grid.getOptions().rowHeight);
- dd.canMove = true;
- }
-
- dd.insertBefore = insertBefore;
- }
- }
+ dd.insertBefore = insertBefore;
+ }
+ }
- function handleDragEnd(e,dd) {
- if (!_dragging) {
- return;
- }
- _dragging = false;
- e.stopImmediatePropagation();
-
- dd.guide.remove();
- dd.selectionProxy.remove();
-
- if (dd.canMove) {
- var eventData = {
- "rows": dd.selectedRows,
- "insertBefore": dd.insertBefore
- };
- // TODO: _grid.remapCellCssClasses ?
- _self.onMoveRows.notify(eventData);
- }
- }
+ function handleDragEnd(e, dd) {
+ if (!_dragging) {
+ return;
+ }
+ _dragging = false;
+ e.stopImmediatePropagation();
+
+ dd.guide.remove();
+ dd.selectionProxy.remove();
+
+ if (dd.canMove) {
+ var eventData = {
+ "rows":dd.selectedRows,
+ "insertBefore":dd.insertBefore
+ };
+ // TODO: _grid.remapCellCssClasses ?
+ _self.onMoveRows.notify(eventData);
+ }
+ }
- $.extend(this, {
- "onBeforeMoveRows": new Slick.Event(),
- "onMoveRows": new Slick.Event(),
+ $.extend(this, {
+ "onBeforeMoveRows":new Slick.Event(),
+ "onMoveRows":new Slick.Event(),
- "init": init,
- "destroy": destroy
- });
- }
+ "init":init,
+ "destroy":destroy
+ });
+ }
})(jQuery); \ No newline at end of file
diff --git a/plugins/slick.rowselectionmodel.js b/plugins/slick.rowselectionmodel.js
index a539939..e675c83 100644
--- a/plugins/slick.rowselectionmodel.js
+++ b/plugins/slick.rowselectionmodel.js
@@ -1,186 +1,187 @@
-(function($) {
- // register namespace
- $.extend(true, window, {
- "Slick": {
- "RowSelectionModel": RowSelectionModel
- }
- });
+(function ($) {
+ // register namespace
+ $.extend(true, window, {
+ "Slick":{
+ "RowSelectionModel":RowSelectionModel
+ }
+ });
+
+ function RowSelectionModel(options) {
+ var _grid;
+ var _ranges = [];
+ var _self = this;
+ var _handler = new Slick.EventHandler();
+ var _inHandler;
+ var _options;
+ var _defaults = {
+ selectActiveRow:true
+ };
+
+ function init(grid) {
+ _options = $.extend(true, {}, _defaults, options);
+ _grid = grid;
+ _handler.subscribe(_grid.onActiveCellChanged,
+ wrapHandler(handleActiveCellChange));
+ _handler.subscribe(_grid.onKeyDown,
+ wrapHandler(handleKeyDown));
+ _handler.subscribe(_grid.onClick,
+ wrapHandler(handleClick));
+ }
- function RowSelectionModel(options) {
- var _grid;
- var _ranges = [];
- var _self = this;
- var _handler = new Slick.EventHandler();
- var _inHandler;
- var _options;
- var _defaults = {
- selectActiveRow: true
- };
-
- function init(grid) {
- _options = $.extend(true, {}, _defaults, options);
- _grid = grid;
- _handler.subscribe(_grid.onActiveCellChanged,
- wrapHandler(handleActiveCellChange));
- _handler.subscribe(_grid.onKeyDown,
- wrapHandler(handleKeyDown));
- _handler.subscribe(_grid.onClick,
- wrapHandler(handleClick));
- }
+ function destroy() {
+ _handler.unsubscribeAll();
+ }
- function destroy() {
- _handler.unsubscribeAll();
+ function wrapHandler(handler) {
+ return function () {
+ if (!_inHandler) {
+ _inHandler = true;
+ handler.apply(this, arguments);
+ _inHandler = false;
}
+ };
+ }
- function wrapHandler(handler) {
- return function() {
- if (!_inHandler) {
- _inHandler = true;
- handler.apply(this, arguments);
- _inHandler = false;
- }
- };
+ function rangesToRows(ranges) {
+ var rows = [];
+ for (var i = 0; i < ranges.length; i++) {
+ for (var j = ranges[i].fromRow; j <= ranges[i].toRow; j++) {
+ rows.push(j);
}
+ }
+ return rows;
+ }
- function rangesToRows(ranges) {
- var rows = [];
- for (var i = 0; i < ranges.length; i++) {
- for (var j = ranges[i].fromRow; j <= ranges[i].toRow; j++) {
- rows.push(j);
- }
- }
- return rows;
- }
+ function rowsToRanges(rows) {
+ var ranges = [];
+ var lastCell = _grid.getColumns().length - 1;
+ for (var i = 0; i < rows.length; i++) {
+ ranges.push(new Slick.Range(rows[i], 0, rows[i], lastCell));
+ }
+ return ranges;
+ }
- function rowsToRanges(rows) {
- var ranges = [];
- var lastCell = _grid.getColumns().length - 1;
- for (var i = 0; i < rows.length; i++) {
- ranges.push(new Slick.Range(rows[i], 0, rows[i], lastCell));
- }
- return ranges;
- }
+ function getRowsRange(from, to) {
+ var i, rows = [];
+ for (i = from; i <= to; i++) {
+ rows.push(i);
+ }
+ for (i = to; i < from; i++) {
+ rows.push(i);
+ }
+ return rows;
+ }
- function getRowsRange(from,to) {
- var i, rows = [];
- for (i = from; i <= to; i++) {
- rows.push(i);
- }
- for (i = to; i < from; i++) {
- rows.push(i);
- }
- return rows;
- }
+ function getSelectedRows() {
+ return rangesToRows(_ranges);
+ }
- function getSelectedRows() {
- return rangesToRows(_ranges);
- }
+ function setSelectedRows(rows) {
+ setSelectedRanges(rowsToRanges(rows));
+ }
- function setSelectedRows(rows) {
- setSelectedRanges(rowsToRanges(rows));
- }
+ function setSelectedRanges(ranges) {
+ _ranges = ranges;
+ _self.onSelectedRangesChanged.notify(_ranges);
+ }
- function setSelectedRanges(ranges) {
- _ranges = ranges;
- _self.onSelectedRangesChanged.notify(_ranges);
- }
+ function getSelectedRanges() {
+ return _ranges;
+ }
- function getSelectedRanges() {
- return _ranges;
- }
+ function handleActiveCellChange(e, data) {
+ if (_options.selectActiveRow) {
+ setSelectedRanges([new Slick.Range(data.row, 0, data.row, _grid.getColumns().length - 1)]);
+ }
+ }
- function handleActiveCellChange(e, data) {
- if (_options.selectActiveRow) {
- setSelectedRanges([new Slick.Range(data.row, 0, data.row, _grid.getColumns().length - 1)]);
- }
+ function handleKeyDown(e) {
+ var activeRow = _grid.getActiveCell();
+ if (activeRow && e.shiftKey && !e.ctrlKey && !e.altKey && !e.metaKey && (e.which == 38 || e.which == 40)) {
+ var selectedRows = getSelectedRows();
+ selectedRows.sort(function (x, y) {
+ return x - y
+ });
+
+ if (!selectedRows.length) {
+ selectedRows = [activeRow.row];
}
- function handleKeyDown(e) {
- var activeRow = _grid.getActiveCell();
- if (activeRow && e.shiftKey && !e.ctrlKey && !e.altKey && !e.metaKey && (e.which == 38 || e.which == 40)) {
- var selectedRows = getSelectedRows();
- selectedRows.sort(function(x,y) { return x-y });
-
- if (!selectedRows.length) {
- selectedRows = [activeRow.row];
- }
-
- var top = selectedRows[0];
- var bottom = selectedRows[selectedRows.length - 1];
- var active;
-
- if (e.which == 40) {
- active = activeRow.row < bottom || top == bottom ? ++bottom : ++top;
- }
- else {
- active = activeRow.row < bottom ? --bottom : --top;
- }
-
- if (active >= 0 && active < _grid.getDataLength()) {
- _grid.scrollRowIntoView(active);
- _ranges = rowsToRanges(getRowsRange(top,bottom));
- setSelectedRanges(_ranges);
- }
-
- e.preventDefault();
- e.stopPropagation();
- }
+ var top = selectedRows[0];
+ var bottom = selectedRows[selectedRows.length - 1];
+ var active;
+
+ if (e.which == 40) {
+ active = activeRow.row < bottom || top == bottom ? ++bottom : ++top;
+ } else {
+ active = activeRow.row < bottom ? --bottom : --top;
}
- function handleClick(e) {
- var cell = _grid.getCellFromEvent(e);
- if (!cell || !_grid.canCellBeActive(cell.row, cell.cell)) {
- return false;
- }
+ if (active >= 0 && active < _grid.getDataLength()) {
+ _grid.scrollRowIntoView(active);
+ _ranges = rowsToRanges(getRowsRange(top, bottom));
+ setSelectedRanges(_ranges);
+ }
- var selection = rangesToRows(_ranges);
- var idx = $.inArray(cell.row, selection);
+ e.preventDefault();
+ e.stopPropagation();
+ }
+ }
- if (!e.ctrlKey && !e.shiftKey && !e.metaKey) {
- return false;
- }
- else if (_grid.getOptions().multiSelect) {
- if (idx === -1 && (e.ctrlKey || e.metaKey)) {
- selection.push(cell.row);
- _grid.setActiveCell(cell.row, cell.cell);
- }
- else if (idx !== -1 && (e.ctrlKey || e.metaKey)) {
- selection = $.grep(selection, function(o, i) { return (o !== cell.row); });
- _grid.setActiveCell(cell.row, cell.cell);
- }
- else if (selection.length && e.shiftKey) {
- var last = selection.pop();
- var from = Math.min(cell.row, last);
- var to = Math.max(cell.row, last);
- selection = [];
- for (var i = from; i <= to; i++) {
- if (i !== last) {
- selection.push(i);
- }
- }
- selection.push(last);
- _grid.setActiveCell(cell.row, cell.cell);
- }
+ function handleClick(e) {
+ var cell = _grid.getCellFromEvent(e);
+ if (!cell || !_grid.canCellBeActive(cell.row, cell.cell)) {
+ return false;
+ }
+
+ var selection = rangesToRows(_ranges);
+ var idx = $.inArray(cell.row, selection);
+
+ if (!e.ctrlKey && !e.shiftKey && !e.metaKey) {
+ return false;
+ }
+ else if (_grid.getOptions().multiSelect) {
+ if (idx === -1 && (e.ctrlKey || e.metaKey)) {
+ selection.push(cell.row);
+ _grid.setActiveCell(cell.row, cell.cell);
+ } else if (idx !== -1 && (e.ctrlKey || e.metaKey)) {
+ selection = $.grep(selection, function (o, i) {
+ return (o !== cell.row);
+ });
+ _grid.setActiveCell(cell.row, cell.cell);
+ } else if (selection.length && e.shiftKey) {
+ var last = selection.pop();
+ var from = Math.min(cell.row, last);
+ var to = Math.max(cell.row, last);
+ selection = [];
+ for (var i = from; i <= to; i++) {
+ if (i !== last) {
+ selection.push(i);
}
+ }
+ selection.push(last);
+ _grid.setActiveCell(cell.row, cell.cell);
+ }
+ }
- _ranges = rowsToRanges(selection);
- setSelectedRanges(_ranges);
- e.stopImmediatePropagation();
+ _ranges = rowsToRanges(selection);
+ setSelectedRanges(_ranges);
+ e.stopImmediatePropagation();
- return true;
- }
+ return true;
+ }
- $.extend(this, {
- "getSelectedRows": getSelectedRows,
- "setSelectedRows": setSelectedRows,
+ $.extend(this, {
+ "getSelectedRows":getSelectedRows,
+ "setSelectedRows":setSelectedRows,
- "getSelectedRanges": getSelectedRanges,
- "setSelectedRanges": setSelectedRanges,
+ "getSelectedRanges":getSelectedRanges,
+ "setSelectedRanges":setSelectedRanges,
- "init": init,
- "destroy": destroy,
+ "init":init,
+ "destroy":destroy,
- "onSelectedRangesChanged": new Slick.Event()
- });
- }
+ "onSelectedRangesChanged":new Slick.Event()
+ });
+ }
})(jQuery); \ No newline at end of file