mirror of
https://github.com/coderaiser/cloudcmd.git
synced 2026-07-18 17:05:17 +00:00
refactor(dropbox) obj -> constructor
This commit is contained in:
parent
8b56891fc2
commit
f2f20c0010
1 changed files with 98 additions and 98 deletions
|
|
@ -1,111 +1,111 @@
|
|||
var CloudCmd, Util, DOM, Dropbox, cb, Client;
|
||||
/* module for work with github */
|
||||
|
||||
(function(CloudCmd, Util, DOM){
|
||||
'use strict';
|
||||
|
||||
var DropBoxStore = {};
|
||||
CloudCmd.DropBox = DropBoxProto;
|
||||
|
||||
/* temporary callback function for work with github */
|
||||
cb = function (err, data){ Util.log(err || data);};
|
||||
|
||||
/* PRIVATE FUNCTIONS */
|
||||
|
||||
/**
|
||||
* function loads dropbox.js
|
||||
*/
|
||||
function load(pCallBack){
|
||||
console.time('dropbox load');
|
||||
function DropBoxProto(pCallBack) {
|
||||
var DropBoxStore = this;
|
||||
|
||||
var lSrc = '//cdnjs.cloudflare.com/ajax/libs/dropbox.js/0.9.2/dropbox.min.js',
|
||||
lLocal = '/node_modules/dropbox/lib/dropbox.js',
|
||||
lOnload = function(){
|
||||
console.timeEnd('dropbox load');
|
||||
DOM.Images.hideLoad();
|
||||
|
||||
Util.exec(pCallBack);
|
||||
};
|
||||
|
||||
DOM.jsload(lSrc, {
|
||||
onload : lOnload,
|
||||
error : DOM.retJSLoad(lLocal, lOnload)
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
function getUserData(pCallBack){
|
||||
Client.getUserInfo(function(pError, pData){
|
||||
var lHello = 'Hello ' + pData.name + ' :)!',
|
||||
lMsg = pError ? pError : lHello;
|
||||
function init(pCallBack){
|
||||
Util.loadOnLoad([
|
||||
Util.retExec(pCallBack),
|
||||
getUserData,
|
||||
DropBoxStore.login,
|
||||
load
|
||||
]);
|
||||
|
||||
Util.log(lMsg);
|
||||
});
|
||||
|
||||
Util.exec(pCallBack);
|
||||
}
|
||||
/**
|
||||
* function logins on dropbox
|
||||
*
|
||||
* @param pData = {key, secret}
|
||||
*/
|
||||
DropBoxStore.login = function(pCallBack){
|
||||
CloudCmd.getModules(function(pModules){
|
||||
var lStorage = Util.findObjByNameInArr(pModules, 'storage'),
|
||||
lDropBox = Util.findObjByNameInArr(lStorage, 'DropBox'),
|
||||
lDropBoxKey = lDropBox && lDropBox.encodedKey;
|
||||
|
||||
Client = new Dropbox.Client({
|
||||
key: lDropBoxKey
|
||||
});
|
||||
|
||||
//Client.authDriver(new Dropbox.Drivers.Redirect({rememberUser: true}));
|
||||
|
||||
var lURL = CloudCmd.HOST + '/html/auth/dropbox.html';
|
||||
Client.authDriver(new Dropbox.Drivers.Popup({
|
||||
receiverUrl: lURL, noFragment: true
|
||||
}));
|
||||
|
||||
Client.authenticate(function(pError, pClient) {
|
||||
Util.log(pError);
|
||||
Client = pClient;
|
||||
Util.exec(pCallBack);
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
};
|
||||
/**
|
||||
* upload file to DropBox
|
||||
*/
|
||||
DropBoxStore.uploadFile = function(pParams, pCallBack){
|
||||
var lContent = pParams.data,
|
||||
lName = pParams.name;
|
||||
|
||||
if(lContent){
|
||||
DOM.Images.showLoad();
|
||||
if(!lName)
|
||||
lName = Util.getDate();
|
||||
|
||||
Client.writeFile(lName, lContent, function(pError, pData){
|
||||
DOM.Images.hideLoad();
|
||||
Util.log(pError || pData);
|
||||
Util.exec(pCallBack);
|
||||
});
|
||||
}
|
||||
|
||||
return lContent;
|
||||
};
|
||||
|
||||
DropBoxStore.init = function(pCallBack){
|
||||
Util.loadOnLoad([
|
||||
Util.retExec(pCallBack),
|
||||
getUserData,
|
||||
DropBoxStore.login,
|
||||
load
|
||||
]);
|
||||
cb = function (err, data){ Util.log(err || data);};
|
||||
|
||||
delete DropBoxStore.init;
|
||||
};
|
||||
/**
|
||||
* function loads dropbox.js
|
||||
*/
|
||||
function load(pCallBack){
|
||||
console.time('dropbox load');
|
||||
|
||||
var lSrc = '//cdnjs.cloudflare.com/ajax/libs/dropbox.js/0.10.2/dropbox.min.js',
|
||||
lLocal = '/node_modules/dropbox/lib/dropbox.js',
|
||||
lOnload = function(){
|
||||
console.timeEnd('dropbox load');
|
||||
DOM.Images.hideLoad();
|
||||
|
||||
Util.exec(pCallBack);
|
||||
};
|
||||
|
||||
DOM.jsload(lSrc, {
|
||||
onload : lOnload,
|
||||
error : DOM.retJSLoad(lLocal, lOnload)
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
function getUserData(pCallBack){
|
||||
Client.getUserInfo(function(pError, pData){
|
||||
var lHello = 'Hello ' + pData.name + ' :)!',
|
||||
lMsg = pError ? pError : lHello;
|
||||
|
||||
Util.log(lMsg);
|
||||
});
|
||||
|
||||
Util.exec(pCallBack);
|
||||
}
|
||||
/**
|
||||
* function logins on dropbox
|
||||
*
|
||||
* @param pData = {key, secret}
|
||||
*/
|
||||
this.login = function(pCallBack){
|
||||
CloudCmd.getModules(function(pModules){
|
||||
var lStorage = Util.findObjByNameInArr(pModules, 'storage'),
|
||||
lDropBox = Util.findObjByNameInArr(lStorage, 'DropBox'),
|
||||
lDropBoxKey = lDropBox && lDropBox.encodedKey;
|
||||
|
||||
Client = new Dropbox.Client({
|
||||
key: lDropBoxKey
|
||||
});
|
||||
|
||||
//Client.authDriver(new Dropbox.Drivers.Redirect({rememberUser: true}));
|
||||
|
||||
var lURL = CloudCmd.HOST + '/html/auth/dropbox.html';
|
||||
Client.authDriver(new Dropbox.AuthDriver.Popup({
|
||||
receiverUrl: lURL, noFragment: true
|
||||
}));
|
||||
|
||||
Client.authenticate(function(pError, pClient) {
|
||||
Util.log(pError);
|
||||
Client = pClient;
|
||||
Util.exec(pCallBack);
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
};
|
||||
/**
|
||||
* upload file to DropBox
|
||||
*/
|
||||
this.uploadFile = function(pParams, pCallBack){
|
||||
var lContent = pParams.data,
|
||||
lName = pParams.name;
|
||||
|
||||
if(lContent){
|
||||
DOM.Images.showLoad();
|
||||
if(!lName)
|
||||
lName = Util.getDate();
|
||||
|
||||
Client.writeFile(lName, lContent, function(pError, pData){
|
||||
DOM.Images.hideLoad();
|
||||
Util.log(pError || pData);
|
||||
Util.exec(pCallBack);
|
||||
});
|
||||
}
|
||||
|
||||
return lContent;
|
||||
};
|
||||
|
||||
init(pCallBack);
|
||||
}
|
||||
|
||||
CloudCmd.DropBox = DropBoxStore;
|
||||
})(CloudCmd, Util, DOM);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue