1
0
Fork 0

Finished implementing foxx upload in WI

This commit is contained in:
Michael Hackstein 2014-01-24 12:51:54 +01:00
parent c762f17b01
commit 42173af80d
3 changed files with 52 additions and 49 deletions

View File

@ -33,6 +33,7 @@
// Initialise a new FoxxController called controller under the urlPrefix: "foxxes". // Initialise a new FoxxController called controller under the urlPrefix: "foxxes".
var FoxxController = require("org/arangodb/foxx").Controller, var FoxxController = require("org/arangodb/foxx").Controller,
controller = new FoxxController(applicationContext), controller = new FoxxController(applicationContext),
ArangoError = require("org/arangodb").ArangoError,
underscore = require("underscore"); underscore = require("underscore");
var foxxes = new (require("lib/foxxes").Foxxes)(); var foxxes = new (require("lib/foxxes").Foxxes)();
@ -49,7 +50,7 @@ controller.post("/foxxes/inspect", function (req, res) {
var content = JSON.parse(req.requestBody), var content = JSON.parse(req.requestBody),
path = content.filename; path = content.filename;
res.json(foxxes.inspect(path)); res.json(foxxes.inspect(path));
}); }).errorResponse(ArangoError, 500, "No valid app");
// ............................................................................. // .............................................................................
// install // install

View File

@ -21,13 +21,12 @@ window.ApplicationsView = Backbone.View.extend({
var files = e.target.files || e.dataTransfer.files; var files = e.target.files || e.dataTransfer.files;
this.file = files[0]; this.file = files[0];
this.allowUpload = true; this.allowUpload = true;
console.log("Checked file");
}, },
importFoxx: function() { importFoxx: function() {
var self = this; var self = this;
if (self.allowUpload) { if (this.allowUpload) {
console.log("Start Upload"); this.showSpinner();
$.ajax({ $.ajax({
type: "POST", type: "POST",
async: false, async: false,
@ -38,57 +37,58 @@ window.ApplicationsView = Backbone.View.extend({
complete: function(res) { complete: function(res) {
if (res.readyState === 4) { if (res.readyState === 4) {
if (res.status === 201) { if (res.status === 201) {
try { $.ajax({
type: "POST",
async: false,
url: "/_admin/aardvark/foxxes/inspect",
data: res.responseText,
contentType: "application/json"
}).done(function(res) {
console.log(res);
$.ajax({ $.ajax({
type: "POST", type: "POST",
async: false, async: false,
url: "/_admin/aardvark/foxxes/inspect", url: '/_admin/foxx/fetch',
data: res.responseText, data: JSON.stringify({
contentType: "application/json" name: res.name,
}).done(function(res) { version: res.version,
// TODO: remove logs, report errors etc. filename: res.filename
console.log("Pos:", res); }),
processData: false
$.ajax({ }).done(function (res) {
type: "POST", self.reload();
async: false, }).fail(function (err) {
url: '/_admin/foxx/fetch', self.hideSpinner();
data: JSON.stringify({ var error = JSON.parse(err.responseText);
name: res.name, arangoHelper.arangoError("Error: " + error.errorMessage);
version: res.version,
filename: res.filename
}),
processData: false
}).done(function (res) {
console.log(res);
// TODO: reload UI
}).fail(function (res) {
console.log(res);
});
}).fail(function(err) {
console.log("Neg:", err);
}); });
} catch (e) { }).fail(function(err) {
arangoHelper.arangoError("Error: " + e); self.hideSpinner();
} var error = JSON.parse(err.responseText);
arangoHelper.arangoError("Error: " + error.error);
});
delete self.file; delete self.file;
self.allowUpload = false; self.allowUpload = false;
/*
self.hideSpinner(); self.hideSpinner();
self.hideImportModal(); self.hideImportModal();
self.resetView();
*/
return; return;
} }
} }
// self.hideSpinner(); self.hideSpinner();
arangoHelper.arangoError("Upload error"); arangoHelper.arangoError("Upload error");
} }
}); });
} }
}, },
showSpinner: function() {
$('#uploadIndicator').show();
},
hideSpinner: function() {
$('#uploadIndicator').hide();
},
toggleDevel: function() { toggleDevel: function() {
var self = this; var self = this;
this._showDevel = !this._showDevel; this._showDevel = !this._showDevel;
@ -113,14 +113,22 @@ window.ApplicationsView = Backbone.View.extend({
}); });
}, },
hideImportModal: function() {
$('#foxxDropdownImport').hide();
},
hideSettingsModal: function() {
$('#foxxDropdownOut').hide();
},
slideToggleImport: function() { slideToggleImport: function() {
$('#foxxDropdownImport').slideToggle(200); $('#foxxDropdownImport').slideToggle(200);
$('#foxxDropdownOut').hide(); this.hideSettingsModal();
}, },
slideToggle: function() { slideToggle: function() {
$('#foxxDropdownOut').slideToggle(200); $('#foxxDropdownOut').slideToggle(200);
$('#foxxDropdownImport').hide(); this.hideImportModal();
}, },
toggleView: function(event) { toggleView: function(event) {

File diff suppressed because one or more lines are too long