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.xDesktop.requireApp("query.StatDesigner", "lp."+MWF.language, null, false); MWF.xDesktop.requireApp("query.ViewDesigner", "ViewBase", null, false); MWF.xDesktop.requireApp("query.StatDesigner", "Property", null, false); MWF.xApplication.query.StatDesigner.Stat = new Class({ Extends: MWF.xApplication.query.ViewDesigner.ViewBase, Implements: [Options, Events], options: { "style": "default", "isView": false, "showTab": true, "propertyPath": "../x_component_query_StatDesigner/$Stat/stat.html" }, initialize: function(designer, data, options){ this.setOptions(options); this.path = "../x_component_query_StatDesigner/$Stat/"; this.cssPath = "../x_component_query_StatDesigner/$Stat/"+this.options.style+"/css.wcss"; this._loadCss(); this.designer = designer; this.data = data; if (!this.data.data) this.data.data = {}; this.parseData(); this.node = this.designer.designNode; this.areaNode = new Element("div", {"styles": {"height": "100%", "overflow": "auto"}}); this.propertyListNode = this.designer.propertyDomArea; if(this.designer.application) this.data.applicationName = this.designer.application.name; if(this.designer.application) this.data.application = this.designer.application.id; this.isNewView = (this.data.id) ? false : true; this.items = []; this.view = this; this.queryView = null; this.autoSave(); this.designer.addEvent("queryClose", function(){ if (this.autoSaveTimerID) window.clearInterval(this.autoSaveTimerID); }.bind(this)); }, changeViewSelected: function(){ if (this.json.view){ if (!this.queryView){ this.designer.actions.getView(this.json.view, function(view){ this.queryView = JSON.decode(view.data.data); this.items.each(function(item){ item.changeViewSelected(this.queryView); }.bind(this)); this.checkIsGroupRadioDisplay(); }.bind(this)); }else{ this.items.each(function(item){ item.changeViewSelected(this.queryView); }.bind(this)); this.checkIsGroupRadioDisplay(); } }else{ //item.changeViewSelected(); } }, checkIsGroupRadioDisplay: function(){ if (this.property){ var groupNode = this.property.propertyContent.getElement(".MWFIsGroupArea"); if (groupNode){ if (this.queryView.group.column){ groupNode.setStyle("display", "block"); }else{ this.json.data.calculate.isGroup = false; var radios = groupNode.getElements("input"); for (var i=0; i