ant/web/addons/ant.soldier/libs/api.ui.min.js

1 line
3.8 KiB
JavaScript

(function(e){(function(e,n){n.SOLDIER_UI=function(t,i,o){var r={id:i,aid:t,dom:e("#"+i),form:function(t){w2ui[i]?w2ui[i].destroy():null;e().w2layout({name:i,panels:[{size:"100%",type:"main",style:"border: 1px solid #dfdfdf;",resizable:true},{size:"50%",type:"preview",hidden:true,style:"border: 1px solid #dfdfdf;",content:'<div id="output_'+i+'" style="width: 100%;height: 100%;"></div>',resizable:true,toolbar:{items:[{id:"up",type:"button",caption:"拉伸",icon:"fa fa-chevron-up",onClick:function(){this.hide("up");this.show("down");w2ui[i].set("preview",{size:"100%"})}},{id:"down",type:"button",caption:"退下",hidden:true,icon:"fa fa-chevron-down",onClick:function(){this.hide("down");this.show("up");w2ui[i].set("preview",{size:"50%"})}},{type:"break"},{type:"button",caption:"隐藏",icon:"fa fa-eye-slash",onClick:function(){w2ui[i].hide("preview")}},{type:"break"},{type:"button",caption:"清空",icon:"fa fa-trash-o",onClick:function(){u.session.setValue("")}},{type:"break"},{type:"button",caption:"导出",icon:"fa fa-download",onClick:function(){n.CONNECT_API.apis.base.save("dump_"+(new Date).getTime()+".log",u.session.getValue())}}]}}],onResize:function(e){e.onComplete=function(){u?u.resize():null}}});e("#"+i).w2render(w2ui[i]);var o=i+"_form";w2ui[o]?w2ui[o].destroy():null;w2ui[i].content("main",e().w2form(e.extend({},{name:o,focus:-1,style:"border: 0px;background-color: transition;"},t)));var u=r.editor("output_"+i);return{form:w2ui[o],lock:function(e){w2ui[i].lock("main",e||"执行中..",true);return this},unlock:function(){w2ui[i].unlock("main");return this},log:function(e){w2ui[i].get("preview").hidden?w2ui[i].show("preview"):null;var n=u.session.getValue();u.session.setValue(n+(n?"\n"+e:e));u.gotoLine(u.session.getLength());return this},clear:function(){u.session.setValue("");return this}}},init:function(e){var n=[];var t={};var o=e.argv||{};for(var r in o){var u=i+"_input_"+r;n.push({field:u,type:o[r].type||"text",required:o[r].require||true,html:{caption:o[r].caption||r+"参数",attr:'style="width: 90%;"'+(o[r].type==="textarea"?' rows="5"':"")},options:{items:typeof o[r].items==="object"?o[r].items:[]}});t[u]=o[r].default||""}var a=new this.form({fields:n,record:t,toolbar:{items:[{id:"run",type:"button",icon:"fa fa-play-circle",caption:"运行",onClick:function(){var n={};for(var t in a.form.record){n[t.replace(i+"_input_","")]=a.form.record[t]}return a.form.validate().length===0?e.run(n,a.log):null}},{type:"break"},{id:"about",type:"button",icon:"fa fa-heart",caption:"关于",hidden:!e.info,onClick:function(){a.log("# 关于信息\n- - -");for(var n in e.info){a.log("**"+n+"** "+e.info[n])}}}]}});return a},resize:function(e,n){o==="running"?w2popup.resize(e,n):null;return this},showMax:function(n){var t=e(".w2ui-msg-button.w2ui-msg-max");o==="running"?n?t.show():t.hide():null;return this},max:function(){o==="running"?w2popup.max():null;return this},min:function(){o==="running"?w2popup.min():null;return this},setIcon:function(n){e("#"+this.id+"_icon").attr("class","fa fa-"+n);return this},lock:function(e){w2popup.status==="open"?w2popup.lock(e,true):w2ui["layout"].lock(o==="background"?"preview":"main",e,true);return this},unlock:function(){w2popup.status==="open"?w2popup.unlock():w2ui["layout"].unlock(o==="background"?"preview":"main");return this},iframe:function(n,t,i){var o=this;o.lock("加载中..");o.dom.css("overflow","hidden");var r=e('<iframe src="'+n+'" style="width: '+(t||"100%")+";height: "+(i||"100%")+'" border="0" frameborder="no" id="'+o.id+'_iframe">');r.on("load",function(){o.unlock()});setTimeout(function(){o.unlock()},2e3);o.dom.html(r);return o},editor:function(e){var n=ace.edit(e||i),t=require("ace/mode/markdown").Mode;n.setTheme("ace/theme/tomorrow");n.setReadOnly(true);n.session.setMode(new t);n.session.setUseWrapMode(true);return n}};return r}})(jQuery,ANT)})();