diff --git a/gulliver/js/codemirror/addon/hint/php-hint.js b/gulliver/js/codemirror/addon/hint/php-hint.js
index 5d0f7582e..7e0d3e97b 100644
--- a/gulliver/js/codemirror/addon/hint/php-hint.js
+++ b/gulliver/js/codemirror/addon/hint/php-hint.js
@@ -205,9 +205,9 @@
forEach (phpPMFunctions, yesAdd);
} else {
for (index = 0; index < phpKeywords.length; index++) {
- if ( phpKeywords[index].indexOf(functionName) == 0 ) {
- found.push(phpKeywords[index]);
- }
+ if ( phpKeywords[index].indexOf(functionName) == 0 ) {
+ found.push(phpKeywords[index]);
+ }
}
forEach(keywords, maybeAdd);
}
diff --git a/gulliver/js/codemirror/addon/hint/show-hint.js b/gulliver/js/codemirror/addon/hint/show-hint.js
index 49cf2f666..306abdbda 100644
--- a/gulliver/js/codemirror/addon/hint/show-hint.js
+++ b/gulliver/js/codemirror/addon/hint/show-hint.js
@@ -26,7 +26,7 @@ CodeMirror.showHint = function(cm, getHints, options) {
function getMaxAccordingList(list) {
var max = 0;
for (var i = 0; i < list.length; i++) {
- if (list[i].length > max)
+ if (list[i].length > max)
max = list[i].length;
}
return max;
@@ -45,27 +45,30 @@ CodeMirror.showHint = function(cm, getHints, options) {
// Build the select widget
var hints = document.createElement("ul"), selectedHint = 0;
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 className = "CodeMirror-hint" + (i ? "" : " CodeMirror-hint-active");
if (completion.className != null) className = completion.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)));
elt.hintId = i;
}
+
var pos = cm.cursorCoords(options.alignWithWord !== false ? data.from : null);
var left = pos.left, top = pos.bottom, below = true;
hints.style.left = left + "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);
// 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 winH = window.innerHeight || Math.max(document.body.offsetHeight, document.documentElement.offsetHeight);
var box = hints.getBoundingClientRect();
+
var overlapX = box.right - winW, overlapY = box.bottom - winH;
if (overlapX > 0) {
if (box.right - box.left > winW) {
diff --git a/gulliver/js/codemirror/mode/php/php.js b/gulliver/js/codemirror/mode/php/php.js
index 3992dc0ee..f65307d1b 100644
--- a/gulliver/js/codemirror/mode/php/php.js
+++ b/gulliver/js/codemirror/mode/php/php.js
@@ -57,6 +57,7 @@
function dispatch(stream, state) {
var isPHP = state.curMode == phpMode;
if (stream.sol() && state.pending != '"') state.pending = null;
+
if (!isPHP) {
if (stream.match(/^<\?\w*/)) {
state.curMode = phpMode;
@@ -80,6 +81,7 @@
state.pending = null;
var cur = stream.current(), openPHP = cur.search(/<\?/);
if (openPHP != -1) {
+ alert("openPHP");
if (style == "string" && /\"$/.test(cur) && !/\?>/.test(cur)) state.pending = '"';
else state.pending = {end: stream.pos, style: style};
stream.backUp(cur.length - openPHP);
diff --git a/workflow/engine/classes/class.dynaformEditor.php b/workflow/engine/classes/class.dynaformEditor.php
index b022fd4a4..5969545e0 100755
--- a/workflow/engine/classes/class.dynaformEditor.php
+++ b/workflow/engine/classes/class.dynaformEditor.php
@@ -220,8 +220,14 @@ class dynaformEditor extends WebResource
$oHeadPublisher->addScriptFile('/jscore/dynaformEditor/core/dynaformEditor.js');
//$oHeadPublisher->addScriptFile('/js/dveditor/core/dveditor.js');
//$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->addScriptCode('
var DYNAFORM_URL="' . $Parameters['URL'] . '";
diff --git a/workflow/engine/js/dynaformEditor/core/dynaformEditor.js b/workflow/engine/js/dynaformEditor/core/dynaformEditor.js
index 22327d835..d7325f736 100644
--- a/workflow/engine/js/dynaformEditor/core/dynaformEditor.js
+++ b/workflow/engine/js/dynaformEditor/core/dynaformEditor.js
@@ -444,7 +444,7 @@ var dynaformEditor={
if( ! xmlEditor ) {
clientWinSize = getClientWindowSize();
- xmlEditor = CodeMirror.fromTextArea('form[XML]', {
+ /*xmlEditor = CodeMirror.fromTextArea('form[XML]', {
height: (clientWinSize.height - 120) + "px",
width: (_BROWSER.name == 'msie' ? '100%' : '98%'),
parserfile: ["parsexml.js", "parsecss.js", "tokenizejavascript.js", "parsejavascript.js",
@@ -453,8 +453,13 @@ var dynaformEditor={
stylesheet: ["css/xmlcolors.css", "css/jscolors.css"],
path: "js/",
lineNumbers: true,
- continuousScanning: 500
- });
+ continuousScanning: 500 });*/
+
+ xmlEditor = CodeMirror.fromTextArea(document.getElementById("form[XML]"), {
+ mode: "application/xml",
+ styleActiveLine: true,
+ lineNumbers: true,
+ lineWrapping: true });
}
},
changeToHtmlCode:function()
@@ -514,15 +519,20 @@ var dynaformEditor={
{
clientWinSize = getClientWindowSize();
startJSCodePress();
- jsEditor = CodeMirror.fromTextArea('form[JS]', {
+
+ /*jsEditor = CodeMirror.fromTextArea('form[JS]', {
height: (clientWinSize.height - 140) + "px",
width: (_BROWSER.name == 'msie' ? '100%' : '98%'),
parserfile: ["tokenizejavascript.js", "parsejavascript.js"],
stylesheet: ["css/jscolors.css"],
path: "js/",
lineNumbers: true,
- continuousScanning: 500
- });
+ continuousScanning: 500 });*/
+
+ jsEditor = CodeMirror.fromTextArea(document.getElementById("form[JS]"), {
+ mode: "javascript",
+ lineNumbers: true,
+ lineWrapping: true });
}
} else {
showRowById('JS_TITLE');
@@ -684,8 +694,11 @@ var dynaformEditor={
{
//if (JSCodePress)
if( jsEditor ) {
- if(typeof jsEditor.setCode == 'function')
- jsEditor.setCode(newCode);
+ if(typeof jsEditor.setValue == 'function')
+ {
+ alert("Asigning xml contents: " + newCode);
+ jsEditor.setValue(newCode);//jsEditor.setCode(newCode);
+ }
}
else
{
@@ -703,7 +716,7 @@ var dynaformEditor={
setXMLCode:function(newCode)
{
if( xmlEditor ) {
- xmlEditor.setCode(newCode);
+ xmlEditor.setValue(newCode);//setCode(newCode);
} else {
var code = getField("XML","dynaforms_XmlEditor");
code.value = newCode;
diff --git a/workflow/engine/methods/triggers/triggerCopy.php b/workflow/engine/methods/triggers/triggerCopy.php
index 2c4693f3a..f74b9928c 100644
--- a/workflow/engine/methods/triggers/triggerCopy.php
+++ b/workflow/engine/methods/triggers/triggerCopy.php
@@ -26,6 +26,14 @@ if (isset($_GET["TRI_UID"]) && !empty($_GET["TRI_UID"])) {
$G_PUBLISH = new Publisher();
$G_PUBLISH->AddContent("xmlform", "xmlform", "triggers/triggerCopy", "", $arrayField, "../triggers/triggers_Save");
$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");
diff --git a/workflow/engine/methods/triggers/triggers_Edit.php b/workflow/engine/methods/triggers/triggers_Edit.php
index 3d9a7ecb7..2a3d064b3 100755
--- a/workflow/engine/methods/triggers/triggers_Edit.php
+++ b/workflow/engine/methods/triggers/triggers_Edit.php
@@ -67,6 +67,17 @@ G::LoadClass( 'xmlfield_InputPM' );
$G_PUBLISH = new Publisher();
$G_PUBLISH->AddContent( 'xmlform', 'xmlform', $xmlform, '', $aFields, $xmlform_action );
$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' );
diff --git a/workflow/engine/methods/triggers/triggers_EditCustom.php b/workflow/engine/methods/triggers/triggers_EditCustom.php
index 11b697fb5..3abd1f396 100755
--- a/workflow/engine/methods/triggers/triggers_EditCustom.php
+++ b/workflow/engine/methods/triggers/triggers_EditCustom.php
@@ -38,6 +38,16 @@ G::LoadClass( 'xmlfield_InputPM' );
$G_PUBLISH = new Publisher();
$G_PUBLISH->AddContent( 'xmlform', 'xmlform', $xmlform, '', $aFields, '../triggers/triggers_Save' );
$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' );
diff --git a/workflow/engine/skinEngine/base/config.xml b/workflow/engine/skinEngine/base/config.xml
index 30e05b49e..14b1b1dc7 100755
--- a/workflow/engine/skinEngine/base/config.xml
+++ b/workflow/engine/skinEngine/base/config.xml
@@ -15,10 +15,8 @@
-
-
-
-
+
+
@@ -27,6 +25,8 @@
+
+
@@ -36,6 +36,8 @@
+
+
@@ -46,13 +48,11 @@
-
+
-
-
-
-
+
+
diff --git a/workflow/engine/skinEngine/base/css/codemirror.css b/workflow/engine/skinEngine/base/css/codemirror.css
new file mode 100644
index 000000000..4e126154f
--- /dev/null
+++ b/workflow/engine/skinEngine/base/css/codemirror.css
@@ -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;
+ }
+}
diff --git a/workflow/engine/skinEngine/base/css/csscolors.css b/workflow/engine/skinEngine/base/css/csscolors.css
deleted file mode 100755
index cd4b79e3c..000000000
--- a/workflow/engine/skinEngine/base/css/csscolors.css
+++ /dev/null
@@ -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;
-}
diff --git a/workflow/engine/skinEngine/base/css/jscolors.css b/workflow/engine/skinEngine/base/css/jscolors.css
deleted file mode 100755
index 7c65d7df4..000000000
--- a/workflow/engine/skinEngine/base/css/jscolors.css
+++ /dev/null
@@ -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;
-}
diff --git a/workflow/engine/skinEngine/base/css/phpcolors.css b/workflow/engine/skinEngine/base/css/phpcolors.css
deleted file mode 100755
index 43d4057b1..000000000
--- a/workflow/engine/skinEngine/base/css/phpcolors.css
+++ /dev/null
@@ -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
-*/
-
-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;
-}
diff --git a/workflow/engine/skinEngine/base/css/show-hint.css b/workflow/engine/skinEngine/base/css/show-hint.css
new file mode 100644
index 000000000..47fb7921f
--- /dev/null
+++ b/workflow/engine/skinEngine/base/css/show-hint.css
@@ -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;
+}
diff --git a/workflow/engine/skinEngine/base/css/xmlcolors.css b/workflow/engine/skinEngine/base/css/xmlcolors.css
deleted file mode 100755
index 65477a94b..000000000
--- a/workflow/engine/skinEngine/base/css/xmlcolors.css
+++ /dev/null
@@ -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;
-}
diff --git a/workflow/engine/skinEngine/uxs/css/codemirror.css b/workflow/engine/skinEngine/uxs/css/codemirror.css
new file mode 100644
index 000000000..4e126154f
--- /dev/null
+++ b/workflow/engine/skinEngine/uxs/css/codemirror.css
@@ -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;
+ }
+}
diff --git a/workflow/engine/skinEngine/uxs/css/jscolors.css b/workflow/engine/skinEngine/uxs/css/jscolors.css
deleted file mode 100644
index 7c65d7df4..000000000
--- a/workflow/engine/skinEngine/uxs/css/jscolors.css
+++ /dev/null
@@ -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;
-}
diff --git a/workflow/engine/skinEngine/uxs/css/show-hint.css b/workflow/engine/skinEngine/uxs/css/show-hint.css
new file mode 100644
index 000000000..47fb7921f
--- /dev/null
+++ b/workflow/engine/skinEngine/uxs/css/show-hint.css
@@ -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;
+}
diff --git a/workflow/engine/skinEngine/uxs/css/xmlcolors.css b/workflow/engine/skinEngine/uxs/css/xmlcolors.css
deleted file mode 100644
index 65477a94b..000000000
--- a/workflow/engine/skinEngine/uxs/css/xmlcolors.css
+++ /dev/null
@@ -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;
-}
diff --git a/workflow/engine/xmlform/triggers/triggerCopy.xml b/workflow/engine/xmlform/triggers/triggerCopy.xml
index 555af8f72..bf43a92b6 100644
--- a/workflow/engine/xmlform/triggers/triggerCopy.xml
+++ b/workflow/engine/xmlform/triggers/triggerCopy.xml
@@ -75,7 +75,7 @@
-
+
Save
@@ -30,14 +30,25 @@
-
-
diff --git a/workflow/engine/xmlform/triggers/triggers_Edit.xml b/workflow/engine/xmlform/triggers/triggers_Edit.xml
index 875499d96..330aeffe7 100755
--- a/workflow/engine/xmlform/triggers/triggers_Edit.xml
+++ b/workflow/engine/xmlform/triggers/triggers_Edit.xml
@@ -14,12 +14,13 @@
Cancel
-
+
Save