128 lines
2.6 KiB
JavaScript
Executable File
128 lines
2.6 KiB
JavaScript
Executable File
/*
|
|
jsConsole herit richTextarea {
|
|
methodes {
|
|
constructeur(className) : nom de la classe qui sera utilis�e pour cette instance ou null
|
|
}
|
|
|
|
proprietes {
|
|
target : sortie texte.
|
|
}
|
|
|
|
evenements {
|
|
|
|
}
|
|
|
|
raccourcis {
|
|
CTRL + SHIFT + ENTRER : execute le script
|
|
}
|
|
}
|
|
*/
|
|
|
|
function jsConsoles (containerMan) {
|
|
|
|
this.containerMan = containerMan;
|
|
|
|
this.newDoc = function () {
|
|
|
|
var jsc = jsConsole();
|
|
jsc.container = this.containerMan.newContainer('jsConsole', jsc);
|
|
|
|
jsc.container.onmakeontop = function () {
|
|
jsc.getElementsByTagName('textarea')[1].focus();
|
|
}
|
|
|
|
jsc.container.makeOnTop();
|
|
}
|
|
}
|
|
|
|
|
|
function jsConsole () {
|
|
|
|
var jsC = document.createElement('div');
|
|
var rTa = richTextarea();
|
|
var disp = richTextarea();
|
|
|
|
|
|
/******************************/
|
|
/* affectation des classe css */
|
|
/******************************/
|
|
|
|
jsC.addClassName('jsC');
|
|
rTa.addClassName('jsCEntry');
|
|
disp.addClassName('jsCTarget');
|
|
|
|
|
|
|
|
/*********************************************/
|
|
/* Creation des fonction pour les raccourcis */
|
|
/*********************************************/
|
|
|
|
function execute (e) {
|
|
|
|
e.preventDefault();
|
|
var target = '';
|
|
function setTarget(text) {
|
|
disp.value = text;
|
|
}
|
|
function addTarget(text) {
|
|
disp.value += text + "\n";
|
|
}
|
|
function clearTarget() {
|
|
disp.value = '';
|
|
}
|
|
rTa.style.backgroundColor = "#ffcccc";
|
|
eval(rTa.value);
|
|
rTa.style.backgroundColor = "white";
|
|
disp.value = target;
|
|
}
|
|
|
|
function toggle(event) {
|
|
|
|
if (event && !event.ctrlKey) return false;
|
|
if (rTa.hasClassName('jsCEntry') && disp.hasClassName('jsCTarget')) {
|
|
rTa.removeClassName('jsCEntry');
|
|
rTa.addClassName('jsEFull');
|
|
disp.style.display = 'none';
|
|
} else { //if ( rTa.hasClassName('editor') && disp.hasClassName('jsCTarget') ) {
|
|
rTa.addClassName('jsCEntry');
|
|
rTa.removeClassName('jsEFull');
|
|
disp.style.display = 'block';
|
|
}
|
|
return true;
|
|
}
|
|
|
|
function toggledisp(event) {
|
|
|
|
if (event && !event.ctrlKey) return false;
|
|
if (rTa.hasClassName('jsCEntry') && disp.hasClassName('jsCTarget')) {
|
|
disp.removeClassName('jsCTarget');
|
|
disp.addClassName('jsTFull');
|
|
rTa.style.display = 'none';
|
|
} else {
|
|
disp.addClassName('jsCTarget');
|
|
disp.removeClassName('jsTFull');
|
|
rTa.style.display = 'block';
|
|
}
|
|
return true;
|
|
}
|
|
|
|
toggle();
|
|
|
|
rTa.addEventListener('click', toggle, false);
|
|
disp.addEventListener('click', toggledisp, false);
|
|
|
|
/******************************/
|
|
/* Affectation des raccourcis */
|
|
/******************************/
|
|
|
|
rTa.addShortKey(1, 0, 1, 13, execute);
|
|
|
|
|
|
|
|
jsC.appendChild(disp);
|
|
jsC.appendChild(rTa);
|
|
|
|
|
|
return jsC;
|
|
}
|