提交 df566467 编写于 作者: U unknown

数组件添加设置默认节点的功能

上级 ee9673b4
......@@ -124,7 +124,9 @@ o2.LP.process = {
"copy": "Copy",
"delete": "Delete",
"add": "Add",
"script": "Script"
"script": "Script",
"clickScript": "Click Event Script",
"defaultNode": "Default Node"
}
};
o2.LP.desktop = {
......
......@@ -124,7 +124,9 @@ o2.LP.process = {
"copy": "复制",
"delete": "删除",
"add": "添加",
"script": "脚本"
"script": "脚本",
"clickScript": "点击事件脚本",
"defaultNode": "默认节点"
}
};
o2.LP.desktop = {
......
......@@ -16,7 +16,8 @@
"treeItemNode":{
"height": "24px",
"border-bottom": "1px solid #DDD",
"background": "transparent"
"background": "transparent",
"position": "relative"
},
"treeChildrenNode": {
},
......@@ -75,7 +76,7 @@
"font-family": "Verdana, Geneva, sans-serif"
},
"itemActionNode": {
"width": "70px",
"width": "86px",
"height": "22px",
"position": "absolute",
"z-index": 10000,
......@@ -105,6 +106,38 @@
"float": "right",
"background": "url("+o2.session.path+"/widget/$Tree/editor/code.png) center center no-repeat"
},
"itemCheckActionNode": {
"padding-left": "3px",
"width": "19px",
"height": "22px",
"line-height": "20px",
"font-size": "8px",
"font-weight": "bold",
"float": "right",
"color": "#333"
},
"itemCheckedActionNode": {
"padding-left": "3px",
"width": "19px",
"height": "22px",
"line-height": "20px",
"float": "right",
"font-size": "8px",
"font-weight": "bold",
"color": "#4A90E2"
},
"itemCheckedNode": {
"position": "absolute",
"right": "0px",
"top": "1px",
"width": "19px",
"height": "22px",
"line-height": "20px",
"float": "right",
"font-size": "8px",
"font-weight": "bold",
"color": "#4A90E2"
},
"scriptNode":{
"width": "98%",
"height": "98%",
......
......@@ -374,18 +374,28 @@ o2.widget.Tree.Node = new Class({
this.selectNode(e);
this.doAction(e);
},
unselectNode: function(){
this.fireEvent("unselect");
var textDivNode = this.textNode.getElement("div");
textDivNode.setStyles(this.tree.css.textDivNode);
if (this.options.style){
if (this.tree.css[this.options.style]){
textDivNode.setStyles(this.tree.css[this.options.style].textDivNode);
}
}
},
selectNode: function(){
this.tree.fireEvent("beforeSelect", [this]);
if (this.tree.currentNode){
this.tree.currentNode.fireEvent("unselect");
var textDivNode = this.tree.currentNode.textNode.getElement("div");
textDivNode.setStyles(this.tree.css.textDivNode);
if (this.tree.currentNode.options.style){
if (this.tree.css[this.tree.currentNode.options.style]){
textDivNode.setStyles(this.tree.css[this.tree.currentNode.options.style].textDivNode);
}
}
this.tree.currentNode.unselectNode();
// this.tree.currentNode.fireEvent("unselect");
// var textDivNode = this.tree.currentNode.textNode.getElement("div");
// textDivNode.setStyles(this.tree.css.textDivNode);
// if (this.tree.currentNode.options.style){
// if (this.tree.css[this.tree.currentNode.options.style]){
// textDivNode.setStyles(this.tree.css[this.tree.currentNode.options.style].textDivNode);
// }
// }
}
var textDivNode = this.textNode.getElement("div");
textDivNode.setStyles(this.tree.css.textDivNodeSelected);
......
......@@ -172,6 +172,9 @@ o2.widget.TreeEditor.Tree.Node = new Class({
this.hideItemAction();
}.bind(this)
});
if( this.options.default ){
this.setDefaultItem();
}
},
appendChild: function(obj){
......@@ -196,12 +199,52 @@ o2.widget.TreeEditor.Tree.Node = new Class({
return treeNode;
},
createTextNode: function(){
this.textNode = new Element("td",{
"styles": this.tree.css.textNode
}).inject(this.nodeArea);
if (this.options.style){
if (this.tree.css[this.options.style]){
this.textNode.setStyles(this.tree.css[this.options.style].textNode);
}
}
// var width = this.tree.container.getSize().x - (this.level*20+40);
// this.textNode.setStyle("width", ""+width+"px");
var textDivNode = new Element("div", {
"styles": {"display": "inline-block"},
// "html": this.options.text,
"title": this.options.title
});
textDivNode.setStyles(this.tree.css.textDivNode);
if (this.options.style){
if (this.tree.css[this.options.style]){
textDivNode.setStyles(this.tree.css[this.options.style].textDivNode);
}
}
if (this.tree.options.text=="html"){
textDivNode.set("html", this.options.text);
}else{
textDivNode.set("text", this.options.text);
}
textDivNode.addEvent("click", function(e){
this.clickNode(e);
}.bind(this));
textDivNode.inject(this.textNode);
if( this.options.default ){
this.selectNode();
}
},
doAction: function(e){
var textNode = e.target;
this.editItem(textNode);
},
hideItemAction: function(){
if (this.actionNode) this.actionNode.setStyle("display", "none");
if( this.defaultNode )this.defaultNode.show();
},
setActionPosition: function(){
if (this.actionNode){
......@@ -226,11 +269,21 @@ o2.widget.TreeEditor.Tree.Node = new Class({
if (!this.actionNode) this.createItemActionNode();
this.setActionPosition();
this.actionNode.setStyle("display", "block");
if( this.defaultNode )this.defaultNode.hide();
},
createItemActionNode: function(){
this.actionNode = new Element("div", {
"styles": this.tree.css.itemActionNode
}).inject(this.itemNode);
this.defaultAction = new Element("div", {
"styles": this.tree.css.itemCheckActionNode,
"title": o2.LP.process.formAction.defaultNode,
"text": "",
"events": {
"click": this.switchDefaultItem.bind(this)
}
}).inject(this.actionNode);
var deleteAction = new Element("div", {
"styles": this.tree.css.itemDeleteActionNode,
......@@ -244,7 +297,7 @@ o2.widget.TreeEditor.Tree.Node = new Class({
var scriptAction = new Element("div", {
"styles": this.tree.css.itemScriptActionNode,
"title": o2.LP.process.formAction["script"],
"title": o2.LP.process.formAction["clickScript"],
"events": {
"click": function(e){
this.editScriptItem(e);
......@@ -317,7 +370,7 @@ o2.widget.TreeEditor.Tree.Node = new Class({
var node = new Element("div").inject(this.itemNode, "after");
o2.require("o2.widget.ScriptArea", function(){
this.scriptArea = new o2.widget.ScriptArea(node, {
"title": o2.LP.process.formAction["script"],
"title": o2.LP.process.formAction["clickScript"],
"maxObj": this.tree.editor.options.maxObj,
"style": "treeEditor",
"onChange": function(){
......@@ -349,7 +402,7 @@ o2.widget.TreeEditor.Tree.Node = new Class({
this.scriptArea.container.scrollIntoView();
this.scriptArea.focus();
this.setActionPosition();
}.bind(this));;
}.bind(this));
this.isEditScript = true;
this.tree.currentEditNode = this;
......@@ -372,6 +425,37 @@ o2.widget.TreeEditor.Tree.Node = new Class({
treeNode.editItem(textDivNode);
},
switchDefaultItem: function(e){
if( this.options.default ){
this.unsetDefaultItem();
}else{
if( this.tree.defaultItem ){
this.tree.defaultItem.unsetDefaultItem();
}
this.setDefaultItem( e );
}
this.tree.editor.fireEvent("change");
},
unsetDefaultItem: function(){
this.options.default = false;
if( this.defaultNode )this.defaultNode.destroy();
this.defaultAction.setStyles( this.tree.css.itemCheckActionNode );
this.tree.defaultItem = null;
this.unselectNode();
},
setDefaultItem: function(e){
this.defaultNode = new Element("div", {
"styles": this.tree.css.itemCheckedNode,
"title": o2.LP.process.formAction.defaultNode,
"text": ""
}).inject(this.itemNode);
this.tree.defaultItem = this;
if(e){
this.options.default = true;
this.defaultNode.hide();
this.defaultAction.setStyles( this.tree.css.itemCheckedActionNode );
}
},
deleteItem: function(e){
var treeNode = this;
......
......@@ -70,7 +70,7 @@ MWF.xApplication.portal.PageDesigner.Module.Tab = MWF.PCTab = new Class({
}.bind(this));
},
addPage: function(){
tabNode = new Element("div");
var tabNode = new Element("div");
var page = this.tabWidget.addTab(tabNode, "page", false);
this.form.getTemplateData("Tab$Page", function(data){
......
......@@ -197,7 +197,7 @@ MWF.xApplication.process.FormDesigner.Module.Tab = MWF.FCTab = new Class({
this.tabWidget.css.tabNode = this.json.tabStyles;
this.tabWidget.css.tabTextNode = this.json.tabTextStyles;
this.tabWidget.css.tabNodeCurrent = this.json.tabCurrentStyles;
this.tabWidget.css.contentNodeContainer.clear = "both";
if( !this.json.contentNodeContainer || !this.json.contentNodeContainer.clear )this.tabWidget.css.contentNodeContainer.clear = "both";
this.tabWidget.css.tabTextNodeCurrent = this.json.tabTextCurrentStyles;
},
_getElements: function(){
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册