/*!
- * Ext JS Library 3.1.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
*/
-/**\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