Upgrade to ExtJS 3.2.0 - Released 03/30/2010
[extjs.git] / examples / ux / DataView-more.js
index a004d34..96a95b9 100644 (file)
 /*!
- * Ext JS Library 3.1.1
- * Copyright(c) 2006-2010 Ext JS, LLC
+ * Ext JS Library 3.2.0
+ * Copyright(c) 2006-2010 Ext JS, Inc.
  * licensing@extjs.com
  * http://www.extjs.com/license
  */
-/**\r
- * @class Ext.DataView.LabelEditor\r
- * @extends Ext.Editor\r
- * \r
- */\r
-Ext.DataView.LabelEditor = Ext.extend(Ext.Editor, {\r
-    alignment: "tl-tl",\r
-    hideEl : false,\r
-    cls: "x-small-editor",\r
-    shim: false,\r
-    completeOnEnter: true,\r
-    cancelOnEsc: true,\r
-    labelSelector: 'span.x-editable',\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
-        this.on('complete', this.onSave, this);\r
-    },\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
-            var item = this.view.findItemFromChild(target);\r
-            e.stopEvent();\r
-            var record = this.view.store.getAt(this.view.indexOf(item));\r
-            this.startEdit(target, record.data[this.dataIndex]);\r
-            this.activeRecord = record;\r
-        }else{\r
-            e.preventDefault();\r
-        }\r
-    },\r
-\r
-    onSave : function(ed, value){\r
-        this.activeRecord.set(this.dataIndex, value);\r
-    }\r
-});\r
-\r
-\r
-Ext.DataView.DragSelector = function(cfg){\r
-    cfg = cfg || {};\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
-    this.init = function(dataView){\r
-        view = dataView;\r
-        view.on('render', onRender);\r
-    };\r
-\r
-    function fillRegions(){\r
-        rs = [];\r
-        view.all.each(function(el){\r
-            rs[rs.length] = el.getRegion();\r
-        });\r
-        bodyRegion = view.el.getRegion();\r
-    }\r
-\r
-    function cancelClick(){\r
-        return false;\r
-    }\r
-\r
-    function onBeforeStart(e){\r
-        return !dragSafe || e.target == view.el.dom;\r
-    }\r
-\r
-    function onStart(e){\r
-        view.on('containerclick', cancelClick, view, {single:true});\r
-        if(!proxy){\r
-            proxy = view.el.createChild({cls:'x-view-selector'});\r
-        }else{\r
-            if(proxy.dom.parentNode !== view.el.dom){\r
-                view.el.dom.appendChild(proxy.dom);\r
-            }\r
-            proxy.setDisplayed('block');\r
-        }\r
-        fillRegions();\r
-        view.clearSelections();\r
-    }\r
-\r
-    function onDrag(e){\r
-        var startXY = tracker.startXY;\r
-        var xy = tracker.getXY();\r
-\r
-        var x = Math.min(startXY[0], xy[0]);\r
-        var y = Math.min(startXY[1], xy[1]);\r
-        var w = Math.abs(startXY[0] - xy[0]);\r
-        var h = Math.abs(startXY[1] - xy[1]);\r
-\r
-        dragRegion.left = x;\r
-        dragRegion.top = y;\r
-        dragRegion.right = x+w;\r
-        dragRegion.bottom = y+h;\r
-\r
-        dragRegion.constrainTo(bodyRegion);\r
-        proxy.setRegion(dragRegion);\r
-\r
-        for(var i = 0, len = rs.length; i < len; i++){\r
-            var r = rs[i], sel = dragRegion.intersect(r);\r
-            if(sel && !r.selected){\r
-                r.selected = true;\r
-                view.select(i, true);\r
-            }else if(!sel && r.selected){\r
-                r.selected = false;\r
-                view.deselect(i);\r
-            }\r
-        }\r
-    }\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
-    }\r
-\r
-    function onRender(view){\r
-        tracker = new Ext.dd.DragTracker({\r
-            onBeforeStart: onBeforeStart,\r
-            onStart: onStart,\r
-            onDrag: onDrag,\r
-            onEnd: onEnd\r
-        });\r
-        tracker.initEl(view.el);\r
-    }\r
+/**
+ * @class Ext.DataView.LabelEditor
+ * @extends Ext.Editor
+ * 
+ */
+Ext.DataView.LabelEditor = Ext.extend(Ext.Editor, {
+    alignment: "tl-tl",
+    hideEl : false,
+    cls: "x-small-editor",
+    shim: false,
+    completeOnEnter: true,
+    cancelOnEsc: true,
+    labelSelector: 'span.x-editable',
+    
+    constructor: function(cfg, field){
+        Ext.DataView.LabelEditor.superclass.constructor.call(this,
+            field || new Ext.form.TextField({
+                allowBlank: false,
+                growMin:90,
+                growMax:240,
+                grow:true,
+                selectOnFocus:true
+            }), cfg
+        );
+    },
+    
+    init : function(view){
+        this.view = view;
+        view.on('render', this.initEditor, this);
+        this.on('complete', this.onSave, this);
+    },
+
+    initEditor : function(){
+        this.view.on({
+            scope: this,
+            containerclick: this.doBlur,
+            click: this.doBlur
+        });
+        this.view.getEl().on('mousedown', this.onMouseDown, this, {delegate: this.labelSelector});
+    },
+    
+    doBlur: function(){
+        if(this.editing){
+            this.field.blur();
+        }
+    },
+
+    onMouseDown : function(e, target){
+        if(!e.ctrlKey && !e.shiftKey){
+            var item = this.view.findItemFromChild(target);
+            e.stopEvent();
+            var record = this.view.store.getAt(this.view.indexOf(item));
+            this.startEdit(target, record.data[this.dataIndex]);
+            this.activeRecord = record;
+        }else{
+            e.preventDefault();
+        }
+    },
+
+    onSave : function(ed, value){
+        this.activeRecord.set(this.dataIndex, value);
+    }
+});
+
+
+Ext.DataView.DragSelector = function(cfg){
+    cfg = cfg || {};
+    var view, proxy, tracker;
+    var rs, bodyRegion, dragRegion = new Ext.lib.Region(0,0,0,0);
+    var dragSafe = cfg.dragSafe === true;
+
+    this.init = function(dataView){
+        view = dataView;
+        view.on('render', onRender);
+    };
+
+    function fillRegions(){
+        rs = [];
+        view.all.each(function(el){
+            rs[rs.length] = el.getRegion();
+        });
+        bodyRegion = view.el.getRegion();
+    }
+
+    function cancelClick(){
+        return false;
+    }
+
+    function onBeforeStart(e){
+        return !dragSafe || e.target == view.el.dom;
+    }
+
+    function onStart(e){
+        view.on('containerclick', cancelClick, view, {single:true});
+        if(!proxy){
+            proxy = view.el.createChild({cls:'x-view-selector'});
+        }else{
+            if(proxy.dom.parentNode !== view.el.dom){
+                view.el.dom.appendChild(proxy.dom);
+            }
+            proxy.setDisplayed('block');
+        }
+        fillRegions();
+        view.clearSelections();
+    }
+
+    function onDrag(e){
+        var startXY = tracker.startXY;
+        var xy = tracker.getXY();
+
+        var x = Math.min(startXY[0], xy[0]);
+        var y = Math.min(startXY[1], xy[1]);
+        var w = Math.abs(startXY[0] - xy[0]);
+        var h = Math.abs(startXY[1] - xy[1]);
+
+        dragRegion.left = x;
+        dragRegion.top = y;
+        dragRegion.right = x+w;
+        dragRegion.bottom = y+h;
+
+        dragRegion.constrainTo(bodyRegion);
+        proxy.setRegion(dragRegion);
+
+        for(var i = 0, len = rs.length; i < len; i++){
+            var r = rs[i], sel = dragRegion.intersect(r);
+            if(sel && !r.selected){
+                r.selected = true;
+                view.select(i, true);
+            }else if(!sel && r.selected){
+                r.selected = false;
+                view.deselect(i);
+            }
+        }
+    }
+
+    function onEnd(e){
+        if (!Ext.isIE) {
+            view.un('containerclick', cancelClick, view);    
+        }        
+        if(proxy){
+            proxy.setDisplayed(false);
+        }
+    }
+
+    function onRender(view){
+        tracker = new Ext.dd.DragTracker({
+            onBeforeStart: onBeforeStart,
+            onStart: onStart,
+            onDrag: onDrag,
+            onEnd: onEnd
+        });
+        tracker.initEl(view.el);
+    }
 };
\ No newline at end of file