ViewSelector.min.js 2.3 KB

1
  1. MWF.xDesktop.requireApp("process.Xform","$Module",null,false);MWF.xApplication.process.Xform.ViewSelector=MWF.APPViewSelector=new Class({Implements:[Events],Extends:MWF.xApplication.process.Xform.Button,_loadUserInterface:function(){var t=new Element("button");t.inject(this.node,"after");this.node.destroy();this.node=t;this.node.set({id:this.json.id,text:this.json.name||this.json.id,styles:this.form.css.buttonStyles,MWFType:this.json.type});this.node.addEvent("click",function(){this.selectedData=null;this.selectView(function(t){this.doResult(t)}.bind(this))}.bind(this))},doResult:function(t){if(this.result=="script"){this.selectedData=t;return this.json.selectedScript.code?this.form.Macro.exec(this.json.selectedScript.code,this):""}else{debugger;Object.each(this.json.selectedSetValues,function(e,i){var s="";t.each(function(t,i){Object.each(t.data,function(t,i){if(i==e)s=s?s+", "+t:t}.bind(this))}.bind(this));var o=this.form.all[i];if(o)o.setData(s)}.bind(this))}},selectView:function(t){debugger;if(this.json.viewName){var e={application:this.json.application||this.form.json.application,viewName:this.json.viewName||"",isTitle:this.json.isTitle||"yes",select:this.json.select||"single"};var i={};var s=i.width||"700";var o=i.height||"400";if(layout.mobile){var n=document.body.getSize();s=n.x;o=n.y;i.style="viewmobile"}s=s.toInt();o=o.toInt();var n=this.form.app.content.getSize();var c=(n.x-s)/2;var a=(n.y-o)/2;if(c<0)c=0;if(a<0)a=0;if(layout.mobile){c=20;a=0}var l=this;MWF.require("MWF.xDesktop.Dialog",function(){var n=new MWF.xDesktop.Dialog({title:this.json.title||"select view",style:i.style||"view",top:a,left:c-20,fromTop:a,fromLeft:c-20,width:s,height:o,html:"<div></div>",maskNode:this.form.app.content,container:this.form.app.content,buttonList:[{text:MWF.LP.process.button.ok,action:function(){if(t)t(l.view.getData());this.close()}},{text:MWF.LP.process.button.cancel,action:function(){this.close()}}]});n.show();if(layout.mobile){var r=n.node.getElement(".MWF_dialod_Action_back");var h=n.node.getElement(".MWF_dialod_Action_ok");if(r)r.addEvent("click",function(t){n.close()}.bind(this));if(h)h.addEvent("click",function(e){if(t)t(this.view.getData());n.close()}.bind(this))}MWF.xDesktop.requireApp("process.Xform","widget.View",function(){this.view=new MWF.xApplication.process.Xform.widget.View(n.content.getFirst(),e,{style:"select"})}.bind(this))}.bind(this))}}});