156 lines
4.7 KiB
JavaScript
156 lines
4.7 KiB
JavaScript
$(document).ready(function(){
|
|
|
|
// $("#upload-button").uploadFile({
|
|
// url : "uploader.php",
|
|
// fileName : "myfile",
|
|
// maxFileCount : 100,
|
|
// multiple : false,
|
|
// maxFileSize : 1024 * 1000 * 1,
|
|
// showFileCounter : false,
|
|
// showCancel : true,
|
|
// allowedTypes : "txt",
|
|
// //dragDropStr : "<img class='img-prompt' src='images/upload.png' width='60px' height='60px' style='display:block; margin:auto;'>",
|
|
// doneStr : "Done",
|
|
// abortStr : "End",
|
|
// cancelStr : "Cancel",
|
|
// extErrorStr : "Only text file (.txt), please",
|
|
// sizeErrorStr : "Max size: 1 Mb",
|
|
// onLoad : function(obj) {
|
|
// //resizeTutor();
|
|
// },
|
|
// onSuccess : function(files, data, xhr) {
|
|
// alert("Success");
|
|
// /*$(".ajax-file-upload-statusbar")
|
|
// .hide();
|
|
// $(".obfuscating").css('opacity', '0.6');
|
|
// $(".obfuscating").show();
|
|
// $("#uploadedimg").attr("src", "images/" + uName + "/" + files[0]);
|
|
// source = $("#uploadedimg").attr("src");
|
|
// window.setTimeout(function(){ sizePopupUpload(); $("#popup-1-section").show();}, 500);*/
|
|
// },
|
|
// onError : function(files, status,
|
|
// errMsg, pd) {
|
|
// alert(errMsg);
|
|
// }
|
|
// });
|
|
|
|
|
|
$( "#execute-button" ).click(function() {
|
|
var firstnameBox = $.trim( $('#input-textarea').val() )
|
|
if (firstnameBox == "") {
|
|
$('#input-textarea').css("border-color","red");
|
|
$('#input-textarea').attr("placeholder", "Paste your text here!");
|
|
}
|
|
else {
|
|
$('#input-textarea').css("border-color","#555");
|
|
doStartComputation();
|
|
}
|
|
});
|
|
|
|
doCallback = function(uri) {
|
|
$.ajax({
|
|
url : "nlphub-servlet",
|
|
type : 'GET',
|
|
datatype : 'json',
|
|
data : {
|
|
uri : uri
|
|
},
|
|
success : function(data) {
|
|
var obj = eval("(" + data + ")");
|
|
var str = JSON.stringify(obj, undefined, 4);
|
|
$('#result').html(syntaxHighlight(str));
|
|
}
|
|
});
|
|
}
|
|
|
|
doStartComputation = function() {
|
|
var options = "default";
|
|
options = $("input[type=checkbox]:checked").map(
|
|
function () {return this.value;}).get().join("|");
|
|
$('#result').html("");
|
|
//var token2Send = getUrlParameter("token") == null ? "" : getUrlParameter("token");
|
|
var tokenParam = getUrlParameter("token");
|
|
var token2Send = ((tokenParam == null) || (tokenParam.length == 0)) ? "18fed2d9-030b-4c77-93af-af2015d945f7-843339462" : getUrlParameter("token");
|
|
|
|
webSocket.send({
|
|
'action': 'start',
|
|
'text' : $("#input-textarea").val(),
|
|
'options' : options,
|
|
'token' : token2Send
|
|
}).done(function() {
|
|
showProgressBar(true);
|
|
enableCommands(false);
|
|
}).fail(function(e) {
|
|
console.log("failed");
|
|
});
|
|
}
|
|
|
|
doHandleResponse = function(message) {
|
|
if (message.response == "error") {
|
|
$('#result').html("<span style='color: red;'>"+message.value+"</span>");
|
|
enableCommands(true);
|
|
showProgressBar(false);
|
|
}
|
|
else if (message.response == "computing") {
|
|
showProgressBar(true);
|
|
enableCommands(false);
|
|
}
|
|
else if (message.response == "computed") {
|
|
showProgressBar(false);
|
|
enableCommands(true);
|
|
console.log("message="+message.value);
|
|
if (message.value.startsWith("http")) {
|
|
$('#downloadLink').html("Result: <a class=\"waves-effect waves-light btn red darken-1\" href=\""+message.value+"\">Download</a> " +
|
|
"<a class=\"waves-effect waves-light btn blue darken-1\" href=\"Javascript:doCallback(encodeURI('"+message.value.trim()+"'));\">View</a>");
|
|
}
|
|
}
|
|
}
|
|
});
|
|
|
|
function showProgressBar(show) {
|
|
var display = (show) ? "visible" : "hidden";
|
|
$('#progressBar').css('visibility', display);
|
|
}
|
|
|
|
function enableCommands(enable) {
|
|
if (enable) {
|
|
$('#execute-button').removeAttr("disabled");
|
|
$('#execute-button').text('Execute');
|
|
$('input[type=checkbox]').removeAttr("disabled");
|
|
} else {
|
|
$('#execute-button').text('Computing ...');
|
|
$('input[type=checkbox]').attr('disabled', 'true');
|
|
$('#execute-button').attr('disabled', 'disabled');
|
|
$('#downloadLink').html("");
|
|
}
|
|
}
|
|
|
|
function syntaxHighlight(json) {
|
|
if (typeof json != 'string') {
|
|
json = JSON.stringify(json, undefined, 1);
|
|
}
|
|
json = json.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>');
|
|
return json.replace(/("(\\u[a-zA-Z0-9]{4}|\\[^u]|[^\\"])*"(\s*:)?|\b(true|false|null)\b|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?)/g, function (match) {
|
|
var cls = 'number';
|
|
if (/^"/.test(match)) {
|
|
if (/:$/.test(match)) {
|
|
cls = 'key';
|
|
} else {
|
|
cls = 'string';
|
|
}
|
|
} else if (/true|false/.test(match)) {
|
|
cls = 'boolean';
|
|
} else if (/null/.test(match)) {
|
|
cls = 'null';
|
|
}
|
|
return '<span class="' + cls + '">' + match + '</span>';
|
|
|
|
});
|
|
}
|
|
|
|
function getUrlParameter(name) {
|
|
name = name.replace(/[\[]/, '\\[').replace(/[\]]/, '\\]');
|
|
var regex = new RegExp('[\\?&]' + name + '=([^&#]*)');
|
|
var results = regex.exec(location.search);
|
|
return results === null ? '' : decodeURIComponent(results[1].replace(/\+/g, ' '));
|
|
}; |