-
Notifications
You must be signed in to change notification settings - Fork 228
/
foreclojure.js
97 lines (81 loc) · 2.52 KB
/
foreclojure.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
$(document).ready(function() {
configureDataTables();
configureCodeBox();
configureGolf();
$("form#run-code button#approve-button").live("click", function(e) {
e.preventDefault();
if(confirm("Are you sure you want to mark this problem as approved?"))
$(this).parents("form").attr("action", "/problem/approve").submit();
});
$("form#run-code button#reject-button").live("click", function(e) {
e.preventDefault();
if(confirm("Are you sure you want to reject this problem? It will be permanently deleted.")) {
$(this).parents("form").attr("action", "/problem/reject").submit();
}
});
});
function configureDataTables(){
$('#problem-table').dataTable( {
"iDisplayLength": 25,
"aaSorting": [[ 3, "desc" ]],
"aoColumns": [
null,
null,
null,
null
]
} );
$('#unapproved-problems').dataTable( {
"iDisplayLength": 25,
"aaSorting": [[ 2, "desc" ]],
"aoColumns": [
null,
null,
null
]
} );
$('#user-table').dataTable( {
"iDisplayLength":25,
"aaSorting": [[ 0, "asc" ]],
"aoColumns": [
null,
null,
null
]
} );
}
function configureCodeBox(){
//For no javascript version we have the code-box text area
//If we have javascript on then we remove it and replace it with
//the proper div
var oldBox = $('#code-box');
var hiddenCodeInput = "<input type=\"hidden\" value=\"blank\" name=\"code\" id=\"code\">";
oldBox.replaceWith("<div id=\"code-div\"> <pre id=\"editor\">" + oldBox.val() + "</pre></div>"+hiddenCodeInput);
if ($("#run-button").length){
var editor = ace.edit("editor");
editor.setTheme("ace/theme/textmate");
var ClojureMode = require("ace/mode/clojure").Mode;
editor.getSession().setMode(new ClojureMode());
document.getElementById('editor').style.fontSize='13px';
$("#run-button").click(function(){
var text = editor.getSession().getValue();
$('#code').val(text);
});
}
}
function configureGolf(){
$('#graph-link').click(function() {
$('#code-div').toggle('fast', function() {
// Animation complete.
});
$('#golfgraph').toggle('fast', function() {
// Animation complete.
});
var text = $('#graph-link').html();
if (text && text == 'View Chart'){
$('#graph-link').html("View Code");
}else{
$('#graph-link').html("View Chart");
}
});
}