feature(edit) add menu

This commit is contained in:
coderaiser 2014-05-15 09:24:52 -04:00
parent 04b7ac5426
commit e028d53479
3 changed files with 47 additions and 32 deletions

View file

@ -614,6 +614,24 @@ var CloudCmd, Util, DOM, CloudFunc, Dialog;
});
};
/** function loads css and js of Menu
* @param callback
*/
this.menuLoad = function(callback) {
var Images = DOM.Images,
dir = CloudCmd.LIBDIRCLIENT + 'menu/',
files = [
dir + 'menu-io.js',
dir + 'menu-io.css'
];
Images.showLoad();
DOM.anyLoadInParallel(files, function() {
Images.hide();
Util.exec(callback);
});
};
/**
* create new folder
*

View file

@ -1,4 +1,4 @@
var CloudCmd, Util, DOM, CloudFunc, ace, DiffProto, diff_match_patch, Zip;
var CloudCmd, Util, DOM, CloudFunc, ace, DiffProto, diff_match_patch, Zip, MenuIO;
(function(CloudCmd, Util, DOM, CloudFunc) {
'use strict';
@ -10,6 +10,7 @@ var CloudCmd, Util, DOM, CloudFunc, ace, DiffProto, diff_match_patch, Zip;
DIR = CloudCmd.LIBDIRCLIENT + 'edit/',
LIBDIR = CloudCmd.LIBDIR,
Info = DOM.CurrentInfo,
Menu,
Value,
Edit = this,
Diff,
@ -60,13 +61,15 @@ var CloudCmd, Util, DOM, CloudFunc, ace, DiffProto, diff_match_patch, Zip;
initAce();
Events.add({
drop : onDrop,
dragover : function(event) {
drop : onDrop,
dragover : function(event) {
event.preventDefault();
}
},
}, Element);
}
setMenu(Element);
modesByName = Modelist.modesByName;
if (isDir)
@ -364,6 +367,21 @@ var CloudCmd, Util, DOM, CloudFunc, ace, DiffProto, diff_match_patch, Zip;
});
}
function setMenu(element) {
DOM.menuLoad(function() {
var options = {
beforeShow: function(params) {
params.x -= 18;
params.y -= 27;
}
};
Menu = new MenuIO(element, options, {
'Save': save
});
});
}
function load(callback) {
var files = [
DIR + 'theme-tomorrow_night_blue.js',

View file

@ -6,8 +6,7 @@ var CloudCmd, Util, DOM, CloudFunc, MenuIO;
CloudCmd.Menu = MenuProto;
function MenuProto(position) {
var Name = 'Menu',
Info = DOM.CurrentInfo,
var Info = DOM.CurrentInfo,
Loading = true,
Key = CloudCmd.Key,
Events = DOM.Events,
@ -15,8 +14,7 @@ var CloudCmd, Util, DOM, CloudFunc, MenuIO;
MenuShowedName,
MenuContext,
MenuContextFile,
Position = CloudCmd.MousePosition,
Images = DOM.Images;
Position = CloudCmd.MousePosition;
this.ENABLED = false;
@ -24,7 +22,7 @@ var CloudCmd, Util, DOM, CloudFunc, MenuIO;
Loading = true;
Util.loadOnLoad([
load,
DOM.menuLoad,
Menu.show
]);
@ -134,13 +132,13 @@ var CloudCmd, Util, DOM, CloudFunc, MenuIO;
});
}
function beforeShow(callback, x, y, name) {
function beforeShow(callback, params) {
var notShow = DOM.getCurrentByPosition({
x: x,
y: y
x: params.x,
y: params.y
});
if (name === 'contextFile') {
if (params.name === 'contextFile') {
notShow = !notShow;
}
@ -225,25 +223,6 @@ var CloudCmd, Util, DOM, CloudFunc, MenuIO;
}, TIME);
}
/** function loads css and js of Menu
* @param callback
*/
function load(callback) {
Util.time(Name + ' load');
var dir = CloudCmd.LIBDIRCLIENT + 'menu/',
files = [
dir + 'menu-io.js',
dir + 'menu-io.css'
];
DOM.anyLoadInParallel(files, function() {
Util.timeEnd(Name + ' load');
Images.hide();
Util.exec(callback);
});
}
function listener(event) {
var current, x, y, position,
F9 = Key.F9,