Upgrade to ExtJS 3.0.0 - Released 07/06/2009
[extjs.git] / examples / ux / DataView-more.js
similarity index 74%
rename from examples/view/data-view-plugins.js
rename to examples/ux/DataView-more.js
index 3e65ca2..bc1edf5 100644 (file)
@@ -1,25 +1,15 @@
-/*\r
- * Ext JS Library 2.2.1\r
- * Copyright(c) 2006-2009, Ext JS, LLC.\r
- * licensing@extjs.com\r
+/*!
+ * Ext JS Library 3.0.0
+ * Copyright(c) 2006-2009 Ext JS, LLC
+ * licensing@extjs.com
+ * http://www.extjs.com/license
+ */
+/**\r
+ * @class Ext.DataView.LabelEditor\r
+ * @extends Ext.Editor\r
  * \r
- * http://extjs.com/license\r
  */\r
-\r
-\r
-Ext.DataView.LabelEditor = function(cfg, field){\r
-    Ext.DataView.LabelEditor.superclass.constructor.call(this,\r
-        field || new Ext.form.TextField({\r
-            allowBlank: false,\r
-            growMin:90,\r
-            growMax:240,\r
-            grow:true,\r
-            selectOnFocus:true\r
-        }), cfg\r
-    );\r
-}\r
-\r
-Ext.extend(Ext.DataView.LabelEditor, Ext.Editor, {\r
+Ext.DataView.LabelEditor = Ext.extend(Ext.Editor, {\r
     alignment: "tl-tl",\r
     hideEl : false,\r
     cls: "x-small-editor",\r
@@ -27,7 +17,19 @@ Ext.extend(Ext.DataView.LabelEditor, Ext.Editor, {
     completeOnEnter: true,\r
     cancelOnEsc: true,\r
     labelSelector: 'span.x-editable',\r
-\r
+    \r
+    constructor: function(cfg, field){\r
+        Ext.DataView.LabelEditor.superclass.constructor.call(this,\r
+            field || new Ext.form.TextField({\r
+                allowBlank: false,\r
+                growMin:90,\r
+                growMax:240,\r
+                grow:true,\r
+                selectOnFocus:true\r
+            }), cfg\r
+        );\r
+    },\r
+    \r
     init : function(view){\r
         this.view = view;\r
         view.on('render', this.initEditor, this);\r
@@ -35,8 +37,19 @@ Ext.extend(Ext.DataView.LabelEditor, Ext.Editor, {
     },\r
 \r
     initEditor : function(){\r
+        this.view.on({\r
+            scope: this,\r
+            containerclick: this.doBlur,\r
+            click: this.doBlur\r
+        });\r
         this.view.getEl().on('mousedown', this.onMouseDown, this, {delegate: this.labelSelector});\r
     },\r
+    \r
+    doBlur: function(){\r
+        if(this.editing){\r
+            this.field.blur();\r
+        }\r
+    },\r
 \r
     onMouseDown : function(e, target){\r
         if(!e.ctrlKey && !e.shiftKey){\r
@@ -58,7 +71,7 @@ Ext.extend(Ext.DataView.LabelEditor, Ext.Editor, {
 \r
 Ext.DataView.DragSelector = function(cfg){\r
     cfg = cfg || {};\r
-    var view, regions, proxy, tracker;\r
+    var view, proxy, tracker;\r
     var rs, bodyRegion, dragRegion = new Ext.lib.Region(0,0,0,0);\r
     var dragSafe = cfg.dragSafe === true;\r
 \r
@@ -124,6 +137,9 @@ Ext.DataView.DragSelector = function(cfg){
     }\r
 \r
     function onEnd(e){\r
+        if (!Ext.isIE) {\r
+            view.un('containerclick', cancelClick, view);    \r
+        }        \r
         if(proxy){\r
             proxy.setDisplayed(false);\r
         }\r