Skip to content

Commit a88bdc6

Browse files
authored
Merge pull request #13 from cdavid14/master
FIX onready load js
2 parents 8611ee6 + 1f09347 commit a88bdc6

File tree

2 files changed

+83
-26
lines changed

2 files changed

+83
-26
lines changed

webshell/static/css/codemirror.css

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -262,3 +262,57 @@ div.CodeMirror span.CodeMirror-nonmatchingbracket {color: #f22;}
262262
visibility: hidden;
263263
}
264264
}
265+
266+
/**
267+
Name: IntelliJ IDEA darcula theme
268+
From IntelliJ IDEA by JetBrains
269+
*/
270+
271+
.cm-s-darcula { font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Courier New', monospace, serif;}
272+
.cm-s-darcula.CodeMirror { background: #2B2B2B; color: #A9B7C6; }
273+
274+
.cm-s-darcula span.cm-meta { color: #BBB529; }
275+
.cm-s-darcula span.cm-number { color: #6897BB; }
276+
.cm-s-darcula span.cm-keyword { color: #CC7832; line-height: 1em; font-weight: bold; }
277+
.cm-s-darcula span.cm-def { color: #A9B7C6; font-style: italic; }
278+
.cm-s-darcula span.cm-variable { color: #A9B7C6; }
279+
.cm-s-darcula span.cm-variable-2 { color: #A9B7C6; }
280+
.cm-s-darcula span.cm-variable-3 { color: #9876AA; }
281+
.cm-s-darcula span.cm-type { color: #AABBCC; font-weight: bold; }
282+
.cm-s-darcula span.cm-property { color: #FFC66D; }
283+
.cm-s-darcula span.cm-operator { color: #A9B7C6; }
284+
.cm-s-darcula span.cm-string { color: #6A8759; }
285+
.cm-s-darcula span.cm-string-2 { color: #6A8759; }
286+
.cm-s-darcula span.cm-comment { color: #61A151; font-style: italic; }
287+
.cm-s-darcula span.cm-link { color: #CC7832; }
288+
.cm-s-darcula span.cm-atom { color: #CC7832; }
289+
.cm-s-darcula span.cm-error { color: #BC3F3C; }
290+
.cm-s-darcula span.cm-tag { color: #629755; font-weight: bold; font-style: italic; text-decoration: underline; }
291+
.cm-s-darcula span.cm-attribute { color: #6897bb; }
292+
.cm-s-darcula span.cm-qualifier { color: #6A8759; }
293+
.cm-s-darcula span.cm-bracket { color: #A9B7C6; }
294+
.cm-s-darcula span.cm-builtin { color: #FF9E59; }
295+
.cm-s-darcula span.cm-special { color: #FF9E59; }
296+
.cm-s-darcula span.cm-matchhighlight { color: #FFFFFF; background-color: rgba(50, 89, 48, .7); font-weight: normal;}
297+
.cm-s-darcula span.cm-searching { color: #FFFFFF; background-color: rgba(61, 115, 59, .7); font-weight: normal;}
298+
299+
.cm-s-darcula .CodeMirror-cursor { border-left: 1px solid #A9B7C6; }
300+
.cm-s-darcula .CodeMirror-activeline-background { background: #323232; }
301+
.cm-s-darcula .CodeMirror-gutters { background: #313335; border-right: 1px solid #313335; }
302+
.cm-s-darcula .CodeMirror-guttermarker { color: #FFEE80; }
303+
.cm-s-darcula .CodeMirror-guttermarker-subtle { color: #D0D0D0; }
304+
.cm-s-darcula .CodeMirrir-linenumber { color: #606366; }
305+
.cm-s-darcula .CodeMirror-matchingbracket { background-color: #3B514D; color: #FFEF28 !important; font-weight: bold; }
306+
307+
.cm-s-darcula div.CodeMirror-selected { background: #214283; }
308+
309+
.CodeMirror-hints.darcula {
310+
font-family: Menlo, Monaco, Consolas, 'Courier New', monospace;
311+
color: #9C9E9E;
312+
background-color: #3B3E3F !important;
313+
}
314+
315+
.CodeMirror-hints.darcula .CodeMirror-hint-active {
316+
background-color: #494D4E !important;
317+
color: #9C9E9E !important;
318+
}

webshell/templates/webshell/change_form.html

Lines changed: 29 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -79,37 +79,40 @@
7979
</form>
8080
</div>
8181
<script>
82-
var editor = CodeMirror.fromTextArea(document.getElementById('id_source'), {
83-
mode: {
84-
name: "python",
85-
version: 2,
86-
singleLineStringErrors: false
87-
},
88-
lineNumbers: true,
89-
indentUnit: 4,
90-
tabMode: "shift",
91-
matchBrackets: true,
92-
extraKeys: {
93-
"Cmd-Enter": function(instance) {
94-
executeSource();
95-
return false;
82+
django.jQuery(document).ready(function(){
83+
var editor = CodeMirror.fromTextArea(document.getElementById('id_source'), {
84+
mode: {
85+
name: "python",
86+
version: 2,
87+
singleLineStringErrors: false
9688
},
97-
"Ctrl-Enter": function(instance) {
98-
executeSource();
99-
return false;
89+
theme: "darcula",
90+
lineNumbers: true,
91+
indentUnit: 4,
92+
tabMode: "shift",
93+
matchBrackets: true,
94+
extraKeys: {
95+
"Cmd-Enter": function(instance) {
96+
executeSource();
97+
return false;
98+
},
99+
"Ctrl-Enter": function(instance) {
100+
executeSource();
101+
return false;
102+
}
100103
}
104+
});
105+
106+
if (navigator.platform.search('MacIntel') >=0) {
107+
django.jQuery('#id_execute').text('{% trans "Execute" %} (Cmd+Enter)');
101108
}
102-
});
103-
104-
if (navigator.platform.search('MacIntel') >=0) {
105-
django.jQuery('#id_execute').text('{% trans "Execute" %} (Cmd+Enter)');
106-
}
107-
108-
var webshellEditor = django.jQuery('#id_output'),
109-
csrf_token = django.jQuery('input[name="csrfmiddlewaretoken"]').val();
109+
110+
var webshellEditor = django.jQuery('#id_output'),
111+
csrf_token = django.jQuery('input[name="csrfmiddlewaretoken"]').val();
112+
})
110113

111114
function executeSource(){
112-
webshellEditor.text('Executing...');
115+
webshellEditor.text('{% trans "Executing..." %}');
113116
django.jQuery.post('{% url "execute-script" %}',
114117
{'source': editor.getValue(), 'csrfmiddlewaretoken': csrf_token},
115118
function(response){

0 commit comments

Comments
 (0)