增加复制测试用例输入的功能

This commit is contained in:
virusdefender
2015-09-11 16:58:36 +08:00
parent b4adc6883f
commit ad4b1150f3
5 changed files with 2791 additions and 173 deletions

BIN
static/src/img/ZeroClipboard.swf Executable file

Binary file not shown.

View File

@@ -1,9 +1,15 @@
require(["jquery", "codeMirror", "csrfToken", "bsAlert"], function ($, codeMirror, csrfTokenHeader, bsAlert) {
require(["jquery", "codeMirror", "csrfToken", "bsAlert", "ZeroClipboard"],
function ($, codeMirror, csrfTokenHeader, bsAlert, ZeroClipboard) {
var codeEditorSelector = $("#code-editor")[0];
// 部分界面逻辑会隐藏代码输入框,先判断有没有。
if (codeEditorSelector == undefined) {
return;
}
// 提供点击复制到剪切板的功能
ZeroClipboard.config({swfPath: "/static/img/ZeroClipboard.swf"});
new ZeroClipboard($(".copy-sample"));
var codeEditor = codeMirror(codeEditorSelector, "text/x-csrc");
var language = $("input[name='language'][checked]").val();
var submissionId;
@@ -117,8 +123,8 @@ require(["jquery", "codeMirror", "csrfToken", "bsAlert"], function ($, codeMirro
return false;
}
if(guessLanguage(code) != language){
if(!confirm("您选择的代码语言可能存在错误,是否继续提交?")){
if (guessLanguage(code) != language) {
if (!confirm("您选择的代码语言可能存在错误,是否继续提交?")) {
return;
}
}
@@ -180,4 +186,4 @@ require(["jquery", "codeMirror", "csrfToken", "bsAlert"], function ($, codeMirro
}
}
})
});
});

View File

@@ -20,6 +20,7 @@ var require = {
bootstrap: "lib/bootstrap/bootstrap",
datetimePicker: "lib/datetime_picker/bootstrap-datetimepicker.zh-CN",
validator: "lib/validator/validator",
ZeroClipboard: "lib/ZeroClipboard/ZeroClipboard",
// ------ 下面写的都不要直接用,而是使用上面的封装版本 ------

File diff suppressed because it is too large Load Diff

View File

@@ -34,6 +34,7 @@
{% for item in samples %}
<div class="problem-section">
<label class="problem-label">样例输入{{ forloop.counter }}</label>
<a href="javascript:void(0)" class="copy-sample" data-clipboard-text="{{ item.input }}">复制</a>
<pre>
{{ item.input }}</pre>