summaryrefslogtreecommitdiff
path: root/testapp/static/exam
diff options
context:
space:
mode:
authorhardythe12012-03-22 16:56:22 +0530
committerhardythe12012-03-22 16:56:22 +0530
commitb1ba290f249d84989cb3cc38d018482794582a46 (patch)
treea0503ec456315e035c515b7dfb881e714a1d4599 /testapp/static/exam
parent4884af693bfb0b9bb70ed6b3d8489267a86d90f9 (diff)
downloadonline_test-b1ba290f249d84989cb3cc38d018482794582a46.tar.gz
online_test-b1ba290f249d84989cb3cc38d018482794582a46.tar.bz2
online_test-b1ba290f249d84989cb3cc38d018482794582a46.zip
Autocomplete tagging functionality
Diffstat (limited to 'testapp/static/exam')
-rw-r--r--testapp/static/exam/css/autotaggit.css48
-rw-r--r--testapp/static/exam/js/add_question.js109
-rw-r--r--testapp/static/exam/js/edit_question.js172
-rw-r--r--testapp/static/exam/js/min.js (renamed from testapp/static/exam/css/min.js)0
-rw-r--r--testapp/static/exam/js/question.js37
-rw-r--r--testapp/static/exam/js/show_question.js23
-rw-r--r--testapp/static/exam/js/show_quiz.js23
7 files changed, 412 insertions, 0 deletions
diff --git a/testapp/static/exam/css/autotaggit.css b/testapp/static/exam/css/autotaggit.css
new file mode 100644
index 0000000..ed856ce
--- /dev/null
+++ b/testapp/static/exam/css/autotaggit.css
@@ -0,0 +1,48 @@
+.ac_results {
+ padding: 0px;
+ border: 1px solid #efefef;
+ background-color: white;
+ overflow: hidden;
+ z-index: 99999;
+}
+
+.ac_results ul {
+ width: 100%;
+ list-style-position: outside;
+ list-style: none;
+ padding: 0;
+ margin: 0;
+}
+
+.ac_results li {
+ margin: 0px;
+ padding: 2px 5px;
+ cursor: default;
+ display: block;
+ /*
+ if width will be 100% horizontal scrollbar will apear
+ when scroll mode will be used
+ */
+ /*width: 100%;*/
+ font: menu;
+ font-size: 12px;
+ /*
+ it is very important, if line-height not setted or setted
+ in relative units scroll will be broken in firefox
+ */
+ line-height: 16px;
+ overflow: hidden;
+}
+
+.ac_loading {
+ background: white url('indicator.gif') right center no-repeat;
+}
+
+.ac_odd {
+ background-color: #CACACA;
+}
+
+.ac_over {
+ background-color: #f5f5f5;
+ color: black;
+}
diff --git a/testapp/static/exam/js/add_question.js b/testapp/static/exam/js/add_question.js
new file mode 100644
index 0000000..1f08c79
--- /dev/null
+++ b/testapp/static/exam/js/add_question.js
@@ -0,0 +1,109 @@
+function increase(frm)
+{
+ if(frm.points.value == "")
+ {
+ frm.points.value = "0.5";
+ return;
+ }
+ frm.points.value = parseFloat(frm.points.value) + 0.5;
+}
+
+function decrease(frm)
+{
+ if(frm.points.value > 0)
+ {
+ frm.points.value = parseFloat(frm.points.value) - 0.5;
+ }
+ else
+ {
+ frm.points.value=0;
+ }
+
+
+}
+
+function textareaformat()
+{
+
+ document.getElementById('id_type').setAttribute('class','select-type');
+
+ document.getElementById('id_points').setAttribute('class','mini-text');
+ document.getElementById('id_tags').setAttribute('class','tag-text');
+
+ $('#id_description').bind('focus', function( event ){
+ document.getElementById("id_description").rows=5;
+ document.getElementById("id_description").cols=40;
+ });
+
+ $('#id_description').bind('blur', function( event ){
+ document.getElementById("id_description").rows=1;
+ document.getElementById("id_description").cols=40;
+ });
+
+ $('#id_description').bind('keypress', function (event){
+ document.getElementById('my').innerHTML = document.getElementById('id_description').value ;
+ });
+
+ $('#id_test').bind('focus', function( event ){
+ document.getElementById("id_test").rows=5;
+ document.getElementById("id_test").cols=40;
+ });
+
+ $('#id_test').bind('blur', function( event ){
+ document.getElementById("id_test").rows=1;
+ document.getElementById("id_test").cols=40;
+ });
+ $('#id_options').bind('focus', function( event ){
+ document.getElementById("id_options").rows=5;
+ document.getElementById("id_options").cols=40;
+ });
+
+ $('#id_options').bind('blur', function( event ){
+ document.getElementById("id_options").rows=1;
+ document.getElementById("id_options").cols=40;
+ });
+
+ $('#id_type').bind('change',function(event){
+ var value = document.getElementById('id_type').value;
+ if(value == 'mcq')
+ {
+ document.getElementById('id_options').style.visibility='visible';
+ document.getElementById('label_option').innerHTML="Options :"
+
+ }
+ else
+ {
+ document.getElementById('id_options').style.visibility='hidden';
+ document.getElementById('label_option').innerHTML = "";
+ }
+ });
+
+ document.getElementById('my').innerHTML = document.getElementById('id_description').value ;
+ var value = document.getElementById('id_type').value;
+ if(value == 'mcq')
+ {
+ document.getElementById('id_options').style.visibility='visible';
+ document.getElementById('label_option').innerHTML="Options :"
+
+ }
+ else
+ {
+ document.getElementById('id_options').style.visibility='hidden';
+ document.getElementById('label_option').innerHTML = "";
+ }
+}
+
+function autosubmit()
+{
+ if (document.getElementById('id_type').value == 'mcq')
+ {
+ var value = document.getElementById('id_options').value;
+ if(value.split('\n').length != 4)
+ {
+ alert("Enter 4 options. One option per line.");
+ return false;
+ }
+ return true;
+ }
+
+}
diff --git a/testapp/static/exam/js/edit_question.js b/testapp/static/exam/js/edit_question.js
new file mode 100644
index 0000000..69e0d97
--- /dev/null
+++ b/testapp/static/exam/js/edit_question.js
@@ -0,0 +1,172 @@
+function render_question(frm)
+{
+ for(var i=1;i<=frm.description.length;i++)
+ {
+ document.getElementById('my'+i).innerHTML = frm.description[i-1].value;
+ }
+
+}
+
+function increase(frm,n)
+{
+ var newValue = document.getElementById('id_points'+ (n-1)).value ;
+
+ if( newValue == "")
+ {
+ document.getElementById('id_points'+(n-1)).value = "0.5";
+ return;
+ }
+ document.getElementById('id_points' + (n-1)).value = parseFloat(newValue) + 0.5;
+}
+
+function decrease(frm,n)
+{
+ var newValue = document.getElementById('id_points'+ (n-1)).value ;
+
+ if( newValue > 0)
+ {
+ document.getElementById('id_points' + (n-1)).value = parseFloat(newValue) - 0.5;
+ }
+ else
+ {
+ document.getElementById('id_points' + (n-1)).value = 0;
+ }
+}
+
+
+function data(showContent,showHideDiv,a,summary)
+{
+ var con = document.getElementById(showContent);
+ var ele=document.getElementById(showHideDiv);
+ var atag=document.getElementById(a);
+ if (ele.style.display=="block")
+ {
+ con.style.display = "none"
+ ele.style.display = "none";
+ atag.text = summary;
+ }
+ else
+ {
+ con.style.display = "block";
+ ele.style.display = "block";
+ }
+}
+
+function textareaformat()
+{
+ var point = document.getElementsByName('points');
+ var test = document.getElementsByName('test');
+ var option = document.getElementsByName('options');
+ var descriptions = document.getElementsByName('description');
+ var type = document.getElementsByName('type');
+ var tags = document.getElementsByName('tags');
+
+ for (var i=0;i<point.length;i++)
+ {
+ point[i].id = point[i].id + i;
+ descriptions[i+1].id=descriptions[i+1].id + i;
+ test[i].id=test[i].id + i;
+ option[i].id=option[i].id + i;
+ type[i].id = type[i].id + i;
+ tags[i].id = tags[i].id + i;
+ }
+
+ for(var i=0;i<point.length;i++)
+ {
+ var point_id = document.getElementById('id_points'+i);
+ point_id.setAttribute('class','mini-text');
+
+ var tags_id = document.getElementById('id_tags'+i);
+ tags_id.setAttribute('class','ac_input');
+ tags_id.setAttribute('autocomplete','off');
+
+ jQuery().ready(function()
+ {
+ jQuery("#id_tags" + i).autocomplete("/taggit_autocomplete_modified/json", { multiple: true });
+ });
+
+ var type_id = document.getElementById('id_type'+i);
+ type_id.setAttribute('class','select-type');
+ type_id.onchange = showOptions;
+ var value = type_id.value;
+
+ var desc_id = document.getElementById('id_description'+i);
+ desc_id.onfocus = gainfocus;
+ desc_id.onblur = lostfocus;
+
+ var test_id = document.getElementById('id_test' + i);
+ test_id.onfocus = gainfocus;
+ test_id.onblur = lostfocus;
+
+ var option_id = document.getElementById('id_options' + i);
+ option_id.onfocus = gainfocus;
+ option_id.onblur = lostfocus;
+
+ if(value != 'mcq')
+ {
+ document.getElementById('id_options'+i).style.visibility='hidden';
+ document.getElementById('label_option'+(i+1)).innerHTML = "";
+
+ }
+
+ document.getElementById('my'+ (i+1)).innerHTML = desc_id.value;
+ }
+}
+
+function showOptions(e)
+{
+ var value = this.value;
+ var no = parseInt(this.id.substring(this.id.length-1));
+ if( value == 'mcq')
+ {
+ document.getElementById('id_options'+no).style.visibility = 'visible';
+ document.getElementById('label_option'+ (no+1)).innerHTML = "Options : "
+ }
+ else
+ {
+ document.getElementById('id_options'+no).value = "";
+ document.getElementById('id_options'+no).style.visibility = 'hidden';
+ document.getElementById('label_option'+ (no+1)).innerHTML = "";
+ }
+
+
+
+}
+
+function gainfocus(e)
+{
+ this.rows = 5;
+}
+function lostfocus(e)
+{
+ this.rows = 1;
+}
+
+function autosubmit()
+{
+ var total_form = document.getElementsByName('summary').length;
+ var empty_options = 0 ;
+ var count_mcq = 0;
+
+ for (var i=0;i<total_form;i++)
+ {
+ if (document.getElementById('id_type' + i).value != 'mcq')
+ {
+ continue;
+ }
+ else
+ {
+ count_mcq = count_mcq + 1;
+ var options = document.getElementById('id_options' + i).value;
+ var total_words = options.split("\n").length ;
+ if ( total_words < 4)
+ empty_options = empty_options + 1 ;
+ }
+ }
+ if (empty_options > 0)
+ {
+ alert('Enter 4 options. One option per line.');
+ return false;
+ }
+ return true;
+}
diff --git a/testapp/static/exam/css/min.js b/testapp/static/exam/js/min.js
index b1ae21d..b1ae21d 100644
--- a/testapp/static/exam/css/min.js
+++ b/testapp/static/exam/js/min.js
diff --git a/testapp/static/exam/js/question.js b/testapp/static/exam/js/question.js
new file mode 100644
index 0000000..554a948
--- /dev/null
+++ b/testapp/static/exam/js/question.js
@@ -0,0 +1,37 @@
+ var time_left = {{ time_left }};
+ function submitCode()
+ {
+ document.forms["code"].submit();
+ var x = document.getElementById("status");
+ x.innerHTML = "<strong>Checking answer ...</strong>";
+ x = document.getElementById("check");
+ x.disabled = true;
+ x.value = "Checking Answer ...";
+ document.getElementById("skip").disabled = true;
+ }
+
+ function secs_to_time(secs)
+ {
+ var h = Math.floor(secs/3600);
+ var h_s = (h > 0) ? h+'h:' : '';
+ var m = Math.floor((secs%3600)/60);
+ var m_s = (m > 0) ? m+'m:' : '';
+ var s_s = Math.floor(secs%60) + 's';
+ return h_s + m_s + s_s;
+ }
+
+ function update_time()
+ {
+ time_left -= 1;
+ if (time_left)
+ {
+ var elem = document.getElementById("time_left");
+ var t_str = secs_to_time(time_left);
+ elem.innerHTML = "<strong>" + t_str + "</strong>";
+ setTimeout("update_time()", 1000);
+ }
+ else
+ {
+ document.forms["code"].submit();
+ }
+ }
diff --git a/testapp/static/exam/js/show_question.js b/testapp/static/exam/js/show_question.js
new file mode 100644
index 0000000..ccacbdd
--- /dev/null
+++ b/testapp/static/exam/js/show_question.js
@@ -0,0 +1,23 @@
+function confirm_delete(frm)
+ {
+ var r = confirm("Are you Sure ?");
+ if(r==false)
+ {
+ for(i=0;i<frm.question.length;i++)
+ {
+ frm.question[i].checked=false;
+ }
+ location.replace("{{URL_ROOT}}/exam/manage/showquestion");
+ }
+ }
+ function confirm_edit(frm)
+ {
+ var n = 0;
+ for(i=0;i<frm.question.length;i++)
+ {
+ if(frm.question[i].checked==true)
+ n = n+1;
+ }
+ if(n==0)
+ location.replace("{{URL_ROOT}}/exam/manage/showquestion");
+ }
diff --git a/testapp/static/exam/js/show_quiz.js b/testapp/static/exam/js/show_quiz.js
new file mode 100644
index 0000000..db48a37
--- /dev/null
+++ b/testapp/static/exam/js/show_quiz.js
@@ -0,0 +1,23 @@
+ function my_confirm(frm)
+ {
+ var r = confirm("Are you Sure ?");
+ if(r==false)
+ {
+ for(i=0;i<frm.quiz.length;i++)
+ {
+ frm.quiz[i].checked=false;
+ }
+ location.replace("{{URL_ROOT}}/exam/manage/showquiz");
+ }
+ }
+ function confirm_edit(frm)
+ {
+ var n = 0;
+ for (var i =0;i<frm.quiz.length;i++)
+ {
+ if (frm.quiz[i].checked == false)
+ n = n + 1 ;
+ }
+ if(n == frm.quiz.length)
+ location.replace("{{URL_ROOT}}/exam/manage/showquiz");
+ }