提交 bdab2925 编写于 作者: NoSubject's avatar NoSubject

组件拖动定位优化

上级 2ca95cc0
...@@ -91,6 +91,7 @@ MWF.xApplication.process.FormDesigner.Module.$Component = MWF.FC$Component = new ...@@ -91,6 +91,7 @@ MWF.xApplication.process.FormDesigner.Module.$Component = MWF.FC$Component = new
var copyNode = module._getCopyNode(this); var copyNode = module._getCopyNode(this);
copyNode.show(); copyNode.show();
copyNode.inject(this.node, "before"); copyNode.inject(this.node, "before");
this._positionCopyNode(copyNode);
} }
// var copyNode = module._getCopyNode(); // var copyNode = module._getCopyNode();
......
...@@ -59,6 +59,8 @@ MWF.xApplication.process.FormDesigner.Module.$Container = MWF.FC$Container = new ...@@ -59,6 +59,8 @@ MWF.xApplication.process.FormDesigner.Module.$Container = MWF.FC$Container = new
var copyNode = module._getCopyNode(this); var copyNode = module._getCopyNode(this);
copyNode.show(); copyNode.show();
copyNode.inject(this.node); copyNode.inject(this.node);
//copyNode.setStyle("position", "static");
//this._positionCopyNode(copyNode, "in");
} }
//this._showInjectAction( module ); //this._showInjectAction( module );
...@@ -105,7 +107,11 @@ MWF.xApplication.process.FormDesigner.Module.$Container = MWF.FC$Container = new ...@@ -105,7 +107,11 @@ MWF.xApplication.process.FormDesigner.Module.$Container = MWF.FC$Container = new
//this.parentContainer.node.setStyles({"border": "1px solid #ffa200"}); //this.parentContainer.node.setStyles({"border": "1px solid #ffa200"});
var copyNode = module._getCopyNode(); var copyNode = module._getCopyNode();
copyNode.inject(this.node, "before"); copyNode.inject(this.node, "before");
this._positionCopyNode(copyNode);
}, },
_getSubModule: function(){ _getSubModule: function(){
var modules = []; var modules = [];
var subNode = this.node.getFirst(); var subNode = this.node.getFirst();
...@@ -122,7 +128,6 @@ MWF.xApplication.process.FormDesigner.Module.$Container = MWF.FC$Container = new ...@@ -122,7 +128,6 @@ MWF.xApplication.process.FormDesigner.Module.$Container = MWF.FC$Container = new
return modules; return modules;
}, },
load : function(json, node, parent){ load : function(json, node, parent){
this.json = json; this.json = json;
this.node= node; this.node= node;
this.node.store("module", this); this.node.store("module", this);
...@@ -134,6 +139,14 @@ MWF.xApplication.process.FormDesigner.Module.$Container = MWF.FC$Container = new ...@@ -134,6 +139,14 @@ MWF.xApplication.process.FormDesigner.Module.$Container = MWF.FC$Container = new
this._initModule(); this._initModule();
this._loadTreeNode(parent); this._loadTreeNode(parent);
if (!this.json.id){
var id = this._getNewId(((parent) ? parent.json.id : null));
this.json.id = id;
}
if (!this.form.json.moduleList[this.json.id]){
this.form.json.moduleList[this.json.id] = this.json;
}
this.parseModules(); this.parseModules();
this.parentContainer = this.treeNode.parentNode.module; this.parentContainer = this.treeNode.parentNode.module;
......
...@@ -29,6 +29,7 @@ MWF.xApplication.process.FormDesigner.Module.$Element = MWF.FC$Element = new Cla ...@@ -29,6 +29,7 @@ MWF.xApplication.process.FormDesigner.Module.$Element = MWF.FC$Element = new Cla
var copyNode = module._getCopyNode(this); var copyNode = module._getCopyNode(this);
copyNode.show(); copyNode.show();
copyNode.inject(this.node, "before"); copyNode.inject(this.node, "before");
this._positionCopyNode(copyNode)
} }
//this._showInjectAction( module ); //this._showInjectAction( module );
......
...@@ -305,6 +305,10 @@ MWF.xApplication.process.FormDesigner.Module.$Module = MWF.FC$Module = new Class ...@@ -305,6 +305,10 @@ MWF.xApplication.process.FormDesigner.Module.$Module = MWF.FC$Module = new Class
this.close(); this.close();
}, null); }, null);
}, },
selectedContainer: function(){
debugger;
if (this.parentContainer) this.parentContainer.selected();
},
styleBrush: function(){ styleBrush: function(){
//@todo //@todo
this.form.styleBrushContent = Object.clone(this.json.styles); this.form.styleBrushContent = Object.clone(this.json.styles);
...@@ -374,10 +378,10 @@ MWF.xApplication.process.FormDesigner.Module.$Module = MWF.FC$Module = new Class ...@@ -374,10 +378,10 @@ MWF.xApplication.process.FormDesigner.Module.$Module = MWF.FC$Module = new Class
_hideActions: function(){ _hideActions: function(){
if (this.actionArea) this.actionArea.setStyle("display", "none"); if (this.actionArea) this.actionArea.setStyle("display", "none");
}, },
selected: function(){ selected: function(force){
if (this.form && this.form.node)this.form.node.focus(); if (this.form && this.form.node)this.form.node.focus();
if (this.form.currentSelectedModule){ if (this.form.currentSelectedModule){
if (this.form.currentSelectedModule==this){ if (!force && this.form.currentSelectedModule==this){
return true; return true;
}else{ }else{
this.form.currentSelectedModule.unSelected(); this.form.currentSelectedModule.unSelected();
...@@ -461,7 +465,8 @@ MWF.xApplication.process.FormDesigner.Module.$Module = MWF.FC$Module = new Class ...@@ -461,7 +465,8 @@ MWF.xApplication.process.FormDesigner.Module.$Module = MWF.FC$Module = new Class
if (this.property) this.property.hide(); if (this.property) this.property.hide();
}, },
create: function(data, e){ create: function(data, e, group){
data.moduleGroup = group;
this.json = data; this.json = data;
this.json.id = this._getNewId(); this.json.id = this._getNewId();
this._createMoveNode(); this._createMoveNode();
...@@ -488,6 +493,8 @@ MWF.xApplication.process.FormDesigner.Module.$Module = MWF.FC$Module = new Class ...@@ -488,6 +493,8 @@ MWF.xApplication.process.FormDesigner.Module.$Module = MWF.FC$Module = new Class
_onEnterOther: function(dragging, inObj){ _onEnterOther: function(dragging, inObj){
}, },
_onLeaveOther: function(dragging, inObj){ _onLeaveOther: function(dragging, inObj){
if (this.copyNode) this.copyNode.destroy();
this.copyNode = null;
}, },
_onMoveEnter: function(dragging, inObj){ _onMoveEnter: function(dragging, inObj){
var module = inObj.retrieve("module"); var module = inObj.retrieve("module");
...@@ -569,6 +576,33 @@ MWF.xApplication.process.FormDesigner.Module.$Module = MWF.FC$Module = new Class ...@@ -569,6 +576,33 @@ MWF.xApplication.process.FormDesigner.Module.$Module = MWF.FC$Module = new Class
// this.copyNode.setStyle("display", "block"); // this.copyNode.setStyle("display", "block");
return this.copyNode; return this.copyNode;
}, },
_positionCopyNode: function(copyNode, isIn){
var display = this.node.getStyle("display");
copyNode.setStyle("margin", "0");
if (display.indexOf("inline") !==-1){
var size = this.node.getComputedSize();
copyNode.setStyle("position", "absolute");
copyNode.setStyle("width", "1px");
copyNode.setStyle("min-width", "0");
copyNode.setStyle("height", size.height+"px");
copyNode.position({
relativeTo: this.node,
position: 'leftTop',
edge: 'rightTop'
})
}else{
var w = copyNode.getStyle("width").toFloat();
if (!w) w = copyNode.getSize().x;
copyNode.setStyle("position", "absolute");
copyNode.setStyle("width", ""+w+"px");
copyNode.position({
relativeTo: this.node,
position: (!!isIn) ? 'leftBottom': 'leftTop',
edge: 'leftBottom'
})
}
},
_createCopyNode: function(){ _createCopyNode: function(){
this.copyNode = this.moveNode.clone(); this.copyNode = this.moveNode.clone();
this.copyNode.setStyles(this.css.moduleNodeShow); this.copyNode.setStyles(this.css.moduleNodeShow);
...@@ -934,10 +968,13 @@ MWF.xApplication.process.FormDesigner.Module.$Module = MWF.FC$Module = new Class ...@@ -934,10 +968,13 @@ MWF.xApplication.process.FormDesigner.Module.$Module = MWF.FC$Module = new Class
} }
if (name=="properties"){ if (name=="properties"){
try{ try{
this.node.setProperties(this.json.properties); this.setCustomProperties();
}catch(e){} }catch(e){}
} }
}, },
setCustomProperties: function(){
this.node.setProperties(this.json.properties);
},
setCustomNodeStyles: function(node, styles){ setCustomNodeStyles: function(node, styles){
var border = node.getStyle("border"); var border = node.getStyle("border");
node.clearStyles(); node.clearStyles();
......
...@@ -542,11 +542,11 @@ MWF.xApplication.process.FormDesigner.Module.Form = MWF.FCForm = new Class({ ...@@ -542,11 +542,11 @@ MWF.xApplication.process.FormDesigner.Module.Form = MWF.FCForm = new Class({
return module; return module;
}, },
createModule: function(className, e){ createModule: function(className, e, group){
this.getTemplateData(className, function(data){ this.getTemplateData(className, function(data){
var moduleData = Object.clone(data); var moduleData = Object.clone(data);
var newTool = new MWF["FC"+className](this); var newTool = new MWF["FC"+className](this);
newTool.create(moduleData, e); newTool.create(moduleData, e, group);
}.bind(this)); }.bind(this));
}, },
getTemplateData: function(className, callback , async){ getTemplateData: function(className, callback , async){
......
...@@ -30,7 +30,7 @@ ...@@ -30,7 +30,7 @@
"left": "auto", "left": "auto",
"width": "auto", "width": "auto",
"opacity": 0.5, "opacity": 0.5,
"background": "#ffffff" "background": "#ffa200"
}, },
"moduleNode": { "moduleNode": {
"border": "1px dashed #333", "border": "1px dashed #333",
...@@ -89,4 +89,4 @@ ...@@ -89,4 +89,4 @@
"padding": "0px 10px" "padding": "0px 10px"
} }
} }
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册