diff options
Diffstat (limited to 'plugins/slick.cellselectionmodel.js')
-rw-r--r-- | plugins/slick.cellselectionmodel.js | 154 |
1 files changed, 77 insertions, 77 deletions
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 |