diff --git a/o2server/x_mind_assemble_control/src/main/webapp/jest/clipboard.min.js b/o2server/x_mind_assemble_control/src/main/webapp/jest/clipboard.min.js new file mode 100644 index 0000000000000000000000000000000000000000..90fd15b1c06ab11571aceb625f76512bbc2b67ad --- /dev/null +++ b/o2server/x_mind_assemble_control/src/main/webapp/jest/clipboard.min.js @@ -0,0 +1,7 @@ +/*! + * clipboard.js v1.7.1 + * https://zenorocha.github.io/clipboard.js + * + * Licensed MIT © Zeno Rocha + */ +!function(t){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var e;e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,e.Clipboard=t()}}(function(){var t,e,n;return function t(e,n,o){function i(a,c){if(!n[a]){if(!e[a]){var l="function"==typeof require&&require;if(!c&&l)return l(a,!0);if(r)return r(a,!0);var s=new Error("Cannot find module '"+a+"'");throw s.code="MODULE_NOT_FOUND",s}var u=n[a]={exports:{}};e[a][0].call(u.exports,function(t){var n=e[a][1][t];return i(n||t)},u,u.exports,t,e,n,o)}return n[a].exports}for(var r="function"==typeof require&&require,a=0;a0&&void 0!==arguments[0]?arguments[0]:{};this.action=e.action,this.container=e.container,this.emitter=e.emitter,this.target=e.target,this.text=e.text,this.trigger=e.trigger,this.selectedText=""}},{key:"initSelection",value:function t(){this.text?this.selectFake():this.target&&this.selectTarget()}},{key:"selectFake",value:function t(){var e=this,n="rtl"==document.documentElement.getAttribute("dir");this.removeFake(),this.fakeHandlerCallback=function(){return e.removeFake()},this.fakeHandler=this.container.addEventListener("click",this.fakeHandlerCallback)||!0,this.fakeElem=document.createElement("textarea"),this.fakeElem.style.fontSize="12pt",this.fakeElem.style.border="0",this.fakeElem.style.padding="0",this.fakeElem.style.margin="0",this.fakeElem.style.position="absolute",this.fakeElem.style[n?"right":"left"]="-9999px";var o=window.pageYOffset||document.documentElement.scrollTop;this.fakeElem.style.top=o+"px",this.fakeElem.setAttribute("readonly",""),this.fakeElem.value=this.text,this.container.appendChild(this.fakeElem),this.selectedText=(0,i.default)(this.fakeElem),this.copyText()}},{key:"removeFake",value:function t(){this.fakeHandler&&(this.container.removeEventListener("click",this.fakeHandlerCallback),this.fakeHandler=null,this.fakeHandlerCallback=null),this.fakeElem&&(this.container.removeChild(this.fakeElem),this.fakeElem=null)}},{key:"selectTarget",value:function t(){this.selectedText=(0,i.default)(this.target),this.copyText()}},{key:"copyText",value:function t(){var e=void 0;try{e=document.execCommand(this.action)}catch(t){e=!1}this.handleResult(e)}},{key:"handleResult",value:function t(e){this.emitter.emit(e?"success":"error",{action:this.action,text:this.selectedText,trigger:this.trigger,clearSelection:this.clearSelection.bind(this)})}},{key:"clearSelection",value:function t(){this.trigger&&this.trigger.focus(),window.getSelection().removeAllRanges()}},{key:"destroy",value:function t(){this.removeFake()}},{key:"action",set:function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"copy";if(this._action=e,"copy"!==this._action&&"cut"!==this._action)throw new Error('Invalid "action" value, use either "copy" or "cut"')},get:function t(){return this._action}},{key:"target",set:function t(e){if(void 0!==e){if(!e||"object"!==(void 0===e?"undefined":r(e))||1!==e.nodeType)throw new Error('Invalid "target" value, use a valid Element');if("copy"===this.action&&e.hasAttribute("disabled"))throw new Error('Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute');if("cut"===this.action&&(e.hasAttribute("readonly")||e.hasAttribute("disabled")))throw new Error('Invalid "target" attribute. You can\'t cut text from elements with "readonly" or "disabled" attributes');this._target=e}},get:function t(){return this._target}}]),t}();t.exports=c})},{select:5}],8:[function(e,n,o){!function(i,r){if("function"==typeof t&&t.amd)t(["module","./clipboard-action","tiny-emitter","good-listener"],r);else if(void 0!==o)r(n,e("./clipboard-action"),e("tiny-emitter"),e("good-listener"));else{var a={exports:{}};r(a,i.clipboardAction,i.tinyEmitter,i.goodListener),i.clipboard=a.exports}}(this,function(t,e,n,o){"use strict";function i(t){return t&&t.__esModule?t:{default:t}}function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function a(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function c(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}function l(t,e){var n="data-clipboard-"+t;if(e.hasAttribute(n))return e.getAttribute(n)}var s=i(e),u=i(n),f=i(o),d="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},h=function(){function t(t,e){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:{};this.action="function"==typeof e.action?e.action:this.defaultAction,this.target="function"==typeof e.target?e.target:this.defaultTarget,this.text="function"==typeof e.text?e.text:this.defaultText,this.container="object"===d(e.container)?e.container:document.body}},{key:"listenClick",value:function t(e){var n=this;this.listener=(0,f.default)(e,"click",function(t){return n.onClick(t)})}},{key:"onClick",value:function t(e){var n=e.delegateTarget||e.currentTarget;this.clipboardAction&&(this.clipboardAction=null),this.clipboardAction=new s.default({action:this.action(n),target:this.target(n),text:this.text(n),container:this.container,trigger:n,emitter:this})}},{key:"defaultAction",value:function t(e){return l("action",e)}},{key:"defaultTarget",value:function t(e){var n=l("target",e);if(n)return document.querySelector(n)}},{key:"defaultText",value:function t(e){return l("text",e)}},{key:"destroy",value:function t(){this.listener.destroy(),this.clipboardAction&&(this.clipboardAction.destroy(),this.clipboardAction=null)}}],[{key:"isSupported",value:function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:["copy","cut"],n="string"==typeof e?[e]:e,o=!!document.queryCommandSupported;return n.forEach(function(t){o=o&&!!document.queryCommandSupported(t)}),o}}]),e}(u.default);t.exports=p})},{"./clipboard-action":7,"good-listener":4,"tiny-emitter":6}]},{},[8])(8)}); \ No newline at end of file diff --git a/o2server/x_mind_assemble_control/src/main/webapp/jest/common.js b/o2server/x_mind_assemble_control/src/main/webapp/jest/common.js new file mode 100644 index 0000000000000000000000000000000000000000..103c461f871598e77996961ef17c9d4ea5b38e3b --- /dev/null +++ b/o2server/x_mind_assemble_control/src/main/webapp/jest/common.js @@ -0,0 +1,26 @@ +function failure(data) { + console.log(data); + alert(data.message); +} + +function splitValue(str) { + if (str) { + if (str.length > 0) { + return str.split(','); + } + } + return []; +} + +function joinValue(o, split) { + var s = ','; + if (split) { + s = '' + split; + } + if (o) { + if (toString.apply(o) === '[object Array]') { + return o.join(s); + } + } + return o; +} diff --git a/o2server/x_mind_assemble_control/src/main/webapp/jest/debug.js b/o2server/x_mind_assemble_control/src/main/webapp/jest/debug.js new file mode 100644 index 0000000000000000000000000000000000000000..28e5fc529d7053ef2b96fd8660a1f77c32794308 --- /dev/null +++ b/o2server/x_mind_assemble_control/src/main/webapp/jest/debug.js @@ -0,0 +1,77 @@ +debug_parameter = {}; + +function debug_init() { + $('#result').html(''); + $('#content').html(''); + var str = ''; + str += ''; + str += ''; + str += '
get on off
debug: 
'; + $('#content').html(str); + $('#get').click(function() { + debug_get(); + }); + $('#on').click(function() { + debug_on(); + }); + $('#off').click(function() { + debug_off(); + }); +} + +function debug_get() { + $.ajax({ + type : 'get', + dataType : 'json', + url : '../jaxrs/debug', + contentType : 'application/json; charset=utf-8', + xhrFields : { + 'withCredentials' : true + }, + crossDomain : true + }).done(function(json) { + if (json.type == 'success') { + $('#status').html(json.data.value + ''); + } + }).always(function(json) { + $('#result').html(JSON.stringify(json, null, 4)); + }); +} + +function debug_on() { + $.ajax({ + type : 'get', + dataType : 'json', + url : '../jaxrs/debug/true', + contentType : 'application/json; charset=utf-8', + xhrFields : { + 'withCredentials' : true + }, + crossDomain : true + }).done(function(json) { + if (json.type == 'success') { + $('#status').html(json.data.value + ''); + } + }).always(function(json) { + $('#result').html(JSON.stringify(json, null, 4)); + }); +} + +function debug_off() { + $.ajax({ + type : 'get', + dataType : 'json', + url : '../jaxrs/debug/false', + contentType : 'application/json; charset=utf-8', + xhrFields : { + 'withCredentials' : true + }, + crossDomain : true + }).done(function(json) { + if (json.type == 'success') { + $('#status').html(json.data.value + ''); + } + }).always(function(json) { + $('#result').html(JSON.stringify(json, null, 4)); + }); +} \ No newline at end of file diff --git a/o2server/x_mind_assemble_control/src/main/webapp/jest/describe.js b/o2server/x_mind_assemble_control/src/main/webapp/jest/describe.js new file mode 100644 index 0000000000000000000000000000000000000000..84f5a53dee75fc7ae6fa36ed588ea4675ba61f7b --- /dev/null +++ b/o2server/x_mind_assemble_control/src/main/webapp/jest/describe.js @@ -0,0 +1,1393 @@ +var Describe = function() { + // 20180730 +} +Describe.splitValue = function(str) { + if (str) { + if (str.length > 0) { + return str.split(','); + } + } + return []; +} +Describe.joinValue = function(o, split) { + var s = ','; + if (split) { + s = '' + split; + } + if (o) { + if (toString.apply(o) === '[object Array]') { + return o.join(s); + } + } + return o; +} +Describe.doPost = function(address, m, data) { + $('#url').html(address); + if ((m.resultContentType) && m.resultContentType.indexOf('application/json') > -1) { + $.ajax({ + url : address, + type : 'POST', + headers : { + 'x-debugger' : true + }, + contentType : (m.contentType.indexOf('multipart/form-data') > -1) ? false : m.contentType , + processData : (m.contentType.indexOf('application/json') > -1) ? true : false, + xhrFields : { + 'withCredentials' : true + }, + data : ((m.contentType.indexOf('application/json') > -1) && (!m.useStringParameter) ? JSON.stringify(data) : data) + }).always(function(resultJson) { + $('#result').html(JSON.stringify(resultJson, null, 4)); + Describe.writeOut(m.outs, resultJson); + }); + } else { + $.ajax({ + url : address, + type : 'POST', + headers : { + 'x-debugger' : true + }, + contentType : (m.contentType.indexOf('application/json') > -1) ? m.contentType : false, + processData : (m.contentType.indexOf('application/json') > -1) ? true : false, + xhrFields : { + 'withCredentials' : true + }, + data : ((m.contentType.indexOf('application/json') > -1) && (!m.useStringParameter) ? JSON.stringify(data) : data) + }); + } +} +Describe.doPut = function(address, m, data) { + $('#url').html(address); + if ((m.resultContentType) && m.resultContentType.indexOf('application/json') > -1) { + $.ajax({ + url : address, + type : 'PUT', + headers : { + 'x-debugger' : true + }, + contentType : (m.contentType.indexOf('application/json') > -1) ? m.contentType : false, + processData : (m.contentType.indexOf('application/json') > -1) ? true : false, + xhrFields : { + 'withCredentials' : true + }, + data : ((m.contentType.indexOf('application/json') > -1) && (!m.useStringParameter) ? JSON.stringify(data) : data) + }).always(function(resultJson) { + $('#result').html(JSON.stringify(resultJson, null, 4)); + Describe.writeOut(m.outs, resultJson); + }); + } else { + $.ajax({ + url : address, + type : 'PUT', + headers : { + 'x-debugger' : true + }, + contentType : (m.contentType.indexOf('application/json') > -1) ? m.contentType : false, + processData : (m.contentType.indexOf('application/json') > -1) ? true : false, + xhrFields : { + 'withCredentials' : true + }, + data : ((m.contentType.indexOf('application/json') > -1) && (!m.useStringParameter) ? JSON.stringify(data) : data) + }); + } +} +Describe.doGet = function(address, m) { + $('#url').html(address); + if ((m.resultContentType) && m.resultContentType.indexOf('application/json') > -1) { + $.ajax({ + type : 'GET', + dataType : 'json', + url : address, + headers : { + 'x-debugger' : true + }, + contentType : m.contentType, + xhrFields : { + 'withCredentials' : true + }, + crossDomain : true + }).always(function(resultJson) { + $('#result').html(JSON.stringify(resultJson, null, 4)); + Describe.writeOut(m.outs, resultJson); + }); + } else { + window.open(address, '_blank'); + } +} +Describe.doDelete = function(address, m) { + $('#url').html(address); + if ((m.resultContentType) && m.resultContentType.indexOf('application/json') > -1) { + $.ajax({ + type : 'DELETE', + dataType : 'json', + url : address, + headers : { + 'x-debugger' : true + }, + contentType : m.contentType, + xhrFields : { + 'withCredentials' : true + }, + crossDomain : true + }).always(function(resultJson) { + $('#result').html(JSON.stringify(resultJson, null, 4)); + Describe.writeOut(m.outs, resultJson); + }); + } else { + $.ajax({ + type : 'DELETE', + dataType : 'json', + url : address, + headers : { + 'x-debugger' : true + }, + contentType : m.contentType, + xhrFields : { + 'withCredentials' : true + }, + crossDomain : true + }); + } +} +Describe.writeOut = function(outs, json) { + if (outs && (outs.length) && json && json.data) { + $.each(Object.keys(json.data), function(i, k) { + $('#out_' + k + '_out', '#outs').html(json.data[k]); + }); + } +} + +Describe.createSampleMootools = function(m) { + debugger; + var address = window.location.href; + address = address.substring(0,address.indexOf("/jest/")); + var address = address +"/"+ m.path; + if (m.pathParameters && m.pathParameters.length > 0) { + $.each(m.pathParameters, function(pi, p) { + address = address.replace('{' + p.name + '}', '替换参数'+pi); + }); + } + if (m.queryParameters && m.queryParameters.length > 0) { + $.each(m.queryParameters, function(pi, p) { + var query = p.name + '=' + '替换参数'+pi; + if (address.indexOf("?") > 0) { + address += '&' + query; + } else { + address += '?' + query; + } + }); + } + + var strSample=""; + if (m.contentType.indexOf('application/json') > -1) { + strSample = "var data = {};" + "\n"; + if (m.ins && m.ins.length > 0) { + $.each(m.ins, function(ii, i) { + switch (i.type) { + default: + if (i.isBaseType) { + if (i.isCollection) { + strSample += ' data["'+i.name+'"] = ["参数1"];' + "\n"; + } else { + strSample += ' data["'+i.name+'"] = "参数";' + "\n"; + } + } else { + if(i.isCollection){ + if(i.fieldValue){ + if(i.fieldType =='enum'){ + strSample += ' data["'+i.name+'"] = ["'+ i.fieldValue +'"];'+"\n"; + }else{ + strSample += ' data["'+i.name+'"] = ['+ i.fieldValue +'];'+"\n"; + } + + }else{ + strSample += ' data["'+i.name+'"] = [{"参数1":"value1","参数2":"value2"}];'+"\n"; + } + }else{ + if(i.fieldType =='enum'){ + strSample += ' data["'+i.name+'"] = "'+ i.fieldValue +'";'+"\n"; + }else{ + + strSample += ' data["'+i.name+'"] = {"参数1":"value1","参数2":"value2"};'+"\n"; + } + } + } + } + }); + } else if (m.useJsonElementParameter) { + strSample += 'data = {"参数1":"value1","参数2":"value2"};' +"\n"; + } else if (m.useStringParameter) { + strSample += 'data = "参数";'+"\n"; + } + + strSample += " \n var mootoolsRequest = new Request({" + "\n"; + strSample += " url:'"+address + "',\n"; + strSample += " method:'"+ m.type + "',\n"; + strSample += " dataType:'json',\n"; + strSample += " headers : {'Content-Type':'application/json;charset=utf8','x-token':'实际的x-token'}" + ",\n"; + if((m.contentType.indexOf('application/json') > -1) && (!m.useStringParameter)){ + strSample += " data:JSON.stringify(data),\n"; + }else{ + strSample += " data:data,\n"; + } + strSample += " onRequest: function(){ },"+ "\n"; + strSample += " onSuccess: function(responseText){},"+ "\n"; + strSample += " onFailure: function(){}"+ "\n"; + strSample +="}).send();"+ "\n"; + } else { + /* + strSample = "var formData = new FormData();" + "\n"; + if (m.formParameters && m.formParameters.length > 0) { + $.each(m.formParameters, function(pi, p) { + if (p.type == "File") { + //formData.append(p.name, $('input[type=file]', '#formParameters')[0].files[0]); + strSample += 'formData.append("'+p.name+'", $("input[type=file]")[0].files[0]);' + "\n"; + } else { + strSample += 'formData.append("'+p.name+'", "参数'+pi+'");' + "\n"; + } + }); + } + + strSample += "$.ajax({" + "\n"; + strSample += "type : '"+ m.type + "',\n"; + strSample += "url : '"+address + "',\n"; + strSample += "headers : {'x-debugger' : true}" + ",\n"; + strSample += "contentType : false,\n"; + strSample += "processData : false,\n"; + strSample += "xhrFields : {'withCredentials' : true}" + ",\n"; + strSample += "crossDomain : true"+ ",\n"; + strSample += "data : formData"+"\n"; + strSample += "});"; + */ + } + + return strSample; + } + +Describe.createSampleJSO2= function(m) { + var address = window.location.href; + address = address.substring(0,address.indexOf("/jest/")); + var uri = address.substring(address.lastIndexOf("/")+1,address.length); + address = m.path; + address = address.substring(address.indexOf("jaxrs/")+6,address.length); + var parameter = ""; + if (m.pathParameters && m.pathParameters.length > 0) { + $.each(m.pathParameters, function(pi, p) { + address = address.replace('{' + p.name + '}', '替换参数'+pi); + if(parameter == ""){ + parameter = "\"" + p.name + "\"" + ":" + '"替换参数'+pi +'"'; + }else{ + parameter = parameter + ",\"" + p.name + "\"" + ":" + '替换参数'+pi +'"'; + } + }); + } + if (m.queryParameters && m.queryParameters.length > 0) { + $.each(m.queryParameters, function(pi, p) { + var query = p.name + '=' + '替换参数'+pi; + if (address.indexOf("?") > 0) { + address += '&' + query; + } else { + address += '?' + query; + } + }); + } + + var strSample=""; + if (m.contentType.indexOf('application/json') > -1) { + strSample = "var data = {};" + "\n"; + if (m.ins && m.ins.length > 0) { + $.each(m.ins, function(ii, i) { + switch (i.type) { + default: + if (i.isBaseType) { + if (i.isCollection) { + strSample += ' data["'+i.name+'"] = ["参数1"];' + "\n"; + } else { + strSample += ' data["'+i.name+'"] = "参数";' + "\n"; + } + } else { + if(i.isCollection){ + if(i.fieldValue){ + if(i.fieldType =='enum'){ + strSample += ' data["'+i.name+'"] = ["'+ i.fieldValue +'"];'+"\n"; + }else{ + strSample += ' data["'+i.name+'"] = ['+ i.fieldValue +'];'+"\n"; + } + + }else{ + strSample += ' data["'+i.name+'"] = [{"参数1":"value1","参数2":"value2"}];'+"\n"; + } + }else{ + if(i.fieldType =='enum'){ + strSample += ' data["'+i.name+'"] = "'+ i.fieldValue + '";' + "\n"; + }else{ + strSample += ' data["'+i.name+'"] = {"参数1":"value1","参数2":"value2"};'+"\n"; + } + } + } + } + }); + } else if (m.useJsonElementParameter) { + strSample += 'data = {"参数1":"value1","参数2":"value2"};' +"\n"; + } else if (m.useStringParameter) { + strSample += 'data = "参数";'+"\n"; + } + var functionName = "do"; + strSample += "\n var root = \"" + uri + "\";" + "\n"; + strSample += " var options = { " + "\n"; + strSample += " " + functionName + ":{ //服务命名1,自定义"+ "\n"; + strSample += " \"uri\": \"/" + m.path + "\","+ "\n";; + strSample += " \"method\": \""+m.type+"\""+ "\n"; + strSample += " }"+ "\n"; + strSample += " }" + "\n"; + strSample += "var action = new this.Action( root, options);" + "\n\n"; + strSample += "action.invoke({" + "\n"; + strSample += " \"name\": \"" + functionName+ "\", //自定义的服务名" + "\n"; + strSample += " \"parameter\": {" + parameter+ "}, //uri参数 " + "\n"; + strSample += " \"data\": data, //请求的正文, JsonObject " + "\n"; + strSample += " \"success\": function(json){ //服务调用成功时的回调方法,json 是服务返回的数据" + "\n"; + strSample += " //这里进行具体的处理"+ "\n"; + strSample += " }.bind(this),"+ "\n"; + strSample += " \"failure\" : function(xhr){ //服务调用失败时的回调方法,xhr 为 XMLHttpRequest 对象" + "\n"; + strSample += " //这里进行具体的处理"+ "\n"; + strSample += " },"+ "\n"; + strSample += " \"async\" : true, //同步还是异步,默认为true" + "\n"; + strSample += " \"withCredentials\" : true, //是否允许跨域请求,默认为true" + "\n"; + strSample += " \"urlEncode\" : true //uri参数是否需要通过encodeURIComponent函数编码,默认为true" + "\n"; + strSample += "});" + } else { + + } + return strSample; + } + + + +Describe.createSampleO2= function(m) { + var address = window.location.href; + address = address.substring(0,address.indexOf("/jest/")); + var uri = address.substring(address.lastIndexOf("/")+1,address.length); + address = m.path; + address = address.substring(address.indexOf("jaxrs/")+6,address.length); + if (m.pathParameters && m.pathParameters.length > 0) { + $.each(m.pathParameters, function(pi, p) { + address = address.replace('{' + p.name + '}', '替换参数'+pi); + }); + } + if (m.queryParameters && m.queryParameters.length > 0) { + $.each(m.queryParameters, function(pi, p) { + var query = p.name + '=' + '替换参数'+pi; + if (address.indexOf("?") > 0) { + address += '&' + query; + } else { + address += '?' + query; + } + }); + } + + var strSample=""; + if (m.contentType.indexOf('application/json') > -1) { + strSample = "var data = {};" + "\n"; + if (m.ins && m.ins.length > 0) { + $.each(m.ins, function(ii, i) { + switch (i.type) { + default: + if (i.isBaseType) { + if (i.isCollection) { + strSample += ' data["'+i.name+'"] = ["参数1"];' + "\n"; + } else { + strSample += ' data["'+i.name+'"] = "参数";' + "\n"; + } + } else { + if(i.isCollection){ + if(i.fieldValue){ + if(i.fieldType =='enum'){ + strSample += ' data["'+i.name+'"] = ["'+ i.fieldValue +'"];'+"\n"; + }else{ + strSample += ' data["'+i.name+'"] = ['+ i.fieldValue +'];'+"\n"; + } + + }else{ + strSample += ' data["'+i.name+'"] = [{"参数1":"value1","参数2":"value2"}];'+"\n"; + } + }else{ + if(i.fieldType =='enum'){ + + strSample += ' data["'+i.name+'"] = "'+i.fieldValue+'"\n'; + }else{ + strSample += ' data["'+i.name+'"] = {"参数1":"value1","参数2":"value2"};'+"\n"; + } + + } + } + } + }); + } else if (m.useJsonElementParameter) { + strSample += 'data = {"参数1":"value1","参数2":"value2"};' +"\n"; + } else if (m.useStringParameter) { + strSample += 'data = "参数";'+"\n"; + } + + + if(m.type=="POST"){ + strSample += " \n var string = JSON.stringify(data);" + "\n"; + strSample += " var applications = this.Action.applications;"+ "\n"; + strSample += " var serviceRoot = \"" + uri + "\";"+ "\n"; + strSample += " var path = \"" + address + "\";"+ "\n"; ; + strSample += " var resp = applications.postQuery( serviceRoot, path , string);"+ "\n"; + } + if(m.type=="GET"){ + strSample += " \n var applications = this.Action.applications;"+ "\n"; + strSample += " var serviceRoot = \"" + uri + "\";"+ "\n"; + strSample += " var path = \"" + address + "\";"+ "\n"; ; + strSample += " var resp = applications.getQuery( serviceRoot, path );"+ "\n"; + } + if(m.type=="PUT"){ + strSample += " \n var string = JSON.stringify(data)"+ "\n"; + strSample += " var applications = this.Action.applications"+ "\n"; + strSample += " var serviceRoot = \"" + uri + "\";"+ "\n"; + strSample += " var path = \"" + address+ "\";"+ "\n"; ; + strSample += " var resp = applications.putQuery( serviceRoot, path , string);"+ "\n"; + } + if(m.type=="DELETE"){ + strSample += " \n var applications = this.Action.applications;"+ "\n"; + strSample += " var serviceRoot = \" "+ uri + "\";"+ "\n"; + strSample += " var path = \"" + address + "\";"+ "\n"; ; + strSample += " var resp = applications.deleteQuery( serviceRoot, path);"+ "\n"; + } + + strSample += " var json = JSON.parse( resp.toString() );"+ "\n"; + + } else { + + } + return strSample; + } +Describe.createSample= function(m) { + var address = window.location.href; + address = address.substring(0,address.indexOf("/jest/")); + var address = address +"/"+ m.path; + if (m.pathParameters && m.pathParameters.length > 0) { + $.each(m.pathParameters, function(pi, p) { + address = address.replace('{' + p.name + '}', '替换参数'+pi); + }); + } + if (m.queryParameters && m.queryParameters.length > 0) { + $.each(m.queryParameters, function(pi, p) { + var query = p.name + '=' + '替换参数'+pi; + if (address.indexOf("?") > 0) { + address += '&' + query; + } else { + address += '?' + query; + } + }); + } + + var strSample=""; + if (m.contentType.indexOf('application/json') > -1) { + if (m.ins && m.ins.length > 0) { + strSample = "var data = {};" + "\n"; + $.each(m.ins, function(ii, i) { + switch (i.type) { + default: + if (i.isBaseType) { + if (i.isCollection) { + strSample += ' data["'+i.name+'"] = ["参数1"];' + "\n"; + } else { + strSample += ' data["'+i.name+'"] = "参数";' + "\n"; + } + } else { + if(i.isCollection){ + if(i.fieldValue){ + if(i.fieldType =='enum'){ + strSample += ' data["'+i.name+'"] = ["'+ i.fieldValue +'"];'+"\n"; + }else{ + strSample += ' data["'+i.name+'"] = ['+ i.fieldValue +'];'+"\n"; + } + + }else{ + strSample += ' data["'+i.name+'"] = [{"参数1":"value1","参数2":"value2"}];'+"\n"; + } + }else{ + if(i.fieldType =='enum'){ + + strSample += ' data["'+i.name+'"] = "'+i.fieldValue+'"\n'; + }else{ + strSample += ' data["'+i.name+'"] = {"参数1":"value1","参数2":"value2"};'+"\n"; + } + + + } + } + } + }); + } else if (m.useJsonElementParameter) { + strSample += ' data = {"参数1":"value1","参数2":"value2"};' +"\n"; + } else if (m.useStringParameter) { + strSample += ' data = "参数";'+"\n"; + } + + strSample += "\n$.ajax({" + "\n"; + strSample += " type : '"+ m.type + "',\n"; + strSample += " dataType : 'json'" + ",\n"; + strSample += " url : '"+address + "',\n"; + strSample += " headers : {'x-debugger' : true}" + ",\n"; + strSample += " contentType : '"+m.contentType+ "',\n"; + strSample += " xhrFields : {'withCredentials' : true}" + ",\n"; + strSample += " crossDomain : true"+ ",\n"; + + if((m.contentType.indexOf('application/json') > -1) && (!m.useStringParameter)){ + strSample += " data : JSON.stringify(data),\n"; + }else{ + strSample += " data : data"+"\n"; + } + + strSample += "}).always(function(resultJson) {"+"\n"; + strSample += " alert(JSON.stringify(resultJson, null, 4))" +"\n"; + strSample += "});"; + + } else { + strSample = "var formData = new FormData();" + "\n"; + if (m.formParameters && m.formParameters.length > 0) { + $.each(m.formParameters, function(pi, p) { + if (p.type == "File") { + //formData.append(p.name, $('input[type=file]', '#formParameters')[0].files[0]); + strSample += 'formData.append("'+p.name+'", $("input[type=file]")[0].files[0]);' + "\n"; + } else { + strSample += 'formData.append("'+p.name+'", "参数'+pi+'");' + "\n"; + } + }); + } + strSample += "$.ajax({" + "\n"; + strSample += " type : '"+ m.type + "',\n"; + strSample += " url : '"+address + "',\n"; + strSample += " headers : {'x-debugger' : true}" + ",\n"; + //strSample += " contentType : false,\n"; + strSample += " contentType : '"+m.contentType+ "',\n"; + strSample += " processData : false,\n"; + strSample += " xhrFields : {'withCredentials' : true}" + ",\n"; + strSample += " crossDomain : true"+ ",\n"; + strSample += " data : formData"+"\n"; + strSample += "});"; + } + + return strSample; + } +Describe.createSampleCommon= function(m,className) { + debugger; + var address = window.location.href; + address = address.substring(0,address.indexOf("/jest/")); + var root = address.substring(address.lastIndexOf("/")+1,address.length); + + var parameter = ""; + if (m.pathParameters && m.pathParameters.length > 0) { + $.each(m.pathParameters, function(pi, p) { + if(parameter == ""){ + parameter = p.name ; + }else{ + parameter = parameter + "," + p.name; + } + }); + } + var query = ""; + if (m.queryParameters && m.queryParameters.length > 0) { + $.each(m.queryParameters, function(pi, p) { + if (query == "") { + query = "&" + p.name + '=' + '替换参数'+pi; + } else { + query = query + "&"+ p.name + '=' + '替换参数'+pi; + } + }); + } + var strSample=""; + var body = ""; + if (m.contentType.indexOf('application/json') > -1) { + if (m.ins && m.ins.length > 0) { + body = "var data = {};" + "\n"; + $.each(m.ins, function(ii, i) { + switch (i.type) { + default: + if (i.isBaseType) { + if (i.isCollection) { + body += ' data["'+i.name+'"] = ["参数1"];' + "\n"; + } else { + body += ' data["'+i.name+'"] = "参数";' + "\n"; + } + } else { + if(i.isCollection){ + if(i.fieldValue){ + if(i.fieldType =='enum'){ + body += ' data["'+i.name+'"] = ["'+ i.fieldValue +'"];'+"\n"; + body +=(i.fieldSample ? " "+'//注解:'+i.fieldSample +'\n':""); + }else{ + body += ' data["'+i.name+'"] = ['+ i.fieldValue +'];'+"\n"; + body +=(i.fieldSample ? " "+'//注解:'+i.fieldSample +'\n':""); + } + + }else{ + body += ' data["'+i.name+'"] = [{"参数1":"value1","参数2":"value2"}];'+"\n"; + } + }else{ + if(i.fieldType =='enum'){ + body += ' data["'+i.name+'"] = "'+ i.fieldValue +'";'+"\n"; + body +=(i.fieldSample ? " "+'//注解:'+i.fieldSample +'\n':""); + + }else{ + body += ' data["'+i.name+'"] = {"参数1":"value1","参数2":"value2"};'+"\n"; + } + } + } + } + }); + } else if (m.useJsonElementParameter) { + body += ' data = {"参数1":"value1","参数2":"value2"};' +"\n"; + } else if (m.useStringParameter) { + body += ' data = "参数";'+"\n"; + } + if(m.type != "GET" ){ + if( body != ""){ + strSample += body; + } + } + strSample += "var action = this.Actions.load(\"" + root + "\");\n"; + strSample += " action."+ className + "."+m.name+ "(//平台封装好的方法\n"; + if(parameter!=""){ + strSample += " " + parameter +",//uri的参数\n"; + } + if(m.type != "GET" ){ + if( body != ""){ + strSample += " data,//body请求参数\n"; + } + } + strSample += " function( json ){ //服务调用成功的回调函数, json为服务传回的数据\n"; + strSample += " data = json.data; //为变量data赋值\n"; + strSample += " }.bind(this),\n"; + strSample += " function( json ){ //服务调用失败的回调函数, json为服务传回的数据\n"; + strSample += " data = json.data; //为变量data赋值\n"; + strSample += " }.bind(this),\n"; + strSample += " false //同步执行 \n"; + strSample += " );\n"; + + }else{ + var formData = "var formData = new FormData();" + "\n"; + if (m.formParameters && m.formParameters.length > 0) { + $.each(m.formParameters, function(pi, p) { + if (p.type == "File") { + formData += ' formData.append("'+p.name+'", $("input[type=file]")[0].files[0]);' + "\n"; + } else { + formData += ' formData.append("'+p.name+'", "参数值'+pi+'");' + "\n"; + } + }); + } + strSample += formData; + strSample += "var action = this.Actions.load(\"" + root + "\");\n"; + //strSample += "action."+m.name+ "(//平台封装好的方法\n"; + strSample += " action."+ className + "."+m.name+ "(//平台封装好的方法\n"; + strSample += " "+parameter +",//uri的参数\n"; + strSample += " formData"+",//from参数\n"; + strSample += "function( json ){ //服务调用成功的回调函数, json为服务传回的数据\n"; + strSample += " data = json.data; //为变量data赋值\n"; + strSample += "}.bind(this),\n"; + strSample += "function( json ){ //服务调用失败的回调函数, json为服务传回的数据\n"; + strSample += " data = json.data; //为变量data赋值\n"; + strSample += "}.bind(this),\n"; + strSample += "false //同步执行 \n"; + strSample += ");\n" + } + return strSample ; + } + +Describe.prototype = { + "load" : function() { + var str = ''; + $("#menu").html(str); + $.each(json.jaxrs, function(ji, j) { + $.each(j.methods, function(mi, m) { + $('#' + j.name + '_' + m.name).click( + function() { + $('#result').html(''); + var sample = ""; + var txt = '
Method'; + txt += ''; + txt += ''; + txt += ''; + txt += ''; + txt += ''; + txt += '
name:' + m.name + '
path:' + m.path + '
type:' + m.type + '
description:' + m.description + '
'; + txt += ''; + txt += '
 
'; + txt += '
'; + if (m.pathParameters && m.pathParameters.length > 0) { + txt += '
Path Parameter'; + txt += ''; + $.each(m.pathParameters, function(pi, p) { + if (m.name == 'listNext' || m.name == 'listPrev') { + switch (p.name) { + case 'flag': + case 'id': + txt += ''; + break; + case 'count': + txt += ''; + break; + default: + txt += ''; + break + } + } else { + txt += ''; + } + }); + txt += '
' + p.name + + ':' + p.description + '
' + p.name + ':' + + p.description + '
' + p.name + ':' + + p.description + '
' + p.name + ':' + + p.description + '
'; + txt += '
'; + } + + if (m.formParameters && m.formParameters.length > 0) { + txt += '
Form Parameter'; + txt += ''; + $.each(m.formParameters, function(pi, p) { + if (p.type == "File") { + txt += ''; + } else { + txt += ''; + } + }); + txt += '
' + + p.name + ':' + p.description + '
' + p.name + ':' + + p.description + '
'; + txt += '
'; + } + + if (m.queryParameters && m.queryParameters.length > 0) { + txt += '
Query Parameter'; + txt += ''; + $.each(m.queryParameters, function(pi, p) { + txt += ''; + }); + txt += '
' + p.name + ':' + p.description + + '
'; + txt += '
'; + } + + if (m.ins && m.ins.length > 0) { + txt += '
In'; + txt += ''; + $.each(m.ins, function(ii, i) { + if (i.isCollection) { + + txt += '
",k.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var U="undefined";k.focusinBubbles="onfocusin"in a;var V=/^key/,W=/^(?:mouse|pointer|contextmenu)|click/,X=/^(?:focusinfocus|focusoutblur)$/,Y=/^([^.]*)(?:\.(.+)|)$/;function Z(){return!0}function $(){return!1}function _(){try{return l.activeElement}catch(a){}}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.get(a);if(r){c.handler&&(f=c,c=f.handler,e=f.selector),c.guid||(c.guid=n.guid++),(i=r.events)||(i=r.events={}),(g=r.handle)||(g=r.handle=function(b){return typeof n!==U&&n.event.triggered!==b.type?n.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(E)||[""],j=b.length;while(j--)h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o&&(l=n.event.special[o]||{},o=(e?l.delegateType:l.bindType)||o,l=n.event.special[o]||{},k=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},f),(m=i[o])||(m=i[o]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,p,g)!==!1||a.addEventListener&&a.addEventListener(o,g,!1)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),n.event.global[o]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.hasData(a)&&L.get(a);if(r&&(i=r.events)){b=(b||"").match(E)||[""],j=b.length;while(j--)if(h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=i[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&q!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete i[o])}else for(o in i)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(i)&&(delete r.handle,L.remove(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,m,o,p=[d||l],q=j.call(b,"type")?b.type:b,r=j.call(b,"namespace")?b.namespace.split("."):[];if(g=h=d=d||l,3!==d.nodeType&&8!==d.nodeType&&!X.test(q+n.event.triggered)&&(q.indexOf(".")>=0&&(r=q.split("."),q=r.shift(),r.sort()),k=q.indexOf(":")<0&&"on"+q,b=b[n.expando]?b:new n.Event(q,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=r.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+r.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:n.makeArray(c,[b]),o=n.event.special[q]||{},e||!o.trigger||o.trigger.apply(d,c)!==!1)){if(!e&&!o.noBubble&&!n.isWindow(d)){for(i=o.delegateType||q,X.test(i+q)||(g=g.parentNode);g;g=g.parentNode)p.push(g),h=g;h===(d.ownerDocument||l)&&p.push(h.defaultView||h.parentWindow||a)}f=0;while((g=p[f++])&&!b.isPropagationStopped())b.type=f>1?i:o.bindType||q,m=(L.get(g,"events")||{})[b.type]&&L.get(g,"handle"),m&&m.apply(g,c),m=k&&g[k],m&&m.apply&&n.acceptData(g)&&(b.result=m.apply(g,c),b.result===!1&&b.preventDefault());return b.type=q,e||b.isDefaultPrevented()||o._default&&o._default.apply(p.pop(),c)!==!1||!n.acceptData(d)||k&&n.isFunction(d[q])&&!n.isWindow(d)&&(h=d[k],h&&(d[k]=null),n.event.triggered=q,d[q](),n.event.triggered=void 0,h&&(d[k]=h)),b.result}},dispatch:function(a){a=n.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(L.get(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,c=0;while((g=f.handlers[c++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(g.namespace))&&(a.handleObj=g,a.data=g.data,e=((n.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==e&&(a.result=e)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!==this;i=i.parentNode||this)if(i.disabled!==!0||"click"!==a.type){for(d=[],c=0;h>c;c++)f=b[c],e=f.selector+" ",void 0===d[e]&&(d[e]=f.needsContext?n(e,this).index(i)>=0:n.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h]*)\/>/gi,bb=/<([\w:]+)/,cb=/<|&#?\w+;/,db=/<(?:script|style|link)/i,eb=/checked\s*(?:[^=]|=\s*.checked.)/i,fb=/^$|\/(?:java|ecma)script/i,gb=/^true\/(.*)/,hb=/^\s*\s*$/g,ib={option:[1,""],thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};ib.optgroup=ib.option,ib.tbody=ib.tfoot=ib.colgroup=ib.caption=ib.thead,ib.th=ib.td;function jb(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function kb(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function lb(a){var b=gb.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function mb(a,b){for(var c=0,d=a.length;d>c;c++)L.set(a[c],"globalEval",!b||L.get(b[c],"globalEval"))}function nb(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(L.hasData(a)&&(f=L.access(a),g=L.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;d>c;c++)n.event.add(b,e,j[e][c])}M.hasData(a)&&(h=M.access(a),i=n.extend({},h),M.set(b,i))}}function ob(a,b){var c=a.getElementsByTagName?a.getElementsByTagName(b||"*"):a.querySelectorAll?a.querySelectorAll(b||"*"):[];return void 0===b||b&&n.nodeName(a,b)?n.merge([a],c):c}function pb(a,b){var c=b.nodeName.toLowerCase();"input"===c&&T.test(a.type)?b.checked=a.checked:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}n.extend({clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=n.contains(a.ownerDocument,a);if(!(k.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a)))for(g=ob(h),f=ob(a),d=0,e=f.length;e>d;d++)pb(f[d],g[d]);if(b)if(c)for(f=f||ob(a),g=g||ob(h),d=0,e=f.length;e>d;d++)nb(f[d],g[d]);else nb(a,h);return g=ob(h,"script"),g.length>0&&mb(g,!i&&ob(a,"script")),h},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,k=b.createDocumentFragment(),l=[],m=0,o=a.length;o>m;m++)if(e=a[m],e||0===e)if("object"===n.type(e))n.merge(l,e.nodeType?[e]:e);else if(cb.test(e)){f=f||k.appendChild(b.createElement("div")),g=(bb.exec(e)||["",""])[1].toLowerCase(),h=ib[g]||ib._default,f.innerHTML=h[1]+e.replace(ab,"<$1>")+h[2],j=h[0];while(j--)f=f.lastChild;n.merge(l,f.childNodes),f=k.firstChild,f.textContent=""}else l.push(b.createTextNode(e));k.textContent="",m=0;while(e=l[m++])if((!d||-1===n.inArray(e,d))&&(i=n.contains(e.ownerDocument,e),f=ob(k.appendChild(e),"script"),i&&mb(f),c)){j=0;while(e=f[j++])fb.test(e.type||"")&&c.push(e)}return k},cleanData:function(a){for(var b,c,d,e,f=n.event.special,g=0;void 0!==(c=a[g]);g++){if(n.acceptData(c)&&(e=c[L.expando],e&&(b=L.cache[e]))){if(b.events)for(d in b.events)f[d]?n.event.remove(c,d):n.removeEvent(c,d,b.handle);L.cache[e]&&delete L.cache[e]}delete M.cache[c[M.expando]]}}}),n.fn.extend({text:function(a){return J(this,function(a){return void 0===a?n.text(this):this.empty().each(function(){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&(this.textContent=a)})},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=jb(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=jb(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?n.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||n.cleanData(ob(c)),c.parentNode&&(b&&n.contains(c.ownerDocument,c)&&mb(ob(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(n.cleanData(ob(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return J(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!db.test(a)&&!ib[(bb.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(ab,"<$1>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(ob(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,n.cleanData(ob(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,l=this.length,m=this,o=l-1,p=a[0],q=n.isFunction(p);if(q||l>1&&"string"==typeof p&&!k.checkClone&&eb.test(p))return this.each(function(c){var d=m.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(l&&(c=n.buildFragment(a,this[0].ownerDocument,!1,this),d=c.firstChild,1===c.childNodes.length&&(c=d),d)){for(f=n.map(ob(c,"script"),kb),g=f.length;l>j;j++)h=c,j!==o&&(h=n.clone(h,!0,!0),g&&n.merge(f,ob(h,"script"))),b.call(this[j],h,j);if(g)for(i=f[f.length-1].ownerDocument,n.map(f,lb),j=0;g>j;j++)h=f[j],fb.test(h.type||"")&&!L.access(h,"globalEval")&&n.contains(i,h)&&(h.src?n._evalUrl&&n._evalUrl(h.src):n.globalEval(h.textContent.replace(hb,"")))}return this}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=[],e=n(a),g=e.length-1,h=0;g>=h;h++)c=h===g?this:this.clone(!0),n(e[h])[b](c),f.apply(d,c.get());return this.pushStack(d)}});var qb,rb={};function sb(b,c){var d,e=n(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:n.css(e[0],"display");return e.detach(),f}function tb(a){var b=l,c=rb[a];return c||(c=sb(a,b),"none"!==c&&c||(qb=(qb||n("