mirror of
https://github.com/coderaiser/cloudcmd.git
synced 2026-01-23 18:55:26 +00:00
119 lines
No EOL
4.5 KiB
JavaScript
119 lines
No EOL
4.5 KiB
JavaScript
var CloudCommander, CodeMirror;
|
|
CloudCommander.Editor = {};
|
|
CloudCommander.Editor.CloudMirror = {
|
|
load: (function(){
|
|
|
|
CloudCommander.jsload('http://codemirror.net/lib/codemirror.js', load_all(this));
|
|
|
|
function load_all(pParent) {
|
|
return function(){
|
|
CloudCommander.cssLoad({
|
|
src : 'http://codemirror.net/lib/codemirror.css',
|
|
element : document.head
|
|
});
|
|
|
|
CloudCommander.cssLoad({
|
|
src : 'http://codemirror.net/theme/night.css',
|
|
element : document.head
|
|
});
|
|
|
|
CloudCommander.cssSet({id:'editor',
|
|
inner:'.CodeMirror{'+
|
|
'font-family:\'Droid Sans Mono\';'+
|
|
'font-size:15px;'+
|
|
'resize:vertical;'+ 'margin:16px;'+'padding:20px;' +
|
|
'}'+
|
|
'.CodeMirror-scroll{'+
|
|
'height: 660px;' +
|
|
'}' +
|
|
'.CodeMirror-scrollbar{'+
|
|
'overflow-y:auto' +
|
|
'}'
|
|
});
|
|
|
|
var lShowEditor_f = function (){
|
|
if (!document.getElementById('CloudEditor')) {
|
|
var lEditor=document.createElement('div');
|
|
lEditor.id ='CloudEditor';
|
|
lEditor.className = 'hidden';
|
|
var lFM = document.getElementById('fm');
|
|
|
|
if(lFM){
|
|
lFM.appendChild(lEditor);
|
|
|
|
CodeMirror(lEditor,{
|
|
mode : "xml",
|
|
htmlMode : true,
|
|
theme : 'night',
|
|
lineNumbers : true,
|
|
//переносим длинные строки
|
|
lineWrapping: true,
|
|
extraKeys: {
|
|
//Сохранение
|
|
"Esc": pParent.hide
|
|
},
|
|
onLoad: pParent.show()
|
|
});
|
|
}else console.log('Error. Something went wrong FM not found');
|
|
}
|
|
};
|
|
CloudCommander.jsload('http://codemirror.net/mode/xml/xml.js', lShowEditor_f);
|
|
};
|
|
}
|
|
}),
|
|
show : (function(){
|
|
/* if CloudEditor is not loaded - loading him */
|
|
document.getElementById('CloudEditor') ||
|
|
this.load();
|
|
/* removing keyBinding if set */
|
|
CloudCommander.keyBinded = false;
|
|
|
|
var lLeft = this.getById('left');
|
|
var lCloudEditor = this.getById('CloudEditor');
|
|
|
|
lLeft &&
|
|
(lLeft.className = 'panel hidden');
|
|
|
|
lCloudEditor &&
|
|
(lCloudEditor.className = '');
|
|
}),
|
|
|
|
|
|
|
|
|
|
hide :(function() {
|
|
CloudCommander.keyBinded = true;
|
|
|
|
var lLeft = this.getById('left');
|
|
var lCloudEditor = this.getById('CloudEditor');
|
|
|
|
lCloudEditor &&
|
|
(lCloudEditor.className = 'hidden');
|
|
|
|
lLeft &&
|
|
(lLeft.className = 'panel');
|
|
}),
|
|
getById: function(pId){return document.getElementById(pId);}
|
|
};
|
|
CloudCommander.Editor.Keys = (function(){
|
|
"use strict";
|
|
var key_event=function(event){
|
|
/* если клавиши можно обрабатывать*/
|
|
if(CloudCommander.keyBinded){
|
|
/* if f4 pressed */
|
|
if(event.keyCode===115){
|
|
CloudCommander.Editor.CloudMirror.show();
|
|
}
|
|
}
|
|
};
|
|
|
|
/* добавляем обработчик клавишь */
|
|
if (document.addEventListener)
|
|
document.addEventListener('keydown', key_event,false);
|
|
|
|
else
|
|
document.onkeypress=key_event;
|
|
|
|
/* клавиши назначены*/
|
|
CloudCommander.keyBinded=true;
|
|
}); |