Upgrade to ExtJS 3.2.0 - Released 03/30/2010
[extjs.git] / examples / ux / CheckColumn.js
index e5827ba..d421f25 100644 (file)
@@ -1,80 +1,84 @@
 /*!
- * Ext JS Library 3.0.0
- * Copyright(c) 2006-2009 Ext JS, LLC
+ * Ext JS Library 3.2.0
+ * Copyright(c) 2006-2010 Ext JS, Inc.
  * licensing@extjs.com
  * http://www.extjs.com/license
  */
-Ext.ns('Ext.ux.grid');\r
-\r
-/**\r
- * @class Ext.ux.grid.CheckColumn\r
- * @extends Object\r
- * GridPanel plugin to add a column with check boxes to a grid.\r
- * <p>Example usage:</p>\r
- * <pre><code>\r
-// create the column\r
-var checkColumn = new Ext.grid.CheckColumn({\r
-   header: 'Indoor?',\r
-   dataIndex: 'indoor',\r
-   id: 'check',\r
-   width: 55\r
-});\r
-\r
-// add the column to the column model\r
-var cm = new Ext.grid.ColumnModel([{\r
-       header: 'Foo',\r
-       ...\r
-    },\r
-    checkColumn\r
-]);\r
-\r
-// create the grid\r
-var grid = new Ext.grid.EditorGridPanel({\r
-    ...\r
-    cm: cm,\r
-    plugins: [checkColumn], // include plugin\r
-    ...\r
-});\r
- * </code></pre>\r
- * In addition to storing a Boolean value within the record data, this\r
- * class toggles a css class between <tt>'x-grid3-check-col'</tt> and\r
- * <tt>'x-grid3-check-col-on'</tt> to alter the background image used for\r
- * a column.\r
- */\r
-Ext.ux.grid.CheckColumn = function(config){\r
-    Ext.apply(this, config);\r
-    if(!this.id){\r
-        this.id = Ext.id();\r
-    }\r
-    this.renderer = this.renderer.createDelegate(this);\r
-};\r
-\r
-Ext.ux.grid.CheckColumn.prototype ={\r
-    init : function(grid){\r
-        this.grid = grid;\r
-        this.grid.on('render', function(){\r
-            var view = this.grid.getView();\r
-            view.mainBody.on('mousedown', this.onMouseDown, this);\r
-        }, this);\r
-    },\r
-\r
-    onMouseDown : function(e, t){\r
-        if(t.className && t.className.indexOf('x-grid3-cc-'+this.id) != -1){\r
-            e.stopEvent();\r
-            var index = this.grid.getView().findRowIndex(t);\r
-            var record = this.grid.store.getAt(index);\r
-            record.set(this.dataIndex, !record.data[this.dataIndex]);\r
-        }\r
-    },\r
-\r
-    renderer : function(v, p, record){\r
-        p.css += ' x-grid3-check-col-td'; \r
-        return '<div class="x-grid3-check-col'+(v?'-on':'')+' x-grid3-cc-'+this.id+'">&#160;</div>';\r
-    }\r
-};\r
-\r
-// register ptype\r
-Ext.preg('checkcolumn', Ext.ux.grid.CheckColumn);\r
-\r
-// backwards compat\r
+Ext.ns('Ext.ux.grid');
+
+/**
+ * @class Ext.ux.grid.CheckColumn
+ * @extends Object
+ * GridPanel plugin to add a column with check boxes to a grid.
+ * <p>Example usage:</p>
+ * <pre><code>
+// create the column
+var checkColumn = new Ext.grid.CheckColumn({
+   header: 'Indoor?',
+   dataIndex: 'indoor',
+   id: 'check',
+   width: 55
+});
+
+// add the column to the column model
+var cm = new Ext.grid.ColumnModel([{
+       header: 'Foo',
+       ...
+    },
+    checkColumn
+]);
+
+// create the grid
+var grid = new Ext.grid.EditorGridPanel({
+    ...
+    cm: cm,
+    plugins: [checkColumn], // include plugin
+    ...
+});
+ * </code></pre>
+ * In addition to storing a Boolean value within the record data, this
+ * class toggles a css class between <tt>'x-grid3-check-col'</tt> and
+ * <tt>'x-grid3-check-col-on'</tt> to alter the background image used for
+ * a column.
+ */
+Ext.ux.grid.CheckColumn = function(config){
+    Ext.apply(this, config);
+    if(!this.id){
+        this.id = Ext.id();
+    }
+    this.renderer = this.renderer.createDelegate(this);
+};
+
+Ext.ux.grid.CheckColumn.prototype ={
+    init : function(grid){
+        this.grid = grid;
+        this.grid.on('render', function(){
+            var view = this.grid.getView();
+            view.mainBody.on('mousedown', this.onMouseDown, this);
+        }, this);
+    },
+
+    onMouseDown : function(e, t){
+        if(Ext.fly(t).hasClass(this.createId())){
+            e.stopEvent();
+            var index = this.grid.getView().findRowIndex(t);
+            var record = this.grid.store.getAt(index);
+            record.set(this.dataIndex, !record.data[this.dataIndex]);
+        }
+    },
+
+    renderer : function(v, p, record){
+        p.css += ' x-grid3-check-col-td'; 
+        return String.format('<div class="x-grid3-check-col{0} {1}">&#160;</div>', v ? '-on' : '', this.createId());
+    },
+    
+    createId : function(){
+        return 'x-grid3-cc-' + this.id;
+    }
+};
+
+// register ptype
+Ext.preg('checkcolumn', Ext.ux.grid.CheckColumn);
+
+// backwards compat
 Ext.grid.CheckColumn = Ext.ux.grid.CheckColumn;
\ No newline at end of file