diff --git a/public/js/lib/coursewares/coursewaresHCJQFramework_0.1.9.js b/public/js/lib/coursewares/coursewaresHCJQFramework_0.1.9.js index 685c5d8665..658fbee226 100644 --- a/public/js/lib/coursewares/coursewaresHCJQFramework_0.1.9.js +++ b/public/js/lib/coursewares/coursewaresHCJQFramework_0.1.9.js @@ -200,6 +200,7 @@ codeStorage.isAlive = function() { (val && val.length > 0); } codeStorage.updateStorage = function(){ + document.getElementById('scroll-locker').dispatchEvent(new CustomEvent('previewUpdateSpy', {'detail': $('.scroll-locker').scrollTop()})); if(typeof(Storage) !== undefined) { var value = editor.getValue(); localStorage.setItem(codeStorage.keyValue, value); @@ -256,10 +257,14 @@ editor.setValue(editorValue.replace((/fccss/gi), '')); updatePreview(); codeStorage.updateStorage(); }; + + + /* var challengeSeed = challengeSeed || null; var allSeeds = ''; diff --git a/public/js/lib/coursewares/coursewaresJSFramework_0.0.6.js b/public/js/lib/coursewares/coursewaresJSFramework_0.0.6.js index ddeb9519f4..ce34d777be 100644 --- a/public/js/lib/coursewares/coursewaresJSFramework_0.0.6.js +++ b/public/js/lib/coursewares/coursewaresJSFramework_0.0.6.js @@ -330,6 +330,7 @@ codeStorage.isAlive = function() { (val && val.length > 0); } codeStorage.updateStorage = function(){ + document.getElementById('scroll-locker').dispatchEvent(new CustomEvent('previewUpdateSpy', {'detail': $('.scroll-locker').scrollTop()})); if(typeof(Storage) !== undefined) { var value = editor.getValue(); localStorage.setItem(codeStorage.keyValue, value); diff --git a/public/js/main_0.0.3.js b/public/js/main_0.0.3.js index afd74925ab..35f34fbde3 100644 --- a/public/js/main_0.0.3.js +++ b/public/js/main_0.0.3.js @@ -383,6 +383,21 @@ $(document).ready(function() { lockTop(); }); } + var execInProgress = false; + document.getElementById('scroll-locker').addEventListener('previewUpdateSpy', function(e){ + if (!execInProgress){ + execInProgress = true; + setTimeout(function(){ + if($($('.scroll-locker').children()[0]).height()-800 > e.detail){ + $('.scroll-locker').scrollTop(e.detail); + } + else { + $('.scroll-locker').animate({"scrollTop":$($('.scroll-locker').children()[0]).height()}, 175); + } + execInProgress = false; + }, 750); + } + }, false); } }); diff --git a/server/views/coursewares/showBonfire.jade b/server/views/coursewares/showBonfire.jade index 533a7fe930..ba8b3c9854 100644 --- a/server/views/coursewares/showBonfire.jade +++ b/server/views/coursewares/showBonfire.jade @@ -18,7 +18,7 @@ block content .row(ng-controller="pairedWithController") .col-xs-12.col-sm-12.col-md-4.col-lg-3 - .scroll-locker + .scroll-locker(id = "scroll-locker") #testCreatePanel.well h3.text-center.negative-10= name .positive-15.positive-15-bottom diff --git a/server/views/coursewares/showHTML.jade b/server/views/coursewares/showHTML.jade index a1e0770a8d..f4ee87ea69 100644 --- a/server/views/coursewares/showHTML.jade +++ b/server/views/coursewares/showHTML.jade @@ -21,7 +21,7 @@ block content script(src='/js/lib/codemirror/addon/emmet/emmet.js') .row.courseware-height .col-xs-12.col-sm-12.col-md-3.col-lg-3 - .scroll-locker + .scroll-locker(id = "scroll-locker") .innerMarginFix(style = "width: 99%;") .well .row diff --git a/server/views/coursewares/showJS.jade b/server/views/coursewares/showJS.jade index 367d1ba9b5..119453247a 100644 --- a/server/views/coursewares/showJS.jade +++ b/server/views/coursewares/showJS.jade @@ -16,7 +16,7 @@ block content script(type='text/javascript', src='/js/lib/coursewares/sandbox.js') .row(ng-controller="pairedWithController") .col-xs-12.col-sm-12.col-md-4.col-lg-3 - .scroll-locker + .scroll-locker(id = "scroll-locker") .innerMarginFix(style = "width: 99%;") #testCreatePanel.well h3.text-center.negative-10= name