diff options
author | prathamesh | 2014-02-12 13:01:30 +0530 |
---|---|---|
committer | prathamesh | 2014-02-12 13:01:30 +0530 |
commit | b2a95b4f99debc4d165bb0122b03b8e67f26b669 (patch) | |
tree | 4c6ba9e85a8e30e5f00e4d70435bd47120b96ef1 /testapp/static/exam | |
parent | 3244b69143adb3f86ca2bbdfbbc1b8a93489de29 (diff) | |
download | online_test-b2a95b4f99debc4d165bb0122b03b8e67f26b669.tar.gz online_test-b2a95b4f99debc4d165bb0122b03b8e67f26b669.tar.bz2 online_test-b2a95b4f99debc4d165bb0122b03b8e67f26b669.zip |
Modified snippet
Snippet textarea extends according to the length of the snippet
with numbering.
The textarea to write code is dynamic with numbering. The
textarea extends as per the length of the code.
Diffstat (limited to 'testapp/static/exam')
-rw-r--r-- | testapp/static/exam/js/question.js | 29 |
1 files changed, 25 insertions, 4 deletions
diff --git a/testapp/static/exam/js/question.js b/testapp/static/exam/js/question.js index cb6807e..2bf6f60 100644 --- a/testapp/static/exam/js/question.js +++ b/testapp/static/exam/js/question.js @@ -58,6 +58,17 @@ function replaceSelection (input, replaceString) } } +function autoresize() +{ + var ta = document.getElementById('answer'); + var divta = document.getElementById('AnswerWithLines'); + ta.style.height=""; + var height = ta.scrollHeight; + ta.style.height = 'auto'; + ta.style.height = height+'px'; + divta.style.height = height+'px'; +} + function catchTab(item,e) { if(navigator.userAgent.match("Gecko")) @@ -76,7 +87,7 @@ function catchTab(item,e) } } -var lineObjOffsetTop = 2; +var lineObjOffsetTop = 0; function addLineNumbers(id) { @@ -85,19 +96,20 @@ function addLineNumbers(id) var content = document.getElementById('snippet').value; ta.parentNode.insertBefore(el,ta); el.appendChild(ta); - el.className='textAreaWithLines'; el.style.width = (ta.offsetWidth + 30) + 'px'; ta.style.position = 'absolute'; ta.style.left = '30px'; - el.style.height = (ta.offsetHeight + 2) + 'px'; + ta.scrollHeight="" + el.style.border = 'none'; el.style.overflow='hidden'; el.style.position = 'relative'; el.style.width = (ta.offsetWidth + 30) + 'px'; var lineObj = document.createElement('DIV'); lineObj.style.position = 'absolute'; lineObj.style.top = lineObjOffsetTop + 'px'; - lineObj.style.left = '0px'; lineObj.style.width = '27px'; + lineObj.style.fontSize= '18px'; + lineObj.style.foregroundColor='black'; el.insertBefore(lineObj,ta); lineObj.style.textAlign = 'right'; lineObj.className='lineObj'; @@ -105,6 +117,10 @@ function addLineNumbers(id) split_content = content.split('\n'); if(id == "answer") { + el.className='AnswerWithLines'; + el.id='AnswerWithLines'; + el.style.height = (ta.scrollHeight) + 'px'; + for(var no=split_content.length+1;no<1000;no++) { if(string.length>0)string = string + '<br>'; @@ -113,6 +129,10 @@ function addLineNumbers(id) } else { + el.className='SnippetWithLines'; + el.id='SnippetWithLines'; + el.style.height = (ta.scrollHeight) + 'px'; + for(var no=1;no<=split_content.length;no++) { if(string.length>0)string = string + '<br>'; @@ -124,6 +144,7 @@ function addLineNumbers(id) ta.onblur = function() { positionLineObj(lineObj,ta); }; ta.onfocus = function() { positionLineObj(lineObj,ta); }; ta.onmouseover = function() { positionLineObj(lineObj,ta); }; + ta.onkeyup = function(){autoresize();}; lineObj.innerHTML = string; } |