/*
* Ext JS Library 2.2
* Copyright(c) 2006-2008, Ext JS, LLC.
* licensing@extjs.com
*
* http://extjs.com/license
*/
Ext.DataView.LabelEditor = 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
);
}
Ext.extend(Ext.DataView.LabelEditor, Ext.Editor, {
alignment: "tl-tl",
hideEl : false,
cls: "x-small-editor",
shim: false,
completeOnEnter: true,
cancelOnEsc: true,
labelSelector: 'span.x-editable',
init : function(view){
this.view = view;
view.on('render', this.initEditor, this);
this.on('complete', this.onSave, this);
},
initEditor : function(){
this.view.getEl().on('mousedown', this.onMouseDown, this, {delegate: this.labelSelector});
},
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, regions, 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{
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(proxy){
proxy.setDisplayed(false);
}
}
function onRender(view){
tracker = new Ext.dd.DragTracker({
onBeforeStart: onBeforeStart,
onStart: onStart,
onDrag: onDrag,
onEnd: onEnd
});
tracker.initEl(view.el);
}
};
yifandjm
- 粉丝: 3
- 资源: 11
最新资源
- 【多智能体控制】基于matlab自适应领导者与追随者动态规划仿真【含Matlab源码 8003期】.mp4
- 压合半自动组装线体工程图机械结构设计图纸和其它技术资料和技术方案非常好100%好用.zip
- 移动式液压伸缩提升机工程图机械结构设计图纸和其它技术资料和技术方案非常好100%好用.zip
- sgg慕尚花坊项目代码
- 折弯激光焊接设备工程图机械结构设计图纸和其它技术资料和技术方案非常好100%好用.zip
- 已生产的插针机工程图机械结构设计图纸和其它技术资料和技术方案非常好100%好用.zip
- 纸盒成型机工程图机械结构设计图纸和其它技术资料和技术方案非常好100%好用.zip
- 智能仓库穿梭车工程图机械结构设计图纸和其它技术资料和技术方案非常好100%好用.zip
- 纸盒六面包膜机覆膜机工程图机械结构设计图纸和其它技术资料和技术方案非常好100%好用.zip
- 自动Mylar贴合机工程图机械结构设计图纸和其它技术资料和技术方案非常好100%好用.zip
- 自动裁切机工程图机械结构设计图纸和其它技术资料和技术方案非常好100%好用.zip
- 自动调节双轴变位机单边基座工程图机械结构设计图纸和其它技术资料和技术方案非常好100%好用.zip
- 自动裁布机工程图机械结构设计图纸和其它技术资料和技术方案非常好100%好用.zip
- 自动焊管机工程图机械结构设计图纸和其它技术资料和技术方案非常好100%好用.zip
- 自制点胶系统工程图机械结构设计图纸和其它技术资料和技术方案非常好100%好用.zip
- 自动覆膜设备工程图机械结构设计图纸和其它技术资料和技术方案非常好100%好用.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
评论2