Replacing codemirror ver 0.93 by ver 3.13 and using it in PM.

This commit is contained in:
ralph
2013-04-02 09:39:03 -04:00
parent 44b4cd860c
commit c869edb305
23 changed files with 704 additions and 479 deletions

View File

@@ -205,9 +205,9 @@
forEach (phpPMFunctions, yesAdd); forEach (phpPMFunctions, yesAdd);
} else { } else {
for (index = 0; index < phpKeywords.length; index++) { for (index = 0; index < phpKeywords.length; index++) {
if ( phpKeywords[index].indexOf(functionName) == 0 ) { if ( phpKeywords[index].indexOf(functionName) == 0 ) {
found.push(phpKeywords[index]); found.push(phpKeywords[index]);
} }
} }
forEach(keywords, maybeAdd); forEach(keywords, maybeAdd);
} }

View File

@@ -26,7 +26,7 @@ CodeMirror.showHint = function(cm, getHints, options) {
function getMaxAccordingList(list) { function getMaxAccordingList(list) {
var max = 0; var max = 0;
for (var i = 0; i < list.length; i++) { for (var i = 0; i < list.length; i++) {
if (list[i].length > max) if (list[i].length > max)
max = list[i].length; max = list[i].length;
} }
return max; return max;
@@ -45,27 +45,30 @@ CodeMirror.showHint = function(cm, getHints, options) {
// Build the select widget // Build the select widget
var hints = document.createElement("ul"), selectedHint = 0; var hints = document.createElement("ul"), selectedHint = 0;
hints.className = "CodeMirror-hints"; hints.className = "CodeMirror-hints";
for (var i = 0; i < completions.length; ++i) { for (var i = 0; i < completions.length; ++i) {
var elt = hints.appendChild(document.createElement("li")), completion = completions[i]; var elt = hints.appendChild(document.createElement("li")), completion = completions[i];
var className = "CodeMirror-hint" + (i ? "" : " CodeMirror-hint-active"); var className = "CodeMirror-hint" + (i ? "" : " CodeMirror-hint-active");
if (completion.className != null) className = completion.className + " " + className; if (completion.className != null) className = completion.className + " " + className;
elt.className = className; elt.className = className;
if (completion.render) completion.render(elt, data, completion); if (completion.render) {completion.render(elt, data, completion);}
else elt.appendChild(document.createTextNode(getText(completion))); else elt.appendChild(document.createTextNode(getText(completion)));
elt.hintId = i; elt.hintId = i;
} }
var pos = cm.cursorCoords(options.alignWithWord !== false ? data.from : null); var pos = cm.cursorCoords(options.alignWithWord !== false ? data.from : null);
var left = pos.left, top = pos.bottom, below = true; var left = pos.left, top = pos.bottom, below = true;
hints.style.left = left + "px"; hints.style.left = left + "px";
hints.style.top = top + "px"; hints.style.top = top + "px";
hints.style.width = (maxWidth * 8) + "px"; hints.style.width = (maxWidth * 18) + "px";
hints.style.zIndex = "5000";
document.body.appendChild(hints); document.body.appendChild(hints);
// If we're at the edge of the screen, then we want the menu to appear on the left of the cursor. // If we're at the edge of the screen, then we want the menu to appear on the left of the cursor.
var winW = window.innerWidth || Math.max(document.body.offsetWidth, document.documentElement.offsetWidth); var winW = window.innerWidth || Math.max(document.body.offsetWidth, document.documentElement.offsetWidth);
var winH = window.innerHeight || Math.max(document.body.offsetHeight, document.documentElement.offsetHeight); var winH = window.innerHeight || Math.max(document.body.offsetHeight, document.documentElement.offsetHeight);
var box = hints.getBoundingClientRect(); var box = hints.getBoundingClientRect();
var overlapX = box.right - winW, overlapY = box.bottom - winH; var overlapX = box.right - winW, overlapY = box.bottom - winH;
if (overlapX > 0) { if (overlapX > 0) {
if (box.right - box.left > winW) { if (box.right - box.left > winW) {

View File

@@ -57,6 +57,7 @@
function dispatch(stream, state) { function dispatch(stream, state) {
var isPHP = state.curMode == phpMode; var isPHP = state.curMode == phpMode;
if (stream.sol() && state.pending != '"') state.pending = null; if (stream.sol() && state.pending != '"') state.pending = null;
if (!isPHP) { if (!isPHP) {
if (stream.match(/^<\?\w*/)) { if (stream.match(/^<\?\w*/)) {
state.curMode = phpMode; state.curMode = phpMode;
@@ -80,6 +81,7 @@
state.pending = null; state.pending = null;
var cur = stream.current(), openPHP = cur.search(/<\?/); var cur = stream.current(), openPHP = cur.search(/<\?/);
if (openPHP != -1) { if (openPHP != -1) {
alert("openPHP");
if (style == "string" && /\"$/.test(cur) && !/\?>/.test(cur)) state.pending = '"'; if (style == "string" && /\"$/.test(cur) && !/\?>/.test(cur)) state.pending = '"';
else state.pending = {end: stream.pos, style: style}; else state.pending = {end: stream.pos, style: style};
stream.backUp(cur.length - openPHP); stream.backUp(cur.length - openPHP);

View File

@@ -220,8 +220,14 @@ class dynaformEditor extends WebResource
$oHeadPublisher->addScriptFile('/jscore/dynaformEditor/core/dynaformEditor.js'); $oHeadPublisher->addScriptFile('/jscore/dynaformEditor/core/dynaformEditor.js');
//$oHeadPublisher->addScriptFile('/js/dveditor/core/dveditor.js'); //$oHeadPublisher->addScriptFile('/js/dveditor/core/dveditor.js');
//$oHeadPublisher->addScriptFile('/codepress/codepress.js',1); //$oHeadPublisher->addScriptFile('/codepress/codepress.js',1);
$oHeadPublisher->addScriptFile('/js/codemirror/js/codemirror.js', 1); $oHeadPublisher->addScriptFile('/js/codemirror/lib/codemirror.js', 1);
//Xml codemirror 3.13
$oHeadPublisher->addScriptFile('/js/codemirror/mode/xml/xml.js', 1);
$oHeadPublisher->addScriptFile('/js/codemirror/addon/selection/active-line.js', 1);
//Javascript codemirror 3.13
$oHeadPublisher->addScriptFile('/js/codemirror/addon/edit/closebrackets.js', 1);
$oHeadPublisher->addScriptFile('/js/codemirror/mode/javascript/javascript.js', 1);
$oHeadPublisher->addScriptFile('/js/grid/core/grid.js'); $oHeadPublisher->addScriptFile('/js/grid/core/grid.js');
$oHeadPublisher->addScriptCode(' $oHeadPublisher->addScriptCode('
var DYNAFORM_URL="' . $Parameters['URL'] . '"; var DYNAFORM_URL="' . $Parameters['URL'] . '";

View File

@@ -444,7 +444,7 @@ var dynaformEditor={
if( ! xmlEditor ) { if( ! xmlEditor ) {
clientWinSize = getClientWindowSize(); clientWinSize = getClientWindowSize();
xmlEditor = CodeMirror.fromTextArea('form[XML]', { /*xmlEditor = CodeMirror.fromTextArea('form[XML]', {
height: (clientWinSize.height - 120) + "px", height: (clientWinSize.height - 120) + "px",
width: (_BROWSER.name == 'msie' ? '100%' : '98%'), width: (_BROWSER.name == 'msie' ? '100%' : '98%'),
parserfile: ["parsexml.js", "parsecss.js", "tokenizejavascript.js", "parsejavascript.js", parserfile: ["parsexml.js", "parsecss.js", "tokenizejavascript.js", "parsejavascript.js",
@@ -453,8 +453,13 @@ var dynaformEditor={
stylesheet: ["css/xmlcolors.css", "css/jscolors.css"], stylesheet: ["css/xmlcolors.css", "css/jscolors.css"],
path: "js/", path: "js/",
lineNumbers: true, lineNumbers: true,
continuousScanning: 500 continuousScanning: 500 });*/
});
xmlEditor = CodeMirror.fromTextArea(document.getElementById("form[XML]"), {
mode: "application/xml",
styleActiveLine: true,
lineNumbers: true,
lineWrapping: true });
} }
}, },
changeToHtmlCode:function() changeToHtmlCode:function()
@@ -514,15 +519,20 @@ var dynaformEditor={
{ {
clientWinSize = getClientWindowSize(); clientWinSize = getClientWindowSize();
startJSCodePress(); startJSCodePress();
jsEditor = CodeMirror.fromTextArea('form[JS]', {
/*jsEditor = CodeMirror.fromTextArea('form[JS]', {
height: (clientWinSize.height - 140) + "px", height: (clientWinSize.height - 140) + "px",
width: (_BROWSER.name == 'msie' ? '100%' : '98%'), width: (_BROWSER.name == 'msie' ? '100%' : '98%'),
parserfile: ["tokenizejavascript.js", "parsejavascript.js"], parserfile: ["tokenizejavascript.js", "parsejavascript.js"],
stylesheet: ["css/jscolors.css"], stylesheet: ["css/jscolors.css"],
path: "js/", path: "js/",
lineNumbers: true, lineNumbers: true,
continuousScanning: 500 continuousScanning: 500 });*/
});
jsEditor = CodeMirror.fromTextArea(document.getElementById("form[JS]"), {
mode: "javascript",
lineNumbers: true,
lineWrapping: true });
} }
} else { } else {
showRowById('JS_TITLE'); showRowById('JS_TITLE');
@@ -684,8 +694,11 @@ var dynaformEditor={
{ {
//if (JSCodePress) //if (JSCodePress)
if( jsEditor ) { if( jsEditor ) {
if(typeof jsEditor.setCode == 'function') if(typeof jsEditor.setValue == 'function')
jsEditor.setCode(newCode); {
alert("Asigning xml contents: " + newCode);
jsEditor.setValue(newCode);//jsEditor.setCode(newCode);
}
} }
else else
{ {
@@ -703,7 +716,7 @@ var dynaformEditor={
setXMLCode:function(newCode) setXMLCode:function(newCode)
{ {
if( xmlEditor ) { if( xmlEditor ) {
xmlEditor.setCode(newCode); xmlEditor.setValue(newCode);//setCode(newCode);
} else { } else {
var code = getField("XML","dynaforms_XmlEditor"); var code = getField("XML","dynaforms_XmlEditor");
code.value = newCode; code.value = newCode;

View File

@@ -26,6 +26,14 @@ if (isset($_GET["TRI_UID"]) && !empty($_GET["TRI_UID"])) {
$G_PUBLISH = new Publisher(); $G_PUBLISH = new Publisher();
$G_PUBLISH->AddContent("xmlform", "xmlform", "triggers/triggerCopy", "", $arrayField, "../triggers/triggers_Save"); $G_PUBLISH->AddContent("xmlform", "xmlform", "triggers/triggerCopy", "", $arrayField, "../triggers/triggers_Save");
$oHeadPublisher =& headPublisher::getSingleton(); $oHeadPublisher =& headPublisher::getSingleton();
$oHeadPublisher->addScriptFile('/js/codemirror/js/codemirror.js', 1); //$oHeadPublisher->addScriptFile('/js/codemirror/js/codemirror.js', 1);
$oHeadPublisher->addScriptFile('/js/codemirror/lib/codemirror.js', 1);
$oHeadPublisher->addScriptFile("/js/codemirror/addon/edit/matchbrackets.js",1);
$oHeadPublisher->addScriptFile("/js/codemirror/mode/htmlmixed/htmlmixed.js",1);
$oHeadPublisher->addScriptFile("/js/codemirror/mode/xml/xml.js",1);
$oHeadPublisher->addScriptFile("/js/codemirror/mode/javascript/javascript.js",1);
$oHeadPublisher->addScriptFile("/js/codemirror/mode/css/css.js",1);
$oHeadPublisher->addScriptFile("/js/codemirror/mode/clike/clike.js",1);
$oHeadPublisher->addScriptFile("/js/codemirror/mode/php/php.js",1);
G::RenderPage("publish", "raw"); G::RenderPage("publish", "raw");

View File

@@ -67,6 +67,17 @@ G::LoadClass( 'xmlfield_InputPM' );
$G_PUBLISH = new Publisher(); $G_PUBLISH = new Publisher();
$G_PUBLISH->AddContent( 'xmlform', 'xmlform', $xmlform, '', $aFields, $xmlform_action ); $G_PUBLISH->AddContent( 'xmlform', 'xmlform', $xmlform, '', $aFields, $xmlform_action );
$oHeadPublisher =& headPublisher::getSingleton(); $oHeadPublisher =& headPublisher::getSingleton();
$oHeadPublisher->addScriptFile('/js/codemirror/js/codemirror.js', 1); //$oHeadPublisher->addScriptFile('/js/codemirror/js/codemirror.js', 1);
$oHeadPublisher->addScriptFile('/js/codemirror/lib/codemirror.js', 1);
$oHeadPublisher->addScriptFile("/js/codemirror/addon/edit/matchbrackets.js",1);
$oHeadPublisher->addScriptFile("/js/codemirror/mode/htmlmixed/htmlmixed.js",1);
$oHeadPublisher->addScriptFile("/js/codemirror/mode/xml/xml.js",1);
$oHeadPublisher->addScriptFile("/js/codemirror/mode/javascript/javascript.js",1);
$oHeadPublisher->addScriptFile("/js/codemirror/mode/css/css.js",1);
$oHeadPublisher->addScriptFile("/js/codemirror/mode/clike/clike.js",1);
$oHeadPublisher->addScriptFile("/js/codemirror/addon/hint/show-hint.js",1);
$oHeadPublisher->addScriptFile("/js/codemirror/addon/hint/php-hint.js",1);
$oHeadPublisher->addScriptFile("/js/codemirror/mode/php/php.js",1);
G::RenderPage( 'publish', 'raw' ); G::RenderPage( 'publish', 'raw' );

View File

@@ -38,6 +38,16 @@ G::LoadClass( 'xmlfield_InputPM' );
$G_PUBLISH = new Publisher(); $G_PUBLISH = new Publisher();
$G_PUBLISH->AddContent( 'xmlform', 'xmlform', $xmlform, '', $aFields, '../triggers/triggers_Save' ); $G_PUBLISH->AddContent( 'xmlform', 'xmlform', $xmlform, '', $aFields, '../triggers/triggers_Save' );
$oHeadPublisher =& headPublisher::getSingleton(); $oHeadPublisher =& headPublisher::getSingleton();
$oHeadPublisher->addScriptFile('/js/codemirror/js/codemirror.js', 1); //$oHeadPublisher->addScriptFile('/js/codemirror/js/codemirror.js', 1);
$oHeadPublisher->addScriptFile('/js/codemirror/lib/codemirror.js', 1);
$oHeadPublisher->addScriptFile("/js/codemirror/addon/edit/matchbrackets.js",1);
$oHeadPublisher->addScriptFile("/js/codemirror/mode/htmlmixed/htmlmixed.js",1);
$oHeadPublisher->addScriptFile("/js/codemirror/mode/xml/xml.js",1);
$oHeadPublisher->addScriptFile("/js/codemirror/mode/javascript/javascript.js",1);
$oHeadPublisher->addScriptFile("/js/codemirror/mode/css/css.js",1);
$oHeadPublisher->addScriptFile("/js/codemirror/mode/clike/clike.js",1);
$oHeadPublisher->addScriptFile("/js/codemirror/addon/hint/show-hint.js",1);
$oHeadPublisher->addScriptFile("/js/codemirror/addon/hint/php-hint.js",1);
$oHeadPublisher->addScriptFile("/js/codemirror/mode/php/php.js",1);
G::RenderPage( 'publish', 'raw' ); G::RenderPage( 'publish', 'raw' );

View File

@@ -15,10 +15,8 @@
<cssFile file="form.css" enabledBrowsers="ALL" disabledBrowsers=""></cssFile> <cssFile file="form.css" enabledBrowsers="ALL" disabledBrowsers=""></cssFile>
<cssFile file="sprite_ie7.css" enabledBrowsers="ie7" disabledBrowsers="ALL"></cssFile> <cssFile file="sprite_ie7.css" enabledBrowsers="ie7" disabledBrowsers="ALL"></cssFile>
<cssFile file="sprite.css" enabledBrowsers="ALL" disabledBrowsers="ie7"></cssFile> <cssFile file="sprite.css" enabledBrowsers="ALL" disabledBrowsers="ie7"></cssFile>
<cssFile file="xmlcolors.css" enabledBrowsers="ALL" disabledBrowsers=""></cssFile> <cssFile file="codemirror.css" enabledBrowsers="ALL" disabledBrowsers=""></cssFile>
<cssFile file="jscolors.css" enabledBrowsers="ALL" disabledBrowsers=""></cssFile> <cssFile file="show-hint.css" enabledBrowsers="ALL" disabledBrowsers=""></cssFile>
<cssFile file="csscolors.css" enabledBrowsers="ALL" disabledBrowsers=""></cssFile>
<cssFile file="phpcolors.css" enabledBrowsers="ALL" disabledBrowsers=""></cssFile>
<cssFile file="rtl.css" enabledBrowsers="ALL" disabledBrowsers=""></cssFile> <cssFile file="rtl.css" enabledBrowsers="ALL" disabledBrowsers=""></cssFile>
</skin> </skin>
<blank> <blank>
@@ -27,6 +25,8 @@
<cssFile file="sprite_ie7.css" enabledBrowsers="ie7" disabledBrowsers="ALL"></cssFile> <cssFile file="sprite_ie7.css" enabledBrowsers="ie7" disabledBrowsers="ALL"></cssFile>
<cssFile file="sprite.css" enabledBrowsers="ALL" disabledBrowsers="ie7"></cssFile> <cssFile file="sprite.css" enabledBrowsers="ALL" disabledBrowsers="ie7"></cssFile>
<cssFile file="rtl.css" enabledBrowsers="ALL" disabledBrowsers=""></cssFile> <cssFile file="rtl.css" enabledBrowsers="ALL" disabledBrowsers=""></cssFile>
<cssFile file="codemirror.css" enabledBrowsers="ALL" disabledBrowsers=""></cssFile>
<cssFile file="show-hint.css" enabledBrowsers="ALL" disabledBrowsers=""></cssFile>
</blank> </blank>
<raw> <raw>
</raw> </raw>
@@ -36,6 +36,8 @@
<cssFile file="sprite_ie7.css" enabledBrowsers="ie7" disabledBrowsers="ALL"></cssFile> <cssFile file="sprite_ie7.css" enabledBrowsers="ie7" disabledBrowsers="ALL"></cssFile>
<cssFile file="sprite.css" enabledBrowsers="ALL" disabledBrowsers="ie7"></cssFile> <cssFile file="sprite.css" enabledBrowsers="ALL" disabledBrowsers="ie7"></cssFile>
<cssFile file="rtl.css" enabledBrowsers="ALL" disabledBrowsers=""></cssFile> <cssFile file="rtl.css" enabledBrowsers="ALL" disabledBrowsers=""></cssFile>
<cssFile file="codemirror.css" enabledBrowsers="ALL" disabledBrowsers=""></cssFile>
<cssFile file="show-hint.css" enabledBrowsers="ALL" disabledBrowsers=""></cssFile>
</submenu> </submenu>
<tracker> <tracker>
<cssFile file="style.css" enabledBrowsers="ALL" disabledBrowsers=""></cssFile> <cssFile file="style.css" enabledBrowsers="ALL" disabledBrowsers=""></cssFile>
@@ -46,13 +48,11 @@
</tracker> </tracker>
<extjs> <extjs>
<cssFile file="xtheme-gray.css" enabledBrowsers="ALL" disabledBrowsers=""></cssFile> <cssFile file="xtheme-gray.css" enabledBrowsers="ALL" disabledBrowsers=""></cssFile>
<cssFile file="pmos-xtheme-gray.css" enabledBrowsers="ALL" disabledBrowsers=""></cssFile> <cssFile file="pmos-xtheme-gray.css" enabledBrowsers="ALL" disabledBrowsers=""></cssFile>
<cssFile file="sprite_ie7.css" enabledBrowsers="ie7" disabledBrowsers="ALL"></cssFile> <cssFile file="sprite_ie7.css" enabledBrowsers="ie7" disabledBrowsers="ALL"></cssFile>
<cssFile file="sprite.css" enabledBrowsers="ALL" disabledBrowsers="ie7"></cssFile> <cssFile file="sprite.css" enabledBrowsers="ALL" disabledBrowsers="ie7"></cssFile>
<cssFile file="xmlcolors.css" enabledBrowsers="ALL" disabledBrowsers=""></cssFile> <cssFile file="codemirror.css" enabledBrowsers="ALL" disabledBrowsers=""></cssFile>
<cssFile file="jscolors.css" enabledBrowsers="ALL" disabledBrowsers=""></cssFile> <cssFile file="show-hint.css" enabledBrowsers="ALL" disabledBrowsers=""></cssFile>
<cssFile file="csscolors.css" enabledBrowsers="ALL" disabledBrowsers=""></cssFile>
<cssFile file="phpcolors.css" enabledBrowsers="ALL" disabledBrowsers=""></cssFile>
<cssFile file="rtl.css" enabledBrowsers="ALL" disabledBrowsers=""></cssFile> <cssFile file="rtl.css" enabledBrowsers="ALL" disabledBrowsers=""></cssFile>
</extjs> </extjs>
</cssFiles> </cssFiles>

View File

@@ -0,0 +1,246 @@
/* BASICS */
.CodeMirror {
/* Set height, width, borders, and global font properties here */
font-family: monospace;
height: 300px;
}
.CodeMirror-scroll {
/* Set scrolling behaviour here */
overflow: auto;
}
/* PADDING */
.CodeMirror-lines {
padding: 4px 0; /* Vertical padding around content */
}
.CodeMirror pre {
padding: 0 4px; /* Horizontal padding of content */
}
.CodeMirror-scrollbar-filler {
background-color: white; /* The little square between H and V scrollbars */
}
/* GUTTER */
.CodeMirror-gutters {
border-right: 1px solid #ddd;
background-color: #f7f7f7;
}
.CodeMirror-linenumbers {}
.CodeMirror-linenumber {
padding: 0 3px 0 5px;
min-width: 20px;
text-align: right;
color: #999;
}
/* CURSOR */
.CodeMirror div.CodeMirror-cursor {
border-left: 1px solid black;
z-index: 3;
}
/* Shown when moving in bi-directional text */
.CodeMirror div.CodeMirror-secondarycursor {
border-left: 1px solid silver;
}
.CodeMirror.cm-keymap-fat-cursor div.CodeMirror-cursor {
width: auto;
border: 0;
background: #7e7;
z-index: 1;
}
/* Can style cursor different in overwrite (non-insert) mode */
.CodeMirror div.CodeMirror-cursor.CodeMirror-overwrite {}
.cm-tab { display: inline-block; }
/* DEFAULT THEME */
.cm-s-default .cm-keyword {color: #708;}
.cm-s-default .cm-atom {color: #219;}
.cm-s-default .cm-number {color: #164;}
.cm-s-default .cm-def {color: #00f;}
.cm-s-default .cm-variable {color: black;}
.cm-s-default .cm-variable-2 {color: #05a;}
.cm-s-default .cm-variable-3 {color: #085;}
.cm-s-default .cm-property {color: black;}
.cm-s-default .cm-operator {color: black;}
.cm-s-default .cm-comment {color: #a50;}
.cm-s-default .cm-string {color: #a11;}
.cm-s-default .cm-string-2 {color: #f50;}
.cm-s-default .cm-meta {color: #555;}
.cm-s-default .cm-error {color: #f00;}
.cm-s-default .cm-qualifier {color: #555;}
.cm-s-default .cm-builtin {color: #30a;}
.cm-s-default .cm-bracket {color: #997;}
.cm-s-default .cm-tag {color: #170;}
.cm-s-default .cm-attribute {color: #00c;}
.cm-s-default .cm-header {color: blue;}
.cm-s-default .cm-quote {color: #090;}
.cm-s-default .cm-hr {color: #999;}
.cm-s-default .cm-link {color: #00c;}
.cm-negative {color: #d44;}
.cm-positive {color: #292;}
.cm-header, .cm-strong {font-weight: bold;}
.cm-em {font-style: italic;}
.cm-link {text-decoration: underline;}
.cm-invalidchar {color: #f00;}
div.CodeMirror span.CodeMirror-matchingbracket {color: #0f0;}
div.CodeMirror span.CodeMirror-nonmatchingbracket {color: #f22;}
/* STOP */
/* The rest of this file contains styles related to the mechanics of
the editor. You probably shouldn't touch them. */
.CodeMirror {
line-height: 1;
position: relative;
overflow: hidden;
background: white;
color: black;
}
.CodeMirror-scroll {
/* 30px is the magic margin used to hide the element's real scrollbars */
/* See overflow: hidden in .CodeMirror, and the paddings in .CodeMirror-sizer */
margin-bottom: -30px; margin-right: -30px;
padding-bottom: 30px; padding-right: 30px;
height: 100%;
outline: none; /* Prevent dragging from highlighting the element */
position: relative;
}
.CodeMirror-sizer {
position: relative;
}
/* The fake, visible scrollbars. Used to force redraw during scrolling
before actuall scrolling happens, thus preventing shaking and
flickering artifacts. */
.CodeMirror-vscrollbar, .CodeMirror-hscrollbar, .CodeMirror-scrollbar-filler {
position: absolute;
z-index: 6;
display: none;
}
.CodeMirror-vscrollbar {
right: 0; top: 0;
overflow-x: hidden;
overflow-y: scroll;
}
.CodeMirror-hscrollbar {
bottom: 0; left: 0;
overflow-y: hidden;
overflow-x: scroll;
}
.CodeMirror-scrollbar-filler {
right: 0; bottom: 0;
z-index: 6;
}
.CodeMirror-gutters {
position: absolute; left: 0; top: 0;
height: 100%;
padding-bottom: 30px;
z-index: 3;
}
.CodeMirror-gutter {
height: 100%;
padding-bottom: 30px;
margin-bottom: -32px;
display: inline-block;
/* Hack to make IE7 behave */
*zoom:1;
*display:inline;
}
.CodeMirror-gutter-elt {
position: absolute;
cursor: default;
z-index: 4;
}
.CodeMirror-lines {
cursor: text;
}
.CodeMirror pre {
/* Reset some styles that the rest of the page might have set */
-moz-border-radius: 0; -webkit-border-radius: 0; border-radius: 0;
border-width: 0;
background: transparent;
font-family: inherit;
font-size: inherit;
margin: 0;
white-space: pre;
word-wrap: normal;
line-height: inherit;
color: inherit;
z-index: 2;
position: relative;
overflow: visible;
}
.CodeMirror-wrap pre {
word-wrap: break-word;
white-space: pre-wrap;
word-break: normal;
}
.CodeMirror-linebackground {
position: absolute;
left: 0; right: 0; top: 0; bottom: 0;
z-index: 0;
}
.CodeMirror-linewidget {
position: relative;
z-index: 2;
overflow: auto;
}
.CodeMirror-widget {
display: inline-block;
}
.CodeMirror-wrap .CodeMirror-scroll {
overflow-x: hidden;
}
.CodeMirror-measure {
position: absolute;
width: 100%; height: 0px;
overflow: hidden;
visibility: hidden;
}
.CodeMirror-measure pre { position: static; }
.CodeMirror div.CodeMirror-cursor {
position: absolute;
visibility: hidden;
border-right: none;
width: 0;
}
.CodeMirror-focused div.CodeMirror-cursor {
visibility: visible;
}
.CodeMirror-selected { background: #d9d9d9; }
.CodeMirror-focused .CodeMirror-selected { background: #d7d4f0; }
.cm-searching {
background: #ffa;
background: rgba(255, 255, 0, .4);
}
/* IE7 hack to prevent it from returning funny offsetTops on the spans */
.CodeMirror span { *vertical-align: text-bottom; }
@media print {
/* Hide the cursor when printing */
.CodeMirror div.CodeMirror-cursor {
visibility: hidden;
}
}

View File

@@ -1,55 +0,0 @@
html {
cursor: text;
}
.editbox {
margin: .4em;
padding: 0;
font-family: monospace;
font-size: 10pt;
color: black;
}
pre.code, .editbox {
color: #666;
}
.editbox p {
margin: 0;
}
span.css-at {
color: #708;
}
span.css-unit {
color: #281;
}
span.css-value {
color: #708;
}
span.css-identifier {
color: black;
}
span.css-selector {
color: #11B;
}
span.css-important {
color: #00F;
}
span.css-colorcode {
color: #299;
}
span.css-comment {
color: #A70;
}
span.css-string {
color: #A22;
}

View File

@@ -1,59 +0,0 @@
html {
cursor: text;
}
.editbox {
margin: .4em;
padding: 0;
font-family: monospace;
font-size: 10pt;
color: black;
}
pre.code, .editbox {
color: #666666;
}
.editbox p {
margin: 0;
}
span.js-punctuation {
color: #666666;
}
span.js-operator {
color: #666666;
}
span.js-keyword {
color: #770088;
}
span.js-atom {
color: #228811;
}
span.js-variable {
color: black;
}
span.js-variabledef {
color: #0000FF;
}
span.js-localvariable {
color: #004499;
}
span.js-property {
color: black;
}
span.js-comment {
color: #AA7700;
}
span.js-string {
color: #AA2222;
}

View File

@@ -1,114 +0,0 @@
/*
Copyright (c) 2008-2009 Yahoo! Inc. All rights reserved.
The copyrights embodied in the content of this file are licensed by
Yahoo! Inc. under the BSD (revised) open source license
@author Dan Vlad Dascalescu <dandv@yahoo-inc.com>
*/
html {
cursor: text;
}
.editbox {
margin: .4em;
padding: 0;
font-family: monospace;
font-size: 10pt;
}
/*We should define specific styles for every element of the syntax.
the setting below will cause some annoying color to show through if we missed
defining a style for a token. This is also the "color" of the whitespace and
of the cursor.
*/
pre.code, .editbox {
color: red;
}
.editbox p {
margin: 0;
}
span.php-punctuation {
color: blue;
}
span.php-keyword {
color: #770088;
font-weight: bold;
}
span.php-operator {
color: blue;
}
/* __FILE__ etc.; http://php.net/manual/en/reserved.php */
span.php-compile-time-constant {
color: #776088;
font-weight: bold;
}
/* output of get_defined_constants(). Differs from http://php.net/manual/en/reserved.constants.php */
span.php-predefined-constant {
color: darkgreen;
font-weight: bold;
}
/* PHP reserved "language constructs"... echo() etc.; http://php.net/manual/en/reserved.php */
span.php-reserved-language-construct {
color: green;
font-weight: bold;
}
/* PHP built-in functions: glob(), chr() etc.; output of get_defined_functions()["internal"] */
span.php-predefined-function {
color: green;
}
/* PHP predefined classes: PDO, Exception etc.; output of get_declared_classes() and different from http://php.net/manual/en/reserved.classes.php */
span.php-predefined-class {
color: green;
}
span.php-atom {
color: #228811;
}
/* class, interface, namespace or function names, but not $variables */
span.php-t_string {
color: black;
}
span.php-variable {
color: black;
font-weight: bold;
}
span.js-localvariable {
color: #004499;
}
span.php-comment {
color: #AA7700;
font-stretch: condensed;
/* font-style: italic; This causes line height to slightly change, getting line numbers out of sync */
}
span.php-string-single-quoted {
color: #AA2222;
}
/* double quoted strings allow interpolation */
span.php-string-double-quoted {
color: #AA2222;
font-weight: bold;
}
span.syntax-error {
background-color: red;
}
span.deprecated {
font-size: smaller;
}

View File

@@ -0,0 +1,38 @@
.CodeMirror-hints {
position: absolute;
z-index: 10;
overflow: hidden;
list-style: none;
margin: 0;
padding: 2px;
-webkit-box-shadow: 2px 3px 5px rgba(0,0,0,.2);
-moz-box-shadow: 2px 3px 5px rgba(0,0,0,.2);
box-shadow: 2px 3px 5px rgba(0,0,0,.2);
border-radius: 3px;
border: 1px solid silver;
background: white;
font-size: 90%;
font-family: monospace;
max-height: 20em;
overflow-y: auto;
}
.CodeMirror-hint {
margin: 0;
padding: 0 4px;
border-radius: 2px;
max-width: 150em;
overflow: hidden;
white-space: pre;
color: black;
cursor: pointer;
}
.CodeMirror-hint-active {
background: #08f;
color: white;
}

View File

@@ -1,55 +0,0 @@
html {
cursor: text;
}
.editbox {
margin: .4em;
padding: 0;
font-family: monospace;
font-size: 10pt;
color: black;
}
.editbox p {
margin: 0;
}
span.xml-tagname {
color: #A0B;
}
span.xml-attribute {
color: #281;
}
span.xml-punctuation {
color: black;
}
span.xml-attname {
color: #00F;
}
span.xml-comment {
color: #A70;
}
span.xml-cdata {
color: #48A;
}
span.xml-processing {
color: #999;
}
span.xml-entity {
color: #A22;
}
span.xml-error {
color: #F00 !important;
}
span.xml-text {
color: black;
}

View File

@@ -0,0 +1,246 @@
/* BASICS */
.CodeMirror {
/* Set height, width, borders, and global font properties here */
font-family: monospace;
height: 300px;
}
.CodeMirror-scroll {
/* Set scrolling behaviour here */
overflow: auto;
}
/* PADDING */
.CodeMirror-lines {
padding: 4px 0; /* Vertical padding around content */
}
.CodeMirror pre {
padding: 0 4px; /* Horizontal padding of content */
}
.CodeMirror-scrollbar-filler {
background-color: white; /* The little square between H and V scrollbars */
}
/* GUTTER */
.CodeMirror-gutters {
border-right: 1px solid #ddd;
background-color: #f7f7f7;
}
.CodeMirror-linenumbers {}
.CodeMirror-linenumber {
padding: 0 3px 0 5px;
min-width: 20px;
text-align: right;
color: #999;
}
/* CURSOR */
.CodeMirror div.CodeMirror-cursor {
border-left: 1px solid black;
z-index: 3;
}
/* Shown when moving in bi-directional text */
.CodeMirror div.CodeMirror-secondarycursor {
border-left: 1px solid silver;
}
.CodeMirror.cm-keymap-fat-cursor div.CodeMirror-cursor {
width: auto;
border: 0;
background: #7e7;
z-index: 1;
}
/* Can style cursor different in overwrite (non-insert) mode */
.CodeMirror div.CodeMirror-cursor.CodeMirror-overwrite {}
.cm-tab { display: inline-block; }
/* DEFAULT THEME */
.cm-s-default .cm-keyword {color: #708;}
.cm-s-default .cm-atom {color: #219;}
.cm-s-default .cm-number {color: #164;}
.cm-s-default .cm-def {color: #00f;}
.cm-s-default .cm-variable {color: black;}
.cm-s-default .cm-variable-2 {color: #05a;}
.cm-s-default .cm-variable-3 {color: #085;}
.cm-s-default .cm-property {color: black;}
.cm-s-default .cm-operator {color: black;}
.cm-s-default .cm-comment {color: #a50;}
.cm-s-default .cm-string {color: #a11;}
.cm-s-default .cm-string-2 {color: #f50;}
.cm-s-default .cm-meta {color: #555;}
.cm-s-default .cm-error {color: #f00;}
.cm-s-default .cm-qualifier {color: #555;}
.cm-s-default .cm-builtin {color: #30a;}
.cm-s-default .cm-bracket {color: #997;}
.cm-s-default .cm-tag {color: #170;}
.cm-s-default .cm-attribute {color: #00c;}
.cm-s-default .cm-header {color: blue;}
.cm-s-default .cm-quote {color: #090;}
.cm-s-default .cm-hr {color: #999;}
.cm-s-default .cm-link {color: #00c;}
.cm-negative {color: #d44;}
.cm-positive {color: #292;}
.cm-header, .cm-strong {font-weight: bold;}
.cm-em {font-style: italic;}
.cm-link {text-decoration: underline;}
.cm-invalidchar {color: #f00;}
div.CodeMirror span.CodeMirror-matchingbracket {color: #0f0;}
div.CodeMirror span.CodeMirror-nonmatchingbracket {color: #f22;}
/* STOP */
/* The rest of this file contains styles related to the mechanics of
the editor. You probably shouldn't touch them. */
.CodeMirror {
line-height: 1;
position: relative;
overflow: hidden;
background: white;
color: black;
}
.CodeMirror-scroll {
/* 30px is the magic margin used to hide the element's real scrollbars */
/* See overflow: hidden in .CodeMirror, and the paddings in .CodeMirror-sizer */
margin-bottom: -30px; margin-right: -30px;
padding-bottom: 30px; padding-right: 30px;
height: 100%;
outline: none; /* Prevent dragging from highlighting the element */
position: relative;
}
.CodeMirror-sizer {
position: relative;
}
/* The fake, visible scrollbars. Used to force redraw during scrolling
before actuall scrolling happens, thus preventing shaking and
flickering artifacts. */
.CodeMirror-vscrollbar, .CodeMirror-hscrollbar, .CodeMirror-scrollbar-filler {
position: absolute;
z-index: 6;
display: none;
}
.CodeMirror-vscrollbar {
right: 0; top: 0;
overflow-x: hidden;
overflow-y: scroll;
}
.CodeMirror-hscrollbar {
bottom: 0; left: 0;
overflow-y: hidden;
overflow-x: scroll;
}
.CodeMirror-scrollbar-filler {
right: 0; bottom: 0;
z-index: 6;
}
.CodeMirror-gutters {
position: absolute; left: 0; top: 0;
height: 100%;
padding-bottom: 30px;
z-index: 3;
}
.CodeMirror-gutter {
height: 100%;
padding-bottom: 30px;
margin-bottom: -32px;
display: inline-block;
/* Hack to make IE7 behave */
*zoom:1;
*display:inline;
}
.CodeMirror-gutter-elt {
position: absolute;
cursor: default;
z-index: 4;
}
.CodeMirror-lines {
cursor: text;
}
.CodeMirror pre {
/* Reset some styles that the rest of the page might have set */
-moz-border-radius: 0; -webkit-border-radius: 0; border-radius: 0;
border-width: 0;
background: transparent;
font-family: inherit;
font-size: inherit;
margin: 0;
white-space: pre;
word-wrap: normal;
line-height: inherit;
color: inherit;
z-index: 2;
position: relative;
overflow: visible;
}
.CodeMirror-wrap pre {
word-wrap: break-word;
white-space: pre-wrap;
word-break: normal;
}
.CodeMirror-linebackground {
position: absolute;
left: 0; right: 0; top: 0; bottom: 0;
z-index: 0;
}
.CodeMirror-linewidget {
position: relative;
z-index: 2;
overflow: auto;
}
.CodeMirror-widget {
display: inline-block;
}
.CodeMirror-wrap .CodeMirror-scroll {
overflow-x: hidden;
}
.CodeMirror-measure {
position: absolute;
width: 100%; height: 0px;
overflow: hidden;
visibility: hidden;
}
.CodeMirror-measure pre { position: static; }
.CodeMirror div.CodeMirror-cursor {
position: absolute;
visibility: hidden;
border-right: none;
width: 0;
}
.CodeMirror-focused div.CodeMirror-cursor {
visibility: visible;
}
.CodeMirror-selected { background: #d9d9d9; }
.CodeMirror-focused .CodeMirror-selected { background: #d7d4f0; }
.cm-searching {
background: #ffa;
background: rgba(255, 255, 0, .4);
}
/* IE7 hack to prevent it from returning funny offsetTops on the spans */
.CodeMirror span { *vertical-align: text-bottom; }
@media print {
/* Hide the cursor when printing */
.CodeMirror div.CodeMirror-cursor {
visibility: hidden;
}
}

View File

@@ -1,59 +0,0 @@
html {
cursor: text;
}
.editbox {
margin: .4em;
padding: 0;
font-family: monospace;
font-size: 10pt;
color: black;
}
pre.code, .editbox {
color: #666666;
}
.editbox p {
margin: 0;
}
span.js-punctuation {
color: #666666;
}
span.js-operator {
color: #666666;
}
span.js-keyword {
color: #770088;
}
span.js-atom {
color: #228811;
}
span.js-variable {
color: black;
}
span.js-variabledef {
color: #0000FF;
}
span.js-localvariable {
color: #004499;
}
span.js-property {
color: black;
}
span.js-comment {
color: #AA7700;
}
span.js-string {
color: #AA2222;
}

View File

@@ -0,0 +1,38 @@
.CodeMirror-hints {
position: absolute;
z-index: 10;
overflow: hidden;
list-style: none;
margin: 0;
padding: 2px;
-webkit-box-shadow: 2px 3px 5px rgba(0,0,0,.2);
-moz-box-shadow: 2px 3px 5px rgba(0,0,0,.2);
box-shadow: 2px 3px 5px rgba(0,0,0,.2);
border-radius: 3px;
border: 1px solid silver;
background: white;
font-size: 90%;
font-family: monospace;
max-height: 20em;
overflow-y: auto;
}
.CodeMirror-hint {
margin: 0;
padding: 0 4px;
border-radius: 2px;
max-width: 150em;
overflow: hidden;
white-space: pre;
color: black;
cursor: pointer;
}
.CodeMirror-hint-active {
background: #08f;
color: white;
}

View File

@@ -1,55 +0,0 @@
html {
cursor: text;
}
.editbox {
margin: .4em;
padding: 0;
font-family: monospace;
font-size: 10pt;
color: black;
}
.editbox p {
margin: 0;
}
span.xml-tagname {
color: #A0B;
}
span.xml-attribute {
color: #281;
}
span.xml-punctuation {
color: black;
}
span.xml-attname {
color: #00F;
}
span.xml-comment {
color: #A70;
}
span.xml-cdata {
color: #48A;
}
span.xml-processing {
color: #999;
}
span.xml-entity {
color: #A22;
}
span.xml-error {
color: #F00 !important;
}
span.xml-text {
color: black;
}

View File

@@ -75,7 +75,7 @@
<JS type="javascript"> <JS type="javascript">
<![CDATA[ <![CDATA[
var triggerEditor = CodeMirror.fromTextArea('form[TRI_WEBBOT]', { /*var triggerEditor = CodeMirror.fromTextArea('form[TRI_WEBBOT]', {
height: "200px", height: "200px",
width: "90%", width: "90%",
parserfile: ["parsexml.js", "parsecss.js", "tokenizejavascript.js", "parsejavascript.js", parserfile: ["parsexml.js", "parsecss.js", "tokenizejavascript.js", "parsejavascript.js",
@@ -83,6 +83,17 @@
"../contrib/php/js/parsephphtmlmixed.js"], "../contrib/php/js/parsephphtmlmixed.js"],
stylesheet: ["css/xmlcolors.css", "css/jscolors.css", "css/csscolors.css", "css/phpcolors.css" ], stylesheet: ["css/xmlcolors.css", "css/jscolors.css", "css/csscolors.css", "css/phpcolors.css" ],
path: "js/", lineNumbers: true, continuousScanning: 500, readOnly:true, parserConfig: { phpOnly:true} }); path: "js/", lineNumbers: true, continuousScanning: 500, readOnly:true, parserConfig: { phpOnly:true} });
*/
var triggerEditor = CodeMirror.fromTextArea(document.getElementById("form[TRI_WEBBOT]"), {
lineNumbers: true,
matchBrackets: true,
mode: "application/x-httpd-php",
PMEnabled: true,
indentUnit: 2,
indentWithTabs: false,
readOnly: true
});
triggerEditor.setSize(350,200);
function cancel() function cancel()
{ {
@@ -112,7 +123,8 @@
txtTgrTitle.value = cboTriggerUid.options[cboTriggerUid.selectedIndex].text; txtTgrTitle.value = cboTriggerUid.options[cboTriggerUid.selectedIndex].text;
} }
if (triggerEditor) { if (triggerEditor) {
triggerEditor.setCode(document.getElementById('form[TRI_WEBBOT]').value); triggerEditor.setValue(document.getElementById('form[TRI_WEBBOT]').value);
//triggerEditor.setCode(document.getElementById('form[TRI_WEBBOT]').value);
} }
} }
); );

View File

@@ -21,7 +21,7 @@
<TRI_WEBBOT type="textareapm" class="formLabel" cols="55" rows="13" width="100%" height="380px" showVars="1" process="@#PRO_UID"> <TRI_WEBBOT type="textareapm" class="formLabel" cols="55" rows="13" width="100%" height="380px" showVars="1" process="@#PRO_UID">
</TRI_WEBBOT> </TRI_WEBBOT>
<SAVE type="button" onclick="document.getElementById('form[TRI_WEBBOT]').value = triggerEditor.getCode(); triggerSave1(this.form);"> <SAVE type="button" onclick="document.getElementById('form[TRI_WEBBOT]').value = triggerEditor.getValue(); triggerSave1(this.form);">
<en>Save</en> <en>Save</en>
</SAVE> </SAVE>
<BTN_CANCEL type="button" onclick="cancel();triggerFromLibrary()"> <BTN_CANCEL type="button" onclick="cancel();triggerFromLibrary()">
@@ -30,14 +30,25 @@
<JS type="JavaScript"><![CDATA[ <JS type="JavaScript"><![CDATA[
var triggerEditor = CodeMirror.fromTextArea('form[TRI_WEBBOT]', { /*var triggerEditor = CodeMirror.fromTextArea('form[TRI_WEBBOT]', {
height: "220px", height: "220px",
width: "80%", width: "80%",
parserfile: ["parsexml.js", "parsecss.js", "tokenizejavascript.js", "parsejavascript.js", parserfile: ["parsexml.js", "parsecss.js", "tokenizejavascript.js", "parsejavascript.js",
"../contrib/php/js/tokenizephp.js", "../contrib/php/js/parsephp.js", "../contrib/php/js/tokenizephp.js", "../contrib/php/js/parsephp.js",
"../contrib/php/js/parsephphtmlmixed.js"], "../contrib/php/js/parsephphtmlmixed.js"],
stylesheet: ["css/xmlcolors.css", "css/jscolors.css", "css/csscolors.css", "css/phpcolors.css" ], stylesheet: ["css/xmlcolors.css", "css/jscolors.css", "css/csscolors.css", "css/phpcolors.css" ],
path: "js/", lineNumbers: true, continuousScanning: 500, parserConfig: { phpOnly:true} }); path: "js/", lineNumbers: true, continuousScanning: 500, parserConfig: { phpOnly:true} });*/
var triggerEditor = CodeMirror.fromTextArea(document.getElementById("form[TRI_WEBBOT]"), {
lineNumbers: true,
matchBrackets: true,
mode: "application/x-httpd-php",
PMEnabled: true,
indentUnit: 2,
indentWithTabs: false,
extraKeys: {"Ctrl-Space": "autocomplete"}
});
triggerEditor.setSize(400,250);
getField('TRI_TITLE').form.onsubmit = function() {return false;}; getField('TRI_TITLE').form.onsubmit = function() {return false;};
var _oVarsPanel_; var _oVarsPanel_;
@@ -75,32 +86,13 @@ var showDynaformsFormVars = function(sFieldName, sAjaxServer, sProcess, sSymbol)
}; };
var insertFormVar = function(sFieldName, sValue) { var insertFormVar = function(sFieldName, sValue) {
//DEPRECATED if (triggerEditor.getSelection() == "") {
//oAux = document.getElementById(sFieldName); triggerEditor.replaceRange(sValue, triggerEditor.getCursor());
//if (oAux.setSelectionRange) {
// var rangeStart = oAux.selectionStart;
//var rangeEnd = oAux.selectionEnd;
//var tempStr1 = oAux.value.substring(0,rangeStart);
//var tempStr2 = oAux.value.substring(rangeEnd);
//oAux.value = tempStr1 + sValue + tempStr2;
//}
//else {
// if (document.selection) {
// oAux.focus();
// document.selection.createRange().text = sValue;
// }
//}
if (triggerEditor.selection() == "") {
pos = triggerEditor.cursorPosition();
line = triggerEditor.cursorLine();
triggerEditor.insertIntoLine(line, pos.character, sValue);
} else { } else {
triggerEditor.replaceSelection(sValue); triggerEditor.replaceSelection(sValue);
} }
_oVarsPanel_.remove(); _oVarsPanel_.remove();
triggerEditor.focus(); triggerEditor.focus();
triggerEditor.focusIfIE();
}; };
function cancel(){ function cancel(){

View File

@@ -35,8 +35,7 @@
</div> </div>
<div class="boxBottom"><div class="a"></div><div class="b"></div><div class="c"></div></div> <div class="boxBottom"><div class="a"></div><div class="b"></div><div class="c"></div></div>
</div> </div>
<script src="js/codemirror/js/codemirror.js" type="text/javascript"> <script type="text/javascript">
{$form.JS} {$form.JS}
</script> </script>
</form> </form>

View File

@@ -14,12 +14,13 @@
<en>Cancel</en> <en>Cancel</en>
</BTN_CANCEL> </BTN_CANCEL>
<SAVE type="button" onclick="document.getElementById('form[TRI_WEBBOT]').value = triggerEditor.getCode(); triggerSave1(this.form);"> <SAVE type="button" onclick="document.getElementById('form[TRI_WEBBOT]').value = triggerEditor.getValue();
triggerSave1(this.form);">
<en>Save</en> <en>Save</en>
</SAVE> </SAVE>
<JS type="JavaScript"><![CDATA[ <JS type="JavaScript"><![CDATA[
var triggerEditor = CodeMirror.fromTextArea('form[TRI_WEBBOT]', { /*var triggerEditor = CodeMirror.fromTextArea('form[TRI_WEBBOT]', {
height: "380px", height: "380px",
width: "90%", width: "90%",
parserfile: ["parsexml.js", "parsecss.js", "tokenizejavascript.js", "parsejavascript.js", parserfile: ["parsexml.js", "parsecss.js", "tokenizejavascript.js", "parsejavascript.js",
@@ -27,6 +28,22 @@ var triggerEditor = CodeMirror.fromTextArea('form[TRI_WEBBOT]', {
"../contrib/php/js/parsephphtmlmixed.js"], "../contrib/php/js/parsephphtmlmixed.js"],
stylesheet: ["css/xmlcolors.css", "css/jscolors.css", "css/csscolors.css", "css/phpcolors.css" ], stylesheet: ["css/xmlcolors.css", "css/jscolors.css", "css/csscolors.css", "css/phpcolors.css" ],
path: "js/", lineNumbers: true, continuousScanning: 500, parserConfig: { phpOnly:true} }); path: "js/", lineNumbers: true, continuousScanning: 500, parserConfig: { phpOnly:true} });
*/
CodeMirror.commands.autocomplete = function(cm) {
CodeMirror.showHint(cm, CodeMirror.phpHint);
}
var triggerEditor = CodeMirror.fromTextArea(document.getElementById("form[TRI_WEBBOT]"), {
lineNumbers: true,
matchBrackets: true,
mode: "application/x-httpd-php",
PMEnabled: true,
indentUnit: 2,
indentWithTabs: false,
extraKeys: {"Ctrl-Space": "autocomplete"}
});
triggerEditor.setSize(800,400);
var _oVarsPanel_; var _oVarsPanel_;
var showDynaformsFormVars = function(sFieldName, sAjaxServer, sProcess, sSymbol) { var showDynaformsFormVars = function(sFieldName, sAjaxServer, sProcess, sSymbol) {
@@ -63,32 +80,13 @@ var showDynaformsFormVars = function(sFieldName, sAjaxServer, sProcess, sSymbol)
}; };
var insertFormVar = function(sFieldName, sValue) { var insertFormVar = function(sFieldName, sValue) {
//DEPRECTED if (triggerEditor.getSelection() == "") {
//oAux = document.getElementById(sFieldName); triggerEditor.replaceRange(sValue, triggerEditor.getCursor());
//if (oAux.setSelectionRange) {
//var rangeStart = oAux.selectionStart;
//var rangeEnd = oAux.selectionEnd;
//var tempStr1 = oAux.value.substring(0,rangeStart);
//var tempStr2 = oAux.value.substring(rangeEnd);
//oAux.value = tempStr1 + sValue + tempStr2;
//}
//else {
//if (document.selection) {
//oAux.focus();
//document.selection.createRange().text = sValue;
//}
//}
//codeMirror code
if (triggerEditor.selection() == "") {
pos = triggerEditor.cursorPosition();
line = triggerEditor.cursorLine();
triggerEditor.insertIntoLine(line, pos.character, sValue);
} else { } else {
triggerEditor.replaceSelection(sValue); triggerEditor.replaceSelection(sValue);
} }
_oVarsPanel_.remove(); _oVarsPanel_.remove();
triggerEditor.focus(); triggerEditor.focus();
triggerEditor.focusIfIE();
}; };
function cancel(){ function cancel(){