cloudcmd/lib/client/storage/_filepicker.js
2013-11-22 14:10:18 +00:00

66 lines
2.2 KiB
JavaScript

var CloudCmd, Util, DOM, $, filepicker;
(function(CloudCmd, Util, DOM) {
'use strict';
var FilePicker = function(pCallBack) {
function init(pCallBack) {
Util.loadOnLoad([
Util.retExec(pCallBack),
load
]);
}
this.uploadFile = function(pParams, pCallBack) {
var lContent = pParams.data,
lName = pParams.name;
filepicker.store(lContent, {
mimetype: '',
filename: lName
},
function(pFPFile) {
Util.log(pFPFile);
filepicker.exportFile(pFPFile, Util.log, Util.log);
});
};
this.saveFile = function(pCallBack) {
filepicker.pick(function(FPFile) {
Util.log(FPFile);
DOM.ajax({
url : FPFile.url,
responseType :'arraybuffer',
success : function(pData) {
Util.exec(pCallBack, FPFile.filename, pData);
}
});
});
};
function load(pCallBack) {
Util.time('filepicker load');
var lHTTP = document.location.protocol;
DOM.jsload(lHTTP + '//api.filepicker.io/v1/filepicker.js', function() {
CloudCmd.getModules(function(pModules) {
var lStorage = Util.findObjByNameInArr(pModules, 'storage'),
lFilePicker = Util.findObjByNameInArr(lStorage, 'FilePicker'),
lKey = lFilePicker && lFilePicker.key;
filepicker.setKey(lKey);
DOM.Images.hideLoad();
Util.timeEnd('filepicker loaded');
Util.exec(pCallBack);
});
});
}
init(pCallBack);
};
CloudCmd.FilePicker = new FilePicker();
})(CloudCmd, Util, DOM);