cloudcmd/lib/client/storage/_filepicker.js
2013-09-11 12:25:28 +00:00

64 lines
2.1 KiB
JavaScript

var CloudCmd, Util, DOM, $, filepicker;
(function(CloudCmd, Util, DOM){
'use strict';
var FilePicker = function(){
this.init = function(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);
});
});
}
};
CloudCmd.FilePicker = new FilePicker();
})(CloudCmd, Util, DOM);