mirror of
https://github.com/coderaiser/cloudcmd.git
synced 2026-01-23 10:45:47 +00:00
refactored menu module
This commit is contained in:
parent
560a6de5f5
commit
4e12e8b4a4
4 changed files with 98 additions and 92 deletions
|
|
@ -7,8 +7,8 @@
|
|||
"use strict";
|
||||
|
||||
if(window.opener){
|
||||
var lGitHub = window.opener.CloudCommander.Github;
|
||||
lGitHub.init(lGitHub.getUserData, window.location.search);
|
||||
var lGitHub = window.opener.CloudCommander.GitHub;
|
||||
lGitHub.autorize(lGitHub.callback, window.location.search);
|
||||
window.close();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1084,7 +1084,9 @@ var CloudCommander, Util, DOM, CloudFunc;
|
|||
',personalbar=0,toolbar=0' +
|
||||
',scrollbars=1,resizable=1';
|
||||
|
||||
window.open(pUrl, 'Cloud Commander Auth', lOptions);
|
||||
var lWind = window.open(pUrl, 'Cloud Commander Auth', lOptions);
|
||||
if(!lWind)
|
||||
Util.log('Pupup blocked!');
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -57,26 +57,53 @@ var CloudCommander, Util, DOM, $;
|
|||
*/
|
||||
function getUploadToItem(pObjectName){
|
||||
var lObj = {};
|
||||
lObj.name = pObjectName;
|
||||
|
||||
lObj.callback = function(key, opt){
|
||||
getCurrentData(function(pParams){
|
||||
var lObject = cloudcmd[pObjectName];
|
||||
|
||||
if('init' in lObject)
|
||||
lObject.uploadFile(pParams);
|
||||
else
|
||||
Util.exec(lObject, function(){
|
||||
cloudcmd[pObjectName].uploadFile(pParams);
|
||||
});
|
||||
});
|
||||
|
||||
Util.log('Uploading to ' + pObjectName+ '...');
|
||||
};
|
||||
if( Util.isArray(pObjectName) ){
|
||||
|
||||
var n = pObjectName.length;
|
||||
for(var i = 0; i < n; i++){
|
||||
var lStr = pObjectName[i];
|
||||
lObj[lStr] = getUploadToItem( lStr );
|
||||
}
|
||||
}
|
||||
else if( Util.isString(pObjectName) ){
|
||||
lObj.name = pObjectName;
|
||||
|
||||
lObj.callback = function(key, opt){
|
||||
getCurrentData(function(pParams){
|
||||
var lObject = cloudcmd[pObjectName];
|
||||
|
||||
if('init' in lObject)
|
||||
lObject.uploadFile(pParams);
|
||||
else
|
||||
Util.exec(lObject, function(){
|
||||
cloudcmd[pObjectName].uploadFile(pParams);
|
||||
});
|
||||
});
|
||||
|
||||
Util.log('Uploading to ' + pObjectName+ '...');
|
||||
};
|
||||
}
|
||||
|
||||
return lObj;
|
||||
}
|
||||
|
||||
/**
|
||||
* get menu item
|
||||
*/
|
||||
function getItem(pName, pCallBack){
|
||||
var lRet = {
|
||||
name : pName
|
||||
};
|
||||
|
||||
if(Util.isFunction(pCallBack) )
|
||||
lRet.callback = pCallBack;
|
||||
|
||||
else if (Util.isObject(pCallBack))
|
||||
lRet.items = pCallBack;
|
||||
|
||||
return lRet;
|
||||
}
|
||||
|
||||
/**
|
||||
* function return configureation for menu
|
||||
*/
|
||||
|
|
@ -94,68 +121,40 @@ var CloudCommander, Util, DOM, $;
|
|||
|
||||
// define the elements of the menu
|
||||
items: {
|
||||
view: {
|
||||
name : 'View',
|
||||
callback : function(key, opt){
|
||||
showEditor(true);
|
||||
}
|
||||
},
|
||||
|
||||
edit: {
|
||||
name : 'Edit',
|
||||
callback : function(key, opt){
|
||||
showEditor();
|
||||
}
|
||||
},
|
||||
|
||||
delete: {
|
||||
name: 'Delete',
|
||||
callback: function(key, opt){
|
||||
DOM.promptRemoveCurrent();
|
||||
}
|
||||
},
|
||||
|
||||
upload: {
|
||||
name: 'Upload to',
|
||||
items: {
|
||||
'GitHub' : getUploadToItem('GitHub'),
|
||||
'GDrive' : getUploadToItem('GDrive'),
|
||||
'DropBox' : getUploadToItem('DropBox')
|
||||
}
|
||||
},
|
||||
|
||||
download: {
|
||||
name: 'Download',
|
||||
callback: function(key, opt){
|
||||
DOM.Images.showLoad();
|
||||
'View' : getItem( 'View', Util.retExec(showEditor, true) ),
|
||||
'Edit' : getItem( 'Edit', Util.retExec(showEditor) ),
|
||||
'Delete' : getItem( 'Delete', Util.retExec(DOM.promptRemoveCurrent) ),
|
||||
'Upload to' : getItem( 'Upload to',
|
||||
getUploadToItem( ['GitHub', 'GDrive', 'DropBox'] ) ),
|
||||
'Download' : getItem( 'Download', function(key, opt){
|
||||
DOM.Images.showLoad();
|
||||
|
||||
var lPath = DOM.getCurrentPath(),
|
||||
lId = DOM.getIdBySrc(lPath);
|
||||
|
||||
Util.log('downloading file ' + lPath +'...');
|
||||
|
||||
lPath = lPath + '?download';
|
||||
|
||||
if(!DOM.getById(lId)){
|
||||
var lDownload = DOM.anyload({
|
||||
name : 'iframe',
|
||||
async : false,
|
||||
className : 'hidden',
|
||||
src : lPath,
|
||||
func : Util.retFunc(DOM.Images.hideLoad)
|
||||
});
|
||||
|
||||
var lPath = DOM.getCurrentPath(),
|
||||
lId = DOM.getIdBySrc(lPath);
|
||||
|
||||
Util.log('downloading file ' + lPath +'...');
|
||||
|
||||
lPath = lPath + '?download';
|
||||
|
||||
if(!DOM.getById(lId)){
|
||||
var lDownload = DOM.anyload({
|
||||
name : 'iframe',
|
||||
async : false,
|
||||
className : 'hidden',
|
||||
src : lPath,
|
||||
func : Util.retFunc(DOM.Images.hideLoad)
|
||||
});
|
||||
|
||||
DOM.Images.hideLoad();
|
||||
setTimeout(function() {
|
||||
document.body.removeChild(lDownload);
|
||||
}, 10000);
|
||||
}
|
||||
else
|
||||
DOM.Images.showError({
|
||||
responseText: 'Error: You trying to' +
|
||||
'download same file to often'});
|
||||
DOM.Images.hideLoad();
|
||||
setTimeout(function() {
|
||||
document.body.removeChild(lDownload);
|
||||
}, 10000);
|
||||
}
|
||||
}
|
||||
else
|
||||
DOM.Images.showError({
|
||||
responseText: 'Error: You trying to' +
|
||||
'download same file to often'});
|
||||
})
|
||||
}
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ var CloudCommander, Util, DOM, $, Github, cb;
|
|||
GitHub_ID,
|
||||
GithubLocal,
|
||||
User,
|
||||
GithubStore = {};
|
||||
GitHubStore = {};
|
||||
|
||||
/* temporary callback function for work with github */
|
||||
cb = function (err, data){ console.log(err || data);};
|
||||
|
|
@ -52,10 +52,10 @@ var CloudCommander, Util, DOM, $, Github, cb;
|
|||
}
|
||||
|
||||
|
||||
GithubStore.init = function(pCallBack, pCode){
|
||||
GitHubStore.autorize = function(pCallBack, pCode){
|
||||
var lToken = Cache.get('token');
|
||||
if(lToken){
|
||||
GithubStore.Login(lToken);
|
||||
GitHubStore.Login(lToken);
|
||||
Util.exec(pCallBack);
|
||||
}
|
||||
else{
|
||||
|
|
@ -67,7 +67,7 @@ var CloudCommander, Util, DOM, $, Github, cb;
|
|||
if(pData && pData.token){
|
||||
lToken = pData.token;
|
||||
|
||||
GithubStore.Login(lToken);
|
||||
GitHubStore.Login(lToken);
|
||||
Cache.set('token', lToken);
|
||||
Util.exec(pCallBack);
|
||||
}
|
||||
|
|
@ -90,7 +90,7 @@ var CloudCommander, Util, DOM, $, Github, cb;
|
|||
}
|
||||
};
|
||||
|
||||
GithubStore.getUserData = function(pCallBack){
|
||||
GitHubStore.getUserData = function(pCallBack){
|
||||
var lName,
|
||||
|
||||
lShowUserInfo = function(pError, pData){
|
||||
|
|
@ -109,7 +109,7 @@ var CloudCommander, Util, DOM, $, Github, cb;
|
|||
}
|
||||
|
||||
/* PUBLIC FUNCTIONS */
|
||||
GithubStore.basicLogin = function(pUser, pPasswd){
|
||||
GitHubStore.basicLogin = function(pUser, pPasswd){
|
||||
GithubLocal = new Github({
|
||||
username: pUser,
|
||||
password: pPasswd,
|
||||
|
|
@ -117,7 +117,7 @@ var CloudCommander, Util, DOM, $, Github, cb;
|
|||
});
|
||||
};
|
||||
|
||||
GithubStore.Login = function(pToken){
|
||||
GitHubStore.Login = function(pToken){
|
||||
Github = GithubLocal = new Github({
|
||||
token : pToken,
|
||||
auth : 'oauth'
|
||||
|
|
@ -129,7 +129,7 @@ var CloudCommander, Util, DOM, $, Github, cb;
|
|||
/**
|
||||
* function creates gist
|
||||
*/
|
||||
cloudcmd.GitHub.uploadFile = function(pParams, pCallBack){
|
||||
GitHubStore.uploadFile = function(pParams, pCallBack){
|
||||
var lContent = pParams.data,
|
||||
lName = pParams.name;
|
||||
|
||||
|
|
@ -165,17 +165,22 @@ var CloudCommander, Util, DOM, $, Github, cb;
|
|||
return lContent;
|
||||
};
|
||||
|
||||
cloudcmd.GitHub.init = function(pCallBack){
|
||||
GitHubStore.init = function(pCallBack){
|
||||
Util.loadOnLoad([
|
||||
Util.retExec(pCallBack),
|
||||
GithubStore.getUserData,
|
||||
GithubStore.init,
|
||||
GitHubStore.getUserData,
|
||||
GitHubStore.autorize,
|
||||
setConfig,
|
||||
load
|
||||
]);
|
||||
|
||||
cloudcmd.GitHub.init = null;
|
||||
GitHubStore.callback = function(){
|
||||
Util.loadOnLoad([
|
||||
Util.retExec(pCallBack),
|
||||
GitHubStore.getUserData,
|
||||
]);
|
||||
};
|
||||
};
|
||||
|
||||
cloudcmd.Github = GithubStore;
|
||||
cloudcmd.GitHub = GitHubStore;
|
||||
})();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue