📄 main.js
字号:
dialogs.bind.show(); /* clear old values */ $("bind_soap_wsdl").value = ""; $("bind_rest_url").value = ""; $("bind_sql_query_text").value = ""; $("bind_sql_table_text").innerHTML = ""; $("bind_sql_file_text").innerHTML = ""; $("bind_sql").checked = false; $("bind_soap").checked = false; $("bind_rest").checked = false; $("bind_sql_query").checked = false; $("bind_sql_file").checked = false; $("bind_sql_table").checked = false; $("bind_rest_in").value = ""; $("bind_rest_out").value = ""; /* read actual values from form */ switch (form.ds.type) { case 0: $("bind_none").checked = true; break; case 1: $("bind_sql").checked = true; switch (form.ds.subtype) { case 1: /* query */ $("bind_sql_query").checked = true; $("bind_sql_query_text").value = form.ds.query; break; case 2: /* saved query */ $("bind_sql_file").checked = true; $("bind_sql_file_text").innerHTML = form.ds.url; $("bind_sql_query_text").value = form.ds.query; break; case 3: /* table */ $("bind_sql_table").checked = true; $("bind_sql_table_text").innerHTML = form.ds.url; break; } break; case 2: /* wsdl */ $("bind_soap").checked = true; $("bind_soap_wsdl").value = form.ds.url; break; case 3: /* rest */ $("bind_rest").checked = true; $("bind_rest_url").value = form.ds.url; $("bind_rest_in").value = form.inputFields.join(","); $("bind_rest_out").value = form.outputFields.join(","); $("bind_rest_type").selectedIndex = (form.ds.subtype == 0 ? 0 : 1); $("bind_rest_xpath").selectedIndex = form.ds.xpath; break; } }, load:function() { var callback = function(f) { var qRef = function(data) { var queryObj = new OAT.SqlQuery(); queryObj.fromString(data); var q = queryObj.toString(OAT.SqlQueryData.TYPE_SQL); $("bind_sql_query_text").value = q; $("bind_sql_file").checked = true; $("bind_sql").checked = true; $("bind_sql_file_text").innerHTML = f; } OAT.Ajax.command(OAT.Ajax.GET + OAT.Ajax.AUTH_BASIC,f,function(){return '';},qRef,OAT.Ajax.TYPE_TEXT); } if ($("options_type_http").checked) { var name = OAT.Dav_old.getFile("/DAV/home/"+OAT.Xmla.user,".xml"); if (!name) { return; } callback(name); } if ($("options_type_dav").checked) { var options = { mode:'open_dialog', user:OAT.Xmla.user, pass:OAT.Xmla.password, pathDefault:'/DAV/home/'+OAT.Xmla.user+'/', onOpenClick:function(path,fname,data) { callback(path+fname); return true; /* false == keep browser opened */ } }; OAT.WebDav.open(options); } }, save:function() { if (IO.filename == "") { DS.save_as(); return; } var xslStr = '<?xml-stylesheet type="text/xsl" href="'+$v("options_xslt")+'/formview.xsl"?>'; var xml = fd.toXML(xslStr); IO.save(xml,IO.filename); }, save_as:function() { var xslStr = '<?xml-stylesheet type="text/xsl" href="'+$v("options_xslt")+'/formview.xsl"?>'; var xml = fd.toXML(xslStr); if ($("options_type_http").checked) { var name = OAT.Dav_old.getNewFile("/DAV/home/"+OAT.Ajax.user,".xml","xml"); if (!name) { return; } if (name.slice(name.length-4).toLowerCase() != ".xml") { name += ".xml"; } IO.save(xml,name); } if ($("options_type_dav").checked) { var options = { mode:'save_dialog', user:OAT.Xmla.user, pass:OAT.Xmla.password, pathDefault:'/DAV/home/'+OAT.Xmla.user+'/', file_ext:'xml', onSaveClick:function() { set_filename(OAT.WebDav.options.path + OAT.WebDav.options.filename); $("corner").innerHTML = OAT.WebDav.options.filename; return xml; } }; OAT.WebDav.open(options); } }}function init() { /* xslt path */ $("options_xslt").value = OAT.Preferences.xsltPath; /* ajax */ dialogs.ajax = new OAT.Dialog("Please wait","ajax_alert",{width:240,modal:0,zIndex:1001,resize:0}); dialogs.ajax.ok = dialogs.ajax.hide; dialogs.ajax.cancel = dialogs.ajax.hide; OAT.Ajax.setCancel(dialogs.ajax.cancelBtn); OAT.Ajax.setStart(function() { if ($("options_ajax").checked) {dialogs.ajax.show();} }); OAT.Ajax.setEnd(dialogs.ajax.hide); /* ajax http errors */ $("options_http").checked = (OAT.Preferences.httpError == 1 ? true : false); OAT.Ajax.httpError = OAT.Preferences.httpError; OAT.Dom.attach("options_http","change",function(){OAT.Ajax.httpError = ($("options_http").checked ? 1 : 0);}); /* connection */ dialogs.connection = new OAT.Dialog("XMLA Data Provider Connection Setup","connection",{width:500,modal:1,buttons:1}); OAT.Dom.attach("endpoint","blur",Connection.discover_dsn); OAT.Dom.attach("dsn","click",function(){if ($("dsn").childNodes.length == 0) { Connection.discover_dsn(); }}); OAT.Dom.attach("endpoint","keyup",function(e) { if (e.keyCode == 13) { Connection.discover_dsn(); }}); OAT.Dom.attach("login_put_type","change",function(){if ($("dsn").childNodes.length == 0) { Connection.discover_dsn(); }}); dialogs.connection.ok = function(){Connection.use_dsn(1);}; dialogs.connection.cancel = dialogs.connection.hide; dialogs.connection.okBtn.setAttribute("disabled","disabled"); /* options */ dialogs.options = new OAT.Dialog("Options","options",{width:400,modal:1}); dialogs.options.ok = dialogs.options.hide; dialogs.options.cancel = dialogs.options.hide; /* form designer */ fd = new FormDesigner("form"); fd.init("formbase"); /* data bindings */ dialogs.bind = new OAT.Dialog("Data bindings","bind",{width:600,modal:0}); dialogs.bind.ok = function() { DS.applyBinding(); dialogs.bind.hide(); } dialogs.bind.cancel = dialogs.bind.hide; /* table list */ dialogs.tables = new OAT.Dialog("Pick a table","tables",{width:400,modal:0}); dialogs.tables.ok = function() { var index = $("ds_tables").selectedIndex; if (index == -1) { alert("You need to select a table!"); return; } var opt = $("ds_tables").childNodes[index]; var catalog = opt.catalog; var schema = opt.schema; var table = opt.value; var fq = (catalog == "" ? table : catalog+"."+schema+"."+table); $("bind_sql_table_text").innerHTML = fq; $("bind_sql_table").checked = true; $("bind_sql").checked = true; dialogs.tables.hide(); } dialogs.tables.cancel = dialogs.tables.hide; /* links */ dialogs.services = new OAT.Dialog("Available services","services",{width:400,modal:0}); OAT.Dom.unlink(dialogs.services.cancelBtn); dialogs.services.hide(); /* table selection */ OAT.Dom.attach("ds_catalogs","change",Filter.apply); OAT.Dom.attach("ds_schemas","change",Filter.apply); /* menu */ var m = new OAT.Menu(); m.noCloseFilter = "noclose"; m.createFromUL("menu"); OAT.Dom.attach("menu_new","click",function(){fd.clear({addNav:true});fd.columns.clear();IO.filename="";}); OAT.Dom.attach("menu_clear","click",function(){fd.clear({addNav:true});}); OAT.Dom.attach("menu_load","click",IO.load); OAT.Dom.attach("menu_save","click",DS.save); OAT.Dom.attach("menu_saveas","click",DS.save_as); OAT.Dom.attach("menu_preview","click",IO.preview); OAT.Dom.attach("menu_options","click",dialogs.options.show); OAT.Dom.attach("menu_about","click",function(){alert('Assembly date: '+OAT.Preferences.version);}); OAT.Dom.attach("menu_sub","click",function(){fd.addForm({addNav:true});}); /* binding buttons */ OAT.Dom.attach("bind_sql_query_btn","click",function() { var obj = {}; obj.user = OAT.Xmla.user; obj.password = OAT.Xmla.password; obj.dsn = OAT.Xmla.dsn; obj.endpoint = OAT.Xmla.endpoint; obj.type = ($("options_type_dav").checked ? "dav" : "http"); obj.query = $v("bind_sql_query_text"); obj.callback = function(q) { $("bind_sql").checked = true; $("bind_sql_query").checked = true; $("bind_sql_query_text").value = q; } var w = window.open("../qbe/index.html"); w.__inherited = obj; }); OAT.Dom.attach("bind_sql_table_btn","click",dialogs.tables.show); OAT.Dom.attach("bind_sql_file_btn","click",DS.load); /* MS Live clipboard */ var onRef = function() {} var outRef = function() {} var genRef = function() { return fd.toXML(); } var pasteRef = function(xmlStr){ fd.loadXML(xmlStr); } var typeRef = function(){ return "ol_form"; } OAT.WebClipBindings.bind("webclip", typeRef, genRef, pasteRef, onRef, outRef); /* toolbar */ tbar = new OAT.Toolbar(); $("tbar").appendChild(tbar.div); tbar.addIcon(1,"images/palette.gif","Control Palette",function(state){if(state){fd.palette.win.show()} else {fd.palette.win.hide();}}); tbar.addIcon(1,"images/toolbox.gif","Control Properties",function(state){if(state){fd.toolbox.win.show()} else {fd.toolbox.win.hide();}}); tbar.addIcon(1,"images/columns.gif","Form Columns",function(state){if(state){fd.columns.win.show()} else {fd.columns.win.hide();}}); for (var i=0;i<3;i++) { tbar.icons[i].toggle(); } /* DAV Browser init */ var options = { imagePath:'../images/', imageExt:'gif' }; OAT.WebDav.init(options); dialogs.connection.show();}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -