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