X-Git-Url: http://git.ithinksw.org/extjs.git/blobdiff_plain/0494b8d9b9bb03ab6c22b34dae81261e3cd7e3e6..7a654f8d43fdb43d78b63d90528bed6e86b608cc:/src/widgets/grid/CheckboxSelectionModel.js diff --git a/src/widgets/grid/CheckboxSelectionModel.js b/src/widgets/grid/CheckboxSelectionModel.js deleted file mode 100644 index d4f0c821..00000000 --- a/src/widgets/grid/CheckboxSelectionModel.js +++ /dev/null @@ -1,121 +0,0 @@ -/*! - * Ext JS Library 3.3.1 - * Copyright(c) 2006-2010 Sencha Inc. - * licensing@sencha.com - * http://www.sencha.com/license - */ -/** - * @class Ext.grid.CheckboxSelectionModel - * @extends Ext.grid.RowSelectionModel - * A custom selection model that renders a column of checkboxes that can be toggled to select or deselect rows. - * @constructor - * @param {Object} config The configuration options - */ -Ext.grid.CheckboxSelectionModel = Ext.extend(Ext.grid.RowSelectionModel, { - - /** - * @cfg {Boolean} checkOnly true if rows can only be selected by clicking on the - * checkbox column (defaults to false). - */ - /** - * @cfg {String} header Any valid text or HTML fragment to display in the header cell for the - * checkbox column. Defaults to:

-     * '<div class="x-grid3-hd-checker">&#160;</div>'
-     * 
- * The default CSS class of 'x-grid3-hd-checker' displays a checkbox in the header - * and provides support for automatic check all/none behavior on header click. This string - * can be replaced by any valid HTML fragment, including a simple text string (e.g., - * 'Select Rows'), but the automatic check all/none behavior will only work if the - * 'x-grid3-hd-checker' class is supplied. - */ - header : '
 
', - /** - * @cfg {Number} width The default width in pixels of the checkbox column (defaults to 20). - */ - width : 20, - /** - * @cfg {Boolean} sortable true if the checkbox column is sortable (defaults to - * false). - */ - sortable : false, - - // private - menuDisabled : true, - fixed : true, - hideable: false, - dataIndex : '', - id : 'checker', - isColumn: true, // So that ColumnModel doesn't feed this through the Column constructor - - constructor : function(){ - Ext.grid.CheckboxSelectionModel.superclass.constructor.apply(this, arguments); - if(this.checkOnly){ - this.handleMouseDown = Ext.emptyFn; - } - }, - - // private - initEvents : function(){ - Ext.grid.CheckboxSelectionModel.superclass.initEvents.call(this); - this.grid.on('render', function(){ - Ext.fly(this.grid.getView().innerHd).on('mousedown', this.onHdMouseDown, this); - }, this); - }, - - /** - * @private - * Process and refire events routed from the GridView's processEvent method. - */ - processEvent : function(name, e, grid, rowIndex, colIndex){ - if (name == 'mousedown') { - this.onMouseDown(e, e.getTarget()); - return false; - } else { - return Ext.grid.Column.prototype.processEvent.apply(this, arguments); - } - }, - - // private - onMouseDown : function(e, t){ - if(e.button === 0 && t.className == 'x-grid3-row-checker'){ // Only fire if left-click - e.stopEvent(); - var row = e.getTarget('.x-grid3-row'); - if(row){ - var index = row.rowIndex; - if(this.isSelected(index)){ - this.deselectRow(index); - }else{ - this.selectRow(index, true); - this.grid.getView().focusRow(index); - } - } - } - }, - - // private - onHdMouseDown : function(e, t) { - if(t.className == 'x-grid3-hd-checker'){ - e.stopEvent(); - var hd = Ext.fly(t.parentNode); - var isChecked = hd.hasClass('x-grid3-hd-checker-on'); - if(isChecked){ - hd.removeClass('x-grid3-hd-checker-on'); - this.clearSelections(); - }else{ - hd.addClass('x-grid3-hd-checker-on'); - this.selectAll(); - } - } - }, - - // private - renderer : function(v, p, record){ - return '
 
'; - }, - - onEditorSelect: function(row, lastRow){ - if(lastRow != row && !this.checkOnly){ - this.selectRow(row); // *** highlight newly-selected cell and update selection - } - } -}); \ No newline at end of file