159 lines
4.5 KiB
JavaScript
159 lines
4.5 KiB
JavaScript
// Copyright 2014 The Cayley Authors. All rights reserved.
|
|
//
|
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
// you may not use this file except in compliance with the License.
|
|
// You may obtain a copy of the License at
|
|
//
|
|
// http://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
// Unless required by applicable law or agreed to in writing, software
|
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
// See the License for the specific language governing permissions and
|
|
// limitations under the License.
|
|
|
|
$(function() {
|
|
|
|
|
|
var alertFail = function(text) {
|
|
$("#alertBox").text(text)
|
|
$("#alertBox").addClass("alert-danger").fadeIn(300).delay(2000).fadeOut(300).queue(function(){ $(this).removeClass("alert-danger")});
|
|
}
|
|
|
|
var alertSucceed = function(text) {
|
|
$("#alertBox").text(text)
|
|
$("#alertBox").addClass("alert-success").fadeIn(300).delay(2000).fadeOut(300).queue(function(){ $(this).removeClass("alert-success")});
|
|
}
|
|
|
|
var checkQuad = function(t) {
|
|
if (t.subject == "") {
|
|
alertFail("Need a subject")
|
|
return false
|
|
}
|
|
if (t.predicate == "") {
|
|
alertFail("Need a predicate")
|
|
return false
|
|
}
|
|
if (t.object == "") {
|
|
alertFail("Need an object")
|
|
return false
|
|
}
|
|
return true
|
|
}
|
|
|
|
$("#sbWrite").addClass("active");
|
|
|
|
$("#add_quad").click(function() {
|
|
var quad = {
|
|
subject: $("#subject").val(),
|
|
predicate: $("#predicate").val(),
|
|
object: $("#object").val(),
|
|
label: $("#label").val()
|
|
}
|
|
if (!checkQuad(quad)) {
|
|
return
|
|
}
|
|
$.post("/api/v1/write", JSON.stringify([quad]))
|
|
.done(function(return_data){
|
|
alertSucceed("Wrote a quad!")
|
|
})
|
|
.fail(function(jqxhr) {
|
|
var data = $.parseJSON(jqxhr.responseText)
|
|
alertFail(data.error)
|
|
})
|
|
})
|
|
|
|
$("#delete_quad").click(function() {
|
|
var quad = {
|
|
subject: $("#rsubject").val(),
|
|
predicate: $("#rpredicate").val(),
|
|
object: $("#robject").val(),
|
|
label: $("#rlabel").val()
|
|
}
|
|
if (!checkQuad(quad)) {
|
|
return
|
|
}
|
|
$.post("/api/v1/delete", JSON.stringify([quad]))
|
|
.done(function(return_data){
|
|
alertSucceed("Deleted a quad!")
|
|
})
|
|
.fail(function(jqxhr) {
|
|
var data = $.parseJSON(jqxhr.responseText)
|
|
alertFail(data.error)
|
|
})
|
|
})
|
|
|
|
var upload = null
|
|
|
|
var uploadProgress = function(event) {
|
|
if (event.lengthComputable) {
|
|
var percentComplete = Math.round(event.loaded * 100 / event.total);
|
|
$("#alertBox").text("Uploaded " + percentComplete.toString() + "%")
|
|
} else {
|
|
$("#alertBox").text("Uploading...")
|
|
}
|
|
}
|
|
|
|
var uploadComplete = function(event) {
|
|
stopAndReset();
|
|
var data = $.parseJSON(upload.responseText)
|
|
$("#alertBox").text("Upload complete! " + data.result);
|
|
$("#alertBox").removeClass("alert-info").addClass("alert-success")
|
|
.delay(2000).fadeOut(300)
|
|
.queue(function () {
|
|
$("#write_file").fadeIn(30);
|
|
$("#alertBox").removeClass("alert-success");
|
|
})
|
|
upload = null
|
|
}
|
|
|
|
var uploadCanceled = function(event) {
|
|
upload = null
|
|
stopAndReset();
|
|
$("#alertBox").text("Upload canceled!")
|
|
$("#alertBox").removeClass("alert-info").addClass("alert-danger")
|
|
.delay(2000).fadeOut(300)
|
|
.queue(function () {
|
|
$("#write_file").fadeIn(30);
|
|
$("#alertBox").removeClass("alert-danger");
|
|
})
|
|
}
|
|
|
|
var uploadFailed = function(event) {
|
|
upload = null
|
|
stopAndReset();
|
|
$("#alertBox").text("Upload failed!")
|
|
$("#alertBox").removeClass("alert-info").addClass("alert-danger")
|
|
.delay(2000).fadeOut(300)
|
|
.queue(function () {
|
|
$("#write_file").fadeIn(30);
|
|
$("#alertBox").removeClass("alert-danger");
|
|
})
|
|
}
|
|
|
|
$("#write_file").click(function() {
|
|
try {
|
|
animate();
|
|
var fd = new FormData()
|
|
fd.append("NQuadFile", document.getElementById("nquad_file").files[0])
|
|
var xhr = new XMLHttpRequest()
|
|
upload = xhr
|
|
$("#write_file").fadeOut(30);
|
|
$("#alertBox").addClass("alert-info").fadeIn(300);
|
|
xhr.upload.addEventListener("progress", uploadProgress, false);
|
|
xhr.addEventListener("load", uploadComplete, false);
|
|
xhr.addEventListener("error", uploadFailed, false);
|
|
xhr.addEventListener("abort", uploadCanceled, false);
|
|
xhr.open("POST", "/api/v1/write/file/nquad");
|
|
xhr.send(fd);
|
|
|
|
} catch(err) {
|
|
$("#alertBox").removeClass("alert-info");
|
|
stopAndReset();
|
|
alertFail(err)
|
|
$("#write_file").fadeIn(30);
|
|
}
|
|
})
|
|
|
|
});
|