Files
Facilitor/APPL/API2/TESTER/tester.js
Jos Groot Lipman fb09cec038 FSN#39312 API documentatie verbeteringen
svn path=/Website/trunk/; revision=33261
2017-03-25 22:09:03 +00:00

104 lines
3.7 KiB
JavaScript

var tm;
function callbackDone(data, textStatus, jqXHR)
{
// jqXHR.getResponseHeader("ETag")
$("#Status").text(jqXHR.status);
$("#StatusText").text(textStatus);
$("#Duration").text(Math.floor(new Date - tm) + "ms");
var txt = String(jqXHR.responseText);
$("#Result").text(txt);
$("#ResultSize").text(txt.length);
var objects_count = 1;
if (jqXHR.responseText.indexOf("[") > 0)
{
var objects_name = jqXHR.responseText.substring(5, jqXHR.responseText.indexOf("[")-3);
var objects_count = data[objects_name].length;
}
$("#Records").text(objects_count);
}
function callbackFail(jqXHR, textStatus, errorThrown)
{
// FcltMgr.alert("FAIL: " + (typeof errorThrown == "string"?errorThrown:errorThrown.message));
$("#Status").text(jqXHR.status + " " + (typeof errorThrown == "string"?errorThrown:errorThrown.message)).css("background-color", "red");
$("#StatusText").text(textStatus);
var txt = String(jqXHR.responseText);
$("#Result").text(txt);
}
function doSubmit()
{
$("#Status").text("Loading ... ").css("background-color", "");
$("#StatusText").text("");
$("#Records").text("");
$("#Result").text("");
var url = $("#url").val();
var method = $("[name=method]:checked").val();
if (method != "GET")
var data = $("#xml").val();
var apikey = $("#apikey").val();
//jQuery.support.cors = true; // in IE niet al te moeilijk doen over cross-domain.
tm = new Date;
$.ajax(url, { type: method,
data: data,
headers: { "X-FACILITOR-API-Key": apikey,
"X-CSRF-TOKEN": RVT_token
}
// dan werkt de header niet dataType: "jsonp"
}
).done(callbackDone).fail(callbackFail);
//http_request.setRequestHeader("Content-Type", "text/xml; charset=utf-8")
}
function doBuild()
{
var urlbase = $("#urlbase").val();
var api = $("#api").val();
var format = $("[name=format]:checked").val();
var pretty = $("#pretty:checked").val() == "on";
var logging= $("#log:checked").val() == "on";
var apikey = $("#apikey").val();
var scope = $("#scope").val();
var facid = $("#facid").val() || "UWVA";
var url = urlbase + "/api2/" + api + "." + format;
url += "?fac_id="+facid;
if (scope)
url += "&scope="+scope;
if (pretty)
url += "&pretty=1";
// url += "?pretty=1";
if (logging)
url += "&logging=1";
$("#url").val(url);
$("#urltest").html(url + (pretty?"&":"?") + "apikey=" + apikey);
}
function doInit()
{
var apikey = $("#apikey").val();
//jQuery.support.cors = true; // in IE niet al te moeilijk doen over cross-domain.
var url = $("#urlbase").val() + "/api2/apis.json";
$.ajax(url, { type: "GET",
//data: data,
headers: { "X-FACILITOR-API-Key": apikey,
"X-CSRF-TOKEN": RVT_token
}
// dan werkt de header niet dataType: "jsonp"
}
).done(process_api_list).fail(callbackFail);
}
function process_api_list(data)
{
$("#api").empty();
var lastmodule = "";
$.each( data.apis
, function (index, value)
{
if (lastmodule != this.modulecode)
$("#api").append("<optgroup label='" + this.modulecode + ": " + this.module + "'></option>");
lastmodule = this.modulecode;
var apiname = this.id;
$("#api").append("<option value="+ apiname +">" + apiname + "</option>");
}
);
}