Separata la classe arkiwi in assetStore e Aggregator
This commit is contained in:
parent
4e662731d5
commit
a05bd7ced0
1 changed files with 33 additions and 38 deletions
|
@ -15,10 +15,35 @@
|
||||||
|
|
||||||
var ARKIWI = ARKIWI || {};
|
var ARKIWI = ARKIWI || {};
|
||||||
|
|
||||||
ARKIWI.Arkiwi = function (aggregator, assetStore, defaultParameters, formName, sessionUploadProgressName) {
|
ARKIWI.Aggregator = function (aggregator, defaultParameters) {
|
||||||
this.assetStore = assetStore;
|
|
||||||
this.aggregator = aggregator;
|
this.aggregator = aggregator;
|
||||||
this.defaultParameters = defaultParameters || '';
|
this.defaultParameters = defaultParameters || '';
|
||||||
|
};
|
||||||
|
|
||||||
|
ARKIWI.Aggregator.constructor = ARKIWI.Aggregator;
|
||||||
|
|
||||||
|
/* Esegue un ricerca sull'aggregatore */
|
||||||
|
ARKIWI.Aggregator.prototype.search = function (query, callback, jailFolder) {
|
||||||
|
var sanitizedQuery = query;
|
||||||
|
if (jailFolder) {
|
||||||
|
//FIXME non c'è controllo sul contenuto di jailFolder
|
||||||
|
sanitizedQuery = '+file:' + jailFolder + '* AND ' + query;
|
||||||
|
}
|
||||||
|
|
||||||
|
sanitizedQuery = window.btoa(sanitizedQuery); //convert to Base64
|
||||||
|
|
||||||
|
$.getJSON(this.aggregator + '/search64/' + sanitizedQuery + '/json/?' + this.defaultParameters, function (result) {
|
||||||
|
if (callback != undefined)
|
||||||
|
callback(result);
|
||||||
|
}).fail(function (error) {
|
||||||
|
throw 'Arkiwi.search(): status ' + status + ' error ' + error.responseText;
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
ARKIWI.AssetStore = function (assetStore, defaultParameters, formName, sessionUploadProgressName) {
|
||||||
|
this.assetStore = assetStore;
|
||||||
|
this.defaultParameters = defaultParameters || '';
|
||||||
this.formName = formName || 'arkiwiUploadForm';
|
this.formName = formName || 'arkiwiUploadForm';
|
||||||
this.sessionUploadProgressName = sessionUploadProgressName || 'PHP_SESSION_UPLOAD_PROGRESS';
|
this.sessionUploadProgressName = sessionUploadProgressName || 'PHP_SESSION_UPLOAD_PROGRESS';
|
||||||
|
|
||||||
|
@ -28,10 +53,10 @@ ARKIWI.Arkiwi = function (aggregator, assetStore, defaultParameters, formName, s
|
||||||
$(document.body).append('<iframe id="arkiwi_hidden_iframe" name="arkiwi_hidden_iframe" src="about:blank" style="visibility: hidden;"></iframe>');
|
$(document.body).append('<iframe id="arkiwi_hidden_iframe" name="arkiwi_hidden_iframe" src="about:blank" style="visibility: hidden;"></iframe>');
|
||||||
};
|
};
|
||||||
|
|
||||||
ARKIWI.Arkiwi.constructor = ARKIWI.Arkiwi;
|
ARKIWI.AssetStore.constructor = ARKIWI.AssetStore;
|
||||||
|
|
||||||
/* Inizializza la sessione di dialogo con l'asset store. */
|
/* Inizializza la sessione di dialogo con l'asset store. */
|
||||||
ARKIWI.Arkiwi.prototype.create = function (callbacks) {
|
ARKIWI.AssetStore.prototype.create = function (callbacks) {
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: this.assetStore + '/create/?' + this.defaultParameters,
|
url: this.assetStore + '/create/?' + this.defaultParameters,
|
||||||
type: 'GET',
|
type: 'GET',
|
||||||
|
@ -58,7 +83,7 @@ ARKIWI.Arkiwi.prototype.create = function (callbacks) {
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Invia un file all'asset store. */
|
/* Invia un file all'asset store. */
|
||||||
ARKIWI.Arkiwi.prototype.upload = function (form, destinationFolderBase64, callbacks) {
|
ARKIWI.AssetStore.prototype.upload = function (form, destinationFolderBase64, callbacks) {
|
||||||
form = $(form);
|
form = $(form);
|
||||||
|
|
||||||
form.attr('method', 'POST');
|
form.attr('method', 'POST');
|
||||||
|
@ -90,7 +115,7 @@ ARKIWI.Arkiwi.prototype.upload = function (form, destinationFolderBase64, callba
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Aggiunge o sovrascrive i metadati di un file. */
|
/* Aggiunge o sovrascrive i metadati di un file. */
|
||||||
ARKIWI.Arkiwi.prototype.metadata = function (jsonKVString, callback) {
|
ARKIWI.AssetStore.prototype.metadata = function (jsonKVString, callback) {
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: this.assetStore + '/metadata/' + this.sessionId + '/?' + this.defaultParameters,
|
url: this.assetStore + '/metadata/' + this.sessionId + '/?' + this.defaultParameters,
|
||||||
type: 'POST',
|
type: 'POST',
|
||||||
|
@ -111,7 +136,7 @@ ARKIWI.Arkiwi.prototype.metadata = function (jsonKVString, callback) {
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Cancella un metadato da un file */
|
/* Cancella un metadato da un file */
|
||||||
ARKIWI.Arkiwi.prototype.removeMetadata = function (jsonKVString, callback) {
|
ARKIWI.AssetStore.prototype.removeMetadata = function (jsonKVString, callback) {
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: this.assetStore + '/removemetadata/' + this.sessionId + '/?' + this.defaultParameters,
|
url: this.assetStore + '/removemetadata/' + this.sessionId + '/?' + this.defaultParameters,
|
||||||
type: 'POST',
|
type: 'POST',
|
||||||
|
@ -132,7 +157,7 @@ ARKIWI.Arkiwi.prototype.removeMetadata = function (jsonKVString, callback) {
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Chiude la sessione con l'asset store */
|
/* Chiude la sessione con l'asset store */
|
||||||
ARKIWI.Arkiwi.prototype.close = function (callback) {
|
ARKIWI.AssetStore.prototype.close = function (callback) {
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: this.assetStore + '/close/' + this.sessionId + '/?' + this.defaultParameters,
|
url: this.assetStore + '/close/' + this.sessionId + '/?' + this.defaultParameters,
|
||||||
type: 'GET',
|
type: 'GET',
|
||||||
|
@ -151,33 +176,3 @@ ARKIWI.Arkiwi.prototype.close = function (callback) {
|
||||||
complete: function (xhr, status) {}
|
complete: function (xhr, status) {}
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Chiede all'aggregatore i metadati su una cartella o un file. */
|
|
||||||
ARKIWI.Arkiwi.prototype.path = function (path, callback, notBase64) {
|
|
||||||
var pathType = notBase64 ? 'path' : 'path64';
|
|
||||||
|
|
||||||
$.getJSON(this.aggregator + '/' + pathType + '/' + path + '/json/?' + this.defaultParameters, function (result) {
|
|
||||||
if (callback != undefined)
|
|
||||||
callback(result);
|
|
||||||
}).fail(function (error) {
|
|
||||||
throw 'Arkiwi.path(): status ' + status + ' error ' + error.responseText;
|
|
||||||
});
|
|
||||||
};
|
|
||||||
|
|
||||||
/* Esegue un ricerca sull'aggregatore */
|
|
||||||
ARKIWI.Arkiwi.prototype.search = function (query, callback, jailFolder) {
|
|
||||||
var sanitizedQuery = query;
|
|
||||||
if (jailFolder) {
|
|
||||||
//FIXME non c'è controllo sul contenuto di jailFolder
|
|
||||||
sanitizedQuery = '+file:' + jailFolder + '* AND ' + query;
|
|
||||||
}
|
|
||||||
|
|
||||||
sanitizedQuery = window.btoa(sanitizedQuery); //convert to Base64
|
|
||||||
|
|
||||||
$.getJSON(this.aggregator + '/search64/' + sanitizedQuery + '/json/?' + this.defaultParameters, function (result) {
|
|
||||||
if (callback != undefined)
|
|
||||||
callback(result);
|
|
||||||
}).fail(function (error) {
|
|
||||||
throw 'Arkiwi.search(): status ' + status + ' error ' + error.responseText;
|
|
||||||
});
|
|
||||||
};
|
|
||||||
|
|
Loading…
Reference in a new issue