mirror of https://gitee.com/bigwinds/arangodb
Finished implementing foxx upload in WI
This commit is contained in:
parent
c762f17b01
commit
42173af80d
|
@ -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
|
||||||
|
|
|
@ -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
Loading…
Reference in New Issue