fixed styles in codemirror

This commit is contained in:
coderaiser 2012-10-01 05:10:13 -04:00
parent 60caa5f2c8
commit be365fdefd
3 changed files with 2 additions and 445 deletions

View file

@ -875,8 +875,8 @@ CloudClient.KeyBinding = (function(){
CloudClient.Editor = (function(pCurrentFile, pIsReadOnly) {
/* loading CloudMirror plagin */
Util.jsload(CloudClient.LIBDIRCLIENT +
'editor.js',{
//'editor/ace_editor.js',{
'editor/_codemirror.js',{
//'editor/_ace.js',{
onload:(function(){
cloudcmd.Editor.Keys(pCurrentFile, pIsReadOnly);
})

View file

@ -1,231 +0,0 @@
var CloudCommander, CloudFunc, CodeMirror;
/* object contains editors CodeMirror
* and later will be Ace
*/
(function(){
"use strict";
var cloudcmd = CloudCommander,
Util = CloudCommander.Util,
KeyBinding = CloudCommander.KeyBinding,
CodeMirrorEditor = {},
FM,
CodeMirrorElement,
CodeMirrorLoaded = false,
/* indicator says CodeMirror still loads */
Loading = false,
ReadOnly = false;
cloudcmd.Editor = {
get : (function(){
return this.CodeMirror;
})
};
/* private functions */
function initCodeMirror(pValue){
if(!FM)
FM = Util.getById('fm');
CodeMirrorElement = Util.anyload({
name : 'div',
id : 'CodeMirrorEditor',
className : 'panel',
parent : FM
});
CodeMirrorEditor.CodeMirror = new CodeMirror(CodeMirrorElement,{
mode : 'javascript',
value : pValue,
theme : 'night',
lineNumbers : true,
//переносим длинные строки
lineWrapping: false,
autofocus : true,
extraKeys: {
//Сохранение
"Esc": CodeMirrorEditor.hide
},
readOnly : ReadOnly
});
}
cloudcmd.Editor.dir = 'lib/client/editor/';
CodeMirrorEditor.dir = cloudcmd.Editor.dir + 'codemirror/';
/* function loads CodeMirror js and css files */
CodeMirrorEditor.load = (function(){
/* function loads css files of CodeMirror */
var loadAll = function() {
Util.cssLoad([
{ src : CodeMirrorEditor.dir + 'codemirror.css'},
{ src : CodeMirrorEditor.dir + 'theme/night.css'}
]);
Util.cssSet({id:'editor',
inner : '.CodeMirror{' +
'font-family :\'Droid Sans Mono\';' +
'font-size :15px;' +
'padding :20px 0 0 0;' +
/* codemirror v3 */
//'height : ' + cloudcmd.HEIGHT + 'px' +
'}' +
'.CodeMirror-scroll{' +
'height : ' + (cloudcmd.HEIGHT-40) + 'px' +
'}' //+
/* codemirror v3 */
//'#CodeMirrorEditor{' +
// 'padding :20px 20px 20px 20px;' +
// '}'
});
Util.jsload(CodeMirrorEditor.dir +
'mode/javascript.js', function(){
CodeMirrorLoaded = true;
CodeMirrorEditor.show();
});
};
/* load CodeMirror main module */
Util.jsload(CodeMirrorEditor.dir + 'codemirror.js', loadAll);
});
/* function shows CodeMirror editor */
CodeMirrorEditor.show = (function(){
/* if CodeMirrorEditor is not loaded - loading him */
if(!CodeMirrorLoaded)
return this.load();
/* if CodeMirror function show already
* called do not call it again
* if f4 key pressed couple times
*/
if(Loading)
return;
/* getting link */
var lCurrentFile = Util.getCurrentFile(),
lA = Util.getCurrentLink(lCurrentFile);
lA = lA.href;
/* убираем адрес хоста*/
lA = '/' + lA.replace(document.location.href,'');
/* checking is this link is to directory */
var lSize = Util.getByClass('size', lCurrentFile);
if(lSize){
lSize = lSize[0].textContent;
/* if directory - load json
* not html data
*/
if (lSize === '<dir>'){
var lIndexOfNOJS = lA.indexOf(CloudFunc.NOJS);
if (lIndexOfNOJS === CloudFunc.FS.length){
lA = lA.replace(CloudFunc.NOJS, '');
/* when folder view
* is no need to edit
* data
*/
ReadOnly = true;
}
}
}
Loading = true;
setTimeout(function(){
Loading = false;
},
400);
/* reading data from current file */
Util.ajax({
url:lA,
error: function(jqXHR, textStatus, errorThrown){
Loading = false;
return Util.Images.showError(jqXHR);
},
success:function(data, textStatus, jqXHR){
/* if we got json - show it */
if(typeof data === 'object')
data = JSON.stringify(data, null, 4);
initCodeMirror(data);
/* removing keyBinding if set */
KeyBinding.unSet();
Util.hidePanel();
Util.Images.hideLoad();
Loading = false;
}
});
});
/* function hides CodeMirror editor */
CodeMirrorEditor.hide = (function() {
var lElem = CodeMirrorElement;
KeyBinding.set();
if(lElem && FM)
FM.removeChild(lElem);
Util.showPanel();
});
cloudcmd.Editor.Keys = (function(pIsReadOnly){
ReadOnly = pIsReadOnly;
var lThis = this.CodeMirror;
/* loading js and css of CodeMirror */
lThis.show();
var key_event = function(pEvent){
/* если клавиши можно обрабатывать */
if( KeyBinding.get() ){
/* if f4 or f3 pressed */
var lF3 = cloudcmd.KEY.F3;
var lF4 = cloudcmd.KEY.F4;
//var lShow = lThis.show.bind(lThis);
var lShow = Util.bind(lThis.show, lThis);
if(!pEvent.shiftKey){
switch(pEvent.keyCode)
{
case lF4:
ReadOnly = false;
lShow();
break;
case lF3:
ReadOnly = true;
lShow();
break;
}
}
}
};
/* добавляем обработчик клавишь */
if (document.addEventListener)
document.addEventListener('keydown', key_event, false);
else{
var lFunc;
if(typeof document.onkeydown === 'function')
lFunc = document.onkeydown;
document.onkeydown = function(){
if(lFunc)
lFunc();
key_event();
};
}
});
cloudcmd.Editor.CodeMirror = CodeMirrorEditor;
})();

View file

@ -1,212 +0,0 @@
var CloudCommander, CloudFunc, ace;
/* object contains editors Ace
* and later will be Ace
*/
(function(){
"use strict";
var cloudcmd = CloudCommander,
Util = CloudCommander.Util,
KeyBinding = CloudCommander.KeyBinding,
AceEditor = {},
AceLoaded = false,
ReadOnly = false,
AceElement,
FM;
CloudCommander.Editor = {
get : (function(){
return this.Ace;
})
};
cloudcmd.Editor.dir = 'lib/client/editor/';
AceEditor.dir = cloudcmd.Editor.dir + 'ace/';
/* private functions */
function initCodeMirror(pValue){
if(!FM)
FM = Util.getById('fm');
AceElement = Util.anyload({
name : 'div',
id : 'CodeMirrorEditor',
className : 'panel',
parent : FM
});
var editor = ace.edit("AceEditor");
editor.setTheme("ace/theme/tomorrow_night_blue");
editor.getSession().setMode("ace/mode/javascript");
/*
editor.commands.addCommand({
name : 'new_command',
//bindKey : {win: 'Esc', mac: 'Esc'},
bindKey: {win: 'Ctrl-M', mac: 'Command-M'},
exec : function(pEditor){
lThis.hide();
}
});
*/
editor.setReadOnly(ReadOnly);
editor.setValue(pValue);
}
/* indicator says Ace still loads */
AceEditor.loading = false;
/* function loads Ace js and css files */
AceEditor.load = (function(){
Util.cssSet({id:'editor',
inner : '#AceEditor{' +
'font-size : 15px;' +
'padding : 0 0 0 0;' +
'}'
});
/* load Ace main module */
Util.jsload(AceEditor.dir + 'ace.js', function() {
Util.jsload(AceEditor.dir + 'mode-javascript.js',
function(){
AceLoaded = true;
AceEditor.show();
});
});
});
/* function shows Ace editor */
AceEditor.show = (function(){
/* if Ace function show already
* called do not call it again
* if f4 key pressed couple times
*/
if(this.loading)
return;
if(!AceLoaded){
return AceEditor.load();
}
/* getting link */
var lCurrentFile = Util.getCurrentFile(),
lA = Util.getCurrentLink(lCurrentFile);
lA = lA.href;
/* убираем адрес хоста*/
lA = '/' + lA.replace(document.location.href,'');
/* checking is this link is to directory */
var lSize = Util.getByClass('size', lCurrentFile);
if(lSize){
lSize = lSize[0].textContent;
/* if directory - load json
* not html data
*/
if (lSize === '<dir>'){
if (lA.indexOf(CloudFunc.NOJS) ===
CloudFunc.FS.length) {
lA = lA.replace(CloudFunc.NOJS, '');
/* when folder view
* is no need to edit
* data
*/
ReadOnly = true;
}
}
}
this.loading = true;
setTimeout(function(){
lThis.loading = false;},
400);
/* reading data from current file */
Util.ajax({
url:lA,
error: (function(jqXHR, textStatus, errorThrown){
lThis.loading = false;
return Util.Images.showError(jqXHR);
}),
success:function(data, textStatus, jqXHR){
/* if we got json - show it */
if(typeof data === 'object')
data = JSON.stringify(data, null, 4);
initAce_f(data);
/* removing keyBinding if set */
KeyBinding.unSet();
Util.hidePanel();
Util.Images.hideLoad();
lThis.loading = false;
}
});
});
/* function hides Ace editor */
AceEditor.hide = (function() {
var lElem = AceElement;
KeyBinding.set();
if(lElem && FM)
FM.removeChild(lElem);
Util.showPanel();
});
cloudcmd.Editor.Keys = (function(pCurrentFile, pIsReadOnly){
"use strict";
var lThis = this.Ace;
/* loading js and css of Ace */
this.Ace.show(pCurrentFile, pIsReadOnly);
var key_event = function(pEvent){
/* если клавиши можно обрабатывать */
if( KeyBinding.get() ){
/* if f4 or f3 pressed */
var lF3 = cloudcmd.KEY.F3;
var lF4 = cloudcmd.KEY.F4;
var lShow = Util.bind(lThis.show, lThis);
if(!pEvent.shiftKey){
if(pEvent.keyCode === lF4)
lShow();
else if(pEvent.keyCode === lF3){
lShow(true);
}
}
}else if (pEvent.keyCode === cloudcmd.KEY.ESC)
AceEditor.hide();
};
/* добавляем обработчик клавишь */
if (document.addEventListener)
document.addEventListener('keydown', key_event,false);
else{
var lFunc;
if(typeof document.onkeydown === 'function')
lFunc = document.onkeydown;
document.onkeydown = function(){
if(lFunc)
lFunc();
key_event();
};
}
});
cloudcmd.Editor.Ace = AceEditor;
})();