From eb6ab33226541cbd2a55dfd4c2c321e4de98cec8 Mon Sep 17 00:00:00 2001 From: Birk Skyum Date: Sun, 7 Aug 2016 13:08:05 +0200 Subject: [PATCH] Load addons (eg. autocomplete) and theme for codemirror --- .../codemirror/addon/fold/foldgutter.css | 20 ++++++++++ .../codemirror/addon/hint/show-hint.css | 38 +++++++++++++++++++ client/stylesheets/codemirror/themes/neat.css | 12 ++++++ .../aggregate_pipeline/aggregate_pipeline.js | 13 +++++++ .../pages/edit_document/edit_document.js | 12 ++++++ .../selector/selector.js | 11 ++++++ 6 files changed, 106 insertions(+) create mode 100644 client/stylesheets/codemirror/addon/fold/foldgutter.css create mode 100644 client/stylesheets/codemirror/addon/hint/show-hint.css create mode 100644 client/stylesheets/codemirror/themes/neat.css diff --git a/client/stylesheets/codemirror/addon/fold/foldgutter.css b/client/stylesheets/codemirror/addon/fold/foldgutter.css new file mode 100644 index 0000000..ad19ae2 --- /dev/null +++ b/client/stylesheets/codemirror/addon/fold/foldgutter.css @@ -0,0 +1,20 @@ +.CodeMirror-foldmarker { + color: blue; + text-shadow: #b9f 1px 1px 2px, #b9f -1px -1px 2px, #b9f 1px -1px 2px, #b9f -1px 1px 2px; + font-family: arial; + line-height: .3; + cursor: pointer; +} +.CodeMirror-foldgutter { + width: .7em; +} +.CodeMirror-foldgutter-open, +.CodeMirror-foldgutter-folded { + cursor: pointer; +} +.CodeMirror-foldgutter-open:after { + content: "\25BE"; +} +.CodeMirror-foldgutter-folded:after { + content: "\25B8"; +} diff --git a/client/stylesheets/codemirror/addon/hint/show-hint.css b/client/stylesheets/codemirror/addon/hint/show-hint.css new file mode 100644 index 0000000..924e638 --- /dev/null +++ b/client/stylesheets/codemirror/addon/hint/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: 19em; + overflow: hidden; + white-space: pre; + color: black; + cursor: pointer; +} + +li.CodeMirror-hint-active { + background: #08f; + color: white; +} diff --git a/client/stylesheets/codemirror/themes/neat.css b/client/stylesheets/codemirror/themes/neat.css new file mode 100644 index 0000000..4267b1a --- /dev/null +++ b/client/stylesheets/codemirror/themes/neat.css @@ -0,0 +1,12 @@ +.cm-s-neat span.cm-comment { color: #a86; } +.cm-s-neat span.cm-keyword { line-height: 1em; font-weight: bold; color: blue; } +.cm-s-neat span.cm-string { color: #a22; } +.cm-s-neat span.cm-builtin { line-height: 1em; font-weight: bold; color: #077; } +.cm-s-neat span.cm-special { line-height: 1em; font-weight: bold; color: #0aa; } +.cm-s-neat span.cm-variable { color: black; } +.cm-s-neat span.cm-number, .cm-s-neat span.cm-atom { color: #3a3; } +.cm-s-neat span.cm-meta { color: #555; } +.cm-s-neat span.cm-link { color: #3a3; } + +.cm-s-neat .CodeMirror-activeline-background { background: #e8f2ff; } +.cm-s-neat .CodeMirror-matchingbracket { outline:1px solid grey; color:black !important; } diff --git a/client/views/pages/aggregate_pipeline/aggregate_pipeline.js b/client/views/pages/aggregate_pipeline/aggregate_pipeline.js index e804f1f..f0a4a5d 100644 --- a/client/views/pages/aggregate_pipeline/aggregate_pipeline.js +++ b/client/views/pages/aggregate_pipeline/aggregate_pipeline.js @@ -1,5 +1,18 @@ var toastr = require('toastr'); var CodeMirror = require("codemirror"); + +require("/node_modules/codemirror/mode/javascript/javascript.js"); +require("/node_modules/codemirror/addon/fold/brace-fold.js"); +require("/node_modules/codemirror/addon/fold/comment-fold.js"); +require("/node_modules/codemirror/addon/fold/foldcode.js"); +require("/node_modules/codemirror/addon/fold/foldgutter.js"); +require("/node_modules/codemirror/addon/fold/indent-fold.js"); +require("/node_modules/codemirror/addon/fold/markdown-fold.js"); +require("/node_modules/codemirror/addon/fold/xml-fold.js"); +require("/node_modules/codemirror/addon/hint/javascript-hint.js"); +require("/node_modules/codemirror/addon/hint/show-hint.js"); + + var Ladda = require('ladda'); /** diff --git a/client/views/pages/edit_document/edit_document.js b/client/views/pages/edit_document/edit_document.js index 49c07af..63f86e2 100644 --- a/client/views/pages/edit_document/edit_document.js +++ b/client/views/pages/edit_document/edit_document.js @@ -1,5 +1,17 @@ var toastr = require('toastr'); var CodeMirror = require("codemirror"); + +require("/node_modules/codemirror/mode/javascript/javascript.js"); +require("/node_modules/codemirror/addon/fold/brace-fold.js"); +require("/node_modules/codemirror/addon/fold/comment-fold.js"); +require("/node_modules/codemirror/addon/fold/foldcode.js"); +require("/node_modules/codemirror/addon/fold/foldgutter.js"); +require("/node_modules/codemirror/addon/fold/indent-fold.js"); +require("/node_modules/codemirror/addon/fold/markdown-fold.js"); +require("/node_modules/codemirror/addon/fold/xml-fold.js"); +require("/node_modules/codemirror/addon/hint/javascript-hint.js"); +require("/node_modules/codemirror/addon/hint/show-hint.js"); + var Ladda = require('ladda'); /** diff --git a/client/views/query_templates_common/selector/selector.js b/client/views/query_templates_common/selector/selector.js index 95d1428..a5b3bdf 100644 --- a/client/views/query_templates_common/selector/selector.js +++ b/client/views/query_templates_common/selector/selector.js @@ -1,5 +1,16 @@ var CodeMirror = require("codemirror"); +require("/node_modules/codemirror/mode/javascript/javascript.js"); +require("/node_modules/codemirror/addon/fold/brace-fold.js"); +require("/node_modules/codemirror/addon/fold/comment-fold.js"); +require("/node_modules/codemirror/addon/fold/foldcode.js"); +require("/node_modules/codemirror/addon/fold/foldgutter.js"); +require("/node_modules/codemirror/addon/fold/indent-fold.js"); +require("/node_modules/codemirror/addon/fold/markdown-fold.js"); +require("/node_modules/codemirror/addon/fold/xml-fold.js"); +require("/node_modules/codemirror/addon/hint/javascript-hint.js"); +require("/node_modules/codemirror/addon/hint/show-hint.js"); + /** * Created by RSercan on 3.1.2016. */ -- GitLab