diff --git a/src/main/webapp/WEB-INF/pages/main_new.jsp b/src/main/webapp/WEB-INF/pages/main_new.jsp
index 67598f88d..e804bb42f 100644
--- a/src/main/webapp/WEB-INF/pages/main_new.jsp
+++ b/src/main/webapp/WEB-INF/pages/main_new.jsp
@@ -115,9 +115,9 @@
{{item.name}}
@@ -135,11 +135,11 @@
-
+
-
-
+
+
@@ -149,7 +149,7 @@
-
+
diff --git a/src/main/webapp/js/goatConstants.js b/src/main/webapp/js/goatConstants.js
index ae38ed3ee..793344f46 100644
--- a/src/main/webapp/js/goatConstants.js
+++ b/src/main/webapp/js/goatConstants.js
@@ -24,9 +24,11 @@ var goatConstants = {
menuService: 'service/lessonmenu.mvc',
lessonTitleService: 'service/lessontitle.mvc',
restartLessonService: 'service/restartlesson.mvc',
- // literals
+
+ // literal messages
notFound: 'Could not find',
- noHints: 'There are no hints defined.'
+ noHints: 'There are no hints defined.',
+ noSourcePulled: 'No source was retrieved for this lesson'
};
diff --git a/src/main/webapp/js/goatControllers.js b/src/main/webapp/js/goatControllers.js
index 88f4535ac..8f9d28d47 100644
--- a/src/main/webapp/js/goatControllers.js
+++ b/src/main/webapp/js/goatControllers.js
@@ -64,9 +64,7 @@ var goatMenu = function($scope, $http, $modal, $log, $templateCache) {
);
};
- $scope.renderLesson = function(id,url) {
- //console.log(url + ' was passed in');
- // use jquery to render lesson content to div
+ $scope.renderLesson = function(id,url,showControls) {//TODO convert to single object parameter
$scope.hintIndex = 0;
var curScope = $scope;
$('.lessonHelp').hide();
@@ -89,7 +87,7 @@ var goatMenu = function($scope, $http, $modal, $log, $templateCache) {
goat.utils.ajaxifyAttackHref();
$('#leftside-navigation').height($('#main-content').height()+15)//TODO: get ride of fixed value (15)here
//notifies goatLesson Controller of the less change
- $scope.$emit('lessonUpdate',{params:curScope.parameters});
+ $scope.$emit('lessonUpdate',{params:curScope.parameters,'showControls':showControls});
}
)
$scope.renderMenu();
@@ -123,6 +121,8 @@ var goatLesson = function($scope,$http,$log) {
$scope.$on('lessonUpdate',function(params){
$scope.parameters = arguments[1].params;
+ $scope.showHints = (arguments[1].showControls && arguments[1].showControls.showHints);
+ $scope.showSource = (arguments[1].showControls && arguments[1].showControls.showSource);
curScope = $scope; //TODO .. update below, this curScope is probably not needed
goat.data.loadCookies($http).then(
function(resp) {
@@ -131,22 +131,32 @@ var goatLesson = function($scope,$http,$log) {
);
//hints
curScope.hintIndex = 0;
- goat.data.loadHints($http).then(
- function(resp) {
- curScope.hints = resp.data;
- if (curScope.hints.length > 0 && curScope.hints[0].hint.indexOf(goatConstants.noHints) === -1) {
- goat.utils.displayButton('showHintsBtn', true);
- } else {
- goat.utils.displayButton('showHintsBtn', false);
+ if ($scope.showHints) {
+ goat.data.loadHints($http).then(
+ function(resp) {
+ curScope.hints = resp.data;
+ if (curScope.hints.length > 0 && curScope.hints[0].hint.indexOf(goatConstants.noHints) === -1) {
+ goat.utils.displayButton('showHintsBtn', true);
+ } else {
+ goat.utils.displayButton('showHintsBtn', false);
+ }
}
- }
- );
+ );
+ } else {
+ $scope.hints = null;
+ goat.utils.displayButton('showHintsBtn', false);
+ }
//source
- goat.data.loadSource($http).then(
+ if ($scope.showSource) {
+ goat.data.loadSource($http).then(
function(resp) {
curScope.source = resp.data;
}
- );
+ );
+ } else {
+ $scope.source = goatConstants.noSourcePulled;
+ }
+
//plan
goat.data.loadPlan($http).then(
function(resp) {
@@ -239,7 +249,7 @@ var goatLesson = function($scope,$http,$log) {
$scope.restartLesson = function () {
goat.data.loadRestart($http).then(
function(resp) {
- angular.element($('#leftside-navigation')).scope().renderLesson(null,resp.data);
+ angular.element($('#leftside-navigation')).scope().renderLesson(null,resp.data,{showSource:$scope.showSource,showHints:$scope.showHints});
}
)
}