|
|
@@ -2,13 +2,16 @@ MWF.xApplication = MWF.xApplication || {};
|
|
|
MWF.xApplication.query = MWF.xApplication.query || {};
|
|
|
MWF.xApplication.query.StatDesigner = MWF.xApplication.query.StatDesigner || {};
|
|
|
MWF.APPDSTD = MWF.xApplication.query.StatDesigner;
|
|
|
+MWF.require("MWF.widget.Common", null, false);
|
|
|
+MWF.require("MWF.xScript.Macro", null, false);
|
|
|
|
|
|
MWF.xDesktop.requireApp("query.StatDesigner", "lp."+MWF.language, null, false);
|
|
|
-MWF.xDesktop.requireApp("query.ViewDesigner", "View", null, false);
|
|
|
+//MWF.xDesktop.requireApp("query.ViewDesigner", "View", null, false);
|
|
|
MWF.xDesktop.requireApp("query.StatDesigner", "Property", null, false);
|
|
|
|
|
|
MWF.xApplication.query.StatDesigner.Stat = new Class({
|
|
|
- Extends: MWF.xApplication.query.ViewDesigner.View,
|
|
|
+ //Extends: MWF.xApplication.query.ViewDesigner.View,
|
|
|
+ Extends: MWF.widget.Common,
|
|
|
Implements: [Options, Events],
|
|
|
options: {
|
|
|
"style": "default",
|
|
|
@@ -101,9 +104,20 @@ MWF.xApplication.query.StatDesigner.Stat = new Class({
|
|
|
this.checkIsGroupRadioDisplay();
|
|
|
}
|
|
|
},
|
|
|
-
|
|
|
+ autoSave: function(){
|
|
|
+ this.autoSaveTimerID = window.setInterval(function(){
|
|
|
+ if (!this.autoSaveCheckNode) this.autoSaveCheckNode = this.designer.contentToolbarNode.getElement("#MWFDictionaryAutoSaveCheck");
|
|
|
+ if (this.autoSaveCheckNode){
|
|
|
+ if (this.autoSaveCheckNode.get("checked")){
|
|
|
+ this.save();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }.bind(this), 60000);
|
|
|
+ },
|
|
|
+ parseData: function(){
|
|
|
+ this.json = this.data;
|
|
|
+ },
|
|
|
showProperty: function(){
|
|
|
-
|
|
|
if (!this.property){
|
|
|
this.property = new MWF.xApplication.query.StatDesigner.Property(this, this.designer.propertyContentArea, this.designer, {
|
|
|
"path": this.options.propertyPath,
|
|
|
@@ -137,6 +151,49 @@ MWF.xApplication.query.StatDesigner.Stat = new Class({
|
|
|
// if (tds.length) if (tds[ci]) td = tds[ci];
|
|
|
// return td;
|
|
|
//},
|
|
|
+ hideProperty: function(){
|
|
|
+ if (this.property) this.property.hide();
|
|
|
+ },
|
|
|
+
|
|
|
+ load : function(){
|
|
|
+ this.setAreaNodeSize();
|
|
|
+ this.designer.addEvent("resize", this.setAreaNodeSize.bind(this));
|
|
|
+ this.areaNode.inject(this.node);
|
|
|
+
|
|
|
+ this.designer.viewListAreaNode.getChildren().each(function(node){
|
|
|
+ var view = node.retrieve("view");
|
|
|
+ if (view.id==this.data.id){
|
|
|
+ if (this.designer.currentListViewItem){
|
|
|
+ this.designer.currentListViewItem.setStyles(this.designer.css.listViewItem);
|
|
|
+ }
|
|
|
+ node.setStyles(this.designer.css.listViewItem_current);
|
|
|
+ this.designer.currentListViewItem = node;
|
|
|
+ this.lisNode = node;
|
|
|
+ }
|
|
|
+ }.bind(this));
|
|
|
+
|
|
|
+ this.domListNode = new Element("div", {"styles": {"overflow": "hidden"}}).inject(this.designer.propertyDomArea);
|
|
|
+
|
|
|
+ this.loadView();
|
|
|
+
|
|
|
+ this.selected();
|
|
|
+ this.setEvent();
|
|
|
+
|
|
|
+ //if (this.options.showTab) this.page.showTabIm();
|
|
|
+ this.setViewWidth();
|
|
|
+ this.designer.addEvent("resize", this.setViewWidth.bind(this));
|
|
|
+ },
|
|
|
+ setEvent: function(){
|
|
|
+ this.areaNode.addEvent("click", this.selected.bind(this));
|
|
|
+ this.refreshNode.addEvent("click", function(e){
|
|
|
+ this.loadViewData();
|
|
|
+ e.stopPropagation();
|
|
|
+ }.bind(this));
|
|
|
+ this.addColumnNode.addEvent("click", function(e){
|
|
|
+ this.addColumn();
|
|
|
+ e.stopPropagation();
|
|
|
+ }.bind(this));
|
|
|
+ },
|
|
|
loadViewData: function(){
|
|
|
|
|
|
if (this.data.id){
|
|
|
@@ -208,7 +265,38 @@ MWF.xApplication.query.StatDesigner.Stat = new Class({
|
|
|
}.bind(this));
|
|
|
}
|
|
|
},
|
|
|
+ setContentColumnWidth: function(){
|
|
|
+ var titleTds = this.viewTitleTrNode.getElements("td");
|
|
|
+ var widthList = [];
|
|
|
+ titleTds.each(function(td){widthList.push(td.getSize().x);});
|
|
|
+
|
|
|
+ var flag = false;
|
|
|
+
|
|
|
+ if (this.viewContentTableNode){
|
|
|
+ trs = this.viewContentTableNode.getElements("tr");
|
|
|
+ for (var i=0; i<trs.length; i++){
|
|
|
+ var tr = trs[i];
|
|
|
+ var tds = tr.getElements("td");
|
|
|
+ tds.each(function(contentTd, i){
|
|
|
+ if (contentTd.get("colSpan")==1){
|
|
|
+ contentTd.setStyle("width", ""+widthList[i]+"px");
|
|
|
+ flag = true;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ if (flag) break;
|
|
|
+ }
|
|
|
|
|
|
+ //var tr = this.viewContentTableNode.getFirst("tr");
|
|
|
+ //if (tr){
|
|
|
+ // var tds = tr.getElements("td");
|
|
|
+ // tds.each(function(contentTd, i){
|
|
|
+ // if (!contentTd.get("colSpan")){
|
|
|
+ // contentTd.setStyle("width", ""+widthList[i]+"px");
|
|
|
+ // }
|
|
|
+ // });
|
|
|
+ //}
|
|
|
+ }
|
|
|
+ },
|
|
|
addColumn: function(){
|
|
|
|
|
|
MWF.require("MWF.widget.UUID", function(){
|
|
|
@@ -241,7 +329,70 @@ MWF.xApplication.query.StatDesigner.Stat = new Class({
|
|
|
}.bind(this));
|
|
|
//new Fx.Scroll(this.view.areaNode, {"wheelStops": false, "duration": 0}).toRight();
|
|
|
},
|
|
|
+ selected: function(){
|
|
|
+ if (this.currentSelectedModule){
|
|
|
+ if (this.currentSelectedModule==this){
|
|
|
+ return true;
|
|
|
+ }else{
|
|
|
+ this.currentSelectedModule.unSelected();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ this.currentSelectedModule = this;
|
|
|
+ this.showProperty();
|
|
|
+ },
|
|
|
+ unSelected: function(){
|
|
|
+ this.currentSelectedModule = null;
|
|
|
+ this.hideProperty();
|
|
|
+ },
|
|
|
|
|
|
+ loadViewNodes: function(){
|
|
|
+ this.viewAreaNode = new Element("div#viewAreaNode", {"styles": this.css.viewAreaNode}).inject(this.areaNode);
|
|
|
+ this.viewTitleNode = new Element("div#viewTitleNode", {"styles": this.css.viewTitleNode}).inject(this.viewAreaNode);
|
|
|
+
|
|
|
+ this.refreshNode = new Element("div", {"styles": this.css.refreshNode}).inject(this.viewTitleNode);
|
|
|
+ this.addColumnNode = new Element("div", {"styles": this.css.addColumnNode}).inject(this.viewTitleNode);
|
|
|
+
|
|
|
+ this.viewTitleContentNode = new Element("div", {"styles": this.css.viewTitleContentNode}).inject(this.viewTitleNode);
|
|
|
+ this.viewTitleTableNode = new Element("table", {
|
|
|
+ "styles": this.css.viewTitleTableNode,
|
|
|
+ "border": "0px",
|
|
|
+ "cellPadding": "0",
|
|
|
+ "cellSpacing": "0"
|
|
|
+ }).inject(this.viewTitleContentNode);
|
|
|
+ this.viewTitleTrNode = new Element("tr", {"styles": this.css.viewTitleTrNode}).inject(this.viewTitleTableNode);
|
|
|
+
|
|
|
+
|
|
|
+ this.viewContentScrollNode = new Element("div", {"styles": this.css.viewContentScrollNode}).inject(this.viewAreaNode);
|
|
|
+ this.viewContentNode = new Element("div", {"styles": this.css.viewContentNode}).inject(this.viewContentScrollNode);
|
|
|
+ MWF.require("MWF.widget.ScrollBar", function(){
|
|
|
+ new MWF.widget.ScrollBar(this.viewContentScrollNode, {"style": "view", "distance": 100, "indent": false});
|
|
|
+ }.bind(this));
|
|
|
+
|
|
|
+ this.contentLeftNode = new Element("div", {"styles": this.css.contentLeftNode}).inject(this.viewContentNode);
|
|
|
+ this.contentRightNode = new Element("div", {"styles": this.css.contentRightNode}).inject(this.viewContentNode);
|
|
|
+ this.viewContentBodyNode = new Element("div", {"styles": this.css.viewContentBodyNode}).inject(this.viewContentNode);
|
|
|
+ this.viewContentTableNode = new Element("table", {
|
|
|
+ "styles": this.css.viewContentTableNode,
|
|
|
+ "border": "0px",
|
|
|
+ "cellPadding": "0",
|
|
|
+ "cellSpacing": "0"
|
|
|
+ }).inject(this.viewContentBodyNode);
|
|
|
+ },
|
|
|
+ setContentHeight: function(){
|
|
|
+ var size = this.areaNode.getSize();
|
|
|
+ var titleSize = this.viewTitleNode.getSize();
|
|
|
+ var height = size.y-titleSize.y-2;
|
|
|
+
|
|
|
+ this.viewContentScrollNode.setStyle("height", height);
|
|
|
+
|
|
|
+ var contentSize = this.viewContentBodyNode.getSize();
|
|
|
+ if (height<contentSize.y) height = contentSize.y+10;
|
|
|
+
|
|
|
+ this.viewContentNode.setStyle("height", height);
|
|
|
+ this.contentLeftNode.setStyle("height", height);
|
|
|
+ this.contentRightNode.setStyle("height", height);
|
|
|
+ //this.viewContentBodyNode.setStyle("min-height", height);
|
|
|
+ },
|
|
|
loadViewColumns: function(){
|
|
|
// for (var i=0; i<10; i++){
|
|
|
if (this.json.data.calculate.calculateList) {
|
|
|
@@ -251,7 +402,58 @@ MWF.xApplication.query.StatDesigner.Stat = new Class({
|
|
|
}
|
|
|
// }
|
|
|
},
|
|
|
+ loadView: function(){
|
|
|
+ this.loadViewNodes();
|
|
|
+ this.loadViewColumns();
|
|
|
+// this.addTopItemNode.addEvent("click", this.addTopItem.bind(this));
|
|
|
+ },
|
|
|
+ setViewWidth: function(){
|
|
|
+ this.viewAreaNode.setStyle("width", "auto");
|
|
|
+ this.viewTitleNode.setStyle("width", "auto");
|
|
|
+
|
|
|
+ var s1 = this.viewTitleTableNode.getSize();
|
|
|
+ var s2 = this.refreshNode.getSize();
|
|
|
+ var s3 = this.addColumnNode.getSize();
|
|
|
+ var width = s1.x+s2.x+s2.x;
|
|
|
+ var size = this.areaNode.getSize();
|
|
|
+
|
|
|
+ if (width>size.x){
|
|
|
+ this.viewTitleNode.setStyle("width", ""+width+"px");
|
|
|
+ this.viewAreaNode.setStyle("width", ""+width+"px");
|
|
|
+ }else{
|
|
|
+ this.viewTitleNode.setStyle("width", ""+size.x+"px");
|
|
|
+ this.viewAreaNode.setStyle("width", ""+size.x+"px");
|
|
|
+ }
|
|
|
+ this.setContentColumnWidth();
|
|
|
+ this.setContentHeight();
|
|
|
+ },
|
|
|
+
|
|
|
+ //setPropertyContent: function(){
|
|
|
+ // this.designer.propertyIdNode.set("text", this.data.id);
|
|
|
+ // this.designer.propertyNameNode.set("value", this.data.name);
|
|
|
+ // this.designer.propertyAliasNode.set("value", this.data.alias);
|
|
|
+ // this.designer.propertyDescriptionNode.set("value", this.data.description);
|
|
|
+ //
|
|
|
+ // this.designer.jsonDomNode.empty();
|
|
|
+ // MWF.require("MWF.widget.JsonParse", function(){
|
|
|
+ // this.jsonParse = new MWF.widget.JsonParse(this.data.data, this.designer.jsonDomNode, this.designer.jsonTextAreaNode);
|
|
|
+ // window.setTimeout(function(){
|
|
|
+ // this.jsonParse.load();
|
|
|
+ // }.bind(this), 1);
|
|
|
+ // }.bind(this));
|
|
|
+ //},
|
|
|
+ setAreaNodeSize: function(){
|
|
|
+ //var size = this.node.getSize();
|
|
|
+ ////var tabSize = this.tab.tabNodeContainer.getSize();
|
|
|
+ //var tabSize = this.node.getSize();
|
|
|
+ //var y = size.y - tabSize.y;
|
|
|
+ //this.areaNode.setStyle("height", ""+y+"px");
|
|
|
+ //if (this.editor) if (this.editor.editor) this.editor.editor.resize();
|
|
|
+ },
|
|
|
|
|
|
+ // createRootItem: function() {
|
|
|
+ // this.items.push(new MWF.xApplication.process.DictionaryDesigner.Dictionary.item("ROOT", this.data.data, null, 0, this, true));
|
|
|
+ // },
|
|
|
saveSilence: function(callback){
|
|
|
if (!this.data.name){
|
|
|
this.designer.notice(this.designer.lp.notice.inputName, "error");
|
|
|
@@ -311,6 +513,8 @@ MWF.xApplication.query.StatDesigner.Stat = new Class({
|
|
|
// return false;
|
|
|
// }
|
|
|
},
|
|
|
+ explode: function(){},
|
|
|
+ implode: function(){},
|
|
|
_setEditStyle: function(name, input, oldValue){
|
|
|
|
|
|
// if (name=="view"){
|
|
|
@@ -385,8 +589,24 @@ MWF.xApplication.query.StatDesigner.Stat = new Class({
|
|
|
});
|
|
|
form.edit()
|
|
|
},
|
|
|
- explode: function(){},
|
|
|
- implode: function(){},
|
|
|
+ cloneObject : function( obj ){
|
|
|
+ if (null == obj || "object" != typeof obj) return obj;
|
|
|
+
|
|
|
+ if ( typeof obj.length==='number'){ //数组
|
|
|
+ //print( "array" );
|
|
|
+ var copy = [];
|
|
|
+ for (var i = 0, len = obj.length; i < len; ++i) {
|
|
|
+ copy[i] = this.cloneObject(obj[i]);
|
|
|
+ }
|
|
|
+ return copy;
|
|
|
+ }else{
|
|
|
+ var copy = {};
|
|
|
+ for (var attr in obj) {
|
|
|
+ copy[attr] = this.cloneObject(obj[attr]);
|
|
|
+ }
|
|
|
+ return copy;
|
|
|
+ }
|
|
|
+ },
|
|
|
_saveAs : function( data , callback){
|
|
|
var _self = this;
|
|
|
|
|
|
@@ -423,7 +643,7 @@ MWF.xApplication.query.StatDesigner.Stat = new Class({
|
|
|
|
|
|
|
|
|
MWF.xApplication.query.StatDesigner.Stat.Column = new Class({
|
|
|
- Extends:MWF.xApplication.query.ViewDesigner.View.Column,
|
|
|
+ //Extends:MWF.xApplication.query.ViewDesigner.View.Column,
|
|
|
initialize: function(json, view, next){
|
|
|
this.propertyPath = "/x_component_query_StatDesigner/$Stat/column.html";
|
|
|
this.view = view;
|
|
|
@@ -434,7 +654,153 @@ MWF.xApplication.query.StatDesigner.Stat.Column = new Class({
|
|
|
this.domListNode = this.view.domListNode;
|
|
|
this.load();
|
|
|
},
|
|
|
+ load: function(){
|
|
|
+ this.areaNode = new Element("td", {"styles": this.css.viewTitleColumnAreaNode});
|
|
|
+ this.areaNode.store("column", this);
|
|
|
|
|
|
+ if (this.next){
|
|
|
+ this.areaNode.inject(this.next.areaNode, "before");
|
|
|
+ }else{
|
|
|
+ this.areaNode.inject(this.content);
|
|
|
+ }
|
|
|
+
|
|
|
+ this.node = new Element("div", {
|
|
|
+ "styles": this.css.viewTitleColumnNode
|
|
|
+ }).inject(this.areaNode);
|
|
|
+ this.textNode = new Element("div", {
|
|
|
+ "styles": this.css.viewTitleColumnTextNode,
|
|
|
+ "text": this.json.displayName
|
|
|
+ }).inject(this.node);
|
|
|
+
|
|
|
+ this.createDomListItem();
|
|
|
+
|
|
|
+
|
|
|
+ this._createIconAction();
|
|
|
+
|
|
|
+ //if (!this.json.export) this.hideMode();
|
|
|
+
|
|
|
+ this.setEvent();
|
|
|
+ },
|
|
|
+ createDomListItem: function(){
|
|
|
+ this.listNode = new Element("div", {"styles": this.css.cloumnListNode});
|
|
|
+ if (this.next){
|
|
|
+ this.listNode.inject(this.next.listNode, "before");
|
|
|
+ }else{
|
|
|
+ this.listNode.inject(this.domListNode);
|
|
|
+ }
|
|
|
+ var listIconNode = new Element("div", {"styles": this.css.cloumnListIconNode}).inject(this.listNode);
|
|
|
+ var listTextNode = new Element("div", {"styles": this.css.cloumnListTextNode}).inject(this.listNode);
|
|
|
+ this.resetTextNode();
|
|
|
+ },
|
|
|
+ setEvent: function(){
|
|
|
+ this.node.addEvents({
|
|
|
+ "click": function(e){this.selected(); e.stopPropagation();}.bind(this),
|
|
|
+ "mouseover": function(){if (!this.isSelected) this.node.setStyles(this.css.viewTitleColumnNode_over)}.bind(this),
|
|
|
+ "mouseout": function(){if (!this.isSelected) if (this.isError){
|
|
|
+ this.node.setStyles(this.css.viewTitleColumnNode_error)
|
|
|
+ }else{
|
|
|
+ this.node.setStyles(this.css.viewTitleColumnNode)
|
|
|
+ }}.bind(this)
|
|
|
+ });
|
|
|
+ this.listNode.addEvents({
|
|
|
+ "click": function(e){this.selected(); e.stopPropagation();}.bind(this),
|
|
|
+ "mouseover": function(){debugger; if (!this.isSelected) this.listNode.setStyles(this.css.cloumnListNode_over)}.bind(this),
|
|
|
+ "mouseout": function(){if (!this.isSelected) this.listNode.setStyles(this.css.cloumnListNode)}.bind(this)
|
|
|
+ });
|
|
|
+ },
|
|
|
+ _createIconAction: function(){
|
|
|
+ if (!this.actionArea){
|
|
|
+ this.actionArea = new Element("div", {"styles": this.css.actionAreaNode}).inject(this.view.areaNode, "after");
|
|
|
+
|
|
|
+ this._createAction({
|
|
|
+ "name": "move",
|
|
|
+ "icon": "move1.png",
|
|
|
+ "event": "mousedown",
|
|
|
+ "action": "move",
|
|
|
+ "title": MWF.APPDVD.LP.action.move
|
|
|
+ });
|
|
|
+ this._createAction({
|
|
|
+ "name": "add",
|
|
|
+ "icon": "add.png",
|
|
|
+ "event": "click",
|
|
|
+ "action": "addColumn",
|
|
|
+ "title": MWF.APPDVD.LP.action.add
|
|
|
+ });
|
|
|
+ this._createAction({
|
|
|
+ "name": "delete",
|
|
|
+ "icon": "delete1.png",
|
|
|
+ "event": "click",
|
|
|
+ "action": "delete",
|
|
|
+ "title": MWF.APPDVD.LP.action["delete"]
|
|
|
+ });
|
|
|
+ }
|
|
|
+ },
|
|
|
+ _createAction: function(action){
|
|
|
+ var actionNode = new Element("div", {
|
|
|
+ "styles": this.css.actionNodeStyles,
|
|
|
+ "title": action.title
|
|
|
+ }).inject(this.actionArea);
|
|
|
+ actionNode.setStyle("background", "url("+this.view.path+this.view.options.style+"/action/"+action.icon+") no-repeat left center");
|
|
|
+ actionNode.addEvent(action.event, function(e){
|
|
|
+ this[action.action](e);
|
|
|
+ }.bind(this));
|
|
|
+ actionNode.addEvents({
|
|
|
+ "mouseover": function(e){
|
|
|
+ e.target.setStyle("border", "1px solid #999");
|
|
|
+ }.bind(this),
|
|
|
+ "mouseout": function(e){
|
|
|
+ e.target.setStyle("border", "1px solid #F1F1F1");
|
|
|
+ }.bind(this)
|
|
|
+ });
|
|
|
+ },
|
|
|
+ _setActionAreaPosition: function(){
|
|
|
+ var p = this.node.getPosition(this.view.areaNode.getOffsetParent());
|
|
|
+ var y = p.y-25;
|
|
|
+ var x = p.x;
|
|
|
+ this.actionArea.setPosition({"x": x, "y": y});
|
|
|
+ },
|
|
|
+ _showActions: function(){
|
|
|
+ if (this.actionArea){
|
|
|
+ this._setActionAreaPosition();
|
|
|
+ this.actionArea.setStyle("display", "block");
|
|
|
+ }
|
|
|
+ },
|
|
|
+ _hideActions: function(){
|
|
|
+ if (this.actionArea) this.actionArea.setStyle("display", "none");
|
|
|
+ },
|
|
|
+
|
|
|
+ selected: function(){
|
|
|
+ if (this.view.currentSelectedModule){
|
|
|
+ if (this.view.currentSelectedModule==this){
|
|
|
+ return true;
|
|
|
+ }else{
|
|
|
+ this.view.currentSelectedModule.unSelected();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ this.node.setStyles(this.css.viewTitleColumnNode_selected);
|
|
|
+ this.listNode.setStyles(this.css.cloumnListNode_selected);
|
|
|
+ new Fx.Scroll(this.view.areaNode, {"wheelStops": false, "duration": 100}).toElementEdge(this.node);
|
|
|
+ new Fx.Scroll(this.view.designer.propertyDomArea, {"wheelStops": false, "duration": 100}).toElement(this.listNode);
|
|
|
+
|
|
|
+ this.view.currentSelectedModule = this;
|
|
|
+ this.isSelected = true;
|
|
|
+ this._showActions();
|
|
|
+ this.showProperty();
|
|
|
+ },
|
|
|
+ unSelected: function(){
|
|
|
+ this.view.currentSelectedModule = null;
|
|
|
+ //this.node.setStyles(this.css.viewTitleColumnNode);
|
|
|
+ if (this.isError){
|
|
|
+ this.node.setStyles(this.css.viewTitleColumnNode_error)
|
|
|
+ }else{
|
|
|
+ this.node.setStyles(this.css.viewTitleColumnNode)
|
|
|
+ }
|
|
|
+
|
|
|
+ this.listNode.setStyles(this.css.cloumnListNode);
|
|
|
+ this.isSelected = false;
|
|
|
+ this._hideActions();
|
|
|
+ this.hideProperty();
|
|
|
+ },
|
|
|
showProperty: function(){
|
|
|
if (!this.property){
|
|
|
this.property = new MWF.xApplication.query.StatDesigner.Property(this, this.view.designer.propertyContentArea, this.view.designer, {
|
|
|
@@ -449,7 +815,9 @@ MWF.xApplication.query.StatDesigner.Stat.Column = new Class({
|
|
|
this.property.show();
|
|
|
}
|
|
|
},
|
|
|
-
|
|
|
+ hideProperty: function(){
|
|
|
+ if (this.property) this.property.hide();
|
|
|
+ },
|
|
|
_setEditStyle: function(name, input, oldValue){
|
|
|
//if (name=="displayName") this.resetTextNode();
|
|
|
//if (name=="selectType") this.resetTextNode();
|
|
|
@@ -488,7 +856,34 @@ MWF.xApplication.query.StatDesigner.Stat.Column = new Class({
|
|
|
this.close();
|
|
|
}, null);
|
|
|
},
|
|
|
+ destroy: function(){
|
|
|
+ if (this.view.currentSelectedModule==this) this.view.currentSelectedModule = null;
|
|
|
+ if (this.actionArea) this.actionArea.destroy();
|
|
|
+ if (this.listNode) this.listNode.destroy();
|
|
|
+ if (this.property) this.property.propertyContent.destroy();
|
|
|
+
|
|
|
+ var idx = this.view.items.indexOf(this);
|
|
|
+
|
|
|
+ if (this.view.viewContentTableNode){
|
|
|
+ var trs = this.view.viewContentTableNode.getElements("tr");
|
|
|
+ trs.each(function(tr){
|
|
|
+ tr.deleteCell(idx);
|
|
|
+ }.bind(this));
|
|
|
+ }
|
|
|
+
|
|
|
+ if (this.view.json.data.selectList) this.view.json.data.selectList.erase(this.json);
|
|
|
+ if (this.view.json.data.calculate) if (this.view.json.data.calculate.calculateList) this.view.json.data.calculate.calculateList.erase(this.json);
|
|
|
+ this.view.items.erase(this);
|
|
|
+ if (this.view.property) this.view.property.loadStatColumnSelect();
|
|
|
|
|
|
+ this.areaNode.destroy();
|
|
|
+ this.view.selected();
|
|
|
+
|
|
|
+ this.view.setViewWidth();
|
|
|
+
|
|
|
+ MWF.release(this);
|
|
|
+ delete this;
|
|
|
+ },
|
|
|
addColumn: function(e, data){
|
|
|
MWF.require("MWF.widget.UUID", function(){
|
|
|
var json;
|
|
|
@@ -527,7 +922,38 @@ MWF.xApplication.query.StatDesigner.Stat.Column = new Class({
|
|
|
|
|
|
}.bind(this));
|
|
|
},
|
|
|
+ move: function(e){
|
|
|
+ var columnNodes = [];
|
|
|
+ this.view.items.each(function(item){
|
|
|
+ if (item!=this){
|
|
|
+ columnNodes.push(item.areaNode);
|
|
|
+ }
|
|
|
+ }.bind(this));
|
|
|
+
|
|
|
+ this._createMoveNode();
|
|
|
|
|
|
+ this._setNodeMove(columnNodes, e);
|
|
|
+ },
|
|
|
+ _createMoveNode: function(){
|
|
|
+ this.moveNode = new Element("div", {"text": this.node.get("text")});
|
|
|
+ this.moveNode.inject(this.view.designer.content);
|
|
|
+ this.moveNode.setStyles({
|
|
|
+ "border": "2px dashed #ffa200",
|
|
|
+ "opacity": 0.7,
|
|
|
+ "height": "30px",
|
|
|
+ "line-height": "30px",
|
|
|
+ "padding": "0px 10px",
|
|
|
+ "position": "absolute"
|
|
|
+ });
|
|
|
+ },
|
|
|
+ _setMoveNodePosition: function(e){
|
|
|
+ var x = e.page.x+2;
|
|
|
+ var y = e.page.y+2;
|
|
|
+ this.moveNode.positionTo(x, y);
|
|
|
+ },
|
|
|
+ createMoveFlagNode: function(){
|
|
|
+ this.moveFlagNode = new Element("td", {"styles": this.css.moveFlagNode});
|
|
|
+ },
|
|
|
_setNodeMove: function(droppables, e){
|
|
|
this._setMoveNodePosition(e);
|
|
|
var movePosition = this.moveNode.getPosition();
|